IP Library Granted Patent US 11,561,718
Granted Patent B2
US 11,561,718 · App. 17/214,147 · Granted Jan 24, 2023

In-place data recovery

Inventors: Benjamin Travis Meadowcroft (Lincoln, CA); Disheng Su (San Jose, CA); Li Ding (Cupertino, CA); Roman Konarev (Palo Alto, CA); Samir Rishi Chaudhry (Saratoga, CA); Shirong Wu (Fremont, CA); Tianpei Zhang (Palo Alto, CA); Wei Wang (Fremont, CA)
Assignee: Rubrik, Inc.
G06F3/065G06F3/0619G06F3/0664G06F9/45558G06F2009/45583
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,561,718
App. No.
17/214,147
Granted
Jan 24, 2023
Kind
B2
Abstract

An in-place data recovery method and system include receiving a user request to restore a virtual machine to a version corresponding to a first point in time, identifying a first snapshot of the virtual machine based on the user request, generating a second snapshot of the virtual machine, identifying a second data block in the second snapshot that includes modified data derived from data content of a first data block in the first snapshot, generating reverse incremental backup data including the first data block, and restoring the virtual machine in-place based on the reverse incremental backup data.

Claims (56)

1. A method, comprising:

receiving a user request to restore a virtual machine to a version corresponding to a first point in time, the virtual machine associated with a plurality of configuration properties;

identifying a first snapshot of the virtual machine based on the user request;

generating a second snapshot of the virtual machine, the second snapshot corresponding to a second point in time subsequent to the user request;

identifying a second data block in the second snapshot that includes modified data derived from data content of a first data block in the first snapshot;

generating reverse incremental backup data including the first data block; and

restoring the virtual machine in-place based on the reverse incremental backup data, a restored virtual machine associated with the plurality of configuration properties.

2. The method of claim 1 , wherein restoring the virtual machine in-place based on the reverse incremental backup data further comprises:

identifying a block offset associated with the second data block in a disk of the virtual machine; and

overwriting the second data block in the disk with the data content of the first data block based on the block offset.

3. The method of claim 1 , further comprising:

in response to receiving the user request, disconnecting the virtual machine from a virtual power source or a network of a primary storage platform hosting the virtual machine prior to generating the second snapshot.

4. The method of claim 3 , further comprising:

reconnecting the virtual machine to the virtual power source or the network of the primary storage platform upon restoring the virtual machine in-place based on the reverse incremental backup data.

5. The method of claim 3 , further comprising:

restoring the virtual machine in-place while the virtual machine is disconnected from the virtual power source or the network of the primary storage platform.

6. The method of claim 1 , further comprising:

upon restoring the virtual machine in-place, removing the second snapshot from a storage appliance associated with the virtual machine in absence of a user request to keep the second snapshot.

7. The method of claim 1 , wherein the plurality of configuration properties at least includes a number of CPUs, a size of memory, and a number of disks of the virtual machine.

8. The method of claim 1 , wherein identifying the first snapshot of the virtual machine based on the user request further comprises:

identifying the first snapshot based on an associated search index being included in the user request.

9. The method of claim 1 , wherein the first snapshot is a full snapshot or an incremental snapshot.

10. A system, comprising:

a memory storing instructions; and

one or more processors communicatively coupled to the memory and configured by the instructions to perform operations comprising:

receiving a user request to restore a virtual machine to a version corresponding to a first point in time, the virtual machine associated with a plurality of configuration properties;

identifying a first snapshot of the virtual machine based on the user request;

generating a second snapshot of the virtual machine, the second snapshot corresponding to a second point in time subsequent to the user request;

identifying a second data block in the second snapshot that includes modified data derived from data content of a first data block in the first snapshot;

generating reverse incremental backup data including the first data block; and

restoring the virtual machine in-place based on the reverse incremental backup data, a restored virtual machine associated with the plurality of configuration properties.

11. The system of claim 10 , the one or more processors configured by the instructions to perform operations further comprising:

identifying a block offset associated with the second data block in a disk of the virtual machine; and

overwriting the second data block in the disk with the data content of the first data block based on the block offset.

12. The system of claim 10 , the one or more processors configured by the instructions to perform operations further comprising:

in response to receiving the user request, disconnecting the virtual machine from a virtual power source or a network of a primary storage platform hosting the virtual machine prior to generating the second snapshot.

13. The system of claim 12 , the one or more processors configured by the instructions to perform operations further comprising:

reconnecting the virtual machine to the virtual power source or the network of the primary storage platform upon restoring the virtual machine in-place based on the reverse incremental backup data.

14. The system of claim 12 , the one or more processors configured by the instructions to perform operations further comprising:

restoring the virtual machine in-place while the virtual machine is disconnected from the virtual power source or the network of the primary storage platform.

15. The system of claim 10 , the one or more processors configured by the instructions to perform operations further comprising:

upon restoring the virtual machine in-place, removing the second snapshot from a storage appliance associated with the virtual machine in absence of a user request to keep the second snapshot.

16. The system of claim 10 , wherein the plurality of configuration properties at least includes a number of CPUs, a size of memory, and a number of disks of the virtual machine.

17. The system of claim 10 , wherein to identify the first snapshot of the virtual machine based on the user request, the one or more processors are configured by the instructions to perform operations further comprising:

identifying the first snapshot based on an associated search index being included in the user request.

18. The system of claim 10 , wherein the first snapshot is a full snapshot or an incremental snapshot.

19. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising:

receiving a user request to restore a virtual machine to a version corresponding to a first point in time, the virtual machine associated with a plurality of configuration properties;

identifying a first snapshot of the virtual machine based on the user request;

generating a second snapshot of the virtual machine, the second snapshot corresponding to a second point in time subsequent to the user request;

identifying a second data block in the second snapshot that includes modified data derived from data content of a first data block in the first snapshot;

generating reverse incremental backup data including the first data block; and

restoring the virtual machine in-place based on the reverse incremental backup data, a restored virtual machine associated with the plurality of configuration properties.

20. The non-transitory computer-readable storage medium of claim 19 , wherein causing the processing device to restore the virtual machine in-place based on the reverse incremental backup data further comprises:

identifying a block offset associated with the second data block in a disk of the virtual machine; and

overwriting the second data block in the disk with the data content of the first data block based on the block offset.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 60333/0323 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071565/0602 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 10, 2022
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 060333/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2021
From: MEADOWCROFT, BENJAMIN TRAVIS; SU, DISHENG; DING, LI; KONAREV, ROMAN; CHAUDHRY, SAMIR RISHI; WU, SHIRONG; ZHANG, TIANPEI; WANG, WEI
To: RUBRIK, INC.
Reel/Frame 055780/0418 →
Cited By (1)
US 12,299,309