IP Library Granted Patent US 12712812
Granted Patent B1
US 12712812 · App. 18/478,114 · Granted Aug 18, 2026

Congestion control using hierarchical match action table framework

Inventors: Anna Levin (Haifa, IL); Leah Shalev (Zikhron Ya'Aqov, IL); Hani Ayoub (Majd Al Kurum, IL); Barak Farbman (Ramat Yishai, IL)
Assignee: Amazon Technologies, Inc.
H04L47/12H04L43/0864
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12712812
App. No.
18/478,114
Granted
Aug 18, 2026
Kind
B1
Abstract

Metrics associated with the traffic on a network are received to perform congestion control. The metrics are compared with a set of conditions to look up a case entry for a current state of the congestion control in a case definition table of a hierarchical match action table framework. A state of the congestion control is updated to a next state indicated in the case entry of the match action table. One or more congestion control actions corresponding to the case entry are performed.

Claims (38)

1 . A non-transitory computer readable medium storing program code that, when executed by one or more processors, causes the one or more processors to perform operations for congestion control in a computer network, the operations comprising:

receiving network related metrics including latency metrics, rate metrics, and inflight metrics associated with traffic on the network;

comparing the received network related metrics with a plurality of conditions to identify a case entry in a case definition table of a hierarchical match action table framework,

wherein the case definition table contains a plurality of case entries for each of a plurality of states of the congestion control including a slow-start state, a steady state, a probing state, and a draining state, and

wherein each case entry contains a state-case pair specifying a case of a particular state of the congestion control, a set of conditions designated for the case of the case entry, and a next state of the congestion control, wherein each condition is defined for a state-case pair in one or more condition tables of the hierarchical match action table framework;

updating a state of the congestion control to the next state indicated in the identified case entry; and

performing a set of congestion control actions to update network traffic goals and limits corresponding to the state-case pair of the identified case entry based on one or more action tables of the hierarchical match action table framework.

2 . The non-transitory computer readable medium of claim 1 , wherein the network related metrics are received at an end of each measurement phase.

3 . The non-transitory computer readable medium of claim 1 , wherein each measurement phase is taken over a multiple of round-trip time of packets.

4 . A method, comprising:

receiving metrics selected from one or more of latency metrics, rate metrics, or inflight metrics associated with traffic on a network to perform congestion control;

comparing the received metrics with conditions in a hierarchical match action table framework to look up a case entry for a current state of the congestion control, the hierarchical match action table framework having a case definition table and a set of condition tables,

wherein the case definition table contains a plurality of case entries for each of a plurality of states of the congestion control,

wherein each case entry contains a state-case pair specifying a case of a particular state of the congestion control, a set of conditions designated for that case entry, and a next state of the congestion control, and

wherein the set of conditions includes a condition that references a condition table in the set of condition tables to provide respective criteria for different state-case pairs to satisfy the condition;

updating a state of the congestion control to a next state indicated in the case entry; and

performing one or more congestion control actions corresponding to the case entry.

5 . The method of claim 4 , wherein the metrics associated with the traffic comprise latency metrics including one or more of round-trip time information, or a retransmission timeout information.

6 . The method of claim 4 , wherein the metrics associated with the traffic comprise rate metrics including one or more of transmission rate information, packet drop rate information, or acknowledgement rate information.

7 . The method of claim 4 , wherein the metrics associated with the traffic comprise inflight metrics including one or more of bytes inflight information, or packets inflight information.

8 . The method of claim 4 , wherein the set of conditions includes one or more of a comparison of a transmission rate to a rate limit, or a comparison of rate information specified for the case entry.

9 . The method of claim 4 , wherein the set of conditions includes one or more of a condition on bytes inflight, or a condition on packets inflight.

10 . The method of claim 4 , wherein the set of conditions includes one or more of a condition on round-trip time, or a condition on retransmission timeout.

11 . The method of claim 4 , wherein the set of conditions includes one or more of a condition on application limited status, a condition of a previous state of the congestion control, or a randomness factor.

12 . The method of claim 4 , wherein one or more of the conditions are set to a don't care value.

13 . The method of claim 4 , wherein the one or more congestion control actions include one or more of setting an inflight goal, setting an inflight limit, setting a round-trip time goal, setting a transmission rate goal, or setting a transmission rate limit.

14 . The method of claim 4 , wherein the congestion control includes a slow-start state, a steady state, a probing-up state, and a draining state.

15 . The method of claim 4 , wherein the next state indicated in the case entry is the current state.

16 . The method of claim 4 , further comprising modifying the congestion control by updating one or more tables in the hierarchical match action table framework.

17 . An integrated circuit (IC) device comprising:

a congestion control state machine having a plurality of states of congestion control, and control circuitry translated from a hierarchical match action table framework having a case definition table defining a plurality of case entries for the plurality of states of the congestion control, wherein each case entry corresponds to a case of a particular state of the congestion control, and wherein each case entry contains a set of conditions designated for the case of the case entry, and a next state of the congestion control,

wherein the congestion control state machine is operable to:

obtain a result vector containing results of comparing network related metrics to each condition specified in the case definition table;

identify a case entry having its set of condition satisfied based on the result vector; and

update a state of the congestion control to the next state indicated in the identified case entry.

18 . The IC device of claim 17 , wherein the congestion control state machine is operable to perform a set of congestion control actions to update network traffic goals and limits corresponding to the identified case entry.

19 . The IC device of claim 17 , wherein the set of conditions includes one or more of a comparison of a transmission rate to a rate limit, a comparison of rate information specified for the identified case entry, a condition on bytes inflight, a condition on packets inflight, a condition on round-trip time, a condition on retransmission timeout, a condition on application limited status, a condition of a previous state of the congestion control, or a randomness factor.

20 . The IC device of claim 17 , wherein the plurality of states of congestion control includes a slow-start state, a steady state, a probing-up state, and a draining state.