0% found this document useful (0 votes)
21 views82 pages

Wsnrouting10 2017

The document discusses energy efficient routing in wireless sensor networks (WSN). It describes how WSN routing protocols aim to minimize energy consumption by increasing sleep periods as much as possible. It also discusses challenges like the hidden/exposed terminal problem. Medium access control (MAC) protocols for WSNs are reviewed, including unscheduled protocols like PAMAS and scheduled protocols like S-MAC. S-MAC aims to reduce energy waste from collisions, overhearing, control overhead, and idle listening through techniques like periodic sleep cycles, synchronization between neighbors, and RTS/CTS for collision avoidance.

Uploaded by

Ritu Parna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views82 pages

Wsnrouting10 2017

The document discusses energy efficient routing in wireless sensor networks (WSN). It describes how WSN routing protocols aim to minimize energy consumption by increasing sleep periods as much as possible. It also discusses challenges like the hidden/exposed terminal problem. Medium access control (MAC) protocols for WSNs are reviewed, including unscheduled protocols like PAMAS and scheduled protocols like S-MAC. S-MAC aims to reduce energy waste from collisions, overhearing, control overhead, and idle listening through techniques like periodic sleep cycles, synchronization between neighbors, and RTS/CTS for collision avoidance.

Uploaded by

Ritu Parna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 82

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

You might also like