Upcoming SlideShare
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Standard text messaging rates apply

# Thorup zwick compactrouting scheme

170
views

Published on

TZ Scheme

TZ Scheme

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total Views
170
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
1
0
Likes
0
Embeds 0
No embeds

No notes for slide

### Transcript

• 1. Compact routing schemes By Mikkel Thorup & Uri Zwick
• 2. Overview • Each Vertex in n-vertex graph, assigned (1+O(1))log2n bit label. • Routing table of a node is its label & header of a packet is label of the destination. • Given label(u) and label(v), it is possible to find, in constant time, the right edge to take from u. • Improvement of Routing Table size (in landmark based routing technique) from O(n2/3 log4/3 (n)) to O(n1/2 log(n)) for stretch 3
• 3. Trees - Interval Routing 4 5 6 1 2 3 8 10 9 11 7 12 • Root tree arbitrarily & perform Depth first enumeration of vertices ,Vertex identifier is DFS no. • For node w, fw be largest descendent of w. Then v is descendent of w iff v ∈[w,fw] • If yes, Predecessor search among children w1,….,wd is performed and packet is forwarded wi (wi is last child smaller than or equal to v) • Else v is routed to parent of w Advantages: •Stretch=1 •RT=O(d log n) where d= degree(node) •Header= O(logn) 1-2 3-11
• 4. Efficient Routing scheme for trees • Each vertex „v‟ assigned (1+O(1))log2n-bit label • Label is the only information stored at the vertex • Label serves as header attached to messages sent to the vertex • Routing decision takes constant time
• 5. Stretch Table Size Handshaking? 3 O(n1/2) no 5 O(n1/3) yes 7 O(n1/3) no 2k-1 O(n1/k) yes 4k-5 O(kn1/k) no New Routing Schemes Authors Stretch Table Size Cowen 3 O(n2/3) Eilam,Gavoille 5 O(n1/2) Awerbuch, Peleg O(k2) O(kn1/k) Awerbuch O(k29k) O(kn1/k) Previous Available Schemes
• 6. Compact Scheme: Routing in Trees • Integer b>1, RT=O(b) words & labels=O(logbn) words • Weight sv of vertex v is no of descendants in the tree • Child v‟ of v is heavy if sv‟ >= sv/b, light otherwise. • light level lv of v is no. of light vertices on path from root r to vertex v • Routing information stored at v =(v, fv,hv,Hv,Pv)= O(b) words where hv is the first heavy child of v, Hv -> array of heavy children of v Pv -> array of port no. to parent & heavy nodes < v0,v1,v2,….,vk> where r=v0, vi is the light nodes from r to node v and vk=v LV = (port(vi1-1), port(vi2-1),…,port(vilv-1))=O(logbn) words , contains port no. to light vertices form r to v. • label(v) = (v, Lv) • b=2; ((v>=w && v<h) ? L[1] :P[v>=h && v<=f])
• 7. Compact Routing in Trees – first scheme cont. • Label(v)=(v , Lv) at node w • If w=v, done • else check if v ∈(w , fw) a) if not a descendent –f/w to parent of w using Pv[0] b) else if descendent • check if v ∈(hw , fw) – search Hw and get corresponding Pw • else if light descendent – search Lv[lw]
• 8. More Compact Scheme: Routing in Trees • Each non leaf vertex has single heavy child , with highest weight • If for vertex v, v‟ is heavy child & v0, v1,….,vd-1 light children s.t. sv‟ >= sv0>= sv1>=….>=svd-1 ; assign edge (v, vi ) for 0<=i< d & (v,v‟) port no “d”. • lv light level of v then concatenate the bit strings of ports of light level. M • is masking bit to identify location of bit strings • Label(v)=(v, Lv, Mv) eg. lv=(2,0,5,3) =(11‟ 101‟ 0‟ 10) & M=(10‟ 100‟ 1‟ 10) • Combined length Lv & Mv is max. (3.42 log2n) bit words. • If packet with header (v,Lv,Mv) reaches w , light level lw, extract lwth number coded in Lv. • If v s descendant of w , then lw-1 numbers coded in Lv are exactly • same as in Lw. • (Lv>>k) & (Mv>>kw)^(M>>kw-1) 14 8 2 17 1 41 3 11 3 11
• 9. • Code(s)=s.bin(||s||,|s|).bin(||s||,||s||) • Label(v)=ID(v) + RT(v) • ID(v) consists of – Binary representation of i, the index of heavy path containing v, string sj corresponding to = in port pi, port of edge from v to , if v ≠ • The identifying label of v in subtree T • ID(T; v) =ID(Tv ; v):code(i):code(sj ):code(port( ; ))if v ≠ =code(i):code(sj ) otherwise • Label(v) = code(ID(v)):code(RT(v)):code(pnt(v)) • Pnt(v) is length of first three code words in ID(v) Extremely Compact Scheme (1+O(1))log2n bit label : Routing in Trees v v v v U= u v v v vj v v v
• 10. Algorithm center(G,s) A ; W V; While W do { A A sample(W,s); C(w) {v V|δ(w,v)< δ(A,v)} fore very w V W {w V | C(w)>4n/s}; } Return A; Improvement over Cowen’s landmark based routing scheme • Recursive sampling algorithm to select set of landmarks(centers) A ,of expected size O(n1/2log n). • Node v's label contains (v, centA(v), port(centA(v), v)) carried in every message to v • Use hash table TABw at every node w, containing (v, port(w, v)) for each v A ∪C(w)
• 11. • Use a hierarchy of centers. • Construct a tree cover of the graph. • Identify an appropriate tree from the cover and route on it. • Smaller Tables, Larger stretch • 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. • Uses handshaking Generalized routing scheme: Tree Cover