# US 11,113,158 B2 · Rolling back kubernetes applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,113,158 B2
- Document ID: US11113158B2
- Status: Granted
- Kind: B2
- Application number: 16/593,059
- Filed: 2019-10-04
- Published: 2021-04-08
- Granted: 2021-09-07
- Earliest claimed: 2019-10-04
- Assignees: Robin Systems, Inc.
- Applicants: Robin Systems, Inc.
- Inventors: Ravi Kumar Alluboyina; Sree Nandan Atur
- Web page: https://patentgrep.com/patent/US11113158B2

## CPC

- G06F 11/1469: {Backup restoration techniques}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0652: {Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/461: {Saving or restoring of program or task context}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 11/1464: {for networked environments}
- G06F 11/1484: {involving virtual machines}
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F 11/1451: {by selection of backup contents}
- G06F 2009/45562: {Creating, deleting, cloning virtual machine instances}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- G06F 2009/45583: {Memory management, e.g. access or allocation}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F 2201/84: Using snapshots, i.e. a logical point-in-time copy of the data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A new snapshot of a storage volume is created by instructing computing nodes to suppress write requests. An orchestration layer implements a multi-role application that is provisioned with virtualized storage and computation resources. A snapshot of the application may be created and used to rollback or clone the application. Clones snapshots of storage volumes may be thin clones. An application may use multiple orchestration approaches and objects of the multi-role application may be discovered and added to an application definition. The application definition may be used to create snapshots of the application and perform operations using the snapshots. Rolling back may include deleting objects other than PVCs, followed by rolling back storage volumes mounted to the PVCs, followed by recreating objects according to an application snapshot. PVCs created by a custom resource may be deleted along with the custom resource with the PVCs being recreated before recreating the custom resource.

## Claims

### Claim 1

A method comprising:
creating, by a first orchestrator, a first application including a plurality of first objects in a network computing environment, the plurality of first objects including a first portion and a second portion;
mounting, by a storage manager, one or more storage volumes to the first portion of the plurality of first objects;
creating, by a second orchestrator, an application snapshot of the plurality of first objects;
creating, by the storage manager, one or more storage volume snapshots of the one or more storage volumes;
receiving, by the second orchestrator, an instruction to rollback the first application to the application snapshot; and
in response to the instruction, performing, by the second orchestrator:
(a) deleting the second portion of the plurality of first objects but not the first portion of the plurality of first objects;
(b) following performing (a), instructing the storage manager to rollback the one or more storage volumes to the one or more storage volume snapshots and mount the one or more storage volumes following rolling back to the first portion of the plurality of first objects; and
(c) following performing (b), instructing the first orchestrator to recreate the second portion of the plurality of first objects according to the application snapshot.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first portion of the plurality of first objects are persistent volume claim (PVC) objects.

### Claim 3 (depends on 1)

The method of claim 1, wherein the second portion of the plurality of first objects includes containers.

### Claim 4 (depends on 3)

The method of claim 3, wherein the second portion of the plurality of first objects includes a pod.

### Claim 5 (depends on 4)

The method of claim 4, wherein the second portion of the plurality of first objects includes at least one of a config map, secret, stateful set, replica set, service, and service account.

### Claim 6 (depends on 1)

The method of claim 1, wherein the plurality of first objects includes a hierarchy defining parent-child relationships; wherein performing (a) comprises deleting the second portion of the plurality of first objects such that a parent of each object of the second portion of the plurality of first objects is deleted before deleting the each object.

### Claim 7 (depends on 6)

The method of claim 6, wherein performing (c) comprises recreating the second portion of the plurality of first objects according to the application snapshot such that for each object of the second portion of the plurality of first objects, a parent of the each object is recreated before the each object.

### Claim 8 (depends on 1)

The method of claim 1, wherein (b) further comprises deleting a third portion of the plurality of first objects that were created after creating the application snapshot, the third portion of the plurality of first objects having one or more second storage volumes mounted thereto.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first orchestrator is a KUBERNETES orchestrator.

### Claim 10 (depends on 1)

The method of claim 1, wherein the storage manager implements virtualized storage volumes.

### Claim 11

A system comprising:
a network computing environment including a plurality of computing nodes;
a first orchestrator executing in the network computing environment;
a second orchestrator executing in the network computing environment;
a storage manager executing in the network computing environment;
wherein the first orchestrator, second orchestrator, and storage manager are programmed to:
create, by a first orchestrator, a first application including a plurality of first objects in a network computing environment, the plurality of first objects including a first portion and a second portion;
mount, by a storage manager, one or more storage volumes to the first portion of the plurality of first objects;
create, by a second orchestrator, an application snapshot of the plurality of first objects;
create, by the storage manager, one or more storage volume snapshots of the one or more storage volumes;
receive, by the second orchestrator, an instruction to rollback the first application to the application snapshot; and
in response to the instruction, perform, by the second orchestrator:
(a) deleting the second portion of the plurality of first objects but not the first portion of the plurality of first objects;
(b) following performing (a), instructing the storage manager to rollback the one or more storage volumes to the one or more storage volume snapshots and mount the one or more storage volumes following rolling back to the first portion of the plurality of first objects; and
(c) following performing (b), instructing the first orchestrator to recreate the second portion of the plurality of first objects according to the application snapshot.

### Claim 12 (depends on 11)

The system of claim 11, wherein the first portion of the plurality of first objects are persistent volume claim (PVC) objects.

### Claim 13 (depends on 11)

The system of claim 11, wherein the second portion of the plurality of first objects includes containers.

### Claim 14 (depends on 13)

The system of claim 13, wherein the second portion of the plurality of first objects includes a pod.

### Claim 15 (depends on 14)

The system of claim 14, wherein the second portion of the plurality of first objects includes at least one of a config map, secret, stateful set, replica set, service, and service account.

### Claim 16 (depends on 11)

The system of claim 11, wherein the plurality of first objects includes a hierarchy defining parent-child relationships; wherein performing (a) comprises deleting the second portion of the plurality of first objects such that a parent of each object of the second portion of the plurality of first objects is deleted before deleting the each object.

### Claim 17 (depends on 16)

The system of claim 16, wherein performing (c) comprises recreating the second portion of the plurality of first objects according to the application snapshot such that for each object of the second portion of the plurality of first objects, a parent of the each object is recreated before the each object.

### Claim 18 (depends on 11)

The system of claim 11, wherein (b) further comprises deleting a third portion of the plurality of first objects that were created after creating the application snapshot, the third portion of the plurality of first objects having one or more second storage volumes mounted thereto.

### Claim 19 (depends on 11)

The system of claim 11, wherein the first orchestrator is a KUBERNETES orchestrator.

### Claim 20 (depends on 11)

The system of claim 11, wherein the storage manager is programmed to implement virtualized storage volumes.
