Peer to Peer Applications

Download Report

Transcript Peer to Peer Applications

Peer To Peer Applications
Presented By :Sirisha Panchagnula
Date :10/0703
1
Table Of Contents








Abstract
P2P VS Client Server
P2P
Structural
Characteristics
Operational Features
P2P System Layers
Why is P2P Important?
P2P Approaches








P2P Components
Types Of Peers
Peer Communication
Peer Discovery By
Cached Advertisment
Examples
Future
Case Study JXTA
Open Discussion
2
Abstract



"A type of network in which each workstation has equivalent
capabilities and responsibilities”.
Sharing of computer resources & services by direct exchange
between system.
P2P nodes must operate outside DNS system & have
significant or total autonomy from central servers.
3
P2P VS Client –Server




The client in the client/server architecture acts in a passive role,
capable of demanding services from servers but incapable of
providing services to other clients.
Although it requires less computational power on client side,this
architecture has a major drawback. As the number of clients
increases, the load and bandwidth demands on the server also
increase, eventually preventing the server from handling
additional clients.
P2P networks shun the centralized organization of the
client/server architecture and instead employ a flat, highly
interconnected architecture.
P2P enables these machines to act as both clients and servers
that can determine the services available on the P2P network
and engage those services in some application-specific manner.
4
P2P
5
Structural Characteristics
A peer is a node on a P2P network that forms the fundamental
processing unit of any P2P solution.

One of the major concepts of peer-to-peer computing is
decentralization. In this kind of dynamic system it is difficult
to get or maintain a global view of the system state.

Peer-to-peer systems are self-organizing in a sense that the
different system components work together without any
central management instance assigning roles and tasks. In
this context the degree of organisation in a system increases
without an increase of any external governance or system
control.

Because of their structure and organization peer-to-peer
systems are inherently fault-tolerant. Since there is no
central point of failure they can easily compensate the loss of
a peer or even a number of peers. With the loss of peers the
system performance might decrease but system is still
operational.
6
Operational Features








Adhoc in Nature
Unpredictable & Unreliable
Transparency
Improved Scalability & Reliability
Protection & Security
Anonymity/Privacy
Resource Aggregation & Interoperability
Ownership
7
Where is P2P System Layers
Users
- Commerce and society is P2P

Application layer
- E-commerce systems can be
P2P or Centralized

Information management
- Directories and databases can
be P2P or centralized

Networks are P2P
-Internet

8
Why is P2P Important?




Device independent. P2P is not at all limited to
communications among desktop computers, although most
P2P focus on fully utilizing the power of PCs.
P2P networks have demonstrated that you can organize
resources across heterogeneous devices. Web services will
take this further.
Real time. P2P applications have proven to be interesting
experiments in exploiting new capabilities of real-time
communications. Instant messaging and distributed
computation can both be considered real-time
communications platforms.
Parity. In a peer-to-peer network, the peers are considered
equals, even though they may not share the same
capabilities.
9
P2P Approaches


One is based on“replicated objects”, which is almost the
opposite extreme of client server. It also revolves around the
idea that the peers will be performing similar tasks to one
another, but instead of just having each communicate an
answer back to a server when they are done, virtually all
peers inform virtually all other peers of much of what they
each do.
Another approach is “distributed objects”, in which the
programmer explicitly breaks down the program into
individual components (objects) while it is being written. In
fact, the programmer must decide a lot of things when it is
being written, like which parts will probably end up on
different peers and which parts will end up on the same peers,
as well as what kinds of security each object should have, etc.
10
P2P Communication





Our main question is… How can you connect a set of devices
in such a way that they can share information, resources, and
services?
The majority of current P2P solutions assumes the use of TCP
as a network transport mechanism and cannot operate in any
other network environment.
Network topologies where the nodes are connected directly
(i.e. meshed topologies and one-to-one connections) are a
part of communication infrastructures .
Network multicast is another peer-to-peer communication
mechanism where the user group is known. Group
communication and multipeer communication models apply
peer-to-peer principles at the transport layer
Flooding or Network Broadcast are used in anonymous peer
group communication.
11
Types of Peers






