Page 1
Virtual-Coordinate-Based Delivery-Virtual-Coordinate-Based Delivery-Guaranteed Routing Protocol in Wireless Guaranteed Routing Protocol in Wireless Sensor Networks with Unidirectional LinksSensor Networks with Unidirectional Links
Chia-Hung LinBing-Hong LiuHong-Yen YangChih-Yen KaoMing-Jer Tsai
National Tsing Hua University, Taiwan
Page 2
Unidirectional LinksUnidirectional LinksSensors use different
transmission rangesTransmission range is
not a perfect circle
Page 3
ObjectiveObjectiveA virtual coordinate assignment protocol
and a routing protocol in WSNs◦Address unidirectional links ◦Guarantee packet delivery◦Do not require network topology feature
Page 4
Related WorksRelated Works
MethodAddress
Unidirectional Links
Guarantee Delivery
Require Network Topology Feature
Vcap [A. Caruso et al.](INFOCOM 2005)
No No No
GLIDER [Q. Fang et al.](INFOCOM 2005)
Yes No Yes
MAP [J. Burck et al.](MOBICOM 2005)
No Yes Yes
GLDR [A. Nguyen et al.](INFOCOM 2007)
Yes No No
ABVCap [M. J. Tsai et al.](INFOCOM 2007)
No Yes No
Page 5
ABVCap_UniABVCap_Uni
Virtual Coordinate Assignment Protocol◦ Idea◦Challenges
ABVCap_Uni Routing Protocol◦Longitude Routing◦Latitude Routing◦Proactive Routing◦ Intra-ring Routing
Page 6
The Idea of Virtual Coordinate Assignment The Idea of Virtual Coordinate Assignment ProtocolProtocol
29
6
1011
27
19
31
3
821
24
4
34
15
9
18
32
17
22
23
2
12
35
14
1
36
13
25
20
26
5
7
30
28
33
7
30
Use ABVCap to assign virtual coordinate
Page 7
Challenge 1: Directed Graph → Undirected GraphChallenge 1: Directed Graph → Undirected Graph
29
6
1011
27
19
31
3
821
24
4
34
15
9
18
32
17
22
23
2
12
35
14
1
36
13
25
20
v2
v1
c1
c2 c3
A cycle containing nodes in different components is organized as a ring
26
5
7
30
28
33
7
30
Page 8
The Idea of Virtual Coordinate Assignment The Idea of Virtual Coordinate Assignment ProtocolProtocol
29
6
1011
27
19
31
3
821
24
4
34
15
9
18
32
17
22
23
2
12
35
14
1
36
13
25
20
v2
v1
W
X
Y
Z
Z’
(0,0,0,0,0)
(1,0,0,0,0)
(2,0,0,0,0)
(3,0,0,0,0)
(4,0,0,0,0)
(5,0,0,0,0)
(0,1,0,0,0)(1,1,0,1,0)
(0,2,0,0,0)(1,2,0,0,0)
(2,1,0,0,0)
(5,1,0,0,0)
(4,1,0,0,0)(5,2,0,0,0)
(3,1,0,0,0)(4,2,0,0,0)(5,3,0,0,0)
(0,3,0,0,0) (3,2,0,0,0)(1,3,0,0,0) (4,3,0,0,0)(2,2,0,0,0) (5,4,0,0,0)
(0,-1,0,0,0)
(0,-2,0,0,0)
(0,-3,0,0,0)(1,-2,0,0,0)
(1,-1,0,0,0)
(0,-4,0,0,0)(1,-3,0,0,0)
(2,-1,0,0,0)
(3,-1,0,0,0)(5,-1,0,0,0)
(4,-1,0,0,0)(5,-2,0,0,0)
(2,-2,0,0,0)(3,-2,0,0,0)(4,-2,0,0,0)(5,-3,0,0,0)
(5,-1,1,0,0)
(2,-1,1,0,0)
(0,-5,0,0,0) (3,-3,0,0,0)(1,-4,0,0,0) (4,-3,0,0,0)(2,-3,0,0,0) (5,-4,0,0,0)
(0,0,1,1,0)
(0,-1,1,1,0)
(0,-2,1,0,0)
(0,-1,1,1,0)
(0,-2,2,1,0)
Page 9
The Idea of Virtual Coordinate Assignment The Idea of Virtual Coordinate Assignment ProtocolProtocol
29
6
1011
27
19
31
3
821
24
4
34
15
9
18
32
17
22
23
2
12
35
14
1
36
13
25
20
26
5
7
30
28
33
v17
30 v2
W
X
Y
Z
Z’
(0,0,0,0,0)
(1,0,0,0,0)
(2,0,0,0,0)
(3,0,0,0,0)
(4,0,0,0,0)
(5,0,0,0,0)
(0,1,0,0,0)(1,1,0,1,0)
(0,2,0,0,0)(1,2,0,0,0)
(2,1,0,0,0)
(5,1,0,0,0)
(4,1,0,0,0)(5,2,0,0,0)
(3,1,0,0,0)(4,2,0,0,0)(5,3,0,0,0)
(0,3,0,0,0) (3,2,0,0,0)(1,3,0,0,0) (4,3,0,0,0)(2,2,0,0,0) (5,4,0,0,0)
(0,-1,0,0,0)
(0,-2,0,0,0)
(0,-3,0,0,0)(1,-2,0,0,0)
(1,-1,0,0,0)
(0,-4,0,0,0)(1,-3,0,0,0)
(2,-1,0,0,0)
(3,-1,0,0,0)(5,-1,0,0,0)
(4,-1,0,0,0)(5,-2,0,0,0)
(2,-2,0,0,0)(3,-2,0,0,0)(4,-2,0,0,0)(5,-3,0,0,0)
(5,-1,1,0,0)
(2,-1,1,0,0)
(0,-5,0,0,0) (3,-3,0,0,0)(1,-4,0,0,0) (4,-3,0,0,0)(2,-3,0,0,0) (5,-4,0,0,0)
(0,0,1,1,0)
(0,-1,1,1,0)
(0,-2,1,0,0)
(0,-1,1,1,0)
(0,-2,2,1,0)
(0,-2,2,1,0)
(0,-2,2,1,0)
(0,-2,2,1,0)(0,-2,1,0,0)
(0,-2,1,0,0)
(0,-2,1,0,0)
(0,-2,1,0,0)
(0,-2,1,0,0)
Page 10
The Idea of ABVCapThe Idea of ABVCap
29
6
1011
27
19
31
3
821
24
4
34
15
9
18
32
17
22
23
12
1
36
13
25
20
v1
v2
W
X
Y
Z
Z’
(0,0,0,0,0)
(1,0,0,0,0)
(2,0,0,0,0)
(3,0,0,0,0)
(4,0,0,0,0)
(5,0,0,0,0)
(0,1,0,0,0)(1,1,0,1,0)
(0,2,0,0,0)(1,2,0,0,0)
(2,1,0,0,0)
(5,1,0,0,0)
(4,1,0,0,0)(5,2,0,0,0)
(3,1,0,0,0)(4,2,0,0,0)(5,3,0,0,0)
(0,3,0,0,0) (3,2,0,0,0)(1,3,0,0,0) (4,3,0,0,0)(2,2,0,0,0) (5,4,0,0,0)
(0,-1,0,0,0)
(0,-2,0,0,0)
(0,-3,0,0,0)(1,-2,0,0,0)
(1,-1,0,0,0)
(0,-4,0,0,0)(1,-3,0,0,0)
(2,-1,0,0,0)
(3,-1,0,0,0)(5,-1,0,0,0)
(4,-1,0,0,0)(5,-2,0,0,0)
(2,-2,0,0,0)(3,-2,0,0,0)(4,-2,0,0,0)(5,-3,0,0,0)
(5,-1,1,0,0)
(2,-1,1,0,0)
(0,-5,0,0,0) (3,-3,0,0,0)(1,-4,0,0,0) (4,-3,0,0,0)(2,-3,0,0,0) (5,-4,0,0,0)
(0,0,1,1,0)
(0,-1,1,1,0)
(0,-2,1,0,0)
(0,-1,1,1,0)
(0,-2,2,1,0)
HopDist(W,X) is maximum
HopDist(X,Y) is maximum
HopDist (X,Z)=HopDist (Y,Z) ±1HopDist (W,Z) is maximum
HopDist (X,Z’)=HopDist (Y,Z’) ±1HopDist (Z,Z’) is maximum
0
12
4
Virtual coordinate is assigned based on the hop distance
0 2
14
35
(longitude,latitude,ripple,up,down)
Page 11
2
29
6
1011
27
19
31
3
821
24
4
34
15
9
18
32
17
22
23
12
14
1
36
13
25
20
7
30
33
7
30
Challenge 2: Virtual Coordinate of the Node = Challenge 2: Virtual Coordinate of the Node = Virtual Coordinate of the Extended NodeVirtual Coordinate of the Extended Node
W
X
Y
Z
Z’
0
12
2
2
2
2
2
35
26
28
52
Hop distance of a node has to equal the hop distance of the extended node
Page 12
Challenge 3: A Node is Contained in Multiple Challenge 3: A Node is Contained in Multiple RingsRings
29
6
1011
27
19
31
3
821
24
4
34
15
9
18
32
17
22
23
2
12
35
14
1
36
13
25
20
7
30W
X
Y
Z
Z’
26
5
28
33
7
30
(0,-2,2,1,0)(0,-2,1,0,0)(0,-2,2,1,0,7,1,0)(0,-2,1,0,0,5,1,3)
Page 13
ABVCap_UniABVCap_Uni
Virtual Coordinate Assignment Protocol◦ Idea◦Challenges
ABVCap_Uni Routing Protocol◦Longitude Routing◦Latitude Routing◦Proactive Routing◦ Intra-ring Routing
Page 14
If u.lon < d.lon, then u.rep=u.up If u.lon > d.lon, then u.rep=u.dn
(|u1.lon-d.lon|, u1.rep) is minimalu2
……
Longitude RoutingLongitude Routing
(u.lon, u.lat) u …
(v.lon=d.lon, v.lat) v
……
…u0 u1 un (|v.lon-d.lon|, v.rep)=(0, v.rep)
If u.lon < d.lon , we show (|ui.lon-d.lon|, ui.up) > (|ui+1.lon-d.lon|, ui+1.up)
u v
Page 15
Assignment of up CoordinateAssignment of up Coordinate
29
6
1011
27
19
31
3
821
24
4
34
15
9
32
17
22
23
2
12
35
14
36
13
20
v2
v1
W
X
Y
Z
Z’
(0,0,0,0,0)
(1,0,0,0,0)
(2,0,0,0,0)
(0,-2,0,0,0)
(0,0,1,1,0)
(0,-1,1,1,0)
(0,-1,1,1,0)
(0,-1,0,0,0)(0,-1,0,0,0)
1
(1,0,0,0,0)
18
(0,-1,1,1,0)
25
if ui.up=0, |ui.lon-d.lon| > |ui+1.lon-d.lon|if ui.up≠0, ui.lon=ui+1.lon & ui.up >ui+1.up
up: the minimal hop distance to a node having longitude larger by one minus one
Page 16
If u.lon < d.lon , we show (|ui.lon-d.lon|, ui.up) > (|ui+1.lon-d.lon|, ui+1.up)
Longitude RoutingLongitude Routing
(u.lon, u.lat) u …
(v.lon=d.lon, v.lat) v
if ui.up=0, |ui.lon-d.lon| > |ui+1.lon-d.lon|if ui.up≠0, ui.lon=ui+1.lon & ui.up > ui+1.up
Page 17
v1.lon=v0.lon& (|v1.lat-d.lat|, v1.rp) is minimal
v2
……
Latitude RoutingLatitude Routing
(v.lon, v.lat) v …
(w.lon=d.lon, w.lat=d.lat) w
……
…v0 v1 vn (|w.lat-d.lat|, w.rp) = (0, w.rp)
v w
We show (|vi.lat-d.lat|, vi.rp) > (|vi+1.lat-d.lat|, vi+1.rp)
Page 18
if vi.rp≠0, vi.lon=vi+1.lon , vi.lat=vi+1.lat & vi.rp > vi+1.rp
Assignment of rp CoordinateAssignment of rp Coordinate
29
6
1011
27
19
31
3
821
24
4
34
15
9
32
17
22
23
2
12
35
36
13
20
v1
W
X
Y
Z
Z’
(1,0,0,0,0)
(0,-2,0,0,0)
(0,-3,0,0,0)(1,-2,0,0,0)
(1,-1,0,0,0)
(0,-4,0,0,0)(1,-3,0,0,0)
(2,-1,1,0,0)
(0,-2,1,0,0)
(0,-1,1,1,0)
(0,-2,2,1,0)
(0,-1,0,0,0)
(0,-2,0,0,0)
(0,-3,0,0,0)(1,-2,0,0,0)
18
(0,-2,1,0,0)
25
if vi.rp=0, vi.lon=vi+1.lon & |vi.lat-d.lat| > |vi+1.lat-d.lat|
14
(0,-1,0,0,0)
1
v2
rp: the minimal hop distance to the axis node it joined
Page 19
Latitude RoutingLatitude Routing
(v.lon, v.lat) v …
(w.lon=d.lon, w.lat=d.lat) w
We show (|vi.lat-d.lat|, vi.rp) > (|vi+1.lat-d.lat|, vi+1.rp)
if vi.rp=0, vi.lon=vi+1.lon & |vi.lat-d.lat| > |vi+1.lat-d.lat|
if vi.rp≠0, vi.lon=vi+1.lon , vi.lat=vi+1.lat & vi.rp > vi+1.rp
Page 20
Proactive RoutingProactive Routing
Nodes having the same longitude and latitude coordinates exchange information
Subgraph induced by nodes having the same longitude and latitude coordinates is strongly connected
(w.lon, w.lat) w …
(d.lon, d.lat) d
→ Packets can be forwarded from w to d
Page 21
Intra-Ring RoutingIntra-Ring Routinglongitude routinglatitude routingproactive routingintra-ring routing
26
5
7
30
28
(0,-2,1,0,0,5,1,4)
(0,-2,1,0,0,5,1,0)(0,-2,1,0,0,5,1,1)
(0,-2,1,0,0,5,1,2)
(0,-2,1,0,0,5,1,3)
Packets are forwarded to the successor
W
X
Y
Z
Z’
(0,0,0,0,0)
(1,0,0,0,0)
(2,0,0,0,0)
(3,0,0,0,0)
(4,0,0,0,0)
(5,0,0,0,0)
(0,1,0,0,0)(1,1,0,1,0)
(0,2,0,0,0)(1,2,0,0,0)
(2,1,0,0,0)
(5,1,0,0,0)
(4,1,0,0,0)(5,2,0,0,0)
(3,1,0,0,0)(4,2,0,0,0)(5,3,0,0,0)
(0,3,0,0,0) (3,2,0,0,0)(1,3,0,0,0) (4,3,0,0,0)(2,2,0,0,0) (5,4,0,0,0)
(0,-1,0,0,0)
(0,-2,0,0,0)
(0,-3,0,0,0)(1,-2,0,0,0)
(1,-1,0,0,0)
(0,-4,0,0,0)(1,-3,0,0,0)
(2,-1,0,0,0)
(3,-1,0,0,0)(5,-1,0,0,0)
(4,-1,0,0,0)(5,-2,0,0,0)
(2,-2,0,0,0)(3,-2,0,0,0)(4,-2,0,0,0)(5,-3,0,0,0)
(5,-1,1,0,0)
(2,-1,1,0,0)
(0,-5,0,0,0) (3,-3,0,0,0)(1,-4,0,0,0) (4,-3,0,0,0)(2,-3,0,0,0) (5,-4,0,0,0)
(0,0,1,1,0)
(0,-1,1,1,0)
s
d
(0,-1,1,1,0)
6
10
19
821
24
4
15
9
32
113
25
292731
34
18
36
35
14
11
317
23
2
2212
v2
20
(0,-2,1,0,0)
v1
(0,-2,2,1,0)
10
2
13
25
W
X
Y
Z
Z’
6
11
3
32
17
22
23
35
14
1
19
8
21
24
4
15
9
27
31
34
18
36
29
(0,0,0,0,0)
(1,0,0,0,0)
(2,0,0,0,0)
(3,0,0,0,0)
(4,0,0,0,0)
(5,0,0,0,0)
(0,1,0,0,0)(1,1,0,1,0)
(0,2,0,0,0)(1,2,0,0,0)
(2,1,0,0,0)
(5,1,0,0,0)
(4,1,0,0,0)(5,2,0,0,0)
(3,1,0,0,0)(4,2,0,0,0)(5,3,0,0,0)
(0,3,0,0,0) (3,2,0,0,0)(1,3,0,0,0) (4,3,0,0,0)(2,2,0,0,0) (5,4,0,0,0)
(0,-1,0,0,0)
(0,-2,0,0,0)
(0,-3,0,0,0)(1,-2,0,0,0)
(1,-1,0,0,0)
(0,-4,0,0,0)(1,-3,0,0,0)
(2,-1,0,0,0)(3,-1,0,0,0)
(5,-1,0,0,0)
(4,-1,0,0,0)(5,-2,0,0,0)
(2,-2,0,0,0)(3,-2,0,0,0)(4,-2,0,0,0)(5,-3,0,0,0)
(5,-1,1,0,0)
(2,-1,1,0,0)
(0,-5,0,0,0) (3,-3,0,0,0)(1,-4,0,0,0) (4,-3,0,0,0)(2,-3,0,0,0) (5,-4,0,0,0)
(0,0,1,1,0)
(0,-1,1,1,0)
(0,-1,1,1,0)
(0,-2,1,0,0)12
20
v1
(0,-2,2,1,0)
v2
Page 22
Simulation ResultsSimulation ResultsAssumption
◦Each sensor has a unique ID◦Sensors are static◦Network behaviors are not taken into
consideration
Page 23
Environment SetupEnvironment SetupSize of deployment region is fixedNumber of nodes
◦300, 400, 500, 600, 700pb (percentage of bidirectional links)
◦60%, 80%, 100%
Page 24
Compared ProtocolsCompared ProtocolsGLDR+VLM
◦Variant of GLDR◦Has higher delivery rate than GLDR
Euclidean◦Location-aware◦Greedy routing◦Detour is allowed
Page 25
Delivery RateDelivery Rate
Page 26
Routing Path LengthRouting Path Length
Page 27
ConclusionConclusionABVCap_Uni
◦ Addresses unidirectional links ◦ Guarantees packet delivery◦ Does not require network topology feature
Delivery Rate◦ ABVCap_Uni: 100%◦ GLDR+VLM: 69~87%◦ Euclidean: 68~99%
Routing Path Length◦ ABVCap_Uni/GLDR+VLM=1~1.12◦ ABVCap_Uni/Euclidean=1.26~1.77
Future Work◦ Wireless sensor networks with unreliable nodes and links
Page 28
Thank you!Thank you!