IP Library Granted Patent US 11,016,761
Granted Patent B2
US 11,016,761 · App. 17/132,821 · Granted May 25, 2021

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 11,016,761
App. No.
17/132,821
Granted
May 25, 2021
Kind
B2
Abstract

Embodiments disclosed herein provide systems, methods, and machine-readable media for container-based application reification. In an example embodiment, an application reification system preserves a version of application data at a first time and a configuration of an application at the first time. At a second time, the application reification system creates 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 (47)

1. An application reification system comprising:

a processor; and

a memory including instructions which, when executed by the processor, cause the processor to perform operations comprising:

preserving a version of application data at a first time, the version of application data including a copy of a state of an application at the first time, the application executing natively on a host system separate from the application reification system;

preserving 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;

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

in response to the request:

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, the container template including the application configuration of the application at the first time and a pointer to the version of the application data stored in a secondary storage repository; and

providing the container template to the host system for:

reifying the application at the state corresponding to the first time in the container, the host system providing an amount of computing resources to reify the application at the state corresponding to the first time in the container, the amount of computing resources equal to or scaled from a production environment for the application at the first time; and

instantiating, based on the container template, the container executing the application at the state corresponding to the first time.

2. The application reification system of claim 1 , wherein the operations further comprise:

identifying one or more data items that have changed since a previous version of the application data was created; and

creating the version of the application data from the one or more data items.

3. 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.

4. The application reification system of claim 1 , wherein the operations further comprise:

performing data integrity checks on the version of the application data.

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

preserving, by an application reification system, a version of application data at a first time, the version of application data including a copy of a state of an application at the first time, the application executing natively on a host system separate from the application reification system;

preserving 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;

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

in response to the request:

creating, by the application reification system, a container template, the container template including information associated with instantiating the container executing the application at the state corresponding to the first time, the container template including the application configuration of the application at the first time and a pointer to the version of the application data stored in a secondary storage repository; and

providing the container template to the host system for:

reifying the application at the state corresponding to the first time in the container, the host system providing an amount of computing resources to reify the application at the state corresponding to the first time in the container, the amount of computing resources equal to or scaled from a production environment for the application at the first time; and

instantiating, based on the container template, the container executing the application at the state corresponding to the first time.

6. The method of claim 5 , further comprising:

identifying one or more data items that have changed since a previous version of the application data was created; and

creating the version of the application data from the one or more data items.

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

8. The method of claim 5 , further comprising:

performing data integrity checks on the version of the application data.

9. A non-transitory machine-readable storage medium containing instructions that, when read by a machine, cause the machine to perform operations comprising:

preserving a version of application data at a first time, the version of application data including a copy of a state of an application at the first time, the application executing natively on a host system separate from an application reification system;

preserving 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;

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

in response to the request:

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, the container template including the application configuration of the application at the first time and a pointer to the version of the application data stored in a secondary storage repository; and

providing the container template to the host system for:

reifying the application at the state corresponding to the first time in the container, the host system providing an amount of computing resources to reify the application at the state corresponding to the first time in the container, the amount of computing resources equal to or scaled from a production environment for the application at the first time; and

instantiating, based on the container template, the container executing the application at the state corresponding to the first time.

10. The non-transitory machine-readable storage medium of claim 9 , wherein the operations further comprise:

identifying one or more data items that have changed since a previous version of the application data was created; and

creating the version of the application data from the one or more data items.

11. The non-transitory machine-readable storage medium of claim 9 , wherein the application configuration includes parameters of the application to replicate processing results of the application corresponding to the first time.

12. The non-transitory machine-readable storage medium of claim 9 , wherein the operations further comprise:

performing data integrity checks on the version of the application data.

Assignments (4)
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 Feb 11, 2021
From: DATOS IO INC.
To: RUBRIK, INC.
Reel/Frame 055232/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: RAGHAVAN, AJAY; THAKUR, TARUN; SARKAR, PRASENJIT
To: DATOS IO INC.
Reel/Frame 055232/0467 →
Cited By (1)
US 12,260,211