背景技術(shù):
內(nèi)容分發(fā)服務(wù)可以使用獨(dú)立的內(nèi)容分發(fā)網(wǎng)絡(luò)(cdn)來(lái)向客戶端分發(fā)視頻。cdn通常包括可以向客戶端分發(fā)大量視頻業(yè)務(wù)的大型網(wǎng)絡(luò)。例如,內(nèi)容分發(fā)服務(wù)從用戶接收對(duì)視頻的請(qǐng)求。內(nèi)容分發(fā)服務(wù)然后使用單個(gè)cdn來(lái)服務(wù)來(lái)自客戶端的所有的對(duì)視頻的請(qǐng)求。
cdn專門向客戶端發(fā)送視頻。例如,cdn通常具有部署在可以向客戶端分發(fā)視頻的多個(gè)數(shù)據(jù)中心的分布式服務(wù)器系統(tǒng)。如果分發(fā)視頻出現(xiàn)問(wèn)題,則cdn可以調(diào)整被用于將視頻發(fā)送到同一數(shù)據(jù)中心的不同服務(wù)器的服務(wù)器,或者可以調(diào)整被用于將視頻從一個(gè)數(shù)據(jù)中心發(fā)送到另一個(gè)數(shù)據(jù)中心的服務(wù)器。這對(duì)于視頻分發(fā)質(zhì)量合格提供了一些保證。然而,cdn是分析是否發(fā)生視頻分發(fā)問(wèn)題的實(shí)體。在某些情況下,cdn可能較慢才意識(shí)到性能已經(jīng)降低。此外,cdn可能無(wú)法識(shí)別某些問(wèn)題可能在何時(shí)發(fā)生。這可能降低內(nèi)容分發(fā)服務(wù)的用戶正在體驗(yàn)的視頻分發(fā)質(zhì)量。此外,內(nèi)容分發(fā)服務(wù)可能直到用戶對(duì)服務(wù)進(jìn)行抱怨才會(huì)意識(shí)到正在發(fā)生問(wèn)題。此時(shí),很多用戶可能已經(jīng)體驗(yàn)到差的質(zhì)量。此外,在接收到通知后,內(nèi)容分發(fā)服務(wù)可能需要幾個(gè)小時(shí)來(lái)重新配置服務(wù)以使用其它c(diǎn)dn。
附圖說(shuō)明
圖1描繪了根據(jù)一個(gè)實(shí)施例的用于動(dòng)態(tài)調(diào)整到cdn的業(yè)務(wù)分配的方法的簡(jiǎn)化系統(tǒng)。
圖2描繪了根據(jù)一個(gè)實(shí)施例的cdn分配管理器的更詳細(xì)的示例。
圖3示出了根據(jù)一個(gè)實(shí)施例的表中的聚合數(shù)據(jù)的示例。
圖4描繪了根據(jù)一個(gè)實(shí)施例的用于確定用于改變分配的閾值的方法的簡(jiǎn)化流程圖。
圖5描繪了根據(jù)一個(gè)實(shí)施例的用于分析服務(wù)質(zhì)量和執(zhí)行業(yè)務(wù)重新分配的方法的簡(jiǎn)化流程圖。
圖6描繪了根據(jù)一個(gè)實(shí)施例的經(jīng)由一個(gè)或多個(gè)通信網(wǎng)絡(luò)與多個(gè)客戶端設(shè)備進(jìn)行通信的視頻流傳輸系統(tǒng)。
圖7描繪了用于觀看視頻內(nèi)容和廣告的裝置的示意圖。
具體實(shí)施方式
本文描述了用于動(dòng)態(tài)內(nèi)容分發(fā)分配系統(tǒng)的技術(shù)。在下面的描述中,為了說(shuō)明的目的,闡述了許多示例和具體細(xì)節(jié),以便提供對(duì)特定實(shí)施例的透徹理解。由權(quán)利要求限定的特定實(shí)施例可以包括單獨(dú)這些示例中的一些或全部特征,或者與下面描述的其它特征組合,并且還可以包括本文所描述的特征和概念的修改和等同。
特定實(shí)施例允許內(nèi)容分發(fā)服務(wù)動(dòng)態(tài)地調(diào)整服務(wù)如何將內(nèi)容分發(fā)業(yè)務(wù)分配給多個(gè)內(nèi)容分發(fā)網(wǎng)絡(luò)(cdn)。在一個(gè)實(shí)施例中,內(nèi)容分發(fā)服務(wù)可以對(duì)于使用多個(gè)cdn的媒體節(jié)目的足夠多的請(qǐng)求提供服務(wù)。例如,內(nèi)容分發(fā)服務(wù)可以與多個(gè)獨(dú)立的cdn訂立協(xié)議(contract),以將媒體節(jié)目分發(fā)給用戶。這允許內(nèi)容分發(fā)服務(wù)將業(yè)務(wù)分配給不同的cdn。
與僅依靠cdn來(lái)提供服務(wù)質(zhì)量解決方案不同,內(nèi)容分發(fā)服務(wù)可以配置客戶端設(shè)備向其發(fā)送信息,該信息允許內(nèi)容分發(fā)服務(wù)分析媒體節(jié)目播放服務(wù)質(zhì)量。然后,如果在特定cdn處檢測(cè)到問(wèn)題,則內(nèi)容分發(fā)服務(wù)可以調(diào)整cdn的分配。例如,內(nèi)容分發(fā)服務(wù)可以分析每個(gè)cdn的服務(wù)質(zhì)量度量以及通過(guò)cdn發(fā)送業(yè)務(wù)的成本。然后,基于分析,內(nèi)容分發(fā)服務(wù)可以調(diào)整分配給cdn的媒體業(yè)務(wù)的百分比。例如,如果第一cdn具有較差的服務(wù)質(zhì)量的問(wèn)題并且第二cdn的成本比其它c(diǎn)dn的成本低,則內(nèi)容分發(fā)服務(wù)可以將分配給第一cdn的媒體節(jié)目業(yè)務(wù)的百分比降低,并將分配給第二cdn的媒體節(jié)目業(yè)務(wù)的百分比增加。
通常,大多數(shù)內(nèi)容分發(fā)服務(wù)可以只使用單個(gè)cdn。然而,在特定實(shí)施例中,內(nèi)容分發(fā)服務(wù)對(duì)大量的媒體節(jié)目請(qǐng)求進(jìn)行服務(wù),并且需要使用多個(gè)cdn來(lái)操控(handle)業(yè)務(wù)。這允許內(nèi)容分發(fā)服務(wù)選擇每個(gè)cdn操控內(nèi)容分發(fā)服務(wù)的多少業(yè)務(wù)。為了進(jìn)行該確定,特定實(shí)施例配置客戶端設(shè)備以直接向內(nèi)容分發(fā)服務(wù)發(fā)送信息(而不是通過(guò)cdn)以允許內(nèi)容分發(fā)服務(wù)分析客戶端設(shè)備處正在體驗(yàn)的服務(wù)質(zhì)量。這允許內(nèi)容分發(fā)服務(wù)獨(dú)立地改變分配給cdn的業(yè)務(wù)的分配。
圖1描繪了根據(jù)一個(gè)實(shí)施例的用于動(dòng)態(tài)調(diào)整到cdn的業(yè)務(wù)分配的方法的簡(jiǎn)化系統(tǒng)100。系統(tǒng)100包括內(nèi)容分發(fā)服務(wù)102、多個(gè)內(nèi)容分發(fā)網(wǎng)絡(luò)(#1,#2,…,#n)104-1~104-n、以及客戶端設(shè)備106。
內(nèi)容分發(fā)服務(wù)102可以是提供其中客戶端設(shè)備106的用戶可以請(qǐng)求媒體節(jié)目的服務(wù)的公司。在一個(gè)實(shí)施例中,服務(wù)102可以包括響應(yīng)于來(lái)自客戶端設(shè)備102的請(qǐng)求并將請(qǐng)求分配給cdn104的多個(gè)計(jì)算設(shè)備。媒體節(jié)目可以是可由cdn104分發(fā)給客戶端設(shè)備106的視頻、音頻或其它內(nèi)容。在一個(gè)實(shí)施例中,分發(fā)服務(wù)僅涉及視頻。內(nèi)容分發(fā)服務(wù)102可以包括用戶可以經(jīng)由由內(nèi)容分發(fā)服務(wù)提供的內(nèi)容分發(fā)服務(wù)應(yīng)用來(lái)選擇的媒體節(jié)目庫(kù)。當(dāng)選擇了媒體節(jié)目時(shí),內(nèi)容分發(fā)服務(wù)102選擇哪個(gè)cdn104應(yīng)當(dāng)向請(qǐng)求客戶端設(shè)備106提供媒體節(jié)目。
客戶端106可以是不同類型的設(shè)備。例如,客戶端106可以被提供在不同的平臺(tái)上,其使用類似的分類進(jìn)行分類。例如,平臺(tái)可以按設(shè)備類型或位置使用類型來(lái)分類。設(shè)備類型可以是電話類型(例如,蜂窩電話操作系統(tǒng))、控制臺(tái)系統(tǒng)類型、網(wǎng)站等。位置使用類型可以是網(wǎng)站平臺(tái)、客廳設(shè)備平臺(tái)(例如,游戲控制臺(tái)、視頻流傳輸設(shè)備等)和移動(dòng)設(shè)備平臺(tái)(例如,蜂窩電話或智能手機(jī)、平板電腦設(shè)備)??梢砸庾R(shí)到分類應(yīng)用的不同方式。每個(gè)客戶端106可以包括內(nèi)容分發(fā)服務(wù)應(yīng)用,其可以是下載到客戶端106的網(wǎng)站或應(yīng)用。內(nèi)容分發(fā)服務(wù)應(yīng)用可以包括可以播放媒體節(jié)目的媒體播放器。
cdn104可以是將其網(wǎng)絡(luò)外包給多個(gè)公司的內(nèi)容分發(fā)網(wǎng)絡(luò)。每個(gè)cdn104可以包括如下的網(wǎng)絡(luò),該網(wǎng)絡(luò)包括能夠?qū)⒚襟w節(jié)目分發(fā)給客戶端設(shè)備106的多個(gè)服務(wù)器和數(shù)據(jù)中心。cdn104可以單獨(dú)地與內(nèi)容分發(fā)服務(wù)102訂立協(xié)議,因?yàn)閏dn和內(nèi)容分發(fā)服務(wù)是獨(dú)立的實(shí)體。此外,在一個(gè)實(shí)施例中,每個(gè)cdn是單獨(dú)的實(shí)體并且不相關(guān)。在其它實(shí)施例中,每個(gè)cdn104可以是獨(dú)立的分布網(wǎng)絡(luò),但是多于一個(gè)的cdn104可以與同一實(shí)體相關(guān)。
每個(gè)cdn104可以具有向內(nèi)容分發(fā)服務(wù)102付費(fèi)的成本。例如,cdn104-1包括成本#1,cdn104-2包括成本#2,cdn104-n包括成本#n。cdn104對(duì)發(fā)送到客戶端設(shè)備106的業(yè)務(wù)向內(nèi)容分發(fā)服務(wù)102付費(fèi),諸如按照為媒體節(jié)目(該媒體節(jié)目被分發(fā)到客戶端設(shè)備106)發(fā)送的字節(jié)量。
當(dāng)視頻被分發(fā)到客戶端設(shè)備106時(shí),客戶端106中的內(nèi)容分發(fā)服務(wù)應(yīng)用接收并播放媒體節(jié)目(諸如在媒體播放器中)。由于內(nèi)容分發(fā)服務(wù)102提供內(nèi)容分發(fā)服務(wù)應(yīng)用,因此內(nèi)容分發(fā)服務(wù)應(yīng)用可以向內(nèi)容分發(fā)服務(wù)102發(fā)送關(guān)于媒體節(jié)目播放的特征的信息。例如,可以在信標(biāo)(beacon)中發(fā)送信息,該信標(biāo)是包括關(guān)于媒體節(jié)目播放所確定的特征的消息。發(fā)送到內(nèi)容分發(fā)服務(wù)102的信標(biāo)可以不經(jīng)過(guò)cdn104。相反,客戶端106可以使用不同的服務(wù)網(wǎng)絡(luò)來(lái)發(fā)送信標(biāo)。此外,cdn104可以執(zhí)行其自己的服務(wù)質(zhì)量分析,但是內(nèi)容分發(fā)服務(wù)102使用從客戶端設(shè)備106接收的信標(biāo)來(lái)執(zhí)行單獨(dú)的服務(wù)質(zhì)量分析。
內(nèi)容分發(fā)服務(wù)102包括cdn分配管理器108和cdn選擇管理器110。cdn分配管理器108可以確定為內(nèi)容分發(fā)服務(wù)102分發(fā)視頻的cdn中的分配。在簡(jiǎn)單的示例中,cdn分配管理器108可以確定每個(gè)cdn的分配。例如,可以為cdn104-1分配20%的媒體節(jié)目業(yè)務(wù);為cdn104-2分配30%;為cdn104-n分配50%。該分配是簡(jiǎn)單的示例,并且如將在下面描述的,可以在更細(xì)粒度的基礎(chǔ)上對(duì)分配進(jìn)行劃分,諸如每個(gè)平臺(tái)(例如,客廳平臺(tái)、移動(dòng)設(shè)備平臺(tái)、網(wǎng)站平臺(tái)等)。
cdn分配管理器108分析從客戶端設(shè)備106接收的信標(biāo)。信標(biāo)可以包括對(duì)于從cdn104接收的媒體節(jié)目的在客戶端設(shè)備106上的媒體節(jié)目播放會(huì)話的特征。例如,第一客戶端設(shè)備106可以發(fā)送用于從cdn104-1接收的媒體節(jié)目的信標(biāo),第二客戶端設(shè)備106可以發(fā)送用于從cdn104-2接收的媒體節(jié)目的信標(biāo),等等。特征可以包括在客戶端處的重新緩沖時(shí)間、選擇的媒體節(jié)目的閱覽率(viewthrough)、是否發(fā)送了信標(biāo)、是否存在錯(cuò)誤消息以及所使用的cdn。
cdn分配管理器108分析來(lái)自信標(biāo)的信息,并且確定cdn104可能在何時(shí)發(fā)生媒體節(jié)目分發(fā)問(wèn)題。例如,cdn分配管理器108可以確定正在由cdn104-1發(fā)送的媒體節(jié)目正在經(jīng)歷高重新緩沖率。在這種情況下,cdn分配管理器108可以確定應(yīng)該為cdn104-1分配較少的媒體節(jié)目業(yè)務(wù)。例如,當(dāng)從客戶端設(shè)備106接收到對(duì)于媒體節(jié)目的請(qǐng)求時(shí),cdn104-1應(yīng)被分配較少數(shù)量的這些請(qǐng)求。這減少了cdn104-1為內(nèi)容分發(fā)服務(wù)102分發(fā)的媒體節(jié)目業(yè)務(wù)。
為了改變分配,cdn分配管理器108然后可以將cdn104-1的分配從媒體節(jié)目業(yè)務(wù)的20%調(diào)整到10%。此外,cdn分配管理器108可以將cdn104-2的百分比從30%增加到40%。在這種情況下,由于cdn104-1現(xiàn)在將服務(wù)于更少的媒體節(jié)目請(qǐng)求和更少的內(nèi)容分發(fā)服務(wù)業(yè)務(wù),因此使用cdn104-1所遇到的問(wèn)題可以被最小化。但是,沒(méi)有遇到分發(fā)問(wèn)題的cdn104-2現(xiàn)在服務(wù)于更多的媒體節(jié)目業(yè)務(wù)。此外,cdn分配管理器108可以在改變分配時(shí)考慮成本。例如,其中成本較低的cdn可以被分配更多百分比的重新分配業(yè)務(wù)。下面將更詳細(xì)地描述分配確定。
cdn選擇管理器110從cdn分配管理器108接收分配改變,并且然后可以在服務(wù)于來(lái)自客戶端設(shè)備106的媒體節(jié)目請(qǐng)求時(shí)使用分配改變。在這種情況下,當(dāng)接收到來(lái)自客戶端106的媒體節(jié)目請(qǐng)求時(shí),cdn選擇管理器110可以為cdn104-1分配較少的業(yè)務(wù)。
圖2描繪了根據(jù)一個(gè)實(shí)施例的cdn分配管理器108的更詳細(xì)的示例??蛻舳嗽O(shè)備106包括內(nèi)容分發(fā)服務(wù)應(yīng)用202,該內(nèi)容分發(fā)服務(wù)應(yīng)用202包括媒體播放器204。內(nèi)容分發(fā)服務(wù)應(yīng)用202可以是允許用戶瀏覽由內(nèi)容分發(fā)服務(wù)102提供的媒體節(jié)目庫(kù)的網(wǎng)站。而且,內(nèi)容分發(fā)服務(wù)應(yīng)用202可以是下載的應(yīng)用,諸如移動(dòng)應(yīng)用。媒體播放器204可以播放從cdn104接收的視頻。內(nèi)容分發(fā)服務(wù)應(yīng)用202和/或媒體播放器204包括可以向內(nèi)容分發(fā)服務(wù)102發(fā)送信標(biāo)的信標(biāo)操控器206。
信標(biāo)操控器206可以確定媒體播放器204上的媒體節(jié)目播放的特征。信標(biāo)可以包括如上所述的信息,諸如用于媒體節(jié)目播放會(huì)話的cdn、正在播放會(huì)話的客戶端設(shè)備、播放媒體節(jié)目期間的重新緩沖的特征、正在播放媒體節(jié)目的比特率、閱覽率統(tǒng)計(jì)等。信標(biāo)操控器206還可以收集關(guān)于播放的其它信息。由信標(biāo)操控器206收集的信息可由內(nèi)容分發(fā)服務(wù)102指定。這允許內(nèi)容分發(fā)服務(wù)102確定什么信息與服務(wù)質(zhì)量分析相關(guān)。因此,內(nèi)容分發(fā)服務(wù)102可以執(zhí)行與由每個(gè)cdn104執(zhí)行的服務(wù)質(zhì)量分析不同的服務(wù)質(zhì)量分析。
cdn分配管理器108中的信標(biāo)處理器208從客戶端設(shè)備106接收信標(biāo)。信標(biāo)處理器208然后可以從信標(biāo)檢索與服務(wù)質(zhì)量分析相關(guān)的信息。
然后,聚合管理器210可以將用于視頻播放會(huì)話的數(shù)據(jù)聚合在存儲(chǔ)212中。例如,聚合管理器210可以基于平臺(tái)-cdn對(duì)來(lái)聚合數(shù)據(jù)。也就是說(shuō),對(duì)于每個(gè)cdn104,針對(duì)每個(gè)平臺(tái)對(duì)每個(gè)cdn數(shù)據(jù)進(jìn)行聚合。例如,這些對(duì)可以是cdn#l/網(wǎng)站、cdn#l/客廳設(shè)備、cdn#l/移動(dòng)設(shè)備,等等。
圖3示出了根據(jù)一個(gè)實(shí)施例的表300中的用于播放度量的聚合數(shù)據(jù)的示例。表300被細(xì)分為cdn-平臺(tái)類型對(duì)。在列302中,平臺(tái)類型被示出為移動(dòng)電話類型#1、控制臺(tái)類型#1和網(wǎng)站。平臺(tái)類型基于可以在其上提供媒體分發(fā)服務(wù)的設(shè)備的不同分類。此外,不必使用不同分類。然而,分類可以用于將服務(wù)質(zhì)量定位到分類。此外,在行304中,示出了cdn#1、cdn#2和cdn#n。對(duì)于每一對(duì),可以存儲(chǔ)關(guān)于相應(yīng)對(duì)的視頻分發(fā)的不同度量。例如,度量1a、1b、1c、2a、2b、2c等包括可針對(duì)每個(gè)特征聚合的數(shù)據(jù)。例如,數(shù)據(jù)可以被分成段,諸如小時(shí)會(huì)話計(jì)數(shù)和緩沖度量。會(huì)話計(jì)數(shù)可以是平臺(tái)類型的訪問(wèn)次數(shù)。例如,對(duì)于移動(dòng)電話類型#1的訪問(wèn)次數(shù)可以基于分配的業(yè)務(wù)平均為一定數(shù)。例如,當(dāng)分配一定百分比的業(yè)務(wù)時(shí),cdn應(yīng)該具有一定數(shù)量的活動(dòng)的會(huì)話。緩沖度量可以是客戶端設(shè)備必須重新緩沖正在播放的媒體節(jié)目的次數(shù)。重新緩沖可能會(huì)導(dǎo)致媒體節(jié)目的播放抖動(dòng)。
聚合管理器210可以連續(xù)地或周期性地更新存儲(chǔ)在表300中的度量。例如,聚合管理器210可以收集每個(gè)平臺(tái)-cdn的數(shù)據(jù),并且每隔一小時(shí)更新表300中的數(shù)據(jù)。
一旦聚合數(shù)據(jù)被存儲(chǔ)在表300中,則分配管理器108可以分析數(shù)據(jù)以確定何時(shí)改變分配。第一部分描述了閾值的計(jì)算以應(yīng)用在服務(wù)質(zhì)量分析中。然后第二部分將業(yè)務(wù)分配給cdn104。
圖4描繪了根據(jù)一個(gè)實(shí)施例的用于確定用于改變分配的閾值的方法的簡(jiǎn)化流程圖400。在402處,分配管理器108檢索歷史度量以確定閾值。例如,分配管理器108從表300檢索平臺(tái)-cdn對(duì)在定義的時(shí)間段(諸如最近6小時(shí))中的度量。
在404處,分配管理器108跨時(shí)間段為度量分配權(quán)重。例如,跨六個(gè)小時(shí),最近的小時(shí)被分配最高的權(quán)重,并且最后的小時(shí)被分配最低的重量。加權(quán)更加強(qiáng)調(diào)最近的度量,最近的度量可以更多地指示每個(gè)cdn104處的當(dāng)前條件。然而,雖然描述了加權(quán),但是度量不必加權(quán)。
在406處,分配管理器108跨時(shí)間段的一部分(例如,每小時(shí))計(jì)算每個(gè)度量和cdn-平臺(tái)的加權(quán)平均值。例如,每個(gè)度量將具有每個(gè)小時(shí)的加權(quán)平均值,該加權(quán)平均值表示該小時(shí)的服務(wù)質(zhì)量。加權(quán)平均值可以被確定為:
hour_avg+=value*weights[i],其中value是所使用的服務(wù)質(zhì)量度量,hour_avg是該小時(shí)的加權(quán)平均值。
在408處,分配管理器108計(jì)算跨小時(shí)的標(biāo)準(zhǔn)偏差。例如,加權(quán)小時(shí)平均值被用于確定標(biāo)準(zhǔn)偏差。也可以使用從平均值來(lái)量化變化或分散的其它方法。
在410處,分配管理器108使用標(biāo)準(zhǔn)偏差來(lái)確定度量的閾值。例如,分配管理器108基于標(biāo)準(zhǔn)偏差來(lái)確定高閾值和低閾值。這可以允許性能與平均值相比變化設(shè)定的量。雖然可以使用上述確定閾值的方法,但是也可以使用其它方法,諸如不變的預(yù)先設(shè)定的閾值或預(yù)先確定的閾值。此外,可以僅使用單個(gè)閾值或可以使用多于兩個(gè)的閾值。
一旦確定了閾值,就可以分析服務(wù)質(zhì)量。圖5描繪了根據(jù)一個(gè)實(shí)施例的用于分析服務(wù)質(zhì)量和執(zhí)行業(yè)務(wù)重新分配的方法的簡(jiǎn)化流程圖500。
在502處,分配管理器108確定cdn104的成本信息。例如,分配管理器108可以對(duì)于每個(gè)cdn104使用固定成本,該固定成本不改變,而不管所提供的業(yè)務(wù)、日期或其它因素。此外,cdn的成本可以改變,并且分配管理器108可能需要確定每個(gè)cdn最近使用了什么成本。在這種情況下,分配管理器108可以使用cdn應(yīng)用編程接口(api)來(lái)檢索關(guān)于每個(gè)平臺(tái)跨時(shí)間段(例如,過(guò)去六個(gè)小時(shí))提供的業(yè)務(wù)量(例如,字節(jié)數(shù))的信息。在504處,分配管理器108然后確定每個(gè)cdn104的成本。例如,如果使用固定成本,則分配管理器108不需要執(zhí)行該計(jì)算,因?yàn)槌杀臼枪潭ǖ?。然而,為了?jì)算可變的成本,分配管理器108通過(guò)將過(guò)去六個(gè)小時(shí)(或另一個(gè)時(shí)間段,如果使用的話)的業(yè)務(wù)量乘以用于分發(fā)業(yè)務(wù)的成本(例如,字節(jié)*對(duì)于每個(gè)cdn的每字節(jié)成本)來(lái)確定成本。每個(gè)cdn可以包括不同的每字節(jié)成本,或者成本可以相同,并且每字節(jié)成本可以變化。這提供了跨過(guò)去六個(gè)小時(shí)的每個(gè)cdn的成本。成本可以由6個(gè)小時(shí)的總成本來(lái)表示,或者由每字節(jié)的單個(gè)平均成本來(lái)表示。
然后對(duì)每個(gè)平臺(tái)執(zhí)行以下處理。在506處,分配管理器108確定已經(jīng)違反上面計(jì)算的閾值的cdn。例如,可以跨時(shí)間段來(lái)分析每個(gè)cdn的度量以確定閾值中的一個(gè)是否被違反。此外,可以分析諸如下一小時(shí)的當(dāng)前數(shù)據(jù),以確定閾值中的一個(gè)何時(shí)被違反。在508處,對(duì)于已經(jīng)違反了閾值的任何cdn,分配管理器108減少分配給該cdn的業(yè)務(wù)的百分比。例如,如果cdn#1在網(wǎng)站平臺(tái)上顯示出高的緩沖問(wèn)題,則分配管理器108可以將分配給cdn#1的業(yè)務(wù)減少一定百分比,諸如減少一半。
在減少分配給平臺(tái)的業(yè)務(wù)后,該平臺(tái)具有可用的業(yè)務(wù)分配。然后,分配管理器108使用成本信息重新分配業(yè)務(wù)。在510處,分配管理器108按計(jì)算的成本對(duì)cdn進(jìn)行排序。例如,分配管理器108將cdn從最低成本到最高成本排序。排序允許分析從最低成本的cdn進(jìn)行到最高成本的cdn。當(dāng)對(duì)于cdn僅使用固定成本時(shí),分配管理器108使用恒定值對(duì)最可能不會(huì)頻繁變化的cdn進(jìn)行排序。在這種情況下,最低成本的cdn將最有可能在重新分配中分配更多業(yè)務(wù)。當(dāng)成本變化時(shí),則排序可能產(chǎn)生不同的cdn順序。
在512處,分配管理器108以從低到高的順序確定cdn#c。在514處,分配管理器108確定當(dāng)前cdn是否在最近的時(shí)間段內(nèi)表現(xiàn)良好。例如,分配管理器108確定是否已經(jīng)違反任何閾值,或者分配管理器108可以確定度量的加權(quán)平均值是否變化很大。在516處,如果當(dāng)前的cdn表現(xiàn)良好,則分配管理器108將一定百分比的業(yè)務(wù)重新分配給當(dāng)前的cdn。在一個(gè)實(shí)施例中,重新分配的百分比可以被限制到一定的最大量,諸如5%?;蛘撸?dāng)前cdn的性能被用來(lái)確定重新分配多少,諸如沒(méi)有任何問(wèn)題的cdn被重新分配比具有少量問(wèn)題的cdn更高的百分比。
在518處,分配管理器108確定是否應(yīng)該分析另一cdn。例如,可能需要分配額外的業(yè)務(wù)。如果是這樣,那么該處理重復(fù)到510,在510處,另一個(gè)較高成本的cdn被分析。該處理繼續(xù),直到所有業(yè)務(wù)被重新分配。應(yīng)該注意的是,所有業(yè)務(wù)都通過(guò)該處理被重新分配給其它c(diǎn)dn。
在一個(gè)實(shí)施例中,當(dāng)檢測(cè)到服務(wù)質(zhì)量問(wèn)題時(shí),分配管理器108可以產(chǎn)生警報(bào)。一旦生成警報(bào),內(nèi)容分發(fā)服務(wù)102可以執(zhí)行不同的動(dòng)作。例如,內(nèi)容分發(fā)服務(wù)102可以生成電子郵件,該電子郵件通知工程師存在質(zhì)量下降以及改變?cè)撎囟╟dn的業(yè)務(wù)分配的自動(dòng)步驟。在一個(gè)示例中,如果cdn#1在網(wǎng)站平臺(tái)上顯示高的緩沖問(wèn)題,則分配管理器108可以將分配給cdn#1的業(yè)務(wù)減少一定的百分比,例如減少一半。然后,這個(gè)百分比被分配給可以被認(rèn)為是最低成本替代方案的另一cdn,諸如cdn#2。在這種情況下,cdn#1現(xiàn)在將獲得未來(lái)業(yè)務(wù)的10%,而cdn#2將獲得未來(lái)業(yè)務(wù)的40%。此外,如果問(wèn)題仍然存在,則分配管理器108還可以將整個(gè)業(yè)務(wù)從cdn#1重新路由到cdn#2。然而,如果經(jīng)過(guò)一段時(shí)間,諸如幾小時(shí),cdn#1恢復(fù)正常,則分配管理器108可將cdn#1的分配恢復(fù)到原始百分比(20%)。在這種情況下,分配管理器108可以分析新聚合的數(shù)據(jù)以確定緩沖是否已經(jīng)低于閾值。因此,分配管理器108可以分析聚合數(shù)據(jù)以在出現(xiàn)問(wèn)題時(shí)重新分配業(yè)務(wù),并且然后在分配管理器108檢測(cè)到問(wèn)題已經(jīng)被解決時(shí)將業(yè)務(wù)重新分配給cdn。
因此,特定實(shí)施例提供了提供服務(wù)質(zhì)量的自動(dòng)和動(dòng)態(tài)方法。該方法依賴于來(lái)自客戶端106的信息,而不是cdn。此外,當(dāng)遇到問(wèn)題時(shí),故障轉(zhuǎn)移處理有效地改變了到cdn的分配。這改善了分配算法的功能。此外,可以更早更快地檢測(cè)問(wèn)題。
系統(tǒng)總覽
如圖6所示,本文公開的特征和方面可以結(jié)合經(jīng)由一個(gè)或多個(gè)通信網(wǎng)絡(luò)與多個(gè)客戶端設(shè)備通信的視頻流傳輸系統(tǒng)600來(lái)實(shí)現(xiàn)。描述視頻流傳輸系統(tǒng)600的各方面以僅提供用于使能根據(jù)本公開準(zhǔn)備的內(nèi)容的分布和分發(fā)的應(yīng)用的示例。應(yīng)當(dāng)理解,本技術(shù)不限于流傳輸視頻應(yīng)用,并且可以適用于其它應(yīng)用和分發(fā)機(jī)制。
在一個(gè)實(shí)施例中,媒體節(jié)目提供者可以包括媒體節(jié)目庫(kù)。例如,可以通過(guò)站點(diǎn)(例如,網(wǎng)站)、應(yīng)用或?yàn)g覽器來(lái)聚合和提供媒體節(jié)目。用戶可以訪問(wèn)媒體節(jié)目提供商的站點(diǎn)或應(yīng)用并請(qǐng)求媒體節(jié)目。用戶可以被限制為僅請(qǐng)求由媒體節(jié)目提供商提供的媒體節(jié)目。
在系統(tǒng)600中,可以從一個(gè)或多個(gè)源(例如從視頻源610)獲得視頻數(shù)據(jù),以用作視頻內(nèi)容服務(wù)器602的輸入。輸入視頻數(shù)據(jù)可以包括任何合適數(shù)字格式的原始或編輯的基于幀的視頻數(shù)據(jù),例如運(yùn)動(dòng)圖像專家組(mpeg)-1、mpeg-2、mpeg-4、vc-1,h.264/高級(jí)視頻編碼(avc)、高效率視頻編碼(hevc)或其它格式。在替代方案中,可以以非數(shù)字格式提供視頻,并且使用掃描儀和/或代碼轉(zhuǎn)換器將其轉(zhuǎn)換為數(shù)字格式。輸入視頻數(shù)據(jù)可以包括各種類型的視頻剪輯或程序,例如電視劇、移動(dòng)圖片和作為消費(fèi)者感興趣的主要內(nèi)容而產(chǎn)生的其它內(nèi)容。視頻數(shù)據(jù)還可以包括音頻,或者可以僅使用音頻。
視頻流傳輸系統(tǒng)600可以包括分布在一個(gè)或多個(gè)計(jì)算機(jī)上的一個(gè)或多個(gè)計(jì)算機(jī)服務(wù)器或模塊602、604和/或607。每個(gè)服務(wù)器602、604、607可以包括或者可以可操作地耦合到一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)609,例如數(shù)據(jù)庫(kù)、索引、文件或其它數(shù)據(jù)結(jié)構(gòu)。視頻內(nèi)容服務(wù)器602可以訪問(wèn)各種視頻段的數(shù)據(jù)存儲(chǔ)(未示出)。視頻內(nèi)容服務(wù)器602可以根據(jù)與客戶端設(shè)備通信的用戶接口控制器的指示來(lái)提供視頻段。如本文所使用的,視頻段是指基于幀的視頻數(shù)據(jù)的確定部分,諸如可以用在流傳輸視頻會(huì)話中以觀看電視劇、移動(dòng)圖片、錄制的現(xiàn)場(chǎng)表演或其它視頻內(nèi)容。
在一些實(shí)施例中,視頻廣告服務(wù)器604可以訪問(wèn)被配置為針對(duì)特定廣告商或消息打廣告的相對(duì)短的視頻(例如,10秒、30秒或60秒視頻廣告)的數(shù)據(jù)存儲(chǔ)??梢詾閺V告商提供廣告以交換某種支付,或者廣告可以包括用于系統(tǒng)600的促銷消息、公共服務(wù)消息或其它一些信息。視頻廣告服務(wù)器604可以根據(jù)用戶接口控制器(未示出)的指示來(lái)提供視頻廣告段。
視頻流傳輸系統(tǒng)600還可以包括cdn分配管理器108。
視頻流傳輸系統(tǒng)600可以進(jìn)一步包括將視頻內(nèi)容和視頻廣告集成到流傳輸視頻段中的集成和流傳輸部件607。例如,流傳輸部件607可以是內(nèi)容服務(wù)器或流傳輸媒體服務(wù)器??刂破?未示出)可以基于任何合適的算法或處理來(lái)確定流傳輸視頻中的廣告的選擇或配置。視頻流傳輸系統(tǒng)600可以包括圖6中未示出的其它模塊或單元,例如管理員服務(wù)器、商務(wù)服務(wù)器、網(wǎng)絡(luò)基礎(chǔ)設(shè)施、廣告選擇引擎等。
視頻流傳輸系統(tǒng)600可以連接到數(shù)據(jù)通信網(wǎng)絡(luò)612。數(shù)據(jù)通信網(wǎng)絡(luò)612可以包括局域網(wǎng)(lan)、廣域網(wǎng)(wan),例如因特網(wǎng)、電話網(wǎng)絡(luò)、無(wú)線蜂窩電信網(wǎng)絡(luò)(wcs)614或這些或類似的網(wǎng)絡(luò)的一些組合。
一個(gè)或多個(gè)客戶端設(shè)備620可以經(jīng)由數(shù)據(jù)通信網(wǎng)絡(luò)612和/或其它網(wǎng)絡(luò)614與視頻流傳輸系統(tǒng)600通信。這樣的客戶端設(shè)備可以包括例如經(jīng)由用于lan的路由器618、經(jīng)由用于無(wú)線電話網(wǎng)絡(luò)614的基站617或經(jīng)由某種其它連接的一個(gè)或多個(gè)膝上型計(jì)算機(jī)620-1、臺(tái)式計(jì)算機(jī)620-2、“智能”移動(dòng)電話620-3、平板設(shè)備620-4,啟用網(wǎng)絡(luò)的電視機(jī)620-5或其組合。在操作中,響應(yīng)于從用戶輸入設(shè)備接收的用戶輸入或其它輸入,這樣的客戶端設(shè)備620可以向系統(tǒng)600發(fā)送和接收數(shù)據(jù)或指令。作為響應(yīng),響應(yīng)于對(duì)客戶端設(shè)備620的媒體節(jié)目的選擇,系統(tǒng)600可以從數(shù)據(jù)存儲(chǔ)609提供視頻段和元數(shù)據(jù)。客戶端設(shè)備620可以使用顯示屏幕、投影儀或其它視頻輸出設(shè)備從媒體播放器中的流傳輸視頻段中輸出視頻內(nèi)容,并且接收用戶輸入以用于與視頻內(nèi)容進(jìn)行交互。
音頻-視頻數(shù)據(jù)的分布可以使用各種方法(例如流傳輸)通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)、電信網(wǎng)絡(luò)和這些網(wǎng)絡(luò)的組合從流傳輸部件607實(shí)現(xiàn)到遠(yuǎn)程客戶端設(shè)備。在流傳輸中,內(nèi)容服務(wù)器將音頻-視頻數(shù)據(jù)連續(xù)地流傳輸?shù)街辽俨糠值卦诳蛻舳嗽O(shè)備上操作的媒體播放器部件,該媒體播放器部件可以在從服務(wù)器接收流傳輸數(shù)據(jù)的同時(shí)播放音頻-視頻數(shù)據(jù)。雖然討論了流傳輸,但是可以使用其它分發(fā)方法。媒體播放器部件可以在從內(nèi)容提供商接收數(shù)據(jù)的初始部分之后立即發(fā)起視頻數(shù)據(jù)的播放。傳統(tǒng)的流傳輸技術(shù)使用單個(gè)提供商向一組終端用戶分發(fā)數(shù)據(jù)流??赡苄枰邘捄吞幚砟芰?lái)將單個(gè)流分發(fā)給大量受眾,并且所需的提供商帶寬可隨著終端用戶數(shù)量的增加而增加。
流傳輸媒體可以按需或?qū)崟r(shí)分發(fā)。流傳輸使得在文件中的任何點(diǎn)處的立即播放成為可能。終端用戶可以跳過(guò)媒體文件以開始播放或?qū)⒉シ鸥淖兊矫襟w文件中的任何一點(diǎn)。因此,終端用戶不需要等待文件逐漸下載。通常,經(jīng)由專用設(shè)備從具有高帶寬能力的幾個(gè)專用服務(wù)器分發(fā)流傳輸媒體,該專用設(shè)備接受對(duì)于視頻文件的請(qǐng)求(并且具有關(guān)于這些文件的格式、帶寬和結(jié)構(gòu)的信息),以播放視頻所需的速度來(lái)分發(fā)播放視頻所需的數(shù)據(jù)量。流傳輸媒體服務(wù)器還可以考慮目的地客戶端上的媒體播放器的傳輸帶寬和能力。流傳輸部件607可以使用控制消息和數(shù)據(jù)消息與客戶端設(shè)備620進(jìn)行通信,以在視頻被播放時(shí)調(diào)整到變化的網(wǎng)絡(luò)條件。這些控制消息可以包括用于使能諸如快進(jìn)、快退、暫?;蛟诳蛻舳颂帉ふ椅募奶囟ú糠值目刂乒δ艿拿?。
由于流傳輸部件607僅根據(jù)需要以所需的速率發(fā)送視頻數(shù)據(jù),因此可以維護(hù)對(duì)所提供的流的數(shù)量的精確控制。觀看者將不能通過(guò)較低數(shù)據(jù)速率的傳輸媒介來(lái)觀看高數(shù)據(jù)速率視頻。然而,流傳輸媒體服務(wù)器(1)為用戶提供對(duì)視頻文件的隨機(jī)訪問(wèn),(2)允許監(jiān)視誰(shuí)在觀看什么視頻節(jié)目以及觀看了多長(zhǎng)時(shí)間(3)更有效地使用傳輸帶寬,因?yàn)橹话l(fā)送支持觀看體驗(yàn)所需的數(shù)據(jù)量,以及(4)視頻文件不存儲(chǔ)在觀看者的計(jì)算機(jī)中,而是被媒體播放器丟棄,從而允許對(duì)內(nèi)容的更多的控制。
流傳輸部件607可以使用基于tcp的協(xié)議,諸如http和實(shí)時(shí)消息協(xié)議(rtmp)。流傳輸部件607還可以分發(fā)實(shí)況網(wǎng)絡(luò)廣播,并且可以進(jìn)行組播,其允許多于一個(gè)客戶端調(diào)諧到單個(gè)流中,從而節(jié)省帶寬。流傳輸媒體播放器可以不依賴于緩沖整個(gè)視頻來(lái)提供對(duì)媒體節(jié)目中任何點(diǎn)的隨機(jī)訪問(wèn)。相反,這是通過(guò)使用從媒體播放器發(fā)送到流傳輸媒體服務(wù)器的控制消息來(lái)實(shí)現(xiàn)的。用于流傳輸?shù)牧硪环N協(xié)議是超文本傳輸協(xié)議(http)直播流(hls)。hls協(xié)議通過(guò)http經(jīng)由小段的播放列表來(lái)分發(fā)視頻,所述小段通??蓮囊粋€(gè)或多個(gè)內(nèi)容分發(fā)網(wǎng)絡(luò)(cdn)以各種比特率獲得。這允許媒體播放器逐段切換比特率和內(nèi)容源。該切換有助于補(bǔ)償網(wǎng)絡(luò)帶寬方差以及視頻播放期間可能發(fā)生的基礎(chǔ)架構(gòu)故障。
通過(guò)流傳輸?shù)囊曨l內(nèi)容的分發(fā)可以在各種模式下實(shí)現(xiàn)。在一個(gè)模式中,用戶例如使用用于訪問(wèn)媒體節(jié)目庫(kù)或受限媒體節(jié)目的一部分的費(fèi)用或使用按次付費(fèi)服務(wù)來(lái)支付觀看視頻節(jié)目。在廣播電視誕生以來(lái)廣泛采用的另一個(gè)模式中,贊助者為媒體節(jié)目的介紹而付費(fèi),以換取在演出節(jié)目期間或之后呈現(xiàn)廣告的權(quán)利。在一些模式中,在視頻節(jié)目中以預(yù)定時(shí)間插入廣告,這些時(shí)間可以被稱為“廣告位”或“廣告片斷”。通過(guò)流傳輸視頻,可以將媒體播放器配置為使得客戶端設(shè)備在指定的廣告時(shí)隙期間在沒(méi)有播放預(yù)定的廣告的情況下不能播放視頻。
參考圖7,示出了用于觀看視頻內(nèi)容和廣告的裝置700的示意圖。在所選擇的實(shí)施例中,裝置700可以包括可操作地耦合到處理器存儲(chǔ)器704的處理器(cpu)702,處理器存儲(chǔ)器704保存二進(jìn)制編碼的功能模塊以供處理器702執(zhí)行。這樣的功能模塊可以包括用于操控諸如輸入/輸出和存儲(chǔ)器訪問(wèn)之類的系統(tǒng)功能的操作系統(tǒng)706、用于顯示網(wǎng)頁(yè)的瀏覽器708和用于播放視頻的媒體播放器710。模塊還可以包括內(nèi)容分發(fā)服務(wù)應(yīng)用202。存儲(chǔ)器704可以保持圖7中未示出的額外的模塊,例如用于執(zhí)行本文別處描述的其它操作的模塊。
總線714或其它通信部件可以支持裝置700內(nèi)的信息的通信。處理器702可以是被配置為通過(guò)執(zhí)行定義特定任務(wù)的機(jī)器可讀軟件代碼來(lái)根據(jù)本文公開的特征和方面來(lái)執(zhí)行特定任務(wù)的專門或?qū)S梦⑻幚砥?。處理器存?chǔ)器704(例如,隨機(jī)存取存儲(chǔ)器(ram)或其它動(dòng)態(tài)存儲(chǔ)設(shè)備)可以連接到總線714或直接連接到處理器702,并且存儲(chǔ)要由處理器702執(zhí)行的信息和指令。存儲(chǔ)器704還可以在執(zhí)行這樣的指令期間存儲(chǔ)臨時(shí)變量或其它中間信息。
存儲(chǔ)設(shè)備724中的計(jì)算機(jī)可讀介質(zhì)可以連接到總線714,并且存儲(chǔ)用于處理器702的靜態(tài)信息和指令;例如,當(dāng)裝置700斷電時(shí),存儲(chǔ)設(shè)備(crm)724可以存儲(chǔ)模塊706、708和710,當(dāng)裝置700通電時(shí),模塊可從存儲(chǔ)設(shè)備(crm)724加載到處理器存儲(chǔ)器704中。存儲(chǔ)設(shè)備724可以包括保持信息、指令或其某種組合的非暫時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如當(dāng)由處理器702執(zhí)行時(shí)使得裝置700被配置為執(zhí)行如本文所述的方法的一個(gè)或多個(gè)操作的指令。
通信接口716也可以連接到總線714。通信接口716可以可選地經(jīng)由路由器/調(diào)制解調(diào)器726和有線或無(wú)線連接來(lái)提供或支持裝置700與一個(gè)或多個(gè)外部設(shè)備(例如,流傳輸系統(tǒng)600)之間的雙向數(shù)據(jù)通信。替代地或額外地,裝置700可以包括連接到天線729的收發(fā)器718,裝置700可以通過(guò)該收發(fā)器718與用于無(wú)線通信系統(tǒng)的基站或者與路由器/調(diào)制解調(diào)器726進(jìn)行無(wú)線通信。在替代方案中,裝置700可以經(jīng)由局域網(wǎng)、虛擬專用網(wǎng)絡(luò)或其它網(wǎng)絡(luò)與視頻流傳輸系統(tǒng)600通信。在另一替代方案中,裝置700可以被并入作為系統(tǒng)600的模塊或部件,并且經(jīng)由總線714或通過(guò)某種其它模式與其它部件通信。
裝置700可以(例如,經(jīng)由總線714和圖形處理單元720)連接到顯示單元728。顯示器728可以包括用于向裝置700的操作者顯示信息的任何合適的配置。例如,顯示器728可以包括或使用液晶顯示器(lcd)、觸摸屏lcd(例如,電容顯示器)、發(fā)光二極管(led)顯示器、投影儀或其它顯示設(shè)備,以向裝置700的用戶以視覺顯示呈現(xiàn)信息。
可以經(jīng)由用戶輸入端口722將一個(gè)或多個(gè)輸入設(shè)備730(例如,字母數(shù)字鍵盤、麥克風(fēng)、鍵盤、遙控器、游戲控制器、照相機(jī)或照相機(jī)陣列)連接到總線714,以將信息和命令發(fā)送到裝置700。在所選擇的實(shí)施例中,輸入設(shè)備730可以提供或支持對(duì)光標(biāo)的定位的控制。這種光標(biāo)控制設(shè)備(也稱為點(diǎn)擊設(shè)備)可以被配置為鼠標(biāo)、軌跡球、軌跡板、觸摸屏、光標(biāo)方向鍵或用于接收或跟蹤物理移動(dòng)并將該移動(dòng)轉(zhuǎn)換成指示光標(biāo)的電信號(hào)運(yùn)動(dòng)的其它設(shè)備。光標(biāo)控制設(shè)備可以例如使用觸敏屏幕被結(jié)合到顯示單元728中。光標(biāo)控制設(shè)備可以向處理器702發(fā)送方向信息和命令選擇,并控制顯示器728上的光標(biāo)移動(dòng)。光標(biāo)控制設(shè)備可以具有兩個(gè)或更多個(gè)自由度,以例如允許設(shè)備在平面或三維空間中指定光標(biāo)位置。
特定實(shí)施例可以在用于由指令執(zhí)行系統(tǒng)、裝置、系統(tǒng)或機(jī)器使用或與指令執(zhí)行系統(tǒng)、裝置、系統(tǒng)或機(jī)器結(jié)合使用的非暫時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中實(shí)現(xiàn)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包含用于控制計(jì)算機(jī)系統(tǒng)以執(zhí)行由特定實(shí)施例描述的方法的指令。計(jì)算機(jī)系統(tǒng)可以包括一個(gè)或多個(gè)計(jì)算設(shè)備。當(dāng)由一個(gè)或多個(gè)計(jì)算機(jī)處理器執(zhí)行時(shí),指令可以被配置為執(zhí)行在特定實(shí)施例中描述的指令。
如在說(shuō)明書和整個(gè)所附權(quán)利要求中所使用的,除非上下文另有明確規(guī)定,否則“一”和“一個(gè)”包括復(fù)數(shù)。另外,如在本說(shuō)明書和整個(gè)所附權(quán)利要求中所使用的,除非上下文另有明確規(guī)定,否則“在…中”的含義包括“在…中”和“在…上”。
上面的描述示出了可以如何實(shí)現(xiàn)特定實(shí)施例的各方面的各種實(shí)施例以及示例。上述示例和實(shí)施例不應(yīng)被認(rèn)為是唯一的實(shí)施例,并且被呈現(xiàn)以示出由所附權(quán)利要求限定的特定實(shí)施例的靈活性和優(yōu)點(diǎn)?;谏鲜龉_內(nèi)容和所附權(quán)利要求,在不脫離由權(quán)利要求限定的范圍的情況下,可以采用其它布置、實(shí)施例、實(shí)施方式和等同。