Client side control of adaptive streaming
First Claim
1. A method comprising:
- determining, by a switch manager application executed by a processing device of a client that retrieves streaming content from a server, a first weight for a first switching rule from a plurality of switching rules and a second weight for a second switching rule from the plurality of switching rules, wherein applying each switching rule generates a recommended quality level for electronic content, each weight describing a reliability of the respective switching rule, wherein the second weight indicates that the second switching rule is unreliable and wherein determining the second weight comprises determining that a history of recommended quality levels generated using the second switching rule includes a number of emergency down-switches exceeding a pre-determined threshold, wherein each emergency down-switch comprises selecting, responsive to an event indicating unsatisfactory playback of the electronic content, a rendition having a lower quality level than a current rendition;
determining, by the switch manager application, (i) a first confidence level for a first recommendation generated by the first switching rule and (ii) a second confidence level for a second recommendation generated by the second switching rule, wherein the first confidence level describes a first quantity of first quality-of-service data, wherein the first quality-of-service data is used by the first switching rule to generate recommendations, wherein the second confidence level describes a second quantity of second quality-of-service data, wherein the second quality-of-service data is used by the second switching rule to generate recommendations, wherein the first confidence level differs from the second confidence level based on the first quantity being different from the second quantity;
selecting, by the switch manager application, the first switching rule rather than the second switching rule to generate a recommendation, wherein the first switching rule is selected based at least partially on the first weight of the first switching rule and on the first confidence level of the first switching rule;
applying, by the processing device, the first switching rule and thereby generating a particular recommended quality level for the electronic content; and
downloading and playing, by the processing device, a particular rendition of the electronic content corresponding to the particular recommended quality level for the electronic content.
2 Assignments
0 Petitions
Accused Products
Abstract
One embodiment includes implementing adaptive streaming by a switch manager application executed at a client device. The switch manager application can determine a respective weight for a plurality of switching rules. Each switching rule can include one or more criteria for generating a recommended quality level. Each weight can include data describing a reliability of the rule. The switch manager application can select, based at least partially on the respective weight of the at least one switching rule, at least one switching rule of the plurality of switching rules to generate a recommendation. Another embodiment includes the switch manager application generating a recommendation including a quality level and a confidence level from each of the plurality of switching rules. The switch manager application can determine a selected quality level based on the weights of the switching rules and the quality levels and confidence levels of the recommendations.
12 Citations
18 Claims
-
1. A method comprising:
-
determining, by a switch manager application executed by a processing device of a client that retrieves streaming content from a server, a first weight for a first switching rule from a plurality of switching rules and a second weight for a second switching rule from the plurality of switching rules, wherein applying each switching rule generates a recommended quality level for electronic content, each weight describing a reliability of the respective switching rule, wherein the second weight indicates that the second switching rule is unreliable and wherein determining the second weight comprises determining that a history of recommended quality levels generated using the second switching rule includes a number of emergency down-switches exceeding a pre-determined threshold, wherein each emergency down-switch comprises selecting, responsive to an event indicating unsatisfactory playback of the electronic content, a rendition having a lower quality level than a current rendition; determining, by the switch manager application, (i) a first confidence level for a first recommendation generated by the first switching rule and (ii) a second confidence level for a second recommendation generated by the second switching rule, wherein the first confidence level describes a first quantity of first quality-of-service data, wherein the first quality-of-service data is used by the first switching rule to generate recommendations, wherein the second confidence level describes a second quantity of second quality-of-service data, wherein the second quality-of-service data is used by the second switching rule to generate recommendations, wherein the first confidence level differs from the second confidence level based on the first quantity being different from the second quantity; selecting, by the switch manager application, the first switching rule rather than the second switching rule to generate a recommendation, wherein the first switching rule is selected based at least partially on the first weight of the first switching rule and on the first confidence level of the first switching rule; applying, by the processing device, the first switching rule and thereby generating a particular recommended quality level for the electronic content; and downloading and playing, by the processing device, a particular rendition of the electronic content corresponding to the particular recommended quality level for the electronic content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable medium embodying program code executable by a processing device of a client that retrieves streaming content from a server, the program code comprising:
-
program code for determining a first weight for a first switching rule from a plurality of switching rules and a second weight for a second switching rule from the plurality of switching rules, wherein applying each switching rule generates a recommended quality level for electronic content, each weight describing a reliability of the respective switching rule, wherein the second weight indicates that the second switching rule is unreliable and wherein determining the second weight comprises determining that a history of recommended quality levels generated using the second switching rule includes a number of emergency down-switches exceeding a pre-determined threshold, wherein each emergency down-switch comprises selecting, responsive to an event indicating unsatisfactory playback of the electronic content, a rendition having a lower quality level than a current rendition; program code for determining (i) a first confidence level for a first recommendation generated by the first switching rule and (ii) a second confidence level for a second recommendation generated by the second switching rule, wherein the first confidence level describes a first quantity of first quality-of-service data, wherein the first quality-of-service data is used by the first switching rule to generate recommendations, wherein the second confidence level describes a second quantity of second quality-of-service data, wherein the second quality-of-service data is used by the second switching rule to generate recommendations, wherein the first confidence level differs from the second confidence level based on the first quantity being different from the second quantity; program code for selecting the first switching rule rather than the second switching rule to generate a recommendation, wherein the first switching rule is selected based at least partially on the first weight of the first switching rule and on the first confidence level of the first switching rule; program code for applying the first switching rule and thereby generating a particular recommended quality level for the electronic content; and program code for downloading and playing a particular rendition of the electronic content corresponding to the particular recommended quality level for the electronic content. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A client computing device comprising:
-
a non-transitory computer-readable medium storing code providing a switch manager application; and a processor communicatively coupled to the non-transitory computer-readable medium and configured to execute the code to perform operations comprising; determining a first weight for a first switching rule from a plurality of switching rules and a second weight for a second switching rule from the plurality of switching rules, wherein applying each switching rule generates a recommended quality level for electronic content, each weight describing a reliability of the respective switching rule, wherein the second weight indicates that the second switching rule is unreliable and wherein determining the second weight comprises determining that a history of recommended quality levels generated using the second switching rule includes a number of emergency down-switches exceeding a pre-determined threshold, wherein each emergency down-switch comprises selecting, responsive to an event indicating unsatisfactory playback of the electronic content, a rendition having a lower quality level than a current rendition, determining (i) a first confidence level for a first recommendation generated by the first switching rule and (ii) a second confidence level for a second recommendation generated by the second switching rule, wherein the first confidence level describes a first quantity of first quality-of-service data, wherein the first quality-of-service data is used by the first switching rule to generate recommendations, wherein the second confidence level describes a second quantity of second quality-of-service data, wherein the second quality-of-service data is used by the second switching rule to generate recommendations, wherein the first confidence level differs from the second confidence level based on the first quantity being different from the second quantity, selecting the first switching rule rather than the second switching rule to generate a recommendation, wherein the first switching rule is selected based at least partially on the first weight of the first switching rule and on the first confidence level of the first switching rule, applying the first switching rule and thereby generating a particular recommended quality level for the electronic content, and downloading and playing a particular rendition of the electronic content corresponding to the particular recommended quality level for the electronic content. - View Dependent Claims (15, 16, 17, 18)
-
Specification