CONE-DHT: A Distributed Self-Stabilizing Algorithm for a Heterogeneous Storage System

  • Sebastian Kniesburges
  • Andreas Koutsopoulos
  • Christian Scheideler
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8205)


We consider the problem of managing a dynamic heterogeneous storage system in a distributed way so that the amount of data assigned to a host in that system is related to its capacity. Two central problems have to be solved for this: (1) organizing the hosts in an overlay network with low degree and diameter so that one can efficiently check the correct distribution of the data and route between any two hosts, and (2) distributing the data among the hosts so that the distribution respects the capacities of the hosts and can easily be adapted as the set of hosts or their capacities change. We present distributed protocols for these problems that are self-stabilizing and that do not need any global knowledge about the system such as the number of nodes or the overall capacity of the system. Prior to this work no solution was known satisfying these properties.


Data Item Data Element Overlay Network Distribute Hash Table Full Version 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Commun. ACM 17, 643–644 (1974)CrossRefzbMATHGoogle Scholar
  2. 2.
    Schindelhauer, C., Schomaker, G.: Weighted distributed hash tables. In: SPAA 2005, pp. 218–227 (2005)Google Scholar
  3. 3.
    Giakkoupis, G., Hadzilacos, V.: A Scheme for Load Balancing in Heterogenous Distributed Hash Tables. In: PODC 2005 (2005)Google Scholar
  4. 4.
    Brinkmann, A., Salzwedel, K., Scheideler, C.: Compact, adaptive placement schemes for non-uniform distribution requirements. In: SPAA 2002, pp. 53–62 (2002)Google Scholar
  5. 5.
    Brinkmann, A., Salzwedel, K., Scheideler, C.: Efficient, distributed data placement strategies for storage area networks. In: SPAA 2000, pp. 119–128 (2000)Google Scholar
  6. 6.
    Karger, D., Lehman, E., Leighton, T., Levine, M., Lewin, D., Panigrahy, R.: Consistent hashing and random trees: Distributed caching protocols for relieving hot spots on the World Wide Web. In: STOC 1997, pp. 654–663 (1997)Google Scholar
  7. 7.
    Ratnasamy, S., Francis, P., Handley, M., Karp, R., Shenker, S.: A scalable content-addressable network. In: SIGCOMM, pp. 161–172 (2001)Google Scholar
  8. 8.
    Rowstron, A., Druschel, P.: Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 329–350. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  9. 9.
    Stoica, I., Morris, R., Karger, D., Frans Kaashoek, M., Balakrishnan, H.: Chord: A scalable peer-to-peer lookup service for internet applications. In: SIGCOMM, pp. 149–160 (2001)Google Scholar
  10. 10.
    Cramer, C., Fuhrmann, T.: Self-stabilizing ring networks on connected graphs. In: Technical report, University of Karlsruhe (TH), Fakultaet fuer Informatik (May 2005)Google Scholar
  11. 11.
    Dolev, S., Tzachar, N.: Empire of colonies: Self-stabilizing and self-organizing distributed algorithm. Theor. Comput. Sci. 410(6-7), 514–532 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Jacob, R., Richa, A.W., Scheideler, C., Schmid, S., Täubig, H.: A distributed polylogarithmic time algorithm for self-stabilizing skip graphs. In: PODC 2009, pp. 131–140 (2009)Google Scholar
  13. 13.
    Jacob, R., Ritscher, S., Scheideler, C., Schmid, S.: A self-stabilizing and local delaunay graph construction. In: Dong, Y., Du, D.-Z., Ibarra, O. (eds.) ISAAC 2009. LNCS, vol. 5878, pp. 771–780. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Kniesburges, S., Koutsopoulos, A., Scheideler, C.: Re-chord: a self-stabilizing chord overlay network. In: SPAA 2011, pp. 235–244 (2011)Google Scholar
  15. 15.
    Nor, R.M., Nesterenko, M., Scheideler, C.: Corona: A stabilizing deterministic message-passing skip list. In: Défago, X., Petit, F., Villain, V. (eds.) SSS 2011. LNCS, vol. 6976, pp. 356–370. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  16. 16.
    Onus, M., Richa, A.W., Scheideler, C.: Linearization: Locally self-stabilizing sorting in graphs. In: ALENEX 2007, pp. 99–108 (2007)Google Scholar
  17. 17.
    Harvey, N.: CPSC 536N: Randomized Algorithms, Pages 5. Lecture 3. University of British Columbia (2011-2012)Google Scholar
  18. 18.
    Shena, H., Xub, C.-Z.: Hash-based proximity clustering for efficient load balancing in heterogeneous DHT networks. J. Parallel Distrib. Comput. 68, 686–702 (2008)CrossRefGoogle Scholar
  19. 19.
    Rao, A., Lakshminarayanan, K., Surana, S., Karp, R., Stoica, I.: Load balancing in structured P2P systems. In: Kaashoek, M.F., Stoica, I. (eds.) IPTPS 2003. LNCS, vol. 2735, Springer, Heidelberg (2003)CrossRefGoogle Scholar
  20. 20.
    Godfrey, P.B., Stoica, I.: Heterogeneity and Load Balance in Distributed Hash Tables. In: IEEE INFOCOM (2005)Google Scholar
  21. 21.
    Bienkowski, M., Brinkmann, A., Klonowski, M., Korzeniowski, M.: SkewCCC+: A heterogeneous distributed hash table. In: Lu, C., Masuzawa, T., Mosbah, M. (eds.) OPODIS 2010. LNCS, vol. 6490, pp. 219–234. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  22. 22.
    Santos, J.R., Muntz, R.: Performance Analysis of the RIO Multimedia Storage System with Heterogeneous Disk Configurations. In: ACM Multimedia Conference 1998, pp. 303–308 (1998)Google Scholar
  23. 23.
    Miranda, A., Effert, S., Kang, Y., Miller, E.L., Brinkmann, A., Cortes, T.: Reliable and randomized data distribution strategies for large scale storage systems. In: HiPC 2011, pp. 1–10 (2011)Google Scholar
  24. 24.
    Didi Yao, S.-Y., Shahabi, C., Zimmermann, R.: BroadScale: Efficient scaling of heterogeneous storage systems. Int. J. on Digital Libraries 6, 98–111 (2006)CrossRefGoogle Scholar
  25. 25.
    Brinkmann, A., Effert, S., Meyer auf der Heide, F., Scheideler, C.: Dynamic and Redundant Data Placement. In: ICDCS 2007, p. 29 (2007)Google Scholar
  26. 26.
    Cortes, T., Labarta, J.: Taking advantage of heterogeneity in disk arrays. J. Parallel Distrib. Comput. 63, 448–464 (2003)CrossRefGoogle Scholar
  27. 27.
    Mense, M., Scheideler, C.: SPREAD: An adaptive scheme for redundant and fair storage in dynamic heterogeneous storage systems. In: SODA 2008 (2008)Google Scholar
  28. 28.
    Awerbuch, B., Scheideler, C.: The hyperring: a low-congestion deterministic data structure for distributed environments. In: SODA 2004, pp. 318–327 (2004)Google Scholar
  29. 29.
    Bhargava, A., Kothapalli, K., Riley, C., Scheideler, C., Thober, M.: Pagoda: A dynamic overlay network for routing, data management, and multicasting. In: SPAA 2004, pp. 170–179 (2004)Google Scholar
  30. 30.
    Kuhn, F., Schmid, S., Wattenhofer, R.: A self-repairing peer-to-peer system resilient to dynamic adversarial churn. In: van Renesse, R. (ed.) IPTPS 2005. LNCS, vol. 3640, pp. 13–23. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  31. 31.
    Plaxton, C.G., Rajaraman, R., Richa, A.W.: Accessing nearby copies of replicated objects in a distributed environment. In: SPAA 1997, pp. 311–320 (1997)Google Scholar
  32. 32.
    Kniesburges, S., Koutsopoulos, A., Scheideler, C.: CONE-DHT: A distributed self-stabilizing algorithm for a heterogeneous storage system (Pre-Print) In: arXiv:1307.6747 [cs.DC] (2013)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Sebastian Kniesburges
    • 1
  • Andreas Koutsopoulos
    • 1
  • Christian Scheideler
    • 1
  1. 1.Department of Computer ScienceUniversity of PaderbornGermany

Personalised recommendations