# US 11,121,930 B1 · Sparkplug-aware MQTT server

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,121,930 B1
- Document ID: US11121930B1
- Status: Granted
- Kind: B1
- Application number: 17/108,748
- Filed: 2020-12-01
- Granted: 2021-09-14
- Earliest claimed: 2020-12-01
- Applicants: Cirrus Link Solutions, LLC
- Inventors: Wesley Johnson; Chad Kienle; Nathan Davenport
- Web page: https://patentgrep.com/patent/US11121930B1

## CPC

- H04L 69/04: Protocols for data compression, e.g. ROHC
- G16Y 30/00: IoT infrastructure
- G16Y 40/00: IoT characterised by the purpose of the information processing
- H04L 41/045: comprising client-server management architectures
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- H04L 67/55: Push-based network services
- H04L 41/04: Network management architectures or arrangements
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G16Y: INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]

## Abstract

An MQTT Server infrastructure comprises an MQTT Server in operable communication with at least one of the following: a SCADA/IIoT host; a plurality of MQTT EoN Nodes; and a plurality of Sparkplug applications. The MQTT Server infrastructure provides alert and metrics on key system status indicators, system errors, and performance issues for the Sparkplug open-source specification into an MQTT Server to provide a richer system awareness of connected MQTT clients.

## Claims

### Claim 1

A message queuing telemetry transport (MQTT) Server infrastructure, comprising:
an MQTT Server in operable communication with at least one of the following:
a supervisory control and data acquisition (SCADA)/industrial internet of things (IIoT) host,
a plurality of MQTT edge of network (EoN) Nodes; and
a plurality of Sparkplug applications, wherein Sparkplug is defined by Sparkplug v.2.2,
wherein the MQTT Server infrastructure is configured to store Sparkplug metric properties within the MQTT Server and query the MQTT Server infrastructure to allow the MQTT Server to introspect on Sparkplug birth messages passing through the MQTT Server infrastructure such that the MQTT Server infrastructure stores the Sparkplug birth messages and makes the Sparkplug birth messages accessible to a plurality of applications for future use.

### Claim 2 (depends on 1)

The MQTT Server infrastructure of claim 1, wherein the MQTT Server infrastructure is configured to detect, store and report collisions between a duplicate Sparkplug Group ID and an Edge Node ID across multiple MQTT Clients.

### Claim 3 (depends on 1)

The MQTT Server infrastructure of claim 1, wherein the MQTT Server infrastructure is configured to provide internal tracking, storage, and reporting of Sparkplug-specific data flowing through the MQTT Server to permit one or more Sparkplug metric counts, one or more Sparkplug sequence number errors, one or more Sparkplug template definition collisions, and one or more Sparkplug historical metrics.

### Claim 4 (depends on 1)

The MQTT Server infrastructure of claim 1, wherein the MQTT Server infrastructure tracks, stores, and reports a plurality of online/offline MQTT Edge Nodes and one or more primary SCADA/IIoT Host applications to permit the MQTT Server to track the Sparkplug clients connected to the MQTT Server.

### Claim 5 (depends on 1)

The MQTT Server infrastructure of claim 1, wherein the plurality of MQTT EoN Nodes that are offline are tracked, stored, and reported.

### Claim 6 (depends on 1)

The MQTT Server infrastructure of claim 1, wherein the MQTT Server infrastructure provides Sparkplug compression sampling to allow the MQTT Server to perform an analysis of the Sparkplug birth messages passing through the MQTT Server to determine if compression is increasing or reducing overall bandwidth.

### Claim 7 (depends on 1)

The MQTT Server infrastructure of claim 1, wherein the MQTT Server system infrastructure provides tracking, storing, and reporting of Edge Nodes that are not subscribing on primary host ID.

### Claim 8 (depends on 1)

The MQTT Server infrastructure of claim 1, wherein the MQTT Server infrastructure provides tracking, storage, and reporting of timeout configurations and potential misconfigurations of an MQTT Will Message in the context of the plurality of Sparkplug applications.

### Claim 9 (depends on 1)

The MQTT Server infrastructure of claim 1, wherein the MQTT Server infrastructure provides access control list (ACL) configuration based on Sparkplug topic tokens.

### Claim 10

