Practical Virtual Coordinates for Large Wireless Sensor Networks - - PowerPoint PPT Presentation

practical virtual coordinates for large wireless sensor
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

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

slide-3
SLIDE 3

Wireless Sensor Networks: Point-to-point routing is a useful primitive for data-centric applications

slide-4
SLIDE 4

For small sensor networks (<200 nodes): pick your favorite algorithm.  SenSys 201 0

slide-5
SLIDE 5

For large sensor networks (~3,200 nodes), geographic routing algorithms are most scalable:

  • storage cost proportional to

network density not to size

  • motes have small RAM
slide-6
SLIDE 6

Problem

Geographic routing algorithms require coordinates!

Large networks ⇒ Big problem!

slide-7
SLIDE 7

Wait A Moment… . Hasn’t the problem already been solved? Virtual Coordinates

[Rao et al., Mobicom 2003]

slide-8
SLIDE 8

Related Work

  • Virtual Coordinates

– NoGeo (Rao et al., Mobicom 2003) – GSpring (Leong et al., ICNP 2007) – GLoVE (Westphal et al., Infocom 2009)

  • Look good in simulation
  • Not practical or efficient for real

TinyOS motes

– 48 KB RAM – CC2420: 1 27-byte messages

slide-9
SLIDE 9

Story of our failure

Tried to implement existing algorithms in TinyOS but failed!

slide-10
SLIDE 10

Our Solution Particle Swarm Virtual Coordinates (PSVC)

Goal: Compute Euclidean Coordinates in a Scalable ble & & Distribu ibute ted Way

slide-11
SLIDE 11

Overview

  • 1. How PSVC works

– How we fix NoGeo (Rao et. al) – Why GSpring (Leong et al.) failed

  • 2. How well PSVC works

– Performance – Cost

  • 3. Current Limitations/Future Work
slide-12
SLIDE 12

NoGeo (Rao et al., Mobicom’03)

reference node

elect reference node (maybe smallest id)

slide-13
SLIDE 13

NoGeo (Rao et al., Mobicom’03)

reference node

slide-14
SLIDE 14

NoGeo (Rao et al., Mobicom’03)

broadcast hop count

slide-15
SLIDE 15

NoGeo (Rao et al., Mobicom’03)

elect p perimeter nodes

perimeter node

slide-16
SLIDE 16

NoGeo (Rao et al., Mobicom’03)

perimeter nodes broadcast hop counts

slide-17
SLIDE 17

NoGeo (Rao et al., Mobicom’03)

perimeter nodes broadcast hop counts

slide-18
SLIDE 18

NoGeo (Rao et al., Mobicom’03)

perimeter nodes broadcast hop counts

slide-19
SLIDE 19

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

slide-20
SLIDE 20

NoGeo (Rao et al., Mobicom’03)

Virtual Coordinate Space

slide-21
SLIDE 21

NoGeo (Rao et al., Mobicom’03)

Project onto virtual circle

slide-22
SLIDE 22

NoGeo (Rao et al., Mobicom’03)

Project onto virtual circle

slide-23
SLIDE 23

NoGeo (Rao et al., Mobicom’03)

slide-24
SLIDE 24

NoGeo (Rao et al., Mobicom’03)

Add remaining nodes

slide-25
SLIDE 25

NoGeo (Rao et al., Mobicom’03)

Relaxation

, 1∑ =

k k i

x n x  

k is a

neighbor of i

slide-26
SLIDE 26

NoGeo (Rao et al., Mobicom’03)

Relaxation

k is a

neighbor of i

, 1∑ =

k k i

x n x  

slide-27
SLIDE 27

NoGeo (Rao et al., Mobicom’03)

Relaxation

k is a

neighbor of i

, 1∑ =

k k i

x n x  

slide-28
SLIDE 28

NoGeo (Rao et al., Mobicom’03)

Relaxation

k is a

neighbor of i

, 1∑ =

k k i

x n x  

slide-29
SLIDE 29

NoGeo (Rao et al., Mobicom’03)

Relaxation

k is a

neighbor of i

, 1∑ =

k k i

x n x  

slide-30
SLIDE 30

NoGeo (Rao et al., Mobicom’03)

Convergence!

k is a

neighbor of i

, 1∑ =

k k i

x n x  

slide-31
SLIDE 31

Issues with NoGeo

  • Detect wrong perimeter nodes
  • Too many perimeter nodes

–O(p2) broadcast messages

  • Relaxation is slow
  • Relaxation is not “stable”
  • Limitation: 2D algorithm

(what about 3D networks?)

