310 likes | 339 Views
This comprehensive guide by Jay Sheth delves into the basics of Peer-to-Peer (P2P) technology, showcasing its key components, characteristics, and algorithms across different P2P systems. Understand why P2P is essential for scalability, resource aggregation, and cost-effective communication. Dive into the world of decentralized systems and learn about P2P's impact on security, performance, and fault resilience, paving the way for future advancements in the field.
E N D
P2P Basics Jay Sheth CE, UMBC Jay Sheth Jay Sheth
P2P Agenda • What is P2P • Why P2P • Components and algorithms • Characteristics • Different P2P systems • Future Work Jay Sheth
What is P2P ? • Peer is a entity that has attributes similar to other entities in system • P2P is a technology and not a protocol • Process whereby computers trade information between each other without • having to pass the information through a centrally controlled server • Sharingof computer resources (information, processing) and services by • direct exchange between systems Jay Sheth
What is P2P ? Jay Sheth Jay Sheth Jay Sheth
Why P2P ? • Scalability increases by avoiding dependency on centralized points • Eliminates the need of costly infrastructure by enabling direct communication • among clients (cost sharing/reduction) • Enabling resource aggregation Jay Sheth Jay Sheth Jay Sheth
Components Tools Applications Services Application-specific Class-specific Scheduling Meta-data Messaging Management Resource aggregation Robustness Security Reliability Group Management Discovery Locating, routing Communication Communication Jay Sheth Jay Sheth Jay Sheth
Algorithms • Centralized directory model • Index : All peers publish information about the content they offer for sharing • Napster Jay Sheth Jay Sheth Jay Sheth
Algorithms • Flooded requests model • - Pure P2P model • - Broadcast to all nodes • Gnutella Jay Sheth Jay Sheth Jay Sheth
Algorithms • Flooded requests model modified Jay Sheth Jay Sheth Jay Sheth
Algorithms • Document routing model • - Very efficient for large global communications • - Difficult to implement • - Islanding problem • - Freenet Jay Sheth Jay Sheth Jay Sheth
Characteristics • Decentralization • Centralized systems • - Ideal for some applications • - Bottlenecks • - Inefficient use of resources • - Expensive to setup • - Hard to maintain • Decentralized systems • - Fully decentralized is difficult in practice • - Hybrid approach Jay Sheth Jay Sheth Jay Sheth
Characteristics • Scalability • - Immediate benefit of decentralization • - At expense of performance guarantee • - Hybrid approach • - E.g. Napster : Users to directly download music files • Some operations, files centralized Jay Sheth Jay Sheth Jay Sheth
Characteristics • Anonymity • - Receiver • Multicasting (underlying network should support multicast) • E.g. Gnutella • - Sender • Covert paths Jay Sheth Jay Sheth Jay Sheth
Characteristics • Self-Organization • - Scaling results in increase in probability of failures • - Requires self-maintenance, self-repair of systems • - Costly to have dedicated equipment, hence distributed • E.g. OceanStore, self-organization applied to location • and routing infrastructure Jay Sheth Jay Sheth Jay Sheth
Characteristics • Cost of Ownership • - Cost of owning systems, content and maintenance • - Elimination of centralized computers for storing information • E.g. Napster, each member contributes to pool of music files. • SETI@home faster than fastest supercomputer in world, • cost is 1% Jay Sheth Jay Sheth Jay Sheth
Characteristics • Ad-hoc Connectivity • - Everything not connected to the internet • - Ad-hoc groups should be able to form ad-hoc networks to • collaborate • - Bluetooth and infrared have limited radius of accessibility • - P2P need to be designed to tolerate sudden disconnection/additions Jay Sheth Jay Sheth Jay Sheth
Characteristics • Performance • - Significant concern • - Influenced by processing, storage, networking • - Aggregating distributed storage capacity e.g. Napster, Gnutella • - Aggregating computing cycles e.g.. SETI@Home • - Networking delays in WAN • - Bandwidth for large number of messages/files. Limits scalability of • system • - Optimize performance • Replication – Cope with disappearance of peers • Caching – Reduce path length • Intelligent routing – Minimize distance delay Jay Sheth Jay Sheth Jay Sheth
Characteristics • Security • - For common distributed objects • - Multi-key encryption • - Sandboxing : External code doesn’t crash host • - Digital Rights Management to save intellectual property • Watermarking : Add a sign in file that is unrecognizable • - Reputation and accountability • Concept of good peer and freeloader Jay Sheth Jay Sheth Jay Sheth
Characteristics • Transparency and Usability • - Naming transparency using URLs • - Administration transparency • - Network and device transparent i.e. work on internet, intranet and • private networks • User can use P2P applications in following manner • User of services, typically Web interfaces • Locally installed P2P software e.g.. Napster Jay Sheth Jay Sheth Jay Sheth
Characteristics • Fault resilience • - Disconnection and node failures • - Special nodes called relays • - Store communication temporarily until destination reappears • - Magi : queue messages at source until presence of destination peer • detected • - Napster and Gnutella : Replication of crucial resources based on • file’s popularity • - Network failure can be solved by routing around the failure Jay Sheth Jay Sheth Jay Sheth
Characteristics • Interoperability • - P2P systems • - Interoperate, communicate( what protocol), exchange data, same • level of security, QoS and reliability • - Still not supported Jay Sheth Jay Sheth Jay Sheth
P2P Systems Jay Sheth Jay Sheth Jay Sheth
Distributed Computing • - Processing scalability in massive multi-parameters systems • - Run by a central controller • - Fork and join mechanism • - Limitations • Independent small parts • Internet latencies • - Intel claim speed-ups from 15hours to 30 minutes in case of interest • rate swap modeling by using P2P Jay Sheth Jay Sheth Jay Sheth
File Sharing • - Content storage and exchange is where P2P is most successful • Napster : • Search mechanism is centralized • File sharing mechanism is decentralized • Scalability limitations • Simplifies security mechanism Jay Sheth Jay Sheth Jay Sheth
File Sharing • Kazaa : • Uses SuperNodes as local search hubs • Intelligent download system i.e. find and download from fastest connection. Failed transfers are automatically resumed Jay Sheth Jay Sheth Jay Sheth
Collaboration • - Application level collaboration between users • - Event based applications such as Instant messaging, chat, online • games • - Challenges • Location of other peers (e.g.. NetMeeting requires to know other peers IP address) • Real time constraints • e.g.. Game DOOM Jay Sheth Jay Sheth Jay Sheth
Platforms - Platforms have support for primary P2P components : naming, discovery, communication, security and resource aggregation - Candidates for future P2P platform : .net, JXTA Jay Sheth Jay Sheth Jay Sheth
Comparison of Solutions Jay Sheth Jay Sheth Jay Sheth
Future Work • P2P algorithms • World becomes decentralized, need for P2P algorithm to overcome • scalability, anonymity and connectivity problems • P2P applications • Most likely to succeed in future • P2P platforms • JXTA widely adopted Jay Sheth Jay Sheth Jay Sheth
References • Peer-to-peer Computing • Dejan S. Milojicic, Vana Kalogeraki, Rajan Lukose, Kiran Nagaraja, • Jim Pruyne, Bruno Richard, Sami Rollins, Zhichen Xu • HP Laboratories Palo Alto • bsdq.org • http://www.bsdg.org/Jim/Peer2Peer/Paper/3214.html Jay Sheth