Misplaced Pages

Peer-to-peer: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 09:56, 13 July 2013 editMesoderm (talk | contribs)Extended confirmed users, IP block exemptions, Rollbackers4,627 edits Cleanup and re-captionTag: Visual edit← Previous edit Revision as of 10:08, 13 July 2013 edit undoMesoderm (talk | contribs)Extended confirmed users, IP block exemptions, Rollbackers4,627 editsNo edit summaryTags: Visual edit Visual edit: CheckNext edit →
Line 3: Line 3:


] ]
], where individual ] request services and resources from centralized ]'']''''.'']] ], where individual ] request services and resources from centralized ]'''''<nowiki>'</nowiki>'''''.'']]


'''Peer-to-peer''' ('''P2P''') computing or networking is a ] application ] where individual ] (''"peers"'') in the network are both suppliers and consumers of resources/services, in contrast to the traditional ] model. Tasks (such as searching for files or streaming audio/video) are shared amongst multiple peers who each 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 centralized coordination by servers or stable hosts.<ref>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).</ref> They are said to form a ''peer-to-peer network''. '''Peer-to-peer''' ('''P2P''') '''computing''' or networking is a ] and ] application ] where individual ] in the network (called ''"peers"'')are both suppliers and consumers of resources/services, in contrast to the centralized ] model where clients access services/resources provided by central servers.
In a peer-to-peer network, tasks (such as searching for files or streaming audio/video) are shared amongst multiple peers who each 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 centralized coordination by servers or stable hosts.<ref>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).</ref>


==Architecture of peer-to-peer systems== ==Architecture of peer-to-peer systems==
A pure P2P network does not have the notion of ] or servers but only equal '']'' nodes that simultaneously function as both "clients" and "servers" to the other nodes on the network. This model of network arrangement differs from the ] model where communication is usually to and from a central server. A typical example of a file transfer that does not use the P2P model is the ] (FTP) service in which the client and server programs are distinct: the clients initiate the transfer, and the servers satisfy these requests. A '''''peer-to-peer network''''' is designed around the notion of equal '']'' nodes simultaneously functioning as both "clients" and "servers" to the other nodes on the network. This model of network arrangement differs from the ] model where communication is usually to and from a central server. A typical example of a file transfer that does not use the P2P model is the ] (FTP) service in which the client and server programs are distinct: the clients initiate the transfer, and the servers satisfy these requests.


Some networks and channels such as ], ] and ] ]s use a client–server structure for some tasks (e.g., searching) and a P2P structure for others. Networks such as ] or ] use a P2P structure for nearly all tasks, with the exception of finding peers to connect to when first setting up.{{cn}} Some networks and channels such as ], ] and ] ]s use a client–server structure for some tasks (e.g., searching) and a P2P structure for others. Networks such as ] or ] use a P2P structure for nearly all tasks, with the exception of finding peers to connect to when first setting up.{{cn}}
Line 20: Line 22:
In '''''structured P2P networks''''', peers are organized following specific criteria and algorithms, which lead to overlays with specific topologies and properties. They typically use ] (DHT) based indexing, such as in the ] system (]).<ref>{{Citation|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}}</ref> Structured P2P systems are appropriate for large-scale implementations due to high scalability and some guarantees on performance (typically approximating O(log N), where N is the number of nodes in the P2P system).{{cn}} In '''''structured P2P networks''''', peers are organized following specific criteria and algorithms, which lead to overlays with specific topologies and properties. They typically use ] (DHT) based indexing, such as in the ] system (]).<ref>{{Citation|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}}</ref> Structured P2P systems are appropriate for large-scale implementations due to high scalability and some guarantees on performance (typically approximating O(log N), where N is the number of nodes in the P2P system).{{cn}}


Structured P2P networks employ a globally consistent protocol to ensure that any node can efficiently route a search to some peer that has the desired file/resource, even if the resource is extremely rare. Such a guarantee necessitates a more structured pattern of overlay links. The most common type of structured P2P networks implement a ] (DHT), in which a variant of ] is used to assign ownership of each file to a particular peer, in a way analogous to a traditional ]'s assignment of each key to a particular array slot. Though the term DHT is commonly used to refer to the structured overlay, in practice, DHT is a data structure implemented on top of a structured overlay.<ref name=P2P_API>{{cite journal|last=Dabek|first=Frank|coauthors=Ben Zhao, Peter Druschel, John Kubiatowicz and Ion Stoica|title=Towards a Common API for Structured Peer-to-Peer Overlays|journal=Peer-to-Peer Systems II|year=2003|volume=2735|series=Lecture Notes in Computer Science|pages=33–44|doi=10.1007/978-3-540-45172-3_3|url=http://dx.doi.org/10.1007/978-3-540-45172-3_3}}</ref> Structured P2P networks employ a globally consistent protocol to ensure that any node can efficiently route a search to some peer that has the desired file/resource, even if the resource is extremely rare. Such a guarantee necessitates a more structured pattern of overlay links. The most common type of structured P2P networks implement a ] (DHT), in which a variant of ] is used to assign ownership of each file to a particular peer, in a way analogous to a traditional ]'s assignment of each key to a particular array slot. Though the term DHT is commonly used to refer to the structured overlay, in practice, DHT is a data structure implemented on top of a structured overlay.<ref name="P2P_API">{{cite journal|last=Dabek|first=Frank|coauthors=Ben Zhao, Peter Druschel, John Kubiatowicz and Ion Stoica|title=Towards a Common API for Structured Peer-to-Peer Overlays|journal=Peer-to-Peer Systems II|year=2003|volume=2735|series=Lecture Notes in Computer Science|pages=33–44|doi=10.1007/978-3-540-45172-3_3|url=http://dx.doi.org/10.1007/978-3-540-45172-3_3}}</ref>


'''''''Unstructured P2P networks''''''', on the other hand, do not impose any structure on the overlay networks. Peers in these networks connect in an ] fashion based on a loose set of rules.<ref>{{cite book|last=Shen|first=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|pages=118|isbn=0-387-09750-3}}</ref> Ideally, unstructured P2P systems would have absolutely no centralized elements/nodes, but in practice there are several types of unstructured systems with various degrees of centralization. Three categories can easily be seen: <nowiki>''</nowiki>'''''Unstructured P2P networks''''''', on the other hand, do not impose any structure on the overlay networks. Peers in these networks connect in an ] fashion based on a loose set of rules.<ref>{{cite book|last=Shen|first=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|pages=118|isbn=0-387-09750-3}}</ref> Ideally, unstructured P2P systems would have absolutely no centralized elements/nodes, but in practice there are several types of unstructured systems with various degrees of centralization. Three categories can easily be seen:
* In ''pure peer-to-peer'' systems the entire network consists solely of ] peers. There is only one routing layer, as there are no preferred nodes with any special infrastructure function. * In ''pure peer-to-peer'' systems the entire network consists solely of ] peers. There is only one routing layer, as there are no preferred nodes with any special infrastructure function.
* In ''centralized peer-to-peer'' systems, a central server is used for indexing functions and to bootstrap the entire system. Although this has similarities with a structured architecture, the connections between peers are not determined by any algorithm. * In ''centralized peer-to-peer'' systems, a central server is used for indexing functions and to bootstrap the entire system. Although this has similarities with a structured architecture, the connections between peers are not determined by any algorithm.
Line 100: Line 102:
===Other P2P applications=== ===Other P2P applications===
* ] is a peer-to-peer-based digital currency. * ] is a peer-to-peer-based digital currency.
* The U.S. Department of Defense is conducting research on P2P networks as part of its modern network warfare strategy.<ref>{{cite news|url=http://www.washingtonpost.com/ac2/wp-dyn?pagename=article&node=washtech/techthursday/columns/dotcom&contentId=A59099-2001Nov7|author=Walker, Leslie|title=Uncle Sam Wants Napster!|work=The Washington Post|date=November 8, 2001|date=2001-11-08|accessdate=2010-05-22}}</ref> In May, 2003, ], then director of DARPA, testified that the U.S. military uses P2P networks. * The U.S. Department of Defense is conducting research on P2P networks as part of its modern network warfare strategy.<ref>{{cite news|url=http://www.washingtonpost.com/ac2/wp-dyn?pagename=article&node=washtech/techthursday/columns/dotcom&contentId=A59099-2001Nov7|author=Walker, Leslie|title=Uncle Sam Wants Napster!|work=The Washington Post|date=2001-11-08|accessdate=2010-05-22}}</ref> In May, 2003, ], then director of DARPA, testified that the U.S. military uses P2P networks.
* In ], drug candidate identification. The first such program was begun in 2001 the Centre for Computational Drug Discovery at the ] in cooperation with the National Foundation for Cancer Research. There are now several similar programs running under the ]. * In ], drug candidate identification. The first such program was begun in 2001 the Centre for Computational Drug Discovery at the ] in cooperation with the National Foundation for Cancer Research. There are now several similar programs running under the ].
* ], ] * ], ]

Revision as of 10:08, 13 July 2013

Not to be confused with point-to-point (disambiguation). This article is about peer-to-peer computing. For other uses, see Peer-to-peer (disambiguation).
A peer-to-peer (P2P) system of nodes that communicate amongst each other without a centralized administrative infrastructure.
A system based on the client-server model, where individual clients request services and resources from centralized 'servers'.

Peer-to-peer (P2P) computing or networking is a decentralized and distributed application architecture where individual nodes in the network (called "peers")are both suppliers and consumers of resources/services, in contrast to the centralized client–server model where clients access services/resources provided by central servers.

In a peer-to-peer network, tasks (such as searching for files or streaming audio/video) are shared amongst multiple peers who each 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 centralized coordination by servers or stable hosts.

Architecture of peer-to-peer systems

A peer-to-peer network is designed around the notion of equal peer nodes simultaneously functioning 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 does not use the P2P model is the File Transfer Protocol (FTP) service in which the client and server programs are distinct: the clients initiate the transfer, and the servers satisfy these requests.

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.

Overlay networks

Peer-to-peer systems often implement an abstract overlay network, built at the Application Layer, on top of the native or physical network topology. Such overlays are used for indexing and peer discovery and make the P2P system independent from the physical network topology. 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 user/node.

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 structured or unstructured.

