IP Library Granted Patent US 12,550,027
Granted Patent B2
US 12,550,027 · App. 18/621,164 · Granted Feb 10, 2026

Opportunistic balancing in multiple links

Inventors: Bryan Adrian Lauer (Chicago, IL); Ravi Kiran Eticala (Schaumburg, IL)
Assignee: GOGO BUSINESS AVIATION LLC
H04W36/165H04W28/0861H04W36/00835H04W36/08H04W36/30H04W36/36H04W40/04H04W40/12H04W48/20H04W36/22H04W76/27
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,550,027
App. No.
18/621,164
Granted
Feb 10, 2026
Kind
B2
Abstract

Systems and methods are provided for opportunistic load balancing across one or more communication links supported by one or more base stations. As part of the opportunistic load balancing process, a load balancer may measure a performance metric and an idle capacity metric for the one or more communication links. In some embodiments, the load balancer may directionally measure the performance metric and the idle capacity metric. Based on the measured metrics, the load balancer may determine a candidate base station for a network socket. The load balancer may then establish the network socket with the candidate base station. As a result, the load balancer may help alleviate network congestion.

Claims (78)

1 . A computer-implemented method, executed with a computer processor disposed within a vehicle, comprising:

commanding, with the computer processor, a first transceiver disposed within the vehicle to measure one or more first characteristics of both a first forward link and a first reverse link supported by a first base station, the one or more first characteristics comprising at least one of a signal-to-noise ratio (SNR), a noise power level, a received signal strength measure, or a data error rate for both of the first forward link and the first reverse link supported by the first base station;

commanding, with the computer processor, a second transceiver disposed within the vehicle to measure one or more second characteristics of both a second forward link and a second reverse link supported by a second base station, the one or more second characteristics comprising at least one of a SNR, a noise power level, a received signal strength measure, or a data error rate for both of the second forward link and the second reverse link supported by the second base station;

determining, with the computer processor based at least in part on the one or more first characteristics and the one or more second characteristics, respective idle capacity metrics of each of the first forward link, the second forward link, the first reverse link, and the second reverse link, wherein:

an idle capacity metric for a respective link is based at least in part on subtraction of a traffic volume that is scheduled for communication via the respective link from a bandwidth estimate for the respective link,

the bandwidth estimate for the respective link is based at least in part on respective measured characteristics of the respective link, and

the traffic volume is based at least in part on a capacity of one or more queues comprising data to be communicated via the respective link;

determining, with the computer processor, a first candidate base station for a forward link network socket using a first idle capacity metric for the first forward link supported by the first base station, and a second idle capacity metric for the second forward link supported by the second base station;

determining, with the computer processor, a second candidate base station for a reverse link network socket using a third idle capacity metric for the first reverse link supported by the first base station, and a fourth idle capacity metric for the second reverse link supported by the second base station;

commanding, with the computer processor, at least one of the first transceiver or the second transceiver to establish the forward link network socket with the first candidate base station; and

commanding, with the computer processor, at least one of the first transceiver or the second transceiver to establish the reverse link network socket with the second candidate base station.

2 . The method of claim 1 , wherein measuring the one or more first characteristics of the first forward link and the first reverse link comprises:

calculating, with the computer processor, a round-trip time (RTT) of a ping message originating from the vehicle and a quantity of attempted retransmissions.

3 . The method of claim 1 , wherein measuring the one or more first characteristics of the first forward link and the first reverse link comprises:

commanding, with the computer processor, at least one of the first transceiver or the second transceiver to measure a carrier-to-noise ratio (CNR) for both of the first forward link and the first reverse link supported by the first base station.

4 . The method of claim 1 , further comprising:

determining, with the computer processor, a new candidate base station when at least one of a radio channel performance metric or an idle capacity metric for a forward link supported by the first candidate base station falls below a minimum performance threshold; and

commanding, with the computer processor, at least one of the first transceiver or the second transceiver to establish a new forward link network socket with the new candidate base station.

5 . The method of claim 1 , further comprising:

determining, with the computer processor, a new candidate base station when at least one of a radio channel performance metric or an idle capacity metric for a reverse link supported by the second candidate base station falls below a minimum performance threshold; and

commanding, with the computer processor, at least one of the first transceiver or the second transceiver to establish a new reverse link network socket with the new candidate base station.

6 . The method of claim 1 , wherein measuring the one or more first characteristics of the first forward link and the first reverse link comprises:

commanding, with the computer processor, the first transceiver to measure all of: the SNR, the noise power level, the received signal strength measure, and the data error rate for both of the first forward link and the first reverse link supported by the first base station.

