IP Library Patent Application 12277907
Patent Application
App. No. 12/277,907

EXPOSING ASYNCHRONOUS MECHANISMS AS FIRST-CLASS EVENTS

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
12/277,907
Abstract

Conversions can be applied to various asynchronous and/or concurrent mechanisms. In particular, such mechanism can be transformed into first-class events to facilitate processing with respect to first-class events including but not limited to querying. Both conventional events and asynchronous computations can be transformed to these events, for example by generating and linking a proxy event thereto.

Claims (26)

1 . A system that facilitates asynchronous processing, comprising:

a component that acquires an asynchronous computation; and

a conversion component that converts the computation into a first-class event.

2 . The system of claim 1 , the asynchronous computation is an event that adheres to a non-first-class design pattern.

3 . The system of claim 1 , the conversion component exposes a mechanism to facilitate termination of the asynchronous computation.

4 . The system of claim 1 , the conversion component employs one or more extension methods to convert the computation.

5 . The system of claim 1 , the conversion component employs reflection to convert the computation.

6 . The system of claim 1 , the asynchronous computation is implemented in accordance with a BeginInvoke/EndInvoke pattern.

7 . The system of claim 1 , the asynchronous computation is implemented according to a continuation passing style.

8 . The system of claim 1 , the conversion component generates and links a proxy event to the operation to produce the first-class event.

9 . The system of claim 1 , one or both of the components form part of a code rewriter or generation system.

10 . The system of claim 1 , where the first-class event enables adding handlers for success, failure, and termination.

11 . A method of exposing operations as first-class events, comprising:

identifying an asynchronous or concurrent operation; and

transforming the operation into a first-class event by generating and linking a proxy event to the operation.

12 . The method of claim 11 , further comprising converting from add and remove functions to an add method that returns a remove function.

13 . The method of claim 11 , further comprising ignoring a sender parameter associated with the operation.

14 . The method of claim 11 , comprising transforming the operation with one or more extension methods.

15 . The method of claim 11 , comprising employing reflection to transform the operation.

16 . The method of claim 11 , comprising identifying an operation of a BeginInvoke/EndInvoke pattern.

17 . The method of claim 11 , comprising identifying an operation of a continuation passing style.

18 . The method of claim 11 , comprising identifying an operation of a virtual method or futures pattern.

19 . A method of converting operations to first-class events, comprising:

identifying a blocking operation; and

converting the blocking operation into a non-blocking first-class event.

20 . The method of claim 19 , further comprising applying the conversion from blocking to non-blocking operation to convert a synchronous function to asynchronous function.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2008
From: DYER, JOHN WESLEY; MEIJER, HENRICUS JOHANNES MARIA; VAN VELZEN, DANNY; VAN GOGH, JEFFREY; SHIELDS, MARK BRIAN
To: MICROSOFT CORPORATION
Reel/Frame 021889/0797 →