This Article 
 Bibliographic References 
 Add to: 
Two-State Self-Stabilizing Algorithms for Token Rings
June 1994 (vol. 20 no. 6)
pp. 500-504

A self-stabilizing system is a network of processors, which, when started from an arbitrary (and possibly illegal) initial state, always returns to a legal state in a finite number of steps. This implies that the system can automatically deal with infrequent errors. One issue in designing self-stabilizing algorithms is the number of states required by each machine. This paper presents mutual exclusion algorithms which will be self-stabilizing while only requiring each machine in the network to have two states. The concept of a randomized central demon is also introduced in this paper. The first algorithm is a starting point where no randomization is needed (the randomized central demon is not necessary). The other two algorithms require randomization. The second algorithm builds on the first algorithm and reduces the number of network connections required. Finally, the number of necessary connections is again reduced yielding the final two-state, probabilistic algorithm for an asynchronous, unidirectional ring of processes.

[1] G. Brown, M. Gouda, and M. Wu, "Token systems that self stabilize,"IEEE Trans. Comput., vol. 38, no. 6, pp. 845-852, June 1989.
[2] J. Burns, M. Gouda and R. Miller, "On relaxing interleaving assumptions,"Proc. MCC Workshop Self-Stabilization, Austin, TX, Nov. 1989.
[3] J. Burns and J. Pachl, "Uniform self-stabilizing rings,"ACM Trans. Programming Languages Syst., vol. 11, no. 2, pp. 330-344, 1989.
[4] E. J. H. Chang, G.H. Gannet, and D. Rotem, "On the costs of self-stabilization,"Inform. Process. Lett., vol. 24, pp. 311-316, 1987.
[5] E. Dijkstra, "Self-stabilizing systems in spite of distributed control,"Commun. ACM, vol. 17, pp. 643-644, 1974.
[6] E. W. Dijkstra, "Self-stabilization in spite of distributed control," inSelected Writings On Computing: A Personal Perspective. Springer-Verlag, Berlin: 1982, pp. 41-46.
[7] S. Dolev, A. Israeli, and S. Moran, "Self-stabilization of dynamic systems assuming only read/write atomicity," inProc. Ninth ACM Symp. Principles of Distrib. Computing, 1990, pp. 103-117.
[8] M. Flatebo and A. Datta, "Two-state self-stabilizing algorithms," inIEEE Sixth Int. Parallel Proc. Symp., Beverly Hills, CA, Mar. 1992, pp. 198-203.
[9] M. Flatebo, A. K. Datta, and S. Ghosh, "Self-stabilization in distributed systems," inReadings in Distr. Comp. Syst.T. L. Casavant and M. Singhal Eds. New York: IEEE Computer Society Press, 1994, pp. 100-114.
[10] S. Ghosh, "Binary self-stabilization in distributed systems,"Inform. Proc. Lett., vol. 40, pp. 153-159, 1991.
[11] Y. Saitoh and H. Imai, "Multiple unidirectional byte error-correcting codes,"IEEE Trans. Inform. Theory, vol. 37, pp. 903-908, May 1991.
[12] T. Herman, "Self-stabilization: Randomness to reduce space,"Distributed Computing, vol. 6, pp. 95-98, 1992.
[13] A. Israeli and M. Jalfon, "Token management schemes and random walks yield self-stabilizing mutual exclusion," inProc. 9th Ann. ACM Symp. Principles of Distr. Comput., Quebec City, PQ, Canada, Aug. 1990, pp. 119-131.
[14] M. Schneider, "Self-Stabilization,"ACM Comput. Surveys, vol. 25, no. 1, pp. 45-67, 1993.
[15] M. Tchuente, "Sur l'auto-stabilisation dans un reseau d'ordinateurs,RAIRO Informatique Theorique, vol. 15, no. 1, pp. 47-66, 1981.
[16] P. Tetali and P. Winkler, "On a random walk problem arising in self-stabilizing token management," inProc. 10th Ann. ACM Symp. Principles of Distr. Comput., Montreal, PQ, Canada, Aug. 1991, pp. 273-280.

Index Terms:
distributed algorithms; token networks; local area networks; probability; fault tolerant computing; reliability; two-state self-stabilizing algorithms; token rings; legal state; illegal state; infrequent errors; mutual exclusion algorithms; randomized central demon; network connections; probabilistic algorithm; asynchronous unidirectional ring; binary state machines; distributed algorithms; distributed system
M. Flatebo, A.K. Datta, "Two-State Self-Stabilizing Algorithms for Token Rings," IEEE Transactions on Software Engineering, vol. 20, no. 6, pp. 500-504, June 1994, doi:10.1109/32.295897
Usage of this product signifies your acceptance of the Terms of Use.