Broker Cluster Message Keys for Consistent Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing MQTT broker systems face inefficiencies in managing large volumes of messages and maintaining consistent ordering and storage across distributed nodes, particularly in constrained network environments.

Innovation Solution

A method involving a master node in a broker cluster that generates unique keys for messages using client identifiers and sequence numbers, with follower nodes replicating and maintaining these keys to ensure consistent ordering and storage, and enabling seamless failover in case of node unavailability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a broker cluster uses distributed nodes to handle large volumes of messages, then message processing capacity is improved, but maintaining consistent ordering and storage across nodes becomes complex

Engineering Contradiction:
Improvemessage processing capacityVSAvoidconsistency management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments message storage and ordering responsibilities by assigning each node a unique identifier range. Each node maintains a local counter for its assigned client identifiers, allowing distributed message handling while preserving ordering within each node's jurisdiction. This segmentation enables parallel processing without requiring complex global coordination.

Inventive Principle:
Principle #1Segmentation

2Reliability

If follower nodes replicate messages from master node, then system reliability is improved, but message storage consistency across nodes becomes challenging

Engineering Contradiction:
Improvesystem reliabilityVSAvoidmessage storage consistency
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The master node performs preliminary actions by generating unique keys with sequence numbers before message replication. Follower nodes receive these pre-keyed messages and simply store them with the provided keys, eliminating the need for complex reconciliation logic. This preliminary key generation ensures consistency is built-in rather than enforced through complex post-processing.

Inventive Principle:
Principle #10Preliminary action

3Speed

If unique keys with sequence numbers are generated for each message, then message retrieval efficiency is improved, but key generation and storage overhead increases

Engineering Contradiction:
Improvemessage retrieval efficiencyVSAvoidkey management overhead
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system merges the key generation function with the counter increment operation. Each node maintains a simple counter that is incremented with each message, and this counter value becomes part of the message key. This merging eliminates separate key generation logic and uses the inherently sequential nature of counter increments to provide both ordering and uniqueness.

Inventive Principle:
Principle #5Merging (Combining)

4Productivity

If the system handles high-volume messages in constrained network environments, then communication efficiency is improved, but message ordering and delivery guarantee becomes difficult

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidmessage ordering guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Each node autonomously generates unique keys with sequence numbers for messages it processes, without requiring coordination with other nodes. This self-service approach to key generation ensures that even in constrained network environments where communication may be unreliable, each node can independently maintain message ordering and delivery guarantees for its assigned messages.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250337817A1Method of managing messages
Publication Date: 2025.10.30 HIVEMQ GMBH
  • US20250337817A1 patent drawing
  • US20250337817A1 patent drawing
  • US20250337817A1 patent drawing

AI summary

There is provided a method for managing messages in a broker cluster. The broker cluster comprises a plurality of nodes each of which maintains a separate counter. The master node of the plurality of nodes in the broker cluster receives a request containing a payload for a message to be stored at the master node. The master node generates a key for the message, wherein the key comprises at least: a client identifier of a client to receive the message, and a sequence number from the counter of the master node. The master node stores a message formed based on the key and the payload as a key-value pair at the master node.