12 research outputs found
A Superstabilizing -Approximation Algorithm for Dynamic Steiner Trees
In this paper we design and prove correct a fully dynamic distributed
algorithm for maintaining an approximate Steiner tree that connects via a
minimum-weight spanning tree a subset of nodes of a network (referred as
Steiner members or Steiner group) . Steiner trees are good candidates to
efficiently implement communication primitives such as publish/subscribe or
multicast, essential building blocks for the new emergent networks (e.g. P2P,
sensor or adhoc networks). The cost of the solution returned by our algorithm
is at most times the cost of an optimal solution, where is the
group of members. Our algorithm improves over existing solutions in several
ways. First, it tolerates the dynamism of both the group members and the
network. Next, our algorithm is self-stabilizing, that is, it copes with nodes
memory corruption. Last but not least, our algorithm is
\emph{superstabilizing}. That is, while converging to a correct configuration
(i.e., a Steiner tree) after a modification of the network, it keeps offering
the Steiner tree service during the stabilization time to all members that have
not been affected by this modification
Distributed Maintenance of Anytime Available Spanning Trees in Dynamic Networks
We address the problem of building and maintaining distributed spanning trees
in highly dynamic networks, in which topological events can occur at any time
and any rate, and no stable periods can be assumed. In these harsh
environments, we strive to preserve some properties such as cycle-freeness or
the existence of a root in each tree, in order to make it possible to keep
using the trees uninterruptedly (to a possible extent). Our algorithm operates
at a coarse-grain level, using atomic pairwise interactions in a way akin to
recent population protocol models. The algorithm relies on a perpetual
alternation of \emph{topology-induced splittings} and \emph{computation-induced
mergings} of a forest of spanning trees. Each tree in the forest hosts exactly
one token (also called root) that performs a random walk {\em inside} the tree,
switching parent-child relationships as it crosses edges. When two tokens are
located on both sides of a same edge, their trees are merged upon this edge and
one token disappears. Whenever an edge that belongs to a tree disappears, its
child endpoint regenerates a new token instantly. The main features of this
approach is that both \emph{merging} and \emph{splitting} are purely localized
phenomenons. In this paper, we present and motivate the algorithm, and we prove
its correctness in arbitrary dynamic networks. Then we discuss several
implementation choices around this general principle. Preliminary results
regarding its analysis are also discussed, in particular an analytical
expression of the expected merging time for two given trees in a static
context.Comment: Distributed Maintenance of Anytime Available Spanning Trees in
Dynamic Networks, Poland (2013
log(n)-approximation d'un arbre de Steiner auto-stabilisant et dynamique
National audienceCe travail est motivé entre autre, par le maintient distribué d'infrastructures optimisées pour la communication d'un groupe d'utilisateurs dispersé sur un réseau dynamique. Les domaines d'application typiques de telles structures sont les systèmes de publish/subscribe, bases de données distribuées, systèmes multicasts. Dans ce papier nous décrivons un algorithme distribué qui construit et maintient un arbre de Steiner approché connectant un groupe dynamique de membres dispersé sur un réseau dynamique. Le coût de la solution retournée par notre algorithme est au plus fois le coût de la solution optimale, étant le groupe de membres à interconnecter. Notre algorithme améliore les solutions existantes de plusieurs façons. Premièrement, il tolère le dynamisme des membres et du réseau, autrement dit les membres peuvent rejoindre ou quitter le groupe et les noeuds ou liens du réseau peuvent apparaître ou disparaître du réseau. Deuxièmement notre algorithme est auto-stabilisant, en d'autres termes il tolère les fautes transitoires. Enfin, notre algorithme est super-stabilisant, ce qui signifie que l'on garantie des propriétés sur la structure construite durant la convergence de l'algorithme et malgré le dynamisme du réseau
Memory and communication efficient algorithm for decentralized counting of nodes in networks
Node counting on a graph is subject to some fundamental theoretical limitations, yet a solution to such problems is necessary in many applications of graph theory to real-world systems, such as collective robotics and distributed sensor networks. Thus several stochastic and naïve deterministic algorithms for distributed graph size estimation or calculation have been provided. Here we present a deterministic and distributed algorithm that allows every node of a connected graph to determine the graph size in finite time, if an upper bound on the graph size is provided. The algorithm consists in the iterative aggregation of information in local hubs which then broadcast it throughout the whole graph. The proposed node-counting algorithm is on average more efficient in terms of node memory and communication cost than its previous deterministic counterpart for node counting, and appears comparable or more efficient in terms of average-case time complexity. As well as node counting, the algorithm is more broadly applicable to problems such as summation over graphs, quorum sensing, and spontaneous hierarchy creation
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 minimum-degree spanning tree within one from the optimal degree
International audienceWe propose a self-stabilizing algorithm for constructing a Minimum-Degree Spanning Tree (MDST) in undirected networks. Starting from an arbitrary state, our algorithm is guaranteed to converge to a legitimate state describing a spanning tree whose maximum node degree is at most ∆∗ + 1, where ∆∗ is the minimum possible maximum degree of a spanning tree of the network. To the best of our knowledge our algorithm is the first self stabilizing solution for the construction of a minimum-degree spanning tree in undirected graphs. The algorithm uses only local communications (nodes interact only with the neighbors at one hop distance). Moreover, the algorithm is designed to work in any asynchronous message passing network with reliable FIFO channels. Additionally, we use a fine grained atomicity model (i.e. the send/receive atomicity). The time complexity of our solution is O(mn2 log n) where m is the number of edges and n is the number of nodes. The memory complexity is O(δ log n) in the send-receive atomicity model (δ is the maximal degree of the network)