A message queuing telemetry transport (MQTT) Server infrastructure, comprising:
an MQTT Server in operable communication with at least one of the following:
a supervisory control and data acquisition (SCADA)/industrial internet of things (IIoT) host, a plurality of MQTT edge of network (EoN) Nodes, and a plurality of Sparkplug applications, wherein Sparkplug is defined by Sparkplug v.2.2,
wherein the MQTT Server infrastructure is configured to provide one or more alerts and one or more metrics corresponding to one or more MQTT Server infrastructure status indicators, one or more MQTT Server infrastructure status errors, and one or more performance issues for a Sparkplug open-source specification into an MQTT server;
wherein the MQTT Server infrastructure is configured to store Sparkplug metric properties within the MQTT Server and query the MQTT Server infrastructure to allow the MQTT Server to introspect on Sparkplug birth messages passing through the MQTT Server infrastructure such that the MQTT Server infrastructure stores the Sparkplug birth messages and makes the Sparkplug birth messages accessible to a plurality of applications for future use.

### Claim 11 (depends on 10)

The MQTT Server infrastructure of claim 10, wherein the MQTT Server infrastructure is configured to detect, store and report collisions between a duplicate Sparkplug Group ID and an Edge Node ID across multiple MQTT Clients.

### Claim 12 (depends on 10)

The MQTT Server infrastructure of claim 10, wherein the MQTT Server infrastructure is configured to provide internal tracking, storage, and reporting of Sparkplug-specific data flowing through the MQTT Server to permit one or more Sparkplug metric counts, one or more Sparkplug sequence number errors, one or more Sparkplug template definition collisions, and one or more Sparkplug historical metrics.

### Claim 13 (depends on 12)

The MQTT Server infrastructure of claim 12, wherein the MQTT Server infrastructure tracks, stores, and reports a plurality of online/offline MQTT Edge Nodes and one or more primary SCADA/IIoT Host applications to permit the MQTT Server to track the Sparkplug clients connected to the MQTT Server.

### Claim 14 (depends on 13)

The MQTT Server infrastructure of claim 13, wherein the plurality of MQTT EoN Nodes that are offline are tracked, stored, and reported.

### Claim 15 (depends on 14)

The MQTT Server infrastructure of claim 14, wherein the MQTT Server infrastructure provides Sparkplug compression sampling to allow the MQTT Server to perform an analysis of the Sparkplug Birth messages passing through the MQTT Server to determine if compression is increasing or reducing overall bandwidth.

### Claim 16 (depends on 15)

The MQTT Server infrastructure of claim 15, wherein the MQTT Server infrastructure provides tracking, storing, and reporting of Edge Nodes that are not subscribing on primary host ID.

### Claim 17 (depends on 16)

The MQTT Server infrastructure of claim 16, wherein the MQTT Server infrastructure provides tracking, storage, and reporting of timeout configurations and potential misconfigurations of an MQTT Will Message in the context of the plurality of Sparkplug applications.

### Claim 18 (depends on 17)

The MQTT Server infrastructure of claim 17, the MQTT Server infrastructure provides an access control list (ACL) configuration based on Sparkplug topic tokens.

### Claim 19

A message queuing telemetry transport (MQTT) Server infrastructure, comprising:
an MQTT Server in operable communication with at least one of the following:
a supervisory control and data acquisition (SCADA)/industrial internet of things (IIoT) host,
a plurality of MQTT edge of network (EoN) Nodes; and
a plurality of Sparkplug applications, wherein Sparkplug is defined by Sparkplug v.2.2,
wherein the MQTT Server infrastructure is configured to provide internal tracking, storage, and reporting of Sparkplug-specific data flowing through the MQTT Server to permit one or more Sparkplug metric counts, one or more Sparkplug sequence number errors, one or more Sparkplug template definition collisions, and one or more Sparkplug historical metrics.

### Claim 20 (depends on 19)

The MQTT Server infrastructure of claim 19, wherein the MQTT Server infrastructure is configured to store Sparkplug metric properties within the MQTT Server and query the MQTT Server infrastructure to allow the MQTT Server to introspect on Sparkplug birth messages passing through the MQTT Server infrastructure such that the MQTT Server infrastructure stores the Sparkplug birth messages and makes the Sparkplug birth messages accessible to a plurality of applications for future use.
