System and method for determining optimal bandwidth for streaming to a client device in an adjustable bit rate video system

US9276967B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9276967-B2
Application numberUS-201213559835-A
CountryUS
Kind codeB2
Filing dateJul 27, 2012
Priority dateJul 27, 2012
Publication dateMar 1, 2016
Grant dateMar 1, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed: 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. 2. The method according to claim 1 , wherein the client is a video streaming application. 3. The method according to claim 1 , wherein the network conditions include a type of data connection being utilized by the client. 4. The method according to claim 1 , wherein the network conditions include determining a number of clients sharing a network connection with bandwidth limitations. 5. The method according to claim 1 , wherein the communication session is initiation of a video session. 6. The method according to claim 1 , further comprising: updating the memory with a bandwidth setting in response to determining the client is functional at the bandwidth setting. 7. The method according to claim 1 , further comprising: determining an identifier associated with the client to determine the previous bandwidth setting associated with the client. 8. The method according to claim 1 , wherein the identifier is a MAC address associated with the client. 9. The method according to claim 1 , further comprising: storing the bandwidth setting at a predefined interval. 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. 11. The server according to claim 10 , wherein the client is a video streaming application, and wherein the network conditions include a type of data connection being utilized by the client. 12. The server according to claim 10 , wherein the network conditions include determining a number of clients sharing a network connection with bandwidth limitations. 13. The server according to claim 10 , wherein the memory is a database accessed by the server to determine the previous bandwidth setting. 14. The server according to claim 10 , wherein the bandwidth setting is selected for each new communication session, and wherein the communication session includes at least video streaming. 15. The server according to claim 10 , wherein the server is the content source. 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. 17. The system according to claim 16 , wherein a plurality of bandwidth settings are stored in the database, and wherein the plurality of bandwidth settings are associated with each of a plurality of clients utilizing each of a plurality of identifiers for initiating communications sessions. 18. The system according to claim 16 , wherein the identifier is a MAC address. 19. The system according to claim 16 , wherein the network conditions include at least a number of clients sharing a network connection with bandwidth limitations and a type of connection utilized by the client. 20. The server according to claim 16 , wherein the server is the content source.

Assignees

Inventors

Classifications

  • Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities (flow or congestion control using dynamic resource allocation, e.g. in-call renegotiation, H04L47/76) · CPC title

  • Admission control; Resource allocation · CPC title

  • Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities · CPC title

  • Electricity · mapped topic

  • Network streaming of media packets · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9276967B2 cover?
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 bandwi…
Who is the assignee on this patent?
Casey Steven M, Castro Felipe, Dhaliwal Ronnie, and 2 more
What technology area does this patent fall under?
Primary CPC classification H04N21/2662. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 01 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).