Transaction Wrapper for Cross-Environment Coordination

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed transactions across disparate environments, such as Java and 'C'-based systems, face challenges in transaction coordination and resource access due to differences in middleware architectures, leading to difficulties in sharing locks and transaction management across systems.

Innovation Solution

A transaction wrapper method and system that enables a unit of work to participate in a transaction started and coordinated in a different environment by using a transaction identifier to associate resource updates, allowing transparent participation without involving the first environment in transaction completion flows, thus enabling access to shared data resources from disparate environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a Java-based transaction manager is used to coordinate transactions, then transaction management capability is improved, but compatibility with C-based legacy systems deteriorates

Engineering Contradiction:
Improvetransaction management capabilityVSAvoidcompatibility with C-based systems
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an adaptive layer as an intermediary component that sits between the Java-based transaction manager and C-based legacy systems. This adaptive layer translates transaction coordination requests from the Java environment into forms that the C-based systems can understand and execute, enabling the Java transaction manager to effectively coordinate transactions across both Java and C-based resources without requiring the C systems to natively support Java transaction protocols

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If an adaptive layer is provided to access legacy systems, then system integration is improved, but complexity and cost increase

Engineering Contradiction:
Improvesystem integration capabilityVSAvoidmiddleware infrastructure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the transaction management functionality from the core Java application server and places it in a separate, dedicated transaction manager component. The adaptive layer is designed to work with this extracted transaction management functionality, allowing legacy C-based systems to access transactional resources through a simplified interface that builds upon existing XA (eXtended Architecture) standards, thereby reducing the overall complexity burden on the integration infrastructure

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If lock sharing is implemented across disparate systems, then transaction consistency is improved, but difficulty of implementation increases

Engineering Contradiction:
Improvetransaction consistencyVSAvoidlock sharing implementation difficulty
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal lock management mechanism that works across both Java-based and C-based systems through the adaptive layer. The system uses XA-compliant transaction identifiers and lock protocols that are recognized by both environments, allowing a single lock management implementation to serve multiple disparate systems. This universal approach enables transaction consistency across Java and C-based resources without requiring separate, complex lock sharing implementations for each system type

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

Data Source

PatentUS7668833B2Involving participants in a distributed transaction
Publication Date: 2010.02.23 X CORP
  • US7668833B2 patent drawing
  • US7668833B2 patent drawing
  • US7668833B2 patent drawing

AI summary

The present invention provides a method, apparatus, computer program product, and service which enables a transaction manager in a first system to co-ordinate database updates made in a second system database without requiring communication with the second system during transaction completion processing (commit or rollback) or any requirement for transaction logging or involvement in transaction recovery in the second system. This is achieved by carrying out the database updates in the second system in an XA transaction branch that is started are co-ordinated in the first system. Further this is done transparently to the application in the second server which makes the updates and enables the application in the first and second server to share locks such that both can access the same database.