Extension of two phase commit protocol to distributed participants
First Claim
1. A method for coordinating updates in a distributed data processing system comprising the steps of:
- notifying, from an external source, a first coordinator on a first system in said distributed data processing system so as to enable said first coordinator to, at a predetermined time, invoke an end-phase-one exit processing, said end-phase-one exit processing comprising a function provided by said external source for performing processing after an end of a phase-one of a plurality of phases;
enabling said end-phase-one exit processing of said first coordinator so that said first coordinator on said first system becomes a sub-coordinator of a second coordinator on a second system in said distributed data processing system, wherein said sub-coordinator notifies participants to perform said phase-one, collects votes from participants within said first system and writes an end-phase-one record of a first system vote to a log when all of said votes are collected;
notifying, by said first coordinator, participants to perform said phase-one;
collecting, by said first coordinator, all votes from all participants on said first system in said distributed data processing system;
writing, by said first coordinator, said end-phase-one record of said first system vote to said log when all votes are collected from all participants on said first system; and
in response to said writing by said first coordinator of said first system, passing control, by said first coordinator, to said end-phase-one exit processing,wherein said votes include an ABSTAIN vote when a participant wants to continue to be involved with a unit of work but does not want to influence a final decision of the unit of work.
0 Assignments
0 Petitions
Accused Products
Abstract
An extension of the two phase commit protocol allows distributed participation among physically distant agents independent of the communications mechanism being used in a data processing system. An extra stage of processing is added to the two phase commit protocol called End Phase One Processing (EPOP) which enables a distribution of the coordinator function across systems using any communication mechanism. EPOP is an extra stage in which a participant can receive control. In this extra stage, a participant flows two phase commit protocol sequences to distributed systems. The communication mechanism is used in such a way that it becomes part of a distributed coordinator. The coordinator itself does not need knowledge of other systems. The extra stage of processing is enabled by an operating system service called Enable End Phase One Exit Processing (EEPOEP). EEPOEP causes an extension of two phase commit protocol to be used on the issuing system. In this way, not only distributed databases can be supported, but also distributed users and distributed generic resource managers. A new response, called ABSTAIN, can be used by a resource manager in response to a PREPARE signal from the coordinator. This response from the resource manager to the coordinator indicates that the resource manager wants to continue to be involved with the unit of work two phase commit process but does not want to influence the final decision (i.e., COMMIT or BACKOUT) of the unit of work.
-
Citations
21 Claims
-
1. A method for coordinating updates in a distributed data processing system comprising the steps of:
-
notifying, from an external source, a first coordinator on a first system in said distributed data processing system so as to enable said first coordinator to, at a predetermined time, invoke an end-phase-one exit processing, said end-phase-one exit processing comprising a function provided by said external source for performing processing after an end of a phase-one of a plurality of phases; enabling said end-phase-one exit processing of said first coordinator so that said first coordinator on said first system becomes a sub-coordinator of a second coordinator on a second system in said distributed data processing system, wherein said sub-coordinator notifies participants to perform said phase-one, collects votes from participants within said first system and writes an end-phase-one record of a first system vote to a log when all of said votes are collected; notifying, by said first coordinator, participants to perform said phase-one; collecting, by said first coordinator, all votes from all participants on said first system in said distributed data processing system; writing, by said first coordinator, said end-phase-one record of said first system vote to said log when all votes are collected from all participants on said first system; and in response to said writing by said first coordinator of said first system, passing control, by said first coordinator, to said end-phase-one exit processing, wherein said votes include an ABSTAIN vote when a participant wants to continue to be involved with a unit of work but does not want to influence a final decision of the unit of work. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for coordinating updates in a distributed data processing system using a commit protocol and including at least a first machine running a first operating system and a second machine running a second operating system, said method comprising the steps of:
-
sending by said first operating system a prepare signal to participants on said first machine, one of said participants being a first communication manager communicating with a second communication manager on said second machine, said first communication manager sending the prepare signal to said second communication manager; notifying, by said second communication manager, in response to said prepare signal from said first communication manager, said second operating system to enable an end-phase-one exit so that said second operating system becomes a sub-coordinator of a coordinator function of said first operating system, said sub-coordinator notifies participants to perform a phase-one of a plurality of phases, collects votes from participants on said second machine and writes an end-phase-one record of a second machine vote to a log when all of said votes are collected, said end-phase-one record representing an end of said phase-one, said end-phase-one exit comprising a function for informing said second communications manager of a result from said phase-one processing, said second communication manager informing said first communication manager of the result from said second system in response to said first system'"'"'s prepare signal; sending by said second operating system a prepare signal to participants on said second machine; receiving votes by said second operating system from said participants on said second machine; and passing control from said second operating system to said second communication manager of said second operating system using the end-phase-one exit, said second communication manager sending said votes to said first communication manager, wherein said votes include an ABSTAIN vote when a participant wants to continue to be involved with a unit of work but does not want to influence a final decision of the unit of work. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A distributed data processing system which implements an extended two phase commit protocol including a first phase representing a phase-one of said commit protocol, said system comprising:
-
at least a first machine running a first operating system, said first operating system supporting a first plurality of participants including a first communication manager; at least a second machine running a second operating system, said second operating system supporting a second plurality of participants including a second communication manager; and communication means for interconnecting said first and second communication managers, said first operating system sending a prepare signal to said first plurality of participants on said first machine and said first communication manager sending the prepare signal to said second communication manager, said second operating system, in response to a prepare signal from said first communication manager, notifying said second communication manager to enable an end-phase-one exit so that said second operating system becomes a subcoordinator of a coordinator function of said first operating system, said subcoordinator notifies participants to perform said phase-one, collects votes from participants on said second operating system and writes an end-phase-one record of said second operating system vote to a log when all said votes are collected, said end-phase-one exit comprising a function for informing said second communication manager that said second operating system is said sub-coordinator of said coordinator function of said first operating system and informing said second communication manager of an outcome of said votes from participants on said second operating system, said second operating system sending a prepare signal to participants on said second machine, said second operating system writing said end-phase-one record of a vote by said participants on said second machine to a second machine log, and after writing to said second machine log, passing control to said second communication manager using the end-phase-one exit, said second communication manager sending said vote to said first communication manager, wherein said votes include an ABSTAIN vote when a participant wants to continue to be involved with a unit of work but does not want to influence a final decision of the unit of work. - View Dependent Claims (18, 19, 20, 21)
-
Specification