240 likes | 410 Views
Chapter 13 . Graph Theory. Graph Theory Basics. Spanning Tree. A spanning tree is a tree that contains all of the vertices, but does not have cycles. Breadth-first search. Produces shortest hop distance spanning tree Don’t add edges if they form a cycle. Least Cost Routing Algorithms.
E N D
Chapter 13 Graph Theory
Spanning Tree A spanning tree is a tree that contains all of the vertices, but does not have cycles
Breadth-first search Produces shortest hop distance spanning tree Don’t add edges if they form a cycle
Least Cost Routing Algorithms • Dijkstra • Find the least cost spanning tree by • Selecting closest node not in spanning tree • Updating the cost to all other nodes if they are made lower by passing through this new node. • Bellman-Ford • Find shortest paths from a source vertex with one link, then find the shortest paths with two links
Dijkstra V4=1,V2=2,V3=5 V2=2,V3=4,V5=2 V3=4,V5=2, V3=3, V6=4, V6=4, Just determined cost, not path
Comparison • Dijkstra • O(V2) • Requires global knowledge from all routers • Bellman Ford • O(L*V) • Requires updates from neighbors at each step
Multi-criteria Routing • Bandwidth is concave; delay and delay jitter are additive. • Bandwidth m(P) = minfm(s; i);m(i; j); :::; m(l; t)g.
NP-complete • There are two NP-complete problem classes, path-constrained path-optimization routing(PCPO) and multi-path-constrained routing (MPC) • An example of PCPO is the delay-constrained least-cost routing. • find the least-cost path with bounded delay. • An example of MPC is the delay-delayjitter-constrained routing. • find a path with both bounded delay and bounded delay jitter. Shigang Chen dissertation, ROUTING SUPPORT FOR PROVIDING GUARANTEED END-TO-END QUALITY-OF-SERVICE, Computer Science in the Engineering College of the University of Illinois at Urbana-Champaign, 1999
NP-complete • NP-complete, we have two assumptions: • the QoS metrics are independent, and • they are allowed to be real numbers or unbounded integer numbers. • If all metrics except one take bounded integer values, then the problems are solvable in polynomial time by running an extended Dijkstra's (or Bellman-Ford) algorithm. • If all metrics are dependent on a common metric, then the problems may also be solvable in polynomial time. • For example, if the worst-case delay and delay jitter are functions of bandwidth in networks using the WFQ scheduling.
Wang-Crowcroft algorithm • Wang-Crowcroft algorithm finds a bandwidth-delay-constrained path by Dijkstra's shortest-path algorithm. • First, all links with a bandwidth less than the requirement are eliminated so that any paths in the resulting graph will satisfy the bandwidth constraint. • Then, the shortest path in terms of delay is found. The path is feasible if and only if it satisfies the delay constraint.
Ma-Steenkiste algorithm • Ma and Steenkiste showed that when a class of WFQ are used, the end-to-end delay, delay-jitter, and buffer space bounds are not independent. • They are functions of the reserved bandwidth, the selected path and the traffic characteristics. • Therefore, the problem of finding a path satisfying bandwidth, delay, delay-jitter and buffer space constraints, which is NP-complete in general can be simplified.
Awerbuch et al algorithm • Awerbuch et al. proposed a throughput-competitive routing algorithm for bandwidth-constrained connections. • The algorithm tries to maximize the amortized (average) throughput of the network over time. • Every link is associated with a cost function that is exponential to the bandwidth utilization. • A new connection is admitted into the network only if there exists a path whose accumulated cost over the duration of the connection does not exceed the profit that is measured by the bandwidth-duration product of the connection.
multi-path-constrained routing (MPC) problem • An example of the MPC problem is the delay-cost-constrained routing, i.e., finding a route between two nodes in the network with both end-to-end delay and end-to-end cost bounds. • The MPC problem is difficult because different path constraints can conflict with one another and create an exponentially large searching space.
Multi-path-constrained routing problem (MPC): • Given a directed graph G(V,E), a source node s, a destination node t, two weight functions w1 : E →R+ and w2 : E → R+ • two constants c1 R+ and c2 R+ • the problem, denoted as MPC(G; s; t; w1; w2; c1; c2), is to find a path P from s to t such that w1(P)<=c1 and w2(P)<=c2 if such a path exists.
Results Provable lower bound