# US 2024/0205155 A1 · Protocol agnostic cognitive congestion control

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

- Number: US 2024/0205155 A1
- Document ID: US20240205155A1
- Status: Published application
- Kind: A1
- Application number: 18/083,768
- Filed: 2022-12-19
- Published: 2024-06-20
- Earliest claimed: 2022-12-19
- Assignees: Nokia Solutions and Networks Oy
- Applicants: Nokia Solutions and Networks Oy
- Inventors: Bilgehan Erman; Ejder Bastug; Bruce Cilli; Andrea Francini; Luoyao Hao
- Web page: https://patentgrep.com/patent/US20240205155A1

## CPC

- H04L 45/38: {Flow based routing}
- H04L 47/12: Avoiding congestion; Recovering from congestion
- H04L 45/306: {Route determination based on the nature of the carried application}
- H04L 47/25: with rate being modified by the source upon detecting a change of network conditions
- H04L 47/50: Queue scheduling
- H04L 69/321: Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
- H04L 69/325: in the network layer [OSI layer 3], e.g. X.25 (H04L69/16 takes precedence)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Various example embodiments for supporting congestion control in a communication network are presented. Various example embodiments for supporting congestion control in a communication network may be configured to support protocol agnostic cognitive congestion control in the communication network. Various example embodiments for supporting protocol agnostic cognitive congestion control in a communication network may be configured to support protocol agnostic cognitive congestion control in the communication network by enabling a sending node of a path over which a set of flows is to be communicated to determine the minimum target transmission rate among the links along the path over which the flows are to be communicated and to use the minimum target transmission rate among the links along the path over which flows are to be communicated in order to control transmission of packets over the path at Layer 3 of the Open Systems Interconnection (OSI) model.

## Claims

### Claim at position 1

1-20. (canceled)

### Claim 21

An apparatus, comprising:
at least one processor; and
at least one memory including instructions that, when executed by the at least one processor, cause the apparatus at least to:
receive, by a layer 3 protocol handler from a layer 4 protocol handler for a flow to be transmitted over a path between a sending node and a receiving node that includes a set of transit nodes, a protocol data unit of the flow and a context key associated with the flow;
associate, by the layer 3 protocol handler, the context key with a packet queue storing a set of packets generated based on the protocol data unit;
determine, by the layer 3 protocol handler for the context key, a minimum target transmission rate associated with the path for the context key; and
send, by the layer 3 protocol handler based on the minimum target transmission rate associated with the path for the context key, the set of packets.

### Claim 22 (depends on 21)

The apparatus of claim 21, wherein the flow belongs to an application session of an application on the sending node.

### Claim 23 (depends on 22)

The apparatus of claim 22, wherein the context key uniquely identifies the application session of the application.

### Claim 24 (depends on 22)

The apparatus of claim 22, wherein the context key is generated by the application.

### Claim 25 (depends on 21)

The apparatus of claim 21, wherein the context key is generated by the layer 4 protocol handler.

### Claim 26 (depends on 21)

The apparatus of claim 21, wherein the set of packets is generated by the layer 3 protocol handler from the protocol data unit.

### Claim 27 (depends on 21)

The apparatus of claim 21, wherein, to determine the minimum target transmission rate associated with the path for the context key, the instructions, when executed by the at least one processor, cause the apparatus at least to:
send, by the layer 3 protocol handler, a request for each of the transit nodes of the path to provide a respective target transmission rate associated with the path for the context key.

### Claim 28 (depends on 27)

The apparatus of claim 27, wherein, to send the request for each of the transit nodes of the path to provide a respective target transmission rate associated with the path for the context key, the instructions, when executed by the at least one processor, cause the apparatus at least to:
include, by the layer 3 protocol handler within a first packet of the set of packets sent via the path, the context key and an indication of the request for each of the transit nodes of the path to provide the respective target transmission rate associated with the path for the context key.

### Claim 29 (depends on 27)

