Advanced Search
DSpace@MIT

Automatic software upgrades for distributed systems

Research and Teaching Output of the MIT Community

Show simple item record

dc.contributor.advisor Barbara H. Liskov. en_US
dc.contributor.author Ajmani, Sameer, 1976- en_US
dc.contributor.other Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. en_US
dc.date.accessioned 2005-09-27T17:57:25Z
dc.date.available 2005-09-27T17:57:25Z
dc.date.copyright 2004 en_US
dc.date.issued 2004 en_US
dc.identifier.uri http://hdl.handle.net/1721.1/28717
dc.description Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2004. en_US
dc.description Includes bibliographical references (p. 156-164). en_US
dc.description.abstract 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 may happen gradually, and there may be long periods of time when different nodes are running different software versions and need to communicate using incompatible protocols. We present a methodology and infrastructure that address these challenges and make it possible to upgrade distributed systems automatically while limiting service disruption. Our methodology defines how to enable nodes to interoperate across versions, how to preserve the state of a system across upgrades, and how to schedule an upgrade so as to limit service disrup- tion. The approach is modular: defining an upgrade requires understanding only the new software and the version it replaces. The upgrade infrastructure is a generic platform for distributing and installing software while enabling nodes to interoperate across versions. The infrastructure requires no access to the system source code and is transparent: node software is unaware that different versions even exist. We have implemented a prototype of the infrastructure called Upstart that intercepts socket communication using a dynamically-linked C++ library. Experiments show that Upstart has low overhead and works well for both local-area-and Internet systems. en_US
dc.description.statementofresponsibility by Sameer Ajmani. en_US
dc.format.extent 164 p. en_US
dc.format.extent 7066936 bytes
dc.format.extent 7087368 bytes
dc.format.mimetype application/pdf
dc.format.mimetype application/pdf
dc.language.iso en_US
dc.publisher Massachusetts Institute of Technology en_US
dc.rights M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission. en_US
dc.rights.uri http://dspace.mit.edu/handle/1721.1/7582
dc.subject Electrical Engineering and Computer Science. en_US
dc.title Automatic software upgrades for distributed systems en_US
dc.type Thesis en_US
dc.description.degree Ph.D. en_US
dc.contributor.department Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. en_US
dc.identifier.oclc 59553756 en_US


Files in this item

Name Size Format Description
59553756-MIT.pdf 7.657Mb PDF Full printable version

This item appears in the following Collection(s)

Show simple item record

MIT-Mirage