Self-stabilizing Resource Discovery Algorithm

  • Seda Davtyan
  • Kishori M. Konwar
  • Alexander A. Shvartsman
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8304)


Massive distributed cooperative computing in networks involves marshaling large collections of network nodes possessing the necessary computational resources. In order for the willing nodes to act in a concerted way they must first discover one another. This is the general setting of the Resource Discovery Problem (RDP). There are solutions for this problem that achieve impressive efficiency in the absence of failures, however, their correctness and performance cannot be guaranteed in the presence of failures. In practical environments it is important to have solutions that can cope with intermittent failures, and, in particular to design self-stabilizing algorithms for the problem. This paper presents a self-stabilizing algorithm that solves RDP in a deterministic synchronous setting. The approach is formulated in terms of evolving knowledge graphs, where vertices represent the participating network nodes, and edges represent one node’s knowledge about another. Ideally, the diameter of such a graph is one, i.e., each node knows all others. The algorithm works in rounds as it evolves the knowledge graph by nodes sharing knowledge through gossip messages with the goal of reducing its diameter. We prove that the algorithm is self-stabilizing, that is, the algorithm is able to tolerate arbitrary perturbations in the nodes’ local states and is guaranteed to solve the problem once such failures subside. We show that the algorithm has stabilization time of O(logD), and it takes at most 2logD + 10 complete round to stabilize, where D is the diameter of the initial knowledge graph. The corresponding message complexity is O(|V|2·logD), where V is the set of participating nodes.


Resource Discovery Self-Stabilization Distributed Algorithm 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abraham, I., Dolev, D.: Asynchronous resource discovery. In: Proceedings of the 22nd ACM Symposium on Principles of Distributed Computing, pp. 143–150 (2003)Google Scholar
  2. 2.
    Arora, A., Gouda, M.G.: Closure and convergence: A foundation of fault-tolerant computing. IEEE Trans. Software Eng. 19(11), 1015–1027 (1993)CrossRefGoogle Scholar
  3. 3.
    Davtyan, S., Konwar, K., Shvartsman, A.A.: Brief announcement: Self-stabilizing resource discovery algorithm. In: Proceedings of the ACM Symposium on Principles of Distributed Computing (2013)Google Scholar
  4. 4.
    Dijkstra, E.W.: Self-stabilizing systems in spite of distributed control. Communications of the ACM 17(11) (1974)Google Scholar
  5. 5.
    Dijkstra, E.W.: A belated proof of self-stabilization. Distributed Computing 1(1) (1986)Google Scholar
  6. 6.
    Dolev, S., Herman, T.: Superstabilizing protocols for dynamic distributed systems. Chicago Journal of Theoretical Computer Science (1997)Google Scholar
  7. 7.
    Harchol-Balter, M., Leighton, F.T., Lewin, D.: Resource discovery in distributed networks. In: Proceedings of the 18th Symposium on Principles of Distributed Computing, pp. 229–237 (1999)Google Scholar
  8. 8.
    Kaynar, D., Lynch, N., Segala, R., Vaandrager, F.: The theory of timed i/o automata, 2nd edn. Morgan & Claypool (2011)Google Scholar
  9. 9.
    Konwar, K.M., Kowalski, D.R., Shvartsman, A.A.: Node discovery in networks. In: Anderson, J.H., Prencipe, G., Wattenhofer, R. (eds.) OPODIS 2005. LNCS, vol. 3974, pp. 206–220. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  10. 10.
    Konwar, K., Kowalski, D.R., Shvartsman, A.A.: The join problem in dynamic network algorithms. In: Proceedings of the International Conference on Dependable Systems and Networks, pp. 315–324 (2004)Google Scholar
  11. 11.
    Kutten, S., Peleg, D.: Asynchronous resource discovery in peer to peer networks. In: Proceedings of the 21st IEEE Symposium on Reliable Distributed Systems (SRDS 2002), pp. 224–231 (2002)Google Scholar
  12. 12.
    Kutten, S., Peleg, D., Vishkin, U.: Deterministic resource discovery in distributed networks. In: Proceedings of the 13th ACM Symposium on Parallel Algorithms and Architectures, pp. 77–83 (2001)Google Scholar
  13. 13.
    Law, C., Siu, K.-Y.: An o(logn) randomized resource discovery algorithm. In: Brief Announcements of the 14th International Symposium on Distributed Computing, Technical Report FIM/110.1/DLSIIS/2000, Technical University of Madrid, pp. 5–8 (2000)Google Scholar
  14. 14.
    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
  15. 15.
    Tel, G.: Distributed algorithms. Cambridge University Press (2000)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2013

Authors and Affiliations

  • Seda Davtyan
    • 1
  • Kishori M. Konwar
    • 2
  • Alexander A. Shvartsman
    • 1
  1. 1.Department of Computer Science & EngineeringUniversity of ConnecticutStorrsUSA
  2. 2.University of British ColumbiaVancouverCanada

Personalised recommendations