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.