亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

網(wǎng)絡(luò)發(fā)起的內(nèi)容流式傳輸控制的制作方法

文檔序號:7994533閱讀:278來源:國知局
網(wǎng)絡(luò)發(fā)起的內(nèi)容流式傳輸控制的制作方法
【專利摘要】描述了用于實現(xiàn)對分段內(nèi)容從遞送節(jié)點到至少一個客戶端的流式傳輸?shù)木W(wǎng)絡(luò)發(fā)起的控制的方法和系統(tǒng),所述客戶端被配置成基于清單文件而訪問所述分段內(nèi)容的至少部分,其中方法可以包括:接收第一清單文件,其標識一個或多個段和用于定位一個或多個內(nèi)容遞送節(jié)點的位置信息,所述一個或多個內(nèi)容遞送節(jié)點被配置成向所述至少一個客戶端發(fā)送所述一個或多個段;響應(yīng)于所述第一清單文件的所述接收,提供信道建立信息;以及基于所述控制信道建立信息而在所述至少一個客戶端和與所述內(nèi)容遞送節(jié)點相關(guān)聯(lián)的控制信道服務(wù)器功能之間建立至少一個流式傳輸控制信道,所述至少一個客戶端被配置用于經(jīng)由所述流式傳輸控制信道接收至少一個清單文件更新消息。
【專利說明】網(wǎng)絡(luò)發(fā)起的內(nèi)容流式傳輸控制

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及控制內(nèi)容的流式傳輸(streaming),并且特別地,盡管并不排他地,涉及用于實現(xiàn)對分段內(nèi)容的流式傳輸?shù)木W(wǎng)絡(luò)發(fā)起的控制的方法,用于在用于控制分段內(nèi)容的接收的內(nèi)容處理設(shè)備中使用的客戶端,用于實現(xiàn)對分段內(nèi)容的流式傳輸?shù)木W(wǎng)絡(luò)發(fā)起的控制的控制信道服務(wù)器功能和數(shù)據(jù)結(jié)構(gòu)和使用這樣的方法的計算機程序產(chǎn)品。

【背景技術(shù)】
[0002]目前數(shù)目日益增加的視頻流式傳輸技術(shù)利用所謂的內(nèi)容分段,其中內(nèi)容數(shù)據(jù)(例如視頻數(shù)據(jù))被邏輯地或虛擬地拆分成多個段文件(segment file)或流,因此生成分段的內(nèi)容。段文件可以涉及包括內(nèi)容數(shù)據(jù)的文件,其可以通過文件獲取協(xié)議(例如HTTP或FTP)來獲取。類似地,段流可以涉及包括內(nèi)容數(shù)據(jù)的流,其可以通過流式傳輸協(xié)議(例如RTSP/RTP或HAS)來獲取。段文件或流(以下簡短地也稱作為段)可以單獨地遞送到客戶端,但是當在客戶端處重組時,它們提供無縫的視頻流。
[0003]在內(nèi)容分段過程期間,生成所謂的清單(manifest)文件,其標識段并且描述不同段與其中可以獲取段的一個或多個位置之間的關(guān)系??梢砸匀舾杀硎咎峁┓侄蝺?nèi)容,例如在例如分辨率、音頻通道的數(shù)目和/或不同的比特率方面不同的相同內(nèi)容的替換版本。所有表示在時間上對準,使得不同表示的段可以無縫地互換。以不同表示的分段內(nèi)容的流式傳輸稱作為自適應(yīng)流,其中可以使用諸如HTTP自適應(yīng)流(HAS)和有關(guān)協(xié)議之類的自適應(yīng)流協(xié)議。
[0004]HAS通過傳輸由來自web (網(wǎng)絡(luò))服務(wù)器的客戶端獨立請求的分段的視頻來實現(xiàn)借助于HTTP協(xié)議的(實時)視頻的遞送。存在各種商用和標準化的HAS協(xié)議,諸如Apple HTTPLive Streaming (實時流式傳輸)http://tools.1etf.0rg/html/draft-pantos_http-live-streaming-07、Microsoft Smooth Streaming (平滑流式傳輸)http://www.1is.net/download/ SmoothStreaming、Adobe HTTP Dynamic Streaming (動態(tài)流式傳輸)http://www.adobe, com/products/ httpdynamicstreaming、3GPP-DASH TS 26.247 Transparentend-to-end Packet-switched Streaming Service (PSS)(透明端到端分組交換流式傳輸服務(wù)(PSS)) ;Progressive Download and Dynamic Adaptive Streaming over HTTP](漸進式下載和通過HTTP的動態(tài)自適應(yīng)流)和MPEG Dynamic Adaptive Streaming over HTTP(MPEG 通過 HTTP 的動態(tài)自適應(yīng)流)MPEG DASH IS0/IEC 23001-6。
[0005]分段內(nèi)容可以被用于動態(tài)地適配于改變的帶寬要求,例如通過從高質(zhì)量視頻流切換到低質(zhì)量視頻流。而且,分段內(nèi)容還可以允許流行和不太流行的(視頻)段之間的區(qū)分。例如,典型地,與視頻的開頭相關(guān)聯(lián)的內(nèi)容(諸如預(yù)告片)將比結(jié)束處的內(nèi)容更常被觀看(并且因此更流行)。類似地,對于一些使用情況,低比特率低質(zhì)量的視頻內(nèi)容(例如最低分辨率HAS段)將很可能比高質(zhì)量內(nèi)容(例如高分辨率HAS段)更頻繁地被下載,高質(zhì)量內(nèi)容可以從接收設(shè)備花費或要求得更多或需要更多帶寬。以上提到的分段內(nèi)容的屬性可以被內(nèi)容遞送網(wǎng)絡(luò)(content delivery network,⑶N)有利地使用,其可以被配置成將內(nèi)容遞送給消費者。CDN可以例如將流行的、更頻繁請求的內(nèi)容段存儲在CDN中的多個遞送節(jié)點處,使得可以減少帶寬問題并且保證高效的遞送。⑶N控制功能(⑶NCF)可以集中地管理⑶N內(nèi)的位置,以下稱作為遞送節(jié)點,其中可以獲取(得到)與內(nèi)容項(諸如視頻或電影)相關(guān)聯(lián)的內(nèi)容段。
[0006]盡管許多不同的流式傳輸協(xié)議(諸如RTP/RTSP或RTMP)可以被用于實現(xiàn)將(分段)內(nèi)容流式傳輸?shù)娇蛻舳?,但是HTTP或基于HTTP的流式傳輸協(xié)議在CDN內(nèi)最廣泛地使用。這些流式傳輸協(xié)議使用標準HTTP (無縫的客戶端-服務(wù)器協(xié)議)以請求和接收來自不需要新的功能并且允許段被透明地高速緩存的服務(wù)器的內(nèi)容段。而且,不像是大多數(shù)其它的流式傳輸解決方案,HTTP業(yè)務(wù)本身通常不會被防火墻或網(wǎng)絡(luò)地址翻譯器(NAT)自動阻擋。
[0007]而且,基于HTTP的流式傳輸不是基于會話的。這意味著HTTP服務(wù)器不需要為它服務(wù)的各種客戶端維持會話。這樣HTTP服務(wù)器架構(gòu)可以保持簡單。然而,與HTTP是客戶端發(fā)起的協(xié)議這一事實結(jié)合的這種無會話的性質(zhì)還意味著HTTP服務(wù)器(例如CDN中的遞送節(jié)點)不能夠發(fā)起與客戶端的通信。
[0008]為了使得客戶端能夠訪問(下載/獲取)存儲在CDN中的段,客戶端被提供有包括均被段標識符(例如段文件名)和段位置(段定位符)標識的段的列表的所謂的清單文件,所述段位置例如是URL,其指向其中可以訪問(獲取)段的網(wǎng)絡(luò)節(jié)點。取決于特定⑶N和/或?qū)崿F(xiàn)方式,預(yù)定義的清單文件可以連同相關(guān)聯(lián)的段一起存儲在CDN的一個或多個(遞送)節(jié)點上,或者清單文件可以在用戶請求時由CDN動態(tài)生成。
[0009]這樣,當消費者(客戶端設(shè)備)請求特定分段內(nèi)容項(諸如視頻)時,CDN可以應(yīng)請求而識別存儲(遞送)節(jié)點上的清單文件,所述(遞送)節(jié)點適于實現(xiàn)請求的內(nèi)容項到消費者(設(shè)備)的遞送。可替換地,CDN可以生成標識一個或多個遞送節(jié)點的新的清單文件,所述一個或多個遞送節(jié)點合起來適于將請求的內(nèi)容段遞送給消費者。隨后,CDN可以響應(yīng)于消費者的請求客戶端(設(shè)備)而發(fā)送所生成的清單文件。
[0010]在內(nèi)容段的流式傳輸期間,⑶N中的網(wǎng)絡(luò)配置或負載分布可以改變。例如,⑶N的節(jié)點中的故障或過載可以導(dǎo)致其中CDN中的一個或多個遞送節(jié)點不再能夠遞送在清單文件中標識出的內(nèi)容段的情形。同樣在其它情形中,例如在即將發(fā)生過載情形中,可能需要通過將在流式傳輸過程期間將特定內(nèi)容段遞送給特定消費者(內(nèi)容接收設(shè)備)的任務(wù)從一個遞送節(jié)點轉(zhuǎn)移到CDN的另一個遞送節(jié)點或甚至轉(zhuǎn)移到另一個CDN中的遞送節(jié)點來防止過載情形。一方甚至可以想象到,當特定消費者的客戶端設(shè)備改變其位置時,使現(xiàn)在作為更加接近的節(jié)點的另一個遞送節(jié)點從原始節(jié)點接管流式傳輸還可以是更加有利的??赡苄枰蛟S可將段遞送到客戶端中的改變的遞送網(wǎng)絡(luò)中的其它事件(即觸發(fā)網(wǎng)絡(luò)中的負載平衡機制)是計劃停機、服務(wù)器遷移、CDN遷移等等。
[0011]在已知方法中,段到客戶端的遞送中的這樣的改變可以以若干方式實現(xiàn)。在一些情況中⑶N可以使用例如HTTP重定向方案,以便將針對段的請求重定向到期望的遞送節(jié)點。然而,這樣的方案可能需要并觸發(fā)針對客戶端未來將請求的每個段的單獨的重定向響應(yīng)消息(簡單地稱作為重定向),或甚至每個請求的段多個重定向響應(yīng)消息,從而引起網(wǎng)絡(luò)中信令負載的顯著增加。這在當大量消費者依賴于相同遞送節(jié)點并且同時請求和獲取相同內(nèi)容時的情況中尤為相關(guān)。不僅附加信令負載可能淹沒CDN的部分或全部,而且重定向可能導(dǎo)致在客戶端側(cè)的不可接受的服務(wù)中斷,這是因為單獨的內(nèi)容段的遞送由于重定向而突然被延遲。因此重定向方案可能不能夠有效地防止由于網(wǎng)絡(luò)配置中的改變(由于例如遞送節(jié)點故障)所致的服務(wù)中斷。在其中例如在客戶端設(shè)備處幾乎不緩存內(nèi)容的情形中,在發(fā)生多個重定向的情形中,或者在新的目標遞送節(jié)點相比于先前的一個而位于距離客戶端設(shè)備相當大的距離處的情形中,服務(wù)中斷可能更明顯。
[0012]可替換地,⑶N可以基于新的網(wǎng)絡(luò)配置而生成用于客戶端的新近更新的清單文件。然而,由于其本身性質(zhì),HTTP協(xié)議不允許服務(wù)器側(cè)(例如CDN)直接和或主動發(fā)起這樣的新近更新的清單文件到客戶端的傳輸,或者可替換地,發(fā)起針對這樣的新近更新的清單文件的客戶端請求。客戶端是否接收更新的清單文件完全取決于請求這樣的更新的客戶端(然而其不知道網(wǎng)絡(luò)配置中的(未決的)改變)的發(fā)起。同樣地,如果例如⑶N將會以比存在于先前提供到客戶端的清單文件中的更高的表示使得分段內(nèi)容流可用,客戶端沒有辦法得知這一點并且不能夠從這樣的更高質(zhì)量流獲益。即便客戶端將會被配置成例如周期性地請求清單文件更新,這樣的更新方案也不能有效地(快速地)特別地對網(wǎng)絡(luò)配置中的改變進行反應(yīng)并且避免由于這樣的改變所致的服務(wù)中斷。如果這樣的更新頻率將會與突然需要的配置改變精確一致,這將僅僅是巧合的。另外,實現(xiàn)非常高的更新頻率(其利用基于HTTP的請求-響應(yīng)信令機制),具有以下缺陷:其導(dǎo)致相當大的網(wǎng)絡(luò)中的開銷信令負載以及客戶端和網(wǎng)絡(luò)節(jié)點上的處理器負載,甚至在沒有配置改變(例如分段內(nèi)容到客戶端的遞送中的改變)被需要或可推薦的時段期間亦是如此。
[0013]因此,在本領(lǐng)域中存在對實現(xiàn)對將內(nèi)容流式傳輸?shù)娇蛻舳说母倪M的控制的方法和系統(tǒng)的需要。


【發(fā)明內(nèi)容】

