This invention is directed to a system and method for presenting a single video constructed from one or more video sources; and more particularly, for providing a single video content in which portions of the video content maybe sourced from different content sources as a function of desired characteristics of the source itself.
As known in the art, users upload video content from sources throughout the Internet system. “Online” video streaming utilizes, a single content source for a desired content to be viewed without regard to factors that might influence the availability, and use of that single source. These prior art video systems streamed content from a single source or a selection of sources without regard to factors such as display quality, costs, speed, and availability. These prior art systems suffer from the disadvantage that they were unable to make intelligent decisions with respect to content loading from sources based on both a.) supplied parameters in selecting the source, as well as, b.) real time dynamic parameters, existing during the streaming of the video content. These prior art systems suffered from the disadvantage that they were unable to adapt, or change the source, during online video streaming if the cost, quality or speed of the video source suddenly changed during the streaming of the video. This resulted in a decrease in satisfaction by both the end user as well as the content provider.
Therefore, a system and methodology which overcomes the shortcomings of the prior art is desired.
A video content requestor receives video content from two or more sources. The content requestor selects a video content source from two or more video content sources as a function of multiple factors of the two or more video content sources including the performance of the content source as transmitted to an end user viewer's computer. This optimizes the viewer experience as well as other factors such as reducing costs for serving the content. The content requestor takes into account one or more factors when choosing sources as well as adaptively using different sources for different segments of the video being streamed, all as a function of each of those characteristics. The present requestor improves upon the prior art by determining for one of more factors when choosing content sources, as well as adaptively using different sources as a function of change in each factor for each source for different segments of the video. The system switches between different content sources while video is streaming to optimize source selection based on parameters such as costs, quality, speed, and network conditions.
The present disclosure will be better understood by reading the written description with reference to the accompanying drawings and figures in which the reference numerals denote the similar structure and refer to like elements throughout, in which:
A system 10, operating in accordance with the invention, includes two or more sources of video content 12-18. A first source may be, in a preferred non-limiting embodiment, a network source 12, a second source may be a first server source 14, and additional sources may be a second server source 16 or a number of peer users accessing the same content treated collectively as a user source 18.
In this example, a network source 12 is a third party having a number of video content selections, much like a library, at a single domain address. A server source 14 may have a single video content item stored thereon, or a limited number of different video content each individually addressable. Each source 12-18 communicates with a content requestor 20. Content requestor 20 periodically polls each content source, of a preferably known set of content sources 12-18, to determine what content is located at which source. The video content requestor 20 may communicate with each source 12-18, wirelessly, by landline, but preferably over the Internet. Content requestor 20 may be a server, or a computer having a color monitor, keyboard and mouse.
As known in the art, an end user 22 having a computer with a color monitor, keyboard, and mouse communicates with a website operating at content requestor 20. In general, in response to a video content request from end user 22, video content is incrementally loaded from one or more of content sources 12-18 as a function of parameters for which content requestor 20 is optimizing the overall content feed to end user 22 as is described below.
Content requestor 20 divides the video content requested by end user 22 into predefined sized segments corresponding to the components as stored at each of sources 12-18. Each of these segments are stored at two or more of content delivery sources 12-18 prior to being accessed by content requestor 20. Content requestor 20 continuously monitors the characteristics of content being provided by each of content sources 12-18 and makes decisions on each of the predefined segments of the video and determines from which content source 12-18 to load a segment of the overall video content to be presented to end user 22. Depending on the priorities of the content requestor 20 and/or end user 22, content requestor 20 may choose the video content segments as a function of transmission and loading speed, if for example requestor 20 requires more content within a short period of time. However, when sufficient content is available either at end user 22 or at content requestor 20 to provide sufficiently reliable and high quality video content, then content requestor 20 may utilize other characteristics to determine which segments of the overall content shall be supplied by which source 12-18; such as availability or cost.
These decisions are made dynamically, as the video is being streamed to end user 22. In the preferred non-limiting environment, a decision by content requestor 20 regarding selecting a source 12-18 for a particular segment is made based on the availability of the content on a source 12-18, the cost of using a source 12-18, as well as the speed with which the content can be delivered from that source 12-18. Content requestor 20 selects from the sources 12-18 in order to optimize delivery quality as well as keep the video content playing without delay on the video player of end user 22.
Information about each content source 12-18 is known in advance to content requestor 20. The cost of delivery is generally a fixed value which may be updated from time to time at content requestor 20. Additionally, anticipated or the published speeds of each source 12-18 may be known to content requestor 20 in advance. In order to maintain quality, in this preferred but non-limiting example, the system is described to optimize viewer experience. Therefore, reference is now made to
In one embodiment, the threshold can be continuously adjusted until a single source is selected in step 56. Additionally, the buffer time of each source 12-18 may be continuously monitored as discussed be low, to change the inputs for the decision made in step 56.
Furthermore, in a preferred non-limiting embodiment, if two or more sources provide acceptable performance for a first characteristic such as speed as shown in
In this embodiment, the values for speed as well as relative availability during operation, can change based upon use of a source, the internet itself and other factors. Therefore, content requestor 20 continuously monitors speed of transfer. By monitoring segment size in bytes and transfer speed of sources 12-18, the relative speed of a source is monitored continuously and updated. If a source is known to have a 100 mbps transmit speed, but the end user 22 receives the content at 5 mbps from that source, content requestor 20 will update the information and filter the content source accordingly.
Thus, while there have been shown, described and pointed out novel features of the present invention as applied to the preferred embodiments, it will be understood that the various submissions and substitutions and changes in the form and detail are contemplated to the disclosed invention which may be made by those skilled in the art without departing from the spirit and scope of the invention. It is the intention therefore to be limited only as indicated by the scope of the claims appended hereto. It is also to be understood that the following claims are intended to cover all of the generic and specific features described, and all the statements of the scope of the invention which, as a matter of language, might be said to fall therebetween.
This application claims priority from Provisional Patent Application No. 62/048,934 filed Sep. 11, 2014, and is incorporated herein as set forth in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
6868452 | Eager | Mar 2005 | B1 |
7080400 | Navar | Jul 2006 | B1 |
7404201 | Takeuchi | Jul 2008 | B2 |
7761900 | Crayford | Jul 2010 | B2 |
8191095 | Briggs | May 2012 | B2 |
8631143 | Simonds | Jan 2014 | B2 |
8904463 | Shankar | Dec 2014 | B2 |
9113182 | Lemmons | Aug 2015 | B2 |
9491504 | Nijim | Nov 2016 | B1 |
9684716 | McConville | Jun 2017 | B2 |
20020059394 | Sanders | May 2002 | A1 |
20020124262 | Basso | Sep 2002 | A1 |
20020157103 | Song | Oct 2002 | A1 |
20020174430 | Ellis | Nov 2002 | A1 |
20030204856 | Buxton | Oct 2003 | A1 |
20060236245 | Agarwal | Oct 2006 | A1 |
20070154163 | Cordray | Jul 2007 | A1 |
20070157281 | Ellis | Jul 2007 | A1 |
20080141317 | Radloff | Jun 2008 | A1 |
20080205394 | Deshpande | Aug 2008 | A1 |
20090063681 | Ramakrishnan | Mar 2009 | A1 |
20090083412 | Olaiya | Mar 2009 | A1 |
20090217326 | Hasek | Aug 2009 | A1 |
20090310494 | Ou | Dec 2009 | A1 |
20100031162 | Wiser | Feb 2010 | A1 |
20100058405 | Ramakrishnan | Mar 2010 | A1 |
20100153885 | Yates | Jun 2010 | A1 |
20100178024 | Agarwal | Jul 2010 | A1 |
20110078717 | Drummond | Mar 2011 | A1 |
20120047542 | Lewis | Feb 2012 | A1 |
20120129476 | Whikehart | May 2012 | A1 |
20120137336 | Applegate | May 2012 | A1 |
20120158985 | Patten | Jun 2012 | A1 |
20120257560 | Srinivasan | Oct 2012 | A1 |
20130064283 | Sun | Mar 2013 | A1 |
20130104175 | Applegate | Apr 2013 | A1 |
20140003799 | Soroushian | Jan 2014 | A1 |
20140007146 | Peterson | Jan 2014 | A1 |
20140129618 | Panje | May 2014 | A1 |
20140269401 | Gondi | Sep 2014 | A1 |
20140280781 | Gregotski | Sep 2014 | A1 |
20140280906 | Johns | Sep 2014 | A1 |
20140282792 | Bao | Sep 2014 | A1 |
20140344852 | Reisner | Nov 2014 | A1 |
20150019968 | Roberts | Jan 2015 | A1 |
20150067722 | Bjordammen | Mar 2015 | A1 |
Number | Date | Country | |
---|---|---|---|
62048934 | Sep 2014 | US |