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.