An object-oriented extensible transaction management system
Lun Xiao
Abstract
Lun Xiao
Abstract
Transaction management systems provide fault-tolerance to applications. A transaction system built directly on an operating system will benefit more applications. To satisfy the growing diversity of the needs presented by advanced applications, new concurrency control and recovery mechanisms have been proposed, and new correctness criteria have been presented. Transaction systems should support these new mechanisms. To facilitate the design, construction and use of these transaction systems, they should fit into a general and extensible model. Traditionally, a transaction system supports some fixed transaction models. These systems are not flexible to accommodate new transaction models. This thesis defines an extensible transaction model and shows that an extensible and customizable transaction system based on the model can be built using an object-oriented framework. The extensible transaction model consists of transactions and transaction managers. A transaction may have a type and there may be dependencies between transactions. A transaction system that implements this transaction model allows transaction managers with different concurrency control mechanisms to run simultaneously in the system. This will cause the interoperability problem. This thesis presents a solution to this problem based on the theory of commitment ordering. With additional application information, the solution can be further improved to reduce the rate of transaction abortion. The extensible transaction system is decomposed into four major components with each being represented by a subframework. The Transaction subframework represents transaction system interfaces for different levels of users. The TransactionManager subframework represents transaction managers for different transaction models. The ConcurrencyControlManager subframework implements various concurrency control mechanisms and the TransactionCoordinator subframework implements algorithms for the interoperability problem. All these subframeworks have been extended to show that application requirements can be satisfied by customizing one or more subframeworks. Another design consideration of the transaction system is to separate interface from implementation so that the transaction system is reconfigurable. To accomplish this design goal, the ConfigurationCoordinator class is implemented as a mapping between transaction interfaces and transaction managers. After introducing the problems of current transaction systems, defining terminology and surveying related work, this thesis presents an extensible transaction model, defines and describes solutions to the interoperability problem, discusses how the extensible transaction system can be built and shows how subframeworks are extended and customized.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Transaction management systems provide fault-tolerance to applications. A transaction system built directly on an operating system will benefit more applications. To satisfy the growing diversity of the needs presented by advanced applications, new concurrency control and recovery mechanisms have been proposed, and new correctness criteria have been presented. Transaction systems should support these new mechanisms. To facilitate the design, construction and use of these transaction systems, they should fit into a general and extensible model. Traditionally, a transaction system supports some fixed transaction models. These systems are not flexible to accommodate new transaction models. This thesis defines an extensible transaction model and shows that an extensible and customizable transaction system based on the model can be built using an object-oriented framework. The extensible transaction model consists of transactions and transaction managers. A transaction may have a type and there may be dependencies between transactions. A transaction system that implements this transaction model allows transaction managers with different concurrency control mechanisms to run simultaneously in the system. This will cause the interoperability problem. This thesis presents a solution to this problem based on the theory of commitment ordering. With additional application information, the solution can be further improved to reduce the rate of transaction abortion. The extensible transaction system is decomposed into four major components with each being represented by a subframework. The Transaction subframework represents transaction system interfaces for different levels of users. The TransactionManager subframework represents transaction managers for different transaction models. The ConcurrencyControlManager subframework implements various concurrency control mechanisms and the TransactionCoordinator subframework implements algorithms for the interoperability problem. All these subframeworks have been extended to show that application requirements can be satisfied by customizing one or more subframeworks. Another design consideration of the transaction system is to separate interface from implementation so that the transaction system is reconfigurable. To accomplish this design goal, the ConfigurationCoordinator class is implemented as a mapping between transaction interfaces and transaction managers. After introducing the problems of current transaction systems, defining terminology and surveying related work, this thesis presents an extensible transaction model, defines and describes solutions to the interoperability problem, discusses how the extensible transaction system can be built and shows how subframeworks are extended and customized.
Key concepts: Transaction processing system, Online transaction processing, Distributed transaction, Computer science, Transaction processing, Nested transaction, Database transaction, Serializability