(57)【要約】【課題】比較的低コストで、数多くのビデオ出力ストリームを発生し、制御することが可能な、新規のアーキテクチャを含むビデオ・サーバ・システムを提供する。【解決手段】ビデオ・サーバは、配給ネットワークを介して、ユーザ要求を受け取る。この要求は、スイッチを介して、リアル・タイム・コントローラ（ＲＴＣ）に送られ、そこから、さらに、システム・コントローラ（ＣＳ）に送られる。ＣＳは、アクセスの可否を判定し、かつ、要求されたデータがデータ記憶システムに納められていると判定すると、ＲＴＣに命じて、アクセスの承認をし、ＲＴＣにデータの記憶場所を知らせる。アーカイバル記憶システムは、ディスク・ドライブ・アレイを構成する複数のディスクに対するビデオ・データの転記を開始する。各ディスクが、映画の多数の小部分を受け取り、ビデオ・データの所定の一部が、各ディスクに順次記憶される。【選択図】図３
2005110291.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザに少なくともビデオ・データを提供するシステムであって、該システムは、
(１)ａ)少なくとも複数のビデオ・データ・プログラムを記憶するためのアーカイバル・テープ記憶システムと、
ｂ)アーカイバル・テープ記憶システムに結合されて、アーカイバル・テープ記憶システムからビデオ・データ・プログラムを受け取って記憶し、アーカイバル・テープ記憶システムよりも迅速なビデオ・データ・プログラムへのアクセスを可能にする複数のディスク・ドライブと、
ｃ)データ・ソース及びディスク・ドライブに結合されて、ディスク・ドライブに記憶されたビデオ・データ・プログラムにデータ・ソースがアクセスできるようにする複数のディスク・インタフェースと、
を含む、少なくともビデオ・データを記憶するためのデータ記憶システムと、
(２)データ記憶システムに結合されて、データ記憶システムから検索されたビデオ・データに伝送に備えて書式化を施す複数のデータ・ソースと、
(３)データ・ソースのそれぞれ及び複数の通信チャネルに結合されて、データ・ソースから通信チャネルにパッケージ化したビデオ・データを送るスイッチと、
(４)スイッチ、データ・ソース、及びデータ記憶システムに結合されて、データ記憶システムとデータ・ソースの接続、データ・ソースとスイッチの接続、及びスイッチと通信チャネルの接続を制御し、通信チャネルを介してユーザから受け取るユーザ要求に応答して、少なくとも部分的に接続を行う第１のコントローラと、
(５)第１のコントローラに結合されて、ユーザによるシステム・アクセスを制御する第２のコントローラと、
を含み、
各データ・ソースには、
(１)少なくとも１対がデータ・ソースに結合された各ユーザに利用可能であり、対をなす第１のＦＩＦＯメモリ・バッファがデータ記憶システムからビデオ・データを受け取り、対をなす第２のＦＩＦＯメモリ・バッファが第１と第２のコントローラから他のデータを受け取るようになっている、複数のＦＩＦＯメモリ・バッファ対と、
(２)ＦＩＦＯメモリ・バッファ対に結合されて、どのＦＩＦＯメモリ・バッファ対がデータを伝送すべきかを選択するセレクタ・スイッチと、
(３)セレクタ・スイッチに結合され、セレクタ・スイッチにタイミング信号を提供しＦＩＦＯメモリ・バッファ対がデータを伝送する時間長を決定する、レート発生器と、
(４)レート発生器及びデータ記憶システムに結合されて、どのＦＩＦＯ対をデータ記憶システムに結合するかを選択し、レート発生器が発生しなければならないレートを決定する、第３のコントローラと、
(５)セレクタ・スイッチ及び通信チャネルに結合され、通信チャネルを介した伝送に備えて第１及び第２のＦＩＦＯからのデータに書式化を施すマルチプレクサと、
がさらに設けられている、システム。
【請求項２】
前記スイッチによって複数のデータ・ソースの任意の１つと通信チャネルの任意の１つを結合しうるようにした、請求項１に記載のシステム。
【請求項３】
複数のビデオ・データ・プログラムのそれぞれは、再生バージョン、早送りバージョン、及び早戻しバージョンとしてアーカイバル・テープ記憶システムに記憶され、
再生バージョンはビデオ・データ・プログラムの全体を含み、早送りバージョンは再生バージョンの所定の部分を含み、早戻しバージョンは再生バージョンの同一の所定の部分を含むが、再生バージョン及び早送りバージョンとは逆の順序でアーカイバル・テープ記憶システムに記憶されており、
ビデオ・プログラムの前記３つのバージョンは、ユーザがビデオ・データ・プログラムを要求するとディスク・ドライブに書き込まれる、請求項１に記載のシステム。
【請求項４】
ユーザがビデオ・データ・プログラムを要求すると、ビデオ・データ・プログラムがアーカイバル記憶システムから複数のディスク・ドライブに転記され、
複数のディスク・ドライブのそれぞれがビデオ・データ・プログラムの前記３つのバージョンのそれぞれについて所定の部分を受け取る、請求項３に記載のシステム。
【請求項５】
ユーザに割り当てられたＦＩＦＯメモリ・バッファ対が、ユーザの要求したビデオ・データ・プログラムのバージョンの一部が転記されているディスク・ドライブのそれぞれからビデオ・データを受け取り、
ＦＩＦＯメモリ・バッファ対がユーザにビデオ・データ・プログラムを伝送する前に、各ディスク・ドライブが該ビデオ・データを順次ＦＩＦＯメモリ・バッファ対に伝送する、請求項４に記載のシステム。
【請求項６】
ユーザが、いつでも、早送りバージョン、早戻しバージョン、及び再生バージョンの中から選択することができることと、第１のコントローラが通信チャネルからユーザの要求を受け取った後、第１のコントローラの制御下において、前記システムが、ディスク・ドライブからユーザに割り当てられたＦＩＦＯ対に、ユーザの選択したバージョンを伝送する、請求項４に記載のシステム。
【請求項７】
複数の通信チャネルを備え複数のユーザに結合された配給ネットワークに結合された、少なくともビデオ・データを提供するためのビデオ・サーバであって、該ビデオ・サーバは、
(１)複数のソースから少なくともビデオ・データを受け取り、ユーザへの伝送に備えて少なくともビデオ・データに書式化を施す複数のデータ・ソースと、
(２)配給ネットワーク及びデータ・ソースに結合されて、複数の通信チャネルの任意の１つと複数のデータ・ソースの任意の１つを結合することが可能な第１のスイッチと、
(３)複数のデータ記憶装置から構成され、少なくともビデオ・データを記憶するデータ記憶システムと、
(４)データ・ソース及びデータ記憶システムに結合されて、複数のデータ記憶装置の任意の１つを前記複数のデータ・ソースの任意の１つに結合する第２のスイッチと、
(５)第１のスイッチ、第２のスイッチ、及びデータ・ソースに結合されて、データ記憶システムとデータ・ソースの結合、及びデータ・ソースと通信チャネルの結合を制御する、第１の制御システムと、
(６)第１の制御システムに結合されて、どのユーザがサーバにアクセスできるかを指示する第２の制御システムと、
を含み、
前記データ・ソースには、
(１)データ記憶入力ポート及びネットワーク・ポートに結合されて、ポートを介して受け取るビデオ・データ及び他のデータを先入れ先出し順に記憶する複数のＦＩＦＯメモリ・バッファと、
(２)ＦＩＦＯメモリ・バッファに結合されたセレクタ・スイッチと、
(３)セレクタ・スイッチ及びネットワーク・ポートに結合されたマルチプレクサ/デマルチプレクサと、
(４)セレクタ・スイッチに結合されて、複数の異なるタイミング周波数を発生して、セレクタ・スイッチを介してＦＩＦＯメモリ・バッファからマルチプレクサ/デマルチプレクサへのデータの流れを制御するレート発生器と、
(５)レート発生器及びデータ記憶入力ポートに結合されて、データ記憶システム及びネットワーク・ポートからＦＩＦＯメモリ・バッファへのデータの流れを制御し、ＦＩＦＯメモリ・バッファからセレクタ・スイッチへのデータの流れを制御する、データ・ソースコントローラと、
がさらに設けられている、ビデオ・サーバ。
【請求項８】
前記データ記憶システムは、
(１)第１の規定のアクセス時間及び第１の規定の記憶容量を備えた長期データ記憶システムと、
(２)長期データ記憶システムに結合され、第１の規定のデータ記憶容量より少ない第２の規定のデータ記憶容量と、第１の規定のアクセス時間より短い第２の規定のアクセス時間とを有する短期データ記憶システムと、
(３)短期データ記憶システム及びデータ・ソースに結合されており、短期データ記憶システムにアクセスして、データ・ソースにデータを伝送するように指令し、長期データ記憶システムにアクセスして、短期データ記憶システムにデータのダウンロードを行うように指令する複数のデータ記憶インタフェースと、
を含む、請求項７に記載のビデオ・サーバ。
【請求項９】
第１の制御システムは、第１のＭ／Ｄスイッチによって配給ネットワークを介してユーザからのユーザ指令を受け取り、該指令に応答して、データ・ソース、第１と第２のＭ／Ｄスイッチ、及びデータ記憶システムに制御を加える、請求項８に記載のビデオ・サーバ。
【請求項１０】
第２の制御システムは、ビデオ・サーバに対して少なくともアカウント支援を行う少なくとも１つの外部コンピュータ・システムに結合されている、請求項９に記載のビデオ・サーバ。
【請求項１１】
長期データ記憶システムは複数のビデオ・データ・プログラムを記憶し、各ビデオ・プログラムは第１の再生バージョン、第２の早送りバージョン、及び第３の早戻しバージョンとして記憶される、請求項９に記載のビデオ・サーバ。
【請求項１２】
短期データ記憶システムが複数のディスク記憶装置から構成され、所定の数のディスク記憶装置がディスク記憶装置の１次元アレイを形成している、請求項１１に記載のビデオ・サーバ。
【請求項１３】
ユーザがビデオ/オーディオ・プログラムを要求すると、ビデオ・プログラムの早送り、再生、及び早戻しバージョンが長期記憶システムからディスク記憶装置の選択された１次元アレイに転記され、各バージョンの既定ブロックが連続したディスク記憶装置のそれぞれに順次転記される、請求項１２に記載のビデオ・サーバ。
【請求項１４】
第１の制御システムは、ユーザのシステム・アクセス要求を受け取ってその要求を第２の制御システムに送り、第２の制御システムは、ユーザのシステム・アクセスが許可されていると判定して、第１の制御システムにユーザがサーバへのアクセスを許可される旨の伝達を行うと、第１の制御システムがユーザにデータ・ソースを割り当てる、請求項１３に記載のビデオ・サーバ。
【請求項１５】
ユーザによって選択されたビデオ・プログラムのバージョンの一部が、１次元アレイをなすディスク記憶装置に対する順次アクセスによって、ディスク記憶装置からユーザに割り当てられたＦＩＦＯメモリ・バッファに伝送され、
ユーザにプログラムが伝送される前に、ＦＩＦＯメモリ・バッファはその容量の所定のパーセンテージまで充填されている、請求項１４に記載のビデオ・サーバ。
【請求項１６】
中断することなく確実にユーザにプログラムを供給するのに十分なビデオ／オーディオ・データがバッファ対に納められていることを保証するため、継続的に再計算されるレートで前記バッファ対が満たされる、請求項１５に記載のビデオ・サーバ。
【請求項１７】
ユーザは、サーバに対するアクセスを許されている期間中いつでも、ユーザが選択したプログラムについて記憶されている任意のバージョンを選択することが可能であり、バッファ対は、ユーザが最初にプログラムのあるバージョンを選択したときに充填されたのと同じやり方で、新たに選択されたバージョンを充填される、請求項１５に記載のビデオ・サーバ。
【請求項１８】
プログラムが圧縮形式で長期記憶システムに記憶される、請求項１１に記載のビデオ・サーバ。
【請求項１９】
メモリ・システム、メモリ・システムに結合された複数のデータ書式化装置、及びデータ書式化装置及びメモリ・システムに結合された制御システムから構成され、前記メモリ・システムにさらに複数のアレイをなすディスク・ドライブが設けられているビデオ・サーバにおいて、複数の通信チャネルを介してビデオ・サーバに結合されたユーザにビデオ・データ・プログラムを提供するための方法であって、
(１)１つのディスクドライブアレイを構成するディスク・ドライブの全域にわたって個々のビデオ・データ・プログラムのそれぞれにストライピングを施すステップと、
(２)通信チャネルの１つを介してビデオ・サーバに送られる、ユーザのビデオ・データ・プログラム要求を検出するステップと、
(３)要求されたビデオ・データ・プログラムを納めたディスクドライブアレイをデータ書式化装置に結合するステップと、
(４)選択されたデータ書式化装置をユーザに結合された通信チャネルに結合するステップと、
(５)要求されたビデオ・データ・プログラムが記憶されているディスクドライブアレイから、それを順次読み取るステップと、
(６)選択されたデータ書式化装置において、順次読み取ったデータの書式化を行うステップと、
(７)書式化されたビデオ・データをユーザに伝送するステップであって、各ビデオ・データ・プログラムが、ａ)第１の再生ビデオ・データ・プログラムと、ｂ)再生ビデオ・データ・プログラムにおけるビデオ・データと同じ順序で記憶された再生ビデオ・データ・プログラムを含む選択されたビデオ・データ・セットからなる第２の早送りビデオ・データ・プログラムと、ｃ)再生ビデオ・データ・プログラムにおけるビデオ・データと逆の順序で記憶された、再生ビデオ・データ・プログラムを構成する選択されたビデオ・データ・セットからなる第３の早戻しビデオ・データ・プログラムと、を含み、前記第１、第２、第３のプログラムには、それぞれ同じディスクドライブアレイの全域にわたってストライピングが施されている、ステップと、
を含む、ビデオ・データ・プログラム提供方法。
【請求項２０】
早送りビューイング・モードでビデオ・データ・プログラムが見られるようにユーザが指示すると、第２の早送りビデオ・データ・プログラムを順次読み取り、書式化し、伝送するステップと、
早戻しビューイング・モードでビデオ・データ・プログラムが見られるようにユーザが指示すると、第３の早戻しビデオ・データ・プログラムを順次読み取り、書式化し、伝送するステップと、
をさらに含む、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、デジタル・コンピュータ・システムの分野に関するものであり、とりわけ、ビデオ及びマルチメディア・コンピュータ・サーバの分野に関するものである。
【背景技術】
【０００２】
近いうちに、米国における大部分の家庭及び企業を相互接続する可能性のある、広帯域幅の通信チャネル網が発展を続けることによって、それに接続されたものには、多様なサービスの提供が期待される。これらのサービスには、家庭での銀行取引、米国国会図書館のような大データ・ベースに対する瞬時のアクセス、及び、同様の関心を抱く人々から成る仮想コミュニティとのリアル・タイムの対話が含まれる。スーパハイウェイによって利用可能になるサービスのうち、法人及び媒体のかなりの注目を集めているのは、ビデオ・オン・ディマンド（ＶＯＤ）の提供である。
【０００３】
ＶＯＤは、ユーザが、いつでも、これまでに製作されたほとんど全ての映画のサービスを受けることが可能になるという期待を抱かせるものである。ユーザは、ビデオ・レンタル店まで車で出向いて、映画を選択する代わりに、このシステムのビデオ・ライブラリに納められている映画を選択し、スーパハイウェイによってその映画を配給させることが可能になる。
【０００４】
ＶＯＤの期待が実現可能になる前に、多くの問題を解決しなければならない。比較的短い、所要時間が２時間の映画でさえ、約２．２×１０10ビットのデータが含まれている。数千タイトルの映画ライブラリに納められる膨大な量のデータを圧縮し、記憶するための標準的な方法について、合意が得られなければならない。仮にデータの捕捉及び記憶が実施されたとしても、納められたデータをユーザに配給するのに必要とされるシステムのいかなる部分についても、全く同意は得られていない。
【０００５】
いかなるシステムが提案されようとも、ユーザの厳しい要求を満たさなければならない。ユーザは、いかなる映画を選択しようとも、迅速に配給されることを欲している。ユーザは、また、任意のポイントにおいて、映画の開始及び停止を実施する能力、並びに、随意に、映画の早送り（ＦＦ）及び早戻し（ＦＲ）を実施する能力も欲している。全てのユーザが、いつでも、これらの能力を利用できるようにすると、システムの記憶装置、内部バス、及び、処理装置に対する要求も膨大なものになる。光ファイバ・ケーブルの途方もない帯域幅でさえ、超える可能性がある。さらに、ユーザの要求、並びに、課金情報等の通信を行うためには、ユーザとシステムの間で、何らかの両方向通信が必要になる。この両方向通信によって、システムの負担がさらに増すことになる。
【０００６】
ＶＯＤビデオ・サーバの基本的な態様によれば、出力データにあまり処理を加えなくても、データ記憶システムから多くのユーザに、ほぼ同時に、大量のデータが提供される。システムが必要とする処理能力は、通常、ユーザの口座に対する課金、及び、記憶されているビデオ・ソース・プログラムのアーカイビングといった、比較的単純なものである。非対称入力／出力（Ｉ／Ｏ）エンジンのような構想中のビデオ・サーバが有効になる。
【０００７】
ビデオ・サーバに関して提案されている各種システム・アーキテクチャから明らかなように、ビデオ・サーバの非対称性については、理解されていない。多くの提案では、ビデオ・データがユーザに送られる際に、メイン・フレーム・コンピュータを用いて、その管理及びモニタを行うことを示唆している。こうしたシステムの場合、映画に関する全ての要求及びほとんどのシステム制御機能が、メイン・フレームのＣＰＵによって処理される。こうした環境での待ち時間は、ユーザ数の増大につれて、急激に増大する可能性がある。メイン・フレーム・コンピュータのこうした利用は、システムの処理能力を浪費するものである。このアーキテクチャに基づくビデオ・サーバは、高価で、拡張が困難である。
【０００８】
パーソナル・コンピュータ（ＰＣ）のアーキテクチャは、複数のデータ記憶装置に対するアクセス及び制御を意図したものではなく、あるいは、高速で、広帯域幅の出力バスに対する制御を意図したものでもないので、ＰＣネットワークを利用してＶＯＤを提供しようとする提案は、フレキシビリティに欠けている。
【０００９】
ここまでは、ユーザに対するビデオ・データの配給に関連して述べてきたが、提案のＶＯＤシステムは、オーディオ、テキスト、グラフィックス、及び、他のデータ・タイプを含むことが可能な、データ・ストリームを発生する。明細書及び請求項におけるビデオ・データに対する言及は、全て、これら列挙したデータ・タイプのうちの全くの１つだけ、あるいは、それらを混合したものから構成されるデータを含むことを意図している。さらに、この場合、本発明を、特に列挙したデータ・タイプの記憶及び伝送だけに限定するものは何もない。
【００１０】
ＶＯＤが実現可能になる前に、比較的低コストで、数千とはいかなくても、数百のビデオ出力ストリームを発生し、制御することが可能な、新規のアーキテクチャを創り出さなければならない。いくつかある競合フォーマットの任意の１つによってビデオ・データの圧縮及び記憶が行われる、このアーキテクチャは、拡張が可能で、故障を許容し、効率の良い操作が行えるものでなければならない。こうしたアーキテクチャは、現在のところ知られていない。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
したがって、本願発明の目的は、ＶＯＤが実現可能になる前に、比較的低コストで、数千とはいかなくても、数多くのビデオ出力ストリームを発生し、制御することが可能な、新規のアーキテクチャを含むビデオ・サーバ・システムを提供することである。さらに、いくつかある競合フォーマットの任意の１つによってビデオ・データの圧縮及び記憶が行われても、拡張が可能で、故障を許容し、効率の良い操作が行える、新規のアーキテクチャを含むビデオ・サーバ・システムを提供することである。
【課題を解決するための手段】
【００１２】
本発明の第１の実施例は、そのアーキテクチャが、簡単に拡張可能で、冗長性があり、比較的安価な、ビデオ・サーバから構成される。この第１の実施例の場合、２つの制御システムが、ビデオ・サーバを実行し、２つの異なるクラスの操作に合わせて最適化される。２つの制御システムは、システム・コントローラ及びリアル・タイム・コントローラである。システム・コントローラは、サーバのゲート・キーパの働きをし、どのユーザがサーバにアクセスすることが可能かを判定する。それは、また、課金トランザクション、他のデータ処理タスクを取扱い、ビデオ・サーバに対する支援サービスを提供する可能性のある、他のコンピュータに対する接続を維持する。リアル・タイム・コントローラは、システム・コントローラに結合されて、特定のユーザに特定のデータ・ストリームを供給するのに必要な、時間にクリティカルな機能を実施する。リアル・タイム・コントローラとシステム・コントローラの間におけるこのタスク分割は、システム性能の最適化に役立ち、特定のユーザ要求の待ち時間を短縮する。
【００１３】
リアル・タイム・コントローラは、ビデオ・データを記憶し、検索し、伝送に備えて書式化し、最後に、ユーザに伝送する複数のコンポーネントに結合されている。この第１の実施例の場合、これらのコンポーネントは、データ記憶システム、複数のデータ・ソース、及び、第１と第２の多重化／多重分離（Ｍ／Ｄ）スイッチである。
【００１４】
データ記憶システムは、比較的データ・アクセス及び伝送速度が遅い、大容量アーカイバル記憶素子と、データ・アクセス及び伝送速度がアーカイバル記憶素子よりも速い、複数の小容量ディスク・ドライブ・アレイから構成される。データ記憶システムは、ビデオ・データの長期記憶と短期記憶の両方を可能にする。典型的な用途の場合、アーカイバル記憶素子のビデオ・データは、ユーザにアクセス可能になる前に、ディスク・ドライブ・アレイに転記しなければならない。
【００１５】
データ記憶システムは、さらに、第１のＭ／Ｄスイッチを介して複数のデータ・ソースに結合されており、この第１のＭ／Ｄスイッチは、さらに、リアル・タイム・コントローラに結合されて、その制御を受ける。この第１のＭ／Ｄスイッチによって、データ記憶システムとデータ・ソースの間における完全な双方向接続が得られる。各データ・ソースは、データ記憶システムからビデオ・データのいくつかのストリームを受け取り、リアル・タイム・コントローラの管理下において、該ストリームを適当なユーザに送ることが可能である。
【００１６】
各データ・ソース内において、高速Ｉ／Ｏバスが、データ記憶システムとネットワーク・インターフェイスを接続する。データ記憶システムから送り出されるビデオ・データは、データ・ソースに入り、先入れ先出し（ＦＩＦＯ）メモリ・バッファに納められる。各データ・ソースは、複数のＦＩＦＯ、及び、複数の独立したデータ・ストリームを支援する他のコンポーネントを備えている。
【００１７】
データ・ソースは、第２のＭ／Ｄスイッチによってネットワークに結合されている。リアル・タイム・コントローラの指令下において、第２のＭ／Ｄスイッチは、データ・ソースとユーザの間における完全な双方向接続を可能にする。
【００１８】
リアル・タイム・コントローラは、どのユーザがデータを要求したかを判定し、データ記憶システムにおけるどのディスク・ドライブ・アレイが、要求されたビデオ・データの提供に利用されるかを判定し、どのデータ・ソースがそのデータを受け取り、処理を施すことになるかを判定する。リアル・タイム・コントローラは、ユーザが最小限の遅延で、要求されたデータ・ストリームを受け取ることになるように、第１と第２のＭ／Ｄスイッチ、データ・ソース及びデータ記憶素子に適切な指令を発生する。
【００１９】
本発明の第２の実施例の場合、データ・ソースは、直接、データ記憶システムに結合される。
【００２０】
第１と第２の実施例の両方とも、通常、予備のデータ・ソースが設けられている。予備データ・ソース及びそれに結合されたデータ記憶素子には、現在再生中の各ビデオ・プログラムのコピーが記憶されている。代替案として、アクティブ・ビデオ・データの任意のサブセットに加えて、つい最近非アクティブ状態になったばかりのビデオ・データもコピーし、記憶することが可能である。データ・ソースが故障するか、あるいは、データ記憶素子が故障すると、故障したデータ・ソースによって支援されていたユーザには、第１と第２のＭ／Ｄスイッチを介して、予備データ・ソース及びデータ記憶素子が結合されるので、これらのユーザに対するサービスは、中断を感じさせることなく、続行される。このデータのミラーリング（mirroring)と、少なくとも１つの予備データ・ソースの装備によって、本発明は十分な故障許容範囲を得ている。
【００２１】
いずれの実施例にせよ、独立したサブシステムが、常に、システムの全てのコンポーネントの性能をモニタし、故障が発生すると、オペレータに警告を与え、故障の発生位置に関して情報を提供する。この警告及び情報によって、リアル・タイム・コントローラは、故障した装置を切断し、動作可能になっている装置を代用する。
【００２２】
第１と第２の実施例は、より多くのデータ・ソースの追加、並びに、データ記憶システムの規模拡大によって拡張することが可能である。
【００２３】
動作時、ビデオ・サーバは、配給ネットワークを介して、ユーザのセット・トップ・ボックス（ＳＴＢ）からサーバに送られてくるユーザ要求を受け取る。この要求は、第２のＭ／Ｄスイッチを介して、リアル・タイム・コントローラに送られ、そこから、さらに、システム・コントローラに送られる。システム・コントローラは、ユーザのアクセスが差しつかえないと判定し、かつ、要求されたデータが記憶システムに納められていると判定すると、リアル・タイム・コントローラに命じて、ユーザのアクセスを許可させ、リアル・タイム・コントローラにデータの記憶場所を知らせる。
【００２４】
要求されたビデオ・データが、ディスク・ドライブ・アレイの１つにおいて既に利用不可能になっている場合、アーカイバル記憶サブシステムは、単一ディスク・ドライブ・アレイを構成する複数のディスクに対するビデオ・データの転記を開始する。各ディスクが、映画の多数の小部分を受け取り、ビデオ・データの所定の一部が、各ディスクに順次記憶されることになる。本書では、この技法を「データ・ストライピング」と称している。通常、ビデオ・データ・プログラム全体を選択されたディスク・ドライブ・アレイに転記するには、数分間を要するが、ビデオ・サーバは、ほんの２〜３分間分のプログラムを転記しただけで、ユーザに対するビデオ・データの伝送を開始することが可能になる。
【００２５】
各ビデオ・データ・プログラムの特殊なＦＦ及びＦＲバージョンを設けることによって、ユーザはＦＦ及びＦＲビューイング・モードの実施が可能になる。これらの特殊バージョンは、もとのビデオ・データからフレームを選択し、このフレームに、さらに編集を施して、ＦＦまたはＦＲモードで映画を見る場合に検出できない、視覚的細部を除去したものから構成される。ＦＦバージョンに関して選択されたビデオ・データは、もとのビデオ・データの記憶順序と同じ順序で記憶され、ＦＲバージョンに関して選択されたビデオ・データは、もとのビデオ・データとは逆の順序で記憶される。これらのバージョンは、もとのビデオ・データ・バージョンと共に記憶される。ビデオ・データ・プログラムが要求されると、ユーザを支援するように選択されたディスク・アレイに対して、プログラムの３バージョン全てのストライピングが実施される。
【００２６】
選択されたディスク・アレイに対して、ビデオ・データの所定の最初の部分に関するストライピングが済むと、再生を開始することが可能になる。ビデオ・データの特殊な初期先取りによって、各ディスクに並列に記憶されているビデオ・データの先頭のセグメントが読み取られ、これらのセグメントが、ユーザを支援するＦＩＦＯメモリ・バッファに順次送られる。この初期先取りによって、ユーザには、少なくとも数秒間見る間に、十分なビデオ・データが提供される。
【００２７】
各ディスクは、所定の時間に、数人のユーザを支援することが可能である。適正なアクセス・スケジューリングが維持される場合、所定の時間間隔において、ディスクからデータを読み取ることができる速度は、数人のユーザの要求を支援するのに十分以上である。本発明の場合、ユーザ・タイム・スロットを割り当て、これを維持することによって、ディスク・アレイからユーザへの十分なビデオ・データ供給が保証される。
【００２８】
ユーザが、再生からＦＦまたはＦＲにスイッチするか、あるいは、この逆を行うと、ビデオ・サーバが、アクセス中のディスクにおけるＦＦまたはＦＲビデオ・セグメントを読み取り、現在表示中のビデオ・データに対して時間シーケンス的に最も近いセグメントを選択する。
【発明を実施するための最良の形態】
【００２９】
図１は、本発明の動作環境を示すブロック図である。本発明のビデオ・サーバ１０は、配給ネットワーク２０及び他のアプリケーション・サーバ４０に結合されている。配給ネットワーク２０は、多数の独立した通信チャネルを備える、光ファイバ・ネットワーク、同軸ケーブル、ツイスト・ペア、または、他の任意のタイプのデジタル・データ・ネットワークとすることが可能である。代替案として、赤外線（ＩＲ）、無線周波数（ＲＦ）、または、マイクロ波の電磁波を利用した無線配給ネットワークを利用することも可能である。ネットワークは、一般に、帯域幅が広いが、配給ネットワークのタイプ及び能力は、本発明の解説及び理解にとっての関連性は些末なものでしかない。ビデオ・サーバ１０には、配給ネットワーク２０を介して、クライアント・ノード３０が結合されている。クライアント・ノード、配給ネットワーク、及び、ビデオ・サーバ間の通信は、通常、双方向性である。クライアント・ノード３０は、個々のユーザのＴＶ  ＳＴＢ、任意の汎用コンピュータ、あるいは、ビデオ・データの要求及び受信が可能な他の任意のエンティティから構成することが可能である。実際、クライアント・ノード３０は、もう１つのビデオ・サーバによって構成することも可能である。本書で「ユーザ」と称する場合、「クライアント・ノード」と同義であると解釈されたい。
【００３０】
アプリケーション・サーバ４０は、双方向通信チャネルによってビデオ・サーバ１０に結合されている。アプリケーション・サーバ４０は、課金、ビデオ・プログラム使用に関する統計的分析等のサービスを提供することが可能である。
【００３１】
システム・アーキテクチャ
図２は、本発明の第１の好ましい実施例に関するブロック図である。Ｍ／Ｄスイッチ７０及び８０は、それぞれ、データ・ソース１００とデータ記憶システム９０の結合、及び、データ・ソース１００と配給ネットワーク２０の結合を行う（図１参照）。Ｍ／Ｄスイッチ７０及び８０は、任意の入力ソースと任意の出力ソースとの結合が可能であり、マルチプレクサ／デマルチプレクサの働きをする。Ｍ／Ｄスイッチは、単体である必要はない。ブロック化するか、あるいは、ブロック化しないかは別にして、より小形の複数のＭ／Ｄスイッチを利用することも可能である。この第１の実施例の場合、ファイバ・チャネルＭ／Ｄスイッチは、Ｍ／Ｄスイッチ７０の働きをし、非同期転送モード（ＡＴＭ）Ｍ／Ｄスイッチは、Ｍ／Ｄスイッチ８０の働きをする。これらのタイプのＭ／Ｄスイッチは、市販のものであり、これ以上の解説は不要である。この第１の実施例にあまり変更を加えなくても、ＳＣＳＩスイッチまたは時分割クロス・バーに相当するスイッチといった、他のＭ／Ｄスイッチを利用することも可能である。
【００３２】
各データ・ソース１００は、Ｍ／Ｄスイッチ７０及び８０に加えて、リアル・タイム・コントローラ６０にも結合されている。各データ・ソース１００は、多くの独立した対話ユーザに、ビデオ・データを同時に提供する。データ・ソースは、映画エンターテインメント・グループ（ＭＰＥＧ）符号化データ、スクリプト、インタプリタを含むビデオ・データ、及び、そのビデオ・データに関するメタデータの短期記憶を可能にする。データ・ソースは、連続したサービスを保証する速度で、各ユーザに対する個々のデータ・ストリームの再生も行う。このため、データ・ソースは、Ｍ／Ｄスイッチ７０を介してデータ記憶システム９０から受信したデータに書式化及びバッファリングを施し、適合する速度で、Ｍ／Ｄスイッチ８０を介して、配給ネットワーク２０に伝送する。データ・ソース１００のこの構成及び動作については、後で詳述する。
【００３３】
リアル・タイム・コントローラ６０は、Ｍ／Ｄスイッチ７０、８０、データ・ソース１００、及び、制御システム５０に結合されている。リアル・タイム・コントローラ６０は、特定のディスク・ドライブ・アレイ９２と特定のデータ・ソース１００の接続、及び、特定のデータ・ソース１００と配給ネットワークにおける通信チャネルの１つとの接続を管理する。リアル・タイム・コントローラは、ＦＦ及びＦＲ指令のような、一定のユーザとの進行中の対話を制御する。この第１の好ましい実施例の場合、リアル・タイム・コントローラ６０は、汎用デジタル・コンピュータであり、リアル・タイム・オペレーティング・システムを実行する、ＨＰシリーズ７００ワークステーションから構成される。このタイプのコンピュータは、既知であるため、これ以上の解説は不要である。ＨＰワークステーションの代わりに、他のタイプの汎用デジタル・コンピュータを利用することも可能である。
【００３４】
制御システム５０は、リアル・タイム・コントローラ６０、Ｍ／Ｄスイッチ８０、及び、アプリケーション・ビデオ・サーバ４０（図１参照）に結合されている。制御システム５０は、所定のユーザに対するデータ処理を必要とする種々のサービスを提供する。これらのサービスには、さらに、個人識別番号（ＰＩＮ）のチェック、クレジットの確認、ユーザに対する課金を含むことになる、おそらく、アプリケーション・サーバ４０を介した、加入者リストに対する新規ユーザの追加や、利用可能な映画ライブラリに対する新規映画の追加といった運用支援、及び、対話プログラムの支援のロギング・イン及びロギング・オフが含まれる。この第１の実施例の場合、ＨＰ−ＵＸオペレーティング・システムを実行するＨＰ９０００シリーズ８００汎用デジタルコンピュータが、制御システム５０として利用される。シリーズ８００と同じ性能レベルの任意の汎用コンピュータ・システムを利用することも可能である。
【００３５】
媒体鼓動モニタ８５が、Ｍ／Ｄスイッチ８０の出力に結合されている。ＭＰＥＧフォーマットによる少情報内容ビデオ・データから構成される媒体鼓動プログラムは、データ記憶システム９０の一部を構成するディスク・アレイの全てにおける各ディスク毎に、ストライピングを施したフォーマットで記憶されている。このプログラムは、システム９０の全てのディスクから連続して送り出され、Ｍ／Ｄスイッチ及びデータ・ソースのそれぞれを介して、最終的には、モニタ８５に中継される。モニタ８５は、特定のディスクまたはデータ・ソースからプログラムを受信しないといったような異常が、いかなるコンポーネントであれ、少しでも検出されると、リアル・タイム・コントローラ６０にその報告を行う。ハードウェアまたはソフトウェアの故障による任意のデータ経路の故障は、モニタ８５によって検出され、バック・チャネルを介して、リアル・タイム・コントローラ６０に報告される。リアル・タイム・コントローラ６０は、さらに、異なるデータ・ソースにスイッチして、サービスを行ったり、異なるデータ記憶サブシステム９２を選択したり、あるいは、失われたメッセージを再発行するといった、適切な是正措置を指令することができる。
【００３６】
この第１の実施例は、いくつかの方法によって、より多くのユーザにサービスを提供するように拡張することが可能である。連係するディスク・アレイにおける各ディスクの記憶サイズを増すことによって、各データ・ソースをさらに大きい記憶サイズに拡大することが可能である。コンポーネント間における全ての帯域幅が完全に飽和するまで、さらに多くのデータ・ソースをシステムに追加することも可能である。この第１の実施例は、その基本構成において、３メガビット／秒／ストリームで、３００のビデオ及び他のデータ・ストリームを提供することが可能である。他のストリーム当たりビット伝送速度も可能であり、該システムは、３００ビデオ・データ・ストリームを超える拡張が可能である。また、広帯域幅ネットワークを介して、複数のビデオ・サーバを相互接続することにより、全体としての容量を増すことも可能である。
【００３７】
図３には、本発明の第２の実施例が示されている。２つの実施例は、Ｍ／Ｄスイッチ７０が、この第２の実施例において除去されており、データ記憶システム９０が、データ・ソース１００に直接結合されている点を除けば、同じである。この実施例の利点は、図２に示す実施例よりも、若干コストが低くなり、第１の実施例の能力をあまり犠牲にしなくてもすむ、わずかに単純なアーキテクチャである。
【００３８】
データ・ソース
図４は、単一のデータ・ソース１００の詳細なブロック図である。データ・ソース１００は、データ記憶システム９０（図２及び３参照）からのビデオ・データ、並びに、他のソースからの他のタイプのデータも入力として受け入れる。データ・ソース１００は、こうした各種ソースのデータから、単一の出力ビット・ストリームを形成するが、このビット・ストリームは連続したデータ・パケットから形成されており、このビット・ストリームによって、複数のユーザにビデオ・サービスが提供される。
【００３９】
通常は、データ記憶システム９０（図２及び３参照）からのＭＰＥＧビデオ／オーディオ・データである、データが、ディスクＩ／Ｏポート１０４を介して、データ・ソース１００に入力される。該ポートは、双方向性である。ＳＯＮＥＴまたは他のネットワーク・ポート１０６も双方向性であり、通常は、リアル・タイム・コントローラ６０または制御システム５０からデータ・ソース１００に、テキストまたは他のデータを伝送する。ポート１０６を利用して、ポート１０４にデータを送り、データ記憶システム９０に書き込むことも可能である。
【００４０】
データ・ソース１００が支援する各ユーザ毎に、１対のＦＩＦＯメモリ・バッファ１０１及び１０３が割り当てられる。Ｎのユーザの場合、Ｎ対のＦＩＦＯメモリ・バッファ１０１及び１０３が必要になる。図４の場合、ＦＩＦＯメモリ・バッファは、独立したＦＩＦＯメモリ・バッファとして例示されているが、多種多様なやり方で実施することが可能である。例えば、単一の大容量ランダム・アクセス・メモリ（ＲＡＭ）は、複数のＦＩＦＯメモリ・バッファとしてアクセス可能である。ＦＩＦＯメモリ・バッファ１０１は、ディスクＩ／Ｏポート１０４からデータ・バイトを受け取り、ＦＩＦＯメモリ・バッファ１０３は、ネットワーク・ポート１０６からデータ・バイトを受け取る。
【００４１】
決して、各ユーザ毎に２つのＦＩＦＯメモリ・バッファを利用しなければならないというわけではない。単一のバッファを利用することによって、ＦＩＦＯメモリ・バッファ対の内容を組み合わせるための、マルチプレクサ／デマルチプレクサを不要にすることも可能である。この構成の欠点は、リアル・タイムにデータ・ストリームを組み合わせることができないということである。また、３つ以上のＦＩＦＯメモリ・バッファを利用して、リアル・タイムに、いくつかのデータ・タイプを同時に組み合わせるオプションが得られるようにすることも可能であるが、この欠点は、追加ＦＩＦＯメモリ・バッファによってコスト及び複雑さが増すということである。
【００４２】
セレクタ・スイッチ１０２、レート制御装置１０５、及び、データ・ソース・コントローラ１０７が協働することによって、ユーザの必要とするレートで、各ユーザにデータが送られるという保証が得られる。図５に示すように、ＭＵＸ１０９（図４）の出力は、長さＴCの固定タイム・スロットに納まるデータ・セルから構成される。各セルには、個々のユーザに関して組み合わせられたＭＰＥＧデータの一部が含まれている。ネットワーク・ポート１０６に関連したユーザのセルは、各ユーザ毎に、ユーザが必要とする帯域幅が得られるように、インターリーブされる。図５に示す例の場合、ユーザＣ１は、ユーザＣ２またはＣ３が必要とする２倍のレートで、データを必要とし、Ｃ２及びＣ３は、両方とも、同じレートでデータを必要とする。Ｃ１は、例示の時間期間に、４つのデータ・セルを受け取り、Ｃ２及びＣ３は、両方とも、それぞれ、２つのデータ・セルを受け取る。各ユーザのセルは、各セル間に固定時間期間を許容することによって、固定レートで送り出される。
【００４３】
図５に示す例の場合、各ユーザのセル間における固定時間期間は、他のユーザのセル間における固定時間期間の整数倍であり、また、各タイム・スロットの時間期間ＴCの整数倍でもある。これは、必ずしもその通りである必要はない。セル間の所望の時間期間と長さＴCのタイム・スロットの利用可能な境界との間における不整合の結果として、次の利用可能なタイム・スロットの境界まで、セルの送り出しを遅延させる必要が生じる場合もある。また、２つ以上のユーザのセルが同じタイム・スロットについて競合し、結果として、１つ以上のセルの送り出しに遅延を生じる可能性もある。レート制御装置１０５は、これらの遅延を許容可能な範囲内に保持し、さらに、正確な、平均的ユーザ・レートも得られるようなやり方で、固定クロック周波数からさまざまなクロック・レートを発生しなければならない。各ユーザは、適正なデータ配給を保証するため、別個のレートを必要とする。可能性のあるレート制御装置１０５の実施例の１つに関する構成及び動作については、所有権者が共通で、同時出願された、「Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒａｔｅ  Ｇｅｎｅｒａｔｏｒ」と題する米国特許出願に解説がある。該出願の内容は、あらゆることを目的にして、参考までに、組み込まれている。レート制御装置１０５のもう１つの実施例は、カリフォルニア州ＭｉｌｐｔａｓのＬＳＩ  Ｌｏｇｉｃ，Ｉｎｃ．，から入手可能な、市販の「ＡＴＭｉｚｅｒ」集積回路を利用している。
【００４４】
セレクタ・スイッチ１０２（図４）は、コントローラ１０７によって決まり、レート制御装置１０５によって発生するレートを利用して、各ユーザ毎に、ＦＩＦＯメモリ・バッファ１０１及び１０３からＭＵＸ１０９にデータをスイッチする。
【００４５】
ＭＵＸ１０９は、スイッチ１０２からビデオ及び他のデータを受け取り、２つの入力データ・ストリームを組み合わせて、正当な単一の出力ＭＰＥＧデータ・ストリームにする。他の圧縮方法及びプロトコルを利用する場合、ＭＵＸ１０９に対して、スイッチ１０２から受信したデータを、この新しいプロトコルに一致するデータ・ストリームに書式化するようにプログラミングを施すことが可能である。ＭＵＸ１０２は、データ・ストリームの書式化を済ますと、データ・ストリームをポート１０６に送る。
【００４６】
データ・ソース・コントローラ１０７は、ポート１０８を介してリアル・タイム・コントローラ６０に結合されており、データ・ストリームがポート１０６を介してネットワークに流出することを保証する。コントローラ１０７は、テキスト及びグラフィックを含む、Ｍ／Ｄスイッチ８０から到着する情報を、データ記憶システム９０とＦＩＦＯメモリ・バッファ１０３のいずれかに送り、そこで、データ記憶システムからのビデオ・データと混合して、ネットワークに再送することが可能である。データ・ソース・コントローラ１０７の能力は、単一の出力データ・ストリームを発生することによって使い果たされることはない。既述のアセンブリをミラー(mirror)リングして、ＦＩＦＯメモリ・バッファ、セレクタ・スイッチ、ＭＵＸ、及び、レート制御装置から成る追加アセンブリを設けることによって、追加データ・ストリームを発生することが可能である。このアセンブリ対は、単一のデータ・ソース・コントローラ１０７の指令の下に置かれる。
【００４７】
図４に示すように、データ・ソースのコンポーネントを相互接続するバス１１１、１１３、１１５、及び、１１６は、高速Ｉ／Ｏバスである。これらの内部バスの帯域幅は、データ・ソースに結合されたネットワーク・チャネルの帯域幅より広い。制御バス１１２は、データ・ソース・コントローラ１０７をレート制御装置１０５及びディスクＩ／Ｏポート１０４に結合する。
【００４８】
少なくとも１つのデータ・ソース１００は、システム・スペアとしての働きをする。予備データ・ソースに結合されたデータ記憶システム９０の予備ディスク・アレイには、システム・ユーザが、見ている、または、利用している各ビデオ・データ・プログラムのコピーが含まれている。該ディスク・アレイには、代わりに、アクティブな映画、並びに、最近非アクティブになったばかりの映画のサブセットを納めることも可能である。ユーザを支援するデータ・ソースまたはディスク・アレイが故障すると、故障したデータ・ソースまたはディスク・アレイのユーザに、予備データ・ソースを結合することが可能であり、ユーザは、悪くても最小限の中断で、それに記憶されているビデオ・データ・プログラムを利用することが可能になる。
【００４９】
データ記憶システム
図６は、第１と第２のデータ・ソース１００に結合されたディスク・ドライブ・アレイ９２の第１と第２のグループを示す詳細なブロック図である。ディスク・ドライブ・アレイ９２の各グループは、ディスク・ドライブ・インターフェイス９６を介してデータ・ソース１００に結合された、一連のディスク・ドライブ９７から構成される。第２グループをなすディスク・ドライブ・アレイ９２の場合、既定数のディスク・ドライブ９７が、アレイ・コントローラ９９に結合される。アレイ・コントローラ９９は、それに結合されたディスク・ドライブ間においてパリティ検査を発生し、モニタすることが可能である。これによって、アレイ・コントローラ９９は、アレイから故障したディスク・ドライブを除去することが可能になるので、本発明にもう１つのレベルの冗長性が追加されることになる。アーカイバル記憶装置（不図示）は、２つのデジタル・テープ・ドライブ、及び、ロボットでアクセスする８ｍｍカートリッジから構成される、テープ「ジュークボックス」によって得られる。１．５テラバイト・テープ・システムに、２０００時間を超えるビデオ・データを保持することが可能である。このシステムは、１５分で、一次ディスク・メモリに、９０分の映画を転送することが可能である。例示されていないが、アーカイバル記憶装置は、直接、ディスク・ドライブ・インターフェイス９６、または、システム・コントローラ５０（図２参照）に結合することが可能である。光学ＣＤ、デジタル・オーディオ・テープ、ランダム・アクセス・メモリ（ＲＡＭ）、または、安価なディスクの冗長アレイ（ＲＡＩＤ）が、許容可能な記憶素子として、ディスク・ドライブ９７の一部または全てに取って代わることが可能である。図２に示す好ましい実施例の場合、一次元アレイ及び少なくとも１つのテープ・ジュークボックスを形成するディスク・ドライブが、好ましい記憶素子である。これらは、個々のデータ・ソース１００に結合された一次元アレイとして、論理的に構成される。
【００５０】
探索及びシーク時間を短縮するため、ディスク・メモリに対するデータの書き込み時には、平均化アルゴリズムが利用される。既知のように、ディスク・メモリは、部分的に、異なる速度で回転する。ディスクの外側部分からの読み取りは、内側からの読み取りに比べて、単位時間当たりのデータ収集量が多い。この差は、単位時間当たりで２倍ほどになる可能性がある。本発明の場合、ディスク・アレイ全体にわたって、ビデオ・データのストライピングが施されるので、データは、ディスク・メモリの内側部分と外側部分に交互に行われる。この結果、単位時間当たりの、読み取り可能なビデオ・データの平均量が増大する。
【００５１】
操作
データ圧縮及び記憶
ビデオ・サーバのビデオ・データは、所定の映画をいくつかの部分に分割し、さらに、データ記憶サブシステムを構成するディスク全体に分散することによって、データ記憶サブシステムを構成するディスク・ドライブにおいて編成される。この技法は、本書において「データ・ストライピング」と呼ばれる。記憶されている各映画は、その映画の使用中に、このやり方で、複数のディスクにわたって、ストライピングを施される。
【００５２】
本発明は、ビデオ・データが、圧縮形式で配給されるものと仮定している。ＭＰＥＧ及びＪｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ（ＪＰＥＧ）フォーマットは、両方とも、既知であり、本発明に用いることが可能である。全部ではなくても、ほとんどの伸張が、ユーザの端末で行われる。利用される特定の圧縮／伸張方法は、本発明の重要な部分ではない。実際、フィルム・エディタのように、ユーザの中には、圧縮されていないビデオ・データについて作業しなければならないものもある。本発明によれば、こうしたデータ、すなわち、圧縮ビデオ・データを、できるだけ簡単に記憶することが可能になるというだけのことであり、また、こうしたデータを利用しても、記憶できるデータ量に影響するだけであって、本発明の働きに影響することはない。
【００５３】
圧縮ビデオ・データを受け取ると、サイズＮのブロックをなすように、データ記憶システムの一部を構成するディスク・ドライブに書き込まれる。本発明のこの第１の実施例の場合、ブロック・サイズは、１２８Ｋバイトのデータである。ディスク・ドライブの論理アレイにおける第１のディスク・ドライブは、第１の１２８Ｋバイトを受け取り、第２のディスク・ドライブは、次の１２８Ｋバイトを受け取り、というようにして、以下継続する。論理アレイの最後のディスク・ドライブが、そのデータ・ブロックを受け取ると、書き込みが、第１のディスクから再開され、ディスクに映画全体の書き込みが済むまで行われる。
【００５４】
ユーザによって要求されたＦＦ及びＦＲの要求には、特殊な注意が必要である。データ記憶システムには、全てのビデオ・データが、既に、記憶されているので、ＦＦは、少なくとも、単純なタスクに思える。あいにく、ビデオ・データを高速で読み取り、さらに、配給ネットワークを介して、ユーザに送るというのは、簡単に行えることではない。このため、ユーザのＳＴＢによって復号化できない、不正なタイミング・スタンプを有するデータ・ストリームが生じることになる。データをより速く読み取って、その一部をユーザに送るだけでは、やはり、不正データ・ストリームを生じることになる。ＦＲの場合、ＭＰＥＧフォーマットで圧縮された映画は、逆方向に再生することができないので、これらの方法ではやはり失敗する。これらの方法を用いて、イメージを回復することができるとしても、そのイメージは、質が低く、ビデオ・データのリアル・タイム処理並びにユーザのＳＴＢの協働を必要とする。
【００５５】
本発明の場合、各映画の独立したＦＦ及びＦＲバージョンが作成される。ビデオ・データの非圧縮再生バージョンにおける所定のパーセンテージのフレームが削除される。次に、ＦＦ及びＦＲによってビデオ・データを見ている間、ユーザが観測することができない細部が、残りのフレームから削除される。次に、選択され、編集されたフレームは、再圧縮されて、正当な圧縮フォーマットで記憶される。ＦＲバージョンは、編集フレームが、ＦＦバージョンと比べて逆の順序に記憶されることを必要とする。圧縮前または圧縮後に、フレームを再配列して、ＦＲバージョンを作成することが可能である。適正なフレームの選択、及び、不必要な細部の適切な除去によって、ビデオ・データのもとの再生バージョンを９８％まで削減することが可能である。もとの映画と同様、ＦＦ及びＦＲバージョンは、ディスク記憶装置全体にわたってストライピングが施される。ユーザがＦＦ及びＦＲ機能を要求すると、これらのＦＦ及びＦＲバージョンの映画を用いて、通常のシステム再生速度で再生される。この実施例の場合、ＦＦ及びＦＲバージョンは、もとの映画の再生に必要な時間の約５％で再生される。
【００５６】
ＦＦ及びＦＲバージョンの映画を作成し、記憶するこの方法によれば、帯域幅と記憶スペースの両方が節約され、しかも、質の高いＦＦ及びＦＲイメージ・セットが得られる。
【００５７】
所定のディスク・ドライブは、固定最大数のユーザ、及び、それに関連したビデオ・データ・ストリームだけしか支援することはできない。ディスクの全てにわたって、ビデオ・データの全てにストライピングを施すことによって、効率よく、ユーザ・ロードのバランスをとることが可能になる。例えば、全てのユーザが同じ映画を要求する場合、各ディスクに、映画の一部が含まれているので、サブシステムの全ディスクが、ビデオ・データの供給に関与することになる可能性がある。各ユーザが、異なる映画を要求する場合、全てのディスクに、全ての映画の少なくとも一部が含まれているので、各ディスクが、やはり、関与することになる。
【００５８】
各映画が、１つのディスクだけにしか記憶されていない場合、各ユーザが異なる映画を要求する第２のケースでは、各ディスクが単一の個々のユーザを支援するので、やはり、十分に機能する。しかし、全てのユーザが、同じ映画を要求すると、単一ディスクによって支援可能なユーザだけしか、サービスを受けることができない。
【００５９】
ユーザ・アクセス
図７〜図１０は、ユーザ・アクセス及びビデオ・データの表示を伴う、典型的なシステム操作を表したフローチャートである。ステップ２０１において、ユーザは、そのＳＴＢを用いて、配給ネットワーク２０（図１参照）における通信ネットワークの１つを介してリアル・タイム・コントローラ６０（図２）に送られる要求を行い、ビデオ・データ・プログラムを開始する。ステップ２０３において、リアル・タイム・コントローラは、ユーザがシステムへのアクセスを承認されるか否かの判定のため、この要求を制御システム５０（図２）に送る。次に、ステップ２０５において、制御システム５０は、ユーザのシステムへのアクセスを承認し、ユーザの要求した映画を見つけ出すことができる。ステップ２０７において、制御システムは、リアル・タイム・コントローラ６０に指令し、映画の再生を開始する。
【００６０】
映画が極めてポピュラーなものでない限り、任意の時間に、要求されたビデオ・データ・プログラムのストライピングが、ディスク・アレイに対して実施されることはない。とりわけ、ビデオ・サーバが過酷な利用状態にある場合、アーカイバル記憶システムからディスク・アレイへのビデオ・データ・プログラムの転記には、数分間を要する可能性がある。こうした場合の待ち時間は、許容可能な限界を超える可能性がある。
【００６１】
この問題を最小限に抑えるため、１つ以上のディスク・アレイに対して、２００の最もポピュラーな映画の最初の５分間に関する「プリ・ストライピング」を実施することが可能である。これらの映画の１つが要求されると、プリ・ストライピングを施したビデオ・データによって迅速にサービスを行い、同時に、ビデオ・データ・プログラムの残りをアーカイバル記憶装置から呼び出して、ディスク・アレイに転記する。ビデオ・データの転記は、その利用よりも速く行うことができるので、この方法によれば、ユーザがビデオ・データを受け取る際に遅延を被ることはほとんどなくなる。プリ・ストライピングを施したプログラムのリストは、定期的に変更される。
【００６２】
リアル・タイム・コントローラ６０は、映画再生の開始指令を受け取ると、先取りを開始して、データ・ソース１００（図２）の適合するバッファを充填する。これは、図８のステップ２０９において行われる。
【００６３】
ユーザがシステムへのアクセスを承認されると、さらに、休止、及び、ＦＦ／ＦＲのようなＶＣＲ指令が、データ記憶システム、データ・ソース、及び、スイッチと対話するリアル・タイム・コントローラ６０のみによって処理される。システム・コントローラは、これらの要求には関与しない。
【００６４】
始動時における高速先取り
前述のように、ビデオ・データ・プログラムは、データ記憶システム９０（図２）の短期記憶部分を構成する、ディスク・ドライブ・アレイ９２に「ストライプ」・パターンで記憶されている。
【００６５】
割り当てられたデータ・ソースにおけるＦＩＦＯメモリ・バッファは、空であるか、あるいは、以前の割り当てによる非関連題材を納めている。システム資源が許可すると、データ・ソースは、ディスク・ドライブ・インターフェイス（図６参照）に対し、映画のストライピングが実施されたディスク９７のいくつかから同時にデータを取り出すように指令する。この取り出されたビデオ・データは、データ・ソース１００に直列に伝送され、できるだけ迅速にＦＩＦＯメモリ・バッファを充填する。本書で「始動時における高速先取り」と称する、このプロセスによって、各ユーザ毎に、数秒間にわたる伝送の中断が生じないことを保証するのに十分なデータが、その割り当てられたＦＩＦＯメモリ・バッファに即座に供給されるという、保証が得られる。
【００６６】
ステップ２１１において、リアル・タイム・コントローラ６０が、ユーザにユーザ・タイム・スロット（ＵＴＳ）を割り当てる。
【００６７】
ユーザ・タイム・スロット
単一のディスク・ドライブ・アレイへのアクセスが、単一のユーザだけにしか許可されない場合、ディスク・ドライブ・アレイ全体に対して、ビデオ・データのストライピングを施す必要はない。１つのディスクに、３つのビデオ・データ・プログラム・バージョンを、全て、記憶することが可能であり、第２のディスクは、おそらく、バック・アップの働きをする。次に、ビデオ・サーバが、どのバージョンであれ、ユーザが要求したビデオ・データを利用して、ディスクから順次読み取りを行う。この利用方法は、概念的には単純であるが、各ユーザに独立したディスク・ドライブを充てるビデオ・サーバというのは、多数のユーザの場合、経済的に実用的ではない。
【００６８】
本書に解説のビデオ・サーバは、その全ての実施例において、多数のユーザに対する同時サービスを意図しているので、ディスクの最大利用のためには、さらに効率のよい方法が必要とされる。
【００６９】
利用されるディスク・アレイの任意の１つにおいて、各ディスク毎に実施される、それと結合したデータ・ソースに対するビデオ・データの読み取り及び伝送は、そのデータ・ソースに結合された任意のユーザによるデータの利用に比べて、はるかに迅速に行うことが可能である。ディスクの最大持続ビデオ・データ読み取り速度が与えられると、本書でマスタ時間間隔と称する、予め決められた時間期間が選択される。この間隔の精確な長さは、用いられるシステムの構成及びディスクのタイプによって決まる。従って、それは、ビデオ・サーバ毎に変化する可能性があるが、決して、本発明の教示を変更するものではない。マスタ時間間隔において読み取ることが可能な量のビデオ・データが、個々のユーザが必要とする平均量のデータに分割される。この結果は、各マスタ時間間隔に、ディスクが支援可能なユーザ数であり、各マスタ時間間隔において利用可能なユーザ・タイム・スロット数を表している。同じディスク・ドライブ・アレイに結合された各ユーザ毎に、任意のマスタ時間間隔における特定のユーザ・タイム・スロットを割り当てることによって、ディスク・アクセスに関する競合を排除することが可能になり、所定のディスク・ドライブ・アレイによって確実に支援することが可能なユーザ数の最大化が可能になる。
【００７０】
図１４は、本発明のマスタ時間間隔、ユーザ・タイム・スロット、及び、データ・ストライピングによって、ディスク・アクセス及びデータに関するユーザ資源の競合がいかにして排除されるかを示すタイミング図である。図１４に示すアレイは、３つのディスク・ドライブ、すなわち、ディスク１、２、及び、３から構成される。マスタ時間間隔ＴＭ１、ＴＭ２、ＴＭ３、及び、ＴＭ４は、図の「Ｘ」軸すなわち時間軸を横方向に延びている。各マスタ時間間隔内において、ディスク当たり８人のユーザが、ビデオ・データの供給を受けることができるように、あらかじめ決められており、特定のユーザに対する不十分なサービスの危険を冒すことはない。従って、各マスタ時間間隔は、図示のように、各マスタ時間間隔を再分する、８つのユーザ・タイム・スロットに分割されている。また、ディスク・アレイ全体に、ビデオ・データのストライピングが施されているという点について、繰り返しておく必要がある。ストライプ数は、このディスク・アレイを構成する３つのディスクの全体にわたってストライピングを施されたビデオ・データ・プログラムのストライプ・インデックスを表している。「Ｓ」は、ビデオ・データ・プログラムにおけるストライプの総数を表している。
【００７１】
任意の時間スロット内において、任意の１つのディスクにアクセスできるのは、１人のユーザだけである。図１１に示すように、黒い「*」によって、マスタ時間間隔におけるユーザによるディスク・アクセスが示されている。
【００７２】
マスタ時間間隔ＴＭ１のタイム・スロット１において、ユーザＶ１は、ディスク１からのストライプ１を読み取る。ユーザＶ２は、タイム・スロット２において、ストライプ１を読み取る。ユーザＶ１及びＶ２は、次に、平行にディスク・アレイを移動し、それぞれ、マスタ時間間隔ＴＭ２のタイム・スロット１及び２において、ディスク２からストライプ２を読み取り、それぞれ、マスタ時間間隔ＴＭ３のタイム・スロット１及び２において、ディスク３からストライプ３を読み取る。ストライプ４は、ディスク１上にあるので、ユーザＶ１及びＶ２は、マスタ時間間隔ＴＭ４においてディスク１に戻り、それぞれ、タイム・スロット１及び２において、ストライプ４を読み取る。ユーザＶ３及びＶ４は、ユーザＶ１及びＶ２と同じビデオ・データにアクセスするが、それらとは時間的にずれている。ユーザＶ３及びＶ４は、タイム・スロット３及び６が割り当てられており、Ｖ１及びＶ２と同様、並列に進む。マスタ時間間隔ＴＭ３において、ユーザＶ３及びＶ４は、それぞれ、タイム・スロット３及び６において、第２のディスクからビデオ・データの第２のストライプを読み取る。マスタ時間間隔ＴＭ４において、ユーザＶ３及びＶ４は、それぞれの同じタイム・スロットにおいて、ディスク３からストライプ３を読み取る。
【００７３】
ユーザＶ５は、マスタ時間間隔ＴＭ３において、ビデオ・データの読み取りを開始し、タイム・スロット３が割り当てられる。ユーザＶ３にも、タイム・スロット３が割り当てられているが、ユーザＶ５及びＶ３は、そのタイム・スロットにおいて、必ず、異なるディスクにアクセスする。同じディスクのアクセスは、必ず、少なくとも、マスタ時間間隔１つ分だけずれている。この結果、競合のない、ディスク・ドライブの最大利用が可能になる。
【００７４】
図１４に示すアレイは、マスタ時間間隔当たり８人のユーザに十分なメモリ支援を提供することが可能であり、マスタ時間間隔当たり２４人のユーザが、例示のアレイの最大負荷である。２５人目のユーザが、ディスク・アレイに対するアクセスを要求すると、アクセスは、拒否される。強調しておくべきは、任意のある時間に、所定のディスクにアクセスするユーザは、１人だけということである。
【００７５】
図１２は、ＵＴＳの割り当てプロセスのフローチャートである。ＵＴＳモデルは、ステップ２５０において、初期設定され、ステップ２５２において、ユーザ開始要求を待つ。要求の受信時、ディスクの中には、ユーザに対するサービス中のものもあるかもしれない。要求を受け取る瞬間は、「現タイム・スロット」と呼ばれる。図１２に示すフローチャートにおける残りのステップは、現タイム・スロットによって決まる時間期間内に実行される。
【００７６】
要求を受け取ると、システムは、ユーザの要求した第１のデータ・ブロックがどのディスクに納められているかを判定する。システムは、どのディスクに、第１のデータ・ブロックが納められているかを判定すると、ディスクを検査して、ユーザの要求に適応することが可能か否かを判定する。各ディスク毎に、どのＵＴＳがユーザによって占有されているかを示す、テーブルが設けられている。システムは、「Ｓindex」と称するインデックスを用いて、テーブルを調べる。Ｓindexは、「現タイム・スロット」の値に初期設定され、適合するディスク・テーブルに対するアクセスが行われる（ステップ２５３）。システムは、次に、ディスクのＵＴＳテーブルのインデックスをＳindexに等しくなるようにセットして、該テーブルを調べる。
【００７７】
テーブルは、Ｓindexによって指定されたＵＴＳが、既に別のユーザによって占有されているか否かを表示する（ステップ２５４）。ＵＴＳが利用可能な場合には、ユーザに割り当てられ、ユーザは、即座に、ディスクからデータを取り出す（ステップ２５８）。ＵＴＳが、利用可能でなければ、Ｓindexがインクリメントされる（ステップ２６０）。Ｓindexと現タイム・スロットとの差が、検査される（ステップ２６２）。この差が、許容可能なユーザ待ち時間のしきい値を超えると、プロセスが終了し、現ＵＴＳを占有する現ユーザを追い出す（ステップ２６４）。
【００７８】
ユーザを追い出しても、そのユーザのビデオ・データ・プログラムが中断されることはない。後述のプロセスにおいて、各ユーザに割り当てられたＦＩＦＯメモリ・バッファは、ほぼ完全に満杯ということなりがちである。特定のマスタ時間間隔における１つのタイム・スロットを失っても、ＦＩＦＯメモリ・バッファのビデオ・データが用いられるだけのことである。全てのビデオ・データを使ってしまう前に、追い出されたユーザにタイム・スロットの再割り当てが行われる。
【００７９】
ステップ２６２において評価された待ち時間を超えていなければ、制御は、ステップ２５４に戻る。ディスク・アレイを制御するディスク・インターフェイスにおいて、計算が行われる。
【００８０】
高速ディスク取り出し
通常の操作において、多くのユーザは、単一データ・ソースに結合されたディスク・ドライブ・アレイに記憶されている映画にアクセスする。ユーザがデータを利用できるレートは、固定される。この好ましい実施例の場合、大部分のユーザは、毎秒約３メガバイトのビデオ・データを必要とする。  共通データ・ソースのユーザは、同じデータ消費レートとすることもできるし、あるいは、別個のレートとすることも可能である。これによって、本発明の働きが影響されることはない。最適操作のため、また、割り当てられたデータ・ソースまたはその割り当てられたデータ記憶サブシステムが故障した場合に、予備データ・ソースから適正なビデオ・データにアクセスできるようにするため、データ・ソースにおける個々のＦＩＦＯメモリ・バッファは、できる限り、一杯に保つことが望ましい。
【００８１】
本発明の場合、ディスク・アレイからのデータの取り出し速度は、そのデータの用いられる平均速度をわずかに上回っている。このため、ＦＩＦＯメモリ・バッファは、平均して、空であるより、満杯に近い状態に保たれる。システムの利用は増すものと期待されるので、データの使用を上回る速度でバッファに充填する確率的プロセスは、必ず、バッファを完全に満たされた状態に保つことに成功するというわけではなく、その最大容量に近づく保証が得られやすいということである。この積極的なスケジューリングは、極めて長い時間期間にわたって、一定速度に持続されるので、ビデオ・データについては可能である。
【００８２】
図１３は、本発明の典型的なＦＩＦＯメモリ・バッファの、ある時間期間にわたるビデオ・データ量を示す図である。ＴDは、ディスク・アレイからの充填操作が必要とする、時間量を表しており、ＴCは、ＦＩＦＯメモリ・バッファからの放出操作が必要とする、時間量を表している。ＦＩＦＯメモリ・バッファ１０１及び１０３（図４）は、時間ＴDにおいて、記憶システム９０（図２及び３参照）から充填され、時間ＴCにおいて、空になる。図１３には、順次生じる充填操作と放出操作が示されているが、メモリ・バッファは、ＦＩＦＯバッファの働きをするので、これらの操作は、実際には、同時に実施される。
【００８３】
図１３に示すように、平均充填速度は、平均放出速度をわずかに上回っているので、バッファが、操作の続行につれて、さらに満たされることになりやすいという保証が得られる。バッファが、完全に満たされた状態に近づくと、充填操作が１つスキップされる。これが、図１３にＴSkipで表示されている。図１３には、始動時における高速先取りも、時間Ｔpとして表示されている。Ｔpは、できれば、＜３ＴDであることが好ましい。
【００８４】
新しいユーザには、すぐに、ＵＴＳを与えなければならず、現ユーザは、追い出さなければならない。ユーザが追い出される場合、１つ以上の充填サイクルがスキップされる。ＴSkipは、この状態に起因する可能性がある。バッファは、ほぼ満杯に保持されているので、充填サイクルをスキップしても、追い出されるユーザに対するサービスの損失は生じない。
【００８５】
ビデオ・データ表示モード
ＵＴＳの割り当てが済むと、ステップ２１３において再生が開始され（図８）、システムは、新しい操作モードに入る。このモードにおいて、システムは、まず、ステップ２１５で、チェックを行い、ＶＣＲ指令がユーザから送られてきたか否かを確認する。指令を受け取りいなければ、システムは、ステップ２３３で、要求された映画が終了していないかチェックする。映画が終了していなければ、システムは、ステップ２１５に戻る。
【００８６】
ステップ２１５において、ＶＣＲ指令を受け取れば、システムは、ステップ２１７において、まず、チェックを行い、その指令が休止であるか否かを確認する（図１０）。その指令が休止であれば、ステップ２１９において、制御システム５０に通知され、再生が休止され、ＵＴＳが解放されるが、データ・ソース１００の割り当てられたバッファは、解放されない。本発明の実施例の中には、リアル・タイム・コントローラに、休止指令の少し後に、ＦＦまたはＦＲ指令が続くことを想定するように命じるものもあり、リアル・タイム・コントローラは、データ・ソースに対して、鑑賞中の映画のＦＦまたはＦＲバージョン、あるいは、両方のバージョンの先取りを開始するように、指令する。いずれの実施例にせよ、システムは、ステップ２２１において、指令操作モードを待つ状態に戻る。
【００８７】
ステップ２１７において受け取る指令が、休止指令でなければ、必然的に、ＦＦ、ＦＲ、及び、再生指令のいずれかである。この場合、ステップ２２３において、制御システムに通知され、ステップ２２５において、要求された映画の関連バージョンの先取りが命令され、もとのＵＴＳが解放されている場合には、ステップ２２７において、新しいＵＴＳが割り当てられ、ステップ２２９において、新しい映画が再生され、ステップ２３１において、再び、指令操作モードを待つ状態を開始する。
【００８８】
ＦＦ／ＦＲ操作
ＦＦ及びＦＲバージョンの映画が、独立した映画として記憶され、ディスク・メモリ全体にわたってストライピングを施される。ＦＦ及びＦＲバージョンの映画のレイアウトは、ユーザが、再生、ＦＦ、及び、ＦＲの間で、任意の順にスイッチしても、それらが、やはり、同じＵＴＳ及び同じディスクにとどまるように行われる。これにより、低レベルのディスク及びユーザＩ／Ｏのスケジューリングが、ユーザの要求する操作モードとは関係なく実施されることになる。
【００８９】
図１４のダイヤグラム、及び、図１５ａ〜ｄのフローチャートには、本発明において、ＦＦ及びＦＲがいかに実施されるかが示されている。図１４の番号は、プログラム・ストライプ・インデックスであり、本書では映画の位置と呼ばれる。システムが、ビデオを再生中であって、早送りを要求した場合、システムは、ユーザが現在アクセス中のディスクに対してストライピングが施された、ＦＦ映画バージョンの最も近い先行位置を見つける（図１５ａのステップ３０１）。その位置が見つかると、システムは、該位置で、ＦＦバージョンの映画の再生を開始する（ステップ３０３）。これが、図１４の最初のコラムに示されている。この場合、指令は、通常の映画バージョンにおける位置２１で受信される。映画の最も近い先行ＦＦ位置は、セグメント１である。ＦＦバージョンは、この位置で開始される。
【００９０】
ＦＦから再生へのスイッチングには、ビデオ・データ・プログラムの通常バージョンにおいて、映画の最も近い先行セグメントを見つけることが必要になる（図１５ｂのステップ３０５）。この位置が見つかると、該位置から再生が開始される（ステップ３０７）。図１４に示すように、第３のコラムにおいて、ＦＦセグメント２０の再生中に、再生指令を受け取る。ディスク３において、再生バージョンの最も近い先行セグメントは、１９であり、ここから、再生バージョンが実行される。
【００９１】
再生モードからＦＲモードへのスイッチングには、システムが、アクセス中のディスクに記憶されているビデオ・データ・プログラムのＦＲバージョンにおいて、最も近い後行時間セグメントを見つけることが必要になる（図１５ｃのステップ３０９）。次に、ＦＲバージョンが、この後行ポイントから再生される。図１４の第２のコラムにおいて、ビデオ・データ・プログラムの再生バージョンが、セグメント２６にある。同じディスクに記憶されたビデオ・データ・プログラムのＦＲバージョンの最も近い後行セグメントは、セグメント６０である。これが、ＦＲバージョン再生の開始位置である。
【００９２】
最後に、ＦＲから通常再生へのスイッチングには、ＦＲバージョンが現在利用中の同じディスクに記憶されているビデオ・データ・プログラムの再生バージョンにおいて、最も近い先行ポイントを見つけることが必要になる（図１５ｄのステップ３１１）。再生操作は、このポイントから開始される（ステップ３１３）。図１４のコラム４において、ＦＲバージョン・セグメント４０は、図示のように、再生モードに戻る指令を受信した状態にある。同じディスクにおいて再生バージョンの最も近い先行セグメントは、セグメント４０であり、これが、再生操作を開始する位置である。
【００９３】
ステップ２３３（図８）において、システムは、鑑賞中のビデオ・データ・プログラムが終了したと判定すると、次に、ステップ２３５において、ＵＴＳ、データ・ソース１００のＦＩＦＯバッファ、並びに、ユーザに割り当てられた他のシステム資源を解放する。ビデオ・データ・プログラムの終わりには、休止を設けて、システムが解放する前に、ユーザが巻き戻して、映画の一部を見ることができるようにすることも可能である。本発明を決して変更することなく、こうした多くのビューイング・オプションを提供することが可能である。次に、利用可能なサービスのメニューが現れ（ステップ２３７）、システムは、ステップ２３９において、指令モードを待つ状態に戻る。ユーザに、システムの利用を終了しようとしている場合には（ステップ２４１）、ステップ２４５において、制御システムに通知され、全ての資源が解放される。ユーザが、終了しようとしていない場合には、操作は、ステップ２０１に戻る（図７）。
【００９４】
以上で解説を終了するが、本願発明には、例として次のような実施態様が含まれる。
【００９５】
（１）少なくとも、ビデオ・データを記憶するためのデータ記憶システム（９０）と、データ記憶システム（９０）に結合されて、伝送のため、データ記憶システムから検索されたビデオ・データに書式化を施す複数のデータ・ソース（１００）と、データ・ソース（１００）のそれぞれ、及び、複数の通信チャネルに結合されて、データ・ソース（１００）から通信チャネルにパッケージ化したビデオ・データを送るスイッチ（８０）と、スイッチ（８０）、データ・ソース（１００）、及び、データ記憶システム（９０）に結合されて、データ記憶システム（９０）とデータ・ソース（１００）の接続、データ・ソース（１００）とスイッチ（８０）の接続、及び、スイッチ（８０）と通信チャネルの接続を制御し、通信チャネルを介してユーザから受け取るユーザ要求に応答して、少なくとも部分的に接続を行う第１のコントローラ（６０）と、第１のコントローラ（６０）に結合されて、ユーザによるシステム・アクセスを制御する第２のコントローラ（５０）から構成される、複数のユーザに少なくともビデオ・データを提供するためのシステム。
【００９６】
（２）データ記憶システム（９０）に、さらに、少なくとも複数のビデオ・データ・プログラムを記憶するためのアーカイバル・テープ記憶システムと、アーカイバル・テープ記憶システムに結合されて、アーカイバル・テープ記憶システムからビデオ・データ・プログラムを受け取り、記憶し、アーカイバル・テープ記憶システムよりも迅速な、ビデオ・データ・プログラムへのアクセスを可能にする複数のディスク・ドライブ（９７）と、データ・ソース（１００）及びディスク・ドライブ（９７）に結合されて、データ・ソースが、ディスク・ドライブ（９７）に記憶されたビデオ・データ・プログラムにアクセスできるようにする、複数のディスク・インターフェイス（９６）が設けられていることを特徴とする、上記（１）に記載のシステム。
【００９７】
（３）データ・ソース（１００）に、さらに、少なくとも１対のＦＩＦＯメモリ・バッファがデータ・ソース（１００）に結合された各ユーザに利用可能であり、対をなす第１のＦＩＦＯメモリ・バッファ（１０１）が、データ記憶システムからビデオ・データを受け取り、対をなす第２のＦＩＦＯメモリ・バッファ（１０３）が、第１と第２のコントローラ（６０、５０）から他のデータを受け取るようになっている、複数のＦＩＦＯメモリ・バッファ対（１０１、１０３）と、複数のＦＩＦＯメモリ・バッファ対（１０１、１０３）に結合されて、どちらのＦＩＦＯメモリバッファ対がデータの伝送すべきかを選択する、セレクタ・スイッチ（１０２）と、セレクタ・スイッチ（１０２）に結合されて、セレクタ・スイッチ（１０２）にタイミング信号を加え、ＦＩＦＯメモリ・バッファ対（１０１、１０３）がデータを伝送する時間長を決定するレート発生器（１０５）と、レート発生器（１０５）及びデータ記憶システム（９０）に結合されて、ＦＩＦＯ対（１０１、１０３）のどちらをデータ記憶システム（９０）に結合するかを選択し、レート発生器（１０５）が発生しなければならないレートを決定する第３のコントローラ（１０７）と、セレクタ・スイッチ（１０２）及び通信チャネルに結合され、通信チャネルを介した伝送に備えて、第１及び第２のＦＩＦＯ（１０１、１０３）からのデータに書式化を施すマルチプレクサ（１０９）が設けられていることを特徴とする、上記（１）に記載のシステム。
【００９８】
（４）スイッチによって、複数のデータ・ソース（１００）の任意の１つと通信チャネルの任意の１つを結合しうるようにしたことを特徴とする、上記（３）に記載のシステム。
【００９９】
（５）第２のコントローラ（５０）が、少なくとも１つの外部コンピュータ・システム（４０）に追加結合されることと、外部コンピュータ・システム（４０）によって、第２のコントローラに対するデータ処理サービスが提供されることを特徴とする、上記（１）に記載のシステム。
【０１００】
（６）ビデオ・データ・プログラムが、圧縮形態で記憶されることを特徴とする、上記（２）に記載のシステム。
【０１０１】
（７）複数のデータ・プログラムのそれぞれが、再生バージョン、早送りバージョン、及び、早戻しバージョンとして、アーカイバル・テープ記憶システムに記憶されることと、再生バージョンが、全ビデオ・データ・プログラムから成ることと、早送りバージョンが、再生バージョンの所定の部分から成ることと、早戻しバージョンが、再生バージョンの所定の部分から成るが、再生バージョン及び早送りバージョンとは逆の順序で、アーカイバル・テープ記憶システムに記憶されていることと、ビデオ・プログラムの３つのバージョンは、ユーザがビデオ・データ・プログラムを要求すると、ディスク・ドライブ（９７）に書き込まれることを特徴とする、上記（３）に記載のシステム。
【０１０２】
（８）ユーザがビデオ・データ・プログラムを要求すると、ビデオ・データ・プログラムが、アーカイバル・テープ記憶システムから複数のディスク・ドライブ（９７）に転記されることと、複数のディスク・ドライブ（９７）のそれぞれが、ビデオ・プログラムの３つのバージョンのそれぞれについて、所定の部分を受け取ることを特徴とする、上記（７）に記載のシステム。
【０１０３】
（９）ユーザに割り当てられたＦＩＦＯメモリ・バッファ対（１０１、１０３）が、ユーザが要求したビデオ・データ・プログラムのバージョンの一部が転記されているディスク・ドライブ（９７）のそれぞれから、ビデオ・データを受け取ることと、ＦＩＦＯメモリ・バッファ対（１０１、１０３）がユーザにビデオ・データ・プログラムを伝送する前に、各ディスク・ドライブが、ＦＩＦＯメモリ・バッファ対（１０１、１０３）に対して、ビデオ・データを順次伝送することを特徴とする、上記（８）に記載のシステム。
【０１０４】
（１０）ユーザが、いつでも、早送りバージョン、早戻しバージョン、及び、再生バージョンの中から選択することができることと、第１のコントローラ（６０）が、通信チャネルからユーザの要求を受け取った後、上記システムが、第１のコントローラ（６０）の制御下において、ディスク・ドライブからユーザに割り当てられたＦＩＦＯ対（１０１、１０３）に、ユーザが選択したバージョンを送ることを特徴とする、上記（８）に記載のシステム。
【０１０５】
（１１）複数の通信チャネルを備え、複数のユーザに結合された配給ネットワークに結合された、少なくともビデオ・データを提供するためのビデオ・サーバにおいて、複数のソースから少なくともビデオ・データを受け取り、ユーザへの伝送に備えて、少なくともビデオ・データに書式化を施す複数のデータ・ソース（１００）と、配給ネットワーク及びデータ・ソース（１００）に結合されて、複数の通信チャネルの任意の１つと複数のデータ・ソース（１００）の任意の１つを結合することが可能な第１のスイッチ（８０）と、複数のデータ記憶装置（９２）から構成され、少なくともビデオ・データを記憶するデータ記憶システム（９０）と、データ・ソース（１００）及びデータ記憶システム（９０）に結合されて、複数のデータ記憶装置（９２）の任意の１つを複数のデータ・ソース（１００）の任意の１つに結合する第２のスイッチ（７０）と、第１のスイッチ（８０）、第２のスイッチ（７０）、及び、データ・ソース（１００）に結合されて、データ記憶システム（９０）とデータ・ソース（１００）の結合、及び、データ・ソース（１００）と通信チャネルの結合を制御する第１の制御システム（６０）と、第１の制御システム（６０）に結合されて、どのユーザがサーバにアクセスできるかを指示する第２の制御システム（５０）から構成される、ビデオ・サーバ。
【０１０６】
（１２）データ・ソースに、さらに、データ記憶入力ポート及びネットワーク・ポートに結合されて、先入れ先出し順に、ポートを介して受け取るビデオ・データ及びその他のデータを記憶する複数のＦＩＦＯメモリ・バッファ（１０１、１０３）と、ＦＩＦＯメモリ・バッファに結合されたセレクタ・スイッチ（１０２）と、セレクタ・スイッチ（１０２）及びネットワーク・ポート（１０６）に結合されたマルチプレクサ／デマルチプレクサ（１０９）と、セレクタ・スイッチ（１０２）に結合されて、複数の異なるタイミング周波数を発生し、セレクタ・スイッチ（１０２）を介して、ＦＩＦＯメモリ・バッファ（１０１、１０３）からマルチプレクサ／デマルチプレクサ（１０９）に送られる、データの流れを制御するレート発生器（１０５）と、レート発生器（１０５）及びデータ記憶入力ポート（１０４）に結合されて、データ記憶システム（９０）及びネットワーク・ポート（１０６）からＦＩＦＯメモリ・バッファ（１０１、１０３）へのデータの流れを制御し、ＦＩＦＯメモリ・バッファ（１０１、１０３）からセレクタ・スイッチ（１０２）へのデータの流れを制御するデータ・ソース・コントローラ（１０７）が設けれていることを特徴とする、上記（１１）に記載のビデオ・サーバ。
【０１０７】
（１３）データ記憶システムに、さらに、第１の規定のアクセス時間及び第１の規定の記憶容量を備えた、長期データ記憶システムと、長期データ記憶システムに結合され、第１の規定の記憶容量より少ない第２の規定の記憶容量、及び、第１の規定のアクセス時間より短い第２の規定のアクセス時間を備えた、短期データ記憶システム（９２）と、短期データ記憶システム（９２）及びデータ・ソース（１００）に結合されており、短期データ記憶システム（９２）にアクセスして、データ・ソース（１００）にデータを伝送するように指令し、長期データ記憶システムにアクセスして、短期データ記憶システムにデータのダウンロードを行うように指令する複数のデータ記憶インターフェイス（９６）が設けられていることを特徴とする、上記（１２）に記載のビデオ・サーバ。
【０１０８】
（１４）第１の制御システム（６０）が、第１のスイッチ（８０）によって、配給ネットワークを介してユーザからのユーザ指令を受け取り、該指令に応答して、データ・ソース（１００）、第１と第２のスイッチ（８０、７０）、及び、データ記憶システム（９０）に制御を加えることを特徴とする、上記（１１）に記載のビデオ・サーバ。
【０１０９】
（１５）第２の制御システム（５０）が、ビデオ・サーバに対して少なくともアカウント支援を行う、少なくとも１つの外部コンピュータ・システム（４０）に結合されていることを特徴とする、上記（１１）に記載のビデオ・サーバ。
【０１１０】
（１６）長期データ記憶システムが、複数のビデオ・データ・プログラムを記憶することと、各ビデオ・プログラムが、第１の再生バージョン、第２の早送りバージョン、及び、第３の早戻しバージョンとして記憶されることを特徴とする、上記（１３）に記載のビデオ・サーバ。
【０１１１】
（１７）短期データ記憶システム（９２）が、複数のディスク記憶装置（９７）から構成され、所定の数のディスク記憶装置が、ディスク記憶装置（９７）の１次元アレイを形成していることを特徴とする、上記（１３）に記載のビデオ・サーバ。
【０１１２】
（１８）ユーザがビデオ／オーディオ・プログラムを要求すると、ビデオ・プログラムの早送り、再生、及び、早戻しバージョンが、長期記憶システムから、ディスク記憶装置（９７）の選択された１次元アレイに転記されることと、各バージョンの既定ブロックが、連続したディスク記憶装置（９７）のそれぞれに順次転記されることを特徴とする、上記（１７）に記載のビデオ・サーバ。
【０１１３】
（１９）第１の制御システム（６０）が、ユーザのシステム・アクセス要求を受け取り、その要求を第２の制御システム（５０）に送り、第２の制御システム（５０）が、ユーザのシステム・アクセスが差しつかえないと判定して、第１の制御システム（６０）に、ユーザがサーバへのアクセスを許可される旨の伝達を行うと、第１の制御システム（６０）が、ユーザにデータ・ソース（１００）を割り当てるということを特徴とする、上記（１１）に記載のビデオ・サーバ。
【０１１４】
（２０）ユーザによって選択されたビデオ・プログラムのバージョンの一部が、１次元アレイをなすディスク記憶装置（９７）に対する順次アクセスによって、ディスク記憶装置（９７）から、ユーザに割り当てられたＦＩＦＯメモリ・バッファ（１０１、１０３）に伝送されることと、ユーザにプログラムが伝送される前に、ＦＩＦＯメモリ・バッファ（１０１、１０３）は、その容量の所定のパーセンテージまで充填されていることを特徴とする、上記（１８）に記載のビデオ・サーバ。
【０１１５】
（２１）中断することなく、確実に、ユーザにプログラムを供給するのに十分なビデオ／オーディオ・データが、バッファ対（１０１、１０３）に納められていることを保証するため、バッファ対（１０１、１０３）には、絶えず再計算されるレートで補給されるということを特徴とする、上記（２０）に記載のビデオ・サーバ。
【０１１６】
（２２）ユーザは、サーバに対するアクセスを許されている期間中、いつでも、ユーザが選択したプログラムについて、記憶されている任意のバージョンを選択することが可能であるということと、バッファ対（１０１、１０３）は、ユーザが最初にプログラムのあるバージョンを選択した時に充填されたのと同じやり方で、新たに選択されたバージョンを充填されるということを特徴とする、上記（２０）に記載のビデオ・サーバ。
【０１１７】
（２３）プログラムが、圧縮形式で、長期記憶システムに記憶されることを特徴とする、上記（１６）に記載のビデオ・サーバ。
【０１１８】
（２４）データ記憶システム（９０）及びコンピュータ（６０）を備え、コンピュータが、データ記憶システムに記憶された少なくとも第１の映画にアクセスして、ビデオ・カセット・レコーダの再生モードに極めて近似した再生ビューイング・モードにおいて、アクセスした第１の映画を供給することを可能にする、コンピュータ・システムにおける、ビデオ・カセット・レコーダの早送りビューイング・モード及び早戻しビューイング・モードに近似した早戻しモード及び早送りモードにおいて、映画を表示するための方法であって、所定の数のフレームの全てから１つのフレームをコピーするために、記憶されている映画の第１のコピーを編集するステップと、第１のコピーからコピーされたフレームを、第１のコピーからコピーされたのと同じ順序で、第２のコピーとして、データ記憶システム９０に記憶するステップと、第１のコピーからコピーされたフレームを、第１のコピーからコピーされたのと逆の順序で、第３のコピーとして、データ記憶システム９０に記憶するステップと、ユーザが第１の映画の早送りビューイングを要求すると、記憶されている第２のコピーを表示するステップと、ユーザが第１の映画の早戻しビューイングを要求すると、記憶されている第３のコピーを表示するステップから構成される、 早戻しモード及び早送りモードにおいて、映画を表示するための方法。
【０１１９】
（２５）少なくとも第１のビデオ・データ・プログラムの第２及び第３のコピーをさらに編集して、コピーされたフレームから所定の量のデータが除去されることを特徴とする、上記（２４）に記載の方法。
【０１２０】
（２６）メモリ・システム（９０）、メモリ・システム（９０）に結合された複数のデータ書式化装置（１００）、及び、データ書式化装置（１００）及びメモリ・システム（９０）に結合された制御システム（６０）から構成され、メモリ・システムに、さらに、複数のアレイをなすディスク・ドライブ（９７）が設けられているようなビデオ・サーバにおける、複数の通信チャネルを介してビデオ・サーバに結合されたユーザに、ビデオ・データ・プログラムを提供するための方法であって、１つのディスク・ドライブ・アレイを構成するディスク・ドライブ（９７）の全域にわたって、個々のビデオ・データ・プログラムのそれぞれにストライピングを施すステップと、通信チャネルの１つを介してビデオ・サーバに送られる、ユーザのビデオ・データ・プログラム要求を検出するステップと
要求されたビデオ・データ・プログラムを納めたディスク・ドライブ・アレイをデータ書式化装置に結合するステップと、選択されたデータ書式化装置をユーザに結合された通信チャネルに結合するステップと、要求されたビデオ・データ・プログラムが記憶されているディスク・ドライブ・アレイから、それを順次読み取るステップと、選択されたデータ書式化装置（１００）において、順次読み取ったデータの書式化を行うステップと、書式化されたビデオ・データをユーザに伝送するステップから構成される、ユーザに、ビデオ・データ・プログラムを提供するための方法。
【０１２１】
（２７）各ビデオ・データ・プログラムが、第１の再生ビデオ・データ・プログラムと、再生ビデオ・データ・プログラムにおけるビデオ・データと同じ順序で記憶された、再生ビデオ・データ・プログラムを構成する、選択されたビデオ・データ・セットからなる第２の早送りデータ・プログラムと、再生ビデオ・データ・プログラムにおけるビデオ・データと逆の順序で記憶された、再生ビデオ・データ・プログラムを構成する、選択されたビデオ・データ・セットからなる第３の早戻しデータ・プログラムとから構成されることと、第１、第２、及び、第３のプログラムには、それぞれ、同じディスク・ドライブ・アレイの全域にわたってストライピングが施されるということを特徴とする、上記（２６）に記載の方法。
【０１２２】
（２８）さらに、ユーザが、早送りビューイング・モードでビデオ・データ・プログラムが見れるように指示すると、第２の早送りビデオ・データ・プログラムを順次読み取り、書式化し、伝送するステップと、ユーザが、早戻しビューイング・モードでビデオ・データ・プログラムが見れるように指示すると、第３の早戻しビデオ・データ・プログラムを順次読み取り、書式化し、伝送するステップが含まれていることを特徴とする、上記（２７）に記載の方法。
【０１２３】
（２９）複数のビデオ・データ・プログラムを記憶するステップと、通信チャネルを介して、ユーザからビデオ・データ・プログラムの要求を受け取ると、ビデオ・データ・プログラムを検索するステップと、ユーザへの伝送に備えて、検索したビデオ・データ・プログラムを書式化するステップと、書式化されたビデオ・データ・プログラムをユーザに伝送するステップから構成される、通信チャネルに結合されたユーザにビデオ・データを提供するための方法。
【０１２４】
（３０）複数のビデオ・データ・プログラムを記憶するステップに、さらに、
複数のデータ記憶装置（９７）をして複数のアレイを構築するステップと、
複数のアレイをなす複数のデータ記憶装置（９７）の少なくとも１つに、複数のビデオ・データ・プログラムのそれぞれを記憶するステップが含まれていることを特徴とする、上記（２９）に記載の方法。
【０１２５】
（３１）複数のビデオ・データ・プログラムのそれぞれを記憶するステップに、さらに、ビデオ・データ・プログラムを、それぞれ、既定のサイズを備えた、複数のデータ・ブロックに分割するステップと、アレイをなすデータ記憶装置（９７）のうちの第１のデータ記憶装置（９７）に第１のデータ・ブロックを記憶するステップと、後続のデータ記憶装置（９７）に後続のデータ・ブロックを記憶するステップと、データ・ブロック数が、アレイをなすデータ記憶装置（９７）のデータ記憶装置（９７）数を超えると、上記した、第１のデータ・ブロックを記憶し、後続データ・ブロックを記憶するステップを繰り返すステップが含まれていることを特徴とする、上記（３０）に記載の方法。
【０１２６】
（３２）各ビデオ・データ・プログラムが、再生バージョン、早送りバージョン、及び、早戻しバージョンから構成されることと、再生バージョン、早送りバージョン、及び、早戻しバージョンが、それぞれ、データ・ブロックに分割され、アレイをなすデータ記憶装置９７に互いに並列に記憶されることと、再生バージョン、早送りバージョン、及び、早戻しバージョンの第１のデータ・ブロックが、第１のデータ記憶装置９７に記憶され、再生バージョン、早送りバージョン、及び、早戻しバージョンの後続のデータ・ブロックが、後続のデータ記憶装置９７に記憶されることと、第１のデータ・ブロック及び後続のデータ・ブロックに記憶するプロセスが、各バージョンの最後のデータ・ブロックがデータ記憶装置（９７）に記憶されるまで、並列に継続されることを特徴とする、上記（３１）に記載の方法。
【０１２７】
（３３）ユーザは、再生バージョン、早送りバージョン、及び、早戻しバージョンの任意の１つを要求することができるということと、ユーザは、ユーザに対するビデオ・データの提供時に、任意のあるバージョンから任意の他のバージョンにスイッチすることができるということを特徴とする、上記（３２）に記載の方法。
【０１２８】
（３４）ユーザが第１のバージョンから第２のバージョンにスイッチすると、現在アクセスしている、第１のバージョンのデータ・ブロックと同じ記憶装置（９７）に記憶されている、第２のバージョンのデータ・ブロックが検索され、書式化され、伝送されることを特徴とする、上記（３３）に記載の方法。
【０１２９】
（３５）テープ記憶装置に、既定の数の複数のビデオ・データ・プログラムが記憶されていることと、さらに、ユーザが、テープ記憶装置に記憶されているビデオ・データの要求を行ったか否かを判定するステップと、上記した、分割ステップ、第１のデータ・ブロックの記憶ステップ、後続のデータ・ブロックの記憶ステップ、及び、該記憶ステップを繰り返すステップを利用して、テープ記憶装置に記憶されている、要求されたビデオ・データ・プログラムをアレイをなすデータ記憶装置（９７）に転記するステップが含まれることを特徴とする、上記（３１）に記載の方法。
【０１３０】
（３６）早送りバージョン及び早戻しバージョンが、再生バージョンの所定の部分から構成されることと、早送りバージョンのビデオ・データが、再生バージョンのビデオ・データと同じ順序で記録されることと、早戻しバージョンのビデオ・データが、再生バージョンのビデオ・データと逆の順序で記録されることを特徴とする、上記（３１）に記載の方法。
【０１３１】
（３７）複数のユーザが、それぞれのデータ記憶装置（９７）にアクセス可能であることと、各ユーザには、ユーザが、アレイをなすデータ記憶装置の１つからビデオ・データ・ブロックを受け取る第１の規定の所要時間を有する、タイム・スロットが割り当てられていることを特徴とする、上記（３１）に記載の方法。
【０１３２】
（３８）テープ記憶装置に記憶された各ビデオ・データ・プログラムの所定の第１の部分が、少なくとも１つのアレイをなすデータ記憶装置（９７）に転記されることと、ユーザによるビデオ・データ・プログラムの要求後、各ビデオ・データ・プログラムの残りの部分が、上記アレイに転記されることと、ビデオ・データ・プログラムの残りの部分が転記されている間に、ユーザには、所定の部分が供給されるということを特徴とする、上記（３５）に記載の方法。
【０１３３】
以上のように本願発明によれば、ＶＯＤが実現可能になる前に、比較的低コストで、数千とはいかなくても、数多くののビデオ出力ストリームを発生し、制御することが可能な、新規のアーキテクチャを含むビデオ・サーバ・システムを提供することができた。さらに、いくつかある競合フォーマットの任意の１つによってビデオ・データの圧縮及び記憶が行われても、拡張が可能で、故障を許容し、効率の良い操作が行える、新規のアーキテクチャを含むビデオ・サーバ・システムを提供することができた。
【図面の簡単な説明】
【０１３４】
【図１】本発明の動作環境を示すブロック図である。
【図２】本発明の第１の実施例のブロック図である。
【図３】本発明の第２の実施例のブロック図である。
【図４】図２及び３に示すデータ・ソースのブロック図である。
【図５】プログラマブル・レート発生器によって、データ・ソースの出力チャネルの適正な時間多重化がいかに保証されるかを示す図である。
【図６】データ記憶サブシステムのブロック図である。
【図７】本発明の働きを示すフローチャートである。
【図８】本発明の働きを示すフローチャートである。
【図９】本発明の働きを示すフローチャートである。
【図１０】本発明の働きを示すフローチャートである。
【図１１】ユーザ・タイム・スロット（ＵＴＳ）がどう処理されるかをグラフ表現した図である。
【図１２】ＵＴＳを割り当てるプロセスのフローチャートである。
【図１３】時間に関する単一ユーザのＦＩＦＯの状況を示す図である。
【図１４】本発明がＦＦモード及びＦＲモードでいかに機能するかを示す図である。
【図１５】本発明が操作モードをいかに変更するかを示すフローチャートである。
【符号の説明】
【０１３５】
１０    ビデオ・サーバ
２０    配給ネットワーク
３０    クライアント・ノード
４０    アプリケーション・サーバ
５０    制御システム（ＣＳ）
６０    リアル・タイム・コントローラ（ＲＴＣ）
７０    スイッチ（Ｍ／Ｄスイッチ）
８０    スイッチ（Ｍ／Ｄスイッチ）
８５    モニタ
９０    データ記憶システム
９２    データ記憶サブシステム（ディスク・ドライブ・アレイ）
９６    ディスク・ドライブ・インターフェイス
９７    ディスク・ドライブ
９９    アレイ・コントローラ
１００  データ・ソース
１０１  ＦＩＦＯメモリ・バッファ
１０２  セレクタ・スイッチ
１０３  ＦＩＦＯメモリ・バッファ
１０４  ディスクＩ／Ｏポート
１０５  レート制御装置
１０６  ネットワーク・ポート
１０７  データ・ソース・コントローラ
１０９  ＭＵＸ
１１１  バス
１１３  バス
１１５  バス
１１６  バス
【図１】
2005110291.tif 000003
【図２】
2005110291.tif 000004
【図３】
2005110291.tif 000005
【図４】
2005110291.tif 000006
【図５】
2005110291.tif 000007
【図６】
2005110291.tif 000008
【図７】
2005110291.tif 000009
【図８】
2005110291.tif 000010
【図９】
2005110291.tif 000011
【図１０】
2005110291.tif 000012
【図１１】
2005110291.tif 000013
【図１２】
2005110291.tif 000014
【図１３】
2005110291.tif 000015
【図１４】
2005110291.tif 000016
【図１５】
2005110291.tif 000017