# US 9,521,080 B2 · Method of controlling congestion, apparatus for controlling congestion and communication system

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

- Number: US 9,521,080 B2
- Document ID: US9521080B2
- Status: Granted
- Kind: B2
- Application number: 14/492,380
- Filed: 2014-09-22
- Published: 2015-01-08
- Granted: 2016-12-13
- Earliest claimed: 2012-03-23
- Assignees: Fujitsu Limited
- Applicants: Fujitsu Limited
- Inventors: Masahiro Sato
- Web page: https://patentgrep.com/patent/US9521080B2

## CPC

- H04L 47/193: at the transport layer, e.g. TCP related
- H04L 47/25: with rate being modified by the source upon detecting a change of network conditions
- H04L 47/11: Identifying congestion
- H04L 47/12: Avoiding congestion; Recovering from congestion
- H04L 47/225: {Determination of shaping rate, e.g. using a moving window}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Provided herein is a method of controlling a congestion in a communication scheme using a lower layer that performs a first congestion control and an upper layer that performs a second congestion control different from the first congestion control. The method includes detecting a congestion in the lower layer, notifying, from the lower layer to upper layer, the occurrence of the congestion and congestion control information related to the congestion; and setting, in the upper layer, an output rate for each of at least one congestion-related upper-layer session that is processed in the upper layer and is related to the congestion. Also provided is an apparatus for controlling congestion, a communication system, and a non-transitory computer-readable recording medium having stored therein a congestion control program.

## Claims

### Claim 1

A method of controlling a congestion in a communication scheme using a lower layer that performs a first congestion control and an upper layer that performs a second congestion control different from the first congestion control, the method comprising:
detecting a congestion in the lower layer;
notifying, from the lower layer to upper layer, the occurrence of the congestion and congestion control information related to the congestion;
setting, in the upper layer, an output rate for each of at least one congestion-related upper-layer session that is processed in the upper layer and is related to the congestion; and
retaining a control rate in the lower layer, the control rate being included in the congestion control information, and a weight for each of the at least one congestion-related upper-layer session, in the upper layer, the weight indicating a priority of the congestion-related upper-layer session,
wherein the weight is dynamically set to each of the at least one congestion-related upper-layer session, based on a ratio of an output size for the congestion-related upper-layer session at time of the occurrence of the congestion.

### Claim 2 (depends on 1)

The method according to claim 1, wherein a same weight is set to the at least one congestion-related upper-layer session.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the weight that is static is set to each of the at least one congestion-related upper-layer session, based on presetting.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the congestion control information further comprises target address information of an address of a target in the lower layer, an output rate of the target being to be controlled, and
the method further comprises specifying, upon the occurrence of the congestion, at least one upper-layer session corresponding to the target address information, as the at least one congestion-related upper-layer session.

### Claim 5 (depends on 4)

The method according to claim 4, further comprising:
detecting dissolution of the congestion in the lower layer;
notifying, from the lower layer to upper layer, the dissolution of the congestion and target address information related to the dissolved congestion; and
setting, for each of at least one upper-layer session corresponding to the target address information related to the dissolved congestion, the output rate again.

### Claim 6 (depends on 1)

The method according to claim 1, further comprising:
upon the occurrence of the congestion, calculating the output rate for each of the at least one congestion-related upper-layer session, using the lower layer control rate and a ratio of a corresponding weight of the congestion-related upper-layer session to a sum of the weight of the at least one congestion-related upper-layer session, in the upper layer; and
calculating an output size for each of the at least one congestion-related upper-layer session, using the calculated output rate and a round trip time, of the at least one congestion-related upper-layer session.

### Claim 7 (depends on 1)

The method according to claim 1, further comprising
performing, when the control rate retained in the at least one congestion-related upper-layer session indicates dissolution of congestion, the second congestion control of the upper layer.

### Claim 8

