IP Library Granted Patent US 10,275,321
Granted Patent B1
US 10,275,321 · App. 15/991,766 · Granted Apr 30, 2019

Backup and restore of linked clone VM

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,275,321
App. No.
15/991,766
Granted
Apr 30, 2019
Kind
B1
Abstract

A request associated with restoring a previous version of a linked clone virtual machine is received. One or more changes between a base image of a parent virtual machine and the previous version of the linked clone virtual machine are determined. One or more data blocks corresponding to the base image and one or more data blocks corresponding to the determined changes are provided to a remote system.

Claims (45)

1. A system, comprising:

a processor configured to:

receive from a primary system a base image of a parent virtual machine;

store the base image of the parent virtual machine across one or more nodes;

generate a snapshot tree corresponding to the base image of the parent virtual machine;

generate a snapshot tree associated with a previous version of a linked clone virtual machine;

receive one or more images of the linked clone virtual machine, wherein the one or more images of the linked clone virtual machine corresponding to a particular version of the linked clone virtual machine;

generate one or more corresponding snapshot trees for the one or more images of the linked clone virtual machine, wherein at least one of the one or more corresponding snapshot trees is generated in part by cloning the snapshot tree corresponding to the base image of the parent virtual machine;

receive a request associated with restoring the previous version of the linked clone virtual machine, wherein the linked clone virtual machine is linked to the parent virtual machine;

determine one or more changes between the base image of the parent virtual machine and the previous version of the linked clone virtual machine based at least in part on the snapshot tree corresponding to the base image of the parent virtual machine and the snapshot tree associated with the previous version of the linked clone virtual machine; and

provide to a remote system one or more data blocks corresponding to the base image of the parent virtual machine and one or more data blocks corresponding to the determined changes; and

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

2. The system of claim 1 , wherein the determined one or more changes are determined based in part on a view identifier associated with the snapshot tree corresponding to the base image of the parent virtual machine and a view identifier associated with the snapshot tree associated with the previous version of the linked clone virtual machine.

3. The system of claim 1 , wherein the snapshot tree corresponding to the base image of the parent virtual machine is linked to the one or more corresponding snapshot trees for the one or more images of the linked clone virtual machine.

4. The system of claim 1 , wherein the processor is configured to determine the one or more changes between the base image of the parent virtual machine and the previous version of the linked clone virtual machine at least in part by:

traversing the snapshot tree corresponding to the base image of the parent virtual machine;

traversing the snapshot tree associated with the previous version of the linked clone virtual machine; and

determining one or more nodes that are not shared between the snapshot tree associated with the base image of the parent virtual machine and the snapshot tree associated with the previous version of the linked clone virtual machine.

5. The system of claim 4 , wherein the snapshot tree corresponding to the base image of the parent virtual machine includes a root node, one or more levels of one or more intermediate nodes, and a plurality of leaf nodes.

6. The system of claim 4 , wherein at least one node of the snapshot tree associated with the previous version of the linked clone virtual machine references at least one node of the snapshot tree corresponding to the base image of the parent virtual machine.

7. The system of claim 1 , wherein the remote system is configured to:

receive the one or more data blocks corresponding to the base image and one or more data blocks corresponding to the determined changes; and

apply the one or more data blocks corresponding to the determined changes to the one or more data blocks corresponding to the base image.

8. A method, comprising:

receiving from a primary system a base image of a parent virtual machine;

storing the base image of the parent virtual machine across one or more nodes;

generating a snapshot tree corresponding to the base image of the parent virtual machine;

generating a snapshot tree associated with a previous version of a linked clone virtual machine;

receiving one or more images of the linked clone virtual machine, wherein the one or more images of the linked clone virtual machine corresponding to a particular version of the linked clone virtual machine;

generating one or more corresponding snapshot trees for the one or more images of the linked clone virtual machine, wherein at least one of the one or more corresponding snapshot trees is generated in part by cloning the snapshot tree corresponding to the base image of the parent virtual machine;

receiving a request associated with restoring the previous version of the linked clone virtual machine, wherein the linked clone virtual machine is linked to the parent virtual machine;

determining one or more changes between the base image of the parent virtual machine and the previous version of the linked clone virtual machine based at least in part on the snapshot tree corresponding to the base image of the parent virtual machine and the snapshot tree associated with the previous version of the linked clone virtual machine; and

providing to a remote system one or more data blocks corresponding to the base image of the parent virtual machine and one or more data blocks corresponding to the determined changes.

9. The method of claim 8 , wherein the determined one or more changes are determined based in part on a view identifier associated with the snapshot tree corresponding to the base image of the parent virtual machine and a view identifier the snapshot tree associated with the previous version of the linked clone virtual machine.

10. The method of claim 8 , wherein the snapshot tree corresponding to the base image of the parent virtual machine is linked to the one or more corresponding snapshot trees for the one or more images of the linked clone virtual machine.

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

receiving from a primary system a base image of a parent virtual machine;

storing the base image of the parent virtual machine across one or more nodes;

generating a snapshot tree corresponding to the base image of the parent virtual machine;

generating a snapshot tree associated with a previous version of a linked clone virtual machine;

receiving one or more images of the linked clone virtual machine, wherein the one or more images of the linked clone virtual machine corresponding to a particular version of the linked clone virtual machine;

generating one or more corresponding snapshot trees for the one or more images of the linked clone virtual machine, wherein at least one of the one or more corresponding snapshot trees is generated in part by cloning the snapshot tree corresponding to the base image of the parent virtual machine;

receiving a request associated with restoring the previous version of the linked clone virtual machine, wherein the linked clone virtual machine is linked to the parent virtual machine;

determining one or more changes between the base image of the parent virtual machine and the previous version of the linked clone virtual machine based at least in part on the snapshot tree corresponding to the base image of the parent virtual machine and the snapshot tree associated with the previous version of the linked clone virtual machine; and

providing to a remote system one or more data blocks corresponding to the base image of the parent virtual machine and one or more data blocks corresponding to the determined changes.

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 Jul 23, 2018
From: BAJAJ, RUPESH
To: COHESITY, INC.
Reel/Frame 046432/0663 →
Cited By (6)
US 12,259,798 US 12,282,397 US 12,287,758 US 12,405,859 US 12,650,951 US 12,711,239