IP Library Granted Patent US 9,335,932
Granted Patent B2
US 9,335,932 · App. 13/837,375 · Granted May 10, 2016

Storage unit selection for virtualized storage units

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,335,932
App. No.
13/837,375
Granted
May 10, 2016
Kind
B2
Abstract

Performance information for storage units located at a virtual data center is determined by executing storage administrator logic whose execution is controlled by a management entity different than the virtual data center provider. Performance expectations are automatically determined based on the determined performance information. In response to determining that a particular storage unit is incompatible with performance expectations applicable to the particular storage unit, embodiments cause a reduction in utilization of the particular storage unit. Based on determined performance information, another embodiment determines that a performance pattern indicating a physical co-location of a first storage unit and a second storage unit has occurred. In response to determining that the performance pattern indicating a physical co-location of a first storage unit and a second storage unit has occurred, the embodiment disables use of a selected storage unit of the first storage unit or the second storage unit for at least a particular purpose.

Claims (61)

1. A method comprising:

determining performance information for each storage unit of a plurality of storage units located at a virtual data center, wherein the determining is performed by executing storage administrator logic whose execution is controlled by a management entity different than a provider of the virtual data center;

automatically determining, based on the determined performance information, performance expectations

that include particular one or more performance expectations applicable to a particular storage unit;

determining that performance of the particular storage unit is incompatible with the particular one or more performance expectations;

based on the determined performance information, determining that a performance pattern indicating a physical co-location of a first storage unit and a second storage unit has occurred;

wherein the performance pattern is based on the first storage unit and the second storage unit performing similarly according to performance characteristics of data operations, at the first storage unit and at the second storage unit, included in the performance information;

in response to determining that the performance pattern has occurred, disabling use of a selected storage unit of the first storage unit or the second storage unit for at least a particular purpose;

causing, at least partially in response to determining that performance of the particular storage unit is incompatible with the particular one or more performance expectations, a reduction in utilization of the particular storage unit;

wherein the method is performed by one or more computing devices.

2. The method of claim 1 , wherein the particular one or more performance expectations indicate a particular minimum speed of accessing or saving data and determining that performance of the particular storage unit is incompatible with the particular one or more performance expectations comprises determining that a speed of accessing or saving data to the particular storage unit is frequently slower than the particular minimum speed.

3. The method of claim 1 , wherein the particular one or more performance expectations are applicable to a particular class of storage units, wherein the particular class of storage units is defined as storage units that are associated with a usage cost that is within a particular cost range.

4. The method of claim 1 , comprising determining the particular one or more performance expectations based on observed performance information received from a plurality of modules within two or more virtual machines, wherein each virtual machine of the two or more virtual machines is capable of communicating directly with at least one storage unit of the plurality of storage units.

5. The method of claim 1 , wherein causing a reduction in utilization of the particular storage unit comprises instructing a virtual machine to transfer data stored on the particular storage unit to a different storage unit.

6. The method of claim 1 , comprising directing requests to read or write data to one or more different target storage units instead of the particular storage unit.

7. The method of claim 1 , wherein at least a one storage unit of the plurality of storage units is at a first virtual data center and at least another storage unit of the plurality of storage units is at a second, different virtual data center.

8. A method comprising:

determining performance information for each storage unit of a plurality of storage units located at a virtual data center, wherein the determining is performed by executing storage administrator logic whose execution is controlled by a management entity different than a virtual data center provider;

based on the determined performance information, determining that a performance pattern indicating a physical co-location of a first storage unit and a second storage unit has occurred;

wherein the performance pattern is based on the first storage unit and the second storage unit performing similarly according to performance characteristics of data operations, at the first storage unit and at the second storage unit, included in the performance information;

in response to determining that the performance pattern has occurred, disabling use of a selected storage unit of the first storage unit or the second storage unit for at least a particular purpose;

wherein the method is performed by one or more devices.

9. The method of claim 8 , comprising determining that a performance pattern indicating a physical co-location of a first storage unit and a second storage unit has occurred by determining that response rates of the first storage unit and the second storage unit have been sufficiently similar on a plurality of different occasions.

10. The method of claim 8 , comprising determining that a performance pattern indicating a physical co-location of a first storage unit and a second storage unit has occurred by determining that a pattern of the first storage unit having a performance rate that is inversely correlated with a workload capacity of the second storage unit has occurred.

11. The method of claim 8 , comprising determining the performance information based on observed performance information received from a plurality of virtual machines, wherein each virtual machine of the plurality of virtual machines communicates directly with at least one storage unit of the plurality of storage units.

12. The method of claim 8 , comprising performing, at a storage unit management computer, the determining that the performance pattern has occurred and the disabling use of a selected storage unit of the first storage unit or the second storage unit for at least a particular purpose;

further comprising receiving, at the storage unit management computer, all requests to read information from or write information to the plurality of storage units from a client system before routing the requests to a storage unit of the plurality of storage units.

13. The method of claim 8 , wherein the particular purpose is storing data for a particular client.

14. The method of claim 8 , wherein the particular purpose is storing a copy of data stored in a non-selected storage unit of the first storage unit and the second storage unit.

15. A non-transitory computer-readable storage medium comprising one or more sequences of instructions which when executed by one or more processors cause the one or more processors to perform:

