Fair adaptive streaming
First Claim
1. Method for enabling adaptive streaming client devices to share network resources during transmission of content to said client devices, comprising:
- a network node monitoring chunk request messages of client devices, said client devices being configured to select a quality level of a chunk from a plurality of selectable quality levels and to request a media server for transmission of a chunk of said selected quality level, said chunk comprising media data representing content for transmission to said client device;
determining for each of said client devices estimated local quality information using the quality level of one or more monitored chunk request messages of a client device, said local quality information being indicative of a quality level or a Quality of Experience (QoE) of rendering a plurality of chunks by said client device;
determining global quality information on the basis of said estimated local quality information of said client devices, said global quality information being indicative of an average quality level or an average QoE of rendering said content by said client devices; and
,transmitting said global quality information to at least one client device, said global quality information configured for being used by said at least one client device for selecting a quality level of one or more chunks to be requested by said client device;
wherein transmitting said global quality information to said at least one client device comprises;
inserting said global quality information in a chunk response message that is transmitted to said client device; and
/or,transmitting said global quality information over a (bi-directional) control channel to said client device;
wherein said client device is configured to;
select said quality level on the basis of said global quality information, preferably said client device using a manifest file for selecting said quality level, said manifest file defining a plurality of selectable quality levels of said content, each quality level being associated with a sequence of chunks;
request a chunk of said selected quality level on the basis of location information in said manifest file.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for enabling a plurality of adaptive streaming client devices to share network resources includes a network node monitoring chunk request messages of client devices configured to select a quality level of a chunk from a plurality of quality levels and to request a media server for transmission of a chunk of the selected quality level. The quality level in a monitored chunk request message of a client device is used to estimate local quality information associated with the quality performance of the client device. Global quality information, determined based on the estimated local quality information associated with the client devices, and being indicative of the global quality performance of the client devices, is sent to the client devices. The client devices are configured for selecting a quality level for a subsequent chunk based on the global quality information and based on local quality information determined by the client during or after rendering media data of a requested chunk such that deviations between the global quality information and the local quality information is minimized.
-
Citations
16 Claims
-
1. Method for enabling adaptive streaming client devices to share network resources during transmission of content to said client devices, comprising:
-
a network node monitoring chunk request messages of client devices, said client devices being configured to select a quality level of a chunk from a plurality of selectable quality levels and to request a media server for transmission of a chunk of said selected quality level, said chunk comprising media data representing content for transmission to said client device; determining for each of said client devices estimated local quality information using the quality level of one or more monitored chunk request messages of a client device, said local quality information being indicative of a quality level or a Quality of Experience (QoE) of rendering a plurality of chunks by said client device; determining global quality information on the basis of said estimated local quality information of said client devices, said global quality information being indicative of an average quality level or an average QoE of rendering said content by said client devices; and
,transmitting said global quality information to at least one client device, said global quality information configured for being used by said at least one client device for selecting a quality level of one or more chunks to be requested by said client device; wherein transmitting said global quality information to said at least one client device comprises; inserting said global quality information in a chunk response message that is transmitted to said client device; and
/or,transmitting said global quality information over a (bi-directional) control channel to said client device; wherein said client device is configured to; select said quality level on the basis of said global quality information, preferably said client device using a manifest file for selecting said quality level, said manifest file defining a plurality of selectable quality levels of said content, each quality level being associated with a sequence of chunks; request a chunk of said selected quality level on the basis of location information in said manifest file. - View Dependent Claims (2, 3, 4, 5, 8)
-
-
6. Method for enabling adaptive streaming client devices to share network resources during transmission of content to a plurality of client devices, comprising:
-
at least one of said plurality of client devices transmitting one or more chunk request messages for requesting transmission of at least one chunk of a quality level to a client device, said quality level being selected by said client device from a plurality of selectable quality levels, said chunk comprising media data representing content for transmission to said client device; receiving global quality information from a network node configured for monitoring said one or more chunk request messages, said global quality information being indicative of an average quality level or an average QoE of rendering of a plurality of chunks by said plurality of client devices; determining local quality information indicative of an average quality level or an average QoE of content rendered by said at least one client device; and
,selecting a quality level of one or more chunks on the basis of said global quality information and said local quality information; wherein receiving said global quality information comprises; receiving a chunk response message; extracting said global quality information from said chunk response message that is transmitted to said client device; and
/or,receiving said global quality information over a (bi-directional) control channel to said client device; wherein said client device is configured to; select said quality level on the basis of said global quality information, preferably said client device using a manifest file for selecting said quality level, said manifest file defining a plurality of selectable quality levels of said content, each quality level being associated with a sequence of chunks; request a chunk of said selected quality level on the basis of location information in said manifest file. - View Dependent Claims (7, 9)
-
-
10. Method for enabling adaptive streaming client devices to share network resources during transmission of content to said client devices, comprising:
-
a network node monitoring chunk request messages of client devices, said client devices being configured to select a quality level of a chunk from a plurality of selectable quality levels and to request a media server for transmission of a chunk of said selected quality level over a data transmission path to said client devices, wherein at least part of said data transmission path is shared by at least part of said client devices; identifying quality levels qi(k) of a chunk k (k=1, . . . , M) requested by said client devices i (i=1, . . . , N) in said monitored chunk request messages; determining estimated local quality information rif (k) associated with each of said client devices on the basis of a said quality levels qi(k) and one or more quality levels qi(k−
1), qi(k−
2), . . . of one or more earlier requested chunks, and, optionally, a maximum available quality level qm of chunk k;determining global quality information gs(k) for said plurality of client devices on the basis said estimated local quality information rif (k); and
,transmitting said global quality information gs(k) to at least one client device, said client device being configured to select a quality level for a subsequent chunk k+1 such that the difference between said global quality information gs(k) and local quality information ri (k) determined by said client device is minimized; wherein transmitting said global quality information to said at least one client device comprises; inserting said global quality information in a chunk response message that is transmitted to said client device; and
/or,transmitting said global quality information over a (bi-directional) control channel to said client device. - View Dependent Claims (11)
-
-
12. Network node for enabling a plurality of adaptive streaming client devices to share network resources during transmission of content to said client devices, said network node comprising a computer readable storage medium having computer readable program code associated with a media client embodied therewith, and a processor, preferably a microprocessor, coupled to the computer readable storage medium, wherein responsive to executing the computer readable program code, the processor is configured to perform executable operations comprising:
-
monitoring chunk request messages of client devices, said client devices being configured to select a quality level of a chunk from a plurality of selectable quality levels and to request a media server for transmission of a chunk of said selected quality level, said chunk comprising media data representing content for transmission to said client device; determining for each of said client devices estimated local quality information using the quality level of one or more monitored chunk request messages of a client device, said local quality information being indicative of a quality level or a Quality of Experience (QoE) of rendering a plurality of chunks by said client device; determining global quality information on the basis of said estimated local quality information of said client devices, said global quality information being indicative of an average quality level or an average QoE of rendering said content by said client devices; and
,transmitting said global quality information to at least one client device, said global quality information configured for being used by said at least one client device for selecting a quality level of one or more chunks to be requested by said client device; wherein transmitting said global quality information to said at least one client device comprises; inserting said global quality information in a chunk response message that is transmitted to said client device; and
/or,transmitting said global quality information over a (bi-directional) control channel to said client device; wherein said client device is configured to; select said quality level on the basis of said global quality information, preferably said client device using a manifest file for selecting said quality level, said manifest file defining a plurality of selectable quality levels of said content, each quality level being associated with a sequence of chunks; request a chunk of said selected quality level on the basis of location information in said manifest file.
-
-
13. An adaptive streaming client device configured to share network resources with a plurality of client devices during transmission of content to said client device and said plurality of client devices, said client device comprising:
- a computer readable storage medium having computer readable program code associated with a media client embodied therewith, and a processor, preferably a microprocessor, coupled to the computer readable storage medium, wherein responsive to executing the computer readable program code, the processor is configured to perform executable operations comprising;
sending one or more chunk requests messages for requesting transmission of at least one chunk of a quality level to said client device, said quality level being selected from a plurality of selectable quality levels, said chunk comprising media data representing content for transmission to said client device; receiving global quality information from a network node, said global quality information being indicative of an average quality level or an average QoE of content rendered by said plurality of client devices; determining local quality information indicative of an average quality level or an average QoE of content rendered by said at least one client device; and
,selecting a quality level of one or more chunks on the basis of said global quality information and said local quality information; wherein receiving said global quality information comprises; receiving a chunk response message; extracting said global quality information from said chunk response message that is transmitted to said client device; and
/or,receiving said global quality information over a (bi-directional) control channel to said client device; wherein said client device is configured to; select said quality level on the basis of said global quality information, preferably said client device using a manifest file for selecting said quality level, said manifest file defining a plurality of selectable quality levels of said content, each quality level being associated with a sequence of chunks; request a chunk of said selected quality level on the basis of location information in said manifest file. - View Dependent Claims (14, 15, 16)
- a computer readable storage medium having computer readable program code associated with a media client embodied therewith, and a processor, preferably a microprocessor, coupled to the computer readable storage medium, wherein responsive to executing the computer readable program code, the processor is configured to perform executable operations comprising;
Specification