IP Library › Granted Patent US 12,639,172
Granted Patent B2
US 12,639,172 · App. 18/751,818 · Granted May 26, 2026

Container layer storage management

Inventors: Ronald Karr (Palo Alto, CA); Luis Pablo Pabón (Sturbridge, MA)
Assignee: Pure Storage, Inc.
G06F11/1464G06F16/122G06F16/184
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,639,172
App. No.
18/751,818
Granted
May 26, 2026
Kind
B2
Abstract

An illustrative method of container layer storage management includes coordinating a storing of container images in a first storage system; forming a dataset for a containerized application by instructing the first storage system to merge collections of files from a set of source datasets including at least one immutable source dataset; receiving a request for the dataset for the containerized application for recovery of the containerized application from a first server cluster to a second server cluster; and coordinating, in response to the request, a providing of access to a copy of the dataset of the containerized application, by a second storage system, to servers in the second server cluster to enable access by the containerized application on the second server cluster.

Claims (37)

1 . A method comprising:

coordinating, by a container storage management framework of a containerized application run-time environment operating on a first server cluster, a storing of container images in a first storage system, the container storage management framework forming a dataset for a containerized application by instructing the first storage system to merge collections of files from a set of source datasets including at least one immutable source dataset to construct a container image for the containerized application, the container image for the containerized application configured to be used by the containerized application run-time environment to run the containerized application on the first server cluster;

receiving, by a container storage management framework of a containerized application run-time environment operating on a second server cluster, a request for the dataset for the containerized application for recovery of the containerized application on the second server cluster; and

coordinating, by the container storage management framework of the containerized application run-time environment operating on the second server cluster and in response to the request, a providing of access to a copy of the dataset of the containerized application, by a second storage system, to servers in the second server cluster to enable access by the containerized application on the second server cluster.

2 . The method of claim 1 , wherein the request is received from a container management platform coresident with the containerized application run-time environment operating on the second server cluster.

3 . The method of claim 1 , wherein the coordinating the providing of access to the dataset comprises the container storage management framework of the containerized application run-time environment operating on the second server cluster instructing at least one of the first storage system and the second storage system to clone the dataset of the containerized application to the second storage system.

4 . The method of claim 1 , wherein the coordinating the providing of access to the copy of the dataset comprises the container storage management framework of the containerized application run-time environment operating on the second server cluster:

identifying a cloning capability between the first storage system and the second storage system; and

instructing, based on the identifying of the cloning capability, at least one of the first storage system and the second storage system to clone the dataset of the containerized application to the second storage system.

5 . The method of claim 1 , wherein the second storage system is the first storage system.

6 . The method of claim 1 , wherein the copy of the dataset of the containerized application is a copy of the dataset replicated to the second storage system.

7 . The method of claim 6 , wherein the coordinating the providing of access to the dataset comprises the container storage management framework of the containerized application run-time environment operating on the second server cluster instructing the second storage system to provide access to the copy of the dataset replicated to the second storage system.

8 . The method of claim 1 , wherein the forming the dataset for the containerized application comprises merging one or more layers of the container images to form the dataset implemented as contents of a managed directory of a file system, the managed directory associating management metadata and policies uniformly to the contents of the managed directory.

9 . The method of claim 1 , wherein the forming the dataset for the containerized application further comprises instructing the first storage system to copy data stored as objects in the set of source datasets into files in the collections of files that are merged to form the dataset for the containerized application.

10 . The method of claim 9 , wherein the providing the copy of the dataset comprises providing the one or more servers in the second server cluster access to the copy of the dataset based on instructions received from the container storage management framework of the containerized application run-time environment operating on the second server cluster.

11 . The method of claim 1 , wherein the storing of container images in the first storage system comprises the container storage management framework of the containerized application run-time environment operating on the first server cluster instructing the first storage system to retrieve and store, in a cache of the first storage system, one or more source datasets of the set of source datasets from one or more internet-accessible external sources.

12 . The method of claim 1 , wherein the container storage management framework is configured to provide the container image used by the containerized application run-time environment operating on the first server cluster to run the containerized application on one or more servers of the first server cluster.

13 . The method of claim 12 , wherein the container storage management framework is configured to provide persistent storage to the containerized application running on the one or more servers of the first server cluster.

14 . The method of claim 13 , wherein the container storage management framework is configured to use storage resources of the first storage system to provide the container image and the persistent storage.

15 . A method comprising:

storing, by a storage system, container images;

forming, by the storage system, a dataset for a containerized application by merging collections of files from a set of source datasets including at least one immutable source dataset, the merging performed based on instructions received from a container storage management framework of a containerized application run-time environment operating on a first server cluster, wherein the merging constructs a container image as part of the dataset for the containerized application, the container image for the containerized application configured to be used by the containerized application run-time environment to run the containerized application on the first server cluster;

providing, by the storage system, the dataset to one or more servers in the first server cluster to run the containerized application on the first server cluster;

creating, by the storage system, a copy of the dataset based on instructions received from a container storage management framework of a containerized application run-time environment operating on a second server cluster; and

providing, by the storage system, the copy of the dataset to one or more servers in the second server cluster to recover the containerized application on the second server cluster.

16 . The method of claim 15 , wherein copy of the dataset is a clone of the dataset.

17 . The method of claim 15 , wherein copy of the dataset is a replica copy of the dataset.

18 . A storage system comprising:

at least one processor; and

at least one memory storing instructions executable by the at least one processor to:

store container images;

form a dataset for a containerized application by merging collections of files from a set of source datasets including at least one immutable source dataset, the merging performed based on instructions received from a container storage management framework of a containerized application run-time environment operating on a first server cluster, wherein the merging constructs a container image as part of the dataset for the containerized application, the container image for the containerized application configured to be used by the containerized application run-time environment to run the containerized application on the first server cluster;

provide the dataset to one or more servers in the first server cluster to run the containerized application on the first server cluster;

create a copy of the dataset based on instructions received from a container storage management framework of a containerized application run-time environment operating on a second server cluster; and

provide the copy of the dataset to one or more servers in the second server cluster to recover the containerized application on the second server cluster.

19 . The system of claim 18 , wherein the forming the dataset for the containerized application comprises merging one or more layers of the container images to form the dataset.

20 . The system of claim 18 , wherein the dataset is implemented as a mutable volume.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2024
From: KARR, RONALD; PABÓN, LUIS PABLO
To: PURE STORAGE, INC.
Reel/Frame 067814/0520 →
Continuity (4)
Continuation In Part 17873988 · Jul 26, 2022
Continuation In Part 17733716 · Apr 29, 2022
Continuation In Part 17580098 · Jan 20, 2022
Related Publication 20240345930A1 · Oct 17, 2024
References Cited (72)
US 7975115B2 · Wayda et al. · 2011 [cited by applicant]
US 8495472B1 · Magerramov et al. · 2013 [cited by applicant]
US 8504797B2 · Mimatsu · 2013 [cited by applicant]
US 8706914B2 · Duchesneau · 2014 [cited by applicant]
US 8822155B2 · Sukumar et al. · 2014 [cited by applicant]
US 8918478B2 · Ozzie et al. · 2014 [cited by applicant]
US 9275063B1 · Natanzon · 2016 [cited by applicant]
US 9280678B2 · Redberg · 2016 [cited by applicant]
US 9395922B2 · Nishikido et al. · 2016 [cited by applicant]
US 9552299B2 · Stalzer · 2017 [cited by applicant]
US 9740403B2 · Storer et al. · 2017 [cited by applicant]
US 9864874B1 · Shanbhag et al. · 2018 [cited by applicant]
US 10025673B1 · Maccanti et al. · 2018 [cited by applicant]
US 10102356B1 · Sahin et al. · 2018 [cited by applicant]
US 10185495B2 · Katsuki · 2019 [cited by applicant]
US 10324639B2 · Seo · 2019 [cited by applicant]
US 10534671B1 · Zhao · 2020 [cited by examiner]
US 10567406B2 · Astigarraga et al. · 2020 [cited by applicant]
US 10678447B2 · Hallisey · 2020 [cited by applicant]
US 10810088B1 · Gu et al. · 2020 [cited by applicant]
US 10817392B1 · Mcauliffe et al. · 2020 [cited by applicant]
US 10846137B2 · Vallala et al. · 2020 [cited by applicant]
US 10877683B2 · Wu et al. · 2020 [cited by applicant]
US 10963349B2 · Dhamdhere et al. · 2021 [cited by applicant]
US 11029943B1 · Delchev et al. · 2021 [cited by applicant]
US 11106810B2 · Natanzon et al. · 2021 [cited by applicant]
US 11315178B1 · Ridenour · 2022 [cited by examiner]
US 11381476B2 · Fitzer et al. · 2022 [cited by applicant]
US 11388234B2 · Alagna et al. · 2022 [cited by applicant]
US 11500628B1 · Chawda · 2022 [cited by examiner]
US 11928082B1 · Sui · 2024 [cited by examiner]
US 11979300B2 · Fitzer et al. · 2024 [cited by applicant]
US 12019522B2 · Iyer · 2024 [cited by examiner]
US 12204778B1 · Ujjaini Gopal · 2025 [cited by examiner]
US 12235807B2 · Mou · 2025 [cited by examiner]
US 20110035540A1 · Fitzgerald et al. · 2011 [cited by applicant]
US 20190065213A1 · Li · 2019 [cited by examiner]
US 20190102265A1 · Ngo · 2019 [cited by examiner]
US 20190324786A1 · Ranjan et al. · 2019 [cited by applicant]
US 20190370023A1 · Israni et al. · 2019 [cited by applicant]
US 20200201693A1 · Jobi et al. · 2020 [cited by applicant]
US 20200264776A1 · Janse van Rensburg · 2020 [cited by examiner]
US 20210297487A1 · Hegde · 2021 [cited by applicant]
US 20220124150A1 · Alagna et al. · 2022 [cited by applicant]
US 20220129313A1 · Birsan · 2022 [cited by examiner]
US 20220179761A1 · McAuliffe · 2022 [cited by examiner]
US 20220308849A1 · Kumar · 2022 [cited by examiner]
US 20220342649A1 · Cao et al. · 2022 [cited by applicant]
US 20220398070A1 · Orozco Cervantes et al. · 2022 [cited by applicant]
US 20230036532A1 · Vajravel et al. · 2023 [cited by applicant]
US 20230067561A1 · Mehta · 2023 [cited by examiner]
US 20230082186A1 · Balcha · 2023 [cited by examiner]
US 20230176839A1 · Stefanov · 2023 [cited by examiner]
US 20230195577A1 · Darnell · 2023 [cited by examiner]
US 20230229561A1 · Iyer · 2023 [cited by examiner]
US 20240022472A1 · Krishnamurthy et al. · 2024 [cited by applicant]
US 20240069884A1 · Majumdar et al. · 2024 [cited by applicant]
US 20240220227A1 · Kerr et al. · 2024 [cited by applicant]
US 20240223471A1 · Fitzer et al. · 2024 [cited by applicant]
US 20240248739A1 · Ibrahim et al. · 2024 [cited by applicant]
US 20240273069A1 · Mou · 2024 [cited by examiner]
US 20240338345A1 · Kim · 2024 [cited by examiner]
US 20240396894A1 · Fisher · 2024 [cited by examiner]
US 20250028461A1 · Ujjaini Gopal · 2025 [cited by examiner]
US 20250258695A1 · Iyer · 2025 [cited by examiner]
CN 102782656A · 2012 [cited by applicant]
CN 103608786A · 2014 [cited by applicant]
WO WO2023212228A1 · 2023 [cited by applicant]
Hwang K., et al., “RAID-x: A New Distributed Disk Array for I/O-Centric Cluster Computing,” Proceedings of The Ninth International Symposium On High-performance Distributed Computing, IEEE Computer Society, Los Alamitos… [cited by applicant]
Stalzer M.A., “FlashBlades: System Architecture and Applications,” Proceedings of the 2nd Workshop on Architectures and Systems for Big Data, Association for Computing Machinery, New York, NY, 2012, pp. 10-14. [cited by applicant]
Storer M.W., et al., “Pergamum: Replacing Tape with Energy Efficient, Reliable, Disk-Based Archival Storage,” 6th USENIX Conference on File And Storage Technologies (FAST'08), San Jose, CA, USA, Feb. 26-29, 2008, 16 Pag… [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2025/034974 , mailed Oct. 14, 2025, 15 Pages. [cited by applicant]