UCB Routing Jean Walrand U.C. Berkeley
UCB Outline Shortest Path Objective Bellman-Ford Dijkstra Adaptive Routing QoS Routing
UCB Shortest Path Objective: Find shortest path between two nodes (e.g., S and D) in a graph Example: Note: Myopic shortest path is not optimal! S D
UCB Shortest Path - Continued “Dynamic Programming” or Bellman-Ford: S D S D = min{3 + 3, 4 + 1} 7 = min{1 + 7, 2 + 5}
UCB Shortest Path - continued Dijkstra: S D
UCB Dynamic Routing Base route on “congestion” Example: 0.3ms 0.1ms 0.2ms 0.25ms 0.4ms 0.5ms
UCB Dynamic Routing - continued Difficulty: Oscillations 0.1ms 0.8ms 0.1ms
UCB Quality of Service Routing Shortest Path: Single Additive “Cost” length(path) = sum of length(link) Shortest length = A Shortest length = B a b Shortest length = min{a + A, b + B}
UCB Quality of Service Routing (cd) Maximum Bandwidth bandwidth(path) = minimum of bandwidth(link) Max. bw = A Max. bw = B a b Max bw = max{min{a, A}, min{b, B}}
UCB Quality of Service Routing (cd) Multi-objective: e.g., (delay, bw) (min. d = 3, max. bw = 10) (min. d = 6, max. bw = 15) (min. d = 3, max. bw = 10) or (min. d = 6, max. bw = 15)
UCB Quality of Service Routing (cd) Example (4, 18) (2, 14) (8, 30) (4, 12) (5, 15) (4, 20) (3, 10) (4, 20) (7, 30) D [Min d, Max bw] (d, bw)[12, 20] [7, 10] [8, 10] [11, 20] A [16, 18] B [11, 10] C [10, 10] D [13, 14] Better d Better bw A D BC