State Transfer for Clear and Efficient Runtime Upgrades. Christopher M. Hayden, Edward K. Smith, Michael Hicks, and Jeffrey S. Foster. In Proceedings of the Workshop on Hot Topics in Software Upgrades (HotSWUp), pages 179-184, April 2011.

Dynamic software updating (DSU), the practice of updating software while it executes, is a lively area of research. The DSU approach most prominent in both commercial and research systems is in-place updating, in which patches containing program modifications are loaded into a running process. However, in-place updating suffers from several problems: it requires complex tool support, it may adversely affect the performance of normal execution, it requires challenging reasoning to understand the behavior of an updated program, and it requires extra effort to modify program state to be compatible with an update.

This paper presents preliminary work investigating the potential for state transfer updating to address these problems. State transfer updates work by launching a new process running the updated program version and transferring program state from the running process to the updated version. In this paper, we describe the use and implementation of Ekiden, a new state transfer updating library for C/C++ programs. Ekiden seeks to redress the difficulties of in-place updating, and we report on our experience updating vsftpd using Ekiden. This initial experience suggests that state transfer provides the availability benefits of in-place DSU approaches while addressing many of their shortcomings.

[ .pdf ]

  TITLE = {State Transfer for Clear and Efficient Runtime Upgrades},
  AUTHOR = {Christopher M. Hayden and Edward K. Smith and Michael
    Hicks and Jeffrey S. Foster},
  BOOKTITLE = {Proceedings of the Workshop on Hot Topics in Software Upgrades (HotSWUp)},
  PAGES = {179--184},
  YEAR = 2011

This file has been generated by bibtex2html 1.69