IP Library Granted Patent US 10,200,424
Granted Patent B2
US 10,200,424 · App. 15/278,385 · Granted Feb 5, 2019

Seamless delivery of real-time media stream with intermittent signal loss

Inventors: Tyrone D. Bekiares (Park Ridge, IL); Brian R. Smith (Chicago, IL); Sajit Sasi (Burr Ridge, IL); William A. Kelleher (Chicago, IL)
Assignee: GOGO LLC
H04L65/4069H04B7/18506H04B7/18513H04L65/4076H04L65/605H04L65/80H04L67/02H04L67/12H04W36/0016
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,200,424
App. No.
15/278,385
Granted
Feb 5, 2019
Kind
B2
Abstract

A real-time media stream, multicast by a remote computing system, is received by an on-board system of a vehicle. While being received, the real-time media stream is packaged into time-delineated media segments that are input to a buffer. One or more missing segments are identified after a signal loss event (e.g., a satellite handoff), and a request for the missing segment(s) is/are caused to be sent to the remote computing system. The missing segment(s) is/are received from the remote computing system via a unicast transmission, and inserted into the buffer in sequence with the time-delineated media segments. The buffered real-time media stream, including the inserted segment(s), is caused to be provided to one or more electronic devices on-board the vehicle. In this manner, the real-time media stream may be seamlessly delivered to the on-board electronic device(s) despite a loss of connectivity due to the signal loss event.

Claims (75)

1. A method, implemented by an on-board system of an aircraft, of seamlessly providing a real-time media stream to one or more electronic devices on-board the aircraft, the method comprising:

receiving a real-time media stream via a first satellite link, the real-time media stream being multicast by a remote computing system; and

while receiving portions of the real-time media stream:

packaging the real-time media stream into a plurality of time-delineated media segments;

inputting the plurality of time-delineated media segments into a buffer, wherein the buffer delays the real-time media stream by a buffer time value that is equal to or greater than a duration of N of the time-delineated media segments, and wherein N is an integer greater than or equal to one;

identifying, after a signal loss event, one or more missing time-delineated media segments, wherein the signal loss event is a handoff between either (i) two satellites, or (ii) two spot beams of a single satellite, and wherein the duration of the N time-delineated media segments is greater than or equal to an anticipated maximum time needed for the handoff;

causing a request for the one or more missing time-delineated media segments to be sent to the remote computing system;

receiving the one or more missing time-delineated media segments from the remote computing system via a unicast transmission;

inserting the one or more missing time-delineated media segments into the buffer in sequence with the plurality of time-delineated media segments; and

causing the buffered real-time media stream, including the inserted one or more missing time-delineated media segments, to be provided to the one or more electronic devices on-board the aircraft.

2. The method of claim 1 , wherein the method comprises, while receiving the portions of the real-time media stream:

causing the request for the one or more missing time-delineated media segments to be sent to the remote computing system via a second satellite link; and

receiving the one or more missing time-delineated media segments via the second satellite link.

3. The method of claim 1 , wherein:

receiving the real-time media stream includes receiving metadata associated with the real-time media stream, the metadata being indicative of boundaries between segments of the real-time media stream; and

packaging the received real-time media stream into the plurality of time-delineated media segments includes segmenting the real-time media stream according to the boundaries indicated by the metadata.

4. The method of claim 3 , wherein:

the metadata further specifies segment identifiers each corresponding to a different one of the segments of the real-time media stream; and

packaging the received real-time media stream into the plurality of time-delineated media segments further includes naming the plurality of time-delineated media segments based on the segment identifiers specified by the metadata.

5. The method of claim 4 , wherein identifying the one or more missing time-delineated media segments includes comparing successive segment identifiers specified by the metadata.

6. The method of claim 5 , wherein:

the successive segment identifiers include a first segment identifier corresponding to an i-th marker in the received real-time media stream and a second segment identifier corresponding to an (i+1)-th marker in the received real-time media stream; and

comparing the successive segment identifiers specified by the metadata to identify the one or more missing time-delineated media segments includes subtracting a value of the first segment identifier from a value of the second segment identifier to determine a number of missing time-delineated media segments.

7. The method of claim 1 , wherein the method comprises:

causing the request for the one or more missing time-delineated media segments to be sent to the remote computing system via a unicast HTTP interface; and

receiving the one or more missing time-delineated media segments via the unicast HTTP interface.

8. The method of claim 1 , wherein:

the real-time media stream is multicast by a first component of the remote computing system;

the method comprises causing the request for the one or more missing time-delineated media segments to be sent to a second component of the remote computing system, the second component being remote from the first component; and

the method comprises receiving the one or more missing time-delineated media segments from the second component of the remote computing system via the unicast transmission.

9. The method of claim 1 , wherein causing the buffered real-time media stream, including the inserted one or more missing time-delineated media segments, to be provided to the one or more electronic devices includes providing the buffered real-time media stream to an on-board wireless access point for transmission to the one or more electronic devices.

10. The method of claim 1 , wherein N is an integer greater than or equal to three.

11. An on-board system for seamlessly providing real-time media streams to one or more electronic devices on-board an aircraft carrying the on-board system, the on-board system comprising:

one or more processors; and

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

receive, via a first satellite link, a real-time media stream that is multicast by a remote computing system; and

while receiving portions of the real-time media stream:

package the received real-time media stream into a plurality of time-delineated media segments;

