Mobile Distributed Transaction Commit Protocol – A Survey
Jaman L. Bhola
Partial fulfillment for CSc 8530
Spring 2004
Lecturer: Dr. S. Prasad.


Part IV of term project – annotated Bibliography

Layout of the Survey paper with both major and minor references for each section listed.

1.    Introduction:   Resources:

      [8]  Pitoura E. & Bhargava B.: “Revising Transaction Concepts for Mobile
            Computing” Proceedings of the IEEE Workshop on Mobile Systems and
            Applications, Santa Cruz, CA. Dec., 1994

           Wireless connections to database is more frequent now than ever. In traditional database systems, users interact with the database through transactions, which are atomic, consistent, isolated and durable (ACID). In recent times, especially due to wireless connections, these concepts had to be revised. The authors consider different types of connections – disconnected transactions supporting weak transactions, partial connectivity that supports modeling data on imprecise data. Also they proposed transaction proxies that supports recovery of data


     [15]  Barbara D.: “Mobile Computing and Databases – A Survey”, IEEE Transactions
              on Knowledge and Data Engineering, Vol 11. No 1. January/February 1999

Mobile computing is a reality due mainly to two technologies: the appearance of powerful computers and the development of fast reliable networks. The network that connects the mobile unit to the host is wireless with the hosts being connected via fixed wire network. When manipulating data from the database, there should be data consistency that involves sessions. A session is defined as, a sequence of read and write operations performed during the execution of an application by a client.

     [13] Lim, J & Hurson, A. R.: “Transaction Processing in Mobile, Heterogeneous
            Database Systems” IEEE Transactions on Knowledge and Data Engineering,  
            Vol 14, No 6 November/December, 2001.

In multi-database systems researchers have found solutions to such issues as autonomy, heterogeneity, transaction management, concurrency control, transparency and query resolution for fixed client/server environment. However, when mobility is considered in connection to databases, additional complexities and restrictions prevail.


     [11] Lu, Qi & Satyanaranyanan, M.: "Isolation-Only Transactions for Mobile
            Computing" Operating Systems Review 1994.

When the connections are fixed between different computers, there is little read/write conflicts – the DBMS normally take care of such conflicts if they arises. However, for mobile units, such conflicts are often present. This is mainly because of disconnections that may occur. Such disconnections may be caused by movements of the mobile unit to areas where there is no cell, low or dead battery, etc.. When these disconnections occur in the middle of a transaction, problems may arise in that the data may not have been properly processed, or the data may have been in the process of being committed, etc..


2.    Basic Commit Transaction:

      [24]  Sadoski, Darleen :  “Database Two Phase Commit: Software Technology
             Roadmap” The Software Engineering Institute (SEI) is a federally funded
             research and development center sponsored by the U.S. Department of
             Defense and operated by Carnegie Mellon University. Carnegie Mellon
             University, 2004

The Two-Phase Commit (2PC) protocol is a simple and elegant ACP with two types of processes: A single coordinator that decides whether to reach a global commit or abort decision, and the participants that execute the transaction's resource accesses and vote whether to commit or abort. The commit decision is made according to the global commit rule :
-
If even one participant votes to abort the transaction, the coordinator has to reach a global abort decision.
-
If all participants vote to commit the transaction, the coordinator has to reach a global commit decision.


[25]  Gaddam, S. R.: “Three-Phase Commit Protocol”

For the 3PC, when a MC wants to commit data, it will make a request to the MSS (Phase 1). The MSS in turn will send a “prepare” message for such commit to MCs’ (Phase 2).
After receiving an acknowledgement from MCs’, MSS prepare for Commit. (Phase 3)


 [22] Vogler, H., Kunkelmann, T, & Moschgath, M.: “Distributed Transaction
            Processing as a Reliablity Concept for Mobile Agent.” 6th IEEE Worksoph on
            Future Trends of Distributed Computing Systems (FTDCS ’97) Tunis,
           TUNISIA, October 29 – 31, 1997

