470 likes | 565 Views
LSRP: Local Stabilization in Shortest Path Routing. By Anish Arora Hongwei Zhang Presented By: Ankit Malhotra ankit@virginia.edu. Local Self Stabilization : Need. Network. Local Self Stabilization : Need. Fault. Fault Propagation Wave. Network. Local Self Stabilization : Need.
E N D
LSRP: Local Stabilization in Shortest Path Routing By Anish Arora Hongwei Zhang Presented By: Ankit Malhotra ankit@virginia.edu
Local Self Stabilization : Need Network
Local Self Stabilization : Need Fault Fault Propagation Wave Network
Local Self Stabilization : Need Corrected Node Correction Wave Network Fault Propagation Wave
Local Self Stabilization : Need Network Correction Wave Fault Propagation Wave
Local Self Stabilization : Need Network Fault Propagation Wave Correction Wave
Local Self Stabilization : Need Hence Unbounded Fault Propagation is not acceptable. Because it will affect large part (if not whole) system before it is rectified. Network Correction Wave
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. Locally Contained Fault Regions Correction Definite Time which is proportional to size of perturbed region
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 1 2 2 For this node, DS is 3 3 4 4 4 5 5 5 6
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) State Corruption 0 0 1 1 1 1 2 2 2 2 Node Failure 2 3 3 4 4 4 4 4 4 5 5 5 5 5 5 6 6 Perturbation Size = 1 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) State Corruption 0 0 1 1 1 1 2 2 2 2 Node Failure 2 3 3 4 4 4 4 4 4 5 5 5 5 5 5 6 6 PP(q) 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) State Corruption 0 0 1 1 1 1 2 2 2 2 Node Failure 2 3 3 4 4 4 4 4 4 5 5 5 5 5 5 6 6 PN(q) 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 ProblemandSuggested 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 Correction Wave Fault Propagation Wave Containment Wave
The ProblemandSuggested 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 Correction Wave Fault Propagation Wave Containment Wave
The ProblemandSuggested 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 Correction Wave Fault Propagation Wave Containment Wave
The ProblemandSuggested 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 Correction Wave Fault Propagation Wave Containment Wave
The ProblemandSuggested 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 Correction Wave Fault Propagation Wave Containment 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 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. Stabilization Containment Super Containment
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 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 Stabilization Containment Super Containment
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 1 0 1 1 0 1 2 2 Containment Super Containment 0 0 1 1 1 1 2 2
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 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 Stabilization Containment Super Containment
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 0 Here node j should initiate a stabilization wave from j, So it updates d.i and ghost.i 1 1 2 2 j Stabilization 1 3 i 4 4 4 5 5 5 Containment 0 6 1 1 2 2 Super Containment j 1 3 i 4 4 2 5 5 5 6
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 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 Stabilization Containment Super Containment
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 0 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. 1 1 2 2 j Stabilization 1 3 ghost.j=false i 4 4 2 5 5 5 Containment 6 0 1 1 2 Super Containment 2 j 1 3 i ghost.j=true 4 4 2 5 5 5 6
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 • 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 Stabilization Containment Super Containment
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 0 Here j’ serves as a parent substitute of j. 1 1 j’ 2 2 j Stabilization 1 3 i ghost.j=true 4 4 2 5 5 5 Containment 6 0 1 1 j’ 2 Super Containment 2 j 3 3 i ghost.j=false 4 4 2 5 5 5 6
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 • 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. Stabilization Containment Super Containment
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 0 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. 1 1 2 Stabilization 2 j 4 3 i 4 4 4 Containment 5 5 5 Super Containment 6
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?