input the plurality of time-delineated media segments into a buffer, wherein the buffer delays the real-time media stream by a buffer time value that is equal to or greater than a duration of N of the time-delineated media segments, and wherein N is an integer greater than or equal to one;

identify, after a signal loss event, one or more missing time-delineated media segments, wherein the signal loss event is a handoff between either (i) two satellites, or (ii) two spot beams of a single satellite, and wherein the duration of the N time-delineated media segments is greater than or equal to an anticipated maximum time needed for the handoff;

cause a request for the one or more missing time-delineated media segments to be sent to the remote computing system;

receive the one or more missing time-delineated media segments from the remote computing system via a unicast transmission;

insert the one or more missing time-delineated media segments into the buffer in sequence with the plurality of time-delineated media segments; and

cause the buffered real-time media stream, including the inserted one or more missing time-delineated media segments, to be provided to the one or more electronic devices on-board the aircraft.

12. The on-board system of claim 11 , wherein:

the computer-executable instructions, when executed by the one or more processors, cause the on-board system to (i) cause the request for the one or more missing time-delineated media segments to be sent to the remote computing system via a second satellite link, and (ii) receive the one or more missing time-delineated media segments via the second satellite link.

13. The on-board system of claim 12 , further comprising:

one or more on-board wireless access points configured to transmit WiFi signals;

one or more satellite transceivers configured to transmit and receive satellite signals,

wherein the computer-executable instructions, when executed by the one or more processors, cause the on-board system to (i) receive the real-time media stream via the one or more satellite transceivers, (ii) cause the request for the one or more missing time-delineated media segments to be sent via the one or more satellite transceivers, (iii) receive the one or more missing time-delineated media segments via the one or more satellite transceivers, and (iv) cause the buffered real-time media stream, including the inserted one or more missing time-delineated media segments, to be provided to the one or more electronic devices via the one or more on-board wireless access points.

14. The on-board system of claim 11 , wherein the computer-executable instructions, when executed by the one or more processors, cause the on-board system to:

receive the real-time media stream along with metadata associated with the real-time media stream, the metadata (i) being indicative of boundaries between segments of the real-time media stream and (ii) specifying segment identifiers each corresponding to a different one of the segments of the real-time media stream;

package the received real-time media stream into the plurality of time-delineated media segments at least by (i) segmenting the real-time media stream according to the boundaries indicated by the metadata and (ii) naming the plurality of time-delineated media segments based on the segment identifiers specified by the metadata; and

identify the one or more missing time-delineated media segments at least by comparing successive segment identifiers specified by the metadata.

15. A method, implemented by a computing system located remotely from a plurality of aircraft, of seamlessly providing a real-time media stream at least to one or more electronic devices on-board a first aircraft of the plurality of aircraft, the method comprising:

encoding a real-time media stream, at least in part by generating metadata indicating boundaries between segments of the real-time media stream; and

while encoding portions of the real-time media stream:

packaging a first copy of the encoded real-time media stream into a plurality of time-delineated media segments, at least in part by segmenting the real-time media stream according to the boundaries indicated by the metadata;

caching a sliding window of N segments of the plurality of time-delineated media segments, N being an integer greater than or equal to one;

causing a second copy of the encoded real-time media stream to be transmitted to the plurality of aircraft via a multicast transmission over a plurality of satellite links;

receiving, from the first aircraft and after a signal loss event, a request for one or more missing time-delineated media segments, wherein the signal loss event is a handoff between either (i) two satellites, or (ii) two spot beams of a single satellite, and wherein a duration of the N time-delineated media segments is greater than or equal to an anticipated maximum time needed for the handoff;

retrieving the one or more missing time-delineated media segments from among the cached N segments; and

causing the retrieved one or more missing time-delineated media segments to be transmitted to the first aircraft via a unicast transmission.

16. The method of claim 15 , further comprising:

buffering the second copy of the encoded real-time media stream by a buffer time value to delay the multicast transmission, the buffer time value being equal to or greater than a duration of one of the time-delineated media segments.

17. The method of claim 15 , wherein:

the metadata also specifies segment identifiers each corresponding to a different one of the segments of the real-time media stream; and

packaging the first copy of the encoded real-time media stream into the plurality of time-delineated segments includes naming the plurality of time-delineated media segments based on the segment identifiers specified by the metadata.

18. The method of claim 17 , wherein:

receiving a request for the one or more missing time-delineated media segments includes receiving a set of one or more segment identifiers each corresponding to a different one of the one or more missing time-delineated media segments; and

retrieving the one or more missing time-delineated media segments from among the cached N segments includes retrieving the one or more missing time-delineated media segments using the received set of one or more segment identifiers.

19. The method of claim 15 , wherein:

the method comprises, while encoding the portions of the real-time media stream:

receiving the request for the one or more missing time-delineated media segments via a first satellite link; and

causing the retrieved one or more missing time-delineated media segments to be transmitted to the first aircraft via the first satellite link.

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 Nov 3, 2016
From: GOGO LLC
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 040560/0844 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: BEKIARES, TYRONE D.; SMITH, BRIAN R.; SASI, SAJIT; KELLEHER, WILLIAM A.
To: GOGO LLC
Reel/Frame 039895/0113 →
Continuity (1)
Related Publication 20180091567A1 · Mar 29, 2018
Cited By (1)
US 12,587,695