EE 657 Lecture 9 on Sept. 28, 2007 Evolution of Peer-to-Peer Systems Peer-To-Peer Computing: Part 1 : P2P Platforms, Overlay Networks, and Gnutella Prof. kai Hwang University of Southern California Taylor s Text, 2005 1 2 Client-Server vs. P2P Architectures What is Peer to Peer Computing? Overlay Network C-S is server-oriented, a well established practice, while P2P is client-oriented, yet to become mature, and Grid is supercomputer-oriented, still taking a long way to go. Peers are autonomous, self-organizing, and thus less structured, less secure, and less controllable than Client-Server or Grid architectures. The P2P operation relies on a good reputation system to keep all the peers happy and trustworthy. 3 In a P2P system, every node acts as both client and server and provides part of the overall recourses. No central coordination or no central database available and no peer has a global view of the entire system. Taylor, Fig.2.6 also 4
Definition P2P Systems (Ross, et al 2004) Broader P2P Definitions 5 6 Typical P2P Applications and Example P2P Systems File sharing for digital content (music, video, etc.) delivery, file exchanges, safe storage, and anonymous information retrieval Collaboration include MSN chatting, instant messaging, design, etc. SETI provides 25 Tflops computing power over 3 million Internet hosts Platforms support naming, discovery, communication, security, and resource aggregation P2P applications Unstructured P2P Systems: Data is distributed randomly over the peers Fully decentralized control No or constrained broadcasting mechanisms, Flooding queries to entire network generating heavy traffic, No guarantee of determinate search results TTL limit on query message reaching the entire network Source: M. Hofmann and L. Beaumont, Content Networking, Chap.6, P2P Content Networks, Kaufman 2005 7 8
Structured P2P Systems: Structured routing mechanisms in overlays Application-level overlays are added over the peers Reduce routing hops, Avoid flooding and eliminate hotspots, Guarantee search results, Provide load balancing, Scalability and fault tolerance, Preserve data locality, Promote self-organization, Enhance security protection, Support node heterogeneity, etc. Fundamental Challenges in P2P Computing Lack of Trust among the peers who are strangers to each other, security and privacy are major worries to hold back the peer participation Hardware Heterogeneity Too many models with different architectures Software Heterogeneity OS and software environment differences Network Heterogeneity Different network connections and protocols Scalability System scaling related to performance and bandwidth Location Data locality, network proximity, and interoperability Fault Tolerance Failure management and load balancing Performance Routing efficiency, self-organization, applications 9 10 Virtual Overlay Network at application level Application-Layer Overlays : 11 12
Desired Overlay Graph Properties Easy to perform join, lookup search, and update operations Gnutella: An unstructured P2P protocol specification without any centralized elements. The software running on each Gnutella peer is called a servent, which was developed and distributed by several companies including, BearShare (www.bearshare.com), LimeWire (www.limewire.com), and ToadNode (www.toadnode.com) 13 14 Gnutella Protocol in P2P Application Gnutella search by flooding Generating too much traffic on the network Source: M. Hofmann and L. Beaumont, Content Networking, Chap.6, P2P Content Networks, Kaufman 2005 15 16
Generating too much traffic on the network Peer-To-Peer Operations in Gnutella Meeting Peers Searching Peers Source: M. Hofmann and L. Beaumont, Content Networking, Chap.6, P2P Content Networks, Kaufman 2005 17 18 Peer Communications in Gnutella The servent software running on each Gnutella peer communicate with each other using TCP/IP. Distributed File sharing or Content Storage and Delivery in P2P Networks. 19 20
Killer Applications in Existing P2P Networks 21 22 References for P2P Networks : 1. K. Ross and D. Rubestein, P2P Systems, Slide Presentation in Tutorial, Infocom, 2004, Hong Kong. ( Class web site) 2. Distributed Search Solutions, The Gnutella Protocol Specification v.4.0, www.contentnetworking.com/papers/gnutella-protocol-04.pdf 3. Ian Taylor, From P2P to Web Services and Grids, Springer, 2005 (Chapters 2 and 6 ) 4. M. Hofmann and L. Beaumont, Content Networking, Chap.6, P2P Content Networks, Kaufman 2005 (Class web site) 23 24