[0014]本發(fā)明的目的是減少或消除現(xiàn)有技術(shù)中已知的缺陷中的至少一個。在第一方面中本發(fā)明可以涉及用于實現(xiàn)對分段內(nèi)容從遞送節(jié)點到至少一個客戶端(優(yōu)選為諸如MPEGDASH兼容自適應(yīng)流客戶端之類的HTTP自適應(yīng)流(HAS)客戶端)的流式傳輸?shù)木W(wǎng)絡(luò)發(fā)起的控制的方法。該方法可以包括以下步驟中的至少一個:接收第一清單文件,優(yōu)選地,所述清單文件包括用于標識一個或多個段的一個或多個段標識符和用于定位一個或多個內(nèi)容遞送節(jié)點的位置信息,所述一個或多個內(nèi)容遞送節(jié)點被配置成向所述至少一個客戶端發(fā)送與所述段標識符相關(guān)聯(lián)的一個或多個段;向客戶端提供信道建立信息;和/或,基于所述提供的信道建立信息,在所述至少一個客戶端與網(wǎng)絡(luò)(優(yōu)選為與所述一個或多個遞送節(jié)點中的至少一個相關(guān)聯(lián)的控制信道服務(wù)器功能)之間建立至少一個流式傳輸控制信道。在實施例中,步驟可以由客戶端執(zhí)行。在另一個實施例中,所述至少一個客戶端可以被配置用于經(jīng)由所述流式傳輸控制信道接收至少一個清單文件更新消息??商鎿Q地,除了指示清單文件更新的可用性的更新消息之外,控制信道可以被網(wǎng)絡(luò)(例如控制信道服務(wù)器功能)用于傳送與段內(nèi)容的流式傳輸相關(guān)聯(lián)的服務(wù)器或網(wǎng)絡(luò)側(cè)事件的消息。這樣的事件可以涉及不能通過清單文件更新傳送或者對于其而言將這些傳送到與清單文件更新分離的客戶端可能更恰當(例如更快)的信息(例如參數(shù))。在這樣的實施例中,客戶端可以可替換地被配置用于接收和/或處理這些其它事件消息。在另一個實施例中,所述至少一個客戶端可以被配置成基于清單文件而訪問所述分段內(nèi)容的至少部分。在另外的實施例中,通過客戶端對清單文件的接收可以觸發(fā)客戶端建立與網(wǎng)絡(luò)的流式傳輸控制信道,優(yōu)選地基于所提供的信道建立信息,其中流式傳輸控制信道使得網(wǎng)絡(luò)(例如CDN)能夠主動為客戶端提供清單文件更新消息,其指示清單文件更新的可用性。清單文件更新消息可以通過控制信道被主動發(fā)送到客戶端而無需客戶端首先向網(wǎng)絡(luò)發(fā)送(HTTP)請求。這樣,在客戶端上執(zhí)行的流式傳輸過程可以對網(wǎng)絡(luò)配置中的改變和/或網(wǎng)絡(luò)問題(例如突出的過載情形或網(wǎng)絡(luò)故障)迅速做出反應(yīng),由此現(xiàn)在使得網(wǎng)絡(luò)能夠搶先發(fā)信號告知客戶端。通過實現(xiàn)控制信道,可以緩解和/或克服現(xiàn)有技術(shù)類型分段流式傳輸解決方案所基于的已知(HTTP)請求-響應(yīng)機制的限制和缺點,其中的一些在背景章節(jié)中進行了完全透徹的論述。
[0015]在實施例中,該方法可以包括針對至少一個清單文件更新消息而監(jiān)視所述流式傳輸控制信道。在該實施例中,客戶端可以連續(xù)地針對來自網(wǎng)絡(luò)的更新消息而監(jiān)視信道,使得保證通過客戶端對這樣的更新消息的迅速響應(yīng)。該監(jiān)視過程可以例如作為流式傳輸過程期間的后臺過程執(zhí)行。
[0016]在實施例中,該方法可以包括以下步驟中的至少一個:檢測清單文件更新消息;以及,可選地,響應(yīng)于所述清單文件更新消息獲取第二清單文件的至少部分。在另一個實施例中,該方法還可以包括:基于所述第二清單文件而請求段流或文件。因而,由客戶端從網(wǎng)絡(luò)接收的清單文件更新消息可以發(fā)信號通知客戶端更新的清單文件被需要和/或可用,并且流式傳輸過程應(yīng)當或可以基于該更新的清單文件而繼續(xù)。這里,清單文件中的更新可以由于網(wǎng)絡(luò)配置中的改變和/或諸如網(wǎng)絡(luò)故障或網(wǎng)絡(luò)過載之類的網(wǎng)絡(luò)問題而被需要。這樣,網(wǎng)絡(luò)可以響應(yīng)于網(wǎng)絡(luò)中的某個事件高效和主動地發(fā)起對流式傳輸過程的控制。在現(xiàn)有技術(shù)的基于HTTP的分段流式傳輸解決方案中,其按照定義是需要從客戶端首先發(fā)起的基于HTTP的請求和響應(yīng)機制,對流式傳輸過程的這樣的主動網(wǎng)絡(luò)發(fā)起的控制簡直是不可能的。
[0017]在實施例中,可以將所述信道建立信息的所述至少部分提供給所述第一清單文件中的所述客戶端,可替換地,可以將其在單獨的消息中提供給客戶端。在另外的實施例中,所述信道建立信息的所述提供包括用所述信道建立信息對客戶端進行預(yù)配置。在一個實施例中,所述信道建立信息可以包括用于定位網(wǎng)絡(luò)中的控制信道服務(wù)器功能的服務(wù)器位置信息,優(yōu)選為至少一個URL。因而,清單文件可以包括建立控制信道所需的信息的至少部分。
[0018]在實施例中,所述清單文件更新消息的所述至少部分可以包括第二清單文件的至少部分。在該實施例中,流式傳輸控制信道可以被用于傳輸清單文件中的更新的部分。在另一個實施例中,所述清單文件更新消息可以包括用于定位和請求所述第二清單文件的至少部分的清單文件位置信息,優(yōu)選為至少一個URL。這樣,網(wǎng)絡(luò)可以以簡單且高效的方式告知客戶端哪里可以獲取更新的清單文件(或其部分)。
[0019]在一個實施例中,所述流式傳輸控制信道可以基于WebSocket協(xié)議而建立。在實施例中,內(nèi)容遞送網(wǎng)絡(luò)(CDN)實體、優(yōu)選為控制信道服務(wù)器功能,和客戶端可以包括被配置成使用WebSocket協(xié)議和信道建立信息來在客戶端與所述CDN實體之間建立流式傳輸控制信道的HTTP WebSocket API。WebSocket連接通常使用標準HTTP端口 80和443,使得數(shù)據(jù)可以容易地穿過防火墻和NAT,但是還可以使用其它端口。另外,協(xié)議提供可縮放的解決方案,因為它具有低消息開銷。而且,WebSocket是基于HTTP的,使得可以消除或至少大體上減少與穿過防火墻相關(guān)聯(lián)的問題。而且,它提供了其它協(xié)議的隧道傳輸(tunneling)的可能性。
[0020]在實施例中,基于流式傳輸協(xié)議、優(yōu)選為基于HTTP的流式傳輸協(xié)議或其派生物將所述分段內(nèi)容的所述至少部分遞送到所述至少一個客戶端。在另一個實施例中,可以使用SIP協(xié)議、XMPP協(xié)議和/或其組合來建立流式傳輸控制信道。
[0021]在另一個方面中,本發(fā)明可以涉及用于實現(xiàn)對分段內(nèi)容從遞送節(jié)點到至少一個客戶端的流式傳輸?shù)木W(wǎng)絡(luò)發(fā)起的控制的方法,其中所述方法可以包括以下步驟中的至少一個:遞送清單文件,所述清單文件包括用于標識一個或多個段的一個或多個段標識符和用于定位一個或多個內(nèi)容遞送節(jié)點的位置信息,所述一個或多個內(nèi)容遞送節(jié)點被配置成向至少一個客戶端發(fā)送與所述段標識符相關(guān)聯(lián)的一個或多個段;接收對于在與所述一個或多個內(nèi)容遞送節(jié)點相關(guān)聯(lián)的控制信道服務(wù)器功能和所述至少一個客戶端之間建立流式傳輸控制信道的請求;和/或,建立所述至少一個流式傳輸控制信道。在一個實施例中,所述控制信道服務(wù)器功能可以被配置成向所述客戶端發(fā)送至少一個清單文件更新消息。在另一個實施例中,所述客戶端可以被配置成基于清單文件而訪問所述分段內(nèi)容的至少部分。在另一個實施例中,清單文件可以包括一個或多個段標識符和/或用于定位一個或多個內(nèi)容遞送節(jié)點的位置信息,所述一個或多個內(nèi)容遞送節(jié)點被配置成向所述至少一個客戶端發(fā)送與所述一個或多個段標識符相關(guān)聯(lián)的一個或多個段。
[0022]在實施例中,所述一個或多個遞送節(jié)點的所述至少第一部分的所述至少部分可以被配置為屬于第一內(nèi)容遞送網(wǎng)絡(luò)(⑶NI)的第一遞送節(jié)點,所述第一內(nèi)容遞送網(wǎng)絡(luò)(⑶NI)被配置成向所述客戶端遞送所述段的至少第一部分;和/或,所述遞送節(jié)點的至少第二部分可以被配置為屬于第二內(nèi)容遞送網(wǎng)絡(luò)(CDN2)的第二遞送節(jié)點,所述第二內(nèi)容遞送網(wǎng)絡(luò)(⑶N2)被配置成向所述客戶端遞送所述段的至少第二部分。因而,在該實施例中,由第二、另外的⑶N向客戶端遞送段的至少部分。
[0023]在實施例中,所述方法可以包括:監(jiān)視一個或多個網(wǎng)絡(luò)參數(shù),優(yōu)選為與關(guān)聯(lián)于所述一個或多個遞送節(jié)點的過載、即將發(fā)生的過載、故障或網(wǎng)絡(luò)配置改變相關(guān)聯(lián)的所述一個或多個網(wǎng)絡(luò)參數(shù)中的至少一個;在滿足與所述網(wǎng)絡(luò)參數(shù)相關(guān)聯(lián)的一個或多個預(yù)定條件的情況下,生成清單文件更新消息;以及,可選地,向所述至少一個客戶端發(fā)送所述清單文件更新消息。
[0024]在實施例中,所述方法可以包括:確定與所述第一和/或第二遞送節(jié)點中的一個或多個相關(guān)聯(lián)的過載、即將發(fā)生的過載、故障或網(wǎng)絡(luò)配置中的改變;識別從與確定的過載、即將發(fā)生的過載、故障或網(wǎng)絡(luò)配置改變相關(guān)聯(lián)的所述一個或多個第一和/或第二遞送節(jié)點獲取或預(yù)期獲取段的一個或多個客戶端;確定與所述識別出的客戶端的至少部分相關(guān)聯(lián)的一個或多個流式傳輸控制信道;以及,可選地,通過所述一個或多個流式傳輸控制信道向所述識別出的客戶端的至少部分發(fā)送清單文件更新消息。
[0025]在實施例中,所述過載、故障或網(wǎng)絡(luò)配置改變的所述至少部分可以與屬于第二CDN2的所述第二遞送節(jié)點的至少一個相關(guān)聯(lián)。在另一個實施例中,所述方法可以包括:所述第二⑶N2向所述第一⑶NI發(fā)送過載通知、故障通知或網(wǎng)絡(luò)配置改變通知,所述過載或故障通知包括與所述過載或故障相關(guān)聯(lián)的一個或多個第二遞送節(jié)點標識符。
[0026]在實施例中,所述方法可以包括:將客戶端遞送信息存儲在第一⑶N數(shù)據(jù)庫中,所述客戶端遞送信息包括以下中的至少一個:流式傳輸控制信道標識符;客戶端標識符,優(yōu)選為與所述客戶端相關(guān)聯(lián)的IP地址;與主控在所述清單文件中引用的一個或多個段的遞送節(jié)點相關(guān)聯(lián)的遞送節(jié)點標識符;內(nèi)容遞送網(wǎng)絡(luò)標識符;和/或,清單文件標識符。
[0027]在又一方面中,本發(fā)明可以涉及用于實現(xiàn)對與至少第一和第二內(nèi)容遞送網(wǎng)絡(luò)(CDN1、CDN2)相關(guān)聯(lián)的分段內(nèi)容到一個或多個客戶端的流式傳輸?shù)木W(wǎng)絡(luò)發(fā)起的控制的方法,所述第一⑶NI與第一控制信道服務(wù)器功能相關(guān)聯(lián)并且所述第二⑶N2與第二控制信道服務(wù)器功能相關(guān)聯(lián),其中所述方法可以包括以下步驟中的至少一個:生成與分段內(nèi)容相關(guān)聯(lián)的第一清單文件,所述第一清單文件包括一個或多個段和用于定位與所述第一 CDNl相關(guān)聯(lián)的一個或多個內(nèi)容遞送節(jié)點的位置信息;和/或,向所述第二控制信道服務(wù)器功能請求與所述分段內(nèi)容相關(guān)聯(lián)的第二清單文件,其中所述第二清單文件可以包括一個或多個段和/或用于定位與所述第二 CDN2相關(guān)聯(lián)的一個或多個內(nèi)容遞送節(jié)點的位置信息;基于所述第一和第二清單文件以及可選地信道建立信息而生成另外的清單文件;基于所述信道建立信息而在所述至少一個客戶端與所述第一控制信道服務(wù)器功能之間建立至少第一流式傳輸控制信道,其中所述第一控制信道服務(wù)器功能可以被配置成生成清單文件更新消息并且經(jīng)由所述流式傳輸控制信道向所述客戶端發(fā)送所述消息。
[0028]在另外的方面中,本發(fā)明可以涉及用于在內(nèi)容處理設(shè)備中使用的客戶端,其中所述客戶端可以被配置用于:向所述服務(wù)器發(fā)送對于遞送分段內(nèi)容的請求;接收清單文件,所述清單文件包括一個或多個段標識符和用于定位一個或多個內(nèi)容遞送節(jié)點的位置信息,所述一個或多個內(nèi)容遞送節(jié)點被配置成向所述至少一個客戶端發(fā)送與所述一個或多個段標識符相關(guān)聯(lián)的一個或多個段;被提供有第一信道建立信息;和/或,基于所述提供的第一信道建立信息而在所述至少一個客戶端和與所述第一⑶NI相關(guān)聯(lián)的所述控制信道服務(wù)器功能之間建立第一流式傳輸控制信道。在一個實施例中,所述至少一個客戶端被配置用于從所述第一控制信道服務(wù)器功能接收至少一個清單文件更新消息。
[0029]在一方面中,本發(fā)明可以涉及與遞送節(jié)點相關(guān)聯(lián)的用于實現(xiàn)分段內(nèi)容從所述遞送節(jié)點到一個或多個客戶端的網(wǎng)絡(luò)發(fā)起的受控傳輸?shù)目刂菩诺婪?wù)器功能,其中所述控制信道服務(wù)器功能可以被配置用于以下步驟中的至少一個:接收對于將分段內(nèi)容遞送到所述一個或多個客戶端的至少一個請求;生成至少一個清單文件,其包括一個或多個段標識符和用于定位一個或多個內(nèi)容遞送節(jié)點的位置信息以及可選地信道建立信息,所述一個或多個內(nèi)容遞送節(jié)點被配置成向所述客戶端發(fā)送與所述一個或多個段標識符相關(guān)聯(lián)的一個或多個段;向所述客戶端發(fā)送所述至少一個清單文件;以及,參與基于所述信道建立信息的在所述至少一個客戶端與所述控制信道服務(wù)器功能之間的至少第一流式傳輸控制信道的設(shè)立或建立。在一個實施例中,所述控制信道服務(wù)器功能還可以被配置成生成清單文件更新消息并且經(jīng)由所述第一流式傳輸控制信道向所述客戶端發(fā)送所述消息。
[0030]在一個實施例中,所述生成所述至少一個清單文件可以包括:
提供一個或多個第一段標識符和用于定位第一內(nèi)容遞送網(wǎng)絡(luò)(⑶NI)中的一個或多個內(nèi)容遞送節(jié)點的第一位置信息;向第二內(nèi)容遞送網(wǎng)絡(luò)請求一個或多個第二段標識符和用于定位所述第二內(nèi)容遞送網(wǎng)絡(luò)(CDN2)中的一個或多個內(nèi)容遞送節(jié)點的第二位置信息;分別基于所述一個或多個第一和第二段標識符以及第一和第二位置信息的至少部分而生成所述清單文件。
[0031 ] 在另一個實施例中,所述控制信道服務(wù)器功能還可以被配置成:從所述第二內(nèi)容遞送網(wǎng)絡(luò)接收過載通知;以及,響應(yīng)于所述過載通知經(jīng)由所述第一流式傳輸控制信道向所述客戶端發(fā)送清單文件更新消息。
[0032]在另外的方面中,本發(fā)明可以涉及用于在如上文所描述的客戶端中使用的數(shù)據(jù)結(jié)構(gòu),優(yōu)選為清單文件,其中所述數(shù)據(jù)結(jié)構(gòu)可以包括一個或多個段標識符和用于定位一個或多個內(nèi)容遞送節(jié)點的位置信息,所述一個或多個內(nèi)容遞送節(jié)點被配置成向所述客戶端發(fā)送與所述一個或多個段相關(guān)聯(lián)的一個或多個段;所述數(shù)據(jù)結(jié)構(gòu)還包括所述信道建立信息的至少部分。在一個實施例中,所述信道建立信息可以包括與包括控制信道服務(wù)器功能的網(wǎng)絡(luò)節(jié)點相關(guān)聯(lián)的位置信息,優(yōu)選為一個或多個URL,所述控制信道服務(wù)器功能被配置用于與所述客戶端建立流式傳輸控制信道。
[0033]本發(fā)明還涉及包括軟件代碼部分的計算機程序產(chǎn)品,所述軟件代碼部分被配置用于當運行在計算機的存儲器中時,執(zhí)行根據(jù)如上文所描述的方法步驟中的任一個的方法步驟。
[0034]將參照附圖進一步圖示本發(fā)明,所述附圖將示意性地示出根據(jù)本發(fā)明的實施例。將理解,本發(fā)明不以任何方式被限制到這些特定實施例。

