Optimizing Relocatable Code for Efficient Software Update in Networked Embedded Systems

Recent advances in Microelectronic Mechanical Systems (MEMS) and wireless communication technologies have fostered the rapid development of networked embedded systems like wireless sensor networks. System software for these self-organizing systems often needs to be updated for a variety of reasons. We present a holistic software update (i.e., reprogramming) system called R3 for networked embedded systems. R3 has two salient features. First, the binary differencing algorithm within R3 (R3diff) ensures an optimal result in terms of the delta size under a configurable cost measure. Second, the similarity preserving method within R3 (R3sim) optimizes the binary code format for achieving a large similarity with a small metadata overhead. Overall, R3 achieves the smallest delta size compared with other software update approaches such as Stream, Rsync, RMTD, Zephyr, Hermes, and R2 (e.g., 50%--99% reduction compared to Stream and about 20%--40% reduction compared to R2). R3’s implementation on TelosB/TinyOS is lightweight and efficient. We release our code at http://code.google.com/p/r3-dongw.

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

[2]  David Starobinski,et al.  Rateless Deluge: Over-the-Air Programming of Wireless Sensor Networks Using Random Linear Codes , 2008, 2008 International Conference on Information Processing in Sensor Networks (ipsn 2008).

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

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

[5]  Yunhao Liu,et al.  Link quality aware code dissemination in wireless sensor networks , 2011, 2011 19th IEEE International Conference on Network Protocols.

[6]  Wei Dong,et al.  A Lightweight and Density-Aware Reprogramming Protocol for Wireless Sensor Networks , 2011, IEEE Transactions on Mobile Computing.

[7]  Wei Dong,et al.  Exploiting Concurrency for Efficient Dissemination in Wireless Sensor Networks , 2013, IEEE Transactions on Parallel and Distributed Systems.

[8]  Adam Dunkels,et al.  Efficient Sensor Network Reprogramming through Compression of Executable Modules , 2008, 2008 5th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks.

[9]  Shaojie Tang,et al.  Canopy closure estimates with GreenOrbs: sustainable sensing in the forest , 2009, SenSys '09.

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

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

[12]  Michele Zorzi,et al.  SYNAPSE: A Network Reprogramming Protocol for Wireless Sensor Networks Using Fountain Codes , 2008, 2008 5th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks.

[13]  John R. Levine Linkers and Loaders , 1999 .

[14]  Prasun Sinha,et al.  Sprinkler: a reliable and energy efficient data dissemination service for wireless embedded devices , 2005, 26th IEEE International Real-Time Systems Symposium (RTSS'05).

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

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

[17]  Andreas Terzis,et al.  Koala: Ultra-Low Power Data Retrieval in Wireless Sensor Networks , 2008, 2008 International Conference on Information Processing in Sensor Networks (ipsn 2008).

[18]  Yi He,et al.  Reprogramming with Minimal Transferred Data on Wireless Sensor Network , 2009, 2009 IEEE 6th International Conference on Mobile Adhoc and Sensor Systems.

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

[20]  Yan Huang,et al.  Toward a Real and Remote Wireless Sensor Network Testbed , 2008, WASA.

[21]  Yunhao Liu,et al.  R2: Incremental Reprogramming Using Relocatable Code in Networked Embedded Systems , 2013, IEEE Transactions on Computers.

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

[23]  Margaret Martonosi,et al.  Data compression algorithms for energy-constrained devices in delay tolerant networks , 2006, SenSys '06.

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

[25]  Adam Dunkels,et al.  Run-time dynamic linking for reprogramming wireless sensor networks , 2006, SenSys '06.

[26]  S. Kim,et al.  Trio: enabling sustainable and scalable outdoor wireless sensor network deployments , 2006, 2006 5th International Conference on Information Processing in Sensor Networks.

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

[28]  Wei Dong,et al.  Enabling efficient reprogramming through reduction of executable modules in networked embedded systems , 2013, Ad Hoc Networks.

[29]  David E. Culler,et al.  Design of an application-cooperative management system for wireless sensor networks , 2005, Proceeedings of the Second European Workshop on Wireless Sensor Networks, 2005..

[30]  Saurabh Bagchi,et al.  Zephyr: efficient incremental reprogramming of sensor nodes using function call indirections and difference computation , 2009 .

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

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

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

[34]  Sanjeev Setia,et al.  CORD: Energy-Efficient Reliable Bulk Data Dissemination in Sensor Networks , 2008, IEEE INFOCOM 2008 - The 27th Conference on Computer Communications.

[35]  Yunhao Liu,et al.  R3: Optimizing relocatable code for efficient reprogramming in networked embedded systems , 2013, 2013 Proceedings IEEE INFOCOM.

[36]  Yunhao Liu,et al.  Elon: enabling efficient and long-term reprogramming for wireless sensor networks , 2010, SIGMETRICS '10.