They proposed have an agent to help transfer data from host to client. The agent will ensure proper commit and/or abort. They inferred that only distributed transaction processing (DTP) can control the state of a mobile agent. They also mentioned the importance of the ACID properties being implemented by 2PC protocol.

[18] Dirckze, R. & Gruenwald, L.:”A pre-serialization transaction management
        technique for mobile multidatabases.” Mobile Networks and Applications Vol  5. 2000.

This model was developed and then compared with Kangaroo model to rate the performance between the two. They also saw the mobile computing model to be made constructed from two entities – a fixed network system and a continuously set of changing mobile clients.

 [4] Weijun Xiao, Zhengding Lu, Bing Li, Mudar Sarem: “Transaction Management in
       Mobile Multidatabase Systems”, Proceedings of the 2001 International
       Conference on Computer Networks and Mobile Computing (ICCNMC'01), October 2001

Data was stored and managed centrally in organizations. With the decentralization of organizations, data is more distributed. Furthermore, with the increasing use of mobile units, it has become more challenging to access and manipulate these distributed databases especially considering that mobile units can easily be disconnected in the middle of a transaction.

3.    Transaction Models:

3.1    Kangaroo Transaction (KT) Model

[1] Dunham, Margaret H., Helal, Abdelsalam, Balakrishnan, Santosh: “A mobile
      transaction model that captures both the data and movement behavior” Mobile    
      Networks and Applications, Volume 2 Issue 2, October 1997

The more common use of hardware devices such as wireless computers, cell phone, etc. have led to the need to develop better data access from stationary databases. The authors presented the paper cited below where they develop a methodology for the safer access of data via wireless from a database existing in a wired environment. There are three major manipulation for a database – add, modify and delete data.


[20] Dunham, M. H. & Kumar V.: ”Impact of Mobility on Transaction Management” ModiDE, 1999

The Kangaroo Transaction along with Joey Transaction captures the movement nature of mobile units. This foster easier communication and thus commit and/or abort of data is made easier.

[7]  Madria, S. K.: “Transaction Models for Mobile Computing”, In Proceedings
      of  6th  IEEE SICON, Singapore, World Scientific, July, 1998.

The architecture is very similar to that given above with a mobile support station (MSS) supporting mobile units (mobile host – MH) within a small geographical area called a cell. The MH will communicate with a MSS within the area in which the MH is located – at that point in time. Should the MH move outside of the cell to another cell, then it will communicate with the MSS of the new cell. The MSS of the old cell will transfer protocol to the MSS of the new cell so the MH can continue communicating without disruption.

3.2     The Moflex Transaction Model

 [5]  Kyong-I Ku, Yoo-Sung Kim: “Moflex Transaction Model for Mobile   
       Heterogeneous  Multidatabase Systems”, Proceedings of the 10th
       International Workshop on Research Issues in Data Engineering, February 2000.

The Moflex Transaction Model (MTM) is defined as: A Moflex Transaction T is a 7-tuple (M, S, F, P, H, J, G), where
M = {t1, …, tn), set of all subtransactions of T and ti is either compensable  (C) or non-   
        compensable (NC).
S = set of success dependencies in M
F = set of failure dependencies in M
P = set of external dependencies (P, Q, L) on M
H = set of hand over control rules on M
J = set of acceptable join rules on M
G = set of acceptable goal states of T

Each of these above component are explained and considered upon the implementation of the MTM. The implementation is dependent on subtransactions, which, if implemented in MTM, can be parallelized. In fact, according to their algorithm, parallelism is implemented for the inter-subtransactions.


[19] Chrysanthis P. K.: “Transaction Processing in Mobile Computing
        Environment”  IEEE Workshop on Advances in Parallel and Distributed  Systems, 1993.

A mobile transaction is a set of relatively independent (component) transactions which can interleave in any way with other mobile transactions. A component transaction be further decomposed into other component transactions and thus mobile transactions can support an arbitrary level of nesting. Component transactions can commit without waiting for any other component or s (a two level mobile transaction) to commit. However, if s aborts, a component that has not yet committed will be aborted.

These mobile transactions, components are distinguished into four types:
1.    Atomic transactions – compensatable and compensating.
2.    Non-compensatable transactions.
3.    Reporting Transactions
4.    Co-Transactions.


3.3    The PRO_MOTION Transaction Model.

 [2] Walborn, Gary D., Chrysanthis, Panos K.: ”Transaction Processing in PRO-MOTION” Proceedings of the 1999 ACM            symposium on Applied Computing February 1999  

“We are in the midst of a mobile revolution”. More mobile units are in use today to access and manipulate databases. In fact more people are “working on the go” now than ever before. They need reliable connections to databases. But wireless connections (for mobile units) cannot replace copper wire or fiber optics. Hard wiring between client/server is not only more reliable but more available and less likely to corrupt the database.


[9] Amitabha Das, Koh Yen Kai: “Tradeoff between Client and Server
      Transaction  Validation in Mobile Environment” Proceedings of the
      International Database Engineering & Applications Symposium, July 2001  

The model used to represent the mobile database system is similar to that of [4]. The authors however provide their own protocol, which the mobile unit uses to interact with the fixed host. They made use of two previous protocols to devise their own. First they use the WoundCertifier protocol that kept a “certification report (CR)” which is broadcast to mobile unit who could listen and check for conflicts that could occur during a read/write, write/write or write/read request.
If Ti is a transaction, then if any of the following conditions occur, Ti is aborted:
1.    Ti – readset ∩ CR – wirteset ≠∅
2.    Ti – writeset ∩ CR – writeset ≠∅
3.    Ti – writeset ∩ CR – readset ≠∅


3.4    TCOT – A Timeout-Based Mobile Transaction Commitment Protocol

[12] Kumar, V., Prabhu, N., Dunham, M. & Seydim, A.: “TCOT – A
       Timeout-Based Mobile Transaction Commitment Protocol.” IEEE
       Transactions on Computers, Vol 51, No 10 October, 2002

As a better commit protocol than the 2PC, the authors propose the Transaction Commit On Timeout (TCOT) protocol to be used especially with Mobile Units (MU) to interact and commit to databases that exist on Base Stations (BS) or Mobile Support Stations (MSS). They concluded that an MU may cease to communicate with the BS for a variety reasons:
1.    It may run out of its limited battery power
2.    It may run out of disk space
3.    It may be affected by airport security, physical abuse or accident
4.     Limited wireless channels for communication
5.    Unpredictable handoffs


[14] Gore, M. M. & Ghosh, R. K.: “Recovery of Mobile Transactions”
        Proceedings of the 11th International Workshop on Database and  
        Expert Systems Applications, IEEE, 2000.

  The following protocols are proposed to ensure seamless execution of mobile transactions (MT) and their recovery in case of failures.
·    Timeout Protocol – executed by MSS. The timeout parameter is set by mutual agreement of the MH and MSS before commencing the transaction.
·    Disconnect Protocol – this protocol is executed by MH. It is used to redefined the time constraints.
·    Hand-off Protocol – executed by MH. MH asks its current MSS to keep its corresponding image transaction in prepared state.
·    Migration Protocol – unlike hand-off, in this protocol, new settings of MH are communicated to previous MSS by current MSS as wireless link is no longer possible between MH and the previous MSS .

[3]  Lu Q. & Satyanarayanan M.: “Improving Data Consistency in Mobile
      Computing Using Isolation-Only Transaction” Proceedings of the Fifth
      IEEE HotOS Topics Workshop, Orcas Island, WA., May 1995.

The authors hinted that even though write/write conflicts has been resolved to some extent (it is easier to deal with if it pops up), read/write conflicts still exist and needs to be dealt with. They have proposed an Isolation-Only Transactions (IOT) to address any such conflicts. One main idea behind proposing their model is for example if a mobile user was to download some files to be used during a long period of disconnection, updated that file via the use of a library unit, and later try to update the database with the new file. But while he/she was disconnected, the old library unit was updated. Now he/she has a problem integrating the new file using the old library unit with the updated database consisting of the new library unit.

[10] Dirckze A. R. & Gruenwald L.: “A Toggle Transaction Management
       Technique for Mobile Multidatabases” Conference on Information and
       Knowledge Management Proceedings of the seventh international
       conference on Information and knowledge management Bethesda,
      Maryland, United States Pages: 371 – 377, 1998.

Using the same sort of Architectural configuration as mentioned above, the authors propose a Toggle Transaction Management Technique to maintain ACID. This technique enabled them to build a model consisting of a Global Transaction Manager (GTM) made up of two layers:
1.    A Global Coordinator (GC) – made up of a number of Global Transaction Coordinators (GTC).
2.    A Site Manager (SM) – made up of a number of Site Transaction Managers (STM).

[17] Elmagarmid, A., Jing, J. & Bukhres, O.: “An Efficient and Reliable
        Reservation Algorithm for Mobile Transactions” ACM Computing Surveys
       (CSUR) Volume 31 ,  Issue 2  Pages: 117 – 157, (June 1999).  

The reservation algorithm follows these general rules, assuming that no abortion is invoked by the servers:

1.    The mobile host sends each pc-operation of a mobile transaction to the coordinator in the current cell, which will forward it to a local or nearby server where a partitioned data copy resides.

2.    In a pc-operation at a server is safe, the server then executes a local reservation action for the pc-operation. Otherwise, the server invokes a resource repartition procedure to requisition additional partitioned data resources from other servers. Upon the successful completion of the resource repartition procedure, the reservation action can be executed at the local server. The result of the reservation action is returned to the MH that submitted this pc-operation through its coordinator. If the operation is neither safe nor resolvable, a failure message will be returned.

3.    The MH records the results of the reservation action of each pc-operation and the pc-operation itself in a reservation log. If all pc-operations of a MT succeed from the execution of reservation actions, the MH sends a COMMIT message along with the reservation log of the transaction to the coordinator in the current cell. Otherwise, it sends an ABORT message along with the reservation log to the coordinator. The coordinator then submits an allocation action (for COMMIT) or release action (for ABORT) for each pc-operation in the log to the local or nearby server.
Also there is a separate hand-off algorithm.
   
[21] Lin, C, Wang S. & Kuo S.: “An Efficient Time-Based Checkpointing Protocol
       for Mobile Computing Systems over Mobile IP.” Mobile Networks and
      Applications Vol 8 (6): 687-697, December 2003

This protocol is similar to all of those mentioned above except that the authors suggested a check pointing system.
 

4.   Conclusion
           
[15] Barbara D.: “Mobile Computing and Databases – A Survey”, IEEE
       Transactions on Knowledge and Data Engineering, Vol 11. No 1. January/February 1999.

Mobile computing is a reality due mainly to two technologies: the appearance of powerful computers and the development of fast reliable networks. The network that connects the mobile unit to the host is wireless with the hosts being connected via fixed wire network. When manipulating data from the database, there should be data consistency that involves sessions. A session is defined as, a sequence of read and write operations performed during the execution of an application by a client.

[6]  Pitoura, E. & Bhargava, B.: “Dealing with Mobility: Issues and Research
      Challenges”, Department of Computer Science, Purdue University, 1993.

The authors merely acknowledge that mobile units and wireless communications pose a problem with maintaining proper database and accessing these databases. They did not propose a model that can be used to tackle the problem. However, they did point out several issues and challenges that would face developers when attempting to develop models.