P
US10645010B2ActiveUtilityPatentIndex 71

Popularity-aware bitrate adaptation of linear programming for mobile communications

Assignee: VIASAT INCPriority: Feb 18, 2015Filed: Apr 5, 2018Granted: May 5, 2020
Est. expiryFeb 18, 2035(~8.6 yrs left)· nominal 20-yr term from priority
Inventors:SLATER JOSHUA GRIGHETTI JOSHUA JVELAYUDHAN NIRMALKUMAR
H04L 67/12H04L 47/2475H04B 7/18513H04L 47/22H04L 47/2441H04L 65/80H04L 65/4092H04L 67/22H04L 65/4084H04L 65/605H04L 65/752H04L 65/613H04L 65/765H04L 67/535H04L 65/612
71
PatentIndex Score
1
Cited by
47
References
31
Claims

Abstract

Embodiments provide popularity-based adaptive bitrate management of linear programming over constrained communications links. Embodiments can operate in context of a communications network communicating with multiple mobile client devices disposed in one or more transport craft. A number of channel offerings, including channels providing linear programming, can be made available via the communications network for consumption by the client devices. Embodiments can compute channel popularity scores for the channel offerings based on a predicted popularity, an estimated popularity, a measured popularity, etc. A bitrate can be determined for each (some or all) of the channel offerings based at least in part on its channel popularity score, so that more popular channel offerings can be communicated at higher bitrates. Determined-bitrate instances of the channel offerings can be obtained and/or generated, and delivered via the communications network, to the client devices for consumption.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method for content delivery over a communications network, the method comprising:
 identifying, at a delivery subsystem, a plurality of bitrates of a channel offering available from a content server in communication with the provider-side node; 
 aggregating previously received client requests for the channel offering from a plurality of client devices disposed in a plurality of carriers of the communications network to determine a respective published subset of the plurality of bitrates of the channel offering for each of the plurality of carriers; 
 communicating, to a portion of the plurality of client devices disposed in at least one transport craft presently being serviced by a first carrier of the plurality of carriers, an indication of a first published subset of the plurality of bitrates, the first published subset of the plurality of bitrates being the respective published subset of the plurality of bitrates of the channel offering determined for the first carrier; 
 receiving a client request for the channel offering from a requesting client device of the portion of the plurality of client devices, the client request indicating selection by the requesting client device of a selected bitrate of the first published subset of the plurality of bitrates; 
 obtaining the channel offering from the content server; and 
 delivering the channel offering to the at least one transport craft by communicating the channel offering over the first carrier at the selected bitrate. 
 
     
     
       2. The method of  claim 1 , wherein the obtaining is responsive to the receiving. 
     
     
       3. The method of  claim 2 , wherein the obtaining comprises:
 issuing a proxy request to the content server on behalf of the requesting client device for the channel offering at the selected bitrate; and 
 receiving the channel offering at the selected bitrate from the content server in response to the proxy request. 
 
     
     
       4. The method of  claim 1 , wherein the obtaining comprises obtaining the channel offering only at the selected bitrate. 
     
     
       5. The method of  claim 1 , wherein:
 the obtaining comprises obtaining a plurality of channel instances from the content server, each comprising the channel offering encoded at a respective one of the plurality of bitrates of the channel offering; and 
 the delivering comprises:
 selecting the channel instance of the plurality of channel instances that comprises the channel offering encoded at the selected bitrate; and 
 communicating the channel instance over the communications network at the selected bitrate. 
 
 
     
     
       6. The method of  claim 5 , wherein the plurality of channel instances is obtained from the content server prior to the receiving. 
     
     
       7. The method of  claim 1 , wherein:
 the obtaining comprises obtaining a first channel instance from the content server comprising the channel offering encoded at a first bitrate; and 
 the delivering comprises:
 converting the first channel instance to a second channel instance, such that the second channel instance comprises the respective one of the plurality of bitrates for the channel offering available from the content server; and 
 communicating the second channel instance over the communications network at the selected bitrate. 
 
 
     
     
       8. The method of  claim 7 , wherein the converting is performed only when the first bitrate is higher than the selected bitrate. 
     
     
       9. The method of  claim 1 , further comprising:
 computing a channel popularity score for the channel offering according to the aggregating, 
 wherein the respective published subset of the plurality of bitrates of the channel offering for each of the plurality of carriers is determined based at least in part on the channel popularity score of the channel offering. 
 
     
     
       10. The method of  claim 1 , further comprising:
 determining whether a communications link between the provider-side node and the at least one transport craft is presently constrained, 
 wherein the respective published subset of the plurality of bitrates of the channel offering for each of the plurality of carriers is determined according to determining that the communications link is presently constrained. 
 
     
     
       11. The method of  claim 1 , wherein the aggregating comprises:
 first aggregating a first portion of the previously received client requests for the channel offering to determine the first published subset of the plurality of bitrates of the channel offering for the first carrier of the communications network, the first portion of the previously received client requests having been received via the first carrier; and 
 second aggregating a second portion of the previously received client requests for the channel offering to determine second published subset of the plurality of bitrates of the channel offering for a second carrier of the communications network, the second portion of the previously received client requests having been received via the second carrier. 
 
     
     
       12. The method of  claim 11 , wherein:
 the portion of the plurality of client devices is a first portion of the plurality of client devices disposed in a first at least one transport craft presently being serviced by the first carrier, and a second portion of the plurality of client devices is disposed in a second at least one transport craft presently being serviced by the second carrier; and 
 the communicating comprises:
 first communicating, via the first carrier to the first plurality of client devices, a first indication of the first published subset of the plurality of bitrates of the channel offering; and 
 second communicating, via the second carrier to the second plurality of client devices, a second indication of the second published subset of the plurality of bitrates of the channel offering. 
 
 
     
     
       13. The method of  claim 1 , wherein the delivery subsystem is disposed in a provider-side node of the communications network. 
     
     
       14. The method of  claim 1 , wherein the communications network is a multi-carrier satellite communications network. 
     
     
       15. The method of  claim 1 , wherein the at least one transport craft is an aircraft. 
     
     
       16. A system for content delivery over a communications network, the system comprising:
 a delivery subsystem coupled with a content server and with the communications network, such that, for a channel offering of a plurality of channel offerings, the delivery subsystem:
 identifies a plurality of bitrates of the channel offering available from the content server; 
 aggregates previously received client requests for the channel offering from a plurality of client devices disposed in a plurality of carriers of the communications network to determine a respective published subset of the plurality of bitrates of the channel offering for each of the plurality of carriers; 
 communicates, to a portion of the plurality of client devices disposed in at least one transport craft presently being serviced by a first carrier of the plurality of carriers, an indication of a first published subset of the plurality of bitrates, the first published subset of the plurality of bitrates being the respective published subset of the plurality of bitrates of the channel offering determined for the first carrier; 
 receives a client request for the channel offering from a requesting client device of the portion of the plurality of client devices, the client request indicating selection by the requesting client device of a selected bitrate of the first published subset of the plurality of bitrates; 
 obtains the channel offering from the content server; and 
 delivers the channel offering to the at least one transport craft by communicating the channel offering over the first carrier at the selected bitrate. 
 
 
     
     
       17. The system of  claim 16 , wherein the delivery subsystem obtains the channel offering from the content server responsive to receiving the client request for the channel offering. 
     
     
       18. The system of  claim 17 , wherein the delivery subsystem obtains the channel offering from the content server by:
 issuing a proxy request to the content server on behalf of the requesting client device for the channel offering at the selected bitrate; and 
 receiving the channel offering at the selected bitrate from the content server in response to the proxy request. 
 
     
     
       19. The system of  claim 16 , wherein the delivery subsystem obtains the channel offering from the content server by obtaining the channel offering only at the selected bitrate. 
     
     
       20. The system of  claim 16 , wherein the delivery subsystem:
 obtains the channel offering from the content server by obtaining a plurality of channel instances from the content server, each comprising the channel offering encoded at a respective one of the plurality of bitrates of the channel offering available from the content server; and 
 delivers the channel offering by:
 selecting the channel instance of the plurality of channel instances that comprises the channel offering encoded at the selected bitrate; and 
 communicating the channel instance over the communications network at the selected bitrate. 
 
 
     
     
       21. The system of  claim 20 , wherein the delivery subsystem obtains the plurality of channel instances from the content server prior to receiving the client request. 
     
     
       22. The system of  claim 16 , wherein the delivery subsystem:
 obtains the channel offering from the content server by obtaining a first channel instance from the content server comprising the channel offering encoded at a first bitrate; and 
 delivers the channel offering by:
 converting the first channel instance to a second channel instance, such that the second channel instance comprises the respective one of the plurality of bitrates for the channel offering available from the content server; and 
 communicating the second channel instance over the communications network at the selected bitrate. 
 
 
     
     
       23. The system of  claim 22 , wherein the delivery subsystem converts the first channel instance to the second channel instance only when the delivery subsystem determines that the first bitrate is higher than the selected bitrate. 
     
     
       24. The system of  claim 16 , further comprising:
 a scoring subsystem that:
 computes a channel popularity score for the channel offering according to the aggregating, 
 wherein the respective published subset of the plurality of bitrates of the channel offering for each of the plurality of carriers is determined based at least in part on the channel popularity score of the channel offering. 
 
 
     
     
       25. The system of  claim 16 , wherein the delivery subsystem further:
 determines whether a communications link between the delivery subsystem and the at least one transport craft is presently constrained, 
 wherein the respective published subset of the plurality of bitrates of the channel offering for each of the plurality of carriers is determined according to determining that the communications link is presently constrained. 
 
     
     
       26. The system of  claim 16 , wherein the delivery subsystem:
 communicates the indication to the plurality of client devices via an in-transport media server disposed on the at least one transport craft; and 
 delivers the channel offering to the at least one transport craft by communicating the channel offering over the communications network at the selected bitrate to the in-transport media server. 
 
     
     
       27. The system of  claim 16 , wherein the communications network comprises a satellite communications link between the at least one transport craft and the content server. 
     
     
       28. The system of  claim 16 , wherein the delivery subsystem is disposed in a provider-side node of the communications network. 
     
     
       29. The system of  claim 16 , wherein the delivery subsystem aggregates further by:
 first aggregating a first portion of the previously received client requests for the channel offering to determine the first published subset of the plurality of bitrates of the channel offering for the first carrier of the communications network, the first portion of the previously received client requests having been received via the first carrier; and 
 second aggregating a second portion of the previously received client requests for the channel offering to determine a second published subset of the plurality of bitrates of the channel offering for a second carrier of the communications network, the second portion of the previously received client requests having been received via the second carrier. 
 
     
     
       30. The system of  claim 29 , wherein:
 the portion of the plurality of client devices is a first portion of the plurality of client devices disposed in a first at least one transport craft presently being serviced by the first carrier, and a second portion of the plurality of client devices is disposed in a second at least one transport craft presently being serviced by the second carrier; and 
 the delivery subsystem communicates further by:
 first communicating, via the first carrier to the first plurality of client devices, a first indication of the first published subset of the plurality of bitrates of the channel offering; and 
 second communicating, via the second carrier to the second plurality of client devices, a second indication of the second published subset of the plurality of bitrates of the channel offering. 
 
 
     
     
       31. The system of  claim 16 , wherein the at least one transport craft is an aircraft.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.