IP Library Granted Patent US 12,641,012
Granted Patent B2
US 12,641,012 · App. 18/513,911 · Granted May 26, 2026

Enhanced network communication using multiple network connections

Inventor: Douglas Dillon (Germantown, MD)
Assignee: Hughes Network Systems, LLC
H04L45/302H04L12/4633H04L43/0852H04L45/121H04L45/22H04L45/54H04L47/2441
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,641,012
App. No.
18/513,911
Granted
May 26, 2026
Kind
B2
Abstract

Systems, methods, and apparatus, including computer-readable media, for enhanced network communication using multiple network connections. In some implementations, a networking apparatus concurrently maintains connectivity to a network through each of multiple network transports. The networking apparatus receives one or more packets to be transmitted over the network and classifies the one or more packets to determine a class of service. The networking apparatus selects one of the multiple network transports to transmit the one or more packets based on (i) the class of service for the one or more packets and (ii) measures of expected latency for transmission of the one or more packets over the respective multiple network transports. The networking apparatus transmits the one or more packets using the selected network transport.

Claims (71)

1 . A method performed by networking apparatus, the method comprising:

receiving, by the networking apparatus, one or more packets to be transmitted over the network, wherein the networking apparatus is configured to maintain connectivity to a network through each of multiple network transports;

classifying, by the networking apparatus, the one or more packets to determine a class of service for the one or more packets from among a predetermined set of classes of service that includes classes of service that correspond to different latency constraints;

calculating a first measure of expected latency for a first network transport of the multiple network transports indicating a first overall latency between adding a packet to the transmission queue and receipt of the packet over the first network transport;

calculating a second measure of expected latency for a second network transport of the multiple network transports based at least on a second baseline latency indicating a second overall latency between adding a packet to the transmission queue and receipt of the packet over the second network transport;

selecting, by the networking apparatus, one of the multiple network transports to transmit the one or more packets based on (i) the class of service for the one or more packets and (ii) the first measure of expected latency and the second measure of expected latency for transmission of the one or more packets over the respective multiple network transports, wherein the measures of expected latency are based at least in part on amounts of data queued to be transmitted over the respective network transports; and

transmitting, by the networking apparatus, the one or more packets using the selected network transport.

2 . The method of claim 1 , wherein selecting one of the multiple network transports comprises:

accessing a table indicating a network transport to select for each of the different classes of service, the network transports indicated in the table for at least one of the classes of service being determined based on the measures of expected latency of the different network transports for the at least one of the classes of service; and

selecting the network transport that the table indicates for the class of service determined for the one or more packets.

3 . The method of claim 2 , further comprising periodically updating the table based on at least one of:

an amount of data in a transmission queue for one of the network transports,

a current throughput of one of the network transports, or

a current transmission latency of one of the network transports.

4 . The method of claim 1 ,

wherein;

the first measure of expected latency is based on a baseline latency for the first network transport, a throughput of the first network transport, and a transmission queue depth for a transmission queue for the first network transport; and

the second measure of expected latency is based on a baseline latency for the second network transport, a throughput of the second network transport, and a transmission queue depth for a transmission queue for the second network transport.

5 . The method of claim 4 , wherein selecting one of the multiple network transports comprises:

comparing the first measure of expected latency with the second measure of expected latency; and

based on the comparison, selecting the network transport having the lowest expected latency.

6 . The method of claim 4 , comprising:

comparing the first measure of expected latency with the second measure of expected latency; and

based on the comparison, updating a look-up table to indicate the network transport having the lowest expected latency as the network transport to select for a particular class of service.

7 . The method of claim 1 , wherein the multiple network transports comprise a first network transport and a second network transport, wherein the first network transport provides lower baseline latency than the second network transport;

wherein the predetermined set of classes of service comprise a first class of service and a second class of service, wherein the first class of service corresponds to a class of service representing lower latency than a class of service corresponding to the second class of service; and

wherein the network apparatus is configured to:

select the first network transport to carry traffic assigned to the first class of service; and

select the second network transport to carry traffic assigned to the second class of service.

8 . The method of claim 7 , wherein the predetermined set of classes of service comprises a third class of service representing higher latency than the first class of service and lower latency than the second class of service;

wherein, for traffic assigned to the third class of service, the network apparatus is configured to select between the first network transport or the second network transport depending on measures of expected latency for the first network transport and the second network transport, wherein the measures of expected latency are based on (i) respective transmission queue depths of the first network transport and the second network transport and (ii) respective throughputs of the first network transport and the second network transport.

9 . The method of claim 1 , further comprising:

communicating between the networking apparatus and a second networking apparatus over a network by (i) using a first network tunnel for communication over a first network transport, and (ii) using a second network tunnel for communication over the second network transport, wherein the first network tunnel and the second network tunnel are concurrently maintained.

10 . The method of claim 1 , wherein the one or more packets are part of an IP flow, and

wherein the method includes:

tagging the one or more packets with (i) an IP flow identifier and (ii) sequence numbers that respectively indicate a position of each of the one or more packets in a sequence of packets for the IP flow; and

transmitting each of the one or more packets with the IP flow identifier and its sequence number.

11 . The method of claim 1 , wherein transmitting the one or more packets using the selected network transport comprises:

tunneling each of the one or more packets using a network tunnel associated with the selected network transport.

12 . The method of claim 1 , wherein the predetermined set of class of services comprise at least one of:

classes of service corresponding to different content types; or

classes of service corresponding to different priority levels.

13 . The method of claim 1 , wherein the networking apparatus is a software-defined wide area network (SD-WAN) router or a SD-WAN gateway.

14 . The method of claim 1 , wherein the multiple network transports comprise a first network transport that comprises a satellite access network and a second network transport that does not include a satellite network.

15 . The method of claim 1 , wherein the network transports include network transports of at least two different access network types from the group consisting of cellular, satellite, digital subscriber line (DSL), coaxial cable, and fiber-optics.

16 . A networking apparatus comprising:

one or more processors; and

one or more machine-readable media storing instructions that, when executed by the one or more processors, cause the networking apparatus to perform operations comprising:

receiving, by the networking apparatus, one or more packets to be transmitted over the network, wherein the networking apparatus is configured to maintain connectivity to a network through each of multiple network transports;

classifying, by the networking apparatus, the one or more packets to determine a class of service for the one or more packets from among a predetermined set of classes of service that includes classes of service that correspond to different latency constraints;

calculating a first measure of expected latency for a first network transport of the multiple network transports indicating a first overall latency between adding a packet to the transmission queue and receipt of the packet over the first network transport;

calculating a second measure of expected latency for a second network transport of the multiple network transports based at least on a second baseline latency indicating a second overall latency between adding a packet to the transmission queue and receipt of the packet over the second network transport;

selecting, by the networking apparatus, one of the multiple network transports to transmit the one or more packets based on (i) the class of service for the one or more packets and (ii) the first measure of expected latency and the second measure of expected latency for transmission of the one or more packets over the respective multiple network transports, wherein the measures of expected latency are based at least in part on amounts of data queued to be transmitted over the respective network transports; and

transmitting, by the networking apparatus, the one or more packets using the selected network transport.

17 . The networking apparatus of claim 16 , wherein selecting one of the multiple network transports comprises:

accessing a table indicating a network transport to select for each of the different classes of service, the network transports indicated in the table for at least one of the classes of service being selected based on the measures of expected latency of the different network transports for the at least one of the classes of service; and

selecting the network transport that the table indicates for the class of service determined for the one or more packets.

18 . The networking apparatus of claim 17 , wherein the operations further comprise periodically updating the table based on at least one of:

an amount of data in a transmission queue for one of the network transports,

a current throughput of one of the network transports, or

a current transmission latency of one of the network transports.

19 . The networking apparatus of claim 16 ,

wherein the first measure of expected latency is based on a baseline latency for the first network transport, a throughput of the first network transport, and a transmission queue depth for a transmission queue for the first network transport; and

the second measure of expected latency is based on a baseline latency for the second network transport, a throughput of the second network transport, and a transmission queue depth for a transmission queue for the second network transport.

20 . One or more non-transitory machine-readable media storing instructions that, when executed by one or more processors of a networking apparatus, cause the networking apparatus to:

receiving, by the networking apparatus, one or more packets to be transmitted over the network, wherein the networking apparatus is configured to maintain connectivity to a network through each of multiple network transports;

classifying, by the networking apparatus, the one or more packets to determine a class of service for the one or more packets from among a predetermined set of classes of service that includes classes of service that correspond to different latency constraints;

calculating a first measure of expected latency for a first network transport of the multiple network transports indicating a first overall latency between adding a packet to the transmission queue and receipt of the packet over the first network transport;

calculating a second measure of expected latency for a second network transport of the multiple network transports based at least on a second baseline latency indicating a second overall latency between adding a packet to the transmission queue and receipt of the packet over the second network transport;

selecting, by the networking apparatus, one of the multiple network transports to transmit the one or more packets based on (i) the class of service for the one or more packets and (ii) the first measure of expected latency and the second measure of expected latency for transmission of the one or more packets over the respective multiple network transports, wherein the measures of expected latency are based at least in part on amounts of data queued to be transmitted over the respective network transports; and

transmitting, by the networking apparatus, the one or more packets using the selected network transport.

Assignments (3)
SECURITY INTEREST Recorded Jul 26, 2026
From: HUGHES NETWORK SYSTEMS, LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS TRUSTEE (FORMERLY KNOWN AS U.S. BANK NATIONAL ASSOCIATION)
Reel/Frame 075401/0515 →
SECURITY INTEREST Recorded Jan 14, 2025
From: HUGHES NETWORK SYSTEMS, LLC
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 069862/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2023
From: DILLON, DOUGLAS
To: HUGHES NETWORK SYSTEMS, LLC
Reel/Frame 065618/0738 →
Continuity (4)
Continuation 17837553 · Jun 10, 2022
Continuation 16900063 · Jun 12, 2020
Provisional Application 62861258 · Jun 13, 2019
Related Publication 20240283723A1 · Aug 22, 2024
References Cited (63)
US 6590867B1 · Ash · 2003 [cited by examiner]
US 6993584B2 · Border et al. · 2006 [cited by applicant]
US 7336967B2 · Kelly et al. · 2008 [cited by applicant]
US 7389533B2 · Bartlett · 2008 [cited by examiner]
US 7398552B2 · Pardee et al. · 2008 [cited by applicant]
US 7426181B1 · Feroz · 2008 [cited by examiner]
US 7596802B2 · Border et al. · 2009 [cited by applicant]
US 7643416B2 · Pardee et al. · 2010 [cited by applicant]
US 7774501B2 · Dillon · 2010 [cited by applicant]
US 8687493B2 · Torres et al. · 2014 [cited by applicant]
US 9716659B2 · Dillon · 2017 [cited by applicant]
US 9832169B2 · Border et al. · 2017 [cited by applicant]
US 10587431B2 · Zhang · 2020 [cited by examiner]
US 10637782B2 · Dillon et al. · 2020 [cited by applicant]
US 10819420B2 · Roy · 2020 [cited by examiner]
US 11362920B2 · Dillon · 2022 [cited by applicant]
US 11381511B2 · Chin et al. · 2022 [cited by applicant]
US 11824747B2 · Dillon · 2023 [cited by applicant]
US 20020010765A1 · Border · 2002 [cited by applicant]
US 20020013840A1 · Border et al. · 2002 [cited by applicant]
US 20030219022A1 · Dillon et al. · 2003 [cited by applicant]
US 20100020681A1 · Nakashima · 2010 [cited by examiner]
US 20110035463A1 · Dillon · 2011 [cited by applicant]
US 20130142038A1 · Pan · 2013 [cited by examiner]
US 20130315062A1 · Riedl · 2013 [cited by examiner]
US 20140133294A1 · Horn et al. · 2014 [cited by applicant]
US 20140198662A1 · Shimizu · 2014 [cited by examiner]
US 20140321277A1 · Lynn, Jr. · 2014 [cited by examiner]
US 20140370835A1 · Wu · 2014 [cited by examiner]
US 20150195778A1 · Parsons · 2015 [cited by applicant]
US 20170251328A1 · Klein · 2017 [cited by examiner]
US 20180131620A1 · Su · 2018 [cited by examiner]
US 20180138969A1 · Foxworthy et al. · 2018 [cited by applicant]
US 20180176816A1 · Meylan · 2018 [cited by examiner]
US 20180205639A1 · Zakaria et al. · 2018 [cited by applicant]
US 20180254984A1 · Floyd, III · 2018 [cited by examiner]
US 20190158371A1 · Dillon et al. · 2019 [cited by applicant]
US 20200396150A1 · Dillon · 2020 [cited by applicant]
US 20210227405A1 · Mishra et al. · 2021 [cited by applicant]
US 20220303203A1 · Dillon · 2022 [cited by applicant]
US 20220386215A1 · Dillon · 2022 [cited by applicant]
US 20230344764A1 · Kassahun et al. · 2023 [cited by applicant]
US 20240073741A1 · Dillon · 2024 [cited by applicant]
US 20240195491A1 · Durvasula et al. · 2024 [cited by applicant]
US 20250133611A1 · Kassahun · 2025 [cited by applicant]
US 20250133612A1 · Kassahun · 2025 [cited by applicant]
EP 1052812 · 2000 [cited by applicant]
EP 2760163 · 2014 [cited by applicant]
EP 3414932 · 2018 [cited by applicant]
WO WO2014026050 · 2014 [cited by applicant]
WO WO2015038380 · 2015 [cited by applicant]
WO WO2017139699 · 2017 [cited by applicant]
WO WO2021221736 · 2021 [cited by applicant]
WO WO2022147175 · 2022 [cited by applicant]
WO WO2022251786 · 2022 [cited by applicant]
WO WO2024044587 · 2024 [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2024/052779, mailed on Jan. 30, 2025, 14 pages. [cited by applicant]
[No Author Listed], “Anatomy of an Air-to-Ground (ATG) Network,” GOGO Business Aviation, 2018, 40 pages. [cited by applicant]
[No Author Listed], “Introduction to Evolved Packet Core,” Alcatel-Lucent, Apr. 2009, 12 pages. [cited by applicant]
Extended European Search Report in European Appln. No. 20179725.5, dated Oct. 30, 2020, 9 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2023/083160, mailed on Apr. 29, 2024, 14 pages. [cited by applicant]
Office Action in European Appln. No. 20179725.5, dated Sep. 19, 2022, 8 pages. [cited by applicant]
Politis et al., “Use cases and testbed solutions for 5G cellular backhauling via satellite,” International Journal of Satellite Communications and Networking, Jan. 2021, 39(4):400-416. [cited by applicant]