Presentation is loading. Please wait.

Presentation is loading. Please wait.

Peer-to-Pee Computing HP Technical Report Chin-Yi Tsai.

Similar presentations


Presentation on theme: "Peer-to-Pee Computing HP Technical Report Chin-Yi Tsai."— Presentation transcript:

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


Download ppt "Peer-to-Pee Computing HP Technical Report Chin-Yi Tsai."

Similar presentations


Ads by Google