# US 11,442,904 B2 · Systems and methods for tuning 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,442,904 B2
- Document ID: US11442904B2
- Status: Granted
- Kind: B2
- Application number: 16/058,583
- Filed: 2018-08-08
- Published: 2018-12-06
- Granted: 2022-09-13
- Earliest claimed: 2013-05-16
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Michael J. Baranowsky
- Web page: https://patentgrep.com/patent/US11442904B2

## CPC

- G06F 16/1827: {Management specifically adapted to NAS (management of storage area networks [SAN] G06F3/067)}
- 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/3433: {for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029)}
- G06F 3/061: {Improving I/O performance}
- 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/3414: {Workload generation, e.g. scripts, playback}
- G06F 11/3442: {for planning or managing the needed capacity}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Implementations described and claimed herein provide systems and methods for tuning and sizing one or more storage appliances in a storage system with respect to an application load and for optimizing a storage system based on a configuration of a client network and/or a storage appliance in a storage network. In one implementation, data corresponding to an application load configured to be applied to a storage appliance in the storage system is obtained. The application load is characterized in the context of a configuration of the storage system. One or more recommendations for optimizing performance of the storage system based on the characterized application load are generated.

## Claims

### Claim 1

A computer-implemented method comprising:
accessing a client network including a client device, the client device being configured to execute an application, and the application being configured to perform a function that causes the client device to interact with a storage appliance of a storage network;
collecting client configuration data associated with the client network, the client configuration data representing a first configuration associated with the client network, the first configuration indicating whether the client network can handle a load;
accessing the storage network including the storage appliance, the storage appliance storing the load;
collecting storage configuration data associated with the storage appliance, the storage configuration data representing a second configuration associated with the storage network, the second configuration indicating an operational limit, in context of the load, of the storage appliance;
accessing a supporting network infrastructure that facilitates communication between the client network and the storage network;
collecting network infrastructure data associated with the supporting network infrastructure, the network infrastructure data representing a third configuration associated with the supporting network infrastructure;
detecting an interaction between the client device and the storage appliance, the interaction enabling the client device to access the load stored at the storage appliance, and the interaction being associated with one or more performance parameters;
determining, based on the collected client configuration data, storage configuration data, or network infrastructure data, one or more network issues of at least one of the client network, the storage network and the infrastructure network;
tuning at least one of the client network, the storage network and the infrastructure network, the tuning comprising modifying at least one of the first configuration, the second configuration, and the third configuration based on the determined one or more network issues;
generating a load characteristic associated with the detected interaction, the load characteristic characterizing the client device accessing the load stored at the storage appliance, and the load characteristic being generated based on the collected client configuration data, storage configuration data, or network infrastructure data; and
modifying the one or more performance parameters associated with the interaction, the modification being based at least in part on the load characteristic, wherein modifying the one or more performance parameters associated with the interaction includes automatically determining one or more workflows for modifying the one or more performance parameters, each workflow of the one or more workflows enhancing a performance metric of the application.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the load characteristic is generated based on each of the collected client configuration data, storage configuration data, and network infrastructure data.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein modifying the one or more performance parameters is performed by limiting the function of the application.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein accessing the load stored at the storage appliance reduces a performance metric associated with the application.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the modification of the one or more performance parameters improves the performance metric associated with the application.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, further comprising:
comparing the load characteristic with a client baseline associated with the client network, the client baseline indicating an attribute of the client network prior to the load being accessed by the client device; and
determining whether to modify the one or more performance parameters based on the comparison.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein generating the load characteristic further comprises generating the load characteristic based on tuned network data, the tuned network data being based on a modified version of one or more of the first configuration, the second configuration, or the third configuration.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, further comprising generating a report of recommendations based on the load characteristic, wherein tuning at least one of the client network, the storage network and the infrastructure network includes deploying at least a subset of the report of recommendations.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein determining one or more network issues of at least one of the client network, the storage network and the infrastructure network includes validating one or more components of the storage network by examining one or more physical components of the storage network for identifying faults in the storage network.

### Claim 10

