Axis-Based Virtual Coordinate Assignment Protocol and Delivery- Guaranteed Routing Protocol in Wireless Sensor Networks M.J.Tsai, H.Y.Yang, and W.Q.Huang
Outline Motivation Axis-Based Virtual Coordinate Assignment Protocol (ABVCap) Routing Protocol Multiple Virtual Coordinates Issue Simulation Results Conclusion
(27,12) (1,24) (3,21) (9,23) (0,15) (8,18) (14,15) (11,12) (2,10) (5,5) (11,6) (18,8) (20,13) (15,2) (24,8) (26,19) (28,3) (32,17) (29,22) (36,20) (41,15) (34,7) (39,12) (39,6) (10,0) p Virtual Coordinate c s a m j e 11 x i h t o g b u d r n k v l w q f source dest t Virtual coordinate assignment (6,5,5) (3,5,3) (0,8,5) (1,7,4) (7,3,6) (7,4,6) (5,5,1) (2,7,4) (2,8,3) (2,6,3) (3,5,2) (3,7,2) (4,6,1) (4,5,1) (4,4,2) (4,4,3) (5,6,0) (5,3,3) (5,4,4) (6,2,4) (6,4,5) (8,2,7) (7,1,5) (8,1,6) (8,0,6)
(0,8,5) (1,7,4) (2,7,4) (2,8,3) (2,6,3) (3,6,4) (3,5,3) (3,5,2) (3,7,2) (4,6,1) (4,5,1) (4,4,2) (4,4,3) (5,6,0) (5,5,1) (5,3,3) (5,4,4) (6,5,5) (6,2,4) (6,4,5) (7,4,6) (7,3,6) (8,2,7) (7,1,5) (8,1,6) (8,0,6) VCap b p h e t w l k u a g f j x r i o v n m d z c s q y z q s Anchor X Anchor Z Anchor Y (4,4,3)
a o VCap Routing: Forward packets to a neighbor having closer distance to destination b p h e t w l k u g f j x r i v n m d z c s q y Dist(A,B): Distance between two nodes A (x 1,y 1,z 1 ) and B (x 2,y 2,z 2 ) is (0,8,5) (1,7,4) (2,7,4) (2,8,3) (2,6,3) (3,6,4) (3,5,3) (3,5,2) (3,7,2) (4,6,1) (4,5,1) (4,4,2) (4,4,3) (5,6,0) (5,5,1) (5,3,3) (5,4,4) (6,5,5) (6,2,4) (6,4,5) (7,4,6) (7,3,6) (8,2,7) (7,1,5) (8,1,6) (8,0,6)
(0,8,5) (1,7,4) (2,7,4) (2,8,3) (2,6,3) (3,6,4) (3,5,3) (3,5,2) (3,7,2) (4,6,1) (4,5,1) (4,4,2) (4,4,3) (5,6,0) (5,5,1) (5,3,3) (5,4,4) (6,5,5) (6,2,4) (6,4,5) (7,4,6) (7,3,6) (8,2,7) (7,1,5) (8,1,6) (8,0,6) b p h e w l k a g f j x r i o v n m d z c s q y Greedy forwarding is not available source dest t u Dead-End Node Problem: No neighbor is closer to destination
Motivation VCap routing does not need physical address VCap routing does not guarantee packet delivery Require a delivery-guaranteed routing protocol without physical address !!
Our Idea Location is represented by longitude and latitude using meridians and parallels Establish meridians and parallels Assign (longitude, latitude) to each sensor
Selection of Four Anchors Establishment of Parallel Establishment of Meridians Assignment of longitude and latitude: Join nearest node (2,1) (2,2) ABVCap v e w s q h i c p u a m r g l t j b d k f o x h s v g (3,0) (2,0) (1,0) (0,0) (2,-1) (2,-2) (2,1) n Z Z’ Y X Anchor X Anchor Y Anchor Z Anchor Z’ (longitude, latitude) Meridian_2+ Meridian_2-
v e w s q h i c p u a m r g l t j b d k f o x (3,0) (2,0) (1,0) (0,0) (1,1) (1,2) (1,-1) (2,-2) (2,1) (2,0) (0,1) (0,2) (2,1) (3,1) (3,2) (2,2)(0,3) (0,1) (3,1) (0,-1) (1,0) (3,-1) (3,-2) (3,-3) (0,-2) (1,-2) (1,0) (2,-1) n (0,2) Multiple Assignment of Longitude and Latitude (longitude, latitude)
v e w s q h i c p u a m r g l t j b d k f o x (3,0) (2,0) (1,0) (0,0) (1,1) (1,-1) (2,1) (2,0) (0,1) (0,2) (2,1) (0,3) (0,1) (0,-1) (1,0) (3,-1) (3,-2) (1,0) (2,-1) n (0,2) (3,1) (3,-3) Assignment of Up, Down, and Ripple (3,1)
v e w s q h i c p u a m r g l t j b d k f o x (3,0) (2,0) (1,0) (0,0) (1,1) (1,-1) (2,1) (2,0) (0,1) (0,2) (2,1) (0,3) (0,1) (0,-1) (1,0) (3,-1) (3,-2) (1,0) (2,-1) n (0,2) Up=1Up=2 (3,1) (3,-3) (3,1) Up: The minimal hop count to a node having longitude larger by one
v e w s q h i c p u a m r g l t j b d k f o x (3,0) (2,0) (1,0) (0,0) (1,1) (1,-1) (2,1) (2,0) (0,1) (0,2) (2,1) (0,3) (0,1) (0,-1) (1,0) (3,-1) (3,-2) (1,0) (2,-1) n (0,2) Down=1 Down=2 (3,1) (3,-3) (3,1) Down: The minimal hop count to a node having longitude smaller by one
v e w s q h i c p u a m r g l t j b d k f o x (3,0) (2,0) (1,0) (0,0) (1,1) (1,-1) (2,1) (2,0) (0,1) (0,2) (2,1) (0,3) (0,1) (0,-1) (1,0) (3,-1) (3,-2) (1,0) (2,-1) n (0,2) Ripple=1 (3,1) (3,-3) (3,1) Ripple: The minimal hop count to the node it joined Ripple=0
Virtual Coordinate Assignment Longitude and latitude Denote location Up, down, and ripple Assist routing
Longitude routing Correction of longitude Latitude routing Correction of latitude Proactive routing Destination Routing Protocol Parallel Meridian Longitude routing Correction of longitude Latitude routing Correction of latitude Proactive routing Destination Source Destination Equal longitude to destination Equal longitude and latitude to destination
LoDiff=2 LoDiff=3 LoDiff=2 Longitude Routing: Forward packets to a neighbor having smaller difference in longitude with destination (Greedy) Longitude Routing: Correct longitude v e w s q h i c p u a m r g l t j b k f o x (3,0) (2,0) (1,0) (0,0) (1,1) (1,-1) (2,1) (2,0) (0,1) (0,2) (2,1) (3,1) (0,3) (0,1) (3,1) (0,-1) (1,0) (3,-1) (3,-2) (3,-3) (1,0) (2,-1) (0,2) d n source dest LoDiff=2
Longitude Routing: Forward packets to a neighbor having equal longitude and smaller down Longitude Routing: Forward packets to a neighbor having smaller difference in longitude with destination (Greedy) (0,2,0) (2,0,2) (3,1,1) (2,1,1) v e w s q h i c p u a m r g l t j b k f o x (3,0,1) (2,0,1) (1,0,1) (0,0,0) (1,1,1) (1,-1,2) (0,1,0) (0,2,0) (3,1,1) (0,3,0) (0,1,0) (0,-1,0) (1,0,1) (3,-1,1) (3,-2,1) (3,-3,1) (1,0,2) (2,-1,1) (2,-1,2) d n source dest (longitude, latitude, down) Equal longitude to destination
Latitude Routing: Forward packets to a neighbor having smaller difference in latitude with destination (Greedy) Latitude Routing: Correct latitude v e w s q h i c p u a m r g l t j b k f o x (3,0) (2,0) (1,0) (0,0) (1,1) (1,-1) (2,1) (2,0) (0,1) (0,2) (2,1) (3,1) (0,3) (0,1) (3,1) (0,-1) (1,0) (3,-1) (3,-2) (3,-3) (1,0) (2,-1) (0,2) d n source dest Equal longitude to destination LaDiff=1 LaDiff=2 LaDiff=1
Latitude Routing: Forward packets to a neighbor having smaller ripple and equal longitude and latitude (Toward the node it joined) Latitude Routing: Forward packets to a neighbor having smaller difference in latitude with destination (Greedy) (0,1,1) (1,1,0) (1,0,0) v e w s q h i c p u a m r g l t j b k f o x (3,0,0) (2,0,0) (0,0,0) (1,-1) (2,1,1) (2,0,1) (0,1,0) (0,2,0) (2,1,0) (3,1,0) (0,3,0) (3,1,1) (0,-1,0) (1,0,1) (3,-1,0) (3,-2,0) (3,-3,0) (1,0,1) (2,-1,0) (2,-1,1) (0,2,0) d n source dest (longitude, latitude, ripple) Equal longitude and latitude to destination
Proactive Routing: Local Routing Table v e w s q h i c p u a m r g l t j b k f o x (3,0) (2,0) (1,0) (0,0) (1,1) (1,-1) (2,1) (2,0) (0,1) (0,2) (2,1) (3,1) (0,3) (0,1) (3,1) (0,-1) (1,0) (3,-1) (3,-2) (3,-3) (1,0) (2,-1) (0,2) d n source dest …… nextdest nn Local routing table of node u
v e w s q h i c k u a m r g p t j b d l f o x (3,0) (2,0) (1,0) (0,0) (1,1) (1,2) (1,-1) (2,-2) (2,1) (2,0) (0,1) (0,2) (2,1) (3,1)(3,2) (2,2)(0,3) (0,1) (3,1) (0,-1) (1,0) (3,-1) (3,-2) (3,-3) (0,-2) (1,-2) (1,0) (2,-1) n (0,2) Multiple Virtual Coordinates Issue : Overlap of meridians How to Route Packets When Nodes Have Multiple Virtual Coordinates ?
Choice of Virtual Coordinate: The one having the smallest difference in longitude with destination k v e w s q h c u a m r g p t j b d l f o x (3,0) (2,0) (1,0) (0,0) (1,1) (1,2) (1,-1) (2,-2) (2,1) (2,0) (0,1) (0,2) (2,1) (3,1) (3,2) (2,2) (0,3) (0,1) (3,1) (0,-1) (1,0) (3,-1) (3,-2) (3,-3) (0,-2) (1,-2) (1,0) (2,-1) (0,2) source i (0,3) dest n LoDiff=0 LoDiff=2 LoDiff=3 LoDiff=1
k v e w s q h c u a m r g p t j b d l f o x (3,0) (2,0) (1,0) (0,0) (1,1) (1,2) (1,-1) (2,-2) (2,1) (2,0) (0,1) (0,2) (2,1) (3,1) (3,2) (2,2)(0,3) (0,1) (3,1) (0,-1) (1,0) (3,-1) (3,-2) (3,-3) (0,-2) (1,-2) (1,0) (2,-1) (0,2) source i (0,3) dest n Choice of Virtual Coordinate: The one having the smallest difference in longitude with destination
Simulation Assumptions Each sensor has a unique ID Sensors are static Sensors are homogeneous Network behaviors are not taken into consideration
Routing Path Length ABVCap VCap Euclidian
Routing Path Length of Delivery- Guaranteed Routing Protocols ABVCap GSR GPSR
Conclusion ABVCap routing A delivery-guaranteed routing protocol Without necessity of physical address Future research Heterogeneous networks Fault-tolerance
Thank You !!
j hh r u a v e w s q h i c l u a m r g p t j b d k f o x n Selection of Four Anchors s v g Anchor X Anchor Y Anchor Z Anchor Z’ Sink W H(X)=H(Y)±1 c k ow p g x e i
Assignment of Up Coordinate Up coordinate is the hop count to a node having longitude lager than one, where the shortest path pass through nodes having equal longitude longitude k-1longitude k+1longitude k Up=1Up=2
k v e w s q h c u a m r g p t j b d l f o x (3,0) (2,0) (1,0) (0,0) (1,1) (1,2) (1,-1) (2,-2) (2,1) (2,0) (0,1) (0,2) (2,1) (3,1) (3,2) (2,2)(0,3) (0,1) (3,1) (0,-1) (1,0) (3,-1) (3,-2) (3,-3) (0,-2) (1,-2) (1,0) (2,-1) (0,2) source i Is Random Choosing Available ? (1,2) des n
k v e w s q h c u a m r g p t j b d l f o x (3,0) (2,0) (1,0) (0,0) (1,1) (1,2) (1,-1) (2,-2) (2,1) (2,0) (0,1) (0,2) (2,1) (3,1) (3,2) (2,2)(0,3) (0,1) (3,1) (0,-1) (1,0) (3,-1) (3,-2) (3,-3) (0,-2) (1,-2) (1,0) (2,-1) (0,2) source i (3,2) des Is Random Choosing Available ? Routing loop!! n Is Random Choosing Available ?
Number of Virtual Coordinates
Size of Local Routing Table