Virtual Backbone
description
Transcript of Virtual Backbone
![Page 1: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/1.jpg)
Distributed algorithm for efficient construction and
maintenance of connected k-hop dominating sets in mobile
ad hoc networks
1
![Page 2: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/2.jpg)
The virtual backbone (VBB) is usually formed by a connected dominating set Each node not in the dominating set is a neighbor of
a node in the dominating set The nodes in the dominating set induce a connected
subgraph
2
m
o
n
ba
h
q
p
gi j
c de
f
lk
A connected dominating set
![Page 3: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/3.jpg)
A connected k-hop dominating set (CKDS) can further reduce the flooding search space Each node not in CKDS can be reached within k
hops from at least one node in CKDS The nodes in CKDS induce a connected subgraph
3
m
o
n
ba
h
q
p
gi j
c de
f
lk
A connected 2-hop dominating set
Require a distributed algorithm to construct and maintain a CKDS !
![Page 4: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/4.jpg)
Sufficient Condition Construction of CKDS Maintenance of CKDS Routing Based on CKDS Analyses Simulations
4
![Page 5: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/5.jpg)
5
bb
Each node knowing the disappearance of node b has the same two hop information in two cases
VBB
![Page 6: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/6.jpg)
x.num: each node x is assigned a chosen number
P(x): x’s neighbor with larger chosen number or equal chosen number and larger ID EX: P(e)={i, j, f}
m
o
n
ba
h
q
p
gi j
c de
f
lk 11 12
269268∞ ∞
∞
265264
262
257
1
8
3 4 5 5e
j
f
(j.num,j.id)>(e.mum,e.id)
6
(f.num,f.id)>(e.num,e.id)
![Page 7: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/7.jpg)
m
o
n
ba
h
q
p
gi j
c de
f
lk 11 12
269268∞ ∞
∞
265264
262
257
1
8
3 4 5 5e
j
f
i
o
p
q
7
Theorem 3.1. Assume that G is connected graph in which each node x has a chosen number such that x.num= ∞ if and only if x belongs to VBB. If P(x) induces a connected subgraph of G for all x does not belong to VBB, then VBB is connected
x.num=∞ if and only if x belongs to VBB o, p, q are in VBB
If P(x) induces a connected subgraph of G for all x does not belong to VBB, then VBB is connected
![Page 8: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/8.jpg)
Theorem 3.1. Assume that G is connected graph in which each node x has a chosen number such that x.num= ∞ if and only if x belongs to VBB. If P(x) induces a connected subgraph of G for all x does not belong to VBB, then VBB is connected1) It suffices to show there is a path in VBB between any two nodes I and j in VBB
x yi ja
b
c
b
∞ ∞
a c
8
Select a node x such that (x.num,x.id)<(y.num,y.id) for all nodes y in the path
Nodes a and c must be in P(b) The path is updated to i,a,…,c,j
b no longer appears in the updated path
X
![Page 9: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/9.jpg)
Sufficient Condition Construction of CKDS Maintenance of CKDS Routing Based on CKDS Analyses Simulations
9
![Page 10: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/10.jpg)
m
o
n
ba
h
q
p
gj i
c de
f
lk
Node x is pruned by Dai and Wu’s method if 1) All x’s neighbors are directly connected (Marking
Process)2) x’s neighbors are covered by a connected subgraph
induced by x’s neighbors having larger ID than x (K-Pruning)
m
o
n
ba
h
q
p
gi j
c de
f
lk
a b
h
e
ji
f
“An Extended Localized Algorithm for Connected Dominating Set Formation in Ad Hoc Networks,” IEEE TPDS, 2004.
10
![Page 11: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/11.jpg)
Assume max_id=255 Assume a.id=1, b.id=2, and so on
Use Dai and Wu’s method to prune nodes in k rounds
if x is pruned in round t, x’s chosen number is assigned to (t-1)max_id+x.id
m
o
n
ba
h
q
p
gi j
c de
f
lk 11 12
∞ ∞
∞
1
8
3 4 5 6
∞∞
∞
∞
∞ ∞
11
e
e.num=(1-1)*255+5=5
![Page 12: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/12.jpg)
m
o
n
ba
h
q
p
gi j
c de
f
lk 11 12
269268∞ ∞
∞
265264
262
257
1
8
3 4 5 6
A connected 2-hop DS
12
Use Dai and Wu’s method to prune nodes in k rounds
if x is pruned in round t, x’s chosen number is assigned to (t-1)max_id+x.id
![Page 13: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/13.jpg)
Theorem 3.2. At the end of the construction process, CKDS={x|x.num= ∞} is a connected k-hop dominating set and P(x) induces a connected subgraph of G for all x does not belong to CKDS1) Nodes pruned in round t1 has a smaller chosen number than nodes pruned in round t2 if t1<t2
2) P(x) are x’s neighbors in round t having a larger ID than x if x is pruned in round t3) It suffices to show P(x) induces a connected subgraph of G if Case 3.1: x is pruned by Marking Process in round t Case 3.2: x is pruned by K-Pruning in round t
m
o
n
ba
h
q
p
gj i
c de
f
lk 11 12
269268∞ ∞
∞
265264
262
257
1
8
3 4 5 6
i
de
p
jg
P(i)={p,j}
![Page 14: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/14.jpg)
Theorem 3.2. At the end of the construction process, CKDS={x|x.num= ∞} is a connected k-hop dominating set and P(x) induces a connected subgraph of G for all x does not belong to CKDS3.1) x is pruned by Marking Process in round t
x’s neighbors in round t are directly connected P(x) are x’s neighbors in round t having a larger ID than x if x is pruned in round t (by 2)
m
o
n
ba
h
q
p
gi j
c de
f
lk 11 12
269268∞ ∞
∞
265264
262
257
1
8
3 4 5 6
b
o
![Page 15: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/15.jpg)
Theorem 3.2. At the end of the construction process, CKDS={x|x.num= ∞} is a connected k-hop dominating set and P(x) induces a connected subgraph of G for all x does not belong to CKDS3.2) x is pruned by K-Pruning in round t
x’s neighbors in round t are covered by a connected subgraph induced by x’s neighbors in round t having larger ID than x P(x) are x’s neighbors in round t having a larger ID than x if x is pruned in round t (by 2)
m
o
n
ba
h
q
p
gi j
c de
f
lk 11 12
269268∞ ∞
∞
265264
262
257
1
8
3 4 56
i
p
j
![Page 16: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/16.jpg)
Sufficient Condition Construction of CKDS Maintenance of CKDS Routing Based on CKDS Analyses Simulations
16
![Page 17: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/17.jpg)
Keep each node not in CKDS is reached within k hops from at least one node in CKDS
Keep the connectivity of CKDS
17
![Page 18: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/18.jpg)
m
o
n
ba
h
q
p
gi j
c de
f
lk 11 12
269268∞ ∞
∞
265264
262
257
1
8
3 4 5 6
a
x.parent: a node in P(x) x.down: the maximum hop distance from x to its
descendants x.up: the hop distance from x to its dominator
18
x.down=0 if x is not the parent of any node
x.up=0 if x is in CKDS
b.up=1
o.up=0
b.down=1a.down=0
x.down=1+max{y.down|y.parent=x}
b
x.up =1+y.up if y=x.parent
o
x.down+z.up < k, where z=x.parent
![Page 19: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/19.jpg)
r
i
19
x.parent: a node in P(x) x.down: the maximum hop distance from x to its
descendants x.up: the hop distance from x to its dominator
Example of switch-on
m
o
n
ba
h
q
p
gj
c de
f
lk 11 12
269268∞ ∞
∞
265264
262
257
1
8
3 4 5 6
b.up=1
o.up=0
b.down=1a.down=0
r r.up=1r.down=0
e e.down=0e.up=1+1=2
Example of switches-off
![Page 20: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/20.jpg)
Keep each node not in CKDS is reached within k hops from at least one node in CKDS
Keep the connectivity of CKDS
20
![Page 21: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/21.jpg)
10s
i
21
Sufficient Condition: each node x not in CKDS keeps P(x) induces a connected subgraph Switch-on Switch-off Movement
m
o
n
ba
h
q
p
gj
c de
f
lk 11 12
269268∞ ∞
∞
265264
262
257
1
8
3 4 5 6
r
267
m
q
n
∞
r
s
r
p
o ∞s
q
![Page 22: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/22.jpg)
i
22
Each node in CKDS is expected to be removed from CKDS CKDS may become disconnected due to the simultaneous
removal of two neighboring nodes in CKDS
i
m
o
n
ba
h
q
p
gj
c de
f
lk 11 12
269268∞ ∞
∞
265∞
262
257
1
8
3 4 5 6
i266
o.pri=5
q.pri=6p.pri=3p.pri=7
p
![Page 23: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/23.jpg)
Sufficient Condition Construction of CKDS Maintenance of CKDS Routing Based on CKDS Analyses Simulations
23
![Page 24: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/24.jpg)
j
24
m
o
n
ba
h
q
p
gi
c de
f
lk
Each node keeps a descendant list Each node in CKDS keeps a dominator routing table
p (c,f,g,i) …
q (l,n,r) …
j (d,e) … q’s descendant list={l,n,r}
o’s dominator routing table
SourceDestination
a
l
r n’s descendant list={l}
![Page 25: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/25.jpg)
Sufficient Condition Construction of CKDS Maintenance of CKDS Routing Based on CKDS Analyses Simulations
25
![Page 26: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/26.jpg)
26
Theorem 3.9. The computation complexity of the maintenance of a CKDS for each node is O(∆2), where ∆ is and the maximum degree of a node in the network1) Each node x needs O(∆2) time to verify if P(x) induces a connected subgraph using depth-first search2) Each node x needs O(∆) time to 2.1) Set a maximum or minimum chosen number among neighbors 2.2) Find a parent 2.3) Update down and priority numbers 2.4) …etc
m
o
n
ba
h
q
p
gj i
c de
f
lk 11 12
269268∞ ∞
∞
264265
262
257
8
3 4 65
![Page 27: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/27.jpg)
27
Theorem 3.10. In the maintenance of a CKDS, the node sends O(logn) and O(∆logn) bits in a round if each node has and has not the position information, respectively, where n denotes the number of nodes in the network1) To check if P(x) induces a connected subgraph 1.1) x.id: O(logn) 1.2) x.num O(logn) 1.3.1) x’s neighbor set if x has not location information: O(∆ logn) 1.3.2) x’s position if x has location information: O(1)2) To keep the distance property 2.1) x.parent: O(logn) 2.2) x.up: O(1) 2.3) x.down: O(1)3) To prevent the simultaneous removal of two neighboring nodes in CKDS 3.1) x.pri: O(1)
![Page 28: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/28.jpg)
Lemma 3.3. Given an area A having measure equal to |A| and k cells in A a 1, a2,…,ak each having measure equal to |a|. If j nodes are randomly distributed in A, the probability that at least one node exists in each of k cell is at least
1) Let pk,i be the probability that at least one node exists in cell a i+1 under the condition that at least one node exists in each of cells a 1, a2,…,ai.
2) pk,i is not less than the probability that at least one node exists in cell ai+1 as j-I nodes are randomly distributed in A
28
1
0
| |(1 (1 ) )
| |
kj i
i
a
A
1
,0
k
k k ii
p p
,
| | | |1 ( )
| |j i
k i
A ap
A
Pk,3
Under a1, a2, a3 each has at least one node
the probability of a4 has a least one node
1
0
| |(1 (1 ) )
| |
kj i
ki
ap
A
i nodes in cell a1, a2,…,ai
j-i nodes at least one in cell ai+1
A
ak
a2a1
![Page 29: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/29.jpg)
Q(y): the set of y’s neighbor having larger ID than y Pt,1: the probability that |Q(y)|is t
Pt,2: the probability that no node exists in all square cells with x
Pt,3: the probability that each square cell with has at least one node in Q(y) as |Q(y)|=j and no node exists in all square cells with x (by Lemma 3.3)
1
,30
| |(1 (1 ) )
| | | |
kt i
ti
ap
A u a
d
,2
| | | |( )
| |
where | | is circle size
and | | is cell size
t
A u ap
A
A
a
y is located on the center of the circle with radius R A node in a square cell can communicate with any node in the neighboring
square cells The square cell with contains at least one node having larger ID than y The square cell with х contains no node
29
Theorem 3.4. The probability that node y is pruned by K-Pruning is at least
Where and (0,8) 8 (1,8) 28 (2,8) 34 (3,8) 4 (3.75,6) 8 (2.38,7) 8 (3.38,7),f f f f f f f
| ( ) |d N y
1
0
1(1 ) (1 (1 ) )
8 8( , )
1
kdd j i
j k i
u
f u kd
y
,1
1
d 1tp
,1 ,2 ,30
( , )d
t t tt
f u k p p p
![Page 30: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/30.jpg)
30
Theorem 3.4. The probability that node y is pruned by K-Pruning is at least
Where and (0,8) 8 (1,8) 28 (2,8) 34 (3,8) 4 (3.75,6) 8 (2.38,7) 8 (3.38,7),f f f f f f f
| ( ) |d N y
1
0
1(1 ) (1 (1 ) )
8 8( , )
1
kdd j i
j k i
u
f u kd
![Page 31: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/31.jpg)
31
Lemma 3.6. The expected overlapped area of two circles each containing
the center of the other and having radius r is
23 3( )
4r
x yr
“Computing Subgraph Probability of Random Geometric Graphs: Quantitative Analysis of Wireless Ad Hoc Networks,” FORTE, 2005
![Page 32: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/32.jpg)
S(x): the set of x’s neighbors entering CKDS after x.num is reset to ∞ y is x’s neighbor P(y) induces a connected subgraph of G before x.num is
reset to ∞ P(y) does not induce a connected subgraph of G after x.num
is reset to ∞
32
m
o
n
ba
h
q
p
gj i
c de
f
lk 1 1
22∞ ∞
∞
229
6
1
1
4 1 1
r
∞
1
gb S(r)={b,g
}
Lemma 3.7. The expected number of nodes in S(x) is at most where and
4 3 3(1 ) ,
44 3 3dp p
| |
| |
CKDSp
V | ( ) |d N x
∞
∞
![Page 33: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/33.jpg)
33
Lemma 3.7. The expected number of nodes in S(x) is at most , if d<<|V| where and
4 3 3(1 ) ,
44 3 3dp p
y1
x
∞
yd
Let (yi.num.yi.id)>(yi+1.num.yi+1.id)
Pi,1: the probability of yi.num≠∞
Pi,2: the probability that P(yi) does not induce a connected subgraph of G after x.num is reset to ∞ under the condition yi.num≠∞
The probability of y1, y2, …,yi-1 are not the neighbor of yi (not in the overlap area of the transmission ranges of yi and x)
y3y3
2 2
1,2 2
3 3( )
4( )ii
r rp
r
,1 ,21
d
i ii
p p
1
,10
'i
i kk
p p
p’0 : no neighbor in CKDS
p’1 : one neighbor in CKDS
x
y2y2
' (1 )d d k kk kp C P P
| |
| |
CKDSp
V | ( ) |d N x
![Page 34: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/34.jpg)
Theorem 3.8. Assume that nodes are uniformly distributed in the network with degree d<<|V|. If node x switches on, switches off, moves, and is removed from CKDS, the expected numbers of reformation rounds are at most , , , and equal to 0, respectively, if α < 1, where
and
1) In each round, at least one node enters CKDS if CKDS needs reformation2) Switch-on:
3) Switch-off:
4) Movement:
5) Removed from CKDS:0
34
1 1i
i
2 1
d
1 2 1
d
1
12 2
d
( 2)1
2 2
d
4 3 3(1 )
44 3 3dp p
| |
| |
CKDSp
V
![Page 35: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/35.jpg)
Sufficient Condition Construction of CKDS Maintenance of CKDS Routing Based on CKDS Analyses Simulations
35
![Page 36: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/36.jpg)
36
Random-Walk Mobility and Gauss-Markov Mobility Models 0~100 km/hr (0~27.7m/s)
A message-passing synchronous network Communication proceed in synchronous rounds Every node exchanged message with its neighbors and did some
computation in each round Compared to
MCDS (Algorithmica, 1998) Dai and Wu’s method (TPDS, 2004) Alzoubi’s method (MobiHoc, 2004)
![Page 37: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/37.jpg)
37
(a) Number of nodes:50~150, mobile nodes:0, (α=1,β=1,γ=0.5) lower density
(b) Number of nodes:50~150, mobile nodes:0, (α=0.5,β=0.1,γ=1) larger density
1-MCDS < 1-CKDS = Dai and Wu’s method < Alzoubi’s method The size of VBB decreases as
The density increases k increases
(a) (b)
1-MCDS2-MCDS3-MCDS
1-CKDS, Dai
2-CKDS
3-CKDS
Alzoubi
![Page 38: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/38.jpg)
38
(a) Number of nodes:100, Random-Walk, mobile nodes:5~25, lower density
(b) Number of nodes:100, Random-Walk, mobile nodes:5~25, larger density
K-CKDS < Dai and Wu’s method < Alzoubi’s method
(a) (b)
Dai1-CKDS
2-CKDS3-CKDS
Alzoubi
![Page 39: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/39.jpg)
39
(a) Number of nodes:100, Random-Walk, mobile nodes:5~25, lower density
(b) Number of nodes:100, Random-Walk, mobile nodes:5~25, larger density
Dai and Wu’s method < K-CKDS << Alzoubi’s method The number of reformation rounds increases as
The number of mobile nodes increases The density decreases k increases
(a) (b)
Dai, K-CKDS
Alzoubi
![Page 40: Virtual Backbone](https://reader033.fdocuments.net/reader033/viewer/2022061518/568143f4550346895db07ee0/html5/thumbnails/40.jpg)
40
(a) Number of nodes:100, Random-Walk, mobile nodes:5~25, lower density
(b) Number of nodes:100, Random-Walk, mobile nodes:5~25, larger density
K-CKDS < Dai and Wu’s method < Alzoubi’s method The number of changed nodes increases as
The number of mobile nodes increases The density decreases k increases
(a) (b)
Dai
1-CKDS2-CKDS3-CKDS
Alzoubi