Automatic Software Upgrades for Distributed Systems

Upgrading the software of long-lived, highly-available distributedsystems is difficult. It is not possible to upgrade all the nodes in asystem at once, since some nodes may be unavailable and halting thesystem for an upgrade is unacceptable. Instead, upgrades must happengradually, and there may be...

Full description

Bibliographic Details
Main Authors: Ajmani, Sameer, Liskov, Barbara, Shrira, Liuba, Curtis, Dorothy
Other Authors: Programming Methodology
Language:en_US
Published: 2005
Online Access:http://hdl.handle.net/1721.1/30572
_version_ 1811079383813718016
author Ajmani, Sameer
Liskov, Barbara
Shrira, Liuba
Curtis, Dorothy
author2 Programming Methodology
author_facet Programming Methodology
Ajmani, Sameer
Liskov, Barbara
Shrira, Liuba
Curtis, Dorothy
author_sort Ajmani, Sameer
collection MIT
description Upgrading the software of long-lived, highly-available distributedsystems is difficult. It is not possible to upgrade all the nodes in asystem at once, since some nodes may be unavailable and halting thesystem for an upgrade is unacceptable. Instead, upgrades must happengradually, and there may be long periods of time when different nodesrun different software versions and need to communicate usingincompatible protocols. We present a methodology and infrastructurethat make it possible to upgrade distributed systems automatically whilelimiting service disruption. We introduce new ways to reason aboutcorrectness in a multi-version system. We also describe a prototypeimplementation that supports automatic upgrades with modest overhead.
first_indexed 2024-09-23T11:14:09Z
id mit-1721.1/30572
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T11:14:09Z
publishDate 2005
record_format dspace
spelling mit-1721.1/305722019-04-12T08:26:33Z Automatic Software Upgrades for Distributed Systems Ajmani, Sameer Liskov, Barbara Shrira, Liuba Curtis, Dorothy Programming Methodology Upgrading the software of long-lived, highly-available distributedsystems is difficult. It is not possible to upgrade all the nodes in asystem at once, since some nodes may be unavailable and halting thesystem for an upgrade is unacceptable. Instead, upgrades must happengradually, and there may be long periods of time when different nodesrun different software versions and need to communicate usingincompatible protocols. We present a methodology and infrastructurethat make it possible to upgrade distributed systems automatically whilelimiting service disruption. We introduce new ways to reason aboutcorrectness in a multi-version system. We also describe a prototypeimplementation that supports automatic upgrades with modest overhead. 2005-12-22T02:37:15Z 2005-12-22T02:37:15Z 2005-10-06 MIT-CSAIL-TR-2005-062 MIT-LCS-TR-1005 http://hdl.handle.net/1721.1/30572 en_US Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory 14 p. 26794595 bytes 1207166 bytes application/postscript application/pdf application/postscript application/pdf
spellingShingle Ajmani, Sameer
Liskov, Barbara
Shrira, Liuba
Curtis, Dorothy
Automatic Software Upgrades for Distributed Systems
title Automatic Software Upgrades for Distributed Systems
title_full Automatic Software Upgrades for Distributed Systems
title_fullStr Automatic Software Upgrades for Distributed Systems
title_full_unstemmed Automatic Software Upgrades for Distributed Systems
title_short Automatic Software Upgrades for Distributed Systems
title_sort automatic software upgrades for distributed systems
url http://hdl.handle.net/1721.1/30572
work_keys_str_mv AT ajmanisameer automaticsoftwareupgradesfordistributedsystems
AT liskovbarbara automaticsoftwareupgradesfordistributedsystems
AT shriraliuba automaticsoftwareupgradesfordistributedsystems
AT curtisdorothy automaticsoftwareupgradesfordistributedsystems