IP Library Granted Patent US 10,474,486
Granted Patent B2
US 10,474,486 · App. 14/838,669 · Granted Nov 12, 2019

Data access accelerator

Inventors: Chirag Dalal (Maharashtra, IN); Vaijayanti Bharadwaj (Maharashtra, IN)
Assignee: Veritas Technologies LLC
G06F9/45558G06F12/0802G06F12/084G06F12/0875G06F2009/45579G06F2009/45583G06F2212/1024G06F2212/152G06F2212/621
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 10,474,486
App. No.
14/838,669
Granted
Nov 12, 2019
Kind
B2
Abstract

Various systems, methods, and processes for accelerating data access in application and testing environments are disclosed. A production dataset is received from a storage system, and cached in a consolidated cache. The consolidated cache is implemented by an accelerator virtual machine. A file system client intercepts a request for the production dataset from one or more application virtual machines, and transmits the request to the accelerator virtual machine. The accelerator virtual machine serves the production dataset to the one or more application virtual machines from the consolidated cache.

Claims (102)

1. A computer-implemented method comprising:

obtaining a copy of a production dataset from a shared storage system, wherein the copy is received by an accelerator virtual machine,

the accelerator virtual machine is hosted by a virtualization server,

a plurality of application virtual machines are communicatively coupled to the accelerator virtual machine,

the copy comprises data that is common to the plurality of application virtual machines (“common data”) that are communicatively coupled to the accelerator virtual machine, and

the copy is stored in a consolidated cache of the accelerator virtual machine;

intercepting, by a file system client, a request for requested data, wherein

the request is received from a first application virtual machine of the plurality of application virtual machines,

the request is directed from the first application virtual machine to a storage system, and

the requested data comprises

a subset of the common data, and

data that has been changed by the first application virtual machine (“changed data”) is recorded in a writeable overlay, wherein

the writeable overlay comprises information that is specific to the first application virtual machine but is not associated with any other application virtual machine of the plurality of application virtual machines;

forwarding the request from the file system client to the accelerator virtual machine, wherein

the file system client does not forward the request to the storage system; and

serving, to the first application virtual machine, a first portion of the requested data from the consolidated cache of the accelerator virtual machine, and a second portion of the requested data from the writeable overlay, wherein

the first portion of the requested data comprises the subset of the common data, and

the second portion of the requested data comprises the changed data.

2. The computer-implemented method of claim 1 , wherein

receiving the production dataset and caching the common data are managed by the accelerator virtual machine.

3. The computer-implemented method of claim 1 , wherein

the production dataset comprises common production data required by the plurality of application virtual machines, and

the production dataset is a backup copy or a cover snapshot of a live production dataset.

4. The computer-implemented method of claim 1 , wherein the plurality of application virtual machines, the accelerator virtual machine, the consolidated cache, and the file system client are supported by a hypervisor.

5. The computer-implemented method of claim 1 , wherein

each of the plurality of application virtual machines employs one or more thin-provisioned virtual disks, and

each of the one or more thin-provisioned virtual disks store changes to the production dataset made by the corresponding application virtual machine.

6. The computer-implemented method of claim 1 , wherein

the storage system is part of a production environment, and

the plurality of application virtual machines, the accelerator virtual machine, the consolidated cache, and the file system client are part of an application development and testing environment.

7. The method of claim 1 , further comprising:

configuring a writeable overlay for each of the plurality of application virtual machines.

8. The method of claim 7 , wherein

the requested data comprises common data requested by the plurality of application virtual machines, and

the writeable overlay maintains changed data requested by the plurality of virtual machines.

9. The method claim 8 , further comprising:

intercepting another request for requested data from one or more application virtual machines; and

serving to the one or more application virtual machines a first portion of the requested data comprising the common data from the consolidated cache and a second portion of the requested data comprising the changed data from the corresponding writeable overlay configured for each of the one or more application virtual machines.

10. The method of claim 1 , further comprising:

requesting a copy of the production dataset from the storage system; and

caching the copy of the production dataset in the consolidated cache.

11. The method of claim 1 , wherein

the data in the consolidated cache is not split among the one or more application virtual machines.

12. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to:

obtain a copy of a production dataset from a shared storage system, wherein the copy is received by an accelerator virtual machine,

the accelerator virtual machine is hosted by a virtualization server,

