Advertisement

Theory of Computing Systems

, Volume 55, Issue 3, pp 591–612 | Cite as

Re-Chord: A Self-stabilizing Chord Overlay Network

  • Sebastian Kniesburges
  • Andreas Koutsopoulos
  • Christian Scheideler
Article

Abstract

The Chord peer-to-peer system is considered, together with CAN, Tapestry and Pastry, as one of the pioneering works on peer-to-peer distributed hash tables (DHT) that inspired a large volume of papers and projects on DHTs as well as peer-to-peer systems in general. Chord, in particular, has been studied thoroughly, and many variants of Chord have been presented that optimize various criteria. Also, several implementations of Chord are available on various platforms. Though Chord is known to be very efficient and scalable and it can handle churn quite well, no protocol is known yet that guarantees that Chord is self-stabilizing, i.e., the Chord network can be recovered from any initial state in which the network is still weakly connected. This is not too surprising since it is known that the Chord network is not locally checkable for its current topology. We present a slight extension of the Chord network, called Re-Chord (reactive Chord), that turns out to be locally checkable, and we present a self-stabilizing distributed protocol for it that can recover the Re-Chord network from any initial state, in which the n peers are weakly connected. in O(nlogn) communication rounds. We also show that our protocol allows a new peer to join or an old peer to leave an already stable Re-Chord network so that within O((logn)2) communication rounds the Re-Chord network is stable again.

Keywords

Chord Peer-to-peer networks Self-stabilizing protocols Distributed algorithms 

