Patent US4042946A successfully refreshed from Google Patents.
Patent US5999986A successfully refreshed from Google Patents.
US5999986A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and system for providing an event system infrastructure
Assignee: Microsoft Technology Licensing LLC
•
Filing: 1996-05-01
•
Granted: 1999-12-07
•
Expires: 2016-05-01
Abstract
Abstract An event architecture facilitates the asynchronous invocation of events at an event sink. The events are triggered by direct invocation of methods on the event sink. A backchannel connection may be utilized to pass control information from an event sink to an event source. The use of the backchannel connection creates bidirectional connections between an event source and an event sink. A guardian object may be situated between the event source and the event sink to facilitate the asynchronicity of event delivery and to account for disparate threading models between the event source and the event sink. A third party connector may be utilized to connect the event source with the event sink.
Inventors
- 👤 David E. McCauley III
- 👤 Edward K. Jung
- 👤 Christopher S. Heidorn
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-07 06:39
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/542; G06F9/465
Claims Analysis
Total Claims: 31
Claim 1
Independent Claim
86 words
In a computer system having an event source for sourcing events and an event sink for sinking events, a method comprising the steps of: initiating a method call to invoke an event on a source thread of control of the event source; receiving the method call at an intermediary; returning the source thread of control so that the source thread of control may resume execution; invoking the method call from the intermediary to the event sink on a separate thread from the source thread of control.
Claim 2
Dependent Claim
86 words
In a computer system having an event source for sourcing events and an event sink for sinking events, a method comprising the steps of: initiating a method call to invoke an event on a source thread of control of the event source; receiving the method call at an intermediary; returning the source thread of control so that the source thread of control may resume execution; invoking the method call from the intermediary to the event sink on a separate thread from the source thread of control.
Claim 3
Dependent Claim
17 words
The method of claim 1 wherein the event source and the event sink adopt different threading models.
Claim 4
Dependent Claim
21 words
The method of claim 1 wherein the invoking of the method is invoked asynchronously relative to the source thread of control.
Claim 5
Dependent Claim
28 words
The method of claim 1 wherein the computer system includes multiple computers and wherein the event sink and the event source reside on separate ones of the computers.
Claim 6
Dependent Claim
22 words
The method of claim 1 wherein the event source and the event sink reside on a same computer in the computer system.
Claim 7
Dependent Claim
42 words
The method of claim 1 wherein a backchannel from the event sink to the event source exists and wherein the method further comprises the step of delivering control information regarding events from the event sink to the event source over the backchannel.
Claim 8
Dependent Claim
13 words
The method of claim 1 wherein the event sink is a single-threaded component.
Claim 9
Dependent Claim
13 words
The method of claim 1 wherein the event sink is a multiple-threaded component.
Claim 10
Dependent Claim
25 words
The method of claim 1 wherein the event sink is a passive zero-threaded component that is only active when a method is invoked on it.
Claim 11
Dependent Claim
119 words
In a computer system having an event source for sourcing a set of events and an event sink for sinking the set of events, a method of connecting the event source and the event sink, comprising the steps of: establishing a first connection from the event source to the event sink for triggering events by directly invoking events at the event sink; establishing a second connection from event sink to the event source for conveying information regarding invoking events; and maintaining identity information to identify a bi-directional connection that is created by the first connection and the second connection between the event source and the event sink, wherein the event sink and the event source adopt different threading models.
Claim 12
Dependent Claim
119 words
In a computer system having an event source for sourcing a set of events and an event sink for sinking the set of events, a method of connecting the event source and the event sink, comprising the steps of: establishing a first connection from the event source to the event sink for triggering events by directly invoking events at the event sink; establishing a second connection from event sink to the event source for conveying information regarding invoking events; and maintaining identity information to identify a bi-directional connection that is created by the first connection and the second connection between the event source and the event sink, wherein the event sink and the event source adopt different threading models.
Claim 13
Dependent Claim
21 words
The method of claim 10 wherein the event sink adopts a single-threaded model and the event source adopts a multi-threaded model.
Claim 14
Dependent Claim
21 words
The method of claim 10 wherein the event sink adopts a multi-threaded model and the event source adopts a single-threaded model.
Claim 15
Dependent Claim
26 words
The method of claim 10 wherein the computer system includes multiple computers and wherein the event sink is on a different computer than the event source.
Claim 16
Dependent Claim
17 words
The method claim 10 wherein the event sink is on a same computer as the event source.
Claim 17
Dependent Claim
13 words
The method of claim 10 wherein the event source is a component object.
Claim 18
Dependent Claim
13 words
The method of claim 10 wherein the event sink is a component object.
Claim 19
Dependent Claim
167 words
In a computer system having an event source for sourcing a set of events and an event sink for sinking the set of events, a method of connecting the event source and the event sink, comprising the steps of: establishing a first connection from the event source to the event sink for triggering events by directly invoking events at the event sink; establishing a second connection from event sink to the event source for conveying information regarding invoking events; maintaining identity information to identify a bidirectional connection that is created by the first connection and the second connection between the event source and the event sink; and sending at least one of (a) focusing information that identified what events are of interest to the event sink, (b) filtering information that identifies what events are not of interest to the event sink, and (c) priming information, that is used by the event source to trigger events over the second connection from the event sink to the event source.
Claim 20
Dependent Claim
167 words
In a computer system having an event source for sourcing a set of events and an event sink for sinking the set of events, a method of connecting the event source and the event sink, comprising the steps of: establishing a first connection from the event source to the event sink for triggering events by directly invoking events at the event sink; establishing a second connection from event sink to the event source for conveying information regarding invoking events; maintaining identity information to identify a bidirectional connection that is created by the first connection and the second connection between the event source and the event sink; and sending at least one of (a) focusing information that identified what events are of interest to the event sink, (b) filtering information that identifies what events are not of interest to the event sink, and (c) priming information, that is used by the event source to trigger events over the second connection from the event sink to the event source.
Claim 21
Dependent Claim
77 words
In a computer system having an event source for sourcing events and an event sink for sinking events, a method of triggering an event, comprising the steps of: initiating a method call to invoke the event from the event source; delivering the method call to an intermediary which preserves the method call; and asynchronously delivering the method call from the intermediary to the event sink to invoke the event, wherein the intermediary is a separate guardian object.
Claim 22
Dependent Claim
77 words
In a computer system having an event source for sourcing events and an event sink for sinking events, a method of triggering an event, comprising the steps of: initiating a method call to invoke the event from the event source; delivering the method call to an intermediary which preserves the method call; and asynchronously delivering the method call from the intermediary to the event sink to invoke the event, wherein the intermediary is a separate guardian object.
Claim 23
Dependent Claim
135 words
In a computer system having an event source object for sourcing an event, an event sink object that adopts a concurrency model for threads, a connection point object, a proxy object, and a guardian object, a method comprising the steps of: connecting the event source object with the event sink object through the connection point object, the proxy object and the guardian object; with the connection point object, calling a first method on the proxy object to invoke the event; in response to the calling of the method on the proxy object, passing a marshalled method to invoke the event to the guardian object; and asynchronously relative to the calling of the method on the proxy object, invoking the marshalled method using threads of control provided by the event sink object under its concurrency model.
Claim 24
Dependent Claim
135 words
In a computer system having an event source object for sourcing an event, an event sink object that adopts a concurrency model for threads, a connection point object, a proxy object, and a guardian object, a method comprising the steps of: connecting the event source object with the event sink object through the connection point object, the proxy object and the guardian object; with the connection point object, calling a first method on the proxy object to invoke the event; in response to the calling of the method on the proxy object, passing a marshalled method to invoke the event to the guardian object; and asynchronously relative to the calling of the method on the proxy object, invoking the marshalled method using threads of control provided by the event sink object under its concurrency model.
Claim 25
Dependent Claim
38 words
The method of claim 19, further comprising the step of calling a further method of the event source object from the event sink object to pass control information from the event sink object to the event source object.
Claim 26
Dependent Claim
116 words
A computer system comprising: an event source for sourcing events; an event sink for sinking events that have been sourced from the event source; a first connection from the event source to the event sink to facilitate triggering of events at the event sink by direct invocation by the event source; a second connection from the event sink to the event source for delivering control information regarding the triggering of the events from the event sink to the event source; and a guardian situated between the event source and the event sink, said guardian including an asynchronous event delivery mechanism for asynchronously delivering events to the event sink relative to the invocation of the event source.
Claim 27
Dependent Claim
116 words
A computer system comprising: an event source for sourcing events; an event sink for sinking events that have been sourced from the event source; a first connection from the event source to the event sink to facilitate triggering of events at the event sink by direct invocation by the event source; a second connection from the event sink to the event source for delivering control information regarding the triggering of the events from the event sink to the event source; and a guardian situated between the event source and the event sink, said guardian including an asynchronous event delivery mechanism for asynchronously delivering events to the event sink relative to the invocation of the event source.
Claim 28
Dependent Claim
119 words
A computer system comprising: an event source for sourcing events; an event sink for sinking events that have been sourced from the event source; a first connection from the event source to the event sink to facilitate triggering of events at the event sink by direct invocation by the event source; and a second connection from the event sink to the event source for delivering control information regarding the triggering of the events from the event sink to the event source, wherein the event source and the event sink adopt different threading models and wherein the guardian further comprises a threading insulator for insulating event delivery from the different threading models of the event source and the event sink.
Claim 29
Dependent Claim
119 words
A computer system comprising: an event source for sourcing events; an event sink for sinking events that have been sourced from the event source; a first connection from the event source to the event sink to facilitate triggering of events at the event sink by direct invocation by the event source; and a second connection from the event sink to the event source for delivering control information regarding the triggering of the events from the event sink to the event source, wherein the event source and the event sink adopt different threading models and wherein the guardian further comprises a threading insulator for insulating event delivery from the different threading models of the event source and the event sink.
Claim 30
Dependent Claim
17 words
The computer system of claim 22, further comprising a third party component for establishing a first connection.
Claim 31
Dependent Claim
29 words
The computer system of claim 22, wherein the computer system includes multiple computers and wherein the event source and the event sink reside on different ones of the computers.
References Cited (Backward Citations)
US4866638A
Cited
WO1991003017A1
Cited
US5321838A
Cited
US5333302A
Cited
US5355484A
Cited
US5517645A
Cited
US5485617A
Cited
US5638504A
Cited
US5630072A
Cited
US5724589A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-12-06 | 2003-06-07 | 2003-12-07 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-12-06 | 2007-06-07 | 2007-12-07 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-12-06 | 2011-06-07 | 2011-12-07 | $7700.00 | Window Closed / Lapsed |