Real-time database systems have transactions that should be executed with real-time constraints in the form of deadlines. The primary objective of real-time transaction management is to maximize the number of transactions that meet their deadlines. A priority cognizant algorithm is the most general conflict resolution mechanism in synchronizing real-time transactions. To resolve conflicting transactions, real-time concurrency control algorithms should not only consider data consistency, but also priority, which implies deadline, of individual transaction.
In this thesis, we propose a multiversion concurrency control algorithm for real-time transaction processing. Based on a priority cognitive algorithm commonly used in real-time processing, the algorithm resolves data conflicts among conflicting transactions in favor of the urgent transactions, i.e., those with higher priority. The proposed algorithm increases the degree of transaction concurrency while minimizing the transactions that miss their deadlines. This is achieved by using the notions of precedence relationships and multiple versions. By using multiple versions, a transaction can produce a new version on even the data object being read by another transaction, i.e., resulting in increased transaction concurrency.
In the algorithm, a precedence relationship that implies a serialization order among conflicting transactions is utilized to reduce unnecessary abortions and provide early abortions of eventually discarded transactions. Although our algorithm gives superior service to transactions with higher priority, it may attempt to resolve data conflicts in favor of a transaction with lower priority by considering the amount of the work done by the transaction.
We extend the multiversion concurrency control algorithm for real-time active databases. Transactions in real-time active databases have the notion of activeness where transactions are generated by external effect and another transactions. Activ...