Patent ID: 6996584

Claim:
A system for maintaining functional client side data cache coherence for database caches distributed across database servers and clients, comprising: a database file comprising a plurality of data records including one or more linkages between data records; an application resident on a database client operable to request access to at least one piece of specified data within a record within the database file, and wherein said client is coupled to a local memory cache, wherein said local memory cache is operable to store a plurality of data records and version information related to the plurality of data records, the version information comprising first values representing versions related to the data records and second value representing versions related to the database file, wherein the application is configured to utilize the version information to determine whether locally cached data records have valid links with respect to each other; and a remote memory storage system configured to manage the database file and coupled to said client by a communication pathway, wherein said remote memory storage system is operable to receive the request for at least one piece of specified data, to retrieve the data record for the specified data from the database file or a remote cache, and to transmit the data record and associated version information; wherein the database file further comprises a plurality of page, each page including portion of one or more data records, and wherein version information is associated with each page individually; wherein said application verifies that any page received from the remote memory storage system is coherent with linked data stored in pages within said local memory cache; wherein said application uses version information of both the page received and said linked pages stored in said local memory cache; wherein said version information represents a version range and wherein any two pages are coherent when said version range of said pages overlap; and wherein said version range comprises a version for when a linkage to or from a page was updated and a file version for when said page was downloaded to the local cache.