IP Library Granted Patent US 11,711,426
Granted Patent B2
US 11,711,426 · App. 17/389,457 · Granted Jul 25, 2023

Providing storage resources from a storage pool

Inventors: Benjamin Borowiec (San Jose, CA); Terence Noonan (Vadnais Heights, MN); Patrick East (Bellevue, WA)
Assignee: Pure Storage, Inc.
H04L67/1097H04L67/1001H04L67/56
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,711,426
App. No.
17/389,457
Granted
Jul 25, 2023
Kind
B2
Abstract

Locally providing cloud storage array services for a plurality of storage systems within a data center by: receiving a request for storage resources from an operating system level virtualization service; determining, among the plurality of storage systems; an implementation of the request from the operating system level virtualization service; and providing storage resources to the operating system level virtualization service in accordance with the implementation of the request from the operating system level virtualization service.

Claims (41)

1. A method comprising:

receiving a request for storage resources from an operating system level virtualization service;

determining, among the plurality of storage systems, an implementation of the request from the operating system level virtualization service; and

providing storage resources to the operating system level virtualization service in accordance with the implementation of the request from the operating system level virtualization service based on aggregated performance metrics and data storage usage characteristics associated with one or more storage systems that are utilized to provide the storage resources.

2. The method of claim 1 wherein the request for storage resources includes a request for one or more volumes that can be utilized by the operating system level virtualization service.

3. The method of claim 1 wherein the request for storage resources includes a request to implement one or more data security protocols for communications between the operating system level virtualization service and the storage resources.

4. The method of claim 1 wherein the storage resources are provided to the operating system level virtualization service in dependence upon aggregated performance metrics and data storage usage characteristics associated with one or more storage systems that are utilized to provide the storage resources.

5. The method of claim 4 further comprising receiving, from the one or more storage systems from among the plurality of storage systems, one or more performance analyses.

6. The method of claim 5 wherein providing storage resources to the operating system level virtualization service comprises:

determining, based at least upon the one or more performance analyses for the one or more storage systems, an implementation of the request that is modified to improve one or more metrics corresponding to the one or more performance analyses.

7. The method of claim 1 wherein providing the storage resources to the operating system level virtualization service further comprises providing, by a primary storage system among the plurality of storage systems, the storage resources.

8. The method of claim 1 further comprising:

generating metadata describing one or more results from the implementation of the request from the operating system level virtualization service; and

presenting the metadata to a client computing device through a local area network.

9. The method of claim 8 , wherein a data center further comprises the plurality of storage systems, including a primary storage system, and generating, by the cloud storage array services, metadata describing one or more real-time storage system characteristics further comprises:

generating metadata describing one or more real-time storage system characteristics of each of the plurality of the storage systems; and

aggregating the metadata of each of the plurality of storage systems.

10. The method of claim 1 , wherein the plurality of storage systems include a primary storage system, and wherein providing the storage resources to the operating system level virtualization service further comprises:

selecting, by the primary storage system in dependence upon workload characteristics of each of the plurality of storage systems, one of the plurality of storage systems to provide the storage resources to the operating system level virtualization service.

11. The method of claim 10 , further comprising:

detecting, by the primary storage system, a change in workload characteristics of each of the plurality of storage systems; and

re-selecting one of the plurality of storage systems to provide the storage resources to the operating system level virtualization service in dependence upon the changed workload characteristics.

12. The method of claim 10 , further comprising operating, by the primary storage system, as a proxy for the selected storage system when the selected storage system is not the primary storage system.

13. An apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, where the computer memory includes computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

receiving a request for storage resources from an operating system level virtualization service;

determining, among the plurality of storage systems; an implementation of the request from the operating system level virtualization service; and

providing storage resources to the operating system level virtualization service in accordance with the implementation of the request from the operating system level virtualization service based on aggregated performance metrics and data storage usage characteristics associated with one or more storage systems that are utilized to provide the storage resources.

14. The apparatus of claim 13 wherein the storage resources are provided to the operating system level virtualization service in dependence upon aggregated performance metrics and data storage usage characteristics associated with one or more storage systems that are utilized to provide the storage resources.

15. The apparatus of claim 14 , further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of receiving, from the one or more storage systems from among the plurality of storage systems, one or more performance analyses.

16. The apparatus of claim 15 wherein providing storage resources to the operating system level virtualization service comprises:

determining, based at least upon the one or more performance analyses for the one or more storage systems, an implementation of the request that is modified to improve one or more metrics corresponding to the one or more performance analyses.

17. The apparatus of claim 13 wherein providing the storage resources to the operating system level virtualization service further comprises:

selecting, in dependence upon workload characteristics of each of the plurality of storage systems, one of the plurality of storage systems to provide the storage resources to the operating system level virtualization service.

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

detecting, by the primary storage system, a change in workload characteristics of each of the plurality of storage systems; and

re-selecting one of the plurality of storage systems to provide the storage resources to the operating system level virtualization service in dependence upon the changed workload characteristics.

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

receiving a request for storage resources from an operating system level virtualization service;

determining, among the plurality of storage systems; an implementation of the request from the operating system level virtualization service; and

providing storage resources to the operating system level virtualization service in accordance with the implementation of the request from the operating system level virtualization service based on aggregated performance metrics and data storage usage characteristics associated with one or more storage systems that are utilized to provide the storage resources.

20. The computer program product of claim 19 wherein the storage resources are provided to the operating system level virtualization service in dependence upon aggregated performance metrics and data storage usage characteristics associated with one or more storage systems that are utilized to provide the storage resources.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2021
From: BOROWIEC, BENJAMIN; NOONAN, TERENCE; EAST, PATRICK
To: PURE STORAGE, INC.
Reel/Frame 057029/0419 →
Continuity (5)
Continuation 16254859 · Jan 23, 2019
Continuation In Part 15967189 · Apr 30, 2018
Continuation 15419551 · Jan 30, 2017
Continuation 14721571 · May 26, 2015
Related Publication 20210360068A1 · Nov 18, 2021