Transaction Coordinator Instance Awareness Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current transactional middleware systems face challenges in optimizing transaction processing performance due to limitations in resource manager instance awareness and transaction affinity routing, leading to suboptimal database cluster utilization and increased complexity in managing distributed transactions.

Innovation Solution

The system implements a coordinator that propagates a common transaction identifier and instance information across participants, enabling transaction affinity routing and instance awareness, which allows for efficient processing of global transactions by routing requests to the appropriate resource manager instances and optimizing database operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional transaction processing without instance awareness is used, then system simplicity is maintained, but database cluster utilization is suboptimal

Engineering Contradiction:
Improvedatabase cluster utilizationVSAvoidtransaction management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by establishing instance awareness before transaction processing begins. The transaction manager proactively identifies and caches the resource manager instance associated with each data source, and pre-determines transaction affinity routing rules. This preliminary setup enables optimized transaction processing without requiring complex real-time decisions during transaction execution, thereby improving database cluster utilization while maintaining manageable system complexity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If transaction affinity routing is implemented, then transaction processing performance is improved, but routing complexity increases

Engineering Contradiction:
Improvetransaction processing performanceVSAvoidrouting complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The transaction affinity routing system operates autonomously without requiring external intervention or complex centralized control. Each transaction manager instance independently determines its own routing decisions based on cached instance information and transaction affinity rules. The system self-manages the routing logic, automatically selecting appropriate resource manager instances for transaction processing, which improves performance while keeping the routing mechanism relatively simple and decentralized.

Inventive Principle:
Principle #25Self-service

3Device complexity

If common transaction identifier propagation is used, then global transaction coordination is simplified, but information management complexity increases

Engineering Contradiction:
Improvetransaction coordination complexityVSAvoidtransaction identifier management
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The common transaction identifier serves multiple functions simultaneously: it uniquely identifies global transactions, enables correlation of distributed transaction participants, supports affinity-based routing decisions, and facilitates transaction tracking across the distributed system. By making the transaction identifier multi-functional, the system simplifies global transaction coordination without requiring separate mechanisms for each function, thereby avoiding additional information management complexity.

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

Data Source

PatentEP3138000B1System and method for supporting common transaction identifier (XID) optimization in a transactional environment
Publication Date: 2018.09.12 ORACLE INT CORP
  • EP3138000B1 patent drawingFigure 1
  • EP3138000B1 patent drawingFigure 2
  • EP3138000B1 patent drawingFigure 3

AI summary

A system and method can support transaction processing in a transactional environment. A coordinator for a global transaction operates to propagate a common transaction identifier and information for a resource manager instance to one or more participants of the global transaction in the transactional environment. The coordinator allows said one or more participants, which share resource manager instance with the coordinator, to use the common transaction identifier, and can process the global transaction for said one or more participants that share the resource manager instance using one transaction branch.