Registering for and retrieving database table change information that can be used to invalidate cache entries
First Claim
1. In a computer system that accesses a database having one or more data tables, a method for configuring the database to provide a table change notification when content in one of the data tables is altered, the method comprising the following:
- an act of selecting a data table that is to be monitored for content changes;
an act of inserting a record that corresponds to the selected data table into a change notification table, the corresponding record including versioning information for the selected data table;
an act of assigning a trigger to the selected data table, the trigger causing the versioning information for the selected data table to be updated in the change notification table when content in the selected data table is altered;
an act of updating the versioning information in the change notification table in response to content in the selected data table being altered; and
an act of returning the updated versioning information to a requesting server computer system such that the updated versioning information can be used to determine the validity of content in a cache entry at the server computer system.
3 Assignments
0 Petitions
Accused Products
Abstract
A server provides Web responses that can include content from data tables in a database. The server maintains a cache (e.g., in system memory) that can store content (including content from data tables) so as to increase the efficiency of subsequently providing the same content to satisfy client Web requests. The server monitors data tables for changes and, when a change in a particular data table occurs, invalidates cached entries that depend on a particular data table. Further, in response to a client Web request for a Web response, the server assigns a database cache dependency to at least a portion of a constructed Web response (e.g., to content retrieved from a data table) based on commands executed during construction of the Web response. The at least a portion of the constructed Web response is subsequently cached in a cache location at the server.
110 Citations
49 Claims
-
1. In a computer system that accesses a database having one or more data tables, a method for configuring the database to provide a table change notification when content in one of the data tables is altered, the method comprising the following:
-
an act of selecting a data table that is to be monitored for content changes;
an act of inserting a record that corresponds to the selected data table into a change notification table, the corresponding record including versioning information for the selected data table;
an act of assigning a trigger to the selected data table, the trigger causing the versioning information for the selected data table to be updated in the change notification table when content in the selected data table is altered;
an act of updating the versioning information in the change notification table in response to content in the selected data table being altered; and
an act of returning the updated versioning information to a requesting server computer system such that the updated versioning information can be used to determine the validity of content in a cache entry at the server computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. In a server computer system that provides Web responses to requesting client computer systems, the Web responses potentially including content from one or more data tables in a database, the server computer system including a cache location that stores a portion of cached content previously received from a data table and cached versioning information that corresponds to the cached content, a method for invalidating the portion of cached content, the method comprising the following:
-
an act of querying a change notification table for versioning information corresponding to the one or more data tables;
an act of receiving a list of at least one data table that has changed since the server computer system last queried the change notification table, the list of at least one data table including current versioning information for the at least one data table;
an act of determining that the cached content is dependent on the at least one data table;
an act of comparing the current versioning information to the cached versioning information; and
an act of removing the portion of cached content from the cache location based on the results of the comparison. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. In a server computer system that provides Web responses to requesting client computer systems, the Web responses potentially including content from one or more data tables in a database, the server computer system including a cache location that stores a portion of cached content previously received from a data table and cached versioning information that corresponds to the cached data, a method for accessing content that is to be presented to a requesting client computer system, the method comprising the following:
-
an act of receiving a Web request from a client computer system, the Web request requesting delivery of a Web response that is to include requested content contained in a data table, the data table being generally accessible to other applications that can alter content contained in the data table, including altering the requested content;
an act of determining that at least a portion of the content that is to be included in the Web response is not currently cached at the server computer system;
an act of accessing the requested content from the data table;
an act of constructing the Web response, the constructed Web response including the requested content;
an act of assigning a database cache dependency to at least a portion of the constructed Web response based on commands executed during construction of the Web response, the database cache dependency indicating that the at least a portion of the constructed Web response is dependent on the data table; and
an act of caching the at least a portion of the constructed Web response in a cache location at the server computer system; and
an act of delivering the constructed Web response to the client computer system in response to the Web request. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. In a server computer system that provides Web responses to requesting client computer systems, the Web responses potentially including content from one or more data tables in a database, the server computer system including a cache location that stores a portion of cached content previously received from a data table and cached versioning information that corresponds to the cached data, a method for accessing content that is to be presented to a requesting client computer system, the method comprising the following:
-
an act of receiving a Web request from a client computer system, the Web request requesting delivery of a Web response that is to include requested content contained in a data table, the data table being generally accessible to other applications that can alter content contained in the data table, including altering the requested content;
an act of determining that at least a portion of the content that is to be included in the Web response is not currently cached at the server computer system;
an act of accessing the requested content from the data table;
an act of constructing the Web response, the constructed Web response including the requested content; and
a step for storing the requested content such that the requested content can be efficiently accessed to satisfy subsequent Web requests; and
an act of delivering the constructed Web response to the client computer system in response to the Web request.
-
-
36. A computer program product for use in a computer system that access a database having one or more data tables, the computer program product for implementing a method for configuring the database to provide a table change notification when data in one of the data tables is altered, the computer program product comprising one or more computer-readable media having stored thereon computer executable instructions that, when executed by a processor, cause the computer system to perform the following:
-
select a data table that is to be monitored for data changes;
insert a record that corresponds to the selected data table into a change notification table, the corresponding record including versioning information for the selected data table;
assign a trigger to the selected data table, the trigger causing the versioning information for the selected data table to be updated in the change notification table when data in the selected data table is altered;
update the versioning information in the change notification table in response to data in the selected data table being altered; and
send the updated versioning information to a requesting server computer system such that the updated versioning information can be used to determine the validity of data in a cache entry at the server computer system. - View Dependent Claims (37, 38)
-
-
39. A computer program product for use in a server computer system that provides Web responses to requesting client computer systems, the Web responses potentially including content from one or more data tables in a database, the server computer system including a cache location that stores a portion of cached content previously received from a data table and cached versioning information that corresponds to the cached content, the computer program product for implementing a method for invalidating the portion of cached content, the computer program product comprising one or more computer-readable media having stored thereon computer executable instructions that, when executed by a processor, cause the server computer system to perform the following:
-
query a change notification table for versioning information corresponding to the one or more data tables;
receive a list of at least one data table that has changed since the server computer system last queried the change notification table, the list of at least one data table including current versioning information for the at least one data table;
determine that the cached content is dependent on the at least one data table;
compare the current versioning information to the cached versioning information; and
remove the portion of cached content from the cache location based on the results of the comparison. - View Dependent Claims (40, 41)
-
-
42. A computer program product for use in a server computer system that provides Web responses to requesting client computer systems, the Web responses potentially including content from one or more data tables in a database, the server computer system including a cache location that stores a portion of cached content previously received from a data table and cached versioning information that corresponds to the cached data, the computer program product for implementing a method for accessing content that is to be presented to a requesting client computer system, the computer program product comprising one or more computer-readable media having stored thereon computer executable instructions that, when executed by a processor, cause the server computer system to perform the following:
-
receive a Web request from a client computer system, the Web request requesting delivery of a Web response that is to include requested content contained in a data table, the data table being generally accessible to other applications that can alter content contained in the data table, including altering the requested content;
determine that at least a portion of the content that is to be included in the Web response is not currently cached at the server computer system;
access the requested content from the data table;
construct the Web response, the constructed Web response including the requested content;
assign a database cache dependency to at least a portion of the constructed Web response based on commands executed during construction of the Web response, the database cache dependency indicating that the at least a portion of the constructed Web response is dependent on the data table;
cache the at least a portion of the constructed Web response in a cache location at the server computer system prior to delivering the constructed Web response to the client computer system; and
deliver the constructed Web response to the client computer system in response to the Web request. - View Dependent Claims (43, 44, 45, 46)
-
-
47. One or more computer-readable media having stored thereon a data structure that represents versioning information for a data table, the data structure comprising:
-
a table ID field representing a table ID that can be used to identify a data table; and
a change ID field representing a change ID for the data table identified by the table ID represented in the table ID field, the change ID being used to determine if a cache entry is to be invalidated. - View Dependent Claims (48, 49)
-
Specification