230 likes | 323 Views
QoS Routing. Hanoch Levy March 2001. b. source. Destination. f. c. e. What is Routing. Need to find a route from source to destination. Single Objective Routing. b. Assign certain weights (additive, typically, hopefully) to edges of graph.
E N D
QoS Routing Hanoch Levy March 2001 Hanoch Levy, CS, TAU
b source Destination f c e What is Routing Need to find a route from source to destination Hanoch Levy, CS, TAU
Single Objective Routing b • Assign certain weights (additive, typically, hopefully) to edges of graph. • Find “shortest” route from source to destination (the route for which the SUM of weights is minimal). S f D e c Hanoch Levy, CS, TAU
12 b S 10 D f 4 6 5 7 c e 5 1. Shortest hop-count: S-b-D = 2 2. Shortest edge length: S-c-e-D = 17 Hanoch Levy, CS, TAU
Marks are delay over edge: Delay is additive Yields minimum delay path Marks are edge costs: Cost is additive Yields minimum cost path 12 b S 10 D f 4 6 5 7 c e 5 Use of Single objective Routing to achieve certain QoS Hanoch Levy, CS, TAU
Marks are jitter over edge: Jitter is additive? Depends on definition E.g. – if jitter is max delay difference between neighboring packets: additive. Yields minimum jitter path (if additive) 12 b S 10 D f 4 6 5 7 c e 5 Use of Single objective Routing to achieve certain QoS Hanoch Levy, CS, TAU
Marks are available bandwidth over edge: Is Bandwidth additive? No But: is subject to MIN operation and can fit under this transformation to algorithms . Yields Maximum bandwidth path 12 b S 10 D f 4 6 5 7 c e 5 Use of Single objective Routing to achieve certain QoS Hanoch Levy, CS, TAU
Marks are Probability of loss over edge: Is loss additive? No Multiplicative: 1-L=(1-L1)(1-L2) Log is additive (or, can modify algorithm to deal with products) If loss is small, approximately additive Can use algorithm for Minimal loss path. 12 b S 10 D f 4 6 5 7 c e 5 Use of Single objective Routing to achieve certain QoS Hanoch Levy, CS, TAU
Put all nodes in not-finalized with distance infinity. Distance (S) 0. vS Add v to finalized For all edges e from v to u (u in not) do: Update distance(u) using MIN operation. Select minimal weight node in not-finalized, denote it v, and go to 4. 12 b S 10 D f 4 6 5 7 c e 5 Dijkstra’s Algorithm Hanoch Levy, CS, TAU
Works for non-negative weights. Complexity 1: Updating all edges : O(E) Finding MIN, V times: Complexity 2: Implement binary heap: Complexity 3: Implement Fibonacci Heap All operations but deletemin are in O(1) amortized. Thus: 12 b S 10 D f 4 6 5 7 c e 5 Dijkstra’s Algorithm: properties Hanoch Levy, CS, TAU
Centralized algorithm in nature Hard to distribute. Result is shortest path from S to D With a little more effort (and same worst case) – get shortest path from S to ALL. 12 b S 10 D f 4 6 5 7 c e 5 Dijkstra’s Algorithm: properties (cont) Hanoch Levy, CS, TAU
BellMan Ford Algorithm • Algorithm Bellman Ford: • For i=1 to |V| do • For each edge (v,u) do relax(u,v) • End • Relax:= d(u) := min { d(u), d(v) + w((v,u))} Hanoch Levy, CS, TAU
BellMan Ford Algorithm: Properties • Complexity: O(VE) • Can conduct in a distributed mode on a graph: • Each node u performs: • For each edge e=v u do: d(u):=min {d(u), d(v)+w(e)} • Distributed algorithms for network routing based on BF. Hanoch Levy, CS, TAU
Multi Constraint Routing • Two weight functions, w1, w2. • Problem: Find a path from S to D such that • Problem is NP complete • Heuristic solution in polynomial time Hanoch Levy, CS, TAU
Heuristic Solution • Due to: S. Chen, K.Nahrstedt, 1998, “On Finding Multi-Constrained Paths”, IEEE ICC ’98, June 1998. • Problem Transformation: Make the second weight discrete: W2 can get only discrete values. • Example: weights are only the integers. Costs in whole dollars. • Note: practically it affects problem very little (depending on GRANULRITY of weights). • Theorem 1: A solution to transformed problem is a solution to original problem. • Reverse: If no solution found to transformed problem, there may exist a solution to the original problem. Hanoch Levy, CS, TAU
We have two objectives: D1, D2. During the algorithm each node is marked with two distances : (d1, d2). D1 is continuous while D2 is discrete with g values. Each real node v is represented by g virtual nodes, one for each value of the 2nd distance. We mark this node (v, g). Initially we set D(v,g) = infinity. Put all nodes (v,g) in not-finalized. 6. D (S, 0) 0. 7. (v,g) (S,0) Add (v,g) to finalized For all edges e from v to u do: Consider the node (u, g+g’) where g’ is the second weight of the edge e. Update the distance of (u, g+g’) to: Min {D(v,g) +D(e), D(u,g+g’} Select minimal weight node in not-finalized, denote it (v,g), and go to 8. Approach of Solution (Dijkstra version) Hanoch Levy, CS, TAU
12 12 12 b b b S S S 10 10 10 D D D f f f 4 4 4 6 6 6 5 5 5 7 7 7 e e e c c c 5 5 5 Approach of Solution (Dijkstra version): cont 0 1 2 Hanoch Levy, CS, TAU
Put all nodes in not-finalized with distance infinity. Distance (S) 0. vS Add v to finalized For all edges e from v to u (u in not) do: Generate a new node (u,g) where distance is sum of distances and g is sum of constraints.Update distance(u) using MIN operation Select minimal weight node in not-finalized, denote it v, and go to 4. 12 b S 10 D f 4 6 5 7 e c 5 Approach of Solution (Dijkstra version) Hanoch Levy, CS, TAU
Complexity of Solution • Time Complexity: • Where g= granularity of constraint (the number of different values the constraint can get). • If Fibonacci heap is used: Hanoch Levy, CS, TAU
BellMan Ford Version • Use a similar approach (“virtual nodes at g layers) and run BF on it. • Time Complexity: • Where g= granularity of constraint (the number of different values the constraint can get). Hanoch Levy, CS, TAU
Lagrange Relaxation Based Method for the QoSRouting Problem • Alp´ar J¨uttner, Bal´azs Szviatovszki, Ildik´o M´ecs, Zsolt Rajk’o, INFOCOM 2001 • Consider the one objective to be minimized (cost) and one constraint (delay) to be met. • Each edge has two weights w1(e) and w2(e). • Want to minimize the two objectives (or minimize one while constraining the other). • Approach : consider an objective function of linear sum of the two: w1 + w2. will be variable. • For given , run Dijkstra and find shortest route. • If w2 constraint is met: OK. Done. • Otherwise: decrease x and go back to 4. Hanoch Levy, CS, TAU
Lagrange Relaxation :cont • Procedure LARAC (s=source,t=tar,c=cost,d=delay,Ddel=max delay) • Pc:=Dijkstra (s,t,c) /* path of min cost */ • If d(Pc) < Ddel then return Pc /* if legal – done */ • Pd:=Dijkstra (s,t,d) /* path on min delay */ • If d(Pd) > Ddel then return (“no solution”) /* not ok -> no chance */ • Repeat • Lam:= {c(Pc)-c(Pd)}/{d(Pd)-d(Pc)} /* diff(cost)/diff(delay) */ • r:= Dijkstra (s,t, Clam) /* Clam = c+ lam * d • If Clam(r) = Clam (Pc) then return Pd:=r • Else if d(r) < Ddel then Pd:= r • Else Pc:=r • End repeat • End procedure Hanoch Levy, CS, TAU
References • S. Chen, K.Nahrstedt, 1998, “An Overview of Quality-of-Service Routing for the next generation High-Speed Networks: Problems and Solutions”, IEEE Network, Special Issue on Transmission and Distribution of Digital Video, Nov./Dec. 1998 • S. Chen, K.Nahrstedt, 1998, “On Finding Multi-Constrained Paths”, IEEE ICC ’98, June 1998. • T. H. Cormen, C. E. Leiserson, R. L. Rivest, 1995, “Introduction To Algorithms”, MIT Press. • H. de Neve, P. van Meighem, 2000, “TAMCRA: Tunable Accuracy Multiple Constraints Routing Algorithm”, Computer Communications, 23:667-679. • R Guerin, A. Orda, 1997, “QoS-Based Routing in Networks with Inaccurate Information: theory and Algorithms”, IEEE INFOCOM ’97, Japan, April 1997. • Alp´ar J¨uttner, Bal´azs Szviatovszki, Ildik´o M´ecs, Zsolt Rajk’o, “Lagrange Relaxation Based Method for the QoS Routing Problem”, IEEE INFOCOM’ 2001. Hanoch Levy, CS, TAU