Transaction Coordinator Proxy for In-Doubt Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In transaction processing systems, communications failures between the transaction coordinator and resource managers can lead to in-doubt transactions, requiring a mechanism to resolve these quickly without data loss and without significant changes to the system, especially in environments where resource managers are grouped and interchangeable.

Innovation Solution

The transaction coordinator connects to a second resource manager, sends a resolve request, and obtains a lock to determine whether the transaction is associated with the first resource manager, allowing for resolution of in-doubt transactions by determining and applying the appropriate commit or rollback decision.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a traditional transaction coordinator directly manages communication with resource managers, then transaction coordination is straightforward, but the system lacks high availability and load balancing capabilities when resource managers fail or need to be replaced

Engineering Contradiction:
Improvehigh availabilityVSAvoidtransaction processing system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a proxy resource manager as an intermediary between the transaction coordinator and the actual resource manager. This proxy acts as a mediator that can take over when the original resource manager fails, enabling high availability without requiring the transaction coordinator to directly manage failover logic. The proxy resource manager receives transactions intended for the original resource manager and can resolve in-doubt transactions, thereby improving reliability while keeping the transaction coordinator's complexity unchanged.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If resource managers are grouped and interchangeable to enable failover, then high availability is achieved, but resolving in-doubt transactions becomes complex and time-consuming

Engineering Contradiction:
Improvefailover capabilityVSAvoidtransaction resolution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by having the proxy resource manager proactively obtain locks on transaction data associated with the original resource manager before actually needing to resolve in-doubt transactions. This advance preparation ensures that when failover is needed, the proxy already has the necessary access rights and can immediately resolve transactions without delay, thus reducing transaction resolution time while maintaining failover capability.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the transaction coordinator maintains direct control over all resource managers, then transaction consistency is ensured, but the system cannot quickly resolve in-doubt transactions when communication failures occur

Engineering Contradiction:
Improvetransaction resolution speedVSAvoidtransaction data accessibility
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The proxy resource manager serves as an intermediary that maintains access to transaction data even when the original resource manager is unavailable. When communication failures occur, the proxy can independently access and resolve in-doubt transactions using the transaction data it has cached or can retrieve, thereby speeding up transaction resolution without losing access to transaction information.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If locks are obtained on all transaction data immediately upon failure detection, then data consistency is maintained, but system performance degrades due to lock contention

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by having the proxy resource manager obtain locks only on specific transaction data that is relevant to in-doubt transactions, rather than locking all transaction data associated with the original resource manager. This selective locking approach maintains data consistency for critical transactions while minimizing lock contention and preserving overall system throughput.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10970273B2Aiding resolution of a transaction
Publication Date: 2021.04.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10970273B2 patent drawing
  • US10970273B2 patent drawing
  • US10970273B2 patent drawing

AI summary

A method for aiding resolution of a transaction for use with a transactional processing system comprising a transaction coordinator and a plurality of grouped and inter-connected resource managers, the method comprising the steps of: in response to a communications failure between the transaction coordinator and a first resource manager causing a transaction to have an in-doubt state, connecting, by the transaction coordinator, to a second resource manager; in response to the connecting step, sending by the transaction coordinator to the second resource manager, a resolve request comprising a resolution for the in-doubt transaction; in response to the resolve request, obtaining at the first resource manager, by the second resource manager, a lock to data associated with the in-doubt transaction; and in response to the obtaining step, determining, by the second resource manager, whether the transaction is associated with the first resource manager.