新四季網

可變速率媒體傳送系統的製作方法

2023-09-24 04:27:45 2


技術領域:
:本發明總體涉及媒體內容傳送。
背景技術:
::可以推行在本部分中描述的方法,但這些方法並非一定是先前已經設計或推行的方法。因此,除非本文另外指出,在本部分中描述的方法不是本申請中的權利要求的現有技術,並且不允許通過包含在本部分中而成為現有技術。這些年來,視頻內容在網際網路上的傳送已得到發展。從內容伺服器到客戶端計算機的視頻傳送的最初應用受到技術和帶寬容量的限制。必須明顯減小視頻文件的大小,以適應電話線的低帶寬。必須在可以向用戶播放視頻文件之前將低解析度視頻內容作為整體下載至客戶端計算機。這是由於文件系統限制(在文件系統利用文件之前,其需要下載整個文件)和僅具有重放整個文件的能力的視頻播放器軟體的原因。這迫使用戶忍受等待完全下載視頻文件的長時延遲。當下載內容時,創建私人文件格式和視頻播放器軟體以允許用戶觀看視頻內容。在下載完成且用戶觀看到視頻內容之後,保存或刪除該文件。該方法由於帶寬限制、伺服器負載或網絡延遲而非常容易出現下載延遲。由於視頻播放器軟體缺乏重放的視頻內容,所以必須周期性地停止視頻內容的重放。開發了一種更複雜的方法,該方法將視頻內容傾注至視頻播放器軟體。傳送系統通常針對每個視頻內容標題具有單比特率視頻文件。單比特率視頻文件被分配給所有用戶,而不管它們的帶寬是否可用。通過迫使用戶觀看具有比合理帶寬低的質量的視頻內容,來懲罰具有比正常帶寬高的帶寬的用戶。在用戶能夠重放視頻內容之前,緩衝一定量的視頻內容。緩衝器足夠大,以支持一定量的視頻內容來掩蓋由帶寬限制、伺服器負載或網絡延遲所導致的視頻內容傳送中的小延遲。較長的傳送延遲(典型地,為幾秒或更長)由不穩定的最後一英裡帶寬導致。傳送延遲會使視頻播放器軟體無內容可播,並導致視頻播放器軟體停止視頻內容的重放,直到傳送重新開始且充分填充緩衝器為止。附圖說明在附圖的圖中,通過實施例但不限於實施例示出了本發明,其中,相同的參考標號指的是相同的元件,其中:圖1示出了根據本發明的可行實施方式的在網絡間與客戶端系統、原始伺服器、同位體MFD以及中心管理站相通信的媒體流導向器(MFD);圖2示出了根據本發明的可行實施方式的MFD部件和數據流架構的實施例;圖3示出了根據本發明的可行實施方式的動態地確定內容部分的流行度(popularity)的實施例;圖4示出了根據本發明的可行實施方式的代替傳統的視頻伺服器網站的MFD配置;圖5示出了根據本發明的可行實施方式的向客戶端系統傳送內容的MFD網絡;圖6示出了可以在其上執行一可行實施方式的計算機系統;圖7示出了根據本發明的可行實施方式的HPE和伺服器側播放器之間的工作流程的流程圖;圖8a示出了根據本發明的可行實施方式的磁碟管理器與策略模塊和分析模塊之間的相互作用;圖8b示出了根據本發明的可行實施方式的磁碟管理器與用於存儲裝置的詞典之間的相互作用;圖8c示出了根據本發明的可行實施方式的磁碟管理器與反向塊映射(reverseblockmap)之間的相互作用;圖9示出了根據本發明的可行實施方式的緩衝池與緩衝管理器之間的相互作用;圖10a示出了根據本發明的可行實施方式的媒體管理器、緩衝管理器和媒體提供商之間的相互作用;圖10b示出了根據本發明的可行實施方式的媒體管理器與用於確定熱門視頻片段的分析模塊之間的相互作用;圖11示出了根據本發明的可行實施方式的MFD中的網絡管理器的流程圖;圖12示出了根據本發明的可行實施方式的容器文件中的漸近式下載提示軌道位置;圖13示出了根據本發明的可行實施方式的參數說明畫面的圖形用戶界面屏幕截圖;圖14示出了根據本發明的可行實施方式的實時字節傳送監控圖的圖形用戶界面屏幕截圖;圖15示出了根據本發明的可行實施方式的網絡連接性能監控圖的圖形用戶界面屏幕截圖;圖16示出了根據本發明的可行實施方式的在網絡間與客戶端系統相通信的媒體流導向器(MFD);圖17示出了根據本發明的可行實施方式的MFD在網絡中的應用。圖18示出了根據本發明的可行實施方式的向MFD傳送視頻文件的發布系統(publishingsystem);圖19示出了根據本發明的可行實施方式的製備視頻文件以由MFD傳送的預處理引擎;圖20示出了根據本發明的可行實施方式的可由MFD使用的文件格式的實施例;圖21示出了根據本發明的實施方式的內部文件結構。具體實施方式描述了一種可變速率媒體傳送系統。在以下描述中,為了解釋的目的,闡述了許多具體細節以提供對本發明的充分理解。然而,對於本領域的技術人員來說將顯而易見的是,在沒有這些具體細節的情況下也可以實踐本發明。在其他情況中,以框圖的形式示出了眾所周知的結構和裝置,以避免不必要地使本發明模糊。本文中,按照以下提綱描述實施方式:1.0總體概述2.0結構和功能概述2.1網絡上的適應性內容傳送2.1.1媒體流導向器架構2.1.2媒體流導向器布置2.2網絡上的可變速率媒體傳送2.2.1平滑流架構2.2.2不同比特率之間的過渡2.2.3網絡中的媒體流導向器2.2.4準備平滑流文件3.0實現機制——硬體概述4.0實施例5.0擴展和變形總體概述本概述給出了本發明的可行實施方式的一些方面的基本描述。應當注意,該概述不是可行實施方式的方面的廣泛或徹底的總結。此外,應當注意,該概述並非旨在被理解為確定可行實施方式的任何具體的重要方面或元件,也並非旨在被理解為具體地描述可行實施方式的任何範圍(具體地,並非旨在大體上為本發明)。該概述僅提出了一些與壓縮且簡化的形式的實施例的可行實施方式相關的概念,並且其應被理解為,僅是以下實施例的可行實施方式的更詳細描述的概念上的序言。描述了一種可變速率媒體傳送系統。在其他實施方式中,本發明包含計算機設備和被配置為執行所述步驟的計算機可讀介質。在以下文本中,視頻內容和視頻數據被用作媒體內容和媒體數據的實例,但是,這些實例不限於視頻內容,還可以包括其他類型的媒體內容和媒體數據,例如,音頻、多媒體表現、放映幻燈片等。該系統通過傳送適於變化的比特率的媒體數據來適應伺服器和客戶端之間的比特率變化。在實施方式中,視頻數據被發送以匹配伺服器和客戶端之間的帶寬。客戶端和伺服器之間的帶寬是不斷改變的。在某一時間點,存在這樣的比特率,在該比特率時,必須針對視頻來傳送視頻數據,使得該視頻由客戶端的視頻播放器連續重放而沒有暫停或中斷。該系統確保客戶端視頻播放器不會沒有數據。可自動地檢測伺服器和客戶端之間的帶寬,並且通過伺服器將帶寬映射至適當的視頻比特率。客戶端視頻播放器被提供有穩定的視頻數據流。不使時標折衷,但傳遞至客戶端的數據的量可以改變以與可用的帶寬相匹配。如此,重放的視頻的質量也可以改變。客戶端播放器始終播放相同量的數據;只有視頻的質量改變。伺服器在用戶和客戶端視頻播放器看不到任何中斷的情況下而在視頻比特率之間進行無縫地切換。在可行實施方式中,為了阻止對峰值或谷值過快地產生影響,伺服器可以在具有明顯的下降或增加時切換比特率。唯一可注意到的變化是所播放的視頻的質量。標準的視頻播放器可以用來與伺服器對接。可行的實施方式經由漸進式下載方法而向用戶提供視頻流體驗。在另一可行實施方式中,視頻播放器可以通過使用控制信號或命令與伺服器通信來使能伺服器的其他特徵(例如,特殊再現特徵/比特率自適應)、或通過提供關於客戶端側資源(例如,CPU使用/存儲)的信息而具有與伺服器相通信的智能。特殊再現是這樣一種特徵:允許用戶在當前流動的視頻上使用流命令(諸如快進、倒帶、幀步進、暫停等)來控制其媒體重放體驗。在另一可行實施方式中,可以稍微改進視頻播放器,以能夠向伺服器發送告知伺服器視頻播放器已暫停的控制信號或命令。暫停通知使伺服器暫停對視頻播放器的漸進式下載。這釋放了伺服器的部分帶寬,並使伺服器處理其他下載。描述了一種適應性網絡內容傳送系統。參考圖1,可行實施方式提供了媒體流導向器(MFD)103。MFD是可以經由HTTP、FTP、流動或其他協議而將網絡104上的視頻內容(以及各種大小的其他類型的文件內容,例如,媒體(音頻、圖片等)、遊戲、軟體、HTML、腳本等)有效地傳送至多個客戶端101a、101b、101n的網絡裝置。視頻內容包括這樣的內容,如特徵長度電影、情景喜劇、各種演出、脫口秀、新聞節目、廣告等。客戶端裝置101a、101b、101n可以是個人計算裝置(諸如臺式機或筆記本電腦、機頂盒、手持計算裝置、手機、可攜式媒體播放器)或能夠顯示多媒體內容的任何其他可攜式裝置,並且它們還可以通過任何適當的接口而耦接至網絡104。MFD103將視頻內容存儲在各種存儲裝置(包括HDD、SSD、RAM、非易失性存儲器等)中的內部。MFD103可以將視頻傳送至許多個客戶端同時對每個客戶端保持高水平的觀看體驗。MFD103通過測量客戶端的最後一英裡的比特率變化,而自動地適應傳送至客戶端101的視頻的比特率。MFD向客戶端提供平滑的視頻觀看而沒有緩衝停頓。其確保了通過使用自適應性比特率將漸進視頻傳送至客戶端。MFD動態地適應視頻的比特率,以匹配有效的最後一英裡帶寬,並適應於改變客戶端的網絡條件。MFD可以動態地測量到客戶端的最後一英裡帶寬,以動態地調節比特率。客戶端不需要定製的視頻內容播放器來與MFD通信。MFD支持工業標準視頻播放器,諸如Flash、Quicktime、SilverLight、WindowsMediaPlayer等。MFD103對可以由消費者以及MFD提供商所定義的視頻的存儲和傳送提供策略控制。MFD可以以各種方式配置在網絡104上,包括在邊緣高速緩存位置或原始伺服器位置。網絡104可以由在通信系統中的裝置之間提供數據交換的任何介質或機制來實現。網絡104的實施例包括但不限於諸如區域網(LAN)、廣域網(WAN)、乙太網、內聯網、網際網路的網絡,或者一個或多個陸地、衛星或無線連接。MFD103通過任何適當的通信接口(例如,乙太網或無線通信埠)而與網絡104通信。可選地或附加地,連接至網絡104的任意數量的裝置還可以通過通信鏈路而彼此直接相連接。例如,當客戶端101請求並未由MFD103存儲在其存儲器中的URL內容時,MFD103可以經由網絡104或經由區域網從原始伺服器102請求內容,以獲得URL內容。另外,MFD103可以經由網絡104或經由區域網與另一MFD105通信,以獲得URL內容、MFD內容信息、MFD狀態等。中心管理站106可以用來允許管理員設置用於MFD管理(例如,高速緩存管理、帶寬限制、內容流行度確定等)的策略。中心管理站106還允許管理員管理將內容存儲在MFD內的多個存儲裝置中的哪個地方以及如何存儲該內容。中心管理站106可以經由區域網通信,或經由網絡104連接至MFD103、105。管理員登錄中心管理系統106,並選擇管理員希望與其相互作用的一個MFD或一組MFD。管理員可以定義策略,並通過中心管理站106將策略發送至MFD或推送至多個MFD。可選地,MFD可以周期性地或者當由中心管理站通知MFD可利用更新時而接觸中心管理站106。2.0結構和功能概述2.1網絡上的適應性內容傳送2.1.1媒體流導向器架構圖2示出了說明被構造成一個MFD以傳送視頻內容的內容傳送開關的架構的可行實施方式。以下描述了該架構中的部件。輸出協議引擎210輸出協議引擎210處理來自客戶端的請求。客戶端向MFD發送請求,以與客戶端連接,例如,HTTP獲得對特定URL的請求,輸出協議引擎210被認為是針對請求向伺服器側播放器201傳遞URL內容。伺服器側播放器201伺服器側播放器201主要負責每個視頻流的特定視頻邏輯的封裝和執行。當針對視頻流向MFD進行請求時,這種執行可以出現在入站側,或者,當特定視頻流正前往用於傳送時,這種執行可以出現在出站側。伺服器側播放器201解釋從輸出協議引擎210接收的URL,決定哪個比特率將用於所請求的視頻內容,處理將發送什麼視頻內容,以及從哪裡播放視頻(從視頻內的哪個幀開始流動)。伺服器側播放器201注意比特率,並知道其嘗試服務的視頻內容的比特率。其可以使用從最優化網絡堆棧211獲得的信息,以找出哪個有效帶寬用於最後一英裡中的客戶端。伺服器側播放器201還可以批准請求。在可行實施方式中,被嵌入URL中的查詢字符串的帶符號的散列關鍵字(hashkey)用來驗證請求已批准。伺服器側播放器201提供確定的比特率和服務質量(QoS)特徵。如果客戶端必須緩衝,則這意味著,MFD的傳送速率已經落後,並且客戶端已經歷沒有要播放或顯示的內容的死周期。在一個可行實施方式中,伺服器側播放器201計算已將多少數據發送至客戶端以及已經過去了多長時間。伺服器側播放器201跟蹤發送至每個客戶端的數據的量以及正發送到每個客戶端的視頻內容的比特率。當每個客戶端被發送一定量的數據時,伺服器側播放器201記錄所發送的數據的量以及自從發送最後量的數據開始已經過去的時間的量。可選地,伺服器側201可以記錄發送至客戶端的數據的總量以及在客戶端的對話期間已過去的時間的總量。通過使用所記錄的信息,伺服器側播放器201可以計算其在對特定客戶端的傳送上是否已落後。例如,如果伺服器側播放器201已經以一定的比特率向客戶端發送30秒的數據,並且,自從最後的數據傳輸開始已經過去了31秒,則伺服器側播放器201知道其已經落後。在另一可行實施方式中,伺服器側播放器201計算其需要向客戶端傳送多少更多的數據以及必須在其中傳送數據以避免客戶端側上的緩衝的時間窗。該計算與之前的實施例稍微不同。伺服器側播放器201知道視頻文件的大小,並由此可以計算保持被發送至客戶端的數據的量。給定視頻文件的比特率和總大小,伺服器側播放器還可以計算其必須傳送剩餘量的數據的時間的大小。伺服器側播放器201可以計算針對其建立的一個任務所需設置的截止時間,以向客戶端傳送視頻文件的一個片段。MFD是基於任務的系統,其可以使用基於截止時間的調度。為了避免客戶端緩衝,伺服器側播放器201在其建立的任務中設置截止時間。在可行的實施方式中,伺服器側播放器201計算確定的流速(AFR)值(如下所述)。AFR是確保平滑的觀看體驗所需的傳輸速度。伺服器側播放器201使用AFR值來設置用於其建立的任務的截止時間,以從緩衝管理器203請求數據。伺服器側播放器201計算AFR,並且輸出協議引擎210基於AFR來管理每個連接上的傳輸速度,並設置任務截止時間,使得可以滿足AFR。在以上實施例中,伺服器側播放器201嘗試保持在AFR的前面,並且如果例如,伺服器側播放器201已經發送30秒的數據並且自從最後一次傳輸開始已經過去了30秒,就會知道其已經落後,伺服器側播放器201立即知道其已經落後。在可選實施方式中,伺服器側播放器201可以掃描媒體文件,以設置媒體文件的AFR。伺服器側播放器201知道,一定質量或解析度的媒體文件需要一定的傳輸速度,以確保客戶端將不會停止。伺服器側播放器201還處理擦除請求(為了決定將來做什麼)、自動解碼以及廣告插入。與不知道視頻文件格式或視頻內容是什麼的典型的文件伺服器相反,伺服器側播放器201是知道視頻的。當伺服器側播放器201在視頻已經開始之後改變比特率時,伺服器側播放器201已經知道相關聯的幀存在於不同比特率版本中的哪個地方,因此,伺服器側播放器201可以輕鬆地改變比特率,而無需客戶端必須為了新比特率而發送不同的偏移量。一個可行實施方式以可被自動解碼成其所需要的任一比特率的定製格式來存儲視頻內容。這使伺服器側播放器201精確地知道相關聯的幀在哪裡用於每個比特率自動解碼。另一可行實施方式對特定的視頻內容存儲幾個不同的比特率版本。伺服器側播放器201存儲每個比特率版本的索引表,因此,伺服器側播放器201可以快速地查閱一個表以找到用於新比特率視頻的相關聯的幀。伺服器側播放器201可以執行在視頻流中插入廣告。廣告可以覆蓋地放在視頻流中。這使得廣告插入與客戶端播放器無關。可以動態地創建內容,例如,可以快速地進行副標題語言選擇,並可以快速地覆蓋適當的副標題。伺服器側播放器201可以將廣告拼接在視頻的中間部分中(被稱作中間加載)。伺服器側播放器201還可以用另一信道重寫(overwrite)視頻的語音信道,以提供多語言支持,而不用必須存儲不同版本的視頻內容。在一個可行實施方式中,伺服器側播放器201提供兩個接口,它們均由輸入協議引擎209中的HTTP協議引擎(HPE)接入。北向接口:其用作這樣的北向接口,其中,通過伺服器側播放器201檢查由HPE解析的每個進入請求,以通過其特定用戶邏輯來使請求生效。一旦檢查到請求並執行必需的參數,請求就被發回至HPE,使得其可以對緩衝管理器203(以及此後的其他提供商)針對內容進行有效的請求。南向接口:其用作這樣的南向接口,其中,將所有傳出數據發送至伺服器側播放器201以在傳送之前進行檢查。這是最後一個位置,在該位置,伺服器側播放器201可以在為了傳送而發出內容之前執行任何的限制。伺服器側播放器201在該階段具有這樣的能力:在將由緩衝管理器203返回的數據緩衝發出之前如果需要,則可以對其進行修改。圖7示出了HPE和伺服器側播放器201之間的工作流程的可行實施方式。執行以下步驟:步驟1:在已經建立連接之後,用戶請求通過最優化網絡堆棧211而到達HPE701。步驟2:HPE701進行最小的解析,以得到查詢字符串和名稱/值對。步驟3:然後,HPE701用查詢字符串啟動對伺服器側播放器201的調用。步驟3a:伺服器側播放器201可以起到使與視頻無關的文件通過的作用,但是本質上為安全存取文件等的除外,諸如由客戶端播放器請求的那些文件。步驟4:對於每個新連接的每個第一調用,伺服器側播放器201將查詢字符串重新映射至指向元文件的內部URL。該元文件存儲所存在的簡檔(profile)的數量、其速率、時間周期,以及視頻的其他信息。步驟5:伺服器側播放器201將所重新映射的URL返回至HPE701,並且還設置了這樣的標記,其向HPE701指出不在線上發送所返回的元文件,而是將被元文件返回至伺服器側播放器201用於進一步的處理。步驟6:HPE701建立任務以從高速緩存中讀取元文件。HPE701接收元文件並使其返回至伺服器側播放器201。步驟6a:伺服器側播放器201將元文件中的信息存儲在用於該連接的套接字結構(socketstructure)中。元文件信息被存儲在高速緩存中作為該讀取的結果,以在未來快速查看。步驟7:一旦元文件中的信息位於套接字結構中,伺服器側播放器201現在便可以用轉換邏輯插件704重新映射原始URL。轉換邏輯插件704(進行尋找和速度適應)使用存在於套接字連接中的伺服器側播放器201結構中的信息,以進行向不同簡檔/組塊的必需轉換。步驟8:伺服器側播放器201返回所重新映射的URL,並在HPE701中重新設置標記,以表明其準備好讀取並在線上發送從高速緩存檢索的數據。步驟9:將查詢字符串傳遞至伺服器側播放器201。伺服器側播放器201檢查其是否已位於套接字結構中。步驟10:如果已位於其中和/或如果用於時間偏移的名稱/值對不是最小的(存在表示擦除或尋找的時間偏移或字節偏移),則伺服器側播放器201調用轉換邏輯,以重新映射至適當的URL,並且,伺服器側播放器201調用HPE701,以讀取/傳遞數據。步驟11:如果查詢字符串中的名稱/值對是最小的(沒有表示擦除或尋找的時間偏移或字節偏移),那麼從步驟4開始重複。調度器202調度器202使用由調用者設置的截止時間,以組織任務的調度。可以存在調度器202管理的幾十萬個任務。調度器保持由截止時間組織的任務。調度器202監控該任務,以查看是否有哪個任務已經錯過其截止時間。這告訴調度器202MFD已經落後。調度器向伺服器側播放器201發送反饋,以告訴伺服器側播放器傳送速度已經落後。調度器202可以發送諸如錯過截止時間的任務的任務ID和時間大小的信息。在一個可行實施方式中,如果調度器202確定其無法滿足所請求的任務的截止時間,則其可以拒絕接收用於新連接的任務。這是確保沒有過度提交(over-commit)MFD資源並且現有連接平滑地播放的許可控制的部件。類似地,執行任務的所有部件(例如,緩衝管理器、磁碟管理器和原始管理器)可以查看其內部資源承諾,並使新連接的第一任務無法成為拒絕接受對話的方式。伺服器側播放器201可以識別哪些任務與每個客戶端相關聯。其可以通過使用上述計算而計算其有多晚向客戶端傳送視頻內容,並相應地調節後續任務的截止時間。然後,伺服器側播放器201可以停止接收新連接。在一個可行實施方式中,伺服器側播放器201可以基於策略設置而降低一些現有連接的比特率,以接收另外的連接。這些方法使伺服器側播放器201動態地測量其性能,因此,其不需要對客戶端連接的數目設置靜態的上限。假設伺服器側播放器處理很多不同的比特率,則連接數目的固定上限不代表MFD的實際容量,因此,動態上限可以更有效,並允許MFD自己決定其是否可以處理更多或更少的連接。一個可行的實施方式執行截止時間調度,其中,每個任務狀態可以具有多個截止時間隊列。每個截止時間隊列可以與固定的時間周期(例如,1/10ms組塊)相對應。調度器202可以使具有最短截止時間的隊列退棧。任務處理器在起始時間通過調度器202而被預先記錄。它們始終是不阻塞的。阻塞處理器為另一組線程並在下面進行了描述。在一個可行實施方式中,任何任務切換均不包括線程上下文切換。向線程池放出阻塞任務。無論何時存在待完成的任務,來自線程池的一個線程都將服務該任務。在這一點上,調度器202已經推開阻塞任務。因此,將不阻止其他任務。調度器以WRR(加權輪詢)方式檢查相關的隊列(狀態/截止時間隊列)。其通過調用預先記錄的任務處理器來分派任務。調度器202通過保持跟蹤過去的時間並使相關隊列退棧,來根據截止時間進行調度。截止時間調度不是嚴格的實時。截止時間是對調度器202的建議,即,在另一個任務之前需要對特定任務進行調度。調度器202使得能夠進行不同類型的線程。這些線程為任務線程、I/O線程、事件線程和網絡線程。這些列舉的線程並不限制可以執行的線程的數量和類型。任務線程為任務執行的主要引擎。調度器202為開始例程。其基於優先管理來執行分派查看。當沒有任務運行時,這些線程阻塞。I/O線程用來執行阻塞線程(例如,磁碟管理器206中的磁碟I/O)。它們可以對讀/寫調用進行阻塞。事件線程為異步的,並將網絡事件映射至任務狀態變化。網絡線程執行用戶空間網絡堆棧,並通常不會阻塞讀取。專用線程用於AFR的定時器的定標和管理。可選地,可以通過使用調度器線程上的任務來執行網絡活動。磁碟管理器206磁碟管理器206管理分布在多個磁碟驅動器上的對象,而不管大小、數量和類型如何。還參考圖8a,磁碟管理器206從策略模塊801(PM)和分析模塊802(AM)獲得關於對象位置的提示。媒體管理器204可以與PM801相互作用,以幫助其決定如何將視頻分配到片段中,並且還確定何時判斷視頻的一部分是熱門的(如下所述)。媒體管理器204還可以與AM802相互作用。AM802基於統計信息來確定哪些視頻部分是熱門的,這些統計信息覆蓋了由媒體管理器204所提供的視頻部分點擊。存儲在磁碟管理器206中的對象最可能是相關的視頻,但也可以是任何視頻。由於視頻對象以連續的方式被消費,所以對象的磁碟布局特別適合於視頻對象。對於較小的對象,磁碟管理器206執行特殊的壓縮,因此,許多連續的小對象可以以時序的順序而被緊密地壓縮在一起。在小對象是較大的視頻在時序中的大塊部分時,這是非常適用的。該壓縮使磁碟管理器206將磁碟驅動器的讀取性能最優化,因為其讀取少量數據所花費的時間大約與其讀取1MB至2MB數據所花費的時間相同。在另一實施方式中,磁碟管理器206可以使能多種用於壓縮對象的策略。除了基於時間的位置以外,磁碟管理器還可以支持基於名稱結構或其他定製方案內的位置的壓縮。還參考圖8c,磁碟管理器206可以使用反向塊映射(RBM)805,以始終如一地讀取大塊806(甚至在存在小對象時)。塊大小被設置為允許從磁碟驅動器有效地讀取的特定大小,例如,1MB、2MB等。對於每個塊,磁碟管理器206保持RBM805中的一列範圍,其中,每個範圍為對象的相鄰部分。在該實施例中,RBM805列出具有相關範圍807至812的塊806。注意,對於較小的對象,多個小對象本身或較小對象的一部分可以適合於一個塊,並且它們可以一起被讀入高速緩衝存儲器。當磁碟管理器206接收用於對象的特定部分的請求時,其將這個塊定位在特定部分所在的位置。然後,其將整個塊讀入由緩衝管理器203提供的高速緩衝存儲器813中。使用RBM805,磁碟管理器206能夠將正確身份(UOL)分配給每個緩衝器(如下所述)。這允許緩衝管理器203隨後消耗額外的數據,而不進行任何附加的IO。在實施方式中,磁碟管理器206針對存儲在MDF中的所有對象而在RBM中建立入口。當從原始伺服器加載一個對象時,磁碟管理器206可以針對該對象而在RBM中建立入口。磁碟管理器206解決了許多類型的磁碟控制器和磁碟驅動器,包括SATA、SAS、SSD和快閃記憶體。每個驅動器類型具有不同的大小和性能特徵。如此,磁碟管理器206將改變每個驅動器類型的數據布局,以使能磁碟空間的最佳性能和利用。為了自調節驅動器類型和控制器的變化,磁碟管理器206在啟動時執行簡短的帶寬測試,因此,磁碟管理器可以對其在開放硬體框架內看到的大量配置進行分類。管理員可以配置磁碟管理器206,以將來自原始伺服器的內容存儲在硬碟驅動器上或存儲在高速緩存中。管理員可以指定:在磁碟管理器206將內容存儲在硬碟驅動器或高速緩存上之前,磁碟管理器206將內容存儲在第一命中(hit)上或任何特定數量的命中上。這允許管理員關於任何已知或可預測的需求而靈活地調節所高速緩存的內容。可選地,可以由內部分析來驅動磁碟管理器206如何存儲內容。由於例如管理員知道節目的新情節將是有需求的,所以管理員可以命令磁碟管理器206將特定的新內容存儲在硬碟驅動器上。通過磁碟管理器206執行逐出策略(evictionpolicy)。可以將內容從硬碟驅動器或高速緩存去除,以基於由管理員或用戶定義的逐出策略而為新內容騰出空間。在一個可行實施方式中,可以基於分析算法(例如,使用最近使用的(LRU)算法或其衍生算法)而內部地獲得逐出策略。用戶可以在MFD中安裝足夠大的存儲容量,使得可以不再通過用戶的內容來填充存儲空間。為了實現該目標,用戶可以期望使其內容在硬碟驅動器的最快區域中,並稀疏地位於硬碟驅動器中。然後,用戶可以具有一組專用於其最熱門的內容的MFD(具有稀疏地填充的硬碟驅動器),並具有高速緩存其不太流行的內容的另一組MFD。管理員可以指定MFD上的某些硬碟驅動器保持由稀疏地用最熱門的內容來填充,而MFD上的其他硬碟驅動器用於所有其他的內容。這允許用戶執行特定MFD的有效存儲方案。還參考圖8b,磁碟管理器206將每個裝置對待為獨立的高速緩存模塊。與文件系統類似,每個裝置上的元數據和數據包括分開的且獨立的存儲。然而,與傳統的文件系統不同,命名層級在所有模塊上是公共的,其中,將給定的名稱與邏輯設備(文件系統)綁定。例如,如果將傳統的文件系統安裝在/a/b/c,則該目錄下的所有對象將位於該文件系統中。相反,磁碟管理器206能夠將/a/b/c/one.gif、/a/b/c/two.gif、以及/a/b/c/three.gif存儲在高速緩存裝置803a、803b、803c中的任一個中,並且其進行管理。在初始放置(以及對負載平衡重新定位)的過程中,磁碟管理器206在其基於每個裝置而保持的使用統計的基礎上選擇裝置來存儲對象。在查找(以服務STAT任務)的過程中,磁碟管理器206確定哪些裝置具有對象,並再次基於使用統計選擇一個裝置。這允許放置對象或其一部分,並由與其名稱無關的任何高速緩存模塊服務。磁碟管理器206能夠通過在使用統計的基礎上放置對象(並動態地將其重新定位),而從每個裝置中將帶寬最優化。在一個實施方式中,磁碟管理器206在每個裝置的讀寫吞吐量方面保持跟蹤每個裝置流量。在初始放置和重新定位的過程中,其選擇具有最少量流量的裝置。在另一實施方式中,其使用隊列深度(重要請求的數量)和平均等待時間作為流量的測量。靈活的放置導致了在高速緩存裝置之間的線性定標。在一個實施方式中,磁碟管理器206針對每個高速緩存裝置803a、803b、803c將詞典804a、804b、804c高速緩存在RAM中。詞典804a、804b、804c由存儲在該裝置803a、803b、803c中的對象的樹與關於對象的少量元數據一起組成。這允許磁碟管理器206非常有效地回答STAT查詢,而不會導致任何磁碟IO。磁碟管理器206提供簡單的故障恢復模型。單個高速緩存裝置的故障僅導致包含在該高速緩存裝置中的對象遺失。其對其他高速緩存裝置的性能沒有影響。有故障的高速緩存裝置可以被替換(在線,針對支持熱交換的硬體系統)並被重新配置為新的高速緩存模塊。在一個實施方式中,磁碟管理器206還可以選擇性地複製多個高速緩存裝置中的對象,以得到更好的故障恢復和性能。在一個實施方式中,關於視頻的所有信息均自包含在每個驅動器內,使得可以在MFD之間移動驅動器。隨著時間的過去,磁碟管理器206詢問分析模塊802,以在驅動器之間自動地移動整部電影或剪輯,和/或將其移動至SAS磁碟803的驅動器中的內部或外部軌道。磁碟管理器206提供媒體管理器204所必需的數據,以使高速緩存層級內的各層之間的對象升級和降級。內容的初始放置可以取決於來自分析模塊802和/或策略模塊801的數據。磁碟管理器206選擇將讀取性能最優化的數據布局,甚至針對小對象。磁碟管理器206可以避免影響大多數文件系統的性能的存儲殘片問題。無論什麼時候已在該塊中釋放可配置的空間量,其都通過回收全部塊來這樣做。例如,如果用64個32KB的對象填充2MB的塊,並且刪除一半的對象(例如,基於逐出),則磁碟管理器206便可以釋放整個塊。通過磁碟管理器206使用RBM以邏輯上刪除或重新定位剩餘的對象。視頻信息可以包括:壓縮/未壓縮的視頻數據、應用所需的視頻屬性(標題信息),以及幫助內部操作所需的視頻屬性(高速緩存期滿、高速緩存起始時間)。當去除和增加驅動器時,磁碟管理器206重新調節高速緩存內容。其還適度地處理來自物理介質的運行時間誤差。在同一系統上一起支持SAS、SATA、SSD和快閃記憶體驅動器。磁碟管理器206允許多個驅動器高水平地並行。一個可行實施方式允許用介質預先加載高速緩存,可服務該介質直到特定的日期和/或時間為止。智能高速緩存硬碟驅動器作為高速緩存而操作得不好,當硬碟驅動器被用作高速緩存並且其正高速緩存幾百、幾千或甚至幾萬個視頻時,最終結果是隨機輸入/輸出(IO)圖案。MFD將有意思的內容放在硬碟驅動器的相同區域中,因此,MFD可以執行大讀取以補償帶寬,例如,對於低帶寬連接,MFD在一次讀取中可以讀取30秒的視頻,並將其存儲在RAM或SSD中的高速緩存中(或根據所服務的連接的數量以及這些連接的帶寬考慮,而在硬碟驅動器上緩衝)。這使得對客戶端傳送該高速緩存,並且客戶端在30秒的時間內不需要其下一次IO。SSD用於更頻繁地存取的內容,或用於需要不能有效地從硬碟驅動器服務的更小的隨機IO的內容。流行度索引用於一部分內容,以確定一個部分是否是熱門的。對於視頻,人們可能不觀看整個視頻,並且視頻的某些部分可能比其他部分更熱門,因此高速緩存最熱門的內容部分。這使得MFD在其高速緩存時更智能。例如,MFD不用必須高速緩存整個視頻流。MFD動態地計算內容部分的流行度。參考圖3,當MFD測量視頻流的存取時,動態地確定視頻的熱門部分的邊界。在一個可行實施方式中,伺服器側播放器201使用邏輯組塊方法來動態地確定哪部分是視頻的熱門部分。例如,伺服器側播放器201可以使用幀標識符,諸如嵌入在視頻幀中的時間標籤或存儲器地址位置中。可以通過伺服器側播放器201利用針對視頻流所創建的偏移量的表格來獲得幀標識符。偏移量的表格可以由系統在接收視頻流時創建,或者可以由內容提供商創建,內容提供商在接收視頻流時被加載至系統中。對於不同比特率的視頻流,可以存儲多個表格。伺服器側播放器201可以確定覆蓋視頻流的觀看最多的幀的視頻流的一部分或邊界,並將視頻流的熱門部分放入一個高速緩存(硬碟驅動器、SSD或RAM)中。在一個可行實施方式中,分析模塊監控視頻1,301、視頻2302、視頻3,303及視頻4404。其發現,存在比該視頻的其他部分或利用客戶端系統的其他視頻更頻繁地觀看的視頻的片段。將視頻305、306、307、308的這些部分存儲在高速緩存309中。高速緩存309可以為任何高速緩存,RAM高速緩存、SSD高速緩存,或硬碟驅動器高速緩存,或它們的任何組合。在一個可行實施方式中,伺服器側播放器201支持所存儲的視頻流的將視頻流劃分成小文件並確定哪個文件流行的物理組塊。物理組塊將視頻分成客戶端播放器可看得到的小命名組塊。基於時間的存取模式用來確定哪些視頻(例如,與主題相關的新聞項或與內容相關的視頻)趨向於一起觀看,並且磁碟管理器206將視頻的熱門部分重新定位在硬碟驅動器高速緩存、SSD高速緩存或RAM高速緩存中的相同區域中,從而增加高速緩存命中並允許更快的存取時間。RAM高速緩存與緩衝管理器203相結合。其使用分析和/或策略來管理RAM高速緩存並選擇逐出候選者。當伺服器側播放器201找到每個熱門視頻部分時,緩衝管理器203確定已經存儲在高速緩存中的熱門部分哪些不再被確定為是熱門的。緩衝管理器203從高速緩存中去除不再熱門的部分,以為新的熱門部分騰出空間。這由緩衝管理器203基於從存取模式獲得的內部分析來完成。在一個實施方式中,緩衝管理器203保持所有不活躍使用的緩衝器按逐出順序組織。排序考慮以下因素,例如,緩衝器存取的次數、存取的時間頻率以及增加/減小的使用速度。緩衝管理器203可以使用主存儲器(RAM)作為用於高比特率視頻的高速緩存,並使用SSD存儲器用於低比特率視頻。這允許MFD更有效地使用主存儲器。媒體管理器204管理高速緩存層級(例如,SSD、硬碟、同位體)。其查看分析和/或策略,以確定何時升級、降級或逐出高速緩存內容。媒體管理器204啟動分級的高速緩存管理(包括高速緩存升級和降級動作)。每個元素在高速緩存層級中的執行叫做高速緩存提供商。動態地記錄提供商,並基於其記錄的特性(例如,帶寬、等待時間、容量等)將提供商彙編在層級中。存在兩類提供商:高速緩存提供商,其是對支持讀寫的系統的本地高速緩存;以及原始提供商,其是提供原始內容並且是只讀的網絡源。高速緩存遷移的單元可以包含邏輯組塊邊界,或者在一些情況中,純粹從裝置等級塊管理中獲得。例如在HDD中,可以將流行的塊(其可以包含多個視頻的一部分)升級至SSD或升級至HDD的外部軌道。元數據描述了將媒體存儲在磁碟中的什麼地方。大多數作業系統高速緩存與文件相關的信息。該信息被叫做信息節點。信息節點高速緩存可以支持很多信息節點,典型地,為百萬的數量級。該高速緩存將消耗MFD可以使用的之前的存儲器,以高速緩存媒體數據。MFD具有告訴媒體數據的各種片段存儲在磁碟的原始分區內的什麼地方的信息。該信息落入元數據,並且其被稱作「範圍」。支持大媒體對象的每個磁碟塊可以具有單個範圍以查閱該數據。當磁碟塊支持多個小對象時,每個小對象均具有不同的範圍以對其進行描述。為了減小在一些系統中難以控制的信息節點高速緩存空間,將元數據(包括範圍)壓縮成被稱作容器的單個信息節點/文件。每個容器均支持用於一組公共的對象的範圍。因為對象是公共的,所以MFD會正常讀取用於這些對象的元數據。在一個可行實施方式中,MFD產生動態磁碟層級,其允許MFD確定磁碟在MFD內的帶寬。磁碟管理器206確定哪些驅動器可能是高速緩存目標。其運行簡短的測試,以根據磁碟帶寬將每個驅動器進行分類。這樣做是因為相同類型的驅動器可以根據哪個磁碟控制器在其前面而看到不同的性能數。通過運行磁碟測試,磁碟管理器206不需要在各種驅動器類型之間進行區分,或找出每個磁碟控制器可以傳遞什麼性能。驅動器/控制器帶寬組合將這一對放在由工廠或由管理員設置的一些類別內。典型地,存在預置數目的類別。在一個可行實施方式中,MFD創建磁碟高速緩存層級。高速緩存層級的每個級別均包含一組對象。在訪問次數方面接近最高值的對象是移入下一個最快層級中的良好候選者,從而使得能夠降低所有對象的總訪問次數時間。可以使用帶寬利用情況和空間利用情況來確定對象從較低等級到較高等級的移動,以確定何時適於移動對象。在訪問次數方面接近最低值的對象是移入下一個最慢層級中的良好候選者,以為較高的訪問計數的對象釋放空間。MFD嘗試將用於最高等級的可用帶寬最大化至最低等級。例如,定義三個等級A、B和C,其中,A是最快的高速緩存。如果A不完整,則將B中的最高存取的對象升級至A是有意義的。這將騰出更多空間,以將對象從C升級至B。如果B中的某些對象訪問得沒有C中的對象那麼頻繁,則通過將B中訪問最少的對象從B移入C而使其降級並將C中訪問最多的對象升級至B中是有意義的。該移動過程被叫做「升級」和「降級」。每個磁碟驅動器的外部的10%至15%可以傳遞比整個裝置的隨機性能好15%至20%的性能。一個可行實施方式可以開拓(carveout)驅動器的外部,並將媒體對象的最熱門部分移至該區域。緩衝管理器203緩衝管理器203在MFD內提供原始數據路徑。經由緩衝器發送由MFD服務的所有內容。緩衝器用於在出站網絡(outboundnetwork)與高速緩存提供商之間以及在其與RAM高速緩存之間進行速度匹配(緩衝)。後者是高速緩存層級中的(隱含的)第一等級。當所請求的內容在高速緩存中得不到時,緩衝管理器203使用媒體管理器204的服務來檢索該數據,並且如果可能的話,為了後續請求而將其高速緩存。緩衝管理器203從HPE創建的任務中接收對內容的請求。緩衝管理器203取來內容。給定URL和從那裡播放的偏移量,緩衝管理器將提供內容。緩衝管理器203從媒體管理器204中檢索內容。緩衝管理器204創建任務,以檢索在偏移開始時的一部分視頻內容。媒體管理器204從硬碟驅動器或SSD檢索內容。緩衝管理器203可以檢查所請求的內容是否與存儲在主存儲器高速緩存(RAM)中的任何內容匹配。RAM高速緩存由多個緩衝器組成。可以根據高速緩存來直接服務一個命中,而不用任何進一步的複製。可以通過使用媒體管理器204填充新的緩衝器來服務一個未命中,以將內容重新定位在存儲中。緩衝管理器203將指針傳遞至包含給輸出協議引擎210(將視頻內容的一部分流動至客戶端)的視頻內容的一部分的緩衝器。緩衝管理器203有效地管理大量存儲器。其具有在服務相同內容的連接之間共享緩衝器的能力。緩衝管理器203還具有從MFD中的使用模式獲得的有效的再使用方案。緩衝管理器203基於在使用計數和壽命基礎上計算的成本函數來處理緩衝器逐出。較高的使用計數導致了較高的成本,而壽命用作成本上的衰減函數,例如,較老的緩衝器具有較老的成本。逐出算法嘗試大概找出在非常有效地操作(恆定時間)的同時具有最低成本的緩衝器。將可以逐出的緩衝器(具有零參考計數)插在LRU列表的尾部。通過緩衝器的使用計數而對列表進行排序。通過時間戳而對每個LRU列表有效地進行排序。將不在高速緩存中的緩衝器(例如,到期的、被清除的)放在具有零時間戳的最低LRU列表的最前頭上。在逐出的過程中,對每個LRU列表的最前頭計算成本,並且逐出最低成本的緩衝器。每個對象(URI)具有為屬性的一部分的期滿時間。在訪問緩衝器高速緩存時,相對於當前時間檢查期滿時間。如果到期,則從高速緩存中去除與對象相關的所有緩衝器和屬性。當參考計數變為零時,將緩衝器放在LRU列表上。在期滿時間之前的時間窗(其可由管理員或用戶配置)的過程中,可以用原始伺服器使對象重新生效。參考圖9,在一個可行實施方式中,緩衝管理器203管理緩衝池904。可用於數據的存儲器被靜態地分成固定大小頁面的陣列。每個頁面具有相應的緩衝器結構,以壓縮與緩衝器相關聯的元數據。還從陣列中靜態地分配緩衝器結構。每個緩衝器可以經由緩衝器高速緩存和自由列表而連結。元數據的部分元素是:身份。緩衝器的身份。數據緩衝器具有由UOL(URI、偏移量和長度)組成的ID。屬性緩衝器僅具有URI的ID。參考計數。緩衝器的使用中的用戶的數量。使用計數。緩衝器已經使用的次數。這是緩衝器「流行度」的基本測量標準。時間戳。將緩衝器放在LRU列表上的時間(即,參考計數為零)。緩衝管理器203管理緩衝器高速緩存。針對具有身份且可與其他連接共享的所有緩衝器,保持使用UOL作為鍵碼的哈希映射。一個可行實施方式支持用於緩衝器的非高速緩存模式,由此,緩衝器具有身份但不可以共享。與相同對象(URI)相關的數據緩衝器通過植根在相應的屬性緩衝器中的列表將而連結在一起。這允許快速地應用屬於整個對象的動作(例如,高速緩存到期和對象清除)。自由表也由緩衝管理器203保持。所有緩衝器(包括那些具有身份的緩衝器,其具有零參考計數)均在該列表上。這允許根據需要有效地逐出緩衝器。該列表可以由利用緩衝器的使用計數所排序的多個列表組成。每個GET任務在用來保持其緩衝器的列表以進行參考計數的高速緩存請求專用數據905中分配一些私人數據。其還用來與下層的媒體請求連接。高速緩存請求處理器902管理高速緩存請求私人數據905,並處理GET任務請求。媒體請求處理器903對發送至媒體管理器204的每個媒體GET任務獲取進入/出去的自變量。媒體請求對象連結在媒體請求表906中,使得可以使對相同或共同存儲的對象的多個請求同步。參考圖10a,緩衝管理器203和媒體管理器204之間的接口(其實現高速緩存層級)具有獨特的特性,該特性使得能夠實現高性能高速緩存系統。通過使用STAT任務(其作用就像是投標系統)來實現提供數據的裝置的選擇。高速緩存層級中的每一層(例如,固態器件(SSD)管理器205、磁碟管理器206,以及原始管理器207)可以依次響應於用於服務請求的投標(bid)。投標包括告訴緩衝管理器203分配緩衝器的必需設置的「塊大小」。然後,緩衝管理器203將GET請求向下發送至贏得投標的特定高速緩存提供商。將請求和響應在邏輯上去耦合。提供商用內容來填充所提供的緩衝器,並針對每個緩衝器設置適當的身份。這導致了新的緩衝器被插入RAM高速緩存中。緩衝管理器203一完成任務,其就再次查找RAM高速緩存,並能夠找到其所尋找的緩衝器。該模型允許提供商在相同的請求中提供附加的數據,同一對象的後續部分或其他相關的對象。其還允許對象的不同部分由不同的提供商提供。命名和位置是正交的。例如,具有名稱/a/b/c/one.flv的視頻對象(部分地或整體地)可以存在於高速緩存層級中的任一提供商中。媒體管理器204媒體管理器204基於視頻的相對熱門度而使視頻升級和降級。視頻的熱門度為該視頻的點擊次數、點擊頻率,以及頻率的增大或減小趨勢的函數。媒體管理器204具有n個不同的源,一個或多個SSD205、一個或多個硬碟206、原始伺服器207、或同位體208。媒體管理器接收緩衝器,並用所請求的內容的一部分對其填充。媒體管理器204將所填充的緩衝器發送至緩衝管理器203。如果內容不在本地存儲中,則媒體管理器204從原始伺服器、同位體或客戶端中檢索內容。以下為速度的層級,在一個可行實施方式中,其與每個源相關聯:1.存儲器(RAM):10Gbps2.快閃記憶體:4Gbps3.固態器件(SSD):1.6Gbps4.磁碟(SAS):550Mbps5.磁碟(SATA):400Mbps6.其他7.NFS和其他文件高速緩存8.原始管理器。參考圖10b,媒體管理器204首先將新視頻放在最低存儲器層級中。在定時器到時時,媒體管理器204檢查最熱門和最冷門視頻的分析/策略管理器1002。分析/策略管理器1002向媒體管理器204提供最熱門的視頻和/或所存取的視頻的一部分。將最熱門的視頻或視頻的一部分升級至層級中的下一個存儲器高速緩存,並將最冷門的視頻降級至層級中的下一個最低的存儲器。以此方式,可以將視頻放在高速緩存層級的最低層中,並且如果其熱度相對於其他視頻而增加,則其可以上浮至層級的頂部。媒體管理器204從相應的高速緩存驅動視頻的逐出。媒體管理器執行逐出定時器。當定時器激發時,媒體管理器204仔細檢查每個高速緩存提供商205、206、207、1006,從而檢查高速緩存是否充滿至某一閾值。如果特定的高速緩存是滿的,則媒體管理器204調用提供商的逐出功能性。然後,提供商執行其特定的逐出算法。同位體管理器207同位體管理器207可以被配置為在高速緩存缺失時從同位體MFD獲得某一內容。假設MFD在本地存儲器(例如,一個或多個硬碟驅動器以及一個或多個SSD)中具有有限量的存儲空間,則可能存在這樣的情況,其中,用戶具有比單個MFD可存儲的視頻內容更多的視頻內容。可以在安裝於用戶的場所處的多個同位體MFD中分配用戶的視頻內容,或者在那裡,同位體MFD可以在網絡(諸如,分配在彼此通信的多個同位體MFD中的內聯網、網際網路、LAN或WAN)上彼此可訪問。管理員可以通知其同位體的IP位址的每個同位體MFD,因此同位體MFD能夠與其同位體通信。如果同位體MFD局部地相連接,則其可以通過任何類型的發現機制而由其自己發現其同位體。同位體MFD可以在它們自身之間通信,並讓每個同位體MFD知道其高速緩存哪些URL。這意味著,在每個同位體MFD已加載來自原始伺服器或另一同位體MFD的內容之後,同位體MFD通知每個其同位體MFD關於其服務的URL。這可以經由發送至每個同位體MFD或廣播至所有同位體MFD的一個消息或一系列消息來實現。如果將用於特定URL的請求發送至導致高速緩存缺失的同位體MFD,則該MFD中的同位體管理器可以從高速緩存該特定URL的同位體MFD中請求URL內容。原始管理器208a.原始伺服器可以將內容推送至原始管理器208,或者原始管理器208可以從原始伺服器拖出內容。原始伺服器可以通過將內容預先安排至原始管理器208,而將內容推送至原始管理器208。原始伺服器可以將FTP或HTTP推送至原始管理器208,並告訴原始管理器208高速緩存某些URL,因為內容提供商知道該內容將是熱門的。b.由於錯過所有局部可用的高速緩存(還是代理伺服器功能)的客戶端請求,原始管理器208從原始伺服器拉出內容。拉出內容還可以由於策略或命令驅動的動作而發生,以與客戶端請求分開地讀取內容。代理伺服器功能與高速緩存攝取是分開的。這有幾個原因:(a)代理伺服器可能必須服務對於高速緩存來說不方便的奇怪對準的字節範圍請求;(b)該系統可能需要執行處理功能,例如,在攝取過程中的組塊和自動解碼(這些在代理伺服器中難以實時地實現);以及(c)用於兩個功能的不同策略。輸入協議引擎209輸入協議引擎209以和輸出協議引擎210相同的方式操作,只是其通過使用諸如HTTP、FTP和NFS的協議與原始伺服器通信。最優化網絡堆棧211最優化網絡堆棧211使用TCP堆棧中的往返時間(RTT),以估計對客戶端的最後一英裡的比特率變化。RTT時間告訴最優化網絡堆棧211是否存在完全(downtheline)擁塞。RTT提供在前往客戶端的網絡中可用的帶寬的估計。最優化網絡堆棧211還通過使用適於時敏應用(例如視頻)的算法來執行誤差處理和擁塞控制。MFD可以響應於所檢測到的比特率變化來改變比特率,而無需客戶端知道。確定的流速在一個可行實施方式中,MFD具有對允許進入系統以進行數據傳送的每一流動保證某一類服務的能力。這被叫做確定的流速。MFD針對每個對話來計算確定的流速,並針對對話設置最大帶寬。用於對話的帶寬利用不應小於確定的流速,並且如果存在可用的帶寬,則應嘗試達到最大帶寬。MFD執行流控制,以確保現有對話得到所需的速度,並且不大於最大速度。這在網絡套接字等級中實現。套接字等級管理數據發送速度。對話帶寬隊列和伺服器定時器用於計算流控制。MFD通過確保如果伺服器沒有足夠的資源以接受連接,則不容許新的對話,來執行許可控制和連接管理。四種規格可以用於MFD,以保持確定的流速(AFR):Σ所有連接的AFR≤設備界面埠帶寬對話AFR≤客戶端對話帶寬Σ所有連接的AFR≤(磁碟+緩衝器)讀取速度最差質量視頻比特率≤對話AFR≤最高質量視頻比特率其中:-對話:單TCP連接。-Σ所有連接的AFR:所有接受的對話的AFR之和。-對話AFR:用於單個對話的各個AFR。-客戶端對話帶寬:客戶端對話最大帶寬。典型地,客戶端對話最大帶寬指的是,由於WAN環境的限制而產生的最大TCP吞吐量。對於DSL下載,典型的帶寬為1500K比特/秒。-視頻比特率:每個視頻均具有一個簡檔。不同的簡檔具有不同的質量。較高質量的視頻需要較高的比特率。並不是每個視頻都具有用於所有比特率的簡檔。典型的視頻簡檔比特率的範圍可以是從200K比特/秒至1000K比特/秒。為了確保MFD沒有過度提交伺服器資源,使得可以保持用於現有任務的AFR,MFD拒絕新的對話或者降低用於現有對話的簡檔(如果可能的話),以在策略設置的基礎上適應新的對話。通過在伺服器上發送繁忙HTTP應答或通過簡單地關閉連接,來拒絕對話。MFD在服務數據的中間過程時不關閉對話。其僅降低視頻簡檔。例如,如果對於每個網絡界面埠,將總設備網絡帶寬被限制在1G比特/秒,則Σ所有對話的AFR應小於該帶寬。當所有接受的對話的AFR之和等於1G比特/秒時,MFD可以停止接受新的對話。在一個可行實施方式中,通過考慮由包重發、ACK包、TCP/IP標題、其他使用(例如,ARP)、離線原始管理器208等所使用的網絡開銷,對於所有對話,AFR計算,帶寬可以降低至0.8G比特/秒,以考慮更現實的帶寬限制。AFR比特率可以在最差質量視頻比特率和最高質量視頻比特率之間。如果AFR<最差質量視頻比特率,那麼屏幕抖動將出現在客戶端側。如果AFR>最高質量視頻比特率,則將浪費帶寬資源。伺服器側播放器201不關閉連續對話GET請求,但允許通過返回故障誤差代碼來關閉新的對話。在一個可行實施方式中,如果客戶端經由撥號數據機獲得接入,則AFR受到較慢的最後一英裡連接的限制。網絡驅動器模塊基於RTT計算來檢測客戶端連接ISP。一個實施例等式可以為:客戶端對話帶寬速度=1460位元組/RTT(秒)。如上所述,視頻內容被存儲在磁碟或RAM中。一旦MFD確定了AFR,其就需要確保磁碟+緩衝器可以達到該速度。與CPU和網絡容量不同,作為一個容量的磁碟速度不是可以容易測量的東西。其與工作量高度相關。一種測量磁碟是否處於或接近容量的更實際的方法是查看隊列深度和/或平均等待時間。調度器202的截止時間缺失計數器是在系統中發生什麼的良好指標。在某些情況下,例如,網絡管理員希望產生VIP列表。網絡管理員可能通過用戶接口管理控制臺來設置策略,使得VIP列表接收產生更高的用於對話的AFR的高質量視頻。在另一實施例中,網絡管理員可以設置平均視頻質量。網絡管理員可以使用用戶接口管理器控制臺來設置平均AFR。在一個可行實施方式中,MFD不希望將較高的視頻質量發送至無法播放高質量視頻的客戶端。例如,PC/筆記本可以播放高質量視頻,但iPhone/g-phone/Palm等僅具有非常小的屏幕,因此無法播放高質量視頻。完全不需要將高質量視頻發送至這些類型的裝置。參考圖11,示出了用於最優化網絡堆棧211中的網絡管理器的AFR部分的可行實施方式的數據流,最優化網絡堆棧在HPE對調度器202提出任務並且調度器202返回數據塊之後發送數據。如果在一個定時器間隔縫隙(例如,一次一秒)內無法發出所計算的數據的大小,則這意味著在網絡管理器中出現AFR錯過。如果調度器202在截止期限錯過時間內不返回任務,則這意味著磁碟管理器206中發生AFR錯過。網絡管理器計算任務的截止時間。然後,其提出具有所計算的截止時間的任務1101。然後,給定AFR和套接字的傳輸周期的定時器間隔,網絡管理器計算可以在連接上發送的最大數量的字節。這產生可以在一個定時器間隔中在連接上發送的最大量的數據1102。然後,網絡管理器在套接字上發送數據1103。如果發送是不完全的1104,例如,沒有足夠的空間來發送數據或者定時器間隔已經過去,則網絡管理器將嘗試在連接上重新發送數據1107、1103。如果有足夠的空間來發出/接收數據1104(例如,客戶端上的緩衝器等級是足夠的,TCP等級是足夠的,窗口大小是足夠的,更多數據將被發送等),則網絡管理器檢查以查看是否存在更多的數據要發送1105。如果有更多的數據可用於發送,則網絡管理器將套接字放回在定時器隊列中以等待下一定時器間隔,來發送更多的數據1108,並計算可以在連接上發送的下一個最大數量的比特1102。另外,網絡管理器以定時器間隔結束,並且使下一塊數據發送1106。該過程繼續,直到已經發送來自調度器202的一個或多個數據塊中的所有數據為止。在一個可行實施方式中,為了保持AFR,MFD執行以下操作:1.在網絡埠上請求的連接。如果該網絡埠的總連接>最大容許連接,則拒絕該連接。2.每個連接僅可以分完所計算的對話帶寬。在該實施例中=1Gbps/該網絡埠上的總連接。3.由於最大對話帶寬配置而產生的改進。a.如果配置最大配置的對話帶寬並且所計算的對話帶寬>最大對話帶寬,則將所計算的對話帶寬設置為最大配置對話帶寬。b.否則不改變。4.計算對話AFR。a.將對話AFR設置為所配置的AFR作為基本建議的AFR。b.調用伺服器側播放器201用於調節AFR。如果通過伺服器側播放器201返回誤差消息,那麼關閉對話。5.由於平衡的AFR計算而產生的改進。a.如果所計算的對話帶寬>1.2*AFR,則將所計算的對話帶寬設置為1.2*AFR。b.否則不改變。6.由於AFR而產生的改進。a.如果所計算的對話帶寬<AFR,則將所計算的對話帶寬設置為AFR。b.否則不改變。7.在將數據發送至客戶端的任何時候,在每個epollout事件或任務完成中執行所計算的對話帶寬。網絡和HTTP管理器對用於計算伺服器側播放器201的AFR值的伺服器側播放器201提供三個參數。這三個參數是:URI。客戶端對話帶寬(AFR的上限值)。網絡帶寬的總可用AFR。其中:-網絡模塊可能削減總可用AFR。-總可用AFR≠總網絡帶寬-Σ現有對話的AFR。-總可用AFR=min(總網絡帶寬-Σ現有對話的AFR,所配置的最大AFR)。在伺服器側播放器201的AFR計算中,返回的AFR值可以小於客戶端對話帶寬和總可用AFR。可以在HPE完成HTTP解析之後的時間調用伺服器側播放器201。HPE提供所有的HTTP信息(諸如URI等)以及標記,以表明這是新的對話或具有相同連接的連續對話。伺服器側播放器201不關閉連續對話GET請求,但應被允許關閉新的對話。伺服器側播放器201將AFR設置為在URI請求中指定的值。如果伺服器側播放器201不能將AFR設置為所請求的值,則其將錯誤代碼返回至將關閉該連接的HTTP引擎。調度器202截止時間錯過可以用來在運行時間的過程中測量磁碟吞吐量。HPE計算截止時間(使用截止時間=函數(總HTTP字節/AFR))(單位為微秒),並且當向調度器202提交任務時,將截止時間發送至調度器202。如果磁碟操作超載,則調度器202丟掉一些新任務。所選擇的丟掉的任務應屬於由新對話產生的第一任務。通過HPE可以設置標記,以告訴調度器202一個任務是否屬於新的對話。當存在過多的磁碟截止時間錯過時,調度器202向網絡管理器發送反饋,以減小伺服器結構中的最大容許連接。這減小了總對話數量。在恢復磁碟操作且忽略截止時間錯過問題之後,調度器202試圖恢復回至在伺服器結構中設置的最大容許連接。提示軌道(hinttrack)參考圖12,在一個可行實施方式中,漸進式下載提示軌道(PDH)1206向MFD描述了如何在HTTP上使用漸進式下載來服務存在於文件1201中的媒體數據。只有一個容器文件1201需要存在於MFD中。在該容器文件1201中,用戶可以存儲變化比特率、空間解析度的流1204、1205或可縮放的流。與MP4容器文件一樣,容器文件1201還可以包含元數據1202。PDH提示軌道1206將是視頻文件容器(在該實施例中移動)1203內的較高等級的元方框,視頻文件容器向MFD描述其可用的所有選擇以支持PDH。在一個可行實施方式中,取決於來自客戶端的請求而適應變化的帶寬條件、可用的客戶端CPU資源,或由MFD查詢(poll)網絡以解決網絡等待時間,MFD側邏輯可以在以下方面進行智能決策:其應如何服務以及服務何種類型的比特率、幀速率或解析度,以最佳地滿足網絡的條件和客戶端的需求。在一個可行實施方式中,可以通過MFD使用提示軌道,以決定最佳的速度或解析度來進行服務,然後,將媒體數據的時間周期的相關部分壓縮成MP4的自包含塊,以在HTTP上傳送。在普通容器中存在的媒體數據本身不需要以任何方式重定格式。在一個可行實施方式中,可以產生多個預定義的PDH提示軌道,其覆蓋大多數普通使用條件,以減小MFD側上的負載。在一個可行實施方式中,可以在被組成為以預定義幀速率(例如,以B1kbps,30fps編碼的H.264流)服務的伺服器中使用單個媒體數據流。在傳送的過程中,根據網絡條件,MFD可以選擇丟掉較高的臨時增強層(通過MP4中的分層方框可以輕鬆地獲得其信息)。同樣地,用於這些較低的幀速率部分(例如,15fps、7.5fps)的PDH塊的速率將小於B1kbps,從而提供這樣一種機制,該機制在不會很大程度上影響用戶的重放質量體驗的同時快速地適應帶寬波動。在一個可行實施方式中,可以使用附加的提示軌道(或較高等級的方框)對可用於支持特殊再現的各種選項進行描述。這種提示軌道(或方框)可以對MFD提供關於快進或倒帶的速度(2x/4x/-2x/-4x等)的信息,同時提供關於相對幀偏移量的精確信息和在重放過程中將幫助客戶端播放器的重放速率。在一個可行實施方式中,還可以擴展提示軌道使用,以支持MFD側的節目播放表。這些提示軌道可以提供關於需要在哪裡插入廣告或視頻片段以及它們的精確的持續時間的信息。提示軌道還可以提供控制機制信息,例如,如果客戶端播放器可以跳過或快進通過廣告或視頻片段。提示軌道還可以包含關於以下內容的信息:對於廣告或視頻片段的動態放置,如果需要,與哪個廣告伺服器聯繫。MFD策略a.管理員能夠設置用於MFD的策略以在其上操作。例如,管理員可以希望使MFD服務儘可能多的客戶端,或以服務許多個客戶端的代價來服務HD內容並保持HD內容的質量。b.可以將來自調度器202的反饋(關於任務已經晚了的時間量、已經晚了的任務的數量,或任何其他有用的度量)發送至伺服器側201和/或輸出協議引擎210。伺服器側201可以使用該信息來調節其所服務的客戶端的數量,或者甚至調節其傳送至某些客戶端的視頻的質量,以解決傳送等待時間。在某些帶寬運行的某些客戶端可以足夠靈活,以動態地減小其帶寬。c.輸出協議引擎210可以使用來自調度器202的信息,來拒絕任何新的客戶端連接,直到調度器202向輸出協議引擎210傳遞表明MFD已經用期望的傳送效率充分地追趕上的統計數據為止。定義用什麼標準進行這種判斷的參數可以由管理員定義。這些參數可以包括,基於受到最後的傳送或等待時間的量(例如,其存在錯過截止時間的任務的數量)影響的客戶端的數量來執行動作。d.管理員可以配置原始伺服器,以通知MFD關於其應與哪個內容伺服器通信,以當MFD經歷高速緩存缺失時檢索內容。原始伺服器可以命令原始管理器207通過使用特定協議而從特定內容伺服器獲得某些內容。原始伺服器還可以定義MFD上的策略,以告訴原始管理器207哪個內容是可以高速緩存的以及必須從原始伺服器獲得什麼內容,例如,很少請求的內容。MFD擴展MFD還可以在工廠是帶寬限制的。可以將MFD設置為不超過某一峰值帶寬或開放對話的數量。這允許MFD提供商銷售某些級別的服務。如果用戶需要較高的峰值帶寬或較多的開放對話,則MFD提供商可以一定費用遠程設置用戶的MFD的峰值帶寬或最大數量的開放對話,該費用可以是一次性費用或者循環費用。MFD還可以自動地超過最大帶寬或最大數量的開放對話,並通知MFD提供商所超過的量。然後,MFD提供商可以針對所超過的量而對用戶充值。這允許用戶臨時處理高活動性脈衝串(burst),並且,並非必須購買額外的MFD或MFD升級。負載均衡器相互作用典型地,存在與同位體MFD通信的負載均衡器。負載均衡器可以被配置為當請求針對特定URL時,向某一同位體MFD發送客戶端請求。一個同位體MFD可以發送什麼URL可為每個同位體MFD所用的表格。可選地,每個同位體MFD可以告訴負載均衡器其服務於哪些URL。負載均衡器可以從同位體MFD收集所有信息,並產生其自己的表格或資料庫入口,以將客戶端URL請求引導至正確的同位體MFD。負載均衡器可以使用基於URL和/或其他參數的哈希方案來確定MFD將URL請求引導至其中。這允許在同位體MFD中分配URL內容。監控和統計用戶界面管理員等可以查看MFD的所存儲的由伺服器側播放器201記錄的統計數據,並且管理員等可以經由文本的或圖形的表達看到如何執行MFD。媒體管理器204還記錄高速緩存命中和缺失的數量以及什麼內容是最流行的(熱門內容)或最不流行的。媒體管理器204還可以記錄其從中請求內容的原始伺服器以及進行這種請求的次數。用戶界面允許管理員觀察圖形或文本表達的內容性能數據。用戶界面可以在特定的時間周期中或實時地提供任何記錄的信息。圖形用戶界面允許MFD使用統計信息,使得其可以相對於磁碟使用和內容存取來收集信息,以顯示在視覺上表現以下任何內容的圖表:表現每個磁碟的最近數據檢索次數的柱狀圖數據。磁碟存取計數器。每個磁碟的視頻的數量。自由空間的量。所請求的視頻的數量。每個磁碟的所請求視頻的數量。每個磁碟的最近吞吐量。緩衝器高速緩存中的命中/缺失。各種緩衝器操作。誤差(來自媒體管理器統計數據、媒體請求等中)所存儲的視頻的數量。每個高速緩存的視頻的數量。所產生的視頻的數量。所刪除的視頻的數量。媒體提供商的數量。關於媒體提供商的元信息。每個高速緩存級別(存儲器、SSD、磁碟)以及原始源(HTTP、NFS等)所服務的帶寬。每個高速緩存裝置(每個SSD或磁碟單元)所服務的帶寬。高速緩存邏輯被設計為當工作量簡檔相對於內容而變化時,在裝置上加載級別。每個界面埠所服務的帶寬和連接。每個協議(HTTP、RTSP等)所服務的帶寬和連接。在一個可行實施方式中,用戶可以配置與MFD的性能特性相關的參數。諸如伺服器側播放器和媒體管理器的部件記錄由圖形用戶界面使用的性能統計數據,以向用戶顯示統計數據和圖表。圖13示出了一個可行實施方式中的用戶界面屏幕,其中,用戶可以指定參數,例如,AFR1304或每個對話1305的最大比特率。用戶還可以與用於名字空間的其URI1302和HTTP原始伺服器1303的主機名稱一起指定名字空間1301。參考圖14,在一個可行實施方式中,圖形用戶界面屏幕1400可以示出從高速緩存、原始伺服器傳輸的字節1401以及隨著時間傳送至客戶端的總字節1402的總數的實時圖表。當MFD向客戶端1403發送內容時,圖形用戶界面屏幕1400允許用戶看到MFD的實際性能。用戶可以定製MFD中的策略,以調節高速緩存存儲,例如,以處理用戶始終希望可用的某些熱門內容。圖形用戶界面1400立即向用戶表明其變化對MFD的影響。圖15示出了顯示MFD的連接1501上的性能特性的圖形用戶界面的屏幕截圖1500。2.1.2媒體流導向器布局圖4示出了使用MFD401代替現有視頻伺服器402的一個可行實施方式。現有視頻伺服器實現方式典型地為從一臺原始伺服器或一組原始伺服器404中高速緩存內容的一組文件伺服器403。在許多視頻伺服器403上映射(mirror)來自原始伺服器404的內容。用戶經由客戶端訪問入口伺服器(portalserver)405上的網頁,以搜索視頻內容。用戶經由網頁上的連結而從網頁中選擇視頻。將URL發送至DNS伺服器,該DNS伺服器將URL解析為負載均衡器所負責的IP位址。客戶端通過由客戶端所使用的經解析的IP位址,以進行視頻請求。在一組邊緣路由器407中,路由器將請求路由至分配中心406中的負載均衡器。負載均衡器接收請求,並將URL請求轉送至視頻伺服器群402中的視頻伺服器。URL請求可以告訴視頻伺服器客戶端正期望的所請求的視頻的比特率。視頻伺服器是不知道其正傳送的文件的特性的文件伺服器,除了知道其必須將一定比特率版本的視頻發送至客戶端的事實以外。典型地,名稱和內容對視頻伺服器來說是不透明的。典型地,視頻的每個比特率均為命名文件。視頻伺服器將視頻文件流動至客戶端,並嘗試將視頻傳送至客戶端,使得客戶端的視頻緩衝器不會變空。客戶端必須緩衝所接收的視頻,以代替來自視頻伺服器的視頻流中的延遲。客戶端的緩衝器意味著給予用戶連續的觀看體驗。假設視頻伺服器正向許多客戶端服務大量的視頻,由帶寬的伺服器溢出或由網絡延遲所產生的傳送延遲是頻繁的,並且客戶端緩衝器變空。結果,用戶看到視頻流停止播放,直到緩衝器開始再次填充為止,或者對於小視頻文件,進行等待直到在視頻開始播放之前將整個視頻載入緩衝器為止。在一個可行實施方式中,一個MFD具有實現超過10Gbps的吞吐量的能力,從而產生代替十個以上視頻伺服器的單個MFD。兩個MFD401可以代替一組20個視頻伺服器。MFD401與原始伺服器402通信,以當MFD接收URL內容(MFD在存儲器中沒有)的請求時,或者當MFD從原始伺服器接收新的視頻內容時,來獲得視頻內容。MFD直接代替視頻伺服器,並且入口伺服器405、邊緣路由器407和分配開關406的基礎結構保持相同。圖5示出了MFD在邊緣和/或原始位置的布局。在該實施例中,虛線是用於傳統實現方式的數據通路。MFD可以被安裝在內容所有者的位置501、CDN502、506、內容整合位置504、或ISP。位置的任何組合可以安裝有MFD,從而導致向客戶端508進行更快且更可靠的內容傳送。例如,當將兩個MFD安裝在ISP507時,將MFD配置在ISP網絡中的某處。這可以在群中的相同數據中心中,或在不同的數據中心中但在相同的ISP接入網絡中。MFD可以彼此通信,以更有效地傳送內容,因為如果MFD可以從相同的網絡內檢索內容,則這比從不同的和/或多個不同的網絡上或從原始位置檢索內容更有效。如果大內容整合體配置所有MFD私人傳送網絡,則甚至可以更有效地看到內容整合體,因為MFD可以甚至更有效地使用私人協議來處理高速緩存缺失處理、預升級、數據收集等。當實現所有MFD實現方式時,由於MFD經由最有效的路線檢索內容的能力,所以效率急劇地提高。注意,在整個文本的實施方式描述中,已經使用了術語「視頻內容」。可以用一直討論的實施方式中的任何媒體類型代替術語「視頻內容」,因為MFD適合於傳送任何類型的內容文件,例如媒體(音頻、圖片等)、遊戲、軟體、HTML、腳本等。2.2網絡上的可變速率媒體傳送2.2.1平滑流視頻架構圖16示出了一個可行實施方式,其示出了被配置為在網絡上傳送視頻內容的媒體流導向器(MFD)101的數據流。視頻內容文件被存儲在可以由MFD101接入的至少一個本地存儲裝置108上。對於某一視頻內容,內容提供商可以提供包含視頻內容的幾個內容文件,其中,每個文件均以不同的比特率(例如100Kb、200Kb、500Kb、1Mb、2Mb等)被編碼。在一個可行實施方式中,使用MFD101,或者可選地,使用中央處理伺服器預處理來自原始伺服器的輸入內容,以產生成塊的文件圖像,使得根據可配置的參數(例如,一秒,兩秒等)按大小排列文件圖像的每個組塊。如下所述,組塊的大小允許MFD101中的伺服器側播放器(SSP)107在不同的比特率文件之間提供無縫過渡(平滑流)。在另一可行實施方式中,組塊為邏輯塊,它們具有由索引表或任何其他類型的數據結構所跟蹤的邊界。SSP107以與處理物理組塊幾乎相同的方式來處理邏輯塊。在一個可行實施方式中,客戶端視頻播放器沒有限制。客戶端視頻播放器可以是處理HTTP漸進式下載的標準視頻播放器。不需要對播放器進行改進,以處理來自MFD1601的漸進式下載。客戶端-MFD相互作用在一個可行實施方式中,MFD1601以具有對話綁定的雙信道方法為基礎。客戶端播放器與MFD1601建立媒體鏈路和控制鏈路,它們通過使用由客戶端播放器所產生的唯一對話ID(SID)而被綁定在一起。當客戶端播放器由於帶寬波動的原因而使用控制鏈路向MFD1601發出適當的適應點的信號時,通過使用媒體鏈路傳送視頻數據。控制信道可以被用作雙向鏈路,以發送和接收請求/控制數據。在一個可行實施方式中,用戶點擊網頁上的文件連結以查看文件。例如,客戶端啟動客戶端上的播放器,例如Flash播放器或Silverlight播放器。客戶端播放器對每個對話產生唯一的SID,並將該ID作為查詢參數與視頻名稱的請求一起提供給MFD1601。在與MFD1601的所有後續通信中使用該對話ID。在該實施例中,客戶端播放器使用UID生成器1603產生用戶ID,該用戶ID是與客戶端相關聯的唯一ID。UID生成器1603例如可以使用偽隨機數和當前時間(幾秒和幾毫秒,為ID的一部分)的組合,並可以將ID的長度限制為小於36位元組。客戶端播放器1602將UID與包含域和文件名稱的文件請求1604組合。在一個可行實施方式中,還可以包括平滑流(sf)命令狀態。在表1中示出了實施例命令狀態。在圖16中的URI的實施例中,所請求的文件為foo_p00.flv,對話ID為AXGBF,並將sf設置為1。表1平滑流狀態表所請求的文件是可以由任何HTTP伺服器解釋的標準HTTP文件請求。這允許由任何HTTP伺服器處理所組合的HTTP請求。例如,如果MFD失敗,則反饋位置可以向第三方內容伺服器轉發HTTP請求。第三方內容伺服器會看到HTTP請求並忽略UID和sf命令狀態,僅將文件發送至客戶端播放器。這使MFD系統容易地集成在現有的內容傳送系統中。通過MFD1601使用UID將媒體數據傳送與從客戶端播放器接收的任何控制數據綁定。當MFD1601接收HTTP請求時,其看到sf命令狀態,並識別出該請求是平滑流請求。MFD1601標記/識別與所提供的SID的連接,並建立在媒體信道和控制信道之間共享的對話對象。MFD1601將URI映射至內部文件,並檢索與所請求的文件相關聯的MFD元數據文件。如果存在元數據文件,則伺服器側播放器(SSP)1607解析其內容,並將此對話中的平滑流狀態設置為真。SSP1607從元數據文件中提取以下信息,諸如可用的比特率、有多少視頻文件是可用的、視頻文件中的組塊分割是怎樣的、視頻文件中的組塊間隔有多小、視頻文件中的總分割是怎樣的等。然後,MFD1601開始將視頻文件的第一組塊發送至客戶端播放器。MFD1601具有視頻傳送環路模式,其中,當發現一個組塊被傳送時,MFD1601發出下一個組塊。請求SSP1607重新映射並提供下一個組塊的URI,使得MFD1601可以在該連接上發送下一個組塊的數據。例如,第一組塊的文件名為foo_p00_c0000000001.flv。SSP1607隨後重新映射URI,以根據請求讀取下一個組塊,以通過使用文件名foo_p00_c0000000002.flv在該連接上進行發送。在服務下一個組塊之前,SSP檢查共享的對話對象的狀態,該對話在媒體和控制信道之間共享,以檢查控制信道是否已經改變了共享的對話對象中的任何參數的狀態。這樣繼續下去直到重放持續時間結束為止。注意,MFD1601可以適應任何漸進式下載機制,以適應整個發明所描述的帶寬變化。如果不存在元數據文件,則SSP1607通過將平滑流狀態設置為假,來證明針對該文件並不支持平滑流。SSP1607可以將這看作為高速緩存缺失,並啟動預處理觸發器,以為未來的請求準備平滑流的內容。然後,SSP1607可以開始服務一種文件,該文件處於由用戶/內容提供商向客戶端播放器提供的默認比特率。當後續控制連接以相同的SID進入時,針對客戶端請求XML文件。當「sf」狀態參數具有「2」的值時,請求客戶端元數據文件。MFD檢查用於平滑流標記的對話對象狀態,並將根據狀態讀取XML文件,如果存在的話進行傳送(表示我們支持平滑流),或者拒絕提供未找到文件的響應(表示不支持平滑流)。該XML文件告知可用於此資源的各種簡檔的播放器。如果客戶端接收XML文件,則其在未來可以明確地針對相關的適應簡檔進行請求。通過使用表1,適應請求由被接受為3的值的sf狀態參數來表示。2.2.2不同比特率之間的過渡在一個可行實施方式中,客戶端播放器可以被配置為能夠向MFD1601發送控制命令。客戶端播放器可以使用控制通路1605對來自MFD1601的XML文件創建HTTP請求。HTTP請求包含之前由UID生成器1603產生的UID。MFD1601看到,HTTP請求是針對描述可用的比特率和特徵的XML文件。如由HTTP請求中的UID所指示的,MFD1601在與視頻傳送對話相關聯的MFD元數據中查找。MFD1601檢索XML文件,並將其發送至客戶端播放器。一旦客戶端播放器接收到XML文件,客戶端播放器就具有告訴MFD在比特率之間切換的能力。在一個可行實施方式中,一個應用存在於可監測客戶端上的資源(例如帶寬、CPU資源、存儲器資源等)的客戶端上。例如,該監測應用可以檢測客戶端是否帶寬不足或者是否已經增加帶寬。然後,客戶端可以通過使用控制通路1605告訴MFD1601經由HTTP請求(包含之前由UID生成器1603產生的UID)切換比特率。HTTP請求可以包含sf命令狀態,該sf命令狀態告訴MFD1601簡檔(pf)請求跟隨。MFD1601看到已被請求的pf。如果所請求的pf在MFD元數據中存在,則MFD1601改變所傳送的視頻的簡檔。當MFD1601到達視頻傳送環路中的將傳送下一個組塊的點時,其可以看到,針對視頻已經改變了簡檔。MFD1601查找用於視頻高速緩存/存儲的新的比特率,並找到與假設在之前的簡檔中被傳送的組塊相對應的組塊。然後,MFD1601將與所修訂的簡檔相對應的新的重新映射的組塊發送至客戶端播放器。客戶端播放器僅播放所接收的組塊。用戶不會注意到任何丟失的幀或中止,因為客戶端播放器已經以客戶端播放器所需的傳送速率接收了組塊。比特率之間的過渡對用戶和客戶端播放器都是無縫的。在一個可選的可行實施方式中,MFD1601可以檢測客戶端和MFD1601之間的任何帶寬變化。MFD1601使用例如TCP堆棧中的往返時間(RTT),來監測MFD1601和客戶端之間的帶寬延遲,以估計對客戶端的最後一英裡比特率變化。RTT時間告訴MFD1601是否在線下存在擁塞。使用RTT,MFD1601可以估計MFD1601和客戶端之間的可用帶寬。如果有效帶寬已經改變,則MFD1601可以針對帶寬變化調節比特率。例如,如果已經提高帶寬,則MFD1601可以發送更高比特率的視頻,或者如果已經降低帶寬,則MFD1601可以向客戶端發送更低比特率的視頻。當MFD1601已檢測到帶寬變化時,其可以查看用於視頻的MFD元數據,並找到可用於視頻且適於可用帶寬的比特率。MFD1601可以如上所述地改變視頻的簡檔。當MFD1601到達視頻傳送環路中的將傳送下一個組塊的點時,可以看到,針對視頻已改變簡檔。MFD1601查找用於新比特率的視頻高速緩存/存儲,並找到與假設在之前的簡檔中被傳送的組塊相對應的組塊。然後,MFD1601將與所修訂的簡檔相對應的新的重新映射的組塊發送至客戶端播放器。在另一可行實施方式中,可以將客戶端資源監測和MFD1601帶寬監測相組合。客戶端可以監測客戶端上的資源,例如CPU資源、存儲器資源等。如果客戶端檢測到資源指出客戶端顯示視頻的能力減小或增大,則客戶端可以告訴MFD1601如上所述地經由HTTP請求來切換比特率。MFD1601看到已被請求的pf。如果所請求的pf在MFD元數據中存在,則MFD1601改變所傳送的視頻的簡檔。在MFD側,MFD1601可以如上所述地檢測帶寬變化。其可以查看用於視頻的MFD元數據,並找到可用於視頻且適於可用帶寬的比特率。然後,MFD1601可以改變視頻的簡檔。如上所述,當MFD1601發現簡檔已經改變時,其改變視頻的比特率。MFD1601查找用於新的比特率的視頻高速緩存/存儲,並找到與假設在之前的簡檔中傳送的組塊相對應的組塊。然後,MFD1601將與所修訂的簡檔相對應的新的重新映射的組塊發送至客戶端播放器。MFD1601帶寬檢測和客戶端側資源監測的組合提供了用於正被傳送和正被顯示的視頻的比特率的更好控制。伺服器側播放器伺服器側播放器1607針對每個視頻流主要負責特定視頻邏輯的封裝和執行。當針對視頻流向MFD1601進行請求時,這種執行可以出現在入站側(inboundside),或者當正要傳送特定視頻流時,這種執行可以出現在出站側。伺服器側播放器1607解釋從輸出協議引擎接收的URI,決定什麼比特率用於所請求的視頻內容、處理將發送什麼、以及從哪裡播放視頻(從視頻內的哪一幀開始流動)。伺服器側播放器1607對比特率很清楚,並知道其嘗試服務的視頻內容的比特率。其可以使用從最優化網絡堆棧中獲得的信息,以找出什麼樣的有效帶寬可用於最後一英裡的客戶端。伺服器側播放器1607還可以批准該請求。與不知道視頻文件格式或視頻內容是什麼的一般文件伺服器相反,伺服器側播放器201對視頻很清楚。當伺服器側播放器1607在視頻已經開始之後改變比特率時,伺服器側播放器1607已經知道相關聯的幀存在於不同的比特率版本中的什麼地方,因此,伺服器側播放器1607可以容易地改變比特率,而無需客戶端必須針對新的比特率發送不同的偏移量。一個可行實施方式針對特定的視頻內容而存儲了幾個不同的比特率版本。伺服器側播放器1607為每個比特率版本存儲索引表,因此,伺服器側播放器1607可以快速地查閱一個表以為新的比特率視頻找到相關聯的幀。文件元數據內容文件被存儲在可接入MFD1601的至少一個本地存儲裝置上。內容提供商為MFD提供與已由其提供的每組視頻文件相關聯的元數據文件。元數據描述任何元數據文件(例如,XML數據文件)的名稱,這些元數據文件可用於下載至客戶端視頻播放器,該客戶端視頻播放器例如向視頻播放器描述可用於視頻內容的比特率和/或可以被發送至MFD的特殊再現特徵命令。元數據還告訴MFD1601與每個可用比特率相關聯的視頻文件的文件名。MFD1601針對包含由內容提供商提供的元數據的一組視頻文件而保持其自身的一組元數據。MFD元數據格式是可擴展的。諸如特殊再現特徵的特徵可以容易地被添加至元數據。每個特徵均可以具有標籤標題,該標籤標題可以具有該特徵所需的所有欄位和對該特徵可能需要的數據集的偏移量。該數據可以由文件頂部的類屬標題(genericheader)來引導。標題可以具有關於由其特徵標識符在特定元數據文件中支持的特徵的數量的信息。該信息可以由MFD1601直接使用,以快速地移動至所需特徵標籤並從那裡移動至數據集。MFD1601還創建告訴客戶端播放器關於可用於一組視頻文件的各種簡檔的客戶端元數據文件。在比特率過渡期間出現的偽像(artifact)當從一個比特率流切換至另一個比特率時,可能出現偽像。在一個可行實施方式中,可以以這樣的方式編碼視頻數據,使得在組塊之間存在視頻數據的重疊。當之前的組塊進入重疊區域本身時,沒有重現(render),開始下一個組塊的初始化和重放。當出現實際的組塊過渡時,減少/去除幀抖動。可以通過在預定的組塊邊界處切換視頻的比特率,來實現平滑流。為了將抖動最少化,SSP1607對其將切換至的組塊的一部分預加載;這使得組塊過渡是無縫的。為了完成這一點,SSP1607在內部使用定時器,當達到可配置的閾值時,定時器觸發下一個組塊的預加載。另外,對於MP4文件,在對視頻背景的解碼和重現中存在有限的延遲。為了克服這一點,GUI具有兩個視頻背景,一個具有當前重放的組塊,另一個視頻背景用於預加載的流。然後,在組塊邊界處交換這些視頻對象。2.2.3網絡中的媒體流導向器參考圖17,示出了MFD1702、1703網絡應用的兩個實施例。在一個實施例中,對平滑流處理器1706a和邊緣伺服器1711分配MFD1702的任務。發布系統1704(在下文中描述)允許內容提供商準備用於平滑流傳送的文件。內容提供商通過使用發布系統1704產生用於某一內容的多比特率文件。文件可以被存儲在用作存儲庫(其中,該文件與其他內容文件一起被存儲)的原始伺服器1703上。MFD1702中的邊緣伺服器1711在網絡連接(例如網際網路、內聯網等)上服務對來自客戶端播放器1710d、1710e的視頻數據的請求。當來自客戶端播放器的內容的請求導致高速緩存缺失時,邊緣伺服器1711作用於高速緩存缺失觸發器,並向平滑流處理系統1706a發送對內容的請求。平滑流處理系統1706獲得與來自原始伺服器1703的內容相關聯的文件。在一個可行實施方式中,平滑流系統1706a可以僅向邊緣伺服器1711傳遞用於內容的默認文件,以使邊緣伺服器1711儘可能快地對請求的客戶端播放器服務內容。如下文對較遲的客戶端播放器請求所描述的,平滑流處理系統1706a有時間來預處理內容文件。預處理使得能夠實現用於該內容的比特率切換和特殊再現功能。一旦文件被預處理,平滑流處理系統1706a就將預處理的文件發送至邊緣伺服器1711,以將其存儲在與邊緣伺服器1711相通信的一個或多個存儲裝置上。在一個可行實施方式中,觸發器可以以預處理請求為基礎。預處理請求是這樣的請求,其中,甚至在邊緣伺服器1711從客戶端播放器接收對內容的請求之前,用戶可以將觸發器特定地發送至邊緣伺服器1711,以預處理並輸入內容。邊緣伺服器1711作用於預處理的觸發器,並向平滑流處理系統1706a發送對內容的請求。平滑流處理系統1706a獲得與來自原始伺服器1703的內容相關聯的文件。平滑流處理系統1706a如下所述地預處理這些內容文件。一旦已對這些文件預處理,平滑流處理系統1706a就將預處理的文件發送至邊緣伺服器1711,以將其存儲在與邊緣伺服器1711通信的一個或多個存儲裝置上。在第二實施例中,MFD1703作為中心平滑流內容伺服器對與MFD1703通信的其他MFD邊緣伺服器1709a至1709c進行操作。在內容提供商完成與發布系統1704上的內容相關聯的文件的產生之後,發布系統1704將內容文件推送至MFD1703中的原始存儲系統1705。原始存儲系統1705是所發布的文件的存儲庫。平滑流處理系統1706b從原始存儲系統1705獲得用於預處理的文件。平滑流處理系統1706b如下所述地預處理內容文件。預處理使得能夠實現用於該內容的比特率切換和特殊再現功能。一旦對這些文件進行了預處理,平滑流處理系統1706b就將預處理的文件發送至原始伺服器1707,以將其存儲在與原始伺服器1707通信的一個或多個存儲裝置上。原始伺服器1707存儲用於分配至邊緣伺服器的預處理的內容文件。邊緣伺服器1709a至1709b在網絡連接(例如網際網路、內聯網等)上服務對來自客戶端播放器210a至210c的視頻數據的請求。邊緣伺服器1709a至1709c與很多客戶端播放器相通信。邊緣伺服器1709a至1709c在網絡連接(例如,網際網路、內聯網等)上還與MFD1703通信。當對來自客戶端播放器(例如,客戶端播放器210a)的內容的請求在邊緣伺服器(例如,邊緣伺服器1709a)上導致高速緩存缺失時,邊緣伺服器作用於高速緩存缺失觸發器,並將對內容的請求發送至MFD1703中的原始伺服器1707。原始伺服器1707將預處理的平滑流內容文件發送至邊緣伺服器1709a。邊緣伺服器1709a通過使用預處理的平滑流內容文件而向請求的客戶端播放器210a服務內容。在一個可行實施方式中,與以上的實施例一樣,觸發器可以以預處理請求為基礎。甚至在邊緣伺服器從客戶端播放器接收對內容的請求之前,用戶可以將觸發器特定地發送至邊緣伺服器1709a至1709c中的任何一個,以預處理並輸入內容。原始伺服器1707將預處理的平滑流內容文件發送至請求的邊緣伺服器。邊緣伺服器將預處理的平滑流內容文件存儲在與邊緣伺服器通信的至少一個存儲裝置上。2.2.4準備平滑流文件參考圖18,示出了MFD1601中的內容文件的平滑流預處理的可行實施方式。可以以兩種方式觸發內容文件(攝取)的讀取和預處理。第一種方式是,對於對內容的預處理的特定請求,通過使用來自表1的特定sf查詢參數而出現1803。在該輸入形式中,MFD1601特定地接收請求,以觸發/開始來自發布商的平滑流內容的預處理/輸入。MFD1601將該請求內部地分解為相關的名字空間,並且如果所指定的虛擬播放器類型與平滑流播放器類型相匹配,則通過識別sf的狀態,在該情況下,為「4」,MFD1601能夠啟動預分級(pre-stage)處理。第二種方式是,由對內容的客戶端播放器請求所導致的高速緩存缺失1804。在該輸入形式中,MFD1601不能讀取內部元數據文件,此時其重新映射請求,以服務常規的單比特率視頻文件。由於MFD1601知道平滑流資源對於該視頻來說是不可用的,所以其在內部產生請求,以啟動對該內容的預分級處理。VPE-Q保持跟蹤文件(排隊以由其處理)的哈希表。如果複製對平滑流的請求,則如果存在對VPE-Q中的資源的入口(處於排隊、已處理或正處理狀態中),MFD自動地拒絕。為了處理內容文件,MFD1601具有視頻處理引擎隊列(VPE-Q),其作為埠監督程序(daemon)而運行,以處理對VPE模塊特定的請求,並基於提供有隊列元素的信令屬性將這些請求引導至相關的模塊。觸發器和高速緩存缺失攝取命令在用於處理的VPE-Q流水線中產生隊列請求。埠監督程序處理每個排隊的元素,並調用啟動預處理輸入工作流程的外部模塊1806。如果預處理作業報告指示誤差,則外部模塊1806具有固定數量的重試以校正該情形。當外部模塊用完嘗試時,其向VPE-Q管理器1805返回無法為平滑流準備元素的消息。然後,SSP1607自動地回到用於該資源的單比特率傳送機制。VPE-Q管理器1805為外部模塊1806提供必需的參數,以啟動攝取過程。外部模塊1806讀取內容提供商所提供的描述其發布的內容的元數據文件。一旦接收到文件,外部模塊1806就解析文件中的數據,以獲得關於多比特率文件的數量的信息。外部模塊1806隨後檢索各個視頻文件。外部模塊1806調用預處理模塊1807。預處理模塊1807重新使文件貨櫃化(containerize),以推薦的或配置的間隔打碎文件,並產生各個視頻文件的多個組塊/碎片作為其輸出。預處理模塊1807產生MFD內部元數據、客戶端xml元文件,以及每個請求的作業狀態報告。外部模塊1806將所有碎片排隊成MFD1601的文件管理器隊列(FMGR),以高速緩存輸入至MFD高速緩存層級1802中。參考圖19,示出了預處理引擎1808數據流結構中的VPE-Q管理器1805。預處理引擎1808的輸入可以經由外部模塊1806,而外部模塊1806由VPE-Q管理器1805控制。預處理引擎1808經由用於平滑流、特殊再現等的MFD1601準備用於特徵豐富傳送的視頻數據。對平滑流的準備處理包括,解析輸入視頻數據包並識別最接近(在時間尺度上)預配置的平滑流周期的I幀。這些點被稱作同步點。然後,根據每個FLVV9.0格式規格,將這些同步點處的視頻包貨櫃化為叫做「組塊」的分離視頻對象。預處理引擎1808完全設計為與插件(plugin)1905一起起作用。編碼解碼器處理1909和I/O處理1906均是基於插件的。通過實現由預處理引擎1808暴露的適當接口,可以容易地增加更多編碼解碼器,以與平滑流傳送系統相符。同樣地,該系統可以通過符合I/O接口,而在基於緩衝器1908或基於文件/磁碟1907的I/O之間無縫地切換。任何編碼解碼器接口1910至1912均能夠將數據處理成可分別解碼的數據組塊,這些數據組塊可以被附加為以產生固定的流或者可以獨立地播放。編碼解碼器結構還可以產生附加的元數據,以用平滑流傳送框架提供如特殊再現的附加特徵。在一個可行實施方式中,視頻數據被存儲為可以以任何順序組合的構件塊(不均勻地,意味著可以混合任意多個這些構件塊,以形成不均勻的流),以構造所述流,而接收器不知道該順序並且沒有需要明確證明的變化。可以任何順序組合數據,以傳送除平滑流以外的特徵。例如:特殊再現——其中,基於特殊再現請求的速度和方向,僅以特定順序組合I幀。廣告插入——其中,可以無縫地組合或混合廣告。通過改變插入的音頻包來選擇音頻語言。現場流——通過將數據實時地轉換為構件塊,並在PDL上的電線上對它們進行傳輸。預處理引擎1808可以產生準備好的視頻數據、用於伺服器的元數據、用於客戶端的元數據,以及給出每個作業的狀態的作業狀態報告。作業狀態報告可以在簡單的文本文件中匯報以下內容:所處理的簡檔的數量所處理的總數據用於處理所花費的時間處理數據的速率錯誤代碼(如果有的話)視頻文件結構參考圖20,示出了FLV2001和MP42002文件結構。在FLV文件格式2001中,標題信息橫跨在整個文件上,而對於MP4文件2002,整個標題信息2010適當地集中在開始處。與MP4格式相比,這種形式的標題布局使得FLV格式對漸進式下載非常好。在一個可行實施方式中,由於由FLV結構所提供的固有的優點,將H.264/AAC內容存儲在FLV容器中而不是存儲在MP4中,可以在平滑流傳送框架方面給予幫助。以下是漸進式下載方面的兩種格式之間的幾個特徵,用於進行比較:當將H.264內容存儲在FLV中時,沒有質量損失。在比特方面,數據是精確地相同的。當將該數據以FLV格式存儲時,在文件大小上存在微小的系統開銷。作為平滑流工作流程的一部分,使用與內容提供商/發布商、MFD和客戶端播放器相關的三種不同類型的元數據規格。下面的文本描述了以下細節:用戶媒體資產描述規格Nokeena內部規格客戶端播放器XML元數據規格媒體資產需要被輸入至MFD系統中,使得經由預分級機制或通過高速緩存缺失機制能夠進行基於平滑流的傳送。由於在平滑流情況中媒體資產為比特率不同的一組視頻序列,所以關於對其命名和分組應存在標準化。資產的所有者發布附加的元數據,以幫助預處理和傳送過程。可以以下面的格式將元數據發布為簡單的文本文件:版本:major.minor流:3關鍵幀間隔:「n」秒幀速率:「x」fps序列持續時間:「n」秒視頻編碼格式:{.236\VP6\.264}音頻編碼格式:{.aac\.mp3}容器格式:{.flv\.mp4}速率:Br1URI:http://medianokeenacom/foo_p01.flv速率:Br2URI:http://medianokeenacom/foo_p02.flv速率:Br3URI:http://medianokeenacom/foo_p03.flv元數據文件可以包含以下信息塊:-簡檔/流的數量-每個流的總比特率-用於每個流的URI-關鍵幀間隔(n秒)以上實施例使用FLV作為一個實例,但也支持MP4。參考圖21,在一個可行實施方式中,預處理引擎準備輸入視頻數據,以支持如同平滑流的各種特徵。預處理包括重新格式化內容並增加特徵特定的元數據。每個特徵均具有標籤標題,其可以具有該特徵所需的所有欄位和對其可能需要的數據集的偏移量。該數據可以由文件頂部處的類屬標題2102來引導。標題具有關於特徵的數量的信息,這些特徵在具有其特徵標識符的特定元數據文件中得到支持。該信息可以直接被用於快速地移動至所需特徵標籤並從該特徵標籤移動至該數據集。類屬標題2102特徵表(nkn_feature_table)特徵TAG2103,2105特徵標籤平滑流客戶端播放器XML元數據規格以下示出了用於客戶端元數據規格的概要的一個實施例:3.0實現機制——硬體概述圖6是示出了可以在其上實現本發明的一個實施方式的計算機系統600的結構圖。計算機系統600包括總線602或用於傳達信息的其他通信機構,以及與總線602相耦接的用於處理信息的處理器604。計算機系統600還包括主存儲器606,例如,隨機存取存儲器(RAM)或其他動態存儲裝置,其與總線602接合,用於存儲將由處理器604執行的信息和指令。主存儲器606還可以用於在執行將由處理器604執行的指令的過程中存儲臨時變量或其他中間信息。計算機系統600進一步包括只讀存儲器(ROM)608或與總線602耦接以用於存儲靜態信息和處理器604的指令的其他靜態存儲裝置。提供存儲裝置610(諸如磁碟或光碟),並將它們耦接至總線602,以存儲信息和指令。計算機系統600可以經由總線602而耦接至用於向計算機用戶顯示信息的顯示器612(例如,陰極射線管(CRT))。輸入裝置614(包括字母數字和其他鍵)耦接至總線602以向處理器604傳達信息和命令選擇。另一種類型的用戶輸入裝置為光標控制616,諸如滑鼠、跟蹤球,或者,用於向處理器604傳達方向信息和命令選擇並用於控制顯示器612上的光標運動的光標方向鍵。該輸入裝置通常在兩個軸(第一軸(例如x)和第二軸(例如y))中具有兩個自由度,其允許裝置指定平面中的位置。本發明涉及用於執行本文所描述的技術的計算機系統600的使用。根據本發明的一個實施方式,通過計算機系統600響應於處理器604執行包含在主存儲器606中的一個或多個指令的一個或多個序列,而執行這些技術。可以將這些指令從另一機器可讀介質(例如,存儲裝置610)讀入主存儲器606。包含在主存儲器606中的指令序列的執行使得處理器604執行本文所描述的處理步驟。在可選實施方式中,可以用硬連線電路代替該處理器或與軟體指令相結合,以實現本發明。因此,本發明的實施方式不限於硬體電路和軟體的任何特定組合。本文中所使用的術語「機器可讀介質」指的是參與提供使機器以特定方式操作的數據的任何介質。在使用計算機系統600所實現的實施方式中,各種機器可讀的介質例如均涉及向處理器604提供指令以執行。這種介質可以採用很多形式,包括但不限於存儲介質和傳輸介質。存儲介質包括非易失性介質和易失性介質。非易失性介質例如包括諸如存儲裝置610的光碟或磁碟。易失性介質包括動態存儲器,例如主存儲器606。傳輸介質包括包含電線(包括總線602)的同軸電纜、銅線和光纖。傳輸介質也可以採用聲波或光波的形式,例如那些在無線電波和紅外數據通信過程中產生的聲波或光波。所有這些介質必須確實使得能夠通過將指令讀入機器的物理機構來檢測由介質所攜帶的指令。機器可讀介質的一般形式包括例如軟盤、軟磁碟、硬碟、磁帶,或任何其他磁性介質、CD-ROM、任何其他光學介質、穿孔卡、紙帶、任何其他具有孔的圖案的物理介質、RAM、PROM,以及EPROM、FLASH-EPROM、任何其他存儲晶片或盒式磁帶,或計算機可讀取的任何其他介質。各種形式的機器可讀介質均可以涉及將一個或多個指令的一個或多個序列運送至處理器604以用於執行。例如,指令在初始被承載在遠程計算機的磁碟上。遠程計算機可以將指令載入其動態存儲器中,並使用數據機而在電話線上發送指令。計算機系統600本地的數據機可以在電話線上接收數據,並使用紅外發射器將數據轉換成紅外信號。紅外檢測器可以接收承載在紅外信號中的數據,並且適當的電路可以在總線602上放置數據。總線602將數據運送至主存儲器606,處理器604從該主存儲器中進行檢索並執行指令。可選地,由主存儲器606接收的指令在由處理器604執行之前或之後可以被存儲在存儲裝置610上。計算機系統600還包括耦合至總線602的通信接口618。通信接口618提供耦接至與本地網絡622連接的網絡鏈路620的雙向數據通信。例如,通信接口618可以是綜合業務數字網絡(ISDN)卡或數據機,以對相應類型的電話線提供數據通信連接。作為另一實施例,通信接口618可以是區域網(LAN)卡,以向兼容的LAN提供數據通信連接。還可以實現無線鏈路。在任何這種實現方式中,通信接口618發送並接收電信號、電磁信號或光信號,它們均攜帶代表各種類型的信息的數字數據流。網絡鏈路620典型地通過一個或多個網絡向其他數據裝置提供數據通信。例如,網絡鏈路620可以通過區域網622對主機624或對由網際網路服務提供商(ISP)626操作的數據設備提供連接。然後,ISP626通過世界包數據通信網絡(現在一般叫做「網際網路」)628提供數據通信服務。本地網622和網際網路628均使用攜帶數字數據流的電信號、電磁信號或光信號。計算機系統600可以通過網絡、網絡鏈路620和通信接口618發送消息並接收數據(包括程序代碼)。在網際網路實施例中,伺服器630可以通過網際網路628、ISP626、本地網622和通信接口618發射用於應用程式的所請求的代碼。當接收到代碼時,可以通過處理器604來執行所接收的代碼,和/或將代碼存儲在存儲裝置610或其他非易失性存儲器中以在以後執行。4.0實施例在一個實施方式中,一種方法或一種攜帶一個或多個指令序列的計算機可讀存儲介質包括,其中,利用一個或多個處理器執行一個或多個指令序列使得一個或多個處理器執行以下步驟:在伺服器處從客戶端系統接收對媒體內容的請求;通過伺服器將所請求的媒體內容的被編碼為第一比特率的部分傳送至客戶端系統;在伺服器處確定:可以將傳送所請求的媒體內容的被編碼為第一比特率的部分改變為傳送所請求的媒體內容的編碼為第二比特率的部分;一經確定可以將傳送所請求的媒體內容的被編碼為第一比特率的部分改變為傳送所請求的媒體內容的被編碼為所述第二比特率的部分,所述傳送步驟就停止將所請求的媒體內容的編碼為第一比特率的部分傳送至客戶端系統,並開始將所請求的媒體內容的被編碼為第二比特率的部分傳送至客戶端系統。在一個實施方式中,一種方法或計算機可讀存儲介質還包括:在伺服器處確定伺服器和客戶端系統之間的可用帶寬已經改變;其中,可用帶寬確定步驟通知傳送確定步驟伺服器和客戶端系統之間的可用帶寬已經改變。在一個實施方式中,一種方法或一種計算機可讀存儲介質還包括,其中,客戶端系統規定第二比特率。在一個實施方式中,一種方法或一種計算機可讀存儲介質還包括在客戶端系統處接收來自伺服器的用於所請求的媒體內容的可用比特率和特徵,其中,客戶端系統從所接收的可用比特率中選擇第二比特率。在一個實施方式中,一種方法或一種計算機可讀存儲介質還包括:將多個媒體內容文件存儲在與所述伺服器通信的至少一個存儲裝置上;其中,至少一個存儲裝置包含所請求的媒體內容的被編碼為第一比特率的部分和所請求的媒體內容的被編碼為第二比特率的部分。在一個實施方式中,一種方法或計算機可讀存儲介質還包括:當將所請求的媒體內容的被編碼為第二比特率的部分傳送至客戶端系統時,對所述部分進行編碼。在一個實施方式中,一種方法或一種計算機可讀存儲介質還包括,其中,傳送步驟從所請求的媒體內容中的、已經停止傳送所請求的媒體內容的被編碼為所述第一比特率的部分的點,開始傳送所請求的媒體內容的被編碼為第二比特率的部分。在一個實施方式中,一種方法或一種計算機可讀存儲介質還包括,其中,傳送步驟參考索引找到在所請求的媒體內容中被編碼為第二比特率的媒體幀,該媒體幀與其中停止傳送所請求的媒體內容的被編碼為第一比特率的部分的媒體幀相關聯,並且其中,傳送步驟從所請求的媒體內容中的被編碼為第二比特率的相關聯媒體幀,開始傳送所請求的媒體內容的被編碼為第二比特率的部分。在一個實施方式中,一種方法或一種計算機可讀存儲介質還包括:其中,傳送步驟在所請求的媒體內容的被編碼為第一比特率的媒體部分組塊的末尾處停止傳送所請求的媒體內容的被編碼為第一比特率的部分,並開始從所請求的媒體內容中的被編碼為第二比特率的媒體部分組塊的起點處傳送所請求的媒體內容的被編碼為第二比特率的部分,所請求的媒體內容中的被編碼為第二比特率的媒體部分組塊的起點與所請求的媒體內容的被編碼為第一比特率的媒體部分組塊的末尾在時間上是連續的。在一個實施方式中,一種方法或一種計算機可讀的存儲介質還包括:當將所請求的媒體內容的部分傳送至客戶端系統時,傳送作為所請求的媒體內容的部分的一部分的替代內容。在一個實施方式中,一種方法或一種計算機可讀存儲介質還包括,其中,當從原始伺服器接收到所請求的媒體內容的被編碼為所述第一比特率的部分時,傳送步驟傳送所請求的媒體內容的被編碼為第一比特率的部分。在一個實施方式中,一種方法或一種計算機可讀的存儲介質還包括:其中,對從原始伺服器接收的被編碼為第一比特率的所請求的媒體內容進行排隊,以由伺服器編碼成第二比特率。在一個實施方式中,一種方法或一種計算機可讀存儲介質還包括:其中,所請求的媒體內容為音頻內容。在一個實施方式中,一種方法或一種計算機可讀存儲介質還包括:其中,所請求的媒體內容為視頻內容。在一個實施方式中,一種設備包括:媒體傳送請求接收器,在伺服器上接收來自客戶端的對媒體內容的請求;媒體內容傳送子系統,在伺服器上將所請求的媒體內容的被編碼為第一比特率的部分傳送至所述客戶端系統;比特率過渡確定子系統,在伺服器上確定可以將傳送所請求的媒體內容的被編碼為第一比特率的部分改變為傳送所請求的媒體內容的被編碼為第二比特率的部分;一經確定將傳送所請求的媒體內容的被編碼為第一比特率的部分改變為傳送所請求的媒體內容的被編碼為第二比特率的部分,媒體內容傳送子系統就停止向客戶端系統傳送所請求的媒體內容的被編碼為第一比特率的部分,並開始向客戶端系統傳送所請求的媒體內容的被編碼為第二比特率的部分。在一個實施方式中,一種設備還包括帶寬確定子系統,在伺服器上確定伺服器和客戶端系統之間的可用帶寬已經改變;其中,帶寬確定子系統通知比特率過渡確定子系統伺服器和客戶端系統之間的可用帶寬已經改變。在一個實施方式中,一種設備還包括,其中,客戶端系統規定第二比特率。在一個實施方式中,一種設備還包括媒體內容描述接收器,在客戶端系統上接收來自伺服器的用於所請求的媒體內容的可用比特率和特徵;其中,客戶端系統從所接收的可用比特率中選擇第二比特率。在一個實施方式中,一種設備還包括與所述伺服器通信的用於存儲多個媒體內容文件的至少一個存儲裝置;其中,至少一個存儲裝置包含所請求的媒體內容的被編碼為第一比特率的部分和所請求的媒體內容的被編碼為第二比特率的部分。在一個實施方式中,一種設備還包括,其中,當將所請求的媒體內容的被編碼為第二比特率的部分傳送至客戶端系統時,媒體內容傳送子系統對該部分進行編碼。在一個實施方式中,一種設備還包括,其中,媒體內容傳送子系統從所請求的媒體內容中的、已經停止傳送所請求的媒體內容的被編碼為第一比特率的部分的點,開始傳送所請求的媒體內容的被編碼為第二比特率的部分。在一個實施方式中,一種設備還包括,其中,媒體內容傳送子系統參考索引找到在所請求的媒體內容中的被編碼為所述第二比特率編碼的媒體幀,所述媒體幀與其中停止傳送所請求的媒體內容的被編碼為第一比特率的部分的媒體幀相關聯,並且其中,媒體內容傳送子系統從所請求的媒體內容中的被編碼為第二比特率編碼的相關聯媒體幀開始傳送所請求的媒體內容的被編碼為第二比特率的部分。在一個實施方式中,一種設備還包括,其中,媒體內容傳送子系統在所請求的媒體內容的被編碼為第一比特率的媒體部分組塊的末尾處停止傳送所請求的媒體內容的被編碼為第一比特率的部分,並開始從所請求的媒體內容中的被編碼為第二比特率的媒體部分組塊的起點處傳送所請求的媒體內容的被編碼為第二比特率的部分,所請求的媒體內容中的被編碼為第二比特率的媒體部分組塊的起點與所請求的媒體內容的被編碼為第一比特率的媒體部分組塊的末尾在時間上是連續的。在一個實施方式中,一種設備還包括,其中,當將所請求的媒體內容的部分傳送至客戶端系統時,媒體內容傳送子系統傳送作為所請求的媒體內容的部分的一部分的替代內容。在一個實施方式中,一種設備還包括,其中,當從原始伺服器接收所請求的媒體內容的被編碼為第一比特率的部分時,媒體內容傳送子系統傳送所請求的媒體內容的被編碼為第一比特率的部分。在一個實施方式中,一種設備還包括,其中,對從原始伺服器接收的被編碼為第一比特率的所請求的媒體內容進行排隊,以由伺服器編碼成所述第二比特率。在一個實施方式中,一種設備還包括,其中,所請求的媒體內容為音頻內容。在一個實施方式中,一種設備還包括,其中,所請求的媒體內容為視頻內容。5.0擴展和變形在上述說明書中,已經參考每個實現方式可能均不同的許多具體細節描述了本發明的實施方式。因此,本發明是什麼並且申請人旨在針對本發明的唯一且獨有的指標是由本申請產生的這組權利要求,在這些權利要求產生的具體形式下,其包括任何後續的校正。本文中針對包含在權利要求中的術語所清晰闡述的定義,應規定如權利要求中所使用的這些術語的意義。因此,沒有限制地,在權利要求中並未清楚敘述的元素、特性、特徵、優點或屬性不應以任何方式限制這種權利要求的範圍。相應地,將說明書和附圖均看作是說明性的而不是限制性的。當前第1頁1&nbsp2&nbsp3&nbsp當前第1頁1&nbsp2&nbsp3&nbsp

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