IP Library Granted Patent US 9,716,755
Granted Patent B2
US 9,716,755 · App. 14/721,571 · Granted Jul 25, 2017

Providing cloud storage array services by a local storage array in a data center

Inventors: Benjamin P. Borowiec (Santa Clara, CA); Terence W. Noonan (Vadnais Heights, MN)
Assignee: Pure Storage, Inc.
H04L67/1097H04L67/1002
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 9,716,755
App. No.
14/721,571
Granted
Jul 25, 2017
Kind
B2
Abstract

Locally providing cloud storage array services for a storage array of a data center when the storage array is not connected to a remote cloud-based storage array services provider includes initiating, by a primary storage array, one or more cloud storage array services and locally providing the cloud storage array services. Such local providing of the cloud storage array services also includes generating, by the cloud storage array services, metadata describing one or more real-time storage array characteristics and presenting the metadata to a user through a local area network.

Claims (63)

1. A method of locally providing cloud storage array services for a storage array of a data center when the storage array is not connected to a remote cloud-based storage array services provider, the data center including a plurality of storage arrays, including a primary storage array, the method comprising:

initiating, by the primary storage array, one or more cloud storage array services, including selecting, by the primary storage array in dependence upon workload characteristics of each of the plurality of storage arrays, one of the plurality of storage arrays to host the one or more cloud storage array services; and

locally providing the cloud storage array services including:

generating, by the cloud storage array services, metadata describing one or more real-time storage array characteristics; and

presenting the metadata to a user through a local area network.

2. The method of claim 1 , further comprising:

detecting, by the primary storage array prior to initiating the cloud storage array services by the primary storage array, a data communications connection between the primary storage array and a remote cloud-based storage array services provider, wherein the remote cloud-based storage array services provider provides the one or more cloud storage array services; and

detecting, by the primary storage array, loss of the data communications connection between the primary storage array and the remote cloud-based storage array services provider, wherein:

initiating the one or more cloud storage array services by the primary storage array further comprises initiating the one or more cloud storage array services by the primary storage array only in response to detecting the loss of the data communications connection between the primary storage array and the remote, cloud-based storage array services provider.

3. The method of claim 2 , wherein the data center further comprises a plurality of storage arrays, including the primary storage array and the method further comprises:

prior to detecting the loss of the data communications connection between the primary storage array and the remote, cloud-based storage array services provider:

periodically retrieving, by the primary storage array from the remote cloud-based storage array services provider, a current configuration of the cloud storage array services and the plurality of storage arrays.

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

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

aggregating, for presentation to the user, the metadata of each of the plurality of storage arrays.

5. The method of claim 1 , further comprising:

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

re-selecting one of the plurality of storage arrays to host the one or more cloud storage array services in dependence upon the changed workload characteristics.

6. The method of claim 1 , further comprising:

operating, by the primary storage array, as a proxy for the selected storage array when the selected storage array is not the primary storage array; and

presenting the metadata to a user through a local area network further comprises presenting the metadata through the proxy of the primary storage array.

7. An apparatus for locally providing cloud storage array services for a storage array of a data center when the storage array is not connected to a remote cloud-based storage array services provider, the data center including a plurality of storage arrays, including a primary storage array, the 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:

initiating, by the primary storage array, one or more cloud storage array services, including selecting, by the primary storage array in dependence upon workload characteristics of each of the plurality of storage arrays, one of the plurality of storage arrays to host the one or more cloud storage array services; and

locally providing the cloud storage array services including:

generating, by the cloud storage array services, metadata describing one or more real-time storage array characteristics; and

presenting the metadata to a user through a local area network.

8. The apparatus of claim 7 , 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 array prior to initiating the cloud storage array services by the primary storage array, a data communications connection between the primary storage array and a remote cloud-based storage array services provider, wherein the remote cloud-based storage array services provider provides the one or more cloud storage array services; and

detecting, by the primary storage array, loss of the data communications connection between the primary storage array and the remote cloud-based storage array services provider, wherein:

