用于本地视频服务器的许可控制系统的制作方法

文档序号:6430813阅读:175来源:国知局
专利名称:用于本地视频服务器的许可控制系统的制作方法
技术领域
本发明一般涉及数字数据的传输,尤其涉及确定在数字数据传输系统中向一组当前工作的传输数据流增加附加的数据流的请求是否可被实现。
背景技术
数据传输系统将数字数据从一点传送到另一点。该数字数据能够同时包括几个分别不同的数据流,每个表示一个不同的信号。当数据传输系统正传送多个数据流以及接收到要求包括新的数据流的请求时,必须确定数据传输系统是否有能力来包括所请求的新的数据流。在从数据源到数据宿的整个数据传输中包含许多参数、连接和电路,并且所有这些必须有能力处理数据传输。
在一实施例中,这些数据流表示视频和/或音频信号。所述视频和/或音频数据流通常存储在诸如磁盘或硬盘驱动的海量存储设备中。更具体地讲,视频和/或音频数据流既可从传输系统接收到并存储在海量存储设备上(记录),也可从海量存储设备上检索并在传输系统上传送(重放)。这种系统经常称作多媒体系统。如前所述,在诸如多媒体系统的传输系统中存在许多连接。在海量存储设备和传输系统的剩余部分(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·阿斯穆斯 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1