# US 11,310,187 B2 · Cooperative messaging environments

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

- Number: US 11,310,187 B2
- Document ID: US11310187B2
- Status: Granted
- Kind: B2
- Application number: 17/028,227
- Filed: 2020-09-22
- Published: 2022-03-24
- Granted: 2022-04-19
- Earliest claimed: 2020-09-22
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Simon Page; Sean Cawood
- Web page: https://patentgrep.com/patent/US11310187B2

## CPC

- H04L 51/234: for tracking messages
- H04L 51/046: Interoperability with other network applications or services
- H04L 51/18: Commands or executable codes
- H04L 51/226: Delivery according to priorities
- H04L 51/23: Reliability checks, e.g. acknowledgments or fault reporting
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Proposed are concepts for controlling message distribution in a cooperative messaging environment, CME. The method includes determining an availability of each of a plurality of messaging resources of the CME, each of the plurality of messaging resources being associated with one or more message consuming applications. The method further includes determining an application property for each of the one or more message consuming applications associated with each of the plurality of messaging resources. The method further includes controlling a distribution of a message from a message producing application to at least one of the plurality of messaging resources based, at least in part, on metadata associated with the message, the availability of each of the plurality of messaging resources, and the application property for each of the one or more message consuming applications associated with each of the plurality of messaging resources.

## Claims

### Claim 1

A computer-implemented method comprising:
determining an availability of each of a plurality of messaging resources of a cooperative messaging environment (CME), each of the plurality of messaging resources being associated with one or more message consuming applications;
determining an application property for each of the one or more message consuming applications associated with each of the plurality of messaging resources;
controlling a distribution of a message from a message producing application to at least one of the plurality of messaging resources based, at least in part, on metadata associated with the message, the availability of each of the plurality of messaging resources, and the application property for each of the one or more message consuming applications associated with each of the plurality of messaging resources; and
responsive to receiving a request from a first message consuming application, opening a first messaging resource of the CME and associating the first messaging resource with the first message consuming application.

### Claim 2 (depends on 1)

The method of claim 1, wherein controlling the distribution of the message from a message producing application to at least one of the plurality of messaging resources, further comprises:
receiving the message from the message producing application;
analyzing the metadata associated with the message to determine a required application property;
identifying a candidate messaging resource from the plurality of messaging resources that is associated with at least one of the one or more message consuming applications having the required application property; and
controlling communication of the message to the candidate messaging resource based on a determined availability.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining an availability of each of a plurality of messaging resources of the CME, further comprises:
maintaining a record of one or more opened messaging resources of the CME.

### Claim 4 (depends on 3)

The method of claim 3, wherein maintaining the record of one or more opened messaging resources, further comprises:
monitoring an operational status of each of the one or more opened messaging resources; and
responsive to identifying a change in the operational status of at least one of the one or more opened messaging resources, updating the record based, at least in part, on the identified change in the operational status.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining the application property for each of the one or more message consuming applications, further comprises:
analyzing metadata associated with each of the one or more message consuming applications to determine the application property of each of the one or more message consuming applications, wherein the application property includes an operational parameter.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
analyzing metadata associated with the first message consuming application to identify an application property of the first message consuming application.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
responsive to receiving a request from a first message producing application, opening a second messaging resource of the CME and associating the second messaging resource with a second message consuming application.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
analyzing metadata associated with the first message producing application to identify a required application property of the second message consuming application.

### Claim 9 (depends on 1)

The method of claim 1, wherein the at least one of the plurality of messaging resources includes an instance of a messaging queue.

### Claim 10

A computer program product comprising:
one or more computer readable storage devices and program instructions stored on the one or more computer readable storage devices, the stored program instructions comprising:
program instructions executable for determining an availability of each of a plurality of messaging resources of a cooperative messaging environment (CME), each of the plurality of messaging resources being associated with one or more message consuming applications;
program instructions executable for determining an application property for each of the one or more message consuming applications associated with each of the plurality of messaging resources;
program instructions executable for controlling a distribution of a message from a message producing application to at least one of the plurality of messaging resources based, at least in part, on metadata associated with the message, the availability of each of the plurality of messaging resources, and the application property for each of the one or more message consuming applications associated with each of the plurality of messaging resources; and
program instructions executable for, responsive to receiving a request from a first message consuming application, opening a first messaging resource of the CME and associating the first messaging resource with the first message consuming application.

### Claim 11 (depends on 10)

The computer program product of claim 10, wherein program instructions executable for controlling the distribution of the message from a message producing application to at least one of the plurality of messaging resources, further comprise:
program instructions executable for receiving the message from the message producing application;
program instructions executable for analyzing the metadata associated with the message to determine a required application property;
program instructions executable for identifying a candidate messaging resource from the plurality of messaging resources that is associated with at least one of the one or more message consuming applications having the required application property; and
program instructions executable for controlling communication of the message to the candidate messaging resource based on a determined availability.

### Claim 12 (depends on 10)

The computer program product of claim 10, wherein program instructions executable for determining an availability of each of a plurality of messaging resources of the CME, further comprise:
program instructions executable for maintaining a record of one or more opened messaging resources of the CME.

### Claim 13 (depends on 12)

The computer program product of claim 12, wherein program instructions executable for maintaining the record of one or more opened messaging resources, further comprise:
program instructions executable for monitoring an operational status of each of the one or more opened messaging resources; and
responsive to identifying a change in the operational status of at least one of the one or more opened messaging resources, program instructions executable for updating the record based, at least in part, on the identified change in the operational status.

### Claim 14 (depends on 10)

The computer program product of claim 10, wherein program instructions executable for determining the application property for each of the one or more message consuming applications, further comprise:
program instructions executable for analyzing metadata associated with each of the one or more message consuming applications to determine the application property of each of the one or more message consuming applications, wherein the application property includes an operational parameter.

### Claim 15

A computer system comprising:
one or more computer processors;
one or more computer readable storage media; and
program instructions stored on at least one of the one or more computer readable storage media for execution by at least one of the one or more computer processors, the stored program instructions comprising:
program instructions executable for determining an availability of each of a plurality of messaging resources of a cooperative messaging environment (CME), each of the plurality of messaging resources being associated with one or more message consuming applications;
program instructions executable for determining an application property for each of the one or more message consuming applications associated with each of the plurality of messaging resources;
program instructions executable for controlling a distribution of a message from a message producing application to at least one of the plurality of messaging resources based, at least in part, on metadata associated with the message, the availability of each of the plurality of messaging resources, and the application property for each of the one or more message consuming applications associated with each of the plurality of messaging resources; and
program instructions executable for, responsive to receiving a request from a first message consuming application, opening a first messaging resource of the CME and associating the first messaging resource with the first message consuming application.

### Claim 16 (depends on 15)

The computer system of claim 15, wherein program instructions executable for controlling the distribution of the message from a message producing application to at least one of the plurality of messaging resources, further comprise:
program instructions executable for receiving the message from the message producing application;
program instructions executable for analyzing the metadata associated with the message to determine a required application property;
program instructions executable for identifying a candidate messaging resource from the plurality of messaging resources that is associated with at least one of the one or more message consuming applications having the required application property; and
program instructions executable for controlling communication of the message to the candidate messaging resource based on a determined availability.

### Claim 17 (depends on 15)

The computer system of claim 15, wherein program instructions executable for determining an availability of each of a plurality of messaging resources of the CME, further comprise:
program instructions executable for maintaining a record of one or more opened messaging resources of the CME.

### Claim 18 (depends on 17)

The computer system of claim 17, wherein program instructions executable for maintaining the record of one or more opened messaging resources, further comprise:
program instructions executable for monitoring an operational status of each of the one or more opened messaging resources; and
responsive to identifying a change in the operational status of at least one of the one or more opened messaging resources, program instructions executable for updating the record based, at least in part, on the identified change in the operational status.
