310 likes | 481 Views
CprE 545: Fault Tolerant Systems. Finding disjoint paths in a network. Problem statement. Given a network and a source destination pair, find two paths that do not share any links or nodes. Variations on problem. Weaken constrains to only link disjoint
E N D
CprE 545: Fault Tolerant Systems Finding disjoint paths in a network CpRE 545 Fault Tolerant Systems (G. Manimaran)
Problem statement Given a network and a source destination pair, find two paths that do not share any links or nodes. CpRE 545 Fault Tolerant Systems (G. Manimaran)
Variations on problem • Weaken constrains to only link disjoint • Find link disjoint paths with minimal node/link sharing • Group links and nodes into risk groups that may fail simultaneously • Dual weight on links • Various optimization metrics • Undirected edges vs directed edges • Having multiple source destination pairs CpRE 545 Fault Tolerant Systems (G. Manimaran)
Link Disjoint / Minimal Node Disjoint Dst Src CpRE 545 Fault Tolerant Systems (G. Manimaran)
Duel Weighted Src2 Dst2 Request 1 primary Request 1 backup Request 2 possible route Cost less as backup Src1 Dst1 CpRE 545 Fault Tolerant Systems (G. Manimaran)
Shard Risk Link/Node Group Links share conduit and may fail simultaneously Nodes that may fail simultaneously due to shared power source, hacker, etc CpRE 545 Fault Tolerant Systems (G. Manimaran)
Optimizations for disjoint paths • Minimizing the shorter path (Min-Min) • Minimizing the sum of the paths (Min-Sum) • Minimize the length of the longer path (Min-Max) CpRE 545 Fault Tolerant Systems (G. Manimaran)
Source Destination Pairs Src1 Dst1 Src2 Dst2 CpRE 545 Fault Tolerant Systems (G. Manimaran)
Runs in polynomial time • Min-sum: Maximally node disjoint single cost with directed/undirected edges • Min-sum: Maximally link disjoint single cost directed/undirected edges • Min-sum: Many node disjoint paths directed/undirected • Disjoint paths between source destination pairs for fixed number of pairs, in an undirected network • Shared Resource Risk Groups if groups are subject to certain restrictions CpRE 545 Fault Tolerant Systems (G. Manimaran)
NP-Complete variants • Min-Min: Both single and dual cost • Min-Sum: For dual cost, many variants in this category • Min-Max: Both single and dual cost • Source destinations pairs for arbitrary number of pairs • Source destinations pairs in directed graph • Shared Risk Resource Groups for arbitrary groups CpRE 545 Fault Tolerant Systems (G. Manimaran)
Sample algorithm – Min Sum maximal node disjointness • To do this one finds the shortest path between source and destination in a graph. The graph is transformed and a new shortest path is found. These paths are then re-organized as needed to find two paths in the original graph. CpRE 545 Fault Tolerant Systems (G. Manimaran)
Min-Sum maximal node disjointness • Define the following • G = ( V , E) • L = sum of all edge weights in G • a = (|V|-1)*b • b = L • Let e be an edge with weight w CpRE 545 Fault Tolerant Systems (G. Manimaran)
Min-Sum maximal node disjoint – algorithm steps • Find shortest path between the source and destination • For every edge e along the shortest path add “a” to its link weight in the direction of the path and set the reverse weight to –w. • For every node along the path split the node into two nodes. One node has the incoming links, the other the outgoing links. Connect these nodes with a link of weight b in the paths direction and zero in the reverse. • There is an exception to the above. Both edges from the incoming path edge go onto the node that has the other original incoming links. Similarly both edges from the outgoing path edge go to the node with outgoing edges. CpRE 545 Fault Tolerant Systems (G. Manimaran)
Min-Sum maximal node disjoint – algorithm steps (contd.) • Find the shortest path on the transformed graph • Create two new paths from the shortest paths • Merge split vertices back together in paths • Start at the beginning of one path and start traversing it, adding nodes/edges to a new path as one goes • When an edge in both shortest paths is encountered, switch to its source node in the other shortest path and continue traversing. • The new path is completed when one reaches the destination during the transversal CpRE 545 Fault Tolerant Systems (G. Manimaran)
Example problem 2 1 1 Dst 1 Src 1 1 2 CpRE 545 Fault Tolerant Systems (G. Manimaran)
Shortest path in original graph 2 1 1 Dst 1 Src 1 1 2 CpRE 545 Fault Tolerant Systems (G. Manimaran)
Transformed graph 2 2 9 1 1 0 46 -1 Dst Dst 46 Src Src -1 1 -1 2 46 9 0 2 CpRE 545 Fault Tolerant Systems (G. Manimaran)
Shortest path in transformed graph 2 2 9 1 0 46 -1 Dst 46 Src -1 -1 1 46 2 9 0 2 CpRE 545 Fault Tolerant Systems (G. Manimaran)
Reorganizing paths 2 1 1 Dst 1 Src 1 1 2 CpRE 545 Fault Tolerant Systems (G. Manimaran)
Reorganizing paths Swapping paths 2 1 1 Dst 1 Src 1 1 2 CpRE 545 Fault Tolerant Systems (G. Manimaran)
Reorganizing paths Swapping paths 2 1 1 Dst 1 Src 1 1 2 CpRE 545 Fault Tolerant Systems (G. Manimaran)
Final output 2 1 1 Dst 1 Src 1 1 2 CpRE 545 Fault Tolerant Systems (G. Manimaran)
Partial second example 1 1 Src Dst CpRE 545 Fault Tolerant Systems (G. Manimaran)
Partial second example 5 Src Dst -1 -1 2 0 5 Notice, a second path was found CpRE 545 Fault Tolerant Systems (G. Manimaran)
Min-Sum maximal Edge disjointness • Define the following • G = ( V , E) • L = sum of all edge weights in G • b = L + k, where k > 0 • Let e be an edge with weight w CpRE 545 Fault Tolerant Systems (G. Manimaran)
Min-Sum maximal Edge disjoint – algorithm steps • Find shortest path between the source and destination • Transformed graph: For every edge e along the shortest path add “b” to its link weight in the direction of the path and set the reverse weight to –w. • Find shortest path in the transformed graph • Rearrange these two paths two obtain the desired disjoint paths CpRE 545 Fault Tolerant Systems (G. Manimaran)
Simple strategies - Node/Edge-disjointness (not optimal) • Basic idea: • Find the primary path (shortest path) • Remove the edges in the primary path – reduced graph (For node disjointness, remove all nodes along the primary path and associated edges) • Find shortest path in the reduced graph • Although it sounds the best strategy, the above approach is not optimal. CpRE 545 Fault Tolerant Systems (G. Manimaran)
Edge disjointness using simple strategy – not optimal F Primary path Secondary path 8 2 1 1 1 1 1 A B C D E 2 1 1 1 4 4 G H Cost of primary path (A,B,C,D,E) = 4 Cost of the backup path (A,G,B,H,E) = 8 Cost of both the paths = 12 CpRE 545 Fault Tolerant Systems (G. Manimaran)
Example – Combined optimization (optimal) F Primary path Secondary path 8 2 1 1 1 1 1 A B C D E 2 1 1 1 4 4 G H Cost of primary path (A,B,C,F,E) = 5 Cost of the backup path (A,G,B,H,D,E) = 6 Cost of both the paths = 11 CpRE 545 Fault Tolerant Systems (G. Manimaran)
References • D. Xu, Y. Chen, Y. Xiong, C. Qiao and X. He, On Finding Disjoint Paths in Single and Dual Link Cost Networks, IEEE INFOCOM'04, Hong Kong, Mar. 2004. • Pallab Datta and A. K. Somani "Diverse Routing for Shared Risk Resource Groups (SRRG's) in WDM optical networks" in BROADNETS 2004. • R. Bhandari, “Survivable Networks: Algorithms for Divsrse Routing.” Kluwer Academic Publishers, 1999 • J. Suurballe, “Disjoint paths in a network,” Networks, vol. 4. 125-145, 1974 • J Suurballe and R. Tarjan, “A quick method for finding shortest pair of disjoint paths,” Networks, vol. 14, pp.325-336, 1984 • B. Korte, L. Lovasz, H.J. Promel, A. Schrijver, Paths, Flows, and VLSI-Layout. Algorithms and Combinatorics 9. Springer-Verlag CpRE 545 Fault Tolerant Systems (G. Manimaran)