NICHOLAS ALEXANDER ALLEN - Redmond WA, US Edmund Samuel Pinto - Duvall WA, US Karthik Raman - Issaquah WA, US David Leon Stucki - Bellevue WA, US John Anthony Taylor - Bellevue WA, US Kenneth David Wolf - Seattle WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 3/00
US Classification:
719314
Abstract:
Dispatching an incoming message from a queue into message transfer session(s) from which message consumers may draw messages. The message is reversibly received from the queue, whereupon a context of a message is identified. If the context correlates to an existing message transfer session, the message is ultimately assigned to a message transfer session. If the context does not correlate to an existing message transfer session, a new message transfer session is created, and the message is assigned to that new message transfer session. Upon receiving an acknowledgement of successful processing of the message, the removal of the message from the queue-like communication medium is assured. Upon receiving an acknowledgement of unsuccessful processing of the message, the message is restored to the queue-like communication medium.
Nicholas A. Allen - Redmond WA, US Stefan R. Batres - Sammamish WA, US Justin D. Brown - Seattle WA, US Jayteerth N. Katti - Redmond WA, US Stephen Maine - Seattle WA, US Edmund S.V. Pinto - Duvall WA, US Kenneth D. Wolf - Seattle WA, US
Assignee:
MICROSOFT CORPORATION - Redmond WA
International Classification:
G06F 17/30
US Classification:
707 4
Abstract:
Processing messages. Messages are processed based on a characteristic derived from information in messages, metadata about messages, or other information external to messages. Values for one or more pieces of information are received. At least one of the values for one or more pieces of information is associated with a first message. Queries are received. The queries specify one or more of the pieces of information. At least a portion of the plurality of values for the one or more pieces of information is processed in conjunction with the one or more queries to create one or more normalized characteristics for the first message. The one or more normalized characteristics for the first message are in a same format irrespective of the format of the pieces of information. The first message, and/or other messages, is processed based on at least one of the one or more normalized characteristics.
Nicholas A. Allen - Redmond WA, US Stefan R. Batres - Sammamish WA, US Justin D. Brown - Seattle WA, US Edmund SV. Pinto - Duvall WA, US Karthik Raman - Issaquah WA, US John A. Taylor - Bellevue WA, US Kenneth D. Wolf - Seattle WA, US
Assignee:
MICROSOFT CORPORATION - Redmond WA
International Classification:
G06F 15/173
US Classification:
709239
Abstract:
Routing messages using unreliable routing data. A method includes receiving a message from a computer readable communication medium. Characteristic properties of the message are calculated so as to determine state requirements for a service instance at a service for processing of the message. An attempt is made to acquire an appropriate service instance that satisfies the state requirements for processing the message. A determination is made that attempting to acquire an appropriate service instance that satisfies the state requirements for processing the message is not successful at acquiring an appropriate service instance. As a result, the message is redirected using an unreliable local cache of routing information and without coordination between processing nodes.
Nathan Talbert - Seattle WA, US John Taylor - Bellevue WA, US Stefan Batres - Sammamish WA, US Justin Brown - Seattle WA, US Kenneth Wolf - Seattle WA, US Edmund Pinto - Duvall WA, US
Assignee:
MICROSOFT CORPORATION - Redmond WA
International Classification:
G06F 13/00 G06F 9/46
US Classification:
719313
Abstract:
A distributed instance system manages instances and communications between the instances. The distributed instance system provides a restricted set of communication methods to the instances. Based on the type of communication method used, the distributed instance system has knowledge of the messages sent by instances and can make decisions on how to handle the messages. When one of the instances involved in a message exchange ends, the host uses its knowledge of the message exchange type to determine whether to drop the message, drop a reply to the message, and/or send an error message to the surviving instance. An instance may create one or more child instances in a tree-like configuration. Status data is passed up the tree from children instances and aggregated in the parent instances. Monitoring data may be generated from the aggregated status data.
Episodic Coordination Model For Distributed Applications
John Taylor - Bellevue WA, US Justin Brown - Seattle WA, US Kenneth Wolf - Seattle WA, US Edmund Pinto - Duvall WA, US Stefan Batres - Sammamish WA, US Nathan Talbert - Seattle WA, US
Assignee:
MICROSOFT CORPORATION - Redmond WA
International Classification:
G06F 13/00 G06F 9/44
US Classification:
719313, 719318
Abstract:
An episodic execution of program instances and a coordinated message exchange protocol are combined to achieve eventual consistency in the communication between nodes of a distributed system. Program instances run in episodic loops that are triggered by defined input events and that generate checkpoints. The checkpoints indicate when messages are to be sent from the one instance to another instance or other device. The coordinated message exchange protocol allows the instance to send a message to a receiver, to acknowledge that the message has been received, and to confirm the acknowledgement to the receiver.
Stefan R. Batres - Sammamish WA, US Justin D. Brown - Seattle WA, US Jayteerth N. Katti - Redmond WA, US Stephen Maine - Seattle WA, US Edmund S.V. Pinto - Duvall WA, US Kenneth D. Wolf - Seattle WA, US
International Classification:
G06F 17/30
US Classification:
707613
Abstract:
Processing messages. Messages are processed based on a characteristic derived from information in messages, metadata about messages, or other information external to messages. Values for one or more pieces of information are received. At least one of the values for one or more pieces of information is associated with a first message. Queries are received. The queries specify one or more of the pieces of information. At least a portion of the plurality of values for the one or more pieces of information is processed in conjunction with the one or more queries to create one or more normalized characteristics for the first message. The one or more normalized characteristics for the first message are in a same format irrespective of the format of the pieces of information. The first message, and/or other messages, is processed based on at least one of the one or more normalized characteristics.
Data Scoping And Data Flow In A Continuation Based Runtime
Kenneth David Wolf - Seattle WA, US Edmund S.V. Pinto - Duvall WA, US Robert B. Schmidt - Woodinville WA, US Nathan C. Talbert - Seattle WA, US Stephen J. Millet - Edmonds WA, US Donald F. Box - Bellevue WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06N 5/00
US Classification:
706 14
Abstract:
Described is a data model used in a continuation based runtime that executes activities. The data model provides for declaring parameters to define data flow direction (in, out or both in and out) with respect to activities. The model further allows for the declaring of variables to provide for data storing and sharing between activities that are in scope, based on a tree relationship between activities. In one aspect, an activity tree includes a topmost parent composite activity and at least one child activity of that topmost parent composite activity. Variables are associated with one or more composite activities of the tree, and the ancestral relationships between composite activities and (non-composite) child activities determine the in-scope access to variables. Arguments such as binding expressions may bind variables to an activity's parameters.
Episodic Coordination Model For Distributed Applications
- Redmond WA, US Justin Brown - Seattle WA, US Kenneth Wolf - Seattle WA, US Edmund Pinto - Duvall WA, US Stefan Batres - Sammamish WA, US Nathan Talbert - Seattle WA, US
Assignee:
MICROSOFT TECHNOLOGY LICENSING, LLC - Redmond WA
International Classification:
H04L 29/08 H04L 1/08
Abstract:
An episodic execution of program instances and a coordinated message exchange protocol are combined to achieve eventual consistency in the communication between nodes of a distributed system. Program instances run in episodic loops that are triggered by defined input events and that generate checkpoints. The checkpoints indicate when messages are to be sent from the one instance to another instance or other device. The coordinated message exchange protocol allows the instance to send a message to a receiver, to acknowledge that the message has been received, and to confirm the acknowledgement to the receiver.