IP Library Granted Patent US 9,378,141
Granted Patent B1
US 9,378,141 · App. 13/857,496 · Granted Jun 28, 2016

Local cache pre-warming

Inventors: Mithlesh Thukral (Maharashtra, IN); Mukesh Bafna (Pune, IN); Shirish Vijayvargiya (Pune, IN); Sanjay Jain (Maharashtra, IN); Sushil Patil (Maharashtra, IN); Sanjay Kumar (Patna, IN); Anindya Banerjee (Barrackpore, IN)
Assignee: Veritas Technologies LLC
G06F12/0813H04L67/2842
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,378,141
App. No.
13/857,496
Granted
Jun 28, 2016
Kind
B1
Abstract

Caching metadata that identify hot blocks at a per local cache level are tracked. Tracked caching metadata are maintained so as to be persistent and shared across nodes of the cluster. Local caches are pre-warmed by using maintained caching metadata, responsive to detecting specific node level events. Such events can result in hot blocks being absent from a local cache, such as a failover between nodes or an unexpected failure local to a specific node. Another event example is the access of shared storage content, such as opening a file or mounting a file system by a specific node, in response to which the associated local cache can be pre-warmed using the tracked caching metadata for the specific file, or for each file of the file system. To pre-warm a local cache, hot blocks of stored content identified by corresponding caching metadata are loaded into the local cache.

Claims (49)

1. A computer implemented method for cache pre-warming in a cluster of nodes, each node having an associated non-shared, local cache, wherein the cluster further comprises shared storage, the method comprising the steps of:

nodes of the cluster using associated local caches to cache hot blocks of shared storage content, wherein each local cache is accessible only to the node with which it is associated, and wherein the shared storage is accessible by each node of the cluster;

tracking caching metadata by nodes of the cluster, wherein the tracked caching metadata identifies hot blocks at a per local cache level;

maintaining caching metadata tracked by each node of the cluster, wherein the maintained caching metadata is persistent and shared across the nodes of the cluster; and

pre-warming local caches by nodes of the cluster by using maintained caching metadata, responsive to detecting specific node level events.

2. The method of claim 1 wherein tracking caching metadata by a node further comprises:

monitoring caching activity on the node.

3. The method of claim 1 wherein tracking caching metadata by a node further comprises:

tracking specific blocks of shared storage content present in the local cache on the node.

4. The method of claim 1 wherein tracking caching metadata by a node further comprises:

tracking which specific blocks of shared storage content are added to and evicted from the local cache on the node over time.

5. The method of claim 1 wherein tracking caching metadata further comprises:

monitoring application level access of specific content on the shared storage.

6. The method of claim 1 wherein tracking caching metadata further comprises:

tracking caching metadata identifying specific blocks of shared storage content, in response to the blocks being accessed at a specific threshold level within a given time period.

7. The method of claim 1 wherein maintaining caching metadata further comprises:

storing caching metadata concerning each specific one of multiple files with corresponding file system level metadata concerning the specific file.

8. The method of claim 1 wherein maintaining caching metadata further comprises:

storing the tracked caching metadata on the shared storage, such that the stored caching metadata is persistent and shared across the nodes of the cluster.

9. The method of claim 1 wherein maintaining caching metadata further comprises:

storing the tracked caching metadata on a remote, cloud-based server computer, such that the stored caching metadata is persistent and shared across the nodes of the cluster.

10. The method of claim 1 wherein maintaining caching metadata further comprises:

using cluster-level inter-node communication to maintain the tracked caching metadata.

11. The method of claim 1 wherein pre-warming a local cache by using maintained caching metadata responsive to detecting a specific node level event further comprises:

in response to detecting a specific file being opened by a node, pre-warming the local cache associated with the node using the tracked caching metadata for the specific file, wherein the tracked caching metadata for the specific file identifies hot blocks for the specific file.

12. The method of claim 1 wherein pre-warming a local cache by using maintained caching metadata responsive to detecting a specific node level event further comprises:

in response to detecting a file system being mounted by a node, pre-warming the local cache associated with the node using the tracked caching metadata for each specific file of the file system, wherein the tracked caching metadata for each specific file identifies hot blocks for the specific file.

13. The method of claim 1 wherein pre-warming a local cache by using maintained caching metadata further comprises:

loading hot blocks of stored content identified by corresponding caching metadata into the local cache.

14. The method of claim 1 further comprising:

detecting events that warrant pre-warming of at least one local cache.

15. The method of claim 14 wherein detecting an event that warrants pre-warming of a local cache further comprises:

detecting an event resulting in hot blocks being absent from the local cache.

16. The method of claim 14 wherein detecting an event that warrants pre-warming of a local cache further comprises:

detecting a failover from a first node to a second node.

17. The method of claim 14 wherein detecting an event that warrants pre-warming of a local cache further comprises:

detecting an unexpected failure local to a specific node.

18. The method of claim 14 wherein detecting an event that warrants pre-warming of a local cache further comprises:

detecting access of shared storage content by a specific node.

19. At least one non-transitory computer readable-storage medium for cache pre-warming in a cluster of nodes, each node having an associated non-shared, local cache, wherein the cluster further comprises shared storage, the at least one non-transitory computer readable-storage medium storing computer executable instructions that, when loaded into computer memory and executed by at least one processor of a computing device, cause the computing device to perform the following steps:

nodes of the cluster using associated local caches to cache hot blocks of shared storage content, wherein each local cache is accessible only to the node with which it is associated, and wherein the shared storage is accessible by each node of the cluster;

tracking caching metadata by nodes of the cluster, wherein the tracked caching metadata identifies hot blocks at a per local cache level;

maintaining caching metadata tracked by each node of the cluster, wherein the maintained caching metadata is persistent and shared across the nodes of the cluster; and

pre-warming local caches by nodes of the cluster by using maintained caching metadata, responsive to detecting specific node level events.

20. A computer system for cache pre-warming in a cluster of nodes, each node having an associated non-shared, local cache, wherein the cluster further comprises shared storage, wherein nodes of the cluster using associated local caches to cache hot blocks of shared storage content, wherein each local cache is accessible only to the node with which it is associated, and wherein the shared storage is accessible by each node of the cluster, the computer system comprising:

system memory;

a caching metadata tracking module residing in the system memory, the caching metadata tracking module being programmed to track caching metadata by nodes of the cluster, wherein the tracked caching metadata identifies hot blocks at a per local cache level;

a caching metadata maintaining module residing in the system memory, the caching metadata maintaining module being programmed to maintain caching metadata tracked by each node of the cluster, wherein the maintained caching metadata is persistent and shared across the nodes of the cluster; and

a cache pre-warming module residing in the system memory, the cache pre-warming module being programmed to pre-warm local caches by nodes of the cluster by using maintained caching metadata, responsive to detecting specific node level events.

Assignments (14)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
SECURITY INTEREST Recorded Mar 17, 2025
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 070530/0497 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2013
From: THUKRAL, MITHLESH; BAFNA, MUKESH; VIJAYVARGIYA, SHIRISH; JAIN, SANJAY; PATIL, SUSHIL; KUMAR, SANJAY; BANERJEE, ANINDYA
To: SYMANTEC CORPORATION
Reel/Frame 030180/0770 →