A framework of customizing transactions in persistent object management for advanced applications

In the new applications that support user cooperation using the power of distributed computers, users' processes in distributed hosts often share large data structures containing nested structure and pointers that often indicate persistent objects. Transactions usually manage concurrent accesses to shared persistent objects in such applications. Although various types of transaction schemes have been proposed for supporting cooperative applications, no single scheme provides efficient and appropriate semantics for all applications. We propose a system with a customizable framework for persistent object management. We classify transaction semantics into two major layers, the external transaction semantics, which manages relations between transactions, and the internal transaction semantics, which manages sharing among tasks within a transaction. The external transaction semantics is described according to the ACTA framework, a theoretical framework that is proposed for specifying the structure and behavior of transactions. We apply the ACTA framework to actual implementation of our transaction system, by mapping the ACTA's object sets into versioned object tables. The internal transaction semantics is described through distributed shared memory protocols. Versioned objects connect two layers into an integrated persistent object system.<<ETX>>

[1]  Calton Pu,et al.  Split-Transactions for Open-Ended Activities , 1988, VLDB.

[2]  Won Kim,et al.  Object-Oriented Concepts, Databases, and Applications , 1989 .

[3]  Alan Dearle,et al.  Supporting Large Persistent Stores using Conventional Hardware , 1992, POS.

[4]  Won Kim,et al.  A Model of CAD Transactions , 1985, VLDB.

[5]  Hector Garcia-Molina,et al.  Using semantic knowledge for transaction processing in a distributed database , 1983, TODS.

[6]  Gail E. Kaiser,et al.  Concurrency control in advanced database applications , 1991, CSUR.

[7]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

[8]  Willy Zwaenepoel,et al.  Implementation and performance of Munin , 1991, SOSP '91.

[9]  John K. Ousterhout,et al.  Tcl: An Embeddable Command Language , 1989, USENIX Winter.

[10]  Patrick Valduriez,et al.  Distributed Object Management , 1993 .

[11]  Panos K. Chrysanthis,et al.  ACTA: a framework for specifying and reasoning about transaction structure and behavior , 1990, SIGMOD '90.

[12]  Gail E. Kaiser,et al.  A flexible transaction model for software engineering , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[13]  Stanley B. Zdonik,et al.  Concurrency Control and Object-Oriented Databases , 1989, Object-Oriented Concepts, Databases, and Applications.

[14]  Robert J. Fowler,et al.  Adaptive cache coherency for detecting migratory shared data , 1993, ISCA '93.

[15]  P. R. Wilson,et al.  Operating system support for small objects , 1991, Proceedings 1991 International Workshop on Object Orientation in Operating Systems.