IP Library Granted Patent US 7,401,084
Granted Patent B1
US 7,401,084 · App. 09/881,505 · Granted Jul 15, 2008

Two-phase commit with queryable caches

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,401,084
App. No.
09/881,505
Granted
Jul 15, 2008
Kind
B1
Abstract

An optimization of the two-phase commit protocol employed in distributed systems. Each cohort component of the distributed system augments messages that are accessible to the coordinator component with state information indicating whether the cohort is read-only with regard to a transaction that the coordinator is coordinating. The coordinator retains the most recent state information. The coordinator reads the retained state information for the cohorts and when the transaction terminates, the coordinator reads the retained state information. Where the cohort's state is read-only, the coordinator simply sends an abort message instead of performing the full two-phase commit protocol with regard to the read-only cohort. In the trees of distributed system components that are defined by transactions, any cohort which has children in the tree is a local coordinator for its children. The general technique of cohorts augmenting messages accessible to a coordinator with state information that is relevant to an action to be performed by the coordinator and the coordinator acting in accordance with state retained from the messages has other uses as well.

Claims (22)

1. A method of executing a two-phase commit protocol for a transaction, the transaction involving a coordinator and a cohort and the method comprising the steps performed in the coordinator of:

prior to termination of the transaction, receiving a message of the transaction from the cohort, the message being augmented with state information indicating whether the transaction modifies the cohort's data;

retaining the state information for the cohort;

when the transaction terminates, reading the state information for the cohort; and

if the state information for the cohort indicates that the transaction does not modify the cohort's data, sending an abort message of the two-phase commit protocol to the cohort without sending a commit request message of the two-phase commit protocol.

2. A data storage device, characterized in that:

the data storage device contains code which, when executed by a processor, performs the method of claim 1 .

3. A method of executing a two-phase commit protocol for a transaction, the transaction involving a coordinator and a cohort and the method comprising the steps performed in the cohort of:

prior to termination of the transaction, augmenting a message that the cohort sends to the coordinator as part of the transaction with state information indicating that the transaction will not modify the cohort; and

when the transaction terminates, receiving an abort message from the coordinator as required by the two-phase commit protocol without receiving a commit request message of the two-phase commit protocol.

4. A data storage device, characterized in that:

the data storage device contains code which, when executed by a processor, performs the method of claim 3 .

5. A coordinator in a distributed system that coordinates a two-phase commit protocol employed with a transaction that involves one or more cohorts in the distributed system,

the coordinator having the improvement comprising:

retained state information that retains state of a cohort, the state indicating whether the transaction will modify the cohort's data,

the coordinator receiving prior to termination of the transaction a message of the transaction from the cohort which has been augmented with the state information, retaining the state information from the augmented message in the retained state information, and

when the transaction terminates, reading the retained state information for the cohort, and if the retained state information for the cohort indicates that the transaction does not modify the cohort's data, sending an abort message of the two-phase commit protocol to the cohort without sending a commit request message of the two-phase commit protocol.

6. A cohort in a distributed system in which a coordinator in the distributed system coordinates a two-phase commit protocol employed with a transaction that involves the cohort,

the cohort having the improvement comprising:

a message of the transaction that is augmented with state information indicating that the transaction will not modify the cohort's data,

the cohort sending the message to the coordinator prior to termination of the transaction and the coordinator retaining the state information, and

when the transaction terminates, receiving an abort message of the two-phase commit protocol from the coordinator without receiving a commit request message of the two-phase commit protocol.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2004
From: CORPORATION, ORACLE
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 015320/0120 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2003
From: ORACLE CORPORATION
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 014743/0910 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2002
From: SINHA, BIPUL BINIT; GANESH, AMIT; CHIDAMBARAN, LAKSHMINARAYANAN
To: ORACLE CORPORATION
Reel/Frame 012421/0602 →