Abstract
Peer-to-peer systems rely on a scalable overlay network that enables efficient routing between its members. Hypercubic topologies facilitate such operations while each node only needs to connect to a small number of other nodes. In contrast to static communication networks, peer-to-peer networks allow nodes to adapt their neighbor set over time in order to react to join and leave events and failures. This article shows how to maintain such networks in a robust manner. Concretely, we present a distributed and self-stabilizing algorithm that constructs a (slightly extended) skip graph, SKIP+, in polylogarithmic time from any given initial state in which the overlay network is still weakly connected. This is an exponential improvement compared to previously known self-stabilizing algorithms for overlay networks. In addition, our algorithm handles individual joins and leaves locally and efficiently.
- Yehuda Afek and Shlomi Dolev. 2002. Local stabilizer. J. Paral. Distrib. Comput. 62, 5, 745--765. DOI: http://dx.doi.org/10.1006/jpdc.2001.1823 Google ScholarDigital Library
- Dana Angluin, James Aspnes, Jiang Chen, Yinghua Wu, and Yitong Yin. 2005. Fast construction of overlay networks. In Proceedings of the 17th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA). 145--154. DOI:http://dx.doi.org/10.1145/1073970.1073991 Google ScholarDigital Library
- James Aspnes and Gauri Shah. 2003. Skip graphs. In Proceedings of the 14th ACM-SIAM Symposium on Discrete Algorithms (SODA). 384--393. Google ScholarDigital Library
- James Aspnes and Gauri Shah. 2007. Skip graphs. ACM Trans. Algor. 3, 4, Article 37. DOI:http://dx.doi.org/10.1145/1290672.1290674 Google ScholarDigital Library
- James Aspnes and Udi Wieder. 2005. The expansion and mixing time of skip graphs with applications. In Proceedings of the 17th ACM Symposium on Parallel Algorithms and Architectures (SPAA). 126--134. DOI:http://dx.doi.org/10.1145/1073970.1073989 Google ScholarDigital Library
- James Aspnes and Yinghua Wu. 2007. O(log n)-time overlay network construction from graphs with out-degree 1. In Proceedings of the International Conference on Principles of Distributed Systems (OPODIS). Lecture Notes in Computer Science, vol. 4878, Springer-Verlag, 286--300. DOI:http://dx.doi.org/10.1007/978-3-540-77096-1_21 Google ScholarDigital Library
- Baruch Awerbuch, Boaz Patt-Shamir, and George Varghese. 1991. Self-stabilization by local checking and correction. In Proceedings of the 32nd IEEE Symposium on Foundations of Computer Science (FOCS). 268--277. DOI:http://dx.doi.org/10.1109/SFCS.1991.185378 Google ScholarDigital Library
- Baruch Awerbuch, Boaz Patt-Shamir, George Varghese, and Shlomi Dolev. 1994. Self-stabilization by local checking and global reset. In Proceedings of the 8th International Workshop on Distributed Algorithms (WDAG). Lecture Notes in Computer Science, vol. 857, 326--339. DOI:http://dx.doi.org/10.1007/BFb0020443 Google ScholarDigital Library
- Baruch Awerbuch and Christian Scheideler. 2003. Peer-to-peer systems for prefix search. In Proceedings of the 22nd ACM Symposium on Principles of Distributed Computing (PODC). ACM, New York, DOI: http://dx.doi.org/10.1145/872035.872053 Google ScholarDigital Library
- Baruch Awerbuch and Christian Scheideler. 2004. The hyperring: A low-congestion deterministic data structure for distributed environments. In Proceedings of the 15th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA). 318--327. Google ScholarDigital Library
- Baruch Awerbuch and George Varghese. 1991. Distributed program checking: A paradigm for building self-stabilizing distributed protocols. In Proceedings of the 32nd Annual IEEE Symposium on Foundations of Computer Science (FOCS). 258--267. Google ScholarDigital Library
- Andrew Berns, Sukumar Ghosh, and Sriram Pemmaraju. 2011. Building self-stabilizing overlay networks with the transitive closure framework. In Proceedings of the 13th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS). Google ScholarDigital Library
- Ankur Bhargava, Kishore Kothapalli, Chris Riley, Christian Scheideler, and Mark Thober. 2004. Pagoda: A dynamic overlay network for routing, data management, and multicasting. In Proceedings of the 16th Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA). 170--179. Google ScholarDigital Library
- J. Brzezinski and M. Szychowiak. 2000. Self-stabilization in distributed systems - A short survey. Found. Comput. Dec. Sci. 25, 1.Google Scholar
- E. Caron, A. K. Datta, F. Petit, and C. Tedeschi. 2008. Self-stabilization in tree-structured peer-to-peer service discovery systems. In Proceedings of the 27th International Symposium on Reliable Distributed Systems (SRDS). Google ScholarDigital Library
- Thomas Clouser, Mikhail Nesterenko, and Christian Scheideler. 2008. Tiara: A self-stabilizing deterministic skip list. In Proceedings of the 10th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS). Google ScholarDigital Library
- A. Costello and G. Varghese. 1996. Self-stabilization by window washing. In Proceedings of the 15th ACM Symposium on Principles of Distributed Computing (PODC). 35--44. Google ScholarDigital Library
- Curt Cramer and Thomas Fuhrmann. 2005. Self-stabilizing ring networks on connected graphs. Tech. Rep. 2005-5. System Architecture Group, University of Karlsruhe.Google Scholar
- E. W. Dijkstra. 1974. Self-stabilization in spite of distributed control. Commun. ACM 17, 643--644. Google ScholarDigital Library
- S. Dolev. 2000. Self-Stabilization. MIT Press. Google ScholarDigital Library
- S. Dolev and T. Herman. 1997. Superstabilizing protocols for dynamic distributed systems. Chicago J. Theoret. Comput. Sci. 4, 1--40.Google ScholarCross Ref
- Peter Druschel and Antony Rowstron. 2001. Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems. In Proceedings of the 18th IFIP/ACM International Conference on Distributed Systems Platforms (Middleware). 329--350. See also http://research.microsoft.com/∼antr/Pastry. Google ScholarDigital Library
- Dominik Gall, Riko Jacob, Andra Richa, Christian Scheideler, Stefan Schmid, and Hanjo Täubig. 2010. Time complexity of distributed topological self-stabilization: The case of graph linearization. In Proceedings of the 9th Latin American Theoretical Informatics Symposium (LATIN). Google ScholarDigital Library
- Michael T. Goodrich, Michael J. Nelson, and Jonathan Z. Sun. 2006. The rainbow skip graph: A fault-tolerant constant-degree distributed data structure. In Proceedings of the 17th Annual ACM-SIAM Symposium on Discrete Algorithm (SODA). 384--393. Google ScholarDigital Library
- N. J. A. Harvey and J. I. Munro. 2004. Deterministic SkipNet. Inf. Process. Lett. 90, 4, 205--208. Google ScholarDigital Library
- Nicholas J. A. Harvey, Michael B. Jones, Stefan Saroiu, Marvin Theimer, and Alec Wolman. 2003. SkipNet: A scalable overlay network with practical locality properties. In Proceedings of the 4th USENIX Symposium on Internet Technologies and Systems (USITS). 113--126. Google ScholarDigital Library
- T. Herman. 2002. Self-stabilization bibliography: Access guide. University of Iowa. (ftp://ftp.cs.uiowa.edu/pub/selfstab/bibliography/.)Google Scholar
- Riko Jacob, Andrea Richa, Christian Scheideler, Stefan Schmid, and Hanjo Täubig. 2009a. A distributed polylogarithmic time algorithm for self-stabilizing skip graphs. In Proceedings of the ACM Symposium on Principles of Distributed Computing (PODC). Google ScholarDigital Library
- Riko Jacob, Stephan Ritscher, Christian Scheideler, and Stefan Schmid. 2009b. A self-stabilizing and local delaunay graph construction. In Proceedings of the 20th International Symposium on Algorithms and Computation (ISAAC). Google ScholarDigital Library
- S. Katz and K. Perry. 1993. Self-stabilizing extensions for message-passing systems. Distrib. Comput. 7, 1, 17--26. Google ScholarDigital Library
- Sebastian Kniesburges, Andreas Koutsopoulos, and Christian Scheideler. 2011. Re-Chord: A self-stabilizing chord overlay network. In Proceedings of the 23rd ACM Symposium on Parallelism in Algorithms and Architectures (SPAA). Google ScholarDigital Library
- F. Kuhn, S. Schmid, and R. Wattenhofer. 2005. A self-repairing peer-to-peer system resilient to dynamic adversarial churn. In Proceedings of the 4th International Workshop on Peer-To-Peer Systems (IPTPS). Google ScholarDigital Library
- S. Kutten and B. Patt-Shamir. 1997. Time-adaptive self stabilization. In Proceedings of the 16th ACM Symposium on Principles of Distributed Computing (PODC). 149--158. Google ScholarDigital Library
- S. Kutten and D. Peleg. 1995. Fault-local distributed mending. In Proceedings of the 14th ACM Symposium on Principles of Distributed Computing (PODC). 20--27. Google ScholarDigital Library
- Christoph Lenzen, Jukka Suomela, and Roger Wattenhofer. 2009. Local algorithms: Self-stabilization on speed. In Proceedings of the 11th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS). Google ScholarDigital Library
- Dahlia Malkhi, Moni Naor, and David Ratajczak. 2002. Viceroy: A scalable and dynamic emulation of the butterfly. In Proceedings of the 21st Annual Symposium on Principles of Distributed Computing (PODC). 183--192. Google ScholarDigital Library
- Petar Maymounkov and David Mazières. 2002. Kademlia: A peer-to-peer information system based on the XOR metric. In Proceedings of the 1st International Workshop on Peer-to-Peer Systems (IPTPS). 53--65. Google ScholarDigital Library
- M. Naor and U. Wieder. 2003. Novel Architectures for P2P Applications: The continuous-discrete approach. In Proceedings of the 15th Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA). Google ScholarDigital Library
- Moni Naor and Udi Wieder. 2004. Know thy neighbor's neighbor: Better routing for skip-graphs and small worlds. In Proceedings of the 3rd International Conference on Peer-to-Peer Systems (IPTPS). Springer-Verlag, 269--277. DOI:http://dx.doi.org/10.1007/978-3-540-30183-7_26 Google ScholarDigital Library
- Melih Onus, Andrea Richa, and Christian Scheideler. 2007. Linearization: Locally self-stabilizing sorting in graphs. In Proceedings of the 9th Workshop on Algorithm Engineering and Experiments (ALENEX). SIAM.Google ScholarCross Ref
- David Peleg. 2000. Distributed computing: A Locality-Sensitive Approach. SIAM. Google ScholarDigital Library
- Sylvia Ratnasamy, Paul Francis, Mark Handley, Richard Karp, and Scott Schenker. 2001. A scalable content-addressable network. In Proceedings of the ACM SIGCOMM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications. 161--172. Google ScholarDigital Library
- Christian Scheideler and Stefan Schmid. 2009. A distributed and oblivious heap. In Proceedings of the 36th International Colloquium on Automata, Languages and Programming (ICALP). Lecture Notes in Computer Science (LNCS), vol. 5556, Springer, Berlin/Heidelberg, Germany, 571--582. DOI: http://dx.doi.org/10.1007/978-3-642-02930-1-47 Google ScholarDigital Library
- Ayman Shaker and Douglas S. Reeves. 2005. Self-stabilizing structured ring topology P2P systems. In Proceedings of the 5th IEEE International Conference on Peer-to-Peer Computing. 39--46. Google ScholarDigital Library
- Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan. 2001. Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications. Tech. Rep. MIT-LCS-TR-819. MIT.Google Scholar
- G. Varghese. 1992. Self-stabilization by local checking and correction. Ph.D. Dissertation, MIT. Google ScholarDigital Library
- G. Varghese. 1994. Self stabilization by counter flushing. In Proceedings of the 13th ACM Symposium on Principles of Distributed Computing (PODC). Google ScholarDigital Library
Index Terms
- SKIP+: A Self-Stabilizing Skip Graph
Recommendations
EPDKS: an efficient proximity-based distributed K-ary structured overlay network
PDCS '07: Proceedings of the 19th IASTED International Conference on Parallel and Distributed Computing and SystemsStructured peer-to-peer overlay networks provide a means for interconnecting a large set of computing nodes called peers in a distributed, scalable and self-organizing manner. Typically in such systems, each peer maintains contact information about a ...
An effective single-hop distributed hash table with high lookup performance and low traffic overhead
Distributed hash tables DHTs have been used in several applications, but most DHTs have opted to solve lookups with multiple hops, to minimize bandwidth costs while sacrificing lookup latency. This paper presents D1HT, an original DHT that has a peer-to-...
An efficient approach for incorporating underlay awareness in P2P networks for guaranteed availabilities
Unstructured P2P overlays are employed by diverse applications like event dissemination. Many of these applications need the overlay to be highly available for guaranteeing QoS (such as delivery guarantees) to their clients. We demonstrate that underlay ...
Comments