Run-time dynamic linking for reprogramming wireless sensor networks

From experience with wireless sensor networks it has become apparent that dynamic reprogramming of the sensor nodes is a useful feature. The resource constraints in terms of energy, memory, and processing power make sensor network reprogramming a challenging task. Many different mechanisms for reprogramming sensor nodes have been developed ranging from full image replacement to virtual machines.We have implemented an in-situ run-time dynamic linker and loader that use the standard ELF object file format. We show that run-time dynamic linking is an effective method for reprogramming even resource constrained wireless sensor nodes. To evaluate our dynamic linking mechanism we have implemented an application-specific virtual machine and a Java virtual machine and compare the energy cost of the different linking and execution models. We measure the energy consumption and execution time overhead on real hardware to quantify the energy costs for dynamic linkin.Our results suggest that while in general the overhead of a virtual machine is high, a combination of native code and virtual machine code provide good energy efficiency. Dynamic run-time linking can be used to update the native code, even in heterogeneous networks.

[1]  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).

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

[3]  Deborah Estrin,et al.  Towards a debugging system for sensor networks , 2005, Int. J. Netw. Manag..

[4]  Robert Szewczyk,et al.  System architecture directions for networked sensors , 2000, ASPLOS IX.

[5]  John Anderson,et al.  Wireless sensor networks for habitat monitoring , 2002, WSNA '02.

[6]  Sasikanth Avancha,et al.  Security for Sensor Networks , 2004 .

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

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

[9]  Rimon Barr,et al.  Design and implementation of a single system image operating system for ad hoc networks , 2005, MobiSys '05.

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

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

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

[13]  Deborah Estrin,et al.  Embedded Every-where: A Research Agenda for Networked Systems of Embedded Computers , 2001 .

[14]  J.A. Gutierrez,et al.  IEEE 802.15.4: a developing standard for low-power low-cost wireless personal area networks , 2001, IEEE Network.

[15]  Matt Welsh,et al.  MoteLab: a wireless sensor network testbed , 2005, IPSN '05.

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

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

[18]  Matt Welsh,et al.  Programming Sensor Networks Using Abstract Regions , 2004, NSDI.

[19]  Matt Welsh,et al.  Using virtual markets to program global behavior in sensor networks , 2004, EW 11.

[20]  Michael Neufeld,et al.  ELF: an efficient log-structured flash file system for micro sensor nodes , 2004, SenSys '04.

[21]  Muneeb Ali,et al.  Protothreads: simplifying event-driven programming of memory-constrained embedded systems , 2006, SenSys '06.

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

[23]  David E. Culler,et al.  Telos: enabling ultra-low power wireless research , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

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

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

[26]  Jochen Schiller,et al.  Scatterweb - Low Power Nodes and Energy Aware Routing , 2005 .

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

[28]  Seung-Soon Im,et al.  Tool interface standard (TIS) executable and linking format (ELF) specification , 1995 .

[29]  Margaret Martonosi,et al.  Implementing software on resource-constrained mobile sensors: experiences with Impala and ZebraNet , 2004, MobiSys '04.

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

[31]  Guilio Ferrari,et al.  Programming Lego Mindstorms with Java with CD-ROM , 2002 .

[32]  Rolf Winter,et al.  ScatterWeb - Low Power Sensor Nodes and Energy Aware Routing , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

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