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.
Similar content being viewed by others
References
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)
Ratnasamy, S., Francis, P., Handley, M., Karp, R., Shenker, S.: A scalable content-addressable network. In: Proc. ACM SIGCOMM, pp. 161–172 (2001)
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)
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)
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)
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
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)
Jiang, J., Pan, R., Liang, C., Wang, W.: ADBIS, 2005, pp. 338–348
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)
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)
Aspnes, J., Shah, G.: Skip graphs. ACM Trans. Algorithms 3(4), 37 (2007)
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)
Brzezinski, J., Szychowiak, M.: Self-stabilization in distributed systems—a short survey. Found. Comput. Dec. Sci. 25(1) (2000)
Cramer, C., Fuhrmann, T.: Self-stabilizing ring networks on connected graphs. Technical report 2005-5, System Architecture Group, University of Karlsruhe (2005)
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)
Dijkstra, E.W.: Self-stabilization in spite of distributed control. Commun. ACM 17, 643–644 (1974)
Dolev, S.: Self-stabilization. MIT Press, Cambridge (2000)
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)
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)
Herman T.: Self-stabilization bibliography: access guide. University of Iowa, December 2002. See ftp://ftp.cs.uiowa.edu/pub/selfstab/bibliography/
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)
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)
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)
Malkhi, D., Naor, M., Ratajczak, D.: Viceroy: a scalable and dynamic emulation of the butterfly. In: Proc. 21st PODC, pp. 183–192 (2002)
Naor, M., Wieder, U.: Novel architectures for P2P applications: the continuous-discrete approach. ACM Trans. Algorithms (TALG) 3 (2007)
Onus, M., Richa, A., Scheideler, C.: Linearization: locally self-stabilizing sorting in graphs. In: Proc. 9th ALENEX (2007)
Ratnasamy, S., Francis, P., Handley, M., Karp, R., Schenker, S.: A scalable content-addressable network. In: Proc. ACM SIGCOMM, pp. 161–172 (2001)
Scheideler, C., Schmid, S.: A distributed and oblivious heap. In: Proc. 36th International Colloquium on Automata, Languages and Programming (ICALP) (2009)
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)
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)
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)
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
Berns, A., Ghosh, S., Pemmaraju, S.V.: A framework for building self-stabilizing overlay networks. In: PODC (2010)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kniesburges, S., Koutsopoulos, A. & Scheideler, C. Re-Chord: A Self-stabilizing Chord Overlay Network. Theory Comput Syst 55, 591–612 (2014). https://doi.org/10.1007/s00224-012-9431-2
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00224-012-9431-2