Patent ID: 7720992

Claim:
A computer program, tangibly stored on a machine-readable storage device, comprising instructions operable to cause a computer to: receive an operation request at a local component from a remote component; provisionally execute an operation identified by the operation request at the local component; generate tentative data based on the provisionally executed operation and store the tentative data in a temporary data store at the remote component; generate a compensate message at the local component in response to receiving the operation request, wherein the compensate message contains a transaction identifier identifying the operation request, and a flag indicating the unsuccessful completion of the operation; store the compensate message in a message store at the local component; if and only if the successful completion of the operation is detected, generate a confirmation message, wherein the confirmation message contains the transaction identifier as well as a flag indicating the successful completion of the operation, store the confirmation message in the message store, such that the confirmation message replaces the compensate message in the message store; if and only if the failure of the operation is detected, provide that, and with respect to the operation, only the compensate message remains in the message store; transmit one of the compensate message and the confirmation message stored in the message store to the remote component, the tentative data being converted to final data if the confirmation message is transmitted, and the tentative data being deleted if the compensate message is transmitted; and revert at least one of the local component and the remote component to a state prior to provisional execution of the operation based on the transaction identifier by reversing individual processes of the operation request.