Distributed Transaction Recovery via Log Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetransaction recoverabilityVSAvoidrecovery throughput
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple application servers share transaction log responsibility, then recovery throughput increases through parallel processing, but system complexity increases due to coordination requirements

Engineering Contradiction:
Improverecovery throughputVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improveservice availabilityVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9417977B2Distributed transactional recovery system and method
Publication Date: 2016.08.16 SAP SE
  • US9417977B2 patent drawing
  • US9417977B2 patent drawing
  • US9417977B2 patent drawing

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.