Interdependent Transaction Caching for Data Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current communication systems between software applications in computer architectures face inefficiencies when handling interdependent transactions, leading to time-consuming rejections and re-executions due to inconsistent data, especially when a single request cannot modify data consistently without prior transaction context.
Innovation Solution
A system and method where a target system temporarily caches interdependent requests and data, creates a transaction, and sends a notification with a transaction identifier to the requesting system, allowing for partial execution and subsequent validation within the transaction context, thereby optimizing the processing of interdependent transactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the target system processes requests without transaction context, then processing speed is improved, but data consistency deteriorates
Solution Approach 1:
The target system performs preliminary validation when a request arrives to determine if it requires transaction context. If the request depends on other data, the system proactively creates a transaction and stores the request in a temporary cache before processing, rather than rejecting it outright or processing it immediately without context.
Solution Approach 2:
A temporary cache acts as an intermediary storage mechanism between the requesting system and the target system's permanent storage. Requests requiring transaction context are stored in this intermediate cache with associated metadata, allowing the system to maintain data consistency while enabling efficient batch processing when transaction context becomes available.
2Reliability
If the target system rejects requests without transaction context, then data consistency is maintained, but processing efficiency deteriorates
Solution Approach 1:
The system performs preliminary validation to identify requests that require transaction context and prepares them by creating transactions and storing them in temporary cache. This preliminary preparation prevents subsequent rejections and re-executions, improving overall processing efficiency while maintaining data consistency.
Solution Approach 2:
The system implements a feedback mechanism where the target system sends notifications to the requesting system about transaction status. When a request is stored in temporary cache awaiting transaction context, the system notifies the requesting system, which can then provide the necessary context or rollback the transaction, creating a closed-loop feedback system that improves processing efficiency.
3Reliability
If the system requires explicit transaction context for each request, then data consistency is improved, but system complexity deteriorates
Solution Approach 1:
The target system automatically determines whether a request requires transaction context by validating the request against available data. When a request needs transaction context, the system automatically creates the transaction and stores the request in temporary cache, eliminating the need for the requesting system to manually manage transaction context and reducing overall system complexity.
4Productivity
If the system caches requests in temporary storage, then processing efficiency is improved, but memory usage deteriorates
Solution Approach 1:
The system implements partial caching by only storing requests that require transaction context in the temporary cache, rather than caching all requests. This selective approach improves processing efficiency for the specific subset of requests that need it while minimizing unnecessary memory usage for requests that can be processed immediately.
Data Source
AI summary
A system, method, and computer program product are provided for processing interdependent transactions between a requesting system and a target system. In use, a first request to process associated first data is received at a target system, the first request being received from a requesting system. Further, it is determined that processing of the first data by the target system is dependent on processing of second data associated with at least one second request. Responsive to determining that the processing of the first data by the target system is dependent on processing the second data by at least one second request, the first request and the associated first data are stored in the target system, in a temporary cache, a transaction is created by the target system, a notification is sent to the requesting system indicating that processing of the first data was not completed, and a transaction identifier associated with the transaction is sent to the requesting system.


