320 likes | 686 Views
Peer-to-Peer Computing. Mrs. Tugba Taskaya-Temizel 13/February/2006. Peer-to-Peer Networks Definition. The sharing of computer resources and services by direct exchange between systems [ The Intel P2P working group ].
E N D
Peer-to-Peer Computing Mrs. Tugba Taskaya-Temizel 13/February/2006
Peer-to-Peer NetworksDefinition • The sharing of computer resources and services by direct exchange between systems [The Intel P2P working group]. • Peers depend on each other for getting information, computing resources, forwarding requests, etc. which are essential for the functioning of the system as a whole.
Peer-to-Peer NetworksGoals • Cost sharing/reduction • Resource aggregation and interoperability • Improved scalability/reliability • Increased autonomy • Anonymity/privacy • Dynamism
Peer-to-Peer NetworksAlgorithms: Centralised directory model Central Directory • Peers publish information about the content they want to share to a central directory. • A peer sends a request. • The central directory will match the request with the best matching peer. • The files are exchanged between the requester and the matching peer. • Application: Napster • Disadvantage: scalability search 1 2 3 4 Peers download
Peer-to-Peer NetworksAlgorithms: Flooded Requests Model • A peer’s request is broadcasted to the directly connected peers, which themselves flood their peers until the request is answered or a maximum number of flooding steps (5 to 9) occur. • Application: Gnutella • Disadvantage: requires a lot of bandwidth, does not guarantee reachability. 1 3 search 2 4 download
Peer-to-Peer NetworksAlgorithms: Document Routing Model File id=0009 File id=0030 • Each peer is assigned a random ID and each knows a certain number of its peers. • An ID is generated based on the hash of the requested document content and name. • Each peer sends the file to a peer that has a similar ID. • It is repeated until the peer’s ID is identical to the document ID. • The file is transferred between the peers. • Application: FreeNet • Disadvantage: Document IDs should be known, islanding problem. 1 4 2 3 File id=0010 File id=0005 Algorithms implemented: Chord, CAN, Tapestry, Pastry
Peer-to-Peer NetworksCharacteristics: Decentralisation • User’s ownership and control of data and resources • Difficulty: finding the network, insertion of new nodes
Peer-to-Peer NetworksCharacteristics: Scalability • Limited by factors such as • The amount of centralised operations • The amount of state that needs to be maintained • The inherent parallelism an application exhibits • Programming model • Scalability ~ Communication/Computation
Peer-to-Peer NetworksCharacteristics: Anonymity • Goals: • To allow people to use systems without concern for legal or other ramifications. • To guarantee that censorship of digital content is not possible. • Types of anonymity: server, receiver, mutual
Peer-to-Peer NetworksCharacteristics: Anonymity (Techniques) • Multicasting : Entity document request Entity Broadcasting group sends request subscribes Entity Entity Entity The identities of requester and sender are not known to the group.
Peer-to-Peer NetworksCharacteristics: Anonymity (Techniques) • Spoofing the sender’s address: • Message can be enforced by spoofing the sender’s IP address. • Problem: ISPs do not accept messages from invalid IP addresses. • Identity Spoofing • Cover paths: Two parties communicate through some middle nodes.
Peer-to-Peer NetworksCharacteristics: Anonymity (Techniques) • Intractable aliases: such as Lucent Personalised Web Assistant (LPWA) Send the generated info Send user name and secret Generate a set of consistent alias username, password, e-mail address in each time the user sends the same information
Peer-to-Peer NetworksCharacteristics: Anonymity (Techniques) • Non-voluntary placement: A publisher forces a document onto a hosting node. Because the placement is non-voluntary, the host cannot be held accountable for owning the document.
Peer-to-Peer NetworksCharacteristics: Self-Organisation • P2P systems can scale unpredictably in terms of the number of systems, number of users, and the load. • Adaptation is required to handle the changes caused by peers connecting and disconnecting from the P2P systems. • For example in the FastTrack system, more powerful computers automatically become SuperNodes and act as search hubs. Any client can become a SuperNode if it meets processing and networking criteria (bandwidth and latency).
Peer-to-Peer NetworksCharacteristics: Cost of Ownership • Shared ownership reduces the cost of maintaining the system and owning the systems. • For example, in Napster, the users contributed to the pool of music files. SETI@home is faster than the fastest computer in the world.
Peer-to-Peer NetworksCharacteristics: Ad-hoc Connectivity • Peers are not available at all times. Hence, P2P systems need to be aware of this ad-hoc nature. • P2P systems need to tolerate disconnection and ad-hoc additions to groups of peers.
Peer-to-Peer NetworksCharacteristics: Performance • P2P systems aim to improve performance by aggregating distributed storage capacity. • Performance is influenced by: • Processing, storage and networking • Approaches to optimise performance: • Replication, caching, intelligent routing
Peer-to-Peer NetworksCharacteristics: Security • Multi-key encryption • Sandboxing • Digital rights management • Reputation and accountability • Firewalls
Peer-to-Peer NetworksCharacteristics: Transparency and Usability • End-to-end transparency: TCP/IP • Naming transparency • Network and device transparency • Automatic and transparent authentication of users
Peer-to-Peer NetworksCharacteristics: Fault Resilience • P2P systems should deal with: • Disconnections/unreachability • Partitions • Node failures • Solutions: • Replication of crucial resources • Relays • Queuing messages
Peer-to-Peer NetworksCharacteristics: Interoperability • Standards: IEEE standards for Ethernet, token ring and wireless • Common specifications: Object Management Group • Open source: Linux • De facto standards: Windows, Java • P2P Working Group is an attempt to gather the community.
Peer-to-Peer NetworksComparison with Grid Computing • Target communities and incentives • Resources • Applications • Scale and failure • Services and infrastructure
Peer-to-Peer NetworksComparison with Grid Computing • Target communities and incentives: • Grids address the needs of scientific collaborations and commerce. • P2P has been used mostly for file sharing and highly parallel computing applications. The communities comprise anonymous individuals.
Peer-to-Peer NetworksComparison with Grid Computing • Resources: • Grid systems integrate resources that are more powerful, more diverse and better connected than P2P resource. • The resources are aggregated within administrative domains via technologies such as Condor. • Grid resources are more powerful than P2P resources. • P2P systems deal with intermittent participation and highly variable behaviour.
Peer-to-Peer NetworksComparison with Grid Computing • Applications: • Grid applications are dominantly scientific applications. • P2P deal with specialised resource-sharing problems: current ones share either compute cycles or files. • Grid applications are far more data intensive.
Peer-to-Peer NetworksComparison with Grid Computing • Scale and failure: • Grid communities involve moderate number of participants, whereas P2P communities involve millions of users. However, the amount of activity in P2P is not larger than Grid communities.
Peer-to-Peer NetworksComparison with Grid Computing • Services and infrastructure: • There is an effort to standardise Grid technologies (OGSA). • P2P systems have tended to focus on the integration of simple resources via protocols designed to provide specific functionality.
References • Foster,I. and Iamnitchi,A. On Death, Taxes, and the Convergence of Peer-to-Peer and Grid Computing. • Shirky,C. What is P2P… and What isn’t? http://www.openp2p.com/pub/a/p2p/2000/11/24/shirky1-whatisp2p.html • Milojijic,D.S., Kalogeraki,V.,Lukose,R. Peer-to-Peer Computing, http://web.cs.wpi.edu/~goos/Teach/cs4513-d05/papers/p2p-tutorial.pdf