Beacon Vector Routing: towards scalable routing for sensor networks

32
Beacon Vector Routing: towards scalable routing for sensor networks NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica, David Culler, Scott Shenker

description

Beacon Vector Routing: towards scalable routing for sensor networks. NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica, David Culler, Scott Shenker. Routing in Sensor Networks. - PowerPoint PPT Presentation

Transcript of Beacon Vector Routing: towards scalable routing for sensor networks

Page 1: Beacon Vector Routing: towards scalable routing for sensor networks

Beacon Vector Routing:towards scalable routing for sensor

networks

NEST Retreat, January 2004Rodrigo Fonseca

joint work with Sylvia Ratnasamy, Ion Stoica, David Culler, Scott

Shenker

Page 2: Beacon Vector Routing: towards scalable routing for sensor networks

Routing in Sensor Networks

• Large scale sensor networks will be deployed, and require richer inter-node communication– In-network storage (DCS, GHT, DIM, DIFS)– In-network processing– “Fireworks routing”

• Need point-to-point routing to scale– Many nodes– Many flows– Different densities

Page 3: Beacon Vector Routing: towards scalable routing for sensor networks

Scalable routing

• Internet scales via address aggregation– Can’t do with sensor networks

• On demand flooding– Scales poorly with #nodes, #flows

• Tree-based routing (hierarchical)– Fragile for more general many-to-many

• Geographic Routing – Uses local information, reference to global

space– Scalable

Page 4: Beacon Vector Routing: towards scalable routing for sensor networks

Geographic Routing

• General algorithm– Nodes know theirs and neighbors’ geo position– Greedy forwarding towards destination position– Fallback mode if greedy fails

• Routing gradient– Computable for each neighbor, from coordinates

• Local routing state, local control traffic• What if geographic information is not

available?

Page 5: Beacon Vector Routing: towards scalable routing for sensor networks

Beacon Vector Routing

• Solution: fake geography– Create a routing gradient from

connectivity information rather than geography• Nodes assigned positions based based on

connectivity• Greedy forwarding on this space

• Other approaches– NoGeo, GEM– Landmark Routing, Ascent

Page 6: Beacon Vector Routing: towards scalable routing for sensor networks

Outline (from here on)

• Beacon-Vector Routing– Goals– Algorithm – Evaluation

Page 7: Beacon Vector Routing: towards scalable routing for sensor networks

Goals (when we started out)

Any-to-any routing that is:

1. Scalable – low control overhead, small routing tables

2. Robust – node failure, wireless vagaries3. Efficient – low routing stretch

Page 8: Beacon Vector Routing: towards scalable routing for sensor networks

Goals (after we started on an

implementation)

Any-to-any routing that is:

1. SIMPLE – minimum *required* state, assumptions

2. Scalable – low control overhead, small routing tables

3. Robust – node failure, wireless vagaries4. Efficient – low routing stretch

Page 9: Beacon Vector Routing: towards scalable routing for sensor networks

Beacon-Vector: Algorithm

• 3 pieces– Deriving positions– Forwarding rules– Lookup: mapping node IDs

positions

Page 10: Beacon Vector Routing: towards scalable routing for sensor networks

1. K beacon nodes (B0,B1,…,Bk) flood the network; a node P’s

position, P(K), is its distance in hops to each beacon

P(K)={B0:P0 , B1:P1 ,…, Bk:Pk} (w.l.o.g assume P0 ≤ P1 … ≤ Pk)

2. Define the distance between two nodes P and Q as

dist(P, Q) = ∑ωi|Pi – Qi| where Pi = hops from beacon I to P

3. Nodes know their own and neighbors’ positions; to reach destination

Q, forward to reduce dist(*,Q)

Beacon-Vector: deriving positions

Page 11: Beacon Vector Routing: towards scalable routing for sensor networks

Beacon-Vector Routing: forwarding

