對多個內容分發網絡上的流媒體文件進行分區的制作方法
【專利說明】對多個內容分發網絡上的流媒體文件進行分區
[0001] 對相關申請的奪叉引用
[0002] 本申請要求于2012年10月17日提交的美國專利申請序列號13/645, 301的權益, 其全部內容通過引用合并于此。
【背景技術】
[0003] 發明的領域
[0004] 本發明的實施例一般涉及流媒體服務。更具體地,本發明的實施例涉及用于對容 宿于多個內容分發網絡上的流式媒體文件進行分區的技術。
[0005] 對相關技術的描述
[0006] 流媒體服務一般允許用戶通過數據通信網絡來消費點播媒體內容。服務提供商被 配置為存儲對用戶可用的媒體文件(或者"流(提供到媒體文件的訪問)。例如,流媒體 服務提供商可以使用各種分發網絡來容宿流媒體標題的庫。每個流可以提供由經記錄的視 頻捕獲的舞臺或實時事件、長片電影、電視節目、體育事件等等的數字版本。流也可以包括 專門為在線分發而創建的媒體內容。
[0007] 由客戶端設備執行的媒體回放通常被稱為"流送"是因為分發網絡之一被用于將 媒體文件的多個部分傳輸至客戶端設備,客戶端設備接著解碼并且發起回放而不用等待整 個流被接收。考慮到通信網絡內變化的延遲和帶寬,客戶端設備上的內容緩沖器將流的進 入部分排在隊列中實際上正被播放的部分之前。在(導致較低可用帶寬的)瞬時網絡擁塞 期間,較少的數據被添加到緩沖器,由于數據正被移出隊列以支持以某比特率進行的回放, 數據可能被排空。然而在瞬時高網絡帶寬期間,緩沖器被重新補充并且額外的緩沖時間被 添加,直到緩沖器再次基本被充滿為止。
[0008] 隨著高帶寬互聯網通信的可用性的增長,通過互聯網流送編碼的視聽(AV)節目 已變得流行。從技術的立場來看,各種不同的流媒體協議可用于向客戶端傳輸媒體流。盡 管這些協議中的許多被設計用于從服務器向諸如典型臺式PC或膝上型計算機、或家庭影 院PC(HTPC)之類的傳統計算系統傳輸媒體流,流送方式也正用于向(包括例如移動電話、 平板計算機和上網本計算設備、控制臺和手持視頻游戲系統、數字視頻記錄器(DVR)、DVD 播放器、連接的數字電視、以及專用流媒體設備(例如Roku?:機頂盒)等等的)最終用戶 客戶端設備傳輸流媒體。
【發明內容】
[0009] 本發明的一個實施例包括一種用于向客戶端設備提供流媒體標題的計算機實現 方法。該方法一般可以包括:從所述客戶端設備接收對所述流媒體標題的請求并且生成內 容分發網絡(CDN)偏好(preference)列表,該內容分發網絡(CDN)偏好列表針對多個CDN 中的每個包括到流媒體標題的一個或多個鏈接,并且以將媒體標題流送至客戶端設備的偏 好的順序對列表中的CDN進行排名。與CDN中的至少一個相關聯的排名至少部分地基于流 媒體標題的一個或多個特性,例如基于與所述流媒體標題相關聯的標題ID。
[0010] 其它實施例包括但不限于:包括指令的計算機可讀存儲介質,這些指令使得處理 器單元能夠實現所公開的方法的一個或多個方面;以及被配置為實現所公開的方法的一個 或多個方面的系統。
【附圖說明】
[0011] 從而以上面記載的本發明的特征能夠被詳細地理解的方式,通過參考(其中一些 在附圖中被示出的)實施例,可以獲得對上面簡要概括的
【發明內容】
的具體描述。然而要指 出的是,附圖僅示出了本發明的典型實施例,并且由于本發明可以許可其它等效的實施例, 因此附圖不應被理解為限制其范圍。
[0012] 圖1根據本發明的一個實施例示出了被配置為使用多個內容分發網絡(CDN)來向 客戶端設備提供流媒體內容的計算基礎設施。
[0013] 圖2根據本發明的一個實施例示出了被配置為容宿流媒體內容的內容分發網絡 的示例。
[0014] 圖3根據本發明的一個實施例示出了流媒體主機服務器的示例。
[0015] 圖4根據本發明的一個實施例示出了用于觀看流媒體內容的客戶端設備的示例。
[0016] 圖5根據本發明的一個實施例示出了用于觀看流媒體內容的計算系統的示例。
[0017] 圖6根據本發明的一個實施例示出了至少部分基于所請求的媒體內容的、對可用 于流媒體內容的多個CDN進行排名的偏好列表。
[0018] 圖7根據本發明的一個實施例示出了流媒體服務提供商響應于客戶端的請求來 流送媒體內容的方法。
[0019] 圖8根據本發明的一個實施例示出了客戶端從多個CDN中選擇要從其獲取流媒體 內容的一個⑶N的方法。
[0020] 圖9根據本發明的一個實施例示出了流媒體標題的曲線圖,其包括被分配給CDN 分區的標題組以及未被分配給CDN分區的標題組。
【具體實施方式】
[0021] 為了對媒體內容進行流送(stream),流媒體客戶端設備可以從多個內容分發網絡 (content distribution network,(DN)中選擇。例如,在訂戶已向服務提供商認證賬戶之 后,客戶端設備可以請求流送給定的媒體標題。作為響應,服務提供商可以向客戶端發送鏈 接的列表,這些鏈接指向不同CDN,從這些CDN可以獲得媒體內容。列表可以被排序,以指示 每個⑶N的偏好排名(preference ranking)。例如,服務提供商可以具有兩個⑶N的安排 以使得60%的流送流量由一個⑶N處理,剩下的40%由另一個處理。在這樣的情況下,提 供商可以生成這樣的偏好排名:該偏好排名對于60%的流送請求給予第一 CDN較高的偏好 并對于40%的流送請求給予第二CDN較高的偏好。隨后客戶端基于把偏好排名和客戶端對 CDN性能的測量進行組合來選擇CDN。在可選實施例中,每個CDN被與權重或概率相關聯, 并且客戶端根據這些概率來選出⑶N。
[0022] 注意,在此上下文中⑶N-般指在各種位置本地地連接到互聯網的計算服務器的 分布式網絡。即CDN是指以在連接性上與內容服務器的另一集群有實際的或潛在的區別的 方式連接到互聯網的一個或多個內容服務器的集群,以使得使用來自一個集群或另一集群 的服務器可造成流送客戶端的不同性能(performance)機會。服務器集群可以由提供流送 服務的單一實體操作(產生多個虛擬CDN),或者由多個服務提供商獨立操作。此外,這樣的 服務器集群可以由被稱為CDN或CDN提供商的商業實體操作,但不是必須的。
[0023] 使用不同CDN服務器集群的一個結果是,任何給定的標題位于一個CDN的邊緣服 務器的本地緩存器中的可能性和其位于另外的CDN的邊緣服務器的本地緩存器中的可能 性相同。即不同CDN中的邊緣服務器將趨向于緩存內容的相同子集。由于當內容在本地 緩存器中已經可用時,針對給定客戶端的CDN性能較高(并且因此用戶體驗質量可能也更 好),內容存在于CDN邊緣服務器的本地緩存器中是有利的。增加緩存命中的概率的一種方 法是提供大量的緩存存儲設備,但這種方式意味著額外的成本(以提供和操作額外的存儲 設備)。此外,由于CDN可以由第三方操作,流媒體服務提供商可能沒有對由給定CDN所管 理的硬件的直接控制權。
[0024] 本發明的實施例提供了用于增加緩存命中的概率、而不增加成本或者不同CDN的 內容緩存器的實際緩存器大小的技術,更具體的,本發明的實施例使用響應于內容請求而 被生成的⑶N偏好排名來對跨不同⑶N的流媒體內容進行分區(partitioning)。例如,流 媒體提供商可以確定媒體內容的固定子集,偏好將針對該子集被設定至給定CDN。這樣的分 區可以被稱為"軟(soft) "分區,因為情況可能是所有流媒體內容仍可從每個CDN獲得。即 對跨CDN的內容的分區可以不是絕對的,以使得任意內容項都可以被從任意CDN請求。這 樣做可以確保即使在針對給定內容項的優選CDN失效(或者只是遭受了一段時間的性能降 低、或針對特定用戶性能不佳)的情況下,內容仍保持可用。類似地,在偏好排名為每個CDN 提供概率的情況下,在每個CDN處存儲內容確保客戶端可以根據概率來選擇CDN。在其它情 況下,分區也可以被執行,以使得一些內容項在一些⑶N上是不可用的。例如,每個內容項 可以在恰好兩個CDN上是可用的。
[0025] 當向訂戶提供流內容的庫時,少量當時流行的標題可能占用由訂戶參與的流送活 動的主要部分。在一個實施例中,指定數目的流行內容項未被分配到CDN分區。即由于跨 CDN的多樣性對于可擴展性是可貴的,流行的標題沒有被分配到具體CDN的"軟"分區。這 樣做允許給定內容項保持可以從作為不同CDN而操作的各個服務器集群(無論是由流媒體 服務提供商操作還是以其它方式操作)獲得。同時,對分配給特定CDN分區的內容項的請 求被優選地從該分區供應。注意,項是否"流行"可以以許多方式來確定,例如基于當前被 認定為流行的項的明確規制列表、或者基于相對其它項給定內容項在最近時間段內已被請 求的頻率的試探測量。
[0026] 在下文的描述中,列出了眾多具體細節以提供對本發明的更透徹的理解。然而對 本領域技術人員來說是顯而易見的是,在沒有這些具體細節中的一個或多個的情況下也可 以實踐本發明。在其它實例中,為了避免模糊本發明,沒有描述已知的特征。
[0027] 此外,使用在用于通過數據通信網絡流送電影、音樂、電視節目等的個人計算機上 運行的web瀏覽器描述了本發明的特定實施例。然而應當理解,本發明可適用于流送使用 各種能感知/支持網絡的消費電子設備(例如DVD播放器、Blu-ray?·播放器、基于web的 接口、機頂盒、移動電話、游戲平臺、便攜式音樂播放器、家庭媒體系統等)流送訪問的視頻 服務。據此,包括對由Web瀏覽器運行的流媒體客戶端的引用是