Content-Filter Publish-Subscribe Engine for Interprocess Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing publish-subscribe systems face inefficiencies due to the need for subscribers to constantly wake up and evaluate published events for useful information, leading to increased OS resource consumption and unnecessary notification events.

Innovation Solution

A content-filter publish-subscribe system that allows subscribers to specify filters based on object attribute conditions, enabling the publish-subscribe engine to evaluate and selectively distribute notification events, reducing the load on the operating system and optimizing interprocess communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If subscribers wake up each time an event is published to evaluate published events, then subscribers can receive useful information from publishers, but OS resource consumption increases and unnecessary notification events are generated

Engineering Contradiction:
Improveuseful information receptionVSAvoidOS resource consumption
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The system performs preliminary action by having subscribers register their information requirements with the publish-subscribe engine before events are published. The engine pre-configures filtering rules based on these requirements, so that when events are published, only relevant events are evaluated and distributed. This eliminates the need for subscribers to wake up and evaluate all events, reducing OS resource consumption while ensuring useful information is received.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The publish-subscribe engine acts as an intermediary between publishers and subscribers. It receives published events, evaluates them against pre-registered filtering rules, and selectively distributes only relevant events to appropriate subscribers. This intermediary function prevents unnecessary notification events from reaching subscribers, reducing their wake-up frequency and OS resource consumption while ensuring they receive all useful information.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If subscribers evaluate all published events, then no useful information is lost, but the number of notification events distributed increases unnecessarily

Engineering Contradiction:
Improveinformation completenessVSAvoidnotification event distribution efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The system performs preliminary action by having subscribers register their information requirements with the publish-subscribe engine before events are published. The engine pre-configures filtering rules based on these requirements, so that when events are published, only relevant events are evaluated and distributed. This eliminates the need for subscribers to wake up and evaluate all events, reducing OS resource consumption while ensuring useful information is received.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts only the relevant portions of published events that match subscriber requirements. The publish-subscribe engine evaluates events against filtering rules and extracts/distributes only those events that contain useful information for specific subscribers. This extraction approach maintains information completeness for each subscriber while dramatically reducing the total number of notification events distributed across the system.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If the publish-subscribe system distributes all published events to all subscribers, then all subscribers receive all information, but system load and resource consumption increase

Engineering Contradiction:
Improveinformation distribution coverageVSAvoidsystem resource consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system applies local quality by customizing information distribution for each subscriber based on their specific requirements. Instead of uniformly distributing all events to all subscribers, the publish-subscribe engine evaluates events against subscriber-specific filtering rules and distributes only relevant events to each subscriber. This ensures each subscriber receives complete information for their needs while reducing overall system resource consumption by avoiding redundant event distribution.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP2568382B1Optimizing of publish-subscribe interprocess communications through the use of content-filters
Publication Date: 2020.04.01 BLACKBERRY LTD
  • EP2568382B1 patent drawingFigure 1
  • EP2568382B1 patent drawingFigure 2
  • EP2568382B1 patent drawingFigure 3

AI summary

In a publish-subscribe system, a subscribing process may specify a condition relating to an object's attribute value. The condition may be retained in a data structure, and evaluated against a to be published event. If the condition is satisfied or occurred, the publish-subscribe system transmits a notification event to the subscribing process indicating the existence of the published event.