Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Peer-to-peer
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Routing and resource discovery=== Peer-to-peer networks generally implement some form of virtual [[overlay network]] on top of the physical network topology, where the nodes in the overlay form a [[subset]] of the nodes in the physical network.<ref>{{Cite web |title=Overlay Network - an overview {{!}} ScienceDirect Topics |url=https://www.sciencedirect.com/topics/computer-science/overlay-network |access-date=2024-08-21 |website=www.sciencedirect.com}}</ref> Data is still exchanged directly over the underlying [[TCP/IP]] network, but at the [[application layer]] peers can communicate with each other directly, via the logical overlay links (each of which corresponds to a path through the underlying physical network). Overlays are used for indexing and peer discovery, and make the P2P system independent from the physical network topology. Based on how the nodes are linked to each other within the overlay network, and how resources are indexed and located, we can classify networks as ''unstructured'' or ''structured'' (or as a hybrid between the two).<ref>{{cite book |editor-last=Ahson |editor-first=Syed A. |editor2-last=Ilyas |editor2-first=Mohammad |title=SIP Handbook: Services, Technologies, and Security of Session Initiation Protocol |publisher=Taylor & Francis |year=2008 |isbn=9781420066043 |page=204 |url=https://books.google.com/books?id=CKzPq3-wVdcC&pg=PA204}}</ref><ref>{{cite book |editor-last=Zhu |editor-first=Ce |title=Streaming Media Architectures: Techniques and Applications: Recent Advances |publisher=IGI Global |year=2010 |isbn=9781616928339 |page=265 |url=https://books.google.com/books?id=Cb4dWYVJ_8AC&pg=PA265 |display-editors=etal}}</ref><ref>{{cite book |last=Kamel |first=Mina |chapter=Optimal Topology Design for Overlay Networks |editor-last=Akyildiz |editor-first=Ian F. |title=Networking 2007: Ad Hoc and Sensor Networks, Wireless Networks, Next Generation Internet: 6th International IFIP-TC6 Networking Conference, Atlanta, GA, USA, May 14-18, 2007 Proceedings|publisher=Springer |year=2007 |isbn=9783540726050 |page=714 |chapter-url=https://books.google.com/books?id=r4V2G7yPLIAC&pg=PA714 |display-authors=etal}}</ref> ====Unstructured networks==== [[File:Unstructured peer-to-peer network diagram.png|thumb|right|300px|Overlay network diagram for an '''unstructured P2P network''', illustrating the ad hoc nature of the connections between nodes]] ''Unstructured peer-to-peer networks'' do not impose a particular structure on the overlay network by design, but rather are formed by nodes that randomly form connections to each other.<ref>{{cite book |last=Filali |first=Imen |chapter=A Survey of Structured P2P Systems for RDF Data Storage and Retrieval |editor-last=Hameurlain |editor-first=Abdelkader |title=Transactions on Large-Scale Data- and Knowledge-Centered Systems III: Special Issue on Data and Knowledge Management in Grid and PSP Systems |publisher=Springer |year=2011 |isbn=9783642230738|page=21 |chapter-url=https://books.google.com/books?id=pjQr7BHtbCoC&pg=PA21 |display-authors=etal|display-editors=etal}}</ref> ([[Gnutella]], [[Gossip protocol|Gossip]], and [[Kazaa]] are examples of unstructured P2P protocols).<ref name=":0">{{cite book |last=Zulhasnine |first=Mohammed |chapter=P2P Streaming Over Cellular Networks: Issues, Challenges, and Opportunities |editor=Pathan |title=Building Next-Generation Converged Networks: Theory and Practice |publisher=CRC Press |year=2013 |isbn=9781466507616 |page=99 |chapter-url=https://books.google.com/books?id=tr5PGJk-swIC&pg=PA99 |display-authors=etal|display-editors=etal}}</ref> Because there is no structure globally imposed upon them, unstructured networks are easy to build and allow for localized optimizations to different regions of the overlay.<ref>{{cite book |last1=Chervenak |first1=Ann |last2=Bharathi |first2=Shishir |chapter=Peer-to-peer Approaches to Grid Resource Discovery |editor-last=Danelutto |editor-first=Marco |title=Making Grids Work: Proceedings of the CoreGRID Workshop on Programming Models Grid and P2P System Architecture Grid Systems, Tools and Environments 12-13 June 2007, Heraklion, Crete, Greece|publisher=Springer |year=2008 |isbn=9780387784489 |page=67 |chapter-url=https://books.google.com/books?id=adN0pm_BBuYC&pg=PA67 |display-editors=etal}}</ref> Also, because the role of all peers in the network is the same, unstructured networks are highly robust in the face of high rates of "churn"—that is, when large numbers of peers are frequently joining and leaving the network.<ref name="Jin-Unstructured-2010">{{cite book |last1=Jin |first1=Xing |last2=Chan |first2=S.-H. Gary |chapter=Unstructured Peer-to-Peer Network Architectures |editor=Shen |title=Handbook of Peer-to-Peer Networking |publisher=Springer |year=2010 |isbn=978-0-387-09750-3 |page=119 |display-editors=etal}}</ref><ref name="lv-2002">{{cite book |last=Lv |first=Qin |chapter=Can Heterogeneity Make Gnutella Stable? |editor-last=Druschel |editor-first=Peter |title=Peer-to-Peer Systems: First International Workshop, IPTPS 2002, Cambridge, MA, USA, March 7-8, 2002, Revised Papers |publisher=Springer |year=2002 |isbn=9783540441793 |page=[https://archive.org/details/peertopeersystem0000iptp/page/94 94] |chapter-url=https://books.google.com/books?id=f57AwpUIctcC&pg=PA94 |display-authors=etal |display-editors=etal |url=https://archive.org/details/peertopeersystem0000iptp/page/94 }}</ref> However, the primary limitations of unstructured networks also arise from this lack of structure. In particular, when a peer wants to find a desired piece of data in the network, the search query must be flooded through the network to find as many peers as possible that share the data. Flooding causes a very high amount of signaling traffic in the network, uses more [[CPU]]/memory (by requiring every peer to process all search queries), and does not ensure that search queries will always be resolved. Furthermore, since there is no correlation between a peer and the content managed by it, there is no guarantee that flooding will find a peer that has the desired data. Popular content is likely to be available at several peers and any peer searching for it is likely to find the same thing. But if a peer is looking for rare data shared by only a few other peers, then it is highly unlikely that the search will be successful.<ref>{{cite book |last1=Shen |first1=Xuemin |last2=Yu |first2=Heather |last3=Buford |first3=John |last4=Akon |first4=Mursalin |title=Handbook of Peer-to-Peer Networking |publisher=Springer|edition=1st |year=2009 |location=New York |page=118 |isbn=978-0-387-09750-3}}</ref> ====Structured networks==== [[File:Structured (DHT) peer-to-peer network diagram.png|thumb|right|300px|Overlay network diagram for a '''structured P2P network''', using a [[distributed hash table]] (DHT) to identify and locate nodes/resources]] In ''structured peer-to-peer networks'' the overlay is organized into a specific topology, and the protocol ensures that any node can efficiently<ref>{{Cite web |last1=Dhara |first1=Krishna |last2=Kolberg |first2=Mario |date=January 2010 |title=Overview of Structured Peer-to-Peer Overlay Algorithms |url=https://www.researchgate.net/publication/226809025 }}</ref> search the network for a file/resource, even if the resource is extremely rare.<ref name=":0" /> The most common type of structured P2P networks implement a [[distributed hash table]] (DHT),<ref name="CP2P" /><ref>R. Ranjan, A. Harwood, and R. Buyya, "Peer-to-peer based resource discovery in global grids: a tutorial," ''IEEE Commun. Surv.'', vol. 10, no. 2. and P. Trunfio, "Peer-to-Peer resource discovery in Grids: Models and systems," ''Future Generation Computer Systems'' archive, vol. 23, no. 7, Aug. 2007.</ref> in which a variant of [[consistent hashing]] is used to assign ownership of each file to a particular peer.<ref>{{cite book |last1=Kelaskar |first1=M. |last2=Matossian |first2=V. |last3=Mehra |first3=P. |last4=Paul |first4=D. |last5=Parashar |first5=M. |year=2002 |url=http://portal.acm.org/citation.cfm?id=873218 |title=A Study of Discovery Mechanisms for Peer-to-Peer Application |pages=444– |publisher=IEEE Computer Society |isbn=9780769515823 }}</ref><ref name="P2P_API">{{cite book |last1=Dabek |first1=Frank |first2=Ben |last2=Zhao |first3=Peter |last3=Druschel |first4=John |last4=Kubiatowicz |first5=Ion |last5=Stoica |title=Peer-to-Peer Systems II |chapter=Towards a Common API for Structured Peer-to-Peer Overlays |year=2003 |volume=2735 |series=Lecture Notes in Computer Science |pages=33–44 |doi=10.1007/978-3-540-45172-3_3 |isbn=978-3-540-40724-9 |citeseerx=10.1.1.12.5548 }}</ref> This enables peers to search for resources on the network using a [[hash table]]: that is, (''key'', ''value'') pairs are stored in the DHT, and any participating node can efficiently retrieve the value associated with a given key.<ref>Moni Naor and Udi Wieder. [http://www.wisdom.weizmann.ac.il/~naor/PAPERS/dh.pdf Novel Architectures for P2P Applications: the Continuous-Discrete Approach] {{Webarchive|url=https://web.archive.org/web/20191209032152/http://www.wisdom.weizmann.ac.il/~naor/PAPERS/dh.pdf |date=2019-12-09 }}. Proc. SPAA, 2003.</ref><ref>Gurmeet Singh Manku. [http://www-db.stanford.edu/~manku/phd/index.html Dipsea: A Modular Distributed Hash Table] {{webarchive|url=https://web.archive.org/web/20040910154927/http://www-db.stanford.edu/~manku/phd/index.html |date=2004-09-10 }}. Ph. D. Thesis (Stanford University), August 2004.</ref> [[File:DHT en.svg|thumb|left|250px|Distributed hash tables]] However, in order to route traffic efficiently through the network, nodes in a structured overlay must maintain lists of neighbors<ref>{{Cite web|url=https://sites.cs.ucsb.edu/~ravenben/publications/pdf/impact-iptps.pdf|title=Impact of Neighbor Selection on Performance and Resilience of Structured P2P Networks|author=Byung-Gon Chun, Ben Y. Zhao, John D. Kubiatowicz|date=2005-02-24|access-date=2019-08-24}}</ref> that satisfy specific criteria. This makes them less robust in networks with a high rate of ''churn'' (i.e. with large numbers of nodes frequently joining and leaving the network).<ref name="lv-2002" /><ref>{{cite book|last=Li |first=Deng |title=An Efficient, Scalable, and Robust P2P Overlay for Autonomic Communication |editor-last=Vasilakos |editor-first=A.V. |publisher=Springer |year=2009 |isbn=978-0-387-09752-7 |page=329 |url=https://books.google.com/books?id=c02mTcXW_U4C&pg=PA329 |display-authors=etal|display-editors=etal}}</ref> More recent evaluation of P2P resource discovery solutions under real workloads have pointed out several issues in DHT-based solutions such as high cost of advertising/discovering resources and static and dynamic load imbalance.<ref>{{cite journal |last1=Bandara |first1=H. M. N. Dilum |first2=Anura P. |last2=Jayasumana |title=Evaluation of P2P Resource Discovery Architectures Using Real-Life Multi-Attribute Resource and Query Characteristics |journal=IEEE Consumer Communications and Networking Conf. (CCNC '12) |date=January 2012}}</ref> Notable distributed networks that use DHTs include [[Tixati]], an alternative to [[BitTorrent (protocol)|BitTorrent's]] distributed tracker, the [[Kad network]], the [[Storm botnet]], and the [[YaCy]]. Some prominent research projects include the [[Chord project]], [[Kademlia]], [[PAST storage utility]], [[P-Grid]], a self-organized and emerging overlay network, and [[CoopNet content distribution system]].<ref>{{cite book | last1=Korzun | first1=Dmitry| last2=Gurtov| first2 = Andrei| title= Structured P2P Systems: Fundamentals of Hierarchical Organization, Routing, Scaling, and Security|publisher=Springer | isbn = 978-1-4614-5482-3 |date= November 2012 | url=https://www.springer.com/gp/book/9781461454823}}</ref> DHT-based networks have also been widely utilized for accomplishing efficient resource discovery<ref>{{cite web |last1=Ranjan |first1=Rajiv |last2=Harwood |first2=Aaron |last3=Buyya |first3=Rajkumar |date=1 December 2006 |url=http://www.cs.mu.oz.au/%7Erranjan/pgrid.pdf |title=A Study on Peer-to-Peer Based Discovery of Grid Resource Information |access-date=25 August 2008 |archive-date=14 May 2011 |archive-url=https://web.archive.org/web/20110514055004/http://www.cs.mu.oz.au/%7Erranjan/pgrid.pdf |url-status=dead }}</ref><ref>{{cite web |url=http://gridbus.org/papers/DecentralisedDiscoveryGridFed-eScience2007.pdf |first1=Rajiv |last1=Ranjan |first2=Lipo |last2=Chan |first3=Aaron |last3=Harwood |first4=Shanika |last4=Karunasekera |first5=Rajkumar |last5=Buyya |title=Decentralised Resource Discovery Service for Large Scale Federated Grids |url-status=dead |archive-url=https://web.archive.org/web/20080910170417/http://gridbus.org/papers/DecentralisedDiscoveryGridFed-eScience2007.pdf |archive-date=2008-09-10 }}</ref> for [[grid computing]] systems, as it aids in resource management and scheduling of applications. ====Hybrid models==== Hybrid models are a combination of peer-to-peer and [[Client–server model|client–server]] models.<ref>{{cite book |last=Darlagiannis |first=Vasilios |chapter=Hybrid Peer-to-Peer Systems|editor-last1=Steinmetz |editor-first1=Ralf |editor-last2=Wehrle |editor-first2=Klaus |title=Peer-to-Peer Systems and Applications |publisher=Springer |year=2005 |isbn=9783540291923 |chapter-url=https://books.google.com/books?id=A8CLZ1FB4qoC&pg=PA353 }}</ref> A common hybrid model is to have a central server that helps peers find each other. [[Spotify]] was an example of a hybrid model [until 2014].<ref>{{Cite web |last=Pejchinovski |first=Gordan |title=Spotify – Combining Cache, Peer-To-Peer and Server-Client Architectures for Users’ Satisfaction |url=https://www.researchgate.net/publication/260281013_Spotify_-_Combining_Cache_Peer-To-Peer_and_Server-Client_Architectures_for_Users'_Satisfaction |website=Researchgate}}</ref> There are a variety of hybrid models, all of which make trade-offs between the centralized functionality provided by a structured server/client network and the node equality afforded by the pure peer-to-peer unstructured networks. Currently, hybrid models have better performance than either pure unstructured networks or pure structured networks because certain functions, such as searching, do require a centralized functionality but benefit from the decentralized aggregation of nodes provided by unstructured networks.<ref>{{cite journal |last1=Yang |first1=Beverly |last2=Garcia-Molina |first2=Hector |year=2001 |title=Comparing Hybrid Peer-to-Peer Systems |journal=Very Large Data Bases |url=http://infolab.stanford.edu/~byang/pubs/hybridp2p_long.pdf |access-date=8 October 2013}}</ref> ====CoopNet content distribution system==== '''CoopNet (Cooperative Networking)''' was a proposed system for off-loading serving to peers who have recently [[download]]ed content, proposed by computer scientists Venkata N. Padmanabhan and Kunwadee Sripanidkulchai, working at [[Microsoft Research]] and [[Carnegie Mellon University]].<ref>{{Cite book| last1 = Padmanabhan| first1 = Venkata N.| last2 = Sripanidkulchai| first2 = Kunwadee| publication-date = March 2002| year = 2002| title = The Case for Cooperative Networking (PostScript with addendum)| volume = Proceedings of the First International Workshop on Peer-to-Peer Systems| series = Lecture Notes in Computer Science| location = Cambridge, MA| publisher = Springer| pages = [https://archive.org/details/peertopeersystem0000iptp/page/178 178]| isbn = 978-3-540-44179-3| doi = 10.1007/3-540-45748-8_17| url = https://archive.org/details/peertopeersystem0000iptp/page/178}} [http://research.microsoft.com/projects/CoopNet/papers/iptps02-with-addendum.pdf PDF (Microsoft, with addendum)] {{Webarchive|url=https://web.archive.org/web/20070417140616/http://research.microsoft.com/projects/CoopNet/papers/iptps02-with-addendum.pdf |date=2007-04-17 }} [https://doi.org/10.1007%2F3-540-45748-8_17 PDF (Springer, original, fee may be required)] {{Webarchive|url=https://web.archive.org/web/20230101095443/https://link.springer.com/chapter/10.1007/3-540-45748-8_17 |date=2023-01-01 }}</ref><ref>{{Cite web|url=http://research.microsoft.com/projects/CoopNet/|title=CoopNet: Cooperative Networking|publisher=Microsoft Research}} Project home page.</ref> When a [[Server (computing)|server]] experiences an increase in load it redirects incoming peers to other peers who have agreed to [[mirror site|mirror]] the content, thus off-loading balance from the server. All of the information is retained at the server. This system makes use of the fact that the bottleneck is most likely in the outgoing bandwidth than the [[CPU]], hence its server-centric design. It assigns peers to other peers who are 'close in [[IP Address|IP]]' to its neighbors [same prefix range] in an attempt to use locality. If multiple peers are found with the same [[Computer file|file]] it designates that the node choose the fastest of its neighbors. [[Streaming media]] is transmitted by having clients [[web cache|cache]] the previous stream, and then transmit it piece-wise to new nodes.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)