IP Library Granted Patent US 12,487,893
Granted Patent B2
US 12,487,893 · App. 17/879,729 · Granted Dec 2, 2025

Techniques for using data backup and disaster recovery configurations for application management

Inventors: Abhishek Kumar (San Jose, CA); Muraliraja Muniraju (Fremont, CA); Shuhan Chen (Sunnyvale, CA); Oluwasoji Omiwade (Santa Clara, CA); Junchao Zhang (Newark, CA)
Assignee: Rubrik, Inc.
G06F11/1464G06F9/45558G06F2009/4557G06F2009/45583G06F2201/815
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 12,487,893
App. No.
17/879,729
Granted
Dec 2, 2025
Kind
B2
Abstract

A data management platform may group a first instance of a set of virtual machines into a backup group for performing a backup of data from a source data storage environment to a target data storage environment in accordance with a backup configuration. The data management platform may receive, from a user, an input to create a second instance of the set of virtual machines at the target data storage environment. In some examples, data backed up to the target data storage environment from the first instance may be configured as a source for the second instance. The data management platform may instantiate, in response to receiving the input, the second instance of the set of virtual machines using the backup configuration for the first instance of the set of virtual machines and the data backed up to the target data storage environment.

Claims (57)

1 . A method, comprising:

receiving, from a user of a data management platform, a backup configuration defining a first plurality of virtual machines as part of a common application, the first plurality of virtual machines configured to run one or more applications;

grouping a first instance of the first plurality of virtual machines into a backup group for performing a backup of data from a source data storage environment to a target data storage environment in accordance with the backup configuration;

receiving, from the user of the data management platform, an input to create a second instance comprising a second plurality of virtual machines at the target data storage environment, the second plurality of virtual machines configured to run one or more applications, wherein data backed up to the target data storage environment from the first instance of the first plurality of virtual machines is configured as a source for the second instance of the second plurality of virtual machines; and

instantiating, in response to receiving the input, the second instance of the second plurality of virtual machines using the backup configuration for the first instance of the first plurality of virtual machines and the data backed up to the target data storage environment, wherein the second plurality of virtual machines is configured to run independently from the first plurality of virtual machines and comprises a replica of the first plurality of virtual machines.

2 . The method of claim 1 , further comprising:

receiving, from the user of the data management platform, a second input to delete the second instance of the second plurality of virtual machines at the target data storage environment; and

deleting, in response to receiving the second input, the second instance of the second plurality of virtual machines from the target data storage environment.

3 . The method of claim 2 , further comprising:

identifying, in response to receiving the second input, a set of configurations associated with the second instance of the second plurality of virtual machines and metadata associated with the second instance of the second plurality of virtual machines, wherein deleting the second instance of the second plurality of virtual machines comprises deleting the set of configurations associated with the second instance of the second plurality of virtual machines and the metadata associated with the second instance of the second plurality of virtual machines.

4 . The method of claim 1 , further comprising:

receiving, from the user of the data management platform, a second input to delete a subset of the first plurality of virtual machines from the second instance of the second plurality of virtual machines at the target data storage environment; and

deleting, in response to receiving the second input, the subset of the first plurality of virtual machines from the target data storage environment.

5 . The method of claim 1 , further comprising:

receiving, from the user of the data management platform, a request to recover the data from the target data storage environment; and

recovering, in response to receiving the request, the data from the target data storage environment in accordance with the backup configuration.

6 . The method of claim 1 , further comprising:

receiving, from the user of the data management platform, a second input to create a third instance of a subset of the first plurality of virtual machines at the target data storage environment; and

instantiating, in response to receiving the second input, the third instance of the subset of the first plurality of virtual machines using the backup configuration for the first instance of the first plurality of virtual machines and the data backed up to the target data storage environment.

7 . The method of claim 1 , further comprising:

receiving, from the user of the data management platform, the backup configuration for the first plurality of virtual machines.

8 . The method of claim 7 , wherein the backup configuration comprises at least one of compute resources for the target data storage environment, datastore resource for the target data storage environment, network configuration for the target data storage environment, one or more post scripts, a delay between priority groups of data, or a combination thereof.

9 . The method of claim 1 , wherein the first instance of the first plurality of virtual machines is independent of the second instance of the second plurality of virtual machines.

10 . An apparatus, comprising:

a processor;

memory coupled with the processor; and

instructions stored in the memory and executable by the processor to cause the apparatus to:

receive, from a user of a data management platform, a backup configuration defining a first plurality of virtual machines as part of a common application, the first plurality of virtual machines configured to run one or more applications;

group a first instance of the first plurality of virtual machines into a backup group for performing a backup of data from a source data storage environment to a target data storage environment in accordance with the backup configuration;

receive, from the user of the data management platform, an input to create a second instance comprising a second plurality of virtual machines at the target data storage environment, the second plurality of virtual machines configured to run one or more applications, wherein data backed up to the target data storage environment from the first instance of the first plurality of virtual machines is configured as a source for the second instance of the second plurality of virtual machines; and

instantiate, in response to receiving the input, the second instance of the second plurality of virtual machines using the backup configuration for the first instance of the first plurality of virtual machines and the data backed up to the target data storage environment, wherein the second plurality of virtual machines is configured to run independently from the first plurality of virtual machines and comprises a replica of the first plurality of virtual machines.

11 . The apparatus of claim 10 , wherein the instructions are further executable by the processor to cause the apparatus to:

receive, from the user of the data management platform, a second input to delete the second instance of the second plurality of virtual machines at the target data storage environment; and

delete, in response to receiving the second input, the second instance of the second plurality of virtual machines from the target data storage environment.

12 . The apparatus of claim 11 , wherein the instructions are further executable by the processor to cause the apparatus to:

identify, in response to receiving the second input, a set of configurations associated with the second instance of the second plurality of virtual machines and metadata associated with the second instance of the second plurality of virtual machines, wherein deleting the second instance of the second plurality of virtual machines comprises deleting the set of configurations associated with the second instance of the second plurality of virtual machines and the metadata associated with the second instance of the second plurality of virtual machines.

13 . The apparatus of claim 10 , wherein the instructions are further executable by the processor to cause the apparatus to:

receive, from the user of the data management platform, a second input to delete a subset of the first plurality of virtual machines from the second instance of the second plurality of virtual machines at the target data storage environment; and

delete, in response to receiving the second input, the subset of the first plurality of virtual machines from the target data storage environment.

14 . The apparatus of claim 10 , wherein the instructions are further executable by the processor to cause the apparatus to:

receive, from the user of the data management platform, a request to recover the data from the target data storage environment; and

recover, in response to receiving the request, the data from the target data storage environment in accordance with the backup configuration.

15 . The apparatus of claim 10 , wherein the instructions are further executable by the processor to cause the apparatus to:

receive, from the user of the data management platform, a second input to create a third instance of a subset of the first plurality of virtual machines at the target data storage environment; and

instantiate, in response to receiving the second input, the third instance of the subset of the first plurality of virtual machines using the backup configuration for the first instance of the first plurality of virtual machines and the data backed up to the target data storage environment.

16 . The apparatus of claim 10 , wherein the instructions are further executable by the processor to cause the apparatus to:

receive, from the user of the data management platform, the backup configuration for the first plurality of virtual machines.

17 . The apparatus of claim 16 , wherein the backup configuration comprises at least one of compute resources for the target data storage environment, datastore resource for the target data storage environment, network configuration for the target data storage environment, one or more post scripts, a delay between priority groups of data, or a combination thereof.

18 . The apparatus of claim 10 , wherein the first instance of the first plurality of virtual machines is independent of the second instance of the second plurality of virtual machines.

19 . A non-transitory computer-readable medium storing code, the code comprising instructions executable by a processor to:

receive, from a user of a data management platform, a backup configuration defining a first plurality of virtual machines as part of a common application, the first plurality of virtual machines configured to run one or more applications;

group a first instance of the first plurality of virtual machines into a backup group for performing a backup of data from a source data storage environment to a target data storage environment in accordance with the backup configuration;

receive, from the user of the data management platform, an input to create a second instance comprising a second plurality of virtual machines at the target data storage environment, the second plurality of virtual machines configured to run one or more applications, wherein data backed up to the target data storage environment from the first instance of the first plurality of virtual machines is configured as a source for the second instance of the second plurality of virtual machines; and

instantiate, in response to receiving the input, the second instance of the second plurality of virtual machines using the backup configuration for the first instance of the first plurality of virtual machines and the data backed up to the target data storage environment, wherein the second plurality of virtual machines is configured to run independently from the first plurality of virtual machines and comprises a replica of the first plurality of virtual machines.

20 . The non-transitory computer-readable medium of claim 19 , wherein the instructions are further executable by the processor to:

receive, from the user of the data management platform, a second input to delete the second instance of the second plurality of virtual machines at the target data storage environment; and

delete, in response to receiving the second input, the second instance of the second plurality of virtual machines from the target data storage environment.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 64659/0236 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071566/0187 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Aug 21, 2023
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 064659/0236 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2022
From: KUMAR, ABHISHEK; MUNIRAJU, MURALIRAJA; CHEN, SHUHAN; OMIWADE, OLUWASOJI; ZHANG, JUNCHAO
To: RUBRIK, INC.
Reel/Frame 060702/0491 →
Continuity (1)
Related Publication 20240045770A1 · Feb 8, 2024
References Cited (10)
US 10204019B1 · Talley · 2019 [cited by examiner]
US 10417099B1 · Yadav · 2019 [cited by examiner]
US 20100138830A1 · Astete · 2010 [cited by examiner]
US 20150095424A1 · Shimada · 2015 [cited by examiner]
US 20150378765A1 · Singh · 2015 [cited by examiner]
US 20160092266A1 · Bavishi · 2016 [cited by examiner]
US 20160170793A1 · Decusatis · 2016 [cited by examiner]
US 20190294477A1 · Koppes · 2019 [cited by examiner]
US 20190324785A1 · Weissman · 2019 [cited by examiner]
US 20200019469A1 · Khan · 2020 [cited by examiner]