System and methods of managing multiple video players executing on multiple devices

US10674131B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10674131-B2
Application numberUS-201916566464-A
CountryUS
Kind codeB2
Filing dateSep 10, 2019
Priority dateJan 15, 2008
Publication dateJun 2, 2020
Grant dateJun 2, 2020

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.

Systems, devices and methods are provided to arbitrate network bandwidth that is shared between multiple video players executing concurrently on one or more client platforms that each have at least one video data stream supplied over a data network. An amount of bandwidth available from the data network is determined. An arbitration module calculates whether the selected video players can sustain a video playback quality above a pre-defined threshold using the determined amount of bandwidth available, and a modify playback message is sent to at least one video player when the video playback quality is not sustainable. Various implementations could prioritize bandwidth based upon the content presented so that high-bandwidth scenes (e.g., action sequences) receive more bandwidth than more static scenes.

First claim

Opening claim text (preview).

What is claimed is: 1. A method executable by a video player device operating as one of a plurality of video players on a shared data network, the method comprising: placing a request, by the video player device via the shared data network, for at least one video data stream having a first quality level for playback by the video player device, wherein the request comprises information that indicates an amount of bandwidth on the shared data network needed to obtain the requested at least one video data stream; receiving, by the video player device, a modify playback message in response to the request when the video playback quality is not sustainable; and in response to the modify playback message, the video player device requesting a lower quality video data stream in place of the at least one video data stream having the first video quality to thereby make additional bandwidth on the shared data network available for use by the other video players operating on the shared data network. 2. The method of claim 1 wherein response is received by a computerized arbitration module that: receives the information from each of the plurality of video players operating on the shared data network to describes amounts of bandwidth consumed by each of the video data streams received by the plurality of video players; computes an amount of shared bandwidth available from the shared data network to supply the plurality of video players; calculates whether the video players can sustain a video playback quality above a pre-defined threshold using the determined amount of shared bandwidth available; and transmits the modify playback message to the video player device when the video playback quality is not sustainable. 3. The method of claim 2 , wherein the computerized arbitration module applies a priority value to each of the plurality of video players, and wherein the modify playback message is sent to the at least one media player with a lowest priority value when the video playback quality is not sustainable to thereby direct the at least one media player with the lowest priority value to reduce its video playback quality by requesting and obtaining the lower bandwidth video data stream in place of the video data stream. 4. The method of claim 3 wherein the priority value applied to each video player is determined at least in part based upon the bandwidth consumed by the type of content being presented by the video player. 5. The method of claim 4 , wherein the computerized arbitration module sends the modify playback quality message first to a lowest priority video player until the lowest priority video player stops playing the video data stream, and then sending the modify playback message to progressively higher priority video players until the higher priority video players stop playing the video data streams or until the remaining video players can sustain the video playback quality above the pre-defined threshold. 6. The method of claim 2 wherein the computerized arbitration module applies an ordinal priority ranking to each of the selected video players. 7. The method of claim 2 , wherein the priority value is applied by applying a greedy flag to one or more of the plurality of video players, wherein the greedy flag defines video players that will not reduce video playback below a minimum defined level. 8. The method of claim 1 further comprising the step of sharing any remaining bandwidth not used by the plurality of video players having priority values between one or more non-priority video players. 9. The method of claim 1 wherein each of the multiple video players executes on a separate computing device. 10. The method of claim 4 , wherein the modify playback message is first received by a lowest priority video player until the lowest priority video player is reduced to a minimum playback level as limited by a greedy flag and then to progressively higher priority video players which are limited by a greedy flag. 11. The method of claim 4 , wherein the modify playback message is first received by a lowest priority player that gives up a profile selection and then by higher priority players up the priority chain that give up their profile selections until a target bandwidth is reached. 12. A data processing system for playing back a video stream, wherein the data processing system is one of a plurality of video players each obtaining one of a plurality of video streams via a shared data network, the data processing system comprising a processor and a memory, wherein the processor of the data processing system is programmed to execute a method that comprises: placing a request, by the video player device, for at least one video data stream having a first quality level via the shared data network for playback by the video player device, wherein the request comprises information that indicates an amount of bandwidth on the shared data network needed to obtain the requested at least one video data stream; receiving, by the video player device, a modify playback message in response to the request when the video playback quality is not sustainable on the shared data network; and in response to the modify playback message, the video player device requesting a lower quality video data stream in place of the at least one video data stream having the first video quality to thereby make additional bandwidth on the shared data network available for use by the other video players operating on the shared data network. 13. A data processing system as in claim 12 , wherein each of the plurality of video players executes on a different computing device. 14. A data processing system as in claim 12 wherein the computerized arbitration system applies a priority value to each of the plurality of video players based upon an ordinal priority ranking. 15. A data processing system as in claim 12 , wherein the computerized arbitration system applies a greedy flag to one or more video players to define those video players that will not reduce video playback below a minimum defined level. 16. A data processing system as in claim 12 wherein a computerized arbitration module in communication with the data processing system via the network: receives the information from each of the plurality of video players operating on the shared data network to describes amounts of bandwidth consumed by each of the video data streams received by the plurality of video players; computes an amount of shared bandwidth available from the shared data network to supply the plurality of video players; calculates whether the video players can sustain a video playback quality above a pre-defined threshold using the determined amount of shared bandwidth available; and transmits the modify playback message to the video player when the video playback quality is not sustainable. 17. A data processing system as in claim 16 , wherein the computerized arbitration system applies a priority value to each of the plurality of video players, and wherein the priority value for each video player is determined at least in part based upon an amount of bandwidth consumed by a type of content being presented by the video player. 18. An automated process executable by a computerized arbitration system to adjust the playback of a plurality of video streams by a plurality of video players each obtaining one of the plurality of video streams via a shared data network, the automatic process comprising: receiving information from each of the plurality of video players operating on the shared data network that describes amount

Assignees

Inventors

Classifications

  • by playing back content from the storage medium (reproduction of recorded television signals H04N5/76; reproduction of recorded television signals H04N9/79) · CPC title

  • OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB · CPC title

  • comprising emergency warnings (arrangements specially adapted for emergency or urgency in broadcast systems H04H20/59; arrangements for providing alarms, notifications, alerts to substation in data switching networks H04L12/1895) · CPC title

  • Responding to QoS · CPC title

  • Electricity · mapped topic

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 US10674131B2 cover?
Systems, devices and methods are provided to arbitrate network bandwidth that is shared between multiple video players executing concurrently on one or more client platforms that each have at least one video data stream supplied over a data network. An amount of bandwidth available from the data network is determined. An arbitration module calculates whether the selected video players can susta…
Who is the assignee on this patent?
Dish Tech Llc
What technology area does this patent fall under?
Primary CPC classification H04N21/4325. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 02 2020 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).