Structured vs. unstructured systems

In structured P2P networks, peers are organized following specific criteria and algorithms, which lead to overlays with specific topologies and properties. They typically use distributed hash table (DHT) based indexing, such as in the Chord system (MIT). Structured P2P systems are appropriate for large-scale implementations due to high scalability and some guarantees on performance (typically approximating O(log N), where N is the number of nodes in the P2P system).

Structured P2P networks employ a globally consistent protocol to ensure that any node can efficiently route a search to some peer that has the desired file/resource, even if the resource is extremely rare. Such a guarantee necessitates a more structured pattern of overlay links. The most common type of structured P2P networks implement a 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. Though the term DHT is commonly used to refer to the structured overlay, in practice, DHT is a data structure implemented on top of a structured overlay.

''Unstructured P2P networks'', on the other hand, do not impose any structure on the overlay networks. Peers in these networks connect in an ad-hoc fashion based on a loose set of rules. Ideally, unstructured P2P systems would have absolutely no centralized elements/nodes, but in practice there are several types of unstructured systems with various degrees of centralization. Three categories can easily be seen:

  • 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.
  • In centralized peer-to-peer systems, a central server is used for indexing functions and to bootstrap the entire system. Although this has similarities with a structured architecture, the connections between peers are not determined by any algorithm.
  • Hybrid peer-to-peer systems allow such infrastructure nodes to exist, often called supernodes.

The first prominent and popular peer-to-peer file sharing system, Napster, was an example of the centralized model. Freenet and early implementations of the gnutella protocol, on the other hand, are examples of the decentralized model. Modern gnutella implementations, Gnutella2, as well as the now deprecated Kazaa network are examples of the hybrid model.

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. Gossip protocol is an example of this concept. 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 neither a central server managing the network, nor a central router. Some examples of pure P2P Application Layer networks designed for peer-to-peer 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. As examples for such networks can be named modern implementations of gnutella (after v0.4) and Gnutella2.

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 (often also called eD2k).

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.

Distributed hash tables

Main article: Distributed hash table
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 P2P networks. Notable distributed networks that use DHTs include BitTorrent's distributed tracker, the Kad network, the Storm botnet, YaCy, and the Coral Content Distribution Network.

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 (see below for external links related to these projects).

DHT-based networks have been widely utilized for accomplishing efficient resource discovery for grid computing systems, as it aids in resource management and scheduling of applications. 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. The 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. Other design choices include overlay rings and d-Torus. 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.

Security and trust management

Harmful data can also be distributed on P2P networks by modifying files that are already being distributed on the network. This type of security breach is created by the fact that users are connecting to untrusted sources, as opposed to a maintained server. In the past this has happened to the FastTrack network when the RIAA managed to introduce faked chunks into downloads and downloaded files (mostly MP3 files). Files infected with the RIAA virus were unusable afterwards or even contained malicious code. The RIAA is also known to have uploaded fake music and movies to P2P networks in order to deter illegal file sharing. 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.

Incentivizing resource sharing and cooperation

