IP Library Granted Patent US 12,260,211
Granted Patent B2
US 12,260,211 · App. 18/098,405 · Granted Mar 25, 2025

Container based application reification

Inventors: Ajaykrishna Raghavan (Santa Clara, CA); Tarun Thakur (Fremont, CA); Prasenjit Sarkar (Los Gatos, CA)
Assignee: Rubrik, Inc.
G06F8/71G06F9/44505
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,260,211
App. No.
18/098,405
Granted
Mar 25, 2025
Kind
B2
Abstract

Embodiments disclosed herein provide systems, methods, and computer readable media for container based application reification. In a particular embodiment, an application reification system is provided including one or more computer readable storage media and a processing system operatively coupled with the one or more computer readable storage media. The application reification system further includes program instructions stored on the one or more computer readable storage media that, when read and executed by the processing system, direct the processing system to preserve a version of application data at a first time and a configuration of an application at the first time. At a second time subsequent to the first time, the program instructions direct the processing system to create a template for a container containing the application in the configuration and a pointer to the version of the application data in a secondary storage repository.

Claims (49)

1. An application reification system comprising:

a processing system; and

one or more computer readable storage media, operatively coupled to the processing system, including program instructions that, when executed by the processing system, cause the processing system to:

preserve, at a secondary storage repository different from a host system, a backup of application data at a first time, the application data reflecting a state of an application at the first time, the application executing on the host system at the first time;

preserve, at the secondary storage repository, a backup of an application configuration of the application at the first time, the application configuration including information associated with execution of the application at the first time;

receive, at a second time subsequent to the first time, a request to reify the application, in the state corresponding to the first time, in a container on a target system;

create a container template, the container template including information associated with instantiating the container executing the application at the state corresponding to the first time based at least in part on the backup of the application configuration and an indication of a version of the backup of application data that corresponds to the first time; and

in response to the request:

provide the container template to the target system for reifying the application, in the state corresponding to the first time, in the container; and

instantiate, based at least in part upon the container template, the container executing the application in the state corresponding to the first time on the target system, wherein, upon execution, the application is reified based at least in part upon the version of the backup of application data and the backup of the application configuration.

2. The application reification system of claim 1 , wherein the indication of the version of the backup of application data comprises a pointer to the application data stored in the secondary storage repository.

3. The application reification system of claim 1 , wherein the target system is the host system.

4. The application reification system of claim 1 , wherein the application configuration includes parameters of the application to replicate processing results of the application corresponding to the first time.

5. The application reification system of claim 1 , wherein the program instructions, when executed by the processing system, cause the processing system to:

perform a data integrity check on the backup of application data.

6. The application reification system of claim 1 , wherein the program instructions, when executed by the processing system, cause the processing system to:

provide an amount of computing resources to reify the application in the container on the target system, wherein the amount of computing resources is equal to or scaled from a production environment for the application.

7. The application reification system of claim 1 , wherein the application is executing within a host container on the host system, and the application configuration includes parameters related to computing elements associated with the host container.

8. A method of application reification, the method comprising:

preserving, at a secondary storage repository different from a host system, a backup of application data at a first time, the application data reflecting a state of an application at the first time, the application executing on the host system at the first time;

preserving, at the secondary storage repository, a backup of an application configuration of the application at the first time, the application configuration including information associated with execution of the application at the first time;

receiving, at a second time subsequent to the first time, a request to reify the application, in the state corresponding to the first time, in a container on a target system;

creating a container template, the container template including information associated with instantiating the container executing the application at the state corresponding to the first time based at least in part on the backup of the application configuration and an indication of a version of the backup of application data that corresponds to the first time; and

in response to the request:

providing the container template to the target system for reifying the application, in the state corresponding to the first time, in the container; and

instantiating, based at least in part upon the container template, the container executing the application in the state corresponding to the first time on the target system, wherein, upon execution, the application is reified based at least in part upon the version of the backup of application data and the backup of the application configuration.

9. The method of claim 8 , wherein the indication of the version of the backup of application data comprises a pointer to the application data stored in the secondary storage repository.

10. The method of claim 8 , wherein the target system is the host system.

11. The method of claim 8 , wherein the application configuration includes parameters of the application to replicate processing results of the application corresponding to the first time.

12. The method of claim 8 , further comprising:

performing a data integrity check on the backup of application data.

13. The method of claim 8 , further comprising:

providing an amount of computing resources to reify the application in the container on the target system, wherein the amount of computing resources is equal to or scaled from a production environment for the application.

14. The method of claim 8 , wherein the application is executing within a host container on the host system, and the application configuration includes parameters related to computing elements associated with the host container.

