1 peer to peer applications presented by :sirisha panchagnula date :10/0703

22
1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

Upload: allyson-joseph

Post on 28-Dec-2015

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

1

Peer To Peer Applications

Presented By :Sirisha Panchagnula Date :10/0703

Page 2: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

2

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

Page 3: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

3

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.

Page 4: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

4

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.

Page 5: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

5

P2P

Page 6: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

6

Structural CharacteristicsA 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.

Page 7: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

7

Operational Features Adhoc in Nature Unpredictable & Unreliable Transparency Improved Scalability & Reliability Protection & Security Anonymity/Privacy Resource Aggregation & Interoperability Ownership

Page 8: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

8

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

Page 9: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

9

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.

Page 10: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

10

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.

Page 11: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

11

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.

Page 12: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

12

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.

Page 13: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

13

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.

Page 14: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

14

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.

Page 15: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

15

Peer Discovery By Cached Advertisement(No Discovery)

Page 16: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

16

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.

Page 17: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

17

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.

Page 18: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

18

JXTA Architecture

Page 19: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

19

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.

Page 20: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

20

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 .

Page 21: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

21

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.

Page 22: 1 Peer To Peer Applications Presented By :Sirisha Panchagnula Date :10/0703

22

Open Discussion