# US 2024/0201846 A1 · Systems and Methods for Regenerating a Terminated Application Instance of a Containerized Application

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

- Number: US 2024/0201846 A1
- Document ID: US20240201846A1
- Status: Published application
- Kind: A1
- Application number: 18/083,294
- Filed: 2022-12-16
- Published: 2024-06-20
- Earliest claimed: 2018-01-18
- Assignees: Pure Storage, Inc.
- Applicants: Pure Storage, Inc.
- Inventors: Goutham Rao; Vinod Jayaraman; Ganesh Sangle
- Web page: https://patentgrep.com/patent/US20240201846A1

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 3/0601: {Interfaces specially adapted for storage systems}
- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/0629: {Configuration or reconfiguration of storage systems}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/0664: {at device level, e.g. emulation of a storage device or system}
- 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/45533: {Hypervisors; Virtual machine monitors}
- 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 2009/45562: {Creating, deleting, cloning virtual machine instances}
- G06F 2009/45579: {I/O management, e.g. providing access to device drivers or storage}
- 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

An illustrative method includes determining that a first application instance of an application is terminated, instantiating, in response to the determining that the first application instance of the application is terminated, a second application instance of the application, identifying one or more particular storage volumes based on the first application instance, and attaching the one or more particular storage volumes to the second application instance.

## Claims

### Claim 1

A method comprising:
determining that a first application instance of an application is terminated;
instantiating, in response to the determining that the first application instance of the application is terminated, a second application instance of the application;
identifying one or more particular storage volumes based on the first application instance; and
attaching the one or more particular storage volumes to the second application instance.

### Claim 2 (depends on 1)

The method of claim 1, wherein the identifying of the one or more particular storage volumes includes:
identifying a cluster associated with the first application instance;
identifying one or more unattached storage volumes in the cluster based on one or more application instance parameters of the second application instance; and
identifying, from the one or more unattached storage volumes, the one or more particular storage volumes previously attached to the first application instance.

### Claim 3 (depends on 2)

The method of claim 2, wherein:
the identifying of the one or more particular storage volumes previously attached to the first application instance is based on one or more of a custom tag or a label stored by a coordinator node or a metadata server.

### Claim 4 (depends on 2)

The method of claim 2, wherein the identifying of the one or more unattached storage volumes includes:
identifying the one or more unattached storage volumes in the cluster that match the one or more application instance parameters of the second application instance.

### Claim 5 (depends on 2)

The method of claim 2, wherein:
the one or more application instance parameters of the second application instance include one or more of a type of storage volume, a number of storage volumes, a storage capacity, an operating system type, or an input/output characteristic to implement the second application instance.

### Claim 6 (depends on 2)

The method of claim 2, wherein:
the first application instance and the second application instance are operated by a scalable web services provider; and
the cluster is operated by a containerized storage service provider.

### Claim 7 (depends on 1)

The method of claim 1, wherein the identifying of the one or more particular storage volumes includes:
identifying, in one or more clusters operated by a containerized storage service provider and one or more clusters operated by a scalable web services provider, one or more unattached storage volumes based on one or more application instance parameters of the second application instance; and
identifying, from the one or more unattached storage volumes, the one or more particular storage volumes previously attached to the first application instance.

### Claim 8 (depends on 1)

The method of claim 1, wherein:
the first application instance is terminated due to one or more of a failure of the first application instance or a failure of a node on which the first application instance is implemented.

### Claim 9 (depends on 1)

The method of claim 1, wherein:
the application is a containerized stateful application.

### Claim 10 (depends on 1)

The method of claim 1, wherein:
a particular storage volume among the one or more particular storage volumes includes storage resources aggregated from a plurality of storage devices.

### Claim 11

A system comprising:
a memory storing instructions; and
a processor communicatively coupled to the memory and configured to execute the instructions to:
determine that a first application instance of an application is terminated;
instantiate, in response to the determining that the first application instance of the application is terminated, a second application instance of the application;
identify one or more particular storage volumes based on the first application instance; and
attach the one or more particular storage volumes to the second application instance.

### Claim 12 (depends on 11)

The system of claim 11, wherein the identifying of the one or more particular storage volumes includes:
identifying a cluster associated with the first application instance;
identifying one or more unattached storage volumes in the cluster based on one or more application instance parameters of the second application instance; and
identifying, from the one or more unattached storage volumes, the one or more particular storage volumes previously attached to the first application instance.

### Claim 13 (depends on 12)

The system of claim 12, wherein:
the identifying of the one or more particular storage volumes previously attached to the first application instance is based on one or more of a custom tag or a label stored by a coordinator node or a metadata server.

### Claim 14 (depends on 12)

The system of claim 12, wherein the identifying of the one or more unattached storage volumes includes:
identifying the one or more unattached storage volumes in the cluster that match the one or more application instance parameters of the second application instance.

### Claim 15 (depends on 12)

The system of claim 12, wherein:
the one or more application instance parameters of the second application instance include one or more of a type of storage volume, a number of storage volumes, a storage capacity, an operating system type, or an input/output characteristic to implement the second application instance.

### Claim 16 (depends on 12)

The system of claim 12, wherein:
the first application instance and the second application instance are operated by a scalable web services provider; and
the cluster is operated by a containerized storage service provider.

### Claim 17 (depends on 11)

The system of claim 11, wherein the identifying of the one or more particular storage volumes includes:
identifying, in one or more clusters operated by a containerized storage service provider and one or more clusters operated by a scalable web services provider, one or more unattached storage volumes based on one or more application instance parameters of the second application instance; and
identifying, from the one or more unattached storage volumes, the one or more particular storage volumes previously attached to the first application instance.

### Claim 18 (depends on 11)

The system of claim 11, wherein:
the first application instance is terminated due to one or more of a failure of the first application instance or a failure of a node on which the first application instance is implemented.

### Claim 19 (depends on 11)

The system of claim 11, wherein:
the application is a containerized stateful application.

### Claim 20

A non-transitory computer-readable medium storing instructions that, when executed, direct a processor of a computing device to:
determine that a first application instance of an application is terminated;
instantiate, in response to the determining that the first application instance of the application is terminated, a second application instance of the application;
identify one or more particular storage volumes based on the first application instance; and
attach the one or more particular storage volumes to the second application instance.
