Should we build Gnutella on a structured overlay? - Castro, Miguel; Costa, Manuel; Rowstron, Ant (Proceedings of the Second Workshop on Hot Topics in Networks (HotNets-II), 2004)
There has been much interest in both unstructured and structured overlays recently. Unstructured overlays, like Gnutella, build a random graph and use flooding or random walks on the graph to discover data stored by overlay nodes. Structured overlays assign keys to data items and build a graph that maps each key to a specific node. The structure of the graph enables efficient discovery of data items given their keys but it does not support complex queries. Should we build Gnutella on a structured overlay? We believe the answer is yes. We replaced the random graph in Gnutella by a structured overlay while retaining the content placement and discovery mechanisms of unstructured overlays to support complex queries. Our preliminary results indicate that we can use structure to improve the performance of floods and random walks. They also indicate that structure can be used to reduce maintenance overhead, which is surprising because it is commonly believed that unstructured overlays have lower maintenance overhead than structured overlays.