LSRP: Local Stabilization in Shortest Path Routing
By
Anish Arora Hongwei Zhang
Presented By:
Ankit Malhotra
Local Self Stabilization : Need
Network
Local Self Stabilization : Need
Fault
Fault PropagationWave
Network
Local Self Stabilization : Need
Correction Wave
Fault PropagationWave
Corrected Node
Network
Local Self Stabilization : Need
Correction Wave
Fault PropagationWave
Network
Local Self Stabilization : Need
Correction Wave
Fault PropagationWave
Network
Local Self Stabilization : Need
Correction Wave
Hence Unbounded Fault Propagation is not acceptable.
Because it will affect large part (if not whole) system before it is rectified.
Network
Overview
The Basics Local Stabilization – Definitions and
Properties LSRP Protocol Conclusion
The Basics
The protocol is written using the guarded command notation<name> : <guard> ------> <statement>
e.g. S1 : (i=r & d.i=0) | (ghost.i & SP.i) -----> p.i=i
At system state q, System topology : G.q(V.q,E.q) State of node i : q(i)
Local Stabilization
F-Local Stabilization Faults be contained locally around where they occurred. Time taken for the system to stabilize is a function of the
size of the perturbed region.
LocallyContainedFault Regions
Definite Time which is proportional to size of perturbed region
Correction
Local Stabilization (Contd.)
Definitions Dependent Set, DSq(V’,E’) Perturbation Size, P(q) Potentially Perturbed Nodes, PP(q) Perturbed Node Set, PN(q)
Implies, the set of nodes dependant on V’ and E’ at a legitimate system state q.
Local Stabilization (Contd.)
Definitions Dependent Set, DSq(V’,E’) Perturbation Size, P(q) Potentially Perturbed Nodes, PP(q) Perturbed Node Set, PN(q)
0
1
2
1
2
3
4
5
3
4
5
6
4
5
For this node, DS is
Local Stabilization (Contd.)
Definitions Dependent Set, DSq(V’,E’) Perturbation Size, P(q) Potentially Perturbed Nodes, PP(q) Perturbed Node Set, PN(q)
Equals to the minimum number of nodes whose states either have been corrupted or whose variables have to be changed for stabilization
Local Stabilization (Contd.)
Definitions Dependent Set, DSq(V’,E’) Perturbation Size, P(q) Potentially Perturbed Nodes, PP(q) Perturbed Node Set, PN(q)
0
1
2
1
2
3
4
5
2
4
5
6
4
5
State Corruption
Perturbation Size = 1
0
1
2
1
2
3
4
5
4
5
6
4
5
Node Failure
Perturbation Size =3
Local Stabilization (Contd.)
Definitions Dependent Set, DSq(V’,E’) Perturbation Size, P(q) Potentially Perturbed Nodes, PP(q) Perturbed Node Set, PN(q)
The set of node sets that can be potentially corrupted because of a node failure or state corruption in their parent tree.
Local Stabilization (Contd.)
Definitions Dependent Set, DSq(V’,E’) Perturbation Size, P(q) Potentially Perturbed Nodes, PP(q) Perturbed Node Set, PN(q)
0
1
2
1
2
3
4
5
2
4
5
6
4
5
State Corruption
PP(q)
0
1
2
1
2
3
4
5
4
5
6
4
5
Node Failure
PP(q)
Local Stabilization (Contd.)
Definitions Dependent Set, DSq(V’,E’) Perturbation Size, P(q) Potentially Perturbed Nodes, PP(q) Perturbed Node Set, PN(q)
The set of nodes that are perturbed in state q. It is a subset of the Potentially Perturbed Nodes, PP(q).
Local Stabilization (Contd.)
Definitions Dependent Set, DSq(V’,E’) Perturbation Size, P(q) Potentially Perturbed Nodes, PP(q) Perturbed Node Set, PN(q)
0
1
2
1
2
3
4
5
2
4
5
6
4
5
State Corruption
PN(q)
0
1
2
1
2
3
4
5
4
5
6
4
5
Node Failure
PN(q)
Local Stabilization (contd)
Properties of such systems maximum distance the faults can propagate
outwards is O(F(P(q))) local stabilization of one region is
independent and concurrent of the others. availability of G is high guarantee local fault containment with
repeated faults.
Problem Statement
Design a protocol that given a system G, constructs and maintains a spanning tree T of G such that: Destination ‘r’ is the root of T
T is the shortest path tree G is F-local stabilizing
Node ‘r’
Existing Solutions
Faults cannot be contained
Existing Solutions
Faults cannot be contained F-Local Stabilization is not guaranteed
Existing Solutions
Faults cannot be contained F-Local Stabilization is not guaranteed routing instability
The Problemand
Suggested Solution
Node of Fault Propagation to initiate a “Containment” action that moves faster than the stabilization (“Fault Propagation”) action.
“Corrective” action always lags behind “Fault propagation” action
Containment Wave
Fault Propagation Wave
Correction Wave
The Problemand
Suggested Solution
Node of Fault Propagation to initiate a “Containment” action that moves faster than the stabilization (“Fault Propagation”) action.
“Corrective” action always lags behind “Fault propagation” action
Containment Wave
Fault Propagation Wave
Correction Wave
The Problemand
Suggested Solution
Node of Fault Propagation to initiate a “Containment” action that moves faster than the stabilization (“Fault Propagation”) action.
“Corrective” action always lags behind “Fault propagation” action
Containment Wave
Fault Propagation Wave
Correction Wave
The Problemand
Suggested Solution
Node of Fault Propagation to initiate a “Containment” action that moves faster than the stabilization (“Fault Propagation”) action.
“Corrective” action always lags behind “Fault propagation” action
Containment Wave
Fault Propagation Wave
Correction Wave
The Problemand
Suggested Solution
Node of Fault Propagation to initiate a “Containment” action that moves faster than the stabilization (“Fault Propagation”) action.
Containment Wave
Fault Propagation Wave
“Corrective” action always lags behind “Fault propagation” action
Correction Wave
One Problem
•It could happen that the containment wave is mistakenly initiated by state corruption. To prevent that the super containment wave is introduced.
•It is essential, that the Super Containment Wave must self stabilize itself locally upon perturbations.
•This is achieved by ensuring that the super containment wave only uses the variables defined for the stabilization wave and containment wave.
Protocol Design
Constants : r, ds, dc, dsc, L, and U
Variables : d.i, p.i, ghost.i, N.i, k
Actions S1 S2 C1 C2 SC
Stabilization
Containment
Super Containment
r: The ID of the destination node
ds: Inverse of Propagation speed of stabilization wave
dc: Inverse of Propagation speed of stabilization wave
dsc: Inverse of Propagation speed of stabilization wave
L & U: any constants such that 0<=L<=U.
Protocol Design
Constants : r, ds, dc, dsc, L, and U
Variables : d.i, p.i, ghost.i, N.i, k
Actions S1 S2 C1 C2 SC
Stabilization
Containment
Super Containment
d.i: shortest distance from i to r.
p.i: next hop on the shortest path from i to r.
ghost.i: boolean variable for knowing if i is involved in
containment wave or not.
N.j: The neighbohood set of j
k: dummy variable
Protocol Design
Constants : r, ds, dc, dsc, L, and U
Variables : d.i, p.i, ghost.i, N.i, k
Actions S1 S2 C1 C2 SC
S1: If node ‘i’ is a minimal node but p.i != i, set p.i = i
Stabilization
Containment
Super Containment
1
11
0
11
0
10
22
11
22
0
Protocol Design
Constants : r, ds, dc, dsc, L, and U
Variables : d.i, p.i, ghost.i, N.i, k
Actions S1 S2 C1 C2 SC
Stabilization
Containment
Super Containment
S2: If node i should propagate a stabilization wave from j, that is not being involved in any containment wave, then i sets j as its parent and updates d.i, ghost.i to d.j+1, false respectively
Protocol Design
Constants : r, ds, dc, dsc, L, and U
Variables : d.i, p.i, ghost.i, N.i, k
Actions S1 S2 C1 C2 SC
Stabilization
Containment
Super Containment
0
1
2
1
2
3
4
5
1
4
5
6
4
5
Here node j should initiate a stabilization wave from j,So it updates d.i and ghost.i
0
1
2
1
2
3
4
5
1
4
5
6
2
5
i
i
j
j
Protocol Design
Constants : r, ds, dc, dsc, L, and U
Variables : d.i, p.i, ghost.i, N.i, k
Actions S1 S2 C1 C2 SC
Stabilization
Containment
Super Containment
C1: If ghost.i = false, but it is a source of fault propagation, or it should propagate a containment wave from its parent, then i sets ghost.i=true. Also if i is the source of fault propagation, it sets p.i=i
Protocol Design
Constants : r, ds, dc, dsc, L, and U
Variables : d.i, p.i, ghost.i, N.i, k
Actions S1 S2 C1 C2 SC
Stabilization
Containment
Super Containment
0
1
2
1
2
3
4
5
1
4
5
6
2
5
i
j
Here node j realizes that d.j is shortest amongst its neighbors, so it is the source of fault propagation and hence it initiates a containment wave.
0
1
2
1
2
3
4
5
1
4
5
6
2
5
i
j
ghost.j=false
ghost.j=true
Protocol Design
Constants : r, ds, dc, dsc, L, and U
Variables : d.i, p.i, ghost.i, N.i, k
Actions S1 S2 C1 C2 SC
Stabilization
Containment
Super Containment
C2: If node i is involved in a containment wave, but i has no child k that is perturbed due to state corruption at i, then i sets ghost.i=false and
•If i is r, then d.i=0 and p.i=I
•If there exists a parent substitute of i, then d.i=d.j+1 and p.i=j, else
•d.i=∞ and p.i=i
Protocol Design
Constants : r, ds, dc, dsc, L, and U
Variables : d.i, p.i, ghost.i, N.i, k
Actions S1 S2 C1 C2 SC
Stabilization
Containment
Super Containment
0
1
2
1
2
3
4
5
1
4
5
6
2
5
i
j
ghost.j=true
0
1
2
1
2
3
4
5
3
4
5
6
2
5
i
j
ghost.j=false
j’
j’
Here j’ serves as a parent substitute of j.
Protocol Design
Constants : r, ds, dc, dsc, L, and U
Variables : d.i, p.i, ghost.i, N.i, k
Actions S1 S2 C1 C2 SC
Stabilization
Containment
Super Containment
SC: If node i is involved in a containment wave and,
•It is the destination node and d.i = 0, or
•Neither it is a source of fault propagation nor is its parent involved in any containment wave.
then, i sets ghost.i=false.
Protocol Design
Constants : r, ds, dc, dsc, L, and U
Variables : d.i, p.i, ghost.i, N.i, k
Actions S1 S2 C1 C2 SC
Stabilization
Containment
Super Containment
0
1
2
1
2
3
4
5
4
4
5
6
4
5
i
j
This value of node j will make i become a source of fault propagation and initiate a containment wave. But after initiating the containment wave it will realize that it should’nt. Hence it would initiate a super containment wave which will stop the
mistakenly initiated containment wave.
SPEED? Is it F-Local Stabilizing
SPEED? Is it F-Local Stabilizing
Yes, Since SPEED only takes the routing decisions till the best
neighbor and not destination, any faults at a node, x will be contained in the neighborhood of x only. Hence it is F-local,
Also since SPEED does have a inherent stabilization function (Beacon Exchange) it will self stabilize. Hence SPEED is F-Local Stabilizing.
In fact we can generalize, any protocol that makes its decision based only its immediate neighbors without keeping the destination in context is F-Local Stabilizing if they have a local stabilizing function.
Conclusion and Discussion
What happens if the perturbed regions overlap?
Conclusion and Discussion
What happens if the perturbed regions overlap? What happens if there happens a state corruption?
after the super containment wave is sent out, which changes the value of ghost.i back to true?
Conclusion and Discussion
What happens if the perturbed regions overlap? What happens if there happens a state corruption?
after the super containment wave is sent out, which changes the value of ghost.i back to true?
How can u prove that the super containment wave cannot go out because of some state corruption?
Conclusion and Discussion
What happens if the perturbed regions overlap? What happens if there happens a state corruption?
after the super containment wave is sent out, which changes the value of ghost.i back to true?
How can u prove that the super containment wave cannot go out because of some state corruption?
The paper puts forth that the algorithm described for self stabilizing is applicable in general. How?
Thank You