# US 10,771,369 B2 · 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

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,771,369 B2
- Document ID: US10771369B2
- Status: Granted
- Kind: B2
- Application number: 15/462,987
- Filed: 2017-03-20
- Published: 2018-09-20
- Granted: 2020-09-08
- Earliest claimed: 2017-03-20
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: John J. Auvenshine; Perry J. Gallo; Bent B. Holst; Mikael H. Lindstrom
- Web page: https://patentgrep.com/patent/US10771369B2

## CPC

- H04L 43/16: Threshold monitoring
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- H04L 43/0876: Network utilisation, e.g. volume of load or congestion level
- H04L 41/0631: using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
- H04L 43/0829: Packet loss
- H04L 43/0852: Delays
- H04L 43/0888: Throughput
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 8)

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.

### Claim 11 (depends on 8)

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.

### Claim 12 (depends on 8)

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.

### Claim 13 (depends on 8)

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.

### Claim 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.

### Claim 15 (depends on 14)

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.

### Claim 16 (depends on 14)

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.

### Claim 17 (depends on 14)

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.

### Claim 18 (depends on 14)

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.

### Claim 19 (depends on 14)

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.