【專利附圖】

【附圖說明】
[0035]圖1描繪了客戶端與服務(wù)器之間的傳統(tǒng)HAS會話的概覽。
[0036]圖2描繪了根據(jù)本發(fā)明的一個實施例的客戶端與服務(wù)器之間的協(xié)議流。
[0037]圖3描繪了根據(jù)本發(fā)明的實施例的客戶端側(cè)過程流。
[0038]圖4描繪了根據(jù)本發(fā)明的實施例的服務(wù)器側(cè)過程流。
[0039]圖5A-5C描繪了根據(jù)本發(fā)明的各種實施例的客戶端與服務(wù)器之間的協(xié)議流。
[0040]圖6描繪了根據(jù)本發(fā)明的實施例的內(nèi)容流式傳輸系統(tǒng)。
[0041]圖7描繪了用于在根據(jù)本發(fā)明的實施例的內(nèi)容流式傳輸系統(tǒng)中使用的消息流。
[0042]圖8描繪了與根據(jù)本發(fā)明的一個實施例的遞送連續(xù)性節(jié)點(DCN)功能相關(guān)聯(lián)的過程流。
[0043]圖9描繪了用于在根據(jù)本發(fā)明的另一個實施例的內(nèi)容流式傳輸系統(tǒng)中使用的消息流。
[0044]圖10描繪了用于在根據(jù)本發(fā)明的又一實施例的內(nèi)容流式傳輸系統(tǒng)中使用的消息流。
[0045]圖11描繪了用于在根據(jù)本發(fā)明的另外的實施例的內(nèi)容流式傳輸系統(tǒng)中使用的消息流。
[0046]圖12描繪了根據(jù)本發(fā)明的實施例的內(nèi)容流式傳輸系統(tǒng)。
[0047]圖13描繪了用于在根據(jù)本發(fā)明的再一實施例的內(nèi)容流式傳輸系統(tǒng)中使用的消息流。
[0048]圖14描繪了根據(jù)本發(fā)明的一個實施例的清單文件。

