Upgrading Distributed Applications with the Version Manager

Abstract : 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 interoperable, 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. The authors propose Version Manager, a middle ground between these approaches. Version Manager is an upgrade framework that limits the extent of support required for interoperability, while also providing availability during upgrades. They evaluate the feasibility of their approach by applying it to two existing distributed systems: the Cooperative File System and IRISLOG. Their proposal enables the upgrade of these systems while maintaining system availability, and without requiring code modifications.

[1]  Marianne Shaw,et al.  Scale and performance in the Denali isolation kernel , 2002, OSDI '02.

[2]  David Wetherall,et al.  Active network vision and reality: lessions from a capsule-based system , 1999, SOSP.

[3]  Robert Tappan Morris,et al.  Ivy: a read/write peer-to-peer file system , 2002, OSDI '02.

[4]  Larry L. Peterson,et al.  Sophia: an Information Plane for networked systems , 2004, Comput. Commun. Rev..

[5]  David R. Karger,et al.  Wide-area cooperative storage with CFS , 2001, SOSP.

[6]  Srinivasan Seshan,et al.  Cache-and-query for wide area sensor databases , 2003, SIGMOD '03.

[7]  David E. Culler,et al.  The ganglia distributed monitoring system: design, implementation, and experience , 2004, Parallel Comput..

[8]  David Wetherall,et al.  Active network vision and reality: lessons from a capsule-based system , 2002, Proceedings DARPA Active Networks Conference and Exposition.

[9]  Jacob Stein,et al.  Class modification in the GemStone object-oriented DBMS , 1987, OOPSLA '87.

[10]  A. Nico Habermann,et al.  Beyond schema evolution to database reorganization , 1990, OOPSLA/ECOOP '90.

[11]  DruschelPeter,et al.  Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility , 2001 .

[12]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

[13]  Timothy Roscoe,et al.  A Simple Common Sensor Interface for PlanetLab , 2003 .

[14]  Malcolm P. Atkinson,et al.  Scalable and Recoverable Implementation of Object Evolution for the PJama1 Platform , 2000, POS.

[15]  Antony I. T. Rowstron,et al.  Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility , 2001, SOSP.

[16]  Jeff Dike,et al.  A user-mode port of the Linux kernel , 2000, Annual Linux Showcase & Conference.

[17]  Josh Cates,et al.  Robust and efficient data management for a distributed hash table , 2003 .

[18]  Chun Zhang,et al.  Storing and querying ordered XML using a relational database system , 2002, SIGMOD '02.

[19]  Mark Handley,et al.  A scalable content-addressable network , 2001, SIGCOMM '01.

[20]  David A. Patterson,et al.  Undo for Operators: Building an Undoable E-mail Store , 2003, USENIX Annual Technical Conference, General Track.

[21]  Jay Banerjee,et al.  Semantics and implementation of schema evolution in object-oriented databases , 1987, SIGMOD '87.

[22]  Liuba Shrira,et al.  Lazy modular upgrades in persistent object stores , 2003, OOPSLA '03.