Algorithms for reliable peer-to-peer networks
Andrew Thomas Campbell, Rita H. Wouhaybi · 2006
This thesis addresses the problem of the lack of reliability in peer-to-peer networks, and proposes a number of algorithms that can provide reliability guarantees to peer-to-peer applications. Note that reliability in a peer-to-peer networking context is different from TCP type reliability. We define a reliable peer-to-peer as a network that is resilient to changes such as network dynamics, and can offer participating peers increased performance when possible. We make the following contributions to area of peer-to-peer reliability: (1) we propose an algorithm that creates resilient low-diameter topologies that guarantee an upper bound on delays among nodes; (2) we study parallel downloads in peer-to-peer networks and how they affect nodes by looking at their utilities and the overall performance of the network; and (3) we investigate network metrics relevant to peer-to-peer networks and their estimation using incomplete information. While we focus on latency and hop count as drivers for improving the performance of the peers, the proposed approach is more generally applicable to other network-wide metrics (e.g., bandwidth, loss). Our research methodology encompasses simulations and analytical analysis to understand the behavior and properties of the proposed systems, and substantial experimentation, as practical proof of concept of our ideas, using the PlanetLab platform. The common overarching theme of the thesis is the design of new resilient network algorithms capable of offering high-performance to peers and their applications. As more and more applications rely on underlying peer-to-peer topologies, the need for efficient and resilient infrastructure has become more pressing. A number of important classes of topologies have emerged over the last several years, all of which have various strengths and weaknesses. For example, the popular structured peer-to-peer topologies based on Distributed Hash Tables (DHTs) offer applications assured performance, but are not resilient to attacks and major disruptions that are likely in the overlay. In contrast, unstructured topologies where nodes create random connections among themselves on-the-fly, are resilient to attacks but can not offer performance assurances because they often create overlays with large diameters, making some nodes practically unreachable. In our first contribution, we propose Phenix, an algorithm for building resilient low-diameter peer-to-peer topologies that can resist different types of organized and targeted malicious behavior. (Abstract shortened by UMI.)