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, CS Dept., Duke University
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 ReferenceWith SlackStretchRouting TableHeaders [KRX’07] 9+ [Dinitz’07] slack This paper (1- )n nodes 1+ n nodes This paper (1- )n nodes1+ n nodes9+ Lower Bound [KRX’06]: GraphDoubling DimensionDiameterRouting tableStretch Tree : 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 An r-net is a subset Y of node set V s.t. x, y in Y, d(x,y) r u V, x Y s.t. d(u,x) r r-net nodes:
Hierarchy of r-nets r-nets: Y i : 2 i -net for i=0, …, log : normalized diameter Zooming Sequence: u(0)=u u(i) is the nearest node in Y i to u(i-1)
Ball Packing s-size Ball Packing B Greedily select disjoint balls B u (r u (s)) in an ascending order of their radii r u (s) (where r u (s) is the radius s.t. |B u (r u (s)))|=s ) B j : 2 j -size ball packing, for j=0, …, log n B(u,j) B j : the nearest one to u c(u,j): the center of B(u,j)
Counting Lemma D ij : the set of u Y i s.t. c=c(u,j) Counting Lemma
Overview Basic Idea Slack on Stretch Conclusion
(1+ )-stretch B u(i) (2 i / ) contains info of B u(i) (2 i / 2 ) Not found at u(t-1) Routing Cost:
Data Structure (1) A search tree on any B in B j, stores info of B c (r c (2 j g 1 )) where g 1 =log 2 n/( 14 )
Data Structure (2) For each u(i) If B in B j s.t. B B u(i) (2 i / ) B u(i) (2 i / 2 ) B c (r c (2 j g 1 )) If not, search tree on B u(i) (2 i / ) stores info of B u(i) (2 i / 3 )\B c (2 i+2 ), if u(i) D ij where c=c(u,j), j=log (|B u (2 i / )|g 2 ), and g 2 =log 2 n/( 10 ) B u(i) (2 i / )
Searching at u(i) Go to c, and search on B cost: 2 i+1 / info: B u(i) (2 i / 2 ) next level: i+1 Search on B u(i) (2 i / ); if u(i) D ij, go to c and search on B c (2 i+2 ) cost: 2 i+1 / 2 Info: B u(i) (2 i / 3 ) next level: i+log(1/ )+1
Slack on Stretch Counting lemma 9+ Stretch Not at level t-1 cost
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