19 research outputs found
Auditable Restoration of Distributed Programs
We focus on a protocol for auditable restoration of distributed systems. The
need for such protocol arises due to conflicting requirements (e.g., access to
the system should be restricted but emergency access should be provided). One
can design such systems with a tamper detection approach (based on the
intuition of "break the glass door"). However, in a distributed system, such
tampering, which are denoted as auditable events, is visible only for a single
node. This is unacceptable since the actions they take in these situations can
be different than those in the normal mode. Moreover, eventually, the auditable
event needs to be cleared so that system resumes the normal operation.
With this motivation, in this paper, we present a protocol for auditable
restoration, where any process can potentially identify an auditable event.
Whenever a new auditable event occurs, the system must reach an "auditable
state" where every process is aware of the auditable event. Only after the
system reaches an auditable state, it can begin the operation of restoration.
Although any process can observe an auditable event, we require that only
"authorized" processes can begin the task of restoration. Moreover, these
processes can begin the restoration only when the system is in an auditable
state. Our protocol is self-stabilizing and has bounded state space. It can
effectively handle the case where faults or auditable events occur during the
restoration protocol. Moreover, it can be used to provide auditable restoration
to other distributed protocol.Comment: 10 page
Automated Synthesis of Distributed Self-Stabilizing Protocols
In this paper, we introduce an SMT-based method that automatically
synthesizes a distributed self-stabilizing protocol from a given high-level
specification and network topology. Unlike existing approaches, where synthesis
algorithms require the explicit description of the set of legitimate states,
our technique only needs the temporal behavior of the protocol. We extend our
approach to synthesize ideal-stabilizing protocols, where every state is
legitimate. We also extend our technique to synthesize monotonic-stabilizing
protocols, where during recovery, each process can execute an most once one
action. Our proposed methods are fully implemented and we report successful
synthesis of well-known protocols such as Dijkstra's token ring, a
self-stabilizing version of Raymond's mutual exclusion algorithm,
ideal-stabilizing leader election and local mutual exclusion, as well as
monotonic-stabilizing maximal independent set and distributed Grundy coloring
Verification and Synthesis of Symmetric Uni-Rings for Leads-To Properties
This paper investigates the verification and synthesis of parameterized
protocols that satisfy leadsto properties on symmetric
unidirectional rings (a.k.a. uni-rings) of deterministic and constant-space
processes under no fairness and interleaving semantics, where and are
global state predicates. First, we show that verifying for
parameterized protocols on symmetric uni-rings is undecidable, even for
deterministic and constant-space processes, and conjunctive state predicates.
Then, we show that surprisingly synthesizing symmetric uni-ring protocols that
satisfy is actually decidable. We identify necessary and
sufficient conditions for the decidability of synthesis based on which we
devise a sound and complete polynomial-time algorithm that takes the predicates
and , and automatically generates a parameterized protocol that
satisfies for unbounded (but finite) ring sizes. Moreover, we
present some decidability results for cases where leadsto is required from
multiple distinct predicates to different predicates. To demonstrate
the practicality of our synthesis method, we synthesize some parameterized
protocols, including agreement and parity protocols
Dynamic FTSS in Asynchronous Systems: the Case of Unison
Distributed fault-tolerance can mask the effect of a limited number of
permanent faults, while self-stabilization provides forward recovery after an
arbitrary number of transient fault hit the system. FTSS protocols combine the
best of both worlds since they are simultaneously fault-tolerant and
self-stabilizing. To date, FTSS solutions either consider static (i.e. fixed
point) tasks, or assume synchronous scheduling of the system components. In
this paper, we present the first study of dynamic tasks in asynchronous
systems, considering the unison problem as a benchmark. Unison can be seen as a
local clock synchronization problem as neighbors must maintain digital clocks
at most one time unit away from each other, and increment their own clock value
infinitely often. We present many impossibility results for this difficult
problem and propose a FTSS solution when the problem is solvable that exhibits
optimal fault containment
Stabilisation Instantanée Probabiliste
International audienceNous introduisons la stabilisation instantanée probabiliste. Cette propriété nous permet, en particulier, de concevoir des algorithmes distribués pour réseaux anonymes ayant de fortes propriétés de tolérance aux pannes transitoires. Un algorithme instantanément stabilisant probabiliste satisfait la sûreté de sa spécification immédiatement aprÚs que les pannes transitoires aient cessé; cependant il n'assure la vivacité de sa spécification que presque sûrement. Nous illustrons cette nouvelle propriété en proposant deux algorithmes instantanément stabilisants probabilistes d'élection avec garantie de service pour réseaux anonymes, ce problÚme n'ayant pas de solution déterministe
Making Self-Stabilizing any Locally Greedy Problem
We propose a way to transform synchronous distributed algorithms solving
locally greedy and mendable problems into self-stabilizing algorithms in
anonymous networks. Mendable problems are a generalization of greedy problems
where any partial solution may be transformed -- instead of completed -- into a
global solution: every time we extend the partial solution we are allowed to
change the previous partial solution up to a given distance. Locally here means
that to extend a solution for a node, we need to look at a constant distance
from it. In order to do this, we propose the first explicit self-stabilizing
algorithm computing a -ruling set (i.e. a "maximal independent set at
distance "). By combining multiple time this technique, we compute a
distance- coloring of the graph. With this coloring we can finally simulate
\local~model algorithms running in a constant number of rounds, using the
colors as unique identifiers. Our algorithms work under the Gouda daemon, which
is similar to the probabilistic daemon: if an event should eventually happen,
it will occur under this daemon
Weak vs. Self vs. Probabilistic Stabilization
Self-stabilization is a strong property that guarantees that a network always
resume correct behavior starting from an arbitrary initial state. Weaker
guarantees have later been introduced to cope with impossibility results:
probabilistic stabilization only gives probabilistic convergence to a correct
behavior. Also, weak stabilization only gives the possibility of convergence.
In this paper, we investigate the relative power of weak, self, and
probabilistic stabilization, with respect to the set of problems that can be
solved. We formally prove that in that sense, weak stabilization is strictly
stronger that self-stabilization. Also, we refine previous results on weak
stabilization to prove that, for practical schedule instances, a deterministic
weak-stabilizing protocol can be turned into a probabilistic self-stabilizing
one. This latter result hints at more practical use of weak-stabilization, as
such algorthms are easier to design and prove than their (probabilistic)
self-stabilizing counterparts
Making Self-Stabilizing Algorithms for Any Locally Greedy Problem
Self-stabilizing algorithms are a way to deal with network dynamicity, as it will update itself after a network change (addition or removal of nodes or edges), as long as changes are not frequent. We propose an automatic transformation of synchronous distributed algorithms that solve locally greedy and mendable problems into self-stabilizing algorithms in anonymous networks.
Mendable problems are a generalization of greedy problems where any partial solution may be transformed -instead of completed- into a global solution: every time we extend the partial solution, we are allowed to change the previous partial solution up to a given distance. Locally here means that to extend a solution for a node, we need to look at a constant distance from it.
In order to do this, we propose the first explicit self-stabilizing algorithm computing a (k,k-1)-ruling set (i.e. a "maximal independent set at distance k"). By combining this technique multiple times, we compute a distance-K coloring of the graph. With this coloring we can finally simulate Local model algorithms running in a constant number of rounds, using the colors as unique identifiers.
Our algorithms work under the Gouda daemon, similar to the probabilistic daemon: if an event should eventually happen, it will occur