Computer Science Department
School of Computer Science, Carnegie Mellon University


Upgrading Distributed Applications with
the Version Manager

Mukesh Agrawal, Suman Nath, Srinivasan Seshan

March 2005

Keywords: Distributed systems, upgrades

Developers and managers of distributed systems today face a difficult choice. To provide for the evolution of their systems, they can either require that the software running on all nodes is inter-operable, or they can shut down the entire system when an upgrade is required. The former complicates the life of system developers, while the latter annoys users. We propose Version Manager, a middle ground between these approaches: an upgrade framework that limits the the extent of support required for interoperability, while also providing availability during upgrades. We evaluate the feasibility of our approach by applying it to two existing distributed systems: the Cooperative File System, and IrisLog. Our proposal enables the upgrade of these systems while maintaining system availability, and without requiring code modifications.

19 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by