Pub/Sub Broker Selective Event Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In pub/sub systems, it is inefficient to check event objects against the rules of every subscriber, leading to wasteful resource usage and unnecessary actions, especially when events are associated with development stages that do not require production-level actions.

Innovation Solution

A pub/sub platform selectively triggers rules or actions based on parameters like originating accounts, event types, and tags, generating custom event objects to invoke specific rules, thereby conserving resources and avoiding indiscriminate publication to all subscribers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If event objects are published to all subscribers in a pub/sub system, then all subscribers can potentially receive and act on events, but computing resources are wasted checking events against rules of every subscriber and performing unnecessary actions

Engineering Contradiction:
Improveevent processing efficiencyVSAvoidcomputing resource waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary actions by generating custom event objects with predetermined signatures that match specific rule sets before publication. This allows the broker to pre-determine which subscribers will receive events based on their subscriptions, avoiding the need for all subscribers to check every event against their rules. The custom event objects are generated with the appropriate signatures already attached, enabling efficient targeted delivery.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The broker acts as an intermediary between event sources and subscribers. Instead of directly publishing events to all subscribers, the broker intercepts events, generates appropriate custom event objects with matching signatures, and selectively forwards them to subscribed parties. This intermediary role enables intelligent routing and filtering, preventing computing resource waste at subscriber endpoints.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If rules are triggered for all subscribers regardless of event relevance, then comprehensive event coverage is achieved, but unnecessary actions are performed consuming additional resources

Engineering Contradiction:
Improveevent coverage completenessVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies local quality by creating custom event objects with specific signatures tailored to match particular rule sets and subscriber interests. Instead of a uniform broadcast approach, each custom event object is locally optimized with the precise signature needed to trigger relevant rules at specific subscribers, ensuring event coverage completeness while avoiding unnecessary rule evaluations at unrelated subscribers.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20200274940A1Publish/subscribe system broker
Publication Date: 2020.08.27 VERIZON PATENT & LICENSING INC
  • US20200274940A1 patent drawing
  • US20200274940A1 patent drawing
  • US20200274940A1 patent drawing

AI summary

A device can receive a plurality of input event objects that correspond to publications in a publication-subscription deployment, where the plurality of input event objects are associated with respective originating accounts and respective originating signatures. The device can identify, using a query, a set of input event objects, of the plurality of input event objects, based on which of one or more operations are to be invoked, where the query is based on the respective originating accounts and the respective originating signatures, and where the query returns respective output signatures corresponding to the set of input event objects. The device can generate one or more output event objects that include or identify the respective output signatures corresponding to the set of input event objects, and provide, to an event bus, the one or more output event objects to cause the one or more operations to be invoked.