# US 8,751,716 B2 · Adaptive data throttling for storage controllers

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

- Number: US 8,751,716 B2
- Document ID: US8751716B2
- Status: Granted
- Kind: B2
- Application number: 13/566,676
- Filed: 2012-08-03
- Published: 2013-02-07
- Granted: 2014-06-10
- Earliest claimed: 2008-06-30
- Assignees: International Business Machines Corporation
- Applicants: Tommy Rickard; William J. Scales; Barry Whyte
- Inventors: Tommy Rickard; William J. Scales; Barry Whyte
- Web page: https://patentgrep.com/patent/US8751716B2

## CPC

- G06F 11/3495: {for systems}
- G06F 11/3419: {by assessing time}
- 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 11/349: {for interfaces, buses}
- G06F 3/0611: {in relation to response time}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 2201/885: Monitoring specific for caches
- 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: 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

There are provided a method, a system and a computer program product for minimizing data transfer latency between redundant storage controllers in a network-based storage controller system that utilizes adaptive data throttling. Each corresponding redundant storage controller calculates average time latency for round trip communications between the corresponding redundant storage controller and the other redundant storage controllers during a fixed monitoring period. The corresponding redundant storage controller, at the end of each fixed monitoring period, compares the average time latency to a fixed latency. The corresponding redundant storage controller selectively throttles data transfer between the corresponding redundant storage controller and a server and data transfer between the corresponding redundant storage controller and a back-end storage, based on the comparison.

## Claims

### Claim 1

A method for minimizing data transfer latency between redundant storage controllers in a network-based storage controller system, comprising steps of:
calculating, by each redundant storage controller, an average time latency for round trip communications between the each redundant storage controller and other redundant storage controllers during a fixed monitoring period;
at an end of each fixed monitoring period, comparing, by the each redundant storage controller, the calculated average time latency to a fixed latency; and
selectively throttling, by the each redundant storage controller, data transfer between the each redundant storage controller and a server and data transfer between the each redundant storage controller and a back-end storage, based on the comparison.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the selectively throttling data transfer minimizes the calculated average time latency.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising:
prioritizing communications between all redundant storage controllers.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the redundant storage controllers do not have dedicated links to communicate each other.

### Claim 5 (depends on 1)

The method according to claim 1, further comprising:
classifying, based on the comparison, the calculated average time latency as good, acceptable and unacceptable.

### Claim 6 (depends on 5)

The method according to claim 5, wherein if the calculated average time latency is classified as good, the each redundant storage controller disables throttling for data transfer between the each redundant storage controller and the server, and between the each redundant storage controller and the back-end storage.

### Claim 7 (depends on 5)

The method according to claim 5, wherein if the calculated average time latency is classified as acceptable, the each redundant storage controller does not adjust throttling for data transfer between the each redundant storage controller and the server, and between the each redundant storage controller and the back-end storage.

### Claim 8 (depends on 5)

The method according to claim 5, wherein if the calculated average time latency is classified as unacceptable, the each redundant storage controller increases data throttling for data transfer between the each redundant storage controller and the server, and between the each redundant storage controller and the back-end storage.

### Claim 9

A system for minimizing data transfer latency between redundant storage controllers in a network-based storage controller system, the system comprising:
each corresponding redundant storage controller calculating an average time latency for round trip communications between the corresponding redundant storage controller and the other redundant storage controllers during a fixed monitoring period;
the corresponding redundant storage controller, at an end of each fixed monitoring period, comparing the average time latency to a fixed latency; and
the corresponding redundant storage controller selectively throttling data transfer between the corresponding redundant storage controller and a server and data transfer between the corresponding redundant storage controller and a back-end storage, based on the comparison.

### Claim 10 (depends on 9)

The system as set forth in claim 9, wherein communications between all redundant storage controllers are prioritized.

### Claim 11 (depends on 9)

The system as set forth in claim 9, wherein the corresponding redundant storage controller classifies the calculated average time latency as one of: good, acceptable and unacceptable.

### Claim 12 (depends on 9)

The system as set forth in claim 9, wherein the corresponding redundant storage controller and the other redundant storage controllers do not have dedicated links to communicate each other.

### Claim 13 (depends on 11)

The system as set forth in claim 11, wherein if the calculated average time latency is classified as good, the corresponding redundant storage controller disables throttling for data transfer between the corresponding redundant storage controller and the server, and between the corresponding redundant storage controller and the back-end storage.

### Claim 14 (depends on 11)

The system as set forth in claim 11, wherein if the calculated average time latency is classified as acceptable, the corresponding redundant storage controller does not adjust throttling for data transfer between the corresponding redundant storage controller and the server, and between the corresponding redundant storage controller and the back-end storage.

### Claim 15 (depends on 11)

The system as set forth in claim 11, wherein if the calculated average time latency is classified as unacceptable, the corresponding redundant storage controller increases data throttling for data transfer between the corresponding redundant storage controller and the server, and between the corresponding redundant storage controller and the back-end storage.

### Claim 16

A computer program product for minimizing data transfer latency between redundant storage controllers in a network-based storage controller system, the computer program product comprising:
a non-transitory storage device readable by a processing circuit and storing instructions run by the processing circuit,
wherein the processing circuit is configured to perform:
calculating, by each redundant storage controller, an average time latency for round trip communications between the each redundant storage controller and other redundant storage controllers during a fixed monitoring period;
at the end of each fixed monitoring period, comparing, by the each redundant storage controller, the calculated average time latency to a fixed latency; and
selectively throttling, by the each redundant storage controller, data transfer between the each redundant storage controller and a server and data transfer between the each redundant storage controller and a back-end storage, based on the comparison.

### Claim 17 (depends on 16)

The computer program product according to claim 16, wherein the selectively throttling data transfer minimizes the calculated average time latency.

### Claim 18 (depends on 16)

The computer program product according to claim 16, wherein the method further comprises a step of: prioritizing communications between all redundant storage controllers.

### Claim 19 (depends on 16)

The computer program product according to claim 16, wherein the redundant storage controllers do not have dedicated links to communicate each other.

### Claim 20 (depends on 16)

The computer program product according to claim 16, wherein the method further comprises a step of: classifying, based on the comparison, the calculated average time latency as good, acceptable and unacceptable.

### Claim 21 (depends on 20)

The computer program product according to claim 20, wherein if the calculated average time latency is classified as good, the each redundant storage controller disables throttling for data transfer between the each redundant storage controller and the server, and between the each redundant storage controller and the back-end storage.

### Claim 22 (depends on 20)

The computer program product according to claim 20, wherein if the calculated average time latency is classified as acceptable, the each redundant storage controller does not adjust throttling for data transfer between the each redundant storage controller and the server, and between the each redundant storage controller and the back-end storage.

### Claim 23 (depends on 20)

The computer program product according to claim 20, wherein if the calculated average time latency is classified as unacceptable, the each redundant storage controller increases data throttling for data transfer between the each redundant storage controller and the server, and between the each redundant storage controller and the back-end storage.
