Patent ID: 7685188

Claim:
A method implemented in a computing system that includes one or more processors and system memory, the method for causing the computing system to execute a transaction of direct methods in a manner that the effects of the transaction may be at least partially undone even though a custom inversion process was not previously constructed for the transaction, the method comprising the following: creating a mapping between each of a plurality of groups of one or more direct methods with a corresponding group of one or more inversion methods, wherein a direct method is a method undone by a group of one or more of the inversion methods; after creating the mapping, beginning a transaction; running a group of one or more direct methods as part of the transaction, the group being one of the plurality of groups of one or more direct methods; within the transaction, using the mapping and identifying the corresponding group of one or more inversion methods corresponding to the group of one or more direct methods; and recording the identity of the corresponding group of one or more inversion methods in a compensation record for the transaction, wherein the corresponding group of one or more inversion methods is in the mapping and is reusable for a plurality of different transactions and, when invoked, undoes only a portion of the transaction, and independent of other transactions and other parts of the transaction, by undoing only actions of the transaction corresponding to the group of one or more direct methods run as a part of the transaction.