A system, comprising:
one or more data processors; and
a non-transitory computer-readable storage medium containing instructions which, when executed on the one or more data processors, cause the one or more data processors to perform operations including:
accessing a client network including a client device, the client device being configured to execute an application, and the application being configured to perform a function that causes the client device to interact with a storage appliance of a storage network;
collecting client configuration data associated with the client network, the client configuration data representing a first configuration associated with the client network, the first configuration indicating whether the client network can handle a load;
accessing the storage network including the storage appliance, the storage appliance storing a load;
collecting storage configuration data associated with the storage appliance, the storage configuration data representing a second configuration associated with the storage network, the second configuration indicating an operational limit, in context of the load, of the storage appliance;
accessing a supporting network infrastructure that facilitates communication between the client network and the storage network;
collecting network infrastructure data associated with the supporting network infrastructure, the network infrastructure data representing a third configuration associated with the supporting network infrastructure;
detecting an interaction between the client device and the storage appliance, the interaction enabling the client device to access the load stored at the storage appliance, and the interaction being associated with one or more performance parameters;
determining, based on the collected client configuration data, storage configuration data, or network infrastructure data, one or more network issues of at least one of the client network, the storage network and the infrastructure network;
tuning at least one of the client network, the storage network and the infrastructure network, the tuning comprising modifying at least one of the first configuration, the second configuration, and the third configuration based on the determined one or more network issues;
generating a load characteristic associated with the detected interaction, the load characteristic characterizing the client device accessing the load stored at the storage appliance, and the load characteristic being generated based on the collected client configuration data, storage configuration data, or network infrastructure data; and
modifying the one or more performance parameters associated with the interaction, the modification being based at least in part on the load characteristic, wherein modifying the one or more performance parameters associated with the interaction includes automatically determining one or more workflows for modifying the one or more performance parameters, each workflow of the one or more workflows enhancing a performance metric of the application.

### Claim 11 (depends on 10)

The system of claim 10, wherein the load characteristic is generated based on each of the collected client configuration data, storage configuration data, and network infrastructure data.

### Claim 12 (depends on 10)

The system of claim 10, wherein modifying the one or more performance parameters is performed by limiting the function of the application.

### Claim 13 (depends on 10)

The system of claim 10, wherein accessing the load stored at the storage appliance reduces a performance metric associated with the application.

### Claim 14 (depends on 13)

The system of claim 13, wherein the modification of the one or more performance parameters improves the performance metric associated with the application.

### Claim 15 (depends on 10)

The system of claim 10, wherein the operations further comprise:
comparing the load characteristic with a client baseline associated with the client network, the client baseline indicating an attribute of the client network prior to the load being accessed by the client device; and
determining whether to modify the one or more performance parameters based on the comparison.

### Claim 16

A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause a data processing apparatus to perform operations including:
accessing a client network including a client device, the client device being configured to execute an application, and the application being configured to perform a function that causes the client device to interact with a storage appliance of a storage network;
collecting client configuration data associated with the client network, the client configuration data representing a first configuration associated with the client network, the first configuration indicating whether the client network can handle a load;
accessing the storage network including the storage appliance, the storage appliance storing a load;
collecting storage configuration data associated with the storage appliance, the storage configuration data representing a second configuration associated with the storage network, the second configuration indicating an operational limit, in context of the load, of the storage appliance;
accessing a supporting network infrastructure that facilitates communication between the client network and the storage network;
collecting network infrastructure data associated with the supporting network infrastructure, the network infrastructure data representing a third configuration associated with the supporting network infrastructure;
detecting an interaction between the client device and the storage appliance, the interaction enabling the client device to access the load stored at the storage appliance, and the interaction being associated with one or more performance parameters;
determining, based on the collected client configuration data, storage configuration data, or network infrastructure data, one or more network issues of at least one of the client network, the storage network and the infrastructure network;
tuning at least one of the client network, the storage network and the infrastructure network, the tuning comprising modifying at least one of the first configuration, the second configuration, and the third configuration based on the determined one or more network issues;
generating a load characteristic associated with the detected interaction, the load characteristic characterizing the client device accessing the load stored at the storage appliance, and the load characteristic being generated based on the collected client configuration data, storage configuration data, or network infrastructure data; and
modifying the one or more performance parameters associated with the interaction, the modification being based at least in part on the load characteristic, wherein modifying the one or more performance parameters associated with the interaction includes automatically determining one or more workflows for modifying the one or more performance parameters, each workflow of the one or more workflows enhancing a performance metric of the application.

### Claim 17 (depends on 16)

The computer-program product of claim 16, wherein the load characteristic is generated based on each of the collected client configuration data, storage configuration data, and network infrastructure data.

### Claim 18 (depends on 16)

The computer-program product of claim 16, wherein modifying the one or more performance parameters is performed by limiting the function of the application.

### Claim 19 (depends on 16)

The computer-program product of claim 16, wherein accessing the load stored at the storage appliance reduces a performance metric associated with the application.
