Bootstrapping in Gnutella: A Preliminary Measurement Study

View/ Open
Date
2003Author
Karbhari, Pradnya
Ammar, Mostafa H. (Mostafa Hamed)
Dhamdhere, Amogh Dhananjay
Raj, Himanshu
Riley, George F.
Zegura, Ellen W.
Metadata
Show full item recordAbstract
To join an unstructured peer-to-peer network like Gnutella,
peers have to execute a bootstrapping function in which they discover
other on-line peers and connect to them. Until this bootstrapping
step is complete, a peer cannot participate in file sharing
activities. Once bootstrapping is complete, a peer’s experience is
strongly influenced by the choice of neighbor peers resulting from
the bootstrapping step. Despite its importance, there has been very
little attention devoted to understanding the behavior of this bootstrapping
function. In this paper, we study the bootstrapping process
of a peer in the Gnutella network. This is a preliminary investigation,
consisting of 1) an analysis and performance comparison
of bootstrapping algorithms of four Gnutella servent implementations,
2) a measurement-based characterization of the global
Gnutella Web Caching System (GWebCaches), a primary component
of the current bootstrapping functions, and 3) a study of the
behavior and experience of a single GWebCache that was setup
locally and made part of the global caching infrastructure. Our
study highlights the importance of understanding the performance
of the bootstrapping function as an integral part of a peer-to-peer
system. We find that 1) there is considerable variation among various
servent implementations that correlates to their bootstrapping
performance, 2) even though the GWebCache system is designed
to operate as a truly distributed system in keeping with the peer-to-peer
system philosophy, it actually operates more like a centralized
infrastructure function, and 3) the GWebCache system is subject
to misreporting of peer and cache availability due to stale data and
absence of validity checks.