Proactive Channel Agent for Batch Message Commit Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In agile enterprise production environments, deploying new versions of messaging applications before full testing can lead to production stability concerns due to incomplete batch message processing, where queue managers may fail to receive messages, locking resources and preventing other applications from working efficiently.

Innovation Solution

A proactive channel agent structure that sends messages with unique sequence numbers, updates a message counter, and generates a force commit packet when the counter meets a threshold, allowing for partial batch commitment and rerouting or pausing messages to maintain system stability and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If new versions of messaging applications are deployed before full testing, then development speed and agility are improved, but production stability and reliability deteriorate due to incomplete batch message processing

Engineering Contradiction:
Improvedevelopment speedVSAvoidproduction stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by sending force commit packets before the receiving node has fully processed all messages in a batch. This allows the sending node to proceed with deploying new application versions while ensuring critical messages are committed, enabling faster deployment cycles without completely sacrificing reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments message processing into individual message-level commits within a batch. By tracking each message's sequence number and processing state independently, the system can commit partial batches (segmented processing) rather than requiring complete batch processing, thus enabling faster deployment while maintaining reliability for critical messages.

Inventive Principle:
Principle #1Segmentation

2Reliability

If queue managers wait for complete batch message processing, then message delivery reliability is improved, but system response time and productivity deteriorate

Engineering Contradiction:
Improvemessage delivery reliabilityVSAvoidsystem response time
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies partial action by committing only the necessary subset of messages from a batch rather than waiting for complete batch processing. The force commit packet mechanism allows the receiving node to commit messages individually as they are processed, enabling partial batch commitment that maintains reliability for critical messages while improving overall system response time and productivity.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If messages are sent individually with sequence numbers, then message tracking and control are improved, but message processing complexity increases

Engineering Contradiction:
Improvemessage tracking precisionVSAvoidprocessing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system uses feedback mechanisms through force commit packets that contain sequence number information. The receiving node sends back force commit packets indicating which messages have been processed, allowing the sending node to track processing status and control message flow. This feedback approach improves message tracking precision while managing complexity through automated control.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10880228B2Proactive channel agent
Publication Date: 2020.12.29 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10880228B2 patent drawing
  • US10880228B2 patent drawing
  • US10880228B2 patent drawing

AI summary

Automated devices send messages of a first batch sequence individually to a target queue of a receiving node of a cluster of server nodes, the messages having a different sequence number indicative of their relative positions within the batch sequence, and each is associated with a first logic unit of work identifier. In response to determining that a message counter meets a threshold, a force commit packet is generated to include the sequence number of the last batch message sent to the target queue. If the force commit packet sequence number is not the last position number within the batch sequence, a second logic unit of work identifier is associated with a subset sequence of the batch of messages having sequence numbers spanning from the first number to the force commit packet sequence number, and the subset sequence messages are committed to the receiving node target queue.