# US 10,503,408 B2 · Deployment of an upgrade to a storage system based on correlation analysis of measurements of the storage system

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

- Number: US 10,503,408 B2
- Document ID: US10503408B2
- Status: Granted
- Kind: B2
- Application number: 14/455,837
- Filed: 2014-08-08
- Published: 2014-11-27
- Granted: 2019-12-10
- Earliest claimed: 2013-05-23
- Assignees: Hewlett Packard Enterprise Development LP
- Applicants: Hewlett Packard Enterprise Development LP
- Inventors: Larry Lancaster
- Web page: https://patentgrep.com/patent/US10503408B2

## CPC

- G06F 3/0611: {in relation to response time}
- G06F 3/0653: {Monitoring storage devices or systems}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 11/3034: {where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; 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], H04L67/1097)}
- G06F 11/3419: {by assessing time}
- G06F 11/3452: {Performance evaluation by statistical analysis}
- H04L 43/0852: Delays
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Described herein are methods, systems and machine-readable media that facilitate an analysis of the contributing factors of storage system latency. The variation over time of the storage system latency is measured, along with the variation over time of the activity of various processes and/or components, the various processes and/or components being potentially contributing factors to the storage system latency. The latency measurements are correlated with the process and/or component measurements. High correlation, while not providing direct evidence of the causation of latency, is nevertheless used to identify likely factors (i.e., processes, components) contributing to latency. The latency measurements are plotted over time, the plot including supplemental information indicating, at any time instant, likely factors contributing to the storage system latency.

## Claims

### Claim 1

A method for determining and deploying an upgrade to a storage system, comprising:
determining, by an analysis server communicatively coupled to the storage system, a plurality of candidate factors that contribute to latency of the storage system;
receiving, by the analysis server, a latency time series from the storage system, wherein
the latency time series includes latency measurements measured by sensors at the storage system at different times over a particular time period;
determining, by the analysis server, a correlation time series for each of the candidate factors by correlating the latency time series of the storage system with each of the candidate factors;
generating, by the analysis server, a graph of the latency of the storage system over the particular time period by placing latency bands of the candidate factors corresponding to the correlation time series for the candidate factors on top of each other along a latency axis in the graph such that a height of the graph at each time instance in the particular time period is a sum of latencies contributed by each of the candidate factors;
determining, by the analysis server, an average height of each of the latency bands of the candidate factors over a time segment in the graph;
selecting, by the analysis server, one of the candidate factors that has a largest average height as a factor contributing most to the latency of the storage system;
and deploying an upgrade to the storage system to reduce the latency caused by the selected candidate factor, wherein the upgrade is one or more of a hardware upgrade and a software patch.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, subsequent to deploying the upgrade, determining whether the selected candidate factor is less correlated with the storage system latency, as compared to the selected candidate factor's correlation with the storage system latency prior to the upgrade.

### Claim 3 (depends on 1)

The method of claim 1, wherein one of the candidate factors that contributes to the latency of the storage system is a number of cache misses that occurred at the storage system.

### Claim 4 (depends on 1)

The method of claim 1, further comprising reporting, by the analysis server, the selected candidate factor to a client device.

### Claim 5 (depends on 1)

The method of claim 1, further comprising determining, by the analysis server, whether a first one of the candidate factors or a second one of the candidate factors is more correlated with the storage system latency.

### Claim 6 (depends on 5)

The method of claim 5, further comprising reporting, by the analysis server, the first candidate factor to a client device if the first candidate factor is more correlated with the storage system latency; otherwise, reporting, by the analysis server, the second candidate factor to the client device if the second candidate factor is more correlated with the storage system latency.

### Claim 7 (depends on 1)

The method of claim 1, further comprising determining a peak in the latency time series, and determining a candidate factor that contributes to the peak in the latency time series.

### Claim 8 (depends on 1)

The method of claim 1, wherein the latency time series comprises, for each of a plurality of read requests, a measurement of a length of time taken by the storage system to process the read request.

### Claim 9 (depends on 1)

The method of claim 1, wherein the latency time series comprises, for each of a plurality of write requests, a measurement of a length of time taken by the storage system to process the write request.

