System and method for determining optimal bandwidth for streaming to a client device in an adjustable bit rate video system
First Claim
Patent Images
1. A method for selecting an initial bandwidth setting, the method comprising:
- determining a client is initiating a communication session to receive streaming content from a content source, wherein the streaming content is stored as a plurality of content segments and a manifest describing the plurality of content segments and their order, each of the plurality of content segments being available in a plurality of bit rate encodings;
determining an identifier for the client;
determining network conditions for the client;
selecting a bandwidth setting for the client utilizing the network conditions and a previous bandwidth setting saved in a memory;
initiating the communication session for the client utilizing the bandwidth setting;
wherein initiating the communication session for the client comprises streaming a first content segment having a first bit rate encoding based on the bandwidth setting;
and updating the bandwidth setting to change a bit rate of the streaming content, based on buffer utilization at one or more devices in a network connection between the client and the content source, wherein changing a bit rate of the streaming content comprises streaming a second content segment of the content, the second content segment having a different bit rate encoding than the first content segment;
storing at least one of the updated bandwidth setting, the buffer utilization, and a bandwidth history in memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for selecting an initial bandwidth setting. A determination is made that a client is initiating a communication session. Network conditions for the client are determined. A bandwidth setting for the client is selected utilizing the network conditions and a previous bandwidth setting saved in a memory. The communication session for the client is initiated utilizing the bandwidth seating.
-
Citations
20 Claims
-
1. A method for selecting an initial bandwidth setting, the method comprising:
-
determining a client is initiating a communication session to receive streaming content from a content source, wherein the streaming content is stored as a plurality of content segments and a manifest describing the plurality of content segments and their order, each of the plurality of content segments being available in a plurality of bit rate encodings; determining an identifier for the client; determining network conditions for the client; selecting a bandwidth setting for the client utilizing the network conditions and a previous bandwidth setting saved in a memory; initiating the communication session for the client utilizing the bandwidth setting;
wherein initiating the communication session for the client comprises streaming a first content segment having a first bit rate encoding based on the bandwidth setting;and updating the bandwidth setting to change a bit rate of the streaming content, based on buffer utilization at one or more devices in a network connection between the client and the content source, wherein changing a bit rate of the streaming content comprises streaming a second content segment of the content, the second content segment having a different bit rate encoding than the first content segment; storing at least one of the updated bandwidth setting, the buffer utilization, and a bandwidth history in memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A server for selecting a bandwidth setting, comprising:
-
a processor for executing a set of instructions; and
a memory for storing the set of instructions, wherein the set of instructions are configured to;determine a client is initiating a communication session to receive streaming content from a content source, wherein the streaming content is stored as a plurality of content segments and a manifest describing the plurality of content segments and their order, each of the plurality of content segments being available in a plurality of bit rate encodings; determine an identifier associated with the client; determine network conditions for the client; select a bandwidth setting for the client utilizing the network conditions and the identifier associated with the client, wherein the identifier is associated with a previous bandwidth setting saved in a memory; initiate the communication session for the client utilizing the bandwidth setting wherein initiating the communication session for the client comprises streaming a first content segment having a first bit rate encoding based on the bandwidth setting; and update the bandwidth setting to change a bit rate of the streaming content, based on buffer utilization at one or more devices in a network connection between the client and the content source, wherein changing a bit rate of the streaming content comprises streaming a second content segment of the content, the second content segment having a different bit rate encoding than the first content segment; store at least one of the updated bandwidth setting, the buffer utilization, and a bandwidth history in memory. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A system for retrieving a bandwidth setting, the system comprising:
-
a server configured to determine a client is initiating a communication session to receive streaming content from a content source, determine an identifier associated with the client, determine network conditions for the client, select a bandwidth setting for the client utilizing the identifier associated with the client, the network conditions for the client, and a previous bandwidth setting utilized by the client, initiate the communication session for the client utilizing the bandwidth setting, and update the bandwidth setting to change a bit rate of the streaming content based on buffer utilization at one or more devices in a network connection between the client and the content source; and a database in communication with the server, the database is operable to store the updated bandwidth setting utilized by the client; wherein the streaming content is stored as a plurality of content segments and a manifest describing the plurality of content segments and their order, each of the plurality of content segments being available in a plurality of bit rate encodings; wherein initiating the communication session for the client comprises streaming a first content segment having a first bit rate encoding based on the bandwidth setting; and wherein changing a bit rate of the streaming content comprises streaming a second content segment of the content, the second content segment having a different bit rate encoding than the first content segment. - View Dependent Claims (17, 18, 19, 20)
-
Specification