170 likes | 308 Views
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 University fishhai@cs.duke.edu. Doubling Dimension. Doubling Dimension
E N D
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.eduCS Dept., Duke University fishhai@cs.duke.edu
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 : Doubling Dimension; 1/polylog(n) • Lower Bound [KRX’06]:
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 • 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)
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
Overview • Basic Idea • Slack on Stretch • Conclusion
(1+e)-stretch • Bu(i)(2i/e) contains info of Bu(i)(2i/e2) • Not found at u(t-1) • Routing Cost:
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 • wherec=c(u,j), j=log (|Bu(2i/)|g2), and g2=log2 n/(10) • Bu(i)(2i/)
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 onBc(2i+2) • cost: 2i+1/2 • Info: Bu(i)(2i/3) • next level: i+log(1/)+1
Slack on Stretch • Counting lemma • 9+e 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?