Automated Transaction Compensation via Inversion Method Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems lack mechanisms to partially undo the effects of committed transactions without requiring custom software, limiting flexibility in managing disruptions during long-running transactions.
Innovation Solution
A mechanism that maintains a mapping between direct methods and inversion methods, allowing the computing system to automatically generate compensation procedures to undo transaction effects by saving corresponding inversion method identities and parameter values in a compensation record, which can be used to revert transactions even after they are committed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If custom software is developed to undo committed transactions, then the ability to reverse transactions is improved, but the complexity and development time increase significantly
Solution Approach 1:
The system performs self-service by automatically generating compensation procedures from the transaction log and method definitions without requiring custom software development. The compensation manager autonomously retrieves original method definitions, generates inverse method calls, and executes them to undo transaction effects.
Solution Approach 2:
The system performs preliminary action by maintaining a comprehensive transaction log that records all method invocations, parameters, and return values before transactions are committed. This pre-captured information enables automatic generation of compensation procedures without requiring custom development at the time of reversal.
2Reliability
If transactions are committed to ensure durability, then data consistency is improved, but the ability to undo transactions is lost
Solution Approach 1:
The compensation manager acts as an intermediary between the committed transaction and the undo operation. It retrieves the transaction log, generates appropriate compensation procedures based on method definitions, and executes them sequentially to reverse transaction effects while maintaining data consistency.
Solution Approach 2:
The system implements feedback by recording all transaction details in the transaction log and using this information to generate compensation procedures. The compensation process continuously monitors the reversal of each operation and ensures that the system returns to its pre-transaction state.
3Adaptability or versatility
If comprehensive transaction logging is maintained to enable undo operations, then the ability to compensate transactions is improved, but the storage requirements and processing overhead increase
Solution Approach 1:
The system extracts only the essential information needed for compensation from transactions, storing method names, parameter values, and return values in the transaction log. This selective extraction captures sufficient detail for generating compensation procedures while minimizing storage requirements compared to logging complete transaction states.
Data Source
AI summary
Mechanisms for executing a transaction such that it may be undone after being committed. The mechanism maintains a mapping between each of a number of groups of one or more direct methods with a corresponding group of one or more inversion methods, that, when executed, causes the computing system to at least partially undo the effects of the execution of the corresponding group of direct methods. Upon beginning a transaction, the computing system runs a one or more groups of one or more direct methods that are part of the transaction. The mapping is then used to identify the corresponding group(s) of inversion methods. The identities of each corresponding group of inversion methods are then saved to a compensation record. The transaction is then committed, and the compensation record is saved to a persistent media along with a transaction identifier.


