Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

38
Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets R. Fonseca, Berkeley; S. Ratnasamy, Intel Research; J. Zhao, ICI; C. T. Ee, D. Culler, S. Shenker, and I. Stoica, Berkeley NSDI 2005

description

Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets. R. Fonseca, Berkeley; S. Ratnasamy, Intel Research; J. Zhao, ICI; C. T. Ee, D. Culler, S. Shenker, and I. Stoica, Berkeley NSDI 2005. The BVR Algorithm. Algorithm in three distinct parts: Greedy forwarding - PowerPoint PPT Presentation

Transcript of Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

Page 1: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless

Sensornets

R. Fonseca, Berkeley; S. Ratnasamy, Intel Research; J. Zhao, ICI; C. T. Ee, D. Culler, S. Shenker, and I. Stoica,

Berkeley

NSDI 2005

Page 2: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

The BVR Algorithm

• Algorithm in three distinct parts:– Greedy forwarding– Fallback Mode– Scoped Flooding

Page 3: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

The BVR Algorithm

• Define location based on number of hops to the routing beacons

• Each node stores its location as a vector of hop counts.

• P(q) = <q1,q2,q3,…qr> • e.g. <5,1,6,4,3,5,7,9,3> • Packets are routed based on these vectors

Page 4: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

The BVR Algorithm

• Nodes retain the position of their neighboring nodes.

• A nodes neighborhood is the collection of nodes one hop away, for most nodes.

Page 5: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

The BVR Algorithm

• The algorithm compares the difference between the packet’s destination and the current node’s neighbors.

Main Rule: Minimize the sum of the differences for the beacons that are closerto the destination d than to the current routing node p

Ties in the Above are broken by this rule: Minimize the sum of the distances to the farther beacons

Distance function

Page 6: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

BVR Algorithm

Page 7: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

Algorithm in operation

Page 8: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Page 9: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Hop 1:- only one decision

Page 10: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Page 11: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Hop 2:1:<0,2,6> = 83:<0,0,4> = 4Choose node 3

Page 12: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Page 13: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Hop 3:2:<0,1,5> = 64:<0,1,4> = 57:<0,1,3> = 4Choose node 7

Page 14: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Page 15: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Hop 4:3:<0,0,4> = 45:<0,0,2> = 28:<0,0,2> = 2 -> tie!

Page 16: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Hop 4:3:<0,0,4> = 45:<0,0,2> = 28:<0,0,2> = 2 -> tie!

Reverse metrics:5:<3,0,0> = 38:<3,2,0> = 5Choose 5

Page 17: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Page 18: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Hop 5:4:<0,1,4> = 56:<0,1,2> = 37:<0,1,3> = 4Choose node 6

Page 19: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Page 20: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Hop 6:5: <0,0,2> = 215: <0,1,1> = 2 -> tie!

Page 21: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Hop 6:5: <0,0,2> = 215: <0,1,1> = 2 -> tie!

Reverse metrics:5: <3,0,0> = 315: <1,0,0> = 1Choose 15

Page 22: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Page 23: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Hop 7:14: <0,0,0> = 0Found node!

Page 24: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

9

14

3

1

b1

b2 Beacon

Source

Destination

<4,1,2>

<1,4,7><1,2,5>

<5,2,3>

<5,2,1><5,3,2>

2

<2,5,8> 4

<1,3,3>

5

<2,3,4>

13

b3

<4,4,3>7

8

1210

6

15

11

<3,4,4><1,4,6>

<0,3,6>

Page 25: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

BVR: Fallback Mode

• It is possible for greedy forwarding to fail.

• This happens when no neighbor would improve the minimum distance metric

• When this happens the protocol uses fallback mode

Page 26: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

BVR: Fallback Mode

• Forward packet towards the beacon closest to the destination

• Parent goes back to forwarding normally: first with greedy forwarding and then fallback mode

Page 27: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

BVR: Scoped Flooding

• When fallback mode fails the algorithm resorts to scoped flooding

• In scoped flooding the node knows the number of hops away the destination is, but not the direction

• Floods only the number of hops needed

Page 28: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

Example: non-ideal case

• Example where algorithm resorts to flooding

Page 29: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

