Title: A Mobile Transaction Model that Capture Both the Data and Movement Behavior
1A Mobile Transaction Model that Capture Both the
Data and Movement Behavior
- Presenter Yuan Wei
- Nov. 7, 2002
2Overview
- Problem Statement
- Background Knowledge
- Proposed Solution
- Comparison
- Critiques
3 4DBMS Classification
5Example Scenario
6Problem Statement
- Transaction Processing in Mobile Computing
Systems - Distributed Environment
- Multiple Database Systems
- Heterogeneous Databases
- Mobile Users
7Why?
- The state of single transaction spans to multiple
base stations and databases. - The client leaves one base station before a
transaction finishes - The client may need to commit or abort the
operations or transactions that are not at
current base station - Recovery Problem
8 9Transaction ACID Properties
- Atomicity
- Either the transaction completes, or nothing
happens at all. - Consistency
- A transaction must begin in a consistent state
and leave the system in a consistent state. - Isolation
- Transactions are isolated from concurrent
schedules. - Durability
- Once committed (completed), the results of a
transaction are Durable.
10Common Transaction
11Common Transaction (cont.)
- Known database (Typically one)
- Bounded duration (Compared to long transactions)
- Few or no interactions with other concurrent
events - ACID properties easy to achieve
12Multi-Database Transaction
- Operate on data from several databases (known or
unknown) - Multi-database Directory for discovering relevant
schemas - Databases may NOT know each other
- Databases are autonomous
- GDBS coordinates with different databases
- GDBS keep the original individual database
intact, so typically there is no no global lock,
no two-phase lock, no two phase commit. - ACID very hard to achieve
13Nested Transactions
- A nested transaction is a tree of transactions,
the sub-trees of which are either nested or flat
transactions.
14Open Nested Transaction
- Objective To improve throughput
- Idea Give up Isolation property
- The modification of one sub-transaction will be
visible to all the transactions - Solution Compensation Function
- The abort operation will change the modification
back - Problems Compensation is not enough
15Long Transaction
- Informal Definition The transactions that last
the same magnitude as the mean time failure of
the computer system on which they run. - Example
- CAD/CAD transaction, VLSI Layout Transactions
- Problems
- Vulnerable to Crash
- Concurrency Bottleneck
16Split Transaction
- Objective
- Solve the problems of long transactions
- Idea
- Divide ongoing transactions into two serializable
transactions - Commit data that will not change
- Advantage
- Adaptive recovery, added concurrency and
Serializable access to resources
17Split Transaction Prerequisites
- Assume transaction T splits to A and B and A
proceeds B
18 19Some Terms
A Base Station or Mobile Support Stations is
capable of connecting with a mobile unit and is
equipped with a wireless interface.
A Mobile Unit is a mobile computer which is
capable of connecting to the fixed network via a
wireless link.
20Some Terms (cont.)
- Source System
- A collection of registered systems that offer
information services to mobile user. - Example A distributed database system
- Data Access Agent (DAA)
- A program on base stations that provides Mobile
Unit the access to source systems. - Mobile Transaction Manager (MTM)
- A component of DAA which manages the mobile
transactions.
21Solution Overview
22Kangaroo Transaction Definition
23Kangaroo Transaction Definition
24Transaction Processing Modes
- Compensating Mode
- One JT fails -gt all JTs undone
- Users provide compensating functions for
committed JTs. (Difficult Problem) - Atomicity Provided, Isolation Violated (Authors
Claim) - Split Mode
- One JT failure -gt No more new LT or GT for that
JT - Committed JTs are not affected
- Neither guarantees KT serializability
25Transaction Processing
- Transaction Initialization
- MTM creates a Kangaroo Transaction and a unique
KTID - BTKT -gt MTM Transaction Log
- MTM creates first Joey Transaction and a unique
JTID - BTJT -gt MTM Transaction Log
- JT entry -gt Transaction Status Table
- Increase Joey Transaction Number
26Transaction Processing (cont.)
- Transaction Execution
- Translate JT operations to global and local
transactions - ST entry -gt transaction table
- BTST -gt MTM Log
- Send native transaction to DBMS or GDBS
27Transaction Processing (cont.)
- Handoff Process
- At Original Base Station
- Original DAA starts split operation (Problem?
Possibility? How does it know?) - HOKT -gt Log
- Flash Log to Disk (Checkpoint)
- At Destination Base Station
- CTKT -gt Log
- KT entry -gt Transaction Status Table
28Transaction Processing (cont.)
- Transaction Commit
- A sub-transaction commits
- ETST -gt Log
- If compensating mode -gt Update ST List
- If split mode -gt Delete ST entry
- If no active ST for a JT, commit JT
- ETJT -gt Log
- Update Transaction Status Table
- User specifies the end of KT, change KT to
Committing - If no active JT, commit KT
- ETKT -gt Log
29Transaction Processing (cont.)
- Transaction Abort
- A doubly linked list is maintained between base
stations by transaction log. User provide head of
the linked list. - Go forward the linked list to restart interrupted
transaction. Go backward along the linked list to
abort or compensate JTs. - What causes JT abort? LT and GT abort? KT abort?
Whats the relation between JT and LT, GT?
30 31Other Solutions? (Discussion)
- How about storing transaction information on MU?
- What needs to be stored in MU.
- Transaction ID
- What else is needed?
- A GDBS service
- Whats the advantage compare to KT?
- Management Complexity? Deployment Complexity?
Scalability? - Solve the handoff problems.
32Critique
- Too Complex to use
- Where is GDBS service? How does it work?
- Leave a lot of complexity to GDBS
- Desired transaction property not guaranteed
- Handoff Process (the core process) has problem
- Split Transaction prerequisites not guaranteed
- Handoff Time not Determined
33References
- 1 Dunham, M. H., Helal, A., Balakrishnan, S. A
mobile transaction model that captures both the
data and movement behavior, ACM/Baltzer Journal
on Special Topics in Mobile Networks and
Applications (MONET), vol. 2, pp. 149-162, 1997 - 2 Pu, C., Kaiser, G., Hutchinson, N.
Split-Transactions For Open-Ended Activities, in
International Conference on Very Large Databases,
pp. 26-37, September 1988 - 3 Y. Breitbart, H. Garcia-Molina, and A.
Silberschatz. Overview of multidatabase
transaction management. VLDB Journal,
1(2)181-240, Oct. 1992. - 4http//research.microsoft.com/gray/WICS_99_TP/
04_TransactionModels.ppt
34 Thank You!
35 36Local and Global Transaction
37Kangaroo Transaction
38Abbreviations
- GDBS Global Database System
- BTKT Begin Kangaroo Transaction
- HOKT Handoff Kangaroo Transaction
- CTKT Continuing Kangaroo Transaction
- BTJT Begin Joey Transaction
- ETJT Commit (End) Joey Transaction
- BTST Begin Sub-Transaction
- ETST End Sub-Transaction
- KTID Kangaroo Transaction ID
- JTID Joey Transaction ID