Title: Compact%20Routing%20Schemes
1Compact Routing Schemes
- Mikkel Thorup Uri Zwick
- ATT Labs Research
- Tel Aviv University
2Routing
3
v
2
u
1
3Handshaking
header(u,v)
Packet
information
header(u,v)
The same header is used for all messages sent
from u to v
4Routing in Trees
u
v
5Routing in General Graphs
Handshaking? Table Size Stretch
no n1/2 3
yes n1/3 5
no n1/3 7
yes n1/k 2k-1
no n1/k 4k-5
6Previous Results
Authors Table Size Stretch
Cowen 99 n2/3 3
Eilam, Gavoille Peleg 98 n1/2 5
Awerbuch Peleg 92 n1/k O(k2)
7Our Results Are Essentially Optimal!
- Labels must be at least log2n bit long.
- In graphs, for stretchlt3, the total size of the
routing tables must be ?(n2). For stretchlt5, the
total size must be ?(n3/2). - Conjecture For stretchlt2k1, the total size of
the tables must be ?(n11/k). (Equivalent to a
well known girth conjecture of Erdös.)
8Tree Routing A Practical Scheme
- O(log2n)-bit labels. Arbitrary port numbers.
1
10
7
2
10
12
DFS numbering For every vertex u, let fube the
largest descendantof u. Then v is a
descendantof u iff
11
3
14
13
4
6
5
7
A trivial solution with O(deg(v)) memory.
9
8
9Tree Routing A Practical Scheme (Cont.)
- Let s(v) be the number of descendants of v.
Let pv be the parent of v. Then, vertex v is
heavy if s(v)?s(pv)/2, and light otherwise.
10Tree Routing A Practical Scheme (End)
r
0
The light-level lv of a vertex v is the number
of light vertices on the path to it from the
root. Claim lvltlog2n label(v)(v,port(e1),port(
e2),) At v we storev, fv, hv, lv, port(v,pv)
and port(v,hv).
e1
1
e2
2
2
e3
3
3
e4
4
v
11Routing in Graphs
12Choose a Set of Centers
centA(v) a center closest to v
13Construct Clusters
cluster
clusterA(v) vertices that are closer to v than
to all centers.
14Keep Routing Info from v to A?clusterA(v)
15If v?clusterA(u), Route Directly
u
v
w
For any w on the shortestpath we have
v?clusterA(w).
16If v?clusterA(u), Route through centA(v)
centA(v)
Label(v) (v,centA(v),port(centA(v),v))
17How do we choose centers?
- We want A such that
- AO(n1/2)
- clusterA(v)O(n1/2), for every v
- Cowen does this with O(n2/3)
18Algorithm center(G) A?? W?V While W??
A?A ? choose(W,n1/2) W?w?V
clusterA(w)gt4n1/2 Return A
The expected size of A is O(n1/2log n).
19Smaller 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.
20Tree 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.
21Is there a routing scheme with
- Table size O(n1/k)
- Label size O(log n)
- No handshaking
???