Shared Subscription Hubs for MQTT Cluster Server Coverage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current publish-subscribe services face challenges in achieving optimal server coverage for shared subscription clients, leading to sub-optimal distribution of messages and increased network load, particularly in 'fat pipe' applications that require high message consumption.

Innovation Solution

Implementing shared subscription hubs that retrieve and analyze subscription information to connect shared subscription clients to the most suitable messaging engines, thereby improving server coverage and reducing network traffic by distributing messages efficiently across the cluster.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If shared subscription clients connect directly to multiple messaging engines, then message consumption capability increases, but server coverage becomes sub-optimal and network load increases

Engineering Contradiction:
Improvemessage consumption capabilityVSAvoidserver coverage
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces shared subscription hubs as intermediary components between fat-pipe cloud applications and the MQTT broker cluster. These hubs retrieve shared subscription information from the cluster, receive subscription requests from clients, connect to preferred messaging engines on behalf of clients, and forward messages. This intermediary layer optimizes server coverage by intelligently selecting which messaging engines to connect to, thereby improving reliability while maintaining high message consumption capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If more messaging engines are connected to serve shared subscriptions, then message consumption increases, but network traffic and resource consumption increase

Engineering Contradiction:
Improvemessage consumptionVSAvoidnetwork load
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent changes the parameter of connection topology by introducing shared subscription hubs that consolidate multiple client connections to a limited number of preferred messaging engines. Instead of each client connecting directly to multiple engines, the hubs retrieve shared subscription information and establish optimized connections, thereby reducing overall network traffic and resource consumption while maintaining or increasing message consumption capability.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If shared subscription information is retrieved from all cluster servers, then complete subscription data is obtained, but information retrieval complexity increases

Engineering Contradiction:
Improvesubscription information completenessVSAvoidinformation retrieval complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent extracts the function of retrieving and managing shared subscription information from individual messaging engines and centralizes it in shared subscription hubs. The hubs retrieve the necessary shared subscription information from the cluster and maintain it locally, allowing them to serve multiple clients without repeatedly querying all servers. This extraction simplifies the information retrieval process while maintaining completeness of subscription data.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10334067B2MQTT cluster shared subscription hub for fat-pipe cloud applications
Publication Date: 2019.06.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10334067B2 patent drawing
  • US10334067B2 patent drawing
  • US10334067B2 patent drawing

AI summary

A computer implemented method of improving server coverage of a publish-subscribe cluster comprising using one or more hardware processors to execute one or more shared subscriptions hubs each adapted to retrieve shared subscriptions information from a cluster comprising multiple servers executing multiple messaging engines of a publish-subscribe service for forwarding messages to a plurality of subscribing clients, each message is associated with one or more of a plurality of topics, receive shared subscriptions requests for subscribing for one or more of the topics from distributed subscriptions client(s) applying shared subscriptions for the topic(s) through subscription group(s) comprising a subset of the subscribing clients, connect to preferred messaging engine(s) selected to improve server coverage of the subscription group(s) according to the shared subscriptions information to serve each of the plurality of shared subscriptions requests and forward messages associated with the topic(s) received from the selected messaging engine(s) to the subscription group(s).