IP Library Granted Patent US 10,880,108
Granted Patent B2
US 10,880,108 · App. 15/622,409 · Granted Dec 29, 2020

Optimized wireless content loading scheduler

Inventors: Tyrone D. Bekiares (Park Ridge, IL); Brian R. Smith (Chicago, IL); Sajit Sasi (Burr Ridge, IL); William A. Kelleher (Chicago, IL)
Assignee: GOGO BUSINESS AVIATION LLC
H04L12/18H04B7/18508H04B7/18513H04L65/4076H04L67/12H04L67/325
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 10,880,108
App. No.
15/622,409
Granted
Dec 29, 2020
Kind
B2
Abstract

Systems and methods for multicasting a dataset to a fleet of vehicles by a deadline based on respective transit schedules of vehicles in the fleet are disclosed. Based on the vehicle transit schedules, a time segment may be determined for delivering at least a portion of the dataset to at least a subset of the vehicles in the fleet. The determination may be based on a maximum number of fleet vehicles that are scheduled to be simultaneously in transit. The determination may be additionally or alternatively based on an available transmission bandwidth, a time segment duration, a minimum transit duration, and/or other criteria. A multicast transmission including at least a portion of the data set is initiated based on the determination. Multiple multicasts and unicasts may achieve the complete transmission of the entire dataset to the entire fleet of vehicles prior to a deadline.

Claims (48)

1. A method of optimizing a delivery of a dataset to a fleet of a plurality of aircraft while the plurality of aircraft are in-flight, the method comprising:

dividing a time interval into a plurality of time segments, the time interval corresponding to a length of time during which the dataset is to be delivered to each aircraft of the plurality of aircraft, and the plurality of time segments being a plurality of consecutive, mutually exclusive time segments;

based on respective transit schedules of the plurality of aircraft over the time interval, for each time segment of the time interval, determine a respective number of aircraft that are scheduled to be in-flight for an entirety of the each time segment;

determining a particular time segment, of the plurality of time segments, that has a greatest number of aircraft that are scheduled to be in-flight as compared to the other time segments of the plurality of time segments;

determining one or more portions of the dataset that are to be delivered to each aircraft that is scheduled to be in-flight for the entirety of the particular time segment; and

upon a start of the particular time segment, initiating a multicast transmission to the in-flight aircraft associated with the particular time segment, the multicast transmission including the one or more portions of the dataset.

2. The method of claim 1 , wherein the aircraft that are scheduled to be in-flight during the particular time segment are scheduled to be simultaneously in-flight above a service altitude for the entirety of the particular time segment.

3. The method of claim 1 , further comprising determining, based on at least one of (i) a duration of the particular time segment, (ii) a multicast transmission rate, or (iii) a multicast transmission bandwidth, a size or quality level of the one or more portions of the dataset.

4. The method of claim 1 , further comprising determining, based on a duration of the particular time segment, a multicast transmission rate for transmission of the one or more portions of the dataset.

5. The method of claim 1 , wherein determining the particular time segment comprises determining a maximum continuous length of time during which the greatest number of aircraft are scheduled to be simultaneously in-flight, the maximum continuous length of time comprising the particular time segment and one or more portions of a second time segment of the plurality of time segments, the second time segment being immediately adjacent to the particular time segment.

6. The method of claim 1 , wherein the one or more portions of the dataset are a first one or more portions of the dataset, the particular time segment is a first time segment within the time interval, and the greatest number of aircraft is a first subset of the plurality of aircraft, and wherein the method further comprises:

based on the respective transit schedules of a remainder of the plurality of aircraft excluding the first subset, for each remaining time segment of the time interval excluding the first time segment, determining a respective number of the remainder of the plurality of aircraft that are scheduled to be in-flight for the entirety of the each remaining time segment;

determining a second time segment, of the remaining time segments of the time interval, that has a greatest number of the remainder of the plurality of aircraft that are scheduled to be in-flight as compared to respective numbers of aircraft that are scheduled to be in-flight for the entirety of each of the other time segments of the remaining time segments; and

determining a second one or more portions of the dataset that are to be delivered to each aircraft that is scheduled to be in-flight during the second time segment.

7. The method of claim 1 , wherein the determination of the particular time segment is further based upon at least of (i) a time period of low usage of an in-transit connectivity bandwidth available to one or more aircraft included in the plurality of aircraft, or (ii) a period of low cost of an in-transit connectivity bandwidth available to one or more aircraft included in the plurality of aircraft.

8. A method of optimizing a delivery of a dataset to a fleet of a plurality of aircraft while the plurality of aircraft are in-flight, the method comprising:

