Message Exchange Filtering in Queuing Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing architectures, message queuing services often deliver all messages generated by a publisher to consumers, resulting in irrelevant messages being received by message consumers, leading to inefficiencies and unnecessary data processing.

Innovation Solution

Implementing a message queuing service with exchange filter rules that allow message consumers to subscribe to specific message exchanges and define rules for delivering only relevant messages to their destination queues, based on message attributes, thereby filtering out irrelevant messages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If message queuing service delivers all messages to consumers, then message delivery completeness is improved, but data processing efficiency deteriorates due to irrelevant messages

Engineering Contradiction:
Improvemessage delivery completenessVSAvoiddata processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by evaluating message attributes against filter rules before delivering messages to consumers. The message queuing service pre-assesses whether a message matches any consumer's subscription criteria using exchange filter rules that evaluate message attributes, and only delivers messages that satisfy at least one filter rule. This preliminary filtering action prevents irrelevant messages from reaching consumers, thereby maintaining delivery completeness for relevant messages while eliminating waste of processing resources on irrelevant ones.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If message queuing service filters messages using exchange filter rules, then data processing efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidmessage filtering system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the message filtering function into separate, modular exchange filter rules that can be independently configured and evaluated. Each filter rule operates as an independent evaluation unit that checks specific message attributes against predefined criteria. This segmentation allows the filtering system to process messages through discrete, manageable rule evaluations rather than a monolithic complex system, making the filtering mechanism more maintainable and easier to configure while achieving efficient message filtering.

Inventive Principle:
Principle #1Segmentation

3Loss of information

If message consumers receive all messages from publishers, then information completeness is improved, but loss of time increases due to processing irrelevant messages

Engineering Contradiction:
Improveinformation completenessVSAvoidmessage processing time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent applies the taking out principle by extracting and evaluating specific message attributes against filter rules before message delivery. The message queuing service extracts relevant attributes from incoming messages and evaluates them against the subscription criteria defined in exchange filter rules. Only messages that satisfy at least one filter rule are delivered to consumers. This extraction and evaluation process ensures that consumers receive complete information for all relevant messages while eliminating time waste from processing irrelevant messages that do not match any filter rule.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10701009B1Message exchange filtering
Publication Date: 2020.06.30 AMAZON TECH INC
  • US10701009B1 patent drawing
  • US10701009B1 patent drawing
  • US10701009B1 patent drawing

AI summary

A technology is described for a message queuing service. An example method may include obtaining a message having message attributes from a shared queue that contains messages intended for destination queues and analyzing the message attributes for the message to identify a message exchange associated with the message, where the message exchange has destination queues subscribed to the message exchange that receive messages via the message exchange. An exchange filter rule for the message exchange may then be identified and used to identify subscribed destination queues linked to the exchange filter rule. The message attributes of the message may then be analyzed to determine whether the value of the message attributes satisfy the exchange filter rule, and the message may be distributed to the subscribed destination queues as a result of the value of the message attribute satisfying the exchange filter rule.