Patent ID: 6247038
Filing Date: 2001-06-12
Classification: G06F

Abstract:
In a data processing system including a plurality of agents for participating in a transaction and a coordinator for coordinating said transaction, said agents including at least one middleman coordinating a subset plurality of said agents, a method for providing synchronization of said transaction including the steps of:sending a vote indicating the availability or non-availability to commit from each of said agents in said subset to said middleman, said middleman determining a collective commit or backout decision for said subset;sending a vote indicating the availability or non-availability to commit from said middleman and from said agents outside said subset to said coordinator;determining an overall commit or backout decision by said coordinator when all said votes are received;communicating said overall decision from said coordinator to said middleman and said agents outside said subset and from said middleman to said agents in said subset;in response to loss of contact between said coordinator and said middleman, sending resynchronization initiating messages between said middleman and said coordinator and between agents in said subset and said middleman to cause said coordinator and said plurality of agents to attempt to resynchronize to a consistent state;inhibiting the sending of resynchronization initiating messages from said subset of agents to said middleman, if said decision is not available at said middleman because of said loss of contact; andenabling the sending of resynchronization initiating messages from said subset of agents to said middleman upon availability of said overall decision at said middleman.