Distributed Transaction Recovery via Log Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computing environments, existing application servers lack effective transaction recovery mechanisms, leading to inconsistencies and potential data corruption when handling distributed transactions across multiple resources, especially when application servers crash during incomplete transactions.
Innovation Solution
A system with a transaction log server and multiple application servers that implement a distributed transaction application, where the transaction log is shared and each application server can assume responsibility for orphaned transaction logs, allowing for parallel recovery and instant recovery of pending transactions without a single recovery node.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single application server implements transaction recovery functionality, then transaction recoverability is achieved, but recovery speed and throughput are limited due to sequential processing
Solution Approach 1:
The patent divides the transaction log into multiple portions and assigns each portion to a different application server. This segmentation enables parallel recovery processing across multiple servers, thereby increasing recovery throughput while maintaining transaction recoverability for each segment.
2Productivity
If multiple application servers share transaction log responsibility, then recovery throughput increases through parallel processing, but system complexity increases due to coordination requirements
Solution Approach 1:
The transaction log is segmented into distinct portions with each portion assigned to a specific application server. This clear segmentation reduces coordination complexity by defining explicit boundaries and responsibilities for each server, while still enabling parallel recovery operations.
Solution Approach 2:
Each application server is designed to handle multiple functions: it can process its assigned transaction log portions during normal operation and also serve as a recovery node for those same portions when failures occur. This multi-functionality reduces the need for dedicated recovery infrastructure.
3Productivity
If an application server crashes during an incomplete transaction, then service availability is maintained through failover, but data consistency is compromised due to orphaned transaction logs
Solution Approach 1:
The system performs preliminary actions by maintaining transaction log portions on multiple application servers before failures occur. When a crash happens, the failed server's transaction log portion is already available on another server, enabling immediate recovery without compromising data consistency.
Solution Approach 2:
The transaction log portion acts as an intermediary that carries transaction state information between the failed application server and the recovering server. This intermediary enables the recovering server to understand and complete the orphaned transactions while maintaining consistency.
Data Source
AI summary
In one embodiment the present invention includes a system for transaction recovery in a distributed computing environment. The system includes a transaction log server, application servers, and resource servers. The transaction log server stores a shared transaction log. The application servers implement a distributed transaction application and accesses the shared transaction log when performing a transaction using the distributed transaction application. The resource servers store data and that operate with the application servers to access the data according to the transaction. If one of the application servers fails, another application server assumes responsibility for a portion of the shared transaction log that was previously accessed by the failed application server.


