CN1184287A - 处理多媒体数据流的系统和方法 - Google Patents

处理多媒体数据流的系统和方法 Download PDF

Info

Publication number
CN1184287A
CN1184287A CN97121240.6A CN97121240A CN1184287A CN 1184287 A CN1184287 A CN 1184287A CN 97121240 A CN97121240 A CN 97121240A CN 1184287 A CN1184287 A CN 1184287A
Authority
CN
China
Prior art keywords
loop
cluster
server
request
data stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN97121240.6A
Other languages
English (en)
Other versions
CN1138218C (zh
Inventor
阿肖克·卡库恩杰·阿蒂格
迈克尔·诺曼·戴
肯尼斯·亚当·凯利恩诺斯基
戴尔·阿瑟·莱格班德
韦德·戴维·肖
丹尼尔·查尔斯·沃尔夫
唐纳德·埃德温·伍德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1184287A publication Critical patent/CN1184287A/zh
Application granted granted Critical
Publication of CN1138218C publication Critical patent/CN1138218C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends

Abstract

为了增加由多媒体系统提供的数据流数量,本发明提供了多媒体A/V服务器子系统集群的集群。每个集群依次由多个A/V服务器、共享环路结构及多个与A/V服务器互连的多个数据存储装置组成,从而使任何存储装置能基本平等地被该集群中的任何服务器访问;每个集群还包括一高可用性控制服务器子系统互连于各A/V服务器,以及一数据存储装置用于控制那些A/V服务器及数据存储装置。每个集群互连于一高速交换器以从该集群向终端用户发送数据流。

Description

处理多媒体数据流的系统和方法
本发明拟对1996年12月2日提出的未决申请S/N 08775 863(IBM报告AT9-96-060)所披露的内容提出权利要求。
本发明涉及服务于音频和视频数据的计算机化系统,更具体地说,是涉及具有改进的数据存储和处理的这类系统。
随着多媒体产业的惊人发展,已经出现了复杂的计算机化的音频/视频服务器系统,它们必须能以较高性价比的方式向广大用户群分送大量的单体化的数据流。构成这一问题的事实是:由于对多种多样的内容较不知足的愿望,不仅必须处理大量的多媒体数据流,而且特别希望这些多媒体数据流几乎在瞬间为用户所得,按用户的一时兴致从包含大量标题和剪辑的数据库中容易地由用户选择,并且同一标题同时可为多个用户观看。
这类系统应用的实例是设在综合性商场、博物馆等之中的信息亭,但对于这种系统在分送过程中出现的无数技术问题而言,更具有代表性的应用可能是视频点播系统的情况。这种系统被呼叫,根据几乎瞬时的命令同时向千百个用户发送他们各自选择的要看的电影标题,而这里的电影可以是由用户从包含数以千计标题的清单中选出的。众所周知多媒体数据是极其密集的。例如,存储一部完整的电影可能需要5GB的存储空间,而回放电影的视频流的回放速率通常可能为每秒20MB。再有,可能期望视频点播服务能服务于数千个用户,每个用户有能力选择他们自己的“订制的”不可中断的每秒20MB的视频流,而这些视频流是从可能由1014字节(例如,每个标题100GB乘以1000个标题)构成的视频数据库中同时选出的。这些数据之大提出了当前困挠产业界的严重和难解决的问题,即在有效和性价比可行的基础上如何进行这种系统的分送。
一些巧妙的作法可能会绕过前面对此类系统要求的分析中所表述的无法置信的复杂问题,但这些作法只使这些困难变得更为复杂。作为一个例子,在视频点播电影服务器的情况中,不可能假定对所有标题的点播是均匀分布的。与此相反,在不同时候,一个给定的标题可能会认为是极为流行的并有高百分率用户要求观看,因而把一命令请求加到一个磁盘驱动器控制器上,该控制器给定的带宽限制显然不能满足需求。
可能会容易想到的对这一问题的一个解决方法是简单地把标题复制到其它的磁盘驱动器和控制器上,但由于几种理由使这一途径是不可接受的。第一,在这种音频/视频服务器系统中最主要的费用之一是存储器的费用。这样,可能就不允许简单地把标题复制到多个磁盘上。再有,在这种系统中对标题的请求不是静态的,而是随时间的变化而变化的,例如,一个一时比较“火”的标题可能在几天之内没有被请求,取而代之的只是另一个标题。这样,当需要连续不断地把标题复制到不同的磁盘驱动器时,要有效地平衡这种系统的加载就变得极其困难,更不用说前面描述的伴随标题复制所造成的不可接受的费用了。
可能参考图1会最好地说明前面提到的那些问题,图1是视频服务器系统一种传统实现方案的简化说明。在这一系统中,提供了多个服务器18、20、22,它们可采取本专业众所周知的RAID控制器的形式,如提供防止数据丢失功能的RAID 4或5控制器。每个这种控制器可以控制相应的一定数量的磁盘驱动器,对于组织在RAID阵列中的每个控制器,其控制的磁盘驱动器的数量约为30或40个。这样,控制器18、20、22将分别控制它们各自的多个磁盘阵列19、21、23,每个阵列已含的数字化视频数据(如图1所示标题T)通常放在4个盘驱动器上并带有一个附加驱动器用于奇偶校验。
把每个控制器18-22彼此互连起来的是光纤信道仲裁环路10和冗余环路12(数据丢失保护是由RAID控制器提供的,而冗余环路的存在是由于在这种系统中需要高的可获得性)。每个控制器18-22分别从它们各自的磁盘阵列19、21、23中取出视频流在各自线路24A、24B、24C上发送,如本专业众所周知的MPEG2格式的ATM视频流,这种视频流被发送到也是本专业众所周知的适当的ATM交换机14上。与ATM交换机14互连的是电缆网络13,该网络服务于例如多个视频/音频控制器或计算机或电视机16,为简单起见,图中只画出其中的一个。
在一种简化的操作中,如果对标题T作出请求,则控制器20将从该标题所驻留的相应专用驱动器之一21通过控制器20把视频流发送到线路24B上,通过ATM交换机14和外部电缆连接13供用户在监视器16上观看。在这一简化情况中,系统可以工作得很好。然而,如前面提到的那样,标题T可能处于极大需求状态,由此造成总线饱和,这是由于如控制器20这样的raid控制器只可能处理有限数量的这种视频流。在这种不测事件中,光纤信道环路10-12开始起作用。可以由操作员静态地(即不是根据请求)通过环路10-12把标题T传送到下一个磁盘控制器22并作为T’复制到与控制器22的关联的相应磁盘驱动器之一23中。这样,可以由控制器22在线路24C上提供该标题视频流的额外部分,它来自标题T在控制器22的磁盘驱动器上的复制,即冗余标题T’。
在图1的这类视频控制器系统的实现中存在若干个显著的问题。首先,如前所述视频标题需要大量存储空间,因而磁盘存储器19-23的费用是整个系统费用的主要部分。这样,为了能满足超过给定控制器18-22所能提供的视频流之外的视频流请求,简单地把标题作为T’复制到另一磁盘驱动器上的作法通常是不能接受的,因为这需要对数据作冗余的而且昂贵的复制品。图1所示系统的一个固有弱点与这样的事实有关:每个控制器18-22只可以访问它自己的一套单个本地磁盘19、21、23,所以必须通过环路10-12传送标题。
图1所示系统存在的另一个问题是,即使复制标题的费用在一定程度上是可以接受的,人们也会容易地想到,当对标题给定一个具体请求时,环路10-12会在把视频数据从一个控制器的各磁盘存储器传送到另一控制器的磁盘存储器过程中造成自身的拥塞,从而对这一过程增加了不可接受的额外开销。再有,各种磁盘驱动器19-23的带宽通常可能大于与特定磁盘驱动器相关的给定控制器所能处理的带宽。这样,在图1所示系统中,在每个单独控制器18-22可能发送的若干数据流24A-24C中,昂贵的磁盘驱动器的带宽实质上受到它们各自服务器和控制器带宽的控制。该系统的设计有其固有的昂贵的不平衡,这在于每个昂贵的磁盘的能力应该被充分“榨取出来”,以便利用其读出头带宽的全部能力而不受各自控制器对它的限制。
在诸如图1所示的一类对各种标题的不同混合请求进行处理的交互式视频系统中,出现的令人生畏的任务显然要求有人能够预测请求并平衡各磁盘驱动器19-23上的剪裁,以满足变化的负载和减少仲裁环路10-12上的拥塞。在试图实现这一点的一种尝试中,系统可以增加一个交换控制器11,以某种智能方式去寻找磁盘19-23上标题分布的平衡。然而,这种系统由于要有对数百个磁盘的交换逻辑而极其昂贵,并且依然表现出前面提到的能很快就出现的不平衡系统的问题。还有,这样形成了单个故障点,所以必须提供两个交换器。简而言之,图1所示系统的一个显著的问题是昂贵的磁盘驱动器对于它们各自的控制器而言是本机的或者说是私用的,而且快速光纤信道环路10-12被放在系统的前端去互连控制器18-22,仅用于在各处理器之间通过仲裁环路移动数据。这使该系统具有不希望有的欠平衡和较昂贵的特点。
在解决上述棘手问题的另一途径中,图1所示系统提供了一个纵横交换器1(Crossbar switch)36或其他类型互连交换器,放在多个磁盘控制器30、32、34及各个磁盘阵列38、40、42、44之间,在这些磁盘阵列中存储了所述的视频数据。这样,与图1所示系统不同,图2所示系统利用纵横交换器36,使任何控制器30、32、34都能访问磁盘阵列38、40、42、44中任何一个上的标题。这样,尽管这样的系统中任何控制器能访问任何磁盘,从而避免了昂贵地实行维持标题的冗余复制,但不幸的是,在许多应用中,如图2所示那类系统中每个数据流的费用变得非常高。考虑到在给定大量数据流时需要相应的大量昂贵的纵横交换器36这一事实,系统中每个数据流费用非常高乃是这种高度互连和冗余纵横交换器36的过度费用的直接结果。
为了增加由多媒体系统提供的数据流的数量,本发明提供了多媒体A/V服务器子系统集群的集群。
每个集群本身由多个A/V服务器组成,一个有共享环路结构的一组数据存储装置互连于这些服务器,从而使任何存储装置能基本上平等地被该集群中任何一个服务器访问;一个高可用控制服务器子系统互连于A/V服务器和数据存储装置,以控制这些A/V服务器和数据存储装置。每个集群与一高速交换器互连以从该集群向终端用户分送数据流。控制服务器子系统之一还用作为主控制服务器,它把数据流请求分配给各集群之一。
图1是先有技术的音频/视频服务器系统的功能框图,其中利用了光纤信道仲裁环路互连各磁盘控制器。
图2是先有技术的另一种音频/视频服务器系统的功能框图,其中利用了纵横交换器有选择地互连一个给定的控制器和所希望的存储器装置。
图3是本发明的音频/视频服务器系统的一个实现例的功能框图,其中利用了共享存储器环。
图4是图3所示系统的更详细的功能图。
图5是说明本发明的图3和图4所示系统操作的流程图。
图6是根据本发明的一个5集群系统的图示,每个集群包含16个视频服务节点和352个被互连的4.6磁盘驱动器,从而使这些磁盘驱动器能被该集群的全部16个节点共享。
现在转到图3,其中描述了本发明的音频/视频服务器系统的一个实现。与图1所示先有技术的系统相比,显然可看出某些相似之处。首先,提供了一个适当的交换器(如ATM交换器50)置于多个显示终端(如电视机54)和多个服务器或控制器56、58、60之间。每个控制器通过各自的数据流线62、64、66互连于交换器50。还与图1所示系统相似的是提供了多个磁盘驱动阵列70、72、74、76,数字化的标题(如T)存储其中。
然而,对图1和图3的更深入比较揭示出一个基本的差异。人们会注意到,在图1中用于互连控制器18-22的光纤信道仲裁环路10-12被免除了。相反地,在图3所描述的本发明系统中,在控制器56-60和磁盘阵列70-76之间放置了一个串行存储器结构(SSA)或光纤信道仲裁环路(FC-AL)68。在控制器56-60和磁盘阵列70-76之间引入环路68的重要意义在于,与图1所示系统的情况不同,借助环路68使这些昂贵的磁盘阵列不再为各自控制器所专用或者说是本机的,而且可借助环路68被任何控制器56-60容易地得到。
这样,在运行过程中,如果希望标题T被显示器54上的用户观看,这个视频流实质上可以由控制器56-60的任何一个从驻留标题T的同一磁盘72中提供出来。所以该请求可以由来自磁盘72的数据流提供服务,该数据流从磁盘72穿过环路68分送给控制器56,通过线路62、交换器50、及电缆连线51,到达显示装置54。类似地,该路径可以是从磁盘72通过环路68、控制器58、线路64、交换器50、及电缆连线51到达显示器54。以类似的方式,可沿从磁盘72通过环路68、控制器60、线路66、交换器50及电缆连线51到达显示装置54的路径对请求提供服务。
然而,更重要的是,说明这样一点是重要的,即对同一标题T的请求可以同时通过三个前述路径(即通过控制器56、58及60)同时提供服务,而不需要在另一磁盘阵列72、74或76上进行对该标题的昂贵的复制(与图1所示系统的情况比较,那里在磁盘阵列21上的标题T得要作为标题T’复制到磁盘阵列23上)。
正像回想起来的那样,给定磁盘驱动器70-76的带宽通常会超过给定控制器56-60的数据流处理能力。例如,驱动器72的带宽可能能发送60个或更多的标题T的数据流,而给定的控制器(例如控制器56)可能只能处理30个数据流。这会令人回想起正是这个问题导致了在图1所示系统中在不同的控制器上复制该标题的必要性(从而使这另一个控制器22本身能从它的存有复制标题T’的专用磁盘23中发送额外需要的数据流)。然而,应该指出,在图3所示系统中,超出一个给定控制器能力的对数据流的请求现在能被分散到多个控制器而无需复制内容本身,即无需以昂贵的和高额外开销的方式把标题T复制到其余的磁盘74-76中的一个或多个磁盘上。作为这一改革的结果(与图1所示情况不同,在那种情况下产生的潜在问题是在把标题数据传送给各控制器时会使环路10-12拥塞),环路68上不会出现这一负担。
人们将会理解,各种控制器56-60必须协调和互连,如在图1所示控制器的情况那样。然而,对于图3,这个控制环路52可以由技术上众所周知的以太网环路提供,不需像在图1所示系统的情况那样采用高速光纤环路。其理由在于如以太网所提供的较慢的环路连接52可以是胜任的,因为与图1所示情况不同,并不把大量视频数据放在环路52上(因为实质上它只完成控制和协调各控制器56-60的功能)。这样,环路52不需是如同图1所示系统中的仲裁环路10-12那样的高性能环路。
于是,概括地说,在系统1的情况中,磁盘70-76被一个集群中的全部处理器56-60共享。再有,只需要由特定磁盘驱动器的带宽(即给定磁盘能处理的视频流数量)所需要或所限定数量的若干驱动器70-76来保存标题。这是由于认识到这样的事实,即现代数据处理器56-60可能由于它们可以处理的视频流数量会迅速饱和,然而一给定磁盘驱动器70-76可能有剩余带宽去以相同的视频流(即相同标题T)来服务于另一个这种处理器。再有,在图3所示系统中,由于任何给定控制器实质上能通过SSA或FC-AL环路68以类似的额外开销访问标题T,在磁盘阵列上平衡多个标题的需求程度便不像在图1所示系统的情况中那样强烈。
在完成对图3所示系统的高层次描述之后,人们会从中得到对本发明的理解。现在参考图4中对该系统的更详细描绘,将看到与图1相比有许多相似之处。现在可以描述图4所示系统的基本部件。
在图1-3的简化图示中只绘出了3个服务器或控制器。本发明不打算受到如此限制。因此,在图4中可以提供一个或一群实质上可为任何希望个数的音频/视频服务器计算机94-108,它们通过共享环路访问一组磁盘,该共享环路是根据串行存储器结构(SSA)或光纤信道仲裁环路(FC-AL)标准组环的,在图中一般以参考数字110代表。在一个具体实施例中,虽然本发明并不打算受此限制,但由计算机94、108提供了1至32个计算节点,由相应的1至8个CPU组成,带3个ATM155 MB适配器、2个SSA适配器或4个FC-AL环路适配器。
一种等时(即保证带宽)连接(在图4所示系统中实现为ATM交换器和网络88)提供于服务器94-108和由一宽带信道82发送的一组音频/视频装置83之间。在另一个系统中可以按传统方式选择和提供模拟输出。这些音频/视频(A/V)装置83可以包括但不限于电视机、电视控制适配器(机顶盒)个人计算机以及信息台(information kiosk)。从广义上讲,这种A/V装置83的使用者在这里可以称作观看者,而不论他们是在听、在看、或在边听也看。
继续参考图4,在环路110中提供了多个磁盘驱动器112,用小椭圆形表示。此外,还提供了一组环路适配器114,在图4中用黑矩形表示,它们把每个计算机94-108与磁盘通信环路110的每个环路连接起来。通常这些适配器会是SSA或FC-AL适配器,取决于环路110适用哪一种环路结构。
所存储的媒体标题最好分成数以千计的数据块,在这里所描述的实现中每个数据块的大小至少是256KB。最好是各单个数据块不存储在单一磁盘112上,而是以平衡方式放在共享环路110上的多个甚至全部可用磁盘驱动器112上。这样便允许任何所存储的标题同时被大量A/V装置83回放而不会使任何单个驱动器112或服务器94-108过载。为便于说明,在驱动器112上的内容已被描述为视频或电影数据,但本发明不打算局限于此。实质上任何多媒体,音频、视频、或音频/视频标题或剪辑都可以存储在共享磁盘驱动器112上,而且可以以大量数字标准格式中的任何一种(包括但不限于MPEG1、MPEG2、及运动JPEG)来存储。这样便可由服务器94-108中任何一个通过等时连接88-82来实现这些标题的任何一个到任何这种A/V装置83的连接。
还有一对冗余的容错控制服务器包括在计算集群84-86中,用于控制服务器94-108(但不只这一功能)。然而,实质上可由任何能向服务器94-108传送标题选择和回放控制命令的计算机或输入机制都可以设置控制命令。控制服务器84-86和A/V服务器94-108二者中任何一个可以完成如前面提到的在服务器之间平衡计算机负载的附加功能。在控制服务器84-86中执行的一个程序还完成一项附加功能,即确定是否能向观看者回放新的媒体选择请求而没有暂停、间隙、或服务质量(QOS)的过度损失。如果这些请求不能被如此回放,则控制服务器将延迟这些请求。在另一种作法中,伴随控制服务器的程序能驻留在A/V服务器94-108的一个或多个之上。
最好有一个或多个存储服务器108互连于一个自动媒体存档系统117,该系统117由磁带或CD ROM媒体118及读取器116组成,读取器116用于响应来自存档服务器108的命令在子系统117中选择和回放磁带或CD ROM。存档服务器108将提供把新的标题加载到共享环路110各环路的磁盘112上的功能。如果希望,还可再有2个集群连到存档服务器108上。
现在参考图5的流程图,从而可以更清楚地理解图1所示系统各事件的最佳序列的运作。这个流程图可以由控制服务器84-86或A/V服务器94-108上执行的程序代码来实现。并引起执行如下步骤。在120进入控制例程,那里发生如下的典型事件序列以回放一媒体标题:首先,在122,由一A/V装置83(图4)或一个观看者通过网络网关80(图4)或任何其他数据入口装置作出一个回放媒体标题的请求,这一请求被从网络网关80沿通信路径81发送给控制服务器84-86。然后,在图5所示步骤124,控制服务器84-86将确定是否在图4所示共享环路磁盘组112的任何一组上能得到所请求的标题。如果不是,则流程退出到决策块124的左侧,在那里控制服务器沿图4所示控制消息路径90向存档服务器108发出请求以把该标题加载到环路110中的自由磁盘空间上。如果已在环路上能得到该标题,则流程退出到决策块124的右侧。应该指出,如果有必要的话,存档服务器108可加倍,作为连到A/V服务器94-108的热备份。
接下来,在步骤128,控制服务器84-86选择一个A/V服务器94-108来播放该请求,平衡所有A/V服务器上的工作负载。因为A/V服务器通过环路110的共享环路结构连到所有磁盘112上,可由控制服务器在任何时候选择任何A/V服务器来使这种播放生效,从而能更容易地平衡负载。
在步骤130,控制服务器84-86利用控制消息路径90(或冗余控制路径备份92)向选择的A/V服务器94-108发出播放请求。控制消息路径90最好有冗余,当然实现方式可以不同(例如以太网、FDDI、或令牌环路径同样都可以接受)。
现在继续参考图5,然后在步骤132,由步骤128选定的特定A/V服务器通过等时网络88完成到发出请求的A/V装置83的连接,如果这种连接在先前尚未建立的话。然后,如步骤134所示,这个被选定的A/V服务器将找出共享环路磁盘驱动器112上的媒体数据(例如标题数据)的头两块并将这两块预先取到选定的服务器的存储器中。然后,这个A/V服务器将通过一个I/O适配器(例如服务器中的一个ATM适配器,当然不一定必须是ATM适配器)输出第一块媒体数据,该I/O适配器与发出请求的A/V装置83连接。这一步骤示于图5中的步骤136。
接下来,在步骤138,可以进行保证数据传送完整性的检验。选定的A/V服务器、控制服务器84-86及服务器中的通信适配器可进行联合检验,以保证到选定A/V装置83的媒体数据流没有间隙、暂停或引入不可接受的过量噪声或颤动。然后,在步骤140,被选定的A/V服务器将在其后的标题数据块被A/V装置83请求之前将这些数据块预先取到它的存储器中。在多个磁盘112之间及在每个这种磁盘内部的访问模式最好基本上是随机的。
最后,在步骤142,当最后一个媒体块已被播放完时,该标题播放便结束了,这时到A/V装置83的连接被切断。然后,在步骤144返回到调用程序。
下面概括一下这里所描述系统的若干重要特点和优点。首先,已经指出过,每个磁盘112通过图4中所示共享通信环路(总体上用参考数字110表示,连接到每个A/V服务器94-108),这种环路是通过SSA或FC-AL结构和标准实现的。由于前述的设计,每个媒体选择或标题可以被服务器计算机的一个或多个集群中的每个A/V服务器94-108直接访问,这是由于这种共享磁盘环路结构造成的。媒体标题可以被随机地分布在多个这种磁盘112上,从而有利于单个标题由许多同时观看者播放。
再有,存档服务器108可以把新的标题直接加载到共享环路磁盘112上而不必对工作的A/V服务器95-106增加额外的工作负载,从而扩大了高质量回放的机会。通过使用带有三个SSA或FC-AL环路适配器的较大存档服务器,这样会有很多优点,它提供的不是如图4所示那样的一个共享环路集群,而是提供了三个彼此互连的独立A/V共享环路集群,从而减少每次上载(upload)的存档装置、自动机及媒体的费用。再有,存档服务器108本身能承担集群中一个失效A/V节点的工作负载,从而可为多达3个互连集群当作一个热备份。然而,在这种不测事件中,存档上载应被延迟足够长时间,以改正任何A/V服务器问题。在控制服务器84-86中执行的程序也希望能支持多个控制和数据路径互连的集群(例如,多个集群的集群),以使负载提高到适合于更大量的A/V回放。例如,费用性能研究已经表明,由8-16个A/V服务器共享磁盘可能足以分摊共享磁盘费用,从而使每个数据流的附加费用主要决定于非共享系统费用。因此,当前使集群大小超过16个节点几乎没有经济意义。
类似地,费用比较已经指出,当前的共享环路结构每次播放费用在相当程度上低于使用带有交换器的磁盘驱动器(图2)或带有交换器的计算机(计算机有本机磁盘驱动器)(图1)的类似结构的费用。根据本发明思想的环路交换有效地提供了便宜得多的交换因而是效/费比更高的,这部分地因为由A/V服务器94-108本身供电和支持的适配器和磁盘逻辑使这种交换更为有效,并且各播放数据流之间的相互影响很小。在当前可行的实现中,单个共享环路集群可以容易地仅以16个AV服务器构成系统,去处理多达1000至5000个每秒3MB的视频播放数据流。再有,可以调整这种共享环路集群110的集群的大小,如果希望的话可支持标称值达到25000个数据流,如果假定有适当的交换装置用于数据流播放的话。这样,可多达3个这种集群能共享昂贵的存档服务器和共同承担媒体费用,从而进一步减小了每个上载的费用。
本发明还有其他优点。存档服务器108可以直接向共享环路磁盘112加载新的标题,而不会对工作的A/V服务器94-106的任何一个增加明显的工作量,从而增加了高质量回放的几率,这一点是商业视频点播系统中特别希望具有的。因为所有节点连到所有磁盘上,各标题可以分布到多个甚至全部磁盘驱动器上,因此,那些突然流行的,即“热”的标题不会在任何单个服务器或磁盘驱动器上造成瞬间系统过载。
再有,数据在多个环路上复制,加上把每个A/V服务器94-108附着在这种环路的每一个上,结果使磁盘或环路的故障对系统播放性能的影响很小。再有,如已指出的那样,对于多A/V应用,存储费用是在每个被播放标题总费用中的主导因素。本发明考虑到由控制服务器收集每个标题数据的观看频率。然后这一数据可被用于优化共享环路带宽和显著减少数据复制。再有,除非希望进行播放频率优化并加以利用,否则不需要在磁盘112之间进行媒体标题请求动态平衡。
考虑到前述关于系统的可伸缩性(Scalability),在某些情况下,可能需要一个多媒体数据流提供系统能容易地支持比先前描述的系统更大数量的数据流。在图6的功能框图中显示了这种具有扩展能力的系统。
现在更详细地看一下图6,可以看到图中显示了由多个前述多媒体系统集群组成的集群,为方便计,在布置上放置在一个高速ATM交换器186的周围。取出这多个集群中的一个,在图6中位于左上角大约“十点钟”的位置,这个集群将被认为是基本上类似于先前描述的A/V服务器集群。再有,应该指出,如图中所示,这个集群将基本上被复制多次。具体地说,所讨论的这个第一集群将包括一个控制服务器子系统150(通常由前述两个控制服务器组成以提供高可用性),多个A/V服务器162,以及一个共享环路结构数据存储子系统174。A/V服务器162及控制服务器子系统150通过互连线路188与ATM交换器186互连。将会看到,这个第一集群的互连基本上类似于先前描述过的集群,这表现为多个A/V服务器162(在图6所示实施例中总数为16个)将与共享环路结构数据系统174互连,从而使这16个A/V服务器162的每一个可以基本上平等地访问共享环路结构系统174上的任何磁盘。
将会看到,刚才描述的这种集群结构被复制到例如图6中逆时针移动的下一个集群中。这样,在这下一个集群中,类似地提供了一个控制服务器子系统152,带有多个A/V服务器164,以及多个磁盘驱动器配置在共享环路结构中(在图中用参考数字176表示),这些部件通过互连线190与ATM交换器186通信。
以类似的方式继续逆时针围绕图6中的集群,每个后续集群将以类似的方式分别包括控制服务器子系统154、156、158及160。每个集群还将分别包括相应的多个A/V服务器166、168、170、172。每个这种集群还将包括它的相应的多个磁盘驱动器,配置在类似的共享环路结构中,图中用参考数字178、180、182、184表示。每个集群的部件将通过它们各自的互连线192、194、196、198与ATM交换器186通信。
继续参考图6,希望控制服务器子系统之一(例如控制服务器子系统156)还将提供主控制服务器的功能。主控制子系统的目的如下:当对一个数据流负载的请求182被沿着线路184传送到ATM交换器186并再沿着连线186传到主控制服务器子系统156时,这个主控制服务器将服务于这样的目的,即在其后把这一个对数据流的请求分派给图6中多个集群中的具体的一个。于是这一分派将被从主控制服务器156沿线路186通过ATM交换器186传送给那个适当的集群从百平衡负载。然后这个集群将服务于该数据流请求,其服务方式类似于先前对于单个集群(例如图4所示集群)所描述的那种方式。在一个有代表性的实施例中,ATM交换器186可以取技术上众所周知的OC12交换器的形式,这种交换器的能力为先前的图中所示OC3交换器的4倍,从而能处理图6所示由16个节点构成的集群和多个集群所增大了的通过量。通过提供图6所示系统,每个集群上有16个A/V服务器,并提供多个集群,从而显著地分摊了每个数据流的磁盘存储费用。人们会客易地理解,对于一给定集群,在某一点上达到了递减折返点(point of diminishing returns),在那里对于一给定集群的共享环路已基本上被“榨取”完了,是值得的,因为最昂贵的资源是共享磁盘,从而使得几乎没有余地再增加处理器,例如如图6中每个集群所表明的那样,已没有余地使处理器数量超过16个。换句话说,对于适当数量的处理器,互连磁盘驱动器的更快的带宽达到了极限,所以与其增加另一个A/V服务器,不如简单地增加另一个完整集群,直至交换器186的容量超过了它本身的能力为止,这是更有利的作法。可以为了专门化宽号标题(broad #titles)、为了带宽(把标题复制到许多集群上)、或为了可用性(这里的集群在内容上是严格成对的)对集群进行复制。
尽管已经参考其具体实施例给出了本发明的图示并对本发明进行了描述,但精通本门技术的人们会理解,在形式和细节上可以做前述和其他改变而不偏离本发明的精神和范围。

Claims (12)

1.一种在一多媒体数据流服务器系统中提供大量数据流的方法,包括以下步骤:
产生一个数据流请求;
由主控制器响应所述请求以指定多个A/V服务器集群之一服务于所述请求,所述多个集群的每一个包括:
多个所述A/V服务器;
控制服务器子系统;以及
多个存储装置配置在一个共享数据环路中并与所述多个A/V服务器及所述控制服务器子系统互连;以及
由所述被指定的所述集群之一服务于所述请求。
2.如权利要求1的方法,其特点在于每个所述集群与一高速数据交换器相连。
3.如权利要求2的方法,其特点在于所述主控制器是所述控制服务器子系统之一的一个部件。
4.如权利要求3的方法,其特点在于所述被请求的数据流是从所述被指定集群中的所述存储装置之一通过所述集群中相应的一个所述A/V服务器传送到所述交换器的。
5.如权利要求4的方法,其特点在于所述共享数据环路是SSA或FC-AL环路。
6.如权利要求5的方法,其特点在于对每个所述环路而言,在所述每个环路中的每个所述存储装置能基本平等地访问互连于所述环路的任何所述A/V服务器。
7.一种在一多媒体数据流服务器系统中提供大量数据流的装置,包括:
产生数据流请求的装置;
由主控制器响应所述请求以指定多个A/V服务器集群之一服务于所述请求的装置,所述多个集群的每一个包括:
多个所述A/V服务器;
控制服务器子系统;以及
多个存储装置配置在一个共享数据环路中并与所述多个A/V服务器及所述控制服务器子系统互连;以及
由所述被指定的所述集群之一服务于所述请求的装置。
8.如权利要求7的装置,其特点在于每个所述集群与一高速数据交换器相连。
9.如权利要求8的装置,其特点在于所述主控制器是所述控制服务器子系统之一的一个部件。
10.如权利要求9的装置,其特点在于所述被请求的数据流是从所述被指定集群中的所述存储装置之一通过所述集群中相应的一个所述A/V服务器传送到所述交换器的。
11.如权利要求9的装置,其特点在于所述共享数据环路是SSA或FC-AL环路。
12.如权利要求11的装置,其特点在于对每个所述环路而言,在所述每个环路中的每个所述存储装置能基本平等地访问互连于所述环路的任何所述A/V服务器。
CNB971212406A 1996-12-02 1997-10-30 处理多媒体数据流的系统和方法 Expired - Lifetime CN1138218C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US755874 1996-12-02
US08/755,874 US5892913A (en) 1996-12-02 1996-12-02 System and method for datastreams employing shared loop architecture multimedia subsystem clusters
US755,874 1996-12-02

Publications (2)

Publication Number Publication Date
CN1184287A true CN1184287A (zh) 1998-06-10
CN1138218C CN1138218C (zh) 2004-02-11

Family

ID=25041032

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB971212406A Expired - Lifetime CN1138218C (zh) 1996-12-02 1997-10-30 处理多媒体数据流的系统和方法

Country Status (9)

Country Link
US (1) US5892913A (zh)
EP (1) EP0845907B1 (zh)
JP (1) JP3905962B2 (zh)
CN (1) CN1138218C (zh)
CA (1) CA2222390C (zh)
DE (1) DE69737904T2 (zh)
ES (1) ES2287947T3 (zh)
SG (1) SG55405A1 (zh)
TW (1) TW369631B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100407188C (zh) * 2000-03-09 2008-07-30 戴尔产品有限公司 在群集计算环境中管理存储资源的系统和方法

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3271916B2 (ja) * 1996-12-06 2002-04-08 株式会社エクシング 音・動画再生システム
US6118776A (en) 1997-02-18 2000-09-12 Vixel Corporation Methods and apparatus for fiber channel interconnection of private loop devices
US6185203B1 (en) 1997-02-18 2001-02-06 Vixel Corporation Fibre channel switching fabric
US6654933B1 (en) 1999-09-21 2003-11-25 Kasenna, Inc. System and method for media stream indexing
US6381674B2 (en) * 1997-09-30 2002-04-30 Lsi Logic Corporation Method and apparatus for providing centralized intelligent cache between multiple data controlling elements
US6279032B1 (en) 1997-11-03 2001-08-21 Microsoft Corporation Method and system for quorum resource arbitration in a server cluster
US6311217B1 (en) * 1998-06-04 2001-10-30 Compaq Computer Corporation Method and apparatus for improved cluster administration
US6138187A (en) * 1998-08-21 2000-10-24 International Business Machines Corporation Method and system for increasing spatial reuse in a serial storage architecture subsystem
US6829610B1 (en) * 1999-03-11 2004-12-07 Microsoft Corporation Scalable storage system supporting multi-level query resolution
US6453426B1 (en) 1999-03-26 2002-09-17 Microsoft Corporation Separately storing core boot data and cluster configuration data in a server cluster
US7774469B2 (en) * 1999-03-26 2010-08-10 Massa Michael T Consistent cluster operational data in a server cluster using a quorum of replicas
US6401120B1 (en) * 1999-03-26 2002-06-04 Microsoft Corporation Method and system for consistent cluster operational data in a server cluster using a quorum of replicas
US6289376B1 (en) * 1999-03-31 2001-09-11 Diva Systems Corp. Tightly-coupled disk-to-CPU storage server
US6721794B2 (en) * 1999-04-01 2004-04-13 Diva Systems Corp. Method of data management for efficiently storing and retrieving data to respond to user access requests
US6233607B1 (en) * 1999-04-01 2001-05-15 Diva Systems Corp. Modular storage server architecture with dynamic data management
US7487531B1 (en) * 1999-12-10 2009-02-03 Sedna Patent Services, Llc Method and apparatus of load sharing and improving fault tolerance in an interactive video distribution system
EP1242901B1 (en) * 1999-12-10 2009-08-19 Comcast IP Holdings I, LLC Method and apparatus of load sharing and improving fault tolerance in an interactive video distribution system
US6662219B1 (en) 1999-12-15 2003-12-09 Microsoft Corporation System for determining at subgroup of nodes relative weight to represent cluster by obtaining exclusive possession of quorum resource
US6757291B1 (en) 2000-02-10 2004-06-29 Simpletech, Inc. System for bypassing a server to achieve higher throughput between data network and data storage system
US7318107B1 (en) * 2000-06-30 2008-01-08 Intel Corporation System and method for automatic stream fail-over
US7310678B2 (en) * 2000-07-28 2007-12-18 Kasenna, Inc. System, server, and method for variable bit rate multimedia streaming
US7277956B2 (en) 2000-07-28 2007-10-02 Kasenna, Inc. System and method for improved utilization of bandwidth in a computer system serving multiple users
US20040025186A1 (en) * 2001-01-19 2004-02-05 Jennings Charles A. System and method for managing media
US8554940B2 (en) * 2001-01-19 2013-10-08 Single Touch Interactive, Inc. System and method for routing media
US7191244B2 (en) * 2001-01-19 2007-03-13 Streamworks Technologies, Inc. System and method for routing media
US7054949B2 (en) 2001-01-19 2006-05-30 World Streaming Network, Inc. System and method for streaming media
JP2004533738A (ja) * 2001-03-02 2004-11-04 カセンナ インコーポレイテッド ネットワークにわたって低レイテンシで効率的にビデオコンテンツを配給するためのメタデータイネーブル型プッシュ−プルモデル
US20030018978A1 (en) * 2001-03-02 2003-01-23 Singal Sanjay S. Transfer file format and system and method for distributing media content
US7277952B2 (en) * 2001-09-28 2007-10-02 Microsoft Corporation Distributed system resource protection via arbitration and ownership
US7155438B2 (en) * 2002-05-01 2006-12-26 Bea Systems, Inc. High availability for event forwarding
US7526519B2 (en) * 2002-05-01 2009-04-28 Bea Systems, Inc. High availability application view deployment
US7222148B2 (en) 2002-05-02 2007-05-22 Bea Systems, Inc. System and method for providing highly available processing of asynchronous service requests
KR20040001415A (ko) * 2002-06-28 2004-01-07 대우전자주식회사 에이브이 출력 제어 장치
US7403993B2 (en) * 2002-07-24 2008-07-22 Kasenna, Inc. System and method for highly-scalable real-time and time-based data delivery using server clusters
JP2004070860A (ja) * 2002-08-09 2004-03-04 Hitachi Ltd ストリームコンテンツ配送システムおよびプロキシサーバ
US7379959B2 (en) 2002-09-07 2008-05-27 Appistry, Inc. Processing information using a hive of computing engines including request handlers and process handlers
US20040199650A1 (en) * 2002-11-14 2004-10-07 Howe John E. System and methods for accelerating data delivery
US7613768B2 (en) * 2003-05-19 2009-11-03 Hewlett-Packard Development Company, L.P. Method and system for managing a streaming media service
US7689685B2 (en) * 2003-09-26 2010-03-30 International Business Machines Corporation Autonomic monitoring for web high availability
US20050262245A1 (en) * 2004-04-19 2005-11-24 Satish Menon Scalable cluster-based architecture for streaming media
US11468128B1 (en) * 2006-10-20 2022-10-11 Richard Paiz Search engine optimizer
GB2418268A (en) * 2004-09-15 2006-03-22 Ibm Method for monitoring software components using native device instructions
US7793329B2 (en) * 2006-02-06 2010-09-07 Kasenna, Inc. Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique
US11048765B1 (en) 2008-06-25 2021-06-29 Richard Paiz Search engine optimizer
US11809506B1 (en) 2013-02-26 2023-11-07 Richard Paiz Multivariant analyzing replicating intelligent ambience evolving system
US11741090B1 (en) 2013-02-26 2023-08-29 Richard Paiz Site rank codex search patterns
CN115398502B (zh) * 2020-04-21 2023-10-13 哲库科技(上海)有限公司 用于无线通信的数据平面可缩放架构

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924303A (en) * 1988-09-06 1990-05-08 Kenneth Dunlop Method and apparatus for providing interactive retrieval of TV still frame images and audio segments
US5765011A (en) * 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
US5412416A (en) * 1992-08-07 1995-05-02 Nbl Communications, Inc. Video media distribution network apparatus and method
US5440336A (en) * 1993-07-23 1995-08-08 Electronic Data Systems Corporation System and method for storing and forwarding audio and/or visual information on demand
US5495283A (en) * 1993-09-13 1996-02-27 Albrit Technologies Ltd. Cable television video messaging system and headend facility incorporating same
US5388264A (en) * 1993-09-13 1995-02-07 Taligent, Inc. Object oriented framework system for routing, editing, and synchronizing MIDI multimedia information using graphically represented connection object
US5390138A (en) * 1993-09-13 1995-02-14 Taligent, Inc. Object-oriented audio system
US5387927A (en) * 1993-09-17 1995-02-07 Mpr Teltech Ltd. Method and apparatus for broadband transmission from a central office to a number of subscribers
US5481542A (en) * 1993-11-10 1996-01-02 Scientific-Atlanta, Inc. Interactive information services control system
DE69521374T2 (de) * 1994-08-24 2001-10-11 Hyundai Electronics America Videoserver und diesen verwendendes System
US5450411A (en) * 1994-09-02 1995-09-12 At&T Global Information Solutions Company Network interface for multiplexing and demultiplexing isochronous and bursty data streams in ATM networks
WO1996010315A1 (en) * 1994-09-26 1996-04-04 Micropolis Corporation Video server using memory pipe segments
US5737747A (en) * 1995-10-27 1998-04-07 Emc Corporation Prefetching to service multiple video streams from an integrated cached disk array

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100407188C (zh) * 2000-03-09 2008-07-30 戴尔产品有限公司 在群集计算环境中管理存储资源的系统和方法

Also Published As

Publication number Publication date
ES2287947T3 (es) 2007-12-16
JPH10228454A (ja) 1998-08-25
CA2222390A1 (en) 1998-06-02
SG55405A1 (en) 1998-12-21
US5892913A (en) 1999-04-06
EP0845907B1 (en) 2007-07-11
DE69737904T2 (de) 2008-03-13
EP0845907A2 (en) 1998-06-03
CN1138218C (zh) 2004-02-11
CA2222390C (en) 2002-02-05
DE69737904D1 (de) 2007-08-23
TW369631B (en) 1999-09-11
EP0845907A3 (en) 2003-07-02
JP3905962B2 (ja) 2007-04-18

Similar Documents

Publication Publication Date Title
CN1138218C (zh) 处理多媒体数据流的系统和方法
US5559764A (en) HMC: A hybrid mirror-and-chained data replication method to support high data availability for disk arrays
US5592612A (en) Method and apparatus for supplying data streams
EP0698999B1 (en) Video server system
EP0739136B1 (en) Multi-node media server with efficient work scheduling
KR100377092B1 (ko) 다중 사용자 데이터 분배 시스템내 저장장치 서브세트상에 데이터 스트림을 스트라이핑하는 방법
JP3308814B2 (ja) ビデオサーバシステムに於いて平均的なシーク時間及びバンド幅を達成するための方法及びシステム
GB2389479A (en) Video server network where each server's capacity is evaluated to determine overall network capacity
WO1996026491A1 (en) Multi-media server
GB2389481A (en) Maintaining availability of requested network resources
WO2002087236A1 (en) System and method for retrieving and storing multimedia data
Jadav et al. Designing and implementing high-performance media-on-demand servers
Wu et al. Scheduling for large-scale parallel video servers
EP0845906A2 (en) Shared loop audio/video server system
CN1189034A (zh) 共享环路音频/视频服务器系统
US6766393B2 (en) Method and apparatus for transferring data between independent fiber channel arbitrated loops in an interactive information distribution system
US6425130B2 (en) Video network server for distributing sound and video image information to a plurality of terminals
Serpanos et al. Centralized versus distributed multimedia servers
KR100259331B1 (ko) 공유 루프 오디오/비디오 서버 시스템
KR100253626B1 (ko) 공유 루프 구조의 멀티미디어 서브시스템 클러스터를사용하여 멀티미디어 데이터스트림을 처리하기 위한 방법 및 시스템
Fukazawa et al. Distributed video server using a new striping technique
JPH10283295A (ja) データ転送システム、及びそのデータ転送方法
Tanaka et al. Distributed architecture for large-scale video servers
JP2000148711A (ja) 動画像サーバシステム
Shim Supporting I/O-intensive applications in a high performance storage system

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20040211