IP Library Granted Patent US 12,153,497
Granted Patent B2
US 12,153,497 · App. 17/200,278 · Granted Nov 26, 2024

Backing-up application data from cloud-native applications

Inventors: Pavan Navarathna Devaraj (San Jose, CA); Vaibhav Kamra (Sunnyvale, CA); Julio Lopez (Mountain View, CA); Thomas Manville (Mountain View, CA); Niraj Tolia (Los Altos, CA)
Assignee: Kasten, Inc.
G06F11/1464G06F11/1453G06F16/215G06F16/245G06F21/602G06F2201/84
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,153,497
App. No.
17/200,278
Granted
Nov 26, 2024
Kind
B2
Abstract

Embodiments described herein are directed to backing up and recovering cloud-native applications. In some embodiments, the data engine maps a first set of data volumes to a data repository dedicated to store a backup of the data associated with the application. Furthermore, the data engine transmits, using a dynamically generated process, the data stored in the identified first set of data volumes to the data repository for backup based on the mapping. The data engine may also initiate a recovery of the application. The data engine may use a new dynamically generated process to identify and transmit a respective data set to a corresponding data volume for storage. Moreover, the data engine may use the new process to restore the components of the application using each respective identified data set.

Claims (71)

1. A method for backing up application data, the method comprising:

initiating, by a processor, a backup of updated data associated with an application, wherein the application comprises a first set of micro-services executing across one or more nodes of a computing cluster;

querying, by the processor, a cluster manager of the computing cluster to identify a first set of data volumes corresponding to the first set of micro-services, wherein the identified first set of data volumes store the updated data associated with the application;

sending, by the processor, using a process generated to back up the data stored in the identified first set of data volumes based on a mapping of the identified first set of data volumes to a deduplication domain that includes a data repository dedicated to storing an incremental backup of the updated data associated with the application without storing data from any other application, the updated data stored in the identified first set of data volumes to the data repository for backup;

deduplicating, by the processor, the backup of the updated data in the deduplication domain;

generating, by the processor, based on an operational error with a micro-service of the first set of micro-services, a request to restore the application to a version of the application corresponding to temporal information that indicates a configuration of the application existing before the operational error;

determining, by the processor, based on the request to restore the application and a respective function for each micro-service of the first set of micro-services, an order in which the plurality of components of the application are to be restored; and

restoring, by the processor, based on a schedule determined from the temporal information and the order in which the plurality of components of the application are to be restored, the version of the application corresponding to the temporal information.

2. The method of claim 1 , further comprising:

correlating, by the processor, each element of the backup of the updated data in the data repository to a corresponding data volume of the first set of data volumes; and

correlating, by the processor, each element of the backup of the updated data in the data repository to a corresponding micro-service of the first set of micro-services.

3. The method of claim 1 , further comprising:

receiving, by the processor, a request to restore another application;

querying, by the processor, the cluster manager of the computing cluster to identify a second set of data volumes corresponding to a second set micro-services;

generating, by the processor, a process to restore the another application;

restoring, by the processor, using the process to restore the another application, the another application by:

identifying, by the processor, a respective data set associated with each of the identified second set of data volumes from the backup of the updated data stored in the data repository;

sending by the processor, each respective identified data set to a corresponding data volume of the identified second set of data volumes for storage; and

restoring, by the processor, one or more components of the another application using a corresponding identified data set.

4. The method of claim 1 , wherein an encryption key is used to encrypt the updated data stored in the data repository, and a decryption key is used to decrypt the backup of the updated data stored in the data repository.

5. The method of claim 1 , further comprising:

inserting, by the processor, a new process in an application namespace of the application in a corresponding node.

6. The method of claim 1 , wherein the first set of micro-services of the application are executing within an application namespace of the application in the one or more nodes.

7. A system for backing up application data, the system comprising:

a memory; and

a processor coupled to the memory and configured to perform operations comprising:

initiating a backup of updated data associated with an application, wherein the application comprises a first set of micro-services executing across one or more nodes of a computing cluster;

querying a cluster manager of the computing cluster to identify a first set of data volumes corresponding to the first set of micro-services, wherein the identified first set of data volumes store the updated data associated with the application;

sending using a process generated to back up the data stored in the identified first set of data volumes based on a mapping of the identified first set of data volumes to a deduplication domain that includes a data repository dedicated to storing an incremental backup of the updated data associated with the application without storing data from any other application, the updated data stored in the identified first set of data volumes to the data repository for backup;

