Client Controlled Transaction Processing via Participant Polling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current transaction processing systems face challenges in managing distributed transactions across multiple network hosts, particularly in ensuring transaction integrity and scalability, especially in environments where participant locations and communications are unreliable.

Innovation Solution

A client-controlled transaction processing method and system where a transaction server coordinates transactions without initiating connections to participants, allowing participants to report or poll their status, enabling scalable and reliable transaction management even in unreliable communication scenarios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a transaction server initiates connections to participants to coordinate transactions, then transaction coordination and integrity can be maintained, but system scalability and elasticity are limited due to persistent connection requirements

Engineering Contradiction:
Improvetransaction integrityVSAvoidscalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

Instead of the transaction server initiating connections to participants (traditional approach), the patent inverts the communication pattern by having participants initiate connections to the transaction server to report their status and poll for transaction coordination. This inversion eliminates the need for persistent outbound connections from the server, enabling scalable transaction processing in distributed environments.

Inventive Principle:
Principle #13The other way round (Inversion)

2Loss of information

If persistent connections are maintained between transaction server and participants, then real-time transaction status can be monitored, but system complexity and resource consumption increase

Engineering Contradiction:
Improvetransaction status visibilityVSAvoidconnection management
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent implements periodic polling where participants periodically connect to the transaction server to report job status and check transaction state, replacing continuous persistent connections. This periodic interaction maintains real-time transaction status visibility while significantly reducing connection management complexity and resource consumption.

Inventive Principle:
Principle #19Periodic action

3Reliability

If the transaction server manages all transaction coordination logic centrally, then transaction integrity is ensured, but the system cannot scale elastically across distributed participants

Engineering Contradiction:
Improvetransaction coordinationVSAvoidtransaction processing capacity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments transaction coordination by allowing each participant to independently report job status and receive coordination instructions from the transaction server on-demand. This segmentation enables multiple participants to process transactions in parallel without requiring centralized control of all coordination logic, thus scaling transaction processing capacity while maintaining integrity through the transaction server's centralized state management.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11249794B2Client controlled transaction processing involving a plurality of participants
Publication Date: 2022.02.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11249794B2 patent drawing
  • US11249794B2 patent drawing
  • US11249794B2 patent drawing

AI summary

Methods and systems are provided for client controlled transaction processing. The method may be carried out at a transaction server, and include: receiving a transaction request from a transaction initiator and allocating a transaction identifier to the transaction; receiving notification of the number of jobs to be completed in the transaction; maintaining a transaction status indicating the current status of the transaction; receiving job status updates from one or more participants processing the jobs included in the transaction and updating a transaction record reflecting the status of each of the jobs included in the transaction; updating the transaction status when required based on the job status updates of the jobs included in the transaction; and receiving and responding to transaction status polling to provide a current transaction status, where the transaction status polling originates from the transaction initiator and the participants processing the jobs.