Patent ID: 7379444

Claim:
A method, for establishing communications in a distributed data processing system, said method comprising: determining the existence of a state discrepancy between a communication source and a communication destination through the use of a pair wise epoch indication for said communication source and said communication destination; determining from said epoch indications that said state discrepancy indicates that neither said source nor said destination has undergone a system reset and that a failure at said source has occurred; negotiating between said source and said destination to establish a new state at said destination consistent with the state at said source so as to permit said source to exit from a non-ready state with respect to said destination, wherein said negotiating includes the steps of: receiving at said destination a message with a non-matching epoch indication, dropping said message and sending a not-ready acknowledgment message to said source along with the same non-matching epoch indication sent by said source; receiving at said source said not-ready acknowledgment message, setting said source into a non-ready state with respect to said destination, incrementing the received epoch indication and sending a ready request message to said destination; receiving at said destination said ready request message from said source, setting its epoch indication with respect to said source to the received epoch indication and sending a ready acknowledgment message to said source; receiving at said source said ready acknowledgment message, setting its ready state with respect to said destination and transmitting a message to said destination; and receiving said message at said destination with a matching epoch indication and setting its ready state with respect to said source.