IP Library Granted Patent US 10,656,937
Granted Patent B2
US 10,656,937 · App. 16/453,214 · Granted May 19, 2020

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 10,656,937
App. No.
16/453,214
Granted
May 19, 2020
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 (67)

1. An application reification system comprising: one or more computer readable storage media;

a processing system comprising a processor operatively coupled with the one or more computer readable storage media; and

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, the version of application data including a copy of a state of an application at the first time, the application executing on a host system separate from the application reification system;

preserve an application configuration of the application at the first time, the application configuration including information associated with the execution of the application at the first time;

at a second time subsequent to the first time, receive, from the host system, 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:

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, 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

instantiate, based on the created container template, the container executing the application at the state corresponding to the first time;

copy the instantiated container on the application reification system; and

provide the container template to the host system for reifying the application at the state corresponding to the first time in the container by using the application data stored in the second storage repository.

2. The application reification system of claim 1 , wherein the application data comprises a database of data items stored in a primary storage repository and wherein the program instructions to direct the processing system to preserve the version of the application data at a first time are configured to direct the processing system to:

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

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

3. The application reification system of claim 1 , wherein the program instructions further direct the processing system to:

store the version of application data and the application configuration in the secondary storage repository.

4. The 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 reification system of claim 1 , wherein the program instructions further direct the processing system to:

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

6. A method of application reification, the method 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 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 the execution of the application at the first time;

at a second time subsequent to the first time, receiving, from the host system, 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

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

copying the instantiated container on the application reification system; and

providing the container template to the host system for reifying the application at the state corresponding to the first time in the container by using the application data stored in the second storage repository.

7. The method of claim 6 , wherein the application data comprises a database of data items stored in a primary storage repository and wherein preserving the version of the application data at a first time comprises:

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

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

8. The method of claim 6 , wherein preserving the configuration of the application at the first time comprises:

storing the version of application data and the application configuration in the secondary storage repository.

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

10. The method of claim 6 , further comprising:

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

11. A non-transitory machine-readable medium comprising instructions which, when read by a machine, cause the machine to perform operations in a method of application reification, the method 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 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 the execution of the application at the first time;

at a second time subsequent to the first time, receiving, from the host system, 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

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

copying the instantiated container on the application reification system; and

providing the container template to the host system for reifying the application at the state corresponding to the first time in the container by using the application data stored in the second storage repository.

12. The medium of claim 11 , wherein the application data comprises a database of data items stored in a primary storage repository and wherein preserving the version of the application data at a first time comprises:

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

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

13. The medium of claim 11 , wherein preserving the configuration of the application at the first time comprises:

storing the version of application data and the application configuration in the secondary storage repository.

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

15. The medium of claim 11 , wherein the operations further comprise:

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

16. A host system comprising:

one or more computer readable storage media;

a processing system comprising a processor operatively coupled with the one or more computer readable storage media; and

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: executing an application in a production environment at a first time;

at a second time later than the first time, receive a user instruction to reify the application at a state corresponding to the first time in a container on the host system;

request, from an 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 an application configuration of the application and a pointer to a version of application data stored on a secondary repository, the application configuration including information associated with the execution of the application at the first time and the version of application data including a copy of the state of the application at the first time, the container instantiated based on the container template; and

receive the container template from the application reification system; and

instantiate the container executing the application wherein the application operates on the version of the application data stored on the secondary repository.

17. The host system of claim 16 , wherein the application data comprises a database of data items stored in a primary storage repository and wherein preserving the version of the application data at a first time comprises:

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

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

18. The host system of claim 16 , wherein the application configuration includes parameters of the application to replicate processing results of the application corresponding to the first time.

19. The host system of claim 16 , wherein the program instructions further direct the processing system to:

perform 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 Oct 28, 2019
From: RAGHAVAN, AJAY; THAKUR, TARUN; SARKAR, PRASENJIT
To: DATOS IO INC.
Reel/Frame 050845/0293 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2019
From: DATOS IO INC.
To: RUBRIK, INC.
Reel/Frame 050845/0379 →
Cited By (1)
US 12,260,211