skip to main content
research-article

Optimizing Relocatable Code for Efficient Software Update in Networked Embedded Systems

Authors Info & Claims
Published:29 July 2014Publication History
Skip Abstract Section

Abstract

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.

References

  1. Wei Dong, Chun Chen, Jiajun Bu, and Chao Huang. 2013. Enabling efficient reprogramming through reduction of executable modules in networked embedded systems. Ad Hoc Networks 11, 1 (2013), 473--489. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Wei Dong, Chun Chen, Xue Liu, Jiajun Bu, and Yi Gao. 2011. A lightweight and density-aware reprogramming protocol for wireless sensor networks. IEEE Transactions on Mobile Computing 10, 10 (2011), 1403--1415. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Wei Dong, Yunhao Liu, Chun Chen, Jiajun Bu, Chao Huang, and Zhiwei Zhao. 2013. R2: Incremental reprogramming using relocatable code in networked embedded systems. IEEE Transactions on Computers 62, 9 (2013), 1837--1849. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Wei Dong, Yunhao Liu, Chao Wang, Xue Liu, Chun Chen, and Jiajun Bu. 2011. Link quality aware code dissemination in wireless sensor networks. In Proceedings of IEEE ICNP. 89--98. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Wei Dong, Yunhao Liu, Xiaofan Wu, Lin Gu, and Chun Chen. 2010. Elon: Enabling efficient and long-term reprogramming for wireless sensor networks. In Proceedings of ACM SIGMETRICS. 49--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Wei Dong, Biyuan Mo, Chao Huang, Yunhao Liu, and Chun Chen. 2013. R3: Optimizing relocatable code for efficient reprogramming in networked embedded systems. In Proceedings of IEEE INFOCOM. 315--319.Google ScholarGoogle ScholarCross RefCross Ref
  7. Adam Dunkels, Niclas Finne, Joakim Eriksson, and Thiemo Voigt. 2006. Run-time dynamic linking for reprogramming wireless sensor networks. In Proceedings of ACM SenSys. 15--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Adam Dunkels, Björn Grönvall, and Thiemo Voigt. 2004. Contiki—a lightweight and flexible operating system for tiny networked sensors. In Proceedings of IEEE EmNets. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Yi Gao, Jiajun Bu, Wei Dong, Chun Chen, Lei Rao, and Xue Liu. 2013. Exploiting concurrency for efficient dissemination in wireless sensor networks. IEEE Transactions on Parallel and Distributed Systems 24, 4 (2013), 691--700. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Andrew Hagedorn, David Starobinski, and Ari Trachtenberg. 2008. Rateless Deluge: Over-the-air programming of wireless sensor networks using random linear codes. In Proceedings of ACM/IEEE IPSN. 457--466. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Chih-Chieh Han, Ram Kumar, Roy Shea, Eddie Kohler, and Mani Srivastava. 2005. A dynamic operating system for sensor nodes. In Proceedings of ACM MobiSys. 163--176. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Jingtong Hu, Chun Jason Xue, and Yi He. 2009. Reprogramming with minimal transferred data on wireless sensor network. In Proceedings of IEEE MASS. 160--167.Google ScholarGoogle ScholarCross RefCross Ref
  13. Leijun Huang and Sanjeev Setia. 2008. CORD: Energy-efficient reliable bulk data dissemination in sensor networks. In Proceedings of IEEE INFOCOM. 574--582.Google ScholarGoogle ScholarCross RefCross Ref
  14. Jonathan W. Hui and David Culler. 2004. The dynamic behavior of a data dissemination protocol for network programming at scale. In Proceedings of ACM SenSys. 81--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jaein Jeong and David Culler. 2004. Incremental network programming for wireless sensors. In Proceedings of IEEE SECON. 25--33.Google ScholarGoogle ScholarCross RefCross Ref
  16. Joel Koshy and Raju Pandey. 2005a. Remote incremental linking for energy-efficient reprogramming of Sensor Networks. In Proceedings of EWSN. 354--365.Google ScholarGoogle ScholarCross RefCross Ref
  17. Joel Koshy and Raju Pandey. 2005b. VM*: Synthesizing scalable runtime environments for sensor networks. In Proceedings of ACM SenSys. 243--254. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Sandeep S. Kulkarni and Limin Wang. 2005. MNP: Multihop network reprogramming service for sensor networks. In Proceedings of IEEE ICDCS. 7--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. John R. Levine. 2000. Linkers and Loaders. Morgan Kaufmann. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Philip Levis and David Culler. 2002. Maté: A tiny virtual machine for sensor networks. In Proceedings of ACM ASPLOS. 85--95. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Philip Levis, Neil Patel, David Culler, and Scott Shenker. 2004. Trickle: A self-regulating algorithm for code propagation and maintenance in wireless sensor networks. In Proceedings of USENIX NSDI. 15--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Liang, Chieh-Jan Mike, and Andreas Terzis. 2008. Koala: Ultra-low power data retrieval in wireless sensor networks. In Proceedings of ACM/IEEE IPSN. 421--432. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Pedro José Marrón, Matthias Gauger, Andreas Lachenmann, Daniel Minder, Olga Saukh, and Kurt Rothermel. 2006. FlexCup: A flexible and efficient code update mechanism for sensor networks. In Proceedings of EWSN. 212--227. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Lufeng Mo, Yuan He, Yunhao Liu, Jizhong Zhao, Shaojie Tang, Xiang-Yang Li, and Guojun Dai. 2009. Canopy closure estimates with GreenOrbs: Sustainable sensing in the forest. In Proceedings of ACM SenSys. 99--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Vinayak Naik, Anish Arora, Prasun Sinha, and Hongwei Zhang. 2005. Sprinkler: A reliable and energy efficient data dissemination service for wireless embedded devices. In Proceedings of IEEE RTSS. 277--286. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Rajesh K. Panta and Saurabh Bagchi. 2009. Hermes: Fast and energy efficient incremental code updates for wireless sensor networks. In Proceedings of IEEE INFOCOM. 639--647.Google ScholarGoogle Scholar
  27. Rajesh Krishna Panta, Saurabh Bagchi, and Samuel P. Midkiff. 2009. Zephyr: Efficient incremental reprogramming of sensor nodes using function call indirections and difference computation. In Proceedings of USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Rajesh Krishna Panta, Issa Khalil, and Saurabh Bagchi. 2007. Stream: Low overhead wireless reprogramming for sensor networks. In Proceedings of IEEE INFOCOM. 928--936.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Joseph Polastre, Robert Szewczyk, and David Culler. 2005. Telos: Enabling ultra-low power wireless research. In Proceedings of ACM/IEEE IPSN. 364--369. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Dutta Prabal, Hui Jonathan, Jeong Jaein, Kim Sukun, Sharp Cory, Taneja Jay, Tolle Gilman, Whitehouse Kamin, and Culler David. 2006. Trio: Enabling sustainable and scalable outdoor wireless sensor network deployments. In Proceedings of ACM/IEEE IPSN. 407--415. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Michele Rossi, Giovanni Zanca, Luca Stabellini, Riccardo Crepaldi, Albert F. Harris III, and Michele Zorzi. 2008. SYNAPSE: A network reprogramming protocol for wireless sensor networks using Fountain codes. In Proceedings of IEEE SECON. 188--196.Google ScholarGoogle ScholarCross RefCross Ref
  32. C. Sadler and M. Martonosi. 2006. Data compression algorithms for energy-constrained devices in delay tolerant networks. In Proceedings of ACM SenSys. 265--278. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Chen Shu, Huang Yan, and Chengyang Zhang. 2008. Toward a real and remote wireless sensor network testbed. In Proceedings of International Conference on Wireless Algorithms, Systems, and Applications (WASA). 385--396. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. TIS Committee. 1995. Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification Version 1.2. Retrieved from http://refspecs.freestandards.org/elf/elf.pdf.Google ScholarGoogle Scholar
  35. Gilman Tolle and David Culler. 2005. Design of an application-cooperative management system for wireless sensor networks. In Proceedings of EWSN. 121--132.Google ScholarGoogle ScholarCross RefCross Ref
  36. Nicolas Tsiftes, Adam Dunkels, and Thiemo Voigt. 2008. Efficient sensor network reprogramming through compression of executable modules. In Proceedings of IEEE SECON. 359--367.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Optimizing Relocatable Code for Efficient Software Update in Networked Embedded Systems

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM Transactions on Sensor Networks
            ACM Transactions on Sensor Networks  Volume 11, Issue 2
            February 2015
            563 pages
            ISSN:1550-4859
            EISSN:1550-4867
            DOI:10.1145/2656931
            • Editor:
            • Chenyang Lu
            Issue’s Table of Contents

            Copyright © 2014 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 29 July 2014
            • Accepted: 11 February 2014
            • Revised: 29 October 2013
            • Received: 27 June 2013
            Published in tosn Volume 11, Issue 2

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Research
            • Refereed

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader