Transport Layer Issues for Ad hoc WSN

advertisement
Transport Layer Issues for
Ad hoc WSN
Ideas for Today and Tomorrow
Faisal Karim Shaikh
DEEDS, TU Darmstadt, Germany
fkarim@deeds.informatik.tu-darmstadt.de
Vision Statement

DEEDS
Reliable and Robust bi-directional (sink to sensors
and sensors to sink) transport protocol for Ad-hoc
Wireless Sensor Networks
To the knowledge …



Up to this point Reliability and Robustness has
been ignored;
Possible reason:
-- WSN is low-cost;
-- Not necessary (due to redundant data)
-- and also difficult.
But …

We require reliability …


DEEDS
Disaster Recovery
Military Applications etc
Focus

To achieve reliability



Reliable Transport Layer
No packet loss
Bi-directional Reliability
Figure from Akyildiz et al, “Wireless Sensor Networks: A Survey”, Computer Networks, 38(4):393-422, 2002.
DEEDS
Is it challenging ?


Limitations of sensor nodes
Application specific requirements
Objectives





DEEDS
Reliable Transport
Flow Control
Congestion Control
Self Configuration
Energy Awareness
Types of data



DEEDS
Single Packet
Block of packets
Stream of Packets
Today’s Situation
Downstream Reliability: from Sink to Sensors

Reliability semantics are different




DEEDS
100% (on cost of scarce resources?)
PSFQ (Block of packets data)
MOAP (Block of packets data)
GARUDA (Block of packets data) (Single Packet)
Pump Slowly, Fetch Quickly (PSFQ)
 pace the data from a source node at a relatively low speed
 to allow intermediate nodes to fetch missing data segments from their
neighbors,
Assumption: no congestion, losses due only to poor link quality
 hop-by-hop recovery
Goals
•
•
•
•
•
Recover from losses locally.
Ensure data delivery with minimum support from transport infrastructure
Minimize signaling overhead for detection/recovery operations
Operate correctly in poor link quality environments
Provide loose delay bounds for data delivery to all intended receivers
Three basic operations: pump, fetch, and report
Alternate between multi-hop forwarding when low error rates and store-and-forward when error rates are higher.
DEEDS
PSFQ
PUMP OPERATION
If not duplicate and in-order and TTL not 0
Cache and Schedule for Forwarding at time t (Tmin< t < Tmax)
1
2
1
t
Tmin
Tmax
1
Tmin
Tmax
DEEDS
1
PSFQ
FETCH MODE (Recovery from Errors)
1
3
2
4
1
1
2
1
2 lost
3
Recover 2
2
2
2
3
3
DEEDS
PSFQ
Fetch Quickly
1
2
1
1
2
2 lost
3
Recover 2
Tr
Tr
2
Tmin
Tmax
DEEDS
2
PFSQ
REPORT
 Used to provide feedback data of delivery status to source nodes
 To minimize the number of messages, the protocol is designed so that a report
message travels back from a target node to the source nodes intermediate nodes
can also piggyback their report messages in an aggregated manner
Simulation and experimental evaluation
 When compared to a previously proposed similar protocol (Scalable Reliable
Multicast) the simulation results show that the PFSQ protocol has a better
performance in terms of error tolerance, communications overhead, and
delivery latency
 The experimental results were obtained by using the TinyOS platform on
RENE motes. The performance results were much poorer than the simulation
results. The discrepancy is attributed to the simulation experiment being
unable to accurately model the wireless channel and the computational
demands on the sensor node processor
DEEDS
PSFQ - Conclusions






DEEDS
Light weight and energy efficient
Simple mechanism
Scalable and robust
Need to be tested for high bandwidth applications
Cache size limitation
Does not address congestion control
GARUDA



It incorporates an efficient pulsing based solution, which informs the
sensor nodes about an impending reliable short-message delivery by
transmitting a specific series of pulses at a certain amplitude and
period.
A virtual infrastructure called the core that approximates a near optimal
assignment of local designated servers is instantaneously constructed
during the course of a single packet flood.
In case of a packet loss detected by a core node via an out-of-sequence
packet reception, a core node initiates a two-stage NAK based packet
recovery process that performs out-of-sequence forwarding to assure
the reliable delivery of the original message.
DEEDS
GARUDA

Packet forwarding


Loss detection


NACK to avoid ACK implosion
Loss recovery

DEEDS
Out-of-sequence forwarding for better spatial reuse
Local, designated scheme to decrease contention with
packet forwarding
GARUDA
WFP (Wait-for-First-Packet) pulses






Used only for first packet reliability
Short duration pulses
Single radio
Advertisement of incoming packet
Negative ACK
Simple energy detection
Different types of WFP

Forced pulses

Carrier sensing pulses

Piggybacked pulses
DEEDS
GARUDA



