This paper presents a concurrency control mechanism that does not follow a 'one concurrency control mechanism fits all needs' strategy. With the presented mechanism a transaction runs under several concurrency control mechanisms and the appropriate one is chosen based on the accessed data. For this purpose, the data is divided into four classes based on its access type and usage (semantics). Class $O$ (the optimistic class) implements a first-committer-wins strategy, class $R$ (the reconciliation class) implements a first-n-committers-win strategy, class $P$ (the pessimistic class) implements a first-reader-wins strategy, and class $E$ (the escrow class) implements a first-n-readers-win strategy. Accordingly, the model is called \PeFS. The selected concurrency control mechanism may be automatically adapted at run-time according to the current load or a known usage profile. This run-time adaptation allows \Pe to balance the commit rate and the response time even under changing conditions. \Pe outperforms the Snapshot Isolation concurrency control in terms of response time by a factor of approximately 4.5 under heavy transactional load (4000 concurrent transactions). As consequence, the degree of concurrency is 3.2 times higher.
The objective of service-oriented computing SOC is to construct software applications out of appropriate services available and executing in place anywhere across the Web. To achieve this objective requires that techniques for discovering and engaging services be developed and used across the lifetime of the service-based applications. Succeeding with SOC in this broader sense presupposes that additional techniques be developed for ensuring desired quality of service metrics and service-level agreements. The crucial aspect of using services is thus their governance. In this paper, we describe a conceptual modelling approach that integrates organisational and coordination theories to achieve contextualised service governance. The approach allows for the development and analysis of dynamic, flexible, and robust service-oriented business applications.
Composition of software components via Web technologies, scalability demands, and Mobile Computing has led to a questioning of the classical transaction concept. Some researchers have moved away from a synchronous model with strict atomicity, consistency, isolation and durability (ACID) to an asynchronous, disconnected one with possibly weaker ACID properties. Ensuring consistency in disconnected environments requires dedicated transaction support in order to control transactional dependencies between software components and provide a scalable concurrency control mechanism. This paper contributes a simple expression language using Boolean operators to define transactional dependencies and further provides rules to derive an execution semantics that could be exploited by a transaction manager to control the interaction. This work also discusses the use of data classes that demarcate data based on concurrency control related aspects and apply a certain concurrency control mechanism to each class. Such a classification allows better trade-off between consistency needs and the overhead caused by the concurrency control mechanism. Index Terms—Transaction Management; Disconnected Trans- action Management; Advanced Transaction Models; Concur- rency Control; Optimistic Concurrency Control; Semantic Con- currency Control
This work presents a disconnected transaction model able to cope with the increased complexity of long living, hierarchically structured, and disconnected transactions. We combine an Open and Closed Nested Transaction Model with Optimistic Concurrency Control and interrelate flat transactions with the aforementioned complex nature. Despite temporary inconsistencies during a transaction's execution our model ensures consistency.
An automated execution of business processes, composed of Web Services, also requires a reliable error handling and in the case of failures at least parts of a process need to be recovered. One way to enable a backward oriented recovery is compensation which allows to semantically undo eects even time after the process {a long run- ning transaction{ commits. Usually, compensation as for example applied in BPEL (Business Process Execution Language), requires that all com- pensation steps associated with the business process perform successfully. Also, the conditions for a compensation are not considered and it is not dynamic. In some business scenarios, e.g. a complex production process involving several partners, compensation is a commitment under certain conditions. These conditions in turn can be dynamic and interdependent and often a lot of human eort might be required to perform compensa- tion. Agents in turn, can enable a decentralised compensation in which agents negotiate a commitment to nd a proper compensation strategy. Especially in highly dynamic environment this enables on the one hand a dynamic compensation, and on the other it can support human decision nding in case of failure.
Transaction processing is of growing importance for mobile computing. Booking tickets, flight reservation, banking, ePayment, and booking holiday arrangements are just a few examples for mobile transactions. Due to temporarily disconnected situations the synchronisation and consistent transaction processing are key issues. Serializability is a too strong criteria for correctness when the semantics of a transaction is known. We introduce a transaction model that allows higher concurrency for a certain class of transactions defined by its semantic. The transaction results are ”escrow serializable” and the synchronisation mechanism is nonblocking. The model copes with many mobile scenarios and is able to improve existing synchronization approaches through an automatic replay approach, whereas transaction migration or transactional composition in mobile interaction is not considered. Rather we provide an optimistic transaction model residing at middleware layer. Experimental implementation showed higher concurrency, transaction throughput, and less resources used than common locking or optimistic protocols.
The present paper briefly summarises my past and future research in the field of transaction processing in mobile computing. One issue of my future research deals with the peformance of our Escrow Transaction Model which represents my previous work. The applicability of the model depends on a known transaction's semantics. The possibilities to obtain the transaction's properties automatically as well as the flexible adaption of transaction management are also introduced as open issues for future research.
Transaction processing is of growing importance for mobile computing. Booking tickets, flight reservation, banking,ePayment, and booking holiday arrangements are just a few examples for mobile transactions. Due to temporarily disconnected situations the synchronisation and consistent transaction processing are key issues. Serializability is a too strong criteria for correctness when the semantics of a transaction is known. We introduce a transaction model that allows higher concurrency for a certain class of transactions defined by its semantic. The transaction results are”escrow serializable” and the synchronisation mechanism is non-blocking. Experimental implementation showed higher concurrency, transaction throughput, and less resources used than common locking or optimistic protocols.
The objective of service-oriented computing (SOC) is to construct software applications out of appropriate services available and executing in place anywhere across the Web. To achieve this objective requires that techniques for discovering and engaging services be developed and used across the lifetime of the service-based applications. Doing this well requires that additional techniques be developed for ensuring desired quality of service metrics and servicelevel agreements. The crucial aspect of using services is thus their governance.
Modern web-based applications are often built as multi-tier architecture using persistence middleware. Middleware technology providers recommend the use of Optimistic Concurrency Control (OCC) mechanism to avoid the risk of blocked resources. However, most vendors of relational database management systems implement only locking schemes for concurrency control. As a consequence a kind of OCC has to be implemented at client or middleware side. The aim of this paper is to recommend Row Version Verification (RVV) as a mean to realize an OCC at the middleware level. To help the developers with the implementation of RVV we propose to use SQL access patterns. For performance reasons the middleware uses buffers (cache) of its own to avoid network traffic and to reduce disk I/O. This caching, however, complicates the use of RVV because the data in the middleware cache may be stale (outdated). We investigate various data access technologies, including the Java Persistence API and Microsoft’s LINQ technologies in combination with commercial database systems for their ability to use the RVV programming discipline. The use of persistence middleware that tries to relieve the programmer from the low level transaction programming turns out to even complicate the situation in some cases. The contribution of this paper are patterns and guidelines for an implementation of OCC at the middleware layer using RVV. Our approach prevents from inconsistencies, reduces locking to a minimum, considers a couple of mainstream technologies, and copes with the effects of concurrency protocols, data access technologies, and caching mechanisms. Keywords-persistence middleware, caching, data access pattern, row version verification.