Replicated Message Queues for Reliable Reply Delivery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In messaging networks, the availability of reply messages is compromised when a front-end messaging manager system fails or a requester disconnects, leading to unavailability of replies until the correct system is re-connected, and existing solutions require separate connection logic for requesters.

Innovation Solution

Implementing a system with replicated queues that allow replies to be sent to all front-end message managing systems, enabling requesters to connect to any system for reply receipt and automatically deleting redundant messages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If replies are routed to a specific front-end messaging manager system based on affinity, then reply delivery accuracy is improved, but system availability deteriorates when the specific system fails

Engineering Contradiction:
Improvereply delivery accuracyVSAvoidsystem availability
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent segments the reply routing by creating multiple replicated queues (one per front-end messaging manager system) and distributing reply messages across all of them. Each queue contains replies for a specific requester, allowing the system to maintain delivery accuracy while providing redundancy across multiple systems.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the routing parameter from affinity-based (single specific system) to replicated queue-based (multiple systems). By including the requester's unique identifier in each replicated queue, the system maintains precise reply delivery while enabling workload balancing and failover across multiple front-end messaging manager systems.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If workload balancing is applied to requester connections, then system load distribution is improved, but reply availability deteriorates when requester is redirected to a different system

Engineering Contradiction:
Improveload distributionVSAvoidreply availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent makes the replicated queue system universal by allowing any front-end messaging manager system to serve any requester's replies. Each system maintains replicated queues for all requesters, enabling workload balancing without compromising reply availability, as requesters can receive replies from any system rather than being tied to their original connection.

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

3Measurement precision

If separate connection logic is implemented for requesters, then reply routing accuracy is improved, but system complexity increases

Engineering Contradiction:
Improvereply routing accuracyVSAvoidconnection logic complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent uses copying by creating replicated queues that contain copies of reply messages for each front-end messaging manager system. Instead of implementing complex separate connection logic, the system copies replies to multiple queues, allowing standard workload balancing to work while maintaining routing accuracy through the replicated structure.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10491560B2Message delivery in messaging networks
Publication Date: 2019.11.26 SNAP INC
  • US10491560B2 patent drawing
  • US10491560B2 patent drawing
  • US10491560B2 patent drawing

AI summary

In response to receipt of a request message from a requester, a reply message is created. The reply message includes a message identifier of the request message copied from the received request message. The reply message is published to each of a group of replicated message queues. The reply message is identifiable by the requester using the copied message identifier of the request message on any one of the group of replicated message queues prior to being consumed by the requester.