# US 2014/0156877 A1 · Storage resource usage analysis for customized application options

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

- Number: US 2014/0156877 A1
- Document ID: US20140156877A1
- Status: Published application
- Kind: A1
- Application number: 13/978,623
- Filed: 2012-12-05
- Published: 2014-06-05
- Earliest claimed: 2012-12-05
- Assignees: EMC Corporation
- Inventors: Dmitry Nikolayevich Tylik; Sergey Alexandrovich Alexeev; Vitaly Sanislavovich Kozlovsky; Alexey Vladimirovich Shusharin
- Web page: https://patentgrep.com/patent/US20140156877A1

## CPC

- G06F 3/0653: {Monitoring storage devices or systems}
- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/061: {Improving I/O performance}
- 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/0683: {Plurality of storage devices}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Described are techniques for analyzing storage resources. I/O operations which are directed to a set of storage resources and received at a data storage system from a first application are monitored. First information characterizing the I/O operations from the first application is collected in accordance with said monitoring. Using the first information, a first execution profile for the first application characterizing I/O operations of the first application is determined. It is determined whether the first execution profile of the first application matches any of a set of predetermined execution profiles for known applications. Each of the predetermined execution profiles characterizes I/O operations of one of the known applications. First processing is performed in accordance with one or more criteria including whether the first execution profile matches any of the set of predetermined execution profiles.

## Claims

### Claim 1

A method of analyzing storage resources comprising:
monitoring I/O operations received at a data storage system from a first application, said I/O operations being directed to a set of one or more storage resources;
collecting, in accordance with said monitoring, first information characterizing the I/O operations from the first application;
determining, using the first information, a first execution profile for the first application characterizing I/O operations of the first application;
determining whether the first execution profile of the first application matches any of a set of one or more predetermined execution profiles for one or more known applications, each of said one or more predetermined execution profiles characterizing I/O operations of one of the known applications; and
performing first processing in accordance with one or more criteria, said one or more criteria including whether the first execution profile matches any of the set of one or more predetermined execution profiles.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first execution profile includes any of a size of a write operation, a size of a read operation, an average size of a read operation, an average size of a write operation, a maximum size of a read operation, a maximum size of a write operation, a percentage, mixture, or ratio of read to write operations, a percentage or ratio of reads that are sequential, a percentage or ratio of reads that are random, a total number of I/O operations/time period, a number of read operations/time period, a number of write operations/time period, and an average size of an I/O operation determined for a time period.

### Claim 3 (depends on 1)

The method of claim 1, wherein the method includes:
collecting information on key parameters of the set of one or more storage resources and wherein said criteria includes whether one or more of the key parameters of the set of one or more storage resources match one or more predetermined key parameters of storage resources included in a customized set of options for one of the known applications and whether a first application type associated with the first application matches a predetermined application type associated with one of the known applications.

### Claim 4 (depends on 3)

The method of claim 3, wherein the first execution profile matches a first known execution profile that is associated with a first of the known applications and included in the set of one or more predetermined execution profiles, and wherein the first application type associated with the first application matches a predetermined application type associated with the first known application and wherein the one or more key parameters of the set of one or more storage resources match one or more predetermined key parameters of storage resources included in a customized set of options for the first known application thereby indicating that the customized set of options was previously used in connection with provisioning the set of one or more storage resources.

### Claim 5 (depends on 4)

The method of claim 4, wherein said criteria includes whether observed performance of the first application is in accordance with expected performance associated with the first known application, said method further comprising:
collecting, in accordance with said monitoring, performance data for the first application, said performance data including a first metric providing a measure of performance for the first application; and
determining whether the performance data for the first application is in accordance with one or more expected thresholds associated with the first known application.

### Claim 6 (depends on 5)

The method of claim 5, wherein if the performance data for the first application is not in accordance with the one or more expected thresholds associated with the first known application, said first processing includes:
reporting information regarding the first application and the performance data for the first application not being in accordance with the one or more expected thresholds associated with the first known application to a target location; and
determining whether one or more predetermined key parameters of storage resources included in the customized set of options for the first known application require modification to improve performance thereby resulting in an updated version of the customized set of options for the first known application.

