This Article 
 Bibliographic References 
 Add to: 
Stabilizing Communication Protocols
April 1991 (vol. 40 no. 4)
pp. 448-458

A communication protocol is stabilizing if and only if starting from any unsafe state (i.e. one that violates the intended invariant of the protocol), the protocol is guaranteed to converge to a safe state within a finite number of state transitions. Stabilization allows the processes in a protocol to reestablish coordination between one another whenever coordination is lost due to some failure. The authors identify some important characteristics of stabilizing protocols; they show in particular that a stabilizing protocol is nonterminating, has an infinite number of safe states, and has timeout actions. They also propose a formal method for proving protocol stabilization: in order to prove that a given protocol is stabilizing, it is sufficient (and necessary) to exhibit and verify what is called a 'convergence stair' for the protocol. Finally, they discuss how to redesign a number of well-known protocols to make them stabilizing; these include the sliding-window protocol and the two-way handshake.

[1] Y. Afek and G. Brown, "Self-stabilization of the alternating-bit protocol," inProc. Eighth Symp. Reliable Distributed Syst., 1989, pp. 80-83.
[2] F. Bastani, I. Yen, and I. Chen, "Class of inherently fault-tolerant distributed programs,"IEEE Trans. Software Eng., vol. 14, no. 10, pp. 1431-1442, 1988.
[3] G. Brown, M. Gouda, and C. Wu, "Token systems that self-stabilize,"IEEE Trans. Comput., vol. 36, no. 6, pp. 845-852, 1989.
[4] J. Burns and J. Pachl, "Uniform self-stabilizing rings,"ACM Trans. Programming Languages Syst., vol. 11, no. 2, pp. 330-344, 1989.
[5] J. Burns, M. Gouda, and R. Miller, "Stabilization and pseudostabilization," Tech. Rep. TR-90-13, Dep. Comput. Sci. Univ. of Texas at Austin, May 1990. Also submitted for journal publication.
[6] E. Dijkstra, EWD 391, "Self-stabilization in spite of distributed control," 1973; reprinted inSelected Writings on Computing: A Personal Perspective. New York: Springer-Verlag, 1982, pp. 41-46.
[7] E. Dijkstra, "Self-stabilizing systems in spite of distributed control,"Commun. ACM, vol. 17, pp. 643-644, 1974.
[8] M. Gouda and M. Evangelist, "Convergence/response tradeoff in concurrent systems," Tech. Rep. TR-88-39, Dep. Comput. Sci. Univ. of Texas at Austin, 1988, alsoACM Trans. Comput. Syst. Languages, to be published.
[9] M. Gouda, R. Howell, and L. Rosier, "The instability of self-stabilization," presented at the MCC Workshop on Self-Stabilization, Aug. 1989. Also,Acta Informatica, 1990.
[10] M. Gouda, N. Maxemchuk, U. Mukherji, and K. Sabnani, "Deliver and discrimination: The Seine protocol," inProc. SIGCOMM '88Symp., 1988, pp. 292-302.
[11] S. Katz and K. Perry, "Self-stabilizing extensions for message paging systems," presented at the MCC Workshop on Self-Stabilization, Aug. 1988.
[12] L. Lamport, "Solved problems, unsolved problems, and nonproblems in concurrency," Invited Address, inProc. Third ACM Symp. Principles of Distributed Comput., 1984, pp. 1-11.
[13] L. Lamport, "The mutual exclusion problem: Part II--Statement and solutions,"J. ACM, vol. 33, no. 2, pp. 327-348, Apr. 1986.
[14] N. Multari, "Toward a theory for self-stabilizing protocols," Ph.D. dissertation, Dep. Comput. Sci., Univ. of Texas at Austin, 1989.

Index Terms:
communication protocol stabilization; state transitions; safe states; formal method; convergence stair; sliding-window protocol; two-way handshake; formal specification; program verification; protocols.
M.G. Gouda, N.J. Multari, "Stabilizing Communication Protocols," IEEE Transactions on Computers, vol. 40, no. 4, pp. 448-458, April 1991, doi:10.1109/12.88464
Usage of this product signifies your acceptance of the Terms of Use.