Past studies have shown the unstability of unstructured peer-to-peer networks, in particular Gnutella. Because of this unstability, queries in these networks are inefficient. Furthermore, to keep the integrality of the network, the protocoles used require huge bandwidth usage. One approach proposed by Gnutella conceptors is to create two classes of servents: leaf nodes and ultrapeers. The core of the network is preserved by the ultrapeers, while the leaf nodes remain in the periphery. In this paper, we investigate the possibility to use a different, yet complementary approach, where a node could only keep connections that it deems "good". We show that it is possible to rapidly determine whether a connection is good or not, based on statistics collected on the Gnutella network. The detection of good connections is based on two criteria: the duration of connection establishment time and the number of messages received through the connection.
Published March 2006 , 18 pages