Sunteți pe pagina 1din 61

Scalable localized routing

in Wireless Sensor Networks

Sensors route reports to a fixed sink

GOAL: to carry out data communication while trying to prolong the lifetime
of the network and prevent connectivity degradation by employing
aggressive energy management techniques

Internet

humidity

Sink
End
user

Issues
Node deployment: application-dependent
Data may be routed through predetermined paths
Nodes are scattered randomly, creating an ad hoc routing
infrastructure
Distribution of nodes is not uniform, optimal clustering becomes
necessary

Energy consumption without losing accuracy


Use up their limited supply of energy
The malfunctioning of some sensor nodes

Data reporting method


Time-driven: for application requiring periodic data monitoring
Event-driven: react due to a certain event (time-critical application)
Query-driven: response to a query (time-critical application)

Issues (contd)
Node/link heterogeneity
For example, hierarchical protocols designate a cluster head node

Fault tolerance
The failure of sensor nodes should not affect the overall task of the
sensor network

Scalability
Any routing scheme must be able to work with huge number of sensor
nodes

Network dynamics
Nodes can be mobile

Transmission media
The required bandwidth is low(1-100 kb/s)
TDMA-based protocols conserve more energy than contention-based
protocols (like CSMA)

Issues (contd)
Connectivity
Density in sensor networks
Depends on the possibly random distribution of nodes

Coverage
A sensors view of the environment is limited in both range and
accuracy

Data aggregation
Sensor nodes may generate significant redundant data
To reduce the number of transmissions

Quality of service
Bounded latency for data delivery is a condition for timeconstrained applications

Multi-hop networks: Routing

Sensor networks
Position information

Unit disk graphs


radius

Routing: source destination

Edge between u, v
if |u v| 1;
no edge otherwise

Multi-hop networks: Routing

Sensor networks
Position information

Unit disk graphs


radius

Routing: source destination

Routing with/out position information?


Sensors can function efficiently only with position information

GPS and location estimation has advanced rapidly (e.g. cubic


cm sensor with 7mm x 7mm x 2mm GPS)
Sink can flood network with/out its own position
Routes can be learned while flooding, or
Only position of sink is learned and used

Reactive routing
Source floods route discovery (short) message
Destination node replies back to source upon receiving
discovery message(s) using memorized hops (AODV) or paths
(DSR) (ad hoc networks)
Source sends full message using recorded path
Multi-paths consideration for QoS
Route discovery message may contain accumulated delay,
congestion, power, cost etc. along paths

Route discovery by flooding


S

Each sensor retransmits once


Problem: sink stable but sensors may sleep

Proactive Routing
Routing table contains the first hop/neighbor toward each
destination
DSDV (Destination-Sequenced Distance Vector): each node
exchanges its routing tables with all its neighbors, and
Best neighbor N for route from S to D is one that minimizes: cost
of link S to N + cost N to D (from routing table in N)
OLSR (Optimized Link State Routing): link changes are flooded
+ Dijkstras shortest path
MPR (MultiPoint Relay): to reduce flooding

Maintaining best paths to the sink


Cost of each link to
neighbors is updated
Summary cost of reporting
to sink is included in
message
Best neighbor minimizes
cost to it + path cost from
neighbor
Link changes require
several iterations to find
new best path
Xue Zhang JCST 2008

Geometric Routing

A.k.a. position-based, directional, geographic, etc.


Each node knows its own position and position of neighbors
Source knows the position of the destination
No routing tables stored in nodes! All routing information
stored in the message

??

?
s

Greedy position-based localized routing


Finn 1987

B
Localized protocol
S knows only position of itself, its neighbors and destination D
S forwards to neighbor B closest to D

Most Forward within Radius (MFR)


MFR 1st position-based greedy protocol by Takagi and
Kleinrock in 1980.
B

S
E

Minimize DS.DA = |DS||DA|

In MFR routing algorithm, a packet is sent to the neighbour


with the greatest progress. It is loop-free!

Greedy: SABCD vs Shortest Path (SP): SECD

D
B

Localized vs. globalized protocol


SP: message overhead to maintain global information at each
node (mobility and/or sleep/active periods changes)

DIRectional routing methods


[BCSW] Basagni, Chlamtac, Syrotiuk, Woodward MOBICOM98 (DREAM)
[KV] Ko, Vaidya MOBICOM 98 (LAR)
[KSU] Kranakis, Singh, Urrutia CCCG99 (Compass Routing)

D
Closest direction

Idea: Send to all neighbors within an angular range of the direction.

Distance Routing Effect Algorithm for