References

  1. 1.
    Zhao, B.Y., Huang, L., Stribling, J., Rhea, S.C., Joseph, A.D., Kubiatowicz, J.D.: Tapestry: a resilient global-scale overlay for service deployment. IEEE J. Sel. Areas Commun. 22, 41–53 (2004) CrossRefGoogle Scholar
  2. 2.
    Ratnasamy, S., Francis, P., Handley, M., Karp, R., Shenker, S.: A scalable content-addressable network. In: Proc. ACM SIGCOMM, pp. 161–172 (2001) Google Scholar
  3. 3.
    Rowstron, A., Druschel, P.: Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems. In: IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), Heidelberg, Germany, November 2001, pp. 329–350 (2001) Google Scholar
  4. 4.
    Stoica, I., Morris, R., Karger, D., Kaashoek, M.F., Balakrishnan, H.: Chord: a scalable peer-to-peer lookup service for Internet applications. In: SIGCOMM (2001) Google Scholar
  5. 5.
    Gall, D., Jacob, R., Richa, A.W., Scheideler, C., Schmid, S., Täubig, H.: Time complexity of distributed topological self-stabilization: the case of graph linearization. In: The 9th Latin American Symposium on Theoretical Informatics (LATIN) (2010) Google Scholar
  6. 6.
    Leong, B., Liskov, B., Demaine, E.D.: EpiChord: parallelizing the Chord lookup algorithm with reactive routing state management. In: ICON 2004: 12th IEEE International Conference on Network, 31 May 2004. Computer Communications, vol. 29(9), pp. 1243–1259 (2006). ISSN 0140-3664. http://www.sciencedirect.com/science/article/B6TYP-4HNS5CY-1/2/dd8f777d7274525a455f6f8ef26d8d4d. doi: 10.1016/j.comcom.2005.10.002 Google Scholar
  7. 7.
    Mesaros, V.A., Carton, B., Van Roy, P., Barbe, P.S.: S-Chord: using symmetry to improve lookup efficiency in Chord. In: 2003 International Conference on Parallel and Distributed Processing Techniques and Applications, pp. 23–26 (2002) Google Scholar
  8. 8.
    Jiang, J., Pan, R., Liang, C., Wang, W.: ADBIS, 2005, pp. 338–348 Google Scholar
  9. 9.
    Wang, J., Yu, Z.: A new variation of Chord with novel improvement on lookup locality. In: Proceedings of the 2006 International Conference on Grid Computing and Applications (GCA’06), Las Vegas, June 2006, pp. 18–24 (2006) Google Scholar
  10. 10.
    Awerbuch, B., Scheideler, C.: The hyperring: a low-congestion deterministic data structure for distributed environments. In: Proc. 15th Ann. ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 318–327 (2004) Google Scholar
  11. 11.
    Aspnes, J., Shah, G.: Skip graphs. ACM Trans. Algorithms 3(4), 37 (2007) CrossRefMathSciNetGoogle Scholar
  12. 12.
    Bhargava, A., Kothapalli, K., Riley, C., Scheideler, C., Thober, M.: Pagoda: a dynamic overlay network for routing, data management, and multicasting. In: Proc. 16th Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), pp. 170–179 (2004) Google Scholar
  13. 13.
    Brzezinski, J., Szychowiak, M.: Self-stabilization in distributed systems—a short survey. Found. Comput. Dec. Sci. 25(1) (2000) Google Scholar
  14. 14.
    Cramer, C., Fuhrmann, T.: Self-stabilizing ring networks on connected graphs. Technical report 2005-5, System Architecture Group, University of Karlsruhe (2005) Google Scholar
  15. 15.
    Clouser, T., Nesterenko, M., Scheideler, C.: Tiara: a self-stabilizing deterministic skip list. In: Proc. 10th Int. Symp. on Stabilization, Safety, and Security of Distributed Systems (SSS) (2008) Google Scholar
  16. 16.
    Dijkstra, E.W.: Self-stabilization in spite of distributed control. Commun. ACM 17, 643–644 (1974) CrossRefMATHGoogle Scholar
  17. 17.
    Dolev, S.: Self-stabilization. MIT Press, Cambridge (2000) MATHGoogle Scholar
  18. 18.
    Druschel, P., Rowstron, A.: Pastry: scalable, distributed object location and routing for large-scale peer-to-peer systems. In: Proc. 18th IFIP/ACM International Conference on Distributed Systems Platforms (Middleware) (2001) Google Scholar
  19. 19.
    Gall, D., Jacob, R., Richa, A., Scheideler, C., Schmid, S., Täubig, H.: Time complexity of distributed topological self-stabilization: the case of graph linearization. In: Proc. 9th Latin American Theoretical Informatics Symposium (LATIN) (2010) Google Scholar
  20. 20.
    Herman T.: Self-stabilization bibliography: access guide. University of Iowa, December 2002. See ftp://ftp.cs.uiowa.edu/pub/selfstab/bibliography/ Google Scholar
  21. 21.
    Harvey, N.J.A., Jones, M.B., Saroiu, S., Theimer, M., Wolman, A.: Skipnet: a scalable overlay network with practical locality properties. In: Proc. 4th USENIX Symposium on Internet Technologies and Systems (USITS), pp. 113–126 (2003) Google Scholar
  22. 22.
    Jacob, R., Ritscher, S., Scheideler, C., Schmid, S.: A self-stabilizing and local Delaunay graph construction. In: Proc. 20th International Symposium on Algorithms and Computation (ISAAC) (2009) Google Scholar
  23. 23.
    Kuhn, F., Schmid, S., Wattenhofer, R.: A self-repairing peer-to-peer system resilient to dynamic adversarial churn. In: Proc. 4th International Workshop on Peer-To-Peer Systems (IPTPS) (2005) Google Scholar
  24. 24.
    Malkhi, D., Naor, M., Ratajczak, D.: Viceroy: a scalable and dynamic emulation of the butterfly. In: Proc. 21st PODC, pp. 183–192 (2002) Google Scholar
  25. 25.
    Naor, M., Wieder, U.: Novel architectures for P2P applications: the continuous-discrete approach. ACM Trans. Algorithms (TALG) 3 (2007) Google Scholar
  26. 26.
    Onus, M., Richa, A., Scheideler, C.: Linearization: locally self-stabilizing sorting in graphs. In: Proc. 9th ALENEX (2007) Google Scholar
  27. 27.
    Ratnasamy, S., Francis, P., Handley, M., Karp, R., Schenker, S.: A scalable content-addressable network. In: Proc. ACM SIGCOMM, pp. 161–172 (2001) Google Scholar
  28. 28.
    Scheideler, C., Schmid, S.: A distributed and oblivious heap. In: Proc. 36th International Colloquium on Automata, Languages and Programming (ICALP) (2009) Google Scholar
  29. 29.
    Shaker, A., Reeves, D.S.: Self-stabilizing structured ring topology P2P systems. In: Proc. 5th IEEE International Conference on Peer-to-Peer Computing, pp. 39–46 (2005) Google Scholar
  30. 30.
    Karger, D., Lehman, E., Leighton, T., Levine, M., Lewin, D., Panigrahy, R.: Consistent hashing and random trees: distributedcaching protocols for relieving hot spots on the World Wide Web. In: ACM Symposium on Theory of Computing, pp. 654–663 (1997) Google Scholar
  31. 31.
    Jacob, R., Richa, A., Scheideler, C., Schmid, S., Täubig, H.: A distributed polylogarithmic time algorithm for self-stabilizing skip graphs. In: The 28th ACM Symp. on Principles of Distributed Computing (PODC) (2009) Google Scholar
  32. 32.
    Montresor, A., Jelasity, M., Babaoglu, O.: Chord on demand. In: Proceedings of the Fifth IEEE International Conference on Peer-to-Peer Computing (P2P’05). pp. 87–94. IEEE Computer Society, Washington (2005). doi: 10.1109/P2P.2005.4, http://dx.doi.org/10.1109/P2P.2005.4 CrossRefGoogle Scholar
  33. 33.
    Berns, A., Ghosh, S., Pemmaraju, S.V.: A framework for building self-stabilizing overlay networks. In: PODC (2010) Google Scholar

Copyright information

© Springer Science+Business Media New York 2012

Authors and Affiliations

  • Sebastian Kniesburges
    • 1
  • Andreas Koutsopoulos
    • 1
  • Christian Scheideler
    • 1
  1. 1.University of PaderbornPaderbornGermany

Personalised recommendations