Peer-to-Peer

Source: Wikipedia: Peer-to-Peer


Peer-to-peer

From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article is about peer-to-peer computing. For other uses, see Peer-to-peer (disambiguation).
This article may require cleanup to meet Wikipedia's quality standards. Please improve this article if you can. (June 2009)
A peer-to-peer system of nodes without central infrastructure.
Centralized server-based service model.

A peer-to-peer, commonly abbreviated to P2P, is any distributed network architecture composed of participants that make a portion of their resources (such as processing power, disk storage or network bandwidth) directly available to other network participants, without the need for central coordination instances (such as servers or stable hosts).[1] Peers are both suppliers and consumers of resources, in contrast to the traditional client–server model where only servers supply, and clients consume.

Peer-to-peer was popularized by file sharing systems like Napster. Peer-to-peer file sharing networks have inspired new structures and philosophies in other areas of human interaction. In such social contexts, peer-to-peer as a meme refers to the egalitarian social networking that is currently emerging throughout society, enabled by Internet technologies in general.
Contents
[hide]

* 1 Architecture of P2P systems
o 1.1 Structured systems
+ 1.1.1 Distributed hash tables
o 1.2 Unstructured systems
o 1.3 Indexing and resource discovery
* 2 Peer-to-peer-like systems
* 3 Advantages and weaknesses
* 4 Social and economic impact
* 5 Applications
o 5.1 Content Delivery
o 5.2 Monetary
o 5.3 Networking
o 5.4 Science
o 5.5 Communications networks
o 5.6 General
o 5.7 Miscellaneous
* 6 Examples
* 7 Net Neutrality Controversy
* 8 See also
* 9 References
* 10 External links

[edit] Architecture of P2P systems
a network diagram of a basic peer to peer network

Peer-to-peer networks are typically formed dynamically by ad-hoc additions of nodes. In an 'ad-hoc' network, the removal of nodes has no significant impact on the network. The distributed architecture of an application in a peer-to-peer system provides enhanced scalability and service robustness.

Peer-to-peer systems often implement an Application Layer overlay network on top of the native or physical network topology. Such overlays are used for indexing and peer discovery. Content is typically exchanged directly over the underlying Internet Protocol (IP) network. Anonymous peer-to-peer systems are an exception, and implement extra routing layers to obscure the identity of the source or destination of queries.

In structured peer-to-peer networks, connections in the overlay are fixed. They typically use distributed hash table-based (DHT) indexing, such as in the Chord system (MIT).[2]

Unstructured peer-to-peer networks do not provide any algorithm for organization or optimization of network connections.[citation needed] In particular, three models of unstructured architecture are defined. In pure peer-to-peer systems the entire network consists solely of equipotent peers. There is only one routing layer, as there are no preferred nodes with any special infrastructure function. Hybrid peer-to-peer systems allow such infrastructure nodes to exist, often called supernodes [3]. In centralized peer-to-peer systems, a central server is used for indexing functions and to bootstrap the entire system.[citation needed] Although this has similarities with a structured architecture, the connections between peers are not determined by any algorithm. The first prominent and popular peer-to-peer file sharing system, Napster, was an example of the centralized model. Gnutella and Freenet, on the other hand, are examples of the decentralized model. Kazaa is an example of the hybrid model.

P2P networks are typically used for connecting nodes via largely ad hoc connections.[citation needed] Sharing content files (see file sharing) containing audio, video, data or anything in digital format is very common, and real time data, such as telephony traffic, is also passed using P2P technology.

A pure P2P network does not have the notion of clients or servers but only equal peer nodes that simultaneously function as both "clients" and "servers" to the other nodes on the network. This model of network arrangement differs from the client–server model where communication is usually to and from a central server. A typical example of a file transfer that is not P2P is an FTP server where the client and server programs are quite distinct: the clients initiate the download/uploads, and the servers react to and satisfy these requests.

The P2P overlay network consists of all the participating peers as network nodes. There are links between any two nodes that know each other: i.e. if a participating peer knows the location of another peer in the P2P network, then there is a directed edge from the former node to the latter in the overlay network. Based on how the nodes in the overlay network are linked to each other, we can classify the P2P networks as unstructured or structured.
[edit] Structured systems

Structured P2P network employ a globally consistent protocol to ensure that any node can efficiently route a search to some peer that has the desired file, even if the file is extremely rare. Such a guarantee necessitates a more structured pattern of overlay links. By far the most common type of structured P2P network is the distributed hash table (DHT), in which a variant of consistent hashing is used to assign ownership of each file to a particular peer, in a way analogous to a traditional hash table's assignment of each key to a particular array slot.
[edit] Distributed hash tables
Distributed hash tables

Distributed hash tables (DHTs) are a class of decentralized distributed systems that provide a lookup service similar to a hash table: (key, value) pairs are stored in the DHT, and any participating node can efficiently retrieve the value associated with a given key. Responsibility for maintaining the mapping from keys to values is distributed among the nodes, in such a way that a change in the set of participants causes a minimal amount of disruption. This allows DHTs to scale to extremely large numbers of nodes and to handle continual node arrivals, departures, and failures.

DHTs form an infrastructure that can be used to build peer-to-peer networks. Notable distributed networks that use DHTs include BitTorrent's distributed tracker, the Bitcoin monetary network, the Kad network, the Storm botnet, YaCy, and the Coral Content Distribution Network.

Some prominent research projects include the Chord project, the PAST storage utility, the P-Grid, a self-organized and emerging overlay network and the CoopNet content distribution system (see below for external links related to these projects).

DHT-based networks have been widely utilized for accomplishing efficient resource discovery[4][5] for grid computing systems, as it aids in resource management and scheduling of applications. Resource discovery activity involve searching for the appropriate resource types that match the user’s application requirements. Recent advances in the domain of decentralized resource discovery have been based on extending the existing DHTs with the capability of multi-dimensional data organization and query routing. Majority of the efforts have looked at embedding spatial database indices such as the Space Filling Curves (SFCs) including the Hilbert curves, Z-curves, k-d tree, MX-CIF Quad tree and R*-tree for managing, routing, and indexing of complex Grid resource query objects over DHT networks. Spatial indices are well suited for handling the complexity of Grid resource queries. Although some spatial indices can have issues as regards to routing load-balance in case of a skewed data set, all the spatial indices are more scalable in terms of the number of hops traversed and messages generated while searching and routing Grid resource queries.
[edit] Unstructured systems

An unstructured P2P network is formed when the overlay links are established arbitrarily. Such networks can be easily constructed as a new peer that wants to join the network can copy existing links of another node and then form its own links over time. In an unstructured P2P network, if a peer wants to find a desired piece of data in the network, the query has to be flooded through the network to find as many peers as possible that share the data. The main disadvantage with such networks is that the queries may not always be resolved. 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 search will be successful. 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. Flooding also causes a high amount of signaling traffic in the network and hence such networks typically have very poor search efficiency. Many of the popular P2P networks are unstructured.

In pure P2P networks: Peers act as equals, merging the roles of clients and server. In such networks, there is no central server managing the network, neither is there a central router. Some examples of pure P2P Application Layer networks designed for file sharing are Gnutella (pre v0.4) and Freenet.

There also exist hybrid P2P systems, which distribute their clients into two groups: client nodes and overlay nodes. Typically, each client is able to act according to the momentary need of the network and can become part of the respective overlay network used to coordinate the P2P structure. This division between normal and 'better' nodes is done in order to address the scaling problems on early pure P2P networks. Examples for such networks are for example Gnutella (after v0.4) or G2.

Another type of hybrid P2P network are networks using on the one hand central server(s) or bootstrapping mechanisms, on the other hand P2P for their data transfers. These networks are in general called 'centralized networks' because of their lack of ability to work without their central server(s). An example for such a network is the eDonkey network (eD2k).
[edit] Indexing and resource discovery

Older peer-to-peer networks duplicate resources across each node in the network configured to carry that type of information. This allows local searching, but requires much traffic.

Modern networks use central coordinating servers and directed search requests. Central servers are typically used for listing potential peers (Tor), coordinating their activities (folding@home), and searching (Napster, eMule). Decentralized searching was first done by flooding search requests out across peers. More efficient directed search strategies, including supernodes and distributed hash tables, are now used.

Many P2P systems use stronger peers (super-peers, super-nodes) as servers and client-peers are connected in a star-like fashion to a single super-peer.
[edit] Peer-to-peer-like systems

In modern definitions of peer-to-peer technology, the term implies the general architectural concepts outlined in this article. However, the basic concept of peer-to-peer computing was envisioned in earlier software systems and networking discussions, reaching back to principles stated in the first Request for Comments, RFC 1.[6]