Mobility (DREAM)
Each node periodically advertises its location (and movement
information) by flooding. This way, nodes have knowledge of one
anothers location.
Sender forwards the packet to all one-hop neighbors that lie in the
direction of destination.
Expected region is a circle around the position of destination as it is
known to source.
The radius r of the expected region is set to (t1-t0)*Vmax, where t1 is the
current time, t0 is the time of the position information source has about
destination, and Vmax is the maximum speed of the destination node.
The direction toward destination is defined by the line between source
and destination and the angle .

DREAM (contd)

Compass Routing
s
a

b
t
c

Greedy distance pick the locally optimum (distance) neighbor.


Compass routing pick the locally optimum (angle) neighbor. Pass one
copy of the message from source to destination. From any node, always
forward message over the adjacent edge that points most closely in the
direction of the target t (closest slope).

DIR is not loop-free!


E
H

F
G

Transmission radius
Greedy is loop-free!

Drawbacks of greedy scheme


In the greedy scheme, the packet is forwarded to the closest
known node to the destination.
When none of the known nodes is closer to the destination
compared to the current node, the algorithm floods the
network until a node closer to the destination is found.
The algorithm does not guarantee delivery, nor optimize
flooding rate.
When packets are dropped by nodes, which have no neighbors
closer to the target (local minimum situation), a recovery
strategy is needed to guarantee delivery.

The local minimum problem


Problem of greedy georouting:
Nodes having no neighbor closer to the destination
(local minima) requires recovery!

transmission
radius

The local minimum problem

Can get stuck at a local minimum

Loop-free with guaranteed delivery


Stop if message is to be returned to neighbor it came
from (no further choices)= concave node
MFR, DIR, Greedy
Backtracking/Flooding Greedy/MFR:
Concave nodes flood message to one/all neighbors
and then reject further copies of the same message
There are loop-free methods that guarantee delivery
with reasonable flooding rate, but nodes need to
memorize past traffic

Stojmenovic, Lin 1999

Face Routing
Based on ideas by [Kranakis, Singh, Urrutia 1999]

All necessary information is stored in the message


Source and destination positions
Point of transition to next face

Completely local:
Knowledge about direct neighbors positions sufficient
Faces are implicit

Planar graph is needed


Planarity of graph is computed locally (not an assumption)
Can be computed, for example, with Gabriel Graph

Face Routing: routing around void areas


D
A?

Recovery, perimeter, face mode

1. Constructing planar graph: Faces


D
A?

Some planar graphs (Gabriel graph) can be constructed without


message exchange!
Bose, Morin, Stojmenovic, Urrutia, 1999

2. Traverse proper face until recovery


D
S?

- Select face containing SD

- Follow that face by left hand or right hand rule


until recovery (= closer node reached)

Traversal of selected face leads to recovery


Frey, Stojmenovic MOBICOM 2006; TC 2010

S?

X
F

- Line SD intersects the face in X on an edge EF


- E or F is closer to D than A (if nothing else found before)

GFG = Greedy-FACE-Greedy
REPEAT:
Greedy until delivery or a failure node A, |AD|=d
FACE until delivery or B reached, |BD|<d,
Greedy until delivery or loop
No traffic memorization, localized, close to SP scalable !!
Greedy Perimeter Stateless Routing (GPSR) = GFG (added MAC,
mobile nodes)
Karp, Kung, MobiCom 2000

Bose, Morin, Stojmenovic, Urrutia, DialM 1999

Greedy, GFG (greedy-face-greedy)


J

U
D

L
V
F

E
H

Face Routing

Face Routing

Face Routing

Face Routing

Face Routing

Face Routing

Face Routing

Face Routing

Some facts about GFG


Imprecise location information is challenge for georouting
with guaranteed delivery
Georouting in 3D has no guaranteed delivery
For planar graphs GFG still always works, but GPSR by Karp
and Kung does not

Frey, Stojmenovic 2006

For other metrics, there is still no alternative to GG based face


routing for recovery mode, which prefers close neighbors
(except shortcuts, dominating sets..)

Shortcut procedure in FACE mode


Datta, Stojmenovic, Wu 2001

ABCE replaced by AF
2-hop information needed

Adaptive Face Routing

Route through the sequence of faces that intersect the line


segment [S,D].
Go around each face.
Switch to the next face at a common edge.
D

Adaptive Face Routing (contd)


Simple face routing can be bad!
So, need to bound searchable area

Adaptive Face Routing (contd)


What is the correct size of the bounding area?
Start with a small searchable area
Grow area each time you cannot reach the destination
In other words, adapt area size whenever it is too small

Adaptive Face Routing (AFR)

The Greedy Other Adaptive Face Routing


Kuhn, Wattenhofer, Zollinger, MobiHoc 2003

GOAFR: Combine Greedy and (Other) Adaptive Face Routing


Route greedily as long as possible.
If stuck, do face routing.
Switch to greedy, from the best point in the current face.

Starting at s, GOAFR proceeds in greedy mode until reaching the local


