Patent ID: 8103643

Claim:
A non-transitory computer readable medium, embodying instructions executable by the computer to perform method steps for performing a distributed transaction of a plurality of nodes, the instructions comprising functionality to: in response to receiving a lock request comprising a first message epoch from a first cluster node of the plurality of nodes, set a first local epoch to a maximum of the first message epoch and the local epoch to obtain a second local epoch; send a first lock comprising the second local epoch to the first cluster node; in response to receiving a conflicting lock request comprising a second message epoch from a second cluster node of the plurality of nodes, set the second local epoch to a maximum of the second message epoch and the second local epoch to obtain a third local epoch, wherein the conflicting lock request is delayed until after the first lock is released; in response to receiving a reintegration request comprising a third message epoch from the first cluster node, set the third local epoch to a maximum of the third message epoch and the third local epoch to obtain a fourth local epoch; perform a reintegration based on the reintegration request, wherein the reintegration is logged using the fourth local epoch; receive a lock release request comprising a fourth message epoch from the first cluster node; and after setting the fourth local epoch to a maximum of the fourth message epoch and the fourth local epoch to obtain a fifth local epoch, release the first lock and send a second lock comprising the fifth local epoch to the second cluster node.