Some researchers have explored the benefits of enabling virtual communities to self-organize and introduce incentives for resource sharing and cooperation, arguing that the social aspect missing from today's P2P systems should be seen both as a goal and a means for self-organized virtual communities to be built and fostered. 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.

Applications

Peer-to-peer networks underly numerous applications. The most commonly known application is file sharing, which popularized the technology.

Content delivery

In P2P networks, clients provide resources, which may include bandwidth, storage space, and computing power. This property is one of the major advantages of using P2P networks because it makes the setup and running costs very small for the original content distributor.

Communications

Search

Resilient network topologies

The decentralized nature of P2P networks increases robustness because it removes the single point of failure that can be inherent in a client-server based system. As nodes arrive and demand on the system increases, the total capacity of the system also increases, and the likelihood of failure decreases. If one peer on the network fails to function properly, the whole network is not compromised or damaged. 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, fewer resources are available to serve each client, and if the central server fails, the entire network is taken down.

Distributed storage/cache

There are both advantages and disadvantages in P2P networks related to the topic of data backup, recovery, and availability. In a centralized network, the system administrators are the only forces controlling the availability of files being shared. If the administrators decide to no longer distribute a file, they simply have to remove it from their servers, and it will no longer be available to users. Along with leaving the users powerless in deciding what is distributed throughout the community, this makes the entire system vulnerable to threats and requests from the government and other large forces. For example, YouTube has been pressured by the RIAA, MPAA, and entertainment industry to filter out copyrighted content. Although server-client networks are able to monitor and manage content availability, they can have more stability in the availability of the content they choose to host. A client should not have trouble accessing obscure content that is being shared on a stable centralized network. P2P networks, however, are more unreliable in sharing unpopular files because sharing files in a P2P network requires that at least one node in the network has the requested data, and that node must be able to connect to the node requesting the data. This requirement is occasionally hard to meet because users may delete or stop sharing data at any point.

In this sense, the community of users in a P2P network is completely responsible for deciding what content is available. Unpopular files will eventually disappear and become unavailable as more people stop sharing them. Popular files, however, will be highly and easily distributed. Popular files on a P2P network actually have more stability and availability than files on central networks. In a centralized network a simple loss of connection between the server and clients is enough to cause a failure, but in P2P networks the connections between every node must be lost in order to cause a data sharing failure. In a centralized system, the administrators are responsible for all data recovery and backups, while in P2P systems, each node requires its own backup system. Because of the lack of central authority in P2P networks, forces such as the recording industry, RIAA, MPAA, and the government are unable to delete or stop the sharing of content on P2P systems.

Anonymity and resistance to censorship

This section needs expansion. You can help by adding to it.

Other P2P applications

  • Bitcoin is a peer-to-peer-based digital currency.
  • The U.S. Department of Defense is conducting research on P2P networks as part of its modern network warfare strategy. In May, 2003, Anthony Tether, then director of DARPA, testified that the U.S. military uses P2P networks.
  • 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.
  • Wireless community network, Netsukuku
  • Dalesa a peer-to-peer web cache for LANs (based on IP multicasting).
  • Open Garden, connection sharing application that shares Internet access with other devices using Wi-Fi or Bluetooth.
  • 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
  • Kato et al.'s studies indicate over 200 companies have invested approximately $400 million USD in P2P networking. Besides file sharing, companies are also interested in distributing computing and content distribution applications.
  • An earlier generation of peer-to-peer systems were called "metacomputing" or "middleware". These include: Legion, Globus
  • Tradepal is a peer-to-peer marketplace where users list, discover, share and trade unique items with trusted peers.v

Historical development

While P2P systems had previously been used in many application domains, the concept was popularized by file sharing systems such as Napster (originally released in 1999). 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.

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. This contrasts to the broadcasting-like structure of the web as it has developed over the years. This contrasts to the current broadcasting-like structure of the web.

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.

Controversies

Network neutrality

Peer-to-peer applications present one of the core issues in the network neutrality controversy. Internet service providers (ISPs) have been known to throttle P2P file-sharing traffic due to its high-bandwidth usage. 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. In October 2007, Comcast, one of the largest broadband Internet providers in the USA, started blocking 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 traffic. Critics point out that P2P networking has legitimate uses, and that this is another way that large providers are trying to control use and content on the Internet, and direct people towards a client-server-based application architecture. The client-server model provides financial barriers-to-entry to small publishers and individuals, and can be less efficient for sharing large files. As a reaction to this bandwidth throttling, several P2P applications started implementing protocol obfuscation, such as the BitTorrent protocol encryption. Techniques for achieving "protocol obfuscation" involves removing otherwise easily identifiable properties of protocols, such as deterministic byte sequences and packet sizes, by making the data look as if it were random. The ISP's solution to the high bandwidth is P2P caching, where an ISP stores the part of files most accessed by P2P clients in order to save access to the Internet.

