Self-stabilization
|
Self-stabilization is a concept from computer science. The objective of self-stabilization is for a distributed computer system that enters an illegitimate (e.g. erroneous or suboptimal) state recovers back to a legitimate state within a finite time without any external (e.g. human) intervention.
Such a behaviour is very desirable in modern computer and telecommunications network since it would enable them to repair errors and return to normal operations on their own. Computer crashes and network failures could be made fault-tolerance.
The idea of self-stabilization originates from a classic paper by E.W. Dijkstra in 1974 (see reference [1]). Thirty years later, this concept gains importance again since it presents an important foundation for self-managing computer systems and fault-tolerant systems.
An appealing property of self-stabilizing algorithms is that they do not explicitly detect errors to repair them subsequently. Instead, they constantly push the system towards a legitimate state. Since detecting an error is often very difficult and time-consuming, such a behaviour is highly desirable.
References
[1] E.W. Dijkstra: Self-stabilizing systems in spite of distributed control. Commun. ACM 17 (1974), 11: 643-644. (http://www.cs.utexas.edu/users/EWD/ewd04xx/EWD426.PDF)
[2] Self-Stabilization. Shlomi Dolev, MIT Press, 2000.