280 likes | 421 Views
Virtual-Coordinate-Based Delivery-Guaranteed Routing Protocol in Wireless Sensor Networks with Unidirectional Links. Chia-Hung Lin Bing-Hong Liu Hong-Yen Yang Chih-Yen Kao Ming-Jer Tsai National Tsing Hua University, Taiwan. Unidirectional Links. Sensors use different transmission ranges.
E N D
Virtual-Coordinate-Based Delivery-Guaranteed Routing Protocol in Wireless Sensor Networks with Unidirectional Links Chia-Hung Lin Bing-Hong Liu Hong-Yen Yang Chih-Yen Kao Ming-Jer Tsai National Tsing Hua University, Taiwan
Unidirectional Links • Sensors use different transmission ranges • Transmission range is not a perfect circle
Objective • A virtual coordinate assignment protocol and a routing protocol in WSNs • Address unidirectional links • Guarantee packet delivery • Do not require network topology feature
ABVCap_Uni • Virtual Coordinate Assignment Protocol • Idea • Challenges • ABVCap_Uni Routing Protocol • Longitude Routing • Latitude Routing • Proactive Routing • Intra-ring Routing
The Idea of Virtual Coordinate Assignment Protocol 23 33 12 22 7 7 10 26 2 11 30 30 6 35 3 5 29 17 27 28 31 32 20 14 19 34 25 21 1 8 13 18 4 36 15 9 24 Use ABVCap to assign virtual coordinate
Challenge 1: Directed Graph → Undirected Graph c1 23 c2 c3 33 12 22 7 7 10 v1 26 2 11 30 30 v2 6 35 3 5 29 17 27 28 31 32 20 14 19 34 25 21 1 8 13 18 4 36 15 9 24 A cycle containing nodes in different components is organized as a ring
The Idea of Virtual Coordinate Assignment Protocol (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) (2,-2,0,0,0) (3,-2,0,0,0) (4,-2,0,0,0) (5,-3,0,0,0) Z’ 23 (0,-4,0,0,0) (1,-3,0,0,0) (5,-1,1,0,0) (0,-2,2,1,0) 12 22 (4,-1,0,0,0) (5,-2,0,0,0) 10 v1 (2,-1,1,0,0) (0,-3,0,0,0) (1,-2,0,0,0) 2 W 11 (0,-2,1,0,0) (5,-1,0,0,0) (3,-1,0,0,0) v2 6 35 3 (2,-1,0,0,0) 29 (5,0,0,0,0) 17 27 (1,-1,0,0,0) Y (0,-1,1,1,0) (0,-2,0,0,0) 31 (4,0,0,0,0) 32 20 14 (3,0,0,0,0) 19 (0,-1,1,1,0) 34 25 21 (5,1,0,0,0) (0,-1,0,0,0) (2,0,0,0,0) (3,1,0,0,0) (4,2,0,0,0) (5,3,0,0,0) 1 8 (0,0,1,1,0) 13 18 4 (4,1,0,0,0) (5,2,0,0,0) (2,1,0,0,0) (1,0,0,0,0) 36 15 X Z (0,0,0,0,0) (0,2,0,0,0) (1,2,0,0,0) 9 24 (0,1,0,0,0) (1,1,0,1,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)
The Idea of Virtual Coordinate Assignment Protocol (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) (2,-2,0,0,0) (3,-2,0,0,0) (4,-2,0,0,0) (5,-3,0,0,0) Z’ 23 (0,-4,0,0,0) (1,-3,0,0,0) (0,-2,2,1,0) (0,-2,1,0,0) 33 (0,-2,2,1,0) (5,-1,1,0,0) (0,-2,2,1,0) 12 22 (0,-2,1,0,0) (4,-1,0,0,0) (5,-2,0,0,0) 7 7 10 v1 26 (2,-1,1,0,0) (0,-3,0,0,0) (1,-2,0,0,0) 2 W 11 (0,-2,1,0,0) (5,-1,0,0,0) (3,-1,0,0,0) (0,-2,1,0,0) 30 30 v2 6 (0,-2,2,1,0) 35 (0,-2,1,0,0) 3 (2,-1,0,0,0) 5 29 (5,0,0,0,0) 17 27 (0,-2,1,0,0) (1,-1,0,0,0) Y (0,-1,1,1,0) 28 (0,-2,0,0,0) 31 (4,0,0,0,0) 32 20 14 (3,0,0,0,0) 19 (0,-1,1,1,0) 34 25 21 (5,1,0,0,0) (0,-1,0,0,0) (2,0,0,0,0) (3,1,0,0,0) (4,2,0,0,0) (5,3,0,0,0) 1 8 (0,0,1,1,0) 13 18 4 (4,1,0,0,0) (5,2,0,0,0) (2,1,0,0,0) (1,0,0,0,0) 36 15 X Z (0,0,0,0,0) (0,2,0,0,0) (1,2,0,0,0) 9 24 (0,1,0,0,0) (1,1,0,1,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)
The Idea of ABVCap HopDist (X,Z’)=HopDist (Y,Z’) ±1 HopDist (Z,Z’) is maximum (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) (longitude,latitude,ripple,up,down) Virtual coordinate is assigned based on the hop distance (2,-2,0,0,0) (3,-2,0,0,0) (4,-2,0,0,0) (5,-3,0,0,0) Z’ 23 (0,-4,0,0,0) (1,-3,0,0,0) (5,-1,1,0,0) (0,-2,2,1,0) 12 22 (4,-1,0,0,0) (5,-2,0,0,0) 0 10 v1 (2,-1,1,0,0) 2 (0,-3,0,0,0) (1,-2,0,0,0) 2 W 11 0 (0,-2,1,0,0) (5,-1,0,0,0) (3,-1,0,0,0) 1 v2 6 35 3 (2,-1,0,0,0) 29 (5,0,0,0,0) 17 27 (1,-1,0,0,0) Y (0,-1,1,1,0) (0,-2,0,0,0) 31 (4,0,0,0,0) 32 HopDist(X,Y) is maximum 20 14 (3,0,0,0,0) 19 (0,-1,1,1,0) 34 25 21 (5,1,0,0,0) (0,-1,0,0,0) (2,0,0,0,0) (3,1,0,0,0) (4,2,0,0,0) (5,3,0,0,0) 1 8 (0,0,1,1,0) 13 18 4 (4,1,0,0,0) (5,2,0,0,0) 4 (2,1,0,0,0) (1,0,0,0,0) 36 15 X Z (0,0,0,0,0) (0,2,0,0,0) (1,2,0,0,0) 9 24 HopDist(W,X) is maximum HopDist (X,Z)=HopDist (Y,Z) ±1 HopDist (W,Z) is maximum (0,1,0,0,0) (1,1,0,1,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)
Challenge 2: Virtual Coordinate of the Node = Virtual Coordinate of the Extended Node Hop distance of a node has to equal the hop distance of the extended node Z’ 23 33 2 2 12 22 0 7 7 10 26 2 W 11 2 2 1 30 30 6 2 35 3 5 29 2 17 27 Y 28 31 2 32 20 14 19 34 25 21 1 8 13 18 4 36 15 X Z 9 24
Challenge 3: A Node is Contained in Multiple Rings Z’ 23 (0,-2,1,0,0) (0,-2,1,0,0,5,1,3) 33 (0,-2,2,1,0) (0,-2,2,1,0,7,1,0) 12 22 7 7 10 26 2 W 11 30 30 6 35 3 5 29 17 27 Y 28 31 32 20 14 19 34 25 21 1 8 13 18 4 36 15 X Z 9 24
ABVCap_Uni • Virtual Coordinate Assignment Protocol • Idea • Challenges • ABVCap_Uni Routing Protocol • Longitude Routing • Latitude Routing • Proactive Routing • Intra-ring Routing
Longitude Routing … u v • If u.lon<d.lon, then u.rep=u.up • If u.lon>d.lon, then u.rep=u.dn (u.lon, u.lat) (v.lon=d.lon, v.lat) If u.lon<d.lon , we show (|ui.lon-d.lon|, ui.up)>(|ui+1.lon-d.lon|, ui+1.up) v … … u … u0 u1 u2 un (|v.lon-d.lon|, v.rep)=(0, v.rep) (|u1.lon-d.lon|, u1.rep) is minimal … …
Assignment of up Coordinate if ui.up=0, |ui.lon-d.lon|>|ui+1.lon-d.lon| up: the minimal hop distance to a node having longitude larger by one minus one if ui.up≠0, ui.lon=ui+1.lon & ui.up>ui+1.up Z’ 23 12 22 10 v1 2 W 11 v2 6 35 3 29 17 27 Y (0,-1,1,1,0) (0,-2,0,0,0) 31 32 20 14 19 (0,-1,1,1,0) 34 (0,-1,1,1,0) (0,-1,0,0,0) 25 21 (0,-1,0,0,0) (2,0,0,0,0) (1,0,0,0,0) 1 8 (0,0,1,1,0) 13 18 4 (1,0,0,0,0) 36 15 X Z (0,0,0,0,0) 9 24
Longitude Routing … u v (u.lon, u.lat) (v.lon=d.lon, v.lat) If u.lon<d.lon , we show (|ui.lon-d.lon|, ui.up)>(|ui+1.lon-d.lon|, ui+1.up) 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
Latitude Routing … v w (v.lon, v.lat) (w.lon=d.lon, w.lat=d.lat) We show (|vi.lat-d.lat|, vi.rp) > (|vi+1.lat-d.lat|, vi+1.rp) w … … v v1.lon=v0.lon & (|v1.lat-d.lat|, v1.rp) is minimal … v0 v1 vn v2 (|w.lat-d.lat|, w.rp) = (0, w.rp) … …
Assignment of rp Coordinate if vi.rp=0, vi.lon=vi+1.lon & |vi.lat-d.lat|>|vi+1.lat-d.lat| rp: the minimal hop distance to the axis node it joined if vi.rp≠0, vi.lon=vi+1.lon , vi.lat=vi+1.lat & vi.rp>vi+1.rp Z’ 23 (0,-4,0,0,0) (1,-3,0,0,0) (0,-2,2,1,0) 12 22 10 v1 (2,-1,1,0,0) (0,-3,0,0,0) (1,-2,0,0,0) 2 W 11 (0,-2,1,0,0) v2 6 35 3 29 17 27 (1,-1,0,0,0) Y (0,-1,1,1,0) (0,-2,0,0,0) 31 32 20 14 19 34 (0,-2,1,0,0) (0,-2,0,0,0) 25 21 (0,-1,0,0,0) (0,-3,0,0,0) (1,-2,0,0,0) (0,-1,0,0,0) 1 8 13 18 4 (1,0,0,0,0) 36 15 X Z 9 24
Latitude Routing … v w (v.lon, v.lat) (w.lon=d.lon, w.lat=d.lat) 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
Proactive Routing … w d • 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) (d.lon, d.lat) → Packets can be forwarded from w to d
Intra-Ring Routing (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) longitude routing latitude routing (2,-2,0,0,0) (3,-2,0,0,0) (4,-2,0,0,0) (5,-3,0,0,0) proactive routing Z’ 23 (0,-4,0,0,0) (1,-3,0,0,0) intra-ring routing (5,-1,1,0,0) (0,-2,2,1,0) s 12 22 (4,-1,0,0,0) (5,-2,0,0,0) 10 v1 (2,-1,1,0,0) 2 11 (0,-3,0,0,0) (1,-2,0,0,0) W (0,-2,1,0,0) (5,-1,0,0,0) (3,-1,0,0,0) v2 6 35 3 (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) (2,-1,0,0,0) (0,-2,1,0,0,5,1,3) 29 (5,0,0,0,0) (2,-2,0,0,0) (3,-2,0,0,0) (4,-2,0,0,0) (5,-3,0,0,0) 17 27 7 (1,-1,0,0,0) Z’ 23 26 Y (0,-4,0,0,0) (1,-3,0,0,0) (0,-1,1,1,0) 31 (0,-2,0,0,0) (4,0,0,0,0) (5,-1,1,0,0) 32 (4,-1,0,0,0) (5,-2,0,0,0) (0,-2,1,0,0,5,1,2) (0,-2,1,0,0,5,1,4) 20 12 22 (0,-2,2,1,0) 14 (3,0,0,0,0) (2,-1,1,0,0) 10 19 (0,-2,1,0,0) v1 30 (0,-1,1,1,0) (0,-3,0,0,0) (1,-2,0,0,0) 2 11 W 34 (5,-1,0,0,0) d (3,-1,0,0,0) 25 21 v2 6 (5,1,0,0,0) (0,-1,0,0,0) (2,-1,0,0,0) 35 3 (2,0,0,0,0) 5 29 (5,0,0,0,0) (3,1,0,0,0) (4,2,0,0,0) (5,3,0,0,0) 1 8 17 27 (0,-2,1,0,0,5,1,1) (0,0,1,1,0) (1,-1,0,0,0) Y 31 (0,-1,1,1,0) (0,-2,0,0,0) (4,0,0,0,0) (0,-2,1,0,0,5,1,0) 32 28 13 18 4 20 (4,1,0,0,0) (5,2,0,0,0) 14 (3,0,0,0,0) 19 (0,-1,1,1,0) 34 (2,1,0,0,0) 25 21 (0,-1,0,0,0) (5,1,0,0,0) (1,0,0,0,0) (2,0,0,0,0) 36 15 (0,0,1,1,0) (3,1,0,0,0) (4,2,0,0,0) (5,3,0,0,0) 1 8 X Z 13 18 4 (4,1,0,0,0) (5,2,0,0,0) (0,0,0,0,0) (0,2,0,0,0) (1,2,0,0,0) 9 24 Packets are forwarded to the successor (2,1,0,0,0) (1,0,0,0,0) 36 15 X (0,1,0,0,0) (1,1,0,1,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,0,0,0,0) (0,2,0,0,0) (1,2,0,0,0) 9 24 Z (0,1,0,0,0) (1,1,0,1,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)
Simulation Results • Assumption • Each sensor has a unique ID • Sensors are static • Network behaviors are not taken into consideration
Environment Setup • Size of deployment region is fixed • Number of nodes • 300, 400, 500, 600, 700 • pb (percentage of bidirectional links) • 60%, 80%, 100%
Compared Protocols • GLDR+VLM • Variant of GLDR • Has higher delivery rate than GLDR • Euclidean • Location-aware • Greedy routing • Detour is allowed
Conclusion • ABVCap_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
Thank you! Q & A