IP Library Granted Patent US 12,143,686
Granted Patent B2
US 12,143,686 · App. 18/119,177 · Granted Nov 12, 2024

Systems and methods for managing content distribution to an in-transit media system

Inventors: Joshua G. Slater (Ladera Ranch, CA); Robert G. Crockett, Jr. (San Marco, CA)
Assignee: Viasat, Inc.
H04N21/64769H04N21/2146H04N21/23605H04N21/238H04N21/23805H04N21/2401H04N21/2404H04N21/41422H04N21/437H04N21/44004H04N21/442H04N21/6143H04N21/6193H04N21/64738H04N21/64776
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,143,686
App. No.
18/119,177
Filed
Mar 8, 2023
Granted
Nov 12, 2024
Kind
B2
Examiner
LE, RONG
Art Unit
2421
USPC
725/118
Abstract

Systems and methods for dynamically multiplexing requested linear media channels and network data on forward link traffic streams of a communication link to a craft media delivery system are provided. Furthermore, systems and methods for receiving dynamically multiplexed requested linear media channels and network data on forward link traffic streams of a communication link by a craft media delivery system are also provided.

Claims (100)

1. A method, comprising:

receiving, at a media delivery system on a craft, a request from a client located on the craft for a linear media channel;

determining that the requested linear media channel is unrequested by other clients on the craft;

determining whether channel packets of the requested linear media channel are stored, uncorrected, in a channel cache on the craft; and

in response to determining that uncorrected channel packets of the requested linear media channel are stored in the channel cache:

retrieving the uncorrected channel packets from the channel cache;

performing a correction process on the uncorrected channel packets retrieved from the channel cache to produce corrected channel packets of a channel segment of the requested linear media channel;

assembling the corrected channel packets into a corrected channel segment;

buffering the corrected channel segment; and

providing the buffered corrected channel segment to the client for consumption by the client.

2. The method of claim 1 , further comprising:

receiving, at the media delivery system prior to receiving the request from the client, the channel packets of the linear media channel; and

storing, uncorrected, the channel packets of the requested linear media channel in the channel cache, prior to receiving the request from the client.

3. The method of claim 1 , further comprising:

in response to determining that one or more channel packets of the requested linear media channel corresponding to a prior channel segment are not stored in the channel cache, the prior channel segment preceding the channel segment of the requested linear media channel:

sending a request for the prior channel segment of the requested linear media channel;

receiving the one or more channel packets of the prior channel segment;

performing a correction process on the received one or more channel packets of the prior channel segment to produce corrected channel packets of the prior channel segment of the requested linear media channel;

assembling the corrected channel packets of the prior channel segment into a corrected prior channel segment;

buffering the corrected prior channel segment; and

providing the buffered corrected prior channel segment to the client for consumption by the client.

4. The method of claim 1 , further comprising:

receiving, at the media delivery system, a second request from a second client located on the craft for a second linear media channel;

determining that the requested second linear media channel is unrequested by other clients on the craft;

determining whether channel packets of the requested second linear media channel are stored, uncorrected, in the channel cache on the craft; and

in response to determining that uncorrected channel packets of the requested second linear media channel are not stored in the channel cache:

sending a request for a prior channel segment of the requested second linear media channel, the prior channel segment preceding a current channel segment of the requested second linear media channel;

receiving channel packets of the prior channel segment of the requested second linear media channel;

performing a second correction process on the received channel packets of the prior channel segment to produce corrected channel packets of the prior channel segment of the requested second linear media channel;

assembling the corrected channel packets of the prior channel segment into a corrected prior channel segment of the requested second linear media channel;

buffering the corrected prior channel segment; and

providing the buffered corrected prior channel segment of the requested second linear media channel to the second client for consumption by the second client.

5. The method of claim 1 , further comprising:

in response to the determining that uncorrected channel packets of the requested linear media channel are stored in the channel cache:

changing a status of the requested linear media channel from an unrequested channel to a requested channel to permit subsequent segment requests of the linear media channel.

6. The method of claim 1 , wherein determining that the requested linear media channel is unrequested by other clients on the craft comprises:

determining that a status of the requested linear media channel is set to unrequested.

7. The method of claim 1 , wherein the corrected channel segment is buffered in a media buffer on the craft.

8. The method of claim 1 , wherein the linear media channel is one of a plurality of linear media channels offered within the craft by the media delivery system in response to requests originating from clients on the craft.

9. The method of claim 1 , wherein performing the correction process on the uncorrected channel packets comprises:

determining whether any channel packet of the uncorrected channel packets includes an error; and

requesting any channel packet that is determined to include the error.

10. An apparatus for location on a craft, comprising:

a media delivery system comprising a channel cache and a media buffer, the media delivery system configured to:

receive a request from a client located on the craft for a linear media channel;

determine that the requested linear media channel is unrequested by other clients on the craft;

determine whether channel packets of the requested linear media channel are stored, uncorrected, in the channel cache; and

in response to determining that uncorrected channel packets of the requested linear media channel are stored in the channel cache:

retrieve the uncorrected channel packets from the channel cache;

perform a correction process on the uncorrected channel packets retrieved from the channel cache to produce corrected channel packets of a channel segment of the requested linear media channel;

assemble the corrected channel packets into a corrected channel segment;

buffer the corrected channel segment in the media buffer; and