A distributed messaging system that is often likened as an early peer-to-peer architecture is the USENET network news system that is in principle a client–server model from the user or client perspective, when they read or post news articles. However, news servers communicate with one another as peers to propagate Usenet news articles over the entire group of network servers. The same consideration applies to SMTP email in the sense that the core email relaying network of Mail transfer agents has a peer-to-peer character, while the periphery of e-mail clients and their direct connections is strictly a client–server relationship. Tim Berners-Lee's vision for the World Wide Web, as evidenced by his WorldWideWeb editor/browser, was close to a peer-to-peer design in that it assumed each user of the web would be an active editor and contributor creating and linking content to form an interlinked web of links. This contrasts to the broadcasting-like structure of the web as it has developed over the years.
[edit] Advantages and weaknesses

In P2P networks, clients provide resources, which may include bandwidth, storage space, and computing power. As nodes arrive and demand on the system increases, the total capacity of the system also increases. In contrast, in a typical client–server architecture, clients share only their demands with the system, but not their resources. In this case, as more clients join the system, less resources are available to serve each client.

The distributed nature of P2P networks also increases robustness,[citation needed] and—in pure P2P systems—by enabling peers to find the data without relying on a centralized index server[citation needed]. In the latter case, there is no single point of failure in the system.[citation needed]

As with most network systems, unsecure and unsigned codes may allow remote access to files on a victim's computer or even compromise the entire network.[citation needed] In the past this has happened for example to the FastTrack network when anti P2P companies managed to introduce faked chunks into downloads and downloaded files (mostly MP3 files) were unusable afterwards or even contained malicious code.[citation needed] Consequently, the P2P networks of today have seen an enormous increase of their security and file verification mechanisms. Modern hashing, chunk verification and different encryption methods have made most networks resistant to almost any type of attack, even when major parts of the respective network have been replaced by faked or nonfunctional hosts.

Internet service providers (ISPs) have been known to throttle P2P file-sharing traffic due to the high-bandwidth usage [7]. Compared to Web browsing, e-mail or many other uses of the internet, where data is only transferred in short intervals and relative small quantities, P2P file-sharing often consists of relatively heavy bandwidth usage due to ongoing file transfers and swarm/network coordination packets.

A possible solution to this is called P2P caching, where a ISP stores the part of files most accessed by P2P clients in order to save access to the Internet.
[edit] Social and economic impact
Main article: Peer-to-peer (meme)

The concept of P2P is increasingly evolving to an expanded usage as the relational dynamic active in distributed networks, i.e., not just computer to computer, but human to human. Yochai Benkler has coined the term commons-based peer production to denote collaborative projects such as free and open source software and Wikipedia. Associated with peer production are the concepts of:

* peer governance (referring to the manner in which peer production projects are managed)
* peer property (referring to the new type of licenses which recognize individual authorship but not exclusive property rights, such as the GNU General Public License and the Creative Commons licenses)
* peer distribution (or the manner in which products, particularly peer-produced products, are distributed)

Some researchers have explored the benefits of enabling virtual communities to self-organize and introduce incentives as a resource sharing and cooperation, arguing that what is missing from today's peer-to-peer systems should be seen both as a goal and a means for self-organized virtual communities to be built and fostered.[8] Ongoing research efforts for designing effective incentive mechanisms in P2P systems, based on principles from game theory are beginning to take on a more psychological and information-processing direction.
[edit] Applications

There are numerous applications of peer-to-peer networks. The most commonly known is for content distribution
[edit] Content Delivery

