Message Queue Failover for Distributed Binary Object Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed processing systems face complexities in maintaining consistent versions of components across different computer systems and require efficient communication mechanisms, particularly in ensuring that messages are processed without version mismatches and system failures.

Innovation Solution

A system utilizing message queues to encapsulate executable functionality within messages, allowing for asynchronous processing and error recovery without requiring pre-installed listener programs, with options for retaining messages in queues even during system failures, ensuring that messages are processed correctly and efficiently across distributed systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If messages are removed from the queue after being sent, then message processing efficiency is improved, but reliability deteriorates because failed processing cannot be recovered

Engineering Contradiction:
Improvemessage processing efficiencyVSAvoidprocessing reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a safeguard mechanism that retains messages in the queue even after they have been sent to a receiving system. This creates a buffer or cushion that allows for recovery if processing fails, preventing complete loss of the message and enabling retry operations without requiring re-sending from the original source system.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If listener programs are pre-installed on receiving systems, then message reception reliability is improved, but device complexity increases

Engineering Contradiction:
Improvemessage reception reliabilityVSAvoidsystem configuration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent enables the receiving system to autonomously retrieve and process messages directly from the queue without requiring pre-installed listener programs. The system self-services by implementing its own message retrieval logic, eliminating the need for complex pre-configuration of listener services while maintaining reliable message reception.

Inventive Principle:
Principle #25Self-service

3Stability of the object's composition

If messages are processed synchronously, then version consistency is improved, but response time increases

Engineering Contradiction:
Improveversion consistencyVSAvoidresponse time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The patent segments the message processing into two independent parts: the message sending operation and the message processing operation. The sending system can immediately send messages and continue its workflow without waiting for processing confirmation, while the receiving system independently retrieves and processes messages at its own pace. This asynchronous segmentation maintains version consistency through the message queue interface while dramatically reducing response time.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8484659B2Distributed processing of binary objects via message queues including a failover safeguard
Publication Date: 2013.07.09 THE DESCARTES SYST GROUP
  • US8484659B2 patent drawing
  • US8484659B2 patent drawing
  • US8484659B2 patent drawing

AI summary

A system and method for distributing processing utilizing message queues as a method of distributing binary objects as “messages” and invoking the embedded logic of the received message to perform a portion of a distributed application is disclosed. More particularly, but not by way of limitation, a system and method for the integrated distribution and execution of objects as they are retrieved or extracted from a message queue on a remote system to provide executable functionality portions of a distributed application. In one embodiment a failed processing step results in the message being retained in the message queue to allow for subsequent retry processing.