173 research outputs found
Self-Stabilization in the Distributed Systems of Finite State Machines
The notion of self-stabilization was first proposed by Dijkstra in 1974 in his classic paper. The paper defines a system as self-stabilizing if, starting at any, possibly illegitimate, state the system can automatically adjust itself to eventually converge to a legitimate state in finite amount of time and once in a legitimate state it will remain so unless it incurs a subsequent transient fault. Dijkstra limited his attention to a ring of finite-state machines and provided its solution for self-stabilization. In the years following his introduction, very few papers were published in this area. Once his proposal was recognized as a milestone in work on fault tolerance, the notion propagated among the researchers rapidly and many researchers in the distributed systems diverted their attention to it. The investigation and use of self-stabilization as an approach to fault-tolerant behavior under a model of transient failures for distributed systems is now undergoing a renaissance. A good number of works pertaining to self-stabilization in the distributed systems were proposed in the yesteryears most of which are very recent. This report surveys all previous works available in the literature of self-stabilizing systems
A Survey of Self-Stabilizing Spanning-Tree Construction Algorithms
Self-stabilizing systems can automatically recover from arbitrary state perturbations in finite time. They are therefore well-suited for dynamic, failure prone environments. Spanning-tree construction in distributed systems is a fundamental task which forms the basis for many other network algorithms (like token circulation or routing).This paper surveys self-stabilizing algorithms that construct a spanning tree within a network of processing entities. Lower bounds and related work are also discussed
A Survey of Self-Stabilizing Spanning-Tree Construction Algorithms
Self-stabilizing systems can automatically recover from arbitrary state perturbations in finite time. They are therefore well-suited for dynamic, failure prone environments. Spanning-tree construction in distributed systems is a fundamental task which forms the basis for many other network algorithms (like token circulation or routing).This paper surveys self-stabilizing algorithms that construct a spanning tree within a network of processing entities. Lower bounds and related work are also discussed
Self-stabilizing routing protocols
In systems made up of processors and links connecting the processors, the global state of the system is defined by the local variables of the individual processors. The set of global states can be defined as being either legal or illegal. A self-stabilizing system is one that forces a system from an illegal state to a global legal state without external interference, using a finite number of steps. This thesis will concentrate on application of self-stabilization to routing problems, in particular path identification, connectivity and methods involved in destinational routing. Traditional methods for creation of rooted paths to multiple destinations in a computer network involve the creation of spanning trees, and broadcasting information on the tree to be picked up by the individual nodes on the tree. The information for the creation of the tree are all sourced at the root, and the individual nodes update information from the centralized source. The self-stabilization model for networks allows the decision for a creation of a tree and message checking to occur automatically, locally, and more important, in contrast to traditional networks, asynchronously. The creation, message passing occur with a node and its immediate neighbor, and the tree, path is created based on this communicated data. In addition, the self-stabilization model eliminates the requisite initialization of traditional networks, i.e. given any arbitrary initial state the system (a given network) is guaranteed to stabilize to a legal global state, in the case of a broadcast network, a minimal spanning tree rooted at a source
Self-Stabilizing Construction of a Minimal Weakly -Reachable Directed Acyclic Graph
We propose a self-stabilizing algorithm to construct a minimal weakly
-reachable directed acyclic graph (DAG), which is suited for
routing messages on wireless networks. Given an arbitrary, simple, connected,
and undirected graph and two sets of nodes, senders and targets , a directed subgraph
of is a weakly -reachable DAG on , if
is a DAG and every sender can reach at least one target, and every target is
reachable from at least one sender in . We say that a weakly
-reachable DAG on is minimal if any proper subgraph
of is no longer a weakly -reachable DAG. This DAG is a
relaxed version of the original (or strongly) -reachable DAG,
where every target is reachable from every sender. This is because a strongly
-reachable DAG does not always exist; some graph has no
strongly -reachable DAG even in the case
. On the other hand, the proposed algorithm
always constructs a weakly -reachable DAG for any
and . Furthermore, the proposed algorithm is self-stabilizing;
even if the constructed DAG deviates from the reachability requirement by a
breakdown or exhausting the battery of a node having an arc in the DAG, this
algorithm automatically reconstructs the DAG to satisfy the requirement again.
The convergence time of the algorithm is asynchronous rounds, where
is the diameter of a given graph. We conduct small simulations to evaluate the
performance of the proposed algorithm. The simulation result indicates that its
execution time decreases when the number of sender nodes or target nodes is
large
Making local algorithms efficiently self-stabilizing in arbitrary asynchronous environments
This paper deals with the trade-off between time, workload, and versatility
in self-stabilization, a general and lightweight fault-tolerant concept in
distributed computing.In this context, we propose a transformer that provides
an asynchronous silent self-stabilizing version Trans(AlgI) of any terminating
synchronous algorithm AlgI. The transformed algorithm Trans(AlgI) works under
the distributed unfair daemon and is efficient both in moves and rounds.Our
transformer allows to easily obtain fully-polynomial silent self-stabilizing
solutions that are also asymptotically optimal in rounds.We illustrate the
efficiency and versatility of our transformer with several efficient (i.e.,
fully-polynomial) silent self-stabilizing instances solving major distributed
computing problems, namely vertex coloring, Breadth-First Search (BFS) spanning
tree construction, k-clustering, and leader election
Robust network computation
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2005.Includes bibliographical references (p. 91-98).In this thesis, we present various models of distributed computation and algorithms for these models. The underlying theme is to come up with fast algorithms that can tolerate faults in the underlying network. We begin with the classical message-passing model of computation, surveying many known results. We give a new, universally optimal, edge-biconnectivity algorithm for the classical model. We also give a near-optimal sub-linear algorithm for identifying bridges, when all nodes are activated simultaneously. After discussing some ways in which the classical model is unrealistic, we survey known techniques for adapting the classical model to the real world. We describe a new balancing model of computation. The intent is that algorithms in this model should be automatically fault-tolerant. Existing algorithms that can be expressed in this model are discussed, including ones for clustering, maximum flow, and synchronization. We discuss the use of agents in our model, and give new agent-based algorithms for census and biconnectivity. Inspired by the balancing model, we look at two problems in more depth.(cont.) First, we give matching upper and lower bounds on the time complexity of the census algorithm, and we show how the census algorithm can be used to name nodes uniquely in a faulty network. Second, we consider using discrete harmonic functions as a computational tool. These functions are a natural exemplar of the balancing model. We prove new results concerning the stability and convergence of discrete harmonic functions, and describe a method which we call Eulerization for speeding up convergence.by David Pritchard.M.Eng
A Framework for Verifying Data-Centric Protocols
International audienceData centric languages, such as recursive rule based languages, have been proposed to program distributed applications over networks. They simplify greatly the code, while still admitting efficient distributed execution. We show that they also provide a promising approach to the verification of distributed protocols, thanks to their data centric orientation, which allows us to explicitly handle global structures such as the topology of the network. We consider a framework using an original formalization in the Coq proof assistant of a distributed computation model based on message passing with either synchronous or asynchronous behavior. The declarative rules of the Netlog language for specifying distributed protocols and the virtual machines for evaluating these rules are encoded in Coq as well. We consider as a case study tree protocols, and show how this framework enables us to formally verify them in both the asynchronous and synchronous setting
- …