21,798 research outputs found
Two snap-stabilizing point-to-point communication protocols in message-switched networks
A snap-stabilizing protocol, starting from any configuration, always behaves
according to its specification. In this paper, we present a snap-stabilizing
protocol to solve the message forwarding problem in a message-switched network.
In this problem, we must manage resources of the system to deliver messages to
any processor of the network. In this purpose, we use information given by a
routing algorithm. By the context of stabilization (in particular, the system
starts in an arbitrary configuration), this information can be corrupted. So,
the existence of a snap-stabilizing protocol for the message forwarding problem
implies that we can ask the system to begin forwarding messages even if routing
information are initially corrupted. In this paper, we propose two
snap-stabilizing algorithms (in the state model) for the following
specification of the problem: - Any message can be generated in a finite time.
- Any emitted message is delivered to its destination once and only once in a
finite time. This implies that our protocol can deliver any emitted message
regardless of the state of routing tables in the initial configuration. These
two algorithms are based on the previous work of [MS78]. Each algorithm needs a
particular method to be transform into a snap-stabilizing one but both of them
do not introduce a significant overcost in memory or in time with respect to
algorithms of [MS78]
Polynomial-Time Space-Optimal Silent Self-Stabilizing Minimum-Degree Spanning Tree Construction
Motivated by applications to sensor networks, as well as to many other areas,
this paper studies the construction of minimum-degree spanning trees. We
consider the classical node-register state model, with a weakly fair scheduler,
and we present a space-optimal \emph{silent} self-stabilizing construction of
minimum-degree spanning trees in this model. Computing a spanning tree with
minimum degree is NP-hard. Therefore, we actually focus on constructing a
spanning tree whose degree is within one from the optimal. Our algorithm uses
registers on bits, converges in a polynomial number of rounds, and
performs polynomial-time computation at each node. Specifically, the algorithm
constructs and stabilizes on a special class of spanning trees, with degree at
most . Indeed, we prove that, unless NP coNP, there are no
proof-labeling schemes involving polynomial-time computation at each node for
the whole family of spanning trees with degree at most . Up to our
knowledge, this is the first example of the design of a compact silent
self-stabilizing algorithm constructing, and stabilizing on a subset of optimal
solutions to a natural problem for which there are no time-efficient
proof-labeling schemes. On our way to design our algorithm, we establish a set
of independent results that may have interest on their own. In particular, we
describe a new space-optimal silent self-stabilizing spanning tree
construction, stabilizing on \emph{any} spanning tree, in rounds, and
using just \emph{one} additional bit compared to the size of the labels used to
certify trees. We also design a silent loop-free self-stabilizing algorithm for
transforming a tree into another tree. Last but not least, we provide a silent
self-stabilizing algorithm for computing and certifying the labels of a
NCA-labeling scheme
Self-stabilizing tree algorithms
Designers of distributed algorithms have to contend with the problem of making the algorithms tolerant to several forms of coordination loss, primarily faulty initialization. The processes in a distributed system do not share a global memory and can only get a partial view of the global state. Transient failures in one part of the system may go unnoticed in other parts and thus cause the system to go into an illegal state. If the system were self-stabilizing, however, it is guaranteed that it will return to a legal state after a finite number of state transitions. This thesis presents and proves self-stabilizing algorithms for calculating tree metrics and for achieving mutual exclusion on a tree structured distributed system
HSkip+: A Self-Stabilizing Overlay Network for Nodes with Heterogeneous Bandwidths
In this paper we present and analyze HSkip+, a self-stabilizing overlay
network for nodes with arbitrary heterogeneous bandwidths. HSkip+ has the same
topology as the Skip+ graph proposed by Jacob et al. [PODC 2009] but its
self-stabilization mechanism significantly outperforms the self-stabilization
mechanism proposed for Skip+. Also, the nodes are now ordered according to
their bandwidths and not according to their identifiers. Various other
solutions have already been proposed for overlay networks with heterogeneous
bandwidths, but they are not self-stabilizing. In addition to HSkip+ being
self-stabilizing, its performance is on par with the best previous bounds on
the time and work for joining or leaving a network of peers of logarithmic
diameter and degree and arbitrary bandwidths. Also, the dilation and congestion
for routing messages is on par with the best previous bounds for such networks,
so that HSkip+ combines the advantages of both worlds. Our theoretical
investigations are backed by simulations demonstrating that HSkip+ is indeed
performing much better than Skip+ and working correctly under high churn rates.Comment: This is a long version of a paper published by IEEE in the
Proceedings of the 14-th IEEE International Conference on Peer-to-Peer
Computin
Minimizing Message Size in Stochastic Communication Patterns: Fast Self-Stabilizing Protocols with 3 bits
This paper considers the basic model of communication, in
which in each round, each agent extracts information from few randomly chosen
agents. We seek to identify the smallest amount of information revealed in each
interaction (message size) that nevertheless allows for efficient and robust
computations of fundamental information dissemination tasks. We focus on the
Majority Bit Dissemination problem that considers a population of agents,
with a designated subset of source agents. Each source agent holds an input bit
and each agent holds an output bit. The goal is to let all agents converge
their output bits on the most frequent input bit of the sources (the majority
bit). Note that the particular case of a single source agent corresponds to the
classical problem of Broadcast. We concentrate on the severe fault-tolerant
context of self-stabilization, in which a correct configuration must be reached
eventually, despite all agents starting the execution with arbitrary initial
states.
We first design a general compiler which can essentially transform any
self-stabilizing algorithm with a certain property that uses -bits
messages to one that uses only -bits messages, while paying only a
small penalty in the running time. By applying this compiler recursively we
then obtain a self-stabilizing Clock Synchronization protocol, in which agents
synchronize their clocks modulo some given integer , within rounds w.h.p., and using messages that contain bits only.
We then employ the new Clock Synchronization tool to obtain a
self-stabilizing Majority Bit Dissemination protocol which converges in time, w.h.p., on every initial configuration, provided that the
ratio of sources supporting the minority opinion is bounded away from half.
Moreover, this protocol also uses only 3 bits per interaction.Comment: 28 pages, 4 figure
Bounding the Impact of Unbounded Attacks in Stabilization
Self-stabilization is a versatile approach to fault-tolerance since it
permits a distributed system to recover from any transient fault that
arbitrarily corrupts the contents of all memories in the system. Byzantine
tolerance is an attractive feature of distributed systems that permits to cope
with arbitrary malicious behaviors. Combining these two properties proved
difficult: it is impossible to contain the spatial impact of Byzantine nodes in
a self-stabilizing context for global tasks such as tree orientation and tree
construction. We present and illustrate a new concept of Byzantine containment
in stabilization. Our property, called Strong Stabilization enables to contain
the impact of Byzantine nodes if they actually perform too many Byzantine
actions. We derive impossibility results for strong stabilization and present
strongly stabilizing protocols for tree orientation and tree construction that
are optimal with respect to the number of Byzantine nodes that can be tolerated
in a self-stabilizing context
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
- …