Lazy modular upgrades in persistent object stores
- 26 October 2003
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 38 (11) , 403-417
- https://doi.org/10.1145/949305.949341
Abstract
Persistent object stores require a way to automatically upgrade persistent objects, to change their code and storage representation. Automatic upgrades are a challenge for such systems. Upgrades must be performed in a way that is efficient both in space and time, and that does not stop application access to the store. In addition, however, the approach must be modular: it must allow programmers to reason locally about the correctness of their upgrades similar to the way they would reason about regular code. This paper provides solutions to both problems.The paper first defines that any upgrade system must satisfy to support local reasoning about upgrades. The paper then describes a new approach for executing upgrades efficiently while satisfying the upgrade modularity conditions. The approach exploits object encapsulation properties in a novel way. The paper also describes a prototype implementation and shows that our upgrade system imposes only a small overhead on application performance.Keywords
This publication has 27 references indexed in Scilit:
- Alias annotations for program understandingPublished by Association for Computing Machinery (ACM) ,2002
- Ownership types for safe programmingPublished by Association for Computing Machinery (ACM) ,2002
- Dynamic software updatingPublished by Association for Computing Machinery (ACM) ,2001
- Consistent schema version removal: an optimization technique for object-oriented viewsIEEE Transactions on Knowledge and Data Engineering, 2000
- Ownership types for flexible alias protectionPublished by Association for Computing Machinery (ACM) ,1998
- HACPublished by Association for Computing Machinery (ACM) ,1997
- The story of O/sub 2/IEEE Transactions on Knowledge and Data Engineering, 1990
- The Object-Oriented Database System ManifestoPublished by Elsevier ,1990
- Polymorphic effect systemsPublished by Association for Computing Machinery (ACM) ,1988
- Abstraction mechanisms in CLUCommunications of the ACM, 1977