Beacon Vector Beacon Vector Routing: Scalable Routing: Scalable
Point-to-Point Point-to-Point Routing in Routing in Wireless Wireless
SensornetsSensornets
MotivationMotivation
Most existing protocols only support basic Most existing protocols only support basic many-to-one or one-to-many routing many-to-one or one-to-many routing primitives (e.g., Directed diffusion, TAG, …)primitives (e.g., Directed diffusion, TAG, …)
More point-to-point routing protocols have More point-to-point routing protocols have recently been proposedrecently been proposed Applications: Pursuer-evader game, spatial Applications: Pursuer-evader game, spatial
queries, reactive tasking, multi-dimensional range queries, reactive tasking, multi-dimensional range queries, data centric storage, …queries, data centric storage, …
No practical and broadly applicable No practical and broadly applicable implementation of point-to-point routing in implementation of point-to-point routing in WSNs WSNs
Design GoalsDesign Goals
Develop & implement a point-point Develop & implement a point-point routing protocol:routing protocol: That is simple – minimal complexityThat is simple – minimal complexity That makes minimal assumptions about That makes minimal assumptions about
radio quality, presence of GPS, …radio quality, presence of GPS, … Use TinyOS tree construction prtocol Use TinyOS tree construction prtocol
Key IdeasKey Ideas
Randomly select a few beacon nodesRandomly select a few beacon nodes Construct trees from the beacons to Construct trees from the beacons to
every other nodeevery other node Every node knows its distance (#hops) Every node knows its distance (#hops)
to every beacon by using the standard to every beacon by using the standard reverse path tree constructionreverse path tree construction These beacon vectors serve as coordinatesThese beacon vectors serve as coordinates
Apply simple greedy, geographic Apply simple greedy, geographic forwardingforwarding
ApproachApproach Nodes periodically send a local broadcast to Nodes periodically send a local broadcast to
announce their coordinatesannounce their coordinates Distance function Distance function δδ(p, d) to measure how good (p, d) to measure how good
p would be as a next hop to reach the p would be as a next hop to reach the destination d?destination d?
A node q’s position P(q) = <q1, q2, …, qr> A node q’s position P(q) = <q1, q2, …, qr> where qi is #hops from node q to beacon i where qi is #hops from node q to beacon i
Move towards a beacon when the destination is Move towards a beacon when the destination is closer to the beacon than the current nodecloser to the beacon than the current node
Move away from a beacon when the destination Move away from a beacon when the destination is further from the beacon than the current is further from the beacon than the current nodenode
Fallback modeFallback mode
If a node cannot make a progress If a node cannot make a progress towards the destination itself, it towards the destination itself, it forwards the packet to the parent in forwards the packet to the parent in the corresponding beacon treethe corresponding beacon tree
A packet will eventually reach the A packet will eventually reach the beacon node closest to dbeacon node closest to d
If the closest beacon still cannot find If the closest beacon still cannot find the destination, it does scoped the destination, it does scoped flooding flooding
Beacon maintenanceBeacon maintenance
Route based on the beacons the source Route based on the beacons the source and destination have in commonand destination have in common Does not require perfect beacon info.Does not require perfect beacon info.
Each entry in the beacon vector has a Each entry in the beacon vector has a sequence number sequence number Periodically updated by the corresponding Periodically updated by the corresponding
beaconbeacon TimeoutTimeout
If the #beacons < r, non-beacon nodes If the #beacons < r, non-beacon nodes nominate themselves as beaconsnominate themselves as beacons
Location directoryLocation directory
First look up the destination coordinates by First look up the destination coordinates by namename
Hashing H: nodeid → beaconid [14]Hashing H: nodeid → beaconid [14] Use beacons as storageUse beacons as storage
Each node k that wants to be a destination Each node k that wants to be a destination periodically publishes its coordinates to its periodically publishes its coordinates to its corresponding beacon bcorresponding beacon bkk = H(k) = H(k)
When a node wants to route to node k, it When a node wants to route to node k, it sends a lookup request to bsends a lookup request to bkk
Cache the coordinatesCache the coordinates
Simulation ResultsSimulation Results Assumptions for high level simulationAssumptions for high level simulation
Fixed circular radio rangeFixed circular radio range Ignore the network capacity and congestionIgnore the network capacity and congestion Ignore packet lossesIgnore packet losses
Place nodes uniformly at random in a Place nodes uniformly at random in a square planner regionsquare planner region 3200 nodes uniformly distributed in a 200 * 3200 nodes uniformly distributed in a 200 *
200 unit area200 unit area Radio range is 8 unitsRadio range is 8 units Average node degree is 16Average node degree is 16
Vary #total beacons and #routing beaconsVary #total beacons and #routing beacons
Greedy success rateGreedy success rate
Success ratio given 10 Success ratio given 10 routing beaconsrouting beacons
On-demand two hop On-demand two hop neighbor acquisitionneighbor acquisition
At lower densities, each node has fewer At lower densities, each node has fewer immediate neighborsimmediate neighbors The performance of greedy routing dropsThe performance of greedy routing drops Add a neighbor’s neighbors to the routing Add a neighbor’s neighbors to the routing
table, if greedy forwarding is impossibletable, if greedy forwarding is impossible
#beacons required to #beacons required to achieve less than 5% scoped achieve less than 5% scoped
floodsfloods
Performance under Performance under obstaclesobstacles
Place horizontal & vertical walls Place horizontal & vertical walls with lengths of 10 or 20 units when with lengths of 10 or 20 units when the radio range is 8 unitsthe radio range is 8 units
Transmission stretch over Transmission stretch over the shortest paththe shortest path
Prototype evaluationPrototype evaluation
Office-Net: 42 mica2dot motes in a Office-Net: 42 mica2dot motes in a 20m * 50m office20m * 50m office
Univ-Net: 74 mica2dot motes Univ-Net: 74 mica2dot motes deployed across multiple student deployed across multiple student offices on a single floor in a UC offices on a single floor in a UC Berkeley buildingBerkeley building
Link quality vs. distanceLink quality vs. distance Orthogonal!Orthogonal! (in Office-Net) (in Office-Net)
Contradicts to circular radio assumptions Contradicts to circular radio assumptions made by geographic routing protocolsmade by geographic routing protocols
BVR is connectivity basedBVR is connectivity based
Routing performance in Routing performance in Office-NetOffice-Net
Routing performance in Routing performance in Univ-NetUniv-Net
Office-Net success rateOffice-Net success rate
Beacon failureBeacon failure TOSSIM – TinyOS simulatorTOSSIM – TinyOS simulator 100 motes with 8 beacons100 motes with 8 beacons Expected node degree of 12Expected node degree of 12 TOSSIM’s lossy link generatorTOSSIM’s lossy link generator
Based on empirical data to simulate lossy and Based on empirical data to simulate lossy and asymmetric connectivityasymmetric connectivity
Related WorkRelated Work DSDV computes the shortest path between all DSDV computes the shortest path between all
possible pair of source and destinationpossible pair of source and destination Scalibility problemScalibility problem
On-demand route discoveryOn-demand route discovery Poor performance when many source-destination pair Poor performance when many source-destination pair
want to communicatewant to communicate Landmark routingLandmark routing
Hierarchical set of landmark nodes periodically send Hierarchical set of landmark nodes periodically send scoped route discovery messagesscoped route discovery messages
+Each node self-configures its address – concatenation +Each node self-configures its address – concatenation of the closest landmark at each level of the hierarchy of the closest landmark at each level of the hierarchy
-Landmark maintenance-Landmark maintenance -How to tune the landmark scope?-How to tune the landmark scope?
Geographic routingGeographic routing GPSR GPSR
+Highly scalable+Highly scalable O(1) route discoveryO(1) route discovery O(1) routing tableO(1) routing table Local planarizationLocal planarization Path lengths are close to the shortest pathPath lengths are close to the shortest path
-Unit graph assumption-Unit graph assumption -Each node should node its geographic -Each node should node its geographic
coordinatescoordinates -Greedy forwarding can be suboptimal -Greedy forwarding can be suboptimal
because it does not use real connectivity info.because it does not use real connectivity info.
Questions?Questions?