Next: Nesting Up: Properties of Transactions Previous: Serial Transactions   Contents   Index |
In mobile computing it may take a while before the changes made by a transaction reach the server and are (finally) committed there. In the mean time, it makes sense to let new transactions continue working on the in some sense un-committed data. If the first one at a later time is found out to fail then the "following" transactions must fail to, of course. However until that time the doings of a transaction may seem committed to new transactions. This leads to the following definition of pending transactions: A transaction is pending or tentative until it has been committed on the server, though it may appear to be committed from a clients, e.g., a disconnected ones, point of view.
In mobile computing we then have transactions executing and committing (or rolling back) in two stages; on a client and on the server. So an implementation would have to consider the stages of executing, committing, and rolling that are listed in Tables 4.1 and 4.2.
Local Execution-Time | execution-time in [34] | |
Local Commit-Time | tentative commit on client | |
Server Execution-Time | re-execution on server | |
Server Commit-Time | commit-time in [34] |
Local Execution Rollback | during local execution () | |
Local Commit Rollback | at local commit time () | |
Server Execution Rollback | during server (re-)execution () | |
Server Commit Rollback | at server commit time () |
Next: Nesting Up: Properties of Transactions Previous: Serial Transactions   Contents   Index |