### Claim 10

An analysis server for processing measurements taken by one or more sensors instrumented on a storage system, the analysis server comprising:
a processor;
a memory communicatively coupled to the processor; and
a set of instructions on the memory that, when executed by the processor, cause the processor to:
determine a plurality of candidate factors that contribute to latency of the storage system;
receive a latency time series from the storage system, wherein the latency time series includes latency measurements measured by the one or more sensors at different times over a particular time period;
determine a correlation time series for each of the candidate factors by correlating the latency time series associated with the storage system with each of the candidate factors;
generate a graph of the latency of the storage system over the particular time period by placing latency bands of the candidate factors corresponding to the correlation time series for the candidate factors on top of each other along a latency axis in the graph such that a height of the graph at each time instance in the particular time period is a sum of latencies contributed by each of the candidate factors;
determine an average height of each of the latency bands of the candidate factors
over a time segment in the graph;
and select one of candidate factors that has a largest average height as a factor contributing most to the latency of the storage system, wherein based on the selected candidate factor, an upgrade is deployed to the storage system, wherein the upgrade is one or more of a hardware upgrade and a software patch.

### Claim 11 (depends on 10)

The analysis server of claim 10, wherein the set of instructions is to cause the processor to, subsequent to the upgrade, determine whether the selected candidate factor is less correlated with the storage system latency, as compared to the selected candidate factor's correlation with the storage system latency prior to the upgrade.

### Claim 12 (depends on 10)

The analysis server of claim 10, wherein the set of instructions is to cause the processor to determine whether a first one of the candidate factors or a second one of the candidate factors is more correlated with the storage system latency.

### Claim 13 (depends on 12)

The analysis server of claim 12, wherein the set of instructions is to cause the processor to report the first candidate factor to a client device if the first candidate factor is more correlated with the storage system latency; otherwise, report the second candidate factor to the client device if the second candidate factor is more correlated with the storage system latency.

### Claim 14 (depends on 10)

The analysis server of claim 10, wherein one of the candidate factors that contributes to the latency of the storage system is a number of cache misses that occurred at the storage system.

### Claim 15

A non-transitory machine-readable storage medium comprising software instructions that, when executed by a processor of an analysis server, cause the processor to:
determine candidate factors that contribute to latency of a storage system;
receive a latency time series from the storage system, wherein the latency time series includes latency measurements measured by one or more sensors at different times over a particular time period;
determine a correlation time series for each of the candidate factors by correlating the latency time series associated with the storage system with each of the candidate factors;
generate a graph of the latency of the storage system over the particular time period by placing latency bands of the candidate factors corresponding to the correlation time series for the candidate factors on top of each other along a latency axis in the graph such that a height of the graph at each time instance in the particular time period is a sum of latencies contributed by each of the candidate factors;
determine an average height of each of the latency bands of the candidate factors over a time segment in the graph;
select one of the plurality of candidate factors that has a largest average height as a factor contributing most to the latency of the storage system, wherein based on the selected candidate factor, an upgrade is deployed to the storage system, wherein the upgrade is one or more of a hardware upgrade and a software patch.

### Claim 16 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, further comprising software instructions that, when executed by the processor, cause the processor to, subsequent to the upgrade, determine whether the selected candidate factor is less correlated with the storage system latency, as compared to the selected candidate factor's correlation with the storage system latency prior to the upgrade.

### Claim 17 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, further comprising software instructions that, when executed by the processor, cause the processor to determine whether a first one of the candidate factors or a second one of the candidate factors is more correlated with the storage system latency.

### Claim 18 (depends on 17)

The non-transitory machine-readable storage medium of claim 17, further comprising software instructions that, when executed by the processor, cause
the processor to report the first candidate factor to a client device if the first candidate factor is more correlated with the storage system latency;
otherwise, report the second candidate factor to the client device if the second candidate factor is more correlated with the storage system latency.

### Claim 19 (depends on 15)

The non-transitory machine-readable storage medium of claim 15, wherein one of the candidate factors that contributes to the latency of the storage system is a number of cache misses that occurred at the storage system.
