Presentation is loading. Please wait.

Presentation is loading. Please wait.

Compact Routing Schemes

Similar presentations


Presentation on theme: "Compact Routing Schemes"— Presentation transcript:

1 Compact Routing Schemes
Mikkel Thorup Uri Zwick AT&T Labs – Research Tel Aviv University

2 Routing 3 2 v u 1 Packet: label(v) information

3 The same header is used for all messages sent from u to v
Handshaking u v header(u,v) Packet: header(u,v) information The same header is used for all messages sent from u to v

4 Routing in Trees Each vertex is assigned a (1+o(1))log2n – bit label.
Given label(u) and label(v), it is possible to find, in constant time, the right edge to take from u. Similar result by Fraigniaud and Gavoille [ICALP’01] u v

5 Routing in General Graphs
Handshaking? Table Size Stretch no n1/2 3 yes n1/3 5 7 n1/k 2k-1 4k-5

6 Previous Results n2/3 n1/2 n1/k 3 5 O(k2) Authors Table Size Stretch
Cowen ‘99 n2/3 3 Eilam, Gavoille Peleg ‘98 n1/2 5 Awerbuch Peleg ‘92 n1/k O(k2)

7 Our Results Are Essentially Optimal!
Labels must be at least log2n – bit long. In graphs, for stretch<3, the total size of the routing tables must be (n2). For stretch<5, the total size must be (n3/2). Conjecture: For stretch<2k+1, the total size of the tables must be (n1+1/k). (Equivalent to a well known girth conjecture of Erdös.)

8 Tree Routing – A Practical Scheme
O(log2n)-bit labels. Arbitrary port numbers. 1 10 7 2 10 12 DFS numbering: For every vertex u, let fu be the largest descendant of u. Then v is a descendant of u iff 3 11 13 14 4 5 6 7 A trivial solution with O(deg(v)) memory. 8 9

9 Tree Routing – A Practical Scheme (Cont.)
Let s(v) be the number of descendants of v. 14 8 2 1 7 4 3 Let pv be the parent of v. Then, vertex v is heavy if s(v)s(pv)/2, and light otherwise.

10 Tree Routing – A Practical Scheme (End)
The light-level lv of a vertex v is the number of light vertices on the path to it from the root. Claim: lv<log2n label(v)=(v,port(e1),port(e2),…) At v we store: v, fv, hv, lv, port(v,pv) and port(v,hv). e1 1 e2 2 2 e3 3 3 e4 4 v

11 Routing in Graphs

12 centA(v) = a center closest to v
Choose a Set of Centers centA(v) = a center closest to v

13 Construct Clusters cluster clusterA(v) = vertices that are closer to v than to all centers.

14 Keep Routing Info from v to AclusterA(v)

15 If vclusterA(u), Route Directly
w For any w on the shortest path we have vclusterA(w).

16 If vclusterA(u), Route through centA(v)
Label(v)= (v,centA(v),port(centA(v),v)) v

17 How do we choose centers?
We want A such that |A|=O(n1/2) clusterA(v)=O(n1/2), for every v [Cowen does this with O(n2/3)]

18 W{wV | clusterA(w)>4n1/2 }; Return A;
Algorithm center(G) A; WV; While W { AA  choose(W,n1/2); W{wV | clusterA(w)>4n1/2 }; } Return A; The expected size of A is O(n1/2log n).

19 Smaller Tables, Larger stretch
Use a hierarchy of centers. Construct a tree cover of the graph. Identify an appropriate tree from the cover and route on it.

20 Each vertex contained in at most n1/k trees.
Tree Cover Each vertex contained in at most n1/k trees. For every u,v, there is a tree with a path of stretch at most 2k-1 between them.

21 Is there a routing scheme with:
Table size = O(n1/k) Label size = O(log n) No handshaking ???


Download ppt "Compact Routing Schemes"

Similar presentations


Ads by Google