# US 2013/0155858 A1 · Hierarchical occupancy-based congestion management

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

- Number: US 2013/0155858 A1
- Document ID: US20130155858A1
- Status: Published application
- Kind: A1
- Application number: 13/330,441
- Filed: 2011-12-19
- Published: 2013-06-20
- Earliest claimed: 2011-12-19
- Assignees: International Business Machines Corporation
- Inventors: Yiyu L. Chen; Nikolaos I. Chrysos; Rolf Clauberg; Mircea R. Gusat; Cyriel J. Minkenberg; Fredy D. Neeser; Kenneth M. Valk
- Web page: https://patentgrep.com/patent/US20130155858A1

## CPC

- H04L 47/10: Flow control; Congestion control
- H04L 47/30: in combination with information about buffer occupancy at either end or at transit nodes
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for hierarchical occupancy based congestion management includes receiving, by a computing device, a plurality of data flows, each of the plurality of data flows is received from a source and includes a plurality of data packets and storing the plurality of data packets in a buffer including multiple storage units. The method includes determining if the buffer is congested, responsive to determining the buffer is congested randomly selecting at least two occupied units of the buffer and identifying a source of each of the data packets stored in the occupied units of the buffer and generating a congestion notification message. The method also includes comparing a selection criterion associated with each identified source to determine which identified source has a higher selection criterion and sending the congestion notification message to the identified source with the higher selection criterion.

## Claims

### Claim 1

A method, comprising:
receiving, by a computing device, a plurality of data flows, each of the plurality of data flows are received from a source and comprise a plurality of data packets;
storing the plurality of data packets in a buffer comprising multiple storage units;
determining if the buffer is congested;
responsive to determining the buffer is congested randomly selecting at least two occupied units of the buffer and identifying a source of each of the data packets stored in the occupied units of the buffer;
generating a congestion notification message;
comparing a selection criterion associated with each identified source to determine which identified source has a higher selection criterion; and
sending the congestion notification message to the identified source with the higher selection criterion.

### Claim 2 (depends on 1)

The method of claim 1, wherein the selection criterion is a congestion level of a downstream link in a path of the data flow.

### Claim 3 (depends on 1)

The method of claim 1, wherein the selection criterion is an occupancy percentage of the buffer associated with the data flow.

### Claim 4 (depends on 1)

The method of claim 1, wherein the selection criterion is an averaged congestion level of a plurality of downstream links in a path of the data flow.

### Claim 5 (depends on 1)

The method of claim 1, wherein the congestion notification message instructs the source to reduce its data transmission rate.

### Claim 6 (depends on 1)

The method of claim 1, wherein determining if the buffer is congested is triggered by an arrival of data packet at the buffer.

### Claim 7 (depends on 1)

The method of claim 1, wherein determining if the buffer is congested is done on a periodic basis.

### Claim 8

(canceled)

### Claim 9

(canceled)

### Claim 10

(canceled)

### Claim 11

(canceled)

### Claim 12

(canceled)

### Claim 13

(canceled)

### Claim 14

(canceled)

### Claim 15

A method, comprising:
receiving, by a computing device, a plurality of data flows, each of the plurality of data flows is received from a source and comprises a plurality of data packets;
storing the plurality of data packets in a buffer comprising multiple storage units;
determining if the buffer is congested;
responsive to determining the buffer is congested randomly selecting an occupied unit of the buffer and identifying a source the data packet stored in the occupied unit of the buffer;
generating a congestion notification message;
comparing a selection criterion associated with the identified source with the selection criteria associated with the source associated with a last throttled data flow to determine which has a higher selection criterion; and
sending the congestion notification message to the source with the higher selection criterion.

### Claim 16 (depends on 15)

The method of claim 15, wherein the selection criterion is a congestion level of a downstream link in a path of the data flow.

### Claim 17 (depends on 15)

The method of claim 15, wherein the selection criterion is an occupancy percentage of the buffer associated with the data flow.

### Claim 18 (depends on 15)

The method of claim 15, wherein the selection criterion is an averaged congestion level of a plurality of downstream links in a path of the data flow.

### Claim 19 (depends on 15)

The method of claim 15, wherein the congestion notification message instructs the source to reduce its data transmission rate.
