IP Library Patent Application 12479878
Patent Application
App. No. 12/479,878

NOTIFICATION-BASED CACHE INVALIDATION FOR COMPLEX DATABASE QUERIES

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 None
App. No.
12/479,878
Abstract

A secondary database query is registered for a change notification with a database server. The secondary database query is a database query that is eligible for a change notification from the database server and that is configured to return a superset of the data returned by a corresponding complex database query that is ineligible for a change notification. If a change notification is received from the database server for the secondary database query, an entry in a database query result cache corresponding to the complex database query is invalidated.

Claims (41)

1 . A computer-implemented method for invalidating an entry in a database query result cache corresponding to a complex database query, the method comprising performing computer-implemented operations for:

registering a secondary database query with a database server for a change notification;

receiving a change notification from the database server for the secondary database query; and

invalidating the entry in the database query result cache corresponding to the complex database query in response to receiving the change notification for the secondary database query.

2 . The computer-implemented method of claim 1 , wherein the complex database query comprises a database query that is ineligible for a change notification from the database server.

3 . The computer-implemented method of claim 2 , wherein the secondary database query comprises a database query that is eligible for a change notification from the database server.

4 . The computer-implemented method of claim 3 , wherein the complex database query is configured to return a set of data and wherein the secondary database query further comprises a database query that is configured to return a superset of the set of data returned by the complex query.

5 . The computer-implemented method of claim 4 , wherein the change notification is generated in response to detecting a change in the superset of the set of data returned by the complex query.

6 . The computer-implemented method of claim 5 , wherein invalidating the entry in the database query result cache for the complex database query comprises deleting the entry in the database query result cache corresponding to the complex database query.

7 . The computer-implemented method of claim 6 , further comprising:

receiving a database query;

searching the database query result cache for an entry corresponding to the received database query; and

in response to locating an entry in the query result cache corresponding to the received database query, returning a query result from the database query result cache in response to receiving the database query.

8 . The computer-implemented method of claim 7 , wherein the complex database query and the secondary database query comprise structured query language (SQL) queries.

9 . A computer readable storage medium having computer executable instructions stored thereupon which, when executed by a computer, cause the computer to:

receive a database query;

in response to receiving the database query, to determine whether the database query is a complex database query ineligible for a change notification provided by a database server; and to register a secondary database query with the database server for the change notification in response to determining that the database query is a complex database query ineligible for a change notification from the database server.

10 . The computer-readable storage medium of claim 9 , having further computer executable instructions stored thereupon which, when executed by the computer, cause the computer to:

receive a change notification from the database server for the secondary database query; and to invalidate an entry in a database query result cache corresponding to the complex database query in response to receiving the change notification for the secondary database query.

11 . The computer-readable storage medium of claim 10 , having further computer executable instructions stored thereupon which, when executed by the computer, cause the computer to register the database query with the database server for the change notification in response to determining that the database query is not a complex database query that is ineligible for a change notification.

12 . The computer-readable storage medium of claim 11 , wherein the complex database query is configured to return a set of data and wherein the secondary database query further comprises a database query that is configured to return a superset of the set of data returned by the complex query.

13 . The computer-readable storage medium of claim 12 , wherein the change notification is generated in response to detecting a change in the superset of the set of data returned by the complex query.

14 . The computer-readable storage medium of claim 13 , wherein invalidating the entry in the database query result cache for the complex database query comprises deleting an entry in the database query result cache corresponding to the complex database query.

15 . The computer-readable storage medium of claim 14 , having further computer executable instructions stored thereupon which, when executed by the computer, cause the computer to:

receive a second database query;

search the database query result cache for an entry corresponding to the second database query; and to

return a query result from the database query result cache in response to the second database query in response to locating an entry in the query result cache corresponding to the second database query.

16 . The computer-readable storage medium of claim 15 , wherein the complex database query and the secondary database query comprise structured query language (SQL) queries.

17 . A computer-implemented method for invalidating an entry in a database query result cache corresponding to a complex database query, the method comprising performing computer-implemented operations for:

receiving a database query;

in response to receiving the database query, determining whether the database query is a complex database query ineligible for a change notification provided by a database server;

registering the database query with the database server for the change notification in response to determining that the database query is not a complex database query that is ineligible for the change notification;

registering a secondary database query with the database server for the change notification in response to determining that the database query is a complex database query ineligible for a change notification from the database server;

receiving the change notification from the database server for the secondary database query;

invalidating the entry in the database query result cache corresponding to the complex database query in response to receiving the change notification for the secondary database query;

receiving a second database query;

searching the database query result cache for an entry corresponding to the second database query; and

in response to locating an entry in the database query result cache corresponding to the second database query, returning a query result from the database query result cache in response to the second database query.

18 . The computer-implemented method of claim 17 , wherein the complex database query is configured to return a set of data and wherein the secondary database query further comprises a database query that is configured to return a superset of the set of data returned by the complex query.

19 . The computer-implemented method of claim 18 , wherein the change notification is generated in response to detecting a change in the superset of the set of data returned by the complex query.

20 . The computer-implemented method of claim 19 , wherein the complex database query and the secondary database query comprise structured query language (SQL) queries.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2009
From: BOYD, CHRISTOPHER ANDREW; LEV, BOAZ; KOLEV, JIVKO VARBANOV; ELWELL, CHRISTOPHER ALAN; GARLICK, MICHAEL SHAWN
To: MICROSOFT CORPORATION
Reel/Frame 023249/0689 →