* Many file sharing networks, including Gnutella, G2 and FastTrack. Peer-to-peer file sharing popularized peer-to-peer technologies. From 2004, it is the largest contributor of network traffic on the Internet.
* Peer-to-Peer Content Delivery Networks (P2P-CDN) (Giraffic, Kontiki, Ignite, RedSwoosh.
* Software publication and distribution (Linux, several games); via file sharing networks.
* Streaming media. P2PTV and PDTP. Applications include TVUPlayer, Joost, CoolStreaming, Cybersky-TV, PPLive, LiveStation
* Spotify uses a peer-to-peer network along with streaming servers to stream music to its desktop music player.
* Peercasting for multicasting streams. See PeerCast, IceShare, FreeCast, Rawflow
* Pennsylvania State University, MIT and Simon Fraser University are carrying on a project called LionShare designed for facilitating file sharing among educational institutions globally.
* Osiris (Serverless Portal System) allows its users to create anonymous and autonomous web portals distributed via P2P network.

[edit] Monetary

* Bitcoin, an open source peer-to-peer electronic cash system that's completely decentralized, with no central server or trusted parties.

[edit] Networking

* Domain Name System, for Internet information retrieval. ee Comparison of DNS server software
* cloud computing
* Dalesa a peer - to - peer web cache for LANs (based on IP multicasting).

[edit] Science

* In bioinformatics, drug candidate identification. The first such program was begun in 2001 the Centre for Computational Drug Discovery at the University of Oxford in cooperation with the National Foundation for Cancer Research. There are now several similar programs running under the United Devices Cancer Research Project.
* The sciencenet P2P search engine.
* Boinc

[edit] Communications networks

* Skype, one of the most widely used internet phone applications is using P2P technology.
* VoIP (using application layer protocols such as SIP)
* Instant messaging and online chat
* Completely decentralized networks of peers: Usenet (1979) and WWIVnet (1987).

[edit] General

* Research like the Chord project, the PAST storage utility, the P-Grid, and the CoopNet content distribution system.
* JXTA, for Peer applications. See Collanos Workplace (Teamwork software), Sixearch

[edit] Miscellaneous

* The U.S. Department of Defense has started research on P2P networks as part of its modern network warfare strategy.[9] In May, 2003 Dr. Tether. Director of Defense Advanced Research Project Agency testified that U.S. Military is using P2P networks.
* Kato et al.’s studies indicate over 200 companies with approximately $400 million USD are investing in P2P network. Besides File Sharing, companies are also interested in Distributing Computing, Content Distribution.
* Wireless community network, Netsukuku
* An earlier generation of peer-to-peer systems were called "metacomputing" or were classed as "middleware". These include: Legion, Globus

[edit] Examples

Usenet and SMTP servers are connected in a P2P structure, with users connecting to these servers as clients, in the standard client–server arch.

Tim Berners-Lee's vision for the World Wide Web was close to a P2P network in that it assumed each user of the web would be an active editor and contributor, creating and linking content to form an interlinked "web" of links.[citation needed] This contrasts to the current broadcasting-like structure of the web.[citation needed]

Some networks and channels such as Napster, OpenNAP and IRC serving channels use a client–server structure for some tasks (e.g. searching) and a P2P structure for others. Networks such as Gnutella or Freenet use a P2P structure for nearly all tasks, with the exception of finding peers to connect to when first setting up.

P2P architecture embodies one of the key technical concepts of the Internet, described in the first Internet Request for Comments, RFC 1, "Host Software" dated April 7, 1969. More recently, the concept has achieved recognition in the general public in the context of the absence of central indexing servers in architectures used for exchanging multimedia files.
[edit] Net Neutrality Controversy

One of the core issues behind the Network neutrality controversy is over P2P applications. In October 2007, Comcast, one of the largest broadband internet providers in the USA, started blocking and jamming P2P applications such as Bittorrent. Their rationale was that P2P is mostly used to share illegal content, and their infrastructure is not designed for continuous, high-bandwidth users. Critics say there are legitimate uses for P2P, and this is another way that large players are trying to control use and content on the internet, and direct people towards a client-server based network architecture. Client-server provides financial barriers-to-entry to small publishers and individuals, and is quite inefficient for sharing large files, compared to P2P.
[edit] See also

* Wireless ad hoc network
* Client–server model
* Decentralized computing
* File sharing
* Friend-to-friend

[edit] References

1. ^ Rüdiger Schollmeier, A Definition of Peer-to-Peer Networking for the Classification of Peer-to-Peer Architectures and Applications, Proceedings of the First International Conference on Peer-to-Peer Computing, IEEE (2002).
2. ^ Kelaskar, M.; Matossian, V.; Mehra, P.; Paul, D.; Parashar, M. (2002), A Study of Discovery Mechanisms for Peer-to-Peer Application, http://portal.acm.org/citation.cfm?id=873218
3. ^ Beverly Yang and Hector Garcia-Molina, Designing a super-peer network, Proceedings of the 19th International Conference on Data Engineering (2003).
4. ^ Ranjan, Rajiv; Harwood, Aaron; Buyya, Rajkumar (1 December, 2006), A Study on Peer-to-Peer Based Discovery of Grid Resource Information, http://www.cs.mu.oz.au/%7Erranjan/pgrid.pdf
5. ^ Ranjan, Rajiv; Chan, Lipo; Harwood, Aaron; Karunasekera, Shanika; Buyya, Rajkumar. "Decentralised Resource Discovery Service for Large Scale Federated Grids" (PDF). http://gridbus.org/papers/DecentralisedDiscoveryGridFed-eScience2007.pdf.
6. ^ RFC 1, Host Software, S. Crocker, IETF Working Group (April 7, 1969)
7. ^ Janko Roettgers, 5 Ways to Test Whether your ISP throttles P2P, http://newteevee.com/2008/04/02/5-ways-to-test-if-your-isp-throttles-p2p/
8. ^ Antoniadis, P. & Le Grand, B. (2007). Incentives for resource sharing in self-organized communities: From economics to social psychology. Digital Information Management, 2007. ICDIM '07
9. ^ "Walker, Leslie. Uncle Sam Wants Napster! The Washington Post, November 8, 2001". 2001-11-08. http://www.washingtonpost.com/ac2/wp-dyn?pagename=article&node=washtech/techthursday/columns/dotcom&contentId=A59099-2001Nov7. Retrieved 2010-05-22.

[edit] External links
Search Wikimedia Commons Wikimedia Commons has media related to: P2P

* Glossary of P2P terminology
* Foundation of Peer-to-Peer Computing, Special Issue, Elsevier Journal of Computer Communication, (Ed) Javed I. Khan and Adam Wierzbicki, Volume 31, Issue 2, February 2008
* Ross J. Anderson. The eternity service. In Pragocrypt 1996, 1996.
* Marling Engle & J. I. Khan. Vulnerabilities of P2P systems and a critical look at their solutions, May 2006
* Stephanos Androutsellis-Theotokis and Diomidis Spinellis. A survey of peer-to-peer content distribution technologies. ACM Computing Surveys, 36(4):335–371, December 2004.
* Biddle, Peter, Paul England, Marcus Peinado, and Bryan Willman, The Darknet and the Future of Content Distribution. In 2002 ACM Workshop on Digital Rights Management, November 2002.
* John F. Buford, Heather Yu, Eng Keong Lua P2P Networking and Applications. ISBN 30-12374-214-5, Morgan Kaufmann, December 2008
* Djamal-Eddine Meddour, Mubashar Mushtaq, and Toufik Ahmed, “Open Issues in P2P Multimedia Streaming”, in the proceedings of the 1st Multimedia Communications Workshop MULTICOMM 2006 held in conjunction with IEEE ICC 2006 pp 43–48, June 2006, Istanbul, Turkey.
* Detlef Schoder and Kai Fischbach, Core Concepts in Peer-to-Peer (P2P) Networking. In: Subramanian, R.; Goodman, B. (eds.): P2P Computing: The Evolution of a Disruptive Technology, Idea Group Inc, Hershey. 2005
* Ralf Steinmetz, Klaus Wehrle (Eds). Peer-to-Peer Systems and Applications. ISBN 3-540-29192-X, Lecture Notes in Computer Science, Volume 3485, September 2005.
* Ramesh Subramanian and Brian Goodman (eds), Peer-to-Peer Computing: Evolution of a Disruptive Technology, ISBN 1-59140-429-0, Idea Group Inc., Hershey, PA, USA, 2005.
* Shuman Ghosemajumder. Advanced Peer-Based Technology Business Models. MIT Sloan School of Management, 2002.
* Silverthorne, Sean. Music Downloads: Pirates- or Customers?. Harvard Business School Working Knowledge, 2004.

Retrieved from "http://en.wikipedia.org/wiki/Peer-to-peer"
Categories: Peer-to-peer computing | File sharing networks
Hidden categories: Articles needing cleanup from June 2009 | All pages needing cleanup | All articles with unsourced statements | Articles with unsourced statements from July 2009 | Articles with unsourced statements from June 2009
Personal tools

* New features
* Log in / create account

Namespaces

* Article
* Discussion

Variants

Views

* Read
* Edit
* View history

Actions

Search
Search
Navigation

* Main page
* Contents
* Featured content
* Current events
* Random article

Interaction

* About Wikipedia
* Community portal
* Recent changes
* Contact Wikipedia
* Donate to Wikipedia
* Help

Toolbox

* What links here
* Related changes
* Upload file
* Special pages
* Permanent link
* Cite this page

Print/export

* Create a book
* Download as PDF
* Printable version

Languages

* Afrikaans
* العربية
* Български
* Català
* Česky
* Dansk
* Deutsch
* Ελληνικά
* Español
* Esperanto
* Euskara
* فارسی
* Français
* Galego
* 한 국어
* हिन्दी
* Hrvatski
* Bahasa Indonesia
* Italiano
* עברית
* Latviešu
* Lietuvių
* Magyar
* Македонски
* Bahasa Melayu
* Nederlands
* 日本語
* ‪Norsk (bokmål)‬
* Polski
* Português
* Русский
* Shqip
* Slovenčina
* Српски / Srpski
* Suomi
* Svenska
* Türkçe
* Українська
* اردو
* Vèneto
* Tiếng Việt
* ייִדיש
* 中文

* This page was last modified on 20 June 2010 at 16:53.
* Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. See Terms of Use for details.
Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
* Contact us

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License