Advanced Transaction Management

 


 

 

BackgroundResearch activitiesPrevious activitiesPublicationsContact

 


 

 

Background

Transaction processing techniques play a major role in preserving data consistency in critical areas of computing, from hospital information systems to trading systems. A transaction maps a database from one consistent state to another by executing a sequence of operations atomically. Effects of concurrency are automatically hidden, and failures recovered. Transactions are therefore appropriate building blocks for structuring reliable systems. The reliability provided through transactional guarantees are required in many types of applications, found in for instance workflow systems, mobile systems, web services based systems, and multidatabase systems.
It is widely recognized that such advanced applications stresses the limits of the functionality and performance of traditional transaction management, and that advanced transaction management is needed.

One particular problem in many advanced applications, is a need to support long-lasting transactions. The length of duration of a long-lasting transaction may cause serious performance problems if it is allowed to lock resources until it commits. This may either force other transactions to wait for resources for an unacceptable long time, or it may increase the likelihood of transaction abort. An approach to solve this problem has been to develop transaction models where transactions are structured into sub-transactions, early commit of sub-transaction are allowed, and compensating transaction are provide for recovery purposes.

When two or more transactions execute concurrently, their operations execute in an interleaved fashion that may cause concurrency problems. These problems have traditionally been avoided by guaranteeing serializable executions of transactions. However, there are in many applications a need for more concurrency and thereby non-serializable executions.

 

Research activities

Our research activity on advanced transaction management includes work on both coordination of distributed transactions, recovery through use of compensation and advanced concurrency control. The most recent work in this project focus on how to provide adaptable transaction services, that can be configured and reconfigured according to the needs of both users and underlying systems.

Current research activities:

Previous research activities:

 

Current research activities
 

Adaptive transaction services

The characteristics of advanced applications vary a lot and the transaction concept must adapt to fulfil the varying transactional requirements. Required execution guarantees are not limited to traditional ACID properties, and may include for instance timely constraints, execution flexibility and mobile transaction executions. Requirements may not only vary between applications but also between transactions within an application, depending on properties of the transactional task, user preferences and available system resources. Transactional requirements may also change during the lifetime of an application, and the required transaction service will consequently not be fully known at application design time.

We believe that the need for transaction service flexibility can be supported through reflection, which enables inspection and modification of system structure and behaviour. We have developed a framework for such a reflective transactional system,
called Transaction service execution environment (TSenvironment), in which different transaction services can be deployed and modified, and from where suitable transaction services can be chosen and concurrently used according to the needs of the transactions. We have chosen a component-based approach when describing this framework.

This part of the AdTrans project overlap with the Arctic Beans Project.
 

Compensation in web transaction processing

Several transaction models, including web service transaction models, assume transactions that consist of a number of sub-transactions executed at different nodes. In order to preserve autonomy requirements of web services, existing web service transaction models use compensation as a component of recovery. In these models, individual web service invocations may commit early without further coordination, provided that the effect of the invocation can be semantically reversed at some later point by executing a compensating transaction. However, compensating transactions are not focused in the design of web service transaction models or any other transaction model relying on compensating transactions. Providing support for compensating transactions is the topic of this research activity.

We assert that the trigger mechanism, more formally known as Event-Condition-Action rules, may be used to implement support for compensating transactions in an efficient and uniform manner. By building transaction compensation on the trigger mechanism, we allow a web service designer to specify compensation rules, which are used to dynamically generate compensating transactions during runtime. This approach supports both easy and consistent compensation and semi-automatic compensation as seen from the service user.  

 

Previous research activities
 

Adaptive correctness criteria

In this project, we describe a new non-serializable correctness criterion, called ACC. ACC is an adaptable correctness criterion, which determines legal interleaving of transactions in an environment where transactions may have different correctness requirements. ACC allows users of the database to attach correctness requirements to individual transactions. A correctness requirement for a transaction T may specify that isolation is required for some parts of T, while a higher degree of interleaving is allowed for other parts of T. Also, the specified correctness requirements for two transactions, T1 and T2, may well be different.

The motivation behind ACC is the fact that the notion of consistency may be situation dependent. In particular, we find that the concurrency problem known as "the inconsistent retrieval problem" need not always be a problem. An execution that causes a so-called "inconsistent retrieval" may, under certain circumstances, reflect a consistent execution. This depends on the transaction semantics and on the environment where the transaction is executed.

