Peer-to-peer

Overview
A peer-to-peer (P2P) computer network exploits diverse connectivity between participants in a network and the cumulative bandwidth of network participants rather than conventional centralized resources where a relatively low number of servers provide the core value to a service or application. Peer-to-peer networks are typically used for connecting computers via largely ad hoc connections. Such networks are useful for many purposes. Sharing content files (file sharing) containing audio, video, data or anything in digital format is very common, and realtime data, such as Voice over IP traffic, is also passed using P2P technology.

The ability of a peer-to-peer software vendor to track or regulate the use of its software depends on whether the peer-to-peer network is based on a centralized model, such as that used by Napster, or a decentralized model, such as the Gnutella network used by KaZaA. In the centralized model, which is based on a central server or broker that directs traffic between individual registered users, it is possible for the administrators of the central server to track some of the individuals’ activities by monitoring their interactions with the central server or database. In the decentralized model, in which individuals find and interact directly with each other, the ability of the peer-to-peer software vendor to track individuals who use its software is greatly diminished. Any user of a decentralized peer-to-peer network, including the vendor of the software, can search the network to determine the files that are being shared on the network. However, according to one major software vendor, vendors of file-sharing software have no special ability to track or regulate the actions of the users of the software.

History
The earliest peer-to-peer network in widespread use was the Usenet news server system, in which peers communicated with one another to propagate Usenet news articles over the entire Usenet network. Particularly in the earlier days of Usenet, UUCP was used to extend even beyond the Internet. However, the news server system also acted in a client-server form when individual users accessed a local news server to read and post articles.

Advantages
“The advantage of peer-to-peer networks over information networks of other types shows up in their substantial and growing popularity. Because they need no central computer server to mediate the exchange of information or files among users, the high-bandwidth communications capacity for a server may be dispensed with, and the need for costly server storage space is eliminated. Since copies of a file (particularly a popular one) are available on many users’ computers, file requests and retrievals may be faster than on other types of networks, and since file exchanges do not travel through a server, communications can take place between any computers that remain connected to the network without risk that a glitch in the server will disable the network in its entirety. Given these benefits in security, cost, and efficiency, peer-to-peer networks are employed to store and distribute electronic files by universities, government agencies, corporations, and libraries, among others.”

Disadvantages
“Peer-to-peer networks have disadvantages as well. Searches on peer-to-peer networks may not reach and uncover all available files because search requests may not be transmitted to every computer on the network. There may be redundant copies of popular files. The creator of the software has no incentive to minimize storage or bandwidth consumption, the costs of which are borne by every user of the network. Most relevant here, it is more difficult to control the content of files available for retrieval and the behavior of users.”