Silk: A Resilient Routing Fabric for Peer-to-Peer Networks

Several proposed peer-to-peer networks use hypercube routing for scalability. In a previous paper, we showed that consistency of neighbor tables in hypercube routing guarantees the existence of a path from any source node to any destination node. Consistency, however, can be broken by the failure of one node. To improve the robustness of hypercube routing, we generalize the concept ofconsistency to -consistency for . We then show that a -consistent hypercube routing network provides at least disjoint paths from any source node to any destination node with a probability close to 1. The first objective of this report is the design and specification of a new join protocol together with a proof that it generates -consistent neighbor tables for an arbitrary number of concurrent joins (under the assumption that there is no concurrent leave or failure). To do so, we construct a more general definition of C-set tree than our previous one as the conceptual foundation for protocol design and reasoning about consistency. Both the new protocol and proof require major extensions to the ones in our previous paper to generalize them from 1-consistency to -consistency. The second objective of this report is the design and evaluation of a failure recovery protocol for -consistent networks. From simulation experiments in which up to 50% of the nodes in a -consistent network failed (when a node fails, it becomes silent), we found that, for , K-consistency was recovered in every experiment. The third objective of this report is to extend our join and failure recovery protocols such that they construct and maintain -consistent neighbor tables for networks whose nodes join and fail concurrently and frequently. In particular, our join protocol is extended with rules to handle failures of not only existing nodes but also other joining nodes. These extended protocols, being implemented in our prototype system named Silk, will be referred to as Silk protocols. From simulation experiments in which the number of concurrent joins and failures was up to 50% of the initial network size, we found that, for , Silk generated and maintained K-consistent neighbor tables after the concurrent joins and failures in every experiment. We also present an analysis of the communication and storage overheads of Silk protocols and show that Silk is scalable to a large number of network nodes.

[1]  Ben Y. Zhao,et al.  An Infrastructure for Fault-tolerant Wide-area Location and Routing , 2001 .

[2]  Mark Handley,et al.  A scalable content-addressable network , 2001, SIGCOMM 2001.

[3]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

[4]  Ben Y. Zhao,et al.  Distributed Object Location in a Dynamic Network , 2002, SPAA '02.

[5]  Rajmohan Rajaraman,et al.  Accessing Nearby Copies of Replicated Objects in a Distributed Environment , 1999, Theory of Computing Systems.

[6]  Rajmohan Rajaraman,et al.  Accessing Nearby Copies of Replicated Objects in a Distributed Environment , 1997, SPAA '97.

[7]  Peter Druschel,et al.  Exploiting network proximity in peer-to-peer overlay networks , 2002 .

[8]  Simon S. Lam,et al.  Neighbor table construction and update in a dynamic peer-to-peer network , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[9]  David R. Karger,et al.  Finding nearest neighbors in growth-restricted metrics , 2002, STOC '02.

[10]  Mark Handley,et al.  Topologically-aware overlay construction and server selection , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[11]  A. Udaya Shankar,et al.  A Theory of Interfaces and Modules I-Composition Theorem , 1994, IEEE Trans. Software Eng..

[12]  Robert Morris,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM 2001.

[13]  Ellen W. Zegura,et al.  How to model an internetwork , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.

[14]  Xiaozhou Li,et al.  On name resolution in peer-to-peer networks , 2002, POMC '02.