IP Library › Granted Patent US 12,407,620
Granted Patent B2
US 12,407,620 · App. 17/991,103 · Granted Sep 2, 2025

Systems and methods for network traffic trunking

Inventors: Zachary York (Reno, NV); Jeffrey J. Walker (Spokane, WA); Timothy S. Michels (Greenacres, WA); C Stuart Johnson (Spokane, WA)
Assignee: F5, Inc.
H04L47/34H04L45/74
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,407,620
App. No.
17/991,103
Granted
Sep 2, 2025
Kind
B2
Abstract

Technology related to sending data items via network links in a link aggregate group is disclosed. Data items (such as network packets received via a computer network) can be analyzed to determine whether the data items qualify for a relaxed transmission ordering. If a data item does not qualify for relaxed transmission ordering, then a network link in the link aggregate group can be selected based on contents of the data item (such as by generating a signature or key based on headers of the data item and selecting a network link based on the signature or key). However, if the data item does qualify for relaxed transmission ordering, then a network link in the link aggregate group can be selected based on available capacities of the network links (such as by selecting a network link with a largest available capacity).

Claims (51)

1. A system for sending network packets in a link aggregate group, the system comprising:

the link aggregate group comprising a plurality of network links, the plurality of network links connecting a first computing device to a second computing device;

a processor; and

one or more computer-readable media comprising programmed instructions stored thereon, the system configured to be capable of:

determining whether a network packet received via a computer network qualifies for relaxed packet ordering;

if the network packet qualifies for relaxed packet ordering, selecting a network link with a largest available capacity from the plurality of network links of the link aggregate group, and sending the network packet to the selected network link; and

otherwise, selecting a network link from the plurality of network links of the link aggregate group, based on contents of the network packet and sending the network packet to the selected network link.

2. The system of claim 1 , wherein the determining whether the network packet qualifies for relaxed packet ordering is based on a protocol of the network packet.

3. The system of claim 2 , wherein the determining whether the network packet qualifies for relaxed packet ordering further comprises determining that the protocol of the network packet is included in a relaxed ordering protocol specification.

4. The system of claim 1 , wherein the system is further configured to be capable of:

associating the network packet with an identifier that indicates whether the network packet qualifies for relaxed packet ordering.

5. The system of claim 4 , wherein:

the identifier comprises a metadata header; and

the system is further configured to be capable of sending the metadata header with the network packet.

6. A computer-implemented method for sending data items in a link aggregate group, the method comprising:

determining whether a data item qualifies for relaxed transmission ordering;

if the data item qualifies for relaxed transmission ordering, selecting a network link with a largest available capacity from a plurality of network links of the link aggregate group, and sending the data item to the selected network link, the plurality of network links connecting a first computing device to a second computing device; and

otherwise, selecting a network link from the plurality of network links of the link aggregate group, based on contents of the data item and sending the data item to the selected network link.

7. The computer-implemented method of claim 6 , wherein:

the data item comprises a network packet; and

the determining whether the data item qualifies for relaxed transmission ordering is based on a protocol of the network packet.

8. The computer-implemented method of claim 7 , wherein the determining whether the data item qualifies for relaxed transmission ordering further comprises determining that the protocol of the network packet is included in a relaxed ordering protocol specification.

9. The computer-implemented method of claim 6 , further comprising:

associating the data item with an identifier that indicates whether the data item qualifies for relaxed transmission ordering.

10. The computer-implemented method of claim 9 , wherein:

the identifier comprises a metadata header; and

the method further comprises transmitting the metadata header with the data item.

11. A non-transitory computer readable medium having stored thereon instructions comprising executable code that, when executed by one or more processors, causes the one or more processors to perform operations, the operations comprising:

determining whether a network packet received via a computer network qualifies for relaxed packet ordering;

if the network packet qualifies for relaxed packet ordering, selecting a network link with a largest available capacity from a plurality of network links of a link aggregate group, and sending the network packet to the selected network link, the plurality of network links connecting a first computing device to a second computing device; and

otherwise, selecting a network link from the plurality of network links of the link aggregate group, based on contents of the network packet and sending the network packet to the selected network link.

12. The non-transitory computer readable medium of claim 11 , wherein the determining whether the network packet qualifies for relaxed packet ordering is based on a protocol of the network packet.

13. The non-transitory computer readable medium of claim 12 , wherein the determining whether the network packet qualifies for relaxed packet ordering further comprises determining that the protocol of the network packet is included in a relaxed ordering protocol specification.

14. The non-transitory computer readable medium of claim 11 , wherein the operations further comprise:

associating the network packet with an identifier that indicates whether the network packet qualifies for relaxed packet ordering.

15. The non-transitory computer readable medium of claim 14 , wherein:

the identifier comprises a metadata header; and

the operations further comprise sending the metadata header with the network packet.

16. An apparatus, comprising:

a processor; and

one or more computer-readable media comprising programmed instructions stored thereon, the apparatus configured to be capable of executing the programmed instructions to:

determine whether a network packet received via a computer network qualifies for relaxed packet ordering;

if the network packet qualifies for relaxed packet ordering, select a network link with a largest available capacity from a plurality of network links of a link aggregate group, and sending the network packet to the selected network link, the plurality of network links connecting a first computing device to a second computing device; and

otherwise, select a network link from the plurality of network links of the link aggregate group, based on contents of the network packet and sending the network packet to the selected network link.

17. The apparatus of claim 16 , wherein the determining whether the network packet qualifies for relaxed packet ordering is based on a protocol of the network packet.

18. The apparatus of claim 17 , wherein the determining whether the network packet qualifies for relaxed packet ordering further comprises determining that the protocol of the network packet is included in a relaxed ordering protocol specification.

19. The apparatus of claim 16 , wherein the apparatus is further configured to be capable of executing the programmed instructions to:

associate the network packet with an identifier that indicates whether the network packet qualifies for relaxed packet ordering.

20. The apparatus of claim 19 , wherein:

the identifier comprises a metadata header; and

the apparatus is further configured to be capable of executing the programmed instructions to send the metadata header with the network packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2022
From: YORK, ZACHARY; WALKER, JEFFREY J.; MICHELS, TIMOTHY S.; JOHNSON, C STUART
To: F5, INC.
Reel/Frame 062169/0500 →
Continuity (2)
Provisional Application 63282495 · Nov 23, 2021
Related Publication 20230164086A1 · May 25, 2023
References Cited (15)
US 7945721B1 · Johnsen · 2011 [cited by examiner]
US 7979592B1 · Pettey · 2011 [cited by examiner]
US 8085794B1 · Niver · 2011 [cited by examiner]
US 8284790B1 · Kommidi · 2012 [cited by examiner]
US 9535870B2 · Vucinic et al. · 2017 [cited by applicant]
US 11748285B1 · Haim · 2023 [cited by examiner]
US 20060184296A1 · Voeller · 2006 [cited by examiner]
US 20110106981A1 · Watkins · 2011 [cited by examiner]
US 20150006749A1 · Hendel · 2015 [cited by examiner]
US 20150177994A1 · Vucinic · 2015 [cited by examiner]
US 20200145725A1 · Eberle · 2020 [cited by examiner]
US 20200356497A1 · Lesartre · 2020 [cited by examiner]
US 20210152477A1 · Johnsen et al. · 2021 [cited by applicant]
US 20220085916A1 · Debbage · 2022 [cited by examiner]
International Search Report dated Mar. 27, 2023 issued in International Application No. PCT/US22/50559. [cited by applicant]