【具體實施方式】
[0049]圖1描繪了被配置成通過諸如HAS流式傳輸協(xié)議之類的流式傳輸協(xié)議進行通信的終端中的客戶端130與媒體服務(wù)器132之間的傳統(tǒng)HAS協(xié)議流的概覽,其包括響應(yīng)和請求協(xié)議消息134、136。這里,終端可以一般地涉及內(nèi)容處理設(shè)備,例如(移動)內(nèi)容播出設(shè)備,諸如電子平板、智能電話、筆記本、媒體播放器等。在一些實施例中,終端可以是機頂盒或內(nèi)容存儲設(shè)備,其被配置用于處理和臨時存儲內(nèi)容以供內(nèi)容播出設(shè)備未來消費。類似地,媒體服務(wù)器可以是內(nèi)容提供商或內(nèi)容遞送網(wǎng)絡(luò)(CDN)的部分或者與其相關(guān)聯(lián)。
[0050]協(xié)議流可以開始于用戶選擇去往網(wǎng)站上的視頻的鏈接(步驟102),其中URL可以(例如通過重定向)指向清單文件。清單文件可以與特定數(shù)據(jù)結(jié)構(gòu)有關(guān),所述特定數(shù)據(jù)結(jié)構(gòu)包括構(gòu)建分段視頻文件的段標識符(例如段文件名)和用于定位一個或多個網(wǎng)絡(luò)節(jié)點的關(guān)聯(lián)的位置信息(例如URL),所述一個或多個網(wǎng)絡(luò)節(jié)點被配置成向客戶端(遞送節(jié)點)遞送段;或者可替換地,與能夠確定其可能能夠遞送標識的段的一個或多個網(wǎng)絡(luò)節(jié)點的網(wǎng)絡(luò)節(jié)點有關(guān)。在又一實施例中,位置信息還可以指向網(wǎng)絡(luò)節(jié)點上的位置。例如,URL關(guān)聯(lián)的段可以指向在一個遞送節(jié)點中定義的不同文件夾。
[0051]對優(yōu)選包括在清單文件中的段的引用(reference)可以包括段標識符和/或用于定位段的與段標識符相關(guān)聯(lián)的位置信息。
[0052]清單文件還可以包括描述段之間的時間和/或空間關(guān)系的信息。這樣的文件可以使用特定文件擴展名存儲和標識,例如.mf、.xml和.m3u8??蛻舳巳缓罂梢园l(fā)送HTTP獲取(GET)請求以從服務(wù)器獲得清單文件(步驟104)。作為響應(yīng),服務(wù)器可以通過向客戶端發(fā)送清單文件而進行響應(yīng)(步驟106)??蛻舳舜撕蠼馕銮鍐挝募垣@得與請求的視頻相關(guān)聯(lián)的段的位置(步驟108)。
[0053]客戶端請求來自在清單文件中描述的位置的視頻的第一段并且服務(wù)器通過向客戶端發(fā)送所請求的段來對請求進行響應(yīng)(步驟110、112)?;谇鍐挝募?,可以獲取若干段(步驟114、116)。然后,在某個時間量之后,客戶端可以確定(例如基于預(yù)定義的定時器到期,或者客戶端幾乎達到實時流中的清單文件的結(jié)束)是時候更新清單文件并且可以向它已經(jīng)從其獲得初始清單的相同位置發(fā)送請求(步驟118)。更新的清單文件此后被發(fā)送到客戶端(步驟120),其再次被客戶端通過開始解析經(jīng)更新的清單文件而被處理(步驟122)。
[0054]如早前已經(jīng)論述的,這樣的傳統(tǒng)HAS內(nèi)容流式傳輸系統(tǒng)不允許對客戶端與服務(wù)器之間的流式傳輸過程的基于服務(wù)器的控制。它不允許在難以預(yù)測并且其中需要流式傳輸配置的直接適配的特別情形中的控制。
[0055]圖2描繪了根據(jù)本發(fā)明的一個實施例的客戶端與服務(wù)器之間的協(xié)議流。具體地,圖2描繪了與用于將來自媒體服務(wù)器232的內(nèi)容流式傳輸?shù)娇蛻舳?30的諸如HTTP自適應(yīng)流(HAS)協(xié)議之類的流式傳輸協(xié)議相關(guān)聯(lián)的協(xié)議流。
[0056]客戶端可以包括流式傳輸客戶端功能248,其處理用于通過視頻播出功能246播出的流,以及控制信道客戶端功能244 (CCCF)0類似地,媒體服務(wù)器可以包括用于將媒體流式傳輸?shù)搅魇絺鬏斂蛻舳斯δ?48的流式傳輸服務(wù)器功能242。媒體服務(wù)器還可以包括在服務(wù)器232中或與服務(wù)器232相關(guān)聯(lián)的控制信道服務(wù)器功能(CCSF),例如HAS控制信道服務(wù)器功能234,所述服務(wù)器232被配置成發(fā)起CCSF與CCCF 244之間的流式傳輸控制信道236的建立,其中流式傳輸控制信道可以被用于在分段內(nèi)容238到客戶端的流式傳輸期間在客戶端與服務(wù)器之間交換流式傳輸控制信息,特別是,源自服務(wù)器的到客戶端的流式傳輸控制信息。
[0057]這里,過程可以以如圖1中的相同方式開始,即用戶點擊去往網(wǎng)站上的視頻的鏈接,其中URL可以(例如通過重定向)指向清單文件(步驟200 )??蛻舳丝梢园l(fā)送HTTP獲取請求以從服務(wù)器獲得清單文件并且服務(wù)器可以通過向客戶端發(fā)送清單文件(在該情況中,XML文件)來對其進行響應(yīng)(步驟202、204),客戶端隨后解析清單文件以獲得組成請求的內(nèi)容流的段的位置(步驟206)。然而在該特定情況中,服務(wù)器中的CCSF被配置成將信道建立信息插入在清單文件中,這允許客戶端中的CCCF和服務(wù)器中的CCSF建立流式傳輸控制信道。
[0058]基于嵌入在清單文件中的信道建立信息,客戶端中的CCCF可以例如向服務(wù)器中的CCSF發(fā)送信道建立請求(步驟208)以用于建立服務(wù)器到客戶端流式傳輸控制信道。在一個實施例中,CCCF和CCSF可以包括被配置成使用WebSocket協(xié)議和信道建立信息來建立客戶端與服務(wù)器之間的流式傳輸控制信道的HTTP WebSocket API。WebSocket連接通常使用標準HTTP端口 80和443,使得數(shù)據(jù)可以容易地傳遞防火墻和NAT,但是還可以使用其它端口。
[0059]WebSocket協(xié)議的使用在⑶N和HAS的上下文內(nèi)具有若干優(yōu)勢,諸如用于可縮放性的低消息開銷,用于協(xié)議匯聚和防火墻的穿過的HTTP的使用,以及其它協(xié)議的隧道傳輸?shù)目赡苄浴T诹硪粋€實施例中,使用會話發(fā)起協(xié)議(SIP) (http://tools.1etf.0rg/html/rfc3261),其中客戶端可以包括SIP用戶代理并且服務(wù)器是SIP應(yīng)用服務(wù)器。
[0060]在又一實施例中,使用可擴展消息傳遞和存在協(xié)議(XMPP) (http://www.1etf.0rg/rfc/ rfc3920.txt),其中客戶端可以包括XMPP客戶端并且服務(wù)器包括XMPP服務(wù)器。SIP 和 XMPP 協(xié)議消息二者可以通過根據(jù) draft-1bc-rtcweb-sip-websocket-OO 和 draft-moffitt-xmpp-over-websocket-ΟΟ的WebSocket隧道傳輸。在圖5A-5C中提供針對不同協(xié)議的實施例的更加詳細的描述。
[0061]在流式傳輸控制信道的建立期間,可以在CCCF和CCSF之間交換信道參數(shù)(步驟210)。另外,為了處理源自客戶端的消息,CCSF可以創(chuàng)建專用信道處理過程(線程)(步驟212)。一旦建立流式傳輸控制信道214,客戶端可以開始對標識在清單文件中的段進行流式傳輸?shù)倪^程。流式傳輸過程可以基于HAS類型流式傳輸協(xié)議并且開始于包括與第一段segment_low-l.avi相關(guān)聯(lián)的URL的HTTP獲取請求(步驟216)。一旦第一段的遞送被HTTP200 OK響應(yīng)確認(步驟218),客戶端可以請求后續(xù)段segment_high-2.avi(步驟220、222)。
[0062]然后,媒體服務(wù)器中的CCSF可以決定對于客戶端來說更新其清單文件是必要的。例如,CCSF可以檢測可能的服務(wù)器過載或故障。它因此可以通過流式傳輸控制信道發(fā)送可選地包括指向新的清單文件的URL的清單更新信號(步驟224)。當接收到清單文件更新信號時,CCCF可以請求新的清單文件。當接收到新的清單文件時,客戶端可以基于新的清單而繼續(xù)流式傳輸(未示出)。
[0063]在一個實施例中,代替?zhèn)鬟f清單文件中的信道建立信息,信道建立信息可以被預(yù)安裝到終端中或者可以經(jīng)由單獨的通信信道從另一個(網(wǎng)絡(luò))源獲取。在這種情況中,當客戶端接收到清單文件時,它觸發(fā)獲取信道建立信息的流式傳輸控制信道客戶端功能以便建立流式傳輸控制信道,如參照圖2步驟208-214描述的那樣。
[0064]在另一個實施例中,媒體服務(wù)器可以被配置成將段流式傳輸?shù)蕉鄠€客戶端,其中每個客戶端與其自身的流式傳輸控制信道相關(guān)聯(lián)以便實現(xiàn)網(wǎng)絡(luò)發(fā)起的(例如服務(wù)器發(fā)起的)控制,如參照圖2描述的那樣。這樣,服務(wù)器可以基于網(wǎng)絡(luò)參數(shù)(例如網(wǎng)絡(luò)業(yè)務(wù)或服務(wù)器的處理負載)而控制分段內(nèi)容到多個客戶端的流式傳輸。例如,在一個特定實施例中,不同客戶端可以與不同訂閱相關(guān)聯(lián),例如高級(premium)訂閱和普通訂閱。當與媒體服務(wù)器相關(guān)聯(lián)的負載平衡功能240檢測到負載上的增加時,它可以搶先通過用信號通知CCSF發(fā)起清單文件更新來降低它的負載,其中普通客戶端(的至少其部分)被提供有使這些客戶端請求與低速率和/或(較)低質(zhì)量相關(guān)聯(lián)的段的新的清單文件。
[0065]可以以各種方式實現(xiàn)清單文件更新。在一個實施例中,可以經(jīng)由流式傳輸控制信道向客戶端發(fā)送更新的清單文件的全部或至少部分。在另外的實施例中,CCSF可以向客戶端(特別地,CCCF)發(fā)送清單更新觸發(fā),客戶端通過向(默認)位置(例如原始媒體服務(wù)器)或向如清單文件更新觸發(fā)中(例如,使用URL)所標識的新的位置(例如另外的媒體服務(wù)器)請求更新的或新的清單文件來進行響應(yīng)。
[0066]圖3描繪了根據(jù)本發(fā)明的實施例的客戶端側(cè)過程流。具體地,圖3描繪了與在客戶端上執(zhí)行以用于段的獲取和播出和用于提供如例如圖2中描繪的通過流式傳輸控制信道的流式傳輸?shù)姆?wù)器發(fā)起的控制的過程相關(guān)聯(lián)的過程流。過程可以開始于客戶端請求與特定分段內(nèi)容項相關(guān)聯(lián)的清單文件(步驟300)。清單文件可以包括段位置,而且還包括客戶端用于建立流式傳輸控制信道的信道建立信息(諸如WebSocket URL和可能地用于指示例如WebSocket子協(xié)議的使用、WebSocket版本等的一些參數(shù)。當從服務(wù)器接收到清單文件時,客戶端可以解析清單文件(步驟301和302)并且在客戶端中開始至少兩個不同的過程/線程:至少是由客戶端中的媒體流式傳輸客戶端功能執(zhí)行以用于處理段獲取和段的回放的第一過程以及由客戶端中的CCCF執(zhí)行以用于處理流式傳輸控制信道的第二過程??蛻舳丝梢允褂迷谇鍐挝募忻枋龅亩挝恢靡灾芷谛缘孬@取段并且將它們播出(步驟303),直到檢測到視頻的結(jié)束為止(步驟304)。另外,客戶端可以使用嵌入在清單文件中的信道建立信息以基于清單文件中描述的URL而向服務(wù)器發(fā)送信道建立請求(步驟305)并且在客戶端(特別是客戶端中的CCCF)與服務(wù)器(特別是與服務(wù)器相關(guān)聯(lián)的CCSF)之間建立流式傳輸控制信道(步驟306)。然后,在段的流式傳輸和播出期間,CCCF針對來自服務(wù)器的傳入消息而偵聽(Iisten)流式傳輸控制信道(步驟307)。流式傳輸控制信道還可以用于從客戶端到服務(wù)器的數(shù)據(jù)傳輸。
[0067]在來自服務(wù)器的傳入消息的情況中,CCCF可以檢查是否已經(jīng)接收清單更新信號(清單更新觸發(fā))(步驟308)。如果已經(jīng)接收這樣的清單更新信號,CCCF可以請求更新的清單(要么來自它從其接收原始清單的位置要么來自清單更新觸發(fā)消息中指定的URL)(步驟309)。在接收更新的清單文件之后,客戶端對其進行解析(參見步驟302)并且更新段標識符和相關(guān)聯(lián)的位置信息的列表。
[0068]圖4描繪了根據(jù)本發(fā)明的實施例的服務(wù)器側(cè)過程流。具體地,圖4描繪了在媒體服務(wù)器上執(zhí)行以用于將段流式傳輸?shù)娇蛻舳瞬⑶矣糜谑褂昧魇絺鬏斂刂菩诺捞峁α魇絺鬏數(shù)木W(wǎng)絡(luò)發(fā)起的控制的過程的過程流。過程可以由媒體服務(wù)器上主控的各種功能執(zhí)行,如例如參照圖2描述的那樣,即流式傳輸服務(wù)器功能、控制信道服務(wù)器功能以及,可選地,負載平衡功能。功能可以被配置成執(zhí)行一個或多個過程以用于監(jiān)視服務(wù)器負載、對來自客戶端的段請求進行響應(yīng)和建立并維護與客戶端的流式傳輸控制信道。
[0069]例如,第一過程可以由監(jiān)視對客戶端向服務(wù)器發(fā)送的信道建立的請求的接收的媒體服務(wù)器中的CCSF執(zhí)行(步驟402)。如果接收到這樣的請求,CCSF可以建立流式傳輸控制信道并且發(fā)起信道處理過程,其中源自或發(fā)送到客戶端的信息例如被適當?shù)靥幚?。第二過程可以由處理對來自客戶端的針對清單文件和/或段的請求的接收的媒體流式傳輸服務(wù)器功能執(zhí)行(步驟400)。如果接收到這樣的請求,服務(wù)器可以向請求客戶端發(fā)送所請求的信息(段和/或清單文件)(步驟401)。第三過程可以涉及監(jiān)視網(wǎng)絡(luò)負載信息和/或服務(wù)器負載信息的負載平衡功能。如果負載達到或接近某個(最大)閾值,它可以發(fā)信號通知CCSF選擇用于清單文件更新的一個或多個客戶端(步驟405)。作為響應(yīng),CCSF可以向所選客戶端發(fā)送清單更新觸發(fā)(步驟406)。
[0070]例如,在一個實施例中,與服務(wù)器相關(guān)聯(lián)的負載平衡功能可以發(fā)信號通知CCSF發(fā)起清單文件更新以便降低服務(wù)器的處理負載。更新的清單文件指示客戶端基于較低質(zhì)量的段的而繼續(xù)流式傳輸。在另一個實施例中,CCSF可以檢測服務(wù)器過載或服務(wù)器故障并且作為響應(yīng)發(fā)起清單文件更新以用于指示一個或多個客戶端從另一個網(wǎng)絡(luò)服務(wù)器獲取段。
[0071]清單更新過程可以以若干方式實現(xiàn)。在一個實施例中,更新的清單文件可以由CCSF經(jīng)由流式傳輸控制信道發(fā)送到客戶端中的CCCF。在另一個實施例中,CCSF可以向客戶端中的CCCF發(fā)送清單文件更新觸發(fā),其作為響應(yīng)而向媒體服務(wù)器請求更新的或新的清單文件。在另外的實施例中,清單文件更新觸發(fā)可以包括另外的媒體服務(wù)器的位置信息,例如URL,使得客戶端可以基于該位置信息而向該另外的媒體服務(wù)器請求更新的或新的清單文件(步驟406)。
[0072]圖5A-5C描繪了用于建立流式傳輸控制信道以用于實現(xiàn)網(wǎng)絡(luò)發(fā)起的流式傳輸控制的的各種非限制性協(xié)議流。具體地,圖5A描繪了類似于圖2的消息流,其中HTTPWebSocket協(xié)議被用于建立流式傳輸控制信道。該過程可以開始于用戶選擇去往網(wǎng)站上的視頻的鏈接,其中URL可以(例如通過重定向)指向清單文件(步驟500a)。作為響應(yīng),客戶端可以發(fā)送HTTP獲取請求以從服務(wù)器獲得清單文件(步驟501a),所述清單文件由服務(wù)器發(fā)送(在這種情況中以XML文件的形式)到客戶端(步驟502a)。
[0073]客戶端可以解析清單文件以獲得構(gòu)建視頻的段的至少部分的位置(步驟503a)并且使用嵌入在清單文件中的信息以向服務(wù)器發(fā)送WebSocket建立請求(HTTP GET/WSws://…)(步驟504a)。在執(zhí)行強制WebSocket握手之后(如在WS草案draft-1etf-hyb1-thewebsocketprotocol-17中詳細描述的那樣),服務(wù)器可以使用HTTP 101切換協(xié)議消息接受來自客戶端的WebSocket請求(步驟505a)。然后,為了通過要創(chuàng)建的WebSocket處理傳入消息,服務(wù)器可以創(chuàng)建專用過程/線程(步驟506a)從而建立WebSocket流式傳輸控制信道,其可以被用于提供服務(wù)器發(fā)起的流式傳輸控制(步驟507a)。
[0074]WebSocket協(xié)議允許通過盡力而為(best-effort)的因特網(wǎng)連接的全雙工、雙向通信。服務(wù)器和客戶端二者可以在任何時間或甚至在相同時間通過流式傳輸控制信道發(fā)送數(shù)據(jù)。只有數(shù)據(jù)被發(fā)送而沒有HTTP報頭(header)的開銷,從而急劇增加帶寬。而且,由于WebSocket是基于HTTP的協(xié)議,它通常不會被防火墻或網(wǎng)絡(luò)地址翻譯器(NAT)自動阻擋。
[0075]圖5B描繪了用于建立使用SIP協(xié)議的類似于圖2的流式傳輸控制信道的消息流。該過程可以開始于用戶選擇去往網(wǎng)站上的視頻的鏈接,其中URL可以(例如通過重定向)指向清單文件(步驟500b)。作為響應(yīng),客戶端可以發(fā)送HTTP獲取請求以從服務(wù)器獲得清單文件(步驟501b),所述清單文件由服務(wù)器發(fā)送(在這種情況中以XML文件的形式)到客戶端(步驟 502b)。
[0076]客戶端可以解析清單文件以獲得組成視頻的段的位置(步驟503b)并且使用嵌入在清單文件中的信息來向SIP應(yīng)用服務(wù)器發(fā)送SIP邀請(INVITE)消息(步驟504b)。該信息可以被格式化為會話描述協(xié)議消息[http://www.1etf.0rg/rfc/rfc4566.txt]。服務(wù)器可以接受邀請消息并且用SIP 200 OK消息進行響應(yīng)(步驟505b)。然后,為了處理通過要創(chuàng)建的SIP會話的傳入消息,服務(wù)器可以創(chuàng)建專用過程/線程(步驟506b)從而建立基于SIP的流式傳輸控制信道,其可以被用于提供服務(wù)器發(fā)起的流式傳輸控制(步驟507b )。
[0077]圖5C描繪了用于建立使用XMPP協(xié)議的類似于圖2的流式傳輸控制信道的消息流。該過程可以開始于用戶選擇去往網(wǎng)站上的視頻的鏈接,其中URL可以(例如通過重定向)指向清單文件(步驟500c)。作為響應(yīng),客戶端可以發(fā)送HTTP獲取請求以從服務(wù)器獲得清單文件(步驟501c),所述清單文件由服務(wù)器發(fā)送(在這種情況中以XML文件的形式)到客戶端(步驟 502c)。
[0078]客戶端可以解析清單文件以獲得組成視頻的段的位置(步驟503c)并且使用嵌入在清單文件中的信息(諸如XMPP服務(wù)器的Jabber標識符(JID))來通過XML流向XMPP服務(wù)器發(fā)送以一個或多個XML節(jié)(Stanza)的形式的XMPP會話請求消息(步驟505c)。XMPP服務(wù)器可以接受會話請求消息并且用會話創(chuàng)建結(jié)果消息進行響應(yīng)(步驟506c)。然后,為了處理通過要創(chuàng)建的XMPP會話的傳入消息,服務(wù)器可以創(chuàng)建專用過程/線程(步驟507c)從而建立基于XMPP的流式傳輸控制信道,其可以被用于提供服務(wù)器發(fā)起的流式傳輸控制(步驟508c)。
[0079]圖6描繪了根據(jù)本發(fā)明的一個實施例的用于將分段內(nèi)容遞送到客戶端的內(nèi)容流式傳輸系統(tǒng)600。具體地,圖6描繪了包括CDN的內(nèi)容遞送系統(tǒng)的架構(gòu)概覽,其被配置成提供對CDN中的一個或多個遞送節(jié)點與一個或多個客戶端之間的流式傳輸過程的網(wǎng)絡(luò)發(fā)起的控制。網(wǎng)絡(luò)發(fā)起的控制可以基于如參照圖2-5描述的流式傳輸控制信道功能而實現(xiàn)。
[0080]在該實施例中,內(nèi)容遞送系統(tǒng)可以包括至少一個內(nèi)容遞送網(wǎng)絡(luò)(⑶N) 602、經(jīng)由傳輸網(wǎng)絡(luò)600連接到一個或多個客戶端603的內(nèi)容源(CS)601。內(nèi)容源可以涉及內(nèi)容提供商系統(tǒng)(CPS)、內(nèi)容準備系統(tǒng)或另一個CDN。CPS可以被配置成向消費者供應(yīng)內(nèi)容,例如音頻項或視頻標題,消費者可以使用客戶端購買和接收內(nèi)容。
[0081]客戶端可以以運行在終端(即內(nèi)容處理設(shè)備)上的軟件程序來實現(xiàn),例如諸如電子平板、智能電話、筆記本、媒體播放器等之類的(移動)內(nèi)容播出設(shè)備。在一些實施例中,終端可以是機頂盒或內(nèi)容存儲設(shè)備,其被配置成處理和臨時存儲內(nèi)容以供內(nèi)容播出設(shè)備未來消費。
[0082]CDN可以包括遞送節(jié)點(DN1、DN2 ) 611、612和至少一個中央CDN節(jié)點(CCN ) 610。每個遞送節(jié)點可以包括控制器630、631和用于存儲和緩存內(nèi)容的高速緩存632、633或者與其相關(guān)聯(lián)。每個CCN可以包括用于控制來自外部源(例如內(nèi)容提供商或另一個CDN)的內(nèi)容的攝取(ingest1n)的攝取功能(或內(nèi)容起源功能,C0F) 620、用于維護關(guān)于內(nèi)容存儲在⑶N內(nèi)的哪里的信息的內(nèi)容位置數(shù)據(jù)庫622和用于控制內(nèi)容的一個或多個副本到遞送節(jié)點的分發(fā)并且用于將客戶端重定向到合適的遞送節(jié)點(還稱為請求路由的過程)的⑶N控制功能(⑶NCF) 621或者可以與其相關(guān)聯(lián)。可以控制所述分發(fā)使得遍及⑶N,保證用于到客戶端的內(nèi)容遞送的充足帶寬。在一個實施例中,⑶N可以涉及如ETSI TS 182 019中描述的⑶N。
[0083]消費者可以通過向web入口(WP) 661發(fā)送請求來從CPS 660購買分段內(nèi)容,例如視頻標題,所述web入口 661被配置成提供標識可購買的視頻標題的標題引用。響應(yīng)于請求,客戶端可以接收來自WP的標題引用的至少部分和能夠遞送所選內(nèi)容⑶N的⑶NCF的位置信息(例如URL)。
[0084]⑶NCF可以發(fā)送與一個或多個遞送節(jié)點相關(guān)聯(lián)的客戶端位置信息,所述一個或多個遞送節(jié)點被配置成向客戶端遞送所選內(nèi)容??梢栽贑DN中的一個遞送節(jié)點上或者可替換地,在⑶N中的不同遞送節(jié)點上主控所述段。例如,可以在⑶N中的多個遞送節(jié)點上主控更流行的段,使得可以保證及時遞送。通常,CDNCF可以選擇CDN中最適于向客戶端遞送所選內(nèi)容的遞送節(jié)點。用于選擇一個或多個遞送節(jié)點的準則可以基于遞送節(jié)點的處理負載和/或與客戶端相關(guān)聯(lián)的上下文信息:例如客戶端的位置(IP地址)和/或客戶端的訂閱(例如如參照圖2描述的高級訂閱或普通訂閱)。因而,這樣,CDNCF可以動態(tài)地生成清單文件,其被優(yōu)化以用于向客戶端高效遞送段。
[0085]客戶端可以使用例如傳統(tǒng)DNS系統(tǒng)而與CDN中的遞送節(jié)點聯(lián)系。另外,各種流式傳輸協(xié)議可以被用于向?qū)α鬟M行處理以供視頻播出功能651播出的媒體流式傳輸功能652遞送內(nèi)容。這樣的協(xié)議可以包括HTTP和RTP/RTCP類型流式傳輸協(xié)議。在優(yōu)選實施例中,可以使用諸如HTTP自適應(yīng)流(HAS)和有關(guān)協(xié)議之類的自適應(yīng)流協(xié)議,諸如Apple HTTP實時流式傳輸、Microsoft平滑流式傳輸、Adobe HTTP動態(tài)流式傳輸、3GPP-DASH和MPEG通過HTTP的動態(tài)自適應(yīng)流。
[0086]CDN被配置成攝取和分發(fā)分段內(nèi)容。已知的分段流式傳輸系統(tǒng)可以基于時間分段,諸如HTTP自適應(yīng)流(HAS),其中內(nèi)容可以組織在許多段(片或部分)中,其可以根據(jù)諸如MPEG或AVI之類的已知傳輸容器格式被格式化。
[0087]段之間的關(guān)系可以描述在清單文件中,其可以使用特定文件擴展名被存儲和標識,例如.mf、.xml和.m3u8。清單文件還可以描述一個或多個遞送節(jié)點上的不同段的位置和名稱(段標識符)??梢詮腃DN中的多于一個的遞送節(jié)點獲取段,特別是流行段。而且,在某些情形中,段應(yīng)當從另一個CDN域中的遞送節(jié)點獲取。將參照圖12和13更加詳細地描述該情形。CDNCF可以管理其中可以獲取段的位置。為此,CDNCF可以使用內(nèi)容位置數(shù)據(jù)庫622。在一個實施例中,內(nèi)容位置數(shù)據(jù)庫可以涉及資產(chǎn)位置功能(ALF) JBETSI TS 182 019中描述的那樣。
[0088]另外,⑶N可以包括遞送連續(xù)性節(jié)點(DCN) 613,其被配置成建立和管理與客戶端相關(guān)聯(lián)的流式傳輸控制信道并且維護包括客戶端和這些客戶端連接到的一個或多個遞送節(jié)點的數(shù)據(jù)庫。DCN可以包括遞送連續(xù)性管理功能(DCMF) 640。該功能可以執(zhí)行用于監(jiān)視源自⑶NCF的請求路由(RR)功能的通知的過程。DCN還可以包括用于監(jiān)視來自客戶端的信道建立請求并且與客戶端中的控制信道客戶端(CCCF)功能650建立流式傳輸控制信道的DCN中的控制信道服務(wù)器功能(CCSF) 641。
[0089]另外,在DCN中或與其相關(guān)聯(lián)的遞送連續(xù)性(DC)數(shù)據(jù)庫642可以存儲客戶端信息(例如其IP地址)和清單文件信息(即段標識符(例如文件名)和主控這些段的遞送節(jié)點的至少部分)。遞送連續(xù)性管理功能(DCMF)可以監(jiān)視源自⑶NCF或來自⑶N中的單獨的網(wǎng)絡(luò)監(jiān)視功能的網(wǎng)絡(luò)通知(例如(過)負載通知或故障通知)并且響應(yīng)于這樣的網(wǎng)絡(luò)通知的接收而開始清單文件更新過程。參照圖8描述關(guān)于DCN中的過程和功能的細節(jié)。
[0090]盡管在圖6中DCN中的功能(即DCMF和CCSF)被實現(xiàn)在不同的節(jié)點(DCN)上,但是在另外的實施例中,這些功能還可以完全地或部分地實現(xiàn)在包括CDNCF和攝取功能的CCN610 上。
[0091]圖7描繪了用于在根據(jù)本發(fā)明的實施例的內(nèi)容流式傳輸系統(tǒng)中使用的消息流。具體地,圖7描繪了用于在CDN類型內(nèi)容流式傳輸系統(tǒng)中使用的消息流,所述CDN類型內(nèi)容流式傳輸系統(tǒng)被配置成提供CDN中的一個或多個遞送節(jié)點與一個或多個客戶端之間的流式傳輸過程的網(wǎng)絡(luò)發(fā)起的控制。在該實施例中,⑶N可以包括至少第一和第二遞送節(jié)點(DN1、DN2)以及包括CDNCF、DCMF和CCSF的CCN,如參照圖6描述的。
[0092]圖7中的過程可以開始于用戶選擇去往網(wǎng)站上的視頻的鏈接,其中URL可以(例如通過重定向)指向清單文件(步驟700)。基于選擇,客戶端可以向CDNCF發(fā)送HTTP獲取請求以獲得清單文件(步驟701)。CDNCF可以通過向客戶端發(fā)送清單文件來對所述請求進行響應(yīng)(步驟702)。在這種情況中,基于來自負載平衡功能的信息,CDNCF可以選擇和/或生成包含對存儲在第一遞送節(jié)點DNl上的段的引用(例如段標識符和/或相關(guān)聯(lián)的位置信息)的清單文件。另外,⑶NCF記錄以下事實:它已經(jīng)向特定客戶端(由例如其IP地址定義)發(fā)送包含對特定一個或多個遞送節(jié)點(的集合)(在該示例中,遞送節(jié)點DNl)的引用的清單文件。為此,CDNCF可以存儲與視頻標題的至少部分相關(guān)聯(lián)的客戶端信息(例如客戶端的IP地址)和清單文件信息(例如清單文件標識符清單ID)以及主控被遞送連續(xù)性(DC)數(shù)據(jù)庫中的清單文件引用的段的特定一個或多個遞送節(jié)點(的集合)的位置信息以供未來使用(步驟
703)。
[0093]這里,清單文件標識符可以由數(shù)字標識并且遞送節(jié)點可以由⑶N中已知的遞送節(jié)點標識符標識。客戶端可以解析清單文件以獲得組成視頻的段的位置(例如URL)(步驟
704)。另外,客戶端中的CCCF可以使用清單文件中的信道建立信息以建立⑶N中的CCCF與CCSF之間的流式傳輸控制信道(步驟705a)(在CCCF與CCSF之間建立流式傳輸控制信道的過程參照圖2和3加以描述,并且在此不重復(fù))。
[0094]在流式傳輸控制信道的建立期間,CCSF可以通過使用存儲在DC數(shù)據(jù)庫中的信息來使信道建立請求與特定客戶端和一個或多個相關(guān)聯(lián)的遞送節(jié)點相關(guān)(步驟705b)。特別地,CCSF可以針對為其建立流式傳輸控制信道的客戶端(其中客戶端可以被例如其IP地址標識)而查詢DC數(shù)據(jù)庫并且向?qū)儆诳蛻舳说臄?shù)據(jù)庫條目分配唯一流式傳輸信道標識符或信道ID (例如端口號或在使用WebSocket的情況中,WebSocket ID)。這樣,CCSF能夠使特定客戶端-信道組合與特定的一個或多個遞送節(jié)點(的集合)和/或清單文件相關(guān)。
[0095]一旦流式傳輸控制信道被建立,客戶端可以通過向第一遞送節(jié)點DNl請求第一段(在這種情況中為segment_low-l)(如在清單文件中也被引用的)來開始流式傳輸過程(步驟706)。遞送節(jié)點DNl可以通過將請求的段流式傳輸?shù)娇蛻舳藖磉M行響應(yīng)(步驟707)。
[0096]在流式傳輸過程期間,在某個時間點處,⑶NCF (包括用于監(jiān)視⑶N中的遞送節(jié)點的負載的負載平衡功能或與其相關(guān)聯(lián))可以注意到第一遞送節(jié)點DNl上的負載接近(最大)閾值水平(步驟708)。CDNCF可以告知DCMF通過檢查存儲在DC數(shù)據(jù)庫中的信息來檢查哪些客戶端正在使用第一遞送節(jié)點DNl (步驟709)。DCMF然后可以決定將一些(或全部)客戶端離開第一遞送節(jié)點DNl而重定向到另一個、第二遞送節(jié)點DN2,使得降低第一遞送節(jié)點Dl的處理負載。為此,DCMF可以指示CCSF通過DCMF使用DC數(shù)據(jù)庫中的信息選擇的客戶端的流式傳輸控制信道而發(fā)送清單更新觸發(fā)(步驟710)。
[0097]當接收到清單更新觸發(fā)時,客戶端中的CCCF被觸發(fā)而通過向⑶NCF發(fā)送清單請求來請求新的或更新的清單文件(步驟711)(以如參照步驟701描述的類似的方式)。CDNCF可以接收清單請求并且針對客戶端而選擇或生成新的或更新的清單文件并且向客戶端發(fā)送該清單文件。
[0098]在一個實施例中,當生成新的或更新的清單文件時,CDNCF可以使用來自負載平衡功能的信息以便選擇新的遞送節(jié)點(同樣參見步驟702)。另外,新的或更新的清單文件可以包含去往存儲在第二遞送節(jié)點DN2上的段的鏈接。
[0099]在一個實施例中,清單更新觸發(fā)可以包括標識包括新的或更新的清單文件的另外的節(jié)點的位置信息,例如URL。在另一個實施例中,代替發(fā)送清單更新觸發(fā)以發(fā)信號通知客戶端獲取新的或更新的清單文件,新的或更新的清單文件可以直接經(jīng)由流式傳輸控制信道發(fā)送到客戶端。在更新的清單文件被發(fā)送回到客戶端之后,所述客戶端使用新的或更新的清單文件恢復(fù)來自第二遞送節(jié)點的段的流式傳輸(未示出)。
[0100]由于客戶端已經(jīng)接收到新的或更新的清單文件,⑶NCF可以通過執(zhí)行如參照703描述的步驟來更新與DC數(shù)據(jù)庫中的該客戶端相關(guān)聯(lián)的清單文件信息。這樣,如果在未來的某個時間點處出現(xiàn)過載問題,CDNCF可能能夠?qū)⒖蛻舳嗽俅沃囟ㄏ虻搅硪粋€遞送節(jié)點。
[0101]圖8描繪了與根據(jù)本發(fā)明的一個實施例的遞送連續(xù)性節(jié)點(DCN)相關(guān)聯(lián)的過程流。具體地,圖8提供了可以在如參照圖6描述的遞送連續(xù)性節(jié)點(DCN)上主控的一個或多個功能的概覽。DCN可以被配置成建立和管理與客戶端相關(guān)聯(lián)的流式傳輸控制信道并且維護列出客戶端和它們連接到的一個或多個遞送節(jié)點的表。在另一個實施例中,與DCN相關(guān)聯(lián)的功能中的全部或至少部分可以在CCN上主控(參見圖7、9、11和13)。
[0102]DCN可以包括遞送連續(xù)性管理功能(DCMF)。該功能可以執(zhí)行用于監(jiān)視源自⑶NCF的請求路由(RR)功能的通知的過程(步驟800)。無論何時⑶NCF向客戶端發(fā)送清單文件,或?qū)⒖蛻舳酥囟ㄏ虻教囟ㄟf送節(jié)點,CDNCF可以告知DCN客戶端預(yù)期從哪些遞送節(jié)點獲取段(即在發(fā)送到客戶端的清單文件中引用的遞送節(jié)點,或客戶端重定向到的遞送節(jié)點)。當接收到通知時,DCN可以將向發(fā)送到該客戶端的清單文件中引用的遞送節(jié)點的至少部分分配特定客戶端(由例如其IP地址標識)的條目添加到遞送連續(xù)性(DC)數(shù)據(jù)庫中(步驟801)。
[0103]另外,控制信道服務(wù)器功能(CCSF)可以監(jiān)視來自客戶端中的CCCF的信道建立請求(步驟802)。如果它接收到請求,它將開始基于適合的協(xié)議(例如WebSocket、SIP或XMPP)而建立流式傳輸控制信道的過程。
[0104]在流式傳輸控制信道的建立期間,CCSF可以針對為其建立流式傳輸控制信道的客戶端(其中客戶端可以被例如其IP地址標識)而查詢DC數(shù)據(jù)庫并且向?qū)儆诳蛻舳说臄?shù)據(jù)庫條目分配唯一流式傳輸信道標識符(例如端口號,或者在使用WebSocket的情況中,WebSocket ID)(步驟803)。DCMF然后可以執(zhí)行用于監(jiān)視例如來自⑶NCF、與⑶NCF相關(guān)聯(lián)的負載平衡功能(步驟804)或單獨的網(wǎng)絡(luò)監(jiān)視功能的網(wǎng)絡(luò)過載通知或故障通知的網(wǎng)絡(luò)通知的監(jiān)視過程。在一個實施例中,過載或故障通知可以包括關(guān)于CDNCF想要重定向的客戶端的數(shù)目的信息。
[0105]一旦DCMF從⑶NCF接收到這樣的通知(要么涉及在其自身的⑶N中的遞送節(jié)點要么涉及另一個CDN (未示出)中的遞送節(jié)點),它可以查詢DC數(shù)據(jù)庫以檢查預(yù)期從與過載或故障通知相關(guān)聯(lián)的遞送節(jié)點獲取段的客戶端(步驟805)。DCMF然后可以選擇要重定向的一個或多個客戶端(步驟806)(該選擇可以基于要重定向的客戶端的數(shù)目,如上文參照步驟804描述的那樣)。此后,DCMF可以查詢它的數(shù)據(jù)庫以便識別與所選客戶端相關(guān)聯(lián)的流式傳輸信道(使用例如流式傳輸信道標識符)并且通過這些信道中的每一個發(fā)送清單更新觸發(fā)。
[0106]DMCF還可以被配置成監(jiān)視源自客戶端的消息。在一個實施例中,DMCF可以通過流式傳輸控制信道向客戶端發(fā)送新的或更新的清單文件。
[0107]圖9描繪了用于在根據(jù)本發(fā)明的另一個實施例的內(nèi)容流式傳輸系統(tǒng)中使用的消息流。具體地,圖9示出了用于與類似于圖7的內(nèi)容遞送系統(tǒng)一起使用的消息流。然而在該實施例中,清單文件并不是通過CDNCF遞送到客戶端,而是通過遞送節(jié)點自身。為此,遞送節(jié)點(例如第一遞送節(jié)點DNl)可以包括僅包含對該遞送節(jié)點上的段的引用的清單文件。
[0108]圖9中的過程可以開始于用戶選擇去往網(wǎng)站上的視頻的鏈接,其中URL (例如通過從內(nèi)容提供商的重定向)指向⑶NCF的請求路由(RR)功能(步驟900)。在客戶端已經(jīng)向⑶NCF發(fā)送HTTP獲取請求(步驟901)之后,⑶NCF的RR功能可以基于例如從負載平衡功能獲得的信息而選擇適于向客戶端遞送請求的清單文件和相關(guān)聯(lián)的分段內(nèi)容的遞送節(jié)點。CDNCF然后可以向客戶端發(fā)送包含去往所選遞送節(jié)點(在該特定示例中,第一遞送節(jié)點DNl)上的清單文件的URL的HTTP重定向(REDIRECT)消息(步驟902)。
[0109]當重定向HTTP獲取請求時,⑶NCF可以將客戶端信息(例如客戶端的IP地址)和清單文件信息(例如與視頻標題的至少部分相關(guān)聯(lián)的清單文件標識符或清單ID,以及主控被清單文件引用的段的特定的一個或多個遞送節(jié)點(的集合)的位置信息)存儲在遞送連續(xù)性(DC)數(shù)據(jù)庫中以供另外的使用(步驟903)。這里,清單文件標識符可以由數(shù)字標識并且遞送節(jié)點可以由⑶N內(nèi)已知的遞送節(jié)點標識符標識。
[0110]當從⑶NCF接收到HTTP重定向消息時,客戶端可以向與第一遞送節(jié)點相關(guān)聯(lián)的重定向消息中的URL發(fā)送新的HTTP獲取消息(步驟904)。遞送節(jié)點DNl隨后通過向客戶端發(fā)送請求的清單文件進行響應(yīng)(步驟905)。
[0111]在已經(jīng)接收到清單文件之后,客戶端可以解析清單文件以獲得組成視頻的段的位置(步驟906)??蛻舳酥械腃CCF可以使用清單文件中的信道建立信息以建立CCSF與客戶端之間的流式傳輸控制信道(步驟907a)(建立信道的過程在圖2和3中描述并且在此不重復(fù))。
[0112]在流式傳輸控制信道的建立期間,CCSF可以通過使用存儲在DC數(shù)據(jù)庫中的信息來使信道建立請求與特定客戶端和相關(guān)聯(lián)的遞送節(jié)點相關(guān)(步驟907b)。特別地,CCSF可以針對為其建立流式傳輸控制信道的客戶端(其中客戶端可以例如由其IP地址標識)而查詢DC數(shù)據(jù)庫并且向?qū)儆诳蛻舳说臄?shù)據(jù)庫條目分配唯一流式傳輸信道標識符(例如端口號或,在使用WebSocket的情況中,WebSocket ID)。這樣,CDN中的功能可以檢查哪些客戶端/信道組合正在使用哪些一個或多個遞送節(jié)點(的集合)(例如在這種情況中,CDNCF可以檢查到特定客戶端正在使用第一遞送節(jié)點DNl并且已經(jīng)接收到特定清單文件)。
[0113]一旦流式傳輸控制信道被建立(如例如圖2和3中所描述的那樣),客戶端可以開始請求、接收和播出從第一遞送節(jié)點DNl獲得的段(步驟908)。在流式傳輸過程期間,在某個時間點處,CDNCF(其包括用于監(jiān)視CDN中的負載遞送節(jié)點的負載平衡功能或與其相關(guān)聯(lián))可以注意到第一遞送節(jié)點DNl上的負載達到預(yù)定(最大)閾值水平(步驟909)。⑶NCF然后可以觸發(fā)DCMF通過檢查存儲在DC數(shù)據(jù)庫中的信息來確定哪些客戶端與第一遞送節(jié)點DNl相關(guān)聯(lián)(步驟910)。基于該信息,DCMF可以決定將一些(或所有)客戶端重定向離開第一遞送節(jié)點DNl。
[0114]為此,它可以觸發(fā)CCSF通過這些客戶端的控制信道發(fā)送清單更新觸發(fā)(步驟911)。為了確保客戶端不從第一遞送DNl (作為默認)接收它們的更新的清單,清單更新觸發(fā)可以包括與新的或更新的清單文件相關(guān)聯(lián)的URL (指向例如第二遞送節(jié)點DN2)。清單更新觸發(fā)的接收用信號通知客戶端應(yīng)當請求新的清單文件。它然后可以發(fā)送對與清單更新觸發(fā)中引用的第二遞送節(jié)點DN2相關(guān)聯(lián)的URL的清單文件請求(步驟912)。第二遞送節(jié)點DN2可以通過向客戶端發(fā)送請求的清單文件來進行響應(yīng)。
[0115]當接收到該清單文件時,客戶端可以通過向第二遞送節(jié)點DN2而不是第一遞送節(jié)點DNl請求后續(xù)段來繼續(xù)流式傳輸過程(步驟913)。由于客戶端已經(jīng)接收到新的或更新的清單文件,CDNCF可以通過執(zhí)行如參照903描述的步驟來更新與DC數(shù)據(jù)庫中的該客戶端相關(guān)聯(lián)的清單文件信息。這樣,如果在未來的某個時間點中出現(xiàn)過載問題,CDNCF可能能夠?qū)⒖蛻舳嗽俅沃囟ㄏ虻搅硪粋€遞送節(jié)點。
[0116]因而,在圖9中描繪的實施例中,包括用于建立客戶端與CCSF之間的流式傳輸控制信道的信道建立信息的清單文件被存儲在其中存儲段的遞送節(jié)點處。該實現(xiàn)方式提供了以下優(yōu)勢:一些負載和⑶NCF的復(fù)雜度被卸載到遞送節(jié)點。在圖7中,⑶NCF主控和/或生成清單文件,使得在每次更新清單文件時,負載被添加到CDNCF。在某些實現(xiàn)方式中,例如在針對實時內(nèi)容的情況中,客戶端發(fā)起的清單更新可能相當常出現(xiàn),例如每30秒一次,從而大幅增加CDNCF上的負載。因而,通過將對客戶端發(fā)起的清單請求進行響應(yīng)的任務(wù)委托給遞送節(jié)點,可以實現(xiàn)CDNCF的相當大的負載降低。
[0117]圖10描繪了用于在根據(jù)本發(fā)明的又一實施例的內(nèi)容流式傳輸系統(tǒng)中使用的消息流。具體地,圖10描繪了類似于圖7的消息流,然而代替使DCN功能添加到CDNCF,DCN位于單獨的節(jié)點中。
[0118]圖10中的過程可以開始于用戶選擇去往網(wǎng)站上的視頻的鏈接,其中URL可以(例如通過重定向)指向在⑶NCF上主控的清單文件(步驟1000)并且客戶端傳輸HTTP獲取請求以從⑶NCF獲得清單文件(步驟1001)。⑶NCF可以通過向客戶端發(fā)送清單文件來對該請求進行響應(yīng)。在該示例中,基于從負載平衡功能獲得的信息,CDNCF可以選擇包含對存儲在第一遞送節(jié)點DNl上的段的引用的清單文件(步驟1002)。
[0119]⑶NCF可以向DCN、特別是DCN中的DCMF發(fā)送通知,指示特定客戶端(由例如其IP地址標識)已經(jīng)被提供有包括對特定的一個或多個遞送節(jié)點(的集合)的引用的新的或更新的清單文件(步驟1003)。DCMF可以將客戶端信息(例如客戶端的IP地址)和清單文件信息(例如與視頻標題的至少部分相關(guān)聯(lián)的清單文件標識符或清單ID,以及主控被清單文件引用的段的特定的一個或多個遞送節(jié)點(的集合)的位置信息)存儲在DC數(shù)據(jù)庫中以供未來使用(步驟1004)。這里,清單文件標識符可以由數(shù)字標識并且遞送節(jié)點可以由CDN內(nèi)已知的遞送節(jié)點標識符標識。
[0120]客戶端可以解析清單文件以獲得組成視頻的段的位置(例如URL)(步驟1005)。另夕卜,客戶端可以使用清單文件中的信道建立信息以建立到DCN的信道(步驟1006a)。(建立信道的過程在圖2和3中描述并且在此不重復(fù))。
[0121]在流式傳輸控制信道的建立期間,CCSF可以通過使用存儲在DC數(shù)據(jù)庫中的信息來使信道建立請求與特定客戶端和相關(guān)聯(lián)的一個或多個遞送節(jié)點(的集合)相關(guān)。特別地,CCSF可以針對為其建立流式傳輸控制信道的客戶端(其中客戶端可以例如由其IP地址標識)而查詢DC數(shù)據(jù)庫并且向?qū)儆诳蛻舳说臄?shù)據(jù)庫條目分配唯一流式傳輸信道標識符(例如端口號或,在使用WebSocket的情況中,WebSocket ID)。這樣,CDN中的功能(例如CDNCF、DCMF和CCSF)能夠使特定客戶端-信道組合與特定的一個或多個遞送節(jié)點(的集合)相關(guān)。
[0122]一旦建立流式傳輸控制信道,流式傳輸客戶端功能可以開始請求、接收和播出從第一遞送節(jié)點DNl獲得的段(步驟1007)。在流式傳輸過程期間,DCMF可以執(zhí)行用于監(jiān)視網(wǎng)絡(luò)通知(例如來自CDNCF、與CDNCF相關(guān)聯(lián)的負載平衡功能或網(wǎng)絡(luò)監(jiān)視功能的網(wǎng)絡(luò)過載或故障通知)的監(jiān)視過程。例如,在某個時間點處,包括用于監(jiān)視全部遞送節(jié)點的負載的負載平衡功能或與其相關(guān)聯(lián)的CDNCF可以注意到DNl上的負載達到預(yù)定(最大)閾值(步驟1008)。
[0123]⑶NCF然后可以向DCMF發(fā)送過載通知,其指示第一遞送節(jié)點DNl上的負載接近預(yù)定(最大)閾值。在一個實施例中,過載通知可以包括關(guān)于要重定向的客戶端的數(shù)目的信息(步驟1009)。DCMF可以通過檢查DC數(shù)據(jù)庫中的清單文件信息來確定正在使用第一遞送節(jié)點DNl的客戶端(步驟1010)。
[0124]DCMF然后可以選擇要重定向的客戶端并且觸發(fā)CCSF通過那些客戶端的流式傳輸控制信道發(fā)送清單更新觸發(fā)(步驟1011)。清單更新觸發(fā)的接收可以用信號通知客戶端通過以如參照步驟1001描述的類似的方式向CDNCF發(fā)送清單請求來請求新的清單文件(步驟1012)。
[0125]⑶NCF可以接收清單請求并且生成或選擇適于客戶端的新的清單文件(步驟1013)(例如通過咨詢負載平衡功能)。在這種情況中,所選清單文件可以例如包含去往存儲在第二遞送節(jié)點DN2上的段的鏈接。所選清單文件然后可以被發(fā)送到客戶端。當接收到新的清單文件時,客戶端可以通過向第二遞送節(jié)點DN2而不是第一遞送節(jié)點DNl請求后續(xù)段來繼續(xù)流式傳輸過程。
[0126]由于客戶端已經(jīng)接收到新的或更新的清單文件,其引用在不同遞送節(jié)點(即第二遞送節(jié)點DN2而不是第一遞送節(jié)點DNl)上主控的段,⑶NCF可以更新與客戶端相關(guān)聯(lián)的DC數(shù)據(jù)庫中的一個或多個條目。為了這樣做,⑶NCF可以向DCN中的DCMF發(fā)送通知客戶端已經(jīng)被提供有新的或更新的清單文件(以與參照步驟1003描述的類似方式)。在接收到通知之后,DCMF可以將客戶端信息和清單文件信息存儲在DC數(shù)據(jù)庫中(以與參照步驟1004描述的類似方式)。這樣,CDNCF能夠處理與第二遞送節(jié)點DN2相關(guān)聯(lián)的可能的另外的負載問題。
[0127]因而,圖10中描繪的實施例在單獨的網(wǎng)絡(luò)節(jié)點DCN上實現(xiàn)用于建立和管理流式傳輸控制功能的功能,使得對CCN中的CDNCF的所需改變非常有限并且可以重用現(xiàn)有CDNCF實現(xiàn)方式,從而限制在向CDN添加流式傳輸控制信道功能時所涉及的成本。另外,如果客戶端和相關(guān)聯(lián)的活動流式傳輸控制信道的數(shù)目增加,僅DCN的容量而不是整個CDNCF的容量需要升級。該實施例因此提供了用于管理與CDN相關(guān)聯(lián)的大數(shù)目的流式傳輸控制信道的可縮放的解決方案。
[0128]圖11描繪了用于在根據(jù)本發(fā)明的另外的實施例的內(nèi)容流式傳輸系統(tǒng)中使用的消息流。具體地,圖11示出了類似于圖7的消息流,然而代替使每個清單文件僅包括對單個遞送節(jié)點的引用,清單文件可以包含對多個遞送節(jié)點的引用。在該實施例中,CDNCF可以被配置成創(chuàng)建和主控清單文件。
[0129]該過程可以開始于用戶選擇去往網(wǎng)站上的視頻的鏈接,其中URL可以(例如通過重定向)指向清單文件(步驟1100)并且客戶端傳輸HTTP獲取請求以從CDNCF獲得清單文件(步驟1101)。已經(jīng)從客戶端接收到清單請求,CDNCF可以創(chuàng)建新的清單文件或者選擇包括對不同遞送節(jié)點上的段的引用的現(xiàn)有清單文件(1102)。例如在一個實施例中,清單文件可以包括對在第一遞送節(jié)點DNl上主控的低質(zhì)量段的引用,和對在第二遞送節(jié)點DN2上主控的高質(zhì)量段的引用。CDNCF可以使用與CDN中的遞送節(jié)點相關(guān)聯(lián)的負載信息(由負載平衡功能生成)和可選地客戶端的位置信息(例如IP地址)以便選擇最適于向客戶端遞送請求的段(的部分)的遞送節(jié)點。在這種情況中,清單文件可以包括對至少第一遞送節(jié)點DNl和第二遞送節(jié)點DN2的引用。
[0130]⑶NCF可以向客戶端發(fā)送清單文件(步驟1103)并且在DC數(shù)據(jù)庫中存儲將客戶端信息(例如其IP地址)和清單文件信息(例如客戶端的IP地址)和清單文件信息(例如與視頻標題的至少部分相關(guān)聯(lián)的清單文件標識符或清單ID,以及主控被清單文件引用的段的特定的一個或多個遞送節(jié)點(的集合)的位置信息,在這種情況中第一和第二遞送節(jié)點Dl和D2)(步驟1104)。這里,清單文件標識符可以由數(shù)字標識并且遞送節(jié)點可以由⑶N內(nèi)已知的遞送節(jié)點標識符標識。
[0131]客戶端可以解析清單文件以獲得組成視頻的段的位置(步驟1105)并且使用清單文件中的信道建立信息以建立客戶端與CCSF之間的流式傳輸控制信道(步驟1106a)。(建立信道的過程在圖2和3中描述并且在此不重復(fù))。
[0132]在流式傳輸控制信道的建立期間,CCSF可以通過使用存儲在DC數(shù)據(jù)庫中的信息來使信道建立請求與特定客戶端和相關(guān)聯(lián)的一個或多個遞送節(jié)點(的集合)相關(guān)。特別地,CCSF可以針對為其建立流式傳輸控制信道的客戶端(其中客戶端可以例如由其IP地址標識)而查詢DC數(shù)據(jù)庫并且向?qū)儆诳蛻舳说臄?shù)據(jù)庫條目分配唯一流式傳輸信道標識符(例如端口號或,在使用WebSocket的情況中,WebSocket ID)。這樣,CDN中的功能可以使特定客戶端-信道組合與特定的一個或多個遞送節(jié)點(的集合)相關(guān)。
[0133]一旦建立流式傳輸控制信道,客戶端可以通過請求、接收和播出源自第一和第二遞送節(jié)點的段來開始流式傳輸過程(步驟1107)。在流式傳輸過程期間,在某個時間點處,包括用于監(jiān)視CDN內(nèi)的遞送節(jié)點的負載的負載平衡功能或與其相關(guān)聯(lián)的CDNCF可以注意到第一遞送節(jié)點DNl上的負載達到或接近預(yù)定(最大)閾值(步驟1108)。⑶NCF然后可以觸發(fā)DCMF通過檢查DC數(shù)據(jù)庫中的清單文件信息來檢查哪些客戶端與第一遞送節(jié)點DNl相關(guān)聯(lián)(步驟1109)。DCMF然后可以確定哪些客戶端需要清單更新并且觸發(fā)CCSF通過那些客戶端的控制信道發(fā)送清單更新觸發(fā)(步驟1110)。
[0134]清單更新觸發(fā)可以發(fā)信號通知客戶端它需要通過向CDNCF發(fā)送清單請求(參見步驟1101)來請求新的或更新的清單文件(步驟1111)。CDNCF接收清單請求并且創(chuàng)建或選擇適于客戶端的新的清單文件(參見步驟1102)(步驟1012)。在這種情況中,新的或更新的清單文件可以例如用與主控相同段的另一個遞送節(jié)點DN (例如第三遞送節(jié)點DN3)相關(guān)聯(lián)的URL取代與第一遞送節(jié)點DNl相關(guān)聯(lián)的URL。與遞送節(jié)點DN2相關(guān)聯(lián)的URL不被取代,因為僅第一遞送節(jié)點DNl在變得過載的危險中。CDNCF可以向客戶端發(fā)送新的或更新的清單文件(步驟1113),其可以更新其(內(nèi)部)段列表并且通過請求在新的或更新的清單中列出的段來繼續(xù)流式傳輸過程。
[0135]由于客戶端已經(jīng)接收到新的或更新的清單文件,⑶NCF可以通過執(zhí)行如參照1104描述的步驟來更新DC數(shù)據(jù)庫中的與該客戶端相關(guān)聯(lián)的清單文件信息。這樣,如果在未來的某個點處出現(xiàn)過載問題,⑶NCF可能能夠?qū)⒖蛻舳嗽俅沃囟ㄏ虻搅硪粋€遞送節(jié)點。
[0136]因而,圖11中描繪的實施例提供了以下優(yōu)勢:被單個清單引用的段可以分布在多個遞送節(jié)點上,其中每個遞送節(jié)點僅主控所有段的子集。這樣的一個優(yōu)勢是其允許⑶N區(qū)分不同類型的段。在分段內(nèi)容中某些段比其它段更加流行(更常被請求)。例如在時間分段的視頻標題中,較早的段通常比較晚的段更常被請求。在另一個示例中,視頻標題可以具有涉及不同視頻質(zhì)量的段,其中一些質(zhì)量將比其它更流行。在這樣的情況中,CDN可能在比不太流行的段更多的遞送節(jié)點處主控更流行的段,從而提供附加的可縮放性和更高的效率。
[0137]圖12描繪了根據(jù)本發(fā)明的另一個實施例的內(nèi)容流式傳輸系統(tǒng)。具體地,圖12圖示了類似于參照圖6描述的系統(tǒng)的基于CDN的內(nèi)容遞送系統(tǒng)。然而,在該實施例中系統(tǒng)包括至少兩個互連的⑶N。具體地,內(nèi)容流式傳輸系統(tǒng)包括經(jīng)由⑶N互連接口 1264互連到至少第二⑶N 1204 (也稱作為下游⑶N)的第一⑶N 1202 (也稱作為上游⑶N),其中每個⑶N被配置成提供CDN中的一個或多個遞送節(jié)點與一個或多個客戶端之間的流式傳輸過程的網(wǎng)絡(luò)發(fā)起的控制。網(wǎng)絡(luò)發(fā)起的控制可以基于如參照圖2-5描述的流式傳輸控制信道功能而實現(xiàn)。
[0138]內(nèi)容遞送系統(tǒng)還可以包括經(jīng)由傳輸網(wǎng)絡(luò)600連接到主控客戶端1203的一個或多個終端1204的內(nèi)容源1201。內(nèi)容源可以涉及內(nèi)容提供商系統(tǒng)CPS、內(nèi)容準備系統(tǒng)或另一個CDN0 CPS可以被配置成CPS可以被配置成向消費者供應(yīng)內(nèi)容(例如視頻標題),消費者可以使用包括對流進行處理以供視頻播出功能1251播出的媒體流式傳輸功能1252的客戶端購買和接收內(nèi)容。
[0139]類似于圖6,CDN可以包括遞送節(jié)點1211、1212、1215和至少一個CCN 1210、1223。每個遞送節(jié)點可以包括控制器1230、1231、1234和用于存儲和緩存內(nèi)容的高速緩存1232、1233、1235或者與其相關(guān)聯(lián)。每個CCN可以包括用于控制來自外部源(例如內(nèi)容提供商或另一個⑶N)的內(nèi)容的攝取的攝取節(jié)點(或內(nèi)容起源功能,C0F) 1220、1223、用于維護關(guān)于內(nèi)容存儲在CDN內(nèi)的哪里的信息的內(nèi)容位置數(shù)據(jù)庫1222、1225和用于控制內(nèi)容的一個或多個副本到遞送節(jié)點的分發(fā)并且用于將客戶端重定向到合適的遞送節(jié)點(還稱為請求路由的過程)的⑶N控制功能(⑶NCF) 1221、1224或者可以與其相關(guān)聯(lián)。消費者可以通過向web入口(WP) 1261發(fā)送請求來從CPS 1260購買內(nèi)容,例如視頻標題,所述web入口 1261被配置成以與參照圖6描述的類似方式提供標識可購買的內(nèi)容項的標題引用。
[0140]⑶NCF可以管理其中可以使用內(nèi)容位置數(shù)據(jù)庫1222、1225來獲取段的位置。另外,⑶N可以包括遞送連續(xù)性節(jié)點(DCN) 1213、1216,其被配置成建立和管理與客戶端相關(guān)聯(lián)的流式傳輸控制信道并且維護包括客戶端信息和這些客戶端連接到的一個或多個遞送節(jié)點的清單文件信息。DCN可以被配置為獨立的DCN或集成在⑶NCF中。
[0141]DCN可以包括用于監(jiān)視源自⑶NCF的請求路由(RR)功能的通知的遞送連續(xù)性管理功能(DCMF) 1240、1243,監(jiān)視來自客戶端的信道建立請求并且與客戶端中的控制信道功能1250建立流式傳輸控制信道的控制信道服務(wù)器功能(CCSF) 1241、1244 ;以及,在DCN中或與其相關(guān)聯(lián)的遞送連續(xù)性(DC)數(shù)據(jù)庫1242、1245,其用于存儲客戶端信息(例如客戶端的IP地址)和清單文件信息(即段標識符(例如文件名)和與主控這些段的遞送節(jié)點的至少部分相關(guān)聯(lián)的位置信息(例如URL))。
[0142]DCMF可以監(jiān)視網(wǎng)絡(luò)通知,例如過載或故障通知,其源自⑶NCF的請求路由(RR)功能,CDN中的單獨的過載功能或網(wǎng)絡(luò)監(jiān)視功能,并且響應(yīng)于這樣的通知的接收而開始清單文件更新過程。以下將參照圖13更加詳細地描述清單文件更新過程的細節(jié)。
[0143]在圖12的內(nèi)容遞送系統(tǒng)中,上游⑶N可以將段到客戶端的遞送的部分外包給下游CDN0例如,在一個實施例中,低質(zhì)量段可以由第一 CDN A(被配置例如用于內(nèi)容到移動設(shè)備的遞送)定位和遞送并且高質(zhì)量段可以由第二⑶N B(被配置例如用于高質(zhì)量段到支持HDTV技術(shù)的家庭媒體設(shè)備的遞送)定位和遞送。
[0144]當向下游⑶N外包段的遞送的部分時,上游⑶N (或者具體地,上游⑶N的⑶NCF)可以開始用于生成包括對第一 CDN A中的一個或多個遞送節(jié)點的引用和對第二 CDN B中的一個或多個遞送節(jié)點的引用的清單文件的過程。這樣的清單文件可以稱作為CDN間清單文件。⑶N間清單文件還可以包括用于建立客戶端與上游⑶N A之間的流式傳輸控制信道的信道建立信息。
[0145]在生成⑶N間清單文件的過程期間,信息可以在⑶N之間經(jīng)由互連接口 1264進行交換。特別地,在⑶N間清單文件的生成期間,上游⑶N可以向下游⑶N請求關(guān)于外包給下游CDN的一個或多個段的位置信息。作為響應(yīng),下游CDN可以基于關(guān)于客戶端的上下文信息而選擇主控所請求的段的遞送節(jié)點。例如,下游CDN可以選擇在地理上最靠近客戶端的位置的遞送節(jié)點。該信息隨后被發(fā)送到上游⑶N的⑶NCF以用于生成⑶N間清單文件。因而,圖13中的內(nèi)容遞送系統(tǒng)被配置成動態(tài)地生成“個性化”CDN間清單文件。
[0146]一旦CDN間清單文件被生成和轉(zhuǎn)發(fā)到客戶端,客戶端中的控制信道功能可以使用⑶N間清單文件中的信道建立信息與上游⑶N的DCN中的CCSF建立流式傳輸控制信道以及開始請求并且播出段。
[0147]在流式傳輸過程期間,DCMF可以從⑶NCF接收網(wǎng)絡(luò)通知,例如(過)負載通知或故障通知,并且確定客戶端應(yīng)當被重定向到一個或多個其它的遞送節(jié)點。網(wǎng)絡(luò)通知可以涉及上游⑶N或下游⑶N中的網(wǎng)絡(luò)問題情形。在后一種情況中,下游⑶N的⑶NCF可以經(jīng)由互連接口 1264向上游⑶N的⑶NCF發(fā)送網(wǎng)絡(luò)通知。
[0148]圖13描繪了用于在根據(jù)本發(fā)明的再一實施例的內(nèi)容流式傳輸系統(tǒng)中使用的消息流。具體地,圖13示出了用于在如圖12中描繪的內(nèi)容遞送網(wǎng)絡(luò)中使用的消息流,其中清單文件可以包括對在與不同CDN相關(guān)聯(lián)的不同遞送節(jié)點上主控的段的引用。
[0149]該過程可以開始于用戶選擇去往網(wǎng)站上的視頻的鏈接,其中URL (例如通過重定向)指向在與第一⑶N A相關(guān)聯(lián)的第一⑶NCF上主控的清單文件(步驟1300)。該⑶N還可以稱作為上游CDN?;谶x擇,客戶端可以發(fā)送HTTP獲取請求以從CDN A的CDNCF獲得清單文件(步驟1301)。
[0150]在已經(jīng)從客戶端接收到清單請求之后,第一⑶NCF可以開始用于創(chuàng)建新的清單文件或者更新現(xiàn)有清單文件的過程,其中清單文件可以包括對與不同CDN相關(guān)聯(lián)的不同遞送節(jié)點上的段的引用(步驟1302)。例如,在一個實施例中,低質(zhì)量段可以由第一⑶N A (被配置例如用于內(nèi)容到移動設(shè)備的遞送)定位和遞送。該⑶N可以稱作為上游⑶N。另外,高質(zhì)量段可以由第二 CDN B(被配置例如用于高質(zhì)量段到支持HDTV技術(shù)的家庭媒體設(shè)備的遞送)定位和遞送。該⑶N可以被稱作為下游⑶N。包括至少對與第一⑶N A相關(guān)聯(lián)的第一遞送節(jié)點DNl和與CDN B相關(guān)聯(lián)的第二遞送節(jié)點DN2的引用的清單文件可以被稱作為CDN間清單文件。該⑶N間清單文件還可以包括用于在客戶端和與上游⑶N A相關(guān)聯(lián)的第一⑶NCF之間建立流式傳輸控制信道的信道建立信息。
[0151]在一個實施例中,⑶N間清單文件可以基于以下過程而生成,其中上游⑶N A的第一⑶NCF請求下游⑶N B的第二⑶NCF提供對應(yīng)該由⑶N B遞送到客戶端的預(yù)定數(shù)目的段的位置的引用。
[0152]第一⑶NCF然后可以向客戶端發(fā)送⑶N間清單文件(步驟1303)其中第一⑶NCF可以在與第一 CDNCF相關(guān)聯(lián)的DC數(shù)據(jù)庫中存儲與第一 CDN A相關(guān)聯(lián)的客戶端信息(例如其IP地址)和清單文件信息,其包括與視頻標題的至少部分相關(guān)聯(lián)的清單文件標識符或清單ID,以及主控被清單文件引用的段的特定的(一個或多個)遞送節(jié)點(的集合)的位置信息)以及與第二⑶N B相關(guān)聯(lián)的(一個或多個)遞送節(jié)點(的特定集合)(步驟1304)。這里,段可以由文件名標識并且遞送節(jié)點可以由遞送節(jié)點標識符標識。這里清單文件標識符可以由數(shù)字標識并且遞送節(jié)點可以由⑶N內(nèi)已知的遞送節(jié)點標識符標識。
[0153]因而,在⑶N間清單文件的生成期間,第一和第二⑶NCF之間的通信發(fā)生,使得-(盡管第二⑶NCF不知道⑶N間清單文件中的所有段)第二⑶NCF知道位于其一個或多個遞送節(jié)點(的特定集合)上的預(yù)定數(shù)目的段可能由客戶端在(不遠的)未來請求。因此,第二⑶NCF可以將包括下游⑶N中的遞送節(jié)點(在該示例中,第二遞送節(jié)點DN2)連同對上游⑶N (在這種情況中,第一⑶NCF)的引用的⑶N間信息存儲在與第二⑶N B相關(guān)聯(lián)的DC數(shù)據(jù)庫中,使得能夠利用這些遞送節(jié)點之一向第一 CDNCF通知任何網(wǎng)絡(luò)問題,例如負載或故障問題(步驟1305)。
[0154]客戶端可以解析⑶N間清單文件以便獲得組成視頻的段的位置(步驟1306)并且使用清單文件中的信道建立信息以建立第一 CDNCF與客戶端之間的流式傳輸控制信道(步驟1307)(建立信道的過程在圖2和3中描述并且在此不重復(fù))。
[0155]在流式傳輸控制信道的建立期間,與第一⑶NI相關(guān)聯(lián)的CCSF可以通過使用存儲在第一 DC數(shù)據(jù)庫中的信息來使信道建立請求與特定客戶端和相關(guān)聯(lián)的一個或多個遞送節(jié)點(的集合)相關(guān)(步驟1309)。特別地,CCSF可以針對為其建立流式傳輸控制信道的客戶端(其中客戶端可以例如由其IP地址標識)而查詢DC數(shù)據(jù)庫并且向?qū)儆诳蛻舳说臄?shù)據(jù)庫條目分配唯一流式傳輸信道標識符(例如端口號或,在使用WebSocket的情況中,WebSocketID)。這樣,第一⑶NI中的功能能夠使特定客戶端-信道組合與特定的一個或多個遞送節(jié)點(的集合)相關(guān)。在流式傳輸控制信道的建立之后,客戶端可以通過請求、接收和播出從與第一(上游)⑶N A相關(guān)聯(lián)的第一遞送節(jié)點DNl和與第二 (下游)⑶N B相關(guān)聯(lián)的第二遞送節(jié)點DN2 二者獲得的段來開始流式傳輸過程(步驟1308)。
[0156]在流式傳輸過程期間,在某個時間點處,監(jiān)視其自身的遞送節(jié)點的第二 CDNCF可以注意到網(wǎng)絡(luò)問題,例如在第二遞送節(jié)點DN2中的網(wǎng)絡(luò)故障或在第二遞送節(jié)點DN2上的負載達到或接近預(yù)定(最大)閾值(步驟1309)。然后,基于DC數(shù)據(jù)庫中的⑶N間信息,第二⑶NCF可以通過向第一⑶NCF發(fā)送網(wǎng)絡(luò)通知(例如(過)負載通知或故障通知)來向第一⑶NCF通知網(wǎng)絡(luò)問題。過載通知可以發(fā)信號通知第一⑶NCF對第二⑶N中的遞送節(jié)點的引用、特別是對CDN間清單文件中列出的遞送節(jié)點的引用的至少部分需要被更新(步驟1310)。
[0157]因而,當從第二⑶NCF接收到網(wǎng)絡(luò)通知時,第一⑶NCF觸發(fā)DCMF基于存儲在與第一⑶N A相關(guān)聯(lián)的DC數(shù)據(jù)庫中的清單文件信息而檢查已經(jīng)向哪些客戶端發(fā)送包含對第二遞送節(jié)點DN2的引用的CDN間清單文件(步驟1311)。DCMF然后可以確定哪些客戶端重定向并且觸發(fā)CCSF經(jīng)由需要被重定向的客戶端的控制信道發(fā)送清單更新觸發(fā)(步驟1312)。當接收到清單更新觸發(fā)時,客戶端將通過向第一 CDNCF發(fā)送清單文件請求(類似于步驟1301)來請求第一清單文件(步驟1313)。
[0158]第一 CDNCF接收清單請求并且將以如上文參照步驟1302描述的類似的方式與第二 CDNCF協(xié)作生成適于客戶端的新的或更新的清單文件(步驟1314)。例如,在一個實施例中,第二⑶NCF可以用去往主控相同段的另一個遞送節(jié)點(例如第四遞送節(jié)點DN4)的URL取代引用第二 CDN中的(幾乎)過載的遞送節(jié)點(在這種情況中,第二遞送節(jié)點)的URL,并且向第一⑶NCF發(fā)送這些引用。引用第一⑶N A中的遞送節(jié)點DNl的URL不被取代,因為對于該遞送節(jié)點,第一 CDNCF沒有接收到過載信令。
[0159]第一⑶NCF可以向客戶端發(fā)送更新的⑶N間清單文件(步驟1315),其可以基于更新的清單文件而更新它內(nèi)部的段列表并且通過請求來自新的清單中列出的URL的后續(xù)段來繼續(xù)流式傳輸。
[0160]由于客戶端已經(jīng)接收到新的或更新的清單文件,第一⑶NCF可以通過執(zhí)行如參照1304描述的步驟來更新DC數(shù)據(jù)庫中的與該客戶端相關(guān)聯(lián)的清單文件信息。另外,第二CDNCF可以以如參照步驟1305描述的類似方式更新與第二 CDN B相關(guān)聯(lián)的DC數(shù)據(jù)庫中的包括下游CDN中的遞送節(jié)點(在該示例中,第四遞送節(jié)點DN4)連同對上游CDN (在這種情況中,第一⑶NCF)的引用的⑶N間信息。這樣,如果在未來的某個點處出現(xiàn)⑶N B中的過載問題,第二⑶NCF可能能夠?qū)⒖蛻舳嗽俅沃囟ㄏ虻搅硪粋€遞送節(jié)點。
[0161]因而,圖13中描繪的實施例提供了以下優(yōu)勢:允許分段內(nèi)容分布在多個CDN上,其中每個CDN僅主控所有段的子集。該實施例提供了如參照圖11論述的相同類型的優(yōu)勢,然而在該情況中不同的遞送節(jié)點可以分布在多個CDN上。這樣的另外一個優(yōu)勢是其允許上游⑶N將一些工作負載外包給另一個下游⑶N。該實施例還允許使用專用⑶N。例如,在一個實施例中,第一 CDN可以被配置和優(yōu)化用于到移動設(shè)備的遞送、主控大多數(shù)較低質(zhì)量的段,而第二 CDN可以被配置和優(yōu)化用于到HD播出設(shè)備的遞送、主控大多數(shù)較高質(zhì)量的段。
[0162]在上文描述的CDN實施例中主張,代替向通過請求更新的或新的清單文件而進行響應(yīng)的客戶端發(fā)送更新清單觸發(fā),新的或更新的清單文件(的部分)可以經(jīng)由到客戶端的流式傳輸控制信道直接發(fā)送到客戶端。
[0163]圖14描繪了根據(jù)本發(fā)明的一個實施例的清單文件。具體地,圖14示出了包括對被配置成遞送段的特定集合的遞送節(jié)點的引用(例如URL)的清單文件的實施例。在該特定示例中,清單文件可以包括對段的兩個不同集合的引用,例如低和高比特率段,其與存儲在遞送節(jié)點處的相同內(nèi)容有關(guān)。清單文件還可以包括信道建立信息。在一個實施例中,信道建立信息可以包括提供對包括流式傳輸控制功能(或在CDN情況中,控制信道服務(wù)器功能)的網(wǎng)絡(luò)節(jié)點的引用的信道目標參數(shù)1400。另外,在另一個實施例中,信道建立信息可以包括信道參數(shù)1402,即由流式傳輸控制功能/控制信道服務(wù)器功能使用的參數(shù)。例如,在WebSocket的情況中,參數(shù)可以指WebSocket子協(xié)議的使用、WebSocket版本等。
[0164]應(yīng)該理解的是,與任何一個實施例有關(guān)地描述的任何特征可以單獨使用,或與所描述的其它特征組合,并且還可以使用在與任何其它實施例的一個或多個特征的組合或任何其它實施例的任何組合中。本發(fā)明的一個實施例可以實現(xiàn)為用于與計算機系統(tǒng)一起使用的程序產(chǎn)品。程序產(chǎn)品的一個或多個程序定義實施例(包括本文所描述的方法)的功能,并且可以包含在各種計算機可讀存儲介質(zhì)上。說明性計算機可讀存儲介質(zhì)包括但不限于:(i )其上永久存儲信息的非可寫存儲介質(zhì)(例如計算機內(nèi)的只讀存儲器設(shè)備,諸如CD-ROM驅(qū)動器可讀的CD-ROM盤,閃速存儲器、ROM芯片或任何類型的固態(tài)非易失性半導(dǎo)體存儲器);以及(ii )其上存儲可變信息的可寫存儲介質(zhì)(例如磁盒驅(qū)動器內(nèi)的軟盤或硬盤驅(qū)動器或任何類型的固態(tài)隨機存取半導(dǎo)體存儲器)。本發(fā)明不限于以上描述的實施例,其可以在隨附權(quán)利要求的范圍內(nèi)變化。
【權(quán)利要求】
1.用于實現(xiàn)對分段內(nèi)容從遞送節(jié)點到至少一個客戶端的流式傳輸?shù)木W(wǎng)絡(luò)發(fā)起的控制的方法,所述方法包括: 接收第一清單文件,其包括一個或多個段標識符和用于定位一個或多個內(nèi)容遞送節(jié)點的位置信息,所述一個或多個內(nèi)容遞送節(jié)點被配置成向所述至少一個客戶端發(fā)送與所述一個或多個標識符相關(guān)聯(lián)的一個或多個段; 向客戶端提供信道建立信息;以及, 優(yōu)選地響應(yīng)于在客戶端處接收所述第一清單文件,基于所述提供的信道建立信息,在所述至少一個客戶端和與所述遞送節(jié)點相關(guān)聯(lián)的控制信道服務(wù)器功能之間建立至少一個流式傳輸控制信道,所述至少一個客戶端被配置用于經(jīng)由所述流式傳輸控制信道接收至少一個清單文件更新消息。
2.根據(jù)權(quán)利要求1的方法,包括: 針對至少一個清單文件更新消息而監(jiān)視所述流式傳輸控制信道。
3.根據(jù)權(quán)利要求1或2的方法,包括: 檢測清單文件更新消息; 響應(yīng)于檢測到所述清單文件更新消息而獲取第二清單文件的至少部分;以及,可選地, 基于所述第二清單文件而請求段流或文件。
4.根據(jù)權(quán)利要求1-3中任一項的方法,其中所述信道建立信息的至少部分被提供給所述第一清單文件中的所述客戶端,優(yōu)選地,所述信道建立信息包括用于定位網(wǎng)絡(luò)中的所述控制信道服務(wù)器功能的服務(wù)器位置信息,優(yōu)選為至少一個URL。
5.根據(jù)權(quán)利要求1-4中任一項的方法,其中所述清單文件更新消息包括第二清單文件的至少部分或者其中所述清單文件更新消息包括用于定位和請求所述第二清單文件的至少部分的清單文件位置信息,優(yōu)選為至少一個URL。
6.根據(jù)權(quán)利要求1-5中任一項的方法,其中所述分段內(nèi)容基于流式傳輸協(xié)議、優(yōu)選為基于HTTP的流式傳輸協(xié)議或其派生物而被遞送到所述至少一個客戶端;和/或,其中所述流式傳輸控制信道基于WebSocket協(xié)議、SIP協(xié)議、XMPP協(xié)議和/或其組合而被建立。
7.用于實現(xiàn)對分段內(nèi)容從遞送節(jié)點到至少一個客戶端的流式傳輸?shù)木W(wǎng)絡(luò)發(fā)起的控制的方法,所述方法包括: 遞送清單文件,其包括一個或多個段標識符和用于定位一個或多個內(nèi)容遞送節(jié)點的位置信息,所述一個或多個內(nèi)容遞送節(jié)點被配置成向至少一個客戶端向所述至少一個客戶端發(fā)送與所述一個或多個標識符相關(guān)聯(lián)的一個或多個段; 接收對于在與所述一個或多個內(nèi)容遞送節(jié)點相關(guān)聯(lián)的控制信道服務(wù)器功能和所述至少一個客戶端之間建立流式傳輸控制信道的請求;以及, 建立所述至少一個流式傳輸控制信道,其中所述控制信道服務(wù)器功能被配置成向所述客戶端發(fā)送至少一個清單文件更新消息。
8.根據(jù)權(quán)利要求7的方法,其中所述一個或多個遞送節(jié)點的至少第一部分被配置為與第一內(nèi)容遞送網(wǎng)絡(luò)(CDNl)相關(guān)聯(lián)的第一遞送節(jié)點,所述第一內(nèi)容遞送網(wǎng)絡(luò)被配置成向所述客戶端遞送所述段的至少第一部分;和/或,所述遞送節(jié)點的至少第二部分被配置為與第二內(nèi)容遞送網(wǎng)絡(luò)(CDN2)相關(guān)聯(lián)的第二遞送節(jié)點,所述第二內(nèi)容遞送網(wǎng)絡(luò)被配置成向所述客戶端遞送所述段的至少第二部分。
9.根據(jù)權(quán)利要求7或8的方法,包括: 監(jiān)視一個或多個網(wǎng)絡(luò)參數(shù),優(yōu)選為與關(guān)聯(lián)于所述一個或多個遞送節(jié)點的過載、即將發(fā)生的過載、故障或網(wǎng)絡(luò)配置改變相關(guān)聯(lián)的所述一個或多個網(wǎng)絡(luò)參數(shù)中的至少一個; 在與所述網(wǎng)絡(luò)參數(shù)相關(guān)聯(lián)的一個或多個預(yù)定條件滿足的情況下,生成清單文件更新消息;以及, 向所述至少一個客戶端發(fā)送所述清單文件更新消息。
10.根據(jù)權(quán)利要求8或9的方法,包括: 確定與所述第一和/或第二遞送節(jié)點中的一個或多個相關(guān)聯(lián)的過載、即將發(fā)生的過載、故障或網(wǎng)絡(luò)配置改變; 識別從與所述確定的過載、即將發(fā)生的過載、故障或網(wǎng)絡(luò)配置改變相關(guān)聯(lián)的所述一個或多個第一和/或第二遞送節(jié)點獲取或預(yù)期獲取至少一個段的一個或多個客戶端; 確定與所述識別出的客戶端的至少部分相關(guān)聯(lián)的一個或多個流式傳輸控制信道;以及, 通過所述一個或多個流式傳輸控制信道向所述識別出的客戶端的至少部分發(fā)送清單文件更新消息。
11.根據(jù)權(quán)利要求10的方法,其中所述過載、即將發(fā)生的過載、故障或網(wǎng)絡(luò)配置改變的所述至少部分與屬于第二 CDN2的所述第二遞送節(jié)點的至少一個相關(guān)聯(lián),所述方法包括: 所述第二 CDN2向所述第一 CDNl發(fā)送過載、故障或網(wǎng)絡(luò)配置改變通知,所述通知包括與所述過載、故障或網(wǎng)絡(luò)配置改變相關(guān)聯(lián)的一個或多個第二遞送節(jié)點標識符。
12.一種用于使用在用于控制對從至少一個遞送節(jié)點發(fā)送的分段內(nèi)容的接收的內(nèi)容處理設(shè)備中的客戶端,所述第一遞送節(jié)點與第一控制信道服務(wù)器功能相關(guān)聯(lián),所述客戶端被配置用于: 向所述至少一個遞送節(jié)點發(fā)送對于遞送分段內(nèi)容的請求; 接收清單文件,其包括一個或多個段標識符和用于定位一個或多個內(nèi)容遞送節(jié)點的位置信息,所述一個或多個內(nèi)容遞送節(jié)點被配置成向所述至少一個客戶端發(fā)送與所述段標識符相關(guān)聯(lián)的一個或多個段; 被提供有信道建立信息;以及, 基于所述第一信道建立信息而在所述至少一個客戶端與所述第一控制信道服務(wù)器功能之間建立流式傳輸控制信道,所述至少一個客戶端被配置用于從所述第一控制信道服務(wù)器功能接收至少一個清單文件更新消息。
13.與用于實現(xiàn)對分段內(nèi)容從所述遞送節(jié)點到一個或多個客戶端的流式傳輸?shù)木W(wǎng)絡(luò)發(fā)起的控制的至少一個遞送節(jié)點相關(guān)聯(lián)的控制信道服務(wù)器功能,所述控制信道服務(wù)器功能被配置用于: 接收對于將分段內(nèi)容遞送到所述一個或多個客戶端的至少一個請求; 生成至少清單文件,其包括一個或多個段標識符和用于定位一個或多個內(nèi)容遞送節(jié)點的位置信息以及信道建立信息,所述一個或多個內(nèi)容遞送節(jié)點被配置成向所述一個或多個客戶端發(fā)送與所述段標識符相關(guān)聯(lián)的一個或多個段; 向所述一個或多個客戶端中的至少一個發(fā)送所述第一清單文件;以及, 參與在所述至少一個客戶端與所述控制信道服務(wù)器功能之間的至少第一流式傳輸控制信道的建立,所述建立基于所述信道建立信息;以及,可選地,所述控制信道服務(wù)器功能還被配置用于生成清單文件更新消息和/或用于經(jīng)由所述第一流式傳輸控制信道向所述客戶端發(fā)送所述消息。
14.根據(jù)權(quán)利要求13的控制信道服務(wù)器功能,其中生成所述至少一個清單文件包括: 提供一個或多個第一段標識符和用于定位第一內(nèi)容遞送網(wǎng)絡(luò)(⑶NI)中的一個或多個內(nèi)容遞送節(jié)點的第一位置信息; 向第二內(nèi)容遞送網(wǎng)絡(luò)請求一個或多個第二段標識符和用于定位所述第二內(nèi)容遞送網(wǎng)絡(luò)(CDN2)中的一個或多個內(nèi)容遞送節(jié)點的第二位置信息; 分別基于所述一個或多個第一和第二段標識符以及第一和第二位置信息的至少部分而生成所述清單文件。
15.一種數(shù)據(jù)結(jié)構(gòu),優(yōu)選為清單文件的至少部分,用于實現(xiàn)對分段內(nèi)容的流式傳輸?shù)木W(wǎng)絡(luò)發(fā)起的控制,所述數(shù)據(jù)結(jié)構(gòu)包括一個或多個段標識符和用于定位一個或多個內(nèi)容遞送節(jié)點的位置信息,所述一個或多個內(nèi)容遞送節(jié)點被配置成向所述客戶端發(fā)送與所述一個或多個段標識符相關(guān)聯(lián)的一個或多個段;所述數(shù)據(jù)結(jié)構(gòu)還包括所述信道建立信息的至少部分,優(yōu)選地所述信道建立信息包括與包括控制信道服務(wù)器功能的網(wǎng)絡(luò)節(jié)點相關(guān)聯(lián)的位置信息,優(yōu)選為一個或多個URL,所述控制信道服務(wù)器功能被配置成發(fā)起建立與所述客戶端的流式傳輸控制信道的過程。
16.一種包括軟件代碼部分的計算機程序產(chǎn)品,所述軟件代碼部分被配置用于當運行在計算機的存儲器中時,執(zhí)行根據(jù)權(quán)利要求1-11中的任一項的方法步驟。
【文檔編號】H04L29/06GK104137505SQ201280070832
【公開日】2014年11月5日 申請日期:2012年12月27日 優(yōu)先權(quán)日:2011年12月29日
【發(fā)明者】R.范布蘭登伯格, O.A.尼亞穆特, M.O.范德文特 申請人:皇家Kpn公司, 荷蘭應(yīng)用自然科學(xué)研究組織
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1