deduplicating the backup of the updated data in the deduplication domain;

generating, based on an operational error with a micro-service of the first set of micro-services, a request to restore the application to a version of the application corresponding to temporal information that indicates a configuration of the application existing before the operational error;

determining, based on the request to restore the application and a respective function for each micro-service of the first set of micro-services, an order in which the plurality of components of the application are to be restored; and

restoring, based on a schedule determined from the temporal information and the order in which the plurality of components of the application are to be restored, the version of the application corresponding to the temporal information.

8. The system of claim 7 , the operations further comprising:

correlating each element of the backup of the updated data in the data repository to a corresponding data volume of the first set of data volumes; and

correlating each element of the backup of the updated data in the data repository to a corresponding micro-service of the first set of micro-services.

9. The system of claim 7 , the operations further comprising:

receiving a request to restore another application;

querying the cluster manager of the computing cluster to identify a second set of data volumes corresponding to a second set micro-services;

generating a process to restore the another application;

restoring using the process to restore the another application, the another application by:

identifying a respective data set associated with each of the identified second set of data volumes from the backup of the updated data stored in the data repository;

sending each respective identified data set to a corresponding data volume of the identified second set of data volumes for storage; and

restoring one or more components of the another application using a corresponding identified data set.

10. The system of claim 7 , wherein an encryption key is used to encrypt the updated data stored in the data repository, and a decryption key is used to decrypt the backup of the updated data stored in the data repository.

11. The system of claim 7 , the operations further comprising:

inserting a new process in an application namespace of the application in a corresponding node.

12. The system of claim 7 , wherein the first set of micro-services of the application are executing within an application namespace of the application in the one or more nodes.

13. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising, the operations comprising:

initiating a backup of updated data associated with an application, wherein the application comprises a first set of micro-services executing across one or more nodes of a computing cluster;

querying a cluster manager of the computing cluster to identify a first set of data volumes corresponding to the first set of micro-services, wherein the identified first set of data volumes store the updated data associated with the application;

sending using a process generated to back up the data stored in the identified first set of data volumes based on a mapping of the identified first set of data volumes to a deduplication domain that includes a data repository dedicated to storing an incremental backup of the updated data associated with the application without storing data from any other application, the updated data stored in the identified first set of data volumes to the data repository for backup;

deduplicating the backup of the updated data in the deduplication domain;

generating, based on an operational error with a micro-service of the first set of micro-services, a request to restore the application to a version of the application corresponding to temporal information that indicates a configuration of the application existing before the operational error;

determining, based on the request to restore the application and a respective function for each micro-service of the first set of micro-services, an order in which the plurality of components of the application are to be restored; and

restoring, based on a schedule determined from the temporal information and the order in which the plurality of components of the application are to be restored, the version of the application corresponding to the temporal information.

14. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise:

deduplicating the backup of the updated data stored in the data repository.

15. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise:

correlating each element of the backup of the updated data in the data repository to a corresponding data volume of the first set of data volumes; and

correlating each element of the backup of the updated data in the data repository to a corresponding micro-service of the first set of micro-services.

16. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise:

receiving a request to restore another application;

querying the cluster manager of the computing cluster to identify a second set of data volumes corresponding to a second set micro-services;

generating a process to restore the another application;

restoring using the process to restore the another application, the another application by:

identifying a respective data set associated with each of the identified second set of data volumes from the backup of the updated data stored in the data repository;

sending each respective identified data set to a corresponding data volume of the identified second set of data volumes for storage; and

restoring one or more components of the another application using a corresponding identified data set.

17. The non-transitory computer-readable medium of claim 13 , wherein an encryption key is used to encrypt the updated data stored in the data repository, and a decryption key is used to decrypt the backup of the updated data stored in the data repository.

18. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise including a new process in an application namespace of the application in a corresponding node.

Assignments (2)
SECURITY INTEREST Recorded May 22, 2026
From: KASTEN, INC.; SECURITI, LLC; VEEAM SOFTWARE GROUP GMBH; VEEAM VAAS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 074738/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2021
From: KAMRA, VAIBHAV; LOPEZ, JULIO; MANVILLE, THOMAS; DEVARAJ, PAVAN NAVARATHNA; TOLIA, NIRAJ
To: KASTEN, INC.
Reel/Frame 056733/0144 →
Continuity (1)
Related Publication 20220291998A1 · Sep 15, 2022