There is a growing need to support reliable data communications in sensor networks that are capable of supporting new applications, such as, assured delivery of high-priority events to sinks, reliable control and management of sensor networks, and remotely programming/retasking sensor nodes over-the-air. We present the design, implementation, and evaluation of pump slowly, fetch quickly (PSFQ), a simple, scalable, and robust transport protocol that is customizable to meet the needs of emerging reliable data applications in sensor networks. PSFQ represents a simple approach because it makes minimum assumptions about the underlying routing infrastructure, it is scalable and energy- efficient because it supports minimum signaling, thereby reducing the communication cost for data reliability, and importantly, it is robust because it is responsive to a wide range of operational error conditions found in sensor network, allowing for the successful operation of the protocol even under highly error-prone conditions. The key idea that underpins the design of PSFQ is to distribute data from a source node by pacing data at a relatively slow speed ("pump slowly"), but allowing nodes that experience data loss to fetch (i.e., recover) any missing segments from their local immediate neighbors aggressively ("fetch quickly"). We present the design and implementation of PSFQ, and evaluate the protocol using the ns-2 simulator and an experimental wireless sensor testbed based on Berkeley motes and the TinyOS operating system. We show that PSFQ can outperform existing related techniques and is highly responsive to the various error conditions experienced in sensor networks. The source code for PSFQ is freely available for experimentation.
['Chieh-Yih Wan', 'Andrew T. Campbell', 'Lakshman Krishnamurthy']
Pump-slowly, fetch-quickly (PSFQ): a reliable transport protocol for sensor networks