COORDINATING APPLICATION STATE AND COMMUNICATION MEDIUM STATE
First Claim
1. In a computer architecture including a communication medium and an application with a plurality of consumers that consume messages from the communication medium, a method for coordinating state between the communication medium and the application, the method comprising:
- an act of a consumer sending a message request to the communication medium;
an act of the consumer receiving a view of the contents of a message from the communication medium, receiving the content view indicative of the communication medium having locked the message for exclusive access by the consumer;
an act of the consumer attempting to update application state for the application based on the content view;
an act of determining the results of the attempted application state update; and
an act of signaling the communication medium how to update communication medium state based on the determined results to coordinate the 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 application sate and communication mediums state. Embodiments of present invention provide a mechanism for a communication medium to provide a view of message content for a message (a peek) to an application along with the communication medium preventing further access to the message (a lock) until the application signals back how to handle the message. Thus, the communication medium indicates that the message is locked for the duration of processing at the application. Indicating that the message is locked significantly reduces the chance of the message being provided to another application (or another consumer of the same application) during the time the application is processing the view of message content.
-
Citations
20 Claims
-
1. In a computer architecture including a communication medium and an application with a plurality of consumers that consume messages from the communication medium, a method for coordinating state between the communication medium and the application, the method comprising:
-
an act of a consumer sending a message request to the communication medium; an act of the consumer receiving a view of the contents of a message from the communication medium, receiving the content view indicative of the communication medium having locked the message for exclusive access by the consumer; an act of the consumer attempting to update application state for the application based on the content view; an act of determining the results of the attempted application state update; and an act of signaling the communication medium how to update communication medium state based on the determined results to coordinate the communication medium state with the application state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In a computer architecture including a communication medium and an application with a plurality of consumers that consume messages from the communication medium, a method for coordinating state between the communication medium and the application, the method comprising
an act of the communication medium receiving a message request from a consumer; -
an act of the communication medium identifying the next available message at the communication medium; an act of the communication medium providing a view of the contents of the next available message to the application; an act of the communication medium locking the next available message to prevent further access to the contents of the next available message; an act of the communication medium receiving a signal from the application indicating how to update communication medium state, the signal based on the results of an attempted application state update using the content view; and an act of the communication medium updating the communication medium state based on and in response to the signal to coordinate the communication medium state with the application state. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer system, the computer system comprising:
-
one or more processors; system memory; one or more computer storage media have stored thereon computer-executable instructions representing a communication medium and one or more applications, wherein the communication medium is configured to; receive message requests from applications; identify the next available message at the communication medium in response to message requests; provide views of the contents of next available messages to applications; lock next available messages to prevent further access to the contents of next available messages; receive signals from applications indicating how to update communication medium state, the signals based on the results of attempted application state updates using provided content views; and update communication medium state based on and in response to received signals to coordinate communication medium state with application state; and wherein each application is configured to; send a message request to the communication medium; receiving a view of the contents of a message from the communication medium, receiving the content view indicative of the communication medium having locked the message for exclusive access by the application; attempt to update application state for the application based on the content view; determine the results of the attempted application state update; and signal the communication medium how to update communication medium state based on the determined results to coordinate the communication medium state with the application state.
-
Specification