minimum n1. The algorithm switches to face routing mode and explores
the boundary of face F to find n2, the node closest to t on F's boundary.
GOAFR falls back to greedy mode and finally reaches t.

Greedy routing with zero knowledge


Greedy forwarding without knowing the neighbors and without
routing tables
Problem: How to select a suitable neighbor?

Candidates
?

Forwarder

transmission
radius

The Contention Principle (1)


Neighbors select themselves!
Forwarder broadcasts a request (RTS)
Neighbors start a timer according to their distance to D

transmission
radius

RTS

The Contention Principle (2)


A node responds (CTS) when its timer expires
best neighbor responds first

CTS
F

transmission
radius

The Contention Principle (3)


The forwarder sends the data packet
Other candidates cancel their timers

transmission
radius

DATA

Contention-based (Beaconless) Routing


Fast and reactive routing without overhead (almost)
Basic idea proposed as
Beaconless Routing (BLR) [Heissenbttel, Braun, 2003]
Contention-based Forwarding (CBF) [Fler et al. 2003]
Implicit Geographic Forwarding (IGF) [Blum et al. 2003]

Ideally suited for ad hoc communication in highly mobile


environments
Problem: local minimum problem
Beaconless routing with guaranteed delivery (Kalosha, Nayak,
Ruehrup, Stojmenovic, IEEE INFOCOM 2008 + IEEE/ACM ToN 2010)

Is hop count the best metric?

Power consumption
Reluctance (avoiding nodes with low energy)
Power_reluctance
Delay
Expected hop count (realistic physical layer)
COST - selected metric

Cost to progress ratio framework


Progress: measures advance towards destination
Progress = |SD|-|AD|=d-a
Select neighbor A that minimizes
cost(SA)/progress(A)
Hop count: cost=1

Maximize advance
S
Stojmenovic IEEE Network 2006

D
d

Parameterless behavior
Cost-to-progress ratio framework has no added parameters such
as thresholds
Threshold based approach: eliminate bad links, drop packet if
there is no good neighbor
What if a solid path has just one weak bridge?
Experiments so far indicate that threshold based approaches are
inferior for all threshold values - either high failure rate or
suboptimal since there is no notion of best neighbor

Power saving localized routing


A

Constant power minimize hop count


power =u(d)= d + c minimize total power

model by Rodoplu, Meng 1999

Many articles assume c=0; in practice c>0 since power is needed to


run hardware at each node, and correct reception requires minimal
transmission power (no energy-free transmission at zero distance)

reluctance f(A) to forward packets =1/g(A)


g(A) in [0,1] lifetime minimize total cost
Power_reluctance = f(A)u(d)

Localized power-aware routing


A

Power progress: minimize (r + c) / (d - a)


Iterative power progress:
select B if power(SB)+power(BA) < power(SA)
Kuruvila, Nayak, Stojmenovic 2004

Reluctance routing algorithm

A
r

a
d

Stojmenovic, Lin 1998

f(A) = reluctance = 1/g(A) g(A) in [0,1] lifetime


A = neighbors of S that minimizes f(A) + f(S)*s/R
( cost of A + average cost around S * ideal number of hops from A to D )

If D is neighbor of S then deliver to D else forward to A


Reluctance/progress: minimize f(A) / (|SD|-|SA|)
Kuruvila, Nayak, Stojmenovic 2004 (no added parameters)

Power_reluctance routing

A
d

Stojmenovic, Lin 1998

A = neighbors of S that minimizes u(r) + v(s)


If D is neighbor of S and u(d) < min [u(r) + v(s)]
then deliver to D else {A = neighbor of S that minimizes
f(A)u(r) + v(s)f(S); forward to A}
Power*reluctance/progress: minimize f(A)power(SA)/(|SD|-|SA|)
Kuruvila, Nayak, Stojmenovic 2004 (no added parameters)

Physical layer impact


Expected hop count (counting all transmissions and
possibly acknowledgements) = ETX
ETX(SA)= expected hop count from S to A
Minimize ETX(SA) / (d - a)
Kuruvila, Nayak, Stojmenovic 2004

Delay; QoS routing; Bitrate

A
d

Reception Probability
Log-Normal Shadowing Model
- a statistical model
- the noise element is modeled by a
Gaussian distribution

V
p(x) = 1, x R S

Unit Disk Graph


p(x) = 0, x > R

QoS routing
Find a route which satisfies delay, bandwidth etc. QoS
criteria
Huang, Dai, Wu 2004

Localized routing, maximizes progress/cost


Progress =advance on the projection to destination
Cost from QoS criterion used
Backward checking = iterative improvement
A

B
Instead of routing to B, route
to C if
C

cost(AC)+cost(CB) <
cost(AB)

S-ar putea să vă placă și