Claims Analysis
Total Claims: 33
Claim 1
Independent Claim
247 words
A notification system comprising a computer processor executing software components stored on a computer-readable medium, the software components comprising: a database engine component that processes received events and subscription information, the database engine component modeling the events and subscriptions as data prior to processing so as to facilitate event and subscription processing; a notification server component that delivers notifications to subscribers in accordance with the processed events and subscription information, at least one of the database engine component and the notification server component operative in a global web services environment, wherein the notification server determines to which subscribers to send notifications of a received event by performing a join between the received event and the subscriptions that are modeled as data by the database engine; and a context analyzer component that analyzes information regarding variables and parameters of a user, wherein the notification server component distributes notifications based on the variables and parameters stored by the context analyzer component, and wherein the parameters comprise contextual information discerned based on observations made autonomously via one or more sensors and statistical models, additional parameters conditioned on the contextual information, observations dynamically inferred via automated inference, a user's state specified in real-time and default notification preference parameters; wherein the notification server component performs a decision-theoretic analysis for pending notifications to determine whether to convey the pending notifications and in what manner to convey the pending notifications, by accessing variables and parameters stored in the context analyzer that indicate user preference.
Claim 2
Dependent Claim
247 words
A notification system comprising a computer processor executing software components stored on a computer-readable medium, the software components comprising: a database engine component that processes received events and subscription information, the database engine component modeling the events and subscriptions as data prior to processing so as to facilitate event and subscription processing; a notification server component that delivers notifications to subscribers in accordance with the processed events and subscription information, at least one of the database engine component and the notification server component operative in a global web services environment, wherein the notification server determines to which subscribers to send notifications of a received event by performing a join between the received event and the subscriptions that are modeled as data by the database engine; and a context analyzer component that analyzes information regarding variables and parameters of a user, wherein the notification server component distributes notifications based on the variables and parameters stored by the context analyzer component, and wherein the parameters comprise contextual information discerned based on observations made autonomously via one or more sensors and statistical models, additional parameters conditioned on the contextual information, observations dynamically inferred via automated inference, a user's state specified in real-time and default notification preference parameters; wherein the notification server component performs a decision-theoretic analysis for pending notifications to determine whether to convey the pending notifications and in what manner to convey the pending notifications, by accessing variables and parameters stored in the context analyzer that indicate user preference.
Claim 3
Dependent Claim
26 words
The system of claim 1 , the global web services environment includes a global XML web services architecture (GXA) to facilitate event, subscription, and notification processing.
Claim 4
Dependent Claim
37 words
The system of claim 2 , the GXA includes at least one of a discovery component, a description component, a protocol component, an asynchronous messaging component, a reliable messaging component, a transactions component, and a security component.
Claim 5
Dependent Claim
68 words
The system of claim 2 , the GXA includes a protocol component, the protocol component includes at least one of Simple Object Access Protocol (SOAP) that is employed as a communications protocol for XML Web services, an HTTP protocol, an SMTP protocol, a TCP/IP protocol, a Direct Internet Message Encapsulation (DIME) protocol utilized for binary message exchanges, and a transaction or routing delivery protocol to facilitate notification processing.
Claim 6
Dependent Claim
39 words
The system of claim 2 , the GXA includes a discovery component, the discovery component includes at least one of an inspection schema, a Web Services Description Language (WSDL) component, and a Universal Discovery Description and Integration (UDDI) component.
Claim 7
Dependent Claim
29 words
The system of claim 2 , the GXA includes a description component, the description component includes a meta-data component that describes one or more aspects of a notification service.
Claim 8
Dependent Claim
25 words
The system of claim 6 , the description component facilitates negotiations between nodes about available communications mechanisms and protocols for negotiating characteristics of message exchange.
Claim 9
Dependent Claim
35 words
The system of claim 7 , the description component facilitates at least one of security negotiations, security authentications, and security authorizations, the security negotiations including at least one of WS-Policy, WS-Policy Assertions, and WS-Policy Bindings.
Claim 10
Dependent Claim
37 words
The system of claim 2 , the GXA includes a discovery component and a description component, the discovery component and the description component employ an Application Definition File (ADF) to facilitate discovery and description of notification services.
Claim 11
Dependent Claim
32 words
The system of claim 2 , the GXA includes an asynchronous messaging component, the asynchronous messaging component includes at least one of an asynchronous protocol, an eventing protocol, and a routing protocol.
Claim 12
Dependent Claim
41 words
The system of claim 10 , the asynchronous protocol includes a web service AsyncMSG (WS-AsyncMSG) protocol that is defined by an XML SOAP extension, and includes at least one of end-to-end message information, hop-by-hop message information, and correlation information between messages.
Claim 13
Dependent Claim
43 words
The system of claim 10 , the asynchronous messaging component includes a routing protocol, the routing protocol includes a web services routing protocol (WS-Routing) for exchanging one-way SOAP messages and a subscription submission/notification delivery protocol that includes a web services eventing protocol (WS-Eventing).
Claim 14
Dependent Claim
35 words
The system of claim 1 , the notification server component further comprising at least one of an event provider, an event collector, a message queue component, and a Distributed Transaction Coordinator (DTC) to process notifications.
Claim 15
Dependent Claim
22 words
The system of claim 13 , further comprising a Transaction Server (MTS) having at least one resource manager to process the notifications.
Claim 16
Dependent Claim
18 words
The system of claim 13 , the notification server component employs an “exactly once” protocol to deliver notifications.
Claim 17
Dependent Claim
33 words
The system of claim 1 , the notification server component further comprising a message queue component, the message queue utilizes at least one of a commit and an abort function when processing notifications.
Claim 18
Dependent Claim
15 words
The system of claim 1 , the database engine component employing an SQL database application.
Claim 19
Dependent Claim
22 words
The system of claim 1 , further comprising a priorities component to determine a notification ordering for one or more received notifications.
Claim 20
Dependent Claim
212 words
A computer implemented notification method, comprising the following computer executable acts: abstracting subscription and event information as data; storing the subscription and event data in respective tables, the tables being propagated with the subscription and event information; upon a notification event occurring, processing the subscription and event data to generate notification data in accordance with a messaging protocol, wherein processing the subscription and event data comprises performing a join between the event data and the subscription data to determine for which subscribers notification data regarding the notification event should be generated; employing an event protocol processed in accordance with a web services protocol to facilitate processing subscriptions and notification events; analyzing information regarding variables and parameters of a user that influence notification decision-making, wherein the parameters comprise contextual information discerned based on observations made autonomously via one or more sensors and statistical models, additional parameters conditioned on the contextual information, observations dynamically inferred via automated inference, a user's state specified in real-time and default notification preference parameters; delivering notifications to subscribers in accordance with the variables and parameters; and performing a decision-theoretic analysis for pending notifications to determine whether to convey the pending notifications and in what manner to convey the pending notifications, by accessing variables and parameters that indicate user preference.
Claim 21
Dependent Claim
212 words
A computer implemented notification method, comprising the following computer executable acts: abstracting subscription and event information as data; storing the subscription and event data in respective tables, the tables being propagated with the subscription and event information; upon a notification event occurring, processing the subscription and event data to generate notification data in accordance with a messaging protocol, wherein processing the subscription and event data comprises performing a join between the event data and the subscription data to determine for which subscribers notification data regarding the notification event should be generated; employing an event protocol processed in accordance with a web services protocol to facilitate processing subscriptions and notification events; analyzing information regarding variables and parameters of a user that influence notification decision-making, wherein the parameters comprise contextual information discerned based on observations made autonomously via one or more sensors and statistical models, additional parameters conditioned on the contextual information, observations dynamically inferred via automated inference, a user's state specified in real-time and default notification preference parameters; delivering notifications to subscribers in accordance with the variables and parameters; and performing a decision-theoretic analysis for pending notifications to determine whether to convey the pending notifications and in what manner to convey the pending notifications, by accessing variables and parameters that indicate user preference.
Claim 22
Dependent Claim
30 words
The method of claim 19 , further comprising employing at least one of an event provider process, an event collector process, an event flush process, and a message delivery process.
Claim 23
Dependent Claim
42 words
The method of claim 19 , further comprising employing an event provider process, the event provider process further comprising at least one of: initiating a Distributed Transaction Coordinator (DTC) transaction; de-queuing a message; committing the DTC transaction; and aborting the DTC transaction.
Claim 24
Dependent Claim
52 words
The method of claim 19 , further comprising employing an event collector process, the event collector process further comprising at least one of: determining if a DTC transaction has started; starting a database transaction; inserting a row into an event batch table; and inserting a new event row in another event table.
Claim 25
Dependent Claim
41 words
The method of claim 19 , further comprising employing an event flush process, the event flush process further comprising at least one of: updating a batch header; committing a DTC transaction; and aborting the DTC transaction depending on a flush parameter.
Claim 26
Dependent Claim
50 words
The method of claim 19 , further comprising employing a message delivery process, the message delivery process further comprising at least one of: initiating a DTC transaction; calling a delivery protocol handler; marking a row in a database to indicate a message has been delivered; and committing the DTC transaction.
Claim 27
Dependent Claim
221 words
One or more computer readable media storing computer executable instructions which when executed by a processor perform the following method: abstracting subscription and event information as data; storing the subscription and event data in respective tables, the tables being propagated with the subscription and event information; upon a notification event occurring, processing the subscription and event data to generate notification data in accordance with a messaging protocol, wherein processing the subscription and event data comprises performing a join between the event data and the subscription data to determine for which subscribers notification data regarding the notification event should be generated; employing an event protocol processed in accordance with a web services protocol to facilitate processing subscriptions and notification events; analyzing information regarding variables and parameters of a user that influence notification decision-making, wherein the parameters comprise contextual information discerned based on observations made autonomously via one or more sensors and statistical models, additional parameters conditioned on the contextual information, observations dynamically inferred via automated inference, a user's state specified in real-time and default notification preference parameters; delivering notifications to subscribers in accordance with the variables and parameters; and performing a decision-theoretic analysis for pending notifications to determine whether to convey the pending notifications and in what manner to convey the pending notifications, by accessing variables and parameters that indicate user preference.
Claim 28
Dependent Claim
221 words
One or more computer readable media storing computer executable instructions which when executed by a processor perform the following method: abstracting subscription and event information as data; storing the subscription and event data in respective tables, the tables being propagated with the subscription and event information; upon a notification event occurring, processing the subscription and event data to generate notification data in accordance with a messaging protocol, wherein processing the subscription and event data comprises performing a join between the event data and the subscription data to determine for which subscribers notification data regarding the notification event should be generated; employing an event protocol processed in accordance with a web services protocol to facilitate processing subscriptions and notification events; analyzing information regarding variables and parameters of a user that influence notification decision-making, wherein the parameters comprise contextual information discerned based on observations made autonomously via one or more sensors and statistical models, additional parameters conditioned on the contextual information, observations dynamically inferred via automated inference, a user's state specified in real-time and default notification preference parameters; delivering notifications to subscribers in accordance with the variables and parameters; and performing a decision-theoretic analysis for pending notifications to determine whether to convey the pending notifications and in what manner to convey the pending notifications, by accessing variables and parameters that indicate user preference.
Claim 29
Dependent Claim
44 words
The computer readable media of claim 25 , wherein the method performed by the execution of the computer executable instructions further comprises: employing at least one of an event provider process, an event collector process, an event flush process, and a message delivery process.
Claim 30
Dependent Claim
55 words
The computer media of claim 25 , wherein the method performed by the execution of the computer executable instructions further comprises: employing an event provider process, the event provider process further comprising at least one of: initiating a Distributed Transaction Coordinator (DTC) transaction; de-queuing a message; committing the DTC transaction; and aborting the DTC transaction.
Claim 31
Dependent Claim
67 words
The computer storage readable media of claim 25 , wherein the method performed by the execution of the computer executable instructions further comprises: employing an event collector process, the event collector process further comprising at least one of: determining if a DTC transaction has started; starting a database transaction; inserting a row into an event batch table; and inserting a new event row in another event table.
Claim 32
Dependent Claim
55 words
The computer readable media of claim 25 , wherein the method performed by the execution of the computer executable instructions further comprises: employing an event flush process, the event flush process further comprising at least one of: updating a batch header; committing a DTC transaction; and aborting the DTC transaction depending on a flush parameter.
Claim 33
Dependent Claim
64 words
The computer readable media of claim 25 , wherein the method performed by the execution of the computer executable instructions further comprises: employing a message delivery process, the message delivery process further comprising at least one of: initiating a DTC transaction; calling a delivery protocol handler; marking a row in a database to indicate a message has been delivered; and committing the DTC transaction.