用於本地視頻伺服器的許可控制系統的製作方法
2023-06-01 02:49:56
專利名稱:用於本地視頻伺服器的許可控制系統的製作方法
技術領域:
本發明一般涉及數字數據的傳輸,尤其涉及確定在數字數據傳輸系統中向一組當前工作的傳輸數據流增加附加的數據流的請求是否可被實現。
背景技術:
數據傳輸系統將數字數據從一點傳送到另一點。該數字數據能夠同時包括幾個分別不同的數據流,每個表示一個不同的信號。當數據傳輸系統正傳送多個數據流以及接收到要求包括新的數據流的請求時,必須確定數據傳輸系統是否有能力來包括所請求的新的數據流。在從數據源到數據宿的整個數據傳輸中包含許多參數、連接和電路,並且所有這些必須有能力處理數據傳輸。
在一實施例中,這些數據流表示視頻和/或音頻信號。所述視頻和/或音頻數據流通常存儲在諸如磁碟或硬碟驅動的海量存儲設備中。更具體地講,視頻和/或音頻數據流既可從傳輸系統接收到並存儲在海量存儲設備上(記錄),也可從海量存儲設備上檢索並在傳輸系統上傳送(重放)。這種系統經常稱作多媒體系統。如前所述,在諸如多媒體系統的傳輸系統中存在許多連接。在海量存儲設備和傳輸系統的剩餘部分(remainder)之間存在一種這樣的連接。
在現代多媒體系統中,表示視頻和/或音頻信號的大量數據經常作為數據塊存儲在海量存儲設備中,每個數據塊由一連串的比特組成。當硬碟驅動正在重新定位以提供表示下一數據流的數據時(在此期間不傳送數據),因為海量存儲設備要求在存取連續的包含期望的數據流的數據塊之間的時間,所以與海量存儲設備的數據通信包括以相對高的數據速率(在該應用的剩餘部分中的R)傳送由時延時間(在該應用的剩餘部分中的I)隔開的連續數據突發。當以實時傳送視頻數據時,關於每個連續視頻幀的數據在接收端需要時必須是可獲得的。這意味著在沒有由海量存儲設備中固有的時延時間分開的突發的傳輸媒介上要求更加恆定的傳輸速率(在該應用的剩餘部分中的r)。
為了在容許數據以突發向(或從)海量存儲設備傳送時容許數據以相對穩定的傳輸速率在傳輸媒介上傳輸,公知的作為緩衝存儲器的臨時存儲器連接到海量存儲設備和傳輸介質之間。這個可以是單獨的專用存儲設備,或者可以是分配來作為緩衝器使用的處理器的主存儲器的一部分,其控制對海量存儲設備的存取。將該緩衝器經常想像為由數據源填滿和由數據宿騰空的桶。例如,在重放期間,所述緩衝器(桶)由來自磁碟的數據以突發的方式填滿,以及以穩定的數據速率騰空而進入傳輸媒介,並且在記錄期間緩衝器由傳輸介質以穩定數據速率填滿,以及以突發的方式騰空到磁碟上。
本領域的技術人員應理解緩衝存儲器的大小一定要足夠大以便存儲關於被傳送的所有數據流的數據。也就是說,如果緩衝存儲器是足夠大的,則所有的數據流可以在緩衝存儲器既不溢出又容許緩衝存儲器完全騰空的情況下被傳輸。本發明人知道無論何時收到發送新的數據流請求時,必須計算當前傳輸系統的參數,以及尤其是請求的恆定傳輸速率r、磁碟的突發速率R、磁碟的時延時間I和緩衝器的大小(在該應用的剩餘部分中的B),以便確定新的數據流是否可以連續的傳送。如果可以連續的傳送,則許可數據流進入數據傳輸系統,否則,不許可數據流進入數據傳輸系統。
存在許多處理緩衝器和I/O優化問題的方法。例如,由Ozden等人發布的名為「LOOKHEAD BUFFER REPLACEMENT METHOD USING RATIOOF CLIENTS ACCESS ORDER OFFESETS AND BUFFER DATA BLOCKOFFESETS」的美國專利第5,870,551號,其公開了一種確定或估計在緩衝存儲器中緩衝的每個數據未來的存取。在對緩衝器中的每個數據塊進行分析後,安排新的數據代替具有未來最低存取可能性的數據塊。
由Balakrishnan發布的名為「ENCODER BUFFER HAVING ANEFFECTIVE SIZE WHICH VARIES AUTOMATICALLY WITH THECHANNEL BIT RATE」的美國專利第5,566,208號公開了一種視頻傳輸系統,其中隨著傳輸速率的增加緩衝器的大小也增加。緩衝器的大小維持在RΔT(1-m1)-M,其中R是可變速率視頻信號的平均傳輸速率,ΔT是在對傳輸的視頻信號進行編碼和解碼過程中的固定延遲,R(1-m1)是通信系統以平均傳輸速率R實現的最小瞬間傳輸速率,M是最大可用的緩衝存儲器的總量。
由Dan等人發布的名為「LOAD BALANCING IN VIDO ON DEMANDSERVERS BY ALLOCATING BUFFER TO STEAMS WITH SUCCESSIVELYLARGER BUFFER REQUIREMENTS UNTIL THE BUFFERREQUIREMENTS OF A STREAM CANNOT BE SATISFIED」的美國專利第5,544,327號公開了一種緩衝器管理器,該緩衝器管理器通過對高負載部件上的流進行優化緩衝來平衡視頻伺服器的各種電影存儲部件上的負載。當由於新的請求的到達而使存儲部件負載增加時,或者當由於傳輸暫停而使緩衝器空間變得可用時,發生緩衝存儲器的分配。
由Dan等人發布的名為「BUFFER MANAGEMENT POLICY FOR AN ONDEMAND VIDEO SERVER」的美國專利第5,572,645號公開了一種用於通過選擇性地保留數據塊來減小由多媒體伺服器要求的磁碟帶寬容量的方法,所述數據塊已經由一個數據流遞送。然後保留的數據塊可以由其他多媒體應用重用。由於數據流依靠數據塊緩衝,所以對存儲的要求要比緩衝完整電影所要求的要小,原因在於所述緩衝適合於改變緩衝器存取模式。
由Corrigan等人發布的名為「OPTIMIZED I/O BUFFERS HAVING THEABILITY TO INCREASE OR DECREASE IN SIZE TO MEET SYSTEMREQUIREMENTS」的美國專利第5,179,662號公開了一種雙緩存方案,其將它的數據內容寫入輔助存儲器。增加緩衝器的大小,直至計算機系統不用在能夠用數據重新填滿一緩衝器之前必須要同步地等待該緩衝器完成它的寫操作。
所有的這些許可控制和緩衝器管理系統是在有關數據流的理想設想條件下來考慮的,或者是通過提供設計用來處理峰值數據速率的昂貴的緩衝器擴展能力實現的。許可控制協議是任何視頻伺服器的實現的核心。理想情況是,需要這樣的許可控制系統,其提供限定的視頻數據流的特性和緩衝器要求之間的可預測的關係。
發明內容
根據本發明的原理,許可控制系統包括存儲設備、以及互連到存儲設備的緩衝存儲器;互連到緩衝存儲器的許可控制器包括使用適合於在存儲設備和緩衝存儲器之間的交互的參數的裝置;以及響應於至少一些所測量的參數來控制在存儲設備和緩衝存儲器之間的數據傳送的裝置。
本發明的系統通過更有效的使用海量存儲器設備的能力來容許視頻伺服器對每個視頻流有較低的開銷。在此處描述的許可控制系統使用視頻流緩衝器要求作為性能參數,來控制視頻帶寬和視頻流的分配。一種新穎的許可控制算法將諸如比特速率、重放/記錄和偏移量的視頻流特性與緩衝器要求進行比較,從而,提供了在視頻流中的數據和作為結果的緩衝器使用之間的更可預測的關係。分析模式將視頻流比特速率以及磁碟性能參數與緩衝器空間要求聯繫起來,在磁碟傳送期間容許預測和管理由視頻伺服器使用的緩衝存儲器的量。
圖1是使用本發明的視頻伺服器的簡化方框圖;圖2是描述視頻重放流的緩衝器使用的曲線圖;圖3是描述視頻記錄流的緩衝器使用的曲線圖;圖4是描述假設整個磁碟上的傳輸速率相同,實驗性地確定的三個重放流的總的緩衝器要求和總比特率之間的關係的曲線圖;圖5是描述假設整個磁碟上的傳輸速率相同,實驗性地確定的四個重放流的總的緩衝器要求和總比特率之間的關係的曲線圖;圖6是描述假設整個磁碟上的傳輸速率相同,實驗性地確定的四個混合數據流(寫、讀、寫和讀)的總的緩衝器要求和總比特率之間的關係的曲線圖;圖7是描述實驗性地確定的三個記錄視頻流的總的緩衝器要求和總比特率之間的關係的曲線圖;以及圖8說明視頻流服務的一個周期的時線。
具體實施例方式
圖1示出了結合本發明實施例的視頻伺服器119的簡化圖。伺服器119包括隨機可訪問磁碟100,其存儲表示音頻和視頻信號的數字程序信息。從磁碟100檢索到該數字信息,並將其沿線路104、105、106、107和114傳送到緩衝存儲器113。緩衝存儲器113包括隨機存取存儲器緩衝器103、108、109、110、111和112。將緩衝器的每個輸出經由傳輸線路118連接到電信網117。
許可控制器121是可編程的選擇或切換設備,其被適配為響應於來自客戶端122的請求來向從磁碟100檢索的數位訊號可控制地分配緩衝存儲器103和108等,所數來自客戶的請求例如,對包括在磁碟100上的數字數據進行存取。網絡117通過線路123和124互連到客戶端122的信號解碼器和觀看器接口。客戶端122的解碼器/接口包括在板處理器127和本地緩衝器128。客戶端122的解碼器/接口連接到視頻顯示器126。許可控制器121通過線路125連結到網絡117以及通過線路99連結到磁碟100。
將數位訊號發送到緩衝存儲器113的速率不能夠超過磁碟100和它的相關緩衝存儲器的鏈路104-107和114的結合帶寬。當客戶端122請求對緩衝存儲器113進行存取時,許可控制器121確定是否有足夠的緩衝器空間和磁碟帶寬來適應客戶端的請求,並且相應地分配視頻數據流。
本發明創建正為幾個同步視頻數據流服務的磁碟100的模型。在創建該模型時進行以下設想。首先,在周期或循環中以循環方式來提供視頻流,也就是說,每個視頻流每周期從磁碟100接收一次字節,並且固定提供視頻流的順序。其次,無論何時提供視頻流,完全填滿(或在記錄的情況下騰空)與每個視頻流相關的緩衝器108、109和110等。第三,在一個又一個周期中數據傳送時間和旋轉時延是相同的,以及在整個磁碟上數據傳輸速率是相同的,與偏移量和磁碟柱的位置無關。最後,通過網絡117騰空緩衝器的速率(或在記錄情況下的填充)是連續的,也就是說,不隨時間而變化。
使用下列符號R是磁頭到位後的磁碟的比特傳輸速率,即,突發數據傳輸速率;rx是所請求的單個視頻數據流x的數據傳輸速率;Ix是視頻流x的磁碟旋轉時延;dx是在一周期期間為數據流x而從緩衝器移去的比特數;以及T是完成一個周期所要求的時間。
為了對每個視頻流x維持請求的數據傳輸率rx,在每個周期T期間向(或從)傳輸介質傳輸的數據比特dx的數量一定是dx=rxT所以,緩衝存儲器必須向視頻數據流x分配dx個比特。
因此,∑dx是請求來處理所有數據流的緩衝存儲器的總量。
為了使緩衝器在周期T中向(或從)傳輸介質傳輸dx個比特,這些比特必須已經在周期T內以突發數據傳輸速率R從磁碟傳送或能夠傳送到磁碟。所以,對於視頻流x的實際磁碟數據傳送時間是
參考圖8,說明了對於三個數據流的一個視頻數據流服務周期的時線。將執行一個完整的視頻流服務周期所需的時間段T劃分為三個分開的段,每段傳輸與三個數據流中的一個相關的數據。一個段69包括消耗的時間da/R,該消耗的時間是對於視頻流a實際地從(或者對於記錄是向)磁碟100向緩衝存儲器113傳輸數據突發所消耗的。例如,假設視頻流a與緩衝器108(圖1的)有關,時間周期70等於緩衝器108中可獲得的空間da除於磁碟數據傳輸速率R。
段69也包括循環時延周期Ia,在該循環時延周期Ia期間,重新定位磁頭,以及磁碟100中的磁碟片旋轉到決定的位置以開始向緩衝器108傳送數據。儘管先前說明了磁碟數據的傳送,但可能存在貫穿數據傳輸周期70而產生的其他時延周期。通常,為了改進磁碟存取,與數據流相關的視頻數據以公知的相連方式存儲。然而,即使在相連數據的傳輸內也存在其他時延周期柱上的每個相連塊的存取之間的時間周期,以及當從一個柱到下一個柱的轉換時的時間周期。這些其他時延周期與先前相關於重新定位磁頭和等待旋轉的時延相比是非常短的,並且為了簡化圖形,全部都包括在示出的時延周期Ia中。
另一段71由時延周期Ib和相關於視頻流b的、至緩衝器(例如,緩衝器109)的數據傳送db/R所定義。第三段72包括時延周期Ic和與視頻流c相關的數據傳送dc/R。一旦完成所述的三個階段,則對於視頻流a重複所述過程。當周期完成時,網絡117已經騰空了緩衝器108中的常量raT。由於假設每周期的數據傳送和時延為常數,下列對稱關係定義了關於每個視頻流的緩衝器的消耗。
da=ra(daR+Ia+dbR+Ib+dcR+Ic);]]>db=rb(daR+Ia+dbR+Ib+dcR+Ic);]]>以及dc=rc(daR+Ia+dbR+Ib+dcR+Ic)]]>關於da、db和dc的三個線性方程式的這種系統可以使用Cramer的規則,用符號表示地求解得到
da=ra(Ia+Ib+Ic)1-(raR+rbR+rcR);]]>db=rb(Ia+Ib+Ic)1-(raR+rbR+rcR);]]>以及dc=rc(Ia+Ib+Ic)1-(raR+rbR+rcR)]]>這種模式對於任何數量的數據流是成立的。因此,通常表達為dx=rx(Iy1-ryR)]]>所以,關於與視頻流x相關的緩衝器的總的緩衝器要求Bx是Bx=dx=rx(Iy1-ryR)]]>等式1假設包含視頻流x的數據的磁碟柱上的數據傳送率是Rx,則緩衝器的消耗量能表達為dx=rx(Iy1-ryRy)]]>以及總的緩衝器的要求為;Bx=dx=rx(Iy1-ryRy)]]>假設整個磁碟100有相同傳輸速率,並使用等式1(上述),如果Ball=dall=∑dx,rall=∑rx,以及L=∑Iy,則等式1能夠重寫為Ball=dall=rallL(11-rallR)]]>等式2在等式2中,Ball是成功地在磁碟驅動和傳輸介質之間傳送數據流所要求的緩衝存儲器總量。R和L的值取決於磁碟100的操作。參數r是數據在傳輸介質上傳送所要求的恆定數據速率。參數R可以使用上述的程序『transfer』來估計,以及時延L可以使用磁碟的磁碟片的旋轉周期的一半的平均時延來估計。例如,R的值典型地在120和210兆比特/秒之間,L的值取決於磁碟100的旋轉速度。
等式2可以用來選擇磁碟驅動100,該磁碟驅動100對於在多媒體傳輸系統中使用具有合適的操作參數。參考圖4-6,選擇具有期望的R和L值的磁碟的一種方法是檢查總的緩衝器要求25和總比特率24之間的關係。最初,分別地選擇R和L的第一值79和80,以便曲線74表示實際數據點75、76、77和78等的低限。然後,R的值79保持不變,以及為了生成曲線82選擇L的第二值81,曲線82不包括除了幾個遠離的數據點83之外的全部數據點。第二曲線82限定了許可控制器121期望的操作。
當由許可控制電路121(圖1的)經由線路125從網絡117接收到請求,要求以期望的恆定傳輸介質數據速率r來添加新的數據流時,許可控制電路121重新計算等式2以及使用以上述方法估計的磁碟驅動參數,所述等式2包括處於請求的數據速率r的當前數據流和新的數據流。然後,將新計算的緩衝器的大小Ball與可用的緩衝存儲器113的總的大小相比較。如果新計算的緩衝器的大小Ball小於緩衝存儲器113的總的大小,則有足夠的緩衝存儲器113的空間來成功地傳送新要求的數據流,並且該數據流得到許可。如果新計算的緩衝器的大小Ball大於緩衝存儲器113的總的大小,則沒有足夠的緩衝存儲器113的空間來成功地傳送新要求的數據流,並且該數據流得不到許可。
如果所提議的視頻流104、105和106等的組合生成位於曲線82之下的區域84中的數據點,則視頻伺服器系統119能夠支持這些數據流的傳送和接收。如果作為結果的數據點存在於曲線82之上的區域85中,則伺服器系統119將不能支持這些數據流的傳送。由伺服器119用來完成磁碟傳送的緩衝器113空間的總量是可配置的、但是有限的資源。許可控制器121確定伺服器119是否能夠處理表示要傳輸的視頻流,如果能夠處理,則可以不斷地提供這些數據流。
已經在上面說明了多媒體環境中的本發明。然而,本領域的技術人員將理解,根據本發明,任何一個在海量存儲設備上記錄數據或者從海量存儲設備檢索先前記錄的數據的數據傳輸系統可以併入許可控制系統。
權利要求
1.一種許可控制系統,包括存儲設備;緩衝存儲器,其連接到所述存儲設備;和許可控制器,其連接到所述緩衝存儲器和存儲設備,該許可控制器包括測量適合於在存儲設備和緩衝存儲器之間的交互的參數的裝置;以及響應於至少一些所測量的參數來控制在存儲設備和緩衝存儲器之間的數據傳送的裝置。
2.根據權利要求1所述的許可控制系統,還包括傳輸介質,其中所述緩衝存儲器連接在存儲設備和傳輸介質之間,其中許可控制器還包括確定第一參數的裝置,所述第一參數是突發速率,存儲設備能夠以該突發速率來傳送數據;以及確定數據傳輸速率的裝置,該數據傳輸速率是將在存儲設備和傳輸介質之間傳送的一個或多個數據流中的每個數據流所要求的,以此,確定所要求的數據傳輸速率對可獲得的突發數據傳輸速率間的關係。
3.根據權利要求2所述的許可控制系統,其中許可控制器還包括確定第二參數的裝置,該第二參數是由存儲設備在傳送與一個或多個數據流中的第一數據流相關的數據後存取與一個或多個數據流中的第二數據流相關的數據時遇到的;計算總延遲的裝置,該總延遲歸因於所有的一個或多個數據流。
4.根據權利要求3所述的許可控制系統,其中許可控制器還包括確定數據量的裝置,該數據量是歸因於每個數據流在緩衝存儲器和存儲設備間傳送的數據量;以及計算總時間的裝置,所述總時間是所有數據流在任何數據流向緩衝存儲器傳送數據的第二增量之前向緩衝存儲器傳送數據的第一增量需要的總時間。
5.根據權利要求4所述的許可控制系統,其中緩衝存儲器包括劃分為多個單獨緩衝存儲器的緩衝存儲器空間的總量,每個緩衝存儲器存儲與在存儲設備和緩衝存儲器之間傳送的單獨數據流相關的數據。
6.根據權利要求5所述的許可控制系統,其中存儲設備是磁碟。
7.根據權利要求6所述的許可控制系統,其中,用於確定延遲的裝置確定磁碟的旋轉時延,所述延遲是由存儲設備在傳送與第一數據流相關的數據後定位與第二數據流相關的數據時遇到的。
8.根據權利要求7所述的許可控制系統,其中許可控制器還包括計算在服務周期期間所用的緩衝存儲器空間總量的裝置;以及阻止在緩衝存儲器和磁碟之間的數據傳送的裝置,該磁碟超過在服務周期期間所用的緩衝存儲器的總量。
9.根據權利要求8所述的許可控制系統,其中,許可控制器導致所要求的數據傳輸速率對可獲得的數據傳輸速率之比小於1。
10.一種用於調節對緩衝存儲器存取的設備,該設備通過存儲設備向緩衝存儲器各個對應部分傳輸多個數據流和從緩衝存儲器各個對應部分傳送多個數據流來調節存取,所述設備包括互連到緩衝存儲器和存儲設備的許可控制器,所述許可控制器確定與緩衝存儲器和存儲設備的特性相關的多個參數,所述許可控制器響應所述參數通過每個數據流來調節對緩衝存儲器的存取。
11.根據權利要求10所述的設備,其中許可控制器在傳送對應於隨後的數據流的數據之前,主要消耗對應於第一數據流的緩衝存儲器的一部分的存儲容量,為了完成一個服務周期,所述許可控制器至少傳送來自每個數據流的一些數據。
12.根據權利要求11所述的設備,其中許可控制器使用至少一個下述參數R,其中R是存儲設備的突發數據傳輸速率;rx,其中rx是由數據流x要求的相對恆定的數據傳輸速率;Ix,其中Ix是在存儲設備中固有的數據傳輸延遲,所述數據延遲是由於停止傳輸來自先前數據流的數據和開始傳輸來自數據流x的數據所要求的時間而產生的;dx,其中dx是在一個服務周期期間由數據流x所用的緩衝存儲器的量;以及T,其中T是關於一個完整服務周期所經過的時間。
13.根據權利要求12所述的設備,其中許可控制器接收要求包括具有對應的數據傳輸速率的新數據流的請求,以及基於至少一些參數來確定是否容許數據流成為多個要進行傳輸的數據流。
14.根據權利要求13所述的設備,其中許可控制器計算要求來傳送多個數據流和新的數據流的緩衝存儲器的總量,以及將所要求的緩衝存儲器與可獲得的緩衝存儲器進行比較,並且如果可獲得的緩衝存儲器大於所要求的緩衝存儲器,則許可新的數據流,否則不許可新的數據流。
15.根據權利要求12所述的設備,其中許可控制器包括用於創建多個總計值的裝置,所述總計值包括至少一個下述總計值dall,其中dall是在一個服務周期期間由全部數據流使用的緩衝存儲器的總量;rall,其中rall是由全部數據流所要求的數據傳輸速率;以及L,其中L是由於停止傳送來自每個數據流的數據和開始傳送下個數據流的數據所需要求經過的時間的總延遲。
16.根據權利要求15所述的設備,其中許可控制器包括用於選擇存儲設備的裝置,該存儲設備具有優化在存儲設備和緩衝存儲器之間傳送數據的數據速率的相應的R和L值。
17.一種以各個對應的傳輸速率傳送多個數據流的方法,包括;確定多個與具有最大容量的緩衝存儲器和具有突發傳輸速率的磁碟存儲設備相關的參數;在磁碟存儲設備和緩衝存儲器之間用磁碟存儲設備的突發傳輸速率以突發傳送數據,以及以對應於多個數據流中的每個的各個傳輸速率向和從緩衝存儲器傳送數據;計算傳送全部數據流所需要的緩衝存儲器的總量;以及通過數據流控制對緩衝存儲器的存取,以便所要求的緩衝存儲器的總量不超過緩衝存儲器的最大容量。
18.根據權利要求17所述的方法,其中確定與磁碟存儲設備相關的參數的步驟包括確定盤數據傳輸速率和延遲,該延遲歸因於在已經從先前數據流傳送數據後從一個數據流傳送數據所進行的數據定位。
19.根據權利要求18所述的方法,還包括步驟向第一緩衝存儲器傳送歸因於第一數據流的數據,直到基本填滿第一緩衝存儲器為止;以及向第二緩衝存儲器傳送歸因於第二數據流的數據,直到基本填滿第二緩衝存儲器為止。
全文摘要
本發明涉及一種許可控制系統(119),該系統包括存儲設備(100)、以及互連到存儲設備(100)的緩衝存儲器(113)。互連到緩衝存儲器(113)的許可控制器(121)包括測量適合於在存儲設備和緩衝存儲器之間的交互的參數的裝置;以及,控制數據傳送的裝置,響應於至少一些所測量的參數來控制在存儲設備(100)和緩衝存儲器(113)之間的數據傳送的裝置。
文檔編號G06F3/00GK1582436SQ02821945
公開日2005年2月16日 申請日期2002年10月31日 優先權日2001年10月31日
發明者查爾斯·A·阿斯穆斯 申請人:湯姆森特許公司