Transaction Promotion Mechanism for Local-to-Distributed Escalation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In microservices architectures, determining when to initiate a local transaction versus a distributed transaction is challenging, leading to unnecessary overhead due to the assumption of always starting distributed transactions, even when they are not required.

Innovation Solution

Implementing a mechanism where a service initiates a local transaction and promotes it to a distributed transaction only when necessary by tracking resource managers used and making the decision locally, avoiding unnecessary communication with a transaction manager.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a distributed transaction is always started to ensure consistency across multiple services, then transaction consistency is improved, but communication overhead increases

Engineering Contradiction:
Improvetransaction consistencyVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system performs preliminary analysis of service dependencies before transaction execution. By examining the service call graph and resource manager relationships in advance, the system determines whether a distributed transaction is actually needed, avoiding unnecessary distributed transaction overhead while ensuring consistency when required

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Each service autonomously determines whether it needs to participate in a distributed transaction by analyzing its own resource manager usage and service dependencies. This self-determination mechanism eliminates the need for constant coordination with a central transaction manager for simple local transactions, reducing communication overhead while maintaining consistency for complex distributed scenarios

Inventive Principle:
Principle #25Self-service

2Reliability

If a distributed transaction is always started to handle multiple resource managers, then transaction atomicity is improved, but system complexity increases

Engineering Contradiction:
Improvetransaction atomicityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The transaction scope is made dynamic rather than static. The system adapts the transaction type (local or distributed) based on the actual resource manager involvement detected during service execution. This dynamic adjustment simplifies the system by using simple local transactions when possible and only escalating to distributed transactions when resource manager conflicts are detected

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The transaction management system is segmented into two independent paths: local transaction handling and distributed transaction handling. By separating these paths and using them appropriately based on resource manager analysis, the system reduces overall complexity by avoiding the need to always set up the more complex distributed transaction infrastructure

Inventive Principle:
Principle #1Segmentation

3Loss of energy

If local transaction is used for single service to reduce overhead, then communication overhead is reduced, but transaction consistency across services cannot be ensured

Engineering Contradiction:
Improvecommunication overheadVSAvoidtransaction consistency
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The system implements feedback mechanisms that monitor service interactions and resource manager usage during transaction execution. When a service call is detected that might involve another resource manager, the system provides feedback to escalate the transaction from local to distributed scope, ensuring consistency is maintained while still using efficient local transactions for simple cases

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20260072724A1Priori Promotion Of Local Transactions To Distributed Transactions
Publication Date: 2026.03.12 ORACLE INT CORP
  • US20260072724A1 patent drawing
  • US20260072724A1 patent drawing
  • US20260072724A1 patent drawing

AI summary

A mechanism is provided to attempt to avoid the overhead of using a distributed transaction when involvement of a transaction manager is unnecessary. A service initiates a local transaction with its associated resource manager. When the service communicates with another service, it becomes possible that a full distributed transaction may be required. In response to the initiating service communicating with another service, the local transaction is promoted to a distributed transaction.