IP Library › Granted Patent US 10,771,369
Granted Patent B2
US 10,771,369 · App. 15/462,987 · Granted Sep 8, 2020

Analyzing performance and capacity of a complex storage environment for predicting expected incident of resource exhaustion on a data path of interest by analyzing maximum values of resource usage over time

Inventors: John J. Auvenshine (Tucson, AZ); Perry J. Gallo (Tucson, AZ); Bent B. Holst (Broendby, DK); Mikael H. Lindstrom (Sollentuna, SE)
Assignee: International Business Machines Corporation
H04L43/16G06F3/067H04L41/147H04L43/0876H04L41/0631H04L43/0829H04L43/0852H04L43/0888H04L67/1097
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 10,771,369
App. No.
15/462,987
Granted
Sep 8, 2020
Kind
B2
Abstract

A method for predicting a failure of a complex storage environment is provided. An earliest expected incident of resource exhaustion on a data path of interest is predicted. The method includes monitoring a current utilization of one or more resources over a data path of interest, and calculating a maximum utilization threshold for each resource, such that exceeding the maximum utilization threshold adversely impacts one or more performance measures. An expected performance threshold is created that is associated with an expected performance. A maximum values of resource usage over time is analyzed to predict when the expected performance will fall outside of an acceptable overall performance threshold for the data path of interest to determine an earliest expected incident of resource exhaustion.

Claims (43)

1. A method for predicting a failure or performance degradation of a storage environment having a plurality of component and subcomponents, the method comprising:

monitoring, by a processor of a computing system, a current utilization of one or more resources associated with the plurality of components and subcomponents over a data path of interest, wherein the one or more resources affect one or more performance measures of the storage environment;

calculating, by the processor, a maximum utilization threshold for each resource of the one or more resources, such that exceeding the maximum utilization threshold impacts one or more performance measures, wherein the maximum utilization threshold is based on a maximum utilization of a component of the storage environment;

creating, by the processor, an expected performance threshold associated with an expected performance for each performance measure of the one or more performance measures over the data path of interest;

ascertaining, by the processor, an actual performance for each performance measure based on the monitoring of the current utilization;

analyzing, by the processor, maximum values of resource usage over time to predict when the expected performance will fall outside of an overall performance threshold for the data path of interest; and

determining, by the processor, an expected incident of resource exhaustion on the data path of interest based on the analyzing of the maximum values of resource usage over time;

wherein the computing system automatically performs a corrective action in response to the determining an expected incident of resource exhaustion on the data path of interest, the corrective action including automatically generating a purchase order to purchase a replacement component without a user reviewing the purchase order.

2. The method of claim 1 , further comprising alerting a user when at least one of the maximum utilization threshold is exceeded and the actual performance is outside the expected performance threshold.

3. The method of claim 1 , wherein, in response to the determining, a user is notified of the expected incident of resource exhaustion, further wherein resource exhaustion represents the failure or performance degradation of the storage environment.

4. The method of claim 1 , wherein a user is notified when the expected incident of resource exhaustion changes such that the expected incident of resource exhaustion is within a predetermined time period from the original expected incident of resource exhaustion.

5. The method of claim 1 , wherein the one or more component and subcomponents of the storage environment is selected from the group consisting of: a server, a host bus adapter (HBA), an edge switch, a core switch, a converged network switch, a SAN volume controller (SVC) or other storage virtualization device, a back end storage device or appliance, a backup or archive device or appliance, a port, a controller, a disk, an array, a node, and an I/O group.

6. The method of claim 1 , wherein the one or more resources include a bandwidth of ports, an internal or external bus, a connection, a buffer pool, an available cache, a processing power, a disk space, and a pool space.

7. The method of claim 1 , wherein the one or more performance measures are selected from the group consisting of: a completed input output per second (IOPS), a throughput, a latency, and a drop rate of frames, packets, input and outputs (IOs), or transactions.

8. A computer system, comprising:

a processor;

a memory device coupled to the processor; and

a computer readable storage device coupled to the processor, wherein the storage device contains program code executable by the processor via the memory device to implement a method for predicting a failure or performance degradation of a storage environment having a plurality of component and subcomponents, the method comprising:

monitoring, by a processor of a computing system, a current utilization of one or more resources associated with the plurality of components and subcomponents over a data path of interest, wherein the one or more resources affect one or more performance measures of the storage environment;

