IP Library Granted Patent US 12,175,135
Granted Patent B2
US 12,175,135 · App. 17/580,098 · Granted Dec 24, 2024

Containers as volumes in a container-aware storage system

Inventor: Luis Pablo Pabón (Sturbridge, MA)
Assignee: Pure Storage, Inc.
G06F3/0665G06F3/0604G06F3/0683
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,175,135
App. No.
17/580,098
Granted
Dec 24, 2024
Kind
B2
Abstract

A container-aware storage system may be configured to store, manage, and provide immutable container images and optionally persistent storage to a container system for use by the container system to run container instances of the container images. The storage system may use volumes to store, manage, and provide immutable container images and optionally persistent storage to the container system for use by the container system to run container instances of the container images. In some embodiments, the storage system receives an immutable container image and stores the immutable container image as a volume. The storage system subsequently detects a request from a container system, such as a request to run a container instance of the immutable container image in the container system and, in response to the request, provides the volume to the container system.

Claims (55)

1. A method comprising:

receiving, at a container-aware storage system configured to provide persistent data storage to a container system, an immutable container image;

storing, by the container-aware storage system, the immutable container image within an immutable layer of a volume;

detecting, by the container-aware storage system, a request from the container system to run a container instance of the immutable container image at the container system; and

providing, by the container-aware storage system based on the request, the volume to the container system.

2. The method of claim 1 , wherein storing the immutable container image as the volume comprises:

translating the immutable container image into the volume.

3. The method of claim 2 , wherein translating the immutable container image into the volume comprises:

translating a first layer of the immutable container image into a first immutable snapshot of the volume;

translating a second layer of the immutable container image into a second immutable snapshot of the volume.

4. The method of claim 1 , wherein translating the immutable container image into the volume comprises, for each image layer in the immutable container image:

opening the image layer;

translating the image layer to a volume snapshot;

storing the volume snapshot.

5. The method of claim 1 , wherein translating the immutable container image into the volume comprises:

storing metadata for the volume, the metadata indicating as association of the volume with the immutable container image.

6. The method of claim 1 , wherein providing the volume to the container system comprises mounting the volume on a node of the container system for use by the container system to run the container instance of the immutable container image.

7. The method of claim 1 , wherein the volume provided to the container system comprises:

the immutable layer including the immutable container image for use by the container system to run the container instance of the immutable container image; and

a writeable layer configured to provide persistent storage for the container instance of the immutable container image in the container system.

8. The method of claim 1 , further comprising:

providing, by the container-aware storage system, an additional volume to the container system, the additional volume configured to provide persistent storage for the container instance of the immutable container image in the container system.

9. A system comprising:

a memory storing computer-executable instructions;

a processor to execute the computer-executable instructions to:

receive, at a container-aware storage system configured to provide persistent data storage to a container system, an immutable container image;

store the immutable container image within an immutable layer of a volume;

detect a request from the container system to run a container instance of the immutable container image at the container system; and

provide, based on the request, the volume to the container system.

10. The system of claim 9 , wherein storing the immutable container image as the volume comprises:

translating the immutable container image into the volume.

11. The system of claim 10 , wherein translating the immutable container image into the volume comprises:

translating a first layer of the immutable container image into a first immutable snapshot of the volume;

translating a second layer of the immutable container image into a second immutable snapshot of the volume.

12. The system of claim 9 , wherein translating the immutable container image into the volume comprises, for each image layer in the immutable container image:

opening the image layer;

translating the image layer to a volume snapshot;

storing the volume snapshot.

13. The system of claim 9 , wherein translating the immutable container image into the volume comprises:

storing metadata for the volume, the metadata indicating as association of the volume with the immutable container image.

14. The system of claim 9 , wherein providing the volume to the container system comprises mounting the volume on a node of the container system for use by the container system to run the container instance of the immutable container image.

15. The system of claim 4 , wherein the volume provided to the container system comprises:

the immutable layer including the immutable container image for use by the container system to run the container instance of the immutable container image; and

a writeable layer configured to provide persistent storage for the container instance of the immutable container image in the container system.

16. The system of claim 9 , the processor configured to further execute the computer-executable instructions to:

provide an additional volume to the container system, the additional volume configured to provide persistent storage for the container instance of the immutable container image in the container system.

17. A non-transitory computer-readable medium storing instructions that, when executed, direct a processor of a computing device to:

receive, at a container-aware storage system configured to provide persistent data storage to a container system, an immutable container image;

store the immutable container image within an immutable layer of a volume;

detect a request from the container system to run a container instance of the immutable container image at the container system; and

provide, based on the request, the volume to the container system.

18. The non-transitory computer-readable medium of claim 17 , wherein the providing the volume to the container system comprises:

mounting, in response to the request, the volume to a node of the container system for use by the container system to run the container instance.

19. The method of claim 1 , wherein the volume represents a hierarchical chain of volumes, and wherein the chain corresponds to dependencies for running the container instance of the container image.

20. The system of claim 9 , wherein the volume represents a hierarchical chain of volumes, and wherein the chain corresponds to dependencies for running the container instance of the container image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2022
From: PABÓN, LUIS PABLO
To: PURE STORAGE, INC., A DELAWARE CORPORATION
Reel/Frame 058711/0905 →
Continuity (1)
Related Publication 20230229359A1 · Jul 20, 2023