IP Library Granted Patent US 9,384,229
Granted Patent B2
US 9,384,229 · App. 13/688,781 · Granted Jul 5, 2016

Data readiness using initiator region last commit selection

Inventors: Ian J. Mitchell (Eastleigh, GB); Andrew Wright (Eastleigh, GB); Daniel W. Zachary (Chapel Hill, NC)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F17/30348G06F9/466G06F17/30575
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 9,384,229
App. No.
13/688,781
Granted
Jul 5, 2016
Kind
B2
Abstract

A portion of a transaction is received at a distributed transaction system from an initiator region. The distributed transaction system operates under a multi-tier two-phase commit protocol. A local unit of work is established that represents the portion of the transaction received from the initiator region. Processing of the local unit of work is invoked with at least one transaction participant. An indication is received from the initiator region to assume a role of transaction coordinator for the transaction. The initiator region is instructed to commit last relative to the at least one transaction participant of the local unit of work.

Claims (84)

1. A system, comprising:

a memory;

a communication module; and

a processor configured to operate within a distributed transaction system operating under a multi-tier two-phase commit protocol and programmed to:

receive, via the communication module, a portion of a transaction from an initiator region;

establish a local unit of work that represents the portion of the transaction received from the initiator region, the processor being programmed to:

store an initiator region identifier of the initiator region within a participant list of the local unit of work within the memory; and

mark the initiator region identifier within the participant list as an initiator of the portion of the transaction;

invoke processing of the local unit of work with at least one transaction participant, the processor being programmed to:

add an identifier of each of the at least one transaction participant to the participant list;

receive an indication from the initiator region to assume a role of transaction coordinator for the transaction; and

instruct the initiator region to commit last relative to the at least one transaction participant of the local unit of work.

2. The system of claim 1 , where in being programmed to receive the indication from the initiator region to assume the role of transaction coordinator for the transaction the processor is programmed to receive a syncpoint commit instruction from the initiator region as part of a last agent protocol implemented by the initiator region, where the initiator region is indoubt with respect to the transaction until the initiator region is instructed to commit last relative to the at least one transaction participant of the local unit of work.

3. The system of claim 1 , where in being programmed to instruct the initiator region to commit last relative to the at least one transaction participant of the local unit of work, the processor is programmed to utilize an implicit forget commit response acknowledgment protocol, and the processor is further programmed to:

receive a piggy-backed commit acknowledgement from the initiator region as part of a message associated with a different transaction.

4. A system, comprising:

a communication module; and

a processor configured to operate within a distributed transaction system operating under a multi-tier two-phase commit protocol and programmed to:

receive, via the communication module, a portion of a transaction from an initiator region;

establish a local unit of work that represents the portion of the transaction received from the initiator region;

invoke processing of the local unit of work with at least one transaction participant;

receive an indication from the initiator region to assume a role of transaction coordinator for the transaction;

instruct the at least one transaction participant to prepare to commit under the multi-tier two-phase commit protocol;

identify the initiator region as an initiator of the portion of the transaction within a participant list of the local unit of work;

instruct each of the at least one transaction participant other than the identified initiator within the participant list to commit under the multi-tier two-phase commit protocol; and

instruct the initiator region to commit last relative to the at least one transaction participant of the local unit of work, the processor being programmed to instruct the initiator region to commit in response to receiving a commit acknowledgement from each of the at least one transaction participant other than the identified initiator.

5. The system of claim 4 , where in being programmed to receive the indication from the initiator region to assume the role of transaction coordinator for the transaction the processor is programmed to receive a syncpoint commit instruction from the initiator region as part of a last agent protocol implemented by the initiator region, where the initiator region is indoubt with respect to the transaction until the initiator region is instructed to commit last relative to the at least one transaction participant of the local unit of work.

6. The system of claim 4 , where in being programmed to instruct the initiator region to commit last relative to the at least one transaction participant of the local unit of work, the processor is further programmed to utilize an implicit forget commit response acknowledgment protocol, and the processor is further programmed to:

receive a piggy-backed commit acknowledgement from the initiator region as part of a message associated with a different transaction.

7. A system, comprising:

a communication module; and

a processor configured to operate within a distributed transaction system operating under a multi-tier two-phase commit protocol and programmed to:

receive, via the communication module, a portion of a transaction from an initiator region;

establish a local unit of work that represents the portion of the transaction received from the initiator region;

invoke processing of the local unit of work with at least one transaction participant, the processor being programmed to:

invoke processing of at least one portion of the local unit of work with a remote system that operates using a call and return model;

receive an indication from the initiator region to assume a role of transaction coordinator for the transaction; and

instruct the initiator region to commit last relative to the at least one transaction participant of the local unit of work, the processor being programmed to:

instruct the remote system to commit the at least one portion of the local unit of work;

receive a commitment acknowledgement of the at least one portion of the local unit of work under the call and return model from the remote system; and

instruct the initiator region to commit in response to a polled return confirmation of commitment from the remote system under the call and return model.

8. The system of claim 7 , where in being programmed to receive the indication from the initiator region to assume the role of transaction coordinator for the transaction the processor is programmed to receive a syncpoint commit instruction from the initiator region as part of a last agent protocol implemented by the initiator region, where the initiator region is indoubt with respect to the transaction until the initiator region is instructed to commit last relative to the at least one transaction participant of the local unit of work.

9. The system of claim 7 , where in being programmed to instruct the initiator region to commit last relative to the at least one transaction participant of the local unit of work, the processor is further programmed to utilize an implicit forget commit response acknowledgment protocol, and the processor is further programmed to:

