Dynamic bitrate range selection in the cloud for optimized video streaming
First Claim
Patent Images
1. A system, comprising:
- a set of one or more processors configured to, using a set of one or more interfaces;
receive a request for content from a first client;
receive a set of attributes associated with the first client;
based at least in part on the set of attributes associated with the first client, determine, from a set of clients, a partition of clients correlated with the first client;
based at least in part on one or more real-time quality measures associated with the partition of clients determined to be correlated with the first client, determine, from a set of bitrates, a subset of bitrates for the first client, wherein a different subset of bitrates is determined for a second client, wherein determining the subset of bitrates for the first client comprises determining a threshold bitrate, and wherein the threshold bitrate is predicted based at least in part on an evaluation of interrupts with respect to bitrates; and
provide to the first client the threshold bitrate determined for the first client, wherein the first client is configured to locally rewrite an existing manifest file based at least in part on the threshold bitrate determined for the first client, and wherein the first client is configured to obtain content according to the locally rewritten manifest file; and
a memory coupled to the set of one or more processors and configured to provide the set of one or more processors with instructions.
1 Assignment
0 Petitions
Accused Products
Abstract
Selecting an optimal bitrate range is disclosed. A request for content from a first client is received. An optimal subset of bitrates for the first client is determined. The optimal subset of bitrates for the first client is determined based at least in part on one or more real-time quality measures. A different optimal subset of bitrates is determined for a second client. An indication of the optimal subset of bitrates determined for the first client is provided to the first client. The first client is configured to obtain content according to the indication of the optimal subset of bitrates.
334 Citations
17 Claims
-
1. A system, comprising:
-
a set of one or more processors configured to, using a set of one or more interfaces; receive a request for content from a first client; receive a set of attributes associated with the first client; based at least in part on the set of attributes associated with the first client, determine, from a set of clients, a partition of clients correlated with the first client; based at least in part on one or more real-time quality measures associated with the partition of clients determined to be correlated with the first client, determine, from a set of bitrates, a subset of bitrates for the first client, wherein a different subset of bitrates is determined for a second client, wherein determining the subset of bitrates for the first client comprises determining a threshold bitrate, and wherein the threshold bitrate is predicted based at least in part on an evaluation of interrupts with respect to bitrates; and provide to the first client the threshold bitrate determined for the first client, wherein the first client is configured to locally rewrite an existing manifest file based at least in part on the threshold bitrate determined for the first client, and wherein the first client is configured to obtain content according to the locally rewritten manifest file; and a memory coupled to the set of one or more processors and configured to provide the set of one or more processors with instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
-
receiving a request for content from a first client; receiving a set of attributes associated with the first client; based at least in part on the set of attributes associated with the first client, determining, from a set of clients, a partition of clients correlated with the first client; based at least in part on one or more real-time quality measures associated with the partition of clients determined to be correlated with the first client, determining, from a set of bitrates and using a set of one or more processors, a subset of bitrates for the first client, wherein a different subset of bitrates is determined for a second client, wherein determining the subset of bitrates for the first client comprises determining a threshold bitrate, and wherein the threshold bitrate is predicted based at least in part on an evaluation of interrupts with respect to bitrates; and providing to the first client the threshold bitrate determined for the first client, wherein the first client is configured to locally rewrite an existing manifest file based at least in part on the threshold bitrate determined for the first client, and wherein the first client is configured to obtain content according to the locally rewritten manifest file. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
-
receiving a request for content from a first client; receiving a set of attributes associated with the first client; based at least in part on the set of attributes associated with the first client, determining, from a set of clients, a partition of clients correlated with the first client; based at least in part on one or more real-time quality measures associated with the partition of clients determined to be correlated with the first client, determining, from a set of bitrates and using a set of one or more processors, a subset of bitrates for the first client, wherein a different subset of bitrates is determined for a second client, wherein determining the subset of bitrates for the first client comprises determining a threshold bitrate, and wherein the threshold bitrate is predicted based at least in part on an evaluation of interrupts with respect to bitrates; and providing to the first client the threshold bitrate determined for the first client, wherein the first client is configured to locally rewrite an existing manifest file based at least in part on the threshold bitrate determined for the first client, and wherein the first client is configured to obtain content according to the locally rewritten manifest file.
-
Specification