IP Library Patent Application 14935836
Patent Application
App. No. 14/935,836

SYSTEMS AND METHODS FOR COORDINATING DATA CACHING ON VIRTUAL STORAGE APPLIANCES

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 None
App. No.
14/935,836
Abstract

A computer-implemented method for coordinating data caching on virtual storage appliances may include (1) receiving, at a first virtual storage appliance, a request for data from a virtual machine in a first set of virtual machines served by the first virtual storage appliance, (2) determining that the requested data is not cached at the first virtual storage appliance, (3) determining that a second virtual storage appliance is responsible for caching the requested data from a remote data source, (4) transferring the requested data from the second virtual storage appliance to the first virtual storage appliance, and (5) providing the requested data from the first virtual storage appliance to the virtual machine. Various other methods, systems, and computer-readable media are also disclosed.

Claims (58)

1 . A computer-implemented method for coordinating data caching on virtual storage appliances, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

receiving, at a first virtual storage appliance, a request for data from a virtual machine in a first set of virtual machines served by the first virtual storage appliance;

determining that the requested data is not cached at the first virtual storage appliance;

determining that a second virtual storage appliance is responsible for caching the requested data from a remote data source;

transferring the requested data from the second virtual storage appliance to the first virtual storage appliance;

providing the requested data from the first virtual storage appliance to the virtual machine.

2 . The method of claim 1 , wherein the first virtual storage appliance comprises a cloud-based storage controller that manages a local data cache for a hypervisor running the first set of virtual machines in a cloud environment containing the second virtual storage appliance.

3 . The method of claim 1 , wherein the first set of virtual machines comprises a grouping of at least one virtual machine sharing a common dataset that differs, based on a predefined threshold, from a second dataset shared by a second set of virtual machines.

4 . The method of claim 1 , wherein determining that the second virtual storage appliance is responsible for caching the requested data comprises at least one of:

using a hashing algorithm that coordinates peer-to-peer caching among the first and second virtual storage appliances;

identifying a data fingerprint of the requested data.

5 . The method of claim 4 , wherein the hashing algorithm comprises a set of rules to distribute data for copy data management.

6 . The method of claim 1 , wherein transferring the requested data from the second virtual storage appliance to the first virtual storage appliance comprises at least one of:

locating the requested data in the second virtual storage appliance;

caching at least part of the requested data at the first virtual storage appliance;

removing the requested data from the second virtual storage appliance.

7 . The method of claim 6 , wherein locating the requested data in the second virtual storage appliance comprises at least one of:

finding the requested data cached at the second virtual storage appliance;

copying the requested data from the remote data source to the second virtual storage appliance;

caching the requested data at the second virtual storage appliance.

8 . The method of claim 6 , wherein removing the requested data from the second virtual storage appliance comprises at least one of:

determining, based on a cache algorithm, that caching the requested data at the second virtual storage appliance is more costly than caching the requested data at the first virtual storage appliance;

remapping a hash table based on the determination.

9 . A system for coordinating data caching on virtual storage appliances, the system comprising:

a reception module, stored in memory, that receives, at a first virtual storage appliance, a request for data from a virtual machine in a first set of virtual machines served by the first virtual storage appliance;

a determination module, stored in memory, that determines that the requested data is not cached at the first virtual storage appliance;

a coordination module, stored in memory, that determines that a second virtual storage appliance is responsible for caching the requested data from a remote data source;

a transfer module, stored in memory, that transfers the requested data from the second virtual storage appliance to the first virtual storage appliance;

a provision module, stored in memory, that provides the requested data from the first virtual storage appliance to the virtual machine;

at least one processor that executes the reception module, the determination module, the coordination module, the transfer module, and the provision module.

10 . The system of claim 9 , wherein the first virtual storage appliance comprises a cloud-based storage controller that manages a local data cache for a hypervisor running the first set of virtual machines in a cloud environment containing the second virtual storage appliance.

11 . The system of claim 9 , wherein the first set of virtual machines comprises a grouping of at least one virtual machine sharing a common dataset that differs, based on a predefined threshold, from a second dataset shared by a second set of virtual machines.

12 . The system of claim 9 , wherein the coordination module determines that the second virtual storage appliance is responsible for caching the requested data by at least one of:

using a hashing algorithm that coordinates peer-to-peer caching among the first and second virtual storage appliances;

identifying a data fingerprint of the requested data.

13 . The system of claim 12 , wherein the hashing algorithm comprises a set of rules to distribute data for copy data management.

14 . The system of claim 9 , wherein the transfer module transfers the requested data from the second virtual storage appliance to the first virtual storage appliance by at least one of:

locating the requested data in the second virtual storage appliance;

caching at least part of the requested data at the first virtual storage appliance;

removing the requested data from the second virtual storage appliance.

15 . The system of claim 14 , wherein locating the requested data in the second virtual storage appliance comprises at least one of:

finding the requested data cached at the second virtual storage appliance;

copying the requested data from the remote data source to the second virtual storage appliance;

caching the requested data at the second virtual storage appliance.

16 . The system of claim 14 , wherein removing the requested data from the second virtual storage appliance comprises at least one of:

determining, based on a cache algorithm, that caching the requested data at the second virtual storage appliance is more costly than caching the requested data at the first virtual storage appliance;

remapping a hash table based on the determination.

17 . A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

receive, at a first virtual storage appliance, a request for data from a virtual machine in a first set of virtual machines served by the first virtual storage appliance;

determine that the requested data is not cached at the first virtual storage appliance;

determine that a second virtual storage appliance is responsible for caching the requested data from a remote data source;

transfer the requested data from the second virtual storage appliance to the first virtual storage appliance;

provide the requested data from the first virtual storage appliance to the virtual machine.

18 . The non-transitory computer-readable medium of claim 17 , wherein the first virtual storage appliance comprises a cloud-based storage controller that manages a local data cache for a hypervisor running the first set of virtual machines in a cloud environment containing the second virtual storage appliance.

19 . The non-transitory computer-readable medium of claim 17 , wherein the first set of virtual machines comprises a grouping of at least one virtual machine sharing a common dataset that differs, based on a predefined threshold, from a second dataset shared by a second set of virtual machines.

20 . The non-transitory computer-readable medium of claim 17 , wherein the computer-executable instructions cause the computing device to determine that the second virtual storage appliance is responsible for caching the requested data by at least one of:

using a hashing algorithm that coordinates peer-to-peer caching among the first and second virtual storage appliances;

identifying a data fingerprint of the requested data.

Assignments (8)
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2021
From: BHARADWAJ, VAIJAYANTI; DALAL, CHIRAG
To: SYMANTEC CORPORATION
Reel/Frame 056334/0079 →
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 →
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 →