Recipient-Based Filtering in Publish-Subscribe Messaging
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