### Claim 7 (depends on 3)

The method of claim 3, wherein the first execution profile matches a first known execution profile that is associated with a first of the known applications and included in the set of one or more predetermined execution profiles, and wherein the first application type associated with the first application does not match a predetermined application type associated with the first known application and wherein the one or more key parameters of the set of one or more storage resources do not match one or more predetermined key parameters of storage resources included in a predetermined customized set of options for the first known application thereby indicating that the set of one or more storage resources is not configured using the predetermined customized set of options for the first known application, and said first processing includes:
reporting information to a target location regarding the first application matching the first execution profile of the first known application whereby the first application uses the set of one of more storage resources not configured using the predetermined customized set of options for the first known application; and
determining whether one or more predetermined key parameters of storage resources included in the customized set of options for the first known application require modification to improve performance thereby resulting in an updated version of the customized set of options for the first known application.

### Claim 8 (depends on 3)

The method of claim 3, wherein the first execution profile matches a first known execution profile that is associated with a first of the known applications and included in the set of one or more predetermined execution profiles, and wherein the first application type associated with the first application matches a predetermined application type associated with the first known application and wherein the one or more key parameters of the set of one or more storage resources match one or more predetermined key parameters of storage resources included in a default set of options not customized for the first known application thereby indicating that further processing is needed to determine whether a predetermined customized set of options for the first known application requires modification.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first execution profile does not match any of the set of one or more predetermined execution profiles thereby indicating that the first application is not one of the known applications.

### Claim 10 (depends on 9)

The method of claim 9, wherein said first processing includes:
reporting first information to a target location, said first information including the first execution profile and one or more key parameters of the set of one or more storage resources, said first information indicating that the first execution profile does not match any of the set of one or more predetermined execution profiles thereby indicating that the first application is not one of the known applications; and
determining, using the first execution profile and one or more key parameters of the set of one or more storage resources, a new predetermined customized set of options for the first application.

### Claim 11 (depends on 3)

The method of claim 3, wherein the one or more predetermined parameters identifying one or more customized configuration options for a known application include any of a RAID protection level, a RAID layout configuration including a number of data members and parity members, one or more data storage tiers to be used in connection with storing data for the application, an indicator as to whether it is allowable for data of the application to be automatically migrated between storage tiers, an indicator as to whether to data for the application is stored on a virtually provisioned device, an indicator as to whether to perform compression when storing data of the application, an indicator as to whether to perform encryption when storing data of the application, an indicator as to whether to perform deduplication when storing data of the application, a storage tier of physical devices for storing application data, a type of physical device for storing application data, and a size for a storage resource.

### Claim 12

A system comprising:
one or more application servers, wherein one or more applications execute on each of said application servers;
a data storage system including one or more storage resources used by each of said applications executing on the application servers; and
a computer readable medium comprising code stored thereon which, when executed by a processor, performs processing including:
monitoring I/O operations received at the data storage system from a first of the applications, said I/O operations being directed to a set of one or more storage resources;
collecting, in accordance with said monitoring, first information characterizing the I/O operations from the first application;
determining, using the first information, a first execution profile for the first application characterizing I/O operations of the first application;
determining whether the first execution profile of the first application matches any of a set of one or more predetermined execution profiles for one or more known applications, each of said one or more predetermined execution profiles characterizing I/O operations of one of the known applications; and
performing first processing in accordance with one or more criteria, said one or more criteria including whether the first execution profile matches any of the set of one or more predetermined execution profiles.

### Claim 13

A computer readable medium comprising codes stored thereon for analyzing storage resources, the computer readable medium comprising code stored thereon for:
monitoring I/O operations received at a data storage system from a first application, said I/O operations being directed to a set of one or more storage resources;
collecting, in accordance with said monitoring, first information characterizing the I/O operations from the first application;
determining, using the first information, a first execution profile for the first application characterizing I/O operations of the first application;
determining whether the first execution profile of the first application matches any of a set of one or more predetermined execution profiles for one or more known applications, each of said one or more predetermined execution profiles characterizing I/O operations of one of the known applications; and
performing first processing in accordance with one or more criteria, said one or more criteria including whether the first execution profile matches any of the set of one or more predetermined execution profiles.

