IP Library Granted Patent US 10,372,919
Granted Patent B1
US 10,372,919 · App. 15/893,931 · Granted Aug 6, 2019

Protecting virtual machine data in cloud environments

Inventors: Soumya Tripathy (West Bengal, IN); Subhadeep Ghosh (West Bengal, IN)
Assignee: Veritas Technologies LLC
G06F21/602G06F9/4406G06F9/45533
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,372,919
App. No.
15/893,931
Granted
Aug 6, 2019
Kind
B1
Abstract

Various systems, methods, and processes to protect virtual machine data in cloud computing environments are disclosed. A request for application data is received. The application data is encrypted, the request is received at an encryption virtual machine, and the encryption virtual machine is configured to receive the request from application virtual machines via loaders. A map file is accessed to identify an application virtual machine for which the application data is requested and the application data is accessed in a storage volume. The storage volume is communicatively coupled to the encryption virtual machine, and the encryption virtual machine is coupled between the application virtual machines and the storage volume. The application data is received from the storage volume and decrypted at the encryption virtual machine. The decrypted application data is sent to the loaders.

Claims (103)

1. A computer-implemented method comprising:

receiving a request for application data, wherein

the application data is encrypted,

the request is received at an encryption virtual machine, and

the encryption virtual machine is configured to receive the request from a plurality of application virtual machines via a plurality of loaders;

accessing a map file to identify an application virtual machine of the plurality of application virtual machines for which the application data is requested;

accessing the application data in a storage volume, wherein

the storage volume is communicatively coupled to the encryption virtual machine, and

the encryption virtual machine is coupled between the plurality of application virtual machines and the storage volume,

receiving the application data from the storage volume, wherein

the application data is decrypted at the encryption virtual machine to produce decrypted application data; and

sending the decrypted application data to the plurality of loaders.

2. The computer-implemented method of claim 1 , further comprising:

requesting updated application data from the application virtual machine;

receiving the updated application data from the application virtual machine;

encrypting the updated application data at the encryption virtual machine, to form encrypted updated application data;

storing the encrypted updated application data in the storage volume; and

updating the map file.

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

the storage volume is not communicatively coupled to the plurality of application virtual machines.

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

a loader of the plurality of loaders implements a Storage Area Network (SAN) client,

the encryption virtual machine implements a SAN target, and

the SAN client serves the application virtual machine with the decrypted application data sent to the loader from the SAN target.

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

the map file comprises an encryption key associated with the application virtual machine,

the map file maintains a mapping between the application virtual machine and the encryption key associated with the application virtual machine, and

the map file comprises a location of the application data in the storage volume.

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

the loader is communicatively coupled to both the application virtual machine and the encryption virtual machine, and

the loader is implemented in a virtual disk, the loader is a boot loader, and the virtual disk is an iPXE disk.

7. The computer-implemented method of claim 4 , wherein

the SAN client uses Internet Small Computer System Interface (iSCSI) protocol to send the request for the application data to the SAN target, and

the SAN target uses the iSCSI protocol to send the decrypted application data to the SAN client.

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

receive a request for application data, wherein

the application data is encrypted,

the request is received at an encryption virtual machine, and

the encryption virtual machine is configured to receive the request from a plurality of application virtual machines via a plurality of loaders;

access a map file to identify an application virtual machine of the plurality of application virtual machines for which the application data is requested;

access the application data in a storage volume, wherein

the storage volume is communicatively coupled to the encryption virtual machine, and

the encryption virtual machine is coupled between the plurality of application virtual machines and the storage volume,

receive the application data from the storage volume, wherein

the application data is decrypted at the encryption virtual machine to produce decrypted application data; and

send the decrypted application data to the plurality of loaders.

9. The computer-implemented method of claim 1 , further comprising:

requesting updated application data from the application virtual machine;

receiving the updated application data from the application virtual machine;

encrypting the updated application data at the encryption virtual machine, to form encrypted updated application data;

storing the encrypted updated application data in the storage volume; and

updating the map file.

10. The non-transitory computer readable storage medium of claim 8 , wherein

the storage volume is not communicatively coupled to the plurality of application virtual machines.

11. The non-transitory computer readable storage medium of claim 8 , wherein

a loader of the plurality of loaders implements a Storage Area Network (SAN) client,

the encryption virtual machine implements a SAN target, and

the SAN client serves the application virtual machine with the decrypted application data sent to the loader from the SAN target.

12. The non-transitory computer readable storage medium of claim 8 , wherein

the map file comprises an encryption key associated with the application virtual machine,

the map file maintains a mapping between the application virtual machine and the encryption key associated with the application virtual machine, and

the map file comprises a location of the application data in the storage volume.

13. The non-transitory computer readable storage medium of claim 11 , wherein

the loader is communicatively coupled to both the application virtual machine and the encryption virtual machine, and

the loader is implemented in a virtual disk, the loader is a boot loader, and the virtual disk is an iPXE disk.

14. The non-transitory computer readable storage medium of claim 11 , wherein

the SAN client uses Internet Small Computer System Interface (iSCSI) protocol to send the request for the application data to the SAN target, and

the SAN target uses the iSCSI protocol to send the decrypted application data to the SAN client.

15. A system comprising:

one or more hardware processors; and

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

receive a request for application data, wherein

the application data is encrypted,

the request is received at an encryption virtual machine, and

the encryption virtual machine is configured to receive the request from a plurality of application virtual machines, via a plurality of loaders;

access a map file to identify an application virtual machine of the plurality of application virtual machines for which the application data is requested;

access the application data in a storage volume, wherein

the storage volume is communicatively coupled to the encryption virtual machine, and

the encryption virtual machine is coupled between the plurality of application virtual machines and the storage volume,

receive the application data from the storage volume, wherein

the application data is decrypted at the encryption virtual machine to produce decrypted application data; and

send the decrypted application data to the plurality of loaders.

16. The system of claim 15 , further comprising:

requesting updated application data from the application virtual machine;

receiving the updated application data from the application virtual machine;

encrypting the updated application data at the encryption virtual machine, to form encrypted updated application data;

storing the encrypted updated application data in the storage volume; and

updating the map file.

17. The system of claim 15 , wherein

the storage volume is not communicatively coupled to the plurality of application virtual machines.

18. The system of claim 15 , wherein

a loader of the plurality of loaders implements a Storage Area Network (SAN) client,

the encryption virtual machine implements a SAN target, and

the SAN client serves the application virtual machine with the decrypted application data sent to the loader from the SAN target.

19. The system of claim 15 , wherein

the map file comprises an encryption key associated with the application virtual machine,

the map file maintains a mapping between the application virtual machine and the encryption key associated with the application virtual machine, and

the map file comprises a location of the application data in the storage volume.

20. The system of claim 18 , wherein

the loader is communicatively coupled to both the application virtual machine and the encryption virtual machine,

the loader is implemented in a virtual disk, the loader is a boot loader, and the virtual disk is an iPXE disk,

the SAN client uses Internet Small Computer System Interface (iSCSI) protocol to send the request for the application data to the SAN target, and

the SAN target uses the iSCSI protocol to send the decrypted application data to the SAN client.

Assignments (10)
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
Reel/Frame 069697/0238 →
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 INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 18, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 052189/0311 →
Continuity (1)
Continuation 14674205 · Mar 31, 2015