ACC is a correctness criterion that guarantees correctness for individual objects by protecting against problems like "lost update", "dirty read", and "unrepeatable read". Additionally, ACC allows each transaction to determine, based on transaction semantics, where "inconsistent retrieval" may be a problem. This will implicitly determine where a group of objects must be used in isolation. ACC guarantees isolation where this is required, while it allows more interleaving for transactions/transaction parts with a weaker correctness requirement.
 

Two-dimensional locking

Two-dimensional locking is a concurrency control mechanism that supports the ACC correctness criterion. It controls synchronization of transactions in an environment where there may be different correctness requirements both between transactions and within a single transaction. The resulting histories are guaranteed to be correct according to the ACC criterion.

This mechanism introduces some novel features.
Firstly, it offers a new type of isolation level, called "Interleave", which allows controlled access to a partially updated database. Isolation level "Interleave" may be used for the whole transaction or for parts of a transaction, and it allows a relatively high degree of interleaving. Choosing "Interleave" means that "inconsistent retrieval" is not a problem, and that access to a partially updated database may consequently be allowed. A stronger isolation level, called "Isolate", is also available. This is used when "inconsistent retrieval" is a problem, and isolation is consequently requested.

Secondly, each lock consists of two separate lock components, which describes different transaction properties. One component reflects the correctness requirement of the transaction, while the second component reflects the effect the transaction has on a particular object. By using lock components for holding different transaction properties, we introduce a new dimension to the locking mechanism. The locks will thus include more information about the transaction, which we utilize to allow early release of locks and possibly a higher degree of concurrency.

Two-dimensional locking allows for a flexible and customized execution of transactions. The user can either choose "Isolate" for the whole transaction, or she can choose to give the transaction a customized correctness requirement which is weaker then the "Isolate" requirement. A relaxed correctness requirement may increase concurrency.

A simulation study compares the performance of Two-dimensional locking with performance of Two-Phase locking (2PL). When simulating 2PL, every transaction has a strong correctness requirement, and the executions are serializable. For the simulation of Two-dimensional locking, half of the transactions follow a weak correctness requirement, while the others follow a strong requirement. Simulations are done both with short transactions only, and with a combination of long and short transactions. The simulation study supports our assumption that Two-dimensional locking provides lower response time and higher throughput then 2PL.
 

Transaction processing in multidatabase systems

Multidatabase systems facilitate interoperation among heterogeneous and autonomous database systems. In such environments, transaction management is normally performed in two different layers. A local transaction manager is used to control execution of every transaction within one component database. Additionally, a global transaction manager is used for controlling global transactions submitted to a multidatabases.

Because of the local autonomy requirement, we can not assume any coordination of transaction management between global and local transaction managers. This makes concurrency control in a multidatabase extremely difficult. Also, subtransactions must be allowed to commit independently, and compensation is needed as recovery mechanism. Advanced transaction management is therefore needed for both commit, recovery, and concurrency control of multidatabase transactions.

The main focus of this activity was concurrency control for multidatabase systems. A new generic correctness criterion, called Partition Serializability (PSR), was proposed. It allows for the specification of a number of non-serializable correctness criteria, where each criterion can be used as a global correctness criterion. PSR supports a location independent partitioning of the object space in a multidatabase system into consistency units. There are mutual consistency requirements between objects within a consistency unit, while there are no such requirements between objects in different units. To support this, PSR guarantees a strong correctness requirement within a consistency unit, and a weaker correctness requirement between units.

To support PSR, a concurrency control method, called PSR Locking, was described. The correctness of both PSR and PSR Locking was proven. Additionally, several extensions to PSR was presented. Each PSR extension was in it self a generic correctness criterion that could express a variety of specific correctness criteria through instantiations with one or a number of consistency partitions.

 

Publications (selected)


A Reflective Transaction Service Framework for Open Applications
Jakobsen, A.B., Karlsen, R., ReflecTS, Technical Report 200451, Department of Computer Science, University of Tromsø, August 2004.

An Adaptive Transactional System - framework and service synchronization
Karlsen, R., Proc. of  the International Symposium on Distributed Objects and Applications (DOA), Catania, Sicily, November 2003.

Towards a Reflective Transactional Middleware Platform for Advanced Applications
Jakobsen, A.B., Karlsen, R., Proceedings of NIK, Norwegian Informatics Conference'2003,
Oslo, November, 2003.