a plurality of application virtual machines are communicatively coupled to the accelerator virtual machine,

the copy comprises data that is common to the plurality of application virtual machines (“common data”) that are communicatively coupled to the accelerator virtual machine, and

the copy is stored in a consolidated cache of the accelerator virtual machine;

intercept, by a file system client, a request for requested data, wherein

the request is received from a first application virtual machine of the plurality of application virtual machines,

the request is directed from the first application virtual machine to a storage system, and

the requested data comprises

a subset of the common data, and

data that has been changed by the first application virtual machine (“changed data”) is recorded in a writeable overlay, wherein

the writeable overlay comprises information that is specific to the first application virtual machine but is not associated with any other application virtual machine of the plurality of application virtual machines;

forward the request from the file system client to the accelerator virtual machine, wherein

the file system client does not forward the request to the storage system; and

serve, to the first application virtual machine, a first portion of the requested data from the consolidated cache of the accelerator virtual machine, and a second portion of the requested data from the writeable overlay, wherein

the first portion of the requested data comprises the subset of the common data, and

the second portion of the requested data comprises the changed data.

13. The system of claim 12 , wherein

receiving the production dataset and caching the common data are managed by the accelerator virtual machine.

14. The system of claim 12 , wherein

the production dataset comprises common production data required by the plurality of application virtual machines, and

the production dataset is a backup copy or a cover snapshot of a live production dataset.

15. The system of claim 12 , wherein the plurality of application virtual machines, the accelerator virtual machine, the consolidated cache, and the file system client are supported by a hypervisor.

16. The system of claim 12 , wherein

each of the plurality of application virtual machines employs one or more thin-provisioned virtual disks, and

each of the one or more thin-provisioned virtual disks store changes to the production dataset made by the corresponding application virtual machine.

17. A non-transitory computer readable storage medium comprising program instructions executable to:

obtain a copy of a production dataset from a shared storage system, wherein the copy is received by an accelerator virtual machine,

the accelerator virtual machine is hosted by a virtualization server,

a plurality of application virtual machines are communicatively coupled to the accelerator virtual machine,

the copy comprises data that is common to the plurality of application virtual machines (“common data”) that are communicatively coupled to the accelerator virtual machine, and

the copy is stored in a consolidated cache of the accelerator virtual machine;

intercept, by a file system client, a request for requested data, wherein

the request is received from a first application virtual machine of the plurality of application virtual machines,

the request is directed from the first application virtual machine to a storage system, and

the request comprises

a subset of the common data, and

data that has been changed by the first application virtual machine (“changed data”) is recorded in a writeable overlay, wherein

the writeable overlay comprises information that is specific to the first application virtual machine but is not associated with any other application virtual machine of the plurality of application virtual machines;

forward the request from the file system client to the accelerator virtual machine, wherein

the file system client does not forward the request to the storage system; and

serve, to the first application virtual machine, a first portion of the requested data from the consolidated cache of the accelerator virtual machine, and a second portion of the requested data from the writeable overlay, wherein

the first portion of the requested data comprises the subset of the common data, and

the second portion of the requested data comprises the changed data.

18. The non-transitory computer readable storage medium of claim 17 , wherein

receiving the production dataset and caching the common data are managed by the accelerator virtual machine.

19. The non-transitory computer readable storage medium of claim 17 , wherein

the production dataset comprises common production data required by the plurality of application virtual machines, and

the production dataset is a backup copy or a cover snapshot of a live production dataset.

20. The non-transitory computer readable storage medium of claim 17 , wherein the plurality of application virtual machines, the accelerator virtual machine, the consolidated cache, and the file system client are supported by a hypervisor.

21. The non-transitory computer readable storage medium of claim 17 , wherein

each of the plurality of application virtual machines employs one or more thin-provisioned virtual disks, and

each of the one or more thin-provisioned virtual disks store changes to the production dataset made by the corresponding application virtual machine.

22. The non-transitory computer readable storage medium of claim 17 , wherein

the storage system is part of a production environment, and

the plurality of application virtual machines, the accelerator virtual machine, the consolidated cache, and the file system client are part of an application development and testing environment.

Assignments (13)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
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 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
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: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
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 →
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 Aug 28, 2015
From: DALAL, CHIRAG; BHARADWAJ, VAIJAYANTI
To: SYMANTEC CORPORATION
Reel/Frame 036446/0664 →