# US 12,223,369 B2 · Message oriented middleware cluster synchronization

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

- Number: US 12,223,369 B2
- Document ID: US12223369B2
- Status: Granted
- Kind: B2
- Application number: 17/370,384
- Filed: 2021-07-08
- Published: 2023-01-12
- Granted: 2025-02-11
- Earliest claimed: 2021-07-08
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Abhijit Mishra; Krishna Mohan Akkinapalli; Satish Ranjan Das; Bijan Kumar Mohanty; Hung Dinh; Saravanan Kannan; SivaMohan Nimmakayala
- Web page: https://patentgrep.com/patent/US12223369B2

## CPC

- G06F 9/546: {Message passing systems or structures, e.g. queues}
- G06F 15/17325: {Synchronisation; Hardware support therefor (intertask synchronisation G06F9/52)}
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06N 20/00: Machine learning
- G06N 20/20: Ensemble learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A method comprises collecting message-oriented-middleware system parameters from a plurality of message-oriented-middleware clusters, analyzing the parameters using one or more machine learning algorithms, and predicting, based at least in part on the analyzing, at least one anomaly in a message-oriented-middleware cluster of the plurality of message-oriented-middleware clusters. In the method, message metadata is collected from the message-oriented-middleware cluster, and at least part of the message metadata is transmitted to one or more remaining ones of the plurality of message-oriented-middleware clusters. At least the part of the message metadata corresponds to messaging operations to be transferred from the message-oriented-middleware cluster to the one or more remaining ones of the plurality of message-oriented-middleware clusters.

## Claims

### Claim 1

A method, comprising:
collecting message-oriented-middleware system parameters from a plurality of message-oriented-middleware clusters;
analyzing the message-oriented-middleware system parameters using one or more machine learning algorithms;
predicting, based at least in part on the analyzing, at least one anomaly in a message-oriented-middleware cluster of the plurality of message-oriented-middleware clusters;
collecting message metadata from the message-oriented-middleware cluster based, at least in part, on the predicting;
transmitting at least part of the message metadata to one or more remaining ones of the plurality of message-oriented-middleware clusters;
wherein the part of the message metadata corresponds to messaging operations to be transferred from the message-oriented-middleware cluster to the one or more remaining ones of the plurality of message-oriented-middleware clusters, and wherein the part of the message metadata comprises one or more details about progress of message transmission in the message-oriented-middleware cluster, the one or more details including at least one of message offset information and one or more timestamps for messages committed to transmission by the message-oriented-middleware cluster; and
synchronizing, based at least in part on the one or more details about the progress of the message transmission, the messaging operations between the message-oriented-middleware cluster and the one or more remaining ones of the plurality of message-oriented-middleware clusters to prevent message duplication between the message-oriented-middleware cluster and the one or more remaining ones of the plurality of message-oriented-middleware clusters;
wherein the synchronizing comprises translating the message metadata from a format of a first message-oriented-middleware system to a format of a second message-oriented-middleware system to permit the second message-oriented-middleware system to process the one or more details about the progress of the message transmission and prevent re-transmission of the messages committed to transmission by the message-oriented-middleware cluster; and
wherein the steps of the method are executed by a processing device operatively coupled to a memory.

### Claim 2 (depends on 1)

The method of claim 1, wherein the plurality of message-oriented-middleware clusters respectively comprise a plurality of nodes.

### Claim 3 (depends on 1)

The method of claim 1, wherein the message-oriented-middleware system parameters comprise at least one of one or more central processing unit utilization parameters, one or more storage utilization parameters, one or more input/output parameters, message queue depth, one or more channel agent values and one or more channel connection agent values.

### Claim 4 (depends on 1)

The method of claim 1, wherein the part of the message metadata further comprises at least one of last message read information, last message committed information, one or more topic attributes and one or more transaction identifiers.

### Claim 5 (depends on 1)

The method of claim 1, wherein the one or more machine learning algorithms utilize an unsupervised learning technique to detect one or more outlier parameters of the message-oriented-middleware system parameters.

### Claim 6 (depends on 5)

The method of claim 5, wherein the one or more machine learning algorithms comprise an isolation forest algorithm.

### Claim 7 (depends on 6)

The method of claim 6, further comprising training the one or more machine learning algorithms with training data comprising historical parameter data.

### Claim 8 (depends on 1)

The method of claim 1, wherein the collecting of the message metadata and the transmitting of at least the part of the message metadata is performed in response to the predicting of the at least one anomaly in the message-oriented-middleware cluster.

### Claim 9 (depends on 1)

The method of claim 1, further comprising comparing the message metadata from the message-oriented-middleware cluster with message metadata from the one or more remaining ones of the plurality of message-oriented-middleware clusters to determine differences between the message metadata from the message-oriented-middleware cluster and the message metadata from the one or more remaining ones of the plurality of message-oriented-middleware clusters.

### Claim 10 (depends on 9)

The method of claim 9, further comprising determining, based at least in part on the differences, at least a portion of the message metadata from the one or more remaining ones of the plurality of message-oriented-middleware clusters requiring an update.

### Claim 11 (depends on 10)

The method of claim 10, wherein the part of the message metadata transmitted to the one or more remaining ones of the plurality of message-oriented-middleware clusters corresponds to the message metadata from the one or more remaining ones of the plurality of message-oriented-middleware clusters requiring the update.

### Claim 12 (depends on 1)

The method of claim 1, further comprising providing one or more application programming interfaces to one or more message-oriented-middleware clients, wherein the one or more application programming interfaces are used by the one or more message-oriented-middleware clients to retrieve at least the part of the message metadata.

### Claim 13

An apparatus comprising:
a processing device operatively coupled to a memory and configured to:
collect message-oriented-middleware system parameters from a plurality of message-oriented-middleware clusters;
analyze the message-oriented-middleware system parameters using one or more machine learning algorithms;
predict, based at least in part on the analyzing, at least one anomaly in a message-oriented-middleware cluster of the plurality of message-oriented-middleware clusters;
collect message metadata from the message-oriented-middleware cluster based, at least in part, on the predicting;
transmit at least part of the message metadata to one or more remaining ones of the plurality of message-oriented-middleware clusters;
wherein the part of the message metadata corresponds to messaging operations to be transferred from the message-oriented-middleware cluster to the one or more remaining ones of the plurality of message-oriented-middleware clusters, and wherein the part of the message metadata comprises one or more details about progress of message transmission in the message-oriented-middleware cluster, the one or more details including at least one of message offset information and one or more timestamps for messages committed to transmission by the message-oriented-middleware cluster; and
synchronize, based at least in part on the one or more details about the progress of the message transmission, the messaging operations between the message-oriented-middleware cluster and the one or more remaining ones of the plurality of message-oriented-middleware clusters to prevent message duplication between the message-oriented-middleware cluster and the one or more remaining ones of the plurality of message-oriented-middleware clusters;
wherein, in synchronizing, the processing device is configured to translate the message metadata from a format of a first message-oriented-middleware system to a format of a second message-oriented-middleware system to permit the second message-oriented-middleware system to process the one or more details about the progress of the message transmission and prevent re-transmission of the messages committed to transmission by the message-oriented-middleware cluster.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the plurality of message-oriented-middleware clusters respectively comprise a plurality of nodes.

### Claim 15 (depends on 13)

The apparatus of claim 13, wherein the processing device is further configured to compare the message metadata from the message-oriented-middleware cluster with message metadata from the one or more remaining ones of the plurality of message-oriented-middleware clusters to determine differences between the message metadata from the message-oriented-middleware cluster and the message metadata from the one or more remaining ones of the plurality of message-oriented-middleware clusters.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein the processing device is further configured to determine, based at least in part on the differences, at least a portion of the message metadata from the one or more remaining ones of the plurality of message-oriented-middleware clusters requiring an update.

### Claim 17

An article of manufacture comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes said at least one processing device to perform the steps of:
collecting message-oriented-middleware system parameters from a plurality of message-oriented-middleware clusters;
analyzing the message-oriented-middleware system parameters using one or more machine learning algorithms;
predicting, based at least in part on the analyzing, at least one anomaly in a message-oriented-middleware cluster of the plurality of message-oriented-middleware clusters;
collecting message metadata from the message-oriented-middleware cluster based, at least in part, on the predicting;
transmitting at least part of the message metadata to one or more remaining ones of the plurality of message-oriented-middleware clusters;
wherein the part of the message metadata corresponds to messaging operations to be transferred from the message-oriented-middleware cluster to the one or more remaining ones of the plurality of message-oriented-middleware clusters, and wherein the part of the message metadata comprises one or more details about progress of message transmission in the message-oriented-middleware cluster, the one or more details including at least one of message offset information and one or more timestamps for messages committed to transmission by the message-oriented-middleware cluster; and
synchronizing, based at least in part on the one or more details about the progress of the message transmission, the messaging operations between the message-oriented-middleware cluster and the one or more remaining ones of the plurality of message-oriented-middleware clusters to prevent message duplication between the message-oriented-middleware cluster and the one or more remaining ones of the plurality of message-oriented-middleware clusters;
wherein, in synchronizing, the program code causes said at least one processing device to translate the message metadata from a format of a first message-oriented-middleware system to a format of a second message-oriented-middleware system to permit the second message-oriented-middleware system to process the one or more details about the progress of the message transmission and prevent re-transmission of the messages committed to transmission by the message-oriented-middleware cluster.

### Claim 18 (depends on 17)

The article of manufacture of claim 17, wherein the plurality of message-oriented-middleware clusters respectively comprise a plurality of nodes.

### Claim 19 (depends on 17)

The article of manufacture of claim 17, wherein the program code causes said at least one processing device to further perform the step of comparing the message metadata from the message-oriented-middleware cluster with message metadata from the one or more remaining ones of the plurality of message-oriented-middleware clusters to determine differences between the message metadata from the message-oriented-middleware cluster and the message metadata from the one or more remaining ones of the plurality of message-oriented-middleware clusters.

### Claim 20 (depends on 19)

The article of manufacture of claim 19, wherein the program code causes said at least one processing device to further perform the step of determining, based at least in part on the differences, at least a portion of the message metadata from the one or more remaining ones of the plurality of message-oriented-middleware clusters requiring an update.
