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.