Host agnostic messaging in a continuation based runtime
First Claim
1. A host agnostic method of communicating messages in a continuation based runtime, the method comprising:
- accessing a defined contract, wherein the contact associates a continuation based runtime and a first host, wherein the first host is hosting the continuation based runtime, wherein the contract is associated with sending or receiving a message, wherein the contract defines host specific functionality for the first host, wherein the contract comprises an extension provided by the first host that identifies services provided by the first host such that activities of the continuation based runtime hosted on the first host can invoke members of the extension for the first host following a protocol that governs how the methods in the extension are invoked, wherein a correlation handle and a bookmark are registered with the extension;
identifying the correlation handle, that uniquely identifies an executing instance of an activity;
identifying the bookmark that comprises a resume location for the continuation based runtime after the message communication is complete;
calling the contract using the correlation handle and the bookmark to allow the message to be correctly routed by the first host using host specific functionality specified in the contract,wherein calling the contract includes calling the extension using the contract, the correlation handle and bookmark; and
calling the service from the extension.
2 Assignments
0 Petitions
Accused Products
Abstract
Sending or receiving messages in a host agnostic way in a continuation based runtime. A method includes defining a contract between a continuation based runtime and host for sending or receiving a message. The contract defines one or more of: details about what should be included in the messages, operations for sending the message; operations for receiving the message, parameters for cancellation of inflight operations, or notifications about correlation information lifetime. The method further includes identifying a correlation handle. The correlation handle uniquely identifies an executing instance of an activity. The method further comprises identifying a bookmark. The bookmark defines where the continuation based runtime should resume after sending or receiving the message. The method further comprises calling the contract using the correlation handle and the bookmark to allow the message to be correctly routed by the host and for the continuation based runtime to be correctly resumed.
118 Citations
21 Claims
-
1. A host agnostic method of communicating messages in a continuation based runtime, the method comprising:
-
accessing a defined contract, wherein the contact associates a continuation based runtime and a first host, wherein the first host is hosting the continuation based runtime, wherein the contract is associated with sending or receiving a message, wherein the contract defines host specific functionality for the first host, wherein the contract comprises an extension provided by the first host that identifies services provided by the first host such that activities of the continuation based runtime hosted on the first host can invoke members of the extension for the first host following a protocol that governs how the methods in the extension are invoked, wherein a correlation handle and a bookmark are registered with the extension; identifying the correlation handle, that uniquely identifies an executing instance of an activity; identifying the bookmark that comprises a resume location for the continuation based runtime after the message communication is complete; calling the contract using the correlation handle and the bookmark to allow the message to be correctly routed by the first host using host specific functionality specified in the contract, wherein calling the contract includes calling the extension using the contract, the correlation handle and bookmark; and calling the service from the extension. - View Dependent Claims (2, 3, 4, 5, 6, 7, 21)
-
-
8. In a computing environment, one or more physical computer readable storage media comprising computer executable instructions that when executed, by one or more processors cause one or more processors to perform the following:
-
accessing a defined contract, wherein the contract associates a continuation based runtime and a first host, wherein the first host is hosting the continuation based runtime, wherein the contract is associated with sending or receiving a message, wherein the contract defines host specific functionality for the first host, wherein the contract comprises an extension provided by the first host that identifies services provided by the first host such that activities of the continuation based runtime hosted on the host can invoke members of the extension for the specific first host following a protocol that governs how the methods in the extension are invoked, wherein a correlation handle and a bookmark are registered with the extension; identifying the correlation handle, that uniquely identifies an executing instance of an activity; identifying the bookmark that comprises a resume location for the continuation based runtime after the message communication is complete; calling the contract using the correlation handle and the bookmark to allow the message to be correctly routed by the first host, using host specific functionality specific in the contract, wherein calling the contract includes calling the extension using the contract, the correlation handle and bookmark; and calling the service from the extension. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computing system configured to send or receive messages in a host agnostic way in a continuation based runtime, the system comprising:
-
one or more processors; one or more computer readable media coupled to the one or more processors, wherein tile one or more computer readable media comprise computer executable instructions that when executed by one or more of the one or more processors cause one or more of the one or more processors to perform the following; accessing a defined contract, wherein the contract associates a continuation based runtime and a first host, wherein the first host is hosting tile continuation based runtime, wherein the contract is associated with sending or receiving a message, wherein the contract defines host specific functionality for the first host, wherein the contract comprises an extension provided by the first host that identifies services provided by the first host such that activities of the continuation based runtime hosted on the first host can invoke members of the extension for the first host following a protocol that governs how the methods in the extension are invoked, wherein a correlation handle and a bookmark are registered with the extension; identifying the correlation handle, that uniquely identifies an executing instance of an activity; identifying the bookmark that comprises a resume location for the continuation based runtime after the message communication is complete; calling the contract using the correlation handle and the bookmark to allow the message to be correctly routed by the first host, using host specific functionality specified in the contract, wherein calling the contract includes calling the extension using the contract, the correlation handle and bookmark; and calling the service from the extension. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification