Browse Prior Art Database

A mechanism using interval timers to drive transaction resolution proactively.

IP.com Disclosure Number: IPCOM000014387D
Original Publication Date: 2000-Apr-01
Included in the Prior Art Database: 2003-Jun-19
Document File: 2 page(s) / 37K

Publishing Venue

IBM

Abstract

Disclosed is a method which ensures the completion of transactions adhering to the two-phase commit protocol. Each transaction in a transaction processing system is monitored by a timer. The timer continuously monitors the transaction's progress through the two-phase commit transaction states and initiates actions to advance the transaction towards completion.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

A mechanism using interval timers to drive transaction resolution proactively.

Disclosed is a method which ensures the completion of transactions adhering to the two-phase commit protocol. Each transaction in a transaction processing system is monitored by a timer. The timer continuously monitors the transaction's progress through the two-phase commit transaction states and initiates actions to advance the transaction towards completion.

Transaction processing systems must guarantee that all transactions eventually either commit or rollback. This guarantee must be provided even if an application, resource manager, transaction manager, or operating system fails (repeatedly). This disclosure describes a mechanism which ensures transactions (local or distributed) complete - in a timely manner - even in the face of such software failures.

For each incomplete transaction in the system, a timer is set up to expire periodically until the transaction has completed (committed or rolled back). Each time the timer expires, an asynchronous thread is scheduled to execute a piece of code known as the resolver. The resolver checks the state of the transaction and does processing which attempts to advance the state of the transaction towards completion. If the transaction is not complete, the timer is reset so that the resolver is rescheduled again in the future. This mechanism is applied to all transactions - those initiated during normal system operation
(normal transactions) and those restarted after a system crash (restarted transactions).

For normal transactions, the initial timeout value serves as the 'transactio...