Transaction Service Management - An approach towards a reflective transactional service
Karlsen, R., Jakobsen, A.B.,  Proceedings of the 2nd Workshop on Reflective and Adaptive Middleware,
Rio de Janeiro, Brazil, 2003.

Triggger-based compensation in Web Service Environments
Karlsen, R., Strandenæs, T., Proceedings of the 5th International Conference on Enterprise Information Systems,
Anger, France, 23-26 April 2003.

Transaction Compensation in Web Services
Strandenæs, T., Karlsen R., 
Proceedings of NIK, Norwegian Informatics Conference'2002,
Kongsberg, November, 2002.

Work in Progress: Arctic Beans, Configurable and Re-configurable Enterprise Component Architectures
Andersen, A., Blair, G., Goebel, V., Karlsen, R., Stabell-Kulø, T., Yu, W.,  IFIP/ACM International Conference on Distributed Systens Platforms, Middleware 2001, Heidelberg, Germany, November 12-16, 2001.
Also in IEEE Distributed Systems Online, Volume 2, 2001, http://dsonline.computer.org.

Arctic Beans: Flexible and Open Enterprise Component Architectures
Andersen, A., Blair, G., Goebel, V., Karlsen, R., Stabell-Kulø, T., Yu, W.,  Proceedings of NIK, Norwegian Informatics Conference'2001, Tromsø, November 26-28, 2001.

Performance of an Adaptable Synchronization Method
Karlsen, R., Hassen, M., Proceedings of NIK, Norwegian Informatics Conference’2000, 
Bodø, November 20 - 22, 2000.

Reflective Transaction Service
W.Yu , R. Karlsen, Proceedings of Workshop on Reflective Middleware, New York, USA, April 7-8, 2000.

Supporting Partial Isolation in Flat Transactions
Karlsen, R.,
Proceedings of the International Conference on Database and Expert Systems Applications, (DEXA)
T. Bench-Capon, G. Soda, A. Tjoa (eds.),
Lecture Notes on Computer Science, LNCS 1677, Springer, 1999.

Concurrency Control and Recovery for Partially Isolated Transactions.
Karlsen, R., Proceedings of NIK, Norwegian Informatics Conference’98,  Kristiansand,
November 23 - 25, 1998

Adaptable correctness through Two-dimensional locking
Karlsen, R., DEXA’97 Workshop, 8th International Conference and Workshop on Database and Expert Systems Applications, Toulouse, France, Sept. 1-5, 1997.

Two-dimentional locking, A concurrency control method supporting adaptable correctness
Karlsen, R., Proceedings of NIK, Norwegian Informatics Conference’97, Voss, November 24 - 26, 1997.

Flexible Transaction Management in Federated Database Systems
Karlsen, R., Ph.D. thesis, University of Tromsø, Computer Science Department, 1995.

Partitioning Global Object Spaces for Multidatabase Concurrency Control
Karlsen, R., Eliassen, F., Proceedings of the ISMM International Conference on Intelligent Information Management Systems, Washington, DC USA, June 1-3, 1994.

Application of Partition Serializability in Software Engineering Databases
Larsen, J. O., Eliassen, F., Karlsen, R., Yu, W., Proceedings of NIK, Norwegian Informatics Conference’94, November 14 - 16, 1994.

Parameterized Partition Serializability: An Adaptable Correctness Criterion for Federative Transactions
Karlsen, R., Eliassen, F., CS Research Report 94-13, University of Tromsø, 1994.

Parameterizing Correctness for Federative Transactions
Karlsen, R., Eliassen, F., Proceedings of NIK, Norwegian Informatics Conference ’93, 1993.

Interoperability and Object Identity
Eliassen, F., Karlsen, R., ACM SIGMOD Record, Vol.20, No.4, Dec 1991.

Interoperability using Functional and Object-Oriented Programming Concepts: Problems and Solutions
Eliassen, F., Karlsen, R., Proceedings of NIK, Norwegian Informatics Conference ’91, 1991
(also CS Research Report 91-13).

Providing Application Interoperability using Functional Programming Concepts
Eliassen, F., Karlsen, R., Proceedings EurOpen Spring Conference 1991, pp. 249-266
(also CS Research Report 90-06).

Distributed Exception Handling for Flexible Transactions
Eliassen, F., Karlsen, R., Computer Science (CS) Research Report 90-07, University of Tromsø, 1990.

 

Contact

For more information about the project, contact Randi Karlsen, Department of Computer Science, University of Tromsø, Norway