slide-32
SLIDE 32

Summary

  • Select reference node
  • Elect perimeter nodes
  • Initialization of perimeter nodes

– Error minimization – Project onto circle

  • Relaxation

–average of neighbors

slide-33
SLIDE 33

Summary

  • Select reference node
  • Elect perimeter nodes
  • Initialization of perimeter nodes

– Error minimization – Project onto circle

  • Relaxation

Key Insights

slide-34
SLIDE 34

Summary

  • Select reference node
  • Too many perimeter nodes
  • Initialization of perimeter nodes

– Error minimization – Project onto circle

  • Relaxation

Key Insights

slide-35
SLIDE 35

Summary

  • Select reference node
  • Elect only 4 reference nodes
  • Initialization of reference nodes

– Error minimization – Project onto circle

  • Relaxation

Key Insights

slide-36
SLIDE 36

Summary

  • Select reference node
  • Elect only 4 reference nodes
  • Initialization of reference nodes

– Error minimization using geometry – Project onto circle

  • Relaxation

Key Insights

slide-37
SLIDE 37

Summary

  • Select reference node
  • Elect only 4 reference nodes
  • Initialization of reference nodes

– Error minimization using geometry – Project onto circle

  • Relaxation

Key Insights

slide-38
SLIDE 38

Summary

  • Select reference node
  • Elect only 4 reference nodes
  • Initialization of reference nodes

– Error minimization using geometry – Project onto circle

  • Spring Relaxation

Key Insights

slide-39
SLIDE 39

What GSpring got Right

  • Select reference node
  • Elect only 4 reference nodes
  • Initialization of reference nodes

– Error minimization using geometry – Project onto circle

  • Spring Relaxation

Key Insights

slide-40
SLIDE 40

What GSpring got Right

  • Select reference node
  • Elect only 4 reference nodes
  • Initialization of reference nodes

– Error minimization using geometry – Smarter Projection on circle

  • Spring Relaxation

Key Insights

+ Extra

slide-41
SLIDE 41

Particle Swarm Virtual Coordinates

reference node

The smalle allest node identifier(ID)

slide-42
SLIDE 42

p1

maximum hops

Particle Swarm Virtual Coordinates

slide-43
SLIDE 43

p1 p2

maximum hops

Particle Swarm Virtual Coordinates

slide-44
SLIDE 44

p1 p2 p3

31

h

32

h

) max(

32 31

h h +

Particle Swarm Virtual Coordinates

slide-45
SLIDE 45

p1 p2 p3 p4

41

h

42

h

43

h

) max(

43 42 41

h h h + +

Particle Swarm Virtual Coordinates

slide-46
SLIDE 46

p1 p2 p4 p3

Each node knows of the hop counts between every pair of reference nodes

Particle Swarm Virtual Coordinates

slide-47
SLIDE 47

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

slide-48
SLIDE 48

Particle Swarm Virtual Coordinates

p1(0,0) p2(100h12,0)

slide-49
SLIDE 49

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

slide-50
SLIDE 50

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

slide-51
SLIDE 51

p1 p2 p4 p3

Each node knows its hop count to each reference node

Observation

slide-52
SLIDE 52

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

slide-53
SLIDE 53

Particle Swarm Virtual Coordinates

Each node computes coordinates independently

slide-54
SLIDE 54

Particle Swarm Virtual Coordinates

Each node computes coordinates independently

slide-55
SLIDE 55

Particle Swarm Virtual Coordinates

Each node computes coordinates independently

slide-56
SLIDE 56

Particle Swarm Virtual Coordinates

Each node computes coordinates independently

slide-57
SLIDE 57

Particle Swarm Virtual Coordinates

Spring Relaxation

slide-58
SLIDE 58

Spring Relaxation

  • Spring force:

(Hooke’s Law)

  • Net force:
  • Update rule:

) ( |) | (

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!!

slide-59
SLIDE 59

Wait A Moment… .

Where’s the Particle Swarm?

slide-60
SLIDE 60

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)

slide-61
SLIDE 61

Key ideas

  • 1. Need only a small number of

reference nodes ⇒ need to choose them well

  • 2. Hop count good proxy for virtual

distance

  • 3. Spring relaxation improves

convexity ⇒ increase greedy forwarding success rates

slide-62
SLIDE 62

PERFO

ERFOMAN ANCE

EVALU

ALUATI ATION (TO (TOSSIM) M)

slide-63
SLIDE 63

3, 3,200 200-node

  • de Don
  • nut Ne

ut Netw twork rk

Actual PSVC NoGeo

slide-64
SLIDE 64

