ABSTRACT

The term “peer-to-peer” (P2P) is used in many contexts to mean different things. It was recently used to refer to the form of cooperation that emerged with the appearance of the music file sharing application Napster.31 With that application, music files where exchanged between computers (peers), relying on a central directory for knowing which peer has which file. Napster ceased operation due to legal rather than technical reasons and was followed by a number of systems such as Gnutella17 and Freenet,13 in which the central directory was replaced with a flooding process where each computer connects to random members in a P2P network and queries his neighbors who act similarly until a query is resolved. The random graph of such peers proved a feasible example of an overlay network, that is, an application-level network on top of the Internet transport with its own topology and routing.