Programming model for subscription services
Abstract
The present invention relates to a subscription modeling system and methodology. A query processor receives subscription query and subscriber information and transforms the query and subscriber information into data. An index component propagates at least one database with the transformed data; and a matching component that associates the transformed data with event data to generate a database of notification data that can be delivered to subscribers. The invention provides for abstracting subscription and subscriber information (as well as event information if desired) to high-level classes (e.g., data fields)—thus the invention provides for modeling such notification related information as data. Subscription applications can thus be developed at high levels wherein complex subscription queries and subscriber information can be defined as data fields for example. Databases in accordance with the data fields can be propagated with subscription/subscriber specific information. The present invention takes advantages of the processing power associated with database engines (e.g., SQL server) to generate notifications via performing a join operation on the databases (e.g., subscription database(s), subscriber database(s) and event database(s)). Accordingly, notifications are generated en masse as compared to per subscription per subscriber. Thus the present invention provides for a highly scalable and efficient notification system.
Claims
exact text as granted — not AI-modified1 . A subscription modeling system, comprising:
a query processor that receives subscription query and subscriber information and transforms the query and subscriber information into data; an index component that propagates at least one database with the transformed data; and a matching component that associates the transformed data with event data to generate a database of notification data that can be delivered to subscribers, the matching component comprising an inference engine that facilitates inferring how data should be joined pursuant to subscriber preferences.
2 . The system of claim 1 , the matching component employing a set of match rules to associate the transformed data.
3 . The system of claim 1 , employing a SQL server that performs a data join operation in connection with generation of the notification data.
4 . The system of claim 1 , the query processor parsing the information and abstracting at least portions of the parsed information into data fields.
5 . The system of claim 4 , the data fields being propagated with subscriber or event specific data.
6 . A method that facilitates providing notifications of information to recipients comprising:
storing subscription queries as data; storing event information as data; upon a notification event occurring performing a join operation on the subscription query data and the event data to produce notification data; formatting the notification data; and delivering the formatted notification data, the formatted notification data being delivered via a delivery channel, the delivery channel being an intermediary between a notification services application and a delivery service.
7 . The method of claim 6 , further comprising propagating a notification database with the notification data.
8 . The method of claim 6 , the join operation being a SQL join of a subscription query data table and an event data table.
9 . The method of claim 6 further comprising employing match rules to effect the join operation.
10 . A method of subscription modeling, comprising:
providing an interface for an application developer to create an application definition file (ADF) in connection with modeling a subscription application; providing for an application developer to define metadata nodes; and providing for an application developer to prepare a subscription management application that allows users to subscribe to a subscription service and receive notifications, the subscription management application accepts and validates information about a subscriber, target devices that the subscriber is using for notification delivery, and subscriptions that specify information that the subscriber would like to receive.
11 . The method of claim 10 , further comprising specifying one or more event classes in the application definition file, the event class(es) corresponding to particular event types accepted by the application.
12 . The method of claim 10 , further comprising specifying one or more notification classes in the application definition file, the notification class(es) corresponding to one particular kind of notification generated by the application.
13 . The method of claim 10 , further comprising specifying one or more subscription classes in the application definition file, the subscription class(es) corresponding to one particular kind of subscription accepted by the application.
14 . The method of claim 13 , wherein specifying the subscription class(es) includes writing rules, which are Transact-SQL statements that either generate notifications, or update chronicle tables.
15 . The method of claim 14 , the rules being invoked when an event provider submits a new batch of events or on a scheduled basis.
16 . The method of claim 10 , further comprising defining an event provider that monitors an external entity and generates an event upon an action occurring.
17 . The method of claim 10 , wherein the ADF comprises event definitions that specify structure of at least one of: event data, event providers that collect data, and structure event chronicles used by a notification subscription application.
18 . The method of claim 10 , wherein the ADF comprises notification definitions that specify structure of at least one of: structure of raw notification data, formatting for messages that will be sent to subscribers, and delivery protocols used to send the messages.
19 . The method of claim 10 , wherein the ADF comprises subscription logic that defines how subscriptions are evaluated.
20 . The method of claim 19 , wherein the subscription logic being parameterized so that individual subscriptions can personalize the subscription logic.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.