Download presentation
Presentation is loading. Please wait.
1
Compact Routing Schemes Mikkel Thorup Uri Zwick AT&T Labs – Research Tel Aviv University
2
Routing u v Packet: label(v) information
3
Handshaking Packet: header(u,v) information uv header(u,v) 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))log 2 n – 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 SizeStretch no n 1/2 3 yes n 1/3 5 no 7 yes n 1/k 2k-1 no n 1/k 4k-5
6
Previous Results AuthorsTable SizeStretch Cowen Cowen ‘99 n 2/3 3 Eilam, Gavoille Peleg Eilam, Gavoille Peleg ‘98 n 1/2 5 Awerbuch Peleg Awerbuch Peleg ‘92 n 1/k O(k 2 )
7
Our Results Are Essentially Optimal! Labels must be at least log 2 n – bit long. In graphs, for stretch<3, the total size of the routing tables must be (n 2 ). For stretch<5, the total size must be (n 3/2 ). Erdös Conjecture: For stretch<2k+1, the total size of the tables must be (n 1+1/k ). (Equivalent to a well known girth conjecture of Erdös.)
8
Tree Routing – A Practical Scheme O(log 2 n)-bit labels. Arbitrary port numbers. DFS numbering: For every vertex u, let f u be the largest descendant of u. Then v is a descendant of u iff 10 7 A trivial solution with O(deg(v)) memory.
9
Tree Routing – A Practical Scheme (Cont.) Let s(v) be the number of descendants of v. Let p v be the parent of v. Then, vertex v is heavy if s(v) s(p v )/2, and light otherwise. 14 82 17 141 3 11 3 11
10
Tree Routing – A Practical Scheme (End) 0 1 2 2 3 3 4 The light-level l v of a vertex v is the number of light vertices on the path to it from the root. Claim: l v <log 2 n label(v)=(v,port(e 1 ),port(e 2 ),…) At v we store: v, f v, h v, l v, port(v,p v ) and port(v,h v ). e1e1 e2e2 e3e3 r v e4e4
11
Routing in Graphs
12
Choose a Set of Centers cent A (v) = a center closest to v
13
Construct Clusters cluster A (v) = vertices that are closer to v than to all centers. cluster
14
Keep Routing Info from v to A cluster A (v)
15
If v cluster A (u), Route Directly u v w For any w on the shortest path we have v cluster A (w).
16
If v cluster A (u), Route through cent A (v) u v cent A (v) Label(v)= (v,cent A (v),port(cent A (v),v))
17
How do we choose centers? We want A such that |A|=O(n 1/2 ) cluster A (v)=O(n 1/2 ), for every v [Cowen does this with O(n 2/3 )]
18
Algorithm center(G) A ; W V; While W { A A choose(W,n 1/2 ); W {w V | cluster A (w)>4n 1/2 }; } Return A; The expected size of A is O(n 1/2 log 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
Tree Cover Each vertex contained in at most n 1/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(n 1/k ) Label size = O(log n) No handshaking ???
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.