準時分布式視頻高速緩存的制作方法
【專利說明】準時分布式視頻高速緩存
[0001]相關申請的交叉引用
[0002]本申請要求提交于2012年7月18日的第61/673,188號美國臨時申請的權益,其通過引用的方式整體并入于此。
技術領域
[0003]本發明總體上涉及改進網絡上的用戶體驗并且更具體地涉及優化網絡中的視頻高速緩存。
【背景技術】
[0004]移動設備、比如智能電話和寫字板近年來已經變得盛行。鑒于移動計算能力和深遠的無線因特網接入的發展,越來越多用戶在他們的移動設備上觀看流式視頻。經常從用戶用其移動設備訪問的各種源、以不同的質量、幀速率、幀大小和壓縮水平流式傳輸這些流式視頻。在許多情況下,在網絡上可用的視頻未被優化用于無線傳輸或者在移動設備上觀看并且對網絡條件一無所知地從源以給定的質量流式傳輸。例如未經優化的視頻可以在計算機監視器或者電視上具有足以向用戶提供良好的觀看體驗的質量水平。因而,未必大的帶寬部分可以用來在更小部分將足以提供在移動設備的更小顯示器上的等效用戶觀看體驗時流式傳輸未優化的視頻。
[0005]現有網絡提供商或者媒體源已經嘗試通過對流式視頻執行視頻優化來提高在視頻流式傳輸期間的帶寬使用。優化經常涉及到將源文件、比如視頻轉碼成與移動設備或者網絡提供商的系統的能力更接近地相配的格式。盡管優化確實提高帶寬使用而對如在移動設備上觀看的流式視頻的質量影響很小,但是優化過程通常在服務器開始轉碼過程時引起視頻流式傳輸和回放的延遲。這些延遲最終地引起對用戶的觀看體驗的不利影響,這可能導致用戶早期地停止視頻流式傳輸或者切換到另一流式傳輸站點。
【附圖說明】
[0006]公開的實施例具有將從【具體實施方式】、所附權利要求書和附圖中更容易地清楚的其它優點和特征。以下簡要介紹附圖。
[0007]圖1圖示用于優化的視頻高速緩存的示例通信環境的高級框圖。
[0008]圖2圖示能夠從機器可讀介質讀取指令并且在過程或者控制器中執行它們的示例機器的部件的一個實施例。
[0009]圖3A-3D是用于向用戶設備提供優化的視頻的示例事件蹤跡的實施例。
[0010]圖4圖示使用經高速緩存的首部的預測編碼的一個實施例的流程圖。
【具體實施方式】
[0011]附圖和以下描述僅通過示例涉及各種實施例。應當指出,根據以下討論,將容易地認識這里公開的結構和方法的備選實施例作為可以在未脫離這里討論的原理時運用的可行備選。
[0012]現在將具體參照若干實施例,在附圖中圖示這些實施例的示例。指出無論何時可行,相似或者相同標號可以在圖中被使用并且可以指示相似或者相同功能。附圖僅出于示例的目的而描繪公開的系統(或者方法)的實施例。本領域技術人員將從以下描述容易地認識可以運用這里所示結構和方法的備選實施例而未脫離這里描述的原理。
[0013]概述
[0014]網絡提供商和媒體源可以使用本地高速緩存作為用于提高向移動設備流式傳輸源文件、比如視頻的質量的方法。在由視頻優化器轉碼和優化源文件時,可以向本地高速緩存中保存源文件。本地高速緩存允許視頻優化器將轉碼的源文件(或者源文件的優化的版本)存儲短暫持續時間并且對用戶的請求做出響應(例如重放視頻或者在視頻的時間線中跳過)而無需重新取回源文件以用于轉碼。因此,本地高速緩存配置避免在單個會話期間為特定用戶反復地取回和轉碼特定文件。
[0015]然而通常在用戶結束會話之后不久從本地高速緩存清除轉碼的文件。清除出于兩個原因而發生:為了允許在為其他用戶轉碼期間本地高速緩存其它文件并且避免違反版權。后者源于視頻優化器存儲(和流式傳輸)不再從版權所有者可用的受版權保護的文件的優化的版本。這讓轉碼服務提供商面臨不想要的義務。即使未清除高速緩存的文件,用戶必須足夠幸運到被路由到在潛在數以千計的視頻優化器之中的已經高速緩存優化的源文件的特定視頻優化器。否則,用戶必須等待與先前已經從另一視頻優化器流式傳輸視頻的用戶相同的轉碼操作。
[0016]這里公開的實施例包括一種用于監測在許多視頻優化器出現的對優化的視頻的本地高速緩存的高速緩存數據庫。高速緩存數據庫維護與在給定的優化器本地高速緩存的每個優化的視頻對應的條目。又在用戶請求在視頻優化器優化源服務器上的給定的源文件時,高速緩存數據庫能夠向視頻優化器提供先前已經優化并且在其本地高速緩存中存儲給定的源文件的其它優化器的位置和地址。接收針對源文件的優化請求的優化器然后可以從另一優化器取回優化的文件或者將用戶設備重定向至第二優化器、因此消除對于生成冗余的優化的源文件的需要。通過訪問現有的優化的源文件而不是反復地轉碼相同源文件,需要更少視頻優化器以提供資源繁重的轉碼操作。
[0017]在一個示例實施例中,在用戶設備請求來自存儲多個源文件的始發服務器的源文件時,導引設備可以檢測請求并且截獲針對在網絡控制器處的處理的請求。網絡處理器能夠在網絡流穿越網絡時收集關于它們的數據從而將請求和其它數據重定向以優化網絡中的帶寬使用。在一個實施例中,網絡控制器檢查請求和有關流量(即網絡流)以確定關于源文件、網絡的狀態和用戶設備的信息。此外,網絡控制器可以向始發服務器轉發針對源文件的請求并且截獲始發服務器的響應以確定源文件是否對應于視頻。截獲的請求和/或響應可以包含視頻信息或者源文件本身的部分。
[0018]網絡控制器處理信息以確定是否轉碼請求的源文件并且確定用于為用戶設備轉碼源文件的優化參數。網絡控制器可以生成與原始源文件和優化的源文件二者唯一地關聯的標識符(ID)密鑰(例如基于指定的優化參數)。網絡控制器又可以將用戶設備重定向到視頻優化器。在一個實施例中,網絡控制器在向用戶設備傳輸的重定向請求內包括ID密鑰。備選地,網絡控制器可以向用戶設備被重定向到的視頻優化器傳輸ID密鑰。通過發送ID密鑰并且將用戶設備重定向到視頻優化器用于取回源視頻文件,用戶可以接收源文件的優化的版本而無直接輸入或者甚至不知道該過程出現。
[0019]為了消除對于重新轉碼已經轉碼的源文件的需要,視頻優化器可以查詢它的本地高速緩存和/或高速緩存數據庫,該本地高速緩存和/或高速緩存數據庫存儲與在向高速緩存數據庫報告的視頻優化器上存儲的源文件的優化的版本對應的參考ID密鑰。如果參考ID密鑰與用于請求的源文件的ID密鑰匹配,則可以向用戶設備提供源文件的現有的優化的版本。重要的是,ID密鑰唯一地標識源文件和優化的源文件二者。如果有對源文件的任何改變,則無參考密鑰將與生成的ID密鑰匹配并且將取回和轉碼新的源視頻文件。因此,例如如果源文件的版權所有者修改源文件,則向用戶設備僅提供如當前從版權所有者可用的源文件的優化的版本。將源文件的優化的版本與用于請求源文件的用戶設備的指定的優化參數進行匹配保證向用戶設備提供適當地優化的版本(因為可以有多于一個優化的版本、例如用于寫字板顯示器大小的優化的版本有別于移動電話或者3G連接速度的優化的版本有別于3G連接的優化的版本)。
[0020]在一個實施例中,先前尚未轉碼或者基于指定的優化參數轉碼源文件,因此滿足用戶設備的需要的、源文件的優化的版本在視頻優化器中的任何視頻優化器上不存在。因而,ID密鑰不會與高速緩存數據庫中的任何參考密鑰匹配。高速緩存數據庫將高速緩存未命中指示返回到用ID密鑰查詢高速緩存數據庫的視頻優化器,該高速緩存未命中指示提示視頻優化器從始發服務器取回源文件并且開始轉碼和流式傳輸源文件到用戶。一旦在視頻優化器中高速緩存優化的源文件的至少一部分,則視頻優化器可以用與優化的源文件的現在在視頻優化器本地高速緩存的部分對應的條目更新高速緩存數據庫。在一個實施例中,視頻優化器提交從網絡控制器接收的ID密鑰以用于在高速緩存數據庫中存儲為新參考密鑰,該新參考密鑰唯一地標識源文件和源文件的在視頻優化器的本地高速緩存中存儲的優化的版本的參數。可以讓用與用于源文件的相同部分的存儲的參考密鑰匹配的ID密鑰查詢高速緩存數據庫的其它視頻優化器參考源文件的在視頻優化器的本地高速緩存中存儲的現有的優化的版本而無需重新轉碼源文件的相同部分。
[0021]在另一示例實施例中,源文件先前已經被另一優化器轉碼,并且具有希望的參數的優化的版本被存儲在其它優化之一的本地高速緩存中。高速緩存數據庫將高速緩存命中指示發送到用ID密鑰查詢高速緩存數據庫的視頻優化器。高速緩存命中響應指示第二視頻優化器具有帶參考密鑰的源文件的優化的版本,該參考密鑰與它的本地高速緩存中的ID密鑰中的指定的優化參數匹配。在一個實例中,優化器可以請求來自第二優化器的優化的源文件,該第二優化器已經本地存儲源文件的優化的版本。第一優化器然后可以向用戶設備轉發優化的視頻用于回放。在另一實例中,第一優化器可以向用戶設備發送重定向。重定向使該用戶設備連接到存儲源文件的優化的版本的第二視頻優化器。重定向可以包括第二優化器在網絡上的位置和生成的ID密鑰。在這一實例中,第二優化器通過向用戶設備直接流式傳輸源文件的優化的版本來做出響應。
[0022]在一些實例中,許多用戶可以頻繁地請求流行的源文件。響應于對于該特定源文件的增加的需求,視頻優化器可以請求復制源文件的在第二優化器上存在的優化的版本。通過在第一優化器中存儲頻繁地請求的源文件的優化的版本,第一優化器能夠與第二優化器共享對于源文件的請求負載、因此減少第二優化器上的負擔。益處是兩個優化器能夠賦予源文件的相同的優化的版本并且能夠更快地響應針對源文件的請求而仍然處理其它源文件優化請求。
[0023]優化的視頻高速緩存環境
[0024]現在參照圖1,它圖示用于優化的視頻高速緩存的示例通信環境100的高級框圖。環境100包括用戶設備IlOA和IlOB(統稱為用戶設備110)、始發服務器170、導引設備130、網絡控制器140、視頻優化器150、高速緩存數據庫160和網絡120。網絡120是在用戶設備110、導引設備130和始發服務器170和/或視頻優化器150之間傳輸數據的通信網絡。在一個實施例中,網絡120包括無線網絡和因特網。
[0025]必須平衡希望防止資本開支超過收入的網絡效率策略與來自消費者的對于日益依賴于更高數據使用的更佳用戶體驗的需求。如今,移動運營商正在運用多種工具以管理容量、包括數據使用上限、W1-Fi分流和智能優化。環境100示范這樣的解決方案,該解決方案向統一基礎提供深入會話智能、綜合服務管理和用于與任何服務賦予相配的動態可適配性。網絡控制器140和視頻優化器150 —起遞送一種世界級媒體優化解決方案,該媒體優化解決方案給無線運營商帶來外科手術式容量優點以及向因特網服務提供商帶來比備選解決方案更佳的峰值容量節省。
[0026]在一個實施例中,用戶設備110是具有網絡能力的計算設備。經常例如用戶設備110是具有web瀏覽器和媒體顯示能力的具有無線功能的移動計算設備。作為移動計算設備的用戶設備110可以包括膝上型計算機、上網本計算機、寫字板、智能電話或者個人數字助理(PDA)。盡管在圖1中圖示僅兩個用戶設備I1A和110B,但是環境100可以包括數以千計或者數以百萬計的這樣的設備。Web瀏覽器可以是在移動設備110上運行的用于從始發服務器170取回包括web內容的源文件并且在耦合到移動設備的顯示器上呈現web內容的軟件應用。用戶設備110訪問的多媒體web內容可以包括文本、圖像、音頻和視頻內容。源文件可以包括一個或者多個類型的多媒體web內容。多媒體內容可以由瀏覽器、例如HTML5兼容瀏覽器、插件或者