IP Library Granted Patent US 12710891
Granted Patent B2
US 12710891 · App. 18/928,357 · Granted Aug 18, 2026

Cloud-native cross-environment restoration

Inventors: Aaron H. Alpar (Redwood City, CA); Thomas Manville (Mountain View, CA); Eric William Hamilton (Mountain View, CA); Vaibhav Kamra (Sunnyvale, CA); Niraj Tolia (Los Altos, CA)
Assignee: Kasten, Inc.
G06F3/0653G06F3/0604G06F3/067G06F11/1469G06F2201/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 12710891
App. No.
18/928,357
Granted
Aug 18, 2026
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for transforming backups of applications. An embodiment operates by extracting a resource snapshot into memory. The resource snapshot is formatted in a first configuration. An embodiment performs a transformation on the resource snapshot, thereby transforming the resource snapshot from the first configuration to a second configuration for an environment into which the resource snapshot is being restored. The transformation is made up of a set of operations. One of the operations includes a regular expression. Once the transformation is complete, the resource snapshot is restored to the environment based on the second configuration.

Claims (55)

1 . A computer-implemented method for restoring an application, comprising:

performing, by a processor, a transformation, comprising a set of Modified JavaScript Object Notation (JSON) Patch operations, on a resource snapshot that specifies a first resource configuration indicating where portions of the application are accessed in a first cloud environment, thereby transforming the resource snapshot from the first resource configuration to a second resource configuration indicating where portions of the application are accessed in a second cloud environment, wherein performing a Modified JSON Patch operation from the set of Modified JSON Patch operations comprises:

selecting, using a regular expression, a plurality of strings in a path in the resource snapshot or a plurality of values in the path in the resource snapshot as a capture group; and

applying the Modified JSON Patch operation to the resource snapshot using the capture group; and

restoring the application to the second cloud environment based on the transformed resource snapshot specifying the second resource configuration.

2 . The computer-implemented method of claim 1 , further comprising:

determining that performance of the transformation succeeded; and

wherein restoring the application to the second cloud environment comprises restoring the application to the second cloud environment in response to determining that the performance of the transformation succeeded.

3 . The computer-implemented method of claim 2 , wherein determining that the performance of the transformation succeeded comprises determining, using at least one test operation, that the resource snapshot is formatted in the second resource configuration.

4 . The computer-implemented method of claim 1 , wherein another Modified JSON Patch operation from the set of Modified JSON Patch operations in the transformation includes a path reference or a value reference with a wildcard character.

5 . The computer-implemented method of claim 1 , further comprising:

receiving a selection of the second cloud environment;

detecting the second resource configuration for the second cloud environment; and

outputting a description of the second resource configuration to a user.

6 . The computer-implemented method of claim 5 , wherein detecting the second resource configuration comprises detecting, using at least one test operation, one or more paths of the second resource configuration in the second cloud environment.

7 . The computer-implemented method of claim 1 , further comprising:

receiving a selection of the second cloud environment;

detecting the second resource configuration for the second cloud environment; and

selecting the transformation based on the second resource configuration.

8 . The computer-method of claim 7 , wherein detecting the second resource configuration comprises detecting, using at least one test operation, one or more paths of the second resource configuration in the second cloud environment.

9 . A system for restoring an application, comprising:

one or more memories; and

at least one processor each coupled to at least one of the memories and configured to perform operations comprising:

performing a transformation, comprising a set of Modified JavaScript Object Notation (JSON) Patch operations, on a resource snapshot that specifies a first resource configuration indicating where portions of the application are accessed in a first cloud environment, thereby transforming the resource snapshot from the first resource configuration to a second resource configuration indicating where portions of the application are accessed in a second cloud environment, wherein performing a Modified JSON Patch operation from the set of Modified JSON Patch operations comprises:

selecting, using a regular expression, a plurality of strings in a path in the resource snapshot or a plurality of values in the path in the resource snapshot as a capture group; and

applying the Modified JSON Patch operation to the resource snapshot using the capture group; and

restoring the application to the second cloud environment based on the transformed resource snapshot specifying the second resource configuration.

10 . The system of claim 9 , wherein the operations further comprise:

determining that performance of the transformation succeeded; and

wherein restoring the application to the second cloud environment comprises restoring the application to the second cloud environment in response to determining that the performance of the transformation succeeded.

11 . The system of claim 10 , wherein the determining that the performance of the transformation succeeded comprises determining, using at least one test operation, that the resource snapshot is formatted in the second resource configuration.

12 . The system of claim 9 , wherein another Modified JSON Patch operation from the set of Modified JSON Patch operations in the transformation includes a path reference or a value reference with a wildcard character.

13 . The system of claim 9 , wherein the operations further comprise:

receiving a selection of the second cloud environment;

detecting the second resource configuration for the second cloud environment; and

outputting a description of the second resource configuration to a user.

14 . The system of claim 13 , wherein detecting the second resource configuration comprises detecting, using at least one test operation, one or more paths of the second resource configuration in the second cloud environment.

15 . The system of claim 9 , wherein the operations further comprise:

receiving a selection of the second cloud environment;

detecting the second resource configuration for the second cloud environment; and

selecting the transformation based on the second resource configuration.

16 . The system of claim 15 , wherein detecting the second resource configuration comprises detecting, using at least one test operation, one or more paths of the second resource configuration in the second cloud environment.

17 . 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:

performing a transformation comprising a set of Modified JavaScript Object Notation (JSON) Patch operations on a resource snapshot that specifies a first resource configuration indicating where portions of an application are accessed in a first cloud environment, thereby transforming the resource snapshot from the first resource configuration to a second resource configuration indicating where portions of the application are accessed in a second cloud environment, wherein performing a Modified JSON Patch operation from the set of Modified JSON Patch operations comprises:

selecting, using a regular expression, a plurality of strings in a path in the resource snapshot or a plurality of values in the path in the resource snapshot as a capture group; and

applying the Modified JSON Patch operation to the resource snapshot using the capture group; and

restoring the application to the second cloud environment based on the transformed resource snapshot specifying the second resource configuration.

18 . The non-transitory computer-readable storage medium of claim 17 , the operations further comprising:

determining, using at least one test operation, that performance of the transformation succeeded, wherein the at least one test operation detects that the resource snapshot is formatted in the second resource configuration; and

wherein restoring the application to the second cloud environment comprises restoring the application to the second cloud environment in response to determining that the performance of the transformation succeeded.

19 . The non-transitory computer-readable storage medium of claim 17 , wherein another Modified JSON Patch operation from the set of Modified JSON Patch operations in the transformation includes a path reference or a value reference with a wildcard character.

20 . The non-transitory computer-readable storage medium of claim 17 , the operations further comprising:

receiving a selection of the second cloud environment;

detecting, using at least one test operation, the second resource configuration for the second cloud environment, wherein the at least one test operation detects one or more paths of the second resource configuration in the second cloud environment; and

outputting a description of the second resource configuration to a user.