# US 10,120,720 B2 · Dynamic resource allocation based on data transferring to a tiered storage

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

- Number: US 10,120,720 B2
- Document ID: US10120720B2
- Status: Granted
- Kind: B2
- Application number: 15/332,641
- Filed: 2016-10-24
- Published: 2017-06-08
- Granted: 2018-11-06
- Earliest claimed: 2015-12-04
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Rahul M. Fiske; Akshat Mithal; Sandeep R. Patil; Subhojit Roy
- Web page: https://patentgrep.com/patent/US10120720B2

## CPC

- 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]
- G06F 3/061: {Improving I/O performance}
- G06F 3/0611: {in relation to response time}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/0649: {Lifecycle management}
- G06F 3/0683: {Plurality of storage devices}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 9/5016: {the resource being the memory}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- H04L 41/50: Network service management, e.g. ensuring proper service fulfilment according to agreements
- 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 computing system includes a computer in communication with a tiered storage system. The computing system identifies a set of data transferring to a storage tier within the storage system. The computing system identifies a program to which the data set is allocated and determines to increase or reduce resources of the computer allocated to the program, based on the set of data transferring to the storage tier. The computing system discontinues transferring the set of data to the storage tier if a resource allocated to the program cannot be increased.

## Claims

### Claim 1

A method for managing locality of data in a tiered storage system, wherein the tiered storage system comprises a plurality of storage tiers, and wherein the method comprises:
communicating data locality information, wherein the data locality information is associated with the tiered storage system locating a set of data in a first tier among the plurality of storage tiers;
receiving, in response to the communicating the data locality information, a data locality directive comprising information to discontinue locating the set of data in the first tier and to start locating the set of data in a second tier among the plurality of storage tiers, wherein the data locality directive is associated with a program operating in a computer communicatively coupled to the tiered storage system, wherein the program has accessed the set of data in the tiered storage system, and wherein the data locality directive is based, at least in part, on an amount of a resource of the computer to allocate to the program;
adjusting, based on the data locality information, the amount of the resource of the computer allocated to the program; and
executing a particular number of I/O operations per second (IOPS) in relation to the adjusted amount of the resource allocated to the program.

### Claim 2 (depends on 1)

The method of claim 1, wherein the data locality directive indicates to discontinue locating the data in the first tier based on the amount of the resource limiting utilization of the data when located in the first tier.

### Claim 3 (depends on 1)

The method of claim 1, wherein the data locality directive indicates to discontinue locating the data in the first tier based on locating the data in the first tier limiting the program utilizing the amount of the resource.

### Claim 4 (depends on 1)

The method of claim 1, wherein the data locality information comprises access patterns associated with the program accessing the data in at least one of the first and second tiers.

### Claim 5 (depends on 1)

The method of claim 1 further comprising determining, based on the data locality information, to decrease the amount of the resource.

### Claim 6 (depends on 1)

The method of claim 1 further comprising determining, based on the data locality information, to increase the amount of the resource.

### Claim 7 (depends on 1)

The method of claim 1, wherein the second tier has a performance level less than a performance level of the first tier.

### Claim 8

A system for managing resources in a computing system, the system comprising:
a tiered storage system comprising a plurality of storage tiers; and
a computer communicatively coupled to the tiered storage system,
wherein the tiered storage system is configured to:
communicate data locality information associated with the tiered storage system locating a set of data in a first tier among the plurality of storage tiers;
receive, in response to communicating the data locality information, a data locality directive comprising information to discontinue locating the set of data in the first tier and to starting locating the set of data in a second tier among the plurality of storage tiers, wherein the data locality directive is associated with a program operating in the computer, wherein the program has accessed the set of data in the tiered storage system, and wherein the data locality directive is based, at least in part, on an amount of a resource of the computer to allocate to the program;
adjust, based on the data locality information, the amount of the resource of the computer allocated to the program; and
execute a particular number of I/O operations per second (IOPS) in relation to the adjusted amount of the resource allocated to the program.

### Claim 9 (depends on 8)

The system of claim 8 wherein the data locality information comprises one of the data located in the first tier and the data transferring to the first tier.

### Claim 10 (depends on 8)

The system of claim 8 wherein the data locality information comprises one of the data located in the second tier and the data transferring to the second tier.

### Claim 11 (depends on 8)

The system of claim 8, wherein the data locality directive indicates to discontinue locating the data in the first tier based on the amount of the resource limiting utilization of the data when located in the first tier.

### Claim 12 (depends on 8)

The system of claim 8, wherein the data locality directive indicates to discontinue locating the data in the first tier based on locating the data in the first tier limiting the program utilizing the amount of the resource.

### Claim 13 (depends on 8)

The system of claim 8, wherein the data locality information comprises access patterns associated with the program accessing the data in at least one of the first and second tiers.

### Claim 14 (depends on 8)

The system of claim 8, wherein the resource is at least one of a portion of a processor, a portion of a co-processor, and a portion of a memory.

### Claim 15 (depends on 8)

The system of claim 8, wherein the second tier has a performance level less than a performance level of the first tier.

### Claim 16

A computer program product for managing resources in a computing system, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by at least one processor to perform a method comprising:
communicating, by the at least one processor, data locality information, wherein the data locality information is associated with the tiered storage system locating a set of data in a first tier among the plurality of storage tiers;
receiving, by the at least one processor, in response to the communicating the data locality information, a data locality directive comprising information to discontinue locating the set of data in the first tier and to start locating the set of data in a second tier among the plurality of storage tiers, wherein the data locality directive is associated with a program operating in a computer communicatively coupled to the tiered storage system, wherein the program has accessed the set of data in the tiered storage system, and wherein the data locality directive is based, at least in part, on an amount of a resource of the computer to allocate to the program;
adjusting, based on the data locality information, the amount of the resource of the computer allocated to the program; and
executing a particular number of I/O operations per second (IOPS) in relation to the adjusted amount of the resource allocated to the program.

### Claim 17 (depends on 16)

The computer program product of claim 16, wherein the data locality directive indicates to discontinue locating the data in the first tier based on the amount of the resource limiting utilization of the data when located in the first tier.

### Claim 18 (depends on 16)

The computer program product of claim 16, wherein the data locality directive indicates to discontinue locating the data in the first tier based on locating the data in the first tier limiting the program utilizing the amount of the resource.

### Claim 19 (depends on 16)

The computer program product of claim 16, wherein the data locality information comprises access patterns associated with the program accessing the data in at least one of the first and second tiers.

### Claim 20 (depends on 16)

The computer program product of claim 16, wherein the resource is at least one of a portion of a processor, a portion of a co-processor, and a portion of a memory.