An apparatus for controlling congestion in a communication scheme using a lower layer that performs a first congestion control and an upper layer that performs a second congestion control different from the first congestion control, the apparatus comprising:
a detector that detects a congestion in the lower layer;
a notifier that notifies, from the lower layer to upper layer, the occurrence of the congestion and congestion control information related to the congestion;
a processor that sets, in the upper layer, an output rate for each of at least one congestion-related upper-layer session that is processed in the upper layer and is related to the congestion, and
a management table that retains a control rate in the lower layer, the control rate being included in the congestion control information, and a weight for each of the at least one congestion-related upper-layer session, in the upper layer, the weight indicating a priority of the congestion-related upper-layer session,
wherein the weight is dynamically set to each of the at least one congestion-related upper-layer session, based on a ratio of an output size for the congestion-related upper-layer session at time of the occurrence of the congestion, in the management table.

### Claim 9 (depends on 8)

The apparatus according to claim 8, wherein a same weight is set to the at least one congestion-related upper-layer session, in the management table.

### Claim 10 (depends on 8)

The apparatus according to claim 8, wherein the weight that is static is set to each of the at least one congestion-related upper-layer session, based on presetting, in the management table.

### Claim 11 (depends on 8)

The apparatus according to claim 8, wherein the congestion control information further comprises target address information of an address of a target in the lower layer, an output rate of the target being to be controlled, and
the processor specifies, upon the occurrence of the congestion, at least one upper-layer session corresponding to the target address information, as the at least one congestion-related upper-layer session.

### Claim 12 (depends on 11)

The apparatus according to claim 11, wherein
the detector detects dissolution of the congestion in the lower layer,
the notifier notifies, from the lower layer to upper layer, the dissolution of the congestion and target address information related to the dissolved congestion, and
the processor sets, for each of at least one upper-layer session corresponding to the target address information related to the dissolved congestion, the output rate again.

### Claim 13 (depends on 8)

The apparatus according to claim 8, wherein
upon the occurrence of the congestion, the processor calculates the output rate for each of the at least one congestion-related upper-layer session, using the lower layer control rate and a ratio of a corresponding weight of the congestion-related upper-layer session to a sum of the weight of the at least one congestion-related upper-layer session, in the upper layer, and
the processor calculates an output size for each of the at least one congestion-related upper-layer session, using the calculated output rate and a round trip time, of the at least one congestion-related upper-layer session.

### Claim 14 (depends on 8)

The apparatus according to claim 8, wherein the processor performs, when the control rate retained in the at least one congestion-related upper-layer session indicates dissolution of congestion, the second congestion control of the upper layer.

### Claim 15

A system comprising an information processing apparatus and a host apparatus that are connected to each other via a delay apparatus, the system communicating in a communication scheme using a lower layer that performs a first congestion control and an upper layer that performs a second congestion control different from the first congestion control, the information processing apparatus comprising:
a detector that detects a congestion in the lower layer;
a notifier that notifies, from the lower layer to upper layer, the occurrence of the congestion and congestion control information related to the congestion;
a processor that sets, in the upper layer, an output rate for each of at least one congestion-related upper-layer session that is processed in the upper layer and is related to the congestion; and
a management table that retains a control rate in the lower layer, the control rate being included in the congestion control information, and a weight for each of the at least one congestion-related upper-layer session, in the upper layer, the weight indicating a priority of the congestion-related upper-layer session,
wherein the weight is dynamically set to each of the at least one congestion-related upper-layer session, based on a ratio of an output size for the congestion-related upper-layer session at time of the occurrence of the congestion, in the management table.

### Claim 16

A non-transitory computer-readable recording medium having stored therein, a congestion control program in a communication scheme using a lower layer that performs a first congestion control and an upper layer that performs a second congestion control different from the first congestion control, the program causing a computer to:
detect a congestion in the lower layer;
notify, from the lower layer to upper layer, the occurrence of the congestion and congestion control information related to the congestion; and
set, in the upper layer, an output rate for each of at least one congestion-related upper-layer session that is processed in the upper layer and is related to the congestion; and
retain a control rate in the lower layer, the control rate being included in the congestion control information, and a weight for each of the at least one congestion-related upper-layer session, in the upper layer, the weight indicating a priority of the congestion-related upper-layer session,
wherein the weight is dynamically set to each of the at least one congestion-related upper-layer session, based on a ratio of an output size for the congestion-related upper-layer session at time of the occurrence of the congestion.
