Fast Content-Based Routing via Header Subscription IDs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing content-based routing systems are computationally expensive as they require searching the entire message content for routing, which can be inefficient and time-consuming, especially when determining the exact set of consumers to forward data to based on message content.

Innovation Solution

The system extracts information from the message header to perform fast content-based routing by assigning a unique subscription ID to each message, allowing the router to determine the appropriate receiver machines without de-serializing the data or applying a full content-based filter, thus eliminating the need for a matching tree.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the router searches the entire content of every message to determine routing destination, then the routing accuracy is improved, but the computational cost and time consumption increase significantly

Engineering Contradiction:
Improverouting accuracyVSAvoidrouting efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts only the necessary routing information from the message header rather than searching the entire message content. By placing subscription IDs in the header, the system extracts minimal required data to identify destination consumers, resolving the contradiction between routing accuracy and computational efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary action by pre-calculating and storing subscription IDs in the message header before routing. This allows the router to quickly identify destinations without performing full content-based filtering at routing time, thus improving efficiency while maintaining accurate routing.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the system applies full content-based filtering by de-serializing data, then the routing precision is improved, but the processing time and computational resources increase

Engineering Contradiction:
Improverouting precisionVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts only the subscription ID from the message header for routing decisions, avoiding the need to de-serialize and analyze the entire message content. This extraction approach maintains routing precision while dramatically reducing processing time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs partial action by applying content-based filtering only to the header portion containing the subscription ID, rather than filtering the entire message content. This partial filtering approach achieves sufficient routing precision with minimal processing time.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If the system builds and maintains a matching tree for content-based addressing, then the routing accuracy is improved, but the system complexity increases

Engineering Contradiction:
Improverouting accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the essential routing information (subscription ID) and places it directly in the message header, eliminating the need for complex matching tree structures. This simplifies the system while maintaining routing accuracy through direct header-based matching.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses a simplified copying approach where subscription IDs are copied into the message header during message creation. This replaces the complex matching tree structure with a simple header field that can be directly matched against consumer subscriptions.

Inventive Principle:
Principle #26Copying

4Reliability

If the router examines the entire message content to determine consumers, then the completeness of routing is improved, but the bandwidth usage increases due to sending unnecessary messages

Engineering Contradiction:
Improverouting completenessVSAvoidbandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the subscription ID from the header to identify exactly which consumers should receive the message. This ensures routing completeness by accurately matching messages to interested consumers while minimizing bandwidth usage by avoiding unnecessary message forwarding.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP2641186B1Fast content-based routing
Publication Date: 2023.01.11 TIBCO SOFTWARE INC
  • EP2641186B1 patent drawingFigure 1A
  • EP2641186B1 patent drawingFigure 1B~1C
  • EP2641186B1 patent drawingFigure 1D~1E

AI summary

Disclosed are systems and methods for fast, efficient content-based routing that allow a router to perform true content-based routing without having to de-serialize the data and apply a full content-based filter by determining the exact set of consumers to forward the data onto based on packet headers is desired. Fast content-based routing may be more efficient than matching for content-based addressing because a system for fast content- based routing does not require a matching tree to be built. A system for fast content- based routing may receive a subscription from a receiver machine and may assign a unique subscription ID associated with the subscription in a router table. The system may then place a subscription ID associated with a particular subscription in a message header if the message corresponds to the subscription. The system may then analyze the router table to determine one or more receiver machines associated with the subscription ID in the header of the message. The system may then send, from a sender machine to one or more receiver machines, one or more messages containing the subscription ID in the header of the message.