A method and apparatus are provided for transferring a resource from the cache of one database server to the cache of another database server without first writing the resource to disk. When a database server (Requestor) desires to modify a resource, the Requestor asks for the current version of the resource. The database server that has the current version (Holder) directly ships the current version to the Requestor. Upon shipping the version, the Holder loses permission to modify the resource, but continues to retain the resource in memory. When the retained version of the resource, or a later version thereof, is written to disk, the Holder can discard the retained version of the resource. Otherwise, the Holder does not discard the retained version. Using this technique, single-server failures are recovered without having to merge the recovery logs of the various database servers that had access to the resource.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for recovering a resource after a failure of a plurality of caches that hold dirty versions of said resource, the method comprising the steps of: determining whether any of the plurality of caches that failed held the latest version of the resource; and if any of the plurality of caches that failed held the latest version of the resource: determining a subset of failed caches, said subset of failed caches including only those failed caches that updated said resource subsequent to a version of the resource that is durably stored; and merging and applying the recovery logs of the subset of failed caches to reconstruct the latest version of the resource.
2. A computer-readable medium carrying one or more sequences of instructions for recovering a resource after a failure of a plurality of caches that hold dirty versions of said resource, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: determining whether any of the failed caches held the latest version of the resource; and if any of the failed caches held the latest version of the resource: determining a subset of failed caches, said subset of failed caches including only those failed caches that updated said resource subsequent to a version of the resource that is durably stored; and merging and applying the recovery logs of the subset of failed caches to reconstruct the latest version of the resource.
3. An apparatus for recovering a resource after a failure of a plurality of caches that hold dirty versions of said resource, wherein the apparatus is configured to: determine whether any of the failed caches held the latest version of the resource; and if any of the failed caches held the latest version of the resource, determine a subset of failed caches, said subset of failed caches including only those failed caches that updated said resource subsequent to a version of the resource that is durably stored; and merge and apply the recovery logs of the subset of failed caches to reconstruct the latest version of the resource.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 27, 2001
January 14, 2003
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.