initiating the one or more cloud storage array services by the primary storage array further comprises initiating the one or more cloud storage array services by the primary storage array only in response to detecting the loss of the data communications connection between the primary storage array and the remote, cloud-based storage array services provider.

9. The apparatus of claim 8 , wherein the data center further comprises a plurality of storage arrays, including the primary storage array and the apparatus further comprises computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

prior to detecting the loss of the data communications connection between the primary storage array and the remote, cloud-based storage array services provider:

periodically retrieving, by the primary storage array from the remote cloud-based storage array services provider, a current configuration of the cloud storage array services and the plurality of storage arrays.

10. The apparatus of claim 7 , wherein the data center further comprises a plurality of storage arrays, including the primary storage array, and generating, by the cloud storage array services, metadata describing one or more real-time storage array characteristics further comprises:

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

aggregating, for presentation to the user, the metadata of each of the plurality of storage arrays.

11. The apparatus of claim 7 , 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 array, a change in workload characteristics of each of the plurality of storage arrays; and

re-selecting one of the plurality of storage arrays to host the one or more cloud storage array services in dependence upon the changed workload characteristics.

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

operating, by the primary storage array, as a proxy for the selected storage array when the selected storage array is not the primary storage array; and

presenting the metadata to a user through a local area network further comprises presenting the metadata through the proxy of the primary storage array.

13. A computer program product for locally providing cloud storage array services for a storage array of a data center when the storage array is not connected to a remote cloud-based storage array services provider, the data center including a plurality of storage arrays, including a primary storage array, the computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

initiating, by a primary storage array, one or more cloud storage array services, including selecting, by the primary storage array in dependence upon workload characteristics of each of the plurality of storage arrays, one of the plurality of storage arrays to host the one or more cloud storage array services; and

locally providing the cloud storage array services including:

generating, by the cloud storage array services, metadata describing one or more real-time storage array characteristics; and

presenting the metadata to a user through a local area network.

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

detecting, by the primary storage array prior to initiating the cloud storage array services by the primary storage array, a data communications connection between the primary storage array and a remote cloud-based storage array services provider, wherein the remote cloud-based storage array services provider provides the one or more cloud storage array services; and

detecting, by the primary storage array, loss of the data communications connection between the primary storage array and the remote cloud-based storage array services provider, wherein:

initiating the one or more cloud storage array services by the primary storage array further comprises initiating the one or more cloud storage array services by the primary storage array only in response to detecting the loss of the data communications connection between the primary storage array and the remote, cloud-based storage array services provider.

15. The computer program product of claim 14 , wherein the data center further comprises a plurality of storage arrays, including the primary storage array further comprising computer program instructions that, when executed, cause the computer to carry out the steps of:

prior to detecting the loss of the data communications connection between the primary storage array and the remote, cloud-based storage array services provider:

periodically retrieving, by the primary storage array from the remote cloud-based storage array services provider, a current configuration of the cloud storage array services and the plurality of storage arrays.

16. The computer program product of claim 13 , wherein the data center further comprises a plurality of storage arrays, including the primary storage array, and generating, by the cloud storage array services, metadata describing one or more real-time storage array characteristics further comprises:

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

aggregating, for presentation to the user, the metadata of each of the plurality of storage arrays.

17. The computer program product of claim 13 , further comprising computer program instructions that, when executed, cause the computer to carry out the steps of:

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

re-selecting one of the plurality of storage arrays to host the one or more cloud storage array services in dependence upon the changed workload characteristics.

18. The computer program product of claim 13 , further comprising computer program instructions that, when executed, cause the computer to carry out the steps of:

operating, by the primary storage array, as a proxy for the selected storage array when the selected storage array is not the primary storage array; and

presenting the metadata to a user through a local area network further comprises presenting the metadata through the proxy of the primary storage array.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2015
From: BOROWIEC, BENJAMIN P.; NOONAN, TERENCE W.
To: PURE STORAGE, INC.
Reel/Frame 035712/0745 →
Continuity (1)
Related Publication 20160352830A1 · Dec 1, 2016