Modular Software Upgrades for Distributed Systems

Download: ps, pdf .

“Modular Software Upgrades for Distributed Systems” by Sameer Ajmani, Barbara Liskov, and Liuba Shrira. In European Conference on Object-Oriented Programming (ECOOP), July 2006.


Upgrading the software of long-lived, highly-available distributed systems is difficult. It is not possible to upgrade all the nodes in a system at once, since some nodes may be unavailable and halting the system for an upgrade is unacceptable. Instead, upgrades must happen gradually, and there may be long periods of time when different nodes run different software versions and need to communicate using incompatible protocols. We present a methodology and infrastructure that make it possible to upgrade distributed systems automatically while limiting service disruption. We introduce new ways to reason about correctness in a multi-version system. We also describe a prototype implementation that supports automatic upgrades with modest overhead.

Download: ps, pdf .

BibTeX entry:

   author = {Sameer Ajmani and Barbara Liskov and Liuba Shrira},
   title = {Modular Software Upgrades for Distributed Systems},
   booktitle = {European Conference on Object-Oriented Programming (ECOOP)},
   month = jul,
   year = {2006}

Back to Automatic Software Upgrades.

Programming Methodology Group