Claims
- 1. A method for managing recovery of a resource after a failure of one or more caches that hold dirty versions of said resource, the method comprising the steps of:
determining which version of the resource is held in each cache of a plurality of caches that did not fail; identifying, from the plurality of caches, a particular version of the resource that is at least as recent as any other version of the resource in the plurality of caches that did not fail; and causing the particular version of the resource to be written to disk.
- 2. The method of claim 1, wherein the particular version of the resource is a current copy of the resource.
- 3. The method of claim 1, wherein the particular version of the resource is a past image copy of the resource.
- 4. The method of claim 3, wherein the past image copy of the resource is at least as recent as any other past image copy of the resource.
- 5. The method of claim 4, wherein the past image copy of the resource is at least as recent as any other past image copy of the resource that is currently retained in the plurality of caches that did not fail.
- 6. The method of claim 1, further comprising the step of:
after the latest version of the resource is written to disk, causing the plurality of caches to release any past images of the resource.
- 7. The method of claim 1, wherein the steps of determining, identifying, and causing are performed by a lock manager.
- 8. The method of claim 7, wherein said lock manager is a surviving master that was designated to be a master of said resource before the failure of the one or more caches.
- 9. The method of claim 7, wherein said lock manager is a new master that was designated to be a master of said resource after the failure of the one or more caches.
- 10. A computer-readable medium carrying one or more sequences of instructions for managing recovery of a resource after a failure of one or more 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 which version of the resource is held in each cache of a plurality of caches that did not fail; identifying, from the plurality of caches, a particular version of the resource that is at least as recent as any other version of the resource in the plurality of caches that did not fail; and causing the particular version of the resource to be written to disk.
- 11. The computer-readable medium of claim 10, wherein the particular version of the resource is a current copy of the resource.
- 12. The computer-readable medium of claim 10, wherein the particular version of the resource is a past image copy of the resource.
- 13. The computer-readable medium of claim 12, wherein the past image copy of the resource is at least as recent as any other past image copy of the resource.
- 14. The computer-readable medium of claim 13, wherein the past image copy of the resource is at least as recent as any other past image copy of the resource that is currently retained in the plurality of caches that did not fail.
- 15. The computer-readable medium of claim 10, further comprising instructions which, when executed by the one or more processors, cause the one or more processors to carry out the step of:
after the latest version of the resource is written to disk, causing the plurality of caches to release any past images of the resource.
- 16. The computer-readable medium of claim 10, wherein execution of the one or more sequences of instructions cause the one or more processors to cause a lock manager to perform the steps of determining, identifying, and causing.
- 17. The computer-readable medium of claim 16, wherein said lock manager is a surviving master that was designated to be a master of said resource before the failure of the one or more caches.
- 18. The computer-readable medium of claim 16, wherein said lock manager is a new master that was designated to be a master of said resource after the failure of the one or more caches.
- 19. An apparatus for managing recovery of a resource after a failure of one or more caches that hold dirty versions of said resource, wherein the apparatus is configured to:
determine which version of the resource is held in each cache of a plurality of caches that did not fail; identify, from the plurality of caches, a particular version of the resource that is at least as recent as any other version of the resource in the plurality of caches that did not fail; and cause the particular version of the resource to be written to disk.
- 20. The apparatus of claim 19, wherein the particular version of the resource is a current copy of the resource.
- 21. The apparatus of claim 19, wherein the particular version of the resource is a past image copy of the resource.
- 22. The apparatus of claim 21, wherein the past image copy of the resource is at least as recent as any other past image copy of the resource.
- 23. The apparatus of claim 22, wherein the past image copy of the resource is at least as recent as any other past image copy of the resource that is currently retained in the plurality of caches that did not fail.
- 24. The apparatus of claim 19, wherein the apparatus is further configured to:
after the latest version of the resource is written to disk, cause the plurality of caches to release any past images of the resource.
- 25. The apparatus of claim 19, wherein the apparatus is a lock manager.
- 26. The apparatus of claim 25, wherein said lock manager is a surviving master that was designated to be a master of said resource before the failure of the one or more caches.
- 27. The apparatus of claim 25, wherein said lock manager is a new master that was designated to be a master of said resource after the failure of the one or more caches.
RELATED APPLICATIONS
[0001] This application claims domestic priority as a continuation application of prior U.S. application Ser. No. 09/199,120, filed Nov. 24, 1998, entitled “Method and Apparatus for Transferring Data from the Cache of One Node to the Cache of Another Node,” naming as inventors Roger J. Bamford and Boris Klots, which claims the benefit of U.S. Provisional Application Ser. No. 60/074,587, filed Feb. 13, 1998, entitled “Cache Fusion,” naming as inventors Roger J. Bamford and Boris Klots, the entire disclosures of both of which are hereby incorporated by reference for all purposes as if fully set forth herein.
[0002] The present application is related to the following commonly-assigned U.S. patent applications, all of which are continuation applications of prior U.S. application Ser. No. 09/199,120, filed Nov. 24, 1998, titled “Method and Apparatus for Transferring Data from the Cache of One Node to the Cache of Another Node,” naming as inventors Roger J. Bamford and Boris Klots:
[0003] U.S. application Ser. No. ______ (attorney docket no. 50277-1774) entitled “Using a Checkpoint to Manage Data that is Shared By a Plurality of Nodes” filed on the same date herewith by Roger J. Bamford and Boris Klots;
[0004] U.S. application Ser. No. ______ (attorney docket no. 50277-1779) entitled “Transferring a Resource Between Caches of Different Nodes” filed on the same date herewith by Roger J. Bamford and Boris Klots;
[0005] U.S. application Ser. No. ______ (attorney docket no. 50277-1780) entitled “Recovering Data from a Failed Cache Using Recovery Logs of Caches that Updated the Data” filed on the same date herewith by Roger J. Bamford and Boris Klots;
[0006] U.S. application Ser. No. ______ (attorney docket no. 50277-1782) entitled “Recovering Data from a Failed Cache Using a Surviving Cache” filed on the same date herewith by Roger J. Bamford and Boris Klots; and
[0007] U.S. application Ser. No. ______ (attorney docket no. 50277-1783) entitled “Managing a Resource Used by a Plurality of Nodes” filed on the same date herewith by Roger J. Bamford and Boris Klots.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60074587 |
Feb 1998 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09199120 |
Nov 1998 |
US |
Child |
09894325 |
Jun 2001 |
US |