Can Heterogeneity Make Gnutella Scale?
Scott Shenker, and
Many researchers have proposed designs for "highly structured"
peer-to-peer systems, for example, CAN, Chord, and Tapestry. The
underlying philosophy behind these systems is that random searches
over "unstructured" P2P networks such as Gnutella are inherently
unscalable. Instead, the structured systems tightly control the
overlay topology and the layout of files (or pointers to files)
across the topology. Unfortunately, doing so makes these systems
less resilient to transient user populations precisely because it is
difficult to maintain the structured topology in the face of
constantly joining and leaving nodes. Moreover, no one has yet
demonstrated that these systems, while well-suited for exact-match
queries, can support partial match queries such as keyword searching
efficiently. On the other hand, unstructured P2P systems like
Gnutella can easily answer such queries, and are better suited for
handling large transient populations.
In this work, we re-visit the question of whether Gnutella-like
unstructured P2P systems can be made more scalable. Our approach is
based on recent studies that show that Internet-wide P2P networks
demonstrate large degrees of heterogeneity. We leverage this
heterogeneity to adapt the topology of the overlay network in a
dynamic fashion so that queries across the network are automatically
funnelled towards nodes that have the capacity to handle them. In
addition, we introduce active flow control to prevent overloading
nodes or links between nodes, and improved search techniques to
better utilize network resources than the simplistic flooding
techniques currently used by Gnutella.
Back to Publications/Talks