DEEDS
A sink sends WFP pulses periodically
Before it sends the first packet
For a deterministic period
A sensor sends WFP pulses periodically
After it receives WFP pulses
Until it receives the first packet
WFP merits
Prevents ACK implosion with small overhead
Addresses the single or all packet lost problem
Less energy consumption
Robust to wireless errors or contentions
GARUDA

Core Construction


Two phase Loss Recovery

DEEDS
Distributed MDS
A-map
GARUDA
GARUDA also supports other reliability
semantics that might be required for
sink-to-sensors communication such as



DEEDS
reliable delivery to all nodes within a
sub-region of the sensor network;
reliable delivery to minimal number of
sensors required to cover entire
sensing area; and
reliable delivery to a probabilistic subset
of the sensor nodes in the network.
GARUDA
DEEDS
MOAP: Overview




DEEDS
Code distribution mechanism specifically targeted
for Mica2 motes
Full binary updates
Multi-hop operation achieved through recursive
single-hop broadcasts
Energy and memory efficient
MOAP
Ripple Dissemination






Transfer data neighborhood-by-neighborhood (Ripple)
Single-hop

Recursively extended to multi-hop
Very few sources at each neighborhood

Preferably, only one
Receivers attempt to become sources when they have the entire image

Publish-subscribe interface prevents nodes from becoming sources if another
source is present

Leverage the broadcast medium
If data transmission is in progress, a source will always be one hop away!

Allows local repairs
Increased latency
DEEDS
MOAP
Reliability Mechanism

Loss responsibility lies on receiver


NACK-based


Only one node to keep track of (sender)
In line with IP multicast and WSN reliability schemes
Local scope

No need to route NACKs


DEEDS
Energy and complexity savings
All nodes will eventually have the same image
MOAP
Retransmission Policies

DEEDS
Unicast RREQ, single reply
 Smallest probability of successful reception
 Highest efficiency
 Simple
 Complexity increases if source fails
 Zero latency
 High latency if source fails
MOAP
Segment Management

Sliding window




DEEDS
Bitmap of up to w segments kept in RAM
Starting point: last segment received in order
RAM lookup
Limited out-of-order tolerance!
MOAP
Current Mote implementation









DEEDS
Using Ripple-sliding window with unicast retransmission policy
User builds code on the PC

Packetizer creates segments out of binary
Mote attached to PC becomes original source and sends PUBLISH message

Receivers 1 hop away will subscribe, if version number is greater than their own
When a receiver gets the full image, it will send a PUBLISH message

If it doesn’t receive any subscriptions for some time, it will COMMIT the new code
and invoke the bootloader

If a subscription is received, node becomes a source
Eventually, sources will also commit
Retransmissions have higher priority than data packets

Duplicate requests are suppressed
Nodes keep track of their sources’ activity with a keepalive timer

Solves NACK ‘last packet’ problem

If the source dies, the keepalive expiration will trigger a broadcast repair request
Late joiner mechanism allows motes that have just recovered from failure to participate in
code transfer

Requires all nodes to periodically advertise their version
Footprint

700 bytes RAM

4.5K bytes ROM
MOAP: Conclusion




DEEDS
Full binary updates over multiple hops
Ripple dissemination reduces energy consumption
significantly
Sliding window method and unicast retransmission
policy also reduce energy consumption and
complexity
Successful updates of images up to 30K in size
Today’s Situation
Upstream Reliability: from sensors to Sink

New notion




DEEDS
Event to Sink
RMST (Block of packets data)
CODA
ESRT (Streaming data)
Reliable Multi-Segment Transport (RMST)
End-to-end data-packet transfer reliability
 Each RMST node caches the packets
 When a packet is not received before the socalled WATCHDOG timer expires, a NAK is sent
backward
 The first RMST node that has the required packet
along the path retransmits the packet
In-network caching brings significant overhead in
terms of power and processing
Relies on Directed Diffusion Scheme

Sink
RMST Node
Source Node
DEEDS
RMST: Overview

A transport layer protocol



Uses diffusion for routing
Selective NACK-based
Provides

Guaranteed delivery of all fragments


DEEDS
In-order delivery not guaranteed
Fragmentation/reassembly
RMST
Placement of reliability for data transport

RMST considers 3 layers




DEEDS
MAC
Transport
Application
Focus is on MAC and Transport
RMST
MAC Layer Choices

No ARQ





ARQ always





All transmissions are unicast
RTS/CTS and ACKs used
One-to-many communication done via multiple unicasts
Benefits: packets traveling on established paths have high probability of delivery
Selective ARQ



DEEDS
All transmissions are broadcast
No RTS/CTS or ACK
Reliability deferred to upper layers
Benefits: no control overhead, no erroneous path selection
Use broadcast for one-to-many and unicast for one-to-one
Data and control packets traveling on established paths are unicast
Route discovery uses broadcast
RMST
Transport Layer Choices