provide the buffered corrected channel segment to the client for consumption by the client.

11. The apparatus of claim 10 , wherein the media delivery system is further configured to:

receive, prior to receiving the request from the client, the channel packets of the linear media channel; and

store, uncorrected, the channel packets of the requested linear media channel in the channel cache, prior to receiving the request from the client.

12. The apparatus of claim 11 , wherein the media delivery system is configured to receive the channel packets via a satellite communication link.

13. The apparatus of claim 10 , wherein the media delivery system is further configured to:

in response to determining that one or more channel packets of the requested linear media channel corresponding to a prior channel segment preceding the channel segment of the requested linear media channel are not stored in the channel cache:

send a request for the prior channel segment of the requested linear media channel;

receive the one or more channel packets of the prior channel segment;

perform a correction process on the received one or more channel packets of the prior channel segment to produce corrected channel packets of the prior channel segment of the requested linear media channel;

assemble the corrected channel packets of the prior channel segment into a corrected prior channel segment;

buffer the corrected prior channel segment; and

provide the buffered corrected prior channel segment to the client for consumption by the client.

14. The apparatus of claim 13 , wherein the media delivery system is configured to:

send the request for the prior channel segment via a satellite communication link; and

receive the channel packets of the prior channel segment via the satellite communication link.

15. The apparatus of claim 10 , wherein the media delivery system is further configured to:

receive a second request from a second client located on the craft for a second linear media channel;

determine that the requested second linear media channel is unrequested by other clients on the craft;

determining whether channel packets of the requested second linear media channel are stored, uncorrected, in the channel cache on the craft; and

in response to determining that uncorrected channel packets of the requested second linear media channel are not stored in the channel cache:

send a request for a prior channel segment of the requested second linear media channel, the prior channel segment preceding a current channel segment of the requested second linear media channel;

receive channel packets of the prior channel segment of the requested second linear media channel;

perform a second correction process on the received channel packets of the prior channel segment to produce corrected channel packets of the prior channel segment of the requested second linear media channel;

assemble the corrected channel packets of the prior channel segment into a corrected prior channel segment of the requested second linear media channel;

buffer the corrected prior channel segment; and

provide the buffered corrected prior channel segment of the requested second linear media channel to the second client for consumption by the second client.

16. The apparatus of claim 10 , wherein the media delivery system is further configured to:

in response to the determining that uncorrected channel packets of the requested linear media channel are stored in the channel cache:

change a status of the requested linear media channel from an unrequested channel to a requested channel to permit subsequent segment requests of the linear media channel.

17. The apparatus of claim 10 , wherein to determine that the requested linear media channel is unrequested by other clients on the craft, the media delivery system is configured to:

determine that a status of the requested linear media channel is set to unrequested.

18. The apparatus of claim 10 , wherein the linear media channel is one of a plurality of linear media channels offered within the craft by the media delivery system in response to requests originating from clients on the craft.

19. The apparatus of claim 10 , wherein to perform the correction process on the uncorrected channel packets, the media delivery system is configured to:

determine whether any channel packet of the uncorrected channel packets includes an error; and

request any channel packet that is determined to include the error.

20. The apparatus of claim 19 , wherein the media delivery system is configured to request the any channel packet via a satellite communication link.

21. A method, comprising:

receiving, at a media delivery system on a craft, requests for linear media channels from among a plurality of linear media channels offered within the craft by the media delivery system in response to requests originating on the craft, the requests for the linear media channels originating from a plurality of clients located on the craft; and

for each request for a linear media channel by a client of the plurality of clients:

determining that the requested linear media channel is unrequested by other clients on the craft;

determining whether channel packets of a current channel segment of the requested linear media channel are stored, uncorrected, in a channel cache on the craft;

in response to determining that uncorrected channel packets of the current channel segment of the requested linear media channel are stored in the channel cache, retrieving the uncorrected channel packets of the current channel segment from the channel cache;

in response to determining that uncorrected channel packets of the current channel segment of the requested linear media channel are not stored in the channel cache, transmitting a request for a prior channel segment of the requested linear media channel, and based on the transmitting, receiving channel packets of the prior channel segment, wherein the prior channel segment precedes the current channel segment of the requested linear media channel;

performing a correction process on the retrieved uncorrected channel packets of the current channel segment or the received channel packets of the prior channel segment to produce corrected channel packets of a channel segment of the requested linear media channel;

assembling the corrected channel packets into a corrected channel segment;

buffering the corrected channel segment; and

providing the buffered corrected channel segment to the client for consumption by the client.

Assignments (5)
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Sep 19, 2023
From: VIASAT, INC.
To: MUFG BANK, LTD., AS AGENT
Reel/Frame 064948/0379 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Jun 29, 2023
From: VIASAT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 064164/0152 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Jun 29, 2023
From: VIASAT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 064164/0498 →
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Jun 29, 2023
From: VIASAT, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 064176/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2023
From: SLATER, JOSHUA G.; CROCKETT, ROBERT G.
To: VIASAT INC.
Reel/Frame 062974/0396 →
Continuity (5)
Continuation 17347542 · Jun 14, 2021
Continuation 16684815 · Nov 15, 2019
Continuation 15747650
Provisional Application 62198573 · Jul 29, 2015
Related Publication 20230362453A1 · Nov 9, 2023