Patent ID: 7984020

Claim:
A method for allowing a return to an earlier version within a multiple-object infrastructure, comprising: responsive to a requested change in a first software business object, requesting a first sync point associated with the first object to allow the return to the earlier version; creating a first buffer contained within the first object to store data relating to the requested change, the first buffer associated with the first sync point; responsive to the requested change in the first object triggering a first modify call in a second business object, notifying a service manager application component of the first modify call in the second business object; creating a second buffer contained within the second object and associated with the first sync point to store data relating to the triggered first modify call; routing the first modify call from the first object to the second object for implementation; responsive to the first modify call in the second object triggering a second modify call in a third business object, requesting a second sync point associated with the second object; creating a third buffer contained within the second object and associated with the second sync point to store data relating to the triggered second modify call; notifying the service manager component of the triggered second modify call; creating a fourth buffer contained within a third business object and associated with the first sync point to store data relating to the first modify call; creating a fifth buffer contained within the third object and associated with the second sync point to store data relating to the second modify call; routing the second modify call to the third object for implementation; determining whether an error has occurred during change implementation, responsive to an error occurrence, using the sync point and the buffered data associated with at least one of business objects to effect a rollback to the earlier version of the respective business object, and responsive to no error occurrence, removing the buffers in the following order: first, the fifth buffer associated with the second sync point in the third object, then the third buffer associated with the second sync point in the second object, then the fourth buffer associated with the first sync point in the third object, then the second buffer associated with the first sync point in the second object, and last the first buffer associated with the first sync point in the first object.