# US 11,030,160 B1 · Projecting the effects of implementing various actions on a storage system

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

- Number: US 11,030,160 B1
- Document ID: US11030160B1
- Status: Granted
- Kind: B1
- Application number: 16/210,487
- Filed: 2018-12-05
- Granted: 2021-06-08
- Earliest claimed: 2015-12-15
- Assignees: Pure Storage, Inc.
- Applicants: Pure Storage, Inc.
- Inventors: Benjamin Borowiec; Terence Noonan
- Web page: https://patentgrep.com/patent/US11030160B1

## CPC

- G06F 16/1824: {implemented using Network-attached Storage [NAS] architecture (distributed or networked storage systems G06F3/067; protocols for distributed storage of data in a network H04L67/1097)}
- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/0629: {Configuration or reconfiguration of storage systems}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F 3/0688: {Non-volatile semiconductor memory arrays}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 16/951: Indexing; Web crawling techniques
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Proactive management of a plurality of storage arrays in a multi-array system, including: comparing one or more conditions of a particular storage array to conditions of other storage arrays in the multi-array system; and generating an action recommendation based on the comparison, the action recommendation specifying one or more actions for improving the conditions of the particular storage array relative to the conditions of the other storage arrays.

## Claims

### Claim 1

A method of proactive management in a multi-array system, the method comprising:
receiving, at a storage array services provider from a plurality of storage arrays of the multi-array system, one or more performance metrics;
comparing one or more performance metrics of a particular storage array in the plurality of storage arrays to one or more corresponding performance metrics of other storage arrays in the plurality of storage arrays;
identifying, based on the comparison, one or more actions for improving one or more conditions of the particular storage array; and
presenting one or more projected effects of implementing the one or more actions on the storage array.

### Claim 2 (depends on 1)

The method of claim 1 wherein the projected effects of implementing the one or more actions on the storage array are presented as part of one or more action recommendations.

### Claim 3 (depends on 2)

The method of claim 2 further comprising:
determining a proposed schedule for implementing at least one of the action recommendations; and
presenting the proposed schedule for implementing at least one of the action recommendations.

### Claim 4 (depends on 2)

The method of claim 2 wherein each of the one or more action recommendations includes a criticality level; and
the method further comprises highlighting one or more of the action recommendations in dependence upon the criticality level of each action recommendation.

### Claim 5 (depends on 2)

The method of claim 2 further comprising:
providing organizational options for presenting the one or more action recommendations; and
responsive to receiving a selection of one or more of the organizational options, presenting the one or more action recommendations in accordance with the selected organizational options.

### Claim 6 (depends on 5)

The method of claim 5 wherein the organizational options include:
one or more filtering criteria;
one or more sorting criteria; and
one or more search criteria.

### Claim 7 (depends on 2)

The method of claim 2 further comprising:
presenting the one or more action recommendations;
receiving a selection of a plurality of the action recommendations; and
receiving an instruction to apply all selected action recommendations.

### Claim 8

An apparatus for proactive management of a plurality of storage arrays in a multi-array system, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
receiving, at a storage array services provider from a plurality of storage arrays of the multi-array system, one or more performance metrics;
comparing one or more performance metrics of a particular storage array in the plurality of storage arrays to one or more corresponding performance metrics of other storage arrays in the plurality of storage arrays;
identifying, based on the comparison, one or more actions for improving one or more conditions of the particular storage array; and
presenting one or more projected effects of implementing the one or more actions on the storage array.

### Claim 9 (depends on 8)

The apparatus of claim 8 wherein the projected effects of implementing the one or more actions on the storage array are presented as part of one or more action recommendations.

### Claim 10 (depends on 9)

The apparatus of claim 9 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
determining a proposed schedule for implementing at least one of the action recommendations; and
presenting the proposed schedule for implementing at least one of the action recommendations.

### Claim 11 (depends on 9)

The apparatus of claim 9 wherein each of the one or more action recommendations includes a criticality level; and
the apparatus further comprises computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of highlighting one or more of the action recommendations in dependence upon the criticality level of each action recommendation.

### Claim 12 (depends on 9)

The apparatus of claim 9 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
providing organizational options for presenting the one or more action recommendations; and
responsive to receiving a selection of one or more of the organizational options, presenting the one or more action recommendations in accordance with the selected organizational options.

### Claim 13 (depends on 12)

The apparatus of claim 12 wherein the organizational options include:
one or more filtering criteria;
one or more sorting criteria; and
one or more search criteria.

### Claim 14 (depends on 9)

The apparatus of claim 9 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
presenting the one or more action recommendations;
receiving a selection of a plurality of the action recommendations; and
receiving an instruction to apply all selected action recommendations.

### Claim 15

A computer program product for proactive management of a plurality of storage arrays in a multi-array system, 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:
receiving, at a storage array services provider from a plurality of storage arrays of the multi-array system, one or more performance metrics;
comparing one or more performance metrics of a particular storage array in the plurality of storage arrays to one or more corresponding performance metrics of other storage arrays in the plurality of storage arrays;
identifying, based on the comparison, one or more actions for improving one or more conditions of the particular storage array; and
presenting one or more projected effects of implementing the one or more actions on the storage array.

### Claim 16 (depends on 15)

The computer program product of claim 15 wherein the projected effects of implementing the one or more actions on the storage array are presented as part of one or more action recommendations.

### Claim 17 (depends on 16)

The computer program product of claim 16 further comprising computer program instructions that, when executed, cause a computer to carry out the steps of:
determining a proposed schedule for implementing at least one of the action recommendations; and
presenting the proposed schedule for implementing at least one of the action recommendations.

### Claim 18 (depends on 16)

The computer program product of claim 16 wherein each of the one or more action recommendations includes a criticality level; and
the computer program product further comprises computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of highlighting one or more of the action recommendations in dependence upon the criticality level of each action recommendation.

### Claim 19 (depends on 16)

The computer program product of claim 16 further comprising computer program instructions that, when executed, cause a computer to carry out the steps of:
providing organizational options for presenting the one or more action recommendations; and
responsive to receiving a selection of one or more of the organizational options, presenting the one or more action recommendations in accordance with the selected organizational options.

### Claim 20 (depends on 16)

The computer program product of claim 16 further comprising computer program instructions that, when executed, cause a computer to carry out the steps of:
presenting the one or more action recommendations;
receiving a selection of a plurality of the action recommendations; and
receiving an instruction to apply all selected action recommendations.
