Abstract
An overlay network is a logical network built on top of some underlying network (the underlay)
with an objective to provide some service to the underlying network. The internet, for instance, was
initially an overlay network built on top of the Public Switched Telephone Network and has today
become the underlying substrate for overlay networks of numerous types - peer-to-peer file sharing
(BitTorrent), multimedia (Skype), security (VPNs), experimental test beds (PlanetLab), etc. Pioneered
by Napster in 1999 and strongly purported by further advances like Gnutella, Kaaza, Freenet, shortly
thereafter, peer-to-peer content sharing became quite popular across a wide range of internet audience
during the early 2000s and has been growing ever since. As a result, peer-to-peer systems (not just
file sharing), in general, are today some of the most popular overlay applications across the internet.
Peer-to-peer overlay networks can be classified into two broad categories - structured and unstructured.
In the unstructured category, any peer may host any content which means that in order to find a specific
content, only a blind search can be carried out in the overlay. In the structured category, on the other
hand, a tight relation is defined between the content and its host, such that any peer in the overlay, given the content to be searched, can compute the identity of the peer hosting the content. Therefore, while in an unstructured P2P overlay, data storage is random and data search is blind or at best heuristic, in a structured P2P overlay, data storage is controlled and, as a result, data search is structured. The way we see it, the structured category can be characterized by a couple of components - the mapping component that maps the data items to one or more overlay nodes and the overlay nodes to the underlay peers, i.e., one that takes care of distribution/re-distribution of the data to be hosted on the overlay among the overlay nodes and the routing component that creates the overlay routing topology in a way that every peer in the overlay can deterministically figure out which outgoing link must be chosen to reach a given destination peer in the overlay. So, for any data search, while the mapping component tells us where - on which overlay node - the data resides, the routing component tells us how to get there. In this work, we formalize the routing component of structured P2P overlay networks and mathematically analyze the overlay properties determined/affected by it. Unless explicitly qualified, throughout thiswork, by structured overlay networks (short hand SONs), or structured overlays or simply overlays, we shall mean structured P2P overlay networks.