Legal challenges

Peer-to-peer networking involves data transfer from one user to another without using an intermediate server. Companies developing P2P applications have been involved in numerous legal cases, primarily in the United States. The two major cases are Grokster vs RIAA and MGM Studios, Inc. v. Grokster, Ltd.. In both of the cases the file sharing technology was ruled to be legal as long as the developers had no ability to prevent the sharing of the copyrighted material.

See also

References

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Peer-to-peer" – news · newspapers · books · scholar · JSTOR (Learn how and when to remove this message)
  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
  3. Dabek, Frank (2003). "Towards a Common API for Structured Peer-to-Peer Overlays". Peer-to-Peer Systems II. Lecture Notes in Computer Science. 2735: 33–44. doi:10.1007/978-3-540-45172-3_3. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  4. Shen, Xuemin; Yu, Heather; Buford, John; Akon, Mursalin (2009). Handbook of Peer-to-Peer Networking (1st ed.). New York: Springer. p. 118. ISBN 0-387-09750-3.
  5. Beverly Yang and Hector Garcia-Molina, Designing a super-peer network, Proceedings of the 19th International Conference on Data Engineering (2003).
  6. Napster - the first prominent example of a centralized P2P system
  7. Ranjan, Rajiv; Harwood, Aaron; Buyya, Rajkumar (1 December 2006), A Study on Peer-to-Peer Based Discovery of Grid Resource Information (PDF)
  8. Ranjan, Rajiv; Chan, Lipo; Harwood, Aaron; Karunasekera, Shanika; Buyya, Rajkumar. "Decentralised Resource Discovery Service for Large Scale Federated Grids" (PDF).
  9. Bandara, H. M. N. D (2012). "Collaborative Applications over Peer-to-Peer Systems – Challenges and Solutions". Peer-to-Peer Networking and Applications. doi:10.1007/s12083-012-0157-3. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  10. 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.
  11. P. Trunfio, "Peer-to-Peer resource discovery in Grids: Models and systems," Future Generation Computer Systems archive, vol. 23, no. 7, Aug. 2007.
  12. Bandara, H. M. N. Dilum (2012). "Evaluation of P2P Resource Discovery Architectures Using Real-Life Multi-Attribute Resource and Query Characteristics". IEEE Consumer Communications and Networking Conf. (CCNC '12). {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help); Unknown parameter |month= ignored (help)
  13. Sorkin, Andrew Ross (4 May 2003). "Software Bullet Is Sought to Kill Musical Piracy". New York Times. Retrieved 5 November 2011.
  14. P. Antoniadis and B. Le Grand, "Incentives for resource sharing in self-organized communities: From economics to social psychology," Digital Information Management (ICDIM '07), 2007
  15. Gareth Tyson, Andreas Mauthe, Sebastian Kaune, Mu Mu and Thomas Plagemann. Corelli: A Dynamic Replication Service for Supporting Latency-Dependent Content in Community Networks. In Proc. 16th ACM/SPIE Multimedia Computing and Networking Conference (MMCN), San Jose, CA (2009).
  16. Lua, Eng Keong; Crowcroft, Jon; Pias, Marcelo; Sharma, Ravi; Lim, Steven (2005). "A survey and comparison of peer-to-peer overlay network schemes".
  17. Walker, Leslie (2001-11-08). "Uncle Sam Wants Napster!". The Washington Post. Retrieved 2010-05-22.
  18. D. Barkai, Peer-to-Peer Computing, Intel Press, 2002.
  19. RFC 1, Host Software, S. Crocker, IETF Working Group (April 7, 1969)
  20. Tim Berners-Lee (August 1996). "The World Wide Web: Past, Present and Future". Retrieved 5 November 2011.
  21. 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/
  22. Hjelmvik, Erik; John, Wolfgang (2010-07-27). "Breaking and Improving Protocol Obfuscation" (PDF). ISSN 1652-926X.
  23. John Borland, Judge: File-Swapping Tools are Legal , http://news.cnet.com/Judge-File-swapping-tools-are-legal/2100-1027_3-998363.html/

External links

Categories: