IP Library Granted Patent US 12,562,989
Granted Patent B2
US 12,562,989 · App. 18/479,803 · Granted Feb 24, 2026

Flow-trimming based congestion management

Inventor: Keith D. Underwood (Powell, TN)
Assignee: Hewlett Packard Enterprise Development LP
H04L47/11H04L47/122H04L47/39
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 12,562,989
App. No.
18/479,803
Granted
Feb 24, 2026
Kind
B2
Abstract

A piece of networking equipment facilitating efficient congestion management is provided. During operation, the equipment can receive, via a network, a plurality of packets that include portions of a data segment sent from a sender device to a receiver device. The equipment can identify, among the plurality of packets, one or more payload packets comprising payload of the data segment, and at least a header packet comprising header information of the data segment and a header-packet indicator. The equipment can determine whether congestion is detected at the receiver device based on a number of sender devices sending packets to the receiver device via the equipment. Upon determining congestion at the receiver device, the equipment can perform flow trimming by forwarding the header packet to the receiver device and dropping a subset of the one or more payload packets.

Claims (51)

1 . A method, comprising:

receiving, by a piece of networking equipment in a network coupling a sender device and a receiver device, a plurality of packets associated with a data segment sent from the sender device and destined for the receiver device;

identifying, by the networking equipment among the plurality of packets, at least a header packet and one or more payload packets, a respective payload packet comprising payload, which includes a corresponding portion of the data segment, and the header packet comprising a header-packet indicator and header information of the data segment;

determining, by the networking equipment, whether congestion is detected at the receiver device based on a number of sender devices sending packets to the receiver device via the networking equipment; and

in response to detecting congestion at the receiver device, performing flow trimming on the data segment by:

distinguishing the header packet from the one or more payload packets based on the header-packet indicator;

forwarding the entire header packet to the receiver device; and

dropping a subset of the one or more payload packets.

2 . The method of claim 1 , wherein identifying the one or more payload packets further comprises:

detecting, in each of the one or more payload packets, absence of the header-packet indicator.

3 . The method of claim 1 , wherein, in response to not detecting the congestion, the method further comprises forwarding the one or more payload packets to the receiver device.

4 . The method of claim 1 , wherein the header information in the header packet comprises semantic information that quantifies the payload of the data segment and indicates distribution of the payload among the one or more payload packets.

5 . The method of claim 4 , further comprising:

receiving transmit credits from the receiver device, wherein the transmit credits correspond to the one or more payload packets and are generated based on the semantic information in the header packet; and

sending the transmit credits to the sender device.

6 . The method of claim 1 , wherein the data segment is a transport layer data segment generated at the sender device.

7 . The method of claim 1 , wherein the networking equipment is in a network coupling the sender device and the receiver device.

8 . A piece of networking equipment, comprising:

a memory device; and

forwarding hardware to:

receive a plurality of packets associated with a data segment sent from a sender device and destined for a receiver device;

identify, among the plurality of packets, at least a header packet and one or more payload packets, a respective payload packet comprising payload, which includes a corresponding portion of the data segment, and the header packet comprising a header-packet indicator and header information of the data segment;

determine whether congestion is detected at the receiver device based on a number of sender devices sending packets to the receiver device via the networking equipment;

in response to detecting congestion at the receiver device, perform flow trimming on the data segment by:

distinguishing the header packet from the one or more payload packets based on the header-packet indicator;

sending the entire header packet to the receiver device; and

dropping a subset of the one or more payload packets.

9 . The networking equipment of claim 8 , wherein, to identify the one or more payload packets, the forwarding hardware is further to:

detect, in each of the one or more payload packets, absence of the header-packet indicator.

10 . The networking equipment of claim 8 , wherein, in response to not detecting the congestion, the forwarding hardware is further to forward the one or more payload packets to the receiver device.

11 . The networking equipment of claim 8 , wherein the header information in the header packet comprises semantic information that quantifies the payload of the data segment and indicates distribution of the payload among the one or more payload packets.

12 . The networking equipment of claim 11 , wherein the forwarding hardware is further to:

receive transmit credits from the receiver device, wherein the transmit credits correspond to the one or more payload packets and are generated based on the semantic information in the header packet; and

send the transmit credits to the sender device.

13 . The networking equipment of claim 8 , wherein the data segment is a transport layer data segment generated at the sender device.