generating a transmission schedule for delivering the dataset to the plurality of aircraft over a time interval, wherein the generating of the transmission schedule is based on respective transit schedules of the plurality of aircraft over the time interval, and wherein the generating of the transmission schedule includes:

dividing the time interval into a plurality of consecutive, mutually exclusive time segments; and

defining a plurality of multicast transmissions, each multicast transmission of the plurality of multicast transmissions corresponding to a respective time segment of the plurality of consecutive, mutually exclusive time segments within the time interval, and each multicast transmission indicating a respective one or more portions of the dataset that are to be delivered, via multicasting during the respective time segment, to a respective subset of the plurality of aircraft, such that the generated transmission schedule defines a delivery of an entirety of the dataset to an entirety of the plurality of aircraft during the time interval,

wherein defining a particular multicast transmission of the plurality of multicast transmissions includes determining a particular time segment, of the plurality of consecutive, mutually exclusive time segments, that has a greatest number of aircraft that are scheduled to be in-flight for an entirety of the particular time segment, as compared to respective numbers of aircraft that are scheduled to be in-flight for an entirety of each of the other time segments of the plurality of time segments; and

initiating, for each multicast transmission of the defined plurality of multicast transmissions, a respective multicast delivery of the respective one or more portions of the dataset to the respective subset of the plurality of aircraft in accordance with the transmission schedule.

9. The method of claim 8 , wherein, during each respective time segment corresponding to a respective multicast transmission, aircraft included in the corresponding respective subset of the plurality of aircraft are scheduled to be above a service altitude for the entirety of the respective time segment.

10. The method of claim 8 , further comprising determining, based on at least one of (i) respective durations of the plurality of time segments, (ii) a multicast transmission rate, or (iii) a multicast transmission bandwidth, at least one of respective sizes or quality levels of the respective one or more portions of the dataset.

11. The method of claim 8 , further comprising determining, based on respective durations of the respective time segments, respective multicast transmission rates for transmission of the respective one or more portions of the dataset.

12. The method of claim 8 , wherein defining the plurality of multicast transmissions is based upon at least one of:

a determination of a time period of low usage of an in-transit connectivity bandwidth available to one or more of the plurality of aircraft, or

a determination of a period of low cost of an in-transit connectivity bandwidth available to one or more of the plurality of aircraft.

13. A system for optimizing a delivery of a dataset to a fleet of a plurality of aircraft while the plurality of aircraft are in-flight, the system comprising:

an input to obtain respective transit schedules of the plurality of aircraft over a time interval;

a transmission scheduler comprising computer-executable instructions that are stored on one or more memories and that, when executed by one or more processors, cause the system to

generate a transmission schedule for delivering the dataset to the plurality of aircraft over the time interval, wherein the generation of the transmission schedule is based on the respective transit schedules of the plurality of aircraft, and wherein the generation of the transmission schedule includes:

dividing the time interval into a plurality of consecutive, mutually exclusive time segments; and

defining a plurality of multicast transmissions, each multicast transmission of the plurality of multicast transmissions corresponding to a respective time segment of the plurality of consecutive, mutually exclusive time segments within the time interval, and each multicast transmission indicating a respective one or more portions of the dataset that are to be delivered, via multicasting during the respective time segment, to a respective subset of the plurality of aircraft, such that the generated transmission schedule defines a delivery of an entirety of the dataset to an entirety of the plurality of aircraft during the time interval,

wherein defining a particular multicast transmission of the plurality of multicast transmissions includes determining a particular time segment, of the plurality of consecutive, mutually exclusive time segments, that has a greatest number of aircraft that are scheduled to be in-flight for an entirety of the particular time segment, as compared to respective numbers of aircraft that are scheduled to be in-flight for an entirety of each of the other time segments of the plurality of consecutive, mutually exclusive time segments; and

a transmission subsystem that initiates, for each multicast transmission of the defined plurality of multicast transmissions, a respective multicast delivery of the respective one or more portions of the dataset to the respective subset of the plurality of aircraft in accordance with the transmission schedule.

14. The system of claim 13 , wherein, during each respective time segment corresponding to a respective multicast transmission, aircraft included in the corresponding respective subset of the plurality of aircraft are scheduled to be simultaneously above a service altitude for the entirety of the respective time segment.

15. The system of claim 13 , wherein the computer-executable instructions of the transmission scheduler further include instructions that, when executed by the one or more processors, cause the system to determine, based on at least one of (i) respective durations of the plurality of time segments, (ii) a multicast transmission rate, or (iii) a multicast transmission bandwidth, at least one of respective sizes or respective quality levels of the respective one or more portions of the dataset.