b2

b1

Beacon

Source

Destination

<3,0>

<2,2>

<0,3>

<1,2>

<2,3><3,4>

<3,1>

<1,3>

<2,1>

Page 30: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

b2

b1

Beacon

Source

Destination

<3,0>

<2,2>

<0,3>

<1,2>

<2,3><3,4>

Calculate forward:<1-3,3-4> = <0,0><1-3,2-4> = <0,0>

Calculate reverse:<3-1,4-3> = <2,1><3-1,4-2> = <2,2>

<3,1>

<1,3>

<2,1>

Page 31: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

b2

b1

Beacon

Source

Destination

<3,0>

<2,2>

<0,3>

<1,2>

<2,3><3,4>

Calculate forward:<1-3,3-4> = <0,0><1-3,2-4> = <0,0>

Calculate reverse:<3-1,4-3> = <2,1><3-1,4-2> = <2,2>

<3,1>

<1,3>

<2,1>

Would forward to <1,3>, but not closer then where we’ve already been.

Initiate scoped flooding for 3 units away.For such a small network, touches every node.

Page 32: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

b2

b1

Beacon

Source

Destination

<3,0>

<2,2>

<0,3>

<1,2>

<2,3><3,4>

Calculate forward:<1-3,3-4> = <0,0><1-3,2-4> = <0,0>

Calculate reverse:<3-1,4-3> = <2,1><3-1,4-2> = <2,2>

<3,1>

<1,3>

<2,1>

Would forward to <1,3>, but not closer then where we’ve already been.

Initiate scoped flooding for 3 units away.For such a small network, touches every node.

Page 33: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

b2

b1

Beacon

Source

Destination

<3,0,3>

<2,2,4>

<0,3,2>

<1,2,1>

<2,3,2><3,4,1>

<3,1,4>

<1,3,3>

<2,1,2>

Adding another beacon fixes problem

b3

<2,3,0>

Calculate forward:<3-3,1-4,4-1> = <0,0,3><1-3,3-4,3-1> = <0,0,2>

Page 34: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

b2

b1

Beacon

Source

Destination

<3,0,3>

<2,2,4>

<0,3,2>

<1,2,1>

<2,3,2><3,4,1>

<3,1,4>

<1,3,3>

<2,1,2>

Adding another beacon fixes problem

b3

<2,3,0>

Calculate forward:<2-3,2-4,4-1> = <0,0,3><0-3,3-4,2-1> = <0,0,1>

Page 35: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

b2

b1

Beacon

Source

Destination

<3,0,3>

<2,2,4>

<0,3,2>

<1,2,1>

<2,3,2><3,4,1>

<3,1,4>

<1,3,3>

<2,1,2>

Adding another beacon fixes problem

b3

<2,3,0>

Calculate forward:<1-3,3-4,3-1> = <0,0,2><1-3,2-4,1-1> = <0,0,0>

Page 36: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

b2

b1

Beacon

Source

Destination

<3,0,3>

<2,2,4>

<0,3,2>

<1,2,1>

<2,3,2><3,4,1>

<3,1,4>

<1,3,3>

<2,1,2>

Adding another beacon fixes problem

b3

<2,3,0>

Calculate forward:<0-3,3-4,2-1> = <0,0,1><2-3,3-4,2-1> = <0,0,1><2-3,3-4,0-1> = <0,0,0>

Page 37: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

b2

b1

Beacon

Source

Destination

<3,0,3>

<2,2,4>

<0,3,2>

<1,2,1>

<2,3,2><3,4,1>

<3,1,4>

<1,3,3>

<2,1,2>

Adding another beacon fixes problem

b3

<2,3,0>

Calculate forward:<1-3,2-4,1-1> = <0,0,0><3-3,4-4,1-1> = <0,0,0>Tie! Calculate reverse:<3-1,4-2,1-1> = <2,2,0><3-3,4-4,1-1> = <0,0,0>-> forward to destination

Page 38: Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets

Location Directory• How does the sender get the coordinates of

the destination?• Like a DNS service.

– Submits node ID– Responds with location

• Hash function correlates nodes with certain beacons

• Beacons must store all thestate data of the nodes associated with it