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

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

  • View
    236

  • Download
    0

Embed Size (px)

Citation preview

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?