IP Library Granted Patent US 11,822,440
Granted Patent B2
US 11,822,440 · App. 17/845,138 · Granted Nov 21, 2023

Generating standby cloud versions of a virtual machine

Inventors: Namit Sharma (San Jose, CA); Vipin Gupta (Cupertino, CA)
Assignee: Cohesity, Inc.
G06F11/1484G06F9/45558G06F11/0709G06F11/1451G06F11/1464G06F11/1469G06F2009/4557G06F2009/45562G06F2009/45583G06F2009/45595G06F2201/84
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 11,822,440
App. No.
17/845,138
Granted
Nov 21, 2023
Kind
B2
Abstract

Contents of a virtual machine of a primary storage are received at a first point in time. A full snapshot of the virtual machine is stored on a secondary storage using the received contents of the virtual machine. One or more cloud storage volumes of the virtual machine are caused to be created. Contents of the full snapshot for storage on the one or more cloud storage volumes are provided from the secondary storage. Changed data of the virtual machine of the primary storage is received at a second point in time. An incremental snapshot of the virtual machine is stored using the received changed data. The one or more cloud storage volumes are updated using the incremental snapshot of the virtual machine. An image of at least one of the cloud storage volumes is caused to be created for standby deployment of another instance of the virtual machine.

Claims (46)

1. A method, comprising:

receiving contents of a virtual machine of a primary storage at a first point in time;

storing a full snapshot of the virtual machine on a secondary storage using the received contents of the virtual machine;

causing a creation of one or more cloud storage volumes of the virtual machine, wherein one or more cloud storage volumes are attached to a cloud instance;

providing from the secondary storage contents of the full snapshot for storage on the one or more cloud storage volumes, wherein an initial standby version of the virtual machine is generated based on the full snapshot, wherein data associated with the initial standby version of the virtual machine is stored in the one or more cloud storage volumes;

receiving changed data of the virtual machine of the primary storage at a second point in time;

storing an incremental snapshot of the virtual machine on the secondary storage using the received changed data;

updating the one or more cloud storage volumes using the incremental snapshot of the virtual machine; and

causing an image of at least one of the cloud storage volumes to be created for standby deployment of another instance of the virtual machine.

2. The method of claim 1 , wherein updating the one or more cloud storage volumes using the incremental snapshot of the virtual machine includes providing data associated with the incremental snapshot to the one or more cloud storage volumes.

3. The method of claim 2 , wherein updating the one or more cloud storage volumes using the incremental snapshot of the virtual machine includes providing file offset information associated with the provided data.

4. The method of claim 3 , wherein the one or more cloud storage volumes are updated based on the provided data and the provided file offset information.

5. The method of claim 4 , further comprising generating corresponding snapshots of the one or more cloud storage volumes.

6. The method of claim 5 , wherein the image and corresponding snapshots of the one or more cloud storage volumes are stored in a cloud object storage.

7. The method of claim 1 , wherein the one or more cloud storage volumes are torn down after a standby version of the virtual machine is generated.

8. The method of claim 1 , further comprising determining one or more differences between a first version of the virtual machine corresponding to the full snapshot and a second version of the virtual machine corresponding to the incremental snapshot.

9. The method of claim 1 , wherein the initial standby version of the virtual machine is stored in a cloud object storage.

10. The method of claim 1 , wherein the initial standby version of the virtual machine is generated by taking a first snapshot of a storage volume corresponding to virtual machine boot data and a second snapshot of a storage volume corresponding to virtual machine data.

11. The method of claim 1 , wherein updating the one or more cloud storage volumes using the incremental snapshot of the virtual machine includes applying the received changed data to the initial standby version of the virtual machine stored in the one or more cloud storage volumes.

12. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving contents of a virtual machine of a primary storage at a first point in time;

storing a full snapshot of the virtual machine on a secondary storage using the received contents of the virtual machine;

causing a creation of one or more cloud storage volumes of the virtual machine, wherein one or more cloud storage volumes are attached to a cloud instance;

providing from the secondary storage contents of the full snapshot for storage on the one or more cloud storage volumes, wherein an initial standby version of the virtual machine is generated based on the full snapshot, wherein data associated with the initial standby version of the virtual machine is stored in the one or more cloud storage volumes;

receiving changed data of the virtual machine of the primary storage at a second point in time;

storing an incremental snapshot of the virtual machine on the secondary storage using the received changed data;

updating the one or more cloud storage volumes using the incremental snapshot of the virtual machine; and

causing an image of at least one of the cloud storage volumes to be created for standby deployment of another instance of the virtual machine.

13. The computer program product of claim 12 , wherein updating the one or more cloud storage volumes using the incremental snapshot of the virtual machine includes providing data associated with the incremental snapshot to the one or more cloud storage volumes.

14. The computer program product of claim 13 , wherein updating the one or more cloud storage volumes using the incremental snapshot of the virtual machine includes providing file offset information associated with the provided data.

15. The computer program product of claim 14 , wherein the one or more cloud storage volumes are updated based on the provided data and the provided file offset information.

16. The computer program product of claim 15 , further comprising computer instructions for generating corresponding snapshots of the one or more cloud storage volumes, wherein the image and corresponding snapshots of the one or more cloud storage volumes are stored in a cloud object storage.

17. The computer program product of claim 12 , further comprising computer instructions for determining one or more differences between a first version of the virtual machine corresponding to the full snapshot and a second version of the virtual machine corresponding to the incremental snapshot.

18. A system, comprising:

a processor configured to:

receive contents of a virtual machine of a primary storage at a first point in time;

store a full snapshot of the virtual machine using the received contents of the virtual machine;

cause a creation of one or more cloud storage volumes of the virtual machine, wherein one or more cloud storage volumes are attached to a cloud instance;

provide from a secondary storage contents of the full snapshot for storage on the one or more cloud storage volumes, wherein an initial standby version of the virtual machine is generated based on the full snapshot, wherein data associated with the initial standby version of the virtual machine is stored in the one or more cloud storage volumes;

receive changed data of the virtual machine of the primary storage at a second point in time;

store an incremental snapshot of the virtual machine using the received changed data;

update the one or more cloud storage volumes using the incremental snapshot of the virtual machine; and

cause an image of at least one of the cloud storage volumes to be created for standby deployment of another instance of the virtual machine; and

a memory coupled to the processor and configured to provide the processor with instructions.

19. The system of claim 18 , wherein to update the one or more cloud storage volumes using the incremental snapshot of the virtual machine, the processor is configured to provide data associated with the incremental snapshot to the one or more cloud storage volumes.

20. The system of claim 19 , wherein to update the one or more cloud storage volumes using the incremental snapshot of the virtual machine, the processor is configured to provide file offset information associated with the provided data.

Assignments (4)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2022
From: SHARMA, NAMIT; GUPTA, VIPIN
To: COHESITY, INC.
Reel/Frame 060849/0084 →
Continuity (2)
Continuation 16660623 · Oct 22, 2019
Related Publication 20220382575A1 · Dec 1, 2022
Cited By (1)
US 12,282,397