Distributed Transaction Manager Isolation for Cluster Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for global transactions in computer systems face challenges in ensuring atomicity and recovery, particularly when the transaction manager fails, leading to application hangs and non-recoverable transactions due to locked resources and indeterminate states.

Innovation Solution

A distributed transaction management system where each application server has its own transaction manager instance, with shared highly available storage for transaction logs, allowing for recovery of in-flight transactions across nodes in case of failure, and a Domain Administration Server or peer monitoring for failure detection and recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single centralized transaction manager is used to coordinate global transactions across multiple backend systems, then transaction coordination and atomicity can be ensured, but the system becomes vulnerable to single points of failure and cannot provide recovery when the transaction manager fails

Engineering Contradiction:
Improvetransaction manager availabilityVSAvoidtransaction management architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the single centralized transaction manager into multiple distributed transaction manager instances, each capable of coordinating transactions independently. This segmentation eliminates the single point of failure while maintaining transaction coordination capabilities across the distributed system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a transaction log as an intermediary component that stores transaction state information independently of any single transaction manager instance. This mediator enables recovery by allowing any transaction manager instance to retrieve and continue coordinating transactions even after failures.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a robust two-phase commit protocol is implemented to allow recovery from participant failures, then transaction atomicity can be maintained, but the protocol cannot provide recovery when the transaction manager itself fails

Engineering Contradiction:
Improvetransaction recovery capabilityVSAvoidtransaction completion time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by logging transaction state information to persistent storage before transaction completion. This preliminary logging enables rapid recovery without requiring time-consuming reconstruction of transaction state after failures.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of transaction state information in the transaction log that can be accessed by any transaction manager instance. This copying mechanism allows failed transactions to be recovered by different instances without loss of time, as the state information is immediately available.

Inventive Principle:
Principle #26Copying

3Reliability

If transaction logs are maintained locally on each application server node, then node independence can be achieved, but logs become inaccessible when the node fails

Engineering Contradiction:
Improvelog availability for recoveryVSAvoidstorage architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a shared transaction log storage system that serves multiple functions: it stores transaction state for active transactions, enables recovery for failed transactions, and provides accessibility to any transaction manager instance in the cluster. This universal storage architecture ensures log availability regardless of which node fails.

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

4Productivity

If a centralized transaction manager coordinates all transactions in the cluster, then consistent transaction management can be achieved, but performance bottlenecks and scalability issues occur when multiple application server nodes are included

Engineering Contradiction:
Improvetransaction processing throughputVSAvoidsingle point of failure
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the transaction management function across multiple independent instances distributed throughout the cluster. Each instance handles transactions locally, eliminating the centralized bottleneck and improving throughput while maintaining reliability through distribution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimension centralized architecture to a multi-dimensional distributed architecture where transaction managers are spread across multiple nodes in the cluster. This dimensional change enables parallel transaction processing and eliminates single points of failure.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS7730489B1Horizontally scalable and reliable distributed transaction management in a clustered application server environment
Publication Date: 2010.06.01 ORACLE AMERICAN INC
  • US7730489B1 patent drawing
  • US7730489B1 patent drawing
  • US7730489B1 patent drawing

AI summary

Various embodiments of a cluster of application servers in a networked computer system in which each application server includes a separate transaction manager instance are disclosed. In one embodiment, a separate transaction manager instance may be used to coordinate transactions initiated by an application component executing in process with the application server for a node of a cluster. If each transaction manager instance manages only transactions initiated within its own application server, then the loss of a single transaction manager instance may have no detrimental effect on transactions initiated in other nodes of the cluster. Further, if each transaction manager instance maintains its transaction logs in highly available memory accessible to all nodes of the cluster, in flight transactions of a failed node may be recovered by an instance in a different node.