We describe a reset subsystem that can be embedded in an arbitrary distributed system in order to allow the system processes to reset the system when necessary. The effect of each reset is to start the system in a global state that is reachable from a predefined state. Our reset subsystem has a number of nice features: it is modular, layered, self-stabilizing and can tolerate the failures and subsequent repairs of processes and channels. There are three main components in our design of the reset subsystem: a leader election, a spanning tree construction, and a diffusing computation. Each of these components is both self-stabilizing and tolerant of process and channel failures and repairs; thus, our design of each component is more robust than earlier designs of similar components.

Categories and Subject Descriptors

C.2.4 [Computer Communication Systems]: Distributed Systems-distributed applications, network operating systems D.1.3 [Programming Techniques]: Concurrent Programming D.4.5 [Operating Systems]: Reliability-fault-tolerance, verification G.2.2 [Discrete Mathematics]: Graph theory-trees, graph algorithms 

General Terms

Algorithms Reliability 

Additional Key Words and Phrases

Self-stabilization spanning trees diffusing computations 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AG90]
    A. Arora and M.G. Gouda, “Distributed Reset,” 1990, in preparation.Google Scholar
  2. [BGM88]
    J.E. Burns, M.G. Gouda, and R.E. Miller, “On relaxing interleaving assumptions,” Technical Report GIT-ICS-88/29, School of ICS, Georgia Institute of Technology, 1988; also submitted for journal publication.Google Scholar
  3. [BGW89]
    G.M. Brown, M.G. Gouda, and C.-L. Wu, “Token systems that self-stabilize,” IEEE Transactions on Computers, Vol. 38, No. 6 (1989), pp. 845–852.Google Scholar
  4. [BP89]
    J.E. Burns and J. Pachl, “Uniform self-stabilizing rings,” ACM Transactions on Programming Languages and Systems, Vol. 11, No. 2 (1989), pp. 330–344.Google Scholar
  5. [DIM89]
    S. Dolev, A. Israeli, and S. Moran, “Self-stabilization of dynamic systems,” Proceedings of the MCC Workshop on Self-Stabilizing Systems, MCC Technical Report Number STP-379-89.Google Scholar
  6. [DS80]
    E.W. Dijkstra, and C.S. Scholten, “Termination detection for diffusing computations,” Information Processing Letters, Vol. 11, No. 1 (1980), pp. 1–4.Google Scholar
  7. [KP89]
    S. Katz and K. Perry, “Self-stabilizing extensions for message-passing systems,” Proceedings of the MCC Workshop on Self-Stabilizing Systems, MCC Technical Report Number STP-379-89.Google Scholar
  8. [FLP85]
    M. Fischer, N. Lynch, and M. Paterson, “Impossibility of distributed consensus with one faulty process”, Journal of the ACM, Vol. 32, No. 2 (1985), pp. 374–382.Google Scholar
  9. [F86]
    N. Francez, Fairness, Springer-Verlag, 1986.Google Scholar
  10. [SG87]
    L. Shrira and O. Goldreich, “Electing a leader in the presence of faults: A ring as a special case,” Acta Informatica, Vol. 24 (1987), pp. 79–91.Google Scholar
  11. [T89]
    G. Taubenfeld, “Leader election in the presence of n − 1 initial failures”, Information Processing Letters, Vol. 33 (1989), pp. 25–28.Google Scholar
  12. [YK88]
    R.B. Yehuda and S. Kutten, “Fault tolerant distributed majority commitment”, Journal of Algorithms, Vol. 9 (1988), pp. 568–582.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Anish Arora
    • 1
  • Mohamed Gouda
    • 1
  1. 1.Department of Computer SciencesThe University of Texas at Austin Microelectronics and Computer Technology CorporationAustinUSA

Personalised recommendations