14 . The networking equipment of claim 8 , wherein the networking equipment is in a network coupling the sender device and the receiver device.

15 . A non-transitory computer-readable medium storing instructions which, when executed by forwarding hardware of a network device, cause the forwarding hardware to:

receive a plurality of packets associated with a data segment sent from a sender device and destined for a receiver device;

identify, among the plurality of packets, at least a header packet and one or more payload packets, a respective payload packet comprising payload, which includes a corresponding portion of the data segment, and the header packet comprising a header-packet indicator and header information of the data segment;

determine whether congestion is detected at the receiver device based on a number of sender devices sending packets to the receiver device via the networking equipment;

in response to detecting congestion at the receiver device, perform flow trimming on the data segment by:

distinguishing the header packet from the one or more payload packets based on the header-packet indicator;

sending the entire header packet to the receiver device; and

dropping a subset of the one or more payload packets.

16 . The non-transitory computer-readable medium of claim 15 , wherein, to identify the one or more payload packets, the instructions cause the forwarding hardware to detect absence of the header-packet indicator in each of the one or more payload packets.

17 . The non-transitory computer-readable medium of claim 15 , wherein, in response to not detecting the congestion, the instructions cause the forwarding hardware to forward the one or more payload packets to the receiver device.

18 . The non-transitory computer-readable medium of claim 15 , wherein the header information in the header packet comprises semantic information that quantifies the payload of the data segment and indicates distribution of the payload among the one or more payload packets.

19 . The non-transitory computer-readable medium of claim 18 , wherein instructions cause the forwarding hardware to:

receive transmit credits from the receiver device, wherein the transmit credits correspond to the one or more payload packets and are generated based on the semantic information in the header packet; and

send the transmit credits to the sender device.

20 . The non-transitory computer-readable medium of claim 15 , wherein the data segment is a transport layer data segment generated at the sender device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2023
From: UNDERWOOD, KEITH D.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 065135/0876 →
Continuity (2)
Provisional Application 63379079 · Oct 11, 2022
Related Publication 20240121189A1 · Apr 11, 2024
References Cited (32)
US 9781058B1 · Addepalli · 2017 [cited by examiner]
US 10116567B1 · Singh · 2018 [cited by examiner]
US 20070257813A1 · Vaswani et al. · 2007 [cited by applicant]
US 20090046815A1 · Oh · 2009 [cited by examiner]
US 20090300209A1 · Elzur · 2009 [cited by applicant]
US 20100265821A1 · Schmidt · 2010 [cited by examiner]
US 20120030451A1 · Pong · 2012 [cited by examiner]
US 20120147750A1 · Pelletier · 2012 [cited by examiner]
US 20120328092A1 · Kudo · 2012 [cited by applicant]
US 20140301195A1 · Briscoe · 2014 [cited by examiner]
US 20190140962A1 · Thottethodi et al. · 2019 [cited by applicant]
US 20190171612A1 · Shahar et al. · 2019 [cited by applicant]
US 20200084150A1 · Burstein et al. · 2020 [cited by applicant]
US 20200127981A1 · Yang et al. · 2020 [cited by applicant]
US 20200220713A1 · Li et al. · 2020 [cited by applicant]
US 20200259799A1 · Li et al. · 2020 [cited by applicant]
US 20200279060A1 · Mcgraw · 2020 [cited by applicant]
US 20200374745A1 · Sayenko · 2020 [cited by examiner]
US 20210112002A1 · Pan · 2021 [cited by examiner]
US 20220038371A1 · Raiciu · 2022 [cited by examiner]
US 20220060418A1 · Le · 2022 [cited by examiner]
US 20220103465A1 · Zhu · 2022 [cited by examiner]
US 20220103484A1 · Penaranda et al. · 2022 [cited by applicant]
US 20220124035A1 · Lee · 2022 [cited by examiner]
US 20220200801A1 · Potlapally et al. · 2022 [cited by applicant]
US 20220413886A1 · Griffy et al. · 2022 [cited by applicant]
US 20230084956A1 · Robison et al. · 2023 [cited by applicant]
US 20230185606A1 · Menes et al. · 2023 [cited by applicant]
US 20230281153A1 · Hansen · 2023 [cited by applicant]
US 20230300063A1 · Naeimi · 2023 [cited by examiner]
US 20230336490A1 · Arslan · 2023 [cited by examiner]
US 20230376450A1 · Ranadive et al. · 2023 [cited by applicant]