System and method for communicating messages among components in a computing environment
AssigneeComputer Associates Think, Inc.
InventorsBruce A. Defrang, Patrick R. Lee
Life of this patent
Estimating the term…
Abstract
In one embodiment, a method for communicating messages in a computing environment includes receiving a message from a client, storing the message in a persistent memory, sending the message to an intended destination until the message is received by the intended destination, and deleting the message from the persistent memory after the message is received by the intended destination.
Claims25
A computer-implemented method for communicating messages in a computing environment, comprising:
- sending an indication that a client of a first computer system wants to send a message to an intended destination of a second computer system, wherein sending the indication includes calling a send function that is part of an API associated with a first manager component of the first computer system;
- storing the message in a memory that is local to the client;
- determining, by the send function, whether the first manager component of the first computer system is available to receive the message;
- when the first manager component is available to receive the message, arranging, by the first manager component, the message in a message queue among at least one additional message having the intended destination such that the message queue includes a plurality of messages to be sent to the intended destination, wherein the plurality of messages in the message queue are arranged in an order in which the plurality of messages in the message queue were stored in the memory;
- determining, by the first manager component, a second manager component associated with the intended destination using a reference that maps the intended destination to the associated second manager component;
- attempting to send, by the first manager component, the plurality of messages of the message queue to the second manager component based upon the order of the message queue;
- determining, by the first manager component, if a first message from the plurality of messages in the message queue is successfully sent to the second manager component, wherein the determination of whether the first message was successfully sent includes determining whether the second manager component sent a confirmation that the second manager component received the first message;
- when the first message is not successfully sent to the second manager component, retaining the first message, by the first manager component, among the plurality of messages in the message queue and attempting to send the first message successfully before attempting to send a remainder of the plurality of messages in the order of the message queue;
- and
- when the first message is successfully sent to the second manager component, attempting to send, by the first manager component, the remainder of the plurality of messages in the message queue in the order of the message queue to the second manager component such that the plurality of messages in the first message queue are received at the second manager component in the order of the message queue.
A message managing system for communicating messages in a computing environment, comprising:
- one or more processors configured to:
- call a send function to indicate that a client of a first computer system wants to send a message to an intended destination of a second computer system, wherein the send function is part of an API associated with a first manager component of the first computer system;
- store the message in a memory that is local to the client;
- determine, by the send function, whether the first manager component of the first computer system is available to receive the message;
- when the first manager component is available to receive the message, arrange, by the first manager component, the message in a message queue among at least one additional message having the intended destination such that the message queue includes a plurality of messages to be sent to the intended destination, wherein the plurality of messages in the message queue are arranged in an order in which the plurality of messages in the message queue were stored in the memory;
- determine, by the first manager component, a second manager component associated with the intended destination using a reference that maps the intended destination to the associated second manager component;
- attempt to send, by the first manager component, the plurality of messages of the messaging queue to the second manager component based upon the order of the message queue;
- determine, by the first manager component, if a first message from the plurality of messages in the message queue is successfully sent to the second manager component, wherein the determination of whether the first message was successfully sent includes a determination of whether the second manager component sent a confirmation that the second manager component received the first message;
- when the first message is not successfully sent to the second manager component, retain the first message, by the first manager component, among the plurality of messages in the message queue and attempt to send the message successfully before an attempt is made to send a remainder of the plurality of messages in the order of the message queue;
- and
- when the first message is successfully sent to the second manager component, attempt to send, by the first manager component, the remainder of the plurality of messages in the message queue in the order of the message queue to the second manager component such that the plurality of messages in the first message queue are received at the second manager component in the order of the message queue.
A non-transitory computer readable medium storing computer executable instructions for communicating messages in a computing environment, the instructions when executed on one or more processors configuring the one or more processors to:
- call a send function to indicate that a client of a first computing system wants to send a message to an intended destination of a second computing system, wherein the send function is part of an API associated with a first manager component of the first computer system;
- store the message in a memory that is local to the client;
- determine, by the send function, whether the first manager component of the first computer system is available to receive the message;
- when the first manager component is available to receive the message, arrange, by the first manager component, the message in a message queue among at least one additional message having the intended destination such that the message queue includes a plurality of messages to be sent to the intended destination, wherein the plurality of messages in the message queue are arranged in an order in which the plurality of messages in the message queue were stored in the memory;
- determine, by the first manager component, a second manager component associated with the intended destination using a reference that maps the intended destination to the associated second manager component;
- attempt to send, by the first manager component, the plurality of messages in the message queue to the second manager component upon the order of the message queue;
- determine, by the first manager component, if a first message from the plurality of messages in the message queue is successfully sent to the second manager component, wherein the determination of whether the first message was successfully sent includes a determination of whether the second manager component sent a confirmation that the second manager component received the first message;
- when the first message is not successfully sent to the second manager component, retain the first message, by the first manager component, among the plurality of messages in the message queue and attempt to send the message successfully before an attempt is made to send a remainder of the plurality of messages in the order of the message queue;
- and
- when the first message is successfully sent to the second manager component, attempt to send the remainder of the plurality of messages in the message queue in the order of the message queue to the second manager component such that the plurality of messages of the message queue are received at the second manager component in the order of the message queue.
A system for communicating messages in a computing environment, comprising:
- one or more processing devices configured to:
- call a send function to indicate that a client of a first computing system wants to send a message to an intended destination of a second computer system, wherein the send function is part of an API associated with a first manager component of the first computer system,
- store the message in a memory that is local to the first computer system,
- determine, by the send function, whether the first manager component of the first computer system is available to receive the message,
- when the first manager component is available to receive the message, arrange the message in a message queue among at least one additional message having the intended destination such that the message queue includes a plurality of messages to be sent to the intended destination, wherein the plurality of messages in the message queue are arranged in an order in which the plurality of messages in the message queue were stored in the memory;
- determine, by the first manager component, a second manager component associated with the intended destination using a reference that maps the intended destination to the associated second manager component;
- attempt to send the plurality of messages in the message queue to the second manager component based upon the order of the message queue;
- determine if a first message from the plurality of messages in the message queue is successfully sent to the second manager component wherein the determination of whether the first message was successfully sent includes a determination of whether the second manager component sent a confirmation that the second manager component received the first message;
- and
- when the first message is not successfully sent to the second manager component, retain the first message among the plurality of messages in the message queue and attempt to send the message successfully before an attempt is made to send a remainder of the plurality of messages in the order of the message queue;
- and
- when the first message is successfully sent to the second manager component, attempt to send the remainder of the plurality of messages in the message queue in the order of the message queue to the second manager component such that the messages of the message queue are received at the second manager component in the order of the message queue.
Dependencies are inferred from the claim text.