bvr_forward(node D, pkt P) {

// first try greedy forwarding node N = neighbor with MIN dist(i,N,D) if( dist(N,D) < MIN_DIST from pkt P)

pkt P.MIN_DIST = dist(N,D)return N

// greedy failed, use fallbackfallback_bcn = beacon closest to Dif(fallback_bcn != me) return parent(fallback_bcn)

// fallback failedflood with scope Dfallback_bcn

}

Page 12: Beacon Vector Routing: towards scalable routing for sensor networks

Simple example

B1 B2

B3

1,2,3

0,3,3

2,1,3 3,0,3

3,1,21,3,2

3,3,0

2,3,13,2,1

2,2,2

Page 13: Beacon Vector Routing: towards scalable routing for sensor networks

Simple example

B1 B2

B3

1,2,3

0,3,3

2,1,3 3,0,3

3,1,21,3,2

3,3,0

2,3,13,2,1

2,2,2

Route from 3,2,1 to 1,2,3

D=4 D=4

D=4

D=2D=2

Fallback towards B1

D=4 D=4

D=4

Page 14: Beacon Vector Routing: towards scalable routing for sensor networks

Beacon-Vector Routing: details

Observation: Beacons that “pull” are good guides

• Beacon weights in distance metric ∑ ωi| Pi – Qi | – ωi = 10 if Pi > Qi

= 1 otherwise

• Need compact node positions to reduce per-packet overhead – For routing, a node’s position is defined by its k ( ≤ B)

closest beacons

Open questions: optimal distance metric, weights, beacon placement and number, …

I

P

Q

Page 15: Beacon Vector Routing: towards scalable routing for sensor networks

Routing to Node Identifiers

• Beacon-Vector routes to node positions; need a

lookup mechanism to map node identifiers to

positions [GLS, GHT]

• Our solution: Use beacons to store mapping

– Given a node identifier, use consistent hashing to determine

which beacon stores its position

– Simple, but imposes additional load on beacons

• BV+Lookup enables routing to any node identifier (IP-

like)

Page 16: Beacon Vector Routing: towards scalable routing for sensor networks

EvaluationMethodology

Scale (nodes)

Realit

y

10 100 1000

TestBed: *real motessmall network

TOSSIM: * bit level radio simulation * Connectivity based on empirical data

High Level simulator: * highly scalable * great for algorithmic studies * unrealistic radio model

Validation zones

Page 17: Beacon Vector Routing: towards scalable routing for sensor networks

Evaluation: Metrics

1. Performance metrics • success rate without flooding• path stretch

2. Overhead • total #beacons needed (flooding overhead)• #beacons used for routing (per-packet overhead)• #neighbors (per-node routing table)

3. Scalability • network size• network density

Page 18: Beacon Vector Routing: towards scalable routing for sensor networks

0

10

20

30

40

50

60

70

80

90

100

0 20 40 60 80

#beacons

succ

ess

rate

w/o

floo

ding

#route beacons=5

#route beacons=10

#route beacons=20

Beaconing overhead

3200 nodes u.a.r in grid

Success rate with true positions = 96.3%

Page 19: Beacon Vector Routing: towards scalable routing for sensor networks

0

10

20

30

40

50

60

70

80

90

100

0 20 40 60 80

#beacons

succ

ess

rate

w/o

floo

ding

#route beacons=5

#route beacons=10

#route beacons=20

Beaconing overhead

3200 nodes u.a.r. in grid

Success rate with true positions = 96.3%

success rate = 96% (w/o fallback=91%)avg(ngbrs) = 15.0avg(hops) = 17.5, path stretch = 1.05avg(flood hops)=3.7

Page 20: Beacon Vector Routing: towards scalable routing for sensor networks

0

10

20

30

40

50

60

70

80

90

100

0 20 40 60 80

#beacons

succ

ess

rate

w/o

floo

ding

#route beacons=5

#route beacons=10

#route beacons=20

Beaconing overhead

3200 nodes u.a.r. in grid

Success rate with true positions = 96.3%

Can achieve performance comparable to that using true positions

Settling on 10 routing beacons

Page 21: Beacon Vector Routing: towards scalable routing for sensor networks

