The advent of generalized broadband Internet connections and ever-cheaper computing devices has make it possible for Internet users to implement, offer and use networked services without the need to rely on a centralized, third party infrastructure. These systems that have emerged on the edges of the Internet are called Peer-to-peer (P2P) systems. Two main large groups of P2P systems can be considered: structured and unstructured. The main difference between the two relies on the look-up method used to locate resources on the P2P network. In this work we focus on structured P2P systems, seduced by their novelty and the scalability properties of Distributed Hash Tables (DHT).
In our study, we have followed a bottom-up approach. We start considering DHT design issues, presenting a hierarchical P2P system framework we elaborate upon. We enumerate the hierarchical organization main characteristics and advantages: specifically, the capacity of these systems to improve networked communication performance by adapting to the Internet topology, and to increase regular flat implementations robustness through the differentiation of peer roles according to their capabilities. Taking a particular case of the hierarchical P2P system framework studied, we develop a DHT named TOPLUS, which is built by grouping peers in the same IP Network Prefix, and arranging these groups following the Internet hierarchical topology. We present the characteristics of TOPLUS, and we study in more detail its main goal and feature: The look-up of a resource (the routing of the request through the P2P network) takes time comparable to that of the level-3 routing of the resource request from the peer originating the query to the destination peer where the resource is located. Because the structure of TOPLUS follows that of the Internet, we say that TOPLUS is topology-aware.
For Content Distribution we present MULTI+, an application-level multicast P2P network that works on top of TOPLUS. MULTI+ builds multicast trees that attempt shortest possible average delay from the multicast information source to the recipients in the multicast group, while trying to use bandwidth efficiently. These goals are achieved by algorithms for multicast tree construction that take advantage of the topology-awareness of the TOPLUS DHT. We also test how robust these delay and bandwidth properties are when massive peer failure occurs. Finally, we present a Content Location technique for structured P2P systems, where we use indexing of resources using predefined indexing schemes. Each index is used as the key to find other indexes with more precise information about a given resource, and the index completely describing the item is the key corresponding to the resource. The peer in the P2P network responsible for an index stores all indexes pointed to by the former index. This way the Content Location infrastructure is contained in the P2P system and inherits all its properties.