MQTT Server Client Grouping for Message Forwarding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In the context of the Internet of Things (IoT), conventional MQTT protocols face challenges in efficiently and securely managing message publishing and subscription as the number of clients increases, leading to deteriorated message forwarding performance due to the lack of a client grouping mechanism, which affects network security and efficiency.

Innovation Solution

The proposed solution involves grouping clients into device groups based on identity identifiers and grouping conditions, allowing the MQTT server to determine the appropriate device group for each client and process messages within those groups, enhancing security and efficiency by ensuring data is forwarded only to relevant clients within the same group.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the MQTT server processes messages for all clients without grouping, then message forwarding covers all clients, but message forwarding performance deteriorates as the number of clients increases

Engineering Contradiction:
Improvemessage forwarding performanceVSAvoidnumber of clients
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the client set into multiple device groups based on grouping conditions (such as device types, locations, or other attributes). Each device group is managed independently, allowing the server to process messages for smaller subsets of clients rather than all clients simultaneously. This segmentation directly improves message forwarding performance by reducing the computational burden on the server when handling publish/subscribe operations.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the MQTT server forwards data to all subscribed clients, then message delivery is comprehensive, but network overhead increases

Engineering Contradiction:
Improvemessage delivery completenessVSAvoidnetwork overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies local quality by customizing message forwarding behavior for different device groups. Instead of uniformly forwarding messages to all clients, the server determines which device groups should receive messages based on grouping conditions and message relevance. This allows comprehensive message delivery to appropriate clients while reducing network overhead by excluding irrelevant clients from the forwarding process.

Inventive Principle:
Principle #3Local quality

3Reliability

If the MQTT server implements fine-grained access control for each client, then security is improved, but processing complexity increases

Engineering Contradiction:
Improvemessage securityVSAvoidaccess control processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges access control checks at the device group level rather than requiring individual client-level checks for each message. By determining which device groups should receive messages based on grouping conditions, the server reduces processing complexity while maintaining security. The access control mechanism is simplified by working with groups of clients that share common attributes or permissions.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11411897B2Communication method and communication apparatus for message queue telemetry transport
Publication Date: 2022.08.09 HUAWEI TECH CO LTD
  • US11411897B2 patent drawing
  • US11411897B2 patent drawing
  • US11411897B2 patent drawing

AI summary

This application provides a communication method that includes grouping a plurality of clients to obtain at least two device groups, where each of the at least two device groups includes at least two clients. The method further includes receiving a publish request sent by a first client, where the publish request includes first data that corresponds to a first topic. The publish request is used to request a message queue telemetry transport (MQTT) server to publish the first data. After it is determined that a first device group to which the first client belongs from the at least two device groups, a publish message that includes the first data is sent to a second client in the first device group.