3, 3,200 200-node

  • de Cros

Cross Ne Netw twork

  • rk

Actual PSVC NoGeo

slide-65
SLIDE 65

Gre Greedy f forw

  • rwarding s

arding suc uccess rate rate v

  • vs. ne

netw twork

  • rk de

dens nsit ity

slide-66
SLIDE 66

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!

slide-67
SLIDE 67

3, 3,200 200-node

  • de Ne

Network

  • rk w

with ith Obs Obstacles es

Actual PSVC NoGeo

Coordinate assignment + Spring relaxation ⇒ increase convexity

slide-68
SLIDE 68

Gre Greedy f forw

  • rwarding

ng s suc uccess rate rate

  • vs. I

Ite terat ations (for 3,

  • r 3,200

200-node node 2D 2D ne netw twor

  • rks)

relaxation unstable

NoGeo PSVC

slide-69
SLIDE 69

Ove Overh rhead d pe per n r node

  • de vs
  • vs. Ne

Network

  • rk size

ize

NoGeo PSVC Cost from propagation

  • f reference

node hop counts

slide-70
SLIDE 70

Limitations/Future Work

  • PSVC fits in 48 KB TelosB

executable memory

  • NoGeo, PSVC/GDSTR cannot fit
  • Improve memory footprint
  • Evaluation for incremental growth

and node failures

slide-71
SLIDE 71

More details in paper

  • PSO Algorithm
  • Details of PSVC
  • PSVC easily extensible to 3D
  • Comparison of storage costs
  • Two-hop greedy forwarding can

improve performance significantly

  • Evaluations on 1 20-node Indriya

TelosB testbed

slide-72
SLIDE 72

TinyOS Source Code

Available here: https://sites.google.com/site/geographicrouting

slide-73
SLIDE 73

Conclusion

  • Routing stretch

– Lower than NoGeo – Comparable to actual physical coordinates – Superior for networks with obstacles

  • Converges fast (~1 0 iterations)
  • Works for 3D networks (!)
  • Practical : implemented in TinyOS and

evaluated in TelosB testbed

QUESTI

UESTIONS? S?

slide-74
SLIDE 74

THANK YOU

slide-75
SLIDE 75

Background

  • Geographic routing is a promising approach

for wireless networks

– Achieve close to optimal routing stretch – Scale well – Routing states is dependent on local network density and not on network size

  • Nodes need location information while no

location information is useful at hand

– Employ virtual coordinates

slide-76
SLIDE 76

Case for Virtual Coordinates

  • Not feasible to manually configure coordinates for

each node

  • GPS does not work always
  • Virtual coordinates are sometimes better, e.g.

sensornet on ship

  • Actual physical locations are not required (Rao et al.,

2003)

  • Previous work: good for dense networks and focused
  • n 2D networks
  • Know: greedy forwarding is efficient
  • Challenge: can we assign coordinates so that greedy

forwarding always works even for 3D networks?

slide-77
SLIDE 77

Related Work

  • Routing algorithms based non-

Euclidean coordinate systems

– VPCR (Newsome et al., 2003) – BVR(Fonseca et al., 2005) – S4(Mao et al., 2007)

  • Do not scale as well as geographic

routing for large (3,200 node) networks (SenSys 201 0)

slide-78
SLIDE 78

GSpring (Leong et al., 2007)

reference node

slide-79
SLIDE 79

GSpring (Leong et al., 2007)

p1

maximum hops

slide-80
SLIDE 80

GSpring (Leong et al., 2007)

p1 p2

maximum hops

slide-81
SLIDE 81

GSpring (Leong et al., 2007)

p1 p2 p3

1

h

2

h

slide-82
SLIDE 82

GSpring (Leong et al., 2007)

p1 p2 p3 p4

1

h

2

h

3

h

slide-83
SLIDE 83

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

slide-84
SLIDE 84

Projection onto Circle

p1 p2 p4 p3 p5 p6 p7 p8

Circumference = spring rest length x total hop count

slide-85
SLIDE 85

Projection onto Circle

p1 p2 p4 p3 p5 p6 p7 p8 Arc proportional to hop count

slide-86
SLIDE 86

Particle Swarm Virtual Coordinates (PSVC)

  • Based on hop count
  • Reference nodes are elected to compute

initial coordinates for all nodes

  • Using PSO algorithm to minimize the

error when computing initial coordinates

  • Running a iterative relaxation procedure

to make the virtual topology more convex

  • PSVC can be trivially extended to 3D

coordinates

slide-87
SLIDE 87

