IP Library Granted Patent US 12,019,522
Granted Patent B2
US 12,019,522 · App. 17/873,988 · Granted Jun 25, 2024

Container recovery layer prioritization

Inventors: Kshithij Iyer (Gujarat, IN); Luis Pablo Pabón (Sturbridge, MA)
Assignee: Pure Storage, Inc.
G06F11/1451G06F9/45558G06F2009/45583
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,019,522
App. No.
17/873,988
Filed
Jul 26, 2022
Granted
Jun 25, 2024
Kind
B2
Examiner
ROJAS, MIDYS
Art Unit
2133
USPC
711/162
Abstract

An illustrative method of container recovery using layer prioritization includes identifying a set of immutable layers of container images included in a dataset used by a container system to run containerized applications on a first cluster; copying the set of immutable layers of container images to a second cluster in preparation for a recovery event; receiving, after the set of immutable layers of container images are copied to the second cluster, a recovery request to recover the containerized applications; and copying, in response to the recovery request, a set of mutable layers included in the dataset to the second cluster, the second cluster configured to use the copied set of immutable layers and the copied set of mutable layers to recover the containerized applications on the second cluster.

Claims (43)

1. A method comprising:

identifying, by a recovery process, a plurality of immutable layers of container images included in a dataset used by a container system to run containerized applications on a first cluster, the plurality of immutable layers of the container images comprising container image layers accessed and used by one or more compute nodes of the first cluster to run instances of containers on the first cluster;

copying, by the recovery process, the plurality of immutable layers of container images to a second cluster;

receiving, by the recovery process after the plurality of immutable layers of container images are copied to the second cluster, a recovery request to recover the containerized applications; and

copying, by the recovery process in response to the recovery request, a plurality of mutable layers included in the dataset to the second cluster, the second cluster configured to use the copied plurality of immutable layers and the copied plurality of mutable layers to recover the containerized applications on the second cluster.

2. The method of claim 1 , wherein identifying the plurality of immutable layers of container images is based on the plurality of immutable layers being labeled as container images.

3. The method of claim 1 , wherein the plurality of mutable layers are provided by a storage system as persistent storage for the containerized applications running on the first cluster.

4. The method of claim 1 , wherein copying the plurality of immutable layers included in the dataset to the second cluster comprises prioritizing more frequently used immutable layers over less frequently used immutable layers.

5. The method of claim 1 , wherein copying the plurality of mutable layers included in the dataset to the second cluster comprises prioritizing more frequently used mutable layers over less frequently used mutable layers.

6. The method of claim 1 , wherein copying the plurality of mutable layers included in the dataset to the second cluster in response to the recovery request comprises identifying and copying only mutable layers in the plurality of mutable layers that have changed since the plurality of mutable layers was last copied to the second cluster.

7. The method of claim 1 , wherein the plurality of immutable layers comprises only unique immutable layers in the dataset.

8. The method of claim 1 , wherein the dataset is managed by a container-aware storage system that provides the plurality of immutable layers and the plurality of mutable layers for use by the container system to run the containerized applications on the first cluster.

9. The method of claim 8 , wherein the container-aware storage system manages and provides the plurality of immutable layers and the plurality of mutable layers as volumes.

10. The method of claim 8 , wherein the container-aware storage system comprises containerized instances of the container-aware storage system running on compute nodes of the first cluster.

11. The method of claim 8 , wherein the recovery process is included in the container-aware storage system.

12. The method of claim 1 , further comprising:

detecting an updated immutable layer in the plurality of immutable layers included in the dataset; and

copying the updated immutable layer to the second cluster.

13. The method of claim 1 , further comprising:

detecting a new immutable layer in the plurality of immutable layers included in the dataset; and

copying the new immutable layer to the second cluster.

14. The method of claim 1 , further comprising:

receiving a recovery request to recover the containerized applications back to the first cluster; and

identifying and copying, from the second cluster to the first cluster, any of the plurality of mutable layers that have changed on the second cluster.

15. A system comprising:

one or more memories storing computer-executable instructions; and

one or more processors to execute the computer-executable instructions to:

identify a plurality of immutable layers of container images included in a dataset used by a container system to run containerized applications on a first cluster, the plurality of immutable layers of the container images comprising container image layers accessed and used by one or more compute nodes of the first cluster to run instances of containers on the first cluster;

copy the plurality of immutable layers of container images to a second cluster;

receive, after the plurality of immutable layers of container images are copied to the second cluster, a recovery request to recover the containerized applications; and

copy, in response to the recovery request, a plurality of mutable layers included in the dataset to the second cluster, the second cluster configured to use the copied plurality of immutable layers and the copied plurality of mutable layers to recover the containerized applications on the second cluster.

16. The system of claim 15 , wherein:

the plurality of mutable layers are provided by a storage system as persistent storage for the containerized applications running on the first cluster.

17. The system of claim 15 , wherein the dataset is managed by a container-aware storage system that provides the plurality of immutable layers and the plurality of mutable layers for use by the container system to run the containerized applications on the first cluster.

18. The system of claim 17 , wherein the container-aware storage system manages and provides the plurality of immutable layers and the plurality of mutable layers as volumes.

19. The system of claim 15 , wherein the one or more processors are further configured to execute the computer-executable instructions to:

receive a recovery request to recover the containerized applications back to the first cluster; and

identify and copy, from the second cluster to the first cluster, any of the plurality of mutable layers that have changed on the second cluster.

20. A non-transitory, computer-readable medium storing computer instructions that, when executed, direct one or more processors of one or more computing devices to:

identify a plurality of immutable layers of container images included in a dataset used by a container system to run containerized applications on a first cluster, the plurality of immutable layers of the container images comprising container image layers accessed and used by one or more compute nodes of the first cluster to run instances of containers on the first cluster;

copy the plurality of immutable layers of container images to a second cluster;

receive, after the plurality of immutable layers of container images are copied to the second cluster, a recovery request to recover the containerized applications; and

copy, in response to the recovery request, a plurality of mutable layers included in the dataset to the second cluster, the second cluster configured to use the copied plurality of immutable layers and the copied plurality of mutable layers to recover the containerized applications on the second cluster.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2022
From: IYER, KSHITHIJ; PABÓN, LUIS PABLO
To: PURE STORAGE, INC., A DELAWARE CORPORATION
Reel/Frame 060628/0889 →
Continuity (3)
Continuation In Part 17733716 · Apr 29, 2022
Continuation In Part 17580098 · Jan 20, 2022
Related Publication 20230229561A1 · Jul 20, 2023
Cited By (1)
US 12,639,172