Transparent edge-of-network data cache
First Claim
1. An edge data cache comprising:
- a query evaluator;
a cache index in signal communication with the query evaluator;
a cache repository in signal communication with the query evaluator;
a resource manager in signal communication with the query evaluator;
a containment checker in signal communication with the query evaluator;
a query parser in signal communication with the query evaluator; and
a consistency manager in signal communication with the query evaluator.
2 Assignments
0 Petitions
Accused Products
Abstract
A system, apparatus and method are provided for the dynamic caching of data based on queries performed by a local application, where the system includes a remote server having a complete database, a local database on an edge server including a subset of the complete database, the edge server in communication with the remote server, shared tables within the local database on the edge server for caching results from the complete database, receiving locally generated data, and adjusting the contents of the cache based on available storage requirements while ensuring consistency of the data between the local database and the remote database; the apparatus includes an edge data cache including a query evaluator, a cache index, cache repository, resource manager, containment checker, query parser and consistency manager all in signal communication with the query evaluator; and the method for a local server to satisfy a database query meant for at least one remote server includes dynamically caching results of previous database queries of the remote server, associating a local database with the local server, storing a plurality of the caching results in shared tables in the local database, and using the plurality of the caching results in satisfying a new database query with the local server.
91 Citations
26 Claims
-
1. An edge data cache comprising:
-
a query evaluator;
a cache index in signal communication with the query evaluator;
a cache repository in signal communication with the query evaluator;
a resource manager in signal communication with the query evaluator;
a containment checker in signal communication with the query evaluator;
a query parser in signal communication with the query evaluator; and
a consistency manager in signal communication with the query evaluator. - View Dependent Claims (2, 3)
-
-
4. A system comprising an edge server for the dynamic caching of data based on queries performed by a local application, the system further comprising:
-
means for dynamically caching results of previous database queries of the remote server;
means for associating a local database with the local server;
means for storing a plurality of the caching results in shared tables in the local database; and
means for using the plurality of the caching results in satisfying a new database query with the local server. - View Dependent Claims (25)
-
-
5. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for the dynamic caching of data based on queries performed by a local application, the method steps comprising:
-
dynamically caching results of previous database queries of the remote server;
associating a local database with the local server;
storing a plurality of the caching results in shared tables in the local database; and
using the plurality of the caching results in satisfying a new database query with the local server. - View Dependent Claims (26)
-
-
6. A method for a local server to satisfy a database query meant for at least one remote server, the method comprising:
-
dynamically caching results of previous database queries of the remote server;
associating a local database with the local server;
storing a plurality of the caching results in shared tables in the local database; and
using the plurality of the caching results in satisfying a new database query with the local server. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method for ensuring delta-consistency of a set of query results retrieved from a database server, the method comprising the steps of:
-
subscribing the data cache to refresh messages propagated by the origin and including updates, deletes and inserts applied to the back-end tables;
applying the updates, deletes, and inserts to locally cached tables whenever the refresh messages are received;
associating a timestamp with a refresh message that is equal to the largest timestamp of any transaction whose effects are included in the message;
associating a set timestamp with the results of previous queries that equals to the timestamp of the last refresh message applied to the cache;
associating a new query timestamp with a new query;
comparing the new query timestamp with the set timestamp; and
inserting response to the new query if the new query timestamp exceeds the set timestamp; and
retrieving pending refresh messages from the database server if the new query timestamp exceeds the set timestamp.
-
Specification