compact routing schemes mikkel thorup uri zwick at&t labs – research tel aviv university

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

Post on 21-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

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

Compact Routing Compact Routing SchemesSchemes

Mikkel Thorup Uri Zwick

AT&T Labs – ResearchTel Aviv University

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

Routing

uv

Packet: label(v) information

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

Handshaking

Packet: header(u,v) information

u v

header(u,v)

The same header is used for all messages sent from u to v

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

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

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

Routing in General Graphs

StretchTable SizeHandshakin

g?

3n1/2nono

5n1/3yesyes

7n1/3nono

2k-1n1/kyesyes

4k-5n1/knono

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

Previous ResultsPrevious Results

StretchTable SizeAuthors

3n2/3CowenCowen ‘99

5n1/2Eilam, Eilam,

Gavoille Gavoille PelegPeleg ‘98

O(k2)n1/kAwerbuch Awerbuch PelegPeleg ‘92

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

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ösErdös.)

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

Tree Routing – A Practical Scheme

O(log2n)-bit labels. Arbitrary port numbers.

DFS numbering:For every vertex u, let fu

be the largest descendantof u. Then v is a descendantof u iff

],[ ufuv

107

A trivial solution with O(deg(v)) memory.

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

Tree 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.

14

8 2

17

1 41

3

11

3

11

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

Tree Routing – A Practical Scheme (End)

0

1

2

2

3

3

4

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

e2

e3

r

v

e4

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

Routing in Graphs

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

Choose a Set of Centers

centA(v) = a center closest to v

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

Construct Clusters

clusterA(v) = vertices that are closer to v than to all centers.

cluster

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

Keep Routing Info from v to AclusterA(v)

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

If vclusterA(u), Route Directly

u vw

For any w on the shortestpath we have

vclusterA(w).

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

If vclusterA(u), Route through centA(v)

u

v

centA(v)

),(3)),(())(,(

),(2))(,(

),()),((

vuvvcentvcentu

vuvcentu

vuvvcent

AA

A

A

Label(v)=(v,centA(v),port(centA(v),v))

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

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)]

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

Algorithm center(G)A; WV;While W{

AA choose(W,n1/2); W{wV | clusterA(w)>4n1/2 };}

Return A;

The expected size of A is O(n1/2log n).

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

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.

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

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.

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

Is there a routing scheme with:

• Table size = O(n1/k)• Label size = O(log n)• No handshaking

???