Download presentation
Presentation is loading. Please wait.
Published byWinifred Bryant Modified over 9 years ago
1
Peer-to-Pee Computing HP Technical Report Chin-Yi Tsai
2
2 Outline Introduction & Overview Introduction & Overview Components and Algorithms Components and Algorithms Characteristics Characteristics P2P Systems P2P Systems Case Studies Case Studies Summary Summary
3
3 Introduction & Overview The term “ peer-to-peer ” (P2P) refers to a class of systems and applications that employ distributed resources to perform a critical function in a decentralized manner. The term “ peer-to-peer ” (P2P) refers to a class of systems and applications that employ distributed resources to perform a critical function in a decentralized manner. Decentralization Decentralization Self-organization Self-organization Anonymity Anonymity Cost of ownership Cost of ownership Resources Resources Computing power, data, bandwidth, and presence Computing power, data, bandwidth, and presence Critical function Critical function Distributed computing, data/content sharing, communication and collaboration, or platform service Distributed computing, data/content sharing, communication and collaboration, or platform service Decentralization may apply to algorithm, data, and meta-data, or to all of them Decentralization may apply to algorithm, data, and meta-data, or to all of them
4
4 Introduction & Overview (cont ’ d) P2P enables: P2P enables: Valuable externalities Valuable externalities Lower cost of ownership and cost sharing Lower cost of ownership and cost sharing Anonymity/privacy Anonymity/privacy P2P computing is an alternative to the centralized and client/server models of computing. P2P computing is an alternative to the centralized and client/server models of computing.
5
5 P2P Solutions
6
6 P2P Definition The Intel working group The Intel working group The sharing of computer resources and services by direct exchange between systems The sharing of computer resources and services by direct exchange between systems O ’ Reilly O ’ Reilly P2P is a class of applications that takes advantage of resources – storage, cycles, content, human presence – available at the edges of the Internet. … HP: HP: P2P is about sharing: giving to and obtaining from the peer community
7
7 P2P Goal Cost sharing/reduction Improved scalability/reliability Resource aggregation and interoperability Increased autonomy Anonymity/privacy Dynamism Enabling ad-hoc communication and collaboration
8
8 P2P Terminology Centralized systems Distributed systems Client Server Client-Server model Peer P2P model Distributed computing Grid computing Ad-hoc communication
9
9 P2P Taxonomies Gnurella, Freenet Napster, Groove, Aimster, Magi, Softwax, and IMesh Distributed Computing: SETI@Home, Avaki, Entropia File Sharing: Napster, Gnutella, Freenet, Publius, Free Haven Collaboration: Magi, Groove, Jabber Platform: JXTA,.NET My Services
10
10 A Classification of P2P System
11
11 A Taxonomy of P2P Applications
12
12 A Taxonomy of P2P Matkets
13
13 Components Communication Communication Group Management Group Management Robustness Robustness Class-Specific Class-Specific Application-Specific Application-Specific
14
14 Algorithms Centralized directory model Centralized directory model Flooded requests model Flooded requests model Document routing model Document routing model
15
15 Comparison of Algorithms
16
16 Characteristics Decentralization Decentralization Scalability Anonymity Self-Organization Cost of Ownership Ad-Hoc Connectivity Performance Security Transparency and Usability Fault Resilience Interoperability These issues have a major impact on the effectiveness and deployment of P2P systems and applications.
17
17 Characteristics Decentralization Decentralization Access rights and security are more easily managed in centralized systems. Access rights and security are more easily managed in centralized systems. Decentralization, user ’ s ownership and control of data and resources Decentralization, user ’ s ownership and control of data and resources Scalability Scalability An immediate benefit of decentralization is improved scalability. An immediate benefit of decentralization is improved scalability. Centralization Decentralization Centralization Decentralization Anonymity Anonymity Sender anonymity Sender anonymity Receiver anonymity Receiver anonymity Mutual anonymity Mutual anonymity
18
18 Characteristics Techniques about anonymity Techniques about anonymity Multicasting Multicasting Spoofing the sender ’ s address Spoofing the sender ’ s address Identity spoofing Identity spoofing Covert paths Covert paths Intractable aliases Intractable aliases Non-voluntary placement Non-voluntary placement Self-organization Self-organization Cost of ownership Cost of ownership Shared ownership reduces the cost of owning the system and the content, and the cost of maintaining them Shared ownership reduces the cost of owning the system and the content, and the cost of maintaining them Ad-Hoc connectivity Ad-Hoc connectivity Not everything will be connected to the Internet Not everything will be connected to the Internet
19
19 Characteristics Performance Performance Processing, storage, and networking Processing, storage, and networking Replication Replication Caching Caching Intelligent routing and network organization Intelligent routing and network organization Security Security Multi-key encryption Multi-key encryption Sandboxig Sandboxig Digital right management Digital right management Reputation and accountability Reputation and accountability Firewall Firewall Transparency and Usability Transparency and Usability Fault Resilience Fault Resilience Interoperability Interoperability
20
20 P2P Systems Distributed Computing Distributed Computing Distributed computing achieves processing scalability by aggregating the resources of large number of individual Internet PCs. (RSA, [DES-III]) Distributed computing achieves processing scalability by aggregating the resources of large number of individual Internet PCs. (RSA, [DES-III]) Distributed computing is very successfully used by P2P systems Distributed computing is very successfully used by P2P systems MOSIX, Condor, I-WAY MOSIX, Condor, I-WAY P2P? P2P? How it works How it works Application area example: financial and biotechnology Application area example: financial and biotechnology
21
21 P2P Systems File Sharing File Sharing Content storage and exchange is one of the areas where P2P technology has been most successful. Content storage and exchange is one of the areas where P2P technology has been most successful. To offer the features To offer the features File exchange areas File exchange areas Highly available safe storage Highly available safe storage Anonymity Anonymity manageability manageability Technical issues Technical issues Bandwidth consumption, security, and search capabilities Bandwidth consumption, security, and search capabilities Application areas example Application areas example Napster Napster Gnutela Gnutela Morpheus Morpheus Kazaa Kazaa
22
22 P2P Systems Collaboration Collaboration Collaborative P2P applications aim to allow application-level collaboration between users. Collaborative P2P applications aim to allow application-level collaboration between users. Instant messaging, chat, online game Instant messaging, chat, online game Collaborative application are generally event-based. Peers form a group and begin a given task. Collaborative application are generally event-based. Peers form a group and begin a given task. Technical challenges Technical challenges Location Location Fault tolerance Fault tolerance Realtime constraints Realtime constraints
23
23 P2P Systems Platform Platform JXTA JXTA.NET My Services.NET My Services
24
24 Case Studies Avaki (distributed computing) Avaki (distributed computing) SETI@Home (distributed computing) SETI@Home (distributed computing) Groove (collaboration) Groove (collaboration) Magi (collaboration) Magi (collaboration) FreeNet (content distribution) FreeNet (content distribution) Gnutella (content distribution ) Gnutella (content distribution ) JXTA (platform) JXTA (platform).NET My Services (platform).NET My Services (platform)
25
25 Gnutella: Overview Query Flooding: Query Flooding: Join: on startup, client contacts a few other nodes; these become its “ neighbors ” Join: on startup, client contacts a few other nodes; these become its “ neighbors ” Publish: no need Publish: no need Search: ask neighbors, who as their neighbors, and so on... when/if found, reply to sender. Search: ask neighbors, who as their neighbors, and so on... when/if found, reply to sender. Fetch: get the file directly from peer Fetch: get the file directly from peer
26
26 I have file A. Gnutella: Search Where is file A? Query Reply
27
27 Gnutella: Discussion Fully de-centralized Fully de-centralized Search cost distributed Search cost distributed Search scope is O(N) Search scope is O(N) Search time is O(???) Search time is O(???) Nodes leave often, network unstable Nodes leave often, network unstable
28
28 Lessons Learned Strengths and Weaknesses Strengths and Weaknesses Non-Technical Challenges Non-Technical Challenges Implications for Users, Developers, and IT Implications for Users, Developers, and IT
29
29 Summary Define the field through terminology, architectures, goals, components, and challenges. Define the field through terminology, architectures, goals, components, and challenges. Introduce taxonomies for P2P systems, application, and markets. Introduce taxonomies for P2P systems, application, and markets. What P2P is and what it is not What P2P is and what it is not Scalability, anonymity, and fault resilience requirements Scalability, anonymity, and fault resilience requirements P2P in the future P2P in the future P2P algorithms P2P algorithms P2P applications P2P applications P2P platform P2P platform
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.