Search and Replication in Unstructured Peer-to-Peer Networks [pdf]:
Decentralized and unstructured peer-to-peer networks such as Gnutella are attractive for certain applications because they require no centralized directories and no precise control over network topology or data placement. However, the flooding-based query algorithm used in Gnutella does not scale; each individual query generates a large
amount of traffic and large systems quickly become overwhelmed by the
query-induced load. This paper explores, through simulation, various
alternatives to Gnutella’s query algorithm, data replication strategy,
and network topology. We propose a query algorithm based on multiple
random walks that resolves queries almost as quickly as Gnutella’s
flooding method while reducing the network traffic by two orders of
magnitude in many cases. We also present a distributed replication
strategy that yields close-to-optimal performance. Finally, we find
that among the various network topologies we consider, uniform random
graphs yield the best performance.
