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 PDF

Info

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
Application number
CN201380054168.4A
Other languages
Chinese (zh)
Other versions
CN104737149A (en
Inventor
马克·沃特森
尼尔·D·洪特
约翰·芬格
安东尼·N·帕克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netflix Inc
Original Assignee
Netflix Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US13/654,301 external-priority patent/US9699519B2/en
Application filed by Netflix Inc filed Critical Netflix Inc
Publication of CN104737149A publication Critical patent/CN104737149A/en
Application granted granted Critical
Publication of CN104737149B publication Critical patent/CN104737149B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Subregion is carried out to the files in stream media on multiple content distributing networks
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.
CN201380054168.4A 2012-10-17 2013-10-14 Subregion is carried out to the files in stream media on multiple content distributing networks Active CN104737149B (en)

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