7 . The method of claim 1 , wherein the bandwidth estimate is inferred based on the SNR, the noise power level, the received signal strength measure, or the data error rate for the first forward link supported by the first base station.

8 . A system comprising:

one or more processors;

a first transceiver disposed within a vehicle;

a second transceiver disposed within the vehicle; and

one or more non-transitory, computer-readable storage media storing computer-executable instructions that, when executed by the one or more processors, cause the system to:

command the first transceiver to measure one or more first characteristics of both a first forward link and a first reverse link supported by a first base station, the one or more first characteristics comprising at least one of a signal-to-noise ratio (SNR), a noise power level, a received signal strength measure, or a data error rate for both of the first forward link and the first reverse link supported by the first base station;

command the second transceiver to measure one or more second characteristics of both a second forward link and a second reverse link supported by a second base station, the one or more second characteristics comprising at least one of a SNR, a noise power level, a received signal strength measure, or a data error rate for both of the second forward link and the second reverse link supported by the second base station;

determine, based at least in part on the one or more first characteristics and the one or more second characteristics, respective idle capacity metrics of each of the first forward link, the second forward link, the first reverse link, and the second reverse link, wherein:

an idle capacity metric for a respective link is based at least in part on subtraction of a traffic volume that is scheduled for communication via the respective link from a bandwidth estimate for the respective link,

the bandwidth estimate for the respective link is based at least in part on respective measured characteristics of the respective link, and

the traffic volume is based at least in part on a capacity of one or more queues comprising data to be communicated via the respective link;

determine a first candidate base station for a forward link network socket using a first idle capacity metric for the first forward link supported by the first base station, and a second idle capacity metric for the second forward link supported by the second base station;

determine a second candidate base station for a reverse link network socket using a third idle capacity metric for the first reverse link supported by the first base station, and a fourth idle capacity metric for the second reverse link supported by the second base station;

command at least one of the first transceiver or the second transceiver to establish the forward link network socket with the first candidate base station; and

command at least one of the first transceiver or the second transceiver to establish the reverse link network socket with the second candidate base station.

9 . The system of claim 8 , wherein to measure the one or more first characteristics of the first forward link and the first reverse link, the instructions, when executed, cause the system to:

calculate a round-trip time (RTT) of a ping message originating from the vehicle.

10 . The system of claim 8 , wherein to measure the one or more first characteristics of the first forward link and the first reverse link, the instructions, when executed, cause the system to:

command the first transceiver to measure all of: the SNR, the noise power level, the received signal strength measure, and the data error rate for both of the first forward link and the first reverse link supported by the first base station.

11 . The system of claim 8 , wherein the instructions, when executed, cause the system to:

determine a new candidate base station when at least one of a radio channel performance metric or an idle capacity metric for a forward link supported by the first candidate base station falls below a minimum performance threshold; and

command at least one of the first transceiver or the second transceiver to establish a new forward link network socket with the new candidate base station.

12 . The system of claim 8 , wherein the instructions, when executed, cause the system to:

determine a new candidate base station when at least one of a radio channel performance metric or an idle capacity metric for a reverse link supported by the second candidate base station falls below a minimum performance threshold; and

command at least one of the first transceiver or the second transceiver to establish a new reverse link network socket with the new candidate base station.

13 . The system of claim 8 , wherein the instructions, when executed, cause the system to:

determine the first candidate base station for the forward link network socket when the forward link network socket comprises a Transmission Control Protocol (TCP) socket; and

determine an alternative base station for the forward link network socket when the forward link network socket comprises a User Datagram Protocol (UDP) socket.

14 . The system of claim 8 , wherein to measure the one or more second characteristics of the second forward link and the second reverse link, the instructions, when executed, cause the system to:

command the second transceiver to measure all of: the SNR, the noise power level, the received signal strength measure, and the data error rate for both of the second forward link and the second reverse link supported by the second base station.

15 . A non-transitory computer-readable storage medium storing processor-executable instructions, that, when executed, cause one or more processors to:

command a first transceiver disposed within a vehicle to measure one or more first characteristics of both a first forward link and a first reverse link supported by a first base station, the one or more first characteristics comprising at least one of a signal-to-noise ratio (SNR), a noise power level, a received signal strength measure, or a data error rate for both of the first forward link and the first reverse link supported by the first base station;

command a second transceiver disposed within the vehicle to measure one or more second characteristics of both a second forward link and a second reverse link supported by a second base station, the one or more second characteristics comprising at least one of a SNR, a noise power level, a received signal strength measure, or a data error rate for both of the second forward link and the second reverse link supported by the second base station;

determine, based at least in part on the one or more first characteristics and the one or more second characteristics, respective idle capacity metrics of each of the first forward link, the second forward link, the first reverse link, and the second reverse link, wherein:

an idle capacity metric for a respective link is based at least in part on subtraction of a traffic volume that is scheduled for communication via the respective link from a bandwidth estimate for the respective link,

the bandwidth estimate for the respective link is based at least in part on respective measured characteristics of the respective link, and

the traffic volume is based at least in part on a capacity of one or more queues comprising data to be communicated via the respective link;

determine a first candidate base station for a forward link network socket using a first idle capacity metric for the first forward link supported by the first base station, and a second idle capacity metric for the second forward link supported by the second base station;

determine a second candidate base station for a reverse link network socket using a third idle capacity metric for the first reverse link supported by the first base station, and a fourth idle capacity metric for the second reverse link supported by the second base station;

command at least one of the first transceiver or the second transceiver to establish the forward link network socket with the first candidate base station; and

command at least one of the first transceiver or the second transceiver to establish the reverse link network socket with the second candidate base station.

16 . The non-transitory computer-readable storage medium of claim 15 , wherein to measure the one or more first characteristics of the first forward link and the first reverse link, the instructions, when executed, cause the one or more processors to:

calculate a quantity of attempted retransmissions via the first forward link and the first reverse link.

17 . The non-transitory computer-readable storage medium of claim 15 , wherein to measure the one or more first characteristics of the first forward link and the first reverse link, the instructions, when executed, cause the one or more processors to:

command the first transceiver to measure all of: the SNR, the noise power level, the received signal strength measure, and the data error rate for both of the first forward link and the first reverse link supported by the first base station.

18 . The non-transitory computer-readable storage medium of claim 15 , wherein the instructions, when executed, cause the one or more processors to:

determine a new candidate base station when at least one of a radio channel performance metric or an idle capacity metric for a forward link supported by the first candidate base station falls below a minimum performance threshold; and

command at least one of the first transceiver or the second transceiver to establish a new forward link network socket with the new candidate base station.

19 . The non-transitory computer-readable storage medium of claim 15 , wherein the instructions, when executed, cause the one or more processors to:

determine a new candidate base station when at least one of a radio channel performance metric or an idle capacity metric for a reverse link supported by the second candidate base station falls below a minimum performance threshold; and

command at least one of the first transceiver or the second transceiver to establish a new reverse link network socket with the new candidate base station.

20 . The non-transitory computer-readable storage medium of claim 15 , wherein the instructions, when executed, cause the one or more processors to:

determine the first candidate base station for the forward link network socket when the forward link network socket comprises a Transmission Control Protocol (TCP) socket; and

determine an alternative base station for the forward link network socket when the forward link network socket comprises a User Datagram Protocol (UDP) socket.

Assignments (3)
PATENT SECURITY AGREEMENT Recorded Dec 3, 2024
From: GOGO BUSINESS AVIATION LLC
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 069479/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2024
From: LAUER, BRYAN ADRIAN; ETICALA, RAVI KIRAN
To: GOGO LLC
Reel/Frame 067030/0166 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2024
From: GOGO LLC
To: GOGO BUSINESS AVIATION LLC
Reel/Frame 067030/0214 →
Continuity (3)
Continuation 17222938 · Apr 5, 2021
Continuation 15675381 · Aug 11, 2017
Related Publication 20240267818A1 · Aug 8, 2024
References Cited (14)
US 5517674A · Rune · 1996 [cited by applicant]
US 6094427A · Yi · 2000 [cited by applicant]
US 7099283B2 · Matta et al. · 2006 [cited by applicant]
US 20040216139A1 · Rhoda et al. · 2004 [cited by applicant]
US 20050059408A1 · Tiedemann et al. · 2005 [cited by applicant]
US 20050271021A1 · Alemany et al. · 2005 [cited by applicant]
US 20080310349A1 · Ulupinar et al. · 2008 [cited by applicant]
US 20110075578A1 · Kim · 2011 [cited by examiner]
US 20110143654A1 · Mukhija · 2011 [cited by examiner]
US 20130235728A1 · Le et al. · 2013 [cited by applicant]
US 20170079015A1 · Takahashi et al. · 2017 [cited by applicant]
US 20190190553A1 · Tsuji · 2019 [cited by examiner]
US 20190364492A1 · Azizi et al. · 2019 [cited by applicant]
JP 2006114973A · 2006 [cited by applicant]