### Claim 14 (depends on 13)

The computer readable medium of claim 13, wherein the first execution profile includes any of a size of a write operation, a size of a read operation, an average size of a read operation, an average size of a write operation, a maximum size of a read operation, a maximum size of a write operation, a percentage, mixture, or ratio of read to write operations, a percentage or ratio of reads that are sequential, a percentage or ratio of reads that are random, a total number of I/O operations/time period, a number of read operations/time period, a number of write operations/time period, and an average size of an I/O operation determined for a time period.

### Claim 15 (depends on 13)

The computer readable medium of claim 13, wherein the computer readable medium further comprises code for:
collecting information on key parameters of the set of one or more storage resources and wherein said criteria includes whether one or more of the key parameters of the set of one or more storage resources match one or more predetermined key parameters of storage resources included in a customized set of options for one of the known applications and whether a first application type associated with the first application matches a predetermined application type associated with one of the known applications.

### Claim 16 (depends on 15)

The computer readable medium of claim 15, wherein the first execution profile matches a first known execution profile that is associated with a first of the known applications and included in the set of one or more predetermined execution profiles, and wherein the first application type associated with the first application matches a predetermined application type associated with the first known application and wherein the one or more key parameters of the set of one or more storage resources match one or more predetermined key parameters of storage resources included in a customized set of options for the first known application thereby indicating that the customized set of options was previously used in connection with provisioning the set of one or more storage resources.

### Claim 17 (depends on 16)

The computer readable medium of claim 16, wherein said criteria includes whether observed performance of the first application is in accordance with expected performance associated with the first known application, and where said computer readable medium further comprising code for:
collecting, in accordance with said monitoring, performance data for the first application, said performance data including a first metric providing a measure of performance for the first application; and
determining whether the performance data for the first application is in accordance with one or more expected thresholds associated with the first known application.

### Claim 18 (depends on 17)

The computer readable medium of claim 17, wherein if the performance data for the first application is not in accordance with the one or more expected thresholds associated with the first known application, said first processing includes:
reporting information regarding the first application and the performance data for the first application not being in accordance with the one or more expected thresholds associated with the first known application to a target location; and
determining whether one or more predetermined key parameters of storage resources included in the customized set of options for the first known application require modification to improve performance thereby resulting in an updated version of the customized set of options for the first known application.

### Claim 19 (depends on 15)

The computer readable medium of claim 15, wherein the first execution profile matches a first known execution profile that is associated with a first of the known applications and included in the set of one or more predetermined execution profiles, and wherein the first application type associated with the first application does not match a predetermined application type associated with the first known application and wherein the one or more key parameters of the set of one or more storage resources do not match one or more predetermined key parameters of storage resources included in a predetermined customized set of options for the first known application thereby indicating that the set of one or more storage resources is not configured using the predetermined customized set of options for the first known application, and said first processing includes:
reporting information to a target location regarding the first application matching the first execution profile of the first known application whereby the first application uses the set of one of more storage resources not configured using the predetermined customized set of options for the first known application; and
determining whether one or more predetermined key parameters of storage resources included in the customized set of options for the first known application require modification to improve performance thereby resulting in an updated version of the customized set of options for the first known application.

### Claim 20 (depends on 13)

The computer readable medium of claim 13, wherein the first execution profile does not match any of the set of one or more predetermined execution profiles thereby indicating that the first application is not one of the known applications, and wherein said first processing includes:
reporting first information to a target location, said first information including the first execution profile and one or more key parameters of the set of one or more storage resources, said first information indicating that the first execution profile does not match any of the set of one or more predetermined execution profiles thereby indicating that the first application is not one of the known applications; and
determining, using the first execution profile and one or more key parameters of the set of one or more storage resources, a new predetermined customized set of options for the first application.
