Compact Routing with Slack in Low Doubling Dimension
description
Transcript of 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]
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
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)
Overview
Basic Idea Slack on Stretch Conclusion
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
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:
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)
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)
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
Overview
Basic Idea Slack on Stretch Conclusion
(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
Data Structure (1)
A search tree on any B in Bj, stores info of Bc(rc(2jg1)) where g1=log2 n/(14)
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)
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)
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
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?
Thanks & Questions