Micro-Transaction State Recovery via Intent Logging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current web-service implementations face challenges in managing and recovering from multi-service web transactions, particularly in micro-service architectures, where partial failures can leave systems in incorrect states due to assumptions about complete success or failure, leading to performance degradation and autonomy issues with traditional transactional approaches.
Innovation Solution
The implementation of a web services orchestration (WSO) library that enables pseudo-transactional behavior by decomposing macro-transactions into micro-transactions, using compensating functions to undo partial work, and intent-logging for recovery, along with probe transactions to determine the outcome of timed-out micro-transactions, allowing for robust state management and error handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional transactional approaches are used in micro-service architectures, then system autonomy and performance are maintained, but partial failures leave the system in incorrect states due to assumptions of complete success or failure
Solution Approach 1:
The patent segments a macro-transaction into multiple micro-transactions, each with its own state tracking. This allows individual micro-transactions to be managed independently with their own success/failure states, enabling precise error handling without requiring complex global transaction management. The segmentation principle resolves the contradiction by breaking down the monolithic transaction into manageable units that can be tracked and recovered individually.
Solution Approach 2:
The patent implements preliminary action by storing the state of each micro-transaction in a database before execution and updating it based on execution results. This pre-established state tracking mechanism enables recovery operations to be performed without complex real-time coordination, maintaining system autonomy while ensuring transaction completeness through proactive state management.
2Ease of manufacture
If web-services assume complete success or failure in transaction sequences, then implementation is simple, but partial failures create incorrect system states affecting subsequent interactions
Solution Approach 1:
The patent introduces an intermediary state tracking mechanism that records the execution status of each micro-transaction. This intermediary layer between the web-service calls and the system state allows for nuanced handling of partial failures without complicating the web-service implementation. The state database acts as a mediator that captures execution outcomes and enables appropriate recovery actions.
Solution Approach 2:
The patent implements self-service by enabling each micro-transaction to be independently tracked and recovered based on its stored state. The system automatically determines whether to retry or compensate for failed micro-transactions based on their execution history, eliminating the need for complex external coordination while maintaining state correctness through autonomous error handling.
3Reliability
If macro-transactions are decomposed into micro-transactions with state tracking, then partial failures can be properly handled, but database operations and state management increase system complexity
Solution Approach 1:
The patent applies this principle by using simple, lightweight state representations in the database for each micro-transaction. Rather than implementing complex transaction management protocols, the system uses basic state storage and retrieval operations that are inexpensive and efficient. This approach provides robust error handling capability while minimizing the overhead of state management through simple, disposable state records.
Data Source
AI summary
A method is provided, the method including initiating execution of a macro-transaction comprising a set of micro-transactions, wherein execution of a given micro-transaction is based at least on a set of prerequisites associated with the given micro-transaction; causing a pending state of a first micro-transaction to be stored on a database; executing the first micro-transaction; and updating the state of the first micro-transaction in the database based at least on a result returned in response to executing of the first micro-transaction. An apparatus and computer program product are also provided.