Determining Initial Coordinates

  • Select reference nodes
  • Initialization of reference nodes
  • Coordinates for Non-reference nodes
slide-88
SLIDE 88

Determining Initial Coordinates

  • Select reference nodes
  • Initialization of reference nodes
  • Coordinates for Non-reference nodes
slide-89
SLIDE 89

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

slide-90
SLIDE 90

Determining Initial Coordinates

  • Select reference nodes
  • Initialization of reference nodes
  • Coordinates for Non-reference nodes
slide-91
SLIDE 91

Coordinates for Non-reference nodes

  • Hop counts to all the reference nodes
  • The coordinates of all the reference

nodes

  • Use PSO to minimize the error of
  • bjective function that maps the

assigned virtual coordinates for each node to their hop counts to the reference nodes

slide-92
SLIDE 92

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

slide-93
SLIDE 93

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 max

w w k k w w − − =

∑ =

− − = + ← − + − + ←

p j ij j j i i i i i i i i i i

h h p x error v x x x G r c x l r c v w v

1 2 2 2 1 1

) | (| ) ( ) (

j

p

i

Lerror error <

error Lerror x l

i i i

= ←

Gerror error <

error Gerror x G

i

= ←

∞ = = = ∞ = Gerror G POPSIZE i Lerror

i i

, , , , 1 , 

slide-94
SLIDE 94

Relaxation after initialization

  • Spring force:

(Hooke’s Law)

  • Net force:
  • Update rule:

) ( |) | (

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(| α + =

slide-95
SLIDE 95

Node joins after Convergence

  • Listens to the stayalive beacons of its

neighbors to obtain their coordinates

  • If all its neighbors have stabilized, it

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

slide-96
SLIDE 96

Performance

  • Evaluation

– Testbed – TinyOS Simulator

  • Measured metrics:

– Greedy forwarding success rate – Hop Stretch – Storage cost – Overhead

  • Simulation topologies

– range of network densities (average node degree) – larger networks up to 3,200 nodes

  • low/high density
  • obstacles
slide-97
SLIDE 97

Performance

  • Routing algorithm: GDSTR
  • Compare with

–actual coordinates –NoGeo (Rao et al., 2003)

slide-98
SLIDE 98

Ave Averag age hop s hop stre tretch f h for GDS

  • r GDSTR

agai against ne netw twor

  • rk de

k dens nsity

slide-99
SLIDE 99

Two wo-hop hop gre greedy for

  • rwar

arding suc uccess rate rate agai against ne netw twor

  • rk

k size ize in 2D ne in 2D netw twor

  • rks
slide-100
SLIDE 100

Ave Averag age hop s hop stre tretch h agai against ne netw twor

  • rk

k size ize in 2D ne in 2D netw twor

  • rks
slide-101
SLIDE 101

Two wo-hop hop gre greedy for

  • rwar

arding suc uccess rate rate agai against ne netw twor

  • rk s

k size ize for 2D

  • r 2D ne

netw twor

  • rks w

with obs ith obstacles

slide-102
SLIDE 102

Ave Averag age hop s hop stre tretch f h for GDS

  • r GDSTR

agai against ne netw twor

  • rk s

k size ize for 2D

  • r 2D with obs

ith obstac acles

slide-103
SLIDE 103

Maxim imum um s stora

  • rage

ge c cost ve versus ne netw twor

  • rk s

size ize f for 2d

  • r 2d ne

netw twor

  • rks
slide-104
SLIDE 104

Messages s sent pe nt per r node node agai against ne netw twor

  • rk

k size ize f for

  • r 2D ne

2D netw twor

  • rks
slide-105
SLIDE 105

Two wo-hop hop gre greedy suc uccess rate rate agai against ne netw twor

  • rk

k size ize f for

  • r 3D ne

3D netw twor

  • rks
slide-106
SLIDE 106

Gre Greedy f forw

  • rwarding

ng s suc uccess rate rate f for P

  • r PSV

SVC C with ith 4, 4, 5, 5, 6 6 and 7 and 7 re referenc nce node nodes f for

  • r 3D ne

3D netw twor

  • rks

ks

slide-107
SLIDE 107

Two wo-hop hop gre greedy for

  • rwar

arding suc uccess rate rate for v vari rious

  • us algo

gori rithm thms o

  • n Indri

driya

slide-108
SLIDE 108

Conclusion

  • Converges faster and achieves a lower

hop stretch compared to NoGeo

  • Scales well up to 3,200 nodes
  • Makes no assumptions on the network

topology and can naturally be extended to three-dimensional(3D) wireless sensor networks