skip to main content
article

Feedback linking: optimizing object code layout for updates

Published:14 June 2006Publication History
Skip Abstract Section

Abstract

Firmware over the air (FOTA) is becoming a standard procedure for maintaining and updating wireless embedded systems. To cope with bandwidth and storage constraints this is facilitated using incremental updates based on delta technology, i.e. only the modifications are transmitted. The performance of a FOTA update is highly dependent on the size of the delta, and the type of modifications. Application of a delta update involves mutating the present version, byte by byte, into the new version. The problem is that even the smallest change in the source code may cause almost every single memory position to be affected, and thus requiring the complete memory to be rewritten. This has two implications: First, the time spent updating memory becomes unnecessary long. Secondly, and much worse, since a large part of the system is affected, the system is not functional during application.This paper introduces the concept of a feedback linker, which uses the object code layout of the previous version, when building a new version. The feedback linker maximizes the similarities between two versions allowing for smaller update packages and faster upgrades. The feedback linker is described in terms of an optimization procedure, an prototype test bed and a set of experimental results.

References

  1. IAR Systems AB. IAR Embedded Workbench for ARM. http://www.iar.com.Google ScholarGoogle Scholar
  2. Bitfone. FOTA takes flight. http://www.bitfone.com, 2006.Google ScholarGoogle Scholar
  3. Brenda S. Baker, Udi Manber and Robert Muth. Compressing differences of executable code. In ACM SIGPLAN Workshop on Compiler Support for System Software (WCSS), pages 1--10, 1999.Google ScholarGoogle Scholar
  4. David Seal (ed.). ARM Architecture Reference Manual. Addison-Wesley, second edition, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. R. Garey, R. L. Graham, and J. D. Ullman. Worst-case analysis of memory allocation algorithms. In STOC '72: Proceedings of the fourth annual ACM symposium on Theory of computing, pages 143--150, New York, NY, USA, 1972. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. U.I. Gupta, D.T. Lee, and J Y-T Leung. Efficient algorithms for interval graphs and circular-arc graphs. Networks, 12(4):459--467, 1982.Google ScholarGoogle ScholarCross RefCross Ref
  7. Innopath. Innopath firmware manager. http://www.innopath.com, 2006.Google ScholarGoogle Scholar
  8. Intel. Intel flash memory documentation. http://www.intel.com/design/flash/datashts/.Google ScholarGoogle Scholar
  9. John R. Levine. Linkers and Loaders. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. MacDonald. Versioned file archiving, compression, and distribution. http://www.cs.berkeley.edu/~jmacd/, 1999.Google ScholarGoogle Scholar
  11. Micron. NOR flash memory. http://www.micron.com/products/nor/.Google ScholarGoogle Scholar
  12. mpg123. http://sourceforge.net/projects/mpg123.Google ScholarGoogle Scholar
  13. Colin Percival. Naive differences of executable code. http://www.daemonology.net/bsdiff/.Google ScholarGoogle Scholar
  14. Larry Stockmeyer Randall Burns and Darrel D.E. Long. In-place reconstruction of version differences. IEEE Transaction on Knowledge and Data Engineering, 15(4):973--984, July/August 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Red Bend Software. Addressing the challenges of updating software and firmware on mobile phones over the air. http://www.redbend.com, 2005.Google ScholarGoogle Scholar

Index Terms

  1. Feedback linking: optimizing object code layout for updates

              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 SIGPLAN Notices
                ACM SIGPLAN Notices  Volume 41, Issue 7
                Proceedings of the 2006 LCTES Conference
                July 2006
                208 pages
                ISSN:0362-1340
                EISSN:1558-1160
                DOI:10.1145/1159974
                Issue’s Table of Contents
                • cover image ACM Conferences
                  LCTES '06: Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
                  June 2006
                  220 pages
                  ISBN:159593362X
                  DOI:10.1145/1134650

                Copyright © 2006 ACM

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 14 June 2006

                Check for updates

                Qualifiers

                • article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!