Recipient-Based Filtering in Publish-Subscribe Messaging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional publish-subscribe messaging systems face limitations in scalability and control over event delivery, as they primarily rely on topic-based filtering, which can lead to irrelevant events being sent to all consumers subscribed to a topic, wasting computing resources and reducing relevance for consumers.

Innovation Solution

Implementing recipient-based filtering, where events are filtered based on intended recipients, allowing publishers to specify precise delivery to subsets of consumers by including a set of IDs for intended recipients within the event, enabling finer-grained control and improved relevance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If topic-based filtering is used, then consumers can subscribe to receive events related to a topic, but events will be delivered to all consumers subscribed to the topic, reducing relevance and wasting computing resources

Engineering Contradiction:
Improveevent delivery relevanceVSAvoidcomputing resources waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments the consumer subscription model from the event delivery model. Instead of delivering events to all topic subscribers, the system introduces recipient-level segmentation where events are delivered only to specific recipients within a topic. This is achieved by adding a recipients field to events and filtering at the recipient level rather than the topic level, thereby improving relevance and reducing unnecessary resource consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by enabling different delivery behaviors for different recipients within the same topic. Each recipient can have different subscription characteristics, and events can be selectively delivered based on recipient-specific criteria. This allows fine-grained control over event delivery, ensuring that only relevant recipients receive events while others are excluded, thus optimizing resource utilization.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If topic-based filtering is used, then consumers can subscribe to topics, but the publisher has limited control over which consumers receive the event

Engineering Contradiction:
Improvepublisher control over deliveryVSAvoiddelivery flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic delivery control by allowing publishers to specify recipient-level filtering criteria in events. The system dynamically determines which recipients should receive the event based on the recipients field and the current subscription state of consumers. This dynamic approach gives publishers fine-grained control over delivery while maintaining flexibility in handling different consumer scenarios.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces the recipient specification as an intermediary mechanism between the publisher and consumers. Instead of direct topic-based delivery, the system uses recipient-level metadata as an intermediary to mediate the delivery process. This intermediary layer enables precise control over which consumers receive events, allowing publishers to selectively target specific recipients while maintaining the publish-subscribe paradigm.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If topic-based filtering is used, then the system can deliver events to consumers, but scalability is limited by the number of topics the system supports

Engineering Contradiction:
Improveevent delivery efficiencyVSAvoidsystem scalability
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent adds another dimension to the existing topic-based filtering by introducing recipient-level filtering. Instead of scaling horizontally by adding more topics, the system scales vertically by adding recipient-level granularity to existing topics. This dimensional change allows the system to handle more consumers and events without increasing the number of topics, thereby improving scalability while maintaining delivery efficiency.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11792285B2Recipient-based filtering in a publish-subscribe messaging system
Publication Date: 2023.10.17 SALESFORCE INC
  • US11792285B2 patent drawing
  • US11792285B2 patent drawing
  • US11792285B2 patent drawing

AI summary

Implementations are described which provide for recipient-based filtering of an event that relates to a topic to which consumers are subscribed. Responsive to determining that an attribute of the event includes a set of one or more identifiers for intended recipients for the event, the event is delivered to consumers that correspond to the intended recipients. Alternatively, responsive to determining that the attribute of the event does not include a set of one or more identifiers for intended recipients for the event, the event is delivered to all of the consumers subscribed to the topic to which the event relates.