CN104737149B - Subregion is carried out to the files in stream media on multiple content distributing networks - Google Patents
Subregion is carried out to the files in stream media on multiple content distributing networks Download PDFInfo
- Publication number
- CN104737149B CN104737149B CN201380054168.4A CN201380054168A CN104737149B CN 104737149 B CN104737149 B CN 104737149B CN 201380054168 A CN201380054168 A CN 201380054168A CN 104737149 B CN104737149 B CN 104737149B
- Authority
- CN
- China
- Prior art keywords
- cdn
- streaming
- preference
- media streams
- media
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000009826 distribution Methods 0.000 claims abstract description 12
- UIIMBOGNXHQVGW-UHFFFAOYSA-M buffer Substances [Na+].OC([O-])=O UIIMBOGNXHQVGW-UHFFFAOYSA-M 0.000 abstract description 19
- 230000004044 response Effects 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000003860 storage Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 6
- 239000012092 media component Substances 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000005755 formation reaction Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 229940116821 SSD Drugs 0.000 description 3
- 210000003702 immature single positive T cell Anatomy 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000875 corresponding Effects 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Abstract
It discloses for generating the technology of preference ranking in response to request received from client device, streaming media content.Preference ranking to the streaming medium content of across different content distribution network (CDN) for carrying out subregion indirectly.Since all streaming medium content holdings can be obtained from arbitrary CDN, such subregion can be referred to as " soft " subregion.That is, not being absolute to the subregion of the content across CDN, to which arbitrary content item can be requested from arbitrary CDN.Even if doing so may insure that in the case of the preferred CDN failures for given content item, content still keeps available;Simultaneously increase CDN at the probability of cache hit, without increase cost or difference CDN context buffer real cache device size.
Description
Cross-reference to related applications
This application claims the equity for the U.S. Patent Application Serial Number 13/645,301 submitted on October 17th, 2012,
Full content is incorporated herein by reference.
Background technology
The field of invention
The embodiment of the present invention relates generally to streaming media service.More specifically, the embodiment of the present invention is related to for holding
Place carries out the technology of subregion in the streaming video file on multiple content distributing networks.
To description of related art
Streaming media service generally allows user to pass through data communication network to consume on-demand media content.Service provider's quilt
Storage is configured to the available media file of user (or " stream ") (providing the access to media file).For example, Streaming Media takes
Business provider can hold the library of place Streaming Media title using various distribution networks.Each stream can be provided by recorded video
The digital version of the stage or real-time event of capture, lengthy motion picture film, TV programme, sport event etc..Stream can also include special
The media content that door creates for online distribution.
The media playback executed by client device commonly known as " stream " be because one of distribution network be used for by
The multiple portions of media file are transmitted to client device, client device then decode and initiate playback and without waiting for whole
A stream is received.In view of the delay changed in communication network and bandwidth, content buffer on client device by stream into
Enter part row in the queue before actually just played part.In (causing compared with low available bandwidth) instantaneous network congestion phase
Between, less data is added to buffer, since data are just being moved out of queue to support the playback carried out with certain bit rate, counts
According to may be drained.However during instantaneous high network bandwidth, buffer is replenished and additional buffer time is added
Add, until buffer is filled substantially again.
With the growth of the availability of high bandwidth internet communication, audiovisual (AV) program of coding has been streamed by internet
It catches on.From the point of view of the position of technology, a variety of different stream media protocols can be used for client transmissions Media Stream.Although this
Many in a little agreements is designed to from server to such as typical desktop PC or laptop computer or home theater PC
(HTPC) etc conventional computing system media stream, streaming mode are also used for (including such as mobile phone, tablet meter
Calculation machine and net book computing device, console and handheld video games system, digital video recorder (DVR), DVD player,
The DTV of connection and special stream media equipment (such asSet-top box) etc.) end user's client sets
Standby transmission Streaming Media.
Invention content
One embodiment of the present of invention includes a kind of computer realization for providing Streaming Media title to client device
Method.This method generally may include:Out of, the client device receives to the Streaming Media title request and generation
Content distributing network (CDN) preference (preference) list, content distributing network (CDN) preference list are directed in multiple CDN
Each of include one or more link to Streaming Media title, and streaming media streams to the preference of client device
Sequence in list CDN carry out ranking.Ranking associated at least one of CDN is based at least partially on Streaming Media
One or more characteristics of title, such as based on title ID associated with the Streaming Media title.
Other embodiments include but not limited to:Computer readable storage medium including instruction, these are instructed so that processing
Device unit can realize the one or more aspects of disclosed method;And it is configured as realizing one of disclosed method
Or the system of many aspects.
Description of the drawings
To it can be understood in detail by the feature of the present invention recorded above in a manner of, by reference to (some of
It is shown in the accompanying drawings) embodiment, the specific descriptions of the invention content to being briefly summarized above can be obtained.However it to point out
, attached drawing illustrates only the exemplary embodiments of the present invention, and can permit other equivalent embodiments due to of the invention, because
This attached drawing is understood not to limit its range.
Fig. 1 show according to one embodiment of present invention be configured with multiple content distributing networks (CDN) come to
Client device provides the computing basic facility of streaming medium content.
Fig. 2 shows the content distributing network for being configured as holding place streaming medium content according to one embodiment of present invention
Example.
Fig. 3 shows the example of Streaming Media host server according to one embodiment of present invention.
Fig. 4 shows the example of the client device for watching streaming medium content according to one embodiment of present invention.
Fig. 5 shows the example of the computing system for watching streaming medium content according to one embodiment of present invention.
Fig. 6 show according to one embodiment of present invention be at least partially based on requested media content, to available
The preference list of ranking is carried out in multiple CDN of streaming medium content.
Fig. 7 shows request incoming of the streaming media service provider in response to client according to one embodiment of present invention
The method for sending media content.
Fig. 8 shows that client selects to obtain Streaming Media from it from multiple CDN according to one embodiment of present invention
The method of one CDN of content.
Fig. 9 shows the curve graph of Streaming Media title according to one embodiment of present invention comprising is assigned to CDN points
The set of titles in area and the set of titles for being not allocated to CDN subregions.
Specific implementation mode
In order to be streamed (stream) to media content, streaming media clients equipment can be from multiple content distributing networks
Selection in (content distribution network, CDN).For example, subscriber to service provider certification account it
Afterwards, the media streams that client device can ask streaming given.In response, service provider can be to client send chain
The list connect, these links are directed toward different CDN, media content can be obtained from these CDN.List can be sorted, with instruction
The preference ranking (preference ranking) of each CDN.For example, service provider can have the arrangement there are two CDN with
So that 60% streaming flow, by a CDN processing, remaining 40% by another processing.In this case, provider
Such preference ranking can be generated:The preference ranking gives higher preferences of the first CDN and right for 60% streaming request
The 2nd higher preferences of CDN are given in streaming request in 40%.Subsequent client is based on preference ranking and client to CDN
The measurement of energy is combined to select CDN.In an alternative embodiment, each CDN is joined with weight or probability correlation, and client
CDN is selected according to these probability in end.
Note that CDN refers generally to be attached locally to the calculation server of internet in various positions in this context
Distributed network.That is CDN refers to having actual with another cluster with content server in connectivity or potentially distinguishing
Mode is connected to the cluster of one or more content servers of internet, so that using a cluster or another cluster is come from
Server can cause streaming client different performance (performance) chance.Server cluster can be by offer streaming
The single entities operation (generating multiple virtual CDN) of service, or by multiple service provider's independent operations.In addition, such
Server cluster can be operated by the commercial entity for being referred to as CDN or CDN providers, but be not essential.
Using one of different CDN server clusters as a result, any given title is located at the edge service of a CDN
Possibility in the local caches of device is located at the possibility phase in the local caches of the Edge Server of other CDN with it
Together.Edge Server in i.e. different CDN would tend to the same subsets of cache contents.Due to working as content in local caches
It is higher (and therefore user experience quality may be also more preferable) for the CDN performances of given client when can be used, inside store
It is to be advantageous in the local caches of CDN Edge Servers.A kind of method for increasing the probability of cache hit is to provide greatly
The buffer memory equipment of amount, but this mode means additional cost (provide and operate additional storage device).In addition,
Since CDN can be operated by third party, streaming media service provider may be to by not giving the direct of the hardware that is managed of CDN
Control.
The embodiment provides for increasing cache hit probability, without increasing cost or difference CDN
The technology of the real cache device size of context buffer, more specifically, the embodiment of the present invention use in response to content requests and
The CDN preference rankings being generated to carry out subregion (partitioning) to the streaming medium content across different CDN.For example, stream matchmaker
Body provider can determine that the fixed subset of media content, preference will be set to given CDN for the subset.Such subregion
It can be referred to as " soft (soft) " subregion, because it may be the case that all streaming medium contents can still be obtained from each CDN.I.e. to across
The subregion of the content of CDN can not be it is absolute so that arbitrary content item can by from arbitrary CDN ask.Doing so can
To ensure even if (or being only subject to the reduced performance or needle of a period of time in the preferred CDN failures for given content item
It is bad to specific user's performance) in the case of, content still keeps available.Similarly, in preference ranking probability is provided for each CDN
In the case of, storage content ensures that client can select CDN according to probability at each CDN.In other cases, subregion
It can also be performed, so that some content items are disabled on some CDN.For example, each content item can be lucky
It is available on two CDN.
When providing the library of flow content to subscriber, title popular at that time may be occupied on a small quantity is lived by the streaming that subscriber participates in
Dynamic major part.In one embodiment, the popular content item specified number is not assigned to CDN subregions.I.e. due to across CDN
Diversity be " soft " subregion that valuable, popular title is not allocated to specific CDN for scalability.It does so fair
Perhaps given content item holding (can either be carried by streaming media service from each server cluster operated as different CDN
Still operated in other ways for quotient's operation) it obtains.Meanwhile the request of the content item to distributing to specific CDN subregions is preferred
Ground is supplied from the subregion.Note that whether " prevalence " can be determined in a number of ways item, such as based on being currently identified as prevalence
Item clear regulation list or give content item requested frequency within the nearest period based on relatively other items
It sounds out and measures.
In the following description, numerous details are listed to provide the more thorough explanation to the present invention.However it is right
It is it is readily apparent that also may be used without one or more of these specific details for those skilled in the art
To put into practice the present invention.In other examples, in order to avoid the fuzzy present invention, known feature is not described.
In addition, using in the personal computer for streaming film, music, TV programme etc. by data communication network
The web browser of operation describes the particular embodiment of the present invention.It is used respectively it should be appreciated, however, that present invention can be suitably applied to streaming
Kind can perception/support network consumer-elcetronics devices (such as DVD player,Player, the interface based on web,
Set-top box, mobile phone, gaming platform, portable music player, home media system etc.) stream the Video service accessed.
Accordingly, the reference for including streaming media clients to being run by Web browser is schematic rather than restrictive.
Fig. 1 show according to one embodiment of present invention be configured with multiple content distributing networks (CDN) come to
Client device 130 provides the computing basic facility 100 of streaming medium content.As shown, computing basic facility 100 includes first
CDN 1501, the 2nd CDN 1502, Streaming Media host server 105 and client device 130, it is therein to be each attached to
Data communication network 120.
Streaming Media host server 105 is generally to subscribing to streaming media service, searching for available content using streaming media service
User request respond, and provide for access in CDN 1501、CDN 1502The library of the streaming medium content stored in
In title reference (URL).In one embodiment, Streaming Media host server 105 may include the clothes in operation data library
Business and is configured as to request being received from client device 130, to webpage and/or streaming medium content device computing system
The application server (and other software programs) responded.
Each CDN 150 can store one group of Streaming Media title (streaming media that can be obtained from streaming media service
Title copy), wherein each copy encodes given title with different bit rates.In one embodiment, Streaming Media host
Server 105 can also be configured as management CDN 1501、CDN 1502How the request of streaming media content is served.For example,
In addition to transmit client device 130 preference information with kept between CDN 150 desirable streaming flow proportional (such as
60/40 segmentation), preference information can be used for creating CDN 1501With CDN 1502Content partition.General each content partition can
With the discrete set corresponding to the title that can be obtained from streaming media service.Further, in one embodiment, Streaming Media host
CDN performs poor when server 105 can be in response to instruction (such as to given geographic area, to given ISP) streaming content
Feedback (or for other reasons), to dynamically adjust the preference for being directed to given title.
In one embodiment, FTP client FTP 130 provides the computer system of operation web browser.Accordingly, client
System 1301It can be the desktop computer that can run web browser, laptop computer, home theater PC (HTPC), put down
Plate computer, game console or other computing systems.In this case, web browser is configured as obtaining from the stream
The acquisition of media host server 105 is presented on the Streaming Media interface presented on display 140 (such as LCD display), and flows
Send and decode the media content played back on display 140.
FTP client FTP 130 can also be connected to both network 120 and display 140 set-top box device it is (such as flat
Plate TV).Accordingly, FTP client FTP 130, which also represents, is connectable to network 120 and receives and play back by media server 105
Digital cable box, digital video recorder (DVR) system, video title console and the other Streaming Medias of the Media Stream of offer are set
Standby and DVD player.Such equipment can have for managing (132) and streaming the built-in software/firmware of (131),
Or in some cases, certain or all parts of software can be dynamically downloaded --- for example, some
Dish player can be downloaded and execute BD-Live applications.In addition, display 140 itself can be connectable to network 120,
Play back the integrated equipment for the Media Stream supplied by media server 105.For example, some flat panel television displays include for connecting
To the integrated package of streaming media service, video-on-demand service or video sharing web sites.Another alternative is FTP client FTP
130 can be the mobile computing device of such as mobile phone, tablet computer or net book etc comprising dynamically be loaded into
One of software and proprietary application (or " app ") of the web browser of equipment.
Whatsoever the client device 130 of type be used to access streaming media service, and FTP client FTP 130 all passes through net
Network 120 is communicated to access streaming media service with Streaming Media host server 105.For example, management assembly 132 can allow to order
Family (such as using username and password) selects Streaming Media title to 105 certification of Streaming Media host server oneself.With
Streaming component 131 can be used for streaming and decoded stream media streams afterwards.
In one embodiment, when user asks the access of streaming media title, host server 105 can be to client
(client device 130 should be using these CDN in the list to access for the ranked list of the offer of end equipment 130 CDN
The title of request).The list may include to requested title in CDN 1501With CDN 1502One group of chain of code in the two
It connects (such as http URL).In response, streaming component 131 selects one in CDN 150 to be asked for streaming in lists
The title asked.Therefore, although it is more than other that host server 105, which can indicate the preference to a CDN 150, client is set
Standby 130 can have one final decision in selection CDN 150.Doing so allows client device 130 in preferred CDN
Performance select not preferred CDN when falling to acceptable threshold value or less.
Fig. 2 shows the example for the CDN 150 for being configured as holding place streaming medium content according to one embodiment of present invention.
As shown, CDN 150 includes source server 205 and 4 Edge Servers 2101-2104.Effectively to deliver content, edge
Server in network topology meaning in a manner of different terminals user group " close to (close) " to dispose.Certainly, 150 CDN
Actual deployment may include more Edge Servers 210, may also include other source server 205, and can with point
Layer mode is built.
In one embodiment, source server 205 corresponds to one (or multiple) calculating system for holding place Streaming Media library 207
System.File in Streaming Media library 207 generally corresponds to the media streams that can be obtained from streaming media service.Streaming Media library 207 can be with
The multiple copies encoded with different bit rates including each title.Title in media library 207 is transferred to from source server 205
Edge Server 2101-2104In whole or arbitrary.In response to the request from any specific client device 130, CDN
Mark best edge server (such as 2102), the subsequent streaming content of best edge server to the client device for sending out request
130.It is true generally according to the CDN proprietary technologies developed by CDN service provider to the selection of the Edge Server in specific CDN
It is fixed.However, in the additional examples, CDN providers the client device of any specific can be announced some it is different can
The technology selected Edge Server 210, and be discussed herein can be used for allow client device from can most it is capable delivering be asked
Content Edge Server discovery and request content.
Source server 205 can be maintained at a position and keep Edge Server 210 by the operator of CDN 150
In different geographical locations.For example, CDN 150 may operate in the source server 205 of a central position, and operates and face
The Edge Server 210 of nearly difference population center.When user is from 207 request header of media library, content is by from source server 205
Stream to Edge Server 210.Once being transmitted, which can be stored in content caching by Edge Server 210
In device 215.Therefore, if making another request for identical media title, which can be from context buffer 215
It is transmitted, without obtaining it from source server 205 again.By increasing the number of the cache hit occurred, Edge Server
210 will reduce the data volume for needing to pull from source server 205, improve the efficiency of CDN 150 and the Quality of experience of user.
Other than geographical location, Edge Server 210 can also be used to provide more bandwidth to certain subscriber's groups.Example
Such as, be operated to streaming content to the Edge Server 210 of big subscriber population center quantity, can be more than appear in it is smaller
The quantity of Edge Server 210 near subscriber population center.
As new title is stored in buffer 2151-2154In, other titles may be ejected.In one embodiment
In, title can be based at least being used recently and by from context buffer 2151-2154Expulsion.Each buffer 2151-2154
In content can be determined independently of one another.However, popular titles are more likely to be accessed each Edge Server 2101-2104
Client asked, context buffer 2151-2154It generally can be with mirror images of each other.Meanwhile it comparing and closing on other edge server
User, some titles from media library 207 may more by close on a certain Edge Server user welcome (i.e. some contents
It may be in some regions prevalence).
Buffer 2151Content generally asked what title to drive by user.However it is as noted above, although source
Server 205 can store the integrated media library 207 that can be obtained from streaming media service, streaming media service can create indirectly across
The relatively different context buffers 215 of two different CDN 150.For example, by with header partition CDN preferences and
Based on the subregion of definition preference data is sent to the client device for making request;Over time, different CDN 150
Edge Server 210 can store the media streams collection for not being overlapped (non-overlapping) largely.Meanwhile it using
It can be in order to avoid subregion in the CDN preferences of streaming " prevalence " content (anyway measure).
Fig. 3 shows the example of Streaming Media host server 105 according to one embodiment of present invention.As shown, main
Machine server 105 includes but not limited to:Central processing unit (CPU) 305, network interface 315, interconnection 320,325 and of memory
Storage device 330.Host server 105 can also include that host server 105 is connected to the I/O equipment of I/O equipment 312 to connect
Mouth 310.Note that the component of host server 105 shown in Fig. 3 is simplified, to promote explanation on multiple content distributing networks
Files in stream media subregion.Certain those skilled in the art will recognize that, server system in practice and
Data center may include various additional components, including the layering of such as server virtualization including SSD storage systems is deposited
Storage, monitoring and supervision interface etc..
CPU 305 is fetched and is executed the programming instruction being stored in memory 325.Equally, CPU305 is stored and is fetched and stays
Stay in the application data in memory 325.Interconnection 320 deposits into such as programmable instructions and is set in CPU 305, I/O using data
Standby transmission between interface 310, storage device 330, network interface 315 and memory 325.CPU 305 is included to represent single
One CPU, multiple CPU, the single CPU, etc. with multiple process cores.And memory 325 is commonly included random to represent
Access memory.Storage device 330 can be disc driver storage device.Although illustrated as single unit, storage device
330 can be the combination of the fixation and/or movable memory equipment that are accessed by network, for example, fixed disk drive, can
Mobile memory card, solid-state (SSD) storage device or light storage device, network affixed storage device (NAS) are accessed by network
Storage area network (SAN).
Schematically, memory 325 includes certified component 321, preference formation component 323 and permission component 327.And it deposits
It includes that zoning ordinance 332, content library data 334 and CDN distribute ratio 336 to store up equipment 330.In one embodiment, certification group
Part 321 is configured as certification asks for the user for accessing the content provided by streaming media service.Once the user of media streams
(and/or personal request) is certified, and permission component 327 can generate the license token for being presented to CDN.Token grant CDN
Streaming Media title is streamed to given client device.
Other than the arbitrary licensing mandate for giving client device or token, preference formation component 323 can also quilt
It is configured to determine the CDN ranked lists of client to be sent in response to the request to streaming media streams.Ranked list can
With include to two (or more) links of requested media streams in CDN.In response, client device can be from choosing
Fixed one or more CDN stream requested title.Typically, the CDN of client device selection top ranked, unless flowing
The CDN is measured and/or is predicted as by client device less preferably to execute (for example, because network congestion or ranking when sending content
Current streaming load too high on highest CDN).
In one embodiment, ranked list can be generated according to zoning ordinance 322.For example, each Streaming Media title
It can be by associated with (being specified in content library data 334) different digital identifier.In this case, there is even number value
The title of identifier can cause to tend to the preference ranking of the first CDN, and the title with odd number value identifier can cause to be inclined to
In the preference ranking of the 2nd CDN.The context buffer done so in the Edge Server that can lead to the first CDN and the 2nd CDN is deposited
The relatively different media streams collection of storage.
It is of course also possible to use the various other modes other than simple 50/50 distribution.Such as implement at one
In, CDN distribution proportions 336 specify the flow of how much percentage should be by the first CDN and the 2nd CDN (and the 3rd CDN etc.)
Processing.Therefore, in the case of unequal segmentation (such as in the case of 60/40 or other segmentation), zoning ordinance 332 can be by
Configuration in the preference for being sent to client preferably by a CDN ranking be better than another.
In addition, in one embodiment, certain titles can be in order to avoid multidomain treat-ment.It is not all titles in media library
It is required for being included in " soft " subregion defined by zoning ordinance 332.For example, preference formation component 323 can be by random
Or Weighted random process choosing CDN is to be assigned therein as being sent to client for preferred in the preference list of " prevalence " title
CDN.Doing so may insure that " prevalence " titles equably or according to CDN allocation proportions 336 can provide clothes with CDN by each
Business.
Further, preference formation component 323 can be configured as the real-time letter by collecting CDN performances from stream client
It ceases and uses the information to adjustment and be supplied to the preference instruction of client device to adjust the ranking of given CDN.For example, client
The example of failure transfer during holding selection " not preferred " CDN or streaming can be counted and with geographical, ISP or other
Based on add up.The evidence of failure CDN performances is subsequently used in the visitor that adjustment is provided in those identical geographic areas or ISP
The CND preferences at family end.The performance of stream client can be improved by doing so, this is because it can make preferred CND first
It is more likely to show good performance when secondary trial.In addition, flow is walked to alleviate those performances from the bad CDN guiding of performance
Problem (such as walking to improve the performance of the CDN from the CDN guiding excessively subscribed to by flow).Similarly, " ranking " can carry
For for determining the probability or weight comparing other CDN and be more likely to a certain CDN.In this case, client is according to this
A little probability selection CDN.
Fig. 4 shows showing for the client device 130 for watching streaming medium content according to one embodiment of present invention
Example.In this example, streaming media clients equipment is connected to both display curtain (such as flat panel TV) and network.Accordingly, such as
Shown, client device 130 is connected to both network 120 and display 140.Note that client device 130 by including
It is connected to the cable set top box of television indicator, digital video recorder (DVR) or electricity with integrated streaming function to represent
Depending on machine and special streaming equipment (such asEquipment).No matter how to be configured, client device 130 can energy
Enough media content of the streaming from a variety of different service providers.
As shown, client device 130 includes firmware/processor 405, memory 410 and storage device 435.Firmware
405 represent the operation logic for controlling client device 130.User is allowed to dispatch note for example, firmware 405 can be configured as
Record, be connected to streaming media service, selection to be played back content, etc..
Schematically, memory 410 includes Streaming Media component 131 and management assembly 132 and CDN preference list 420.
In this example, Streaming Media component 131 provides the software for accessing given streaming media service on client device 130.Such as
It shows, Streaming Media component 131 includes that content-browsing interface 416, media decoder 417 and CDN select component 418.Content is clear
The permission user of interface 416 that lookes at interacts with streaming media service, such as search title and the selection title to be played back.In turn, media
Decoder 417 is typically configured as the data that decoding is streamed by network 120 and shows video and audio to user.Once with
Family has selected title, streaming media clients 410 that can be configured as asking the title from Streaming Media host server.For example,
Streaming media clients 410 can be completed with the authenticated exchange of Streaming Media host server and/or license and from host server
Receive CDN preference list 420.As noted, CDN preference list 420 can be provided to a variety of codings of requested title
Link the list by CDN preference rankings.CDN preference list 420 can also include by Streaming Media component 131 for assessing not
The weight of the relative performance of same CDN.
Once CDN preference list has been received, CDN selection components 418 can assess the networking performance, simultaneously of each CDN
Selection will stream (or multiple) CDN for requested media streams from it.For example, CDN selection components 418 can be configured
For selection preference list on the first CDN, as long as the performance measurements of the CDN be more than minimum threshold.If not, and such as
Fruit second (or third etc.) CDN has better performance, then CDN selects component 418 to select the better CDN of performance.However one
In a embodiment, in the 2nd CDN by before selecting, it may be necessary to which the measurement performance of the 2nd CDN is more than another threshold value.I.e. if
First CDN is no more than minimum threshold, then before selecting not preferred CDN in client, the relative performance of the 2nd CDN may need
Improve enough magnitudes.This avoids not preferred CDN be only capable of provide slightly improve performance in the case of selected.In this way
Do the preferred allocation (such as 60/40) between service provider being helped to be maintained at CDN.CDN in normal operation between CDN
Performance is not usually dramatically different, therefore CDN selection components 418 are typically selected to have the CDN of highest preference ranking.However,
There are when congestion or overload from anywhere between CDN Edge Servers and client device, CDN performances may significantly not
Together, high consumer's value is realized by routing to non-master CDN.
In addition to selecting initial CDN, when selected media streams are presented to viewer, Streaming Media component 131 can be with
Practical streaming performance that monitoring client 415 is experienced, from selected CDN.If the performance of selected CDN declines, matchmaker is flowed
Body client can select to retry other CDN, and/or start from the selected title of different CDN streamings.
In an alternative embodiment, Streaming Media component 131 can be configured as from more than one CDN request datas, such as one
Substantially non-overlapping data in the block in each of secondary some difference CND (mobile C DN) for asking to select from complete list.This
Provide continuously to monitor the means of the performance of each mobile C DN to media client.In the present embodiment, the selection of CDN
It is not all or noon selection.Alternatively, client can select to ask, for example, from the block (chunk) of main CDN requests 90%,
And respectively from the CND of two performance suboptimums respectively requests 5%.The situation significantly worse than the second selection is just being executed to obtain in main CDN
Under, weighting can move.In addition, client can be selected to abandon initial main CDN from effort scale and be introduced from complete list
New replacer, to begin setting up the new performance baseline for possible future usage.Using time-out appropriate, so that
If fruit block is not delivered from its requested CND in time, then the block is asked from different CDN to avoid to user again
Presentation interruption.
Fig. 5 shows showing for the client device 130 for watching streaming medium content according to one embodiment of present invention
Example.As shown, client computing system 500 includes but not limited to:It is central processing unit (CPU) 505, network interface 515, total
Line 520, memory 525 and storage device 530.Computing system 500 further includes that I/O equipment and display 512 are connected to calculating
(such as keyboard, mouse or remote controler and such as LCD panel etc is aobvious for the I/O equipment and display interface device 510 of system 500
Show device).
As the CPU 205 of Fig. 2, CPU 505 are included to represent single CPU, multiple CPU, with multiple process cores
Single cpu etc., and memory 525 is included to represent random access memory.Bus 520 connects CPU 505, I/O is set
Standby interface 510, storage device 530, network interface 515 and memory 525.Network interface 515 is configured as via communication network
120 transmission datas, such as to communicate and stream the media content from CDN 150 with host server 105.Such as hard disk drives
The storage device 530 of dynamic device or solid-state (SSD) memory driver etc can store audio-visual data file and it is other in
Hold.
Schematically, memory 525 includes (including streaming media clients 521) web browser 532, Yi Jicun itself
Store up the storage device 530 of the media content 535 buffered.Browser 532, which provides, allows the held place of user access server
The software application of web page and other contents.In the context of present disclosure, streaming media clients 521 generally correspond to
The component software fetched from streaming media service, to media content of the playback from the streaming media service.By Streaming Media client
521 decoding of end and before returning, the content downloaded from streaming media service can be stored in storage device 530 as having buffered
Media content 535.
Streaming media clients 521 can be additionally configured to provide the stream matchmaker above for the client device 130 shown in Fig. 3
The function of body client description.Accordingly, streaming media clients 521, which can be configured as from preference list 523, selects CDN for flowing
Send requested streaming medium content.Or optionally, preference list can provide " weight " or probability and client is according to this
A little probability selection CDN.
Fig. 6 show according to one embodiment of present invention be at least partially based on requested media content, to available
The preference list 600 of ranking is carried out in multiple CDN of streaming medium content.As shown, list 600 includes for three kinds of streaming ratios
Special rate 605, to the first CDN and the 2nd CDN (be denoted as CDN1And CDN2) at three kinds of available Streaming Media title codings chains
It connects.For example, the most slow available code of 500kbps is oriented to 610 " CDN of the first link1- URL ", 615 " R of associated ranking1" and power
Weigh 620 " W1”.Preference list 600 further includes the 625 " CDN of the second link for the coding of 500kbps2- URL " and associated
630 " R of ranking2" and 635 " W of weight2”.Preference list 600 further includes the 1500kbps for requested Streaming Media title
The CDN of both bit rate codings of bit rate coding and 4800kbps1And CDN2URL link.
In one embodiment, streaming media clients can select to stream matchmaker from it by assessing preference list 600
The CDN of body file.For example, streaming media clients can sample available bandwidth to determine in the case where not causing buffer to run
It can expect the Maximum Bit Rate that client is supported.Once client determines that the bit rate of streaming content, client are subsequent
It may be selected by streaming the CDN of the content from its (with selected bit rate coming).For example, client can sample the first CDN
With the network performance of the 2nd CDN, and if preferred CDN delay (or other measurements of network performance) specified threshold it
It is interior, it indicates that the network performance of the preferred CDN should provide the experience of excellent quality to client, then selects the preferred CDN.
Otherwise, if preferred CDN network performance metric has been more than specified threshold, the internetworking of the preferred CDN is indicated
The experience that excellent quality can will cannot be provided to client, then can be made whether from ranked second (or third, etc.)
CDN streaming contents.In one embodiment, distribution to the 2nd CDN in preference list weight (such as weight " W2”
635) it can specify and be necessary by the performance improvement of much degree before selecting in not preferred CDN.For example, being selected as
Before the CND of top ranked, the 2nd CDN can need to provide the improvement of (such as in predicted delay) at least 20%.It is logical
The improved minimum of expection of setting performance is crossed, client device will not be switched to non-optimum for small or slightly performance improvement
The CDN of choosing.Doing so helps to execute " soft " subregion, this is because selected title is not drawn into the Edge Server of the 2nd CDN
Context buffer in.In addition, doing so the overall distribution for the flow for being conducive to be maintained into different CDN.On the contrary, working as poor performance
When sufficiently high, the 2nd CDN can be used to ensure that the experience of the high quality of the subscriber of streaming media service.
Fig. 7 shows request incoming of the streaming media service provider in response to client according to one embodiment of present invention
Send the method 700 of media content.As shown, method 700 starts from step 705, and wherein Streaming Media host receives streaming media
The request of title.As discussed above, such request can by in web browser Streaming Media interface or by special client
The client that the interface that end device generates interacts generates.Once receiving, Streaming Media host is assured that and is asked
The associated identifier of media content.For example, each title can be associated from different numerical value.Once it is determined that Streaming Media
Host can be based at least partially on the ID corresponding to requested content to generate CDN preference list.The preference list of CDN
It is then transferred to client, client can be based at least partially on ranking preference of the instruction in CDN preference list to select
The CDN of requested media content will be streamed from it by selecting.As noted, other than title ID, Streaming Media host can also refer to
CDN preferences are determined to maintain a certain ratio of the flow between first and second (and third, etc.) CDN.
Fig. 8 shows that streaming media clients equipment is selected from multiple CDN according to one embodiment of present invention will be from it
Obtain the method 800 of a CDN of streaming medium content.As shown, method 800 starts from step 805, wherein client device
The request of streaming media content is sent to Streaming Media host server.After the client certificate arbitrarily needed, client's termination
Receive two (or more) lists of links of requested content at CDN.In step 810, client is identified from preference list
The CDN of top ranked.In step 815, client (such as based on available bandwidth and network delay or other factors come) determines inclined
The expected streaming performance of top ranked CDN in good list.If it is expected that streaming performance is more than minimum mass threshold value, then in step
825, client (such as URL using the asked media streams specified in CDN preference list) is from top ranked CDN
Streaming content.
Otherwise, if the streaming performance of top ranked CDN is less than minimum requirements, in step 830, Streaming Media client
End equipment assesses the expected networking performance of (one or more) the 2nd CDN.In step 835, if compared in CDN preference list
Specified weight determines that the expected streaming performance of the 2nd CDN will provide minimum improvement, then in step 840, client device (example
As used the URL for the media streams of asking specified in CDN preference list to come) it is streamed in requested from the 2nd CDN again
Hold.Otherwise, if being switched to the improvement (or it is only slightly to improve) that the 2nd CDN is not supplied to expected streaming performance, client
It holds from top ranked CDN streaming contents.
In one embodiment, Streaming Media host server can be configured as the certain titles created across different CDN
" soft " subregion.For example, Fig. 9 shows the curve graph 900 of Streaming Media title according to one embodiment of present invention comprising divided
The set of titles of dispensing CDN subregions and the set of titles for being not yet assigned to CDN subregions.As shown, curve graph 900 is pressed from up to most
Low sequence depicts the popularity for the title that can be obtained from streaming media service.As can be seen that the stream of available title from Figure 90 0
Row degree is reduced rapidly from most popular title, until stablizing and keeping phase for most of title that can be obtained from streaming media service
To constant.More generally, the quantity of " prevalence " title that can be obtained from streaming media service can account for the small of the whole sum of title
Percentage.In one embodiment, streaming media service provider can generate the CDN preferences row that not convection current row headers carry out subregion
Table is indicated with the title 905 of non-subregion in fig.9.Permission is done so on a small quantity by the Streaming Media title of frequent requests by multiple CDN
Service is provided.And simultaneously, remaining title (being indicated in fig.9 with the title 910 of subregion) is by across multiple CDN subregions.As above
It is described, it does so and creates context buffer at different Edge Servers indirectly, these Edge Servers are across two difference CDN
150 be relatively different.
In an alternative embodiment, in preference list quote three (or more) CDN.In this case, most popular
Content can be still replicated at each CDN, and maximum flexibility and load is allowed to distribute.The content of second popular part by
It is replicated at all CDN in addition to a CDN, each specific title is held by the N number of host being selected independently out from M host
Place.The extra section of the content that popularity successively decreases or level are held place with less duplication, however even if most unfashionable content
Also it is hosted at least one CDN.As a specific example, ranking is that the title of 1-10 is hosted on the four of referred to as A, B, C and D
At a CDN.The title that ranking is 11-25 is at three in four CDN, and wherein title 11 is hosted at A, B, C, title 12
It being hosted at A, B, D, title 13 is hosted at A, C, D, and so on.Ranking is that the title of 26-50 is hosted on two
At CDN, and the title that ranking is 50-100 is only hosted at a CDN.
In short, disclosing for generating preference in response to request received from client device, streaming media content
The technology of ranking.Preference ranking is used for indirectly to the streaming medium content subregion of across different content distribution network (CDN).Due to
All streaming medium contents can be asked from arbitrary CDN, and such subregion can be referred to as " soft " subregion.That is,
Not absolute across the subregion of the content of CDN, arbitrary content Xiang Douke is requested from arbitrary CDN.Doing so may insure that
Even if in the case where the preferred CDN for given content item fails (or being merely subject to the period of reduced performance)
Appearance still keeps available;Increase the probability of cache hit, the content caching without increasing cost or difference CDN at CDN simultaneously
The real cache device size of device.
Although the above is directed to the embodiment of the present invention, without departing from the essential scope,
The other and further embodiment of the present invention can be designed.For example, each aspect of the present invention can be in hardware, software or hard
It is realized in the combination of part and software.One embodiment of the present of invention may be implemented as the program production used with computer system
Product.(one or more) program in program product defines the function and energy of (including method described herein) embodiment
It is enough contained in various computer-readable storage mediums.Schematically computer readable storage medium includes but not limited to:
Not writeable storage medium that (i) information thereon is stored permanently (such as the read-only storage equipment in computer is (such as by CD-
The CD-ROM disk that ROM drive is read), flash memory, rom chip or any kind of solid state non-volatile semiconductor storage
Device);And (ii) be stored thereon with variable information writable storage media it is (such as soft in disc driver or hard disk drive
Disk or any kind of solid-state random-access semiconductor memory).When the computer-readable finger for the function of carrying the guiding present invention
When enabling, such computer readable storage medium is the embodiment of the present invention.
In view of the above, the scope of the present invention is indicated in the appended claims.
Claims (17)
1. a kind of computer implemented method for providing Streaming Media title to client device, the method includes:
The request to first-class media streams is received from the first client device, wherein the first-class media are included in and flow
In first soft sectoring of the associated media streams in media streams library, and to included in multiple content distributing network CDN
The preference of the first subset of CDN is assigned to the first soft sectoring of the media streams;
Based on by the first-class media streams include in the first soft sectoring of the media streams come generate the first preference row
Table, first preference list includes the one or more link to the first-class media streams, and is pressed described first
Streaming Media title stream to the sequence of the preference of first client device in first preference list to described the
The links of first-class media streams carries out ranking, wherein highest preference link included in first preference list with it is described
The first included CDN is associated in the first subset of CDN;
The request to second media streams is received from the second client device, wherein the second media are included in and institute
In the second soft sectoring for stating the associated media streams in Streaming Media title library, and to CDN's included in the multiple CDN
The preference of second subset is assigned to the second soft sectoring of the media streams, and the first subset of the CDN and the CDN
Second subset it is different;And
Based on by the second media streams include in the second soft sectoring of the media streams come generate the second preference row
Table, second preference list includes the one or more link to the second media streams, and is pressed described second
Streaming Media title is streamed to the sequence of the preference of second client device and is carried out to the link in second preference list
Ranking, wherein included by the second subset of highest preference link and the CDN included in second preference list
2nd CDN is associated.
2. the method for claim 1, wherein first client device:
Assessment expected streaming performance associated with the first CDN;And
Once it is determined that the expected streaming performance is more than specified threshold, just via the chain being included in first preference list
A chain in connecing fetches from the first CDN and retrieves the first-class media streams.
3. the method for claim 1, wherein first client device:
Assessment expected streaming performance associated with the first CDN;And
Once it is determined that the expected streaming performance is less than specified threshold, expected streaming property associated with the 3rd CDN is just assessed
Can, the 3rd CDN is also included in the first subset for the CDN for being assigned to first soft sectoring.
4. method as claimed in claim 3, wherein first client device:
Once it is determined that expected streaming performance associated with the 3rd CDN is less than the second specified threshold, just via by including
A chain in the link in first preference list fetches from the first CDN and retrieves the first Streaming Media mark
Topic.
5. method as claimed in claim 3, wherein first client device:
Once it is determined that expected streaming performance associated with the 3rd CDN is more than the second specified threshold, just via being included in
A chain in one or more of links in first preference list is fetched from the 3rd CDN retrievals described first
Streaming Media title.
6. the method as described in claim 1 further includes:
Once it is determined that third Streaming Media title is assigned to the third subregion of media streams, being based on instruction will be at least by described
The CDN distribution proportions of the ratio of one CDN and the 2nd CDN come the network flow serviced are by the first CDN or described
Two CDN rankings are with the highest preference for streaming the third Streaming Media title.
7. method as claimed in claim 6, wherein the third subregion include in Streaming Media title library it is included,
The most frequently set of requested Streaming Media title.
8. the method for claim 1, wherein each of one or more of links are associated with probability value, and
And first client device selects to stream the first-class media streams from it in the link according to the probability value
It is at least part of one link.
9. a kind of system, including
Processor;
Memory, the memory include being configured as executing answering for the operation to client device offer Streaming Media title
With the operation includes:
The request to first-class media streams is received from the first client device, wherein the first-class media are included in and flow
In first soft sectoring of the associated media streams in media streams library, and to included in multiple content distributing network CDN
The preference of the first subset of CDN is assigned to the first soft sectoring of the media streams;
Based on by the first-class media streams include in the first soft sectoring of the media streams come generate the first preference row
Table, first preference list includes the one or more link to the first-class media streams, and is pressed described first
Streaming Media title stream to the sequence of the preference of first client device in first preference list to described the
The links of first-class media streams carries out ranking, wherein highest preference link included in first preference list with it is described
The first included CDN is associated in the first subset of CDN;
The request to second media streams is received from the second client device, wherein the second media are included in and institute
In the second soft sectoring for stating the associated media streams in Streaming Media title library, and to CDN's included in the multiple CDN
The preference of second subset is assigned to the second soft sectoring of the media streams, and the first subset of the CDN and the CDN
Second subset it is different;And
Based on by the second media streams include in the second soft sectoring of the media streams come generate the second preference row
Table, second preference list includes the one or more link to the second media streams, and is pressed described second
Streaming Media title is streamed to the sequence of the preference of second client device and is carried out to the link in second preference list
Ranking, wherein included by the second subset of highest preference link and the CDN included in second preference list
2nd CDN is associated.
10. system as claimed in claim 9, wherein first client device:
Assess the expected streaming performance of the first CDN;And
Once it is determined that the expected streaming performance is more than specified threshold, just via the chain being included in first preference list
A chain in connecing fetches from the first CDN and retrieves the first-class media streams;And
Once it is determined that the expected streaming performance is less than the specified threshold, expected stream associated with the 3rd CDN is just assessed
Performance, the 3rd CDN is sent to be also included in the first subset for the CDN for being assigned to first soft sectoring.
11. system as claimed in claim 10, wherein first client device:
Once it is determined that expected streaming performance associated with the 3rd CDN is less than the second specified threshold, just via by including
A chain in the link in first preference list fetches from the first CDN and retrieves the first Streaming Media mark
Topic;
Once it is determined that expected streaming performance associated with the 3rd CDN is more than second specified threshold, just via described
A chain in the link in first preference list fetches from the 3rd CDN and retrieves the first-class media streams.
12. system as claimed in claim 9, wherein the operation further includes:
Once it is determined that third Streaming Media title is assigned to the third subregion of media streams, being based on instruction will be at least by described
The CDN distribution proportions of the ratio of one CDN and the 2nd CDN come the network flow serviced are by the first CDN or described
Two CDN rankings are with the highest preference for streaming the third Streaming Media title.
13. system as claimed in claim 12, wherein the third subregion includes included in Streaming Media title library
, the set of most frequently requested Streaming Media title.
14. a kind of computer realization side being used for streaming media streams associated with Streaming Media title library by client device
Method, the method includes:
Send request to first-class media streams to Streaming Media host server, wherein the first-class media streams by including
In the first soft sectoring of media streams associated with Streaming Media title library, and to institute in multiple content distributing network CDN
Including the preference of the first subset of CDN be assigned to the first soft sectoring of the media streams;
The first CDN preference list is received from the Streaming Media host server, the first CDN preference list includes to described the
One or more links of first-class media streams, and streamed to the client device by by the first-class media streams
The sequence of preference carries out ranking, wherein institute to the link to the first-class media streams in the first CDN preference list
State highest preference link included in the first CDN preference list and the first CDN phases included in the first subset of the CDN
Association;
The request to second media streams is sent to the Streaming Media host server, wherein the second media streams quilt
It is included in the second soft sectoring of media streams associated with Streaming Media title library, to included in the multiple CDN
The preference of second subset of CDN be assigned to the second soft sectoring of the media streams, and the first subset of the CDN with
The second subset of the CDN is different;And
The 2nd CDN preference list is received from the Streaming Media host server, the 2nd CDN preference list includes to described the
One or more links of second-rate media streams, and streamed to the client device by by the second media streams
The sequence of preference carries out ranking, wherein institute to the link to the second media streams in the 2nd CDN preference list
State highest preference link included in the 2nd CDN preference list and the 2nd CDN phases included in the second subset of the CDN
Association.
15. method as claimed in claim 14, further includes:
Assessment expected streaming performance associated with the first CDN;And
Once it is determined that as soon as the expected streaming performance of the CDN is more than specified threshold, via being included in described first
A chain in the link in CDN preference list fetches from the first CDN and retrieves the first-class media streams;Or
Once it is determined that as soon as the expected streaming performance of the CDN is less than the specified threshold, assessment is also included in
Distribute to the expected streaming performance of the 3rd CDN in the first subset of the CDN of first soft sectoring.
16. method as claimed in claim 15, further includes:
Once it is determined that the expected streaming performance of the 3rd CDN is less than the second specified threshold, just via being included in described the
A chain in the link in one CDN preference list fetches from the first CDN and streams the first-class media streams;Or
Person
Once it is determined that the expected streaming performance of the 3rd CDN is more than second specified threshold, it is just described via being included in
A chain in the link in first CDN preference list fetches from the 3rd CDN and streams the first-class media streams.
17. method as claimed in claim 14, wherein provide the ranking of each CDN in the first CDN preference list
Probability value, and the wherein described client device selects CDN according to the probability value.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/654,301 US9699519B2 (en) | 2012-10-17 | 2012-10-17 | Partitioning streaming media files on multiple content distribution networks |
US13/654,301 | 2012-10-17 | ||
PCT/US2013/064878 WO2014062581A2 (en) | 2012-10-17 | 2013-10-14 | Partitioning streaming media files on multiple content distribution networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104737149A CN104737149A (en) | 2015-06-24 |
CN104737149B true CN104737149B (en) | 2018-08-31 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2909732B1 (en) | Partitioning streaming media files on multiple content distribution networks | |
US10387626B2 (en) | Rights and capability-inclusive content selection and delivery | |
US8230100B2 (en) | Variable fidelity media provision system and method | |
US10282524B1 (en) | Content selection and delivery for random devices | |
JP7275033B2 (en) | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming | |
CN105940680B (en) | Streaming policy management system and method | |
US8886710B2 (en) | Resuming content across devices and formats | |
CA2889589C (en) | Peer-to-peer distribution of digital content | |
JP5969567B2 (en) | Content selection and distribution of rights and functions | |
US9325761B1 (en) | Content provider selection system | |
US8504572B2 (en) | Video and multimedia distribution system | |
US9350804B2 (en) | Peer-to-peer communication to increase download throughput | |
CN104737149B (en) | Subregion is carried out to the files in stream media on multiple content distributing networks | |
WO2014021746A2 (en) | Multifunctional system for presenting multimedia contents of optimum quality to an end user | |
US11729256B2 (en) | Predetermining network route for content steering | |
RU123613U1 (en) | MULTIFUNCTIONAL SYSTEM OF SUBMISSION TO THE END USER OF THE MULTIMEDIA CONTENT OF OPTIMAL QUALITY | |
Khare | Building economic efficiency into multicast content delivery networks | |
Khan | Dynamic Bitrate Adaptation Models in Adaptive Video Streaming: A Comprehensive Review and Comparative Analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |