# Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu.

## Presentation on theme: "Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu."— Presentation transcript:

Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu

A Self-Stabilizing Distributed Algorithm to Construct An Arbitrary Spanning Tree of a Connected Graph Gheorghe Antonoiou, Pradip K Srimani (1995)

3/35 Motivation Self-Stabilizing Algorithms  Malfunctions and perturbations bring the system to some illegitimate state  It is desirable that the system be automatically brought back to the legitimate state without the interference of an external agent  Systems that reach the legitimate state starting from any illegitimate state in a finite number of steps are called self- stabilizing systems  This kind of property is highly desirable for any distributed system, since without having a global memory, global synchronization is achieved in finite time and thus the system can correct itself automatically from spurious perturbation or failures.

4/35 Motivation Every node in a self-stabilizing system has a set of rules, each rule having two parts  Antecedent part (boolean condition)  Action part A node is said to be privileged if the antecedent part of some rule is true for that node. Privileged nodes execute their action part (make a move)  Changing the local state  Changing the values of the local variables Any privileged node that makes a move is called an active node.

5/35 Motivation The objective of this work is to develop a self-stabilizing algorithm that maintains any arbitrary spanning tree There exist self-stabilizing algorithms for the spanning tree problem but these algorithms always construct a breadth-first spanning tree; they cannot recognize an arbitrary spanning tree The algorithm also allows multiple active nodes at the same time

6/35 The Algorithm Definitions  r: Root node  n: number of nodes in the graph  N(i): set of the neighbors of node i  L(i): level of node i  P(i): predecessor pointer of node i, pointing to one of the nodes in V. The basic idea is whenever the system is in an illegitimate state at least one of the nodes should be able to recognize it and should take some corrective action

7/35 The Algorithm Predicate 1:  The system is in a legitimate (stable) state iff

8/35 The Algorithm Predicate 2: The predicate is true for a node i iff there exists at least one neighbor of node i with a level less than that of node i

9/35 The Algorithm The rule at node i: Reminder:

10/35 The Algorithm Remarks:  The root node may be privileged in an illegitimate state, but once it takes action it becomes un privileged and can never be privileged again. This is not true for other nodes  If a privileged node changes only its level value (and not the predecessor), we call this a type I move; otherwise if it changes both its level and predecessor we call it a type II move  If a privileged node makes a type II move, it becomes un privileged and remains so until the new predecessor node takes some action; if a privileged node makes a type I move, it may still be privileged after the move.  The root node r is privileged iff ; any other node is privileged iff

11/35 The Algorithm Example Operation:

A Self-Stabilizing Distributed Algorithm to Construct BFS Spanning Trees of a Symmetric Graph Sumit Sur, Pradip K Srimani (1992)

13/35 The Algorithm The objective of the algorithm is to construct a BFS spanning tree on an arbitrary connected symmetric graph  The algorithm is similar to the previous one, only small changes in the predicates and rules  Following subset is defined:  Predicate:

14/35 The Algorithm In any connected symmetric graph, the legitimate state represents a BFS spanning tree Proof. Root node has level 0, and all its neighbors have level 1. Similarly all neighboring nodes of the level 1 nodes except r have a level of 2. Repeating this argument for all the nodes, we see that the predecessor pointers give a BFS spanning tree

15/35 The Algorithm The algorithm has one rule for the self-stabilization property:

16/35 The Algorithm Example: r,0a,5 b,4c,5 d,4 e,5 r,0a,5 b,4c,5 d,4 e,5 r,0a,5 b,4c,1 d,4 e,5 r,0a,5 b,4c,1 d,1 e,5

17/35 The Algorithm Example: r,0a,1 b,4c,1 d,1 e,5 r,0a,1 b,2c,1 d,1 e,5 r,0a,1 b,2c,1 d,1 e,2

Self-Stabilizing Multicast Protocols for Ad-Hoc Networks Sandeep K.S. Gupta, Pradip K Srimani (2002)

19/35 Motivation Two distributed algorithms are proposed  Shortest path spanning tree (SPST) SPST is a distributed self-stabilizing algorithm which maintains a shortest-path tree rooted at the center node (r)  Minimal spanning tree (MST) MST is a distributed self-stabilizing algorithm which maintains minimal weight spanning tree on a uniquely weighted graph

20/35 SPST Algorithm A center based multicast tree is shared by all the multicast group members When a source wants to multicast a message, it sends the message to the center node (r) A good center finding algorithm is assumed to find the center node

21/35 SPST Algorithm Definition:  The shortest path spanning tree of a given symmetric graph is defined to be a spanning tree of the graph where the distance of each node from the given root in the tree is equal to the shortest distance of the node from the root node in the original graph  S i (r) is the length of the shortest path from node i to r  D i (r) is the current estimate of S i (r) at node i  P i is the predecessor pointer of node i  N(i) contains neighboring nodes of i that are currently estimated shortest paths from node i to r

22/35 SPST Algorithm In an illegitimate state, any node i, including the reference node r  Can have an arbitrary value for D i (r) between 0 and some large positive number (MAXINT)  Can point to an arbitrary node to be its predecessor in the shortest path spanning tree The system is inthe legitimate state iff Any state which is not legitimate is an illegitimate or unstable state

23/35 SPST Algorithm The idea is that whenever the system is in an illegitimate state, at least one node recognizes it and takes corrective action Each node looks at the states of its adjacent neighbors and checks the local satisfiability of the global legitimate state Each node executes the following code

24/35 MST Algorithm The minimal spanning tree (MST) of the graph is defined to be a spanning tree of the graph such that the sum of the weights of the edges inthe tree is less than or equal to that for all possible spanning trees of the graph REMARK: If the weights of a graph are unique (distinct), the graph has a unique MST

25/35 MST Algorithm Definitions:  α-cost of any path from node i to j is defined to be the maximum of the weights of the edges belonging to the path  ψ ij is defined to be the minimum among the α-cost of all possible paths between the nodes i and j  Minimum-α path is the path along which ψ ij is defined (not the shortest path)  D(i) the current estimate of ψ ir as known at node i  L(i) level of node i, the current estimate of the number of edges on the minimum α-cost path First develop a self-stabilizing algorithm to find minimum-α cost path and generalize it

26/35 MST Algorithm - Minimum-α cost path Minimum-α cost path  Each node i attempts to compute the α-cost of the shortest path to the node r  Each node maintains two data structures: D(i) and L(i)  The pair (D(i),L(i)) gives the state of the node i Definitions:  is the set of nodes which have level values smaller than a constant C .

27/35 MST Algorithm - Minimum-α cost path

28/35 MST Algorithm - Minimum-α cost path In a legitimate state, L(r) = D(r) = 0 In a legitimate state, any node x other than r, with L(x) < C has N c (X) != Ø and has at least one neighbor y such that L(y) = L min (x) - 1 In a legitimate state, when no node is privileged, for any arbitrary node x, L(x) < C In a legitimate state, when no node is privileged, for any arbitrary node x, we have D(x) = ψ xr The protocol terminates, i.e., the system reaches a legitimate state after at most n rounds, where n is the number of nodes in the graph

29/35 MST Algorithm Instead of the simple local variable D(i), each node i now maintains a local array D i [1...n] And instead of the simple local variable L(i) each node i now maintains a local array L i [1...n] The value of D i [j] gives the cost of the minimum-α cost path from node i to j Similarly, the value of L i [j] is the value of the level of node i with respect to the implicit tree rooted at node j ψ ij denotes the cost of the minimum-α cost path from node i to node j for all i and Ω i at each node i keeps track of the MST edges incident on node i

30/35 MST Algorithm

31/35 MST Algorithm Construction of the MST is completed by at most n rounds The process of rooting the MST at the source node r takes at most n rounds, after the MST has stabilized The MST protocol stabilizes in at most 2n rounds

32/35 Questions...