Transaction Manager Instance Awareness for Multi-Branch Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current transactional middleware systems face performance issues when handling distributed transactions across multiple database instances, leading to errors like XAER_AFFINITY and increased cross-instance traffic, as they assume a single transaction branch for all servers in a group, which is not feasible with multi-instance databases like Oracle RAC.

Innovation Solution

The system allows a single Tuxedo group to associate with multiple resource managers and database instances, using a non-singleton service to connect to different database instances, enabling multiple transaction branches and optimizing transactions through instance awareness and shared memory storage of transaction identifiers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single transaction branch is used for all servers in a group, then system simplicity is maintained, but affinity errors occur and cross-instance traffic increases when using multi-instance databases

Engineering Contradiction:
Improvetransaction success rateVSAvoidtransaction branch management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the single transaction branch into multiple transaction branches, each associated with a specific database instance. This allows servers in a group to connect to different database instances without causing affinity errors, as each branch is properly bound to its target instance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to transaction branch identification by incorporating database instance identifiers into the branch qualification. This transforms the traditional single-dimension branch ID into a multi-dimensional identifier that includes both group information and instance information, enabling proper routing to multi-instance databases.

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

2Productivity

If multiple transaction branches are implemented for different database instances, then affinity errors are avoided and cross-instance traffic is reduced, but system complexity increases

Engineering Contradiction:
Improvetransaction throughputVSAvoidtransaction identifier management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by pre-establishing transaction branches with their corresponding database instance associations before transactions occur. The transaction manager proactively creates and configures multiple branches with proper instance bindings, so that when transactions need to access different instances, the pathways are already prepared and optimized.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a transaction manager as an intermediary that manages the complexity of multiple transaction branches and identifiers. This intermediary component handles the coordination between servers and multiple database instances, managing the branch qualification and instance mapping, thereby shielding application servers from the complexity while enabling high throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If cross-instance traffic is allowed, then flexibility in database access is maintained, but performance decreases due to increased network overhead

Engineering Contradiction:
Improvedatabase instance accessibilityVSAvoidtransaction processing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies local quality by binding each transaction branch to a specific database instance location. This creates a localized connection path from servers to their target instances, reducing the need for cross-instance network traffic. Each branch has optimized local connectivity to its associated instance, improving transaction processing speed while maintaining adaptability through the ability to select appropriate instances.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10061607B2System and method for providing single group multiple branches based on instance awareness
Publication Date: 2018.08.28 ORACLE INT CORP
  • US10061607B2 patent drawing
  • US10061607B2 patent drawing
  • US10061607B2 patent drawing

AI summary

A system and method can provide high throughput transactions in a transactional system. A system and method can, via a transaction manager, obtain information on a plurality of resource managers. The transaction manager can further manage a plurality of transaction branches, where each of the plurality of transaction branches can be associated with a different one of the plurality of resource managers. The methods and systems can associate a transaction identifier with each of the plurality of transaction branches, which can result in a plurality of transaction identifiers, where each of the plurality of transaction identifiers can include a branch identifier for each of the plurality of transaction branches. The methods and systems can perform one or more transactional operations on the plurality of transaction branches based on the different transaction identifiers.