Three possible types of peers exist in any P2P network based
on the amount of responsibility each have
Simple peers
Rendezvous peers
Router peers
Simple Peer: A simple peer is designed to serve a single end
user, allowing that user to provide services from his device and
consuming to other peers on the network.
A simple peer on a network will be located behind a firewall,
separated from the network peers outside the firewall will
probably not be capable of directly communicating with this peer
.It thus has least responsibility.
12
Types of Peers (Cont)




Rendezvous peer provides peers with a network location to
use to discover other peers and peer resources.
A rendezvous peer can increase its capabilities by caching
information on peers for future use or by forwarding discovery
requests to other rendezvous peers.
Router peer provides a mechanism for peers to communicate
with other peers separated from the network by firewall or
Network Address Translation (NAT) equipment.
To send a message to a peer via a router, the peer sending the
message must first determine which router peer to use to
communicate with the destination peer.This routing information
provides a mechanism in P2P to replace traditional DNS,
enabling an intermittently connected device with a dynamic IP.
13
P2P Components
Most items on a P2P network need some piece of information that
uniquely identifies them on the network:

Peers—A peer needs an identifier that other peers can use to locate or
specify it on the network. Identifying a particular peer could be
necessary to allow a message to be routed through a third party to the
correct peer.

Peer groups—A peer needs some way to identify which peer group it
would like to use to perform some action. Actions could include joining,
querying, or leaving a peer group.

Pipes—To permit communication, a peer needs some way of
identifying a pipe that connects endpoints on the network.

Contents—A piece of content needs to be uniquely identifiable to
enable peers to mirror content across the network, thereby providing
redundant access. Peers can then use this unique identifier to find the
content on any peer.
14
Peer Discovery By Cached
Advertisement(No Discovery)
15
Examples:



Napster and Seti@home, which are centralised, and in
the
other
Freenet
and
GNUtella,
which
are
decentralised.
Napster incorporates a centralised indexing server,
which takes care of what files are on what clients, and
which clients in turn send searches to for locating
resources.
Freenet and GNUtella on the other hand distribute the
database of shared resources across the clients on the
network removing any need for the central server.
16
Future Of P2P



Primarily the problem with all current implementations
of P2P applications are they lack scalability.
The second major issue to be addressed is trust in the
network. If P2P is to become a viable application for the
commons it must be possible to trust transactions
occurring.
Finally, peer-to-peer network application must be
robust. Currently on networks such as Napster and
GNUtella downloads of files can quite commonly be
interrupted or cancelled entirely by clients becoming
unresponsive or logging off the network and dropping
all their open connections.
17
JXTA Architecture
18
Case Study :JXTA



The vision of the JXTA project is to provide an open,
innovative collaboration platform that supports a wide range
of distributed computing applications and enables them to
run on any device with a digital heartbeat..
History. The JXTA project was unveiled by Sun on April 25,
2001 defines a set of protocols designed to address the
common functionality required to allow peers on a network to
form robust pervasive networks, independent of the operating
system, development language,. Despite its recent
introduction,JXTA has been quite popular .
Design. It is important to note that the JXTA project is
approaching the P2P space from the lower level as they are
proposing an entirely new infrastructure with no direct relation
to other, existing P2P systems (e.g., Gnutella and Napster).
For example, they have built their own distributed search
service, called JXTA search.
19
Case Study Part II



Peer groups are the core of JXTA's infrastructure. A peer group is
essentially a partitioning of the world of peers for communication,
security, performance, “logical locality” and other reasons. A single
participant can be in multiple groups at one time. JXTA provides core
protocols for peer discovery, peer group memberships, and peer
monitoring.
JXTA uses pipes, for sending and receiving messages. All data
interchange in JXTA is in the form of XML formatted documents.
Services The JXTA project has defined core and optional services that
run on the JXTA platform. Examples of core services include
authentication, discovery, and management. To address the need for
security, they have implemented a cryptography toolkit that enables
message privacy, ensures authentication and integrity, and permits
transactions between peers that cannot be repudiated .

20
Case Study Part III



Another core service is the Content Manager Service (CMS)
that allows JXTA applications to share, retrieve, and transfer
content.
Applications The JXTA Shell was the first application
developed that gives a command-line interface to the core
JXTA services, such as peer and group discovery and
messaging .
Another application is Juxta Prose, which is a discussion
application that allows creating, viewing, and replying to HTML
documents over JXTA’s content management system. Other
applications that the JXTA community is currently designing
include event notification and P2P email.
21
Open Discussion
22