Planning updates in multi-application wireless sensor networks

One of the arising issues in wireless sensor networks is running multiple applications to reduce deployment, administrative and management costs. In this paper we assume a sensor network in which nodes of a group have a set of same applications in their external flash memory that some of them are loaded and running. Occasionally, these applications should be updated for reasons that are manifold ranging from fixing software bugs to retasking. It is often that updates for a subset of applications happen at the same time, for example when a routing protocol shared among a subset of applications is changed. To bring the sensor nodes up to date with the new versions of the applications, existing strategies transfer the delta code, a smaller code obtained from the differential compression between the binary representations of the old and the new version of each application, and let the sensor nodes rebuild the new version from the received delta and the old version. We discuss that these strategies are blind to the order of updates when a set of updates occurs simultaneously. We introduce a heuristic planner that yields a sequence for a set of simultaneous updates, which minimizes the total delta size without adding overhead on the sensor nodes. We illustrate the efficiency of our planner on some TinyOS applications.

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

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

[3]  Qi Han,et al.  Virtual Sensor Networks - A Resource Efficient Approach for Concurrent Applications , 2007, Fourth International Conference on Information Technology (ITNG'07).

[4]  Edsger W. Dijkstra,et al.  A note on two problems in connexion with graphs , 1959, Numerische Mathematik.

[5]  Walter F. Tichy,et al.  Delta algorithms: an empirical analysis , 1998, TSEM.

[6]  Christopher Nitta,et al.  Y-Threads: Supporting Concurrency in Wireless Sensor Networks , 2006, DCOSS.

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

[8]  David Gay,et al.  Software design patterns for TinyOS , 2005, LCTES '05.

[9]  Cecilia Mascolo,et al.  Selective Reprogramming of Mobile Sensor Networks through Social Community Detection , 2010, EWSN.

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

[11]  Chenyang Lu,et al.  Rapid Development and Flexible Deployment of Adaptive Wireless Sensor Network Applications , 2005, 25th IEEE International Conference on Distributed Computing Systems (ICDCS'05).

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

[13]  Mani B. Srivastava,et al.  Design and implementation of a framework for efficient and programmable sensor networks , 2003, MobiSys '03.

[14]  Joshua P. MacDonald,et al.  File System Support for Delta Compression , 2000 .

[15]  Nigamanth Sridhar,et al.  Abstractions for safe concurrent programming in networked embedded systems , 2006, SenSys '06.

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

[17]  Jeffrey C. Mogul,et al.  The VCDIFF Generic Differencing and Compression Data Format , 2002, RFC.

[18]  David E. Culler,et al.  Software design patterns for TinyOS , 2007, TECS.

[19]  Weijia Li,et al.  MCP: An Energy-Efficient Code Distribution Protocol for Multi-Application WSNs , 2009, DCOSS.

[20]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI.

[21]  Tanveer A. Zia,et al.  Running multi-sequence applications in wireless sensor networks , 2009, MoMM.

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

[23]  Yang Yu,et al.  Supporting concurrent applications in wireless sensor networks , 2006, SenSys '06.

[24]  Colin Percival Naı̈ve Differences of Executable Code , 2003 .

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

[26]  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..

[27]  Torsten Suel,et al.  zdelta: An efficient delta compression tool , 2002 .

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

[29]  Alejandro P. Buchmann,et al.  Towards multi-purpose wireless sensor networks , 2005, 2005 Systems Communications (ICW'05, ICHSN'05, ICMCS'05, SENET'05).

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