Beacon Vector Routing: towards scalable routing for sensor networks NEST Retreat, January 2004...

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
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    221
  • download

    2

Transcript of Beacon Vector Routing: towards scalable routing for sensor networks NEST Retreat, January 2004...

Page 1: Beacon Vector Routing: towards scalable routing for sensor networks NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

Outline (from here on)

• Beacon-Vector Routing– Goals– Algorithm – Evaluation

Page 7: Beacon Vector Routing: towards scalable routing for sensor networks NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

Thank you

Page 29: Beacon Vector Routing: towards scalable routing for sensor networks NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

Backup Slides

Page 30: Beacon Vector Routing: towards scalable routing for sensor networks NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

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 NEST Retreat, January 2004 Rodrigo Fonseca joint work with Sylvia Ratnasamy, Ion Stoica,

Link Stability

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

Tree Stability