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. © Springer-Verlag Berlin Heidelberg 2006.
CITATION STYLE
Ajmani, S., Liskov, B., & Shrira, L. (2006). Modular software upgrades for distributed systems. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 4067 LNCS, pp. 452–476). Springer Verlag. https://doi.org/10.1007/11785477_26
Mendeley helps you to discover research relevant for your work.