Lazy modular upgrades in persistent object stores

被引:13
作者
Boyapati, C [1 ]
Liskov, B [1 ]
Shrira, L [1 ]
Moh, CH [1 ]
Richman, S [1 ]
机构
[1] MIT, Comp Sci & Artificial Intelligence Lab, Cambridge, MA 02139 USA
关键词
software upgrades; presistent objects; ownership types;
D O I
10.1145/949343.949341
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 upgrade modularity conditions 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.
引用
收藏
页码:403 / 417
页数:15
相关论文
共 51 条
[1]  
ADYA A, 1995, ACM SIGMOD INT C MAN
[2]  
AGESEN O, 1997, OBJECT ORIENTED PROG
[3]  
ALDRICH J, 2002, OBJECT ORIENTED PROG
[4]  
ATKINSON MP, 1990, SIGMOD C MAY
[5]  
ATKINSON MP, 2000, PERSISTENT OBJECT SY
[6]  
ATKINSON MP, 1996, PERSISTENT OBJECT SY
[7]  
BANERJEE J, 1987, ACM SIGMOD INT C MAN
[8]  
BERTINO E, 1999, DYNAMIC WORLDS
[9]  
BOYAPATI C, 2003, PRINCIPLES PROGRAMMI
[10]  
BOYAPATI C, 2003, PROGRAMMING LANGUAGE