Transaction Manager Interface for Local and Global Transactions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional application servers manage all transactions uniformly, whether local or global, which can lead to inefficiencies and limitations, as local transactions do not require the two-phase commit protocol and different data sources may have varying capabilities, including support for global transaction protocols.

Innovation Solution

A transaction manager module that determines whether a transaction should be managed by a local or global transaction manager, providing a common interface for both types, allowing the application server to select the appropriate transaction manager based on the transaction's requirements, thereby optimizing transaction management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all transactions are managed uniformly by a single transaction manager type, then the system is simpler to implement, but performance is suboptimal because local transactions cannot use the faster one-phase commit protocol

Engineering Contradiction:
Improvetransaction processing speedVSAvoidtransaction management system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically selects between local and global transaction managers based on transaction requirements. The application server determines at runtime whether to use a local transaction manager (for faster one-phase commit) or a global transaction manager (for two-phase commit across multiple data sources), allowing performance optimization without fixed complexity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

A transaction manager module serves as an intermediary layer between applications and transaction managers. This module provides a common interface that abstracts the complexity of choosing between local and global transaction managers, allowing applications to benefit from optimized transaction handling without directly managing the complexity of multiple transaction manager types

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a global transaction manager is used for all transactions, then transactions across multiple data sources can be coordinated, but local transactions incur unnecessary overhead from the two-phase commit protocol

Engineering Contradiction:
Improvetransaction coordination across data sourcesVSAvoidtransaction commit time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies different transaction management qualities to different transactions based on their needs. Local transactions use a simplified one-phase commit protocol for faster execution, while global transactions use the full two-phase commit protocol for coordinated commitment across multiple data sources. This local quality approach eliminates unnecessary overhead for transactions that don't require distributed coordination

Inventive Principle:
Principle #3Local quality

3Productivity

If a local transaction manager is used for all transactions, then transaction processing is faster, but transactions involving multiple data sources cannot be properly coordinated

Engineering Contradiction:
Improvetransaction processing speedVSAvoidability to handle multiple data sources
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The transaction manager module provides a universal interface that can handle both local and global transactions. It determines at runtime whether a transaction involves multiple data sources and automatically selects the appropriate transaction manager type, making the system versatile enough to handle various transaction scenarios while maintaining optimized performance for each type

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

Data Source

PatentUS7743083B2Common transaction manager interface for local and global transactions
Publication Date: 2010.06.22 ORACLE AMERICAN INC
  • US7743083B2 patent drawing
  • US7743083B2 patent drawing
  • US7743083B2 patent drawing

AI summary

A system and method for implementing a common transaction manager interface. A system may implement an application server with a transaction manager module configured to provide a common application interface to a local transaction manager and a global transaction manager. The transaction manager module may be configured to determine if a transaction initiated by an application component should be managed by the local transaction manager or the global transaction manager. The local transaction manger may be configured to create a local transaction object for each transaction managed by the local transaction manager, and the global transaction manger may be configured to create a global transaction object for each transaction managed by the global transaction manager. The local transaction objects and the global transaction objects may provide a common application interface for implementing their respective transactions.