# US 12,010,081 B2 · Reactive backpressure for East-West messaging in an embedded control cluster

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

- Number: US 12,010,081 B2
- Document ID: US12010081B2
- Status: Granted
- Kind: B2
- Application number: 17/697,656
- Filed: 2022-03-17
- Published: 2022-06-30
- Granted: 2024-06-11
- Earliest claimed: 2020-08-14
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: An-Chun Chang; Gaurav Sharma
- Web page: https://patentgrep.com/patent/US12010081B2

## CPC

- H04L 51/212: using filtering or selective blocking
- H04L 67/1396: specially adapted for monitoring users' activity
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

According to certain embodiments, a message bus system comprises a first client and a second client. The first client is configured to publish messages associated with a message topic to a message bus, and the second client is configured to receive the messages associated with the message topic from the message bus. The message bus system is configured to unsubscribe the second client from the message topic based at least in part on determining that a demand of the second client for the messages associated with the message topic has fallen below a threshold.

## Claims

### Claim 1

A message bus system, comprising:
a first client configured to publish messages associated with a message topic to a message bus; and
a second client configured to receive the messages associated with the message topic from the message bus, wherein the message bus system is configured to:
determine that a demand of the second client for the messages associated with the message topic has fallen below a first threshold;
unsubscribe the second client from the message topic based, at least in part, on determining that the demand of the second client for the messages associated with the message topic has fallen below the first threshold; and
throttle, by the message bus, a rate at which the first client publishes additional messages associated with the message topic to the message bus in response to determining that the demand has fallen below the first threshold.

### Claim 2 (depends on 1)

The message bus system of claim 1, wherein, when the second client has been unsubscribed from the message topic, the message bus system further configured to:
determine that the demand of the second client for the messages associated with the message topic exceeds a second threshold; and
re-subscribe the second client to the message topic based at least in part on determining that the demand of the second client for the messages associated with the message topic exceeds the second threshold;
wherein the second threshold is greater than the first threshold.

### Claim 3 (depends on 2)

The message bus system of claim 2, wherein re-subscribing the second client to the message topic is further based on determining that the demand of the second client for the messages associated with the message topic has exceeded the second threshold for at least a pre-determined period.

### Claim 4 (depends on 1)

The message bus system of claim 1, wherein the demand of the second client is based on a maximum window size of the second client minus a number of the messages associated with the message topic not yet acknowledged by the second client.

### Claim 5 (depends on 1)

The message bus system of claim 1, wherein the message bus system is implemented in an enclosed system that prevents the messages associated with the message topic from being offloaded to a system external to the message bus system.

### Claim 6 (depends on 1)

The message bus system of claim 1, wherein the message bus of the message bus system comprises a messaging fabric made up of a plurality of messaging servers.

### Claim 7 (depends on 6)

The message bus system of claim 6, wherein the message bus system implements a clustered controller that includes a first controller and a second controller, the first controller comprising a first of the plurality of messaging servers and the first client, the second controller comprising a second of the plurality of messaging servers and the second client.

### Claim 8

A method, comprising:
determining that a demand of a client for receiving messages associated with a message topic via a message bus has fallen below a first threshold;
unsubscribing the client from the message topic based, at least in part, on determining that the demand of the client for receiving the messages associated with the message topic via the message bus has fallen below the first threshold; and
throttling, by the message bus, a rate at which a publisher publishes additional messages associated with the message topic to the message bus in response to determining that the demand has fallen below the first threshold, wherein the publisher is a separate entity communicatively coupled to the message bus and configured to transmit messages to the client.

### Claim 9 (depends on 8)

The method of claim 8, further comprising re-subscribing the client to the message topic based at least in part on determining that, while the client is unsubscribed from the message topic, the demand of the client for receiving the messages associated with the message topic via the message bus has exceeded a second threshold;
wherein re-subscribing the client to the message topic is further based on determining that the demand of the client for receiving the messages associated with the message topic via the message bus has exceeded the second threshold for at least a pre-determined period.

### Claim 10 (depends on 9)

The method of claim 9, wherein the second threshold is greater than the first threshold.

### Claim 11 (depends on 9)

The method of claim 9, wherein the first threshold is the same as the second threshold.

### Claim 12 (depends on 8)

The method of claim 8, wherein the demand of the client is based on a maximum window size of the client minus a number of the messages associated with the message topic not yet acknowledged by the client.

### Claim 13 (depends on 8)

The method of claim 8, wherein:
the unsubscribing of the client from the message topic is initiated by the client; and
the throttling of the rate at which the publisher publishes the additional messages is initiated by the message bus.

### Claim 14

One or more computer-readable non-transitory storage media embodying instructions that, when executed by a processor, cause the performance of operations including:
determining that a demand of a client for receiving messages associated with a message topic via a message bus has fallen below a first threshold;
unsubscribing the client from the message topic based at least in part on determining that the demand of the client for receiving the messages associated with the message topic via the message bus has fallen below the first threshold; and
throttling, by the message bus, a rate at which a publisher publishes additional messages associated with the message topic to the message bus in response to determining that the demand has fallen below the first threshold, wherein the publisher is a separate entity communicatively coupled to the message bus and configured to transmit messages to the client.

### Claim 15 (depends on 14)

The one or more computer-readable non-transitory storage media of claim 14, the operations further comprising re-subscribing the client to the message topic based at least in part on determining that, while the client is unsubscribed from the message topic, the demand of the client for receiving the messages associated with the message topic via the message bus has exceeded a second threshold;
wherein re-subscribing the client to the message topic is further based on determining that the demand of the client for receiving the messages associated with the message topic via the message bus has exceeded the second threshold for at least a pre-determined period.

### Claim 16 (depends on 15)

The one or more computer-readable non-transitory storage media of claim 15, wherein the second threshold is greater than the first threshold.

### Claim 17 (depends on 15)

The one or more computer-readable non-transitory storage media of claim 15, wherein the first threshold is the same as the second threshold.

### Claim 18 (depends on 14)

The one or more computer-readable non-transitory storage media of claim 14, wherein the demand of the client is based on a maximum window size of the client minus a number of the messages associated with the message topic not yet acknowledged by the client.

### Claim 19 (depends on 14)

The one or more computer-readable non-transitory storage media of claim 14, wherein:
the unsubscribing of the client from the message topic is initiated by the client; and
the throttling of the rate at which the publisher publishes the additional messages is initiated by the message bus.
