# Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets R. Fonseca, Berkeley; S. Ratnasamy, Intel Research; J. Zhao, ICI; C. T. Ee,

## Presentation on theme: "Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets R. Fonseca, Berkeley; S. Ratnasamy, Intel Research; J. Zhao, ICI; C. T. Ee,"— Presentation transcript:

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 –Fallback Mode –Scoped Flooding

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) = e.g. Packets are routed based on these vectors

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.

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 closer to 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

BVR Algorithm

Algorithm in operation

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11 Hop 1: - only one decision

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11 Hop 2: 1: = 8 3: = 4 Choose node 3

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11 Hop 3: 2: = 6 4: = 5 7: = 4 Choose node 7

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11 Hop 4: 3: = 4 5: = 2 8: = 2 -> tie!

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11 Hop 4: 3: = 4 5: = 2 8: = 2 -> tie! Reverse metrics: 5: = 3 8: = 5 Choose 5

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11 Hop 5: 4: = 5 6: = 3 7: = 4 Choose node 6

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11 Hop 6: 5: = 2 15: = 2 -> tie!

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11 Hop 6: 5: = 2 15: = 2 -> tie! Reverse metrics: 5: = 3 15: = 1 Choose 15

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11 Hop 7: 14: = 0 Found node!

9 14 3 1 b1b1 b2b2 Beacon Source Destination 2 4 5 13 b3b3 7 8 12 10 6 15 11

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

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

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

Example: non-ideal case Example where algorithm resorts to flooding

b2b2 b1b1 Beacon Source Destination

b2b2 b1b1 Beacon Source Destination Calculate forward: = Calculate reverse: =

b2b2 b1b1 Beacon Source Destination Calculate forward: = Calculate reverse: = Would forward to, but not closer then where we’ve already been. Initiate scoped flooding for 3 units away. For such a small network, touches every node.

b2b2 b1b1 Beacon Source Destination Calculate forward: = Calculate reverse: = Would forward to, but not closer then where we’ve already been. Initiate scoped flooding for 3 units away. For such a small network, touches every node.

b2b2 b1b1 Beacon Source Destination Adding another beacon fixes problem b3b3 Calculate forward: =

b2b2 b1b1 Beacon Source Destination Adding another beacon fixes problem b3b3 Calculate forward: =

b2b2 b1b1 Beacon Source Destination Adding another beacon fixes problem b3b3 Calculate forward: =

b2b2 b1b1 Beacon Source Destination Adding another beacon fixes problem b3b3 Calculate forward: =

b2b2 b1b1 Beacon Source Destination Adding another beacon fixes problem b3b3 Calculate forward: = Tie! Calculate reverse: = -> forward to destination

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 the state data of the nodes associated with it

Download ppt "Beacon Vector Routing: Scalable Point-to-Point Routing in Wireless Sensornets R. Fonseca, Berkeley; S. Ratnasamy, Intel Research; J. Zhao, ICI; C. T. Ee,"

Similar presentations