Persistent Memory: A Storage Architecture for Object-Oriented Database Systems

Object-oriented databases are needed to support database objects with a wide variety of types and structures. A persistent memory system provides a storage architecture for long-term, reliable retention of objects with rich types and structures in the virtual memory itself. It is based on a uniform memory abstraction, which eliminates the distinction between transient objects (data structures) and persistent objects (files and databases), and therefore, allows the same set of powerful and flexible operations to be applied with equal efficiency on both transient and persistent objects from a programming language such as Lisp or Prolog. Because no separate file system is assumed for long-term, reliable storage of objects, the system requires a crash recovery scheme at the level of the virtual memory, which is a major contribution of the paper. It is expected that the persistent memory system will lead to significant simplifications in implementing applications such as object-oriented databases.

[1]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[2]  Gerald J. Sussman,et al.  Structure and interpretation of computer programs , 1985, Proceedings of the IEEE.

[3]  Peter Boehler Bishop,et al.  Computer systems with a very large address space and garbage collection , 1977 .

[4]  Yogen K. Dalal,et al.  The clearinghouse: a decentralized agent for locating named objects in a distributed environment , 1983, TOIS.

[5]  Nathaniel William Mishkin Managing permanent objects , 1984 .

[6]  Ronald Morrison,et al.  Persistent object management system , 1984, Softw. Pract. Exp..

[7]  Raymond A. Lorie,et al.  Physical integrity in a large segmented database , 1977, TODS.

[8]  David M. McKeown,et al.  Digital Cartography and Photo Interpretation from a Database Viewpoint , 1984, ICOD-2 Workshop on New Applications of Data Bases.

[9]  David A. Moon,et al.  Garbage collection in a large LISP system , 1984, LFP '84.

[10]  Jerome H. Saltzer Naming and Binding of Objects , 1978, Advanced Course: Operating Systems.

[11]  Tom Kilburn,et al.  One-Level Storage System , 1962, IRE Trans. Electron. Comput..

[12]  Andreas Reuter A Fast Transaction-Oriented Logging Scheme for Undo Ro overy , 1980, IEEE Transactions on Software Engineering.

[13]  Timothy J. McEntee Overview of garbage collection in symbolic computing , 1987, LIPO.

[14]  Kevin C. Kahn,et al.  The iMAX-432 object filing system , 1981, SOSP.

[15]  Irving L. Traiger Virtual memory management for database systems , 1982, OPSR.

[16]  Christopher F. Herot Spatial Management Of Data , 1979, Fifth International Conference on Very Large Data Bases, 1979..

[17]  Nancy H. McDonald,et al.  Video graphic query facility database design , 1981, SIGSMALL '81.

[18]  Ronald Morrison,et al.  An Approach to Persistent Programming , 1989, Comput. J..

[19]  Robert C. Daley,et al.  The multics virtual memory , 1969, SOSP '69.

[20]  Fred J. Maryanski,et al.  Enhancing Knowledge Representation in Engineering Databases , 1985, Computer.