Advertisement

Persistent Memory: A Storage System for Object-Oriented Databases

Chapter
Part of the Topics in Information Systems book series (TINF)

Abstract

Object-oriented databases are needed to support database objects with a wide variety of types and structures. Object-oriented techniques, such as abstraction and inheritance mechanisms, which are widely used in symbolic processing, can be very useful in object-oriented databases. The advent of automatically managed, garbage-collected virtual memory was crucial to the development of today’s symbolic processing. No analogous capability has yet been developed in the domain of persistent objects managed by a file or database system. A persistent memory provides a storage system for long-term, reliable retention of objects with rich types and structures in virtual memory itself. 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 virtual memory, which is a major contribution of the paper.

The persistent memory system 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. A persistent object manager implemented on top of the persistent memory manages named persistent objects with rich structure. It is expected that the persistent memory system will lead to significant simplifications in implementing applications such as object-oriented databases.

Keywords

Garbage Collection Virtual Memory Page Fault Dirty Page System Crash 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [ABLN85]
    Almes, G.T., Black, A.P., Lazowska, E.D., Noe, J.D.: “The Eden system: a technical review”, IEEE Trans. on Software Eng., SE-11 (1), pp. 43–59, January 1985.CrossRefGoogle Scholar
  2. [AbSu85]
    Abelson, H., Sussman, G.J.: “Structure and Interpretation of Computer Programs”, MIT Press, Cambridge, MA, 1985.Google Scholar
  3. [Atki83]
    Atkinson, M.P., Bailey, P.J., Chisholm, K.J., Cockshott, P.W., Morrison, R.: “An Approach to Persistent Programming”, The Computer Journal, Vol. 26, No. 4, pp. 360–365, December 1983.zbMATHGoogle Scholar
  4. [Atki84]
    Atkinson, M.P., Bailey, P.J., Cockshott, W.P., Chisholm, K.J., Morrison, R.: “Progress with Persistent Programming”, Technical Report ROR-8–84, Department of Computer Science, University of Edinburgh, Edinburgh, Scotland, February 1984.Google Scholar
  5. [BeCD69]
    Bensoussan, A., Clingen, C.T., Daley, R.C.: “The MULTICS Virtual Memory”, In: Proc. 2nd Symp. Operating Systems Principles, Princeton University, pp. 30–42, October 1969.Google Scholar
  6. [Bish77]
    Bishop, P.B.: “Computer Systems with a Very Large Address Space and Garbage Collection”, Technical Report TR-178, Laboratory for Computer Science, Cambridge, MA, May 1977.Google Scholar
  7. [Butl86]
    Butler, M.H.: “An Approach to Persistent LISP Objects”, In: Proc. COMPCON, IEEE, San Francisco, CA, pp. 324–329, March 1986.Google Scholar
  8. [Cock84]
    Cockshott, W., Atkinson, M., Chisholm, K., Bailey, P., Morrison, R.: “Persistent Object Management System”, Software Practice and Experience, 14, pp. 49–71, 1984.CrossRefGoogle Scholar
  9. [EGLT76]
    Eswaran, K.P., Gray, J.N., Lorie, R.A., Traiger, I.L.: “The Notions of Consistency and Predicate Locks in a Database System”, CACM, 19 (11), pp. 624–633, November 1976.zbMATHMathSciNetGoogle Scholar
  10. [HaMa85]
    Hartzband, D.J., Maryanski, F.J.: “Enhancing Knowledge Representation in Engineering Databases”, Computer, Vol. 18, No. 9, pp. 39–48, September 1985.CrossRefGoogle Scholar
  11. [Hero80]
    Herot, C.F.: “SDMS: Towards Spatial Data Management System”, ACM TODS, Vol. 5, No. 4, pp. 493–514, April 1980.CrossRefGoogle Scholar
  12. [IBM80]
    IBM General Systems Division: IBM System/38 Technical Developments, Technical Report G580–0237–1, IBM, July 1980.Google Scholar
  13. [Ki1b62]
    Jensen, K., Wirth, N.: Pascal: User Manual and Report, Springer-Verlag, New York, 1975.zbMATHGoogle Scholar
  14. [Lamp81]
    Lampson, B.W.: “Atomic Transactions”, In: Lampson, B.W., Paul, M., Siegert, H.J., (Eds.), Distributed Systems, chapter 11, Springer Verlag, New York, NY, 1981.Google Scholar
  15. [Loch86]
    Lochovsky, F., (Ed.): Database Engineering, Vol. 8, No. 4, Special Issue on Object-Oriented Systems, 1986.Google Scholar
  16. [Lori77]
    Lode, R.A.: “Physical Integrity in a Large Segmented Database”, ACM TODS, Vol. 2, No. 1, pp. 91–104, March 1977.CrossRefGoogle Scholar
  17. [McEn86]
    McEntee, T.J.: “An Overview of Garbage Collection in Symbolic Computing”, Texas Instruments Engineering Journal, 3 (1), pp. 130–139, January 1986.Google Scholar
  18. [McKe84]
    McKewon, D.M.: “Digital Cartography and Photo Interpretation from a Database Viewpoint”, In: Gardarin, G., Gelenbe, E., (Eds.), New Applications for Data Bases, Academic Press, pp. 19–42, 1984.Google Scholar
  19. [McMc81]
    McDonald, N., McNally, P.J.: “VGQF: Video Graphics Query Facility Database Design”, In: Proc. ACM-SIGMOD/SIGSMALL Workshop, pp. 96–101, 1981.Google Scholar
  20. [Mish84]
    Mishkin, N.: “Managing Permanent Objects”, Technical Report YALEU/DCS/RR-338, Department of Computer Science, Yale University, New Haven, CT, November 1984.Google Scholar
  21. [Moon84]
    Moon, D.A.: “Garbage Collection in a Large Lisp System”, In: Proc. 1984 ACM Symp. Lisp and Functional Programming, pp. 235–246, August 1984.Google Scholar
  22. [Myer82]
    Myers, G.J.: “Advances in Computer Architecture”, Wiley-Interscience, New York, NY, 2nd edition, 1982.zbMATHGoogle Scholar
  23. [Nier85a]
    Nierstrasz, O.M., “Hybrid: A Unified Object-Oriented System”, IEEE Database Engineering, Vol. 8, No. 4, pp. 49–57, December 1985.Google Scholar
  24. [OpDa81]
    Oppen, D.C., Dalai, Y.K.: “The Clearinghouse: A Decentralized Agent for Locating Named Objects in a Distributed Environment”, Technical Report OPD-T8103, Systems Development Department, Xerox Corporation, Palo Alto, CA, October 1981.Google Scholar
  25. [PoKW81]
    Pollack, F.J., Kahn, K.C., Wilkinson, R.M.: “The iMAX-432 Object Filing System”, In: Proc. 8th ACM Symp. Operating Systems Principles–ACM SIGOPS Operating Systems Review, ACM SIGOPS, Pacific Grove, CA, pp. 137–147, December 1981.Google Scholar
  26. [Reut80]
    Reuter, A.: “A fast Transaction-Oriented Logging Scheme for UNDO Recovery”, IEEE Trans. Software Eng., SE-6 (4), pp. 348–356, July 1980.Google Scholar
  27. [Sa1t78]
    Requicha, A., Voelcker, H.: “Solid Modeling: Current Status and Research Directions”, Computer Graphics and Applications, IEEE, October 1983.Google Scholar
  28. [StGu84]
    Stonebraker, M., Guttman, A.: “Using a Relational Database Management System for Computer Aided Design Data–an Update”, IEEE Database Engineering, Vol. 7, No. 2, pp. 56–60, June 1984.Google Scholar
  29. [Ston8lb]
    Stonebraker, M.R., Hanson, E., Hong, C.H.: “The Design of the POSTGRES Rules System”, IEEE Conference on Data Engineering, Los Angeles, CA, February 1987.Google Scholar
  30. [Texa85a]
    Texas Instruments Incorporated, Data Systems Group: EXPLORER Programming Concepts and Tools, Part No. 2243130–0001, May 1985.Google Scholar
  31. [Texa85b]
    Texas Instruments Incorporated, Data Systems Group: EXPLORER Technical Summary, Part No. 2243189–0001, May 985.Google Scholar
  32. [That85]
    Thatte, S.M.: “Persistent Memory for Symbolic Computers”, Technical Report TR–08–85–21, Central Research Laboratories, Texas Instruments Incorporated, Dallas, TX, July 1985.Google Scholar
  33. [That86]
    Thatte, S.M.: “Persistent Memory: Merging AI-knowledge and Databases”, Texas Instruments Engineering Journal, 3 (1), pp. 151–159, January 1986.Google Scholar
  34. [Trai82]
    Traiger, I.L.: “Virtual Memory Management for Database Systems”, ACM Operating System Review, 16, pp. 26–48, October 1982.CrossRefGoogle Scholar
  35. [Weis85]
    Weisner, S.P.: “An Object-Oriented Protocol for Managing Data”, Database Engineering, 8: 4, December 1985.Google Scholar
  36. [Xero83]
    Xerox Corporation: Xerox Interslip Reference Manual, October 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

There are no affiliations available

Personalised recommendations