Two-phase commit with queryable caches
First Claim
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.
3 Assignments
0 Petitions
Accused Products
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.
-
Citations
6 Claims
-
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. - View Dependent Claims (2)
-
-
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. - View Dependent Claims (4)
-
-
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.
-
Specification