COORDINATING RESOURCES USING A VOLATILE NETWORK INTERMEDIARY
First Claim
1. In a computer architecture including a communication medium, an intermediary resource manager, and an application with a plurality of consumers that consume messages from the communication medium, the intermediary resource manager situated between the application and the communication medium, the application supporting a state coordination pattern to coordinate state transitions between the application and accessible communication mediums, the communication medium not supporting the state coordination pattern of the application, a method for coordinating state between the communication medium and the application based on the state coordination pattern, notwithstanding that the communication medium does not support the state coordination pattern, the method comprising:
- an act of receiving a message request from a consumer in the plurality of consumers, the message request requesting a message from the communication medium for processing;
an act of identifying an available message available at the communication medium;
an act of the intermediary resource manager implementing at least part of the state coordination pattern to facilitate processing of the available message, the intermediary resource manager implementing the state coordination pattern on behalf of the communication medium to coordinate state between the application and the communication medium;
an act of receiving a signal from the requesting consumer indicating the results of an attempt to update application state based on the contents of the available message;
an act of determining what the corresponding communication medium state is to be based on and in response to the received signal indicating the results of attempting to update the application state; and
an act of the intermediary resource manager implementing at least a second part of the state coordination pattern on behalf of the communication medium to coordinate the corresponding communication medium state with the application state.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for coordinating resources using a volatile network intermediary. Embodiments provide a mechanism for an network intermediary to facilitate a state coordination pattern between an application and a communication medium when the communication medium does not support the state coordination pattern. In some embodiments, receiving applications can make use of this network intermediary by changing the receive location. However, the receiving application may not be able to distinguish the network intermediary from a native implementation of the state coordination pattern. Further, the network intermediary does not require deployment of a persistent or durable store to coordinate state between receiving applications and the original communication medium.
102 Citations
20 Claims
-
1. In a computer architecture including a communication medium, an intermediary resource manager, and an application with a plurality of consumers that consume messages from the communication medium, the intermediary resource manager situated between the application and the communication medium, the application supporting a state coordination pattern to coordinate state transitions between the application and accessible communication mediums, the communication medium not supporting the state coordination pattern of the application, a method for coordinating state between the communication medium and the application based on the state coordination pattern, notwithstanding that the communication medium does not support the state coordination pattern, the method comprising:
-
an act of receiving a message request from a consumer in the plurality of consumers, the message request requesting a message from the communication medium for processing; an act of identifying an available message available at the communication medium; an act of the intermediary resource manager implementing at least part of the state coordination pattern to facilitate processing of the available message, the intermediary resource manager implementing the state coordination pattern on behalf of the communication medium to coordinate state between the application and the communication medium; an act of receiving a signal from the requesting consumer indicating the results of an attempt to update application state based on the contents of the available message; an act of determining what the corresponding communication medium state is to be based on and in response to the received signal indicating the results of attempting to update the application state; and an act of the intermediary resource manager implementing at least a second part of the state coordination pattern on behalf of the communication medium to coordinate the corresponding communication medium state with the application state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer program product for use in a computer architecture including a communication medium, a resource manager, and an application with a plurality of consumers that consume messages from the communication medium, the computer program product for implementing a method for coordinating state between the communication medium and the application, the computer program product comprising one or more computer readable media having stored thereon computer-executable instructions that, when executed at a process, cause the computer architecture to perform the method, including the following:
-
receive a message request from a consumer in the plurality of consumers, the message request requesting a message from the communication medium for processing; access a message list of one or more messages of the communication medium to identify an available message; access the contents of the available message; lock the available message to prevent further access to the contents of the available message; provide the accessed message contents to the requesting consumer; receive a signal from the requesting consumer indicating the results of an attempt to update application state based on the contents of the message; and at least unlock the available message in response to the received signal. - View Dependent Claims (17, 18, 19)
-
-
20. A computer system, the computer system including:
-
one or more processors; system memory; one or more computer storage media have stored thereon computer-executable instructions representing a communication medium, an application, and an intermediary resource manager situated between the communication medium and the application, wherein the communication medium is configured to; receive messages; receive signals to delete messages from the intermediary resource manager; and delete messages based on and in response to delete signals;
wherein the application includes a plurality of consumers that consumemessages from the communication medium, each consumer configured to; request messages from the communication medium; receive the contents of messages; attempt to update application state based on the contents of messages; and signal results of attempted application state updates to the communication medium; and wherein the intermediary resource manager is configured to; receive requests for messages from each consumer in the plurality of consumers; access a message list of one or more messages of the communication medium to identify available messages; access the contents of available messages; lock messages to prevent further access to the contents of the messages; provide accessed message contents to consumers; receive signals from consumers indicating the results of an attempt to update application state based on the contents of the message; unlock messages; and signal the communication medium to delete messages.
-
Specification