The apparatus of claim 27, wherein, to determine the minimum target transmission rate associated with the path, the instructions, when executed by the at least one processor, cause the apparatus at least to:
receive, by the layer 3 protocol handler from a receiving node of the path, a packet including the minimum target transmission rate associated with the path for the context key.

### Claim 30 (depends on 27)

The apparatus of claim 27, wherein, to determine the minimum target transmission rate associated with the path, the instructions, when executed by the at least one processor, cause the apparatus at least to:
receive, by the layer 3 protocol handler from a receiving node of the path, a packet including the respective target transmission rates provided by the transit nodes of the path; and
select, by the layer 3 protocol handler from the respective target transmission rates provided by the transit nodes of the path, the minimum target transmission rate associated with the path for the context key.

### Claim 31

A method, comprising:
receiving, by a layer 3 protocol handler from a layer 4 protocol handler for a flow to be transmitted over a path, a protocol data unit of the flow and a context key associated with the flow;
associating, by the layer 3 protocol handler, the context key with a packet queue storing a set of packets generated based on the protocol data unit;
determining, by the layer 3 protocol handler for the context key, a minimum target transmission rate associated with the path for the context key; and
sending, by the layer 3 protocol handler based on the minimum target transmission rate associated with the path for the context key, the set of packets.

### Claim 32

An apparatus, comprising:
at least one processor; and
at least one memory including instructions that, when executed by the at least one
processor, cause the apparatus at least to:
receive, by a transit node from a sending node, a packet intended for delivery to a receiving node over a path from the sending node to the receiving node that includes an egress interface of the transit node, wherein the packet includes a context key and an indication of a request by the sending node for the transit node to provide a target transmission rate for the context key;
determine, by the transit node in response to the indication of the request by the sending node for the transit node to provide the target transmission rate for the context key and based on measurements of traffic on the egress interface of the transit node, the target transmission rate for the context key;
insert, by the transit node, the target transmission rate for the context key into the packet to form a modified packet; and
send, by the transit node toward the receiving node via the egress interface of the transit node, the modified packet.

### Claim 33 (depends on 32)

The apparatus of claim 32, wherein the target transmission rate is indicative of a prediction by the transit node that, when the sending node sends a set of flows associated with the context key at the target transmission rate, buffer delays encountered by the flows at the transit node are not expected to exceed a target buffering delay.

### Claim 34 (depends on 32)

The apparatus of claim 32, wherein the target transmission rate for the context key is determined based on a determination that a utilization of a set of egress queues satisfies a target utilization.

### Claim 35 (depends on 34)

The apparatus of claim 34, wherein the utilization of the set of egress queues is based on a predicted number of active context flows, a predicted average throughput for the context key, the target transmission rate for the context key, and an egress transmission capacity of the egress interface.

### Claim 36 (depends on 34)

The apparatus of claim 34, wherein the target utilization is determined based on use of a probability distribution function related to a probability that a packet is delayed in the set of egress queues.

### Claim 37 (depends on 34)

The apparatus of claim 34, wherein the target utilization is determined based on use of at least one function to dynamically compute the target utilization for a given set of criteria for the egress interface of the transit node, wherein the at least one function includes at least one of an artificial intelligence function or a machine learning function.

### Claim 38

An apparatus, comprising:
at least one processor; and
at least one memory including instructions that, when executed by the at least one processor, cause the apparatus at least to:
receive, by a receiving node of a path between a sending node and the receiving node that includes a set of transit nodes, a first packet that includes a context key and a respective set of target transmission rates of the respective transit nodes for the context key; and
send, by the receiving node toward the sending node, a second packet including the context key and the set of target transmission rates of the respective transit nodes for the context key.

### Claim 39 (depends on 38)

The apparatus of claim 38, wherein the first packet is associated with a flow of an application session of an application on the sending node, wherein the context key uniquely identifies the application session of the application.

### Claim 40 (depends on 38)

The apparatus of claim 38, wherein the first packet includes respective sets of statistical measures provided by the routers for respective egress interfaces of the routers on the path, wherein the second packet includes the respective sets of statistical measures provided by the routers for the respective egress interfaces of the routers on the path.
