ENERGY EFFICIENT WSN
ROUTING
Rituparna Chaki
Visiting Professor
at
AGH University of Sc. & Tech
[email protected]
Outline
MAC
SPIN
PSR
Event-driven Routing
Useful power consumption in WSN’s
➢ Transmitting or receiving data.
➢ Processing queries requests.
➢ Forwarding queries and data to the neighbours.
Wasteful power consumption in WSN’s
➢ Idle listening to the channel “ waiting for possible traffic”.
➢ Retransmitting because of collision: “ e.g two packets arrived at the
same time at the same sensor”
➢ Overhearing: when a sensor received a packet doesn’t belong it”.
➢ Generating and handling control packets.
How to minimize the energy consumption of sensor nodes while
meeting the application requirements?
➢ Use Protocols that aim mainly to increase the sleep periods as much as
possible
Sleep Reception Transmission Idle
Another problem in Wireless Network
Hidden/Exposed terminal problem
Differences and Constraints
Traditional MAC protocol provides:
➢ High throughput
➢ Low latency
➢ Fairness
➢ Mobility But : have little consideration for energy
Attributes to Wireless Sensor Networks
The following attributes should be taken in WSN
Energy conservation primary goal
➢ Scalability and adaptively
➢ throughput
➢ Fairness less important
➢ Latency
MAC protocol must achieve
➢ Establish communication link between the sensor nodes
➢ To share the communication medium fairly and efficiently
Energy Conservation
Since many mobile hosts are operated by
batteries, MAC protocols which conserve energy
are of interest
Two approaches to reduce energy consumption
Power save: Turn off wireless interface when desirable
Power control: Reduce transmit power
Wireless Sensor Network MAC
protocols
Medium Access Control
Unscheduled Scheduled
MAC MAC
Unscheduled MAC protocols
PAMAS: stands for Power Aware Multi-Access
Strategy : It uses multiple transceivers on each node
Uses a control channel separate from datra channel
PAMAS Data Transfer
Power Aware Multi-Access
Protocol (PAMAS) [Singh98]
A node powers off its radio while a neighbor is
transmitting to someone else
Node A sending to B
B Node C stays powered off
A C
Power Aware Multi-Access
Protocol (PAMAS)
What should node C do when it wakes up and finds that D is
transmitting to someone else
C does not know how long the transfer will last
Node D sending to E
Node A sending to B
C stays powered off
B
C wakes up and
A C finds medium busy
D E
SKIP
PAMAS
Node C on waking up performs a binary probe to
determine the length of the longest remaining transfer
C sends a probe packet with parameter L
All nodes which will finish transfer in interval [L/2,L] respond
Depending on whether node C sees silence, collision, or a
unique response it takes varying actions
Node C (using procedure above) determines the
duration of time to go back to sleep
Pros and Cons of PAMAS
Collision Avoidance
Use of a separate control channel
Nodes have to be able to receive on the
control channel while they are transmitting on
the data channel
And also transmit on data and control channels
simultaneously
Another Proposal in PAMAS
To avoid the probing, a node should switch off the
interface for data channel, but not for the control
channel (which carries RTS/CTS packets)
Advantage: Each sleeping node always knows how
long to sleep by watching the control channel
Disadvantage: This may not be useful when hardware
is shared for the control and data channels
It may not be possible turn off much hardware due to the
sharing
Scheduled MAC
Based on : Sleep when neighbors talk
Use ONLY in-channel signaling
Who should sleep?
• All immediate neighbors of sender and receiver
• How long to sleep?
• The duration field in each packet informs other nodes the
sleep interval
S-MAC
Tries to reduce wastage of energy from all four
sources of energy inefficiency
Collision – by using RTS and CTS
Overhearing – by switching the radio off when the
transmission is not meant for that node
Control overhead – by message passing
Idle listening – by periodic listen and sleep
Assumptions
Dedicated to a single application or a few collaborative
applications
Involves in-network processing to reduce traffic and
thereby increase the life-time
This implies that data will be processed as whole messages
at a time in store-and-forward fashion
Hence packet or fragment-level interleaving from multiple
sources only delays overall latency
Applications will have long idle periods and can tolerate
some latency
Schedule maintenance
Remember neighbors’ schedules
— to know when to send to them
Each node broadcasts its schedule every
few periods
Refresh on neighbor’s schedule when
receiving an update
Schedule packets also serve as beacons
for new nodes to join a neighborhood
Periodic Listen and Sleep
If no sensing event happens, nodes are idle for a long
time
So it is not necessary to keep the nodes listening all
the time
Each node go into periodic sleep mode during which
it switches the radio off and sets a timer to awake
later
When the timer expires it wakes up and listens to see
if any other node wants to talk to it
Duration of sleep and listen time can be selected
based on the application scenario
To reduce control overhead, neighboring nodes are
synchronized (i.e. Listen and sleep together)
Not all neighboring nodes can synchronize together
Two neighboring nodes (A and B) can have different
schedules if they are required to synchronize with
different node
If a node A wants to talk to node B, it just waits until B
is listening
If multiple neighbors want to talk to a node, they
need to contend for the medium
Contention mechanism is the same as that in
IEEE802.11 (using RTS and CTS)
After they start data transmission, they do not go to
periodic sleep until they finish transmission
Choosing and Maintaining
Schedules
Each node maintains a schedule table that stores
schedules of all its known neighbors.
To establish the initial schedule (at the startup)
following steps are followed:
A node first listens for a certain amount of time.
If it does not hear a schedule from another node, it
randomly chooses a schedule and broadcast its
schedule immediately.
This is called a SYNCHRONIZER.
If a node receives a schedule from a neighbor before
choosing its own schedule, it just follows this neighbor’s
schedule.
This node is called a FOLLOWER and it waits for a random
delay and broadcasts its schedule.
If a node receives a neighbor’s schedule after it selects its
own schedule, it adopts to both schedules and broadcasts
its own schedule before going to sleep.
New Node
Listen for a long time until an active node is
discovered
Send INTRO packet to the active node
Active node forwards its schedule table
Treat all the nodes on table as potential neighbors
and contact them later
If possible follow the synchronizer’s schedule else
establish a random schedule and broadcast the
schedule
Maintaining Synchronization
Timer synchronization among neighbors are needed
to prevent the clock drift.
Done by periodic updating using a SYNC packet.
Updating period can be quite long as we don’t
require tight synchronization.
Synchronizer needs to periodically send SYNC to its
followers.
If a follower has a neighbor that has a different
schedule with it, it also needs update that neighbor.
Time of next sleep is relative to the moment that the
sender finishes transmitting the SYNC packet
Receivers will adjust their timer counters immediately
after they receive the SYNC packet
Listen interval is divided into two parts: one for
receiving SYNC and other for receiving RTS
Timing Relationship of Possible Situations
Collision Avoidance
Similar to IEEE802.11 using RTS/CTS mechanism
Perform carrier sense before initiating a transmission
If a node fails to get the medium, it goes to sleep and wakes up
when the receiver is free and listening again
Broadcast packets are sent without RTS/CTS
Unicast packets follow the sequence of RTS/CTS/ DATA/ACK
between the sender and receiver
Overhearing Avoidance
Duration field in each transmitted packet indicates
how long the remaining transmission will be.
So if a node receives a packet destined to another
node, it knows how long it has to keep silent.
The node records this value in network allocation
vector (NAV) and set a timer.
When a node has data to send, it first looks at NAV.
If NAV is not zero, then
Medium is determined as free if both virtual and
physical carrier sense indicate the medium is free.
All immediate neighbors of both the sender and
receiver should sleep after they hear RTS or CTS
packet until the current transmission is over.
Message Passing
Transmitting a long message as a packet is
disadvantageous as the re-transmission cost is high
Fragmentation into small packets will lead to high
control overhead as each packet should contend
using RTS/CTS
Solution
Fragment message in to small packets and transmit
them as a burst
Advantages
Reduces latency of the message
Reduces control overhead
Disadvantage
Node-to-node fairness is reduced, as nodes with small
packets to send has to wait till the message burst is
transmitted
S-MAC Advantages
➢ Saving the power from being wasted by turning off
the radio out the allocated time slot.
➢ Limits the collision, idle listing, and overhearing
S-MAC Disadvantages
➢ Cost of increased messages
➢ Not flexible to changes in sensor density or movements.
➢ All sensors should be well synchronized.
➢ energy is still wasted during listen period as the sensor
will be awake even if there is no reception/transmission.
GRAB: Gradient Broadcast Field Based
Minimum Cost Forwarding
Each node broadcasts only once
Cost Function is a measure of how expensive it is
to get a message back to the sink.
Could be based on Energy needed in radio communication,
hop count, or other considerations
Node Cost
Each node keeps best estimate on its minimum cost.
Estimate updated upon receipt of every ADV message.
ADV message forwarding deferred for time proportional to
nodes cost estimate.
Achieves system robustness by relying on collective
efforts from multiple sensors without dependency on
any individual one.
A packet is forwarded over multiple paths, which
improves reliability.
The interleaving of such paths provides tolerance of
node failures or link errors along any individual path,
thus significantly increasing data delivery robustness
Since each receiver decides whether it should
forward a packet, the sender need not keep state
information about which neighbor to forward data.
The elimination of such explicit path state also
removes the overhead and complexity in repairing
paths for failed nodes or broken links; a packet simply
travels through whichever working nodes to reach
the sink.
Cost Calculation
Based on the topology.
The topology changes as nodes fail, exhaust energy,
or new nodes are deployed. The initially built cost
field thus becomes inaccurate.
The cost field should be refreshed on time to keep
the forwarding efficient.
Event-driven cost refreshing
The sink keeps a profile about the recent history of data
reports from the source. It includes the success ratio , the
average consumed budget, the average number of copies
received per packet for recent reports.
Once a new packet is received, the sink compares the
parameters of the packet to those in the past
If a parameter differs from its past by a certain threshold,
the sink broadcasts a new ADV packet to rebuild the cost
field. D
SPIN
SPIN : Sensor Protocols for
Information via Negotiation
• Negotiation
– Before transmitting data, nodes negotiate with each other to
overcome implosion and overlap
– Only useful information will be transferred
– Observed data must be described by meta-data
• Resource adaptation
– Each sensor node has resource manager
– Applications probe manager before transmitting or processing
data
– Sensors may reduce certain activities when energy is low
Motivation – Classic Flooding
• Source node sends data to all neighbors
• Receiving node stores and sends data to all its neighbors
• Requires no protocol state
• Disseminates data quickly
• Deficiencies
– Implosion
– Overlap
– Resource blindness
SPIN (cont.)-Implosion
Node
x x
The direction
of data sending
The connect B C
between nodes
x x
–Always sends data to a
neighbor, even it has already D
received the data from
another node
–Function of topology
46
SPIN (cont.)- Overlap
r
q s
Node
The direction
of data sending
The connect
between nodes
The searching A B
range of the
node
(q, r) (s, r)
–Nodes often cover overlapping areas
(e.g. temperature distr.)
–Function of topology and mapping of C
observed data 47
SPIN (cont.)- Resource blindness
In flooding, nodes do not modify their activities
based on the amount of energy available to them.
A network of embedded sensors can be resource-
aware and adapt its communication and
computation to the state of its energy resource.
48
Assumptions
• Sensor applications need to communicate about data
they have and data they need to obtain
– Exchanging sensor data is expensive, whereas
exchanging meta-data is not
• Nodes must monitor and adapt to changes in their
energy resources
– Extend lifetime of the system
Architecture – Meta-Data
• Completely describe the data
– Must be smaller than the actual data for SPIN to be beneficial
– If you need to distinguish pieces of data, their meta-data
should differ
• Meta-Data is application specific
– Sensors may use their geographic location or unique node ID
– Camera sensor may use coordinate and orientation
• Application must be able to interpret and synthesize its
own meta-data
Meta-Data
Data about data
Eg: Geographically disjoint sensors, may use their unique ID, say all data by sensor x
Target tracking – signal energy + geographical location
Sensors use meta-data to describe the sensor data briefly
Consider data X and data Y
If x is the meta-data descriptor for data X
sizeOf (x) < sizeOf (X)
If x<>y
sensor-data-of (x) <> sensor-data-of (y),
i.e X<>Y
If X<>Y
meta-data-of (X) <> meta-data-of (Y)
Meta-data format is application specific
SPIN Messages
• ADV – data advertisement
– Node that has data to share can ADV
advertise this by transmitting an
ADV with meta-data attached A B
• REQ – request for data
– Node sends a request when it REQ
wishes to receive some actual
data
A B
• DATA – data message
– Contains actual sensor data with DATA
a meta-data header A B
– Usually much bigger than ADV or
REQ messages
Resource Management
Sensors poll their system resources to find
available energy
They can also calculate cost of performing
computations
SPIN Family of Protocols
Point-to-Point Networks
– SPIN - PP
– SPIN - EC
Broadcast Networks
– SPIN - BC
– SPIN - RL
SPIN on Point-to-Point Networks
Linear cost with number of neighbors
SPIN-PP
– 3-stage handshake protocol
– Advantages
– Simple
– Minimal start-up cost
SPIN-EC
– SPIN-PP + low-energy threshold
– Modifies behavior based on current energy
resources
SPIN-PP:Example
I already have
the data, I don’t
need it / I’m
tired, I will
sleep…zzz
SPIN on Broadcast Networks
One transmission reaches all neighbors
SPIN-BC
– Same 3-stage handshake protocol as SPIN-BC
– Uses only broadcast communication
– Same transmission cost as unicast
– Coordination among nodes
– Broadcast message suppression
sensor-data-of (x) = sensor-data-of (y)
SPIN-RL
– SPIN-BC + Reliability
– Periodically re-broadcast ADVs and REQs
SPIN-BC: Example
DATA E
E
ADV
B
A
C D
D
REQ
ADV
Nodes with data
Nodes without data
Nodes waiting
to transmit REQ
Summary
• Solved implosion and overlap problem
• only local neighborhood information, thus well suited for mobile
sensors
• time performance: comparable to classic flooding
• energy performance: 25% energy of classic flooding, SPIN-2
distributes 60% more data per unit energy than flooding
• gossiping outperformed in both disciplines
• close to ideal dissemination
Open questions
• meta-data generated by application, when: generation, storage,
deletion
• more realistic wireless models for simulation
• take advantage of MAC-level broadcast
PSR – Route Discovery
➢ RREQ broadcast initiated by source
➢ Intermediate nodes can reply to RREQ from cache as in DSR
➢ If there is no cache entry, receiving a new RREQ an
intermediate node does the following:
➢ Starts a timer
➢ Keeps the path cost in the header as Min-cost
➢ Adds its own cost to the path cost in the header and
broadcast
➢ On receiving duplicate RREQ, an intermediate node re-
broadcasts it only if the following is true:
➢ The timer for that RREQ has not expired
➢ The new path cost in the header is less than Min-cost
PSR – Route Discovery (contd.)
Destination also waits for a threshold number (Tr) of
seconds after the first RREQ arrives
During that time, the destination examines the cost of
the route of every arrived RREQ packet
➢ When the timer (Tr) expires, It then replies to the best seen
path in that period and ignores others that come later
➢ The path cost is added to the reply and is cached by all nodes
that hear the reply
PSR – Route Discovery Illustration
Link Cost Calculation
All nodes (Except the destination node) calculate their link
cost, Cij and add it to the path cost in the header of the
RREQ packet (cf. equation 3). When an intermediate node
receives a RREQ packet, it starts a timer (Tr) and keeps the
cost in the header of that packet as Min-Cost.
If additional RREQs arrive with same destination and
sequence number, the cost of the newly arrived RREQ
packet is compared to the Min-Cost.
If the new packet has a lower cost, Min-Cost is changed to
this new value and the new RREQ packet is forwarded.
Otherwise, the new RREQ packet is dropped.
Route maintenance
Mobility: Connections between some nodes on the
path are lost due to their movement,
In the first case, a new RREQ is sent out and the entry
in the route cache corresponding to the node that has
moved out of range is purged.
Energy Depletion: The energy resources of some
nodes on the path may be depleting too quickly.
semi-global
local.
Semi-global Approach
The source node periodically polls the remaining
energy levels of all nodes in the path and purges the
corresponding entry in its route cache when the path
cost increases by a fixed percentage.
This results in very high overhead because it generates
extra traffic.
Local Approach
➢ Each intermediate node in the path monitors the
decrease in its remaining energy level and increase in
its link cost from the time of route discovery as a
result of forwarding packets along this route.
➢ When this link cost becomes more than a threshold
level, the node sends a route error back to the source
as if the route was rendered invalid.
➢ This route error message forces the source to initiate
route discovery again.
➢ This decision is only dependent on the remaining
battery capacity of the current node and hence is a
local decision.
PSR adopts the local approach because this approach
minimizes control traffic.
PSR Route Cache Invalidation
▪ Once the cost of a node has increased beyond the threshold
for a particular route, all cache entries to various
destinations are invalidated
▪ However if a path was newly added to the cache, the node
makes some allowance by lowering the threshold by some
normalized amount for forwarding packets only in that path
▪ Purge invalid route from cache after some time
▪ M. Maleki K. Dantu and M. Pedram,Power-aware Source Routing Protocol for Mobile Ad Hoc
Networks,, in Proc. Int. Symp. on Low Power Electronics and Design, 2002, pp 72-75
Event Driven Routing
Operating Environment
Large network of dense wireless nodes
Geographically cohesive events in the environment
No global coordinate system
A need to deliver packets to events
(query/configure/command)
Data Routing
Data is more important in a power starved data
centric network
So focuses on data routing instead of naming based
schemes
Previous techniques – query flooding, event flooding
Alternative Methods
Query flooding
Expensive for big query/event ratio
Allows for optimal reverse path setup
Gossiping scheme can be use to reduce overhead
Event Flooding
Expensive for low query/event ratio
GRAB provides an effective method for gradient
setup
Note :
Both of them provide shortest delay paths
Rumor Routing
Designed for query/event ratios between query and
event flooding
Motivation
Sometimes a non-optimal route is satisfactory
Advantages
Tunable best effort delivery
Tunable for a range of query/event ratios
Disadvantages
Optimal parameters depend heavily on topology (but can be
adaptively tuned)
Does not guarantee delivery
Rumor Routing
Basis for Algorithm
Observation: Two lines in a
bounded rectangle have a
69% chance of intersecting
Event
Create a set of straight line
gradients from event, then
send query along a random
straight line from source.
Thought: Can this bound be
proved for a random walk . Source
What is this bound if the
line is not really straight?
Creating Paths
Nodes having observed an
event send out agents
which leave routing info to
the event as state in nodes
Agents attempt to travel in
a straight line
If an agent crosses a path to
another event, it begins to
build the path to both
Agent also optimizes paths
if they find shorter ones.
Algorithm Basics
All nodes maintain a neighbor list.
Nodes also maintain a event table
When it observes an event, the event is added with
distance 0.
Agents
Packets that carry local event info across the network.
Aggregate events as they go.
Agents
Agent Path
Agent tries to travel in a “somewhat” straight path.
Maintains a list of recently seen nodes.
When it arrives at a node adds the node’s neighbors to
the list.
For the next tries to find a node not in the recently seen
list.
Avoids loops
-important to find a path regardless of “quality”
Following Paths
A query originates from source, and is forwarded
along until it reaches it’s TTL
Forwarding Rules:
If a node has seen the query before, it is sent to a
random neighbor
If a node has a route to the event, forward to neighbor
along the route
Otherwise, forward to random neighbor using
straightening algorithm
Energy Comparison
Rumor Routing (1000 queries)
Es + Q*(Eq + N*(1000-Qf)/1000)
Es = avg. energy to set up path
Eq = avg. energy to route a query
Qf = successful queries
Q queries are routed
Query Flooding
Q*N
Event Flooding
E*N
Dziękuję Wam
Miłego dnia