IP Library Granted Patent US 7,162,472
Granted Patent B2
US 7,162,472 · App. 10/602,497 · Granted Jan 9, 2007

System and method for database change notification

View Patent ↗
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 7,162,472
App. No.
10/602,497
Granted
Jan 9, 2007
Kind
B2
Abstract

A client submits a subscription to a database specifying selected data within a data set. A subscription plan is generated based on the subscription. A query is submitted to the database changing selected data within the data set. A query plan is generated based on the query. The subscription is matched to the query based on the data set, and the query plan is supplemented with the subscription plan to generate a notification of the change to the client.

Claims (52)

1. A method for notifying a client of a change to data stored at a database, the method comprising:

receiving a subscription from the client, the subscription selecting a first subset of data from within a set of data;

generating a subscription plan for filtering the first subset from within the set of data;

receiving a query to be executed at the database, the query changing a second subset of data within the set of data;

generating a query plan for executing the query, the query plan for filtering the second subset from within the set of data;

matching the subscription to the query based on the set of data;

supplementing the query plan with the subscription plan;

prior to executing the supplemented query plan, evaluating the supplemented query plan whereby the subscription filters the first subset of data from within the second subset of data to form a third subset of data;

determining based on the third set of data whether or not to generate a notification of the change to the third subset of data such that the notification is generated when the third subset of data is non-empty, and the notification is not generated when the third set of data is empty; and

after evaluating the supplemented query plan, executing the query by changing the second subset of data.

2. The method of claim 1 , further comprising terminating the subscription.

3. The method of claim 1 , further comprising persisting the subscription.

4. The method of claim 1 , further comprising storing the subscription plan at a notification manager.

5. The method of claim 1 , further comprising submitting the notification to the client.

6. The method of claim 5 , further comprising changing the third subset of data at the client.

7. A computer readable medium having stored thereon computer readable instructions for performing the following steps:

receiving a subscription from a client, the subscription selecting a first subset of data from within a set of data stored at a database;

generating a subscription plan for filtering the first subset from within the set of data;

receiving a query to be executed at the database, the query changing a second subset of data within the set of data;

generating a query plan for executing the query, the query plan for filtering the second subset from within the set of data;

matching the subscription to the query based on the set of data;

supplementing the query plan with the subscription plan;

prior to executing the supplemented query plan, evaluating the supplemented query plan whereby the subscription filters the first subset of data from within the second subset of data to form a third subset of data;

determining based on the third set of data whether or not to generate a notification of the change to the third subset of data such that the notification is generated when the third subset of data is non-empty, and the notification is not generated when the third set of data is empty; and

after evaluating the supplemented query plan, executing the query by changing the second subset of data.

8. The computer readable medium of claim 7 , further comprising computer readable instructions for terminating the subscription.

9. The computer readable medium of claim 7 , further comprising computer readable instructions for persisting the subscription.

10. The computer readable medium of claim 7 , further comprising computer readable instructions for storing the subscription plan at a notification manager.

11. The computer readable medium of claim 7 , further comprising computer readable instructions for submitting the notification to the client.

12. The computer readable medium of claim 11 , further comprising computer readable instructions for changing the third subset of data data at the client.

13. A system for notifying a client of a change to data stored at a database, the system comprising:

the client comprising a cached version of data stored at the database;

the database for storing the data, the database comprising:

a database front end for:

receiving a subscription from the client, the subscription selecting a first subset of data from within a set of data;

generating a subscription plan for filtering the first subset from within the set of data;

receiving a query to be executed at the database, the query changing a second subset of data within the set of data; and

generating a query plan for executing the query, the query plan for filtering the second subset from within the set of data; and

a notification manager for:

matching the subscription to the query based on the set of data;

supplementing the query plan with the subscription plan;

prior to executing the supplemented query plan, evaluating the supplemented query plan whereby the subscription filters the first subset of data from within the second subset of data to form a third subset of data;

determining based on the third set of data whether or not to generate a notification of the change to the third subset of data such that the notification is generated when the third subset of data is non-empty, and the notification is not generated when the third set of data is empty;

an execution engine for executing the query by changing the second subset of data only after the supplemented query plan is evaluated.

14. The system of claim 13 , wherein the subscription is terminated after the notification is generated.

15. The system of claim 13 , wherein the subscription is persisted after the notification is generated.

16. The system of claim 13 , wherein the notification manager is further for storing the subscription plan.

17. The system of claim 13 , wherein the database further comprises:

an optimizer for generating an execution plan for the query based on the query plan;

and

a storage processor for maintaining data in a storage medium.

18. The system of claim 13 , wherein the notification manager is further for submitting the notification to the client.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2003
From: GALINDO-LEGARIA, CESAR A.; GRAEFE, GOETZ; KLEINERMAN, CHRISTIAN; WAAS, FLORIAN M.
To: MICROSOFT CORPORATION
Reel/Frame 014241/0885 →