Asynchronous Fallback Save for Large Transaction Timeouts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for saving large transactions or records in cloud-based applications often experience time-out issues, leading to data corruption, loss, and workflow interruptions due to the limitations of client-server connection timeouts.
Innovation Solution
Implementing asynchronous fallback save operations, where large transactions are saved in a background thread pool, allowing the save operation to continue even after the client-server connection times out, with notifications to the user on completion or errors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous save operations are used for large transactions, then data consistency is ensured, but connection timeout occurs and causes data loss
Solution Approach 1:
The save operation is segmented into two phases: an initial synchronous save that establishes data consistency, and a subsequent asynchronous fallback save that completes the operation without requiring maintaining connection. This segmentation allows the system to ensure data consistency while avoiding connection timeout issues.
Solution Approach 2:
The system performs a preliminary synchronous save operation to establish data consistency before the connection times out. This preliminary action ensures that the core data integrity requirements are met, and any remaining save operations can proceed asynchronously without compromising consistency.
2Reliability
If connection timeout is prevented by extending save duration, then data loss is avoided, but user workflow is interrupted
Solution Approach 1:
The system extracts the time-consuming portion of the save operation to run asynchronously in the background, separate from the user's workflow. This allows the main save operation to complete reliably without blocking the user, as the lengthy processing occurs independently after the user continues working.
Solution Approach 2:
The save operation continues in the background after the initial synchronous phase completes, ensuring the data save process is not interrupted by connection timeouts. This continuous background operation prevents data loss while allowing the user's workflow to proceed without waiting for completion.
3Productivity
If asynchronous save is implemented, then workflow interruption is eliminated, but data consistency may be compromised
Solution Approach 1:
The save operation is divided into a synchronous segment that guarantees data consistency and an asynchronous segment that maintains workflow continuity. The synchronous portion establishes the foundational data state, while the asynchronous portion completes the operation without requiring user waiting, thus maintaining both consistency and productivity.
Solution Approach 2:
A preliminary synchronous save operation is performed to establish data consistency before transitioning to asynchronous mode. This preliminary action ensures that the critical data integrity requirements are satisfied, and subsequent asynchronous operations build upon this consistent state without compromising it.
Data Source
AI summary
Asynchronous fallback save operations herein (also referred to herein as a background save) provide a means for saving very large transactions from a client device within a stateless architecture. When dealing with large transactions, it may take a long time to process records—so long that the connection between the server and the client may time out, causing the user to lose all work or progress that was being saved. Thus, the present technology serves to prevent this “time out” problem while simultaneously allowing users to continue working on something else while a save is still completing. In some implementations, once a user has submitted a save request, the save operation may be carried out in a background thread pool, allowing the user to continue move on to a new task.


