IP Library Granted Patent US 11,861,221
Granted Patent B1
US 11,861,221 · App. 17/223,570 · Granted Jan 2, 2024

Providing scalable and reliable container-based storage services

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 11,861,221
App. No.
17/223,570
Granted
Jan 2, 2024
Kind
B1
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:

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 provide 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.

2. The method of claim 1 , wherein the containerized storage controller application is a data services microcontroller providing one or more storage microservices.

3. The method of claim 1 further comprising 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.

4. The method of claim 3 further comprising:

deploying a second instance of the containerized storage controller application on a second node among the plurality of nodes using the configuration metadata.

5. The method of claim 4 , wherein the containerized storage controller application and the second instance of the containerized storage controller application are paired; and wherein the one or more virtualized volumes presented by the containerized storage controller application and one or more virtualized volumes presented by the second instance of the containerized storage controller application are replicas.

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 the 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 the 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 of the respective nodes; 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 the 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 the 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:

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 provide 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.

12. The apparatus of claim 11 , wherein the containerized storage controller application is a data services microcontroller providing one or more storage microservices.

13. The apparatus of claim 11 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus 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.

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

deploying a second instance of the containerized storage controller application on a second node among the plurality of nodes using the configuration metadata.

15. The apparatus of claim 14 , wherein the containerized storage controller application and the second instance of the containerized storage controller application are paired; and wherein the one or more virtualized volumes presented by the containerized storage controller application and one or more virtualized volumes presented by the second instance of the containerized storage controller application are replicas.

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 the 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 the 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 of the respective nodes; 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 provide 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 Apr 6, 2021
From: RICHARDSON, MICHAEL; KARR, RONALD
To: PURE STORAGE, INC.
Reel/Frame 055839/0466 →
Continuity (6)
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
Cited By (22)
US 12,210,895 US 12,242,599 US 12,321,771 US 12,348,519 US 12,355,770 US 12,379,978 US 12,423,418 US 12,432,242 US 12,450,683 US 12,474,945 US 12,542,828 US 12,561,467 US 12,603,921 US 12,645,455 US 12,657,024 US 12,664,058 US 12,669,996 US 12,670,246 US 12,688,030 US 12,688,545 US 12,695,793 US 12,700,056