Method and mechanism for providing computer programs with computer system events
First Claim
1. A system for providing notifications of computer system events to clients, comprising:
- a central service configured to monitor for system events corresponding to a system and including at least one system event corresponding to whether network connectivity has changed state and to fire at least one event notification in response thereto, wherein there is a particular and corresponding event notification associated with each particular and corresponding system event, including an event notification when a network connection is established,a registration mechanism for clients to register for receiving one or more notification of one or more types of events, including at least the network connectivity event, wherein the registration mechanism receives registration information from at least a first client and a second client, wherein the client registration information received from the first client includes information specifying whether the first client, if inactive, should be activated by the system in response to detecting an occurrence of the at least one system event or, alternatively, whether the first client, if inactive, should be notified of the particular event at a later time when it is determined that the first client has become active, anda distribution mechanism that communicates a notification fired from the central service, in response to the at least one system event, to at least the first client registered for the notification, wherein at least the first and second clients register for the notification of the at least one system event with the registration mechanism by including condition information therewith, the condition information specifying at least one further condition that must be met before notification of the at least one system event is communicated to the first and second clients, wherein the distribution mechanism includes a filtering mechanism for selectively communicating the fired at least one event notification to the first client that is registered for the at least one event notification based on the at least one further condition having been met and for selectively stopping the fired at least one event notification from reaching the second client that is registered for the at least one event notification based on the at least one further condition having not been met; and
a processor which processes executable instructions that are utilized by the registration mechanism to register the clients by at least facilitating the receipt of the registration information and which are utilized by the distribution mechanism to at least communicate the notification fired from the central service.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for providing system event notifications to clients such as applications. Clients register for notification of one or more types of events with a registration mechanism, and a System Event Notification Service, (SENS), receives system event information and fires event notifications in response thereto. A distribution mechanism selectively communicates the fired event to each client registered for notification thereof based on the type of event. Events include network events, for which the service monitors the connectivity state of the machine, including whether a connection is established or lost, the type of connection (LAN/WAN) and bandwidth information. To monitor a LAN state, the service caches outgoing and incoming network information including errors and packet counts and statistically evaluates this cached information against current information to determine whether the connection is established or lost. The service also determines if a destination (IP address or name) is reachable, by periodically polling destinations. Other system event notifications may be fired, including logon or logoff operations and power management events.
37 Citations
16 Claims
-
1. A system for providing notifications of computer system events to clients, comprising:
-
a central service configured to monitor for system events corresponding to a system and including at least one system event corresponding to whether network connectivity has changed state and to fire at least one event notification in response thereto, wherein there is a particular and corresponding event notification associated with each particular and corresponding system event, including an event notification when a network connection is established, a registration mechanism for clients to register for receiving one or more notification of one or more types of events, including at least the network connectivity event, wherein the registration mechanism receives registration information from at least a first client and a second client, wherein the client registration information received from the first client includes information specifying whether the first client, if inactive, should be activated by the system in response to detecting an occurrence of the at least one system event or, alternatively, whether the first client, if inactive, should be notified of the particular event at a later time when it is determined that the first client has become active, and a distribution mechanism that communicates a notification fired from the central service, in response to the at least one system event, to at least the first client registered for the notification, wherein at least the first and second clients register for the notification of the at least one system event with the registration mechanism by including condition information therewith, the condition information specifying at least one further condition that must be met before notification of the at least one system event is communicated to the first and second clients, wherein the distribution mechanism includes a filtering mechanism for selectively communicating the fired at least one event notification to the first client that is registered for the at least one event notification based on the at least one further condition having been met and for selectively stopping the fired at least one event notification from reaching the second client that is registered for the at least one event notification based on the at least one further condition having not been met; and a processor which processes executable instructions that are utilized by the registration mechanism to register the clients by at least facilitating the receipt of the registration information and which are utilized by the distribution mechanism to at least communicate the notification fired from the central service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable storage medium having stored computer-executable instructions for performing steps comprising:
-
a) receiving system information comprising at least one system event at a central service, the central service monitoring for system events including the at least one system event corresponding to whether network connectivity has changed state, the central service also firing at least one event notification in response thereto, including at least one network connectivity event notification when a network connection is established; b) publishing an network connectivity event notification in response thereto, the event notification having an event type associated therewith; c) receiving the network connectivity event notification at an event class object of a loosely coupled events database; d) matching the network connectivity event notification with at least one client that has subscribed for the network connectivity event notification; and e) a distribution mechanism communicating the network connectivity event notification to the at least one client that has subscribed for the network connectivity event notification with a registration mechanism which received registration information from the at least one client registering for the network connectivity event notification, as well as condition information specifying at least one further condition that must be met before the network connectivity event notification is communicated to the at least once client, wherein the client registration information received from the first client includes information specifying whether the first client, if inactive, should be activated by the system in response to detecting an occurrence of the at least one system event or, alternately, whether the first client, if inactive, should be notified of the particular event at a later time when it is determined that the first client has become active, and wherein the distribution mechanism includes a filtering mechanism for selectively communicating the published network connectivity event to the at least one client that is registered for the at least one event notification based on the at least one further condition having been met and for selectively stopping the fired at least one event notification from reaching an other client that is also registered for the at least one network connectivity event notification based on the at least one further condition having not been met for said other client. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
Specification