Shared Transaction Log for Cluster Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application server clusters face challenges in ensuring high availability of Global/XA transactions due to potential transactional inconsistencies and prolonged resource locks, which affect performance and reliability.

Innovation Solution

A method is implemented to manage transaction processing by logging transactions, detecting failures, taking ownership of locked resources, and recovering transactions using a peer process within the cluster, employing a two-phase commit protocol and shared logging to ensure timely recovery and resource unlocking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single application server process is used to manage transactions, then transaction processing is simple to implement, but system availability decreases when the process fails

Engineering Contradiction:
Improvetransaction availabilityVSAvoidcluster coordination complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a shared transaction log as an intermediary between application server processes. When a process fails, other processes can access the shared log to recover transactions without complex peer-to-peer coordination. The log acts as a mediator that simplifies the recovery mechanism while maintaining high availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent combines multiple processes' transaction logs into a shared log structure that is accessible by all processes in the cluster. This merging allows any process to take over transaction management from a failed process by accessing its logged transactions, thereby improving availability without requiring complex inter-process communication protocols.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If transaction logs are locked during processing to ensure consistency, then data integrity is maintained, but resource locks are prolonged causing performance degradation

Engineering Contradiction:
Improvetransactional consistencyVSAvoidcluster performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary logging of all transaction operations before committing them. By recording transactions in the shared log first and then using lightweight locks during commit, the system maintains consistency while minimizing lock duration. This preliminary action allows for faster lock release and improved overall performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the heavy locking mechanism from the transaction processing path by using asynchronous logging. Transactions are logged without acquiring expensive locks, and lock acquisition is delayed until commit time when necessary. This separation reduces prolonged locking and improves throughput.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If any application server can access any transaction log in the cluster, then transaction recovery availability is improved, but access control complexity increases

Engineering Contradiction:
Improverecovery availabilityVSAvoidaccess control mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal shared log structure that serves multiple functions: it acts as both the primary transaction log and the recovery mechanism for the entire cluster. Any process can access any log entry, eliminating the need for complex access control lists or permission management while maintaining security through the log's inherent transactional guarantees.

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

Data Source

PatentUS8127175B2High availability of JCA inflowed transactions
Publication Date: 2012.02.28 ORACLE INT CORP
  • US8127175B2 patent drawing
  • US8127175B2 patent drawing
  • US8127175B2 patent drawing

AI summary

Recovery of inflowed transactions are provided by any instance in a cluster, along with peer recovery of transactions in a cluster, and administrative functionality related to these aspects. A method of managing transaction processing comprises performing transaction processing using a first process, wherein the first process logs the transaction processing that it performs, detecting failure of the first process, wherein the transaction logs of the first process are locked, taking ownership of the locked transaction logs of the first process at a second process, unlocking the locked transaction logs of the first process for use by the second process, and recovering at least one transaction using the transaction logs.