Self-stabilizing and Self-organizing Distributed Algorithms

Self-stabilization ensures automatic recovery from an arbitrary state; we define self-organization as a property of algorithms which display local attributes. More precisely, we say that an algorithm is self-organizing if (1) it converges in sublinear time and (2) reacts fast to topology changes. If s(n) is an upper bound on the convergence time and d(n) is an upper bound on the convergence time following a topology change, then s(n) ∈ o(n) and d(n) ∈ o(s(n)). The self-organization property can then be used for gaining, in sublinear time, global properties and reaction to changes. We present self-stabilizing and self-organizing algorithms for many distributed algorithms, including distributed snapshot and leader election. We present a new randomized self-stabilizing distributed algorithm for cluster definition in communication graphs of bounded degree processors. These graphs reflect sensor networks deployment. The algorithm converges in O(logn) expected number of rounds, handles dynamic changes locally and is, therefore, self-organizing. Applying the clustering algorithm to specific classes of communication graphs, in O(log n) levels, using an overlay network abstraction, results in a self-stabilizing and self-organizing distributed algorithm for hierarchy definition. Given the obtained hierarchy definition, we present an algorithm for hierarchical distributed snapshot. The algorithms are based on a new basic snap-stabilizing snapshot algorithm, designed for message passing systems in which a distributed spanning tree is defined and in which processors communicate using bounded links capacity. The combination of the self-stabilizing and self-organizing distributed hierarchy construction and the snapshot algorithm form an efficient self-stabilizer transformer. Given a distributed algorithm for a specific task, we are able to convert the algorithm into a self-stabilizing algorithm for the same task with an expected convergence time of O(log 2 n) rounds.

[1]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[2]  Shlomi Dolev,et al.  Self Stabilization , 2004, J. Aerosp. Comput. Inf. Commun..

[3]  Leslie Lamport,et al.  Distributed snapshots: determining global states of distributed systems , 1985, TOCS.

[4]  H. Hurley computer networking. , 1996, Ostomy/wound management.

[5]  Xavier Défago,et al.  Towards a Theory of Self-organization , 2005, OPODIS.

[6]  Shmuel Katz,et al.  Self-stabilizing extensions for message-passing systems , 1990, PODC '90.

[7]  Franck Petit,et al.  Enabling snap-stabilization , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[8]  Roger Wattenhofer,et al.  Efficient computation of maximal independent sets in unstructured multi-hop radio networks , 2004 .

[9]  Arobinda Gupta,et al.  Fault-containing self-stabilizing algorithms , 1996, PODC '96.

[10]  Roger Wattenhofer,et al.  Efficient computation of maximal independent sets in unstructured multi-hop radio networks , 2004, 2004 IEEE International Conference on Mobile Ad-hoc and Sensor Systems (IEEE Cat. No.04EX975).

[11]  Rajmohan Rajaraman,et al.  Accessing Nearby Copies of Replicated Objects in a Distributed Environment , 1997, SPAA '97.

[12]  Ajoy Kumar Datta,et al.  State-optimal snap-stabilizing PIF in tree networks , 1999, Proceedings 19th IEEE International Conference on Distributed Computing Systems.

[13]  Xavier Défago,et al.  Towards a Theory of Self-organization , 2005, OPODIS.

[14]  Felix C. Freiling,et al.  Time-Efficient Self-Stabilizing Algorithms through Hierarchical Structures , 2003, Self-Stabilizing Systems.

[15]  Shlomi Dolev,et al.  Optimal Time Self-Stabilization in Uniform Dynamic Systems , 1998, Parallel Process. Lett..

[16]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

[17]  Hongwei Zhang,et al.  GS3: scalable self-configuration and self-healing in wireless networks , 2002, PODC '02.

[18]  Shlomi Dolev,et al.  SuperStabilizing protocols for dynamic distributed systems , 1995, PODC '95.

[19]  David Peleg,et al.  Bubbles: adaptive routing scheme for high-speed dynamic networks , 1995, STOC '95.

[20]  Murat Demirbas,et al.  FLOC : A Fast Local Clustering Service for Wireless Sensor Networks , 2004 .

[21]  R HenzingerMonika,et al.  Randomized fully dynamic graph algorithms with polylogarithmic time per operation , 1999 .

[22]  Michael Luby,et al.  A simple parallel algorithm for the maximal independent set problem , 1985, STOC '85.

[23]  Shlomi Dolev,et al.  Empire of Colonies: Self-stabilizing and Self-organizing Distributed Algorithms , 2006, OPODIS.

[24]  Boaz Patt-Shamir,et al.  Asynchronous and Fully Self-stabilizing Time-Adaptive Majority Consensus , 2005, OPODIS.

[25]  Roger Wattenhofer,et al.  What cannot be computed locally! , 2004, PODC '04.

[26]  Helmut Prodinger,et al.  A result in order statistics related to probabilistic counting , 1993, Computing.

[27]  Shay Kutten,et al.  Tight fault locality , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[28]  George Varghese Self-stabilization by counter flushing , 1994, PODC '94.

[29]  Yehuda Afek,et al.  Local Stabilizer , 2002, J. Parallel Distributed Comput..