skip to main content
research-article

SKIP+: A Self-Stabilizing Skip Graph

Published:17 December 2014Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. James Aspnes and Gauri Shah. 2003. Skip graphs. In Proceedings of the 14th ACM-SIAM Symposium on Discrete Algorithms (SODA). 384--393. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Brzezinski and M. Szychowiak. 2000. Self-stabilization in distributed systems - A short survey. Found. Comput. Dec. Sci. 25, 1.Google ScholarGoogle Scholar
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Curt Cramer and Thomas Fuhrmann. 2005. Self-stabilizing ring networks on connected graphs. Tech. Rep. 2005-5. System Architecture Group, University of Karlsruhe.Google ScholarGoogle Scholar
  19. E. W. Dijkstra. 1974. Self-stabilization in spite of distributed control. Commun. ACM 17, 643--644. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Dolev. 2000. Self-Stabilization. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. Dolev and T. Herman. 1997. Superstabilizing protocols for dynamic distributed systems. Chicago J. Theoret. Comput. Sci. 4, 1--40.Google ScholarGoogle ScholarCross RefCross Ref
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. N. J. A. Harvey and J. I. Munro. 2004. Deterministic SkipNet. Inf. Process. Lett. 90, 4, 205--208. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. T. Herman. 2002. Self-stabilization bibliography: Access guide. University of Iowa. (ftp://ftp.cs.uiowa.edu/pub/selfstab/bibliography/.)Google ScholarGoogle Scholar
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. S. Katz and K. Perry. 1993. Self-stabilizing extensions for message-passing systems. Distrib. Comput. 7, 1, 17--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. 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 ScholarGoogle ScholarCross RefCross Ref
  41. David Peleg. 2000. Distributed computing: A Locality-Sensitive Approach. SIAM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  44. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  45. 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 ScholarGoogle Scholar
  46. G. Varghese. 1992. Self-stabilization by local checking and correction. Ph.D. Dissertation, MIT. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. G. Varghese. 1994. Self stabilization by counter flushing. In Proceedings of the 13th ACM Symposium on Principles of Distributed Computing (PODC). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. SKIP+: A Self-Stabilizing Skip Graph

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image Journal of the ACM
      Journal of the ACM  Volume 61, Issue 6
      November 2014
      285 pages
      ISSN:0004-5411
      EISSN:1557-735X
      DOI:10.1145/2700084
      Issue’s Table of Contents

      Copyright © 2014 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 17 December 2014
      • Accepted: 1 May 2014
      • Revised: 1 January 2013
      • Received: 1 June 2012
      Published in jacm Volume 61, Issue 6

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader