Practical Virtual Coordinates for Large Wireless Sensor Networks
Jiangwei Zhou*, Yu Chen+, Ben Leong∇, Boqin Feng*
*Xi’an Jiaotong University
+ Duke University ∇ National University of Singapore
Practical Virtual Coordinates for Large Wireless Sensor Networks - - PowerPoint PPT Presentation
Practical Virtual Coordinates for Large Wireless Sensor Networks Jiangwei Zhou*, Yu Chen + , Ben Leong , Boqin Feng* *Xian Jiaotong University + Duke University National University of Singapore Practical Virtual Coordinates for Large
Practical Virtual Coordinates for Large Wireless Sensor Networks
Jiangwei Zhou*, Yu Chen+, Ben Leong∇, Boqin Feng*
*Xi’an Jiaotong University
+ Duke University ∇ National University of Singapore
Practical Virtual Coordinates for Large Wireless Sensor Networks
Jiangwei Zhou*, Yu Chen+, Ben Leong∇, Boqin Feng*
*Xi’an Jiaotong University
+ Duke University ∇ National University of Singapore
Wireless Sensor Networks: Point-to-point routing is a useful primitive for data-centric applications
For small sensor networks (<200 nodes): pick your favorite algorithm. SenSys 201 0
For large sensor networks (~3,200 nodes), geographic routing algorithms are most scalable:
network density not to size
Problem
Geographic routing algorithms require coordinates!
Large networks ⇒ Big problem!
Wait A Moment… . Hasn’t the problem already been solved? Virtual Coordinates
[Rao et al., Mobicom 2003]
Related Work
– NoGeo (Rao et al., Mobicom 2003) – GSpring (Leong et al., ICNP 2007) – GLoVE (Westphal et al., Infocom 2009)
TinyOS motes
– 48 KB RAM – CC2420: 1 27-byte messages
Story of our failure
Our Solution Particle Swarm Virtual Coordinates (PSVC)
Goal: Compute Euclidean Coordinates in a Scalable ble & & Distribu ibute ted Way
– How we fix NoGeo (Rao et. al) – Why GSpring (Leong et al.) failed
– Performance – Cost
NoGeo (Rao et al., Mobicom’03)
reference node
elect reference node (maybe smallest id)
NoGeo (Rao et al., Mobicom’03)
reference node
NoGeo (Rao et al., Mobicom’03)
broadcast hop count
NoGeo (Rao et al., Mobicom’03)
elect p perimeter nodes
perimeter node
NoGeo (Rao et al., Mobicom’03)
perimeter nodes broadcast hop counts
NoGeo (Rao et al., Mobicom’03)
perimeter nodes broadcast hop counts
NoGeo (Rao et al., Mobicom’03)
perimeter nodes broadcast hop counts
Hop Counts→ Coordinates
Standard optimization problem (solved numerically)
− − 1 1 1 12 1 12 p p p p p p
h h h h h h
∑∑
= =
− − =
p i p j ij j i
h x x E
1 1 2
) | (| min
) , , , (
2 1 p
x x x
p rows p columns
NoGeo (Rao et al., Mobicom’03)
Virtual Coordinate Space
NoGeo (Rao et al., Mobicom’03)
Project onto virtual circle
NoGeo (Rao et al., Mobicom’03)
Project onto virtual circle
NoGeo (Rao et al., Mobicom’03)
NoGeo (Rao et al., Mobicom’03)
Add remaining nodes
NoGeo (Rao et al., Mobicom’03)
Relaxation
, 1∑ =
k k i
x n x
k is a
neighbor of i
NoGeo (Rao et al., Mobicom’03)
Relaxation
k is a
neighbor of i
, 1∑ =
k k i
x n x
NoGeo (Rao et al., Mobicom’03)
Relaxation
k is a
neighbor of i
, 1∑ =
k k i
x n x
NoGeo (Rao et al., Mobicom’03)
Relaxation
k is a
neighbor of i
, 1∑ =
k k i
x n x
NoGeo (Rao et al., Mobicom’03)
Relaxation
k is a
neighbor of i
, 1∑ =
k k i
x n x
NoGeo (Rao et al., Mobicom’03)
Convergence!
k is a
neighbor of i
, 1∑ =
k k i
x n x
Issues with NoGeo
–O(p2) broadcast messages
(what about 3D networks?)
– Error minimization – Project onto circle
–average of neighbors
– Error minimization – Project onto circle
– Error minimization – Project onto circle
– Error minimization – Project onto circle
– Error minimization using geometry – Project onto circle
– Error minimization using geometry – Project onto circle
– Error minimization using geometry – Project onto circle
What GSpring got Right
– Error minimization using geometry – Project onto circle
What GSpring got Right
– Error minimization using geometry – Smarter Projection on circle
+ Extra
Particle Swarm Virtual Coordinates
reference node
The smalle allest node identifier(ID)
p1
maximum hops
Particle Swarm Virtual Coordinates
p1 p2
maximum hops
Particle Swarm Virtual Coordinates
p1 p2 p3
31
h
32
h
) max(
32 31
h h +
Particle Swarm Virtual Coordinates
p1 p2 p3 p4
41
h
42
h
43
h
) max(
43 42 41
h h h + +
Particle Swarm Virtual Coordinates
p1 p2 p4 p3
Each node knows of the hop counts between every pair of reference nodes
Particle Swarm Virtual Coordinates
p1 p2 p4 p3
Particle Swarm Virtual Coordinates
34 24 14 34 23 13 24 23 12 14 13 12
h h h h h h h h h h h h
Particle Swarm Virtual Coordinates
p1(0,0) p2(100h12,0)
Particle Swarm Virtual Coordinates
p1(0,0) p2(100h12,0) p3(x,y)
∑
− =
− − =
1 1 2
) 100 | (| min
k i ik j i
h x x E
100h13 100h12
Particle Swarm Virtual Coordinates
∑
− =
− − =
1 1 2
) 100 | (| min
k i ik j i
h x x E
p1(0,0) p2(100h12,0) p3(x,y) p4(x’,y’) 100h14 100h24 100h34
p1 p2 p4 p3
Each node knows its hop count to each reference node
Observation
Particle Swarm Virtual Coordinates
∑
=
− − =
4 1 2
) 100 | (| min
i ij j i j
h x p E
p1(0,0) p2(100h12,0) p3(x,y) p4(x’,y’) xj
Particle Swarm Virtual Coordinates
Each node computes coordinates independently
Particle Swarm Virtual Coordinates
Each node computes coordinates independently
Particle Swarm Virtual Coordinates
Each node computes coordinates independently
Particle Swarm Virtual Coordinates
Each node computes coordinates independently
Particle Swarm Virtual Coordinates
Spring Relaxation
Spring Relaxation
(Hooke’s Law)
) ( |) | (
j i j i ij ij
x x u x x l F − × − − × = κ
∑
≠
=
i j ij i
F F
i i t i i i
F F F x x | | ) |, min(| α + =
THAT’S PSVC!!
Wait A Moment… .
Recall
∑
=
− − =
4 1 2
) 100 | (| min
i ij j i j
h x p E
∑
− =
− − =
1 1 2
) 100 | (| min
k i ik j i
h x x E
Particle Swarm Optimization: beam & local hill-climbing search (details in paper)
reference nodes ⇒ need to choose them well
distance
convexity ⇒ increase greedy forwarding success rates
3, 3,200 200-node
ut Netw twork rk
Actual PSVC NoGeo
3, 3,200 200-node
Cross Ne Netw twork
Actual PSVC NoGeo
Gre Greedy f forw
arding suc uccess rate rate v
netw twork
dens nsit ity
Performance: Hop Stretch (GDSTR) (3,200-node networks)
Network Type Physical coordinates NoGeo Sparse UDG (degree 1 0) 3% lower 1 0% lower Dense UDG (degree 1 6) Same 4% lower Obstacle (degree 8) 35% lower 35% lower
Can do better than actual coordinates!
3, 3,200 200-node
Network
with ith Obs Obstacles es
Actual PSVC NoGeo
Coordinate assignment + Spring relaxation ⇒ increase convexity
Gre Greedy f forw
ng s suc uccess rate rate
Ite terat ations (for 3,
200-node node 2D 2D ne netw twor
relaxation unstable
NoGeo PSVC
Ove Overh rhead d pe per n r node
Network
ize
NoGeo PSVC Cost from propagation
node hop counts
Limitations/Future Work
executable memory
and node failures
More details in paper
improve performance significantly
TelosB testbed
TinyOS Source Code
Available here: https://sites.google.com/site/geographicrouting
Conclusion
– Lower than NoGeo – Comparable to actual physical coordinates – Superior for networks with obstacles
evaluated in TelosB testbed
Background
for wireless networks
– Achieve close to optimal routing stretch – Scale well – Routing states is dependent on local network density and not on network size
location information is useful at hand
– Employ virtual coordinates
Case for Virtual Coordinates
each node
sensornet on ship
2003)
forwarding always works even for 3D networks?
Related Work
Euclidean coordinate systems
– VPCR (Newsome et al., 2003) – BVR(Fonseca et al., 2005) – S4(Mao et al., 2007)
routing for large (3,200 node) networks (SenSys 201 0)
GSpring (Leong et al., 2007)
reference node
GSpring (Leong et al., 2007)
p1
maximum hops
GSpring (Leong et al., 2007)
p1 p2
maximum hops
GSpring (Leong et al., 2007)
p1 p2 p3
1
h
2
h
GSpring (Leong et al., 2007)
p1 p2 p3 p4
1
h
2
h
3
h
GSpring (Leong et al., 2007)
p1 p2 p4 p3 p5 p6 p7 p8
Each will know of the hop counts between every pair of perimeter nodes
Projection onto Circle
p1 p2 p4 p3 p5 p6 p7 p8
Circumference = spring rest length x total hop count
Projection onto Circle
p1 p2 p4 p3 p5 p6 p7 p8 Arc proportional to hop count
Particle Swarm Virtual Coordinates (PSVC)
initial coordinates for all nodes
error when computing initial coordinates
to make the virtual topology more convex
coordinates
Determining Initial Coordinates
Determining Initial Coordinates
Initialization of reference nodes
p1 (0, 0,0) 0) p2 (100 100h12
12,0
,0) ) // hij is the hop count from pi to pj p3 (x3,y3) // x3 and y3 are computed with triangle equalities using 1 00h31 and 1 00h32, while error function is as
∑
− =
− − =
1 1 2
) 100 | (|
k i ik i k
h x x E
Determining Initial Coordinates
Coordinates for Non-reference nodes
nodes
assigned virtual coordinates for each node to their hop counts to the reference nodes
PSO equation and parameters
− − = + = − + − + = ) ( ) ( ) (
min max max max 2 2 1 1
w w k k w w v x x x G r c x l r c v w v
i i i i i i i i i
, 8 . 1 , 100 , 1 . , 2 . 1 , 10
2 1 max min max
= = = = = = c c k w w POPSIZE
Parameters:
] 1 , [ , 2
1
∈ r r
Notes: To prevent floating point overflow, all inputs are normalized by dividing them by 1 00h12
Algorithm1 : Compute initial coordinates for non-reference nods with PSO
Given: Initialize for k=0 to kmax do for i=0 to POPSIZE do // where p is the number of the current node to the reference node j, is the position for reference node j. if then end if if then end if end for end for
p i pi , , 1 , =
POPSIZE i l v x
i i i, , 1 , ], 1 , 1 [ ], 1 , 1 [ = = − ∈ − ∈
) (
min max max maxw w k k w w − − =
∑ =
− − = + ← − + − + ←
p j ij j j i i i i i i i i i ih h p x error v x x x G r c x l r c v w v
1 2 2 2 1 1) | (| ) ( ) (
jp
iLerror error <
error Lerror x l
i i i= ←
Gerror error <
error Gerror x G
i= ←
∞ = = = ∞ = Gerror G POPSIZE i Lerror
i i, , , , 1 ,
Relaxation after initialization
(Hooke’s Law)
) ( |) | (
j i j i ij ij
x x u x x l F − × − − × = κ
∑
≠
=
i j ij i
F F
i i t i i i
F F F x x | | ) |, min(| α + =
Node joins after Convergence
neighbors to obtain their coordinates
computes its coordinates as a weighted sum of the coordinates of its neighbors’ coordinates
∑ ∑ ∑ ∑
= =
j j ij j ij i j j ij j ij i
y r r y x r r x 1 1
Performance
– Testbed – TinyOS Simulator
– Greedy forwarding success rate – Hop Stretch – Storage cost – Overhead
– range of network densities (average node degree) – larger networks up to 3,200 nodes
Performance
–actual coordinates –NoGeo (Rao et al., 2003)
Ave Averag age hop s hop stre tretch f h for GDS
agai against ne netw twor
k dens nsity
Two wo-hop hop gre greedy for
arding suc uccess rate rate agai against ne netw twor
k size ize in 2D ne in 2D netw twor
Ave Averag age hop s hop stre tretch h agai against ne netw twor
k size ize in 2D ne in 2D netw twor
Two wo-hop hop gre greedy for
arding suc uccess rate rate agai against ne netw twor
k size ize for 2D
netw twor
with obs ith obstacles
Ave Averag age hop s hop stre tretch f h for GDS
agai against ne netw twor
k size ize for 2D
ith obstac acles
Maxim imum um s stora
ge c cost ve versus ne netw twor
size ize f for 2d
netw twor
Messages s sent pe nt per r node node agai against ne netw twor
k size ize f for
2D netw twor
Two wo-hop hop gre greedy suc uccess rate rate agai against ne netw twor
k size ize f for
3D netw twor
Gre Greedy f forw
ng s suc uccess rate rate f for P
SVC C with ith 4, 4, 5, 5, 6 6 and 7 and 7 re referenc nce node nodes f for
3D netw twor
ks
Two wo-hop hop gre greedy for
arding suc uccess rate rate for v vari rious
gori rithm thms o
driya
Conclusion
hop stretch compared to NoGeo
topology and can naturally be extended to three-dimensional(3D) wireless sensor networks