Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Compactrouting
1.
2. In Routing schemes there is trade-off between the Routing table
size and stretch.
Stretch of path p(u; v) from node u to node v is defined as
|p(u; v) |/|d(u;v)| , where |d(u; v)| is the length of the
shortest u-v path.
Naive Scheme : Each node holds the next hop to all nodes and
employs optimal routing
Routing Table size is O(n log(n)) at each node
where n : number of nodes
Stretch =1 ( optimum path)
3. By this Compact Routing Method
Routing Table size bound - O(n2/3 log4/3 (n))
Maximum stretch ≤ 3
4. Nodes are connected with arbitrary weighted
undirected edges
Reassign the node names in lexicographic
order, with bound O(log(n))
Edges identified by port names, locally
relevant
Concept of Landmark based routing
5. Re-Labeling of nodes
Storage in Routing Table
Routing Procedure
6. Every node name is represented as a
Triplet –
( orig. node name, name of its landmark, edge from landmark to the
node)
eg . V <- (v, lv, elv(v)) where
elv(v) : is the edge from landmark to the node on shortest path,
lv : Landmark of v
7. For each v ∈ V
lv argminl∈L d(l; v) //closest landmark to node v
For each l ∈ L perform truncated-Dijkstra(nα )
For each v ∈ VL
V <- (v; lv ; elv(v)) // the first link on the
shortest path from lv to v
8. 1) Extended Dominating Set – spans the
neighborhood of all nodes in the network,
obtained by Greedy Algorithm
2) Nodes in neighborhood of maximum
nodes, selected as Landmark
10. Find set D, the Extended Dominating Set, using Greedy Algorithm
(here α is a parameter s.t. 0<α <1)
Ǝ D ⊂ V such that
• |D| = O(n1-α log n)
• ∀ v ∈V , D ∩ Bv ≠ φ
Where Bv is the neighborhood of vertex ‘v’ of size nα
Find set C, set of nodes which lie in neighbourhood of maximum nodes
C ⊂ V s.t. ∀ c ∈ C , |Rc| ≥ n(1+α)/2
Set of Landmarks, L =D ∪ C
11. For non-landmark nodes – information of
neighbour and all landmarks is stored .
For landmarks - information of landmarks
only is stored , otherwise routing table is
huge at landmark
12. //For neighbours of node v
For each v ∈ V, perform truncated-Dijkstra(nα)
For each u reached from v:
If no landmark is on the path from v to u:
store(v, eu(v)) at u
// shortest paths from landmarks to every node
For each l ∈ L, perform full-Dijkstra(nα)
For each v ∈ V
Store (l, eu(l)) at u
14. At node u, a packet with destination (v; lv;elv(v))
is routed as –
If u=lv (landmark)-> route along elv(v).
If not, but (v; eu(v)) is in u's local routing table
-> route along eu(v).
Else route along (lv ; eu(lv)).
15. A set of landmarks (L) is |L|= O(n1-α log n + n(1+α)/2)
If d(u; v) < d(lv ; v) then u is not a landmark and ∄
a landmark on the shortest path from u to v.
For each v, lv is among v's n closest neighbors.
For each x ≠ lv on the shortest path from lv to v,
(x; ex(v)) is stored at x.
16. Let d(u; v) denote the length of the shortest
path from u to v. Then the routing algorithm
returns a path of length at most 3d(u; v).
The local storage space used at each
node is O((n 1- α log n + n(1+α)/2) log n).
Using α = 1/3 + (2 log log n)/(3 log n), we get the
bound for size as O(n2/3 log4/3 (n))
18. Suggests new routing for trees
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
General Routing technique for Graphs
19. 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
20. Each vertex is assigned a (1+o(1))log2n–bit
label.
Given label(u) and label(v), it is possible to
find, in constant time, the right edge to take
from u.
Similar result by Fraigniaud and Gavoille
[ICALP’01]
u
v
24. Root the tree arbitrarily
Perform depth first enumeration of the vertices
let fw be the largest descendent of w
vertex v is descendent of w iff v ∈(w , fw)
else is sent to parent of w using parent pointer of
w
25. O(log2n)-bit labels.
Arbitrary port numbers.
DFS numbering:
For every vertex u, let fu
be the largest descendant of u. Then v is a
descendant of u iff 4
],[ ufuv
1
2 10
113
65
12
1413
7
98
10
7
A trivial solution with O(deg(v)) memory.
26. Let s(v) be the number of descendants of v.
Let pv be the parent of v. Then,
vertex v is heavy if s(v) s(pv)/2, and
light otherwise.
14
8 2
17
1 41
3
11
3
11
27. 0
1
2
2
3
3
4
The light-level lv of a vertex v is the number of light vertices
on the path to it from the root.
Claim: lv<log2n
label(v)=(v,port(e1),port(e2),…)
At v we store:
(v, fv, hv, lv, port(v,pv) and port(v,hv))
e1
e2
e3
r
v
e4
28. 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
29. Weight sv of a vertex v is number of descendents in the tree
A child v’ is said to be heavy if sv’>sv/b Else light
Light level lv is def as the number of light vertices on the path
from r to v
Enumerate tree in depth first order – where light vertices
visited before heavy children
Routing information stored at v =(v,fv,hv,Hv,Pv) = O(b) words
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 v0=r and vi is the light nodes from r
to node v , vk=v
LV=(port(vi1-1), port(vi2-1),……, port(vilv-1))= O(logbn)
30. Label(v)=(v , Lv)
At node w for header (v,Lv)
If w=v – done
Else if v ∈(w , fw) – if not not a descendent
forward to parent of w using Pv[0]
Else if descendent check v ∈(hw , fw) – search
Hw and get corresponding Pw
Else light descendent – search Lv[lw]
Eg. b=2
((v>=w && v <h) ? L[1] : P[v>=h && v<=f])
37. We want A such that
|A|=O(n1/2)
clusterA(v)=O(n1/2), for every v
[Cowen does this with O(n2/3)]
38. Weight sv of a vertex v is the number of
descendants in the tree
v’ is the heavy child & v0,v1,v2,….,vd-1 be its
light children in decreasing order of weight
sv’>sv0>sv1>sv2>sv3>……>svd
All the strings are concatenated and stored,
masking bits are to identify the lengths of
each string
label(v)=(v,Lv,Mv)
Header size =3.4logn
39. 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 s corresponding to v¯ =v
ID(T; v) =ID(Tv ; v):code(i):code(sj ):code(port( v; v)) if v ≠ v,
code(i):code(sj ) otherwise
Label(v) = code(ID(v)):code(RT(v)):code(pnt(v))
40. Algorithm center(G)
A ; W V;
While W
{
A A choose(W,n1/2);
W {w V | clusterA(w)>4n1/2 };
}
Return A;
The expected size of A is O(n1/2log n).
Improvement over Cowen’s landmark based
routing scheme
41. Use a hierarchy of centers.
Construct a tree cover
of the graph.
Identify an appropriate tree from the cover and route on it.
Generalized routing scheme
42. 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.