IP Library Granted Patent US 12,675,368
Granted Patent B2
US 12,675,368 · App. 18/095,885 · Granted Jul 7, 2026

Profile-based disaster recovery for a containerized application

Inventors: Timothy Darnell (Estes Park, CO); Paul Theunis (Elk Grove, CA); Luis Pablo Pabón (Sturbridge, MA); Tapas Sharma (Pune, IN)
Assignee: Pure Storage, Inc.
G06F11/1415G06F2201/805
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,675,368
App. No.
18/095,885
Granted
Jul 7, 2026
Kind
B2
Abstract

An illustrative method includes a controller associated with a plurality of clusters generating a disaster recovery profile of a containerized application deployed on a first cluster in the plurality of clusters, determining a cluster profile of each second cluster among one or more second clusters that are distinct from the first cluster in the plurality of clusters, identifying, from the one or more second clusters, a particular cluster based on the disaster recovery profile of the containerized application and the cluster profile of each second cluster, and assigning the particular cluster to be a disaster recovery cluster for the containerized application.

Claims (72)

1 . A method comprising:

generating, by a controller associated with a plurality of clusters, a disaster recovery profile of a containerized application deployed on a first cluster in the plurality of clusters, wherein the generating of the disaster recovery profile of the containerized application comprises:

receiving, by the controller, data collected and provided by a storage management containerized application that is deployed on the first cluster and provides persistent storage to the containerized application, and

generating the disaster recovery profile based on the data;

determining, by the controller, a cluster profile of each second cluster among one or more second clusters that are distinct from the first cluster in the plurality of clusters;

identifying, by the controller and from the one or more second clusters, a particular cluster based on the disaster recovery profile of the containerized application and the cluster profile of each second cluster; and

assigning, by the controller, the particular cluster to be a disaster recovery cluster for the containerized application.

2 . The method of claim 1 , wherein the generating of the disaster recovery profile of the containerized application further comprises:

receiving, from the storage management containerized application deployed on the first cluster, application information associated with one or more operations of the containerized application; and

generating the disaster recovery profile of the containerized application further based on the application information.

3 . The method of claim 2 , wherein the receiving of the application information and the generating of the disaster recovery profile of the containerized application comprise:

receiving operation metadata describing the one or more operations of the containerized application;

determining, based on the operation metadata of the containerized application, one or more requirements of the containerized application; and

including the one or more requirements of the containerized application in the disaster recovery profile of the containerized application.

4 . The method of claim 2 , wherein the receiving of the application information and the generating of the disaster recovery profile of the containerized application comprise:

receiving one or more requirements of the containerized application that are determined by the storage management containerized application based on operation metadata of the containerized application; and

including the one or more requirements of the containerized application in the disaster recovery profile of the containerized application.

5 . The method of claim 2 , wherein the storage management containerized application is configured to:

obtain operation metadata of the containerized application from one or more infrastructure layers of a node that operates the containerized application in the first cluster.

6 . The method of claim 1 , wherein:

the disaster recovery profile of the containerized application includes a resource requirement of the containerized application, an operation requirement of the containerized application, and a cluster requirement of the containerized application.

7 . The method of claim 1 , wherein the generating of the disaster recovery profile of the containerized application further comprises:

determining, based on one or more cluster attributes of one or more clusters that operate the containerized application, one or more cluster requirements of the containerized application.

8 . The method of claim 1 , wherein:

the cluster profile of a cluster includes cluster resource data describing one or more resources of the cluster, one or more operation metrics of the cluster, and one or more cluster attributes of the cluster.

9 . The method of claim 1 , wherein the identifying of the particular cluster comprises:

evaluating the cluster profile of each second cluster against the disaster recovery profile of the containerized application;

computing a cluster score for each second cluster based on the evaluating; and

identifying, from the one or more second clusters, the particular cluster for the containerized application based on the cluster score of each second cluster.

10 . The method of claim 1 , wherein the identifying of the particular cluster comprises:

inputting the cluster profile of each second cluster and the disaster recovery profile of the containerized application into a machine learning model, the machine learning model configured to output a cluster score for each second cluster; and

