1 / 53

The connectivity of the Internet

The connectivity of the Internet. Thomas Erlebach University of Leicester Linda Moonen KULeuven Frits Spieksma KULeuven Danica Vukadinovi ć ETH Zürich. Example. A. B. t. s. C. Example. A. B. t. s. C. Modelling the Internet.

chika
Download Presentation

The connectivity of the Internet

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The connectivity of the Internet Thomas Erlebach University of Leicester Linda Moonen KULeuven Frits Spieksma KULeuven Danica Vukadinović ETH Zürich

  2. Example A B t s C

  3. Example A B t s C

  4. Modelling the Internet • Internet-based communication needs to be efficient, secure, and reliable • AS (autonomous system)  sub-network under separate administrative control • Three different types of relationships between ASs • Customer-provider • Peer-to-peer • Sibling

  5. Modelling the Internet • Model Internet as a graph: • ASs are vertices • Two ASs are connected by an edge if there is a physical link between them • Edges represent AS relationships:

  6. Modelling the Internet • Routing policies are taken into account • Example: customers do not act as transit AS for their providers

  7. Modelling the Internet • Routing policies are taken into account • Example: customers do not act as transit AS for their providers

  8. Modelling the Internet Valid paths in this model: • Zero or more forward arcs, followed by zero or more backward arcs: …… • Zero or more forward arcs, followed by one undirected edge, followed by zero or more backward arcs: ……

  9. Example A B t s C

  10. Example of a valid path A B t s C

  11. Example of an invalid path A B t s C

  12. Modelling the Internet Connectivity measures Vertex-disjoint paths Branch-and-Price algorithm Branch-and-Bound algorithm Computational results Conclusion Overview

  13. Number of vertex-disjoint paths Size of a minimum vertex-cut For ‘normal’ graphs: Both problems are easy to solve Max-flow = Min-cut For the Internet graph model: Both problems are NP-hard Max-flow  Min-cut Connectivity measures

  14. Example Question: what is the set of valid s-t paths? A B t s C

  15. Example Question: what is the set of valid s-t paths? Answer: {(s,A,B,t), (s,A,B,C,t), (s,A,C,B,t), (s,A,C,t), (s,C,B,t)} A B t s C

  16. Example Question: what is the set of valid s-t paths? Answer: {(s,A,B,t), (s,A,B,C,t), (s,A,C,B,t), (s,A,C,t), (s,C,B,t)} A B t s C Conclusion: (i) the maximum number of vertex-disjoint paths equals 1; (ii) The size of a minimum vertex-cut equals 2 [Erlebach et al. 2003].

  17. Modelling the Internet Connectivity measures Vertex-disjoint paths Branch-and-Price algorithm Branch-and-Bound algorithm Computational results Conclusion Overview

  18. Notation • Graph G=(V,E) • Two vertices s and t • P is the set of all valid s-t paths • Vp is the set of all vertices on path p

  19. IP formulation – disjoint paths VDP

  20. Pricing Problem: Does there exist a valid path such that ? Branch-and-Price algorithm:Column Generation • Subset P’ of valid paths  solve LP-relaxation of VDP • Primal and dual solution x* and y*

  21. 2-Layer Graph Model

  22. 2-Layer Graph Model

  23. 2-Layer Graph Model

  24. 2-Layer Graph Model

  25. 2-Layer Graph Model

  26. 2-Layer Graph Model

  27. Example

  28. Branch-and-Price algorithm:Pricing Problem • Add arc lengths: • Arcs (i,j) get length yj • Vertical arcs get length zero • A shortest s-t path in the 2-layer graph corresponds to a valid s-t path in the original graph that minimizes the sum of the yv values

  29. A fractionalvertex is a vertex that has at least 3 incident edges that lie on valid paths with value xp* > 0 Branch-and-Price algorithm:Branching Procedure x*red = ½ x*blue = ½ x*green = ½

  30. A fractionalvertex is a vertex that has at least 3 incident edges that lie on valid paths with value xp* > 0 Branch-and-Price algorithm:Branching Procedure x*red = ½ x*blue = ½ x*green = ½

  31. Branch-and-Price algorithm:Branching Procedure • Select a fractional vertex v • Delete all edges incident to v except two that could lie consecutively on a valid path

  32. Branch-and-Price algorithm:Branching Procedure • Select a fractional vertex v • Delete all edges incident to v except two that could lie consecutively on a valid path • New branches: • arcs a and b  delete c

  33. Branch-and-Price algorithm:Branching Procedure • Select a fractional vertex v • Delete all edges incident to v except two that could lie consecutively on a valid path • New branches: • arcs a and b  delete c • arcs a and c  delete b

  34. Branch-and-Price algorithm:Branching Procedure • Select a fractional vertex v • Delete all edges incident to v except two that could lie consecutively on a valid path • New branches: • arcs a and b  delete c • arcs a and c  delete b • arcs b and c  invalid

  35. Branch-and-price algorithm • Calculate initial solution P • Repeat until integer optimum is found • Apply column generation to solve LP-relaxation of VDP • Select a fractional vertex v • Create a new branch for each possible way of deleting all edges incident to v except for two edges that could lie consecutively on a valid path

  36. Modelling the Internet Connectivity measures Vertex-disjoint paths Branch-and-Price algorithm Branch-and-Bound algorithm Computational results Conclusion Overview

  37. Branch-and-Bound algorithm • LB  greedy heuristic • UB  max-flow in 2-layer graph

  38. Branch-and-Bound algorithm • LB  greedy heuristic • UB  max-flow in 2-layer graph

  39. Branch-and-Bound algorithm • Selected vertex • is on forward part: • delete copy v2 from • 2-layer graph

  40. Branch-and-Bound algorithm • Selected vertex • is on forward part: • delete copy v2 from • 2-layer graph

  41. Branch-and-Bound algorithm • Selected vertex • is on backward part: • delete copy v1 from • 2-layer graph

  42. Branch-and-Bound algorithm • Selected vertex • is on backward part: • delete copy v1 from • 2-layer graph

  43. Branch-and-Bound algorithm • Selected vertex • is a ‘turn-point’: • delete all outgoing • edges from copy v1, • and all incoming • edges to copy v2

  44. Branch-and-Bound algorithm • Selected vertex • is a ‘turn-point’: • delete all outgoing • edges from copy v1, • and all incoming • edges to copy v2

  45. Branch-and-Bound algorithm • Calculate lower bound (heuristic) and upper bound (max-flow) • Select vertex v from original graph that is used more than once in flow • Create 3 new branches: • Delete copy v2 of v from the 2-layer graph • Delete copy v1 of v from the 2-layer graph • Delete all outgoing edges from v1 and all incoming edges to v2 from the 2-layer graph, except for edge (v1,v2) • In each new branching node, calculate a new max-flow in the modified 2-layer graph

  46. Modelling the Internet Connectivity measures Vertex-disjoint paths Branch-and-Price algorithm Branch-and-Bound algorithm Computational results Conclusion Overview

  47. Results • About the instances • After eliminating vertices with degree 1, the graphs contain up to 11.000 vertices and up to 30.000 directed edges. • From the 11.000 ASs, we selected 47. In this way we obtained 1081 instances of the vertex-disjoint paths problem. • About the implementation • The algorithms were implemented in C++ using CPLEX 9.0 to solve the LPs. • We used the LEDA library to solve the max-flow instances. • Experiments were done on a Sun Fire 480R workstation with a 900 MHz processor.

  48. Results (internet graph model)

  49. Results (internet graph model)

  50. Results (internet graph model)

More Related