A fundamental dogma in distributed computing is that a distributed algorithm
cannot be deployed in a real system unless it can cope with faults.
When it comes to recovering from transient faults, the agreed upon
concept for fault tolerance is self-stabilization.
Introduced in the seminal paper of Dijkstra [1]}, an algorithm
is self-stabilizing if it is guaranteed to converge to a correct output from
any (possibly faulty) initial configuration
[2]}, [3]}.