16. The system of claim 13 , wherein the computer-executable instructions of the transmission scheduler further include instructions that, when executed by the one or more processors, cause the system to determine, based on respective durations of the respective time segments, respective multicast transmission rates for transmission of the respective one or more portions of the dataset to the respective subsets of the plurality of aircraft.

17. The system of claim 13 , wherein the computer-executable instructions to generate the transmission schedule include instructions to define the respective time segments based upon at least one of (i) a time period of low usage of an in-transit connectivity bandwidth available to one or more of the plurality of aircraft, or (ii) a period of low cost of an in-transit connectivity bandwidth available to one or more of the plurality of aircraft.

18. The method of claim 8 , wherein the particular multicast transmission is a first multicast transmission, the particular time segment is a first time segment of the plurality of consecutive, mutually exclusive time segments, and the greatest number of aircraft is a first subset of the plurality of aircraft, and wherein defining the plurality of multicast transmissions further includes, subsequent to determining the first time segment:

based on the respective transit schedules of a remainder of the plurality of aircraft excluding the first subset, for each remaining time segment of the time interval excluding the first time segment, determining a respective number of the remainder of the plurality of aircraft that are scheduled to be in-flight for the entirety of the each remaining time segment;

determining a second time segment, of the remaining time segments of the time interval, that has a greatest number of the remainder of the plurality of aircraft that are scheduled to be in-flight for the entirety of the second time segment, as compared to respective numbers of aircraft that are scheduled to be in-flight for the entirety of each of the other time segments of the remaining time segments; and

determining one or more portions of the dataset that are to be delivered, via a second multicast transmission of the plurality of multicast transmissions, to each aircraft that is scheduled to be in-flight during the entirety of the second time segment.

19. The method of claim 8 , wherein generating the transmission schedule further includes defining one or more unicast transmissions, each of the one or more unicast transmissions corresponding to another respective time segment of the plurality of consecutive, mutually exclusive time segments, and each unicast transmission indicating another respective one or more portions of the dataset that is to be delivered, via unicasting during the another respective time segment, to another one of the plurality of aircraft.

20. The system of claim 13 , wherein the particular multicast transmission is a first multicast transmission, the particular time segment is a first time segment of the plurality of consecutive, mutually exclusive time segments, and the greatest number of aircraft is a first subset of the plurality of aircraft, and wherein the instructions to define the plurality of multicast transmissions further include instructions to, subsequent to determining the first time segment:

based on the respective transit schedules of a remainder of the plurality of aircraft excluding the first subset, for each remaining time segment of the time interval excluding the first time segment, determine a respective number of the remainder of the plurality of aircraft that are scheduled to be in-flight for the entirety of the each remaining time segment;

determine a second time segment, of the remaining time segments of the time interval, that has a greatest number of the remainder of the plurality of aircraft that are scheduled to be in-flight for the entirety of the second time segment, as compared to respective numbers of aircraft that are scheduled to be in-flight for the entirety of each of the other time segments of the remaining time segments; and

determine one or more portions of the dataset that are to be delivered, via a second multicast transmission of the plurality of multicast transmissions, to each aircraft that is scheduled to be in-flight during the entirety of the second time segment.

Assignments (10)
PATENT SECURITY AGREEMENT Recorded Dec 3, 2024
From: GOGO BUSINESS AVIATION LLC
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 069479/0335 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY COLLATERAL Recorded May 6, 2021
From: U.S. BANK NATIONAL ASSOCIATION
To: GOGO LLC; GOGO BUSINESS AVIATION LLC
Reel/Frame 056153/0033 →
RELEASE OF SECURITY INTEREST Recorded May 4, 2021
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: GOGO LLC
Reel/Frame 057252/0208 →
SECURITY INTEREST Recorded Apr 30, 2021
From: GOGO BUSINESS AVIATION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 056106/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2020
From: GOGO LLC
To: GOGO BUSINESS AVIATION LLC
Reel/Frame 053782/0669 →
SECURITY INTEREST Recorded Aug 27, 2019
From: GOGO LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 050193/0797 →
SECURITY INTEREST Recorded May 2, 2019
From: GOGO LLC
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 049074/0225 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 039381/0484 Recorded Apr 26, 2019
From: U.S. BANK NATIONAL ASSOCIATION
To: GOGO LLC
Reel/Frame 049013/0360 →
PATENT SECURITY AGREEMENT Recorded Jul 20, 2017
From: GOGO LLC
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 043273/0732 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2017
From: BEKIARES, TYRONE D.; SMITH, BRIAN R.; SASI, SAJIT; KELLEHER, WILLIAM A.
To: GOGO LLC
Reel/Frame 042707/0660 →
Continuity (1)
Related Publication 20180367324A1 · Dec 20, 2018