identifying, from the one or more second clusters, the particular cluster for the containerized application based on the cluster score of each second cluster.

11 . The method of claim 1 , wherein the identifying of the particular cluster comprises:

determining that none of the one or more second clusters satisfies the disaster recovery profile of the containerized application;

creating, in response to the determining that none of the one or more second clusters satisfies the disaster recovery profile of the containerized application, an additional second cluster that satisfies the disaster recovery profile of the containerized application; and

identifying the additional second cluster to be the particular cluster for the containerized application.

12 . The method of claim 1 , wherein the disaster recovery cluster is configured to:

determine that the first cluster is subjected to an operation disruption; and

take over, in response to the determining that the first cluster is subjected to the operation disruption, a task of operating the containerized application from the first cluster.

13 . The method of claim 1 , wherein the storage management containerized application is a privileged containerized application allowed to carry out storage-related tasks in a kernel space of a node in the first cluster to which the containerized application and the storage management containerized application are deployed.

14 . A controller system associated with a plurality of clusters, the controller system comprising:

a memory storing instructions; and

one or more processors communicatively coupled to the memory and configured to execute the instructions to perform a process comprising:

generating a disaster recovery profile of a containerized application deployed on a first cluster in the plurality of clusters, wherein the generating of the disaster recovery profile of the containerized application comprises:

receiving, by the controller system, data collected and provided by a storage management containerized application that is deployed on the first cluster and provides persistent storage to the containerized application, and

generating the disaster recovery profile based on the data;

determining a cluster profile of each second cluster among one or more second clusters that are distinct from the first cluster in the plurality of clusters;

identifying, from the one or more second clusters, a particular cluster based on the disaster recovery profile of the containerized application and the cluster profile of each second cluster; and

assigning the particular cluster to be a disaster recovery cluster for the containerized application.

15 . The controller system of claim 14 , wherein the generating of the disaster recovery profile of the containerized application further comprises:

receiving, from the storage management containerized application deployed on the first cluster, application information associated with one or more operations of the containerized application; and

generating the disaster recovery profile of the containerized application further based on the application information.

16 . The controller system of claim 15 , wherein the receiving of the application information and the generating of the disaster recovery profile of the containerized application comprise:

receiving operation metadata describing the one or more operations of the containerized application;

determining, based on the operation metadata of the containerized application, one or more requirements of the containerized application; and

including the one or more requirements of the containerized application in the disaster recovery profile of the containerized application.

17 . The controller system of claim 15 , wherein the receiving of the application information and the generating of the disaster recovery profile of the containerized application comprise:

receiving one or more requirements of the containerized application that are determined by the storage management containerized application based on operation metadata of the containerized application; and

including the one or more requirements of the containerized application in the disaster recovery profile of the containerized application.

18 . The controller system of claim 15 , wherein the storage management containerized application is configured to:

obtain operation metadata of the containerized application from one or more infrastructure layers of a node that operates the containerized application in the first cluster.

19 . The controller system of claim 14 , wherein the identifying of the particular cluster comprises:

determining that none of the one or more second clusters satisfies the disaster recovery profile of the containerized application;

creating, in response to the determining that none of the one or more second clusters satisfies the disaster recovery profile of the containerized application, an additional second cluster that satisfies the disaster recovery profile of the containerized application; and

identifying the additional second cluster to be the particular cluster for the containerized application.

20 . A non-transitory computer-readable medium storing instructions that, when executed, direct a processor of a controller system associated with a plurality of clusters to perform a process comprising:

generating a disaster recovery profile of a containerized application deployed on a first cluster in the plurality of clusters, wherein the generating of the disaster recovery profile of the containerized application comprises:

receiving, by the processor of the controller system, data collected and provided by a storage management containerized application that is deployed on the first cluster and provides persistent storage to the containerized application, and

generating the disaster recovery profile based on the data;

determining a cluster profile of each second cluster among one or more second clusters that are distinct from the first cluster in the plurality of clusters;

identifying, from the one or more second clusters, a particular cluster based on the disaster recovery profile of the containerized application and the cluster profile of each second cluster; and

assigning the particular cluster to be a disaster recovery cluster for the containerized application.