IP Library Granted Patent US 12,578,903
Granted Patent B2
US 12,578,903 · App. 18/525,618 · Granted Mar 17, 2026

Providing container-based storage services using virtual storage

Inventors: Michael Richardson (Kansas City, MO); Ronald Karr (Palo Alto, CA)
Assignee: PURE STORAGE, INC.
G06F3/0659G06F3/0604G06F3/0665G06F3/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,578,903
App. No.
18/525,618
Granted
Mar 17, 2026
Kind
B2
Abstract

Providing scalable and reliable container-based storage services, including: deploying a containerized storage controller on a first node among of plurality of nodes operable to support execution of the containerized storage controller; associating a dataset stored in backing storage accessible by the first node with one or more virtualized volumes presented by the containerized storage controller; and providing, by the containerized storage controller to one or more client hosts, a set of storage services for the one or more virtualized volumes.

Claims (43)

1 . A method comprising:

associating, by a containerized storage controller application, a dataset with one or more virtualized volumes that provide a presentation of the dataset; and

providing, by the containerized storage controller application, a set of container-based storage services to one or more clients to access or modify the dataset via the one or more virtualized volumes.

2 . The method of claim 1 , wherein providing, by the containerized storage controller application, the set of container-based storage services further comprises providing an application programming interface (API) that allows the one or more clients to request the set of container-based storage services.

3 . The method of claim 1 , further comprising:

deploying different containerized storage controller applications to provide different container-based storage services for a single virtualized volume.

4 . The method of claim 1 , further comprising:

deploying the containerized storage controller application on a node in a cluster of nodes that support containerized storage controller execution.

5 . The method of claim 1 , wherein the containerized storage controller application includes a data services microcontroller.

6 . The method of claim 1 further comprising:

deploying an additional containerized storage controller application; and

offloading at least one storage service to the additional containerized storage controller application.

7 . The method of claim 1 further comprising:

deploying an upgraded version of a containerized storage controller application that presents the one or more virtualized volumes; and

redirecting a client host from the containerized storage controller application to the upgraded version.

8 . The method of claim 1 further comprising:

deploying a plurality of containerized storage controller applications on a plurality of nodes operable to support execution of the plurality of containerized storage controller applications, wherein each of the plurality of containerized storage controller applications presents one or more virtualized volumes that virtualizes backing storage resources; and

constructing a cluster configuration database that identifies each containerized storage controller application and the one or more virtualized volumes presented.

9 . The method of claim 1 , wherein containerized storage controller applications are deployed on a plurality of nodes that include on-premises servers and cloud-based computing instances.

10 . The method of claim 1 , wherein backing storage includes a plurality of storage tiers.

11 . An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

associating, by a containerized storage controller application, a dataset with one or more virtualized volumes that provide a presentation of the dataset; and

providing, by the containerized storage controller application, a set of container-based storage services to one or more clients to access or modify the dataset via the one or more virtualized volumes.

12 . The apparatus of claim 11 , wherein providing, by the containerized storage controller application, the set of container-based storage services further comprises providing an application programming interface (API) that allows the one or more clients to request the set of container-based storage services.

13 . The apparatus of claim 11 , further comprising:

deploying different containerized storage controller applications to provide different container-based storage services for a single virtualized volume.

14 . The apparatus of claim 11 , further comprising:

deploying the containerized storage controller application on a node in a cluster of nodes that support containerized storage controller execution.

15 . The apparatus of claim 11 , wherein the containerized storage controller application includes a data services microcontroller.

16 . The apparatus of claim 11 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

deploying an additional containerized storage controller application; and

offloading at least one storage service to the additional containerized storage controller application.

17 . The apparatus of claim 11 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

deploying an upgraded version of a containerized storage controller application that presents the one or more virtualized volumes; and

redirecting a client host from the containerized storage controller application to the upgraded version.

18 . The apparatus of claim 11 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

deploying a plurality of containerized storage controller applications on a plurality of nodes operable to support execution of the plurality of containerized storage controller applications, wherein each of the plurality of containerized storage controller applications presents one or more virtualized volumes that virtualizes backing storage resources; and

constructing a cluster configuration database that identifies each containerized storage controller application and the one or more virtualized volumes presented.

