geographic routing without location information
DESCRIPTION
Geographic Routing without Location Information. Yu-Min Tseng. Routing in Wireless Network. Distance vector DSDV On-demand DSR, TORA, AODV Discovers & caches routes on demand Geographic GPSR, DREAM, GRID GPSR – scales very well. What’s the problem?. No address aggregation - PowerPoint PPT PresentationTRANSCRIPT
Geographic Routing without Geographic Routing without Location InformationLocation Information
Yu-Min Tseng
Routing in Wireless NetworkRouting in Wireless Network
Distance vectorDistance vector DSDVDSDV
On-demandOn-demand DSR, TORA, AODVDSR, TORA, AODV Discovers & caches routes on demandDiscovers & caches routes on demand
GeographicGeographic GPSR, DREAM, GRIDGPSR, DREAM, GRID GPSR – scales very wellGPSR – scales very well
What’s the problem?What’s the problem?
No address aggregationNo address aggregation Except geographic routing, all other Except geographic routing, all other
approaches require O(N) state per nodeapproaches require O(N) state per node Routing by coordinates is a good way to Routing by coordinates is a good way to
avoid O(N) per-node routing stateavoid O(N) per-node routing state
Why geographic routing without Why geographic routing without location information?location information? GPS takes power, doesn’t work indoorsGPS takes power, doesn’t work indoors Obstacles, no-ideal radiosObstacles, no-ideal radios Coordinates computed will reflect true Coordinates computed will reflect true
connectivity & not the geographic locations connectivity & not the geographic locations of the nodesof the nodes
Geographic routingGeographic routing
Choose coordinates for nodesChoose coordinates for nodes Greedy routingGreedy routing
Proceed closer to destination at each hopProceed closer to destination at each hop How to deal with voids?How to deal with voids? ““Addresses” of nodes keep changing as Addresses” of nodes keep changing as
they movethey move Need a lookup service for the current location Need a lookup service for the current location
of a nodeof a node
OutlineOutline
Perimeter nodes & their locations are Perimeter nodes & their locations are knownknown
Perimeter nodes are known but their Perimeter nodes are known but their locations are not knownlocations are not known
Nothing is known about the perimeterNothing is known about the perimeter Performance evaluationPerformance evaluation
Rubber BandsRubber Bands
Iterative process for picking coordinates for a Iterative process for picking coordinates for a nodenode
Some nodes along with periphery of the network Some nodes along with periphery of the network know their correct (relative) locations and are know their correct (relative) locations and are fixedfixed
Other nodes compute coordinates by relaxationOther nodes compute coordinates by relaxation
Every node Every node moves to the moves to the average of its average of its neighbors neighbors coordinates at coordinates at each stepeach step
EvaluationEvaluation
Success RateSuccess Rate Using purely greedy routingUsing purely greedy routing Without dead-end avoidance techniquesWithout dead-end avoidance techniques
Average Path LengthAverage Path Length Average number of hops taken along the pathAverage number of hops taken along the path
True geographic coordinateTrue geographic coordinate
3200 nodes uniformly spread,64 perimeter nodes,Radio range is 8 unit.Each node have avg 16 neighbors.
Perimeter nodes are known Perimeter nodes are known (10 iterations)(10 iterations)
All non-perimeter nodes start with same initial coordinates
Perimeter nodes are knownPerimeter nodes are known(100 iterations)(100 iterations)
Perimeter nodes are known Perimeter nodes are known (1000 iterations)(1000 iterations)
Success rate 0.993, average path length 17.1
True geographic coordinateTrue geographic coordinate
Success rate 0.989, average path length 16.8
Resilience of rubber bandsResilience of rubber bands
Success rate 0.99, average path length 17.1
Resilience of the rubber bandResilience of the rubber band
Success rate 0.981, average path length 17.3
Rubber bands (cont’d)Rubber bands (cont’d)
We need a periodic heartbeat between We need a periodic heartbeat between neighbors so each node can maintain a list neighbors so each node can maintain a list of its neighborsof its neighbors
We just send the current position of the We just send the current position of the node along with the heartbeat packet it node along with the heartbeat packet it broadcastsbroadcasts
Each time a heartbeat packet is received, Each time a heartbeat packet is received, we re-compute the coordinatewe re-compute the coordinate
OutlineOutline
Perimeter nodes & their locations are Perimeter nodes & their locations are knownknown
Perimeter nodes are known but their Perimeter nodes are known but their locations are not knownlocations are not known
Nothing is known about the perimeterNothing is known about the perimeter Performance evaluationPerformance evaluation
Perimeter coordinate algorithmPerimeter coordinate algorithm
Perimeter coordinate algorithmPerimeter coordinate algorithm Perimeter nodes broadcast a HELLO Perimeter nodes broadcast a HELLO
message to network, discover the distance to message to network, discover the distance to all other perimeter node all other perimeter node perimeter vector perimeter vector
Perimeter nodes broadcast their perimeter Perimeter nodes broadcast their perimeter vector to networkvector to network
Every perimeter node use a triangulation Every perimeter node use a triangulation algorithm to compute the coordinates of all algorithm to compute the coordinates of all perimeter nodesperimeter nodes
Perimeter nodes flood O(NPerimeter nodes flood O(N22) overhead) overhead
Perimeter coordinate algorithm (cont’d)Perimeter coordinate algorithm (cont’d)
Measured_dist(I, j)Measured_dist(I, j) Distance between node i & j in perimeter vectorDistance between node i & j in perimeter vector
Dist(I, j)Dist(I, j) Geometric distance between the virtual coordinates of Geometric distance between the virtual coordinates of
node I & jnode I & j For minimizing the potential energy consumed, For minimizing the potential energy consumed,
make the coordinate proportional to the hop make the coordinate proportional to the hop count distancecount distance
Bootstrapping beaconsBootstrapping beacons
Two designated bootstrap beacons flood Two designated bootstrap beacons flood with HELLO messageswith HELLO messages
Perimeter nodes compute coordinates with Perimeter nodes compute coordinates with bootstrap nodesbootstrap nodes
Compute the center of gravity (CG)Compute the center of gravity (CG) CG forms the originCG forms the origin
First bootstrap node defines x axisFirst bootstrap node defines x axis Second bootstrap node define y axisSecond bootstrap node define y axis
After 1 iteration, success rate 0.992, average path length 17.2After 10 iterations, success rate 0.994, average path length 17.2
OutlineOutline
Perimeter nodes & their locations are Perimeter nodes & their locations are knownknown
Perimeter nodes are known but their Perimeter nodes are known but their locations are not knownlocations are not known
Nothing is known about the perimeterNothing is known about the perimeter Performance evaluationPerformance evaluation
Perimeter node criterionPerimeter node criterion
If a node is the farthest away, among all its If a node is the farthest away, among all its 2-hop neighbors from bootstrap nodes, 2-hop neighbors from bootstrap nodes, then the node decides that it is on the then the node decides that it is on the perimeterperimeter
A designated bootstrap node periodically A designated bootstrap node periodically broadcasts, nodes periodically re-assess broadcasts, nodes periodically re-assess whether they lie on the perimeter or notwhether they lie on the perimeter or not Need a leader election protocol to deal with Need a leader election protocol to deal with
failure of this bootstrap nodefailure of this bootstrap node Overhead doesn’t depend on NOverhead doesn’t depend on N
Coordinate projection on circleCoordinate projection on circle
Origin is the CG of perimeter nodesOrigin is the CG of perimeter nodes Radius is the average distance of Radius is the average distance of
perimeter nodes from CGperimeter nodes from CG Virtual circle makes it easier to support Virtual circle makes it easier to support
mobilitymobility If a node concludes that it is on the If a node concludes that it is on the
perimeter, it projects itself on circle & stays perimeter, it projects itself on circle & stays fixedfixed
After 10 iterations, success rate 0.996, average path length 17.3
OutlineOutline
Perimeter nodes & their locations are Perimeter nodes & their locations are knownknown
Perimeter nodes are known but their Perimeter nodes are known but their locations are not knownlocations are not known
Nothing is known about the perimeterNothing is known about the perimeter Performance evaluationPerformance evaluation
Experiment designExperiment design
Event driven packet level simulatorEvent driven packet level simulator Doesn’t model application traffic or Doesn’t model application traffic or
collisionscollisions Scales to 3200 nodes with packet events Scales to 3200 nodes with packet events
& 12800 nodes without events& 12800 nodes without events 3200 nodes distributed randomly in a 3200 nodes distributed randomly in a
200x200 square. Radio range is 8, density 200x200 square. Radio range is 8, density is held constant while scaling upis held constant while scaling up
Success rate of greedy routingSuccess rate of greedy routing
Weird shapesWeird shapes
Different network densitiesDifferent network densities
When greedy routing failsWhen greedy routing fails
ObstaclesObstacles