Transcript
Page 1: Compact Routing with Slack  in Low Doubling Dimension

Compact Routing with Slack in Low Doubling Dimension

Goran Konjevod, Andréa W. Richa, Donglin Xia, Hai Yu

CSE Dept., Arizona State University{goran, aricha, dxia}@asu.edu

CS Dept., Duke [email protected]

Page 2: Compact Routing with Slack  in Low Doubling Dimension

Doubling Dimension Doubling Dimension

The least value s.t. any ball can be covered by at most 2 balls with half radius

Euclidean plane: = log 7

Page 3: Compact Routing with Slack  in Low Doubling Dimension

Related Work:Name-independent compact routing schemes

Reference

With Slack

Stretch

Routing Table Headers

[KRX’07] 9+

[Dinitz’07]

slack

This paper

(1-)n nodes 1+n nodes

This paper

(1-)n nodes

1+

n nodes 9+

3 ( )log / On

4 4log log /( log log )O n n n2log

log log

nO

n

4 ( )1/ log log / On n

( log )O n n

4

( )

logO

n

Lower Bound [KRX’06]:

Graph

Doubling Dimension

Diameter Routing table

Stretch

Tree6 log 1/(2 )O n

2( / 60)( )o n 9

: Doubling Dimension; 1/polylog(n)

Page 4: Compact Routing with Slack  in Low Doubling Dimension

Overview

Basic Idea Slack on Stretch Conclusion

Page 5: Compact Routing with Slack  in Low Doubling Dimension

Basic Idea

Using underlying labeled routing scheme [KRX’07] (1+) stretch (log n)-bit label

Mapping original names to routing labels Hierarchically storing (name, label) pairs Search procedure to retrieve routing label

Page 6: Compact Routing with Slack  in Low Doubling Dimension

r-Nets

r

xy

u

An r-net is a subset Y of node set V s.t. x, y in Y,

d(x,y) r uV, x Y s.t. d(u,x) r

r-net nodes:

Page 7: Compact Routing with Slack  in Low Doubling Dimension

Hierarchy of r-nets r-nets:

Yi: 2i-netfor i=0,…, log

: normalized diameter

Zooming Sequence: u(0)=u u(i) is the nearest

node in Yi to u(i-1)21-net2i-1-net

2i-net

u

u(1)

u(i-1)

u(i)

Page 8: Compact Routing with Slack  in Low Doubling Dimension

Ball Packing s-size Ball Packing B

Greedily select disjoint balls Bu(ru(s)) in an ascending order of their radii ru(s)

(where ru(s) is the radius s.t. |Bu(ru(s)))|=s )

Bj: 2j-size ball packing, for j=0,…, log n B(u,j) Bj : the nearest one to u c(u,j): the center of B(u,j)

Page 9: Compact Routing with Slack  in Low Doubling Dimension

Counting Lemma

Dij: the set of uYi s.t.

c=c(u,j) Counting Lemma

( )log

,0

1 log

2

O

i j ji

n nD

3 2 3| (2 / ) \ (2 ) | (4 / ) 2i i ju cB B

u

Bc(2i+2)

Bu(2i/3)

c

Page 10: Compact Routing with Slack  in Low Doubling Dimension

Overview

Basic Idea Slack on Stretch Conclusion

Page 11: Compact Routing with Slack  in Low Doubling Dimension

(1+)-stretch

Bu(i)(2i/) contains info of Bu(i)(2i/2)

Not found at u(t-1)

Routing Cost:

1 2( ( 1), ) 2 /td u t v

1 2

0

2 / ( ( ), ) ( , ) 2 /

(1 ( )) ( , )

ti t

i

d u t v d u v

O d u v

Page 12: Compact Routing with Slack  in Low Doubling Dimension

Data Structure (1)

A search tree on any B in Bj, stores info of Bc(rc(2jg1)) where g1=log2 n/(14)

Page 13: Compact Routing with Slack  in Low Doubling Dimension

Data Structure (2)For each u(i)

If B in Bj s.t. B Bu(i)(2i/) Bu(i)(2i/2)Bc(rc(2jg1))

If not, search tree on Bu(i)(2i/) stores info of Bu(i)(2i/3)\Bc(2i+2), if u(i) Dij

where c=c(u,j), j=log (|Bu(2i/)|g2), and g2=log2 n/(10)

Bu(i)(2i/)

u(i)

Bu(i)(2i/2)

Bc(rc2ig1)

cB

2i

u(i)

Bu(i)(2i/)

Bu(i)(2i/)

c

2i2

Bc(2i+2)

Page 14: Compact Routing with Slack  in Low Doubling Dimension

Searching at u(i) Go to c, and search on B

cost: 2i+1/ info: Bu(i)(2i/2) next level: i+1

Search on Bu(i)(2i/); if u(i) Dij, go to c and search on Bc(2i+2) cost: 2i+1/2 Info: Bu(i)(2i/3) next level: i+log(1/)+1

u(i)

Bu(i)(2i/2)

Bc(rc2ig1)

cB

2i

u(i)

Bu(i)(2i/)

Bu(i)(2i/)

c

2i2

Bc(2i+2)

Page 15: Compact Routing with Slack  in Low Doubling Dimension

Slack on Stretch

Counting lemma

9+ Stretch Not at level t-1

cost

, ( ) iju i u i D n u(i)

Bu(i)(2i/)

Bu(i)(2i/)

Bc(2i+2)

1( ( 1), ) 2 /td u t v

1 2

0

2 / ( ( ), ) ( , ) 2 /

(9 ( )) ( , )

ti t

i

d u t v d u v

O d u v

Page 16: Compact Routing with Slack  in Low Doubling Dimension

Conclusion (1+)-stretch compact name-

independent routing schemes with slack either on storage, or on stretch, in networks of low doubling dimension.

Dinitz provided 19-stretch -slack compact name-independent routing scheme in general graphs

Can we do better than 19 stretch in general graphs?

Page 17: Compact Routing with Slack  in Low Doubling Dimension

Thanks & Questions


Top Related