Message Server Subscription Filter Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current message server configurations face scalability issues when handling a large number of message sources and recipients, leading to inefficiencies in message delivery due to duplication, high network traffic, and performance bottlenecks, particularly when popular message sources have many subscribers.

Innovation Solution

Implementing a message server configuration that uses a single message server or a set of message servers to store recipient profiles and generate subscription filters, allowing messages to be efficiently routed only to subscribed recipients, with the option of using a bloom filter for space- and processing-efficient determinations, and assigning similar recipients to the same server to consolidate message delivery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a separate message queue is generated for each recipient, then message delivery to individual recipients is simplified, but the system consumes excessive storage resources and creates performance bottlenecks when message sources have large numbers of subscribers

Engineering Contradiction:
Improvemessage delivery simplicityVSAvoidmessage queue duplication
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent merges multiple recipient-specific message queues into a single shared message queue. Instead of creating separate queues for each recipient, all messages from message sources are stored in one common queue, and recipients subscribe to message sources rather than having dedicated queues. This eliminates the exponential growth of message copies while maintaining delivery functionality.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single message queue serves multiple recipients simultaneously, making it a universal structure that handles message storage for all subscribers. The queue is not tied to any specific recipient but rather to message sources, allowing any number of recipients to access messages from any message source through the same queue infrastructure.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Ease of operation

If a separate message queue is generated for each message source, then message routing from sources is simplified, but the system generates excessive network traffic and queries when message sources have many subscribers

Engineering Contradiction:
Improvemessage routing simplicityVSAvoidnetwork traffic volume
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent merges the routing function into a single message queue that handles all message sources. Instead of having separate queues that each generate network traffic when queried, one shared queue consolidates all message storage, and the routing is achieved through recipient subscriptions to message sources rather than through multiple queue access points.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If the message server stores copies of messages for each subscribing recipient, then message delivery to all recipients is ensured, but the system cannot scale when popular message sources have millions of subscribers

Engineering Contradiction:
Improvemessage delivery assuranceVSAvoidsystem scalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent merges the message storage function into a single shared queue that serves all recipients. Instead of creating millions of message copies for popular message sources, the system stores one copy of each message in the shared queue and uses a subscription model where recipients are linked to message sources through metadata, not through physical message copies. This maintains delivery reliability while enabling scalability to millions of subscribers.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent uses logical copying through subscription metadata rather than physical message copying. When a recipient subscribes to a message source, the system creates a logical link in the subscription database rather than duplicating the actual message content. This allows the same message to be delivered to multiple recipients without creating multiple physical copies in the queue.

Inventive Principle:
Principle #26Copying

4Loss of information

If the message server fields queries from each recipient for messages from each subscribed message source, then complete message retrieval is achieved, but the system experiences performance bottlenecks with high subscription volumes

Engineering Contradiction:
Improvemessage retrieval completenessVSAvoidquery processing efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent performs preliminary organization of messages and subscriptions in a shared queue structure before queries are executed. Messages are pre-sorted and indexed by message source in the single queue, and recipient subscriptions are pre-configured in metadata. When a recipient requests messages, the system efficiently retrieves them using the pre-established indexing and subscription links rather than executing multiple separate queries across multiple queues.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10454864B2Delivering messages from message sources to subscribing recipients
Publication Date: 2019.10.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10454864B2 patent drawing
  • US10454864B2 patent drawing
  • US10454864B2 patent drawing

AI summary

Many scenarios involve the delivery of messages received from various message sources to recipients, based on subscriptions established between various recipients and message sources. The recipients may be distributively assigned to one or more message servers, either operating independently or as part of an interoperating message server set. Respective message servers may generate a subscription filter indicating whether at least one assigned recipient subscribes to respective message sources, and may utilize the subscription filter to determine, upon receiving a message from a message source, whether to discard the message or store the message for delivery. Interoperating message servers may also exchange subscription filters, and upon receiving a message from any message source, a message server may utilize the subscription filters of the other message servers to determine which other message servers are assigned at least one subscribing recipient, and may retransmit the message only to such message servers.