摘要:
The present invention extends to methods, systems, and computer program products for coordinating application state and communication medium state. Embodiments of the invention provide mechanisms by which a dispatcher can enable application code to coordinate changes in application state with the consumption of messages from a communication medium. The coordination can be automatic where the dispatcher performs the coordination, or manual, where the coordination is performed more expressly by application code. Embodiments also include mechanisms by which applications targeting an execution (e.g., continuation based) runtime may compose alternative state transitions in the application with a peek lock protocol.
摘要:
The present invention extends to methods, systems, and computer program products for coordinating application state and communication medium state. Embodiments of the invention provide mechanisms by which a dispatcher can enable application code to coordinate changes in application state with the consumption of messages from a communication medium. The coordination can be automatic where the dispatcher performs the coordination, or manual, where the coordination is performed more expressly by application code. Embodiments also include mechanisms by which applications targeting an execution (e.g., continuation based) runtime may compose alternative state transitions in the application with a peek lock protocol.
摘要:
A rendezvous abstraction that is used to correlate messages within message exchange. The rendezvous abstraction may be instantiated to correlate messages regardless of the type of message exchange pattern, and regardless of the underlying protocols used to communication message. Messages exchanges of primitive protocols are modeled as unilateral message exchanges. The rendezvous abstraction is used to correlate messages of the unilateral message exchange, and serves as an abstraction that is used to represented the rendezvous point where the message of the message exchange pattern are handled. Accordingly, instead of focusing on the protocol-specific mechanisms for correlation, if even available, the application author may simply work with a standard rendezvous abstraction.
摘要:
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.
摘要:
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.
摘要:
A system for aggregating context information for messages includes a context container that associates names with context values and metadata for context entries. The system further includes a network protocol component configured to read messages from a network transport, an encoder component configured translate messages from a raw format into a canonical message format. The canonical message format is an enveloped message containing an application payload and message metadata. The context container is associated with a message in the canonical format. The system further includes an extraction component configured to retrieve context from a native network transport protocol and insert the context values and metadata into the context container, a plurality of additional protocol components configured to add, remove, or modify entries in the context container, and one or more higher level application components configured to operate on the canonical message using the context entries.
摘要:
A system for aggregating context information for messages includes a context container that associates names with context values and metadata for context entries. The system further includes a network protocol component configured to read messages from a network transport, an encoder component configured translate messages from a raw format into a canonical message format. The canonical message format is an enveloped message containing an application payload and message metadata. The context container is associated with a message in the canonical format. The system further includes an extraction component configured to retrieve context from a native network transport protocol and insert the context values and metadata into the context container, a plurality of additional protocol components configured to add, remove, or modify entries in the context container, and one or more higher level application components configured to operate on the canonical message using the context entries.
摘要:
A system for aggregating context information for messages. The system includes a context container. The context container associates names with context values and metadata for context entries. The system further includes a network protocol component configured to read messages from a network transport, an encoder component configured translate messages from a raw format into a canonical message format. The canonical message format is an enveloped message containing an application payload and message metadata. The context container is associated with a message in the canonical format. The system further includes an extraction component configured to retrieve context from a native network transport protocol and insert the context values and metadata into the context container, a plurality of additional protocol components configured to add, remove, or modify entries in the context container, and one or more higher level application components configured to operate on the canonical message using the context entries.
摘要:
A system for aggregating context information for messages. The system includes a context container. The context container associates names with context values and metadata for context entries. The system further includes a network protocol component configured to read messages from a network transport, an encoder component configured translate messages from a raw format into a canonical message format. The canonical message format is an enveloped message containing an application payload and message metadata. The context container is associated with a message in the canonical format. The system further includes an extraction component configured to retrieve context from a native network transport protocol and insert the context values and metadata into the context container, a plurality of additional protocol components configured to add, remove, or modify entries in the context container, and one or more higher level application components configured to operate on the canonical message using the context entries.
摘要:
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.