System and method for supporting mixed-phase transactions in an object-oriented environment
First Claim
1. A method for supporting a plurality of different commit procedures in a distributed object-oriented transaction processing environment, the method comprising the steps, all performed within a single global transaction commit cycle, of:
- a transaction manager on a first server selectively registering distributed object resources requested by a client application for a global transaction as being updateable and committable by either a single-phase, two-phase, or mixed-phase protocol, wherein the object resources are distributed among a plurality of servers including the first server, wherein at least one of the plurality of servers has a transaction manager supporting a single-phase commit protocol, and wherein at least one other of the plurality of servers has a transaction manager supporting a two-phase commit protocol; and
the transaction manager on the first server selectively attempting to commit the registered resources using either the single-phase, two-phase or mixed-phase commit protocol in accordance with the results of the registration step, wherein the transaction manager attempting to commit a registered resource using the mixed-phase commit protocol comprises the steps of;
preparing to commit all resources registered as updateable and committable by the two-phase protocol;
attempting to commit all resources registered as updateable and committable by the single-phase protocol;
rolling-back any resources registered as updateable and committable by the single-phase commit protocol and any resources registered as updateable and committable by the two-phase commit protocol if the attempt to commit a resource registered as updateable and committable by the single-phase protocol was unsuccessful; and
attempting to commit all resources registered as updateable and committable by the two-phase commit protocol if the attempt to commit all resources registered as updateable and committable by the single-phase protocol was successful.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, method, and apparatus for ensuring data integrity in a distributed object-oriented transaction processing environment, including support of single- and two-phased commit protocol transactions with a new protocol defined as a mixed-phase commit protocol. A root transaction manager on a server registers distributed object resources requested by a client application for a global transaction as being committable by either the single-phase, two-phase, or mixed-phase protocol. The root transaction manager commits the registered resources in accordance with the results of the registration step.
-
Citations
23 Claims
-
1. A method for supporting a plurality of different commit procedures in a distributed object-oriented transaction processing environment, the method comprising the steps, all performed within a single global transaction commit cycle, of:
-
a transaction manager on a first server selectively registering distributed object resources requested by a client application for a global transaction as being updateable and committable by either a single-phase, two-phase, or mixed-phase protocol, wherein the object resources are distributed among a plurality of servers including the first server, wherein at least one of the plurality of servers has a transaction manager supporting a single-phase commit protocol, and wherein at least one other of the plurality of servers has a transaction manager supporting a two-phase commit protocol; and the transaction manager on the first server selectively attempting to commit the registered resources using either the single-phase, two-phase or mixed-phase commit protocol in accordance with the results of the registration step, wherein the transaction manager attempting to commit a registered resource using the mixed-phase commit protocol comprises the steps of; preparing to commit all resources registered as updateable and committable by the two-phase protocol; attempting to commit all resources registered as updateable and committable by the single-phase protocol; rolling-back any resources registered as updateable and committable by the single-phase commit protocol and any resources registered as updateable and committable by the two-phase commit protocol if the attempt to commit a resource registered as updateable and committable by the single-phase protocol was unsuccessful; and attempting to commit all resources registered as updateable and committable by the two-phase commit protocol if the attempt to commit all resources registered as updateable and committable by the single-phase protocol was successful. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for supporting a plurality of different commit procedures in a distributed object-oriented transaction processing environment including a plurality of server computers over which objects are distributed and at least one client application, the system comprising:
-
a server computer denominated as the root server having a processing unit coupled with main memory and further coupled with storage; and a transaction manager operating in the main memory of the root server that is configured for communicating with the processing unit to perform the computer-executed steps, all performed within a single transaction commit cycle, of; selectively registering distributed object resources requested by a client application for a global transaction as being updateable and committable by either a single-phase, two-phase, or mixed-phase protocol, wherein the object resources are distributed among the plurality of server computers including the root server, wherein at least one of the plurality of servers has a transaction manager supporting a single-phase commit protocol, and at least one other of the plurality of servers has a transaction manager supporting a two-phase commit protocol; and the transaction manager on the root server selectively attempting to commit the registered resources using either the single-phase, two-phase or mixed-phase commit protocol in accordance with the results of the registration step, wherein the transaction manager attempting to commit a registered resource using the mixed-phase commit protocol comprises the steps of; preparing to commit all resources registered as updateable and committable by the two-phase protocol; attempting to commit all resources registered as updateable and committable by the single-phase protocol; rolling-back any resources registered as updateable and committable by the single-phase commit protocol and any resources registered as updateable and committable by the two-phase commit protocol if the attempt to commit a resource registered as updateable and committable by the single-phase protocol was unsuccessful; and attempting to commit all resources registered as updateable and committable by the two-phase commit protocol if the attempt to commit all resources registered as updateable and committable by the single-phase protocol was successful. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. An apparatus for supporting a plurality of different commit procedures in a distributed object-oriented transaction processing environment including a plurality of server computers over which objects are distributed and at least one client application, comprising:
-
a first server computer including a processing unit; a main memory for executing a computer program that is in communication with the processing unit; and transaction manager logic operating in main memory of the first server and an object transaction service module that further includes a registration module and a commit module, wherein the registration module includes computer-executable logic that enables it to selectively register distributed object resources requested by a client application for a global transaction as being updateable and committable by either a single-phase, two-phase, or mixed-phase protocol, wherein the object resources are distributed among the plurality of servers including the first server, wherein at least one of the plurality of servers has a transaction manager supporting a single-phase commit protocol, and at least one other of the plurality of servers has a transaction manager supporting a two-phase commit protocol; and the commit module includes computer-executable logic for selectively committing the registered resources in accordance with the results of the registration step, wherein the computer-executable logic for committing a resource registered as updateable and committable by the mixed-phase commit protocol comprises; computer-executable logic for preparing to commit all resources registered as updateable and committable by the two-phase protocol; computer-executable logic for attempting to commit all resources registered as updateable and committable by the single-phase protocol; computer-executable logic for rolling-back any resources registered as committable by the single-phase commit protocol and any resources registered as updateable and committable by the two-phase commit protocol if the attempt to commit a resource registered as updateable and committable by the single-phase protocol was unsuccessful; and computer-executable logic for attempting to commit all resources registered as updateable and committable by the two-phase commit protocol if the attempt to commit all resources registered as updateable and committable by the single-phase protocol was successful.
-
-
23. A program-product for use in a computer system for supporting a plurality of different commit procedures in a distributed object-oriented transaction processing environment including a plurality of server computers over which objects are distributed and at least one client application, comprising:
-
a registration module that selectively registers distributed object resources requested by a client application for a global transaction as being updateable and committable by either a single-phase, two-phase, or mixed-phase protocol, wherein the registration module is executed on the computer system, wherein the object resources are distributed among the plurality of servers including the first server, wherein at least one of the plurality of servers has a transaction manager supporting a single-phase commit protocol, and at least one other of the plurality of servers has a transaction manager supporting a two-phase commit protocol; a commit module that selectively commits the registered resources in accordance with the results of the registration step when the commit module is executed on the computer system; and signal-bearing media, bearing the registration and commit modules; wherein the commit module commits each resource registered as updateable and committable by the mixed-phase commit by, as a first step, preparing to commit all resources registered as updateable and committable by the two-phase protocol; wherein the commit module commits each resource registered as updateable and committable by the mixed-phase commit by, as a second step, attempting to commit all resources registered as updateable and committable by the single-phase protocol; wherein the commit module commits each resource registered as updateable and committable by the mixed-phase commit by, as a third step, rolling-back any resources registered as updateable and committable by the single-phase commit protocol and any resources registered as updateable and committable by the two-phase commit protocol if the attempt to commit a resource registered as updateable and committable by the single-phase protocol was unsuccessful; and wherein the commit module commits each resource registered as updateable and committable by the mixed-phase commit by, as a fourth step, attempting to commit all resources registered as updateable and committable by the two-phase commit protocol if the attempt to commit all resources registered as updateable and committable by the single-phase protocol was successful.
-
Specification