15. One or more non-transitory computer-readable storage media including instructions that, when executed by a processing system, cause the processing system to:

preserve, at a secondary storage repository different from a host system, a backup of application data at a first time, the application data reflecting a state of an application at the first time, the application executing on the host system at the first time;

preserve, at the secondary storage repository, a backup of an application configuration of the application at the first time, the application configuration including information associated with execution of the application at the first time;

receive, at a second time subsequent to the first time, a request to reify the application, in the state corresponding to the first time, in a container on a target system;

create a container template, the container template including information associated with instantiating the container executing the application at the state corresponding to the first time based at least in part on the backup of the application configuration and an indication of a version of the backup of application data that corresponds to the first time; and

in response to the request:

provide the container template to the target system for reifying the application, in the state corresponding to the first time, in the container; and

instantiate, based at least in part upon the container template, the container executing the application in the state corresponding to the first time on the target system, wherein, upon execution, the application is reified based at least in part upon the version of the backup of application data and the backup of the application configuration.

16. The one or more non-transitory computer-readable storage media of claim 15 , wherein the target system is the host system.

17. The one or more non-transitory computer-readable storage media of claim 15 , wherein the application configuration includes parameters of the application to replicate processing results of the application corresponding to the first time.

18. The one or more non-transitory computer-readable storage media of claim 15 , wherein the instructions, when executed by the processing system, cause the processing system to:

perform a data integrity check on the backup of application data.

19. The one or more non-transitory computer-readable storage media of claim 15 , wherein the instructions, when executed by the processing system, cause the processing system to:

provide an amount of computing resources to reify the application in the container on the target system, wherein the amount of computing resources is equal to or scaled from a production environment for the application.

20. The one or more non-transitory computer-readable storage media of claim 15 , wherein the application is executing within a host container on the host system, and the application configuration includes parameters related to computing elements associated with the host container.

Assignments (4)
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 Feb 15, 2023
From: RAGHAVAN, AJAYKRISHNA; THAKUR, TARUN; SARKAR, PRASENJIT
To: DATOS IO INC.
Reel/Frame 062713/0622 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2023
From: DATOS IO INC.
To: RUBRIK, INC.
Reel/Frame 062713/0646 →
Continuity (7)
Continuation 16892508 · Jun 4, 2020
Continuation 16691979 · Nov 22, 2019
Continuation 16453214 · Jun 26, 2019
Continuation 16392752 · Apr 24, 2019
Continuation 14975084 · Dec 18, 2015
Provisional Application 62093788 · Dec 18, 2014
Related Publication 20230229437A1 · Jul 20, 2023
References Cited (28)
US 6678882B1 · Hurley · 2004 [cited by examiner]
US 8069435B1 · Lai · 2011 [cited by examiner]
US 8346929B1 · Lai · 2013 [cited by examiner]
US 9690795B1 · McGrath · 2017 [cited by examiner]
US 10379843B2 · Raghavan · 2019 [cited by examiner]
US 10579369B2 · Raghavan · 2020 [cited by examiner]
US 10656937B2 · Raghavan · 2020 [cited by examiner]
US 11010157B2 · Raghavan · 2021 [cited by examiner]
US 11016761B2 · Raghavan · 2021 [cited by examiner]
US 11048501B2 · Raghavan · 2021 [cited by examiner]
US 11567757B2 · Raghavan · 2023 [cited by examiner]
US 20030101245A1 · Srinivasan · 2003 [cited by examiner]
US 20040139424A1 · Mourachov · 2004 [cited by examiner]
US 20050131870A1 · Krishnaswamy · 2005 [cited by examiner]
US 20060130120A1 · Brandyberry · 2006 [cited by examiner]
US 20060236068A1 · Li · 2006 [cited by examiner]
US 20070028069A1 · Sarkar · 2007 [cited by examiner]
US 20070283119A1 · Sarkar · 2007 [cited by examiner]
US 20080072235A1 · Rodgers · 2008 [cited by examiner]
US 20100325500A1 · Bashir · 2010 [cited by examiner]
US 20120005255A1 · Cherukuri · 2012 [cited by examiner]
US 20130055145A1 · Antony · 2013 [cited by examiner]
US 20150161155A1 · Pletcher · 2015 [cited by examiner]
US 20160179509A1 · Raghavan · 2016 [cited by examiner]
US 20190250909A1 · Raghavan · 2019 [cited by examiner]
US 20190317758A1 · Raghavan · 2019 [cited by examiner]
US 20200089490A1 · Raghavan · 2020 [cited by examiner]
US 20210089298A1 · Raghavan · 2021 [cited by examiner]