Deferred Transaction Start Communication in Distributed XA Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed transaction processing environments, such as those using the XA standard, there is a significant communications overhead that consumes network resources and introduces latency due to the need for explicit communication between application servers, transaction managers, and resource managers during transaction initiation.

Innovation Solution

The solution involves deferring the transaction start communication by using a special flag (DEFERRED) during the xa_start call, allowing it to be bundled with subsequent execute/work calls, thereby reducing the number of network calls required for each transaction and eliminating unnecessary xa_start calls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If explicit transaction start communication is implemented between application server and resource manager, then transaction coordination reliability is improved, but communications overhead and network resource consumption increase

Engineering Contradiction:
Improvetransaction coordination reliabilityVSAvoidnetwork resource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary setup by establishing connection information and transaction protocols in advance. The application server stores resource manager connection details and transaction coordination rules beforehand, allowing deferred transaction start communications to be processed efficiently without requiring full explicit handshakes for each transaction, thus reducing network resource consumption while maintaining reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses connection information copies and transaction context replicas to avoid repeated full communication cycles. Instead of re-establishing complete transaction coordination for each operation, the system utilizes pre-cached connection data and transaction state copies, reducing the need for repeated network communications while ensuring transaction integrity

Inventive Principle:
Principle #26Copying

2Reliability

If explicit transaction start communication is implemented, then transaction protocol compliance is improved, but latency increases

Engineering Contradiction:
Improveprotocol complianceVSAvoidtransaction latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-establishing connection information and transaction protocols between the application server and resource managers. This includes caching connection details, authentication credentials, and transaction coordination rules in advance. When a transaction is initiated, the system can quickly reference this pre-configured information rather than performing complete protocol handshakes, thereby reducing latency while ensuring protocol compliance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts the level of communication based on transaction context. For transactions involving the same resource manager, the system reduces communication overhead by reusing established connection information and skipping redundant protocol steps, while maintaining full protocol compliance when required by transaction characteristics or resource manager responses

Inventive Principle:
Principle #15Dynamics

3Reliability

If multiple network calls are made for each transaction, then transaction coordination completeness is improved, but system performance decreases

Engineering Contradiction:
Improvecoordination completenessVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system merges multiple separate network calls into consolidated communication operations. Instead of making distinct network calls for connection establishment, authentication, and transaction initiation, the system combines these operations into fewer integrated calls that accomplish multiple coordination tasks simultaneously, thereby improving system performance while ensuring complete transaction coordination

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary setup of connection information and transaction contexts in advance, allowing subsequent transaction operations to proceed with fewer network calls. By pre-configuring resource manager connections and caching relevant transaction data, the system reduces the number of round-trip network communications required for each transaction while maintaining coordination completeness

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9984096B2System and method for reducing communications overhead in a distributed transactions environment by modifying implementation of the transaction start function
Publication Date: 2018.05.29 ORACLE INT CORP
  • US9984096B2 patent drawing
  • US9984096B2 patent drawing
  • US9984096B2 patent drawing

AI summary

A system and method for reducing communications overhead in a distributed transaction processing environment such as an XA environment. In accordance with an embodiment communication overhead is reduced in a transaction start method by deferring a transaction start communication. The deferred transaction start communication is determined from a subsequent transaction processing communication thereby reducing the number of networks calls required for each transaction and enhancing system performance.