Scaling Network Size

0

10

20

30

40

50

60

70

80

50 200 800 3200 12800

Network size

Beaco

ns

for

> 9

5%

su

ccess

rate

3200 nodes, 10 routing beacons

Beaconing overhead grows slowly with network size

Page 22: Beacon Vector Routing: towards scalable routing for sensor networks

Scaling Network Density3200 nodes, 10 routing beacons

50

60

70

80

90

100

0 20 40 60 80

high density; avg(neighbors)=15.7

low density; avg(neighbors)=9.8

Suc

cess

rat

e w

/o fl

oodi

ng

1-hop neighborsTrue postns. (high dens) = 96.3%True postns. (lo density) = 61.0%

#beacons

Page 23: Beacon Vector Routing: towards scalable routing for sensor networks

Scaling Network Density3200 nodes, 10 routing beacons

50

60

70

80

90

100

0 20 40 60 80

high density; avg(neighbors)=15.7

low density; avg(neighbors)=9.8

Suc

cess

rat

e w

/o fl

oodi

ng

1-hop neighborsTrue postns. (high dens) = 96.3%True postns. (lo density) = 61.0%

#beaconsInherent tradeoff between routing state and the efficacy of greedy routing

Page 24: Beacon Vector Routing: towards scalable routing for sensor networks

Scope of flood for failed routes

3200 nodes; 10 route beacons

01

234

56

78

0 10 20 30 40 50 60 70 80 90

#beacons

#sco

pe

of

flo

od

3200 nodes; 10route beacons

Page 25: Beacon Vector Routing: towards scalable routing for sensor networks

Implementation: current status

Prototype in TinyOS for the Mica2 motes– exports a “route-to-coordinates” interface

Routing state maintenance– Assumes preconfigured and perennial beacons– Bidirectional loss-driven link estimation– Beacons flood periodically; tree constructed using link

estimates– Nodes periodically advertise their coordinates (1-hop)

Currently testing on the Intel Lab testbed and under TOSSIM– small scale (~15 motes)– complete, ordered logging via Ethernet backend

Page 26: Beacon Vector Routing: towards scalable routing for sensor networks

Implementation

Testbed (16 nodes) TOSSIM (20 nodes)

Route Total % %C Total % %C

Started 408 740

Dropped 29 7.1 - 235 31.8 -

Successful 343 84.1 90.5 436 58.9 86.3

Same Coords 0 0 0 0 0 0

At Beacon 36 8.8 9.5 69 9.3 13.7

• First experimental results, understanding imp. Behavior• Mica2 motes, CC1000 radio @ 433Mhz, Intel Lab Testbed• 4 beacons in the corners• All route to all, no link retransmission

Page 27: Beacon Vector Routing: towards scalable routing for sensor networks

Conclusion

• Beacon-Vector performance– overhead scales well with network size and density– outperforms true geography at lower densities

• Other results– On demand 2-hop neighbors is a big win, specially on

lower densities– obstacles: up to 40% improvement relative to true

positions

• Many open questions remain – Further prototype evaluation (Intel testbed & TOSSIM)– Robustness under failure (TOSSIM)– Evaluate DHT on top of BVR– Compare with other approaches

Page 28: Beacon Vector Routing: towards scalable routing for sensor networks

Thank you

Page 29: Beacon Vector Routing: towards scalable routing for sensor networks

Backup Slides

Page 30: Beacon Vector Routing: towards scalable routing for sensor networks

Beacon-Vector vs. NoGeo/GEM: summary

• NoGeo/GEM: embed nodes in a virtual coordinate space– Forming this space is non-trivial– However, given this space, supporting a DHT is simple

• Beacon-Vector: landmarks, but no global coordinate space– Routing is easy – Building a DHT is more complex

• Open question: Is there a middle ground? Define a global frame of reference based on beacon positions?

Page 31: Beacon Vector Routing: towards scalable routing for sensor networks

Link Stability

Page 32: Beacon Vector Routing: towards scalable routing for sensor networks

Tree Stability