receive a piggy-backed commit acknowledgement from the initiator region as part of a message associated with a different transaction.

10. A computer program product, comprising:

a computer readable storage medium having computer readable program code embodied therewith, where the computer readable program code when executed on a computer causes the computer to:

receive, at a distributed transaction system operating under a multi-tier two-phase commit protocol, a portion of a transaction from an initiator region;

establish a local unit of work that represents the portion of the transaction received from the initiator region, the computer readable program code when executed on the computer causing the computer to:

store an initiator region identifier of the initiator region within a participant list of the local unit of work; and

mark the initiator region identifier within the participant list as an initiator of the portion of the transaction;

invoke processing of the local unit of work with at least one transaction participant, the computer readable program code when executed on the computer causing the computer to:

add an identifier of each of the at least one transaction participant to the participant list;

receive an indication from the initiator region to assume a role of transaction coordinator for the transaction; and

instruct the initiator region to commit last relative to the at least one transaction participant of the local unit of work.

11. The computer program product of claim 10 , where in causing the computer to receive the indication from the initiator region to assume the role of transaction coordinator for the transaction, the computer readable program code when executed on the computer causes the computer to receive a syncpoint commit instruction from the initiator region as part of a last agent protocol implemented by the initiator region, where the initiator region is indoubt with respect to the transaction until the initiator region is instructed to commit last relative to the at least one transaction participant of the local unit of work.

12. The computer program product of claim 10 , where in causing the computer to instruct the initiator region to commit last relative to the at least one transaction participant of the local unit of work, the computer readable program code when executed on the computer causes the computer to utilize an implicit forget commit response acknowledgment protocol, and the computer readable program code when executed on the computer further causes the computer to:

receive a piggy-backed commit acknowledgement from the initiator region as part of a message associated with a different transaction.

13. A computer program product, comprising:

a computer readable storage medium having computer readable program code embodied therewith, where the computer readable program code when executed on a computer causes the computer to:

receive, at a distributed transaction system operating under a multi-tier two-phase commit protocol, a portion of a transaction from an initiator region;

establish a local unit of work that represents the portion of the transaction received from the initiator region;

invoke processing of the local unit of work with at least one transaction participant;

receive an indication from the initiator region to assume a role of transaction coordinator for the transaction;

instruct the at least one transaction participant to prepare to commit under the multi-tier two-phase commit protocol;

identify the initiator region as an initiator of the portion of the transaction within a participant list of the local unit of work;

instruct each of the at least one transaction participant other than the identified initiator within the participant list to commit under the multi-tier two-phase commit protocol; and

instruct the initiator region to commit last relative to the at least one transaction participant of the local unit of work, the computer readable program code when executed on the computer causing the computer to instruct the initiator region to commit in response to receiving a commit acknowledgement from each of the at least one transaction participant other than the identified initiator.

14. The computer program product of claim 13 , where in causing the computer to receive the indication from the initiator region to assume the role of transaction coordinator for the transaction, the computer readable program code when executed on the computer causes the computer to receive a syncpoint commit instruction from the initiator region as part of a last agent protocol implemented by the initiator region, where the initiator region is indoubt with respect to the transaction until the initiator region is instructed to commit last relative to the at least one transaction participant of the local unit of work.

15. The computer program product of claim 13 , where in causing the computer to instruct the initiator region to commit last relative to the at least one transaction participant of the local unit of work, the computer readable program code when executed on the computer further causes the computer to utilize an implicit forget commit response acknowledgment protocol, and the computer readable program code when executed on the computer further causes the computer to:

receive a piggy-backed commit acknowledgement from the initiator region as part of a message associated with a different transaction.

16. A computer program product, comprising:

a computer readable storage medium having computer readable program code embodied therewith, where the computer readable program code when executed on a computer causes the computer to:

receive, at a distributed transaction system operating under a multi-tier two-phase commit protocol, a portion of a transaction from an initiator region;

establish a local unit of work that represents the portion of the transaction received from the initiator region;

invoke processing of the local unit of work with at least one transaction participant, the computer readable program code when executed on the computer causing the computer to:

invoke processing of at least one portion of the local unit of work with a remote system that operates using a call and return model;

receive an indication from the initiator region to assume a role of transaction coordinator for the transaction; and

instruct the initiator region to commit last relative to the at least one transaction participant of the local unit of work, the computer readable program code when executed on the computer causing the computer to:

instruct the remote system to commit the at least one portion of the local unit of work;

receive a commitment acknowledgement of the at least one portion of the local unit of work under the call and return model from the remote system; and

instruct the initiator region to commit in response to a polled return confirmation of commitment from the remote system under the call and return model.

17. The computer program product of claim 16 , where in causing the computer to receive the indication from the initiator region to assume the role of transaction coordinator for the transaction, the computer readable program code when executed on the computer causes the computer to receive a syncpoint commit instruction from the initiator region as part of a last agent protocol implemented by the initiator region, where the initiator region is indoubt with respect to the transaction until the initiator region is instructed to commit last relative to the at least one transaction participant of the local unit of work.

18. The computer program product of claim 16 , where in causing the computer to instruct the initiator region to commit last relative to the at least one transaction participant of the local unit of work, the computer readable program code when executed on the computer further causes the computer to utilize an implicit forget commit response acknowledgment protocol, and the computer readable program code when executed on the computer further causes the computer to:

receive a piggy-backed commit acknowledgement from the initiator region as part of a message associated with a different transaction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2012
From: MITCHELL, IAN J.; WRIGHT, ANDREW; ZACHARY, DANIEL W.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029374/0212 →
Continuity (1)
Related Publication 20140149483A1 · May 29, 2014