System and method of managing multiple video players
First Claim
1. A system for managing multiple video players, comprising:
- a single client platform coupled to a set of one or more servers via a network connection, the single client platform comprising;
a plurality of video players configured to stream a plurality of videos from the set of servers over the network connection, wherein each of the video players has a video output frame where a respective one of the plurality of videos is rendered for viewing by an end user on a video display of the single client platform, wherein the plurality of video players are prioritized according to a relative importance using priority values, wherein the priority values are used to apportion bandwidth allotments between the plurality of video players for video playback qualities of the plurality of videos when an amount of available bandwidth on the network connection is less than what the plurality of video players want to consume collectively;
a bandwidth monitoring module configured to determine the amount of available bandwidth;
an arbitration module configured to;
determine a desired amount of bandwidth each of the plurality of video players want to consume individually;
apportion the bandwidth allotments between the plurality of video players based on the priority values, the desired amount of bandwidth each of the plurality of video players want to consume individually, and the amount of available bandwidth; and
calculate whether each of the plurality of video players can sustain a video playback quality above a pre-defined threshold using the respective bandwidth allotment; and
a messaging module in communication with the arbitration module, the messaging module being configured to send a message to at least one of the plurality of video players to reduce the video playback quality or stop playback of each of the respective videos of the at the least one video player when the video playback quality is not sustainable as calculated by the arbitration module.
8 Assignments
0 Petitions
Accused Products
Abstract
A system and method are provided for managing multiple video players executing on a client software platform. The method includes the operation of displaying a plurality of video players viewable by an end user. Each video player can have at least one video data stream supplied over a data network. A priority value can be applied to selected video players. In addition, an amount of bandwidth available from the data network to supply the plurality of video players can then be determined. Another operation is calculating whether the selected video players can sustain a video playback quality above a pre-defined threshold using the determined amount of bandwidth available. This operation can include appropriately apportioning and managing bandwidth and/or processing power allotments between the video players based on the priority assignments when the bandwidth and/or processing power is less than what the video players want to consume A modify playback message may be sent to at least one video player when the video playback rate is not sustainable or has become sustainable again.
-
Citations
33 Claims
-
1. A system for managing multiple video players, comprising:
-
a single client platform coupled to a set of one or more servers via a network connection, the single client platform comprising; a plurality of video players configured to stream a plurality of videos from the set of servers over the network connection, wherein each of the video players has a video output frame where a respective one of the plurality of videos is rendered for viewing by an end user on a video display of the single client platform, wherein the plurality of video players are prioritized according to a relative importance using priority values, wherein the priority values are used to apportion bandwidth allotments between the plurality of video players for video playback qualities of the plurality of videos when an amount of available bandwidth on the network connection is less than what the plurality of video players want to consume collectively; a bandwidth monitoring module configured to determine the amount of available bandwidth; an arbitration module configured to; determine a desired amount of bandwidth each of the plurality of video players want to consume individually; apportion the bandwidth allotments between the plurality of video players based on the priority values, the desired amount of bandwidth each of the plurality of video players want to consume individually, and the amount of available bandwidth; and calculate whether each of the plurality of video players can sustain a video playback quality above a pre-defined threshold using the respective bandwidth allotment; and a messaging module in communication with the arbitration module, the messaging module being configured to send a message to at least one of the plurality of video players to reduce the video playback quality or stop playback of each of the respective videos of the at the least one video player when the video playback quality is not sustainable as calculated by the arbitration module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of managing multiple video players, comprising:
-
streaming a plurality of videos over a network connection from a set of one or more servers by a plurality of video players operating on a single client platform, wherein each of the plurality of video players has a video output frame where a respective one of the plurality of videos is rendered for viewing by an end user on a video display of the single client platform; receiving input identifying a relative importance of each of the plurality of videos to be played by the respective one of the plurality of video players; prioritizing the plurality of video players according to the relative importance using priority values, wherein the priority values are used to apportion bandwidth allotments between the plurality of video players for video playback qualities of the plurality of videos when an amount of available bandwidth on the network connection is less than what the plurality of video players want to consume collectively; wherein said prioritizing comprises assigning a main video player of the plurality of video players the highest priority value; defining a video player profile for each of the plurality of video players, the video player profile having a plurality of data rate levels that correspond to video streamlet sizes for video transfer and viewing at multiple bit rates; determining the amount of available bandwidth; calculating whether the prioritized players can sustain a video playback quality above a pre-defined threshold using the determined amount of available bandwidth; and sending a message to at least one of the plurality of video players having a lower priority than main video player to reduce the video playback quality of each of the respective videos to be played by the at least one video player when the video playback quality is not sustainable. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method, comprising:
-
streaming a plurality of videos from a set of one or more servers over a network connection by a plurality of video players operating on a single client platform, wherein each of the plurality of video players has a video output frame where a respective one of the plurality of videos is rendered for viewing by an end user on a video display of the single client platform; receiving input identifying a relative importance of each of the plurality of videos to be played by the respective one of the plurality of video players; prioritizing the plurality of video players according to the relative importance using priority values, wherein the priority values are used to apportion bandwidth allotments between the plurality of video players for video playback qualities of the plurality of videos when an amount of available bandwidth on the network connection is less than what the plurality of video players want to consume collectively; determining the amount of available bandwidth; determining a desired amount of bandwidth each of the plurality of video players want to consume individually; and apportioning the bandwidth allotments between the plurality of video players based on the priority values, the desired amount of bandwidth each of the plurality of video players want to consume individually, and the amount of available bandwidth. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method of managing multiple video players, comprising:
-
applying a priority value to a plurality of video players operating on a single client platform, wherein each of the plurality of video players is configured to stream one of a plurality of videos over a network connection from a set of one or more servers, and wherein each of the plurality of videos players has a video output frame where a respective one of the plurality of videos is rendered for viewing by an end user on a video display of the single client platform, and wherein the priority values are used to allocate portions of available bandwidth between the plurality of video players for video playback qualities of the plurality of videos when an amount of the available bandwidth on the network connection is less than what the plurality of video players want to consume collectively; determining the amount of available bandwidth; allocating a portion of the available bandwidth to each of the plurality of video players according to the respective priority value; and streaming each of the plurality of videos over the network connection from the set of servers at a quality level that matches the corresponding allocated portion of the available bandwidth. - View Dependent Claims (29, 30, 31)
-
-
32. A method of managing multiple video players, comprising:
-
streaming a plurality of videos over a network connection from a set of one or more networks by a plurality of video players operating on a single client platform, wherein each of the plurality of video players has a video output frame where a respective one of the plurality of videos is rendered for viewing by an end user on a video display of the single client platform; receiving input identifying a relative importance of each of the plurality of videos to be played by the respective one of the plurality of video players; applying a priority value to each of the plurality of video players according to the relative importance, wherein the priority values are used to apportion portions of bandwidth between the plurality of video players for video playback qualities of the plurality of videos when an amount of available bandwidth on the network connection is less than what the plurality of video players want to consume collectively; determining the amount of available bandwidth; calculating the portions of bandwidth the plurality of video players need in order to sustain a video playback quality above a pre-defined threshold using the determined amount of available bandwidth and the priority values; and allocating the amount of available bandwidth between the prioritized video players based on the calculated portions that the plurality of video players need to sustain the video playback quality.
-
-
33. A method of managing multiple video players, comprising:
-
streaming a plurality of videos over a network connection from a set of one or more servers by a plurality of video players operating on a single client platform, wherein each of the plurality of video players has a video output frame where a respective one of the plurality of videos is rendered for viewing by an end user on a video display of the single client platform; receiving input identifying a relative importance of each of the plurality of videos to be played by the respective one of the plurality of video players; applying a priority value to each of the plurality of video players according to the relative importance, wherein the priority values are used to apportion portions of bandwidth between the plurality of video players for video playback qualities of the plurality of videos when an amount of available bandwidth on the network connection is less than what the plurality of video players want to consume collectively; determining the amount of available bandwidth; determining an amount of processing power available on the single client platform to process and display the plurality of videos for the plurality of video players; calculating whether the prioritized video players can sustain a video playback quality above a pre-defined threshold using the determined amount of available bandwidth and the determined amount of processing power available; and sending a message to at least one of the plurality of video players to reduce the video playback quality of the respective video when the video playback quality is not sustainable.
-
Specification