End-to-End Selective Request NACK



Hop-by-Hop Selective Request NACK




DEEDS
Loss detection happens only at sinks (endpoints)
Repair requests travel on reverse (multihop) path from sinks to
sources
Each node along the path caches data
Loss detection happens at each node along the path
Repair requests sent to immediate neighbors
If data isn’t found in the caches, NACKs are forwarded to next hop
towards source
RMST
Application Layer Choices

End-to-End Positive ACK




DEEDS
Sink requests a large data entity
Source fragments data
Sink keeps sending interests until all fragments have
been received
Used only as a baseline
RMST details

Implemented as a Diffusion Filter

Takes advantage of Diffusion mechanisms for



Adds



Fragmentation/reassembly management
Guaranteed delivery
Receivers responsible for fragment retransmission


DEEDS
Routing
Path recovery and repair
Receivers aren’t necessarily end points
Caching or non-caching mode determines classification of node
RMST Details (cont’d)

NACKs triggered by

Sequence number gaps


Transmission timeouts


‘Last fragment’ problem
NACKs propagate from sinks to sources



DEEDS
Watchdog timer inspects fragment map periodically for holes that
have aged for too long
Unicast transmission
NACK is forwarded only if segment not found in local cache
Back-channel required to deliver NACKs to upstream neighbors
RMST: Conclusion

ARQ helps with unicast control and data packets


Route discovery packets shouldn’t use ARQ


In high error-rate environments, routes cannot be established
without ARQ
Erroneous path selection can occur
RMST combines a NACK-based transport layer protocol
with S-ARQ to achieve the best results
DEEDS
Congestion Detection and Avoidance (CODA)
CODA mainly aims to detect and avoids CONGESTION on the forward path via







DEEDS
receiver-based congestion detection,
open-loop hop-by-hop backpressure
signaling to inform the source about the congestion,
closed-loop multi-source regulation for persistent and larger-scale congestion
conditions.
Simulation results show that CODA can increase the network performance
by congestion avoidance.
However, the CODA protocol does not address the reliable event transport in
the sensor networks.
On the contrary, it has been observed in the experiments that the congestion
control performed at the sensor nodes without considering the reliability
impairs the end-to-end reliability.
Congestion Detection and Avoidance (CODA)


Energy efficient congestion control scheme
Three mechanisms are involved



DEEDS
Congestion Detection
Open-loop hop-by-hop backpressure
Closed-loop multi-source regulation
CODA
Congestion Detection

Accurate and efficient congestion detection is
important



DEEDS
Buffer queue length or Buffer occupancy – not a good
measure of the congestion.
Channel loading – sample channel at appropriate time
to detect congestion.
Report rate/Fidelity measurement – slow, observed
over a longer period
CODA
Open-Loop Hop-by-Hop Backpressure
1
2
3
4
Congestion detected
5
2
DEEDS
CODA
Closed Loop Multi-Source Regulation
1
2
1,2,3
Regulate
bit is set
ACK
4,5,6
Congestion
detected
7,8
ACK
DEEDS
CODA Performance – Cost Metrics


Average Energy Tax =
Total Packets dropped in sensor NW /
Total Packets received at Sink
Average Fidelity Penalty =
Measures difference between average number of packets delivered
at a sink using CODA and using ideal congestion scheme
Conclusion


DEEDS
CODA is a energy efficient protocol
Can deal with Persistent and Transient Hotspots
Event-to-Sink Reliable Transport (ESRT)
 In a typical sensor network application the sink node is only interested in the
collective information of the sensor nodes within the region of an event and not in
any individual sensor data
 What is needed is a measure of the accuracy of the information received at the
sink, i.e. and event-to-sink reliability
DEEDS
ESRT
 The basic assumption is that the sink does all the reliability evaluation using
parameters that are application dependent
 One such parameter is the decision time interval τ
 At the end of the decision interval the sink derives a reliability indicator ri based on
the reports received from the sensor nodes
 ri is the number of packets received in the decision interval
 If R is the number of packets required for reliable event detection then
ri > R is needed for reliable event detection
 There is no need to identify individual sensor nodes but instead there is the need to
have an event ID
 The reporting rate, f, of a sensor node is the number of packets sent out per unit
time by that node
 The ESRT protocol aims to dynamically adjust the reporting rate to achieve the
required detection reliability R at the sink
DEEDS
ESRT
r versus f based on simulation results
n = number of source nodes
for f > fmax the reliability
drops because of network
congestion
DEEDS
ESRT – Protocol Overview
 The algorithms mainly run on the sink
 Sensor nodes:
 Listen to sink broadcasts and update their reporting rates accordingly
 Have a simple congestion detection mechanism and report to the sink
 The sink:
 Computes a normalized reliability measure ηi = ri /R
 Updates f based on ηi and if f > fmax or < fmax in order to achieve the
