Language-based model for asynchronous operations
First Claim
1. A method of providing asynchronous operations, comprising:
- receiving a plurality of operations composed in a synchronous syntax, the synchronous syntax distinguishable from an asynchronous pattern, the plurality of operations including a first asynchronous operation and a second asynchronous operation;
defining the first asynchronous operation and the second asynchronous operation as asynchronous operations in the synchronous syntax; and
compiling the defined asynchronous operations in which the first asynchronous operation calls the second the asynchronous operation from a linked stack.
2 Assignments
0 Petitions
Accused Products
Abstract
A language-based model to support asynchronous operations set forth in a synchronous syntax is provided. The asynchronous operations are transformed in a compiler into an asynchronous pattern, such as an APM-based pattern (or asynchronous programming model based pattern). The ability to compose asynchronous operations comes from the ability to efficiently call asynchronous methods from other asynchronous methods, pause them and later resume them, and effectively implementing a single-linked stack. One example includes support for ordered and unordered compositions of asynchronous operations. In an ordered composition, each asynchronous operation is started and finished before another operation in the composition is started. In an unordered composition, each asynchronous operation is started and completed independently of the operations in the unordered composition.
48 Citations
20 Claims
-
1. A method of providing asynchronous operations, comprising:
-
receiving a plurality of operations composed in a synchronous syntax, the synchronous syntax distinguishable from an asynchronous pattern, the plurality of operations including a first asynchronous operation and a second asynchronous operation; defining the first asynchronous operation and the second asynchronous operation as asynchronous operations in the synchronous syntax; and compiling the defined asynchronous operations in which the first asynchronous operation calls the second the asynchronous operation from a linked stack. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system to provide asynchronous operations, the system comprising:
-
memory to store a set of instructions and receive a plurality of operations composed in a synchronous syntax in which the synchronous syntax is distinguishable from an asynchronous pattern; and a processor to execute the set of instructions to; define a first asynchronous operation and a second asynchronous operation as asynchronous operations in the synchronous syntax; and compile the defined asynchronous operations in which the first asynchronous operation calls the second the asynchronous operation from a linked stack. - View Dependent Claims (12, 13)
-
- 14. The system of 13 wherein the defined asynchronous operations are compiled into public declarations.
-
16. A computer readable storage device to store computer executable instructions to control a processor to:
-
receive a plurality of operations composed in a synchronous syntax, the synchronous syntax distinguishable from an asynchronous pattern, the plurality of operations including a first asynchronous method and a second asynchronous method; define the first asynchronous method and the second asynchronous method as asynchronous operations in the synchronous syntax; and compile the defined asynchronous operations in which the first asynchronous method calls the second the asynchronous method from a linked stack. - View Dependent Claims (17, 18, 19, 20)
-
Specification