Real-time application behavior changes
US-2018007118-A1 · Jan 4, 2018 · US
US11677799B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11677799-B2 |
| Application number | US-201715655464-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 20, 2017 |
| Priority date | Jul 20, 2016 |
| Publication date | Jun 13, 2023 |
| Grant date | Jun 13, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for distributing video content from a server to a plurality of media devices is provided allowing adaptive bit rate encoding to better utilize bandwidth. The method includes: determining, by the server, the bandwidth to allocate to each of the plurality of media devices using a hypertext transfer protocol-based live streaming client model or a need parameter vector, refining this determination by utilizing client feedback regarding client buffer level and playback state, client hardware capabilities, and client internally measured download rate, and providing the allocated bandwidth to each of the plurality of media devices; wherein the video content is transmitted in a plurality of segments from the server, and wherein each segment is transmitted at a bitrate that may vary from segment to segment.
Opening claim text (preview).
What is claimed: 1. A method comprising: determining, by a server, bandwidth to allocate to each of a plurality of media devices configured to provide video content comprising a plurality of sequential chunks of said video content, and using a HyperText Transfer Protocol-based live streaming client model (“HCM”), a bitrate based on a corresponding need parameter vector (“NPV”) varied by a scalar quality value for each of the plurality of media devices and client feedback regarding client buffer level and playback state, client hardware capabilities, and client internally measured download rate; receiving a notification at the server from a given one of the media devices indicating a trick play operation is being performed by the client device requiring a different variant bitrate from the playback state for the given media device, the notification different from a request for a next sequential chunk, wherein in response to the notification the server allocates a varied bandwidth for the given media device; and providing the determined bandwidth to allocate to each of the plurality of media devices, wherein the video content is transmitted in a plurality of segments from the server, and wherein each segment is transmitted using a variable bitrate from segment to segment. 2. The method of claim 1 wherein the server constructs a state-based HCM for each of the plurality of media devices. 3. The method of claim 2 wherein the server determines the following pieces of information: when a media device is in either of a buffering state or playback state, an estimate of a fullness of a media-device buffer; and when the given media device is in a trick-play state, the different variant bitrate for the trick-play state. 4. The method of claim 2 wherein the determined bandwidth to allocate to each of the plurality of media devices prevents a media device from buffering content already received from the server. 5. The method of claim 1 wherein the server or a proxy constructs a NPV for each of the plurality of media devices, wherein the NPV is based on one or more of the following: video complexity, device profile, service priority level, and codec profile. 6. The method of claim 1 further comprising: transmitting the video content from the server to one or more media devices at a bit rate that is within the confines of the determined bandwidth to allocate for each media device. 7. A method for providing video content using a HyperText Transfer Protocol-based live streaming client model (“HCM”), the method comprising: determining a bandwidth to allocate to a plurality of media devices; determining a number of active media devices associated with the plurality of media devices to allocate the determined bandwidth; determining a need parameter vector (“NPV”) for each of the active media devices; and initially assigning a fraction of the bandwidth to each of the active media devices based on the NPV varied by a scalar quality value for each of the active media devices and based upon a measurement of a rate at which each of the active media devices requests sequential chunks of said video content; receiving a notification from a given one of the media devices that the given media device cannot handle the fraction of bandwidth initially assigned based on bitrate because a TCP proxy obfuscates a delivery bandwidth seen by the server, and receiving from the given media device a maximum bandwidth the given device can handle; and reassigning fractions of bandwidth based on the notification from the given device. 8. The method of claim 7 wherein the NPV is based or one or more of the following: video complexity, device profile, service priority level, and codec profile. 9. The method of claim 8 wherein video complexity is derived from video content as an estimation of a complexity of the video content. 10. The method of claim 8 wherein a device profile indicates that an active device is undergoing a transition period requiring a modification to the bandwidth assigned to the active device. 11. The method of claim 10 wherein the transition period is one or more of the following: a channel change, a pause or resume, a seek, a complete, and a join. 12. The method of claim 7 further comprising: determining an adjustment factor for assigning the fraction of the total bandwidth to each active media device. 13. The method of claim 12 wherein the adjustment factor is based on or more of the following: the NPV for an active media device is over budget, the NPV for an active media device is under budget, an active media device completes playback, and a bottleneck occurs at the active media device. 14. The method of claim 1 , wherein the given device sends the notification to the server through an HTTP REST API that that the given device is stalling and needs a pause and requests that the server leave the given media device out of the scheduling until the given device sends a resume notification. 15. A method for providing video content using a HyperText Transfer Protocol-based live streaming client model (“HCM”), the method comprising: determining a bandwidth to allocate to a plurality of media devices; determining a number of active media devices associated with the plurality of media devices to allocate the determined bandwidth; determining a need parameter vector (“NPV”) for each of the active media devices; and initially assigning a fraction of the bandwidth to each of the active media devices based on the NPV varied by a scalar quality value for each of the active media devices and based upon a measurement of a rate at which each of the active media devices requests sequential chunks of said video content; receiving a notification from a given one of the media devices that the given media device cannot handle the fraction of bandwidth initially assigned because a TCP proxy obfuscates a delivery bandwidth seen by the server; and reassigning fractions of bandwidth based on the notification from the given device. 16. The method of claim 15 , wherein the TCP proxy obfuscates bandwidth due to the server estimating bandwidth with a proxy in the middle, and the proxy downloading a chunk very rapidly but delivering the chunk at a different speed to the given media device. 17. The method of claim 15 , further comprising: receiving at the server a measurement of download rate from the given media device based on the given media device measuring its own download rate and sending the measurements to the server using a REST messaging over HTTP, and throttling the variant rate at the server to a rate based on available bandwidth to the given media server HTTP/TCP connection indication.
Responding to QoS · 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
involving handling client requests (scheduling or organising the servicing of application requests H04L67/60) · CPC title
for supporting one-way streaming services, e.g. Internet radio · CPC title
Management of client data (terminal profiles in network data switching protocols H04L67/303) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.