IP Library Granted Patent US 11,397,649
Granted Patent B2
US 11,397,649 · App. 16/660,623 · Granted Jul 26, 2022

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/45562G06F2009/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,397,649
App. No.
16/660,623
Granted
Jul 26, 2022
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 (44)

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;

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 contents of the full snapshot that is stored on the one or more cloud storage volumes, wherein the one or more cloud storage volumes are torn down after the initial standby version of the virtual machine is generated;

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 the 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 one or more cloud storage volumes are attached to a cloud instance.

11. The method of claim 10 , wherein data associated with the initial standby version of the virtual machine is stored in the one or more cloud storage volumes.

12. The method of claim 11 , 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.

13. 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;

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 contents of the full snapshot that is stored on the one or more cloud storage volumes, wherein the one or more cloud storage volumes are torn down after the initial standby version of the virtual machine is generated;

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.

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 data associated with the incremental snapshot to the one or more cloud storage volumes.

15. The computer program product of claim 14 , 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.

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

17. The computer program product of claim 16 , further comprising 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.

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;

provide 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 contents of the full snapshot that is stored on the one or more cloud storage volumes, wherein the one or more cloud storage volumes are torn down after the initial standby version of the virtual machine is generated;

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.

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 Dec 16, 2019
From: SHARMA, NAMIT; GUPTA, VIPIN
To: COHESITY, INC.
Reel/Frame 051297/0934 →
Continuity (1)
Related Publication 20210117295A1 · Apr 22, 2021
Cited By (1)
US 12,282,397