desired reliability
 Performs congestion decisions based on feedback reports from the source
nodes
 Congestion detection:
 Uses local buffer level monitoring in sensor nodes
 When a routing buffer overflows the node informs the sink by setting the
congestion notification bit in the header packets traveling downstream
DEEDS
ESRT – Network States
Optimal Operating Region
(Congestion, High reliability)
(No congestion, High reliability)
(Congestion, Low reliability)
(No congestion, Low reliability)
DEEDS
ESRT – Frequency Update
State
(NC, LR)
f update
f i 1 
(NC, HR)
f i 1 
(C, HR)
(C, LR)
OOR
DEEDS
fi
2
f i 1 
Action
Multiplicative increase f to achieve
required reliability as soon as possible
fi
i

1
1  
 i 
fi
i
fi 1  fi(i
fi 1  fi
k)
Decrease f conservatively, reduce
energy consumption and not lose
reliability
Aggressively decrease f to relieve
congestion as soon as possible
Exponential decrease. k is the number
of successive decision intervals spent in
state (C, LR)
Unchanged
ESRT – Summary and Conclusions
 Sensor networks are more interested in event to sink reliability than on
individual end-to-end reliability
 The congestion control mechanism results in energy savings
 Analytical performance evaluation and simulation results show that the system
converges to the state OOR regardless of the initial state
 This self configuration property of the protocol is very valuable for random and
dynamic topologies
 Issues still to be addressed are:
 Extension to handle concurrent multiple events
 Development of a bi-directional reliable protocol that includes the sink-tosensor transport
DEEDS
How Did We Get Here?
Protocol
Error
Recovery
Reliability
Direction
Congestion
Ctrl
MAC/Routing
Requirement
Sim
OS
Purpose
Metrics
PSFQ
h-h
sink to
sensors
--
Broadcast
ns2
tos
compare
SRM
ratio/overhead/
latency
avg delivery
GARUDA
h-h/e-e
sink to
sensors
--
Broadcast
ns2
--
loss
recovery
Latency/energy
consumption
MOAP
h-h
sink to
sensors
--
broadcast/
uni-cast
Em
Star
tos
Code
Updates
Latency/energy
consumption
RMST
h-h/e-e
event to sink
--
DF
ns2
--
evaluate
tradeoffs
total bytes
ESRT
--
collective
event to sink
event report
frequency
CSMA/CA
ns2
--
parameter
tuning
convergence to
OOR
CODA
--
collective
event to sink
event report
frequency
CSMA
ns2
tos
parameter
tuning
energy tax
fidelity penalty
h-h = hop by hop
e-e = end to end
DF = Directed Diffusion
tos = Tiny OS
DEEDS
OVERALL VIEW

Wireless TCP variants are NOT suitable for WSN
(resource constraints – power, storage, computational complexity, data rates)



DEEDS
Different notion of end-to-end reliability
Huge buffering requirements
ACKing is energy draining
What we looking for





DEEDS
Clusters ?
Address reliable transport of concurrent multiple events in the sensor field
Explore possible reliability metrics
Develop unified transport layer protocols for bi-directional reliable transport in
WSN
Integration of WSN domain into Internet

Adaptive Transport Protocols for WSN-Ad Hoc environments
References






DEEDS
C.-Y. Wan, A. T. Campbell, “PSFQ: A reliable transport protocol for wireless sensor
networks,” In Proceedings of ACM WSNA’ 02, Sep. 28, 2002, Atlanta, USA.
F. Stann and J. Heidemann, “RMST: Reliable Data Transport in Sensor Networks,” In
Proc. IEEE SNPA’03, May 2003, Anchorage, Alaska, USA
Y. Sankarasubramaniam, O. B. Akan, and I. F. Akyidiz, “ESRT: Event-to-sink reliable
transport in wireless sensor networks,” In Proceedings of ACM Mobihoc’ 03, June 1-3,
2003, Annapolis, USA.
Thanos Stathopoulos et al, "A Remote Code Update Mechanism for Wireless Sensor
Networks". Technical Report CENS-TR-30, University of California, Los Angeles, Center
for Embedded Networked Computing, November 2003.
C.-Y. Wan, S. B. Eisenman, and A. T. Campbell, “CODA: Congestion
Detection and Avoidance in Sensor Networks,” in Proc. ACM SENSYS 2003, November
2003.
S. J. Park, R.Vedantham, R. Sivakumar and I. F. Akyildiz, A Scalable “Approach for
Reliable Downstream Data Delivery (GARUDA),” ACM MobiHoc’04 Conference, Japan,
June 2004.
Download