(57)【特許請求の範囲】
【請求項１】
データストリーム要求を生成するステップと、
各クラスタが、複数のＡ／Ｖサーバと、前記複数のＡ／Ｖサーバに接続された制御サーバ・サブシステムと、共用データ・ループに構成されて前記複数のＡ／Ｖサーバに相互接続された複数の記憶装置とを含み、高速データ・スイッチに相互接続された、複数の前記クラスタのうちの１つにおける前記制御サーバ・サブシステムをマスタ制御サーバとして、前記マスタ制御サーバにより、前記クラスタのうちの１つを、前記要求に応答して前記要求をサービスするために割り当てるステップと、
前記クラスタのうちの前記割り当てられた１つによって前記要求をサービスするステップと、
を含む、マルチメディア・データストリーム・サーバ・システム内で多数のデータストリームを提供するための方法。
【請求項２】
前記要求されたデータストリームが、前記割り当てられたクラスタ内の前記記憶装置のうちの１つから、前記クラスタ内の前記Ａ／Ｖサーバのうちの対応する１つを介して前記スイッチに渡されることを特徴とする、請求項１に記載の方法。
【請求項３】
前記共用データ・ループがＳＳＡループまたはＦＣ−ＡＬループであることを特徴とする、請求項２に記載の方法。
【請求項４】
前記ループのそれぞれについて、前記各ループ内の前記記憶装置のそれぞれが、前記ループに相互接続された前記Ａ／Ｖサーバのいずれに対しても実質的に同等のアクセスを有することを特徴とする、請求項３に記載の方法。
【請求項５】
データストリーム要求を生成する手段と、
複数の高速データ・スイッチと、
各クラスタが、複数のＡ／Ｖサーバと、前記複数のＡ／Ｖサーバに接続された制御サーバ・サブシステムと、共用データ・ループに構成されて前記複数のＡ／Ｖサーバに相互接続された複数の記憶装置とを含み、前記高速データ・スイッチに相互接続された、複数の前記クラスタのうちの１つにおける前記制御サーバ・サブシステムをマスタ制御サーバとして、前記マスタ制御サーバにより、前記クラスタのうちの１つを、前記要求に応答して前記要求をサービスするために割り当てる手段と、
前記クラスタのうちの前記割り当てられた１つによって前記要求をサービスする手段と、
を含む、マルチメディア・データストリーム・サーバ・システム内で多数のデータストリームを提供する装置。
【請求項６】
前記要求されたデータストリームが、前記割り当てられたクラスタ内の前記記憶装置のうちの１つから、前記クラスタ内の前記Ａ／Ｖサーバのうちの対応する１つを介して前記スイッチに渡されることを特徴とする、請求項５に記載の装置。
【請求項７】
前記共用データ・ループがＳＳＡループまたはＦＣ−ＡＬループであることを特徴とする、請求項６に記載の装置。
【請求項８】
前記ループのそれぞれについて、前記各ループ内の前記記憶装置のそれぞれが、前記ループに相互接続された前記Ａ／Ｖサーバのいずれに対しても実質的に同等のアクセスを有することを特徴とする、請求項７に記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オーディオ・データおよびビデオ・データをサービスするためのコンピュータ化されたシステムに関し、具体的には、改良されたデータ記憶およびデータ処理を有する上記のシステムに関する。
【０００２】
【従来の技術】
マルチメディア産業の驚くべき成長と共に、コスト効率のよい形で膨大な顧客のセットに大量の個別に取り扱われるデータストリームを配布しなければならない洗練されたコンピュータ化されたオーディオ／ビデオ・サーバ・システムが出現した。この問題を複雑にしているのは、さまざまな内容に対する比較的強い要望があるので、大量の媒体ストリームを処理しなければならないだけではなく、それらをほとんど瞬間的に使用でき、膨大なタイトルおよびクリップの内容ベースから顧客の思うままに簡単に選択可能であることが非常に望ましく、複数の顧客が同時に同一タイトルの視聴を所望することがしばしばあるという事実である。
【０００３】
このようなシステムの応用例が、ショッピング・センター、美術館などの情報キオスクであるが、このようなシステムの配布で発生する無数の技術的問題をよりよく表す応用例は、おそらくビデオ・オン・デマンド・システムの場合である。このようなシステムは、ほとんど瞬間的なデマンド・ベースでの表示のために数千人の顧客に同時に映画タイトルの個別の選択部分を同時に配布するために呼び出され、この映画タイトルは、数千本におよぶリストから顧客によって選択される。マルチメディア・データは、極端に密度が高いことで悪名高い。たとえば、１本の映画全体の記憶に５ギガバイトを必要とする場合があり、そのタイトルのビデオ・ストリームの再生は、通常は毎秒２０メガバイトの速度で行われる。さらに、ビデオ・オン・デマンド・サービスは、数千人の顧客をサービスすることを期待される場合があり、その顧客のそれぞれが、おそらくは１０14バイト（たとえば、１タイトルあたり１００ギガバイト×１０００タイトル）を含むビデオ・データベースから同時に選択される、顧客独自の「カストマイズされた」割込み不能の２０メガバイト毎秒のビデオ・ストリームを選択することができる。これらの数値の正味の大きさから、当業界を悩ませている、そのようなシステムを効果的でコスト効率のよい形で配布する方法に関する深刻で厄介な問題が直観的に想起される。
【０００４】
そのようなシステムに対する需要によって示された信じられないほど複雑な問題の初期の分析で見落とされる可能性がある微妙な点は、問題をひどくするだけである。この例の１つとして、ビデオ・オン・デマンド映画サーバの場合、すべてのタイトルに対する需要の均等な分布は仮定できない。逆に、さまざまな時点で、所与のタイトルが、極端に人気があり、高い比率の顧客によって視聴のために要求され、これによって、ディスク駆動装置コントローラの帯域幅制限のために単純には満足できない需要がディスク駆動装置コントローラに集まる場合がある。
【０００５】
簡単に思い付くであろうこの問題に対する解決策の１つが、追加のディスク駆動装置およびコントローラ上でタイトルを単純に複写することであるが、この手法は、複数の理由から許容できない。まず、そのようなオーディオ／ビデオ・サーバ・システムにおいて最も重要なコストの１つは、記憶コストである。したがって、複数のディスクにタイトルを単純に複写することは、実現不可能であろう。さらに、そのようなシステムでのタイトルに対する需要は、静的ではなく、時間と共に動的に変化し、たとえば、ある時点で相対的に「人気」のあるタイトルが、数日のうちに需要が減少し、別のタイトルに置換されてしまう場合がある。したがって、さまざまなディスク駆動装置上でタイトルのコピーを継続的に複写することが必要なシステムでは、前に説明したタイトルの複写に関連する許容できないコストを別にしても、効率的に負荷のバランスをとることが極端に困難になる。
【０００６】
前述の問題は、ビデオ・サーバ・システムの通常の実施態様の１つを簡略化して示した図１を参照することによって示すことができる。このようなシステムでは、データ消失保護を提供するＲＡＩＤ４またはＲＡＩＤ５コントローラなどの当技術分野で周知のＲＡＩＤコントローラの形とすることができる複数のサーバすなわちコントローラ１８、２０および２２が設けられる。そのようなコントローラのそれぞれは、ＲＡＩＤアレイに編成された１コントローラあたり３０個ないし４０個程度の、対応する専用の複数のディスク駆動装置を制御できる。したがって、コントローラ１８、２０および２２は、それぞれの複数のディスク・アレイ１９、２１および２３を制御し、各アレイには、図１に示されたタイトルＴなどのディジタル化されたビデオ・データが含まれ、各アレイは、通常は４つのディスク駆動装置とパリティ用の１つの追加駆動装置を有する。
【０００７】
コントローラ１８、２０および２２のそれぞれを相互接続するのは、ファイバ・チャネル・アービトレーテッド・ループ１０と冗長ループ１２である（データ消失保護は、ＲＡＩＤコントローラによって提供され、冗長ループは、そのようなシステムでの高い可用性が必要なので存在する）。コントローラ１８、２０および２２のそれぞれは、線２４Ａ、２４Ｂおよび２４Ｃ上に、当技術分野で周知のＭＰＥＧ２形式のＡＴＭストリーミング・ビデオなどのストリーミング・ビデオをディスク・アレイ１９、２１および２３から配布し、このようなストリーミング・ビデオは、やはり当技術分野で周知の適当なＡＴＭスイッチ１４に配布される。ＡＴＭスイッチ１４には、複数のビデオ／オーディオ・コントローラ、コンピュータ、テレビジョン１６（図を簡単にするために１つだけを図示）にサービスするケーブル・ネットワーク１３が相互接続される。
【０００８】
簡略化した動作では、タイトルＴに対する要求が行われる場合に、コントローラ２０が、モニタ１６上で顧客が視聴するために、そのタイトルが常駐する対応する専用のディスク・アレイ２１のうちの１つから、コントローラ２０、線２４Ｂ、ＡＴＭスイッチ１４、ケーブル・ネットワーク１３を介してビデオ・ストリームを配布する。このように単純な場合では、このシステムは非常に良好に動作する可能性がある。しかし、前に述べたように、タイトルＴの需要が多く、したがって、コントローラ２０などの所与のＲＡＩＤコントローラが有限の個数のストリームしか処理できないので、バスが飽和する場合がある。そのような事態では、ファイバ・チャネル・アービトレーテッド・ループ１０および冗長ループ１２が働き始める。タイトルＴを、ファイバ・チャネル・アービトレーテッド・ループ１０および冗長ループ１２上で、たとえばオン・デマンドではなく操作員が静的に次のディスク・コントローラ２２に転送し、コントローラ２２に関連する対応するディスク・アレイ２３のうちの１つにＴ'として複写できる。こうすれば、そのタイトルのビデオ・ストリームの追加の補足を、コントローラ２２のディスク駆動装置のタイトルＴの複写から冗長タイトルＴ'として導出することによって、コントローラ２２によって線２４Ｃに供給できる。
【０００９】
複数の重要な問題が、図１のビデオ・コントローラ・システムの実施態様に関連する。まず、ビデオ・タイトルは、大量の記憶域を必要とし、したがって、ディスク・アレイ１９、２１および２３のコストが、通常は全システムのコストの主要な部分になることが想起される。したがって、所与のコントローラ１８、２０および２２によって提供できるものを超えるビデオ・ストリームに対する需要を満足するためには、単純にタイトルを別のディスク駆動装置にＴ'として複写することは、冗長で高価なデータのコピーが必要となる限り、一般に許容できない。図１のシステムに固有の弱点は、コントローラ１８、２０および２２のそれぞれが、それぞれの独自の局所ディスクの組であるディスク・アレイ１９、２１および２３だけにアクセスでき、ファイバ・チャネル・アービトレーテッド・ループ１０および冗長ループ１２にまたがるタイトルの転送が必要になるという事実に関連する。
【００１０】
図１のシステムに関連するもう１つの問題は、タイトル複写の出費が多少は許容できる場合であっても、タイトルの特定の需要に対して、ファイバ・チャネル・アービトレーテッド・ループ１０および冗長ループ１２自体が、あるコントローラのディスク記憶域から別のコントローラのディスク記憶域へビデオ・データを転送する際に輻輳状態になり、したがって、この処理に許容できないオーバーヘッドが追加されることが簡単に理解できる。さらに、さまざまなディスク・アレイ１９、２１および２３は、通常は、特定のディスク駆動装置に関連する所与のコントローラが処理できるストリーム数より大きい帯域幅を有する場合がある。したがって、図１のシステムでは、高価なディスク駆動装置の帯域幅が、本質的に、コントローラ１８、２０および２２のそれぞれが配布できるストリーム（線２４Ａ、２４Ｂおよび２４Ｃ）の数のサーバおよびコントローラの帯域幅によって制限される。このシステムの設計は、それぞれのコントローラによる制限なしにディスクの読取ヘッド帯域幅の全容量を利用するために高価なディスクのそれぞれを「絞り取る」必要があるという点で、本質的にアンバランスであり、高価である。
【００１１】
図１のシステムなど、さまざまなタイトルの需要の異なる組合せを有する対話型ビデオ・システムでは、誰かが需要を予測し、さまざまなディスク・アレイ１９、２１および２３上でクリップのバランスを事前にとって、変化する負荷に対応し、ファイバ・チャネル・アービトレーテッド・ループ１０および冗長ループ１２での輻輳を減らすという難しい作業が発生することは明白である。それを行おうとする試みの１つで、システムに、スイッチ・コントローラ１１を追加して、ディスク・アレイ１９、２１および２３の間でのタイトル分配のバランスを多少知的な形でとることができる。しかし、そのようなシステムは、数百個のディスクのスイッチ論理回路に起因して極端に高価であり、前述のアンバランスなシステムという問題が非常にすばやく発生する可能性がある。また、障害点が１つだけあるので、２つのスイッチを設けなければならない。手短に言うと、図１のシステムの重大な問題は、高価なディスク駆動装置がそれぞれのコントローラの局所装置または私用装置であり、高速のファイバ・チャネル・アービトレーテッド・ループ１０および冗長ループ１２が、コントローラ１８、２０および２２を相互接続するシステムのフロント・エンドに配置されて、プロセッサ間で調停されたループを介するデータの移動を容易にするにすぎないことである。これによって、バランスが低く高価であるという、システムの望ましくない特性が生じる。
【００１２】
前述の処理しにくい問題を解決するためのもう１つの手法では、図１のシステムで、複数のディスク・コントローラ３０、３２および３４と、ビデオ・データを格納されたさまざまなディスク・アレイ３８、４０、４２および４４との間に配置される、クロスバー・スイッチ３６または他のタイプの相互接続スイッチが設けられる。したがって、図１のシステムとは異なり、図２のシステムでは、ディスク・コントローラ３０、３２および３４が、クロスバー・スイッチ３６によって、ディスク・アレイ３８、４０、４２および４４のいずれかのタイトルにアクセスできる。したがって、このようなシステムでは、すべてのコントローラがすべてのディスクにアクセスできるという点でタイトルの冗長なコピーを維持するという高価な実践が回避されるが、残念ながら、多くの応用分野では、図２のシステムなどのシステムでの１ストリームあたりのコストは、非現実的に高くなる。これは、大量のデータストリームに対して、対応する多数の高価なクロスバー・スイッチ３６が必要になるという事実を考慮すると、このような高速相互接続用の冗長なクロスバー・スイッチ３６の過剰コストの直接の結果である。
【００１３】
【発明が解決しようとする課題】
マルチメディア・システムによって提供されるデータストリームの数を増やすために、マルチメディアＡ／Ｖサーバ・サブシステムのクラスタを提供する。
【００１４】
【課題を解決するための手段】
各クラスタは、複数のＡ／Ｖサーバと、Ａ／Ｖサーバに相互接続され、これによってクラスタ内のサーバのいずれによっても実質的に同等にアクセス可能な共用ループ・アーキテクチャの複数のデータ記憶装置と、Ａ／Ｖサーバおよびデータ記憶装置を制御するためＡ／Ｖサーバおよびデータ記憶装置に相互接続された可用性の高い制御サーバ・サブシステムとからなる。クラスタのそれぞれは、クラスタからエンド・ユーザへのデータストリームの配布のために高速スイッチに相互接続される。制御サーバ・サブシステムのうちの１つは、マスタ制御サーバとしても働き、データストリームを求める要求をクラスタのうちの１つに割り当てる。
【００１５】
【発明の実施の形態】
図３を参照すると、本発明のオーディオ／ビデオ・サーバ・システムの１実施例が示されている。図１の従来技術システムと比較すると、いくつかの類似点が簡単に明らかになる。まず、ＡＴＭスイッチなどの適当なスイッチ５０が、テレビジョン・セットなどの複数の表示装置５４と、複数のサーバまたはコントローラ５６、５８および６０との間に設けられている。各コントローラは、それぞれのデータストリーム線６２、６４および６６によって、スイッチ５０に相互接続される。やはり図１のシステムと同様に、複数のディスク・アレイ７０、７２、７４および７６が設けられ、Ｔなどのタイトルが、これらにディジタルに記憶される。
【００１６】
しかし、図１と図３を詳細に比較すると、基本的な区別が明らかになる。コントローラ１８、２０および２２を相互接続する図１のファイバ・チャネル・アービトレーテッド・ループ１０および冗長ループ１２が、なくなっていることに留意されたい。対照的に、図３に示された本発明のシステムでは、直列記憶アーキテクチャ（ＳＳＡ）またはファイバ・チャネル・アービトレーテッド・ループ（ＦＣ−ＡＬ）（以下では単にループと呼称する）６８が、コントローラ５６、５８および６０とディスク・アレイ７０、７２、７４および７６の間に設けられる。コントローラ５６、５８および６０とディスク・アレイ７０、７２、７４および７６の間にループ６８を導入することの重要な意義は、図１のシステムの場合と異なって、これらの高価なディスク・アレイが、ループ６８によって、それぞれのコントローラの専用装置または局所装置ではなくなり、コントローラ５６、５８および６０のいずれからもループ６８によって簡単に使用できるということである。
【００１７】
したがって、動作中には、ユーザが表示装置５４でのタイトルＴの視聴を所望する場合に、このビデオ・ストリームを、本質的に、タイトルＴが常駐する同一のディスク・アレイ７２からコントローラ５６、５８および６０のいずれかによって提供できる。したがって、需要は、ループ６８、コントローラ５６、データストリーム線６２、スイッチ５０およびケーブル接続５１を介して表示装置５４に配布されるディスク・アレイ７２からのストリームによってサービスされる。同様に、この経路は、ディスク・アレイ７２から、ループ６８、コントローラ５８、データストリーム線６４、スイッチ５０およびケーブル接続５１を介して表示装置５４までとすることもできる。同様の形で、この需要は、ディスク・アレイ７２から、ループ６８、コントローラ６０、データストリーム線６６、スイッチ５０およびケーブル接続５１を介して表示装置５４に至る経路に沿ってサービスすることができる。
【００１８】
しかし、より重要なことに、この同一のタイトルＴに対する需要を、別のディスク・アレイ７２、７４または７６での高価なタイトルの複写を必要とせずに、前述の３つの経路を介して（たとえば、コントローラ５６、５８および６０を介して）同時にサービスできることに留意することが重要である（ディスク・アレイ２１上のタイトルＴをタイトルＴ'としてディスク・アレイ２３上に複写しなければならなかった図１のシステムの場合と比較されたい）。
【００１９】
所与のディスク・アレイ７０、７２、７４および７６の帯域幅は、通常は、所与のコントローラ５６、５８および６０のデータストリーム処理能力を超えることを想起されたい。たとえば、ディスク・アレイ７２の帯域幅は、タイトルＴのデータストリームを６０個以上配布できるが、たとえば所与のコントローラ５６は、３０個のデータストリームしか処理できない場合がある。この問題は、図１のシステムで異なるコントローラでのタイトルの複写（他のコントローラ２２が、複写されたタイトルＴ'が記憶された専用のディスク・アレイ２３から追加の必要なデータストリーム自体を配布できるようにするために）の必要を生じた問題であることを想起されたい。しかし、図３のシステムでは、所与のコントローラの能力を超えるデータストリームに対する需要が、たとえばタイトルＴを残りのディスク・アレイ７４および７６のうちの１つまたは複数に高価でオーバーヘッド集中的な形でコピーするなどの内容自体の複写を必要とせずに、複数のコントローラ全体に分散できることに留意されたい。この革新の結果として（さまざまなコントローラへのタイトル・データの転送に関してファイバ・チャネル・アービトレーテッド・ループ１０および冗長ループ１２が輻輳する可能性が生じた図１の場合と異なって）この重荷をループ６８に課す必要はない。
【００２０】
さまざまなコントローラ５６、５８および６０は、図１のコントローラ１８、２０および２２の場合と同様に調整され、相互接続されなければならないことを諒解されたい。しかし、図３を再び参照すると、この制御ループ５２は、図１のシステムの場合のように高速ファイバ・チャネル・ループを必要とするのではなく、当技術分野で周知のイーサネット・ループによって実現できる。その理由は、図１の場合と異なって、制御ループ５２に大量のビデオ・データが送られない（本質的に、制御ループ５２はさまざまなコントローラ５６、５８および６０の制御と調整の機能を実行するだけなので）ので、イーサネットによって実現されるものなどの比較的低速の制御ループ５２が適当であるからである。したがって、制御ループ５２は、図１のシステムの場合のファイバ・チャネル・アービトレーテッド・ループ１０および冗長ループ１２ほどの高性能ループである必要はない。
【００２１】
要するに、図３のシステムの場合、ディスク・アレイ７０、７２、７４および７６は、クラスタ内のコントローラ５６、５８および６０のすべてによって共用される。さらに、特定のディスク駆動装置の帯域幅によって制限されるか必要となる数（たとえば、所与のディスクが処理できるビデオ・ストリームの数）のタイトルを保持するには、それと同数のディスク・アレイ７０、７２、７４および７６だけが必要である。これは、現代のコントローラ５６、５８および６０が、処理できるビデオ・ストリームの数に関して簡単に飽和する可能性があるが、所与のディスク・アレイ７０、７２、７４および７６は、残りの帯域幅を有して、同一のビデオ・ストリーム（たとえば同一のタイトルＴ）を有する別のコントローラをサービスすることができるという事実を認めたものである。また、図３のシステムでは、本質的に、所与のどのコントローラでも、ＳＳＡまたはＦＣ−ＡＬであるループ６８を介して同様のオーバヘッドでタイトルＴにアクセスできるので、ディスク・アレイ間でタイトルのバランスをとるという要求は、図１のシステムの場合ほど厳しくはない。
【００２２】
図３のシステムの高水準の説明を完了し、これによって本発明の理解が得られたので、図４のシステムの詳細な図を参照する。図１と図４を比較すると、多数の類似点が明らかになる。図４のシステムの本質的な要素を、これから説明する。
【００２３】
図１ないし図３の簡略化された図では、３つのサーバまたはコントローラだけが図示されていた。本発明は、これに制限されるものではない。したがって、図４では、オーディオ／ビデオ・サーバ・コンピュータ（以下ではＡ／Ｖサーバと呼称する）９４ないし１０８を１つ設けるか、本質的に任意の所望の数のＡ／Ｖサーバを含むクラスタを設けることができ、これによって直列記憶アーキテクチャ（ＳＳＡ）またはファイバ・チャネル・アービトレーテッド・ループ（ＦＣ−ＡＬ）標準規格に従ってループにされた、符号１１０として示される共用ループを介して、ディスクのプールにアクセスする。特定の実施例では、１つないし３２個の計算ノードが、３つのＡＴＭ１５５メガバイト・アダプタ、２つのＳＳＡアダプタまたは４つのＦＣ−ＡＬループ・アダプタと共に、対応する１つないし８つのＣＰＵを含むＡ／Ｖサーバ９４ないし１０８によって提供されるが、本発明はこれに制限されるものではない。
【００２４】
アイソクロナス（たとえば帯域幅を保証された）接続（図４のシステムではＡＴＭスイッチおよびネットワーク８８として実施される）が、Ａ／Ｖサーバ９４ないし１０８と、広帯域チャネル８２によって配布されるオーディオ／ビデオ装置（以下ではＡ／Ｖ装置と呼称する）８３の組との間に設けられる。代替実施例では、アナログ出力を選択でき、これを通常の形で提供することができる。これらのＡ／Ｖ装置８３には、テレビジョン、テレビジョン制御アダプタ（セット・トップ・ボックス）、パーソナル・コンピュータおよび情報キオスクを含めることができるが、これらに制限されるものではない。一般性のために、このようなＡ／Ｖ装置８３のユーザを、本明細書では視聴のいずれかまたはその両方のどれを行うかに関わりなく視聴者と呼称する。
【００２５】
図４の説明を続けると、複数のディスク駆動装置１１２が、共用ループ１１０内に設けられ、図では小さい楕円によって表されている。さらに、図４では長方形として表される１組のループ・アダプタ１１４が設けられ、これによって、Ａ／Ｖサーバ９４ないし１０８が、ディスク通信ループとしての共用ループ１１０に接続される。通常、これらのループ・アダプタは、共用ループ１１０に採用されたループ・アーキテクチャに応じて、ＳＳＡまたはＦＣ−ＡＬになる。
【００２６】
記憶された媒体タイトルは、ここで説明する実施例ではそれぞれが少なくとも２５６Ｋバイトのサイズの、数千個のデータ・ブロックに分割されることが好ましい。個々のデータ・ブロックは、単一のディスク駆動装置１１２に記憶されるのではなく、共用ループ１１０上で使用可能なディスク駆動装置１１２の多数またはすべてにバランスをとった形で配置されることが好ましい。これによって、単一のディスク駆動装置１１２またはＡ／Ｖサーバ９４ないし１０８を過負荷にすることなく、多数のＡ／Ｖ装置８３によって任意の記憶されたタイトルを同時に再生できるようになる。例示のためにディスク駆動装置１１２上の内容はビデオ・データまたは映画データとして説明するが、本発明は、これに制限されるものではない。本質的に、あらゆるマルチメディア、音声、ビデオ、オーディオ／ビデオのタイトルまたはクリップを、共用されるディスク駆動装置１１２上に、ＭＰＥＧ１、ＭＰＥＧ２、モーションＪＰＥＧを含むがこれに制限されない多数のディジタル標準規格フォーマットで記憶できる。したがって、これらのタイトルのいずれかからＡ／Ｖ装置８３への接続は、ＡＴＭスイッチおよびネットワーク８８と広帯域チャネル８２によるアイソクロナス接続を介してＡ／Ｖサーバ９４ないし１０８のいずれかから行うことができる。
【００２７】
１対の冗長な耐故障性制御サーバが、Ａ／Ｖサーバ９４ないし１０８を制御するための、単なる１機能として、制御サーバ８４および８６の計算クラスタに含められる。しかし、本質的に、制御コマンドは、Ａ／Ｖサーバ９４ないし１０８にタイトル選択と再生制御コマンドを通信できる他のタイプのコンピュータまたは入力機構によっても設定できる。制御サーバ８４および８６またはＡ／Ｖサーバ９４ないし１０８のいずれかは、前に述べたように、サーバ間でコンピュータ負荷のバランスをとるという追加機能を実行できる。制御サーバ８４および８６内で実行されるプログラムも、新しい媒体選択要求を、休止、ギャップまたはサービス品質（ＱＯＳ）の過度な低下なしに視聴者に再生できるかどうかを判定するという追加機能を実行する。要求をそのように再生できない場合、制御サーバは、要求を遅延させる。代替案では、制御サーバに関連するプログラムが、Ａ／Ｖサーバ９４ないし１０８のうちの１つまたは複数に常駐できる。
【００２８】
１つまたは複数のＡ／Ｖサーバ１０８は、アーカイブ・サーバとしてのＡ／Ｖサーバ１０８からのコマンドに応答してロボット媒体アーカイビング・システム１１７内の磁気テープまたはＣＤ−ＲＯＭを選択し、再生するために磁気テープまたはＣＤ−ＲＯＭ媒体１１８およびピッカ１１６からなるロボット媒体アーカイビング・システム１１７に相互接続されることが好ましい。アーカイブ・サーバとしてのＡ／Ｖサーバ１０８は、共用ループ１１０のループのディスク駆動装置１１２に新タイトルをロードする機能を提供する。望むならば、さらに２つのクラスタをアーカイブ・サーバとしてのＡ／Ｖサーバ１０８に接続できる。
【００２９】
図４のシステムの事象の好ましいシーケンスの動作は、図５の流れ図を参照すればより明瞭に理解されるであろう。この流れ図は、制御サーバ８４および８６上またはＡ／Ｖサーバ９４ないし１０８上で実行されるプログラム・コードで実施でき、これによって以下のステップが実行される。制御ルーチンには、ステップ１２０から進入し、ここで、以下の媒体タイトルを再生するための事象の通常のシーケンスが発生する。まず、ステップ１２２で、媒体タイトル再生の要求が、Ａ／Ｖ装置８３（図４）または視聴者によって、ネットワーク・ゲートウェイ８０（図４）または他のデータ入力装置を介して行われ、このような要求は、ネットワーク・ゲートウェイ８０から通信経路８１に沿って制御サーバ８４および８６に配布される。その後、制御サーバ８４および８６は、図５のステップ１２４で、要求されたタイトルが、図４の共用ループのディスク駆動装置１１２の組のいずれかで使用可能であるかどうかを判定する。使用可能でない場合、処理の流れは判断ブロック１２４の左側に進み、制御サーバが、図４の制御メッセージ経路９０に沿ってアーカイブ・サーバであるＡ／Ｖサーバ１０８に要求を発行して、共用ループ１１０内の空きディスク空間にタイトルをロードする。タイトルがループ上ですでに使用可能である場合には、処理の流れは判断ブロック１２４の右側に進む。アーカイブ・サーバであるＡ／Ｖサーバ１０８は、必要であればＡ／Ｖサーバ９４ないし１０６に対するホット・スタンバイを兼ねることができることに留意されたい。
【００３０】
次に、ステップ１２８で、制御サーバ８４および８６が、Ａ／Ｖサーバ９４ないし１０８を選択して、すべてのＡ／Ｖサーバにわたって作業負荷のバランスをとりながら要求を再生する。Ａ／Ｖサーバは、共用ループ１１０の共用ループ・アーキテクチャを介してディスク駆動装置１１２のすべてに接続されているので、制御サーバは、この再生を行うためにいつでもどのＡ／Ｖサーバでも選択でき、これによって負荷のバランスをとるのが簡単になる。
【００３１】
ステップ１３０で、制御サーバ８４および８６が、制御メッセージ経路９０（または冗長制御経路バックアップ９２）を使用して、選択されたＡ／Ｖサーバ９４ないし１０８に再生要求を発行する。制御メッセージ経路９０は、冗長であることが好ましいが、実施態様は変更できる（たとえばイーサネット、ＦＤＤＩまたはトークン・リング経路は、同等に許容可能である）。
【００３２】
図５の説明を続けると、ステップ１２８で選択された特定のＡ／Ｖサーバが、その後、ステップ１３２で、アイソクロナス・ネットワークであるＡＴＭスイッチおよびネットワーク８８を介する要求元のＡ／Ｖ装置８３への接続がまだ確立されていない場合には、その接続を完了する。その後、ステップ１３４で、この選択されたＡ／Ｖサーバは、共用ループのディスク駆動装置１１２上で媒体データの最初の２ブロック（たとえばタイトル・データ）を突き止め、選択されたサーバのメモリに、両方のブロックを事前取出しする。次に、このＡ／Ｖサーバは、要求元のＡ／Ｖ装置８３に接続された入出力アダプタ（たとえば、ＡＴＭアダプタである必要はないが、サーバ内のＡＴＭアダプタ）を介して媒体データの最初のブロックを出力する。このステップは、図５ではステップ１３６として図示されている。
【００３３】
次に、ステップ１３８で、後続のデータ転送の完全性について検査を行うことができる。選択されたＡ／Ｖサーバと、制御サーバ８４および８６と、サーバ内の通信アダプタが、協同で検査を行って、ギャップ、休止または許容不能な過度のノイズもしくはジッタの導入なしに媒体データが選択されたＡ／Ｖ装置８３に流れることを確認する。次に、ステップ１４０で、選択されたＡ／Ｖサーバは、Ａ／Ｖ装置８３によって要求される前に、連続するタイトル・データ・ブロックをメモリに事前取出しする。アクセス・パターンは、本質的に複数のディスク駆動装置１１２間でランダムであり、各ディスク内でもランダムであることが好ましい。
【００３４】
最後に、ステップ１４２で、最後の媒体ブロックを再生し終えた時に、タイトル再生を終了し、Ａ／Ｖ装置８３への接続を切断する。その後、ステップ１４４で、呼出し元プログラムへのリターンを発行する。
【００３５】
本明細書で説明するシステムの複数の重要な特徴および長所の要約を、以下に示す。まず、ディスク駆動装置１１２のそれぞれが、図４の符号１１０として集合的に示された１つまたは複数の共用通信ループを介してＡ／Ｖサーバ９４ないし１０８のそれぞれに接続され、このループは、ＳＳＡまたはＦＣ−ＡＬのアーキテクチャおよび標準規格を介して実施されることを述べた。前述の設計のゆえに、各選択媒体または各媒体タイトルは、この共用ディスク・ループ・アーキテクチャが原因でサーバの１つまたは複数のクラスタ内のＡ／Ｖサーバ９４ないし１０８のすべてによって直接にアクセス可能である。媒体タイトルは、多数のこのようなディスク駆動装置１１２にまたがってランダムに配置でき、これによって、同時に多数の視聴者による個々のタイトルの再生が容易になる。
【００３６】
さらに、アーカイブ・サーバとしてのＡ／Ｖサーバ１０８は、活動状態のＡ／Ｖサーバ９５ないし１０６のいずれにも追加の作業負荷を追加することなく、共用ループのディスク駆動装置１１２に直接に新タイトルをロードでき、これによって、高品質再生の可能性が高まる。三重ＳＳＡまたはＦＣ−ＡＬループ・アダプタを有する比較的大型のアーカイブ・サーバとしてのＡ／Ｖサーバ１０８を使用することによって、図４に示されたように１つの共用ループ・クラスタを設けるのではなく、相互接続できる３つの独立のＡ／Ｖ共用ループ・クラスタを設け、これによって、アーカイブ装置、ロボット、およびアップロードごとの媒体コストを減らせることが有利である。さらに、アーカイブ・サーバとしてのＡ／Ｖサーバ１０８自体は、クラスタ内の故障したＡ／Ｖノードの作業負荷を肩代わりすることができ、これによって、３つまでの相互接続されたクラスタのホット・スタンバイとして働くことができる。そのような事態では、アーカイブ・アップロードは、やはりＡ／Ｖサーバ問題を訂正するのに十分な長さだけ遅延されなければならない。制御サーバ８４および８６内で実行されるプログラムは、負荷平準化とより多数のＡ／Ｖ再生へのスケーリングのために、多重制御／データ経路相互接続クラスタ（たとえば、クラスタ）もサポートできることが望ましい。たとえば、性能対費用の研究から、８つないし１６個のＡ／Ｖサーバによるディスク共用によって、共用ディスクのコストが十分に償却され、その結果、１ストリームあたりの追加コストが、非共用システムのコストによって左右されることが示されている。したがって、現在、１６ノードを越えるクラスタのスケーリングは、ほとんど経済的ではない。
【００３７】
同様に、コストの比較から、現在、共用ループ・アーキテクチャの１再生あたりのコストは、それに匹敵する、スイッチ接続されたディスク駆動装置（図２）または局所ディスク駆動装置を有するスイッチ接続されたコンピュータ（図１）を使用するアーキテクチャよりかなり低いことが示されている。本発明の教示によるループ・スイッチングは、はるかに安価なスイッチを効果的に提供し、コスト効率が高いが、これは、Ａ／Ｖサーバ９４ないし１０８自体によって電力を与えられ、サポートされるアダプタとディスクの論理回路がスイッチングを実現し、再生ストリーム間の相互作用が小さいことも一因である。現在実現可能な実施例では、単一の共用ループ・クラスタは、１６個のＡ／Ｖサーバのみを用いて、毎秒３メガバイトのビデオ再生ストリームを１０００個ないし５０００個程度処理できるように簡単にスケール・アップできる。さらに、このような共用ループ１１０のクラスタは、再生ストリーム用の適当なスイッチング装置を前提として、望むならば公称２５０００ストリームまでをサポートするようにスケーリングできる。それによって、３つまでのこのようなクラスタが、高価なアーカイブ・サーバと媒体コストを共用でき、それによって、１アップロードあたりのコストがさらに低下する。
【００３８】
本発明には、追加の恩恵も認められる。アーカイブ・サーバとしてのＡ／Ｖサーバ１０８は、活動状態のＡ／Ｖサーバ９４ないし１０６のいずれにも実質的な作業負荷を追加することなく、共用ループのディスク駆動装置１１２に直接に新タイトルをロードでき、これによって、商業ビデオ・オン・デマンド環境で非常に望ましい高品質再生の見込みが高まる。すべてのノードがすべてのディスクに接続され、タイトルを多数またはすべてのディスク駆動装置にまたがって分散できるので、突然人気が出たタイトルが、単一のサーバ上またはディスク駆動装置上の過渡システム過負荷を引き起こさなくなる。
【００３９】
さらに、複数のループにまたがるデータの複写と、そのようなループのそれぞれへのＡ／Ｖサーバ９４ないし１０８のそれぞれの接続は、ディスクまたはループの故障が、システムの再生性能にあまり影響しないという事実をもたらす。さらに、すでに述べたように、記憶コストは、多数のＡ／Ｖ応用例の再生タイトルあたりの総合コストの支配的要因である。本発明では、制御サーバによる、タイトル・データごとの視聴頻度の収集を予期している。このデータは、その後、共用ループ帯域幅の最適化と、データ複写の大幅な削減に使用することができる。さらに、ディスク駆動装置１１２間で媒体タイトル要求のバランスを動的にとることは、頻繁な再生最適化が所望され、使用される場合を除いて不要である。
【００４０】
システムのスケーラビリティに関する前述の説明を念頭において、いくつかの場合に、前に示したシステムより多数のデータストリームを簡単にサポートできるマルチメディア・データストリーム提供システムが必要になる可能性がある。スケール・アップされた容量を有するこのようなシステムを、図６および図７の機能ブロック図に示す。
【００４１】
図６および図７を詳細に参照すると、前に説明したマルチメディア・システムのクラスタが示されていることがわかる。便宜上、クラスタは高速のＡＴＭスイッチ１８６の周囲に配置されている。図６の左上、おおむね「１０時」の位置に図示されたクラスタを見ると、このクラスタは、前に説明したＡ／Ｖサーバのクラスタに実質的に類似していると認められる。さらに、このクラスタは、本質的に、図示されているように何回も複製されることに留意されたい。具体的に言うと、最初に説明するクラスタには、制御サーバ・サブシステム１５０（通常は高可用性のために前に説明した２つの制御サーバからなる）と、複数のＡ／Ｖサーバ１６２と、共用ループ・アーキテクチャ・データ記憶サブシステム１７４が含まれる。Ａ／Ｖサーバ１６２と制御サーバ・サブシステム１５０は、相互接続１８８を介してＡＴＭスイッチ１８６に相互接続される。この最初のクラスタは、複数のＡ／Ｖサーバ１６２（図６および図７に示された実施例では合計１６個）が共用ループ・アーキテクチャ・データ記憶サブシステム１７４に相互接続され、その結果、１６個のＡ／Ｖサーバ１６２のどれもが、共用ループ・アーキテクチャ・データ記憶サブシステム１７４上のどのディスクにも実質的に同等のアクセスを有するという意味で、前に説明したクラスタに本質的に類似した形で相互接続されている。
【００４２】
このクラスタのアーキテクチャは、たとえば図６および図７で反時計回りに移動して、次のクラスタに複製されることがわかる。したがって、次のクラスタには、同様に、複数のＡ／Ｖサーバ１６４、符号１７６に示される共用ループ・アーキテクチャに配置された複数のディスク駆動装置と共に制御サーバ・サブシステム１５２が設けられ、これらの構成要素は、相互接続１９０を介してＡＴＭスイッチ１８６と通信する。
【００４３】
同様の形で、図６および図７のクラスタを反時計回りに進むと、各クラスタには、同様の形で、それぞれ制御サーバ・サブシステム１５４、１５６、１５８および１６０が含まれる。各クラスタには、それぞれ、対応する複数のＡ／Ｖサーバ１６６、１６８、１７０および１７２も含まれる。各クラスタには、さらに、符号１７８、１８０、１８２および１８４に示される、よく知られている共用ループ・アーキテクチャに配置された、対応する複数のディスク駆動装置が含まれる。各クラスタの構成要素は、それぞれの相互接続１９２、１９４、１９６および１９８を介し、ＡＴＭスイッチ１８６を介して通信する。
【００４４】
さらに図６および図７を参照すると、制御サーバ・サブシステムのうちの１つが、制御サーバ・サブシステム１５６など、マスタ制御サーバの機能を提供することが望ましい。マスタ制御サーバの目的は、以下の通りである。データストリーム・ロードの要求１８２が、線１８４に沿ってＡＴＭスイッチ１８６に転送され、そこから接続１８６'に沿ってマスタである制御サーバ・サブシステム１５６に転送される時に、このマスタ制御サーバは、このデータストリームの要求を図６および図７の複数のクラスタのうちの特定の１つに割り当てるという目的のために働く。したがって、この割当は、負荷のバランスを取るために、マスタである制御サーバ・サブシステム１５６から接続１８６'に沿ってＡＴＭスイッチ１８６を介して適当なクラスタに伝送される。その後、このクラスタは、図４に示したものなどの個々のクラスタに関して前に説明したものに類似した形でデータストリーム要求をサービスする。代表的な実施例では、ＡＴＭスイッチ１８６を、図６および図７の１６ノードまたは１６クラスタの増大したスループットと多重クラスタを処理するために、前の図に示されたＯＣ３スイッチの４倍の容量を有する、当技術分野で周知のＯＣ１２スイッチの形態とすることができる。図６および図７に示されたシステムを提供することによって、各クラスタ上の１６個のＡ／Ｖサーバと多重クラスタの提供とによって、１ストリームあたりのディスク記憶域のコストが大幅に償却される。所与のクラスタについて、ある点で、所与のクラスタの共用ループ・リングが、本質的にそれに見合うものを「絞り取られる」収穫逓減点に達することは簡単に諒解される。というのは、最も高価な資源が共用ディスクであり、これによって、たとえば図６および図７の各クラスタに示された１６個を超える追加プロセッサを追加する意味がほとんどなくなるからである。言い換えると、適当な数のプロセッサがあれば、相互接続ディスク駆動装置のより高速な帯域幅が、限界まで負担を負わされ、これによって、ＡＴＭスイッチ１８６の能力がその容量を超える負担を負わされるまでは、別のＡ／Ｖサーバを追加するよりも、もう１つのクラスタ全体を単純に追加した方が利益を得られる。クラスタは、特化（広範囲のタイトル数）のため、帯域幅（多数のクラスタに複写されたタイトル）のため、または、可用性（クラスタの内容が正確に対にされる場合）のために複写できる。
【００４５】
本発明の特定の実施例に関して本発明を図示し、説明してきたが、当業者であれば、本発明の趣旨および範囲から逸脱することなく、形態および詳細において前述および他の変更を行えることを理解するであろう。
【００４６】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００４７】
（１）データストリーム要求を生成するステップと、
各クラスタが
複数のＡ／Ｖサーバと、
制御サーバ・サブシステムと、
共用データ・ループに構成され、前記複数のＡ／Ｖサーバおよび前記制御サーバ・サブシステムに相互接続された、複数の記憶装置と
を含む、Ａ／Ｖサーバの複数の前記クラスタのうちの１つを、前記要求に応答してマスタ・コントローラによって前記要求をサービスするために割り当てるステップと、
前記クラスタのうちの前記割り当てられた１つによって前記要求をサービスするステップと
を含む、マルチメディア・データストリーム・サーバ・システム内で多数のデータストリームを提供するための方法。
（２）前記クラスタのそれぞれが、高速データ・スイッチに相互接続されることを特徴とする、上記（１）に記載の方法。
（３）前記マスタ・コントローラが、前記コントロール・サーバ・サブシステムのうちの１つの構成要素であることを特徴とする、上記（２）に記載の方法。
（４）前記要求されたデータストリームが、前記割り当てられたクラスタ内の前記記憶装置のうちの１つから、前記クラスタ内の前記Ａ／Ｖサーバのうちの対応する１つを介して前記スイッチに渡されることを特徴とする、上記（３）に記載の方法。
（５）前記共用データ・ループがＳＳＡループまたはＦＣ−ＡＬループであることを特徴とする、上記（４）に記載の方法。
（６）前記ループのそれぞれについて、前記各ループ内の前記記憶装置のそれぞれが、前記ループに相互接続された前記Ａ／Ｖサーバのいずれに対しても実質的に同等のアクセスを有することを特徴とする、上記（５）に記載の方法。
（７）データストリーム要求を生成する手段と、
各クラスタが、
複数のＡ／Ｖサーバと、
制御サーバ・サブシステムと、
共用データ・ループに構成された、前記複数のＡ／Ｖサーバおよび前記制御サーバ・サブシステムに相互接続された複数の記憶装置と
を含む、前記Ａ／Ｖサーバの複数のクラスタのうちの１つを、前記要求に応答してマスタ・コントローラによって前記要求をサービスするために割り当てる手段と、
前記クラスタのうちの前記割り当てられた１つによって前記要求をサービスする手段と
を含む、マルチメディア・データストリーム・サーバ・システム内で多数のデータストリームを提供する装置。
（８）前記クラスタのそれぞれが、高速データ・スイッチに相互接続されることを特徴とする、上記（７）に記載の装置。
（９）前記マスタ・コントローラが、前記コントロール・サーバ・サブシステムのうちの１つの構成要素であることを特徴とする、上記（８）に記載の装置。
（１０）前記要求されたデータストリームが、前記割り当てられたクラスタ内の前記記憶装置のうちの１つから、前記クラスタ内の前記Ａ／Ｖサーバのうちの対応する１つを介して前記スイッチに渡されることを特徴とする、上記（９）に記載の装置。
（１１）前記共用データ・ループがＳＳＡループまたはＦＣ−ＡＬループであることを特徴とする、上記（９）に記載の装置。
（１２）前記ループのそれぞれについて、前記各ループ内の前記記憶装置のそれぞれが、前記ループに相互接続された前記Ａ／Ｖサーバのいずれに対しても実質的に同等のアクセスを有することを特徴とする、上記（１１）に記載の装置。
【図面の簡単な説明】
【図１】ディスク・コントローラを相互接続するファイバ・チャネル・アービトレーテッド・ループを用いる、従来技術のオーディオ／ビデオ・サーバ・システムの機能ブロック図である。
【図２】所与のコントローラを所望の記憶装置に選択的に相互接続するためにクロスバー・スイッチを用いる、従来技術のもう１つのオーディオ／ビデオ・サーバ・システムの機能ブロック図である。
【図３】共用記憶装置ループを用いる、本発明のオーディオ／ビデオ・サーバ・システムの１実施例の機能ブロック図である。
【図４】図３のシステムのより詳細な機能図である。
【図５】本発明の図３および図４のシステムの動作を示す流れ図である。
【図６】図７と共に、各クラスタに１６個のビデオ・サービス・ノードと、クラスタの１６個のノードのすべてによって共用されるように相互接続されたディスク駆動装置が含まれる、本発明による５クラスタ・システムを示す図である。
【図７】図６と共に、各クラスタに１６個のビデオ・サービス・ノードと、クラスタの１６個のノードのすべてによって共用されるように相互接続されたディスク駆動装置が含まれる、本発明による５クラスタ・システムを示す図である。
【符号の説明】
８０  ネットワーク・ゲートウェイ
８１  通信経路
８２  広帯域チャネル
８３  オーディオ／ビデオ装置
８４  制御サーバ
８６  制御サーバ
８８  ＡＴＭスイッチおよびネットワーク
９０  制御メッセージ経路
９２  冗長制御経路バックアップ
９４  オーディオ／ビデオ・サーバ・コンピュータ
１１０  共用ループ
１１２  ディスク駆動装置
１１４  ループ・アダプタ
１１７  ロボット媒体アーカイビング・システム
【図１】
0003905962.tif 000002
【図２】
0003905962.tif 000003
【図３】
0003905962.tif 000004
【図４】
0003905962.tif 000005
【図５】
0003905962.tif 000006
【図６】
0003905962.tif 000007
【図７】
0003905962.tif 000008