calculating, by the processor, a maximum utilization threshold for each resource of the one or more resources, such that exceeding the maximum utilization threshold impacts one or more performance measures, wherein the maximum utilization threshold is based on a maximum utilization of a component of the storage environment;

creating, by the processor, an expected performance threshold associated with an expected performance for each performance measure of the one or more performance measures over the data path of interest;

ascertaining, by the processor, an actual performance for each performance measure based on the monitoring of the current utilization;

analyzing, by the processor, maximum values of resource usage over time to predict when the expected performance will fall outside of an overall performance threshold for the data path of interest; and

determining, by the processor, an expected incident of resource exhaustion on the data path of interest based on the analyzing of the maximum values of resource usage over time;

wherein the computing system automatically performs a corrective action in response to the determining an expected incident of resource exhaustion on the data path of interest, the corrective action including automatically generating a purchase order to purchase a replacement component without a user reviewing the purchase order.

9. The computer system of claim 8 , further comprising alerting a user when at least one of: the maximum utilization threshold is exceeded and the actual performance is outside the expected performance threshold.

10. The computer system of claim 8 , wherein a user is notified of the expected incident of resource exhaustion, further wherein resource exhaustion represents the failure or performance degradation of the storage environment.

11. The computer system of claim 8 , wherein the one or more component and subcomponents of the storage environment is selected from the group consisting of: a server, a host bus adapter (HBA), an edge switch, a core switch, a converged network switch, a SAN volume controller (SVC) or other storage virtualization device, a back end storage device or appliance, a backup or archive device or appliance, a port, a controller, a disk, an array, a node, and an I/O group.

12. The computer system of claim 8 , wherein the one or more resources include a bandwidth of ports, an internal or external bus, a connection, a buffer pool, an available cache, a processing power, a disk space, and a pool space.

13. The computer system of claim 8 , wherein the one or more performance measures are selected from the group consisting of: a completed input output per second (IOPS), a throughput, a latency, and a drop rate of frames, packets, input and outputs (IOs), or transactions.

14. A computer program product, comprising a computer readable hardware storage device storing a computer readable program code, the computer readable program code comprising an algorithm that when executed by a computer processor of a computing system implements a method for predicting a failure or performance degradation of a storage environment having a plurality of component and subcomponents, comprising:

monitoring, by a processor of a computing system, a current utilization of one or more resources associated with the plurality of components and subcomponents over a data path of interest, wherein the one or more resources affect one or more performance measures of the storage environment;

calculating, by the processor, a maximum utilization threshold for each resource of the one or more resources, such that exceeding the maximum utilization threshold impacts one or more performance measures, wherein the maximum utilization threshold is based on a maximum utilization of a component of the storage environment;

creating, by the processor, an expected performance threshold associated with an expected performance for each performance measure of the one or more performance measures over the data path of interest;

ascertaining, by the processor, an actual performance for each performance measure based on the monitoring of the current utilization;

analyzing, by the processor, maximum values of resource usage over time to predict when the expected performance will fall outside of an overall performance threshold for the data path of interest; and

determining, by the processor, an expected incident of resource exhaustion on the data path of interest based on the analyzing of the maximum values of resource usage over time;

wherein the computing system automatically performs a corrective action in response to the determining an expected incident of resource exhaustion on the data path of interest, the corrective action including automatically generating a purchase order to purchase a replacement component without a user reviewing the purchase order.

15. The computer program product of claim 14 , further comprising alerting a user when at least one of the maximum utilization threshold is exceeded and the actual performance is outside the expected performance threshold.

16. The computer program product of claim 14 , wherein, in response to the determining a user is notified of the expected incident of resource exhaustion, further wherein resource exhaustion represents the failure or performance degradation of the storage environment.

17. The computer program product of claim 14 , wherein a user is notified when the expected incident of resource exhaustion changes such that the expected incident of resource exhaustion is within a predetermined time period from the original expected incident of resource exhaustion.

18. The computer program product of claim 14 , wherein the one or more resources include a bandwidth of ports, an internal or external bus, a connection, a buffer pool, an available cache, a processing power, a disk space, and a pool space.

19. The computer program product of claim 14 , wherein the one or more performance measures are selected from the group consisting of: a completed input output per second (IOPS), a throughput, a latency, a drop rate of frames, packets, input and outputs (IOs), or transactions.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2017
From: AUVENSHINE, JOHN J.; GALLO, PERRY J.; HOLST, BENT B.; LINDSTROM, MIKAEL H.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041638/0455 →
Continuity (1)
Related Publication 20180270128A1 · Sep 20, 2018