JP3110989B2 - ビデオ用に最適化された媒体ストリーマ・ユーザ・インタフェース - Google Patents
ビデオ用に最適化された媒体ストリーマ・ユーザ・インタフェースInfo
- Publication number
- JP3110989B2 JP3110989B2 JP07229978A JP22997895A JP3110989B2 JP 3110989 B2 JP3110989 B2 JP 3110989B2 JP 07229978 A JP07229978 A JP 07229978A JP 22997895 A JP22997895 A JP 22997895A JP 3110989 B2 JP3110989 B2 JP 3110989B2
- Authority
- JP
- Japan
- Prior art keywords
- video
- data
- node
- command
- storage
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B15/00—Driving, starting or stopping record carriers of filamentary or web form; Driving both such record carriers and heads; Guiding such record carriers or containers therefor; Control thereof; Control of operating function
- G11B15/18—Driving; Starting; Stopping; Arrangements for control or regulation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17336—Handling of requests in head-ends
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Memory System (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
【0001】
【発明の属する技術分野】本発明はマルチメディア・デ
ータの配布システムに関し、特に、ビデオを最小のバッ
ファリングにより複数の端末に同時に提供する対話式ビ
デオ・サーバ・システムに関する。
ータの配布システムに関し、特に、ビデオを最小のバッ
ファリングにより複数の端末に同時に提供する対話式ビ
デオ・サーバ・システムに関する。
【0002】
【従来の技術】映画及びビデオの再生は、今日、かなり
旧式の技術により実施されている。主な記憶媒体は、V
HSレコーダ/プレーヤなどのアナログ・テープから、
テレビ・スタジオ及び放送局で使用される非常に高品質
で高価なD1 VTRまで様々である。この技術には多
くの問題が存在する。こうした問題には、テープをロー
ドするために要する手作業や、機械ユニット、テープ・
ヘッド及びテープ自身の摩耗及び破損、並びにそれにか
かる費用などが含まれる。放送局を困難に陥れる1つの
重要な制約は、VTRが順次的に1度に1つの機能だけ
しか達成できないことである。各テープ・ユニットは7
5000ドル乃至150000ドルの費用を要する。
旧式の技術により実施されている。主な記憶媒体は、V
HSレコーダ/プレーヤなどのアナログ・テープから、
テレビ・スタジオ及び放送局で使用される非常に高品質
で高価なD1 VTRまで様々である。この技術には多
くの問題が存在する。こうした問題には、テープをロー
ドするために要する手作業や、機械ユニット、テープ・
ヘッド及びテープ自身の摩耗及び破損、並びにそれにか
かる費用などが含まれる。放送局を困難に陥れる1つの
重要な制約は、VTRが順次的に1度に1つの機能だけ
しか達成できないことである。各テープ・ユニットは7
5000ドル乃至150000ドルの費用を要する。
【0003】TV局は、短い映画に他ならないコマーシ
ャルからの歳入を増やそうとして、特殊コマーシャルを
正規の番組に挿入し、それにより各都市を別々の市場と
して位置付ける。これはテープ技術や、非常に高価なデ
ジタルD1テープ・システムまたはテープ・ロボットに
おいても、困難な作業である。
ャルからの歳入を増やそうとして、特殊コマーシャルを
正規の番組に挿入し、それにより各都市を別々の市場と
して位置付ける。これはテープ技術や、非常に高価なデ
ジタルD1テープ・システムまたはテープ・ロボットに
おいても、困難な作業である。
【0004】マルチメディア・データのエンド・ユーザ
への従来の配布方法は、2つのカテゴリに分類される。
それらは1)放送業界の方法と、2)コンピュータ業界
の方法である。放送業界の方法(映画、ケーブル、テレ
ビ網及びレコード業界を含む)は、一般に、アナログま
たはデジタル的に記録されたテープ形式の記憶を提供す
る。テープの再生は等時性(isochronous)のデータ・
ストリームを生成し、これらが放送業界の装置を通じて
エンド・ユーザに伝達される。一方、コンピュータ業界
の方法は、一般にディスク形式またはテープ増補式ディ
スク形式の記憶を提供し、データをDVI、JPEG及
びMPEGなどの圧縮デジタル形式で記録する。要求次
第でコンピュータが非等時性データ・ストリームをエン
ド・ユーザに配布し、エンド・ユーザ側でハードウェア
がバッファリングし、特殊アプリケーション・コードが
データ・ストリームを平滑化して、連続的な映像または
音声を生成する。
への従来の配布方法は、2つのカテゴリに分類される。
それらは1)放送業界の方法と、2)コンピュータ業界
の方法である。放送業界の方法(映画、ケーブル、テレ
ビ網及びレコード業界を含む)は、一般に、アナログま
たはデジタル的に記録されたテープ形式の記憶を提供す
る。テープの再生は等時性(isochronous)のデータ・
ストリームを生成し、これらが放送業界の装置を通じて
エンド・ユーザに伝達される。一方、コンピュータ業界
の方法は、一般にディスク形式またはテープ増補式ディ
スク形式の記憶を提供し、データをDVI、JPEG及
びMPEGなどの圧縮デジタル形式で記録する。要求次
第でコンピュータが非等時性データ・ストリームをエン
ド・ユーザに配布し、エンド・ユーザ側でハードウェア
がバッファリングし、特殊アプリケーション・コードが
データ・ストリームを平滑化して、連続的な映像または
音声を生成する。
【0005】
【発明が解決しようとする課題】従来、ビデオ・テープ
・サブシステムは、記憶媒体のコストの点で、コンピュ
ータ・ディスク・サブシステムに勝るコスト的利点を示
してきた。しかしながら、ビデオ・テープ・サブシステ
ムは、テープ管理、アクセス待ち時間(latency)及び
比較的低い信頼性などの欠点を有する。これらの欠点
は、実時間デジタル圧縮/伸長技術の出現と共に、コン
ピュータ記憶装置のコストが低下してくると、益々重大
となってくる。
・サブシステムは、記憶媒体のコストの点で、コンピュ
ータ・ディスク・サブシステムに勝るコスト的利点を示
してきた。しかしながら、ビデオ・テープ・サブシステ
ムは、テープ管理、アクセス待ち時間(latency)及び
比較的低い信頼性などの欠点を有する。これらの欠点
は、実時間デジタル圧縮/伸長技術の出現と共に、コン
ピュータ記憶装置のコストが低下してくると、益々重大
となってくる。
【0006】コンピュータ・サブシステムは、複合的な
コスト性能比の改良を示してきているが、一般に"ビデ
オ・フレンドリ"(video friendly)と見られていな
い。コンピュータは主に、"非等時性"(non-isochronou
s)と呼ばれるインタフェース及びプロトコルにより、
ワークステーション及び他のコンピュータ端末とインタ
フェースする。エンド・ユーザへのマルチメディア・デ
ータの円滑な(等時性の)配布を保証するために、コン
ピュータ・システムは特殊アプリケーション・コード及
び大きなバッファを要求することにより、従来の通信方
法における固有の弱点を克服しようとする。またコンピ
ュータは、等時性データ・ストリームを処理し、それら
の間を高度な正確度で切り替えるマルチメディア業界に
おける装置と互換のインタフェースを欠く点でも、ビデ
オ・フレンドリではない。
コスト性能比の改良を示してきているが、一般に"ビデ
オ・フレンドリ"(video friendly)と見られていな
い。コンピュータは主に、"非等時性"(non-isochronou
s)と呼ばれるインタフェース及びプロトコルにより、
ワークステーション及び他のコンピュータ端末とインタ
フェースする。エンド・ユーザへのマルチメディア・デ
ータの円滑な(等時性の)配布を保証するために、コン
ピュータ・システムは特殊アプリケーション・コード及
び大きなバッファを要求することにより、従来の通信方
法における固有の弱点を克服しようとする。またコンピ
ュータは、等時性データ・ストリームを処理し、それら
の間を高度な正確度で切り替えるマルチメディア業界に
おける装置と互換のインタフェースを欠く点でも、ビデ
オ・フレンドリではない。
【0007】ビデオ・マテリアルをデジタル形式で圧縮
し記憶するためにコンピュータを導入することにより、
テレビ放送、映画スタジオ製作、電話回線による"ビデ
オ・オン・デマンド"、及びホテルにおける有料映画な
どの複数の主要業界において、革命が起こりつつある。
圧縮技術は、100乃至180分の1の圧縮率の達成に
より実用レベルに至った。こうした圧縮比は、ランダム
・アクセス・ディスク技術を従来のテープ・システムに
代わる魅力的なものとする。
し記憶するためにコンピュータを導入することにより、
テレビ放送、映画スタジオ製作、電話回線による"ビデ
オ・オン・デマンド"、及びホテルにおける有料映画な
どの複数の主要業界において、革命が起こりつつある。
圧縮技術は、100乃至180分の1の圧縮率の達成に
より実用レベルに至った。こうした圧縮比は、ランダム
・アクセス・ディスク技術を従来のテープ・システムに
代わる魅力的なものとする。
【0008】デジタル・ディスク・データをランダムに
アクセスする能力、並びに非常に高帯域のディスク・シ
ステムにより、要求されるシステム機能及び性能が、デ
ィスク技術の性能、ハードウェア・コスト、及び消費性
の範囲内に入るようになった。従来は、ビデオまたは映
画を記憶するためにディスク・ファイルを使用すること
は、その記憶コストの点で現実的ではなかった。最近で
はこのコストが著しく低下した。
アクセスする能力、並びに非常に高帯域のディスク・シ
ステムにより、要求されるシステム機能及び性能が、デ
ィスク技術の性能、ハードウェア・コスト、及び消費性
の範囲内に入るようになった。従来は、ビデオまたは映
画を記憶するためにディスク・ファイルを使用すること
は、その記憶コストの点で現実的ではなかった。最近で
はこのコストが著しく低下した。
【0009】MPEG規格に準拠する圧縮ビデオ・デー
タを採用する新たに登場しつつある数多くの市場にとっ
て、ビデオ・データをコスト有効に記憶するための幾つ
かの方法が存在する。本発明は、多くの異なる性能要求
に対する階層的解決策であって、市場要求に適合するよ
うにカストマイズすなわち個別化されうるモジュラ・シ
ステム・アプローチを提案する。
タを採用する新たに登場しつつある数多くの市場にとっ
て、ビデオ・データをコスト有効に記憶するための幾つ
かの方法が存在する。本発明は、多くの異なる性能要求
に対する階層的解決策であって、市場要求に適合するよ
うにカストマイズすなわち個別化されうるモジュラ・シ
ステム・アプローチを提案する。
【0010】
【課題を解決するための手段】本発明は、コンピュータ
業界の従来のインタフェース上で、マルチメディア環境
における等時性データ・ストリームの配布を可能にす
る"ビデオ・フレンドリ"なコンピュータ・サブシステム
を提供する。本発明による媒体ストリーマは、等時性デ
ータ・ストリームの配布に最適化され、データを新たな
コンピュータ・ネットワークにATM(非同期転送モー
ド)技術により入力することができる。本発明は、シス
テム制御のためのVTR(ビデオ・テープ・レコーダ)
メタファを提供する一方、ビデオ・テープの欠点を排除
する。本発明のシステムは、次の特徴を提供する。すな
わち、1個乃至1000個の独立に制御されるデータ・
ストリームをエンド・ユーザに配布するスケーラビリテ
ィ(scaleability)、データの単一コピーから多くの等
時性データ・ストリームを配布する能力、混合出力イン
タフェース、混合データ・レート、単純な"オープン・
システム"制御インタフェース、自動制御サポート、記
憶階層サポート及び1配布ストリーム当たりの低コスト
である。
業界の従来のインタフェース上で、マルチメディア環境
における等時性データ・ストリームの配布を可能にす
る"ビデオ・フレンドリ"なコンピュータ・サブシステム
を提供する。本発明による媒体ストリーマは、等時性デ
ータ・ストリームの配布に最適化され、データを新たな
コンピュータ・ネットワークにATM(非同期転送モー
ド)技術により入力することができる。本発明は、シス
テム制御のためのVTR(ビデオ・テープ・レコーダ)
メタファを提供する一方、ビデオ・テープの欠点を排除
する。本発明のシステムは、次の特徴を提供する。すな
わち、1個乃至1000個の独立に制御されるデータ・
ストリームをエンド・ユーザに配布するスケーラビリテ
ィ(scaleability)、データの単一コピーから多くの等
時性データ・ストリームを配布する能力、混合出力イン
タフェース、混合データ・レート、単純な"オープン・
システム"制御インタフェース、自動制御サポート、記
憶階層サポート及び1配布ストリーム当たりの低コスト
である。
【0011】本発明の1態様によれば、媒体ストリーマ
が、少なくとも1つの制御ノードと、少なくとも1つの
制御ノードに接続される出力を有するユーザ・インタフ
ェースと、少なくとも1つのビデオ・プレゼンテーショ
ンのデジタル表現を記憶する少なくとも1つの記憶ノー
ドと、各々が記憶ノードから少なくとも1つのビデオ・
プレゼンテーションのデジタル表現を受信する入力ポー
トを有する複数の通信ノードとを含む。ビデオ・プレゼ
ンテーションはそれを完全に表示するのに時間Tを要
し、各々がビデオ・プレゼンテーションのT/N期間に
相当するデータを記憶する複数のNデータ・ブロックと
して記憶される。
が、少なくとも1つの制御ノードと、少なくとも1つの
制御ノードに接続される出力を有するユーザ・インタフ
ェースと、少なくとも1つのビデオ・プレゼンテーショ
ンのデジタル表現を記憶する少なくとも1つの記憶ノー
ドと、各々が記憶ノードから少なくとも1つのビデオ・
プレゼンテーションのデジタル表現を受信する入力ポー
トを有する複数の通信ノードとを含む。ビデオ・プレゼ
ンテーションはそれを完全に表示するのに時間Tを要
し、各々がビデオ・プレゼンテーションのT/N期間に
相当するデータを記憶する複数のNデータ・ブロックと
して記憶される。
【0012】複数の通信ノードの各々は、更に各々がデ
ジタル表現を出力する複数の出力ポートを有する。回路
スイッチが、少なくとも1つの記憶ノードと複数の通信
ノードの入力ポートとの間に接続され、1つ以上の入力
ポートを少なくとも1つの記憶ノードに接続し、そこに
記憶されるデジタル表現を1つ以上の出力ポートに出現
させる。
ジタル表現を出力する複数の出力ポートを有する。回路
スイッチが、少なくとも1つの記憶ノードと複数の通信
ノードの入力ポートとの間に接続され、1つ以上の入力
ポートを少なくとも1つの記憶ノードに接続し、そこに
記憶されるデジタル表現を1つ以上の出力ポートに出現
させる。
【0013】ユーザ・インタフェースは実行コマンドを
指定する能力を有し、少なくとも1つの制御ノードが、
個々のコマンドに応答して、回路スイッチとの協働によ
り、少なくとも1つの記憶ノードの少なくとも1つ、及
び複数の制御ノードの少なくとも1つを制御し、個々の
コマンドに関連する機能を実行する。
指定する能力を有し、少なくとも1つの制御ノードが、
個々のコマンドに応答して、回路スイッチとの協働によ
り、少なくとも1つの記憶ノードの少なくとも1つ、及
び複数の制御ノードの少なくとも1つを制御し、個々の
コマンドに関連する機能を実行する。
【0014】コマンドは、ロード・コマンド、取出し
(Eject)コマンド、再生(Play)コマンド、低速(Slo
w)コマンド、高速先送り(Fast Forward)コマンド、
休止(Pause)コマンド、停止(Stop)コマンド、巻戻
し(Rewind)コマンド、及び無声(Mute)コマンドを含
むグループから選択されるビデオ・カセット・レコーダ
式コマンドを含みうる。コマンドは更に、再生リスト・
コマンド、再生長(PlayLength)コマンド及びバッチ・
コマンドを含むグループから選択されるコマンドを含み
うる。
(Eject)コマンド、再生(Play)コマンド、低速(Slo
w)コマンド、高速先送り(Fast Forward)コマンド、
休止(Pause)コマンド、停止(Stop)コマンド、巻戻
し(Rewind)コマンド、及び無声(Mute)コマンドを含
むグループから選択されるビデオ・カセット・レコーダ
式コマンドを含みうる。コマンドは更に、再生リスト・
コマンド、再生長(PlayLength)コマンド及びバッチ・
コマンドを含むグループから選択されるコマンドを含み
うる。
【0015】少なくとも1つの制御ノードは、再生リス
ト・コマンドに応答して、通信ノードの1つのユーザ指
定出力ポートから、ユーザ指定順序で出力されるユーザ
指定ビデオ・プレゼンテーションのリストを生成する。
また、再生長コマンドに応答して、ユーザ指定ビデオ・
プレゼンテーションをユーザ指定出力ポートからユーザ
指定期間出力する。
ト・コマンドに応答して、通信ノードの1つのユーザ指
定出力ポートから、ユーザ指定順序で出力されるユーザ
指定ビデオ・プレゼンテーションのリストを生成する。
また、再生長コマンドに応答して、ユーザ指定ビデオ・
プレゼンテーションをユーザ指定出力ポートからユーザ
指定期間出力する。
【0016】少なくとも1つの制御ノードは、更にバッ
チ・コマンドに応答して、少なくとも2つ以上のビデオ
・カセット・レコーダ式コマンドを含むユーザ指定記憶
リストをアクセスし、その後、ユーザからの指示によ
り、アクセスされた記憶リストに含まれる全てのコマン
ドを順次実行する。
チ・コマンドに応答して、少なくとも2つ以上のビデオ
・カセット・レコーダ式コマンドを含むユーザ指定記憶
リストをアクセスし、その後、ユーザからの指示によ
り、アクセスされた記憶リストに含まれる全てのコマン
ドを順次実行する。
【0017】他のコマンドは、外部ソースからのビデオ
・プレゼンテーションのローディング、及び外部記憶装
置へのビデオ・プレゼンテーションの出力を可能にす
る。
・プレゼンテーションのローディング、及び外部記憶装
置へのビデオ・プレゼンテーションの出力を可能にす
る。
【0018】本発明の別の態様によれば、媒体ストリー
マは、ユーザ・インタフェースを介して、ユーザ・アプ
リケーション・プログラムを少なくとも1つの制御ノー
ドに接続する同期アプリケーション・プログラム・イン
タフェース(API)を含む。APIは遠隔プロシージ
ャ呼出し(RPC)プロシージャを含む。少なくとも1
つの制御ノードが、RPCプロシージャに応答してその
プロシージャを実行し、回路スイッチと協働して、少な
くとも1つの記憶ノードの少なくとも1つ及び複数の記
憶ノードの少なくとも1つを制御し、個々のコマンドに
関連する少なくとも1つの機能を実行する。少なくとも
1つの制御ノードは、各プロシージャに対応して、所与
のプロシージャの実行の完了を示す終了コードを返却す
る。
マは、ユーザ・インタフェースを介して、ユーザ・アプ
リケーション・プログラムを少なくとも1つの制御ノー
ドに接続する同期アプリケーション・プログラム・イン
タフェース(API)を含む。APIは遠隔プロシージ
ャ呼出し(RPC)プロシージャを含む。少なくとも1
つの制御ノードが、RPCプロシージャに応答してその
プロシージャを実行し、回路スイッチと協働して、少な
くとも1つの記憶ノードの少なくとも1つ及び複数の記
憶ノードの少なくとも1つを制御し、個々のコマンドに
関連する少なくとも1つの機能を実行する。少なくとも
1つの制御ノードは、各プロシージャに対応して、所与
のプロシージャの実行の完了を示す終了コードを返却す
る。
【0019】
用語説明:以降の説明の中で使用される用語について、
最初に説明する。 ・AAL−5:ATM ADAPTATION LAYER-5。データ伝送に
好適なATMサービスのクラスを示す。 ・ATM:ASYNCHRONOUS TRANSFER MODE(非同期転送モ
ード)。ローカル若しくはワイド・エリア・ネットワー
ク、または両者で使用される高速スイッチング及び伝送
技術。データ及びビデオ/音声の両方を伝送するように
設計される。 ・Betacam:専門的品質のアナログ・ビデオ・フォーマ
ット。 ・CCIR 601:デジタル・テレビの規格の解像
度。720×840(NTSC)または720×576
(PAL)。輝度はクロミナンスと共に、水平方向に
2:1でサブサンプルされる。 ・CPU:中央処理ユニット。コンピュータ・アーキテ
クチャにおいて、コンピュータ命令を処理する主エンテ
ィティ。 ・CRC:CYCLIC REDUNDANCY CHECK(巡回冗長検
査)。データ・エラー検出機構。 ・D1:CCIR 601に準拠するビデオ記録フォー
マット。19mmビデオ・テープ上の記録。 ・D2:SMPTE 244Mに準拠するデジタル・ビ
デオ記録フォーマット。19mmビデオ・テープ上の記
録。 ・D3:SMPTE 244Mに準拠するデジタル・ビ
デオ・フォーマット。1/2インチ・ビデオ・テープ上
の記録。 ・DASD:DIRECT ACCESS STORAGE DEVICE(直接アク
セス記憶装置)。アドレス可能な任意のオンライン記憶
装置またはCD−ROMプレーヤ。磁気ディスク・ドラ
イブと同義。 ・DMA:直接メモリ・アクセス。コンピュータ・アー
キテクチャにおいて、CPUを必要とすることなく、デ
ータを転送する方法。 ・DVI:通常CD−ROMディスクからコンピュータ
画面にビデオを再生するために使用される、比較的低品
質のデジタル・ビデオ圧縮フォーマット。 ・E1:T1(後述)の欧州版。 ・FIFO:FIRST IN FIRST OUT(先入れ先出し)。先
に到来したデータを先にサービスするように作用するキ
ュー処理方法。 ・GenLock:別のビデオ信号との同期処理。ビデオのコ
ンピュータ捕獲において、デジタル化処理をビデオ信号
の走査パラメータに同期させることが要求される。 ・I/O:入力/出力 ・等時性(Isochronous):時間に感応的であり、(好
適には)中断無しに送信される情報をさすときに使用さ
れる。実時間で送信されるビデオ及び音声データは等時
性である。 ・JPEG:JOINT PHOTOGRAPHIC EXPERT GROUP。IS
O(国際標準化機構)主催の下で、コンピュータ・シス
テムにおいて使用される静止画のデジタル圧縮の統一規
格を定義している活動委員会。 ・KB:キロバイト。1024バイト。 ・LAN:ローカル・エリア・ネットワーク。端末、コ
ンピュータ、及び周辺装置を約1マイル以下の距離にお
いて一緒に接続するツイストペア、同軸または光ファイ
バ・ケーブル上での高速伝送。 ・LRU:LEAST RECENTRY USED(最低使用頻度)。 ・MPEG:MOVING PICTURE EXPERTS GROUP。ISO主
催の下で、動画ビデオ/音声のデジタル圧縮/伸長の規
格を定義している活動委員会。MPEG−1は初期の規
格であり、現在使用されている。MPEG−2は次の規
格となるもので、デジタルで柔軟なスケーラブルのビデ
オ伝送をサポートし、複数の解像度、ビット・レート及
び配布機構をカバーする。 ・MPEG−1、MPEG−2:MPEG参照。 ・MRU:MOST RECENTRY USED(最高使用頻度)。 ・MTNU:MOST TIME TO NEXT USE。 ・NTSCフォーマット:NATIONAL TELEVISION STANDA
RDS COMMITTEE。米国と日本で使用されるカラー・テレ
ビジョン・フォーマット規格。 ・PAL:PHASE ALTERNATION LINE。フランスを除くヨ
ーロッパで使用されるカラー・テレビジョン・フォーマ
ット規格。 ・PC:パーソナル・コンピュータ。家庭または事業で
使用される比較的低価格のコンピュータ。 ・RAID:REDUNDANT ARRAY of INEXPENSIVE DISKS。
縦列をなして作用し、帯域幅出力を増加し、冗長バック
アップを提供する、複数の磁気または光ディスクを使用
する記憶配列。 ・SCSI:SMALL COMPUTER SYSTEM INTERFACE。周辺
装置及びそれらの制御装置をコンピュータに接続するた
めの業界標準。 ・SIF:SOURCE INPUT FORMAT。CCIR 601解
像度の4分の1。 ・SMPTE:SOCIETY OF MOTION PICTURE & TELEVISI
ON ENGINEERS。 ・SSA:SERIAL STORAGE ARCHITECTURE。周辺装置と
それらの制御装置をコンピュータに接続する規格。SC
SIと置換可能。 ・T1:ビット・レート1.544Mビット/秒の電話
網へのデジタル・インタフェース。 ・TCP/IP:伝送制御プロトコル/インターネット
・プロトコル。ネットワークを通じ異類のコンピュータ
をリンクするために、国防総省により開発された一連の
プロトコル。 ・VHS:VERTICAL HELICAL SCAN。アナログ・ビデオ
を磁気テープ上に記録するための共通フォーマット。 ・VTR:ビデオ・テープ・レコーダ。ビデオを磁気テ
ープ上に記憶するための装置。 ・VCR:ビデオ・カセット・レコーダ。VTRと同
じ。
最初に説明する。 ・AAL−5:ATM ADAPTATION LAYER-5。データ伝送に
好適なATMサービスのクラスを示す。 ・ATM:ASYNCHRONOUS TRANSFER MODE(非同期転送モ
ード)。ローカル若しくはワイド・エリア・ネットワー
ク、または両者で使用される高速スイッチング及び伝送
技術。データ及びビデオ/音声の両方を伝送するように
設計される。 ・Betacam:専門的品質のアナログ・ビデオ・フォーマ
ット。 ・CCIR 601:デジタル・テレビの規格の解像
度。720×840(NTSC)または720×576
(PAL)。輝度はクロミナンスと共に、水平方向に
2:1でサブサンプルされる。 ・CPU:中央処理ユニット。コンピュータ・アーキテ
クチャにおいて、コンピュータ命令を処理する主エンテ
ィティ。 ・CRC:CYCLIC REDUNDANCY CHECK(巡回冗長検
査)。データ・エラー検出機構。 ・D1:CCIR 601に準拠するビデオ記録フォー
マット。19mmビデオ・テープ上の記録。 ・D2:SMPTE 244Mに準拠するデジタル・ビ
デオ記録フォーマット。19mmビデオ・テープ上の記
録。 ・D3:SMPTE 244Mに準拠するデジタル・ビ
デオ・フォーマット。1/2インチ・ビデオ・テープ上
の記録。 ・DASD:DIRECT ACCESS STORAGE DEVICE(直接アク
セス記憶装置)。アドレス可能な任意のオンライン記憶
装置またはCD−ROMプレーヤ。磁気ディスク・ドラ
イブと同義。 ・DMA:直接メモリ・アクセス。コンピュータ・アー
キテクチャにおいて、CPUを必要とすることなく、デ
ータを転送する方法。 ・DVI:通常CD−ROMディスクからコンピュータ
画面にビデオを再生するために使用される、比較的低品
質のデジタル・ビデオ圧縮フォーマット。 ・E1:T1(後述)の欧州版。 ・FIFO:FIRST IN FIRST OUT(先入れ先出し)。先
に到来したデータを先にサービスするように作用するキ
ュー処理方法。 ・GenLock:別のビデオ信号との同期処理。ビデオのコ
ンピュータ捕獲において、デジタル化処理をビデオ信号
の走査パラメータに同期させることが要求される。 ・I/O:入力/出力 ・等時性(Isochronous):時間に感応的であり、(好
適には)中断無しに送信される情報をさすときに使用さ
れる。実時間で送信されるビデオ及び音声データは等時
性である。 ・JPEG:JOINT PHOTOGRAPHIC EXPERT GROUP。IS
O(国際標準化機構)主催の下で、コンピュータ・シス
テムにおいて使用される静止画のデジタル圧縮の統一規
格を定義している活動委員会。 ・KB:キロバイト。1024バイト。 ・LAN:ローカル・エリア・ネットワーク。端末、コ
ンピュータ、及び周辺装置を約1マイル以下の距離にお
いて一緒に接続するツイストペア、同軸または光ファイ
バ・ケーブル上での高速伝送。 ・LRU:LEAST RECENTRY USED(最低使用頻度)。 ・MPEG:MOVING PICTURE EXPERTS GROUP。ISO主
催の下で、動画ビデオ/音声のデジタル圧縮/伸長の規
格を定義している活動委員会。MPEG−1は初期の規
格であり、現在使用されている。MPEG−2は次の規
格となるもので、デジタルで柔軟なスケーラブルのビデ
オ伝送をサポートし、複数の解像度、ビット・レート及
び配布機構をカバーする。 ・MPEG−1、MPEG−2:MPEG参照。 ・MRU:MOST RECENTRY USED(最高使用頻度)。 ・MTNU:MOST TIME TO NEXT USE。 ・NTSCフォーマット:NATIONAL TELEVISION STANDA
RDS COMMITTEE。米国と日本で使用されるカラー・テレ
ビジョン・フォーマット規格。 ・PAL:PHASE ALTERNATION LINE。フランスを除くヨ
ーロッパで使用されるカラー・テレビジョン・フォーマ
ット規格。 ・PC:パーソナル・コンピュータ。家庭または事業で
使用される比較的低価格のコンピュータ。 ・RAID:REDUNDANT ARRAY of INEXPENSIVE DISKS。
縦列をなして作用し、帯域幅出力を増加し、冗長バック
アップを提供する、複数の磁気または光ディスクを使用
する記憶配列。 ・SCSI:SMALL COMPUTER SYSTEM INTERFACE。周辺
装置及びそれらの制御装置をコンピュータに接続するた
めの業界標準。 ・SIF:SOURCE INPUT FORMAT。CCIR 601解
像度の4分の1。 ・SMPTE:SOCIETY OF MOTION PICTURE & TELEVISI
ON ENGINEERS。 ・SSA:SERIAL STORAGE ARCHITECTURE。周辺装置と
それらの制御装置をコンピュータに接続する規格。SC
SIと置換可能。 ・T1:ビット・レート1.544Mビット/秒の電話
網へのデジタル・インタフェース。 ・TCP/IP:伝送制御プロトコル/インターネット
・プロトコル。ネットワークを通じ異類のコンピュータ
をリンクするために、国防総省により開発された一連の
プロトコル。 ・VHS:VERTICAL HELICAL SCAN。アナログ・ビデオ
を磁気テープ上に記録するための共通フォーマット。 ・VTR:ビデオ・テープ・レコーダ。ビデオを磁気テ
ープ上に記憶するための装置。 ・VCR:ビデオ・カセット・レコーダ。VTRと同
じ。
【0020】本実施例は以下のように構成される。 A.一般アーキテクチャ B.等時的配布のためのデジタル圧縮ビデオ・データの
階層的管理 B1.テープ記憶装置 B2.ディスク記憶システム B3.キャッシュからの映画 C.媒体ストリーマ・データ・フロー・アーキテクチャ C1.制御ノード18機能 C2.通信ノード14 C3.記憶ノード16 C4.ジャスト・イン・タイム・スケジューリング C5.再生アクションの詳細 D.媒体ストリーマとのユーザ・インタフェース及びア
プリケーション・インタフェース D1.ユーザ通信 D1.1.コマンド・ライン・インタフェース D1.2.グラフィカル・ユーザ・インタフェース D2.ユーザ機能 D2.1.インポート/エクスポート D2.2.VCR式再生制御 D2.3.拡張ユーザ制御 D3.アプリケーション・プログラム・インタフェース D4.クライアント/媒体ストリーマ通信 D4.1.クライアント制御システム11 D4.2.媒体ストリーマ10 E.ビデオ配布のための媒体ストリーマ・メモリ構成及
び最適化 E1.従来のキャッシュ管理 E2.ビデオ用に最適化されたキャッシュ管理 E2.1.ストリームに渡るセグメント・サイズのキャ
ッシュ・バッファの共有化 E2.2.予測キャッシング E2.3.キャッシングを最適化する同期ストリーム F.ビデオ用に最適化されたデジタル・メモリ割当て F1.メモリ割当てに使用されるコマンド F2.アプリケーション・プログラム・インタフェース G.ビデオ・アプリケーション用に最適化されたディス
ク・ドライブ H.ビデオ・データに対応したデータ・ストライピング I.媒体ストリーマ・データ転送及び変換プロシージャ I1.スイッチ18へのビデオ配布のための動的帯域幅
割当て J.通信アダプタによる等時性ビデオ・データの配布 J1.圧縮MPEG−1、1+、またはMPEG−2デ
ジタル・データ・フォーマットから、業界標準テレビジ
ョン・フォーマット(NTSCまたはPAL)へのビデ
オ・イメージ及び映画の変換 K.SCSI装置へのデジタル・ビデオの伝送 K1.SCSIレベルのコマンド記述 K2.バッファ管理 K2.1.バッファ選択及び位置 K2.2.自動モード K2.3.マニュアル・モード K2.4.エラー管理 K2.5.エラー回復 K2.6.自動再試行
階層的管理 B1.テープ記憶装置 B2.ディスク記憶システム B3.キャッシュからの映画 C.媒体ストリーマ・データ・フロー・アーキテクチャ C1.制御ノード18機能 C2.通信ノード14 C3.記憶ノード16 C4.ジャスト・イン・タイム・スケジューリング C5.再生アクションの詳細 D.媒体ストリーマとのユーザ・インタフェース及びア
プリケーション・インタフェース D1.ユーザ通信 D1.1.コマンド・ライン・インタフェース D1.2.グラフィカル・ユーザ・インタフェース D2.ユーザ機能 D2.1.インポート/エクスポート D2.2.VCR式再生制御 D2.3.拡張ユーザ制御 D3.アプリケーション・プログラム・インタフェース D4.クライアント/媒体ストリーマ通信 D4.1.クライアント制御システム11 D4.2.媒体ストリーマ10 E.ビデオ配布のための媒体ストリーマ・メモリ構成及
び最適化 E1.従来のキャッシュ管理 E2.ビデオ用に最適化されたキャッシュ管理 E2.1.ストリームに渡るセグメント・サイズのキャ
ッシュ・バッファの共有化 E2.2.予測キャッシング E2.3.キャッシングを最適化する同期ストリーム F.ビデオ用に最適化されたデジタル・メモリ割当て F1.メモリ割当てに使用されるコマンド F2.アプリケーション・プログラム・インタフェース G.ビデオ・アプリケーション用に最適化されたディス
ク・ドライブ H.ビデオ・データに対応したデータ・ストライピング I.媒体ストリーマ・データ転送及び変換プロシージャ I1.スイッチ18へのビデオ配布のための動的帯域幅
割当て J.通信アダプタによる等時性ビデオ・データの配布 J1.圧縮MPEG−1、1+、またはMPEG−2デ
ジタル・データ・フォーマットから、業界標準テレビジ
ョン・フォーマット(NTSCまたはPAL)へのビデ
オ・イメージ及び映画の変換 K.SCSI装置へのデジタル・ビデオの伝送 K1.SCSIレベルのコマンド記述 K2.バッファ管理 K2.1.バッファ選択及び位置 K2.2.自動モード K2.3.マニュアル・モード K2.4.エラー管理 K2.5.エラー回復 K2.6.自動再試行
【0021】A.一般アーキテクチャ:ビデオ最適化ス
トリーム・サーバ・システム10(以降では"媒体スト
リーマ"として参照される)が図1に示され、スケーラ
ビリティ、高い可用性、及び構成の柔軟性を提供する、
アーキテクチャ的に別個の4つのコンポーネントを含
む。これらの主要コンポーネントを次に示す。 1)低待ち時間スイッチ12:通信ノード14と、1つ
以上の記憶ノード16、17と、1つ以上の制御ノード
18との間で、データ及び制御情報を配布する主なタス
クを有するハードウェア/マイクロコード・コンポーネ
ント。 2)通信ノード14:NTSC、PAL、D1、D2な
どの、通常、放送業界において既知の外部定義インタフ
ェース上で、"再生"(データの等時的配布)または"記
録"(データの等時的受信)を可能にする主なタスクを
有するハードウェア/マイクロコード・コンポーネン
ト。デジタル−ビデオ変換インタフェースが、各通信ノ
ード14の出力に接続される複数のビデオ・ポート15
に含まれるビデオ・カード内で実現される。 3)記憶ノード16、17:ディスクなどの記憶媒体及
び関連記憶可用性オプションを管理する主なタスクを有
するハードウェア/マイクロコード・コンポーネント。 4)制御ノード18:コンピュータ業界において既知の
外部定義サブシステム・インタフェースから制御コマン
ドを受信し、実行する主なタスクを有するハードウェア
/マイクロコード・コンポーネント。
トリーム・サーバ・システム10(以降では"媒体スト
リーマ"として参照される)が図1に示され、スケーラ
ビリティ、高い可用性、及び構成の柔軟性を提供する、
アーキテクチャ的に別個の4つのコンポーネントを含
む。これらの主要コンポーネントを次に示す。 1)低待ち時間スイッチ12:通信ノード14と、1つ
以上の記憶ノード16、17と、1つ以上の制御ノード
18との間で、データ及び制御情報を配布する主なタス
クを有するハードウェア/マイクロコード・コンポーネ
ント。 2)通信ノード14:NTSC、PAL、D1、D2な
どの、通常、放送業界において既知の外部定義インタフ
ェース上で、"再生"(データの等時的配布)または"記
録"(データの等時的受信)を可能にする主なタスクを
有するハードウェア/マイクロコード・コンポーネン
ト。デジタル−ビデオ変換インタフェースが、各通信ノ
ード14の出力に接続される複数のビデオ・ポート15
に含まれるビデオ・カード内で実現される。 3)記憶ノード16、17:ディスクなどの記憶媒体及
び関連記憶可用性オプションを管理する主なタスクを有
するハードウェア/マイクロコード・コンポーネント。 4)制御ノード18:コンピュータ業界において既知の
外部定義サブシステム・インタフェースから制御コマン
ドを受信し、実行する主なタスクを有するハードウェア
/マイクロコード・コンポーネント。
【0022】64ノードを有する通常の媒体ストリーマ
は、31個の通信ノード、31個の記憶ノード、及び2
個の制御ノードを含むことができ、これらは低待ち時間
スイッチ12により相互接続される。小規模なシステム
ではスイッチを含まずに、通信、記憶及び制御機能をサ
ポートする単一のハードウェア・ノードを含みうる。媒
体ストリーマ10の設計は、利用者によるその導入によ
り、小規模システムを大規模システムに発展させること
を可能にする。全ての構成において、媒体ストリーマ1
0の機能的能力は、配布ストリーム数及び記憶マルチメ
ディア時間を除き、同様である。
は、31個の通信ノード、31個の記憶ノード、及び2
個の制御ノードを含むことができ、これらは低待ち時間
スイッチ12により相互接続される。小規模なシステム
ではスイッチを含まずに、通信、記憶及び制御機能をサ
ポートする単一のハードウェア・ノードを含みうる。媒
体ストリーマ10の設計は、利用者によるその導入によ
り、小規模システムを大規模システムに発展させること
を可能にする。全ての構成において、媒体ストリーマ1
0の機能的能力は、配布ストリーム数及び記憶マルチメ
ディア時間を除き、同様である。
【0023】図2は、低待ち時間スイッチ12の詳細を
示す。複数の回路スイッチ・チップ(図示せず)が、プ
レーナ・ボードを介して相互接続されるクロスバー・ス
イッチ・カード20上で相互接続される。プレーナ及び
単一カード20は、16個のノード・ポートを有する低
待ち時間クロスバー・スイッチを構成する。追加のノー
ド・ポートを構成するために、カード20の追加が可能
であり、必要に応じて、アクティブ冗長ノード・ポート
により高可用性を提供することもできる。低待ち時間ス
イッチ12の各ポートは、例えば25Mバイト/秒の全
2重通信チャネルを可能にする。
示す。複数の回路スイッチ・チップ(図示せず)が、プ
レーナ・ボードを介して相互接続されるクロスバー・ス
イッチ・カード20上で相互接続される。プレーナ及び
単一カード20は、16個のノード・ポートを有する低
待ち時間クロスバー・スイッチを構成する。追加のノー
ド・ポートを構成するために、カード20の追加が可能
であり、必要に応じて、アクティブ冗長ノード・ポート
により高可用性を提供することもできる。低待ち時間ス
イッチ12の各ポートは、例えば25Mバイト/秒の全
2重通信チャネルを可能にする。
【0024】情報はスイッチ12を介してパケットにて
転送される。各パケットは、各スイッチ・チップ内の個
々のクロスバー・スイッチ・ポイントのスイッチング状
態を制御するヘッダ部分を含む。制御ノード18は他の
ノード(記憶ノード16、17及び通信ノード14)
に、低待ち時間スイッチ12を介して、ピア・ツー・ピ
ア・オペレーションを可能にするために必要な情報を提
供する。
転送される。各パケットは、各スイッチ・チップ内の個
々のクロスバー・スイッチ・ポイントのスイッチング状
態を制御するヘッダ部分を含む。制御ノード18は他の
ノード(記憶ノード16、17及び通信ノード14)
に、低待ち時間スイッチ12を介して、ピア・ツー・ピ
ア・オペレーションを可能にするために必要な情報を提
供する。
【0025】図3は、テープ記憶ノード17の内部詳細
を示す。以降で説明されるように、テープ記憶ノード1
7は、ビデオ・プレゼンテーションのデジタル表現の記
憶のための高容量記憶機構を提供する。
を示す。以降で説明されるように、テープ記憶ノード1
7は、ビデオ・プレゼンテーションのデジタル表現の記
憶のための高容量記憶機構を提供する。
【0026】ここではビデオ・プレゼンテーションは、
表示または処理のための1つ以上のイメージを含むこと
ができ、また音声部分も含みうる。フィルム、映画また
は動画シーケンスの順次フレームなどの、1つ以上のイ
メージが論理的に関連される。これらのイメージは元
来、カメラ、デジタル・コンピュータ、またはカメラと
デジタル・コンピュータの組合わせにより生成されう
る。音声部分は連続イメージの表示に同期される。ここ
では、ビデオ・プレゼンテーションのデータ表現は、1
つ以上のイメージに加え、音声も表現できる、任意の適
切なデジタル・データ・フォーマットである。デジタル
・データは符号化または圧縮されうる。
表示または処理のための1つ以上のイメージを含むこと
ができ、また音声部分も含みうる。フィルム、映画また
は動画シーケンスの順次フレームなどの、1つ以上のイ
メージが論理的に関連される。これらのイメージは元
来、カメラ、デジタル・コンピュータ、またはカメラと
デジタル・コンピュータの組合わせにより生成されう
る。音声部分は連続イメージの表示に同期される。ここ
では、ビデオ・プレゼンテーションのデータ表現は、1
つ以上のイメージに加え、音声も表現できる、任意の適
切なデジタル・データ・フォーマットである。デジタル
・データは符号化または圧縮されうる。
【0027】図3を再度参照すると、テープ記憶ノード
17は、テープ・ライブラリ26に含まれる複数のテー
プ・レコードへのアクセスを可能にするテープ・ライブ
ラリ制御装置インタフェース24を含む。別のインタフ
ェース28は、SCSIバス相互接続を介して、他のテ
ープ・ライブラリへのアクセスを可能にする。内部シス
テム・メモリ30は、インタフェース24または28か
ら受信される、或いはDMAデータ転送パス32を介し
て受信されるビデオ・データのバッファリングを可能に
する。システム・メモリ・ブロック30はPC34の1
部であり、テープ・ライブラリ及びファイル管理アクシ
ョンのためのソフトウェア36を含む。スイッチ・イン
タフェース及びバッファ・モジュール38(ディスク記
憶ノード16、通信ノード14及び制御ノード18でも
使用される)は、テープ記憶ノード17と低待ち時間ス
イッチ12との間の相互接続を可能にする。すなわち、
モジュール38はデータ転送をパケットに区分し、スイ
ッチ12がパケットを経路指定するために使用するヘッ
ダ部分を各パケットに追加する役割をする。パケットを
スイッチ12から受信すると、モジュール38は受信デ
ータを局所的にバッファリングするか、処理する以前に
ヘッダ部分を除去する役割をする。
17は、テープ・ライブラリ26に含まれる複数のテー
プ・レコードへのアクセスを可能にするテープ・ライブ
ラリ制御装置インタフェース24を含む。別のインタフ
ェース28は、SCSIバス相互接続を介して、他のテ
ープ・ライブラリへのアクセスを可能にする。内部シス
テム・メモリ30は、インタフェース24または28か
ら受信される、或いはDMAデータ転送パス32を介し
て受信されるビデオ・データのバッファリングを可能に
する。システム・メモリ・ブロック30はPC34の1
部であり、テープ・ライブラリ及びファイル管理アクシ
ョンのためのソフトウェア36を含む。スイッチ・イン
タフェース及びバッファ・モジュール38(ディスク記
憶ノード16、通信ノード14及び制御ノード18でも
使用される)は、テープ記憶ノード17と低待ち時間ス
イッチ12との間の相互接続を可能にする。すなわち、
モジュール38はデータ転送をパケットに区分し、スイ
ッチ12がパケットを経路指定するために使用するヘッ
ダ部分を各パケットに追加する役割をする。パケットを
スイッチ12から受信すると、モジュール38は受信デ
ータを局所的にバッファリングするか、処理する以前に
ヘッダ部分を除去する役割をする。
【0028】テープ・ライブラリ26からのビデオ・デ
ータは、最初のバッファリング・アクションにおいて、
システム・メモリ30に入力される。次に、制御ノード
18からの初期命令に応答して、ビデオ・データは低待
ち時間スイッチ12を介して、ディスク記憶ノード16
に経路指定され、要求されたときの実質的な即時アクセ
スに備える。
ータは、最初のバッファリング・アクションにおいて、
システム・メモリ30に入力される。次に、制御ノード
18からの初期命令に応答して、ビデオ・データは低待
ち時間スイッチ12を介して、ディスク記憶ノード16
に経路指定され、要求されたときの実質的な即時アクセ
スに備える。
【0029】図4は、ディスク記憶ノード16の詳細を
示す。各ディスク記憶ノード16は、スイッチ・インタ
フェース及びバッファ・モジュール40を含み、このモ
ジュールは、RAIDバッファ・ビデオ・キャッシュ及
び記憶インタフェース・モジュール42との間のデータ
転送を可能にする。インタフェース42は受信ビデオ・
データを複数のディスク45に渡し、データは擬似RA
ID式に複数のディスクに渡って分散される。RAID
メモリ記憶装置の詳細は既知であり、Pattersonらによ
る"A Case for Redundant Arrays of Inexpensive Disk
s(RAID)"(ACMSIGMOD Conference、Chicago、IL、Jun
e 1-3、1988 pages 109-116)で述べられている。
示す。各ディスク記憶ノード16は、スイッチ・インタ
フェース及びバッファ・モジュール40を含み、このモ
ジュールは、RAIDバッファ・ビデオ・キャッシュ及
び記憶インタフェース・モジュール42との間のデータ
転送を可能にする。インタフェース42は受信ビデオ・
データを複数のディスク45に渡し、データは擬似RA
ID式に複数のディスクに渡って分散される。RAID
メモリ記憶装置の詳細は既知であり、Pattersonらによ
る"A Case for Redundant Arrays of Inexpensive Disk
s(RAID)"(ACMSIGMOD Conference、Chicago、IL、Jun
e 1-3、1988 pages 109-116)で述べられている。
【0030】ディスク記憶ノード16は更に、ソフトウ
ェア・モジュール46及び48を含む内部PC44を有
し、これらのモジュールは、それぞれ、記憶ノード制御
及びビデオ・ファイル・システム、及びディスク制御及
びディスク45上の記憶データのRAIDマッピングを
提供する。本質的に、各ディスク記憶ノード16は、テ
ープ記憶ノード17よりもより即時性のあるビデオ・デ
ータの可用性を提供する。各ディスク記憶ノード16は
更に、ビデオ・データの要求に際してビデオ・データの
より早い可用性を提供するために、ビデオ・データをス
イッチ・インタフェース及びバッファ・モジュール40
の半導体メモリに(キャッシュ形式に)バッファリング
することができる。
ェア・モジュール46及び48を含む内部PC44を有
し、これらのモジュールは、それぞれ、記憶ノード制御
及びビデオ・ファイル・システム、及びディスク制御及
びディスク45上の記憶データのRAIDマッピングを
提供する。本質的に、各ディスク記憶ノード16は、テ
ープ記憶ノード17よりもより即時性のあるビデオ・デ
ータの可用性を提供する。各ディスク記憶ノード16は
更に、ビデオ・データの要求に際してビデオ・データの
より早い可用性を提供するために、ビデオ・データをス
イッチ・インタフェース及びバッファ・モジュール40
の半導体メモリに(キャッシュ形式に)バッファリング
することができる。
【0031】一般に、記憶ノードは、大容量記憶ユニッ
ト(または大容量記憶ユニットとのインタフェース)
と、大容量記憶ユニットから読み書きされるデータを局
所的にバッファリングする能力とを有する。記憶ノード
は、1つ以上のテープ・ドライブ形式またはディスク・
ドライブ形式の順次アクセス大容量記憶装置、及びラン
ダム・アクセス形式にアクセスされる1つ以上のディス
ク・ドライブまたは半導体メモリなどのランダム・アク
セス記憶装置を含みうる。
ト(または大容量記憶ユニットとのインタフェース)
と、大容量記憶ユニットから読み書きされるデータを局
所的にバッファリングする能力とを有する。記憶ノード
は、1つ以上のテープ・ドライブ形式またはディスク・
ドライブ形式の順次アクセス大容量記憶装置、及びラン
ダム・アクセス形式にアクセスされる1つ以上のディス
ク・ドライブまたは半導体メモリなどのランダム・アク
セス記憶装置を含みうる。
【0032】図5は、通信ノード14の内部コンポーネ
ントのブロック図を示す。上述の各ノードと同様、通信
ノード14は、上述のように低待ち時間スイッチ12と
の通信を可能にするスイッチ・インタフェース及びバッ
ファ・モジュール50を含む。ビデオ・データは、スイ
ッチ・インタフェース及びバッファ・モジュール50と
ストリーム・バッファ及び通信インタフェース52との
間で直接転送され、ユーザ端末(図示せず)に転送され
る。PC54はソフトウェア・モジュール56及び58
を含み、これらはそれぞれ、通信ノード制御(例えばス
トリームの開始/停止アクション)及び等時性データ・
ストリームの連続的生成を可能にする。ストリーム・バ
ッファ及び通信インタフェース52への追加の入力60
は、出力データのフレーム同期を可能にする。このデー
タは、ストリーム・サーバ10の全体的な動作制御を司
るシステム制御装置64により制御される自動制御装置
62から受信される(図1参照)。システム制御装置6
4はユーザ制御セット・トップ・ボックス(set top bo
x)65からの入力に応答して、媒体ストリーマ10が
要求ビデオ・プレゼンテーションをアクセスすることを
可能にするコマンドを生成する。システム制御装置64
は更にユーザ・インタフェース及び表示機構66を提供
され、これはユーザがハードまたはソフト・ボタンなど
によりコマンドを入力したり、ビデオ・プレゼンテーシ
ョンの識別、ビデオ・プレゼンテーションのスケジュー
リング、及びビデオ・プレゼンテーションの再生の制御
を可能にする他のデータを入力することを可能にする。
ントのブロック図を示す。上述の各ノードと同様、通信
ノード14は、上述のように低待ち時間スイッチ12と
の通信を可能にするスイッチ・インタフェース及びバッ
ファ・モジュール50を含む。ビデオ・データは、スイ
ッチ・インタフェース及びバッファ・モジュール50と
ストリーム・バッファ及び通信インタフェース52との
間で直接転送され、ユーザ端末(図示せず)に転送され
る。PC54はソフトウェア・モジュール56及び58
を含み、これらはそれぞれ、通信ノード制御(例えばス
トリームの開始/停止アクション)及び等時性データ・
ストリームの連続的生成を可能にする。ストリーム・バ
ッファ及び通信インタフェース52への追加の入力60
は、出力データのフレーム同期を可能にする。このデー
タは、ストリーム・サーバ10の全体的な動作制御を司
るシステム制御装置64により制御される自動制御装置
62から受信される(図1参照)。システム制御装置6
4はユーザ制御セット・トップ・ボックス(set top bo
x)65からの入力に応答して、媒体ストリーマ10が
要求ビデオ・プレゼンテーションをアクセスすることを
可能にするコマンドを生成する。システム制御装置64
は更にユーザ・インタフェース及び表示機構66を提供
され、これはユーザがハードまたはソフト・ボタンなど
によりコマンドを入力したり、ビデオ・プレゼンテーシ
ョンの識別、ビデオ・プレゼンテーションのスケジュー
リング、及びビデオ・プレゼンテーションの再生の制御
を可能にする他のデータを入力することを可能にする。
【0033】各制御ノード18はPCとして構成され、
低待ち時間スイッチ12とインタフェースするスイッチ
・インタフェース・モジュールを含む。各制御ノード1
8はシステム制御装置64からの入力に応答して、情報
を通信ノード14及び記憶ノード16、17に提供し、
所望の相互接続が低待ち時間スイッチ12を介して生成
される。更に制御ノード18は、1つ以上のディスク記
憶ノード16からの要求ビデオ・データのステージン
グ、並びにストリーム配布インタフェースを介するビデ
オ・データのユーザ表示端末への配布を可能にするソフ
トウェアを含む。制御ノード18は更に、低待ち時間ス
イッチ12を通じて送信されるコマンドを介して、テー
プ及びディスク記憶ノード16、17の両方のオペレー
ションを制御する。
低待ち時間スイッチ12とインタフェースするスイッチ
・インタフェース・モジュールを含む。各制御ノード1
8はシステム制御装置64からの入力に応答して、情報
を通信ノード14及び記憶ノード16、17に提供し、
所望の相互接続が低待ち時間スイッチ12を介して生成
される。更に制御ノード18は、1つ以上のディスク記
憶ノード16からの要求ビデオ・データのステージン
グ、並びにストリーム配布インタフェースを介するビデ
オ・データのユーザ表示端末への配布を可能にするソフ
トウェアを含む。制御ノード18は更に、低待ち時間ス
イッチ12を通じて送信されるコマンドを介して、テー
プ及びディスク記憶ノード16、17の両方のオペレー
ションを制御する。
【0034】媒体ストリーマ10は、図1に示されるよ
うに、3つの体系化された外部インタフェースを有す
る。これらの外部インタフェースを次に示す。 1)制御インタフェース:TCP/IPプロトコル(イ
ーサネットLAN、トークンリングLAN、シリアル・
ポート、モデムなど)を実行するオープン・システム・
インタフェース。 2)ストリーム配布インタフェース:データ・ストリー
ムの配布のために設計された複数の業界標準(NTS
C、D1など)の1つ。 3)自動制御インタフェース:ストリーム出力の正確な
同期のための業界標準制御インタフェースの集合(GenL
ock、BlackBurst、SMPTEクロックなど)。
うに、3つの体系化された外部インタフェースを有す
る。これらの外部インタフェースを次に示す。 1)制御インタフェース:TCP/IPプロトコル(イ
ーサネットLAN、トークンリングLAN、シリアル・
ポート、モデムなど)を実行するオープン・システム・
インタフェース。 2)ストリーム配布インタフェース:データ・ストリー
ムの配布のために設計された複数の業界標準(NTS
C、D1など)の1つ。 3)自動制御インタフェース:ストリーム出力の正確な
同期のための業界標準制御インタフェースの集合(GenL
ock、BlackBurst、SMPTEクロックなど)。
【0035】アプリケーション・コマンドは、制御イン
タフェースを介して、媒体ストリーマ10に発行され
る。データ・ロード・コマンドが発行されると、制御ノ
ードは入力データ・ファイルをセグメント(すなわちデ
ータ・ブロック)に分断し、それらを1つまたは複数の
記憶ノードに分配する。マテリアル密度及びデータの同
時ユーザ数が、記憶ノード16、17上のデータの配置
に影響する。密度または同時ユーザが増えると、容量及
び帯域幅のために、より多くの記憶ノードを使用するこ
とになる。
タフェースを介して、媒体ストリーマ10に発行され
る。データ・ロード・コマンドが発行されると、制御ノ
ードは入力データ・ファイルをセグメント(すなわちデ
ータ・ブロック)に分断し、それらを1つまたは複数の
記憶ノードに分配する。マテリアル密度及びデータの同
時ユーザ数が、記憶ノード16、17上のデータの配置
に影響する。密度または同時ユーザが増えると、容量及
び帯域幅のために、より多くの記憶ノードを使用するこ
とになる。
【0036】エンド・ユーザへのデータのストリーミン
グを開始するコマンドが、制御インタフェースを介して
発行されると、制御ノード18は適切な通信ノード14
を選択して活動化し、記憶ノード16、17上のデータ
・ファイル・セグメントの位置を示す制御情報を渡す。
通信ノード14は関連する記憶ノード16、17を活動
化し、低待ち時間スイッチ12を通じて送信されるコマ
ンド・パケットを介してこれらのノードと通信し、デー
タ転送を開始する。
グを開始するコマンドが、制御インタフェースを介して
発行されると、制御ノード18は適切な通信ノード14
を選択して活動化し、記憶ノード16、17上のデータ
・ファイル・セグメントの位置を示す制御情報を渡す。
通信ノード14は関連する記憶ノード16、17を活動
化し、低待ち時間スイッチ12を通じて送信されるコマ
ンド・パケットを介してこれらのノードと通信し、デー
タ転送を開始する。
【0037】データがディスク記憶ノード16と通信ノ
ード14との間を低待ち時間スイッチ12を介して、"
ジャスト・イン・タイム"(just in time)・スケジュ
ーリング・アルゴリズムに従い転送される。スケジュー
リング及びデータ・フロー制御に使用される技法は以降
で詳細に述べられる。通信ノード・インタフェース14
から発行されたデータ・ストリームは、単一の通信ノー
ド・ストリームが各ディスク記憶ノード16の容量及び
帯域幅の1部を使用するように、ディスク記憶ノード1
6に(またはディスク記憶ノードから)多重化(multip
lex)される。このように多くの通信ノード14が、デ
ィスク記憶ノード16上の同一のまたは異なるデータへ
のアクセスを多重化しうる。例えば、媒体ストリーマ1
0は1500の個々に制御されるエンド・ユーザ・スト
リームを、通信ノード14のプールから提供することが
でき、これらのストリームの各々は、ディスク記憶ノー
ド16に渡り分散される単一のマルチメディア・ファイ
ルへのアクセスを多重化する。この能力は"単一コピー
多重ストリーム"(single copy multiple stream)と称
される。
ード14との間を低待ち時間スイッチ12を介して、"
ジャスト・イン・タイム"(just in time)・スケジュ
ーリング・アルゴリズムに従い転送される。スケジュー
リング及びデータ・フロー制御に使用される技法は以降
で詳細に述べられる。通信ノード・インタフェース14
から発行されたデータ・ストリームは、単一の通信ノー
ド・ストリームが各ディスク記憶ノード16の容量及び
帯域幅の1部を使用するように、ディスク記憶ノード1
6に(またはディスク記憶ノードから)多重化(multip
lex)される。このように多くの通信ノード14が、デ
ィスク記憶ノード16上の同一のまたは異なるデータへ
のアクセスを多重化しうる。例えば、媒体ストリーマ1
0は1500の個々に制御されるエンド・ユーザ・スト
リームを、通信ノード14のプールから提供することが
でき、これらのストリームの各々は、ディスク記憶ノー
ド16に渡り分散される単一のマルチメディア・ファイ
ルへのアクセスを多重化する。この能力は"単一コピー
多重ストリーム"(single copy multiple stream)と称
される。
【0038】制御インタフェースを介して受信されるコ
マンドは、2つの異なるカテゴリにおいて実行される。
データを管理し、ストリーム制御に直接関係しないコマ
ンドは、"低優先順位"で実行される。これにより、エン
ド・ユーザへのデータ・ストリームの配布が妨害される
ことなく、アプリケーションが媒体ストリーマ10に新
たなデータをロードすることができる。ストリームの配
布に影響するコマンド(すなわち出力)は、"高優先順
位"で実行される。
マンドは、2つの異なるカテゴリにおいて実行される。
データを管理し、ストリーム制御に直接関係しないコマ
ンドは、"低優先順位"で実行される。これにより、エン
ド・ユーザへのデータ・ストリームの配布が妨害される
ことなく、アプリケーションが媒体ストリーマ10に新
たなデータをロードすることができる。ストリームの配
布に影響するコマンド(すなわち出力)は、"高優先順
位"で実行される。
【0039】制御インタフェース・コマンドが図6に示
される。媒体ストリーマ10においてデータをロードし
管理する低優先順位のデータ管理コマンドには、VS-CRE
ATE、VS-OPEN、VS-READ、VS-WRITE、VS-GET-POSITION、
VS-SET_POSITION、VS-CLOSE、VS-RENAME、VS-DELETE、G
ET_ATTRIBUTES、及びVS-GET_NAMESが含まれる。
される。媒体ストリーマ10においてデータをロードし
管理する低優先順位のデータ管理コマンドには、VS-CRE
ATE、VS-OPEN、VS-READ、VS-WRITE、VS-GET-POSITION、
VS-SET_POSITION、VS-CLOSE、VS-RENAME、VS-DELETE、G
ET_ATTRIBUTES、及びVS-GET_NAMESが含まれる。
【0040】ストリーム出力を開始し管理する高優先順
位のストリーム制御コマンドには、VS-CONNECT、VS-PLA
Y、VS-RECORD、VS-SEEK、VS-PAUSE、VS-STOP及びVS-DIS
CONNECTが含まれる。制御ノード18は、要求が実行さ
れることを保証するためにストリーム制御コマンドをモ
ニタする。制御ノード18におけるこの"容認制御"(ad
mission control)機構は、媒体ストリーマ10の能力
を越えたときのストリーム開始要求を拒絶しうる。こう
した場合は次に示すような幾つかの状況において発生し
うる。 1)あるコンポーネントがシステム内で故障し、最大オ
ペレーションを阻止するとき。 2)データ・ファイルへの同時ストリームの指定数(VS
-CREATEコマンドのパラメータにより指定される)を越
えたとき。 3)システムからの同時ストリームの指定数(導入構成
(installation configuration)により指定される)を
越えたとき。
位のストリーム制御コマンドには、VS-CONNECT、VS-PLA
Y、VS-RECORD、VS-SEEK、VS-PAUSE、VS-STOP及びVS-DIS
CONNECTが含まれる。制御ノード18は、要求が実行さ
れることを保証するためにストリーム制御コマンドをモ
ニタする。制御ノード18におけるこの"容認制御"(ad
mission control)機構は、媒体ストリーマ10の能力
を越えたときのストリーム開始要求を拒絶しうる。こう
した場合は次に示すような幾つかの状況において発生し
うる。 1)あるコンポーネントがシステム内で故障し、最大オ
ペレーションを阻止するとき。 2)データ・ファイルへの同時ストリームの指定数(VS
-CREATEコマンドのパラメータにより指定される)を越
えたとき。 3)システムからの同時ストリームの指定数(導入構成
(installation configuration)により指定される)を
越えたとき。
【0041】通信ノード14は、各々が潜在的に異なる
帯域幅(ストリーム)能力及び物理定義を有する異種の
グループとして管理される。VS-CONNECTコマンドが媒体
ストリーマ10に、通信ノード14と、等時性データ・
ストリームの配布を可能にするその特定のまたは全ての
関連帯域幅とを割当てるように命令する。例えば媒体ス
トリーマ10は、圧縮データ・ストリームをかなり低い
データ・レート(通常1Mビット/秒乃至16Mビット
/秒)で他の通信ノード14上に再生しながら、非圧縮
データ・ストリームを通信ノード14を通じて、270
Mビット/秒で同時に再生することができる。
帯域幅(ストリーム)能力及び物理定義を有する異種の
グループとして管理される。VS-CONNECTコマンドが媒体
ストリーマ10に、通信ノード14と、等時性データ・
ストリームの配布を可能にするその特定のまたは全ての
関連帯域幅とを割当てるように命令する。例えば媒体ス
トリーマ10は、圧縮データ・ストリームをかなり低い
データ・レート(通常1Mビット/秒乃至16Mビット
/秒)で他の通信ノード14上に再生しながら、非圧縮
データ・ストリームを通信ノード14を通じて、270
Mビット/秒で同時に再生することができる。
【0042】記憶ノード16、17は、各々が潜在的に
異なる帯域幅(ストリーム)能力及び物理定義を有する
異種のグループとして管理される。VS-CREATEコマンド
は媒体ストリーマ10に、1つまたは複数の記憶ノード
16、17に、マルチメディア・ファイル及びその関連
メタデータのための記憶域を割当てるように命令する。
VS-CREATEコマンドは、ストリーム密度及び要求される
同時ユーザの最大数の両方を指定する。
異なる帯域幅(ストリーム)能力及び物理定義を有する
異種のグループとして管理される。VS-CREATEコマンド
は媒体ストリーマ10に、1つまたは複数の記憶ノード
16、17に、マルチメディア・ファイル及びその関連
メタデータのための記憶域を割当てるように命令する。
VS-CREATEコマンドは、ストリーム密度及び要求される
同時ユーザの最大数の両方を指定する。
【0043】放送業界においては、VS-CONNECT-LIST、V
S-PLAY-AT-SIGNAL、及びVS-RECORD-AT-SIGNALの3つの
追加のコマンドが、自動制御システムをサポートする。
VS-CONNECT-LISTは、アプリケーションがサブシステム
への単一のコマンド内に、再生コマンド・シーケンスを
指定することを可能にする。媒体ストリーマ10は、各
再生コマンドをあたかも制御インタフェースを介して発
行されたかのように実行するが、ストリームをつなぎめ
無しに配布する。シーケンス例を次に示す。 1)制御ノード18が、FILE1、FILE2及びFILE3の1部
または全部が順次再生されるべきことを示す再生サブコ
マンドと一緒に、VS-CONNECT-LISTを受信する。制御ノ
ード18はファイルの最大データ・レートを決定し、そ
の資源を通信ノード14に割当てる。割当てられた通信
ノード14は、詳細な再生リストを与えられ、等時性ス
トリームの配布を開始する。 2)FILE1の配布の終りに近づくと、通信ノード14はF
ILE2の配布を開始するが、ノードの出力ポートへはまだ
許可しない。FILE1が完了するか、自動制御インタフェ
ースから信号が発生すると、通信ノード14は出力ポー
トを第1のストリームから第2のストリームに切り替え
る。これは1/30秒または1標準ビデオ・フレーム時
間内に行われる。 3)通信ノード14は、FILE1に関連する資源を割当て
解除する。
S-PLAY-AT-SIGNAL、及びVS-RECORD-AT-SIGNALの3つの
追加のコマンドが、自動制御システムをサポートする。
VS-CONNECT-LISTは、アプリケーションがサブシステム
への単一のコマンド内に、再生コマンド・シーケンスを
指定することを可能にする。媒体ストリーマ10は、各
再生コマンドをあたかも制御インタフェースを介して発
行されたかのように実行するが、ストリームをつなぎめ
無しに配布する。シーケンス例を次に示す。 1)制御ノード18が、FILE1、FILE2及びFILE3の1部
または全部が順次再生されるべきことを示す再生サブコ
マンドと一緒に、VS-CONNECT-LISTを受信する。制御ノ
ード18はファイルの最大データ・レートを決定し、そ
の資源を通信ノード14に割当てる。割当てられた通信
ノード14は、詳細な再生リストを与えられ、等時性ス
トリームの配布を開始する。 2)FILE1の配布の終りに近づくと、通信ノード14はF
ILE2の配布を開始するが、ノードの出力ポートへはまだ
許可しない。FILE1が完了するか、自動制御インタフェ
ースから信号が発生すると、通信ノード14は出力ポー
トを第1のストリームから第2のストリームに切り替え
る。これは1/30秒または1標準ビデオ・フレーム時
間内に行われる。 3)通信ノード14は、FILE1に関連する資源を割当て
解除する。
【0044】VS-PLAY-AT-SIGNAL及びVS-RECORD-AT-SIGN
ALコマンドにより、外部自動制御インタフェースからの
信号が、ビデオ・フレーム境界への再生及び記録オペレ
ーションのためのデータ転送を可能にする。上述の例で
は、VS-CONNECT-LISTコマンドは、外部自動制御インタ
フェース信号にもとづきFILE1からFILE2への遷移を可能
にするPLAY-AT-SIGNALサブコマンドを含む。代わりにサ
ブコマンドがVS-PLAYの場合には、遷移はFILE1転送が完
了したときにのみ発生する。
ALコマンドにより、外部自動制御インタフェースからの
信号が、ビデオ・フレーム境界への再生及び記録オペレ
ーションのためのデータ転送を可能にする。上述の例で
は、VS-CONNECT-LISTコマンドは、外部自動制御インタ
フェース信号にもとづきFILE1からFILE2への遷移を可能
にするPLAY-AT-SIGNALサブコマンドを含む。代わりにサ
ブコマンドがVS-PLAYの場合には、遷移はFILE1転送が完
了したときにのみ発生する。
【0045】媒体ストリーマ10が実行する他のコマン
ドは、記憶階層を管理する能力を提供する。これらのコ
マンドには、VS-DUMP、VS-RESTORE、VS-SEND、VS-RECEI
VE、及びVS-RECEIVE_AND_PLAYが含まれる。これらのコ
マンドの各々は、記憶ノード16と2つの外部定義階層
エンティティとの間での、1つまたは複数のマルチメデ
ィア・ファイルの転送を発生する。 1)VS-DUMP及びVS-RESTOREコマンドは、制御ノード1
8がアクセスできるディスク記憶ノード16とテープ記
憶ユニット17との間のデータ転送を可能にする。デー
タ転送は制御アプリケーションにより、或いは制御ノー
ド18により自動的に開始されうる。 2)VS-SEND及びVS-RECEIVEコマンドは、マルチメディ
ア・ファイルを別の媒体ストリーマに伝送する方法を提
供する。任意選択的に受信媒体ストリーマは、入力ファ
イルをファイル全体を待機することなく、即時、予め割
当てられた通信ノードに再生することができる。
ドは、記憶階層を管理する能力を提供する。これらのコ
マンドには、VS-DUMP、VS-RESTORE、VS-SEND、VS-RECEI
VE、及びVS-RECEIVE_AND_PLAYが含まれる。これらのコ
マンドの各々は、記憶ノード16と2つの外部定義階層
エンティティとの間での、1つまたは複数のマルチメデ
ィア・ファイルの転送を発生する。 1)VS-DUMP及びVS-RESTOREコマンドは、制御ノード1
8がアクセスできるディスク記憶ノード16とテープ記
憶ユニット17との間のデータ転送を可能にする。デー
タ転送は制御アプリケーションにより、或いは制御ノー
ド18により自動的に開始されうる。 2)VS-SEND及びVS-RECEIVEコマンドは、マルチメディ
ア・ファイルを別の媒体ストリーマに伝送する方法を提
供する。任意選択的に受信媒体ストリーマは、入力ファ
イルをファイル全体を待機することなく、即時、予め割
当てられた通信ノードに再生することができる。
【0046】媒体ストリーマ・アーキテクチャにおいて
定義されるモジュール設計及び機能セットに加え、デー
タ・フローが等時性データ転送に対応して最適化され、
コストを多大に低減する。特に、 1)低待ち時間スイッチの帯域幅が接続ノードの帯域幅
を上回り、ノード間の通信に、ほとんどブロッキングが
生じなくなる。 2)プロセッサ・メモリへのデータ転送が回避され、よ
り大きな帯域幅が提供される。 3)データの処理が回避され、高価な処理ユニットが排
除される。 4)データ転送が慎重にスケジュールされ、大きなデー
タ・キャッシュが回避される。
定義されるモジュール設計及び機能セットに加え、デー
タ・フローが等時性データ転送に対応して最適化され、
コストを多大に低減する。特に、 1)低待ち時間スイッチの帯域幅が接続ノードの帯域幅
を上回り、ノード間の通信に、ほとんどブロッキングが
生じなくなる。 2)プロセッサ・メモリへのデータ転送が回避され、よ
り大きな帯域幅が提供される。 3)データの処理が回避され、高価な処理ユニットが排
除される。 4)データ転送が慎重にスケジュールされ、大きなデー
タ・キャッシュが回避される。
【0047】従来のコンピュータ用語では、媒体ストリ
ーマ10は、相互接続されるアダプタのシステムとして
機能し、これらのアダプタは低待ち時間スイッチ12を
介して、ピア・ツー・ピアのデータ転送を実行する能力
を有する。低待ち時間スイッチ12はデータ記憶装置へ
のアクセスを有し、"ホスト・コンピュータ"の介入無し
に、あるアダプタのメモリから別のアダプタのメモリへ
データ・セグメントを転送する。
ーマ10は、相互接続されるアダプタのシステムとして
機能し、これらのアダプタは低待ち時間スイッチ12を
介して、ピア・ツー・ピアのデータ転送を実行する能力
を有する。低待ち時間スイッチ12はデータ記憶装置へ
のアクセスを有し、"ホスト・コンピュータ"の介入無し
に、あるアダプタのメモリから別のアダプタのメモリへ
データ・セグメントを転送する。
【0048】B.等時的配布のためのデジタル圧縮ビデ
オ・データの階層的管理 媒体ストリーマ10は階層的記憶要素を提供する。これ
は非常に小規模なビデオ・システムから、非常に大規模
なシステムに及ぶスケーラビリティを可能にする設計で
ある。更にビデオ・オン・デマンド、準ビデオ・オン・
デマンド、コマーシャル挿入、高品質非圧縮ビデオの記
憶、捕獲及び再生の機能を満足するために必要な様々な
要求に適応する、記憶管理の柔軟性を提供する。
オ・データの階層的管理 媒体ストリーマ10は階層的記憶要素を提供する。これ
は非常に小規模なビデオ・システムから、非常に大規模
なシステムに及ぶスケーラビリティを可能にする設計で
ある。更にビデオ・オン・デマンド、準ビデオ・オン・
デマンド、コマーシャル挿入、高品質非圧縮ビデオの記
憶、捕獲及び再生の機能を満足するために必要な様々な
要求に適応する、記憶管理の柔軟性を提供する。
【0049】B1.テープ記憶装置 媒体ストリーマ10において、ビデオ・プレゼンテーシ
ョンは高性能デジタル・テープからディスクに転送さ
れ、エンド・ユーザにより要求されるより低いデータ・
レートで再生される。このようにして、ビデオ時間の最
小量だけがディスク・サブシステム上に記憶される。シ
ステムが"準ビデオ・オン・デマンド"の場合、例えば各
映画の5分間だけが、任意の時刻において、ディスク記
憶装置に存在する必要がある。典型的な2時間映画で
は、それぞれが5分間のセグメントが22個だけ必要と
なる。結果的に任意の時刻において、全てのビデオ・プ
レゼンテーションがディスク・ファイル上に保持される
ことがないので、ビデオ・プレゼンテーションのための
総ディスク記憶要求が低減される。再生されるプレゼン
テーションの1部分だけが、ディスク・ファイル内に存
在することが必要である。
ョンは高性能デジタル・テープからディスクに転送さ
れ、エンド・ユーザにより要求されるより低いデータ・
レートで再生される。このようにして、ビデオ時間の最
小量だけがディスク・サブシステム上に記憶される。シ
ステムが"準ビデオ・オン・デマンド"の場合、例えば各
映画の5分間だけが、任意の時刻において、ディスク記
憶装置に存在する必要がある。典型的な2時間映画で
は、それぞれが5分間のセグメントが22個だけ必要と
なる。結果的に任意の時刻において、全てのビデオ・プ
レゼンテーションがディスク・ファイル上に保持される
ことがないので、ビデオ・プレゼンテーションのための
総ディスク記憶要求が低減される。再生されるプレゼン
テーションの1部分だけが、ディスク・ファイル内に存
在することが必要である。
【0050】換言すると、ビデオ・プレゼンテーション
がその全体を再生するために時間Tを要し、Nデータ・
ブロックを有するデジタル表現として記憶される場合、
各データ・ブロックはビデオ・プレゼンテーションの約
T/N期間に相当する当該ビデオ・プレゼンテーション
の1部を記憶する。Nデータ・ブロックの最後のデータ
・ブロックは、T/N期間よりも少ない期間を記憶す
る。
がその全体を再生するために時間Tを要し、Nデータ・
ブロックを有するデジタル表現として記憶される場合、
各データ・ブロックはビデオ・プレゼンテーションの約
T/N期間に相当する当該ビデオ・プレゼンテーション
の1部を記憶する。Nデータ・ブロックの最後のデータ
・ブロックは、T/N期間よりも少ない期間を記憶す
る。
【0051】システムに対する要求が大きくなり、スト
リーム数が増加すると、統計的平均として、ビデオ・ス
トリーム要求の約25%が同じ映画に対するものとな
る。しかしながら、異なるサブ秒単位の時間間隔では、
観賞者への配布は、これらのサブ秒の要求の50%以上
が15の映画セグメントのグループに入る結果となる。
リーム数が増加すると、統計的平均として、ビデオ・ス
トリーム要求の約25%が同じ映画に対するものとな
る。しかしながら、異なるサブ秒単位の時間間隔では、
観賞者への配布は、これらのサブ秒の要求の50%以上
が15の映画セグメントのグループに入る結果となる。
【0052】本発明の1態様は、この要求を満足する最
適な技術を利用することである。(例えばIBM社によ
り生産される)ランダム・アクセス・カートリッジ・ロ
ーダは、1テープ当たりの大きな記憶容量、1ドロワ
(drawer)当たり100本のテープを有する機械式ロボ
ット・ローディング、及び1ドロワ当たり最大2個のテ
ープ・ドライブを有する、デジタル・テープ・システム
である。結果的に、"ムービ・オン・デマンド"・システ
ムに対応する有効なテープ・ライブラリが提供される。
しかしながら、本発明は映画のための大容量記憶装置を
提供する非常に低コストのデジタル・テープ記憶ライブ
ラリ・システムを可能にし、更に、低い要求度の映画を
テープから速度マッチング・バッファに、そして次にビ
デオ伸長及び配布チャネルに直接再生することを可能に
する。
適な技術を利用することである。(例えばIBM社によ
り生産される)ランダム・アクセス・カートリッジ・ロ
ーダは、1テープ当たりの大きな記憶容量、1ドロワ
(drawer)当たり100本のテープを有する機械式ロボ
ット・ローディング、及び1ドロワ当たり最大2個のテ
ープ・ドライブを有する、デジタル・テープ・システム
である。結果的に、"ムービ・オン・デマンド"・システ
ムに対応する有効なテープ・ライブラリが提供される。
しかしながら、本発明は映画のための大容量記憶装置を
提供する非常に低コストのデジタル・テープ記憶ライブ
ラリ・システムを可能にし、更に、低い要求度の映画を
テープから速度マッチング・バッファに、そして次にビ
デオ伸長及び配布チャネルに直接再生することを可能に
する。
【0053】階層テープ記憶を任意のビデオ・システム
に結合する第2の利点は、ディスクが不動作状態になっ
たときに、ディスク上に記憶される任意の映画に迅速な
バックアップを提供することである。通常のシステムで
は、あるディスクが故障したとき、映画がテープから再
ロードされるように"予備"のディスクを保持する。これ
は通常、RAIDまたはRAID式システムと結合され
る。
に結合する第2の利点は、ディスクが不動作状態になっ
たときに、ディスク上に記憶される任意の映画に迅速な
バックアップを提供することである。通常のシステムで
は、あるディスクが故障したとき、映画がテープから再
ロードされるように"予備"のディスクを保持する。これ
は通常、RAIDまたはRAID式システムと結合され
る。
【0054】B2.ディスク記憶システム ビデオ・ストリームに対する要求レベルが高くなると、
映画全体をディスク上に記憶して、ビデオ・データをテ
ープからディスクに連続的に転送するために要求される
システム性能オーバヘッドを低減することが、より効率
的となる。通常のシステムは、依然としてテープ上に記
憶される映画のライブラリを含む。なぜなら、ライブラ
リ内の通常の映画の数は、任意の時刻に再生される映画
の数の10倍乃至100倍多いからである。ユーザが特
定の映画を要求すると、その映画のセグメントがディス
ク記憶ノード16にロードされ、そこから開始される。
映画全体をディスク上に記憶して、ビデオ・データをテ
ープからディスクに連続的に転送するために要求される
システム性能オーバヘッドを低減することが、より効率
的となる。通常のシステムは、依然としてテープ上に記
憶される映画のライブラリを含む。なぜなら、ライブラ
リ内の通常の映画の数は、任意の時刻に再生される映画
の数の10倍乃至100倍多いからである。ユーザが特
定の映画を要求すると、その映画のセグメントがディス
ク記憶ノード16にロードされ、そこから開始される。
【0055】同一の映画を観賞したい多くのユーザが存
在する場合、ディスク上にその映画を保持することが有
利である。これらの映画は通常、その週の"ホットな"映
画であり、ピークの観賞時間帯に先立ち、テープからデ
ィスクにプリロードされる。これにより、ピーク時間帯
の間のシステムの作業負荷が軽減される。
在する場合、ディスク上にその映画を保持することが有
利である。これらの映画は通常、その週の"ホットな"映
画であり、ピークの観賞時間帯に先立ち、テープからデ
ィスクにプリロードされる。これにより、ピーク時間帯
の間のシステムの作業負荷が軽減される。
【0056】B3.キャッシュからの映画 "ホット"映画に対する要求が多くなると、媒体ストリー
マ10はMRUベースのアルゴリズムを通じ、主要映画
をキャッシュに転送するように決定する。これは実質的
なキャッシュ・メモリを必要とするが、コスト対アクテ
ィブ・ストリーム数の比率に関しては、キャッシュから
サポートされる高ボリュームが、媒体ストリーマ10の
総コストを押し下げる。
マ10はMRUベースのアルゴリズムを通じ、主要映画
をキャッシュに転送するように決定する。これは実質的
なキャッシュ・メモリを必要とするが、コスト対アクテ
ィブ・ストリーム数の比率に関しては、キャッシュから
サポートされる高ボリュームが、媒体ストリーマ10の
総コストを押し下げる。
【0057】ビデオ・データの性質、システムが常に再
生中のビデオ、及び次に要求されるデータ、再生に要す
る時間が予め認識されることから、キャッシュ、内部バ
ッファ、ディスク記憶装置、テープ・ローダ、バス性能
などの使用を最適化する方法が提供される。
生中のビデオ、及び次に要求されるデータ、再生に要す
る時間が予め認識されることから、キャッシュ、内部バ
ッファ、ディスク記憶装置、テープ・ローダ、バス性能
などの使用を最適化する方法が提供される。
【0058】全ての記憶媒体に渡り内容の配置及び分配
を制御するアルゴリズムが、広帯域スペクトル要求への
等時性データの配布を可能にする。等時性データの配布
は実質的に100%予測可能であるので、これらのアル
ゴリズムは、コンピュータ業界の他のセグメントで使用
される従来のアルゴリズム、すなわちアクセス・データ
のキャッシングが常に予測可能ではないアルゴリズムと
は非常に異なる。
を制御するアルゴリズムが、広帯域スペクトル要求への
等時性データの配布を可能にする。等時性データの配布
は実質的に100%予測可能であるので、これらのアル
ゴリズムは、コンピュータ業界の他のセグメントで使用
される従来のアルゴリズム、すなわちアクセス・データ
のキャッシングが常に予測可能ではないアルゴリズムと
は非常に異なる。
【0059】C.媒体ストリーマ・データ・フロー・ア
ーキテクチャ 上述のように、媒体ストリーマ10はビデオ・ストリー
ムを、TVセットやLAN、ATMなどのネットワーク
を介して接続されるセット・トップ・ボックスなどの、
様々な出力に配布する。記憶容量及び同時ストリーム数
に対する要求に適合するために、複数の記憶ノード及び
通信ノードを含む分散アーキテクチャが好適である。デ
ータは記憶ノード16、17上に記憶され、通信ノード
により配布される。通信ノード14は、適切な記憶ノー
ド16、17からデータを獲得する。制御ノード18は
単一のシステム・イメージを外界に提供する。ノードは
相互接続低待ち時間スイッチ12により接続される。
ーキテクチャ 上述のように、媒体ストリーマ10はビデオ・ストリー
ムを、TVセットやLAN、ATMなどのネットワーク
を介して接続されるセット・トップ・ボックスなどの、
様々な出力に配布する。記憶容量及び同時ストリーム数
に対する要求に適合するために、複数の記憶ノード及び
通信ノードを含む分散アーキテクチャが好適である。デ
ータは記憶ノード16、17上に記憶され、通信ノード
により配布される。通信ノード14は、適切な記憶ノー
ド16、17からデータを獲得する。制御ノード18は
単一のシステム・イメージを外界に提供する。ノードは
相互接続低待ち時間スイッチ12により接続される。
【0060】データ・レート及び配布データは、各スト
リームに対応して予測可能である。本発明はこの予測可
能性を利用することにより、資源を完全に利用し、各ス
トリームのデータが必要な時に、あらゆるステージにお
いて使用可能なことを保証するデータ・フロー・アーキ
テクチャを構成する。
リームに対応して予測可能である。本発明はこの予測可
能性を利用することにより、資源を完全に利用し、各ス
トリームのデータが必要な時に、あらゆるステージにお
いて使用可能なことを保証するデータ・フロー・アーキ
テクチャを構成する。
【0061】記憶ノード16、17と通信ノード14と
の間のデータ・フローは、多数の異なる方法によりセッ
ト・アップされる。
の間のデータ・フローは、多数の異なる方法によりセッ
ト・アップされる。
【0062】通信ノード14は一般に、複数のストリー
ムを配布する役割をする。通信ノードは、これらのスト
リームの各々に対応する保留のデータ要求を有するかも
しれず、要求データが異なる記憶ノード16、17から
到来するかもしれない。データを同一の通信ノードに送
信するために、異なる記憶ノードが同時に試行すると、
1つの記憶ノードだけがデータを送ることができ、他の
記憶ノードは妨害される。この妨害はこれらの記憶ノー
ドにデータの送信を再試行させ、スイッチの利用度を低
下させ、記憶ノードから通信ノードにデータを送信する
ために要する時間に大きな変化をもたらす。本発明で
は、異なる記憶ノード16、17の間で、通信ノード1
4の入力ポートの競合は発生しない。
ムを配布する役割をする。通信ノードは、これらのスト
リームの各々に対応する保留のデータ要求を有するかも
しれず、要求データが異なる記憶ノード16、17から
到来するかもしれない。データを同一の通信ノードに送
信するために、異なる記憶ノードが同時に試行すると、
1つの記憶ノードだけがデータを送ることができ、他の
記憶ノードは妨害される。この妨害はこれらの記憶ノー
ドにデータの送信を再試行させ、スイッチの利用度を低
下させ、記憶ノードから通信ノードにデータを送信する
ために要する時間に大きな変化をもたらす。本発明で
は、異なる記憶ノード16、17の間で、通信ノード1
4の入力ポートの競合は発生しない。
【0063】要求されるバッファリング量は、次のよう
にして決定される。通信ノード14が要求を記憶ノード
16、17に送信し、データを受信するために要する平
均時間を判断する。この時間は、要求を記憶ノードに送
信するための時間と、応答を受信するための時間、すな
わち記憶ノードが要求を処理するために要する時間とを
加算して決定される。記憶ノードは、ディスクからデー
タを読出すために要する平均時間と、要求の処理に関連
する遅延とを加算することにより、要求を処理するため
に要する平均時間を決定する。これが要求を処理する待
ち時間となる。要求バッファリング量はストリームのデ
ータ・レートにおいて、この待ち時間をカバーするため
に必要なメモリ記憶である。以降で述べられる解決策
は、媒体ストリーマ環境の特殊状態を利用することによ
り、待ち時間を低減し、それにより要求資源を低減す
る。待ち時間は、以前のステージからのデータの要求を
予想しながら、データのあらゆるステージ(例えば記憶
ノード内及び通信ノード内)において、"ジャスト・イ
ン・タイム"・スケジューリング・アルゴリズムを用い
ることにより低減される。
にして決定される。通信ノード14が要求を記憶ノード
16、17に送信し、データを受信するために要する平
均時間を判断する。この時間は、要求を記憶ノードに送
信するための時間と、応答を受信するための時間、すな
わち記憶ノードが要求を処理するために要する時間とを
加算して決定される。記憶ノードは、ディスクからデー
タを読出すために要する平均時間と、要求の処理に関連
する遅延とを加算することにより、要求を処理するため
に要する平均時間を決定する。これが要求を処理する待
ち時間となる。要求バッファリング量はストリームのデ
ータ・レートにおいて、この待ち時間をカバーするため
に必要なメモリ記憶である。以降で述べられる解決策
は、媒体ストリーマ環境の特殊状態を利用することによ
り、待ち時間を低減し、それにより要求資源を低減す
る。待ち時間は、以前のステージからのデータの要求を
予想しながら、データのあらゆるステージ(例えば記憶
ノード内及び通信ノード内)において、"ジャスト・イ
ン・タイム"・スケジューリング・アルゴリズムを用い
ることにより低減される。
【0064】記憶ノード16、17による通信ノード1
4の入力ポートの競合が、次の2つの基準を用いること
により回避される。 1)記憶ノード16、17は特定の要求の受信に際して
のみ、通信ノード14にデータを送信する。 2)所与の通信ノード14が、記憶ノードから読出され
るデータに対する全ての要求を直列化し、通信ノード1
4からデータを受信する1つの要求だけが、通信ノード
14が配布するストリーム数に関係なく、任意の時点に
おいて優先される。
4の入力ポートの競合が、次の2つの基準を用いること
により回避される。 1)記憶ノード16、17は特定の要求の受信に際して
のみ、通信ノード14にデータを送信する。 2)所与の通信ノード14が、記憶ノードから読出され
るデータに対する全ての要求を直列化し、通信ノード1
4からデータを受信する1つの要求だけが、通信ノード
14が配布するストリーム数に関係なく、任意の時点に
おいて優先される。
【0065】上述のように、待ち時間の低減は、あらゆ
るステージにおけるジャスト・イン・タイム・スケジュ
ーリングにもとづく。基本原理は、ストリームのデータ
・フローのあらゆるステージにおいて、データに対する
要求が到来するとき、そのデータが使用可能であること
である。これにより待ち時間は、要求を送信し、任意の
データ転送を実行するのに要する時間に低減される。従
って、制御ノード18が特定のストリームに対応するデ
ータの要求を記憶ノード16に送信すると、記憶ノード
16はこの要求にほとんど即時に応答することができ
る。この特徴は、上述の競合問題の解決策にとって重要
である。
るステージにおけるジャスト・イン・タイム・スケジュ
ーリングにもとづく。基本原理は、ストリームのデータ
・フローのあらゆるステージにおいて、データに対する
要求が到来するとき、そのデータが使用可能であること
である。これにより待ち時間は、要求を送信し、任意の
データ転送を実行するのに要する時間に低減される。従
って、制御ノード18が特定のストリームに対応するデ
ータの要求を記憶ノード16に送信すると、記憶ノード
16はこの要求にほとんど即時に応答することができ
る。この特徴は、上述の競合問題の解決策にとって重要
である。
【0066】媒体ストリーマ環境において、データへの
アクセスは順次的であり、ストリームのデータ・レート
は予測可能であるので、記憶ノードは、特定のストリー
ムのデータの次の要求が期待される時期を予想すること
ができる。要求に応じて供給されるデータの識別も知る
ことができる。記憶ノード16は、データが記憶されて
いる場所、及び他のストリームに対応して期待される要
求も知ることができる。この情報と、ディスクから読出
し要求を処理する予想時間から、記憶ノード16は読出
しオペレーションをスケジュールし、要求が通信ノード
14から到来する直前に、データが使用可能となる。例
えばストリーム・データ・レートが250KB/秒で、
記憶ノード16が4セグメント目毎にビデオを含む場
合、そのストリームに対応するデータに対する要求は4
秒毎に到来する。読出し要求の処理時間が500ミリ秒
であると(読出し要求が500ミリ秒以内で完了するこ
とが必要条件)、その要求は、通信ノード14から要求
が受信されると予想されるよりも、少なくとも500ミ
リ秒以前にスケジュールされる。
アクセスは順次的であり、ストリームのデータ・レート
は予測可能であるので、記憶ノードは、特定のストリー
ムのデータの次の要求が期待される時期を予想すること
ができる。要求に応じて供給されるデータの識別も知る
ことができる。記憶ノード16は、データが記憶されて
いる場所、及び他のストリームに対応して期待される要
求も知ることができる。この情報と、ディスクから読出
し要求を処理する予想時間から、記憶ノード16は読出
しオペレーションをスケジュールし、要求が通信ノード
14から到来する直前に、データが使用可能となる。例
えばストリーム・データ・レートが250KB/秒で、
記憶ノード16が4セグメント目毎にビデオを含む場
合、そのストリームに対応するデータに対する要求は4
秒毎に到来する。読出し要求の処理時間が500ミリ秒
であると(読出し要求が500ミリ秒以内で完了するこ
とが必要条件)、その要求は、通信ノード14から要求
が受信されると予想されるよりも、少なくとも500ミ
リ秒以前にスケジュールされる。
【0067】C1.制御ノード18機能 制御ノード18の機能は、制御フローのために、媒体ス
トリーマ10と外界との間のインタフェースを提供する
ことである。これはまた、たとえ媒体ストリーマ10自
身が分散システムとして実現されたとしても、単一のシ
ステム・イメージを外界に提供する。制御ノードの機能
は、定義アプリケーション・プログラム・インタフェー
ス(API)により実行される。APIはビデオ・デー
タの再生/記録などの実時間機能の他に、媒体ストリー
マ10においてビデオ内容を生成する機能を提供する。
制御ノード18は通信ノード14に、ビデオを再生また
は停止するための実時間要求を送る。
トリーマ10と外界との間のインタフェースを提供する
ことである。これはまた、たとえ媒体ストリーマ10自
身が分散システムとして実現されたとしても、単一のシ
ステム・イメージを外界に提供する。制御ノードの機能
は、定義アプリケーション・プログラム・インタフェー
ス(API)により実行される。APIはビデオ・デー
タの再生/記録などの実時間機能の他に、媒体ストリー
マ10においてビデオ内容を生成する機能を提供する。
制御ノード18は通信ノード14に、ビデオを再生また
は停止するための実時間要求を送る。
【0068】C2.通信ノード14 通信ノード14は、実時間ビデオ・インタフェースを専
用に処理する(同一プロセス内の)次のスレッド、すな
わち接続/切断要求を処理するスレッド、再生/停止要
求及び休止/再開要求を処理するスレッド、及びジャン
プ(前方検索または後方検索)要求を処理するスレッド
を有する。更に記憶ノード16からストリームに対応す
るデータを読出す入力スレッド、及びデータを出力ポー
トに書込む出力スレッドを有する。
用に処理する(同一プロセス内の)次のスレッド、すな
わち接続/切断要求を処理するスレッド、再生/停止要
求及び休止/再開要求を処理するスレッド、及びジャン
プ(前方検索または後方検索)要求を処理するスレッド
を有する。更に記憶ノード16からストリームに対応す
るデータを読出す入力スレッド、及びデータを出力ポー
トに書込む出力スレッドを有する。
【0069】通信ノード14におけるビデオ再生の間の
データ処理のデータ・フロー構造が、図7に示される。
データ・フロー構造は、記憶ノード16からデータを獲
得する入力スレッド100を含む。入力スレッド100
は記憶ノードからのデータの受信を直列化するので、任
意の時点において1つの記憶ノードだけがデータを送信
することになる。入力スレッド100は、出力スレッド
102がバッファからストリームに対応して書込む必要
があるときに、バッファが既にデータにより充填されて
いることを保証する。更にストリームの入力及び出力オ
ペレーションの両方をスケジュールするスケジュール機
能104が存在する。この機能は、入力スレッド100
及び出力スレッド102の両方により使用される。
データ処理のデータ・フロー構造が、図7に示される。
データ・フロー構造は、記憶ノード16からデータを獲
得する入力スレッド100を含む。入力スレッド100
は記憶ノードからのデータの受信を直列化するので、任
意の時点において1つの記憶ノードだけがデータを送信
することになる。入力スレッド100は、出力スレッド
102がバッファからストリームに対応して書込む必要
があるときに、バッファが既にデータにより充填されて
いることを保証する。更にストリームの入力及び出力オ
ペレーションの両方をスケジュールするスケジュール機
能104が存在する。この機能は、入力スレッド100
及び出力スレッド102の両方により使用される。
【0070】各スレッドは要求をキューから取り出す。
出力スレッド102に対応する要求キュー106は、ス
トリームを識別する要求、及び空にすべき関連バッファ
を指し示す要求を含む。これらの要求は、ビデオ出力イ
ンタフェースに書込まれるべき時間順に整列される。出
力スレッド102がバッファを空にすると、出力スレッ
ドはバッファを空とマークし、そのストリームに対する
入力キュー108内の要求を入力スレッドに待機する
(バッファを充填する)ように、スケジューラ機能10
4を呼出す。入力スレッド100に対応するキュー10
8もまた、バッファが充填されるべき時間順に整列され
る。
出力スレッド102に対応する要求キュー106は、ス
トリームを識別する要求、及び空にすべき関連バッファ
を指し示す要求を含む。これらの要求は、ビデオ出力イ
ンタフェースに書込まれるべき時間順に整列される。出
力スレッド102がバッファを空にすると、出力スレッ
ドはバッファを空とマークし、そのストリームに対する
入力キュー108内の要求を入力スレッドに待機する
(バッファを充填する)ように、スケジューラ機能10
4を呼出す。入力スレッド100に対応するキュー10
8もまた、バッファが充填されるべき時間順に整列され
る。
【0071】入力スレッド100もまた、要求時間順に
整列される要求キュー108を処理する。そのタスクは
バッファを記憶ノード16から充填することである。そ
のキュー内の各要求に対応して、入力スレッド100は
次のアクションを実行する。すなわち入力スレッド10
0は、ストリームの次のデータ・セグメントを有する記
憶ノード16を決定する(ビデオ・ストリーム・データ
は好適には多数の記憶ノードに渡り、ストライプされ
る)。入力スレッド100は次に、ストリーム・データ
の要求を決定された記憶ノードに送信し(スイッチ12
を通じてメッセージを送信する)、データの到来を待機
する。
整列される要求キュー108を処理する。そのタスクは
バッファを記憶ノード16から充填することである。そ
のキュー内の各要求に対応して、入力スレッド100は
次のアクションを実行する。すなわち入力スレッド10
0は、ストリームの次のデータ・セグメントを有する記
憶ノード16を決定する(ビデオ・ストリーム・データ
は好適には多数の記憶ノードに渡り、ストライプされ
る)。入力スレッド100は次に、ストリーム・データ
の要求を決定された記憶ノードに送信し(スイッチ12
を通じてメッセージを送信する)、データの到来を待機
する。
【0072】このプロトコルは、任意の時刻に1つの記
憶ノード16だけが特定の通信ノード14にデータを送
信することを保証し、記憶ノードが非同期にデータを通
信ノード14に送信する場合に起こりうる競合を回避す
る。要求データが記憶ノード16から受信されると、入
力スレッド100はバッファをフルとマークし、要求を
(ストリームのデータ・レートにもとづき)出力スレッ
ド102にバッファリングし、バッファを空にするため
にスケジューラ104を呼出す。
憶ノード16だけが特定の通信ノード14にデータを送
信することを保証し、記憶ノードが非同期にデータを通
信ノード14に送信する場合に起こりうる競合を回避す
る。要求データが記憶ノード16から受信されると、入
力スレッド100はバッファをフルとマークし、要求を
(ストリームのデータ・レートにもとづき)出力スレッ
ド102にバッファリングし、バッファを空にするため
にスケジューラ104を呼出す。
【0073】C3.記憶ノード16 ストリームの再生をサポートする記憶ノード16のデー
タ・フロー構造が、図8に示される。記憶ノード16
は、ビデオ・データを含むバッファのプールを有する。
これは各論理ディスク・ドライブに対応する入力スレッ
ド110と、スイッチ・マトリックス12を介して通信
ノード14にデータを書込む出力スレッド112とを有
する。記憶ノード16は更に、入力スレッド110及び
出力スレッド112により使用され、オペレーションを
スケジュールするスケジューラ機能114、並びにデー
タを要求する通信ノード14からの要求を処理するメッ
セージ・スレッド116を有する。
タ・フロー構造が、図8に示される。記憶ノード16
は、ビデオ・データを含むバッファのプールを有する。
これは各論理ディスク・ドライブに対応する入力スレッ
ド110と、スイッチ・マトリックス12を介して通信
ノード14にデータを書込む出力スレッド112とを有
する。記憶ノード16は更に、入力スレッド110及び
出力スレッド112により使用され、オペレーションを
スケジュールするスケジューラ機能114、並びにデー
タを要求する通信ノード14からの要求を処理するメッ
セージ・スレッド116を有する。
【0074】データ要求メッセージが通信ノード14か
ら受信されると、メッセージ・スレッド116が既にバ
ッファされた要求データを順当に見い出し、要求(キュ
ー118)を出力スレッド112に待機する。要求は時
間順に待機される。出力スレッド112はバッファを空
にし、それをフリー・バッファのリストに追加する。各
入力スレッド110は固有の要求キューを有する。関連
ディスク・ドライブ上にビデオ・データを有する各アク
ティブ・ストリームに対応して、キュー120は要求時
間順(データ・レート、ストライプ・レベルなどにもと
づく)に次のバッファを充填するように整列される。ス
レッドはキュー120内の最初の要求を取り出し、それ
にフリー・バッファを対応付け、バッファをディスク・
ドライブからのデータにより充填するように入出力要求
を発行する。バッファが充填されると、それがフル・バ
ッファのリストに追加される。このリストは、ストリー
ムに対応するデータ要求が受信されるとき、メッセージ
・スレッド116によりチャックされる。データ要求メ
ッセージが通信ノード14から受信され、要求バッファ
がフルでない場合、これは誤りデッドライン(missed d
eadline)と見なされる。
ら受信されると、メッセージ・スレッド116が既にバ
ッファされた要求データを順当に見い出し、要求(キュ
ー118)を出力スレッド112に待機する。要求は時
間順に待機される。出力スレッド112はバッファを空
にし、それをフリー・バッファのリストに追加する。各
入力スレッド110は固有の要求キューを有する。関連
ディスク・ドライブ上にビデオ・データを有する各アク
ティブ・ストリームに対応して、キュー120は要求時
間順(データ・レート、ストライプ・レベルなどにもと
づく)に次のバッファを充填するように整列される。ス
レッドはキュー120内の最初の要求を取り出し、それ
にフリー・バッファを対応付け、バッファをディスク・
ドライブからのデータにより充填するように入出力要求
を発行する。バッファが充填されると、それがフル・バ
ッファのリストに追加される。このリストは、ストリー
ムに対応するデータ要求が受信されるとき、メッセージ
・スレッド116によりチャックされる。データ要求メ
ッセージが通信ノード14から受信され、要求バッファ
がフルでない場合、これは誤りデッドライン(missed d
eadline)と見なされる。
【0075】C4.ジャスト・イン・タイム・スケジュ
ーリング ジャスト・イン・タイム・スケジューリング技法は、通
信ノード14及び記憶ノード16の両方で使用される。
この技法は次のパラメータを使用する。 bc=通信ノード14におけるバッファ・サイズ bs=記憶ノード16におけるバッファ・サイズ r=ビデオ・ストリーム・データ・レート n=ビデオ・ストリームに対応するデータを含むビデオ
のストライプ数 sr=ストライプ・データ・レート sr=r/n
ーリング ジャスト・イン・タイム・スケジューリング技法は、通
信ノード14及び記憶ノード16の両方で使用される。
この技法は次のパラメータを使用する。 bc=通信ノード14におけるバッファ・サイズ bs=記憶ノード16におけるバッファ・サイズ r=ビデオ・ストリーム・データ・レート n=ビデオ・ストリームに対応するデータを含むビデオ
のストライプ数 sr=ストライプ・データ・レート sr=r/n
【0076】使用アルゴリズムは次のようである。 (1)sfc=ストリームに対応する通信ノードにおけ
る要求の頻度で、r/bcである。 (2)dfc=記憶ノードにおけるディスク読出し要求
の頻度で、sr/bsである。 ビデオ・データの"ストライピング"については、後述の
セクションHで詳細に述べられる。
る要求の頻度で、r/bcである。 (2)dfc=記憶ノードにおけるディスク読出し要求
の頻度で、sr/bsである。 ビデオ・データの"ストライピング"については、後述の
セクションHで詳細に述べられる。
【0077】要求は上記式により決定される頻度でスケ
ジュールされ、データが必要とされるより以前に完成す
る。これはビデオ・ストリームの再生の開始時に、デー
タ・パイプにデータを予め"注入する"(prime)ことに
より達成される。
ジュールされ、データが必要とされるより以前に完成す
る。これはビデオ・ストリームの再生の開始時に、デー
タ・パイプにデータを予め"注入する"(prime)ことに
より達成される。
【0078】sfc及びdfcの計算は、接続時にスト
リームを再生する通信ノード14と、ビデオ・データを
含む記憶ノード16の両方において、実施される。頻度
(またはその逆数すなわち時間間隔)は、記憶ノード1
6(図8参照)内において、ディスクからの入力をスケ
ジュールするために、また通信ノード14(図7参照)
内において、ポートへの出力(及び記憶ノードからの入
力)をスケジュールするために使用される。
リームを再生する通信ノード14と、ビデオ・データを
含む記憶ノード16の両方において、実施される。頻度
(またはその逆数すなわち時間間隔)は、記憶ノード1
6(図8参照)内において、ディスクからの入力をスケ
ジュールするために、また通信ノード14(図7参照)
内において、ポートへの出力(及び記憶ノードからの入
力)をスケジュールするために使用される。
【0079】ジャスト・イン・タイム・スケジューリン
グ例:4つの記憶ノード上にストライプされるビデオか
ら、2.0Mビット/秒(250000バイト/秒)で
ストリームを再生すると仮定する。また、通信ノードに
おけるバッファ・サイズが250000バイトで、ディ
スク・ノードにおけるバァファ・サイズが250000
バイトとする。更にデータが250000バイト/秒で
セグメントにストライプされるものとする。
グ例:4つの記憶ノード上にストライプされるビデオか
ら、2.0Mビット/秒(250000バイト/秒)で
ストリームを再生すると仮定する。また、通信ノードに
おけるバッファ・サイズが250000バイトで、ディ
スク・ノードにおけるバァファ・サイズが250000
バイトとする。更にデータが250000バイト/秒で
セグメントにストライプされるものとする。
【0080】ジャスト・イン・タイム・アルゴリズムの
様々なパラメータ値を次に示す。 bc=250000バイト(通信ノード14におけるバ
ッファ・サイズ) bs=250000バイト(記憶ノードにおけるバッフ
ァ・サイズ) r=250000バイト/秒(ストリーム・データ・レ
ート) n=4(ストリームに対応するビデオのストライプ数) sr=r/n=6250バイト/秒または250000
バイト/4秒、すなわち毎4秒ごとに250000バイ
ト sfc=r/bc=1/秒(通信ノード14における要
求の頻度) dfc=sr/bs=1/秒(記憶ノード16における
要求の頻度)
様々なパラメータ値を次に示す。 bc=250000バイト(通信ノード14におけるバ
ッファ・サイズ) bs=250000バイト(記憶ノードにおけるバッフ
ァ・サイズ) r=250000バイト/秒(ストリーム・データ・レ
ート) n=4(ストリームに対応するビデオのストライプ数) sr=r/n=6250バイト/秒または250000
バイト/4秒、すなわち毎4秒ごとに250000バイ
ト sfc=r/bc=1/秒(通信ノード14における要
求の頻度) dfc=sr/bs=1/秒(記憶ノード16における
要求の頻度)
【0081】ストリームを再生する役割をする通信ノー
ド14は、入力及び出力要求を1/秒の頻度または1.
0秒の間隔でスケジュールする。通信ノード14がスト
リームに専用の2つのバッファを有すると仮定すると、
通信ノード14はビデオ・ストリームの出力を開始する
以前に、両方のバッファが充填されることを保証する。
ド14は、入力及び出力要求を1/秒の頻度または1.
0秒の間隔でスケジュールする。通信ノード14がスト
リームに専用の2つのバッファを有すると仮定すると、
通信ノード14はビデオ・ストリームの出力を開始する
以前に、両方のバッファが充填されることを保証する。
【0082】接続時に、通信ノード14は、ビデオ・デ
ータのストライプを含む4つの全ての記憶ノード16に
メッセージを送信する。最初の2つの記憶ノードは、ス
トライプからの最初のセグメントに対する要求を予想
し、バッファを充填するようにディスク要求をスケジュ
ールする。通信ノード14は、それぞれが250000
バイトのサイズを有する2つのバッファに、最初の2つ
のセグメントを読出すように、入力要求(図7参照)を
スケジュールする。再生要求が到来すると、通信ノード
14は最初に2つのバッファがフルであることを保証
し、次に全ての記憶ノード16に再生が開始することを
通知し、ストリームの再生を開始する。第1のバッファ
が出力されると(これは2Mビット/秒または2500
00バイト/秒で1秒を要する)、通信ノード14は記
憶ノード16からデータを要求する。通信ノード14は
次に各記憶ノードから順番に1秒間隔でデータを要求す
る。すなわち、通信ノードは特定の記憶ノードからは4
秒間隔でデータを要求する。通信ノードは常に2500
00バイトのデータを1度に要求する。通信ノードが記
憶ノード16からデータを要求する頻度の計算は、接続
時に通信ノード14により実行される。
ータのストライプを含む4つの全ての記憶ノード16に
メッセージを送信する。最初の2つの記憶ノードは、ス
トライプからの最初のセグメントに対する要求を予想
し、バッファを充填するようにディスク要求をスケジュ
ールする。通信ノード14は、それぞれが250000
バイトのサイズを有する2つのバッファに、最初の2つ
のセグメントを読出すように、入力要求(図7参照)を
スケジュールする。再生要求が到来すると、通信ノード
14は最初に2つのバッファがフルであることを保証
し、次に全ての記憶ノード16に再生が開始することを
通知し、ストリームの再生を開始する。第1のバッファ
が出力されると(これは2Mビット/秒または2500
00バイト/秒で1秒を要する)、通信ノード14は記
憶ノード16からデータを要求する。通信ノード14は
次に各記憶ノードから順番に1秒間隔でデータを要求す
る。すなわち、通信ノードは特定の記憶ノードからは4
秒間隔でデータを要求する。通信ノードは常に2500
00バイトのデータを1度に要求する。通信ノードが記
憶ノード16からデータを要求する頻度の計算は、接続
時に通信ノード14により実行される。
【0083】記憶ノード16はストリーム・データに対
する要求を次のように予想する。ストライプ3を含む記
憶ノード16(後述のセクションH参照)は、再生が開
始した1秒後に、そしてそれ以降は4秒毎に、次の25
0000バイト・セグメントに対する要求を予想するこ
とができる。ストライプ4を含む記憶ノード16は、再
生が開始した2秒後に、そしてそれ以降は4秒毎に、要
求を予想することができる。ストライプ2を含む記憶ノ
ード16は、再生が開始した4秒後に、そしてそれ以降
も4秒毎に、要求を予想することができる。すなわち、
各記憶ノード16は、(上述のような)特定の開始時点
から4秒毎に250000バイトの頻度でディスクから
の入力をスケジュールする。このスケジューリングは記
憶ノード16において、再生コマンドの受信後、及びス
トリームに対応するバッファが出力された後に達成され
る。要求頻度の計算は、接続要求の受信時に実行され
る。
する要求を次のように予想する。ストライプ3を含む記
憶ノード16(後述のセクションH参照)は、再生が開
始した1秒後に、そしてそれ以降は4秒毎に、次の25
0000バイト・セグメントに対する要求を予想するこ
とができる。ストライプ4を含む記憶ノード16は、再
生が開始した2秒後に、そしてそれ以降は4秒毎に、要
求を予想することができる。ストライプ2を含む記憶ノ
ード16は、再生が開始した4秒後に、そしてそれ以降
も4秒毎に、要求を予想することができる。すなわち、
各記憶ノード16は、(上述のような)特定の開始時点
から4秒毎に250000バイトの頻度でディスクから
の入力をスケジュールする。このスケジューリングは記
憶ノード16において、再生コマンドの受信後、及びス
トリームに対応するバッファが出力された後に達成され
る。要求頻度の計算は、接続要求の受信時に実行され
る。
【0084】通信ノード14及び記憶ノード16におい
て、異なるバッファ・サイズを使用することも可能であ
る。例えば通信ノード14におけるバッファ・サイズが
50000バイトで、記憶ノード16におけるバッファ
・サイズが250000バイトであってもよい。この場
合、通信ノード14における要求の頻度は5/秒(=2
50000/50000)すなわち0.2秒間隔とな
り、記憶ノード16における頻度は1/秒のままであ
る。通信ノード14は、最初のストライプを含む記憶ノ
ードから、最初の2つのバッファ(100000バイ
ト)を読出す(ここでセグメント・サイズは25000
0バイトであり、最初のセグメントを含む記憶ノード1
6は、接続時にディスクからの入力をスケジュールす
る)。再生が開始するとき、通信ノード14は記憶ノー
ド16にそのことを通知し、第1のバッファを出力す
る。バッファが空になると、通信ノード14は次の入力
をスケジュールする。バッファは0.2秒毎に空にな
り、通信ノード14はこの頻度で記憶ノード16から入
力を要求し、また同じ頻度で出力をスケジュールする。
て、異なるバッファ・サイズを使用することも可能であ
る。例えば通信ノード14におけるバッファ・サイズが
50000バイトで、記憶ノード16におけるバッファ
・サイズが250000バイトであってもよい。この場
合、通信ノード14における要求の頻度は5/秒(=2
50000/50000)すなわち0.2秒間隔とな
り、記憶ノード16における頻度は1/秒のままであ
る。通信ノード14は、最初のストライプを含む記憶ノ
ードから、最初の2つのバッファ(100000バイ
ト)を読出す(ここでセグメント・サイズは25000
0バイトであり、最初のセグメントを含む記憶ノード1
6は、接続時にディスクからの入力をスケジュールす
る)。再生が開始するとき、通信ノード14は記憶ノー
ド16にそのことを通知し、第1のバッファを出力す
る。バッファが空になると、通信ノード14は次の入力
をスケジュールする。バッファは0.2秒毎に空にな
り、通信ノード14はこの頻度で記憶ノード16から入
力を要求し、また同じ頻度で出力をスケジュールする。
【0085】この例では、記憶ノード16は0.2秒間
隔で到来する5つの要求を予想できる。(但し、100
000バイトが既に読出されている最初のセグメントの
場合を除く。従って、初期には再生の開始後に、3つの
要求が0.2秒毎に到来する。すなわち、5つの要求
(各々が50000バイトに対応)の次のシーケンス
は、前のシーケンスの最後の要求の4秒後に到来す
る。)記憶ノードのバッファ・サイズは250000バ
イトなので、記憶ノード16はディスクからの入力を、
4秒毎にスケジュールする(先に述べた例と同様)。
隔で到来する5つの要求を予想できる。(但し、100
000バイトが既に読出されている最初のセグメントの
場合を除く。従って、初期には再生の開始後に、3つの
要求が0.2秒毎に到来する。すなわち、5つの要求
(各々が50000バイトに対応)の次のシーケンス
は、前のシーケンスの最後の要求の4秒後に到来す
る。)記憶ノードのバッファ・サイズは250000バ
イトなので、記憶ノード16はディスクからの入力を、
4秒毎にスケジュールする(先に述べた例と同様)。
【0086】C5.再生アクションの詳細 次のステップでは、ストリームの再生アクションの制御
及びデータ・フローを追跡する。再生のためにビデオを
セットアップするステップが、図9に時間順に示され
る。 1.ユーザが、以前にロードされた特定のビデオを有す
るポートをセットアップするコマンドを呼出す。要求が
制御ノード18に送信される。 2.制御ノード18内のスレッドが、要求及びVS-CONNE
CTコマンドを受信する。 3.制御ノードのスレッドがビデオのカタログ・エント
リをオープンし、ストライプ・ファイル情報を有するビ
デオのメモリ記述子をセットアップする。 4.制御ノード18が要求に対応して、通信ノード14
及びそのノード上の出力ポートを割当てる。 5.次に制御ノード18が、割当てられた通信ノード1
4にメッセージを送信する。 6.通信ノード14内のスレッドが、制御ノード18か
らメッセージを受信する。 7.通信ノードのスレッドが、ストライプ・ファイルを
含む記憶ノードにオープン要求を送信する。 8、9.オープン要求を送信される各記憶ノード16の
スレッドが、要求を受信し、要求ストライプ・ファイル
をオープンし、任意の必要な資源を割当てると同時に、
ディスクからの入力をスケジュールする(ストライプ・
ファイルが最初の数セグメントを含む場合)。 10.記憶ノードのスレッドが、ストライプ・ファイル
のハンドル(識別子)を有する応答を通信ノード14に
返送する。 11.通信ノード14のスレッドが全ての関連記憶ノー
ドから応答を待機し、成功裡に応答を受信すると、スト
リームのために資源を割当てる。これには出力ポートの
セットアップが含まれる。 12.通信ノード14が次に、ビデオ・データ・パイプ
ラインを注入するための入力をスケジュールする。 13.通信ノード14が次に応答を制御ノード18に返
送する。 14.制御ノードのスレッドが、通信ノード14から成
功裡に応答を受信すると、このストリーム・インスタン
スに関連する続く要求に対応して使用されるハンドルを
ユーザに返却する。
及びデータ・フローを追跡する。再生のためにビデオを
セットアップするステップが、図9に時間順に示され
る。 1.ユーザが、以前にロードされた特定のビデオを有す
るポートをセットアップするコマンドを呼出す。要求が
制御ノード18に送信される。 2.制御ノード18内のスレッドが、要求及びVS-CONNE
CTコマンドを受信する。 3.制御ノードのスレッドがビデオのカタログ・エント
リをオープンし、ストライプ・ファイル情報を有するビ
デオのメモリ記述子をセットアップする。 4.制御ノード18が要求に対応して、通信ノード14
及びそのノード上の出力ポートを割当てる。 5.次に制御ノード18が、割当てられた通信ノード1
4にメッセージを送信する。 6.通信ノード14内のスレッドが、制御ノード18か
らメッセージを受信する。 7.通信ノードのスレッドが、ストライプ・ファイルを
含む記憶ノードにオープン要求を送信する。 8、9.オープン要求を送信される各記憶ノード16の
スレッドが、要求を受信し、要求ストライプ・ファイル
をオープンし、任意の必要な資源を割当てると同時に、
ディスクからの入力をスケジュールする(ストライプ・
ファイルが最初の数セグメントを含む場合)。 10.記憶ノードのスレッドが、ストライプ・ファイル
のハンドル(識別子)を有する応答を通信ノード14に
返送する。 11.通信ノード14のスレッドが全ての関連記憶ノー
ドから応答を待機し、成功裡に応答を受信すると、スト
リームのために資源を割当てる。これには出力ポートの
セットアップが含まれる。 12.通信ノード14が次に、ビデオ・データ・パイプ
ラインを注入するための入力をスケジュールする。 13.通信ノード14が次に応答を制御ノード18に返
送する。 14.制御ノードのスレッドが、通信ノード14から成
功裡に応答を受信すると、このストリーム・インスタン
スに関連する続く要求に対応して使用されるハンドルを
ユーザに返却する。
【0087】次に、ビデオ・ストリームが成功裡にセッ
トアップされた後に、再生要求の受信に際し実行される
ステップを、時間順に示す。これらのステップは図10
に示される。 1.ユーザが再生コマンドを呼出す。 2.制御ノード18のスレッドが要求を受信する。 3.制御ノード18のスレッドが、要求がセットアップ
されたストリームに対応することを確認し、再生要求を
割当てられた通信ノード14に送信する。 4.通信ノード14のスレッドが再生要求を受信する。 5.通信ノード14が再生要求を全ての関連記憶ノード
16に送信し、これらのノードが、このストリームの続
く要求の予想に対応して、独自のオペレーションをスケ
ジュールできるようにする。ここで"関連"記憶ノードと
は、対象のビデオ・プレゼンテーションの少なくとも1
つのストライプを記憶する記憶ノードをさす。 6.各関連記憶ノード16のスレッドが要求を受信し、
このストリームの将来の要求をサービスするためのスケ
ジュールをセットアップする。各関連記憶ノード16は
応答を通信ノード14に返送する。 7.通信ノードのスレッドは、パイプラインが注入され
る(ビデオ・データによりプリロードされる)ことを保
証し、ストリームの出力を可能にする。 8.通信ノード14が次に応答を制御ノード18に返送
する。 9.制御ノード18が、ストリームが再生されているこ
とを示す応答をユーザに返送する。
トアップされた後に、再生要求の受信に際し実行される
ステップを、時間順に示す。これらのステップは図10
に示される。 1.ユーザが再生コマンドを呼出す。 2.制御ノード18のスレッドが要求を受信する。 3.制御ノード18のスレッドが、要求がセットアップ
されたストリームに対応することを確認し、再生要求を
割当てられた通信ノード14に送信する。 4.通信ノード14のスレッドが再生要求を受信する。 5.通信ノード14が再生要求を全ての関連記憶ノード
16に送信し、これらのノードが、このストリームの続
く要求の予想に対応して、独自のオペレーションをスケ
ジュールできるようにする。ここで"関連"記憶ノードと
は、対象のビデオ・プレゼンテーションの少なくとも1
つのストライプを記憶する記憶ノードをさす。 6.各関連記憶ノード16のスレッドが要求を受信し、
このストリームの将来の要求をサービスするためのスケ
ジュールをセットアップする。各関連記憶ノード16は
応答を通信ノード14に返送する。 7.通信ノードのスレッドは、パイプラインが注入され
る(ビデオ・データによりプリロードされる)ことを保
証し、ストリームの出力を可能にする。 8.通信ノード14が次に応答を制御ノード18に返送
する。 9.制御ノード18が、ストリームが再生されているこ
とを示す応答をユーザに返送する。
【0088】入力及び出力スレッドは、停止/休止コマ
ンドが受信されるか、ビデオが終了するまで、ビデオ・
プレゼンテーションを指定ポートに配布し続ける。
ンドが受信されるか、ビデオが終了するまで、ビデオ・
プレゼンテーションを指定ポートに配布し続ける。
【0089】D.媒体ストリーマとのユーザ・インタフ
ェース及びアプリケーション・インタフェース 媒体ストリーマ10は受動サーバであり、外部制御シス
テムから制御コマンドを受信すると、ビデオ・サーバ・
オペレーションを実行する。図11は媒体ストリーマ1
0アプリケーションのシステム構成を示し、システム内
に存在するインタフェースを示す。
ェース及びアプリケーション・インタフェース 媒体ストリーマ10は受動サーバであり、外部制御シス
テムから制御コマンドを受信すると、ビデオ・サーバ・
オペレーションを実行する。図11は媒体ストリーマ1
0アプリケーションのシステム構成を示し、システム内
に存在するインタフェースを示す。
【0090】媒体ストリーマ10は、そのオペレーショ
ンを制御するために、ユーザ及びアプリケーション・プ
ログラムに対応した2レベルのインタフェース、すなわ
ちユーザ・インタフェース(図11の(A))と、アプ
リケーション・プログラム・インタフェース(図11の
(B))を提供する。
ンを制御するために、ユーザ及びアプリケーション・プ
ログラムに対応した2レベルのインタフェース、すなわ
ちユーザ・インタフェース(図11の(A))と、アプ
リケーション・プログラム・インタフェース(図11の
(B))を提供する。
【0091】両レベルのインタフェースはクライアント
制御システム上に提供され、これらは遠隔プロシージャ
呼出し(RPC)機構を通じて、媒体ストリーマ10と
通信する。媒体ストリーマ10上の代わりに、クライア
ント制御システム上にインタフェースを提供することに
より、媒体ストリーマ10からのアプリケーション・ソ
フトウェアの分離が達成される。このことは、クライア
ント制御システム上のアプリケーション・ソフトウェア
の変更または置換を必要としないため、媒体ストリーマ
のアップグレードまたは置換を容易にする。
制御システム上に提供され、これらは遠隔プロシージャ
呼出し(RPC)機構を通じて、媒体ストリーマ10と
通信する。媒体ストリーマ10上の代わりに、クライア
ント制御システム上にインタフェースを提供することに
より、媒体ストリーマ10からのアプリケーション・ソ
フトウェアの分離が達成される。このことは、クライア
ント制御システム上のアプリケーション・ソフトウェア
の変更または置換を必要としないため、媒体ストリーマ
のアップグレードまたは置換を容易にする。
【0092】D1.ユーザ通信 媒体ストリーマ10は、次の2タイプのユーザ・インタ
フェースを提供する。 ・コマンド・ライン・インタフェース ・グラフィカル・ユーザ・インタフェース
フェースを提供する。 ・コマンド・ライン・インタフェース ・グラフィカル・ユーザ・インタフェース
【0093】D1.1.コマンド・ライン・インタフェ
ース コマンド・ライン・インタフェースは、ユーザ・コンソ
ールまたはインタフェース(図1の65、66)上にプ
ロンプトを表示する。コマンド・プロンプトの後、ユー
ザはコマンドを入力する。実際にはコマンド・キーワー
ドに続いてパラメータを入力する。コマンドが実行され
ると、インタフェースは再度プロンプトを表示し、次の
コマンド入力を待機する。媒体ストリーマ・コマンド・
ライン・インタフェースは、特に次に示す2タイプのオ
ペレーションに好適である。
ース コマンド・ライン・インタフェースは、ユーザ・コンソ
ールまたはインタフェース(図1の65、66)上にプ
ロンプトを表示する。コマンド・プロンプトの後、ユー
ザはコマンドを入力する。実際にはコマンド・キーワー
ドに続いてパラメータを入力する。コマンドが実行され
ると、インタフェースは再度プロンプトを表示し、次の
コマンド入力を待機する。媒体ストリーマ・コマンド・
ライン・インタフェースは、特に次に示す2タイプのオ
ペレーションに好適である。
【0094】バッチ制御:バッチ制御は、一連のビデオ
制御コマンドを含むコマンド・スクリプトの実行の開始
に関連する。例えば放送業界では、拡張期間における事
前記録済みのスケジュール番組を含むコマンド・スクリ
プトが、予め用意される。スケジュールされた開始時間
に、単一のバッチ・コマンドによりコマンド・スクリプ
トが実行され、オペレータの介入無しに放送が開始され
る。
制御コマンドを含むコマンド・スクリプトの実行の開始
に関連する。例えば放送業界では、拡張期間における事
前記録済みのスケジュール番組を含むコマンド・スクリ
プトが、予め用意される。スケジュールされた開始時間
に、単一のバッチ・コマンドによりコマンド・スクリプ
トが実行され、オペレータの介入無しに放送が開始され
る。
【0095】自動制御:自動制御は、プログラムにより
生成されたコマンド・リストの実行に関連し、媒体スト
リーマ10上に記憶されたマテリアルを更新/再生す
る。例えばニュース機関が、毎日、新たなマテリアルを
媒体ストリーマ10にロードする。新たなマテリアルを
管理するアプリケーション制御プログラムが、媒体スト
リーマ10を新たなマテリアルにより更新する媒体スト
リーマ・コマンド(例えば、ロード(Load)、消去(De
lete)、アンロード(Unload))を生成する。生成され
たコマンドが、その実行のために、コマンド・ライン・
インタフェースに送られる。
生成されたコマンド・リストの実行に関連し、媒体スト
リーマ10上に記憶されたマテリアルを更新/再生す
る。例えばニュース機関が、毎日、新たなマテリアルを
媒体ストリーマ10にロードする。新たなマテリアルを
管理するアプリケーション制御プログラムが、媒体スト
リーマ10を新たなマテリアルにより更新する媒体スト
リーマ・コマンド(例えば、ロード(Load)、消去(De
lete)、アンロード(Unload))を生成する。生成され
たコマンドが、その実行のために、コマンド・ライン・
インタフェースに送られる。
【0096】D1.2.グラフィカル・ユーザ・インタ
フェース 図12は、媒体ストリーマ・グラフィカル・ユーザ・イ
ンタフェースの例を示す。このインタフェースは、再生
(Play)、休止(Pause)、巻戻し(Rewind)、停止(S
top)などの制御ボタンを有するビデオ・カセット・レ
コーダの制御パネルに類似する。更にこれは、オペレー
ションがユーザによる選択に関連するときに(例えばロ
ード(Load)は、ユーザにビデオ・プレゼンテーション
のロードを選択するように要求する)、選択パネルを提
供する。グラフィカル・ユーザ・インタフェースは、直
接ユーザ対話において特に有用である。
フェース 図12は、媒体ストリーマ・グラフィカル・ユーザ・イ
ンタフェースの例を示す。このインタフェースは、再生
(Play)、休止(Pause)、巻戻し(Rewind)、停止(S
top)などの制御ボタンを有するビデオ・カセット・レ
コーダの制御パネルに類似する。更にこれは、オペレー
ションがユーザによる選択に関連するときに(例えばロ
ード(Load)は、ユーザにビデオ・プレゼンテーション
のロードを選択するように要求する)、選択パネルを提
供する。グラフィカル・ユーザ・インタフェースは、直
接ユーザ対話において特に有用である。
【0097】"バッチ"(Batch)・ボタン130及び"イ
ンポート/エクスポート"・ボタン132が、グラフィ
カル・ユーザ・インタフェースに含まれる。これらの機
能については後述される。
ンポート/エクスポート"・ボタン132が、グラフィ
カル・ユーザ・インタフェースに含まれる。これらの機
能については後述される。
【0098】D2.ユーザ機能 媒体ストリーマ10は、次の3つの汎用タイプのユーザ
機能を提供する。 ・インポート/エクスポート ・VCR式再生制御 ・拡張ユーザ制御
機能を提供する。 ・インポート/エクスポート ・VCR式再生制御 ・拡張ユーザ制御
【0099】D2.1.インポート/エクスポート インポート/エクスポート機能は、ビデオ・データを媒
体ストリーマ10に、または媒体ストリーマから転送す
るために使用される。ビデオがクライアント制御システ
ムから媒体ストリーマ10に転送されるとき(インポー
ト)、ビデオ・データのソースが、クライアント制御シ
ステムのファイルまたはデバイスとして指定される。ビ
デオ・データのターゲットは、媒体ストリーマ10内の
特定の名前で指定される。ビデオが媒体ストリーマ10
からクライアント制御システムに転送されるときには
(エクスポート)、ビデオ・データのソースは、媒体ス
トリーマ10内のその名前により指定され、ビデオ・デ
ータのターゲットは、クライアント制御システムのファ
イルまたはデバイスとして指定される。
体ストリーマ10に、または媒体ストリーマから転送す
るために使用される。ビデオがクライアント制御システ
ムから媒体ストリーマ10に転送されるとき(インポー
ト)、ビデオ・データのソースが、クライアント制御シ
ステムのファイルまたはデバイスとして指定される。ビ
デオ・データのターゲットは、媒体ストリーマ10内の
特定の名前で指定される。ビデオが媒体ストリーマ10
からクライアント制御システムに転送されるときには
(エクスポート)、ビデオ・データのソースは、媒体ス
トリーマ10内のその名前により指定され、ビデオ・デ
ータのターゲットは、クライアント制御システムのファ
イルまたはデバイスとして指定される。
【0100】ユーザ機能のインポート/エクスポート・
カテゴリでは、媒体ストリーマ10はビデオを除去す
る"消去"(delete)機能、及び記憶ビデオに関する情報
を獲得する"属性獲得"(get attributes)機構を提供す
る。
カテゴリでは、媒体ストリーマ10はビデオを除去す
る"消去"(delete)機能、及び記憶ビデオに関する情報
を獲得する"属性獲得"(get attributes)機構を提供す
る。
【0101】グラフィカル・ユーザ・インタフェースを
介して、インポート/エクスポート機能を呼出すため
に、ユーザは"インポート/エクスポート"・ソフト・ボ
タン132(図12)をクリックする。すると、個々の
機能を呼出すために、"インポート"、"エクスポー
ト"、"消去"及び"属性獲得"ボタンを含む新たなパネル
(図示せず)が現れる。
介して、インポート/エクスポート機能を呼出すため
に、ユーザは"インポート/エクスポート"・ソフト・ボ
タン132(図12)をクリックする。すると、個々の
機能を呼出すために、"インポート"、"エクスポー
ト"、"消去"及び"属性獲得"ボタンを含む新たなパネル
(図示せず)が現れる。
【0102】D2.2.VCR式再生制御 媒体ストリーマ10は、一連のVCR式再生制御を提供
する。図12の媒体ストリーマ・グラフィカル・ユーザ
・インタフェースは、次の機能、すなわちロード、取出
し、再生、スロー、休止、停止、巻戻し、早送り、及び
無声(Mute)が使用可能であることを示す。これらの機
能は、グラフィカル・ユーザ・インタフェース上の対応
するソフト・ボタンをクリックすることにより活動化さ
れる。媒体ストリーマ・コマンド・ライン・インタフェ
ースは、次に示す類似の機能セットを提供する。 セットアップ:特定の出力ポートに対応して、ビデオを
セットアップする。VCRへのビデオ・カセットのロー
ディングに類似。 再生:セットアップされたビデオの再生を開始するか、
休止されていたビデオの再生を再開する。 休止:ビデオの再生を休止する。 切離し(Detach):VCRからのビデオ・カセットの取
出しに類似。 状態(Status):再生中のビデオ、再生経過時間などの
ポートの状態を表示する。
する。図12の媒体ストリーマ・グラフィカル・ユーザ
・インタフェースは、次の機能、すなわちロード、取出
し、再生、スロー、休止、停止、巻戻し、早送り、及び
無声(Mute)が使用可能であることを示す。これらの機
能は、グラフィカル・ユーザ・インタフェース上の対応
するソフト・ボタンをクリックすることにより活動化さ
れる。媒体ストリーマ・コマンド・ライン・インタフェ
ースは、次に示す類似の機能セットを提供する。 セットアップ:特定の出力ポートに対応して、ビデオを
セットアップする。VCRへのビデオ・カセットのロー
ディングに類似。 再生:セットアップされたビデオの再生を開始するか、
休止されていたビデオの再生を再開する。 休止:ビデオの再生を休止する。 切離し(Detach):VCRからのビデオ・カセットの取
出しに類似。 状態(Status):再生中のビデオ、再生経過時間などの
ポートの状態を表示する。
【0103】D2.3.拡張ユーザ制御 放送業界などの特定のアプリケーション要求をサポート
するために、本発明は次の幾つかの拡張ユーザ制御を提
供する。 再生リスト(Play list):複数のビデオ及びポート上
に再生されるそれらのシーケンスをセットアップする。 再生長(Play length):ビデオの再生時間を制限す
る。 バッチ・オペレーション:コマンド・ファイルに記憶さ
れるオペレーション・リストを実行する。
するために、本発明は次の幾つかの拡張ユーザ制御を提
供する。 再生リスト(Play list):複数のビデオ及びポート上
に再生されるそれらのシーケンスをセットアップする。 再生長(Play length):ビデオの再生時間を制限す
る。 バッチ・オペレーション:コマンド・ファイルに記憶さ
れるオペレーション・リストを実行する。
【0104】再生リスト及び再生長の制御は、グラフィ
カル・ユーザ・インタフェース上の"ロード"・ボタン1
34により達成される。各"セットアップ"・コマンド
は、特定のポートに対応する再生リストに追加されるビ
デオを指定する。これはまた、ビデオが再生される時間
制限を指定する。図13は、グラフィカル・ユーザ・イ
ンタフェース上の"ロード"・ソフト・ボタン134のク
リックに応答して、再生リストに追加されるビデオを選
択し、ビデオ再生の時間制限を指定するために現れるパ
ネルを示す。ユーザが"ファイル"・ボックス136内の
ファイル名をクリックすると、その名前が"ファイル名"
ボックス138に入力される。ユーザが"追加"ボタン1
40をクリックすると、"ファイル名"ボックス138内
のファイル名が、その時間制限と一緒に"再生リスト"・
ボックス142に追加され、現在の再生リストを(再生
リスト上の各ビデオの時間制限と一緒に)表示する。
カル・ユーザ・インタフェース上の"ロード"・ボタン1
34により達成される。各"セットアップ"・コマンド
は、特定のポートに対応する再生リストに追加されるビ
デオを指定する。これはまた、ビデオが再生される時間
制限を指定する。図13は、グラフィカル・ユーザ・イ
ンタフェース上の"ロード"・ソフト・ボタン134のク
リックに応答して、再生リストに追加されるビデオを選
択し、ビデオ再生の時間制限を指定するために現れるパ
ネルを示す。ユーザが"ファイル"・ボックス136内の
ファイル名をクリックすると、その名前が"ファイル名"
ボックス138に入力される。ユーザが"追加"ボタン1
40をクリックすると、"ファイル名"ボックス138内
のファイル名が、その時間制限と一緒に"再生リスト"・
ボックス142に追加され、現在の再生リストを(再生
リスト上の各ビデオの時間制限と一緒に)表示する。
【0105】バッチ・オペレーションは、グラフィカル
・ユーザ・インタフェース上の"バッチ"・ソフト・ボタ
ン130(図12参照)を使用することにより実行され
る。
・ユーザ・インタフェース上の"バッチ"・ソフト・ボタ
ン130(図12参照)を使用することにより実行され
る。
【0106】"バッチ"・ボタン130が活動化される
と、ユーザがコマンド・ファイル名(図14参照)を選
択または入力するためのバッチ選択パネルが表示され
る。バッチ選択パネル上の"実行"ボタン144を押下す
ることにより、選択コマンド・ファイル内のコマンドの
実行が開始する。図14は、グラフィカル・ユーザ・イ
ンタフェース上の"バッチ"及び"実行"オペレーションの
例である。例えば、ユーザは最初に、c:/batchcmdディ
レクトリ内のファイル"batch2"にコマンド・スクリプト
を生成する。ユーザは次に、図12に示されるグラフィ
カル・ユーザ・インタフェース上の"バッチ"・ボタン1
30をクリックし、バッチ選択パネルを呼出す。次にユ
ーザは、バッチ選択パネルの"ディレクトリ"・ボックス
146内の"c:/batchcmd"をクリックする。すると、"フ
ァイル"・ボックス148内にファイルのリストが表示
される。"ファイル"・ボックス148内の"batch2"の行
をクリックすると、これが"ファイル名"ボックス150
に入力される。最後に、ユーザは"実行"ボタン144を
クリックし、"batch2"ファイル内に記憶されるコマンド
を順次実行する。
と、ユーザがコマンド・ファイル名(図14参照)を選
択または入力するためのバッチ選択パネルが表示され
る。バッチ選択パネル上の"実行"ボタン144を押下す
ることにより、選択コマンド・ファイル内のコマンドの
実行が開始する。図14は、グラフィカル・ユーザ・イ
ンタフェース上の"バッチ"及び"実行"オペレーションの
例である。例えば、ユーザは最初に、c:/batchcmdディ
レクトリ内のファイル"batch2"にコマンド・スクリプト
を生成する。ユーザは次に、図12に示されるグラフィ
カル・ユーザ・インタフェース上の"バッチ"・ボタン1
30をクリックし、バッチ選択パネルを呼出す。次にユ
ーザは、バッチ選択パネルの"ディレクトリ"・ボックス
146内の"c:/batchcmd"をクリックする。すると、"フ
ァイル"・ボックス148内にファイルのリストが表示
される。"ファイル"・ボックス148内の"batch2"の行
をクリックすると、これが"ファイル名"ボックス150
に入力される。最後に、ユーザは"実行"ボタン144を
クリックし、"batch2"ファイル内に記憶されるコマンド
を順次実行する。
【0107】D3.アプリケーション・プログラム・イ
ンタフェース 媒体ストリーマ10は、上述のアプリケーション・プロ
グラム・インタフェース(API)を提供する。それに
より、アプリケーション制御プログラムは媒体ストリー
マ10と対話し、そのオペレーションを制御することが
できる(図11参照)。
ンタフェース 媒体ストリーマ10は、上述のアプリケーション・プロ
グラム・インタフェース(API)を提供する。それに
より、アプリケーション制御プログラムは媒体ストリー
マ10と対話し、そのオペレーションを制御することが
できる(図11参照)。
【0108】APIは遠隔プロシージャ呼出し(RP
C)ベースのプロシージャを含む。アプリケーション制
御プログラムは、プロシージャ呼出しにより、API機
能を呼出す。プロシージャ呼出しのパラメータが、実行
される機能を指定する。アプリケーション制御プログラ
ムは、媒体ストリーマ10の論理及び物理ロケーション
を考慮することなく、API機能を呼出す。ビデオ・サ
ービスを提供する媒体ストリーマ10の識別は、クライ
アント制御システムのスタートアップ時、または任意選
択的に、アプリケーション制御プログラムの開始時のい
ずれかに確立される。媒体ストリーマ10の識別が確立
されると、プロシージャ呼出しがサービスに対応する適
正な媒体ストリーマ10に仕向けられる。
C)ベースのプロシージャを含む。アプリケーション制
御プログラムは、プロシージャ呼出しにより、API機
能を呼出す。プロシージャ呼出しのパラメータが、実行
される機能を指定する。アプリケーション制御プログラ
ムは、媒体ストリーマ10の論理及び物理ロケーション
を考慮することなく、API機能を呼出す。ビデオ・サ
ービスを提供する媒体ストリーマ10の識別は、クライ
アント制御システムのスタートアップ時、または任意選
択的に、アプリケーション制御プログラムの開始時のい
ずれかに確立される。媒体ストリーマ10の識別が確立
されると、プロシージャ呼出しがサービスに対応する適
正な媒体ストリーマ10に仕向けられる。
【0109】後述される以外では、API機能は同期式
に処理される。すなわち、機能呼出しが呼出し人に返却
されると、その機能は実行され、媒体ストリーマ10に
おいて追加の処理は必要とされない。API機能を同期
オペレーションとして構成することにより、コンテキス
ト・スイッチングのための追加の処理オーバヘッド、非
同期信号送信、及びフィードバックが回避される。この
性能は厳しい実時間要求のために、ビデオ・サーバ・ア
プリケーションにおいては重要である。
に処理される。すなわち、機能呼出しが呼出し人に返却
されると、その機能は実行され、媒体ストリーマ10に
おいて追加の処理は必要とされない。API機能を同期
オペレーションとして構成することにより、コンテキス
ト・スイッチングのための追加の処理オーバヘッド、非
同期信号送信、及びフィードバックが回避される。この
性能は厳しい実時間要求のために、ビデオ・サーバ・ア
プリケーションにおいては重要である。
【0110】API機能の処理は、要求が受信される順
に実行される。このことはユーザ・オペレーションが正
しい順序で処理されることを保証する。例えば、ビデオ
はその再生以前に接続(セットアップ)されなければな
らない。別の例では、"再生"要求に続く"休止"要求によ
る順序の切替えが、完全に異なる結果をユーザに与え
る。
に実行される。このことはユーザ・オペレーションが正
しい順序で処理されることを保証する。例えば、ビデオ
はその再生以前に接続(セットアップ)されなければな
らない。別の例では、"再生"要求に続く"休止"要求によ
る順序の切替えが、完全に異なる結果をユーザに与え
る。
【0111】VS-PLAY機能はビデオの再生を開始し、
(ビデオ再生の完了まで待機することなく、)制御を呼
出し人に即時返却する。このアーキテクチャの論理的根
拠は、ビデオ再生の時間は通常、長く(数分から数時
間)、予測できないために(休止または停止コマンドが
発生しうる)、VS-PLAY機能を非同期にすることによ
り、予測不能なまま長時間割当てられうる資源を解放す
ることである。
(ビデオ再生の完了まで待機することなく、)制御を呼
出し人に即時返却する。このアーキテクチャの論理的根
拠は、ビデオ再生の時間は通常、長く(数分から数時
間)、予測できないために(休止または停止コマンドが
発生しうる)、VS-PLAY機能を非同期にすることによ
り、予測不能なまま長時間割当てられうる資源を解放す
ることである。
【0112】ビデオ再生の終了時に、媒体ストリーマ1
0は、アプリケーション制御プログラムにより指定され
るシステム/ポート・アドレスに非同期呼出しを生成
し、アプリケーション制御プログラムにビデオ完了事象
を通知する。システム/ポート・アドレスは、アプリケ
ーション制御プログラムがビデオを接続するために、AP
I VS-CONNECT機能を呼出す際に指定する。ここでVS-PLA
Yに対応するコールバック・システム/ポート・アドレ
スが、個々のビデオ・レベルにおいて指定されることを
述べておく。このことは、アプリケーション制御プログ
ラムが、自由にビデオ完了メッセージを任意の制御ポイ
ントに転送できることを意味する。例えば、あるアプリ
ケーションが、多くのまたは全てのクライアント制御シ
ステムに対するビデオ完了メッセージを処理するため
に、1つの中央システム/ポートの使用を望むかもしれ
ない。一方、別のアプリケーションにおいて、複数の異
なるシステム/ポート・アドレスが、あるクライアント
制御システムに対するビデオ完了メッセージを処理する
ために使用されうる。
0は、アプリケーション制御プログラムにより指定され
るシステム/ポート・アドレスに非同期呼出しを生成
し、アプリケーション制御プログラムにビデオ完了事象
を通知する。システム/ポート・アドレスは、アプリケ
ーション制御プログラムがビデオを接続するために、AP
I VS-CONNECT機能を呼出す際に指定する。ここでVS-PLA
Yに対応するコールバック・システム/ポート・アドレ
スが、個々のビデオ・レベルにおいて指定されることを
述べておく。このことは、アプリケーション制御プログ
ラムが、自由にビデオ完了メッセージを任意の制御ポイ
ントに転送できることを意味する。例えば、あるアプリ
ケーションが、多くのまたは全てのクライアント制御シ
ステムに対するビデオ完了メッセージを処理するため
に、1つの中央システム/ポートの使用を望むかもしれ
ない。一方、別のアプリケーションにおいて、複数の異
なるシステム/ポート・アドレスが、あるクライアント
制御システムに対するビデオ完了メッセージを処理する
ために使用されうる。
【0113】APIアーキテクチャにより、媒体ストリ
ーマ10は、異種のハードウェア及びソフトウェア・プ
ラットフォームを有する複数の並行クライアント制御シ
ステムをサポートできるようになり、オペレーション要
求の正しい順序を保証する上で、同期及び非同期タイプ
の両方のオペレーションを効率的に処理可能となる。例
えば媒体ストリーマ10は、PS/2システム上で実行
されるIBM OS/2オペレーティング・システムを
使用し、一方、クライアント制御システムは、RS/6
000システム上で実行されるIBM AIXオペレー
ティング・システムを使用することができる(IBM、
OS/2、PS/2、AIX、及びRS/6000は全
てIBM社の商標である)。
ーマ10は、異種のハードウェア及びソフトウェア・プ
ラットフォームを有する複数の並行クライアント制御シ
ステムをサポートできるようになり、オペレーション要
求の正しい順序を保証する上で、同期及び非同期タイプ
の両方のオペレーションを効率的に処理可能となる。例
えば媒体ストリーマ10は、PS/2システム上で実行
されるIBM OS/2オペレーティング・システムを
使用し、一方、クライアント制御システムは、RS/6
000システム上で実行されるIBM AIXオペレー
ティング・システムを使用することができる(IBM、
OS/2、PS/2、AIX、及びRS/6000は全
てIBM社の商標である)。
【0114】D4.クライアント/媒体ストリーマ通信 クライアント制御システムと媒体ストリーマ10との間
の通信は、例えば既知のタイプの遠隔プロシージャ呼出
し(RPC)機構を通じて達成される。図15は、クラ
イアント制御システム11と媒体ストリーマ10との間
の通信のためのRPC構造を示す。媒体ストリーマ機能
の呼出しにおいて、クライアント制御システム11はR
PCクライアントとして機能し、媒体ストリーマ10は
RPCサーバとして機能する。これは図15の(A)に
示される。しかしながら、非同期機能、すなわちVS-PLA
Yでは、その完了により媒体ストリーマ10がクライア
ント制御システム11へ呼出しを生成する。この場合、
クライアント制御システム11はRPCサーバとして機
能し、媒体ストリーマ10はRPCクライアントとして
機能する。これは図15の(B)に示される。
の通信は、例えば既知のタイプの遠隔プロシージャ呼出
し(RPC)機構を通じて達成される。図15は、クラ
イアント制御システム11と媒体ストリーマ10との間
の通信のためのRPC構造を示す。媒体ストリーマ機能
の呼出しにおいて、クライアント制御システム11はR
PCクライアントとして機能し、媒体ストリーマ10は
RPCサーバとして機能する。これは図15の(A)に
示される。しかしながら、非同期機能、すなわちVS-PLA
Yでは、その完了により媒体ストリーマ10がクライア
ント制御システム11へ呼出しを生成する。この場合、
クライアント制御システム11はRPCサーバとして機
能し、媒体ストリーマ10はRPCクライアントとして
機能する。これは図15の(B)に示される。
【0115】D4.1.クライアント制御システム11 クライアント制御システム11では、ユーザ・コマンド
・ライン・インタフェースが3つの内部並列プロセス
(スレッド)を含む。第1のプロセスはユーザ・コマン
ド・ライン入力を解析し、API機能を呼出すことによ
り、要求オペレーションを実行する。その結果、RPC
呼出しが媒体ストリーマ10に発行される(図15の
(A))。このプロセスはまた、様々な出力ポートに対
応してセットアップされ再生されるビデオの状態を追跡
する。第2のプロセスは、周期的に、各ビデオの経過再
生時間を、その指定時間制限に対してチェックする。ビ
デオがその時間制限に達すると、ビデオは停止されて切
断され、同一出力ポートに対応する待機キュー内の次の
ビデオが、(もし存在する場合には)開始される。クラ
イアント制御システム11における第3のプロセスは、
RPCサーバとして機能し、媒体ストリーマ10からVS
-PLAY非同期終了通知を受信する(図15の(B))。
・ライン・インタフェースが3つの内部並列プロセス
(スレッド)を含む。第1のプロセスはユーザ・コマン
ド・ライン入力を解析し、API機能を呼出すことによ
り、要求オペレーションを実行する。その結果、RPC
呼出しが媒体ストリーマ10に発行される(図15の
(A))。このプロセスはまた、様々な出力ポートに対
応してセットアップされ再生されるビデオの状態を追跡
する。第2のプロセスは、周期的に、各ビデオの経過再
生時間を、その指定時間制限に対してチェックする。ビ
デオがその時間制限に達すると、ビデオは停止されて切
断され、同一出力ポートに対応する待機キュー内の次の
ビデオが、(もし存在する場合には)開始される。クラ
イアント制御システム11における第3のプロセスは、
RPCサーバとして機能し、媒体ストリーマ10からVS
-PLAY非同期終了通知を受信する(図15の(B))。
【0116】D4.2.媒体ストリーマ10 媒体ストリーマ10のスタートアップの間、クライアン
ト制御システム11と媒体ストリーマ10との間のRP
Cをサポートするために、2つの並列プロセス(スレッ
ド)が呼出される。第1のプロセスは、クライアント制
御システム11から到来するAPI機能呼出しに対し、
RPCサーバとして機能する(図15の(A))。第1
のプロセスはRPC呼出しを受信し、要求機能(VS-CON
NECT、VS-PLAY、VS-DISCONNECTなど)を実行するため
に、適切なプロシージャをディスパッチする。第2のプ
ロセスは、適切なクライアント制御システム・アドレス
を呼出すRPCクライアントとして機能し、アプリケー
ション制御プログラムに非同期終了事象を通知する。こ
のプロセスは内部パイプ上で待機して、自身をブロック
する。このパイプは、ビデオの再生を処理する他のプロ
セスにより書込まれる。後者すなわち他のプロセスがビ
デオの終りまたは異常終了状態に達すると、これはパイ
プにメッセージを書込む。ブロックされたプロセスはメ
ッセージを読出し、適切なクライアント制御システム1
1のポート・アドレスにRPC呼出しを生成し(図15
の(B))、それによりクライアント制御システムはそ
の状態を更新し、適宜アクションを起こすことができ
る。
ト制御システム11と媒体ストリーマ10との間のRP
Cをサポートするために、2つの並列プロセス(スレッ
ド)が呼出される。第1のプロセスは、クライアント制
御システム11から到来するAPI機能呼出しに対し、
RPCサーバとして機能する(図15の(A))。第1
のプロセスはRPC呼出しを受信し、要求機能(VS-CON
NECT、VS-PLAY、VS-DISCONNECTなど)を実行するため
に、適切なプロシージャをディスパッチする。第2のプ
ロセスは、適切なクライアント制御システム・アドレス
を呼出すRPCクライアントとして機能し、アプリケー
ション制御プログラムに非同期終了事象を通知する。こ
のプロセスは内部パイプ上で待機して、自身をブロック
する。このパイプは、ビデオの再生を処理する他のプロ
セスにより書込まれる。後者すなわち他のプロセスがビ
デオの終りまたは異常終了状態に達すると、これはパイ
プにメッセージを書込む。ブロックされたプロセスはメ
ッセージを読出し、適切なクライアント制御システム1
1のポート・アドレスにRPC呼出しを生成し(図15
の(B))、それによりクライアント制御システムはそ
の状態を更新し、適宜アクションを起こすことができ
る。
【0117】E.ビデオ配布のための媒体ストリーマ・
メモリ構成及び最適化 本発明の1態様は、キャッシュ管理及び関連入出力オペ
レーションをビデオ配布環境に個別に適合化する統合機
構を提供する。次に、本発明のこの態様について詳細に
説明する。
メモリ構成及び最適化 本発明の1態様は、キャッシュ管理及び関連入出力オペ
レーションをビデオ配布環境に個別に適合化する統合機
構を提供する。次に、本発明のこの態様について詳細に
説明する。
【0118】E1.従来のキャッシュ管理 従来のキャッシュ管理機構は、キャッシュ制御装置及び
オペレーティング・システムのファイル・サブシステム
内に組込まれる。これらは汎用使用に対応して設計され
ており、ビデオ配布のニーズに適合するように特殊化さ
れていない。
オペレーティング・システムのファイル・サブシステム
内に組込まれる。これらは汎用使用に対応して設計され
ており、ビデオ配布のニーズに適合するように特殊化さ
れていない。
【0119】図16は、ビデオ配布に対応して、従来の
キャッシュ管理機構が構成される1つの方法を示す。こ
の技法は、2つのディスク・ファイル160、162の
間でのビデオの分離(なぜならビデオが1ファイルにと
って大き過ぎるので)と、ファイル・システム166、
媒体サーバ168及びビデオ・ドライバ170を含むプ
ロセッサとを使用する。更に図には、2つのビデオ・ス
トリームに対応する2つのビデオ・アダプタ・ポート1
72、174が示される。また、ディスク・ファイル1
60のセグメントを主記憶に読出し、順次データを第1
のビデオ・ポート172に書込むデータ・フロー、並び
に同一のセグメントを読出し、それを第2のビデオ・ポ
ート174に書込むデータ・フローが示される。図16
は、本発明の媒体ストリーマ10により克服される従来
技術の問題を説明するために使用される。
キャッシュ管理機構が構成される1つの方法を示す。こ
の技法は、2つのディスク・ファイル160、162の
間でのビデオの分離(なぜならビデオが1ファイルにと
って大き過ぎるので)と、ファイル・システム166、
媒体サーバ168及びビデオ・ドライバ170を含むプ
ロセッサとを使用する。更に図には、2つのビデオ・ス
トリームに対応する2つのビデオ・アダプタ・ポート1
72、174が示される。また、ディスク・ファイル1
60のセグメントを主記憶に読出し、順次データを第1
のビデオ・ポート172に書込むデータ・フロー、並び
に同一のセグメントを読出し、それを第2のビデオ・ポ
ート174に書込むデータ・フローが示される。図16
は、本発明の媒体ストリーマ10により克服される従来
技術の問題を説明するために使用される。
【0120】図16のステップA1乃至A12の説明: A1.セグメントSKをビデオ・ドライバ170内のバ
ッファに読出すために、媒体サーバ168がファイル・
システム166を呼出す。 A2.ファイル・システム166がSKの1部をファイ
ル・システム166内のキャッシュ・バッファに読出
す。 A3.ファイル・システム166がキャッシュ・バッフ
ァを媒体サーバ168内のバッファにコピーする。ステ
ップA2及びA3が複数回繰返される。 A4.SKをビデオ・ポート1(172)に書込むため
に、媒体サーバ168がビデオ・ドライバ170を呼出
す。 A5.媒体サーバ168がSKの1部を、ビデオ・ドラ
イバ170内のバッファにコピーする。 A6.ビデオ・ドライバ170がバッファをビデオ・ポ
ート1(172)に書込む。ステップA5及びA6が複
数回繰返される。
ッファに読出すために、媒体サーバ168がファイル・
システム166を呼出す。 A2.ファイル・システム166がSKの1部をファイ
ル・システム166内のキャッシュ・バッファに読出
す。 A3.ファイル・システム166がキャッシュ・バッフ
ァを媒体サーバ168内のバッファにコピーする。ステ
ップA2及びA3が複数回繰返される。 A4.SKをビデオ・ポート1(172)に書込むため
に、媒体サーバ168がビデオ・ドライバ170を呼出
す。 A5.媒体サーバ168がSKの1部を、ビデオ・ドラ
イバ170内のバッファにコピーする。 A6.ビデオ・ドライバ170がバッファをビデオ・ポ
ート1(172)に書込む。ステップA5及びA6が複
数回繰返される。
【0121】ステップA7乃至A12は、ポート1がポ
ート2に変更される以外は、同様に機能する。ポート2
に対応して要求されるとき、SKの1部がファイル・シ
ステム166のキャッシュ内に存在すれば、ステップA
8がスキップされうる。
ート2に変更される以外は、同様に機能する。ポート2
に対応して要求されるとき、SKの1部がファイル・シ
ステム166のキャッシュ内に存在すれば、ステップA
8がスキップされうる。
【0122】上述の説明から理解されるように、ビデオ
配布は複数のデータ・ストリームによる大量のデータの
転送を含む。全体的使用パターンは、キャッシングを最
適化するために使用される従来の2つのパターン、すな
わちランダム及び順次のいずれにも適合しない。ランダ
ム・オプションが選択されると、大部分のキャッシュ・
バッファが、最近読出されたビデオ・セグメントからの
データを含みうるが、消滅以前に読出される見込みのあ
るビデオ・ストリームを有さないであろう。順次オプシ
ョンが選択されると、大部分の最近使用されたキャッシ
ュ・バッファが最初に再使用されるので、ファイル・シ
ステム・キャッシュ内で、必要セグメント部分を見い出
す機会は稀である。上述のように、ビデオ配布の重要な
要素は、観賞者またはユーザが不快に感じるような中断
無しに、データ・ストリームを等時的に配布することで
ある。従来のキャッシング機構は、図示のように、ユー
ザへのビデオ・データ・ストリームの等時的配布を保証
することができない。
配布は複数のデータ・ストリームによる大量のデータの
転送を含む。全体的使用パターンは、キャッシングを最
適化するために使用される従来の2つのパターン、すな
わちランダム及び順次のいずれにも適合しない。ランダ
ム・オプションが選択されると、大部分のキャッシュ・
バッファが、最近読出されたビデオ・セグメントからの
データを含みうるが、消滅以前に読出される見込みのあ
るビデオ・ストリームを有さないであろう。順次オプシ
ョンが選択されると、大部分の最近使用されたキャッシ
ュ・バッファが最初に再使用されるので、ファイル・シ
ステム・キャッシュ内で、必要セグメント部分を見い出
す機会は稀である。上述のように、ビデオ配布の重要な
要素は、観賞者またはユーザが不快に感じるような中断
無しに、データ・ストリームを等時的に配布することで
ある。従来のキャッシング機構は、図示のように、ユー
ザへのビデオ・データ・ストリームの等時的配布を保証
することができない。
【0123】図16に示される別の問題点を次に示す。 a.ディスク及びビデオ・ポート入出力が、一般のファ
イル・システム要求を満足する比較的小さなセグメント
において実行される。このことは、ビデオ・セグメント
・サイズのセグメントにより要求されるよりも、より大
きな処理時間、ディスク・シーク・オーバヘッド、及び
バス・オーバヘッドを要求する。 b.ファイル・システム・キャッシュ・バッファと媒体
サーバ・バッファとの間、及び媒体サーバ・バッファと
ビデオ・ドライバ・バッファとの間でデータをコピーす
るために要する処理時間は、排除されるべき好ましくな
いオーバヘッドである。 c.同一ビデオ・セグメントのコピーを同時に含むため
に、2つのビデオ・バッファ(すなわち172、17
4)を使用することは、主メモリの使用を非効率的にす
る。更に、同一データがファイル・システム・キャッシ
ュ及びビデオ・ドライバ・バッファの両方に記憶される
ときには、より大きな無駄が生じる。
イル・システム要求を満足する比較的小さなセグメント
において実行される。このことは、ビデオ・セグメント
・サイズのセグメントにより要求されるよりも、より大
きな処理時間、ディスク・シーク・オーバヘッド、及び
バス・オーバヘッドを要求する。 b.ファイル・システム・キャッシュ・バッファと媒体
サーバ・バッファとの間、及び媒体サーバ・バッファと
ビデオ・ドライバ・バッファとの間でデータをコピーす
るために要する処理時間は、排除されるべき好ましくな
いオーバヘッドである。 c.同一ビデオ・セグメントのコピーを同時に含むため
に、2つのビデオ・バッファ(すなわち172、17
4)を使用することは、主メモリの使用を非効率的にす
る。更に、同一データがファイル・システム・キャッシ
ュ及びビデオ・ドライバ・バッファの両方に記憶される
ときには、より大きな無駄が生じる。
【0124】E2.ビデオ用に最適化されたキャッシュ
管理 本発明のこの態様によれば、キャッシュ管理オペレーシ
ョンの3つの主要な面(facet)が存在する。それら
は、ストリームに渡るセグメント・サイズのキャッシュ
・バッファの共有化、予測キャッシング、及びキャッシ
ングの最適化のための同期化である。
管理 本発明のこの態様によれば、キャッシュ管理オペレーシ
ョンの3つの主要な面(facet)が存在する。それら
は、ストリームに渡るセグメント・サイズのキャッシュ
・バッファの共有化、予測キャッシング、及びキャッシ
ングの最適化のための同期化である。
【0125】E2.1.ストリームに渡るセグメント・
サイズのキャッシュ・バッファの共有化 ビデオは固定サイズのセグメントに記憶され、管理され
る。セグメントは順次番号付けされ、例えばセグメント
5は、セグメント6よりもプレゼンテーションの開始に
より近いビデオ・プレゼンテーション部分を記憶する。
セグメント・サイズは、ディスク入出力、ビデオ入出
力、バス使用度、及びプロセッサ使用度を最適化するよ
うに選択される。ビデオのセグメントは、ビデオ名だけ
に依存する固定の内容、及びセグメント番号を有する。
ディスク及びビデオ出力への全ての入出力、及び全ての
キャッシング・オペレーションは、セグメント境界上に
整列されて実行される。
サイズのキャッシュ・バッファの共有化 ビデオは固定サイズのセグメントに記憶され、管理され
る。セグメントは順次番号付けされ、例えばセグメント
5は、セグメント6よりもプレゼンテーションの開始に
より近いビデオ・プレゼンテーション部分を記憶する。
セグメント・サイズは、ディスク入出力、ビデオ入出
力、バス使用度、及びプロセッサ使用度を最適化するよ
うに選択される。ビデオのセグメントは、ビデオ名だけ
に依存する固定の内容、及びセグメント番号を有する。
ディスク及びビデオ出力への全ての入出力、及び全ての
キャッシング・オペレーションは、セグメント境界上に
整列されて実行される。
【0126】本発明のこの態様は、基礎となるハードウ
ェアがピア・ツー・ピア・オペレーションをサポートす
るかどうか、すなわち、通信ノード内のキャッシュ・メ
モリを介することなく、ディスクと通信ノード14内の
ビデオ出力カードとの間の直接データ・フローをサポー
トするかどうかにより、2つの形態を取る。ピア・ツー
・ピア・オペレーションでは、キャッシングがディスク
記憶ユニット16で実行される。ピア・ツー・ピア・オ
ペレーションをサポートしないハードウェアでは、デー
タがセグメント・サイズのブロックにより、(通信ノー
ド14内の)ページ変え連続キャッシュ・メモリに直接
読出され、入出力オペレーション及びデータ転送を最小
化する(F.ビデオ用に最適化されたデジタル・メモリ
割当てを参照)。
ェアがピア・ツー・ピア・オペレーションをサポートす
るかどうか、すなわち、通信ノード内のキャッシュ・メ
モリを介することなく、ディスクと通信ノード14内の
ビデオ出力カードとの間の直接データ・フローをサポー
トするかどうかにより、2つの形態を取る。ピア・ツー
・ピア・オペレーションでは、キャッシングがディスク
記憶ユニット16で実行される。ピア・ツー・ピア・オ
ペレーションをサポートしないハードウェアでは、デー
タがセグメント・サイズのブロックにより、(通信ノー
ド14内の)ページ変え連続キャッシュ・メモリに直接
読出され、入出力オペレーション及びデータ転送を最小
化する(F.ビデオ用に最適化されたデジタル・メモリ
割当てを参照)。
【0127】データは同一ロケーションに留まり、ビデ
オ・セグメントがもはや必要とされなくなるまで、この
ロケーションから直接書込まれる。ビデオ・セグメント
がキャッシングされる間、ビデオ・セグメントを出力す
る必要のある全てのビデオ・ストリームが、同一のキャ
ッシュ・バッファをアクセスする。従って、ビデオ・セ
グメントの単一のコピーが多くのユーザにより使用さ
れ、同一ビデオ・セグメントの追加のコピーを読出すた
めの追加の入出力、並びにプロセッサ及びバッファ・メ
モリの使用が回避される。ピア・ツー・ピア・オペレー
ションでは、残りの入出力の半分、並びにほとんど全て
のプロセッサ及び主メモリの使用が、通信ノード14に
おいて回避される。
オ・セグメントがもはや必要とされなくなるまで、この
ロケーションから直接書込まれる。ビデオ・セグメント
がキャッシングされる間、ビデオ・セグメントを出力す
る必要のある全てのビデオ・ストリームが、同一のキャ
ッシュ・バッファをアクセスする。従って、ビデオ・セ
グメントの単一のコピーが多くのユーザにより使用さ
れ、同一ビデオ・セグメントの追加のコピーを読出すた
めの追加の入出力、並びにプロセッサ及びバッファ・メ
モリの使用が回避される。ピア・ツー・ピア・オペレー
ションでは、残りの入出力の半分、並びにほとんど全て
のプロセッサ及び主メモリの使用が、通信ノード14に
おいて回避される。
【0128】図17は、ピア・ツー・ピア・オペレーシ
ョンを持たないシステムの場合の本発明の実施例を示
す。ビデオ・データがディスク記憶ノード16上でスト
ライプされ、奇数番号のセグメントが第1のディスク記
憶ノード180に、また偶数番号のセグメントが第2の
ディスク記憶ノード182上に配置される(後述のセク
ションH参照)。
ョンを持たないシステムの場合の本発明の実施例を示
す。ビデオ・データがディスク記憶ノード16上でスト
ライプされ、奇数番号のセグメントが第1のディスク記
憶ノード180に、また偶数番号のセグメントが第2の
ディスク記憶ノード182上に配置される(後述のセク
ションH参照)。
【0129】この構成におけるデータ・フローもまた図
17に示される。図からわかるように、セグメントSK
がディスク182から通信ノード186内のキャッシュ
・バッファ184に読出され、次にビデオ出力ポート1
及び2に書込まれる。SKビデオ・データ・セグメント
は、1入出力オペレーションによりキャッシュ・バッフ
ァ184に直接読出され、次にポート1に書込まれる。
次にSKビデオ・データ・セグメントが1入出力オペレ
ーションにより、キャッシュ・バッファ184からポー
ト2に書込まれる。
17に示される。図からわかるように、セグメントSK
がディスク182から通信ノード186内のキャッシュ
・バッファ184に読出され、次にビデオ出力ポート1
及び2に書込まれる。SKビデオ・データ・セグメント
は、1入出力オペレーションによりキャッシュ・バッフ
ァ184に直接読出され、次にポート1に書込まれる。
次にSKビデオ・データ・セグメントが1入出力オペレ
ーションにより、キャッシュ・バッファ184からポー
ト2に書込まれる。
【0130】以上から理解されるように、図16の従来
のアプローチに関連して述べられた全ての問題が、図1
7に示されるシステムにより克服される。
のアプローチに関連して述べられた全ての問題が、図1
7に示されるシステムにより克服される。
【0131】図18は、ディスク記憶ノードとビデオ出
力カードとの間のピア・ツー・ピア・オペレーションを
サポートする構成の場合のデータ・フローを示す。1対
のディスク・ドライブ190、192が、ストライプさ
れたビデオ・プレゼンテーションを含み、これが介入す
る通信ノード14の主メモリを通過することなく、1対
のビデオ・ポート194、196に直接供給される。
力カードとの間のピア・ツー・ピア・オペレーションを
サポートする構成の場合のデータ・フローを示す。1対
のディスク・ドライブ190、192が、ストライプさ
れたビデオ・プレゼンテーションを含み、これが介入す
る通信ノード14の主メモリを通過することなく、1対
のビデオ・ポート194、196に直接供給される。
【0132】この構成のデータ・フローは、(1入出力
オペレーションにより、)セグメントSKをディスク1
92からディスク・キャッシュ・バッファ198を介し
て、直接ポート1に読出す。
オペレーションにより、)セグメントSKをディスク1
92からディスク・キャッシュ・バッファ198を介し
て、直接ポート1に読出す。
【0133】セグメントSKをポート2に読出す呼出し
が続く場合、(1入出力オペレーションにより)セグメ
ントSKがディスク・キャッシュ・バッファ198から
ポート2に直接読出される。
が続く場合、(1入出力オペレーションにより)セグメ
ントSKがディスク・キャッシュ・バッファ198から
ポート2に直接読出される。
【0134】ポート1に対応してディスク・キャッシュ
・バッファ198に読出されたデータが、ポート2への
書込みに対応してまだ存在すると、メモリ、バス及びプ
ロセッサ資源の最適な使用により、ポート1及び2への
ビデオ・セグメントの転送が達成される。
・バッファ198に読出されたデータが、ポート2への
書込みに対応してまだ存在すると、メモリ、バス及びプ
ロセッサ資源の最適な使用により、ポート1及び2への
ビデオ・セグメントの転送が達成される。
【0135】ピア・ツー・ピア及び主メモリ・キャッシ
ング機構を組合わせることが可能である。例えば、通信
ノード14の1つのポートだけに再生されているビデオ
・プレゼンテーションに対応して、ピア・ツー・ピア・
オペレーションを使用し、通信ノード14の複数のポー
トに再生されているビデオ・プレゼンテーションに対応
して、通信ノード14内にキャッシングする。
ング機構を組合わせることが可能である。例えば、通信
ノード14の1つのポートだけに再生されているビデオ
・プレゼンテーションに対応して、ピア・ツー・ピア・
オペレーションを使用し、通信ノード14の複数のポー
トに再生されているビデオ・プレゼンテーションに対応
して、通信ノード14内にキャッシングする。
【0136】ディスク記憶ノードと通信ノードとの間で
キャッシングの役割を分割する方法は、所与のハードウ
ェア構成によりサポートされるビデオ・ストリーム数を
最大化するために選択される。サポートされるストリー
ムの数が知れている場合には、キャッシング記憶の容量
及び配置が決定されうる。
キャッシングの役割を分割する方法は、所与のハードウ
ェア構成によりサポートされるビデオ・ストリーム数を
最大化するために選択される。サポートされるストリー
ムの数が知れている場合には、キャッシング記憶の容量
及び配置が決定されうる。
【0137】E2.2.予測キャッシング 予測キャッシング機構は、ビデオ配布に好適なキャッシ
ング方法のニーズに適合する。ビデオ・プレゼンテーシ
ョンは、一般に、非常に予測可能である。通常、これら
は最初から再生を開始し、かなり長い所定時間を固定の
レートで再生し、終りに達したときにのみ停止する。媒
体ストリーマ10のキャッシング・アプローチはこの予
測性を利用し、任意の時にキャッシングされるビデオ・
セグメントのセットを最適化する。
ング方法のニーズに適合する。ビデオ・プレゼンテーシ
ョンは、一般に、非常に予測可能である。通常、これら
は最初から再生を開始し、かなり長い所定時間を固定の
レートで再生し、終りに達したときにのみ停止する。媒
体ストリーマ10のキャッシング・アプローチはこの予
測性を利用し、任意の時にキャッシングされるビデオ・
セグメントのセットを最適化する。
【0138】この予測性は、キャッシュ・バッファを充
填する読出しオペレーションのスケジューリングと、キ
ャッシュ・バッファの再使用のためのアルゴリズムの駆
動の両方に対応して使用される。消滅以前の使用が予測
されない内容を有するバッファは即時再使用され、より
高い優先順位の使用のためにその空間を解放する。それ
に対して、合理的な時間内に使用される見込みのある内
容を有するバッファは、たとえそれらの最後の使用がず
っと以前であっても再使用されない。
填する読出しオペレーションのスケジューリングと、キ
ャッシュ・バッファの再使用のためのアルゴリズムの駆
動の両方に対応して使用される。消滅以前の使用が予測
されない内容を有するバッファは即時再使用され、より
高い優先順位の使用のためにその空間を解放する。それ
に対して、合理的な時間内に使用される見込みのある内
容を有するバッファは、たとえそれらの最後の使用がず
っと以前であっても再使用されない。
【0139】より詳細には、ビデオv1、v
2、...、及びストリームs1、s2、...、が与
えられ、これらのビデオを再生する場合、各ストリーム
sjは1つのビデオv(sj)を再生し、v(sj)の
k番目のセグメントを書込むために予測される時間は、
次の線形関数で表される。
2、...、及びストリームs1、s2、...、が与
えられ、これらのビデオを再生する場合、各ストリーム
sjは1つのビデオv(sj)を再生し、v(sj)の
k番目のセグメントを書込むために予測される時間は、
次の線形関数で表される。
【数1】t(sj、k)=a(sj)+r(sj)k
【0140】ここでa(sj)は開始時間及び開始セグ
メント番号に依存し、r(sj)はセグメントを再生す
るために要する一定時間であり、t(sj、k)はスト
リームsjのk番目のセグメントを再生するためにスケ
ジュールされる時間である。
メント番号に依存し、r(sj)はセグメントを再生す
るために要する一定時間であり、t(sj、k)はスト
リームsjのk番目のセグメントを再生するためにスケ
ジュールされる時間である。
【0141】この情報はキャッシュ・バッファを充填す
る読出しオペレーションのスケジューリングと、キャッ
シュ・バッファを再使用するアルゴリズムの駆動の両方
に対応して使用される。キャッシュ管理アルゴリズムの
オペレーションの幾つかの例について、次に示す。
る読出しオペレーションのスケジューリングと、キャッ
シュ・バッファを再使用するアルゴリズムの駆動の両方
に対応して使用される。キャッシュ管理アルゴリズムの
オペレーションの幾つかの例について、次に示す。
【0142】例A:現在再生中の任意のビデオ・ストリ
ームによる再生が予測されないビデオ・セグメントを含
むキャッシュ・バッファが、再生が予測される任意のバ
ッファより先に再使用される。この制約を満足した後、
ビデオの再生頻度及びセグメント番号が、キャッシュ済
みのビデオ・セグメントを保存するための優先順位を決
定する重みとして使用される。このグループ内の最も高
い保存優先順位が、頻繁に再生されるビデオの早期に発
生するビデオ・セグメントに割当てられる。
ームによる再生が予測されないビデオ・セグメントを含
むキャッシュ・バッファが、再生が予測される任意のバ
ッファより先に再使用される。この制約を満足した後、
ビデオの再生頻度及びセグメント番号が、キャッシュ済
みのビデオ・セグメントを保存するための優先順位を決
定する重みとして使用される。このグループ内の最も高
い保存優先順位が、頻繁に再生されるビデオの早期に発
生するビデオ・セグメントに割当てられる。
【0143】例B:再生が予測されるビデオ・セグメン
トを含むキャッシュ・バッファに対して、次の予測再生
時間及びビデオ・セグメントを再生するために残された
ストリーム数が、キャッシュ済みのビデオ・セグメント
を保存するための優先順位を決定する重みとして使用さ
れる。これらの重みは、実質的に、あるキャッシュ・バ
ッファの保存優先順位を、(任意のビデオ・セグメント
に対応して)再使用されるキャッシュ・バッファを有す
る入出力の予測数と、保存されるキャッシュ・バッファ
を有する入出力の予測数との差にセットする。
トを含むキャッシュ・バッファに対して、次の予測再生
時間及びビデオ・セグメントを再生するために残された
ストリーム数が、キャッシュ済みのビデオ・セグメント
を保存するための優先順位を決定する重みとして使用さ
れる。これらの重みは、実質的に、あるキャッシュ・バ
ッファの保存優先順位を、(任意のビデオ・セグメント
に対応して)再使用されるキャッシュ・バッファを有す
る入出力の予測数と、保存されるキャッシュ・バッファ
を有する入出力の予測数との差にセットする。
【0144】例えば、v5がs7上で再生されており、
v8がs2及びs3上で再生されており、s2がs3よ
りも5秒遅れており、v4がストリームs12乃至s2
0上で再生されており、各ストリームが次のストリーム
より30秒遅れるとすると、s7により既に使用された
v5データを含むバッファが最初に再使用され、次にs
2により既に使用されたv8データを含むバッファ、続
いてs12により既に使用されたv4データを含むバッ
ファが再使用され、次に最も低い保存優先順位を有する
残りのバッファが再使用される。
v8がs2及びs3上で再生されており、s2がs3よ
りも5秒遅れており、v4がストリームs12乃至s2
0上で再生されており、各ストリームが次のストリーム
より30秒遅れるとすると、s7により既に使用された
v5データを含むバッファが最初に再使用され、次にs
2により既に使用されたv8データを含むバッファ、続
いてs12により既に使用されたv4データを含むバッ
ファが再使用され、次に最も低い保存優先順位を有する
残りのバッファが再使用される。
【0145】キャッシュ管理アルゴリズムは、接続オペ
レーション(ビデオ・セグメントが近い将来再生される
ことが予測されるが、その時期を正確に予測することが
できない)、及び停止オペレーション(以前の予測が修
正されなければならない)などの特殊な場合に対応して
変化を提供する。
レーション(ビデオ・セグメントが近い将来再生される
ことが予測されるが、その時期を正確に予測することが
できない)、及び停止オペレーション(以前の予測が修
正されなければならない)などの特殊な場合に対応して
変化を提供する。
【0146】E2.3.キャッシングを最適化する同期
ストリーム 所与のビデオ・セグメントを要求する全てのストリーム
をクラスタ化し、そのセグメントを含むキャッシュ・バ
ッファが記憶されなければならない時間を最小化し、そ
れにより、より多くのシステム容量を他のビデオ・スト
リームのために使用可能にすることが望ましい。ビデオ
再生において、通常、セグメントの再生レートにほとん
ど柔軟性はない。しかしながら、ビデオ配布の特定のア
プリケーションでは、再生レートに柔軟性がある(すな
わち、人間の逆反応を引き起こすこと無く、ビデオ及び
音声が僅かに加速または減速されうる)。更にビデオが
即時観賞以外の目的で配布されることもありうる。レー
トの変化が可能な場合、ストリーム間のギャップを無く
し、セグメントがバッファリングされていなければなら
ない時間を低減するために、時間的に先に出力されるス
トリームが最小許容レートで再生され、後に出力される
ストリームが最大許容レートで再生される。
ストリーム 所与のビデオ・セグメントを要求する全てのストリーム
をクラスタ化し、そのセグメントを含むキャッシュ・バ
ッファが記憶されなければならない時間を最小化し、そ
れにより、より多くのシステム容量を他のビデオ・スト
リームのために使用可能にすることが望ましい。ビデオ
再生において、通常、セグメントの再生レートにほとん
ど柔軟性はない。しかしながら、ビデオ配布の特定のア
プリケーションでは、再生レートに柔軟性がある(すな
わち、人間の逆反応を引き起こすこと無く、ビデオ及び
音声が僅かに加速または減速されうる)。更にビデオが
即時観賞以外の目的で配布されることもありうる。レー
トの変化が可能な場合、ストリーム間のギャップを無く
し、セグメントがバッファリングされていなければなら
ない時間を低減するために、時間的に先に出力されるス
トリームが最小許容レートで再生され、後に出力される
ストリームが最大許容レートで再生される。
【0147】同一のビデオ・プレゼンテーションを使用
するストリームのクラスタ化は、接続及び再生オペレー
ションの間にも考慮される。例えば、VS-PLAY-AT-SIGNA
Lは、複数ストリーム上で同時にビデオの再生を開始す
るときに使用される。これはクラスタ化を改良し、他の
ビデオ・ストリームのためにより多くのシステム資源を
残し、システムの有効容量を拡張する。より詳細には、
1番目のストリームを2番目のストリームに一致させる
ように、短い時間遅延させることによるクラスタ化は、
キャッシュ内のセグメントの1つのコピーを両方のスト
リームに対応して使用可能とし、処理資産を節約する。
するストリームのクラスタ化は、接続及び再生オペレー
ションの間にも考慮される。例えば、VS-PLAY-AT-SIGNA
Lは、複数ストリーム上で同時にビデオの再生を開始す
るときに使用される。これはクラスタ化を改良し、他の
ビデオ・ストリームのためにより多くのシステム資源を
残し、システムの有効容量を拡張する。より詳細には、
1番目のストリームを2番目のストリームに一致させる
ように、短い時間遅延させることによるクラスタ化は、
キャッシュ内のセグメントの1つのコピーを両方のスト
リームに対応して使用可能とし、処理資産を節約する。
【0148】F.ビデオ用に最適化されたデジタル・メ
モリ割当て デジタル・ビデオ・データは、非ランダムすなわち順次
的で、大容量で、内容に厳格ではなく時間に厳格である
点で、通常のデータ処理データとは異なる属性を有す
る。データ経路における全ての非本質的なオーバヘッド
を最小化するように、複数のデータ・ストリームが高ビ
ット・レートで配布されなければならない。媒体ストリ
ーマ10の効率及び容量を最大化するために、慎重なバ
ッファ管理が要求される。メモリ割当て、割当て解除及
びアクセスがこのプロセスにおける主要な要素であり、
不適切な使用はメモリ断片化(fragmentation)、効率
の低下、及びビデオ・データの遅延または腐敗を招きう
る。
モリ割当て デジタル・ビデオ・データは、非ランダムすなわち順次
的で、大容量で、内容に厳格ではなく時間に厳格である
点で、通常のデータ処理データとは異なる属性を有す
る。データ経路における全ての非本質的なオーバヘッド
を最小化するように、複数のデータ・ストリームが高ビ
ット・レートで配布されなければならない。媒体ストリ
ーマ10の効率及び容量を最大化するために、慎重なバ
ッファ管理が要求される。メモリ割当て、割当て解除及
びアクセスがこのプロセスにおける主要な要素であり、
不適切な使用はメモリ断片化(fragmentation)、効率
の低下、及びビデオ・データの遅延または腐敗を招きう
る。
【0149】本発明の媒体ストリーマ10は、高レベル
・アプリケーションがデジタル・ビデオ・データに対応
して、スワップ不能なページ変え連続メモリ・セグメン
ト(ブロック)を割当て及び割当て解除することを可能
にする、メモリ割当てプロシージャを使用する。このプ
ロシージャは、ビデオ伝送アプリケーションに、単純で
高レベルのインタフェースを提供し、要求サイズのメモ
リ・ブロックを割当てるために、低レベルのオペレーテ
ィング・システム・モジュール及びコード・セグメント
を使用する。メモリ・ブロックは連続的であり、物理メ
モリ内に固定され、仮想メモリのスワッピングまたはペ
ージングにおいて生じうる遅延または破壊(corruptio
n)、並びにデータ伝送ソフトウェアにおいて必要な収
集/分散(gather/scatter)ルーチンによる複雑化を排
除する。
・アプリケーションがデジタル・ビデオ・データに対応
して、スワップ不能なページ変え連続メモリ・セグメン
ト(ブロック)を割当て及び割当て解除することを可能
にする、メモリ割当てプロシージャを使用する。このプ
ロシージャは、ビデオ伝送アプリケーションに、単純で
高レベルのインタフェースを提供し、要求サイズのメモ
リ・ブロックを割当てるために、低レベルのオペレーテ
ィング・システム・モジュール及びコード・セグメント
を使用する。メモリ・ブロックは連続的であり、物理メ
モリ内に固定され、仮想メモリのスワッピングまたはペ
ージングにおいて生じうる遅延または破壊(corruptio
n)、並びにデータ伝送ソフトウェアにおいて必要な収
集/分散(gather/scatter)ルーチンによる複雑化を排
除する。
【0150】高レベル・インタフェースは更に、要求メ
モリ・ブロックに対応して様々なアドレッシング・モー
ド値を返却し、媒体ストリーマ環境において並行に動作
しうる様々なメモリ・モデルに適合するための、高価な
動的アドレス変換の必要を排除する。物理アドレスは、
様々なアプリケーションによりプロセス・リニア・アド
レス及びプロセス・セグメント化アドレスとして使用さ
れる以外に、固定ディスク・ドライブなどの他のデバイ
ス・ドライバによる直接アクセスに対しても使用されう
る。メモリ・ブロックをシステムに返却する割当て解除
ルーチンも提供され、断片化問題を回避する。なぜな
ら、メモリは全て単一ブロックとして返却されるからで
ある。
モリ・ブロックに対応して様々なアドレッシング・モー
ド値を返却し、媒体ストリーマ環境において並行に動作
しうる様々なメモリ・モデルに適合するための、高価な
動的アドレス変換の必要を排除する。物理アドレスは、
様々なアプリケーションによりプロセス・リニア・アド
レス及びプロセス・セグメント化アドレスとして使用さ
れる以外に、固定ディスク・ドライブなどの他のデバイ
ス・ドライバによる直接アクセスに対しても使用されう
る。メモリ・ブロックをシステムに返却する割当て解除
ルーチンも提供され、断片化問題を回避する。なぜな
ら、メモリは全て単一ブロックとして返却されるからで
ある。
【0151】F1.メモリ割当てに使用されるコマンド 1.物理メモリの割当て:要求サイズのメモリ・ブロッ
クを割当て、制御ブロックがメモリ領域の様々なメモリ
・モデル・アドレス及びブロック長と共に返却される。 2.物理メモリの割当て解除:メモリ・ブロックをオペ
レーティング・システムに返却し、関連メモリ・ポイン
タを解放する。
クを割当て、制御ブロックがメモリ領域の様々なメモリ
・モデル・アドレス及びブロック長と共に返却される。 2.物理メモリの割当て解除:メモリ・ブロックをオペ
レーティング・システムに返却し、関連メモリ・ポイン
タを解放する。
【0152】F2.アプリケーション・プログラム・イ
ンタフェース デバイス・ドライバはシステム構成ファイル内で定義さ
れ、システムが起動するとき、自動的に初期化される。
アプリケーションが次にデバイス・ドライバを擬似デバ
イスとしてオープンし、そのラベルを獲得し、次にイン
タフェースを用いてコマンド及びパラメータを受渡す。
サポートされるコマンドは、メモリ割当て及びメモリ割
当て解除であり、パラメータにはメモリ・サイズ及び論
理メモリ・アドレスをさすポインタが含まれる。これら
のアドレスは、メモリの物理ブロックが割当てられ、物
理アドレスが論理アドレスに変換されると、デバイス・
ドライバによりセットされる。割当てが失敗すると、ヌ
ル(null)が返却される。
ンタフェース デバイス・ドライバはシステム構成ファイル内で定義さ
れ、システムが起動するとき、自動的に初期化される。
アプリケーションが次にデバイス・ドライバを擬似デバ
イスとしてオープンし、そのラベルを獲得し、次にイン
タフェースを用いてコマンド及びパラメータを受渡す。
サポートされるコマンドは、メモリ割当て及びメモリ割
当て解除であり、パラメータにはメモリ・サイズ及び論
理メモリ・アドレスをさすポインタが含まれる。これら
のアドレスは、メモリの物理ブロックが割当てられ、物
理アドレスが論理アドレスに変換されると、デバイス・
ドライバによりセットされる。割当てが失敗すると、ヌ
ル(null)が返却される。
【0153】図19は、このプロシージャを使用するア
プリケーションの典型的なセットを示す。データに対応
してバッファ1が32ビット・アプリケーションにより
要求され、データが変更されてバッファ2に配置され
る。このバッファは次に、セグメント化アドレスを用い
る16ビット・アプリケーションにより、または固定デ
ィスク・ドライブなどの物理装置により直接処理され
る。この割当て機構により、固定の物理連続バッファを
予め割当てることにより、各アプリケーションは、その
固有の直接アドレッシングによりデータをアクセスでき
るようになり、アドレス変換遅延及び動的メモリ割当て
遅延が排除される。ビデオ・アプリケーションはこのア
プローチにより、デジタル・ビデオ・データを直接物理
ディスクからバッファに転送し、次にプロセス内でデー
タを複数回転送することなく、出力装置に直接転送する
ことにより、データ転送を最小化することもできる。
プリケーションの典型的なセットを示す。データに対応
してバッファ1が32ビット・アプリケーションにより
要求され、データが変更されてバッファ2に配置され
る。このバッファは次に、セグメント化アドレスを用い
る16ビット・アプリケーションにより、または固定デ
ィスク・ドライブなどの物理装置により直接処理され
る。この割当て機構により、固定の物理連続バッファを
予め割当てることにより、各アプリケーションは、その
固有の直接アドレッシングによりデータをアクセスでき
るようになり、アドレス変換遅延及び動的メモリ割当て
遅延が排除される。ビデオ・アプリケーションはこのア
プローチにより、デジタル・ビデオ・データを直接物理
ディスクからバッファに転送し、次にプロセス内でデー
タを複数回転送することなく、出力装置に直接転送する
ことにより、データ転送を最小化することもできる。
【0154】G.ビデオ・アプリケーション用に最適化
されたディスク・ドライブ ビデオ・ストリームはそれらの宛先に等時的に配布され
ることが重要である。すなわち、人間の目により動作が
不連続と感じられたり、耳により音の中断として感じら
れるような遅延が生じないことが重要である。現ディス
ク技術は、例えば予測故障分析の実行など、データ・ア
クセスにおいて相当の遅延を生じうる周期的アクション
を含んだりする。ほとんどの入出力オペレーションは1
00ms以内に完了するが、100msの周期的遅延は
一般的であり、丸々3秒の遅延が発生しうる。
されたディスク・ドライブ ビデオ・ストリームはそれらの宛先に等時的に配布され
ることが重要である。すなわち、人間の目により動作が
不連続と感じられたり、耳により音の中断として感じら
れるような遅延が生じないことが重要である。現ディス
ク技術は、例えば予測故障分析の実行など、データ・ア
クセスにおいて相当の遅延を生じうる周期的アクション
を含んだりする。ほとんどの入出力オペレーションは1
00ms以内に完了するが、100msの周期的遅延は
一般的であり、丸々3秒の遅延が発生しうる。
【0155】媒体ストリーマ10は、高データ転送レー
トを効率的に支持できなければならない。汎用データ記
憶及び検索用に構成されたディスク・ドライブは、ビデ
オ・サーバ・アプリケーション用に最適化されないと、
メモリ、ディスク・バッファ、SCSIバス、及びディ
スク容量の使用において、非効率化を招く。
トを効率的に支持できなければならない。汎用データ記
憶及び検索用に構成されたディスク・ドライブは、ビデ
オ・サーバ・アプリケーション用に最適化されないと、
メモリ、ディスク・バッファ、SCSIバス、及びディ
スク容量の使用において、非効率化を招く。
【0156】本発明の1態様によれば、ディスク・ドラ
イブがディスク・パラメータの最適化により、大量のデ
ータを円滑かつタイムリに配布するように、個別に適合
化される。パラメータは、ビデオ・サーバとして特殊化
されるディスク・ドライブの製造に組込まれたり、コマ
ンド機構を通じてセットされる変数であったりする。
イブがディスク・パラメータの最適化により、大量のデ
ータを円滑かつタイムリに配布するように、個別に適合
化される。パラメータは、ビデオ・サーバとして特殊化
されるディスク・ドライブの製造に組込まれたり、コマ
ンド機構を通じてセットされる変数であったりする。
【0157】周期的アクションを制御するパラメータ
は、遅延を最小化または排除するようにセットされる。
バッファ使用度に影響するパラメータは、単一の読出し
または書込みオペレーションにより、非常に大量のデー
タの転送を可能にするようにセットされる。SCSIバ
スとプロセッサ・バス間の速度マッチングに影響するパ
ラメータは、データ転送の開始が早過ぎたり遅すぎたり
しないように、調整される。ディスク媒体自身は、有効
容量及び帯域幅を最大化するセクタ・サイズによりフォ
ーマットされる。
は、遅延を最小化または排除するようにセットされる。
バッファ使用度に影響するパラメータは、単一の読出し
または書込みオペレーションにより、非常に大量のデー
タの転送を可能にするようにセットされる。SCSIバ
スとプロセッサ・バス間の速度マッチングに影響するパ
ラメータは、データ転送の開始が早過ぎたり遅すぎたり
しないように、調整される。ディスク媒体自身は、有効
容量及び帯域幅を最大化するセクタ・サイズによりフォ
ーマットされる。
【0158】最適化を達成するために、物理ディスク媒
体は、最大可能な物理セクタ・サイズによりフォーマッ
トされる。このフォーマット化オプションは、セクタ間
のギャップで浪費される空間を最小化し、装置容量及び
バースト・データ・レートを最大化する。好適な実施例
は744バイト・セクタである。
体は、最大可能な物理セクタ・サイズによりフォーマッ
トされる。このフォーマット化オプションは、セクタ間
のギャップで浪費される空間を最小化し、装置容量及び
バースト・データ・レートを最大化する。好適な実施例
は744バイト・セクタである。
【0159】ディスクは関連バッファを有してもよい。
このバッファは、データ転送のためのバスの可用性とは
非同期に、ディスク媒体からデータを読出すために使用
される。同様にバッファは、ディスク媒体へのデータの
転送とは非同期に、バスから到来するデータを保持する
ためにも使用される。バッファは多数のセグメントに分
割され、その数はパラメータにより制御される。余りに
多くのセグメントが存在すると、各セグメントは1回の
転送で要求されるデータ量を保持することができなくな
る。バッファがフルの時、装置は再接続を開始し、転送
を開始しなければならない。この時バスまたは装置が使
用可能でないと、回転遅延が続いて発生する。好適な実
施例では、この値は、任意のバッファ・セグメントが少
なくともデータ転送サイズの大きさを有するように、例
えば1にセットされる。
このバッファは、データ転送のためのバスの可用性とは
非同期に、ディスク媒体からデータを読出すために使用
される。同様にバッファは、ディスク媒体へのデータの
転送とは非同期に、バスから到来するデータを保持する
ためにも使用される。バッファは多数のセグメントに分
割され、その数はパラメータにより制御される。余りに
多くのセグメントが存在すると、各セグメントは1回の
転送で要求されるデータ量を保持することができなくな
る。バッファがフルの時、装置は再接続を開始し、転送
を開始しなければならない。この時バスまたは装置が使
用可能でないと、回転遅延が続いて発生する。好適な実
施例では、この値は、任意のバッファ・セグメントが少
なくともデータ転送サイズの大きさを有するように、例
えば1にセットされる。
【0160】バッファ・セグメントが読出しにおいて充
填を開始すると、ディスクはホストへのデータ転送を可
能にするように、バスへの再接続を試行する。ディスク
がこの再接続を試行する時点は、バス利用の効率に影響
を及ぼす。バス及びディスクの相対速度が、充填オペレ
ーションの間における、ホストへのデータ転送を開始す
る最適な時点を決定する。同様に書込みオペレーション
の間にも、バッファはホストからのデータの到来により
充填され、充填プロセスにおける特定の時点で、ディス
クがバスへの再接続を試行するべきである。正確な速度
マッチングは、SCSIバス上における切断/再選択サ
イクルを低減し、最大スループットを向上させる。
填を開始すると、ディスクはホストへのデータ転送を可
能にするように、バスへの再接続を試行する。ディスク
がこの再接続を試行する時点は、バス利用の効率に影響
を及ぼす。バス及びディスクの相対速度が、充填オペレ
ーションの間における、ホストへのデータ転送を開始す
る最適な時点を決定する。同様に書込みオペレーション
の間にも、バッファはホストからのデータの到来により
充填され、充填プロセスにおける特定の時点で、ディス
クがバスへの再接続を試行するべきである。正確な速度
マッチングは、SCSIバス上における切断/再選択サ
イクルを低減し、最大スループットを向上させる。
【0161】再接続の時期を制御するパラメータは、"
読出しバッファ・フル率(read buffer full ratio)"
及び"書込みバッファ・エンプティ率(write buffer em
pty ratio)"と呼ばれる。ビデオ・データでは、これら
の比率を計算する好適なアルゴリズムは、256×(瞬
間SCSIデータ転送レート−最大ディスク・データ転
送レート)/(瞬間SCSIデータ転送レート)であ
る。現在使用される好適なバッファ・フル率及びバッフ
ァ・エンプティ率の値は、約204である。
読出しバッファ・フル率(read buffer full ratio)"
及び"書込みバッファ・エンプティ率(write buffer em
pty ratio)"と呼ばれる。ビデオ・データでは、これら
の比率を計算する好適なアルゴリズムは、256×(瞬
間SCSIデータ転送レート−最大ディスク・データ転
送レート)/(瞬間SCSIデータ転送レート)であ
る。現在使用される好適なバッファ・フル率及びバッフ
ァ・エンプティ率の値は、約204である。
【0162】ディスク・ドライブの設計において、温度
変化により、ヘッド位置の周期的な再較正を要求するも
のがある。これらのディスク・ドライブ・タイプの中に
は、更に、アセンブリ内の全てのヘッドに対して温度補
償を同時に実行するものと、1度に1ヘッドだけの温度
補償を実行するものとが存在する。全てのヘッドが1度
に実行される場合、ビデオ・データの読出しオペレーシ
ョンの間に、数100ミリ秒の遅延が発生しうる。読出
し時における遅延が長くなるほど、マルチメディア・プ
レゼンテーションにおけるデータ・フローを円滑化し、
不自然さを回避するために、より大きな主メモリ・バッ
ファを必要とする。好適なアプローチは、1度に1ヘッ
ドの補償を可能にする温度補償ヘッド制御機能をプログ
ラムすることである。
変化により、ヘッド位置の周期的な再較正を要求するも
のがある。これらのディスク・ドライブ・タイプの中に
は、更に、アセンブリ内の全てのヘッドに対して温度補
償を同時に実行するものと、1度に1ヘッドだけの温度
補償を実行するものとが存在する。全てのヘッドが1度
に実行される場合、ビデオ・データの読出しオペレーシ
ョンの間に、数100ミリ秒の遅延が発生しうる。読出
し時における遅延が長くなるほど、マルチメディア・プ
レゼンテーションにおけるデータ・フローを円滑化し、
不自然さを回避するために、より大きな主メモリ・バッ
ファを必要とする。好適なアプローチは、1度に1ヘッ
ドの補償を可能にする温度補償ヘッド制御機能をプログ
ラムすることである。
【0163】エラー・ログの保管及び予測故障分析の実
行は、数秒を要する。これらの遅延は、マルチメディア
・プレゼンテーションにおける遅延を円滑化し、不自然
さを回避するための非常に大きな主メモリ・バッファ無
しには、ビデオ・サーバ・アプリケーションにより個別
に適合化され得ない。遊休時間制限機能パラメータは、
エラー・ログの保管機能及び遊休時間の実行機能を禁止
するために使用される。好適な実施例では、これらの機
能を制限するように、パラメータをセットする。
行は、数秒を要する。これらの遅延は、マルチメディア
・プレゼンテーションにおける遅延を円滑化し、不自然
さを回避するための非常に大きな主メモリ・バッファ無
しには、ビデオ・サーバ・アプリケーションにより個別
に適合化され得ない。遊休時間制限機能パラメータは、
エラー・ログの保管機能及び遊休時間の実行機能を禁止
するために使用される。好適な実施例では、これらの機
能を制限するように、パラメータをセットする。
【0164】H.ビデオ・データに対応したデータ・ス
トライピング ビデオ・アプリケーションでは、同一データ(例えば映
画)から複数のストリームを配布する必要が存在する。
この要求は高データ・レートでデータを読出す必要性を
意味する。すなわち、1ストリームを配布するのに必要
なデータ・レートに、同一データを同時にアクセスする
ストリームの数を乗じたレートが要求される。従来、こ
の問題は、一般にデータの複数のコピーを有することで
解決されたが、これは追加の費用を要する。本発明の媒
体ストリーマ10は、データの単一のコピーから多くの
同時ストリームをサービスする技法を使用する。この技
法は、個々のストリームのデータ・レートと、データを
同時にアクセスしうるストリーム数を考慮する。
トライピング ビデオ・アプリケーションでは、同一データ(例えば映
画)から複数のストリームを配布する必要が存在する。
この要求は高データ・レートでデータを読出す必要性を
意味する。すなわち、1ストリームを配布するのに必要
なデータ・レートに、同一データを同時にアクセスする
ストリームの数を乗じたレートが要求される。従来、こ
の問題は、一般にデータの複数のコピーを有することで
解決されたが、これは追加の費用を要する。本発明の媒
体ストリーマ10は、データの単一のコピーから多くの
同時ストリームをサービスする技法を使用する。この技
法は、個々のストリームのデータ・レートと、データを
同時にアクセスしうるストリーム数を考慮する。
【0165】上述のデータ・ストライピングは、データ
がストライプと呼ばれる複数のファイル要素に存在する
ように区分化される論理ファイルの概念を含む。各スト
ライプは異なるディスク・ボリューム上に存在するよう
にされ、それにより論理ファイルは複数の物理ディスク
に跨ることになる。ディスクは局所的であったり、遠隔
的であったりする。
がストライプと呼ばれる複数のファイル要素に存在する
ように区分化される論理ファイルの概念を含む。各スト
ライプは異なるディスク・ボリューム上に存在するよう
にされ、それにより論理ファイルは複数の物理ディスク
に跨ることになる。ディスクは局所的であったり、遠隔
的であったりする。
【0166】データが論理ファイルに書込まれるとき、
データは論理長(すなわちセグメント)に分離され、こ
れらが順次ストライプに配置される。図20に示される
ように、ビデオに対応する論理ファイル(ビデオ1)
が、各々が特定のサイズ、例えば256KBのM個のセ
グメントまたはブロックに区分化される。最後のセグメ
ントは部分的にデータが充填されうる。1番目のデータ
・セグメントは第1のストライプに配置され、2番目の
セグメントは第2のストライプに配置され、以降同様に
して配置される。セグメントが各ストライプに書込まれ
ると、次のセグメントが第1のストライプに書込まれ
る。従って、ファイルがN個のストライプにストライプ
される場合、ストライプ1はセグメント1、N+1、2
N+1などを含み、ストライプ2はセグメント2、N+
2、2N+2などを含む。
データは論理長(すなわちセグメント)に分離され、こ
れらが順次ストライプに配置される。図20に示される
ように、ビデオに対応する論理ファイル(ビデオ1)
が、各々が特定のサイズ、例えば256KBのM個のセ
グメントまたはブロックに区分化される。最後のセグメ
ントは部分的にデータが充填されうる。1番目のデータ
・セグメントは第1のストライプに配置され、2番目の
セグメントは第2のストライプに配置され、以降同様に
して配置される。セグメントが各ストライプに書込まれ
ると、次のセグメントが第1のストライプに書込まれ
る。従って、ファイルがN個のストライプにストライプ
される場合、ストライプ1はセグメント1、N+1、2
N+1などを含み、ストライプ2はセグメント2、N+
2、2N+2などを含む。
【0167】データの類似のストライピングが、RAI
D構成のデータ処理で知られており、ここではストライ
ピングの目的は、ディスクが失われた場合のデータの保
全性を保証することである。こうしたRAID記憶シス
テムは、N個のディスクの1個を、データ回復の際に使
用されるパリティ・データの記憶に充当させる。媒体ス
トリーマ10のディスク記憶ノード16は、RAID式
構造に構成されるが、パリティ・データは要求されない
(ビデオ・データのコピーがテープ記憶から使用可能に
なるので)。
D構成のデータ処理で知られており、ここではストライ
ピングの目的は、ディスクが失われた場合のデータの保
全性を保証することである。こうしたRAID記憶シス
テムは、N個のディスクの1個を、データ回復の際に使
用されるパリティ・データの記憶に充当させる。媒体ス
トリーマ10のディスク記憶ノード16は、RAID式
構造に構成されるが、パリティ・データは要求されない
(ビデオ・データのコピーがテープ記憶から使用可能に
なるので)。
【0168】図21は、このデータ構成の重要な態様を
示す。すなわち、各ビデオ・プレゼンテーションが、複
数の使用可能なディスク・ドライブに渡り、データ・ブ
ロックまたはセグメントに分離され、各ビデオ・プレゼ
ンテーションが複数のコピーを要求すること無しに、複
数のドライブから同時にアクセスされる。従って、概念
的にはストライピングの1つであるが、その目的はデー
タ保全性または性能的な理由ではなく、同時並行性また
は帯域幅の理由による。このように媒体ストリーマ10
は、ビデオ・プレゼンテーションをバイト・ブロックに
よるのではなく、再生セグメントによりストライプす
る。
示す。すなわち、各ビデオ・プレゼンテーションが、複
数の使用可能なディスク・ドライブに渡り、データ・ブ
ロックまたはセグメントに分離され、各ビデオ・プレゼ
ンテーションが複数のコピーを要求すること無しに、複
数のドライブから同時にアクセスされる。従って、概念
的にはストライピングの1つであるが、その目的はデー
タ保全性または性能的な理由ではなく、同時並行性また
は帯域幅の理由による。このように媒体ストリーマ10
は、ビデオ・プレゼンテーションをバイト・ブロックに
よるのではなく、再生セグメントによりストライプす
る。
【0169】図21に示されるように、ビデオ・データ
・ファイル1はM個のセグメントに区分化され、4個の
ストライプに分割される。ストライプ1はビデオ・ファ
イル1のセグメント1、5、9などを含むファイルであ
り、ストライプ2はビデオ・ファイル1のセグメント
2、6、10などを含むファイルであり、ストライプ3
はビデオ・ファイル1のセグメント3、7、11などを
含むファイルであり、ストライプ4はビデオ・ファイル
1のセグメント4、8、12などを含むファイルであ
り、このようにして、ビデオ・ファイル1のM個の全て
のセグメントが、4つのストライプ・ファイルのいずれ
かに含まれる。
・ファイル1はM個のセグメントに区分化され、4個の
ストライプに分割される。ストライプ1はビデオ・ファ
イル1のセグメント1、5、9などを含むファイルであ
り、ストライプ2はビデオ・ファイル1のセグメント
2、6、10などを含むファイルであり、ストライプ3
はビデオ・ファイル1のセグメント3、7、11などを
含むファイルであり、ストライプ4はビデオ・ファイル
1のセグメント4、8、12などを含むファイルであ
り、このようにして、ビデオ・ファイル1のM個の全て
のセグメントが、4つのストライプ・ファイルのいずれ
かに含まれる。
【0170】上述のストライピング方法により、各個々
のビデオのストライピングをカストマイズすなわち個別
化するために、次のように計算される。
のビデオのストライピングをカストマイズすなわち個別
化するために、次のように計算される。
【0171】最初に、ディスクから合理的な有効なデー
タ・レートを獲得するように、セグメント・サイズが選
択される。しかしながら、これは待ち時間に逆効果を及
ぼすほど大きくあってはならず、またメモリにバッファ
/キャッシュできるように、十分小さいことが必要であ
る。好適なセグメント・サイズは256KBであり、1
28KB/秒乃至512KB/秒の範囲のデータ・レー
トのビデオ・プレゼンテーションにおいて一定である。
ビデオ・データ・レートがより高い場合には、より大き
なセグメント・サイズを使用することが好ましい。セグ
メント・サイズは、同一媒体上に記憶されるビデオ・プ
レゼンテーションの範囲における入出力オペレーション
の基本単位に依存する。採用する原理は、約0.5秒乃
至2秒のビデオ・データを含むセグメント・サイズを使
用することである。
タ・レートを獲得するように、セグメント・サイズが選
択される。しかしながら、これは待ち時間に逆効果を及
ぼすほど大きくあってはならず、またメモリにバッファ
/キャッシュできるように、十分小さいことが必要であ
る。好適なセグメント・サイズは256KBであり、1
28KB/秒乃至512KB/秒の範囲のデータ・レー
トのビデオ・プレゼンテーションにおいて一定である。
ビデオ・データ・レートがより高い場合には、より大き
なセグメント・サイズを使用することが好ましい。セグ
メント・サイズは、同一媒体上に記憶されるビデオ・プ
レゼンテーションの範囲における入出力オペレーション
の基本単位に依存する。採用する原理は、約0.5秒乃
至2秒のビデオ・データを含むセグメント・サイズを使
用することである。
【0172】次に、ストライプ数すなわちビデオ・デー
タが配布されるディスクの数が決定される。この数は要
求される総データ・レートを支持するように、十分大き
くなければならず、予想使用レートにもとづき、各ビデ
オ・プレゼンテーションに対応して個々に計算される。
より詳しくは、各ディスクは、関連付けられる論理ボリ
ュームを有する。各ビデオ・プレゼンテーションは、必
要とされるストライプ数と同じ数の要素ファイルに分割
される。各要素ファイルは、異なる論理ボリューム上に
記憶される。例えば、ビデオ・データが1ストリーム当
たり250KB/秒で配布されなければならず、30の
同時ストリームが同一ビデオから例えば15秒間隔で開
始してサポートされる場合、少なくとも7.5MB/秒
の総データ・レートが獲得される。ディスク・ドライブ
が平均3MB/秒をサポートできる場合、少なくとも3
つのストライプがビデオ・プレゼンテーションにおいて
要求される。
タが配布されるディスクの数が決定される。この数は要
求される総データ・レートを支持するように、十分大き
くなければならず、予想使用レートにもとづき、各ビデ
オ・プレゼンテーションに対応して個々に計算される。
より詳しくは、各ディスクは、関連付けられる論理ボリ
ュームを有する。各ビデオ・プレゼンテーションは、必
要とされるストライプ数と同じ数の要素ファイルに分割
される。各要素ファイルは、異なる論理ボリューム上に
記憶される。例えば、ビデオ・データが1ストリーム当
たり250KB/秒で配布されなければならず、30の
同時ストリームが同一ビデオから例えば15秒間隔で開
始してサポートされる場合、少なくとも7.5MB/秒
の総データ・レートが獲得される。ディスク・ドライブ
が平均3MB/秒をサポートできる場合、少なくとも3
つのストライプがビデオ・プレゼンテーションにおいて
要求される。
【0173】ディスクからデータが読出される有効レー
トは、読出しオペレーションのサイズにより影響され
る。例えば、データがディスクから4KBブロックで読
出される場合(ディスク上のランダム位置)、有効デー
タ・レートは1MB/秒である。それに対して、データ
が256KBブロックで読出される場合、レートは3M
B/秒である。しかしながら、データが非常に大きなブ
ロックで読出される場合には、バッファとして要求され
るメモリも増加し、読出されたデータを使用する待ち時
間及び遅延も増加する。なぜなら、読出しオペレーショ
ンが、データがアクセスされる以前に完了しなければな
らないからである。データ転送のサイズを選択する上
で、トレードオフが存在する。サイズは装置の特性及び
メモリ構成にもとづき選択される。好適には、データ転
送のサイズは、選択セグメント・サイズに等しい。所与
のセグメント・サイズに対応して、装置からの有効デー
タ・レートが決定される。例えば、特定のディスク・ド
ライブでは、256セグメント・サイズが、ディスク・
ドライブの有効使用(有効データ・レート3MB/秒)
とバッファ・サイズ(256KB)間の良好なバランス
を提供する。
トは、読出しオペレーションのサイズにより影響され
る。例えば、データがディスクから4KBブロックで読
出される場合(ディスク上のランダム位置)、有効デー
タ・レートは1MB/秒である。それに対して、データ
が256KBブロックで読出される場合、レートは3M
B/秒である。しかしながら、データが非常に大きなブ
ロックで読出される場合には、バッファとして要求され
るメモリも増加し、読出されたデータを使用する待ち時
間及び遅延も増加する。なぜなら、読出しオペレーショ
ンが、データがアクセスされる以前に完了しなければな
らないからである。データ転送のサイズを選択する上
で、トレードオフが存在する。サイズは装置の特性及び
メモリ構成にもとづき選択される。好適には、データ転
送のサイズは、選択セグメント・サイズに等しい。所与
のセグメント・サイズに対応して、装置からの有効デー
タ・レートが決定される。例えば、特定のディスク・ド
ライブでは、256セグメント・サイズが、ディスク・
ドライブの有効使用(有効データ・レート3MB/秒)
とバッファ・サイズ(256KB)間の良好なバランス
を提供する。
【0174】ストライピングが使用されない場合、支持
されるストリームの最大数は、ディスクの有効データ・
レートにより制限される。例えば、有効データ・レート
が3MB/秒で、ストリーム・データ・レートが200
KB/秒の場合、15ストリームほどがディスクから供
給されうる。例えば60ストリームの同一ビデオが必要
とされる場合、データは4つのディスク上に複製される
必要がある。しかしながら、本発明によるストライピン
グが使用される場合、4分の1の容量の4つのディスク
が使用できる。15のストリームが4つの各ストライプ
から同時に再生され、合計60の同時ストリームが、ビ
デオ・データの単一のコピーから再生される。ストリー
ムの開始時には、60ストリームに対する要求がストラ
イプ間で等間隔になるようにスキューされる。ここでス
トリームが互いに接近して開始されると、入出力に対す
るニーズが、キャッシュされるビデオ・データを使用す
ることにより低減されることを述べておく。
されるストリームの最大数は、ディスクの有効データ・
レートにより制限される。例えば、有効データ・レート
が3MB/秒で、ストリーム・データ・レートが200
KB/秒の場合、15ストリームほどがディスクから供
給されうる。例えば60ストリームの同一ビデオが必要
とされる場合、データは4つのディスク上に複製される
必要がある。しかしながら、本発明によるストライピン
グが使用される場合、4分の1の容量の4つのディスク
が使用できる。15のストリームが4つの各ストライプ
から同時に再生され、合計60の同時ストリームが、ビ
デオ・データの単一のコピーから再生される。ストリー
ムの開始時には、60ストリームに対する要求がストラ
イプ間で等間隔になるようにスキューされる。ここでス
トリームが互いに接近して開始されると、入出力に対す
るニーズが、キャッシュされるビデオ・データを使用す
ることにより低減されることを述べておく。
【0175】所与のビデオに対するストライプ数は、2
つのファクタにより影響される。その第1は、任意の時
点において、ビデオから供給されうるストリームの最大
数であり、第2のファクタは、任意の時点で、そのビデ
オと同じディスク上に記憶される全てのビデオから供給
されるべきストリームの総数である。
つのファクタにより影響される。その第1は、任意の時
点において、ビデオから供給されうるストリームの最大
数であり、第2のファクタは、任意の時点で、そのビデ
オと同じディスク上に記憶される全てのビデオから供給
されるべきストリームの総数である。
【0176】ビデオに対応するストライプ数sは次のよ
うに決定される。
うに決定される。
【数2】s=最大(r*n/d、r*m/d)
【0177】ここで、rはストリームが再生される名目
データ・レート、nはこのビデオ・プレゼンテーション
からの名目データ・レートの同時ストリームの最大数、
dはディスクからの有効データ・レート(ディスクから
の有効データ・レートはセグメント・サイズに影響され
る)、mはこのビデオ・プレゼンテーションの1部を含
む全てのディスクからの名目データ・レートの同時スト
リームの最大数、sはビデオ・プレゼンテーションのス
トライプ数である。
データ・レート、nはこのビデオ・プレゼンテーション
からの名目データ・レートの同時ストリームの最大数、
dはディスクからの有効データ・レート(ディスクから
の有効データ・レートはセグメント・サイズに影響され
る)、mはこのビデオ・プレゼンテーションの1部を含
む全てのディスクからの名目データ・レートの同時スト
リームの最大数、sはビデオ・プレゼンテーションのス
トライプ数である。
【0178】ビデオ・プレゼンテーションのデータがス
トライプされるディスクの数は、セットとして管理さ
れ、非常に大きな物理ディスクとして考えられる。スト
ライピングにより、ビデオ・ファイルは、システムの物
理ファイル・システムが許容する最大ファイルのサイズ
限界を越えることができる。ビデオ・データは一般に、
常にセット内の全てのディスク上に、同量の記憶を要求
する訳ではない。ディスクの使用を均等化するために、
ビデオがストライプされるとき、ストライピングは最も
多くの自由空間を有するディスクから開始される。
トライプされるディスクの数は、セットとして管理さ
れ、非常に大きな物理ディスクとして考えられる。スト
ライピングにより、ビデオ・ファイルは、システムの物
理ファイル・システムが許容する最大ファイルのサイズ
限界を越えることができる。ビデオ・データは一般に、
常にセット内の全てのディスク上に、同量の記憶を要求
する訳ではない。ディスクの使用を均等化するために、
ビデオがストライプされるとき、ストライピングは最も
多くの自由空間を有するディスクから開始される。
【0179】例えば、2Mビット/秒(250000バ
イト/秒)、すなわちr=250000バイト/秒で再
生される必要のあるビデオ・プレゼンテーションの場合
について考えてみよう。ここでこのビデオから、最大3
0の同時ストリームを配布する必要があると仮定する。
すなわち、n=30である。またこの例では、mも3
0、すなわち全てのディスクから配布されるストリーム
の総数も30とする。更に、データが250000バイ
トのセグメントにストライプされ、所与のセグメント・
サイズ(250000バイト)に対応するディスクから
の有効データ・レートが、3000000バイト/秒と
する。従って、必要なストライプ数nは2.5(=25
0000*30/3000000)となり、切り上げら
れて3となる(s=上限(r*n/d))。
イト/秒)、すなわちr=250000バイト/秒で再
生される必要のあるビデオ・プレゼンテーションの場合
について考えてみよう。ここでこのビデオから、最大3
0の同時ストリームを配布する必要があると仮定する。
すなわち、n=30である。またこの例では、mも3
0、すなわち全てのディスクから配布されるストリーム
の総数も30とする。更に、データが250000バイ
トのセグメントにストライプされ、所与のセグメント・
サイズ(250000バイト)に対応するディスクから
の有効データ・レートが、3000000バイト/秒と
する。従って、必要なストライプ数nは2.5(=25
0000*30/3000000)となり、切り上げら
れて3となる(s=上限(r*n/d))。
【0180】このデータを含む全てのディスクからのス
トリームの最大数が、例えば45の場合、250000
*45/3000000すなわち3.75ストライプが
必要となり、実際には切り上げられて4ストライプとな
る。
トリームの最大数が、例えば45の場合、250000
*45/3000000すなわち3.75ストライプが
必要となり、実際には切り上げられて4ストライプとな
る。
【0181】ビデオを3つのストライプに分割すること
が、ビデオの単一のコピーから30のストリームを配布
する要求に十分適合するとしても、そのビデオを含むデ
ィスクが他の内容を含み、そのビデオからサポートされ
るストリームの総数が45であれば、4つのディスク・
ドライブが必要となる(ストライピング・レベル4)。
が、ビデオの単一のコピーから30のストリームを配布
する要求に十分適合するとしても、そのビデオを含むデ
ィスクが他の内容を含み、そのビデオからサポートされ
るストリームの総数が45であれば、4つのディスク・
ドライブが必要となる(ストライピング・レベル4)。
【0182】媒体ストリーマ10においてこのアルゴリ
ズムが使用される様子を次に述べる。記憶装置(複数の
ディスク・ドライブ)が、ディスクのグループに分けら
れる。各グループは特定の容量、及び所与の数の同時ス
トリームを(所定のセグメント・サイズにもとづく1デ
ィスク当たりの有効データ・レートで)配布する能力を
有する。各グループのセグメント・サイズは一定であ
る。異なるグループは異なるセグメント・サイズを選択
しうる(従って、異なる有効データ・レートを有しう
る)。ビデオ・プレゼンテーションがストライプされる
とき、グループが次に述べる基準により、最初に選択さ
れる。
ズムが使用される様子を次に述べる。記憶装置(複数の
ディスク・ドライブ)が、ディスクのグループに分けら
れる。各グループは特定の容量、及び所与の数の同時ス
トリームを(所定のセグメント・サイズにもとづく1デ
ィスク当たりの有効データ・レートで)配布する能力を
有する。各グループのセグメント・サイズは一定であ
る。異なるグループは異なるセグメント・サイズを選択
しうる(従って、異なる有効データ・レートを有しう
る)。ビデオ・プレゼンテーションがストライプされる
とき、グループが次に述べる基準により、最初に選択さ
れる。
【0183】セグメント・サイズはビデオのデータ・レ
ートと整合する。すなわち、ストリーム・データ・レー
トが250000バイト/秒の場合、セグメント・サイ
ズは125KB乃至500KBの範囲である。次の基準
は、グループ内のディスクの数が同時ストリームの最大
数をサポートするのに十分であるように保証することで
ある。すなわち、"r"がストリーム・データ・レー
ト、"n"が同時ストリームの最大数、"d"がグループ内
のディスクの有効データ・レートとすると、必要ディス
ク数はr*n/dである。最後に、ディスク・グループ
内の全てのビデオからサポートされる必要のある同時ス
トリームの合計が、その容量を越えないことである。す
なわち、"m"がグループの容量とすると、"m−n"がグ
ループ内に既に記憶されているビデオから同時に再生さ
れうる全てのストリームの総数以上であるべきである。
ートと整合する。すなわち、ストリーム・データ・レー
トが250000バイト/秒の場合、セグメント・サイ
ズは125KB乃至500KBの範囲である。次の基準
は、グループ内のディスクの数が同時ストリームの最大
数をサポートするのに十分であるように保証することで
ある。すなわち、"r"がストリーム・データ・レー
ト、"n"が同時ストリームの最大数、"d"がグループ内
のディスクの有効データ・レートとすると、必要ディス
ク数はr*n/dである。最後に、ディスク・グループ
内の全てのビデオからサポートされる必要のある同時ス
トリームの合計が、その容量を越えないことである。す
なわち、"m"がグループの容量とすると、"m−n"がグ
ループ内に既に記憶されているビデオから同時に再生さ
れうる全てのストリームの総数以上であるべきである。
【0184】計算は、ビデオ・データが媒体ストリーマ
10にロードされるときに、制御ノード18において実
行される。最も単純な場合では、全てのディスクが、記
憶及びサポート可能なストリーム数の両方の点で、媒体
ストリーマ10の総容量を定義する単一のプール内に存
在する。この場合には、所与の同時ストリーム数をサポ
ートするために必要なディスク(またはストライプ)の
数が、式m*r/dから計算され、ここでmはストリー
ム数、rはストリームのデータ・レート、dはディスク
の有効データ・レートである。ストリームが異なるレー
トの場合には、上述の式のm*rは最大(全ての同時ス
トリームのデータ・レートの合計)により置換される。
10にロードされるときに、制御ノード18において実
行される。最も単純な場合では、全てのディスクが、記
憶及びサポート可能なストリーム数の両方の点で、媒体
ストリーマ10の総容量を定義する単一のプール内に存
在する。この場合には、所与の同時ストリーム数をサポ
ートするために必要なディスク(またはストライプ)の
数が、式m*r/dから計算され、ここでmはストリー
ム数、rはストリームのデータ・レート、dはディスク
の有効データ・レートである。ストリームが異なるレー
トの場合には、上述の式のm*rは最大(全ての同時ス
トリームのデータ・レートの合計)により置換される。
【0185】データの書込みにこの技法を使用すること
により、ビデオ・プレゼンテーションのデジタル表現の
複数のコピーを必要とすること無く、データを読出し、
多くのストリームを指定レートで配布することができ
る。複数のディスク・ボリュームに渡りデータをストラ
イプすることにより、あるストリームの配布のためのフ
ァイルの1部の読出しが、別のストリームの配布のため
のそのファイルの別の部分の読出しを妨害しない。
により、ビデオ・プレゼンテーションのデジタル表現の
複数のコピーを必要とすること無く、データを読出し、
多くのストリームを指定レートで配布することができ
る。複数のディスク・ボリュームに渡りデータをストラ
イプすることにより、あるストリームの配布のためのフ
ァイルの1部の読出しが、別のストリームの配布のため
のそのファイルの別の部分の読出しを妨害しない。
【0186】I.媒体ストリーマ・データ転送及び変換
プロシージャ I1.スイッチ18へのビデオ配布のための動的帯域幅
割当て 従来、ビデオ・サーバは一般に、2つのプロファイルの
いずれかに適合する。すなわち、低コストの(しかしな
がら低帯域幅の)ビデオ・サーバを生成するためにPC
技術を用いるか、高帯域幅の(しかしながら高価な)ビ
デオ・サーバを生成するためにスーパー・コンピュータ
技術を使用する。本発明の目的は、高コストのスーパー
・コンピュータ技術を使用せずに、高帯域幅のビデオを
配布することである。
プロシージャ I1.スイッチ18へのビデオ配布のための動的帯域幅
割当て 従来、ビデオ・サーバは一般に、2つのプロファイルの
いずれかに適合する。すなわち、低コストの(しかしな
がら低帯域幅の)ビデオ・サーバを生成するためにPC
技術を用いるか、高帯域幅の(しかしながら高価な)ビ
デオ・サーバを生成するためにスーパー・コンピュータ
技術を使用する。本発明の目的は、高コストのスーパー
・コンピュータ技術を使用せずに、高帯域幅のビデオを
配布することである。
【0187】低コストで高帯域幅を達成する1つのアプ
ローチは、低待ち時間スイッチ(クロスバー回路スイッ
チ・マトリックス)12により、低コストのPCベース
の"ノード"をビデオ・サーバに相互接続することである
(図1参照)。媒体ストリーマ・アーキテクチャの重要
な態様は、各記憶ノード16及び通信ノード14内で使
用可能なビデオ・ストリーム帯域幅を効率的に使用する
ことである。帯域幅はビデオ・データの特殊な性質(1
回の書込み及び複数回の読出し)と、低コストのスイッ
チ技術による動的で実時間の帯域幅割当て能力とを組合
わせることにより最大化される。
ローチは、低待ち時間スイッチ(クロスバー回路スイッ
チ・マトリックス)12により、低コストのPCベース
の"ノード"をビデオ・サーバに相互接続することである
(図1参照)。媒体ストリーマ・アーキテクチャの重要
な態様は、各記憶ノード16及び通信ノード14内で使
用可能なビデオ・ストリーム帯域幅を効率的に使用する
ことである。帯域幅はビデオ・データの特殊な性質(1
回の書込み及び複数回の読出し)と、低コストのスイッ
チ技術による動的で実時間の帯域幅割当て能力とを組合
わせることにより最大化される。
【0188】図22は、スイッチ・インタフェースと記
憶ノードとの間の従来の論理接続を示す。スイッチ・イ
ンタフェースは全2重であり(すなわち情報が同時に双
方向に送信される)、記憶ノードへ入力及び記憶ノード
から出力されるビデオ(及び制御情報)の転送を可能に
する。ビデオ内容は記憶ノードへ1回書込まれ、複数回
読出されるので、記憶ノードに対する帯域幅要求の大部
分はスイッチに向かう方向を取ることになる。通常のス
イッチ・インタフェースでは、記憶ノードの帯域幅の利
用度は低い。なぜなら、書込み機能に充当される帯域幅
の半分が稀にしか使用されないからである。
憶ノードとの間の従来の論理接続を示す。スイッチ・イ
ンタフェースは全2重であり(すなわち情報が同時に双
方向に送信される)、記憶ノードへ入力及び記憶ノード
から出力されるビデオ(及び制御情報)の転送を可能に
する。ビデオ内容は記憶ノードへ1回書込まれ、複数回
読出されるので、記憶ノードに対する帯域幅要求の大部
分はスイッチに向かう方向を取ることになる。通常のス
イッチ・インタフェースでは、記憶ノードの帯域幅の利
用度は低い。なぜなら、書込み機能に充当される帯域幅
の半分が稀にしか使用されないからである。
【0189】図23は、本発明によるスイッチ・インタ
フェースを示す。このインタフェースはノードの現要求
に適合するように、その総帯域幅を実時間でスイッチ1
8にまたはスイッチ18から割当てる(図では1例とし
て記憶ノード16が使用される)。通信ノード14は類
似の要求を有するが、それらの帯域幅の大部分はスイッ
チ18から向かう方向となる。
フェースを示す。このインタフェースはノードの現要求
に適合するように、その総帯域幅を実時間でスイッチ1
8にまたはスイッチ18から割当てる(図では1例とし
て記憶ノード16が使用される)。通信ノード14は類
似の要求を有するが、それらの帯域幅の大部分はスイッ
チ18から向かう方向となる。
【0190】動的割当ては、スイッチ12に対する適切
なルーティング・ヘッダを用い、複数の物理スイッチ・
インタフェースを1つの論理スイッチ・インタフェース
18aにグループ化することにより達成される。(例え
ば読出しに対応する)ビデオ・データが次に2つの物理
インタフェース間で分離される。これは上述のように、
データを複数の記憶ユニットに渡りストライプすること
により可能になる。受信ノードはビデオ・データを単一
の論理ストリームに再結合する。
なルーティング・ヘッダを用い、複数の物理スイッチ・
インタフェースを1つの論理スイッチ・インタフェース
18aにグループ化することにより達成される。(例え
ば読出しに対応する)ビデオ・データが次に2つの物理
インタフェース間で分離される。これは上述のように、
データを複数の記憶ユニットに渡りストライプすること
により可能になる。受信ノードはビデオ・データを単一
の論理ストリームに再結合する。
【0191】例えば図22では、スイッチ・インタフェ
ースが全2重2X MB/秒、すなわち各方向において
X MB/秒で規定される。しかしながら、ビデオ・デ
ータは通常、一方向にのみ送信される(記憶ノードから
スイッチへ)。従って、たとえノードが2倍の能力(2
X)を有するとしても、X MB/秒の帯域幅だけが記
憶ノードから配布されることになる。図23のスイッチ
・インタフェースは、2X MB/秒の帯域幅全部を、
記憶ノードからスイッチへ送信されるビデオに動的に割
当てる。その結果、ノードからの帯域幅が増加し、ビデ
オ・サーバからの帯域幅が高くなり、1ビデオ・ストリ
ーム当たりのコストが低下する。
ースが全2重2X MB/秒、すなわち各方向において
X MB/秒で規定される。しかしながら、ビデオ・デ
ータは通常、一方向にのみ送信される(記憶ノードから
スイッチへ)。従って、たとえノードが2倍の能力(2
X)を有するとしても、X MB/秒の帯域幅だけが記
憶ノードから配布されることになる。図23のスイッチ
・インタフェースは、2X MB/秒の帯域幅全部を、
記憶ノードからスイッチへ送信されるビデオに動的に割
当てる。その結果、ノードからの帯域幅が増加し、ビデ
オ・サーバからの帯域幅が高くなり、1ビデオ・ストリ
ーム当たりのコストが低下する。
【0192】J.通信アダプタによる等時性ビデオ・デ
ータの配布 デジタル・ビデオ・データは順次的で、連続的で、大容
量であり、内容的に厳格ではないが時間的に厳格であ
る。ビデオ・データのストリームは高ビット・レートで
等時的に配布されなければならず、データ経路における
全ての非本質的なオーバヘッドが最小化されることを要
求する。通常、受信ハードウェアはビデオ・セット・ト
ップ・ボックスまたは他の好適なビデオ・データ・レシ
ーバである。標準のシリアル通信プロトコルは、同期及
びデータ検証のために、しばしばハードウェア・レベル
において、追加のデータ・ビット及びバイトをストリー
ムに挿入する。レシーバが透過的にこの追加データを除
去できないと、ビデオ・ストリームは腐敗してしまう。
これらのビット及びバイトにより導入される追加のオー
バヘッドもまた、有効データ・レートを低下させ、ビデ
オ伸長エラー及び変換エラーを生成する。
ータの配布 デジタル・ビデオ・データは順次的で、連続的で、大容
量であり、内容的に厳格ではないが時間的に厳格であ
る。ビデオ・データのストリームは高ビット・レートで
等時的に配布されなければならず、データ経路における
全ての非本質的なオーバヘッドが最小化されることを要
求する。通常、受信ハードウェアはビデオ・セット・ト
ップ・ボックスまたは他の好適なビデオ・データ・レシ
ーバである。標準のシリアル通信プロトコルは、同期及
びデータ検証のために、しばしばハードウェア・レベル
において、追加のデータ・ビット及びバイトをストリー
ムに挿入する。レシーバが透過的にこの追加データを除
去できないと、ビデオ・ストリームは腐敗してしまう。
これらのビット及びバイトにより導入される追加のオー
バヘッドもまた、有効データ・レートを低下させ、ビデ
オ伸長エラー及び変換エラーを生成する。
【0193】標準の通信アダプタを介するビデオ・デー
タ伝送において、ユーザへの等時的配布を保証するため
に、大部分の標準シリアル通信プロトコル属性を無効に
することが合意決定された。これを達成する方法は、使
用される通信アダプタに依存して変わるが、その基本的
な概念について次に述べることにする。図24におい
て、通信ノード14内のシリアル通信チップ200が、
データ・フォーマッティング、並びにパリティ、スター
ト及びストップ・ビット、巡回冗長検査(CRC)コー
ド及び同期バイトなどの保全情報を無効にし、アイドル
文字の生成を禁止する。データ・ブロックのロードのた
めのバス・サイクルを可能にする一方で、一定(等時
性)出力ビデオ・データ・ストリームを保証するため
に、入力FIFOバッファ202、204、206など
が使用される。1000バイトのFIFOバッファ20
8が、CPU及びバス・ローディング論理を単純化す
る。
タ伝送において、ユーザへの等時的配布を保証するため
に、大部分の標準シリアル通信プロトコル属性を無効に
することが合意決定された。これを達成する方法は、使
用される通信アダプタに依存して変わるが、その基本的
な概念について次に述べることにする。図24におい
て、通信ノード14内のシリアル通信チップ200が、
データ・フォーマッティング、並びにパリティ、スター
ト及びストップ・ビット、巡回冗長検査(CRC)コー
ド及び同期バイトなどの保全情報を無効にし、アイドル
文字の生成を禁止する。データ・ブロックのロードのた
めのバス・サイクルを可能にする一方で、一定(等時
性)出力ビデオ・データ・ストリームを保証するため
に、入力FIFOバッファ202、204、206など
が使用される。1000バイトのFIFOバッファ20
8が、CPU及びバス・ローディング論理を単純化す
る。
【0194】シリアル通信チップ200が初期同期(sy
nc)バイト生成を禁止しないと、同期バイトの値は各デ
ータ・ブロックの第1バイトの値にプログラムされる
(そして、データ・ブロック・ポインタが第2バイトに
増分される)。バイト合わせも実時間で管理されなけれ
ばならない。なぜなら、埋込みバイトが実際の圧縮ビデ
オ・データの1部でないと、これらがデータ・ストリー
ムを壊す(corrupt)からである。
nc)バイト生成を禁止しないと、同期バイトの値は各デ
ータ・ブロックの第1バイトの値にプログラムされる
(そして、データ・ブロック・ポインタが第2バイトに
増分される)。バイト合わせも実時間で管理されなけれ
ばならない。なぜなら、埋込みバイトが実際の圧縮ビデ
オ・データの1部でないと、これらがデータ・ストリー
ムを壊す(corrupt)からである。
【0195】高品質レベルの圧縮ビデオ・データに要求
される一定の高速シリアル・データ出力を達成するため
に、循環バッファまたは複数の大きなバッファ(例えば
202、204、206)が使用されなければならな
い。これは、前回充填されたバッファからデータを出力
しながら、入力バッファを充填するのに十分な時間を許
容するために必要となる。バッファの詰め込みがビデオ
・データ・ストリーム経路において早期に実行されない
と、ビデオの終りの状態が非常に小さなバッファとな
り、これが次のバッファ転送が完了する以前に出力され
て、データのアンダーランを生じうることになる。この
ためには最低でも3つの大きな独立のバッファが必要と
なる。デュアル・モード・メモリ(読出し中に書込み可
能)の循環バッファの使用も好適である。
される一定の高速シリアル・データ出力を達成するため
に、循環バッファまたは複数の大きなバッファ(例えば
202、204、206)が使用されなければならな
い。これは、前回充填されたバッファからデータを出力
しながら、入力バッファを充填するのに十分な時間を許
容するために必要となる。バッファの詰め込みがビデオ
・データ・ストリーム経路において早期に実行されない
と、ビデオの終りの状態が非常に小さなバッファとな
り、これが次のバッファ転送が完了する以前に出力され
て、データのアンダーランを生じうることになる。この
ためには最低でも3つの大きな独立のバッファが必要と
なる。デュアル・モード・メモリ(読出し中に書込み可
能)の循環バッファの使用も好適である。
【0196】J1.圧縮MPEG−1、1+、またはM
PEG−2デジタル・データ・フォーマットから、業界
標準テレビジョン・フォーマット(NTSCまたはPA
L)へのビデオ・イメージ及び映画の変換 上述のように、デジタル・ビデオ・データは、ディスク
からバッファ・メモリに転送される。十分なデータがバ
ッファ・メモリに存在すると、これはメモリから通信ノ
ード14内のインタフェース・アダプタに転送される。
使用されるインタフェースはSCSI 20MB/秒、
高速/広帯域インタフェースまたはSSAシリアルSC
SIインタフェースである。SCSIインタフェースは
15アドレスを扱うように拡張され、SSAアーキテク
チャは最大256アドレスをサポートする。他の好適な
インタフェースには、RS422、V.35、V.36
などが含まれる。
PEG−2デジタル・データ・フォーマットから、業界
標準テレビジョン・フォーマット(NTSCまたはPA
L)へのビデオ・イメージ及び映画の変換 上述のように、デジタル・ビデオ・データは、ディスク
からバッファ・メモリに転送される。十分なデータがバ
ッファ・メモリに存在すると、これはメモリから通信ノ
ード14内のインタフェース・アダプタに転送される。
使用されるインタフェースはSCSI 20MB/秒、
高速/広帯域インタフェースまたはSSAシリアルSC
SIインタフェースである。SCSIインタフェースは
15アドレスを扱うように拡張され、SSAアーキテク
チャは最大256アドレスをサポートする。他の好適な
インタフェースには、RS422、V.35、V.36
などが含まれる。
【0197】図25に示されるように、インタフェース
からのビデオ・データは、通信ノード14から通信バス
210を介して、NTSCアダプタ212に渡され(図
24も参照のこと)、ここでバッファリングされる。ア
ダプタ212はデータを局所バッファ214から引き出
すが、ここにはバスの性能を最大化するために複数のデ
ータ・ブロックが記憶される。アダプタ212の主要な
目的は、メモリ214からMPEGチップ216、21
8、そしてNTSCチップ220、及びD/A222へ
のデータの等時的フローを維持することであり、それに
よりビデオ及び音声の配布に中断が生じないように保証
する。
からのビデオ・データは、通信ノード14から通信バス
210を介して、NTSCアダプタ212に渡され(図
24も参照のこと)、ここでバッファリングされる。ア
ダプタ212はデータを局所バッファ214から引き出
すが、ここにはバスの性能を最大化するために複数のデ
ータ・ブロックが記憶される。アダプタ212の主要な
目的は、メモリ214からMPEGチップ216、21
8、そしてNTSCチップ220、及びD/A222へ
のデータの等時的フローを維持することであり、それに
よりビデオ及び音声の配布に中断が生じないように保証
する。
【0198】MPEG論理モジュール216、218
は、デジタル(圧縮)ビデオ・データを要素レベルのビ
デオ及び音声に変換する。NTSCエンコーダ220
は、信号をNTSCベースバンド・アナログ信号に変換
する。MPEG音声デコーダ216は、デジタル音声を
パラレル・デジタル・データに変換し、これが次にデジ
タル−アナログ変換器222を通過し、フィルタリング
されて、左右の音声出力を生成する。
は、デジタル(圧縮)ビデオ・データを要素レベルのビ
デオ及び音声に変換する。NTSCエンコーダ220
は、信号をNTSCベースバンド・アナログ信号に変換
する。MPEG音声デコーダ216は、デジタル音声を
パラレル・デジタル・データに変換し、これが次にデジ
タル−アナログ変換器222を通過し、フィルタリング
されて、左右の音声出力を生成する。
【0199】速度マッチング及び等時的配布問題に対す
る解決策は、システムの帯域幅の配布を最大化するだけ
でなく、最も少ない性能的制限を課すアプローチであ
る。
る解決策は、システムの帯域幅の配布を最大化するだけ
でなく、最も少ない性能的制限を課すアプローチであ
る。
【0200】通常、アプリケーション開発者は、プロセ
ッサとディスク・ファイル、テープ・ファイル、光記憶
ユニットなどの機械的記憶装置との間のデータの制御及
び配布のために、SSA及びSCSIなどのバス構造を
使用する。これらの両方のバスは、ビデオ・データの速
度及び等時的配布を制御する手段が取られるならば、ビ
デオ・データの高帯域幅の配布に好適な属性を含む。
ッサとディスク・ファイル、テープ・ファイル、光記憶
ユニットなどの機械的記憶装置との間のデータの制御及
び配布のために、SSA及びSCSIなどのバス構造を
使用する。これらの両方のバスは、ビデオ・データの速
度及び等時的配布を制御する手段が取られるならば、ビ
デオ・データの高帯域幅の配布に好適な属性を含む。
【0201】SCSIバスは、20MB/秒でのデータ
のバースト転送を許容するので、任意のビデオ信号がバ
ッファ・メモリから特定のNTSCアダプタに転送され
る時間量を最小化する。アダプタ・カード212は大き
なバッファ214を含み、これはデータをバス210か
らメモリに高いピーク・レートでバースト転送し、デー
タをバッファ214からより低いレートで取り出し、M
PEGデコーダ・チップ216、218に配布する性能
を有する。バッファ214は更に小さなバッファにセグ
メント化され、ソフトウェア制御により、循環式に接続
される複数のバッファとして機能するように接続され
る。
のバースト転送を許容するので、任意のビデオ信号がバ
ッファ・メモリから特定のNTSCアダプタに転送され
る時間量を最小化する。アダプタ・カード212は大き
なバッファ214を含み、これはデータをバス210か
らメモリに高いピーク・レートでバースト転送し、デー
タをバッファ214からより低いレートで取り出し、M
PEGデコーダ・チップ216、218に配布する性能
を有する。バッファ214は更に小さなバッファにセグ
メント化され、ソフトウェア制御により、循環式に接続
される複数のバッファとして機能するように接続され
る。
【0202】このことは、システムが可変ブロック・サ
イズのデータを別々のバッファに配布することを可能に
し、再生シーケンスを制御する。このアプローチの利点
は、ビデオ・データの要求に先立ち、ビデオ・データの
ブロックを非常に高い転送レートで配布する必要からソ
フトウェアを解放する。それにより媒体ストリーマ10
は、動的なスループット要求により、多くのビデオ・ス
トリームを管理する能力を提供される。通信ノード内の
プロセッサが時間を有するとき、プロセッサは順番に再
生される複数の大きなデータ・ブロックを配布すること
ができる。これが実行されると、プロセッサは解放さ
れ、即時低速の連続等時性データを各ポートに配布する
必要無しに、他のストリームを制御する。
イズのデータを別々のバッファに配布することを可能に
し、再生シーケンスを制御する。このアプローチの利点
は、ビデオ・データの要求に先立ち、ビデオ・データの
ブロックを非常に高い転送レートで配布する必要からソ
フトウェアを解放する。それにより媒体ストリーマ10
は、動的なスループット要求により、多くのビデオ・ス
トリームを管理する能力を提供される。通信ノード内の
プロセッサが時間を有するとき、プロセッサは順番に再
生される複数の大きなデータ・ブロックを配布すること
ができる。これが実行されると、プロセッサは解放さ
れ、即時低速の連続等時性データを各ポートに配布する
必要無しに、他のストリームを制御する。
【0203】デコーダ・システムのコスト有効性を更に
改良するために、小さなFIFOメモリ224が、大き
なデコーダ・バッファ214とMPEGデコーダ21
6、218との間に挿入される。FIFOメモリ224
は、制御装置226がバッファ214からFIFO22
4に小データ・ブロック(通常は512バイト)を転送
することを可能にし、FIFO224は次にこのデータ
をシリアル・ビット・ストリームに変換して、MPEG
デコーダ216、218に配布する。音声及びビデオの
デコーダ・チップ216、218は、それぞれの入力を
同じシリアル・データ・ストリームから受取り、内部的
に要求データを分離し復号化する。FIFOメモリ22
4の出力からのデータの伝送は、等時的または実質的に
等時的に発生し、ユーザまたは利用者への中断の無いビ
デオ・プレゼンテーションの配布を保証する。
改良するために、小さなFIFOメモリ224が、大き
なデコーダ・バッファ214とMPEGデコーダ21
6、218との間に挿入される。FIFOメモリ224
は、制御装置226がバッファ214からFIFO22
4に小データ・ブロック(通常は512バイト)を転送
することを可能にし、FIFO224は次にこのデータ
をシリアル・ビット・ストリームに変換して、MPEG
デコーダ216、218に配布する。音声及びビデオの
デコーダ・チップ216、218は、それぞれの入力を
同じシリアル・データ・ストリームから受取り、内部的
に要求データを分離し復号化する。FIFOメモリ22
4の出力からのデータの伝送は、等時的または実質的に
等時的に発生し、ユーザまたは利用者への中断の無いビ
デオ・プレゼンテーションの配布を保証する。
【0204】K.SCSI装置へのデジタル・ビデオの
伝送 図26に示されるように、バッファ・メモリからの圧縮
デジタル・ビデオ・データ及びコマンド・ストリーム
は、デバイス・レベルのソフトウェアによりSCSIコ
マンド及びデータ・ストリームに変換され、SCSIバ
ス210を介して、SCSI II高速データ・レート
でターゲット・アダプタ212に転送される。データは
次にバッファリングされ、要求内容出力レートでMPE
G論理に供給されて伸長され、アナログ・ビデオ及び音
声データに変換される。データ・フローの速度を一定に
維持し、適正なバッファ管理を保証するために、SCS
Iバス210を通じてフィードバックが提供される。
伝送 図26に示されるように、バッファ・メモリからの圧縮
デジタル・ビデオ・データ及びコマンド・ストリーム
は、デバイス・レベルのソフトウェアによりSCSIコ
マンド及びデータ・ストリームに変換され、SCSIバ
ス210を介して、SCSI II高速データ・レート
でターゲット・アダプタ212に転送される。データは
次にバッファリングされ、要求内容出力レートでMPE
G論理に供給されて伸長され、アナログ・ビデオ及び音
声データに変換される。データ・フローの速度を一定に
維持し、適正なバッファ管理を保証するために、SCS
Iバス210を通じてフィードバックが提供される。
【0205】SCSI NTSC/PALアダプタ21
2は、標準のSCSIプロトコルのサブセットをサポー
トする高レベルのインタフェースをSCSIバス210
に提供する。通常の動作モードではアダプタ212を開
放して、データ(ビデオ及び音声)ストリームをそれに
書込み、書込みの完了に際してのみアダプタ212を閉
鎖する。アダプタ212は、通信ノード14及び記憶ノ
ード16がデータ・ブロックを提供し続ける間に、その
バッファ・フルを維持するのに必要な速度でデータを引
き出す。ここでデータ・ブロックは、バス・データ転送
を最適化し、バス・オーバヘッドを最小化するようにサ
イズ化される。
2は、標準のSCSIプロトコルのサブセットをサポー
トする高レベルのインタフェースをSCSIバス210
に提供する。通常の動作モードではアダプタ212を開
放して、データ(ビデオ及び音声)ストリームをそれに
書込み、書込みの完了に際してのみアダプタ212を閉
鎖する。アダプタ212は、通信ノード14及び記憶ノ
ード16がデータ・ブロックを提供し続ける間に、その
バッファ・フルを維持するのに必要な速度でデータを引
き出す。ここでデータ・ブロックは、バス・データ転送
を最適化し、バス・オーバヘッドを最小化するようにサ
イズ化される。
【0206】システム・パラメータは必要に応じて、モ
ード選択SCSIコマンドにより、制御パケットを介し
て上書きされる。ビデオ/音声同期はアダプタ212内
で実施され、外部制御は必要とされない。自動再同期化
及び継続する音声/ビデオ出力により、エラーは最小化
される。
ード選択SCSIコマンドにより、制御パケットを介し
て上書きされる。ビデオ/音声同期はアダプタ212内
で実施され、外部制御は必要とされない。自動再同期化
及び継続する音声/ビデオ出力により、エラーは最小化
される。
【0207】K1.SCSIレベルのコマンド記述 SCSIビデオ出力アダプタの機能に適合するために、
標準のコマンドと同様に、直接アクセス装置コマンドと
逐次装置コマンドとの混合が使用される。全てのSCS
Iコマンドでは、有効ステータス・バイトがあらゆるコ
マンドの後に返却され、チェック状態が返却されると、
センス・データ領域にエラー状態がロードされる。使用
される標準SCSIコマンドには、RESET、INQUIRY、RE
QUEST SENSE、MODE SELECT、MODE SENSE、READ、WRIT
E、RESERVE、RELEASE、TEST UNIT READYが含まれる。
標準のコマンドと同様に、直接アクセス装置コマンドと
逐次装置コマンドとの混合が使用される。全てのSCS
Iコマンドでは、有効ステータス・バイトがあらゆるコ
マンドの後に返却され、チェック状態が返却されると、
センス・データ領域にエラー状態がロードされる。使用
される標準SCSIコマンドには、RESET、INQUIRY、RE
QUEST SENSE、MODE SELECT、MODE SENSE、READ、WRIT
E、RESERVE、RELEASE、TEST UNIT READYが含まれる。
【0208】ビデオ・コマンド:ビデオ制御コマンドは
ユーザ・レベルのビデオ出力制御コマンドであり、上記
リストされた標準コマンドの拡張である。これらは低レ
ベル・オペレーティング・システムへの単純化されたユ
ーザ・レベル・フロント・エンド、またはSCSIビデ
オ出力アダプタ212と直接インタフェースするSCS
Iコマンドを提供する。各コマンドはマイクロコードを
用いて達成され、必要なビデオ装置機能をエミュレート
し、無効な制御状態により生じるビデオ及び音声異常を
回避する。単一のSCSIコマンドすなわちSCSI START
/STOP UNITコマンドにより、ビデオ制御コマンドがター
ゲットSCSIビデオ出力アダプタ212に変換され、
コマンドと共に、必要なパラメータが転送される。これ
によりユーザ・アプリケーション・インタフェース及び
アダプタ・カード212のマイクロコードの両方が単純
化される。次に示すコマンドが使用される。
ユーザ・レベルのビデオ出力制御コマンドであり、上記
リストされた標準コマンドの拡張である。これらは低レ
ベル・オペレーティング・システムへの単純化されたユ
ーザ・レベル・フロント・エンド、またはSCSIビデ
オ出力アダプタ212と直接インタフェースするSCS
Iコマンドを提供する。各コマンドはマイクロコードを
用いて達成され、必要なビデオ装置機能をエミュレート
し、無効な制御状態により生じるビデオ及び音声異常を
回避する。単一のSCSIコマンドすなわちSCSI START
/STOP UNITコマンドにより、ビデオ制御コマンドがター
ゲットSCSIビデオ出力アダプタ212に変換され、
コマンドと共に、必要なパラメータが転送される。これ
によりユーザ・アプリケーション・インタフェース及び
アダプタ・カード212のマイクロコードの両方が単純
化される。次に示すコマンドが使用される。
【0209】Stop(SCSI START/STOP 1 - parameter =
mode) MPEGチップ・セット(216、218)へのデータ
入力が停止され、音声が無声化され、ビデオがブランキ
ングされる。パラメータ・フィールドは停止モードを選
択する。通常モードでは、バッファ及び位置ポインタが
現状を維持し、従って、再生はビデオ・ストリームの同
じ位置から継続する。第2のモード(映画の終了または
アボート)では、バッファ・ポインタは次のバッファの
開始にセットされ、現バッファを解放する。第3のモー
ドも映画の終了状態に対応するが、データ・バッファが
空になるまで、停止(無声化及びブランキング)が遅延
される。第4のモードは特定のMPEGデコーダと一緒
に使用され、音声の遅延停止を提供するが、フレームに
ついては、データが尽きたときの最後の有効フレームで
フリーズ(freeze)する。これらのそれぞれの場合にお
いて、ビデオ・アダプタ212のマイクロコードが停止
ポイントを決定し、ビデオ及び音声出力が適切な境界上
で停止され、明確な再スタートを可能にする。
mode) MPEGチップ・セット(216、218)へのデータ
入力が停止され、音声が無声化され、ビデオがブランキ
ングされる。パラメータ・フィールドは停止モードを選
択する。通常モードでは、バッファ及び位置ポインタが
現状を維持し、従って、再生はビデオ・ストリームの同
じ位置から継続する。第2のモード(映画の終了または
アボート)では、バッファ・ポインタは次のバッファの
開始にセットされ、現バッファを解放する。第3のモー
ドも映画の終了状態に対応するが、データ・バッファが
空になるまで、停止(無声化及びブランキング)が遅延
される。第4のモードは特定のMPEGデコーダと一緒
に使用され、音声の遅延停止を提供するが、フレームに
ついては、データが尽きたときの最後の有効フレームで
フリーズ(freeze)する。これらのそれぞれの場合にお
いて、ビデオ・アダプタ212のマイクロコードが停止
ポイントを決定し、ビデオ及び音声出力が適切な境界上
で停止され、明確な再スタートを可能にする。
【0210】Pause(SCSI START/STOP 2 - no paramete
rs) MPEGチップ・セット(216、218)へのデータ
入力が停止され、音声が無声化され、ビデオがブランキ
ングされる。MPEGビデオ・チップ・セット(21
6、218)が、最後の良好なフレームをフリーズす
る。これはビデオ・チューブのバーンイン(burn-in)
を回避するために制限される。Stopコマンドは好適には
制御ノード18により発行されるが、コマンドが5分以
内に受信されない場合には、ビデオ出力は自動的にブラ
ンクとなる。アダプタ212のマイクロコードはバッフ
ァ位置及びデコーダ状態を維持し、再生への円滑な遷移
を可能にする。
rs) MPEGチップ・セット(216、218)へのデータ
入力が停止され、音声が無声化され、ビデオがブランキ
ングされる。MPEGビデオ・チップ・セット(21
6、218)が、最後の良好なフレームをフリーズす
る。これはビデオ・チューブのバーンイン(burn-in)
を回避するために制限される。Stopコマンドは好適には
制御ノード18により発行されるが、コマンドが5分以
内に受信されない場合には、ビデオ出力は自動的にブラ
ンクとなる。アダプタ212のマイクロコードはバッフ
ァ位置及びデコーダ状態を維持し、再生への円滑な遷移
を可能にする。
【0211】Blank-Mute(SCSI START/STOP 3 - parame
ter = mode) このコマンドは、音声出力に影響すること無くビデオ出
力をブランキングするか、ビデオ出力に影響すること無
く音声出力を無声化するか、或いはそれらの両方を実行
する。無声化及びブランキングの両者は、モード・パラ
メータを用いる単一のコマンドによりオフされ、円滑な
遷移及びコマンドのオーバヘッドの低減を可能にする。
これらのことが伸長及びアナログへの変換後に、ハード
ウェア制御によりビデオ・アダプタ212上において実
行され、確実で円滑な遷移を保証する。
ter = mode) このコマンドは、音声出力に影響すること無くビデオ出
力をブランキングするか、ビデオ出力に影響すること無
く音声出力を無声化するか、或いはそれらの両方を実行
する。無声化及びブランキングの両者は、モード・パラ
メータを用いる単一のコマンドによりオフされ、円滑な
遷移及びコマンドのオーバヘッドの低減を可能にする。
これらのことが伸長及びアナログへの変換後に、ハード
ウェア制御によりビデオ・アダプタ212上において実
行され、確実で円滑な遷移を保証する。
【0212】Slow Play(SCSI START/STOP 4 - paramet
er = rate) このコマンドは、MPEGチップ・セット(216、2
18)へのデータ入力レートを低速化し、フレームを断
続的にフリーズさせ、VCR上での低速再生機能をシミ
ュレートする。デジタル・エラー・ノイズを回避するた
めに音声が無声化される。パラメータ・フィールドは、
相対速度を0乃至100に指定する。別の例では、デコ
ーダ・チップ・セット(216、218)のエラー処理
を禁止し、デコーダ・チップ・セットへのデータ・クロ
ッキング速度を、所望の再生速度に変更する。これはビ
デオ・アダプタのクロック・アーキテクチャの柔軟性に
依存する。
er = rate) このコマンドは、MPEGチップ・セット(216、2
18)へのデータ入力レートを低速化し、フレームを断
続的にフリーズさせ、VCR上での低速再生機能をシミ
ュレートする。デジタル・エラー・ノイズを回避するた
めに音声が無声化される。パラメータ・フィールドは、
相対速度を0乃至100に指定する。別の例では、デコ
ーダ・チップ・セット(216、218)のエラー処理
を禁止し、デコーダ・チップ・セットへのデータ・クロ
ッキング速度を、所望の再生速度に変更する。これはビ
デオ・アダプタのクロック・アーキテクチャの柔軟性に
依存する。
【0213】Play(SCSI START/STOP 5 - parameter =
buffer) このコマンドはMPEGチップ・セット(216、21
8)へのデータ供給プロセスを開始し、音声及びビデオ
出力を可能にする。再生シーケンスを開始するバッファ
を決定するバッファ選択番号が渡され、ゼロ値は現再生
バッファが使用されるべきことを示す(通常のオペレー
ション)。非ゼロ値は、アダプタ212が停止モードの
場合にのみ受諾され、休止モードでは、バッファ選択パ
ラメータは無視され、再生が現バッファ選択及び位置に
より再開される。
buffer) このコマンドはMPEGチップ・セット(216、21
8)へのデータ供給プロセスを開始し、音声及びビデオ
出力を可能にする。再生シーケンスを開始するバッファ
を決定するバッファ選択番号が渡され、ゼロ値は現再生
バッファが使用されるべきことを示す(通常のオペレー
ション)。非ゼロ値は、アダプタ212が停止モードの
場合にのみ受諾され、休止モードでは、バッファ選択パ
ラメータは無視され、再生が現バッファ選択及び位置に
より再開される。
【0214】再生中、制御装置226がバッファを順次
回転させ、MPEGチップ・セット(216、218)
への安定なデータ・ストリームを維持する。データはバ
ッファのアドレス0から開始して、Nバイトが読出され
るまで、適切なレートでMPEGバスに読出され、次に
制御装置226が次のバッファに切り替え、データの読
出しを継続する。アダプタ・バス及びマイクロコード
が、アダプタ・バッファ214へのSCSI高速データ
転送、並びにMPEG伸長チップ(216、218)に
データを供給する出力FIFO224へのデータの安定
ローディングの両方に対応する、十分な帯域幅を提供す
る。
回転させ、MPEGチップ・セット(216、218)
への安定なデータ・ストリームを維持する。データはバ
ッファのアドレス0から開始して、Nバイトが読出され
るまで、適切なレートでMPEGバスに読出され、次に
制御装置226が次のバッファに切り替え、データの読
出しを継続する。アダプタ・バス及びマイクロコード
が、アダプタ・バッファ214へのSCSI高速データ
転送、並びにMPEG伸長チップ(216、218)に
データを供給する出力FIFO224へのデータの安定
ローディングの両方に対応する、十分な帯域幅を提供す
る。
【0215】Fast Forward(SCSI START/STOP 6 - para
meter = rate) このコマンドは、VCRの高速先送りをエミュレートす
るようにデータを走査する。レート・パラメータにより
決定される2つの動作モードが存在する。レート0は、
ビデオ及び音声がそれぞれブランキング及び無声化され
る高速先送りを意味し、バッファはフラッシュ(flus
h)され、データがビデオ・ストリームの順方向の新た
な位置から受信されると再生が暗黙的に実行される。1
乃至10の整数値は、入力ストリームが先送りされるレ
ートを示す。ビデオは指定の平均データ・レートを達成
するために、データ・ブロックをスキップしてサンプリ
ングされる。アダプタ212はほぼ通常のレートでデー
タの1部を再生し、前方へ飛び越した後、次の部分を再
生し、高速先送り動作をエミュレートする。
meter = rate) このコマンドは、VCRの高速先送りをエミュレートす
るようにデータを走査する。レート・パラメータにより
決定される2つの動作モードが存在する。レート0は、
ビデオ及び音声がそれぞれブランキング及び無声化され
る高速先送りを意味し、バッファはフラッシュ(flus
h)され、データがビデオ・ストリームの順方向の新た
な位置から受信されると再生が暗黙的に実行される。1
乃至10の整数値は、入力ストリームが先送りされるレ
ートを示す。ビデオは指定の平均データ・レートを達成
するために、データ・ブロックをスキップしてサンプリ
ングされる。アダプタ212はほぼ通常のレートでデー
タの1部を再生し、前方へ飛び越した後、次の部分を再
生し、高速先送り動作をエミュレートする。
【0216】Rewind(SCSI START/STOP 7 - parameter
= buffer) このコマンドは、VCRの巻戻しをエミュレートするよ
うに、データを後方走査する。レート・パラメータによ
り決定される2つの動作モードが存在する。レート0
は、ビデオ及び音声がそれぞれブランキング及び無声化
される高速巻戻しを意味し、バッファはフラッシュさ
れ、データがビデオ・ストリームの逆方向の新たな位置
から受信されると、再生が暗黙的に実行される。1乃至
10の整数値は、入力ストリームが巻戻されるレートを
示す。ビデオは指定の平均データ・レートを達成するた
めに、データ・ブロックをスキップしてサンプリングさ
れる。巻戻しデータ・ストリームは、ビデオ・ストリー
ムの順次的に早い位置からサンプリングされる小さなデ
ータ・ブロックを組合わせることにより生成される。ア
ダプタ・カード212は、遷移及び同期を円滑に処理し
て通常のレートで再生し、次のサンプル部分にスキップ
して戻ることにより、巻戻し走査をエミュレートする。
= buffer) このコマンドは、VCRの巻戻しをエミュレートするよ
うに、データを後方走査する。レート・パラメータによ
り決定される2つの動作モードが存在する。レート0
は、ビデオ及び音声がそれぞれブランキング及び無声化
される高速巻戻しを意味し、バッファはフラッシュさ
れ、データがビデオ・ストリームの逆方向の新たな位置
から受信されると、再生が暗黙的に実行される。1乃至
10の整数値は、入力ストリームが巻戻されるレートを
示す。ビデオは指定の平均データ・レートを達成するた
めに、データ・ブロックをスキップしてサンプリングさ
れる。巻戻しデータ・ストリームは、ビデオ・ストリー
ムの順次的に早い位置からサンプリングされる小さなデ
ータ・ブロックを組合わせることにより生成される。ア
ダプタ・カード212は、遷移及び同期を円滑に処理し
て通常のレートで再生し、次のサンプル部分にスキップ
して戻ることにより、巻戻し走査をエミュレートする。
【0217】K2.バッファ管理 デジタル・ビデオ・サーバは多くの並行出力装置にデー
タを提供するが、デジタル・ビデオ・データ伸長及び変
換は、一定のデータ・ストリームを要求する。データの
バッファリング技法が、SCSIデータ・バースト・モ
ード伝送を利用するために使用され、データのアンダー
ランまたはバッファのオーバランを回避する一方、媒体
ストリーマ10が最小の介入により、データを多くのス
トリームに送信することを可能にする。SCSIビデオ
・アダプタ・カード212(図25、26参照)は、S
CSIバースト・モード・データ転送プロセスを完全に
使用可能にするビデオ・データ用の大きなバッファ21
4を含む。一般的な構成は768Kの1つのバッファ2
14であり、局所論理により循環回路バッファとして処
理される。循環バッファは、可変データ・ブロック・サ
イズを動的に処理する場合に固定長バッファよりも好適
である。後者は、デジタル・ビデオ・データを転送する
ときの記憶オーバヘッド及び管理オーバヘッドの両方の
点で、非効率的である。
タを提供するが、デジタル・ビデオ・データ伸長及び変
換は、一定のデータ・ストリームを要求する。データの
バッファリング技法が、SCSIデータ・バースト・モ
ード伝送を利用するために使用され、データのアンダー
ランまたはバッファのオーバランを回避する一方、媒体
ストリーマ10が最小の介入により、データを多くのス
トリームに送信することを可能にする。SCSIビデオ
・アダプタ・カード212(図25、26参照)は、S
CSIバースト・モード・データ転送プロセスを完全に
使用可能にするビデオ・データ用の大きなバッファ21
4を含む。一般的な構成は768Kの1つのバッファ2
14であり、局所論理により循環回路バッファとして処
理される。循環バッファは、可変データ・ブロック・サ
イズを動的に処理する場合に固定長バッファよりも好適
である。後者は、デジタル・ビデオ・データを転送する
ときの記憶オーバヘッド及び管理オーバヘッドの両方の
点で、非効率的である。
【0218】ビデオ・アダプタ・カード212のマイク
ロコードは、複数のバッファ・ポインタをサポートし、
データの現在の長さ及び先頭の他に、データの最後の先
頭を保持する。このことは必要に応じて、失敗伝送を上
書きする再試行を可能にしたり、ポインタを現バッファ
内のバイト位置に配置することを可能にする。データ・
ブロック長は、デコード・チップ・セット(216、2
18)への有効データの転送を保証するように、送信時
と同じに維持される(たとえ中間論理によりロング・ワ
ード構成が使用されるとしても、バイトまたはワード特
有である)。このアプローチは、データ・バッファの柔
軟な制御を維持しながら、安定状態動作のオーバヘッド
を最小化する。
ロコードは、複数のバッファ・ポインタをサポートし、
データの現在の長さ及び先頭の他に、データの最後の先
頭を保持する。このことは必要に応じて、失敗伝送を上
書きする再試行を可能にしたり、ポインタを現バッファ
内のバイト位置に配置することを可能にする。データ・
ブロック長は、デコード・チップ・セット(216、2
18)への有効データの転送を保証するように、送信時
と同じに維持される(たとえ中間論理によりロング・ワ
ード構成が使用されるとしても、バイトまたはワード特
有である)。このアプローチは、データ・バッファの柔
軟な制御を維持しながら、安定状態動作のオーバヘッド
を最小化する。
【0219】K2.1.バッファ選択及び位置 複数のバッファ・セットが要求される場合、全てのバッ
ファ関連オペレーションにおいて、複数のポインタが使
用可能である。例えば、第1のセットは再生バッファ及
びそのバッファ内の現在位置を選択するために使用さ
れ、第2のセットはデータ・プリロード・オペレーショ
ンに対応して、書込みバッファ及びそのバッファ内の位
置(通常は0)を選択するために使用される。受信され
る各データ・ブロックに対応して、現在長及び最大長が
保持される。なぜなら、可変長データ・ブロックもサポ
ートされるからである。
ファ関連オペレーションにおいて、複数のポインタが使
用可能である。例えば、第1のセットは再生バッファ及
びそのバッファ内の現在位置を選択するために使用さ
れ、第2のセットはデータ・プリロード・オペレーショ
ンに対応して、書込みバッファ及びそのバッファ内の位
置(通常は0)を選択するために使用される。受信され
る各データ・ブロックに対応して、現在長及び最大長が
保持される。なぜなら、可変長データ・ブロックもサポ
ートされるからである。
【0220】K2.2.自動モード バッファ・オペレーションはビデオ・アダプタの制御装
置226により管理され、Nバイトのデータが次の使用
可能なバッファ空間のアドレス0から配置される。制御
装置226は、各バッファ内のデータ長及びそのデータ
が再生されたかどうかを追跡する。十分なバッファ空間
が解放されていると、アダプタ・カードは次のWRITEコ
マンドを受諾し、データをそのバッファにDMA転送す
る。完全なデータ・ブロックを受入れるのに十分なバッ
ファ空間が解放されていないと(典型的には低速再生
(Slow Play)または休止状態)、WRITEコマンドは受諾
されず、バッファ・フル復帰コードが返却される。
置226により管理され、Nバイトのデータが次の使用
可能なバッファ空間のアドレス0から配置される。制御
装置226は、各バッファ内のデータ長及びそのデータ
が再生されたかどうかを追跡する。十分なバッファ空間
が解放されていると、アダプタ・カードは次のWRITEコ
マンドを受諾し、データをそのバッファにDMA転送す
る。完全なデータ・ブロックを受入れるのに十分なバッ
ファ空間が解放されていないと(典型的には低速再生
(Slow Play)または休止状態)、WRITEコマンドは受諾
されず、バッファ・フル復帰コードが返却される。
【0221】K2.3.マニュアル・モード LOCATEコマンドは、各バッファ・アクセス・コマンド
(WRITE、ERASEなど)に対応して、現書込みバッファ及
びそのバッファ内の位置(通常は0)を選択するために
使用される。バッファ位置は、成功裡に伝送された最後
のデータ・ブロックのデータの開始に関連付けられる。
これは好適にはビデオ・ストリーム遷移管理のために実
行され、システム内のコマンド・オーバヘッドを最小化
するために、自動モードができる限り早く再活動化され
る。
(WRITE、ERASEなど)に対応して、現書込みバッファ及
びそのバッファ内の位置(通常は0)を選択するために
使用される。バッファ位置は、成功裡に伝送された最後
のデータ・ブロックのデータの開始に関連付けられる。
これは好適にはビデオ・ストリーム遷移管理のために実
行され、システム内のコマンド・オーバヘッドを最小化
するために、自動モードができる限り早く再活動化され
る。
【0222】K2.4.エラー管理 デジタル・ビデオ・データ転送は、データ処理アプリケ
ーションにおいて、通常、SCSIを使用するランダム
・データ・アクセスの場合とは異なるエラー管理要求を
有する。少量のデータ損失は伝送の中断に比較して重要
ではなく、従来の再試行及びデータ検証方法が変更また
は使用禁止にされる。通常のSCSIエラー処理プロシ
ージャでは、ステータス・フェーズの間の各コマンドの
完了時に、ステータス・バイトが戻される。ステータス
・バイトは、ターゲットSCSIチップ227がコマン
ドを受諾できないと、良好(00)状態またはビジー
(08h)を示し、エラーが発生すると、チェック状態
(02h)を示す。
ーションにおいて、通常、SCSIを使用するランダム
・データ・アクセスの場合とは異なるエラー管理要求を
有する。少量のデータ損失は伝送の中断に比較して重要
ではなく、従来の再試行及びデータ検証方法が変更また
は使用禁止にされる。通常のSCSIエラー処理プロシ
ージャでは、ステータス・フェーズの間の各コマンドの
完了時に、ステータス・バイトが戻される。ステータス
・バイトは、ターゲットSCSIチップ227がコマン
ドを受諾できないと、良好(00)状態またはビジー
(08h)を示し、エラーが発生すると、チェック状態
(02h)を示す。
【0223】K2.5.エラー回復 SCSIビデオ・アダプタ212の制御装置226は、
チェック状態応答の際に、要求センス・コマンドを自動
的に生成し、エラー及びステータス情報をロードし、回
復プロシージャが可能かどうかを決定する。通常の回復
プロシージャはエラー状態をクリアし、破壊されたデー
タを廃棄し、できるだけ早く通常の再生を再開する。最
悪の場合、アダプタ212はリセットされ、再生以前に
再ロードされたデータが再開されうる。エラー状態は記
録され、次の問合わせ(INQUIRY)または要求センス(R
EQUEST SENSE)SCSIオペレーションにおいて、ホス
ト・システムに報告される。
チェック状態応答の際に、要求センス・コマンドを自動
的に生成し、エラー及びステータス情報をロードし、回
復プロシージャが可能かどうかを決定する。通常の回復
プロシージャはエラー状態をクリアし、破壊されたデー
タを廃棄し、できるだけ早く通常の再生を再開する。最
悪の場合、アダプタ212はリセットされ、再生以前に
再ロードされたデータが再開されうる。エラー状態は記
録され、次の問合わせ(INQUIRY)または要求センス(R
EQUEST SENSE)SCSIオペレーションにおいて、ホス
ト・システムに報告される。
【0224】K2.6.自動再試行 バッファ・フルまたは装置ビジー状態では、再試行がス
トリーム・データ・レートに依存して、最高X回自動的
に実行される。これは次のデータ・バッファが到来した
時点にのみ許可される。その時点で、その状態が予想で
きない場合には(例えば休止または低速再生モードでな
いのにバッファ・フルである)、エラーが記憶され、ビ
デオ再生を回復し継続するためには、装置リセットまた
はクリアが必要となりうる。
トリーム・データ・レートに依存して、最高X回自動的
に実行される。これは次のデータ・バッファが到来した
時点にのみ許可される。その時点で、その状態が予想で
きない場合には(例えば休止または低速再生モードでな
いのにバッファ・フルである)、エラーが記憶され、ビ
デオ再生を回復し継続するためには、装置リセットまた
はクリアが必要となりうる。
【0225】これまで主にビデオ・プレゼンテーション
をユーザに配布する内容について述べてきたが、双方向
ビデオ・アダプタを使用することにより、ビデオ・プレ
ゼンテーションを受信し、それをデータ表現としてデジ
タル化し、データ表現をバス210を介して通信ノード
14に伝送し、低待ち時間スイッチ18を介して、制御
ノード18により指定される記憶ノード16、17に記
憶することが可能であることが理解されよう。
をユーザに配布する内容について述べてきたが、双方向
ビデオ・アダプタを使用することにより、ビデオ・プレ
ゼンテーションを受信し、それをデータ表現としてデジ
タル化し、データ表現をバス210を介して通信ノード
14に伝送し、低待ち時間スイッチ18を介して、制御
ノード18により指定される記憶ノード16、17に記
憶することが可能であることが理解されよう。
【0226】上述の説明は本発明の単なる1実施例に過
ぎず、当業者には、本発明の範囲を逸脱すること無く、
様々な代替例及び変更が考案されよう。従って、本発明
はこうした全ての代替例及び変更を含むものである。
ぎず、当業者には、本発明の範囲を逸脱すること無く、
様々な代替例及び変更が考案されよう。従って、本発明
はこうした全ての代替例及び変更を含むものである。
【0227】
【0228】
【0229】
【発明の効果】以上説明したように、本発明によれば、
コンピュータ業界の従来のインタフェースにより、マル
チメディア環境における等時的データ・ストリーム転送
を可能にする"ビデオ・フレンドリ"なコンピュータ・サ
ブシステムを提供することができる。
コンピュータ業界の従来のインタフェースにより、マル
チメディア環境における等時的データ・ストリーム転送
を可能にする"ビデオ・フレンドリ"なコンピュータ・サ
ブシステムを提供することができる。
【図1】本発明を組込んだ媒体ストリーマのブロック図
である。
である。
【図2】図1の回路スイッチの詳細を示すブロック図で
ある。
ある。
【図3】図1のテープ記憶ノードの詳細を示すブロック
図である。
図である。
【図4】図1のディスク記憶ノードの詳細を示すブロッ
ク図である。
ク図である。
【図5】図1の通信ノードの詳細を示すブロック図であ
る。
る。
【図6】高優先順位で実行されるビデオ・ストリーム出
力制御コマンドのリストと、低優先順位で実行されるデ
ータ管理コマンドのリストである。
力制御コマンドのリストと、低優先順位で実行されるデ
ータ管理コマンドのリストである。
【図7】通信ノードのデータ・フローを示すブロック図
である。
である。
【図8】ディスク記憶ノードのデータ・フローを示すブ
ロック図である。
ロック図である。
【図9】接続を可能にする制御メッセージ・フローを示
す図である。
す図である。
【図10】再生を可能にする制御メッセージ・フローを
示す図である。
示す図である。
【図11】媒体ストリーマとクライアント制御システム
との間に存在するインタフェースを示す図である。
との間に存在するインタフェースを示す図である。
【図12】媒体ストリーマを動作するために使用される
複数の"ソフト"・キーを示す表示パネルを示す図であ
る。
複数の"ソフト"・キーを示す表示パネルを示す図であ
る。
【図13】図12のLOADソフト・キーの選択時に表示さ
れるLOAD選択パネルを示す図である。
れるLOAD選択パネルを示す図である。
【図14】図12のバッチ・キーの選択時に表示される
バッチ選択パネルを示す図である。
バッチ選択パネルを示す図である。
【図15】クライアント制御システムと媒体ストリーマ
の間に存在する複数のクライアント/サーバ関係を示す
図である。
の間に存在する複数のクライアント/サーバ関係を示す
図である。
【図16】ビデオ・データをアクセスし、それを1つ以
上の出力ポートに供給する従来技術を示す図である。
上の出力ポートに供給する従来技術を示す図である。
【図17】複数のビデオ・ポートが、通信ノード・キャ
ッシュ・メモリに含まれる単一のビデオ・セグメントを
アクセスする様子を示すブロック図である。
ッシュ・メモリに含まれる単一のビデオ・セグメントを
アクセスする様子を示すブロック図である。
【図18】複数のビデオ・ポートが、ディスク記憶ノー
ド上のキャッシュ・メモリに含まれるビデオ・セグメン
トを直接アクセスする様子を示す図である。
ド上のキャッシュ・メモリに含まれるビデオ・セグメン
トを直接アクセスする様子を示す図である。
【図19】本発明により使用されるメモリ割当て機構を
示す図である。
示す図である。
【図20】ビデオ1に対応するセグメント化論理ファイ
ルを示す図である。
ルを示す図である。
【図21】ビデオ1の様々なセグメントが複数のディス
ク・ドライブに渡りストライプされる様子を示す図であ
る。
ク・ドライブに渡りストライプされる様子を示す図であ
る。
【図22】記憶ノードとクロス・バー・スイッチとの間
の従来のスイッチ・インタフェースを示す図である。
の従来のスイッチ・インタフェースを示す図である。
【図23】記憶ノードに対応して拡張出力帯域幅を提供
するように、図22に示される従来のスイッチ・インタ
フェースが変更される様子を示す図である。
するように、図22に示される従来のスイッチ・インタ
フェースが変更される様子を示す図である。
【図24】ビデオ出力バスへの一定ビデオ出力を保証す
るプロシージャを示すブロック図である。
るプロシージャを示すブロック図である。
【図25】デジタル・ビデオ・データをアナログ・ビデ
オ・データに変換するために使用されるビデオ・アダプ
タのブロック図である。
オ・データに変換するために使用されるビデオ・アダプ
タのブロック図である。
【図26】図25のビデオ・アダプタ・カードの制御の
ためにSCSIバス・コマンドの使用を可能にする制御
モジュールのブロック図である。
ためにSCSIバス・コマンドの使用を可能にする制御
モジュールのブロック図である。
2、3、4 ストライプ 10 ビデオ最適化ストリーム・サーバ・システム(媒
体ストリーマ) 12 低待ち時間スイッチ 14 通信ノード 15 ビデオ・ポート 16、17 記憶ノード 18 制御ノード 20 クロスバー・スイッチ・カード 24 制御装置インタフェース 26 テープ・ライブラリ 28 インタフェース 30 内部システム・メモリ 32 DMAデータ転送パス 34、54 PC 36 ソフトウェア 38、50 バッファ・モジュール 44 内部PC 45 ディスク 46、48、56、58 ソフトウェア・モジュール 52 通信インタフェース 60 入力 62 自動制御装置 64 システム制御装置 65 ユーザ制御セット・トップ・ボックス 66 表示機構 100、110 入力スレッド 104、114 スケジュール機能 102、112 出力スレッド 106 要求キュー 108 入力キュー 116 メッセージ・スレッド 130 バッチ・ボタン 132 インポート/エクスポート・ボタン 134 "ロード"・ソフト・ボタン 136 "ファイル"・ボックス 138、150 "ファイル名"ボックス 140 "追加"ボタン 142 "再生リスト"・ボックス 144 "実行"ボタン 146 "ディレクトリ"・ボックス 160、162 ディスク・ファイル 166 ファイル・システム 168 媒体サーバ 170 ビデオ・ドライバ 172、174 ビデオ・アダプタ・ポート 180、182 ディスク記憶ノード 186 通信ノード 190、192 ディスク・ドライブ 194、196 ビデオ・ポート 198 ディスク・キャッシュ・バッファ 200 シリアル通信チップ 202、204、206 入力FIFOバッファ 208 FIFOバッファ 210 SCSIバス 212 NTSCアダプタ 214 局所バッファ 216、218 MPEGチップ(論理モジュール) 220 NTSCエンコーダ 222 D/A変換器 224 FIFOメモリ 226 制御装置
体ストリーマ) 12 低待ち時間スイッチ 14 通信ノード 15 ビデオ・ポート 16、17 記憶ノード 18 制御ノード 20 クロスバー・スイッチ・カード 24 制御装置インタフェース 26 テープ・ライブラリ 28 インタフェース 30 内部システム・メモリ 32 DMAデータ転送パス 34、54 PC 36 ソフトウェア 38、50 バッファ・モジュール 44 内部PC 45 ディスク 46、48、56、58 ソフトウェア・モジュール 52 通信インタフェース 60 入力 62 自動制御装置 64 システム制御装置 65 ユーザ制御セット・トップ・ボックス 66 表示機構 100、110 入力スレッド 104、114 スケジュール機能 102、112 出力スレッド 106 要求キュー 108 入力キュー 116 メッセージ・スレッド 130 バッチ・ボタン 132 インポート/エクスポート・ボタン 134 "ロード"・ソフト・ボタン 136 "ファイル"・ボックス 138、150 "ファイル名"ボックス 140 "追加"ボタン 142 "再生リスト"・ボックス 144 "実行"ボタン 146 "ディレクトリ"・ボックス 160、162 ディスク・ファイル 166 ファイル・システム 168 媒体サーバ 170 ビデオ・ドライバ 172、174 ビデオ・アダプタ・ポート 180、182 ディスク記憶ノード 186 通信ノード 190、192 ディスク・ドライブ 194、196 ビデオ・ポート 198 ディスク・キャッシュ・バッファ 200 シリアル通信チップ 202、204、206 入力FIFOバッファ 208 FIFOバッファ 210 SCSIバス 212 NTSCアダプタ 214 局所バッファ 216、218 MPEGチップ(論理モジュール) 220 NTSCエンコーダ 222 D/A変換器 224 FIFOメモリ 226 制御装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ポン−シェン・ワン アメリカ合衆国95120、カリフォルニア 州サン・ホセ、ハンプスウッド・ウェイ 955 (58)調査した分野(Int.Cl.7,DB名) H04N 5/76 - 5/956 G06F 3/06 303 G06F 3/06 540 G06F 12/00 580 H04N 7/16 - 7/173 G11B 20/10 - 20/12
Claims (9)
- 【請求項1】少なくとも1つの制御ノードと、 前記少なくとも1つの制御ノードに接続される出力を有
するユーザ・インタフェースと、 少なくとも1つのビデオ・プレゼンテーションのデジタ
ル表現を記憶する少なくとも1つの記憶ノードと、 各々が前記少なくとも1つの記憶ノードの出力に接続さ
れ、前記少なくとも1つのビデオ・プレゼンテーション
のデジタル表現を受信する入力ポートを有する複数の通
信ノードであって、前記複数の各通信ノードが、各々が
デジタル表現を該デジタル表現の利用者に出力する複数
の出力ポートを有する、前記通信ノードと、 前記少なくとも1つの記憶ノードと、前記複数の通信ノ
ードの前記入力ポートと、外部インタフェースとを相互
接続する回路スイッチと、 を含み、 前記ユーザ・インタフェースが、前記少なくとも1つの
記憶ノードに記憶されるビデオ・プレゼンテーションの
識別を指定する手段を含み、 前記少なくとも1つの制御ノードが、前記指定ビデオ・
プレゼンテーションに応答して、前記ビデオ最適化スト
リーム・サーバ・システムの外部の記憶手段から前記外
部インタフェース及び前記回路スイッチを介して、前記
指定ビデオ・プレゼンテーションの対応するデジタル表
現を入力し、該入力デジタル表現を、前記指定された識
別に関連付けられる前記少なくとも1つの記憶ノードに
記憶する、 ビデオ最適化ストリーム・サーバ・システム。 - 【請求項2】少なくとも1つの制御ノードと、 前記少なくとも1つの制御ノードに接続される出力を有
するユーザ・インタフェースと、 少なくとも1つのビデオ・プレゼンテーションのデジタ
ル表現を記憶する少なくとも1つの記憶ノードと、 各々が前記少なくとも1つの記憶ノードの出力に接続さ
れ、前記少なくとも1つのビデオ・プレゼンテーション
のデジタル表現を受信する入力ポートを有する複数の通
信ノードであって、前記複数の各通信ノードが、各々が
デジタル表現を該デジタル表現の利用者に出力する複数
の出力ポートを有する、前記通信ノードと、 前記少なくとも1つの記憶ノードと、前記複数の通信ノ
ードの前記入力ポートと、外部インタフェースとを相互
接続する回路スイッチと、 を含み、 前記ユーザ・インタフェースが、前記少なくとも1つの
記憶ノードから出力されるビデオ・プレゼンテーション
の識別を指定する手段を含み、 前記少なくとも1つの制御ノードが、前記指定ビデオ・
プレゼンテーションに応答して、前記少なくとも1つの
記憶ノードをアクセスし、該指定ビデオ・プレゼンテー
ションの対応するデジタル表現を読出し、該対応デジタ
ル表現を前記回路スイッチ及び前記外部インタフェース
を介して、前記ビデオ最適化ストリーム・サーバ・シス
テムの外部の記憶手段に出力する、 ビデオ最適化ストリーム・サーバ・システム。 - 【請求項3】少なくとも1つの制御ノードと、 前記少なくとも1つの制御ノードに接続される出力を有
するユーザ・インタフェースと、 少なくとも1つのビデオ・プレゼンテーションのデジタ
ル表現を記憶する少なくとも1つの記憶ノードであっ
て、前記ビデオ・プレゼンテーションがそれを完全に表
示するのに時間Tを要し、各々が該ビデオ・プレゼンテ
ーションのT/N期間に相当するデータを記憶する複数
のNデータ・ブロックとして記憶される、前記記憶ノー
ドと、 各々が前記記憶ノードから前記少なくとも1つのビデオ
・プレゼンテーションのデジタル表現を受信する入力ポ
ートを有する複数の通信ノードであって、前記複数の各
通信ノードが、各々がデジタル表現を該デジタル表現の
利用者に出力する複数の出力ポートを有する、前記通信
ノードと、 前記少なくとも1つの記憶ノードと、前記複数の通信ノ
ードの前記入力ポートとの間に接続され、1つ以上の前
記入力ポートを前記少なくとも1つの記憶ノードに接続
し、該記憶ノードに記憶されるデジタル表現を1つ以上
の前記出力ポートに出現させることを可能にする、回路
スイッチと、 を含み、 前記ユーザ・インタフェースが実行コマンドを指定する
手段を含み、 前記少なくとも1つの制御ノードが個々の前記コマンド
を受け取って、前記少なくとも1つの記憶ノードの少な
くとも1つ、及び前記複数の通信ノードの少なくとも1
つを制御し、当該コマンドに関連する機能を実行する、
ビデオ最適化ストリーム・サーバ・システム。 - 【請求項4】前記コマンドが、ロード・コマンド、取出
しコマンド、再生コマンド、低速コマンド、高速先送り
コマンド、休止コマンド、停止コマンド、巻戻しコマン
ド、及び無声コマンドを含むグループから選択されるビ
デオ・カセット・レコーダ式コマンドである、請求項3
記載のビデオ最適化ストリーム・サーバ・システム。 - 【請求項5】前記コマンドが、再生リスト・コマンド及
び再生長コマンドを含むグループから選択されるコマン
ドを含む、請求項3記載のビデオ最適化ストリーム・サ
ーバ・システム。 - 【請求項6】前記少なくとも1つの制御ノードが、前記
再生リスト・コマンドに応答して、前記通信ノードの1
つのユーザ指定出力ポートから、ユーザ指定順序で出力
されるユーザ指定ビデオ・プレゼンテーションのリスト
を生成する、請求項5記載のビデオ最適化ストリーム・
サーバ・システム。 - 【請求項7】前記少なくとも1つの制御ノードが、前記
再生長コマンドに応答して、ユーザ指定ビデオ・プレゼ
ンテーションをユーザ指定出力ポートからユーザ指定期
間出力する、請求項5記載のビデオ最適化ストリーム・
サーバ・システム。 - 【請求項8】少なくとも1つの制御ノードと、 前記少なくとも1つの制御ノードに接続される出力を有
するユーザ・インタフェースと、 少なくとも1つのビデオ・プレゼンテーションのデジタ
ル表現を記憶する少なくとも1つの記憶ノードと、 各々が前記記憶ノードから前記少なくとも1つのビデオ
・プレゼンテーションのデジタル表現を受信する入力ポ
ートを有する複数の通信ノードであって、前記複数の各
通信ノードが、各々がデジタル表現を該デジタル表現の
利用者に出力する複数の出力ポートを有する、前記通信
ノードと、 前記少なくとも1つの記憶ノードと、前記複数の通信ノ
ードの前記入力ポートとの間に接続され、1つ以上の前
記入力ポートを前記少なくとも1つの記憶ノードに接続
し、該記憶ノードに記憶されるデジタル表現を1つ以上
の前記出力ポートに出現させることを可能にする、回路
スイッチと、 を含み、 前記ユーザ・インタフェースが実行コマンドを指定する
手段を含み、 前記少なくとも1つの制御ノードが個々の前記コマンド
を受け取って、前記少なくとも1つの記憶ノードの少な
くとも1つ、及び前記複数の通信ノードの少なくとも1
つを制御し、当該コマンドに関連する機能を実行し、 特定の前記コマンドがビデオ・カセット・レコーダ式コ
マンドであり、別の前記コマンドがバッチ・コマンドで
あり、 前記少なくとも1つの制御ノードが前記バッチ・コマン
ドに応答して、少なくとも2つ以上の前記ビデオ・カセ
ット・レコーダ式コマンドを含むユーザ指定記憶リスト
をアクセスし、ユーザからの指示により、前記アクセス
された記憶リストに含まれる全てのコマンドを順次実行
する、 ビデオ最適化ストリーム・サーバ・システム。 - 【請求項9】少なくとも1つの制御ノードと、 前記少なくとも1つの制御ノードに接続される出力を有
するユーザ・インタフェースと、 少なくとも1つのビデオ・プレゼンテーションのデジタ
ル表現を記憶する少なくとも1つの記憶ノードと、 各々が前記少なくとも1つの記憶ノードの出力に接続さ
れ、前記少なくとも1つのビデオ・プレゼンテーション
のデジタル表現を受信する入力ポートを有する複数の通
信ノードであって、前記複数の各通信ノードが、各々が
デジタル表現を該デジタル表現の利用者に出力する複数
の出力ポートを有する、前記通信ノードと、 前記少なくとも1つの記憶ノードと、前記複数の通信ノ
ードの前記入力ポートと、外部インタフェースとを相互
接続する回路スイッチと、 遠隔プロシージャ呼出し(RPC)プロシージャを含
み、前記ユーザ・インタフェースを介して、ユーザ・ア
プリケーション・プログラムを前記少なくとも1つの制
御ノードに接続する同期アプリケーション・プログラム
・インタフェース(API)と、 を含み、 前記少なくとも1つの制御ノードがRPCプロシージャ
を受け取って、該プロシージャを実行し、前記少なくと
も1つの記憶ノードの少なくとも1つ、及び前記複数の
記憶ノードの少なくとも1つを制御し、個々の前記プロ
シージャに関連する少なくとも1つの機能を実行し、所
与の前記プロシージャに対応して、該プロシージャの実
行の完了を示す終了コードを返却する、 ビデオ最適化ストリーム・サーバ・システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30319094A | 1994-09-08 | 1994-09-08 | |
US303190 | 1994-09-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08130714A JPH08130714A (ja) | 1996-05-21 |
JP3110989B2 true JP3110989B2 (ja) | 2000-11-20 |
Family
ID=23170920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07229978A Expired - Fee Related JP3110989B2 (ja) | 1994-09-08 | 1995-09-07 | ビデオ用に最適化された媒体ストリーマ・ユーザ・インタフェース |
Country Status (5)
Country | Link |
---|---|
US (1) | US5805821A (ja) |
EP (1) | EP0701372A1 (ja) |
JP (1) | JP3110989B2 (ja) |
KR (1) | KR100228937B1 (ja) |
CA (1) | CA2153445C (ja) |
Families Citing this family (176)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5948062A (en) * | 1995-10-27 | 1999-09-07 | Emc Corporation | Network file server using a cached disk array storing a network file directory including file locking information and data mover computers each having file system software for shared read-write file access |
US6061504A (en) * | 1995-10-27 | 2000-05-09 | Emc Corporation | Video file server using an integrated cached disk array and stream server computers |
US5933603A (en) * | 1995-10-27 | 1999-08-03 | Emc Corporation | Video file server maintaining sliding windows of a video data set in random access memories of stream server computers for immediate video-on-demand service beginning at any specified location |
US7266686B1 (en) | 1996-05-09 | 2007-09-04 | Two-Way Media Llc | Multicasting method and apparatus |
US6374260B1 (en) | 1996-05-24 | 2002-04-16 | Magnifi, Inc. | Method and apparatus for uploading, indexing, analyzing, and searching media content |
US5903892A (en) | 1996-05-24 | 1999-05-11 | Magnifi, Inc. | Indexing of media content on a network |
US6370543B2 (en) * | 1996-05-24 | 2002-04-09 | Magnifi, Inc. | Display of media previews |
JP3258236B2 (ja) | 1996-05-28 | 2002-02-18 | 株式会社日立製作所 | マルチメディア情報転送システム |
US6298386B1 (en) | 1996-08-14 | 2001-10-02 | Emc Corporation | Network file server having a message collector queue for connection and connectionless oriented protocols |
US5893140A (en) * | 1996-08-14 | 1999-04-06 | Emc Corporation | File server having a file system cache and protocol for truly safe asynchronous writes |
EP0837397B1 (en) * | 1996-10-18 | 2006-04-05 | Matsushita Electric Industrial Co., Ltd. | Data transfer apparatus and data transfer system for arbitrating a plurality of I/O ports in DMA |
US6173329B1 (en) * | 1997-02-19 | 2001-01-09 | Nippon Telegraph And Telephone Corporation | Distributed multimedia server device and distributed multimedia server data access method |
US5909594A (en) * | 1997-02-24 | 1999-06-01 | Silicon Graphics, Inc. | System for communications where first priority data transfer is not disturbed by second priority data transfer and where allocated bandwidth is removed when process terminates abnormally |
US6032188A (en) * | 1997-03-12 | 2000-02-29 | Microsoft Corporation | Method and system for controlling data flow |
US6026234A (en) * | 1997-03-19 | 2000-02-15 | International Business Machines Corporation | Method and apparatus for profiling indirect procedure calls in a computer program |
US6185621B1 (en) * | 1997-03-25 | 2001-02-06 | Philips Electronics N.A. Corp. | Direct copying between disk blocks in memory onto a network as sequential access files |
JPH10268900A (ja) * | 1997-03-26 | 1998-10-09 | Oki Micro Design Miyazaki:Kk | 音声記録再生装置 |
US6125393A (en) * | 1997-03-28 | 2000-09-26 | International Business Machines Corporation | System of compressing the tail of a sparse log stream of a multisystem environment |
US5999935A (en) * | 1997-03-28 | 1999-12-07 | International Business Machines Corporation | Tail compression of a sparse log stream of a multisystem environment |
US6654933B1 (en) | 1999-09-21 | 2003-11-25 | Kasenna, Inc. | System and method for media stream indexing |
US5892915A (en) * | 1997-04-25 | 1999-04-06 | Emc Corporation | System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list |
JPH114446A (ja) * | 1997-06-12 | 1999-01-06 | Sony Corp | 情報信号デコード方法及び装置 |
US5950205A (en) * | 1997-09-25 | 1999-09-07 | Cisco Technology, Inc. | Data transmission over the internet using a cache memory file system |
US6516356B1 (en) * | 1997-09-30 | 2003-02-04 | International Business Machines Corporation | Application interface to a media server and a method of implementing the same |
US6594699B1 (en) * | 1997-10-10 | 2003-07-15 | Kasenna, Inc. | System for capability based multimedia streaming over a network |
CA2251456C (en) * | 1997-10-31 | 2007-02-13 | Sony Corporation | An apparatus for storing and transmitting data |
US6311014B1 (en) * | 1997-12-24 | 2001-10-30 | Texas Instruments Incorporated | Unified audio/video interface for a digital video disk system |
US6205181B1 (en) * | 1998-03-10 | 2001-03-20 | Chips & Technologies, Llc | Interleaved strip data storage system for video processing |
US6038630A (en) * | 1998-03-24 | 2000-03-14 | International Business Machines Corporation | Shared access control device for integrated system with multiple functional units accessing external structures over multiple data buses |
US7272298B1 (en) | 1998-05-06 | 2007-09-18 | Burst.Com, Inc. | System and method for time-shifted program viewing |
US6182112B1 (en) * | 1998-06-12 | 2001-01-30 | Unisys Corporation | Method of and apparatus for bandwidth control of transfers via a bi-directional interface |
US6233389B1 (en) | 1998-07-30 | 2001-05-15 | Tivo, Inc. | Multimedia time warping system |
US8380041B2 (en) | 1998-07-30 | 2013-02-19 | Tivo Inc. | Transportable digital video recorder system |
US7558472B2 (en) | 2000-08-22 | 2009-07-07 | Tivo Inc. | Multimedia signal processing system |
US8577205B2 (en) | 1998-07-30 | 2013-11-05 | Tivo Inc. | Digital video recording system |
US6323755B1 (en) * | 1998-08-19 | 2001-11-27 | International Business Machines Corporation | Dynamic bus locking in a cross bar switch |
US6275890B1 (en) * | 1998-08-19 | 2001-08-14 | International Business Machines Corporation | Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration |
US6697869B1 (en) * | 1998-08-24 | 2004-02-24 | Koninklijke Philips Electronics N.V. | Emulation of streaming over the internet in a broadcast application |
DE19839121A1 (de) * | 1998-08-27 | 2000-03-02 | Rohde & Schwarz | Anordnung zum kontinuierlichen und unterbrechungsfreien Einlesen einer großen Datenmenge eines elektronischen Meßgerätes in einen Speicher |
GB9821768D0 (en) * | 1998-10-06 | 1998-12-02 | Sgs Thomson Microelectronics | Data transfer |
US6182167B1 (en) * | 1998-10-22 | 2001-01-30 | International Business Machines Corporation | Automatic sharing of SCSI multiport device with standard command protocol in conjunction with offline signaling |
US6389494B1 (en) | 1998-12-30 | 2002-05-14 | Emc Corporation | System for interfacing a data storage system to a host utilizing a plurality of busses for carrying end-user data and a separate bus for carrying interface state data |
US7117275B1 (en) | 1999-01-04 | 2006-10-03 | Emc Corporation | Data storage system having separate data transfer section and message network |
US7073020B1 (en) | 1999-01-04 | 2006-07-04 | Emc Corporation | Method for message transfer in computer storage system |
JP3419334B2 (ja) * | 1999-01-14 | 2003-06-23 | 日本電気株式会社 | データ処理装置および方法 |
DE69937601T2 (de) * | 1999-01-21 | 2008-10-23 | Sony Service Centre (Europe) N.V. | Informationsserver |
KR100758514B1 (ko) * | 1999-01-21 | 2007-09-14 | 소니 서비스 센터(유럽) 엔.브이. | 캐로셀 정보를 배열하는 정보 서버 및 방법 |
US7492393B2 (en) * | 1999-02-12 | 2009-02-17 | Sony Corporation | Method of and apparatus for generating a precise frame rate in digital video transmission from a computer system to a digital video device |
US6408436B1 (en) * | 1999-03-18 | 2002-06-18 | Next Level Communications | Method and apparatus for cross-connection of video signals |
US6820144B2 (en) | 1999-04-06 | 2004-11-16 | Microsoft Corporation | Data format for a streaming information appliance |
US6748481B1 (en) | 1999-04-06 | 2004-06-08 | Microsoft Corporation | Streaming information appliance with circular buffer for receiving and selectively reading blocks of streaming information |
WO2000060590A1 (en) * | 1999-04-06 | 2000-10-12 | Microsoft Corporation | Streaming information appliance with circular buffer |
US6378035B1 (en) | 1999-04-06 | 2002-04-23 | Microsoft Corporation | Streaming information appliance with buffer read and write synchronization |
US6463486B1 (en) | 1999-04-06 | 2002-10-08 | Microsoft Corporation | System for handling streaming information using a plurality of reader modules by enumerating output pins and associated streams of information |
US6535920B1 (en) | 1999-04-06 | 2003-03-18 | Microsoft Corporation | Analyzing, indexing and seeking of streaming information |
EP1049278A1 (en) * | 1999-04-30 | 2000-11-02 | Sony International (Europe) GmbH | Broadcast API - an application programming interface for accessing information services provided by a broadcast system |
KR100520670B1 (ko) * | 1999-05-06 | 2005-10-10 | 주식회사 하이닉스반도체 | 포토레지스트 패턴의 형성방법 |
JP3926513B2 (ja) | 1999-08-09 | 2007-06-06 | 富士通株式会社 | 情報配信装置、情報配信方法および情報配信プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6972770B1 (en) | 1999-08-19 | 2005-12-06 | International Business Machines Corporation | Method and apparatus for performing raster operations in a data processing system |
US6526434B1 (en) | 1999-08-24 | 2003-02-25 | International Business Machines Corporation | System and method for efficient transfer of data blocks from client to server |
US6598074B1 (en) * | 1999-09-23 | 2003-07-22 | Rocket Network, Inc. | System and method for enabling multimedia production collaboration over a network |
US6385673B1 (en) | 1999-10-06 | 2002-05-07 | Sun Microsystems, Inc. | System and method for adjusting performance of a media storage by decreasing a maximum throughput by a primary derate parameter to specify available & guaranteed rate parameters and determining ring buffer sizes for streams |
US6721789B1 (en) * | 1999-10-06 | 2004-04-13 | Sun Microsystems, Inc. | Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests |
US6438630B1 (en) | 1999-10-06 | 2002-08-20 | Sun Microsystems, Inc. | Scheduling storage accesses for multiple continuous media streams |
US6604155B1 (en) * | 1999-11-09 | 2003-08-05 | Sun Microsystems, Inc. | Storage architecture employing a transfer node to achieve scalable performance |
US6684274B1 (en) * | 1999-11-09 | 2004-01-27 | Sun Microsystems, Inc. | Host bus adapter based scalable performance storage architecture |
WO2001041449A2 (en) * | 1999-12-06 | 2001-06-07 | Streaming21, Inc. | Method and system for delivering real time video and audio |
US6901453B1 (en) * | 2000-02-16 | 2005-05-31 | Microsoft Corporation | Modularization of broadcast receiver driver components |
US6850967B1 (en) * | 2000-02-19 | 2005-02-01 | Hewlett-Packard Development Company, L.P. | System and method for ensuring transparent sychronization of multiple applications across remote systems |
US7392256B2 (en) * | 2000-03-02 | 2008-06-24 | International Business Machines Corporation | Data gather scatter—redistribution machine |
US6963910B1 (en) * | 2000-03-03 | 2005-11-08 | International Business Machines Corporation | Graphical user interface for creating assets |
US20020108059A1 (en) * | 2000-03-03 | 2002-08-08 | Canion Rodney S. | Network security accelerator |
US20030236861A1 (en) * | 2000-03-03 | 2003-12-25 | Johnson Scott C. | Network content delivery system with peer to peer processing components |
US7117259B1 (en) | 2000-03-03 | 2006-10-03 | International Business Machines Corporation | Server time window for multiple selectable servers in a graphical user interface |
US6763377B1 (en) | 2000-03-03 | 2004-07-13 | International Business Machines Corporation | Asset management and scheduling graphical user interface for media streamer |
US20030236919A1 (en) * | 2000-03-03 | 2003-12-25 | Johnson Scott C. | Network connected computing system |
WO2001069912A2 (en) * | 2000-03-13 | 2001-09-20 | Media Arts & Images Corporation | Video data management, transmission, and control system and method employing distributed video segments microcasting |
US7398312B1 (en) | 2000-03-29 | 2008-07-08 | Lucent Technologies Inc. | Method and system for caching streaming multimedia on the internet |
US7010575B1 (en) | 2000-03-31 | 2006-03-07 | Emc Corporation | Data storage system having separate data transfer section and message network having bus arbitration |
US6584513B1 (en) | 2000-03-31 | 2003-06-24 | Emc Corporation | Direct memory access (DMA) transmitter |
US6993621B1 (en) | 2000-03-31 | 2006-01-31 | Emc Corporation | Data storage system having separate data transfer section and message network with plural directors on a common printed circuit board and redundant switching networks |
US6581112B1 (en) | 2000-03-31 | 2003-06-17 | Emc Corporation | Direct memory access (DMA) receiver |
US7003601B1 (en) | 2000-03-31 | 2006-02-21 | Emc Corporation | Data storage system having separate data transfer section and message network with plural directions on a common printed circuit board |
US7007194B1 (en) | 2000-06-29 | 2006-02-28 | Emc Corporation | Data storage system having point-to-point configuration |
US6651130B1 (en) | 2000-04-28 | 2003-11-18 | Emc Corporation | Data storage system having separate data transfer section and message network with bus arbitration |
US6779071B1 (en) | 2000-04-28 | 2004-08-17 | Emc Corporation | Data storage system having separate data transfer section and message network with status register |
US6578109B1 (en) * | 2000-06-29 | 2003-06-10 | Sony Corporation | System and method for effectively implementing isochronous processor cache |
WO2002003387A2 (en) * | 2000-06-29 | 2002-01-10 | Emc Corporation | Data storage system having point-to-point configuration |
US6654370B1 (en) * | 2000-06-30 | 2003-11-25 | Marconi Communications, Inc. | Backplane synchronization in a distributed system with clock drift and transport delay |
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 |
IL155482A0 (en) * | 2000-11-03 | 2003-11-23 | Genentech Inc | Metabolic rate shifts in fermentations expressing recombinant proteins |
CN1486568A (zh) * | 2000-11-28 | 2004-03-31 | ϣ�����ʹ�˾ | 内容/服务处理及输送 |
EP2357651A3 (en) * | 2000-12-07 | 2013-06-26 | SanDisk Technologies Inc. | System, method, and device for playing back recorded audio, video or other content from non-volatile memory cards, compact disks or other media |
US7206854B2 (en) * | 2000-12-11 | 2007-04-17 | General Instrument Corporation | Seamless arbitrary data insertion for streaming media |
US7213075B2 (en) * | 2000-12-15 | 2007-05-01 | International Business Machines Corporation | Application server and streaming server streaming multimedia file in a client specific format |
US7246369B1 (en) | 2000-12-27 | 2007-07-17 | Info Valve Computing, Inc. | Broadband video distribution system using segments |
US7143433B1 (en) | 2000-12-27 | 2006-11-28 | Infovalve Computing Inc. | Video distribution system using dynamic segmenting of video data files |
KR100364747B1 (ko) * | 2000-12-30 | 2002-12-16 | 엘지전자 주식회사 | Aal2/aal5 변환 장치 및 방법 |
US7191244B2 (en) * | 2001-01-19 | 2007-03-13 | Streamworks Technologies, Inc. | System and method for routing media |
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 |
US7054949B2 (en) * | 2001-01-19 | 2006-05-30 | World Streaming Network, Inc. | System and method for streaming media |
US7085842B2 (en) | 2001-02-12 | 2006-08-01 | Open Text Corporation | Line navigation conferencing system |
US20020156912A1 (en) * | 2001-02-15 | 2002-10-24 | Hurst John T. | Programming content distribution |
EP1374080A2 (en) * | 2001-03-02 | 2004-01-02 | Kasenna, Inc. | Metadata enabled push-pull model for efficient low-latency video-content distribution over a network |
US20020147827A1 (en) * | 2001-04-06 | 2002-10-10 | International Business Machines Corporation | Method, system and computer program product for streaming of data |
JP3946965B2 (ja) * | 2001-04-09 | 2007-07-18 | ソニー株式会社 | 無体財産権を保護する情報を記録する記録装置、記録方法、記録媒体、およびプログラム |
US20020157113A1 (en) * | 2001-04-20 | 2002-10-24 | Fred Allegrezza | System and method for retrieving and storing multimedia data |
ATE300835T1 (de) * | 2001-05-17 | 2005-08-15 | Optibase | Verfahren und vorrichtung für videorundfunk von mehrfach angereicherten medienformaten |
US7330900B2 (en) * | 2001-07-06 | 2008-02-12 | Dialogic Corporation | Low-latency packet processor |
JP2003030018A (ja) * | 2001-07-13 | 2003-01-31 | Sony Corp | データ通信装置および方法、データ通信システム、情報処理装置および方法、記録媒体、並びにプログラム |
US7072911B1 (en) * | 2001-07-27 | 2006-07-04 | Novell, Inc. | System and method for incremental replication of changes in a state based distributed database |
CN1190076C (zh) * | 2001-08-06 | 2005-02-16 | 松下电器产业株式会社 | 数据流处理器 |
US7161615B2 (en) * | 2001-11-30 | 2007-01-09 | Pelco | System and method for tracking objects and obscuring fields of view under video surveillance |
US8417827B2 (en) * | 2001-12-12 | 2013-04-09 | Nokia Corporation | Synchronous media playback and messaging system |
US6925499B1 (en) | 2001-12-19 | 2005-08-02 | Info Value Computing, Inc. | Video distribution system using disk load balancing by file copying |
US7039784B1 (en) | 2001-12-20 | 2006-05-02 | Info Value Computing Inc. | Video distribution system using dynamic disk load balancing with variable sub-segmenting |
US7668901B2 (en) * | 2002-04-15 | 2010-02-23 | Avid Technology, Inc. | Methods and system using a local proxy server to process media data for local area users |
US20030204614A1 (en) * | 2002-04-29 | 2003-10-30 | The Boeing Company | Method and apparatus for the display and distribution of cinema grade content in real time |
US7116894B1 (en) * | 2002-05-24 | 2006-10-03 | Digeo, Inc. | System and method for digital multimedia stream conversion |
EP1398786B1 (en) * | 2002-09-12 | 2010-04-07 | STMicroelectronics Asia Pacific Pte Ltd. | Pseudo bidimensional randomly accessible memory |
US7716312B2 (en) | 2002-11-13 | 2010-05-11 | Avid Technology, Inc. | Method and system for transferring large data files over parallel connections |
US6907478B2 (en) * | 2003-02-18 | 2005-06-14 | Adaptec, Inc. | Systems and methods optimizing data transfer throughput of a system on chip |
US7287180B1 (en) | 2003-03-20 | 2007-10-23 | Info Value Computing, Inc. | Hardware independent hierarchical cluster of heterogeneous media servers using a hierarchical command beat protocol to synchronize distributed parallel computing systems and employing a virtual dynamic network topology for distributed parallel computing system |
US7324555B1 (en) | 2003-03-20 | 2008-01-29 | Infovalue Computing, Inc. | Streaming while fetching broadband video objects using heterogeneous and dynamic optimized segmentation size |
JP4792196B2 (ja) | 2003-03-27 | 2011-10-12 | 三洋電機株式会社 | データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置 |
WO2005004490A2 (en) * | 2003-06-13 | 2005-01-13 | Lumexis Corporation | Remote interface optical network |
US7409442B2 (en) * | 2003-08-25 | 2008-08-05 | International Business Machines Corporation | Method for communicating control messages between a first device and a second device |
US7610381B2 (en) * | 2003-09-12 | 2009-10-27 | Hewlett-Packard Development Company, L.P. | System and method for evaluating a capacity of a streaming media server for supporting a workload |
US20050234961A1 (en) * | 2004-04-16 | 2005-10-20 | Pinnacle Systems, Inc. | Systems and Methods for providing a proxy for a shared file system |
US7228364B2 (en) * | 2004-06-24 | 2007-06-05 | Dell Products L.P. | System and method of SCSI and SAS hardware validation |
US8879730B2 (en) * | 2004-09-09 | 2014-11-04 | Texas Instruments Incorporated | System and method for bit stream compatible local link encryption |
US8280975B2 (en) * | 2004-09-16 | 2012-10-02 | Canon Kabushiki Kaisha | Image supply apparatus and imaging apparatus, an information processing apparatus and control method thereof, and communication system |
TWI237806B (en) * | 2004-11-03 | 2005-08-11 | Sunplus Technology Co Ltd | Audio decoding system with ring buffer and method thereof |
DK2408202T3 (en) | 2004-11-19 | 2017-08-28 | Tivo Solutions Inc | Method and device for secure transfer and playback of multimedia content |
US8320446B2 (en) | 2004-11-24 | 2012-11-27 | Qformx, Inc. | System for transmission of synchronous video with compression through channels with varying transmission delay |
US7533182B2 (en) * | 2005-01-24 | 2009-05-12 | Starz Media, Llc | Portable screening room |
JP4355674B2 (ja) | 2005-03-17 | 2009-11-04 | 富士通株式会社 | リモートコピー方法及びストレージシステム |
US20070139189A1 (en) * | 2005-12-05 | 2007-06-21 | Helmig Kevin S | Multi-platform monitoring system and method |
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 |
US8259789B2 (en) * | 2006-02-08 | 2012-09-04 | Adtech Global Solutions, Inc. | Methods and systems for picture rate reduction of stored video while under continuous record load |
US20080012872A1 (en) * | 2006-05-25 | 2008-01-17 | Flickinger Jon M Jr | System for Real-time Processing Changes Between Video Content in Disparate Formats |
US7895635B2 (en) * | 2006-06-30 | 2011-02-22 | Versteeg William C | Systems and methods of assembling an elementary stream from an encapsulated multimedia transport stream |
US7876768B2 (en) * | 2006-06-30 | 2011-01-25 | Ver Steeg William C | Systems and methods of assembling an elementary stream from an encapsulated multimedia transport stream |
WO2008033870A2 (en) | 2006-09-11 | 2008-03-20 | Lumexis Corporation | Fiber-to-the-seat (ftts) fiber distribution system |
US8478250B2 (en) | 2007-07-30 | 2013-07-02 | Bindu Rama Rao | Interactive media management server |
US11256386B2 (en) | 2006-11-22 | 2022-02-22 | Qualtrics, Llc | Media management system supporting a plurality of mobile devices |
US8380175B2 (en) * | 2006-11-22 | 2013-02-19 | Bindu Rama Rao | System for providing interactive advertisements to user of mobile devices |
US10803474B2 (en) | 2006-11-22 | 2020-10-13 | Qualtrics, Llc | System for creating and distributing interactive advertisements to mobile devices |
US8700014B2 (en) | 2006-11-22 | 2014-04-15 | Bindu Rama Rao | Audio guided system for providing guidance to user of mobile device on multi-step activities |
US7983611B2 (en) * | 2006-11-22 | 2011-07-19 | Bindu Rama Rao | Mobile device that presents interactive media and processes user response |
CN101335883B (zh) * | 2007-06-29 | 2011-01-12 | 国际商业机器公司 | 在数字视频广播系统中对视频流进行处理的方法和设备 |
US8149711B2 (en) * | 2007-07-25 | 2012-04-03 | Silicon Image, Inc. | Data stream control for network devices |
US8165450B2 (en) | 2007-11-19 | 2012-04-24 | Echostar Technologies L.L.C. | Methods and apparatus for filtering content in a video stream using text data |
US8165451B2 (en) | 2007-11-20 | 2012-04-24 | Echostar Technologies L.L.C. | Methods and apparatus for displaying information regarding interstitials of a video stream |
US8136140B2 (en) | 2007-11-20 | 2012-03-13 | Dish Network L.L.C. | Methods and apparatus for generating metadata utilized to filter content from a video stream using text data |
US8606085B2 (en) | 2008-03-20 | 2013-12-10 | Dish Network L.L.C. | Method and apparatus for replacement of audio data in recorded audio/video stream |
US8156520B2 (en) | 2008-05-30 | 2012-04-10 | EchoStar Technologies, L.L.C. | Methods and apparatus for presenting substitute content in an audio/video stream using text data |
US8588579B2 (en) | 2008-12-24 | 2013-11-19 | Echostar Technologies L.L.C. | Methods and apparatus for filtering and inserting content into a presentation stream using signature data |
US8407735B2 (en) | 2008-12-24 | 2013-03-26 | Echostar Technologies L.L.C. | Methods and apparatus for identifying segments of content in a presentation stream using signature data |
US8510771B2 (en) | 2008-12-24 | 2013-08-13 | Echostar Technologies L.L.C. | Methods and apparatus for filtering content from a presentation stream using signature data |
US8437617B2 (en) | 2009-06-17 | 2013-05-07 | Echostar Technologies L.L.C. | Method and apparatus for modifying the presentation of content |
US8659990B2 (en) | 2009-08-06 | 2014-02-25 | Lumexis Corporation | Serial networking fiber-to-the-seat inflight entertainment system |
US8424045B2 (en) | 2009-08-14 | 2013-04-16 | Lumexis Corporation | Video display unit docking assembly for fiber-to-the-screen inflight entertainment system |
US8416698B2 (en) | 2009-08-20 | 2013-04-09 | Lumexis Corporation | Serial networking fiber optic inflight entertainment system network configuration |
US8934758B2 (en) | 2010-02-09 | 2015-01-13 | Echostar Global B.V. | Methods and apparatus for presenting supplemental content in association with recorded content |
US20120026079A1 (en) * | 2010-07-27 | 2012-02-02 | Apple Inc. | Using a display abstraction to control a display |
US8483286B2 (en) | 2010-10-27 | 2013-07-09 | Cyberlink Corp. | Batch processing of media content |
WO2013152129A1 (en) | 2012-04-03 | 2013-10-10 | Fourth Wall Studios, Inc. | Transmedia story management systems and methods |
US9229847B1 (en) * | 2012-04-18 | 2016-01-05 | Open Invention Network, Llc | Memory sharing for buffered macro-pipelined data plane processing in multicore embedded systems |
US9928209B2 (en) * | 2012-11-07 | 2018-03-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Pre-buffering of content data items to be rendered at a mobile terminal |
US10848802B2 (en) | 2017-09-13 | 2020-11-24 | Cisco Technology, Inc. | IP traffic software high precision pacer |
US10848539B2 (en) | 2018-09-20 | 2020-11-24 | Cisco Technology, Inc. | Genlock mechanism for software pacing of media constant bit rate streams |
US10534736B1 (en) * | 2018-12-31 | 2020-01-14 | Texas Instruments Incorporated | Shared buffer for multi-output display systems |
US11172269B2 (en) | 2020-03-04 | 2021-11-09 | Dish Network L.L.C. | Automated commercial content shifting in a video streaming system |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4679191A (en) * | 1983-05-04 | 1987-07-07 | Cxc Corporation | Variable bandwidth switching system |
US4616263A (en) * | 1985-02-11 | 1986-10-07 | Gte Corporation | Video subsystem for a hybrid videotex facility |
US5089885A (en) * | 1986-11-14 | 1992-02-18 | Video Jukebox Network, Inc. | Telephone access display system with remote monitoring |
IT1219727B (it) * | 1988-06-16 | 1990-05-24 | Italtel Spa | Sistema di comunicazione a larga banda |
JP3002471B2 (ja) * | 1988-08-19 | 2000-01-24 | 株式会社日立製作所 | 番組配信装置 |
US4949187A (en) * | 1988-12-16 | 1990-08-14 | Cohen Jason M | Video communications system having a remotely controlled central source of video and audio data |
US5088091A (en) * | 1989-06-22 | 1992-02-11 | Digital Equipment Corporation | High-speed mesh connected local area network |
US5099319A (en) * | 1989-10-23 | 1992-03-24 | Esch Arthur G | Video information delivery method and apparatus |
CA2022302C (en) * | 1990-07-30 | 1995-02-28 | Douglas J. Ballantyne | Method and apparatus for distribution of movies |
DE69232164T2 (de) * | 1991-08-22 | 2002-07-18 | Sun Microsystems, Inc. | Netzwerkvideoanbietergerät und-verfahren |
DE69129851T2 (de) * | 1991-09-13 | 1999-03-25 | International Business Machines Corp., Armonk, N.Y. | Konfigurierbare gigabit/s Vermittlunganpassungseinrichtung |
US5247347A (en) * | 1991-09-27 | 1993-09-21 | Bell Atlantic Network Services, Inc. | Pstn architecture for video-on-demand services |
US5237658A (en) * | 1991-10-01 | 1993-08-17 | Tandem Computers Incorporated | Linear and orthogonal expansion of array storage in multiprocessor computing systems |
CA2117422A1 (en) * | 1992-02-11 | 1993-08-19 | Mark C. Koz | Adaptive video file server and methods for its use |
AU2313592A (en) * | 1992-02-11 | 1993-09-03 | Masato Hata | Adaptive video file server and methods for its use |
US5452419A (en) * | 1992-03-06 | 1995-09-19 | Pitney Bowes Inc. | Serial communication control system between nodes having predetermined intervals for synchronous communications and mediating asynchronous communications for unused time in the predetermined intervals |
US5371532A (en) * | 1992-05-15 | 1994-12-06 | Bell Communications Research, Inc. | Communications architecture and method for distributing information services |
CA2071416A1 (en) * | 1992-06-17 | 1993-12-18 | Michel Fortier | Video store and forward apparatus and method |
WO1994001964A1 (en) * | 1992-07-08 | 1994-01-20 | Bell Atlantic Network Services, Inc. | Media server for supplying video and multi-media data over the public telephone switched network |
US5307490A (en) * | 1992-08-28 | 1994-04-26 | Tandem Computers, Inc. | Method and system for implementing remote procedure calls in a distributed computer system |
US5289461A (en) * | 1992-12-14 | 1994-02-22 | International Business Machines Corporation | Interconnection method for digital multimedia communications |
US5428730A (en) * | 1992-12-15 | 1995-06-27 | International Business Machines Corporation | Multimedia system having software mechanism providing standardized interfaces and controls for the operation of multimedia devices |
US5550982A (en) * | 1993-06-24 | 1996-08-27 | Starlight Networks | Video application server |
US5442390A (en) * | 1993-07-07 | 1995-08-15 | Digital Equipment Corporation | Video on demand with memory accessing and or like functions |
US5528513A (en) * | 1993-11-04 | 1996-06-18 | Digital Equipment Corp. | Scheduling and admission control policy for a continuous media server |
US5473362A (en) * | 1993-11-30 | 1995-12-05 | Microsoft Corporation | Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling |
US5491800A (en) * | 1993-12-20 | 1996-02-13 | Taligent, Inc. | Object-oriented remote procedure call networking system |
US5586257A (en) * | 1994-05-05 | 1996-12-17 | Perlman; Stephen G. | Network architecture to support multiple site real-time video games |
US5521631A (en) * | 1994-05-25 | 1996-05-28 | Spectravision, Inc. | Interactive digital video services system with store and forward capabilities |
US5606359A (en) * | 1994-06-30 | 1997-02-25 | Hewlett-Packard Company | Video on demand system with multiple data sources configured to provide vcr-like services |
US5668948A (en) * | 1994-09-08 | 1997-09-16 | International Business Machines Corporation | Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports |
-
1995
- 1995-07-07 CA CA002153445A patent/CA2153445C/en not_active Expired - Fee Related
- 1995-08-25 EP EP95305967A patent/EP0701372A1/en not_active Withdrawn
- 1995-09-04 KR KR1019950028705A patent/KR100228937B1/ko not_active IP Right Cessation
- 1995-09-07 JP JP07229978A patent/JP3110989B2/ja not_active Expired - Fee Related
-
1997
- 1997-08-05 US US08/906,567 patent/US5805821A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0701372A1 (en) | 1996-03-13 |
CA2153445C (en) | 2002-05-21 |
KR100228937B1 (ko) | 1999-11-01 |
CA2153445A1 (en) | 1996-03-09 |
JPH08130714A (ja) | 1996-05-21 |
US5805821A (en) | 1998-09-08 |
KR960011911A (ko) | 1996-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3110989B2 (ja) | ビデオ用に最適化された媒体ストリーマ・ユーザ・インタフェース | |
JP3110988B2 (ja) | ビデオ用に最適化された媒体ストリーマ・データ・フロー・アーキテクチャ | |
JP3110987B2 (ja) | 等時性データ・ストリームを生成するビデオ用に最適化された媒体ストリーマ | |
JP3234752B2 (ja) | 媒体ストリーマ | |
JP3048897B2 (ja) | ビデオ最適化ストリーム・サーバ・システム | |
JP3096409B2 (ja) | メディア・ストリーマ | |
US5928327A (en) | System and process for delivering digital data on demand | |
US6005599A (en) | Video storage and delivery apparatus and system | |
US5987621A (en) | Hardware and software failover services for a file server | |
US5440336A (en) | System and method for storing and forwarding audio and/or visual information on demand | |
US5606359A (en) | Video on demand system with multiple data sources configured to provide vcr-like services | |
US5892915A (en) | System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list | |
EP0701373B1 (en) | Video server system | |
JPH09182028A (ja) | ディジタル・ビデオ再生のためのスタートアップの潜伏時間を減らすための方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |