System and method for communicating messages among components in a computing environment
First Claim
Patent Images
1. 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.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
25 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. 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. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
14. 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. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. 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. - View Dependent Claims (23, 24, 25)
Specification