The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Sep. 30, 2014

Filed:

May. 20, 2008
Applicants:

Adam D. Nathan, Redmond, WA (US);

Andrew Sterland, Seattle, WA (US);

Michael J. Leonard, Lake Stevens, WA (US);

Timothy Rice, Bellevue, WA (US);

John I. Montgomery, Seattle, WA (US);

Inventors:

Adam D. Nathan, Redmond, WA (US);

Andrew Sterland, Seattle, WA (US);

Michael J. Leonard, Lake Stevens, WA (US);

Timothy Rice, Bellevue, WA (US);

John I. Montgomery, Seattle, WA (US);

Assignee:

Microsoft Corporation, Redmond, WA (US);

Attorneys:
Primary Examiner:
Assistant Examiner:
Int. Cl.
CPC ...
G06F 17/30 (2006.01); G06F 9/54 (2006.01);
U.S. Cl.
CPC ...
G06F 9/547 (2013.01);
Abstract

Various technologies and techniques are disclosed for automating asynchronous programming in single threaded systems. A wrapper is automatically generated around an original function. When metadata indicates the wrapper should be utilized for asynchronous data retrieval, the wrapper calls a data retrieving function asynchronously. Asynchronous retrieval of data is initiated from the data retrieving function using a direct callback. A specially marked exception is thrown to cause control to leave and get caught by a special exception in the wrapper. When the direct callback function is called because the data has been retrieved, the data is saved. The wrapper is called again in a synchronous fashion, which causes the wrapper, original function, and data retrieving function to be called again. When the data retrieving function is called again, data that was saved by the direct callback function is retrieved, and then returned to the calling function through the callback function.


Find Patent Forward Citations

Loading…