19 . A computer program product disposed upon a computer readable storage medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

deploying a containerized storage controller application on a first node among a plurality of nodes operable to support execution of the containerized storage controller application;

associating, by the containerized storage controller application, a dataset stored in backing storage accessible by the first node with one or more virtualized volumes, presented by the containerized storage controller application, that provides a presentation of the dataset; and

providing, by the containerized storage controller application to one or more client hosts, a set of storage services to access or modify the dataset using the one or more virtualized volumes.

20 . The computer program product of claim 19 further comprising computer program instructions that, when executed by the computer, cause the computer to carry out the step of storing configuration metadata for the containerized storage controller application in the backing storage, wherein the configuration metadata includes at least a data services policy relating to the one or more virtualized volumes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2023
From: RICHARDSON, MICHAEL; KARR, RONALD
To: PURE STORAGE, INC.
Reel/Frame 065760/0274 →
Continuity (8)
Continuation 17223570 · Apr 6, 2021
Continuation In Part 16777211 · Jan 30, 2020
Provisional Application 63150259 · Feb 17, 2021
Provisional Application 62967368 · Jan 29, 2020
Provisional Application 62900998 · Sep 16, 2019
Provisional Application 62878877 · Jul 26, 2019
Provisional Application 62875947 · Jul 18, 2019
Related Publication 20240256183A1 · Aug 1, 2024
References Cited (43)
US 5615352A · Jacobson et al. · 1997 [cited by applicant]
US 7975115B2 · Wayda et al. · 2011 [cited by applicant]
US 8504797B2 · Mimatsu · 2013 [cited by applicant]
US 8822155B2 · Sukumar et al. · 2014 [cited by applicant]
US 9280678B2 · Redberg · 2016 [cited by applicant]
US 9395922B2 · Nishikido et al. · 2016 [cited by applicant]
US 10324639B2 · Seo · 2019 [cited by applicant]
US 10567406B2 · Astigarraga 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 11076509B2 · Alissa et al. · 2021 [cited by applicant]
US 11106810B2 · Natanzon et al. · 2021 [cited by applicant]
US 11194707B2 · Stalzer · 2021 [cited by applicant]
US 11210009B1 · Freilich et al. · 2021 [cited by applicant]
US 20080256141A1 · Wayda et al. · 2008 [cited by applicant]
US 20100306500A1 · Mimatsu · 2010 [cited by applicant]
US 20110035540A1 · Fitzgerald et al. · 2011 [cited by applicant]
US 20110302415A1 · Ahmad et al. · 2011 [cited by applicant]
US 20140006354A1 · Parkison et al. · 2014 [cited by applicant]
US 20140220561A1 · Sukumar et al. · 2014 [cited by applicant]
US 20150154418A1 · Redberg · 2015 [cited by applicant]
US 20160026397A1 · Nishikido et al. · 2016 [cited by applicant]
US 20160182542A1 · Staniford · 2016 [cited by applicant]
US 20160248631A1 · Duchesneau · 2016 [cited by applicant]
US 20170262202A1 · Seo · 2017 [cited by applicant]
US 20180054454A1 · Astigarraga et al. · 2018 [cited by applicant]
US 20180357017A1 · Karr et al. · 2018 [cited by applicant]
US 20190220315A1 · Vallala et al. · 2019 [cited by applicant]
US 20190265915A1 · Greenwood et al. · 2019 [cited by applicant]
US 20200034560A1 · Natanzon et al. · 2020 [cited by applicant]
US 20200326871A1 · Wu et al. · 2020 [cited by applicant]
US 20210360833A1 · Alissa et al. · 2021 [cited by applicant]
US 20220156114A1 · Nagpal · 2022 [cited by examiner]
CN 103034453A · 2013 [cited by applicant]
CN 104516768A · 2015 [cited by applicant]
CN 106603665A · 2017 [cited by applicant]
EP 2945065A2 · 2015 [cited by applicant]
WO WO2019209392A1 · 2019 [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2021/054670, mailed Jan. 28, 2022, 9 Pages. [cited by applicant]
Communication pursuant to Article 161(1) and 162 EPC for Application No. 21802538.5, mailed Apr. 5, 2023, 11 pages. [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]