Abstract:
A media delivery service may include a media source, a proxy cache and one or more client devices. The media source may generate coded segments from an input media stream and develop a playlist identifying network locations of the segments. The media source may broadcast the coded segments and their storage locations to a proxy cache in a broadcast channel. The proxy cache may store successfully received coded segments and develop a mapping table identifying the segments' network locations. The client may request segments from the proxy cache based on the received playlist form the media source. If the proxy cache does not store a requested segment, it may so notify the client and the client may request the segment from the media source.
Abstract:
A media streaming method is disclosed in which a network environment of a sink device engaged in media streaming is estimated and at least two network throughput estimates are developed. A first network throughput estimate may be estimated from a measurement of network performance and a second network throughput estimate may be developed from a correlation of the estimated network environment to a machine learning model representing network throughput predictions. A final throughput estimate may be developed from the first and second network throughput estimates; and a representation of media content may be selected for retrieval based on the final throughput estimate. The machine learning model of network throughput may be developed over the course of prior media streaming session(s) that are performed by the sink device in which network throughput performance indicators of the streaming session(s) are stored over a predetermined interval and, upon conclusion of the interval, the model of network throughput is constructed according to a machine learning technique. Both the logging network throughput performance indicators and the building of the model of network throughput may be performed solely by the sink device, which preserves confidentiality of data representing consumer behavior during those media streaming sessions.
Abstract:
An embodiment of a method of requesting a plurality of media streams can include, as performed by a computing device, receiving a control input to control a playback function of at least one of the plurality of media streams, determining a download bandwidth between the computing device and a media source on a network, classifying the at least one of the plurality of media streams based on the control input and total download bandwidth, and sending a plurality of requests for the plurality media streams over a single connection to the media source, wherein at least one of an order or a content of the requests is based on the classification. The sending of the media stream requests can utilize at least one of a server-side protocol for multiplexing media streams over a single connection or one or more of HTTP pipelining or HTTP range requests over a single connection.