Efficient incremental code update for sensor networks

Wireless reprogramming of sensor nodes is an essential requirement for long-lived networks since software functionality needs to be changed over time. During reprogramming, the number of radio transmissions should be minimized, since reprogramming time and energy depend chiefly on the number of radio transmissions. In this article, we present a multihop incremental reprogramming protocol called Zephyr that transfers the delta between old and new software versions, and lets the sensor nodes rebuild the new software using the received delta and the old software. Zephyr reduces the delta size by using application-level modifications to mitigate the effects of function shifts. Then it compares the two binary images at the byte level to generate a small delta, that is then sent over the wireless network to all the nodes. For the wide range of software change cases that we used as benchmarks, Zephyr transfers 1.83 to 1987 times less traffic through the network than Deluge (the standard nonincremental reprogramming protocol for TinyOS) and 1.14 to 49 times less traffic than an existing incremental reprogramming protocol by Jeong and Culler [2004].

[1]  Himabindu Pucha,et al.  Exploiting Similarity for Multi-Source Downloads Using File Handprints , 2007, NSDI.

[2]  Samuel P. Midkiff,et al.  Quicksilver: a quasi-static compiler for Java , 2000, OOPSLA '00.

[3]  Andrew Tridgell,et al.  Efficient Algorithms for Sorting and Synchronization , 1999 .

[4]  Issa M. Khalil,et al.  Single versus multi-hop wireless reprogramming in sensor networks , 2008, TRIDENTCOM.

[5]  Saurabh Bagchi,et al.  Single versus multi-hop wireless reprogramming in sensor networks , 2008 .

[6]  Saurabh Bagchi,et al.  Energy-efficient on-demand reprogramming of large-scale sensor networks , 2008, TOSN.

[7]  Saurabh Bagchi,et al.  Hermes: Fast and Energy Efficient Incremental Code Updates for Wireless Sensor Networks , 2009, IEEE INFOCOM 2009.

[8]  Mani B. Srivastava,et al.  A dynamic operating system for sensor nodes , 2005, MobiSys '05.

[9]  Jon Feldman,et al.  Growth codes: maximizing sensor network data persistence , 2006, SIGCOMM.

[10]  David E. Culler,et al.  Versatile low power media access for wireless sensor networks , 2004, SenSys '04.

[11]  Jon Feldman,et al.  Growth codes: maximizing sensor network data persistence , 2006, SIGCOMM 2006.

[12]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[13]  Issa M. Khalil,et al.  Stream: Low Overhead Wireless Reprogramming for Sensor Networks , 2007, IEEE INFOCOM 2007 - 26th IEEE International Conference on Computer Communications.

[14]  Grzegorz Czajkowski,et al.  Application isolation in the Java Virtual Machine , 2000, OOPSLA '00.

[15]  David E. Culler,et al.  Incremental network programming for wireless sensors , 2004, 2004 First Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks, 2004. IEEE SECON 2004..

[16]  Deborah Estrin,et al.  A Remote Code Update Mechanism for Wireless Sensor Networks , 2003 .

[17]  David Mazières,et al.  A low-bandwidth network file system , 2001, SOSP.

[18]  Philip Levis,et al.  Maté: a tiny virtual machine for sensor networks , 2002, ASPLOS X.

[19]  Koen Langendoen,et al.  Efficient code distribution in wireless sensor networks , 2003, WSNA '03.

[20]  Peter I. Corke,et al.  Darjeeling, a feature-rich VM for the resource poor , 2009, SenSys '09.

[21]  Pedro José Marrón,et al.  FlexCup: A Flexible and Efficient Code Update Mechanism for Sensor Networks , 2006, EWSN.

[22]  David E. Culler,et al.  Incremental network programming for wireless sensors , 2004, SECON.

[23]  Eric Anderson,et al.  X-MAC: a short preamble MAC protocol for duty-cycled wireless sensor networks , 2006, SenSys '06.

[24]  Eddie Kohler,et al.  SOS: A Dynamic Operating System for Sensor Networks , 2005 .

[25]  Limin Wang,et al.  MNP: Multihop Network Reprogramming Service for Sensor Networks , 2004, 25th IEEE International Conference on Distributed Computing Systems (ICDCS'05).

[26]  David E. Culler,et al.  Active sensor networks , 2005, NSDI.

[27]  David E. Culler,et al.  The dynamic behavior of a data dissemination protocol for network programming at scale , 2004, SenSys '04.

[28]  Amre El-Hoiydi,et al.  Low Power Downlink MAC Protocols for Infrastructure Wireless Sensor Networks , 2005, Mob. Networks Appl..

[29]  David E. Culler,et al.  TOSSIM: accurate and scalable simulation of entire TinyOS applications , 2003, SenSys '03.

[30]  Joel Koshy,et al.  Remote incremental linking for energy-efficient reprogramming of sensor networks , 2005, Proceeedings of the Second European Workshop on Wireless Sensor Networks, 2005..

[31]  John R. White,et al.  Linkers and Loaders , 1972, CSUR.

[32]  Ramesh Govindan,et al.  TOSThreads: thread-safe and non-invasive preemption in TinyOS , 2009, SenSys '09.

[33]  BagchiSaurabh,et al.  Efficient incremental code update for sensor networks , 2011 .

[34]  Joel Koshy,et al.  VMSTAR: synthesizing scalable runtime environments for sensor networks , 2005, SenSys '05.