determining performance information for each storage unit of a plurality of storage units located at a virtual data center, wherein the determining is performed by executing storage administrator logic whose execution is controlled by a management entity different than the virtual data center provider;

automatically determining, based on the determined performance information, performance expectations

that include particular one or more performance expectations applicable to a particular storage unit;

determining that performance of the particular storage unit is incompatible with the particular one or more performance expectations;

based on the determined performance information, determining that a performance pattern indicating a physical co-location of a first storage unit and a second storage unit has occurred;

wherein the performance pattern is based on the first storage unit and the second storage unit performing similarly according to performance characteristics of data operations, at the first storage unit and at the second storage unit, included in the performance information;

in response to determining that the performance pattern has occurred, disabling use of a selected storage unit of the first storage unit or the second storage unit for at least a particular purpose; and

causing, at least partially in response to determining that performance of the particular storage unit is incompatible with the particular one or more performance expectations, a reduction in utilization of the particular storage unit.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the particular one or more performance expectations indicate a particular minimum speed of accessing or saving data and determining that performance of the particular storage unit is incompatible with the particular one or more performance expectations comprises determining that a speed of accessing or saving data to the particular storage unit is frequently slower than the particular minimum speed.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the particular one or more performance expectations are applicable to a particular class of storage units, wherein the particular class of storage units is defined as storage units that are associated with a usage cost that is within a particular cost range.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the sequences of instructions which when executed by the one or more processors cause the one or more processors to perform:

determining the particular one or more performance expectations based on observed performance information received from a plurality of modules within two or more virtual machines, wherein each virtual machine of the two or more virtual machines is capable of communicating directly with at least one storage unit of the plurality of storage units.

19. The non-transitory computer-readable storage medium of claim 15 , wherein causing a reduction in utilization of the particular storage unit comprises instructing a virtual machine to transfer data stored on the particular storage unit to a different storage unit.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the sequences of instructions which when executed by the one or more processors cause the one or more processors to perform:

directing requests to read or write data to one or more different target storage units instead of the particular storage unit.

21. The non-transitory computer-readable storage medium of claim 15 , wherein at least one storage unit of the plurality of storage units is at a first virtual data center and at least another storage unit of the plurality of storage units is at a second, different, virtual data center.

22. A non-transitory computer-readable storage medium comprising one or more sequences of instructions which when executed by one or more processors cause the one or more processors to perform:

determining performance information for each storage unit of a plurality of storage units located at a virtual data center, wherein the determining is performed by executing storage administrator logic whose execution is controlled by a management entity different than a virtual data center provider;

based on the determined performance information, determining that a performance pattern indicating a physical co-location of a first storage unit and a second storage unit has occurred;

wherein the performance pattern is based on the first storage unit and the second storage unit performing similarly according to performance characteristics of data operations, at the first storage unit and at the second storage unit, included in the performance information;

in response to determining that the performance pattern has occurred, disabling use of a selected storage unit of the first storage unit or the second storage unit for at least a particular purpose.

23. The non-transitory computer-readable storage medium of claim 22 , wherein the sequences of instructions which when executed by the one or more processors cause the one or more processors to perform:

determining that a performance pattern indicating a physical co-location of a first storage unit and a second storage unit has occurred by determining that response rates of the first storage unit and the second storage unit have been sufficiently similar on a plurality of different occasions.

24. The non-transitory computer-readable storage medium of claim 22 , wherein the sequences of instructions which when executed by the one or more processors cause the one or more processors to perform:

determining that a performance pattern indicating a physical co-location of a first storage unit and a second storage unit has occurred by determining that a pattern of the first storage unit having a performance rate that is inversely correlated with a workload capacity of the second storage unit has occurred.

25. The non-transitory computer-readable storage medium of claim 22 , wherein the sequences of instructions which when executed by the one or more processors cause the one or more processors to perform:

determining the performance information based on observed performance information received from a plurality of virtual machines, wherein each virtual machine of the plurality of virtual machines communicates directly with at least one storage unit of the plurality of storage units.

26. The non-transitory computer-readable storage medium of claim 22 , wherein the sequences of instructions which when executed by the one or more processors cause the one or more processors to perform:

performing, at a storage unit management computer, the determining that the performance pattern has occurred and the disabling use of a selected storage unit of the first storage unit or the second storage unit for at least a particular purpose;

receiving, at the storage unit management computer, all requests to read information from or write information to the plurality of storage units from a client system before routing the requests to a storage unit of the plurality of storage units.

27. The non-transitory computer-readable storage medium of claim 22 , wherein the particular purpose is storing data for a particular client.

Assignments (5)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2018
From: IMMUTABLE SYSTEMS, INC.
To: VMWARE, INC.
Reel/Frame 045775/0119 →
CHANGE OF NAME Recorded May 10, 2018
From: BRACKET COMPUTING, INC.
To: IMMUTABLE SYSTEMS, INC.
Reel/Frame 046129/0102 →
CHANGE OF NAME Recorded Apr 26, 2018
From: BRACKET COMPUTING, INC.
To: IMMUTABLE SYSTEMS, INC.
Reel/Frame 046026/0563 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2013
From: LANGO, JASON A.; EDWARDS, JOHN K.
To: BRACKET COMPUTING, INC.
Reel/Frame 030558/0993 →