COORDINATING COMMUNICATION MEDIUM STATE FOR SUBTASKS
First Claim
1. In a computer architecture including one or more processors and system memory, the computer system also including a message state coordinator for coordinating state between an initial message consumer and a plurality of subtask consumers, a method for coordinating state between the message consumer and the plurality of subtask consumers, the method comprising:
- an act of the message state coordinator receiving a content view of the contents of a message along with a coordination property from the initial message consumer, the message consumer having received the content view from a communication medium connected to the computer architecture, receiving the content view indicative of the communication medium having locked the message for exclusive access by the initial consumer, the coordination property providing information on how the initial message consumer is to signal the disposition of the message back to the communication medium;
an act of the message state coordinator dividing the content view into a stream of subtask messages, each subtask message corresponding to a partial application state update for an application and each subtask message including a subtask coordination property, each subtask coordination property providing information on how to signal the disposition of a corresponding subtask message back to the message state coordinator;
for each subtask message, an act of the message state coordinator receiving one or more subtask signals from subtask consumers that consumed the subtask message, the one or more subtask signals indicating the disposition of the subtask message;
an act of the message state coordinator determining the disposition of the message based on the received subtask signals; and
an act of the message state coordinator using the coordination property for the message to signal the disposition of the message to the initial message consumer.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for coordinating communication medium state for subtasks. Embodiments of the invention use a received view of the contents of a message to produce a stream of subtask messages. Subtask message properties are each connected to the mechanism for performing the state coordination pattern on the original message. Subtask messages may each have the same message contents as the original message or may have message contents that vary according to the subtask. A message processor may then consume subtask messages from the subtask message stream and perform the state coordination pattern on each subtask message to reflect partial forward progress executing the original message. The outcome of the state coordination pattern for the original message is responsive to the collective outcomes of the state coordination patterns for the subtask messages.
-
Citations
20 Claims
-
1. In a computer architecture including one or more processors and system memory, the computer system also including a message state coordinator for coordinating state between an initial message consumer and a plurality of subtask consumers, a method for coordinating state between the message consumer and the plurality of subtask consumers, the method comprising:
-
an act of the message state coordinator receiving a content view of the contents of a message along with a coordination property from the initial message consumer, the message consumer having received the content view from a communication medium connected to the computer architecture, receiving the content view indicative of the communication medium having locked the message for exclusive access by the initial consumer, the coordination property providing information on how the initial message consumer is to signal the disposition of the message back to the communication medium; an act of the message state coordinator dividing the content view into a stream of subtask messages, each subtask message corresponding to a partial application state update for an application and each subtask message including a subtask coordination property, each subtask coordination property providing information on how to signal the disposition of a corresponding subtask message back to the message state coordinator; for each subtask message, an act of the message state coordinator receiving one or more subtask signals from subtask consumers that consumed the subtask message, the one or more subtask signals indicating the disposition of the subtask message; an act of the message state coordinator determining the disposition of the message based on the received subtask signals; and an act of the message state coordinator using the coordination property for the message to signal the disposition of the message to the initial message consumer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. In a computer architecture including one or more processors and system memory, the computer system also including a plurality of subtask consumers that process messages from a subtask message stream, the subtask message stream including a stream of subtask messages, each subtask message having been divided from a message received at a consumer and corresponding to a partial application state update for the message received at the consumer, a method for coordinating state between a subtask consumer and the subtask message stream, the method comprising:
-
an act of a subtask consumer, from among the plurality of subtask consumers, sending a message request to the subtask message stream; an act of the subtask consumer receiving a content view of the contents of a message from the subtask message stream along with a subtask coordination property for the content view, receiving the content view indicative of the subtask message stream having locked the subtask message for exclusive access by the subtask consumer, the subtask coordination property providing information on how to signal the disposition of the subtask message back to the subtask message stream; an act of the subtask consumer attempting to partially update application state for an application based on the content view; an act of determining the disposition of the subtask message based on the attempted partial application state update; and an act of the subtask consumer using the subtask coordination property to signal the disposition of the subtask message back to the subtask message stream. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A computer system, the computer system comprising:
-
a plurality of machines, each machine including; one or more processors; system memory; a communication medium, the communication medium having a message flow of messages to the computer system; one or more computer storage media having stored thereon computer-executable instructions representing an application, wherein the executable instructions can be executed to create a plurality of application instances that are distributed across the plurality of machines and compete for messages from the communication medium, wherein each application instance includes an initial consumer, at least one message state coordinator, and at least one subtask consumer, wherein the initial consumer is configured to; send a message request to the communication medium; receive a view of the contents of a message along with a coordination property from the communication medium, receiving the content view indicative of the communication medium having locked the message for exclusive access by the initial consumer; send the content view of the contents of the message along with the coordination property to the message state coordinator; receive the disposition of the message from the message state coordinator; and signal the communication medium how to update communication medium state based on the received disposition of the message to coordinate the communication medium state with the application state; wherein the at least one message state coordinator is configured to; receive the content view of the contents of a message along with a coordination property from the initial message consumer; divide the content view into a stream of subtask messages, each subtask message corresponding to a partial application state update for an application and each subtask message including a subtask coordination property, each subtask coordination property providing information on how to signal the disposition of a corresponding subtask message back to the message state coordinator; for each subtask message, receive one or more subtask signals from subtask consumers that consumed the subtask message, the one or more subtask signals indicating the disposition of the subtask message; determine the disposition of the message based on the received subtask signals; and use the coordination property for the message to signal the disposition of the message to the initial message consumer; and wherein each of the plurality of subtask consumers are configured to; send a message request to the subtask message stream; receive a content view of the contents of a message from the subtask message stream along with a subtask coordination property for the content view, receiving the content view indicative of the subtask message stream having locked the subtask message for exclusive access by the subtask consumer, the subtask coordination property providing information on how to signal the disposition of a the subtask message back to the subtask message stream; attempt to partially update application state for an application based on the content view; determine the disposition of the subtask message based on the attempted partial application state update; and use the subtask coordination property to signal the disposition of the subtask message back to the subtask message stream. - View Dependent Claims (20)
-
Specification