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.
Patent No.:
Date of Patent:
Oct. 09, 2007
Filed:
Jun. 28, 2001
Brian M. Grunkemeyer, Issaquah, WA (US);
Jonathan C. Hawkins, Seattle, WA (US);
Christopher W. Brumme, Mercer Island, WA (US);
Gopala Krishna R. Kakivaya, Sammamish, WA (US);
Lance E. Olson, Sammamish, WA (US);
Dmitry Robsman, Bellevue, WA (US);
Henry L. Sanders, Ii, Kirkland, WA (US);
Brian M. Grunkemeyer, Issaquah, WA (US);
Jonathan C. Hawkins, Seattle, WA (US);
Christopher W. Brumme, Mercer Island, WA (US);
Gopala Krishna R. Kakivaya, Sammamish, WA (US);
Lance E. Olson, Sammamish, WA (US);
Dmitry Robsman, Bellevue, WA (US);
Henry L. Sanders, II, Kirkland, WA (US);
Microsoft Corporation, Redmond, WA (US);
Abstract
A system and method for converting code associated with synchronous method calls to code that can be employed to perform asynchronous method calls and for supporting such asynchronous method calls is provided. The system includes a pattern generator that can break code for a synchronous method call into one or more constituent parts including a begin asynchronous operation method, an end asynchronous operation method, an asynchronous call state object and an asynchronous call result object. The system includes a pattern data store that holds data associated with converting a synchronous method call to an asynchronous method call, which facilitates employing the system consistently across environments like file input/output, stream input/output, socket input/output, networking, remoting channels, proxies, web forms, web services and messaging message queues.