Peer-to-Peer Networks for Content Sharing

Peer-to-peer (P2P) systems are popularly used as “file swapping” networks to support distributed content sharing. A number of P2P networks for file sharing have been developed and deployed. Napster, Gnutella, and Fasttrack are three popular P2P systems. This chapter presents a broad overview of P2P computing and focuses on content sharing networks and technologies. It also emphasizes on the analysis of network topologies used in popular P2P systems. In addition, this chapter also identifies and describes architecture models and compares various characteristics of four P2P systems—Napster, Gnutella, Fasttrack, and OpenFT. This c apter appears in the book Peer-to-Peer Computing: The Evolution of a Distruptive Technology by Ramesh Subrama ian and Brian D. Goodman. Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited. 701 E. Chocolate Avenue, Suite 200, Hershey PA 17033-1240, USA Tel: 717/533-8845; Fax 717/533-8661; URL-http://www.idea-group.com IDEA GROUP PUBLISHING Peer-to-Peer Networks 29 Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited. Introduction Peer-to-peer (P2P) content sharing technologies such as Napster, Gnutella, and Kazaa are applications that have been astonishingly successful on the Internet. P2P has gained tremendous public attention through Napster, which is a system supporting music sharing on the Web. It is an emerging and interesting research technology with a promising product base. Intel P2P working group gave the definition of P2P as “The sharing of computer resources and services by direct exchange between systems” (Kan, 2001). This thus gives P2P systems two main key characteristics: • Scalability: There is no algorithmic or technical limitation to the size of the system, for example, the complexity of the system should be somewhat constant regardless of the number of nodes in the system. • Reliability: The malfunction on any given node will not affect the whole system (or maybe even any other nodes). File sharing networks such as Gnutella are good examples of scalability and reliability. In Gnutella, peers are first connected to a flat overlay network in which every peer is equal. Peers are connected directly without the need of a master server’s arrangement and the malfunction of any node does not cause any other nodes in the system to malfunction as well. P2P can be categorized into two groups by the type of model: pure P2P and hybrid P2P. The pure P2P model, such as Gnutella and Freenet, does not have a central server. The hybrid P2P model, such as Napster, Groove, and Magi, employs a central server to obtain meta-information such as the identity of the peer on which the information is stored or to verify security credentials. In a hybrid model, peers always contact a central server before they directly contact other peers. P2P Networks Topologies According to Peter, Tim, Bart, and Piet (2002), all P2P topologies, no matter how different they may be, have one common feature. All file transfers made between peers are always done directly through a data connection that is made between the peer sharing the file and the peer requesting it. The control process prior to the file transfer, however, can be implemented in many ways. As stated 36 more pages are available in the full version of this document, which may be purchased using the "Add to Cart" button on the publisher's webpage: www.igi-global.com/chapter/peer-peer-networks-contentsharing/28041