JP3110987B2 - 等時性データ・ストリームを生成するビデオ用に最適化された媒体ストリーマ - Google Patents
等時性データ・ストリームを生成するビデオ用に最適化された媒体ストリーマInfo
- Publication number
- JP3110987B2 JP3110987B2 JP07229803A JP22980395A JP3110987B2 JP 3110987 B2 JP3110987 B2 JP 3110987B2 JP 07229803 A JP07229803 A JP 07229803A JP 22980395 A JP22980395 A JP 22980395A JP 3110987 B2 JP3110987 B2 JP 3110987B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- video
- buffer
- stream
- node
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Television Signal Processing For Recording (AREA)
- Memory System (AREA)
Description
ータの配布システムに関し、特に、ビデオを最小のバッ
ファリングにより複数の端末に同時に提供する対話式ビ
デオ・サーバ・システムに関する。
旧式の技術により実施されている。主な記憶媒体は、V
HSレコーダ/プレーヤなどのアナログ・テープから、
テレビ・スタジオ及び放送局で使用される非常に高品質
で高価なD1 VTRまで様々である。この技術には多
くの問題が存在する。こうした問題には、テープをロー
ドするために要する手作業や、機械ユニット、テープ・
ヘッド及びテープ自身の摩耗及び破損、並びにそれにか
かる費用などが含まれる。放送局を困難に陥れる1つの
重要な制約は、VTRが順次的に1度に1つの機能だけ
しか達成できないことである。各テープ・ユニットは7
5000ドル乃至150000ドルの費用を要する。
ャルからの歳入を増やそうとして、特殊コマーシャルを
正規の番組に挿入し、それにより各都市を別々の市場と
して位置付ける。これはテープ技術や、非常に高価なデ
ジタルD1テープ・システムまたはテープ・ロボットに
おいても、困難な作業である。
への従来の配布方法は、2つのカテゴリに分類される。
それらは1)放送業界の方法と、2)コンピュータ業界
の方法である。放送業界の方法(映画、ケーブル、テレ
ビ網及びレコード業界を含む)は、一般に、アナログま
たはデジタル的に記録されたテープ形式の記憶を提供す
る。テープの再生は等時性(isochronous)のデータ・
ストリームを生成し、これらが放送業界の装置を通じて
エンド・ユーザに伝達される。一方、コンピュータ業界
の方法は、一般にディスク形式またはテープ増補式ディ
スク形式の記憶を提供し、データをDVI、JPEG及
びMPEGなどの圧縮デジタル形式で記録する。要求次
第でコンピュータが非等時性データ・ストリームをエン
ド・ユーザに配布し、エンド・ユーザ側でハードウェア
がバッファリングし、特殊アプリケーション・コードが
データ・ストリームを平滑化して、連続的な映像または
音声を生成する。
・サブシステムは、記憶媒体のコストの点で、コンピュ
ータ・ディスク・サブシステムに勝るコスト的利点を示
してきた。しかしながら、ビデオ・テープ・サブシステ
ムは、テープ管理、アクセス待ち時間(latency)及び
比較的低い信頼性などの欠点を有する。これらの欠点
は、実時間デジタル圧縮/伸長技術の出現と共に、コン
ピュータ記憶装置のコストが低下してくると、益々重大
となってくる。
コスト性能比の改良を示してきているが、一般に"ビデ
オ・フレンドリ"(video friendly)と見られていな
い。コンピュータは主に、"非等時性"(non-isochronou
s)と呼ばれるインタフェース及びプロトコルにより、
ワークステーション及び他のコンピュータ端末とインタ
フェースする。エンド・ユーザへのマルチメディア・デ
ータの円滑な(等時性の)配布を保証するために、コン
ピュータ・システムは特殊アプリケーション・コード及
び大きなバッファを要求することにより、従来の通信方
法における固有の弱点を克服しようとする。またコンピ
ュータは、等時性データ・ストリームを処理し、それら
の間を高度な正確度で切り替えるマルチメディア業界に
おける装置と互換のインタフェースを欠く点でも、ビデ
オ・フレンドリではない。
し記憶するためにコンピュータを導入することにより、
テレビ放送、映画スタジオ製作、電話回線による"ビデ
オ・オン・デマンド"、及びホテルにおける有料映画な
どの複数の主要業界において、革命が起こりつつある。
圧縮技術は、100乃至180分の1の圧縮率の達成に
より実用レベルに至った。こうした圧縮比は、ランダム
・アクセス・ディスク技術を従来のテープ・システムに
代わる魅力的なものとする。
アクセスする能力、並びに非常に高帯域のディスク・シ
ステムにより、要求されるシステム機能及び性能が、デ
ィスク技術の性能、ハードウェア・コスト、及び消費性
の範囲内に入るようになった。従来は、ビデオまたは映
画を記憶するためにディスク・ファイルを使用すること
は、その記憶コストの点で現実的ではなかった。最近で
はこのコストが著しく低下した。
タを採用する新たに登場しつつある数多くの市場にとっ
て、ビデオ・データをコスト有効に記憶するための幾つ
かの方法が存在する。本発明は、多くの異なる性能要求
に対する階層的解決策であって、市場要求に適合するよ
うにカストマイズすなわち個別化されうるモジュラ・シ
ステム・アプローチを提案する。
業界の従来のインタフェース上で、マルチメディア環境
における等時性データ・ストリームの配布を可能にす
る"ビデオ・フレンドリ"なコンピュータ・サブシステム
を提供する。本発明による媒体ストリーマは、等時性デ
ータ・ストリームの配布に最適化され、データを新たな
コンピュータ・ネットワークにATM(非同期転送モー
ド)技術により入力することができる。本発明は、シス
テム制御のためのVTR(ビデオ・テープ・レコーダ)
メタファを提供する一方、ビデオ・テープの欠点を排除
する。本発明のシステムは、次の特徴を提供する。すな
わち、1個乃至1000個の独立に制御されるデータ・
ストリームをエンド・ユーザに配布するスケーラビリテ
ィ(scaleability)、データの単一コピーから多くの等
時性データ・ストリームを配布する能力、混合出力イン
タフェース、混合データ・レート、単純な"オープン・
システム"制御インタフェース、自動制御サポート、記
憶階層サポート及び1配布ストリーム当たりの低コスト
である。
も1つの制御ノードと、ビデオ・プレゼンテーションの
デジタル表現を記憶する少なくとも1つの記憶ノード
と、各々が前記少なくとも1つの制御ノードの指令の下
で、前記少なくとも1つの記憶ノードの出力にスイッチ
接続される入力ポートを有し、該記憶ノードからビデオ
・プレゼンテーションのデジタル表現を受信する複数の
通信ノードとを含む。複数の通信ノードの各々は更に、
通信バスの第1の終端に接続される少なくとも1つの出
力ポートを含む。個々の通信ノードは、ビデオ・プレゼ
ンテーションのデジタル表現をデータ・バースト・シー
ケンス(sequence of data bursts)として、通信バス
の第1の終端に出力する。媒体ストリーマは更に、通信
バスの第2の終端に接続されるアダプタを含み、このア
ダプタはデータ・バースト・シーケンスを受信し、受信
したデータ・バースト・シーケンスを、ビデオ・プレゼ
ンテーションを表現する実質的に等時性のデータ・スト
リームに変換する。アダプタは、通信バスの第2の終端
に接続される入力と、実質的に等時性のデータ・ストリ
ームを提供する出力とを有するデータ・バッファを含
む。アダプタは更に、データ・バッファの出力に接続さ
れる入力を有し、実質的に等時性のデータ・ストリーム
をビデオ互換出力信号に変換する第1の変換器を含む。
また、データ・バッファの出力に接続される入力を有す
る第2の変換器が提供されて、実質的に等時性のデータ
・ストリームを音声互換出力信号に変換してもよい。
端に接続される入力と、出力とを有するXバイトの記憶
容量の第1のデータ・バッファと、第1のデータ・バッ
ファの出力に接続される入力と、実質的に等時性のデー
タ・ストリームを提供する出力とを有するXバイトより
少ない記憶容量の第2のデータ・バッファとから構成さ
れる。
最初に説明する。 ・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と同
じ。
階層的管理 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.自動再試行
トリーム・サーバ・システム10(以降では"媒体スト
リーマ"として参照される)が図1に示され、スケーラ
ビリティ、高い可用性、及び構成の柔軟性を提供する、
アーキテクチャ的に別個の4つのコンポーネントを含
む。これらの主要コンポーネントを次に示す。 1)低待ち時間スイッチ12:通信ノード14と、1つ
以上の記憶ノード16、17と、1つ以上の制御ノード
18との間で、データ及び制御情報を配布する主なタス
クを有するハードウェア/マイクロコード・コンポーネ
ント。 2)通信ノード14:NTSC、PAL、D1、D2な
どの、通常、放送業界において既知の外部定義インタフ
ェース上で、"再生"(データの等時的配布)または"記
録"(データの等時的受信)を可能にする主なタスクを
有するハードウェア/マイクロコード・コンポーネン
ト。デジタル−ビデオ変換インタフェースが、各通信ノ
ード14の出力に接続される複数のビデオ・ポート15
に含まれるビデオ・カード内で実現される。 3)記憶ノード16、17:ディスクなどの記憶媒体及
び関連記憶可用性オプションを管理する主なタスクを有
するハードウェア/マイクロコード・コンポーネント。 4)制御ノード18:コンピュータ業界において既知の
外部定義サブシステム・インタフェースから制御コマン
ドを受信し、実行する主なタスクを有するハードウェア
/マイクロコード・コンポーネント。
は、31個の通信ノード、31個の記憶ノード、及び2
個の制御ノードを含むことができ、これらは低待ち時間
スイッチ12により相互接続される。小規模なシステム
ではスイッチを含まずに、通信、記憶及び制御機能をサ
ポートする単一のハードウェア・ノードを含みうる。媒
体ストリーマ10の設計は、利用者によるその導入によ
り、小規模システムを大規模システムに発展させること
を可能にする。全ての構成において、媒体ストリーマ1
0の機能的能力は、配布ストリーム数及び記憶マルチメ
ディア時間を除き、同様である。
示す。複数の回路スイッチ・チップ(図示せず)が、プ
レーナ・ボードを介して相互接続されるクロスバー・ス
イッチ・カード20上で相互接続される。プレーナ及び
単一カード20は、16個のノード・ポートを有する低
待ち時間クロスバー・スイッチを構成する。追加のノー
ド・ポートを構成するために、カード20の追加が可能
であり、必要に応じて、アクティブ冗長ノード・ポート
により高可用性を提供することもできる。低待ち時間ス
イッチ12の各ポートは、例えば25Mバイト/秒の全
2重通信チャネルを可能にする。
転送される。各パケットは、各スイッチ・チップ内の個
々のクロスバー・スイッチ・ポイントのスイッチング状
態を制御するヘッダ部分を含む。制御ノード18は他の
ノード(記憶ノード16、17及び通信ノード14)
に、低待ち時間スイッチ12を介して、ピア・ツー・ピ
ア・オペレーションを可能にするために必要な情報を提
供する。
を示す。以降で説明されるように、テープ記憶ノード1
7は、ビデオ・プレゼンテーションのデジタル表現の記
憶のための高容量記憶機構を提供する。
表示または処理のための1つ以上のイメージを含むこと
ができ、また音声部分も含みうる。フィルム、映画また
は動画シーケンスの順次フレームなどの、1つ以上のイ
メージが論理的に関連される。これらのイメージは元
来、カメラ、デジタル・コンピュータ、またはカメラと
デジタル・コンピュータの組合わせにより生成されう
る。音声部分は連続イメージの表示に同期される。ここ
では、ビデオ・プレゼンテーションのデータ表現は、1
つ以上のイメージに加え、音声も表現できる、任意の適
切なデジタル・データ・フォーマットである。デジタル
・データは符号化または圧縮されうる。
17は、テープ・ライブラリ26に含まれる複数のテー
プ・レコードへのアクセスを可能にするテープ・ライブ
ラリ制御装置インタフェース24を含む。別のインタフ
ェース28は、SCSIバス相互接続を介して、他のテ
ープ・ライブラリへのアクセスを可能にする。内部シス
テム・メモリ30は、インタフェース24または28か
ら受信される、或いはDMAデータ転送パス32を介し
て受信されるビデオ・データのバッファリングを可能に
する。システム・メモリ・ブロック30はPC34の1
部であり、テープ・ライブラリ及びファイル管理アクシ
ョンのためのソフトウェア36を含む。スイッチ・イン
タフェース及びバッファ・モジュール38(ディスク記
憶ノード16、通信ノード14及び制御ノード18でも
使用される)は、テープ記憶ノード17と低待ち時間ス
イッチ12との間の相互接続を可能にする。すなわち、
モジュール38はデータ転送をパケットに区分し、スイ
ッチ12がパケットを経路指定するために使用するヘッ
ダ部分を各パケットに追加する役割をする。パケットを
スイッチ12から受信すると、モジュール38は受信デ
ータを局所的にバッファリングするか、処理する以前に
ヘッダ部分を除去する役割をする。
ータは、最初のバッファリング・アクションにおいて、
システム・メモリ30に入力される。次に、制御ノード
18からの初期命令に応答して、ビデオ・データは低待
ち時間スイッチ12を介して、ディスク記憶ノード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)で述べられている。
ェア・モジュール46及び48を含む内部PC44を有
し、これらのモジュールは、それぞれ、記憶ノード制御
及びビデオ・ファイル・システム、及びディスク制御及
びディスク45上の記憶データのRAIDマッピングを
提供する。本質的に、各ディスク記憶ノード16は、テ
ープ記憶ノード17よりもより即時性のあるビデオ・デ
ータの可用性を提供する。各ディスク記憶ノード16は
更に、ビデオ・データの要求に際してビデオ・データの
より早い可用性を提供するために、ビデオ・データをス
イッチ・インタフェース及びバッファ・モジュール40
の半導体メモリに(キャッシュ形式に)バッファリング
することができる。
ト(または大容量記憶ユニットとのインタフェース)
と、大容量記憶ユニットから読み書きされるデータを局
所的にバッファリングする能力とを有する。記憶ノード
は、1つ以上のテープ・ドライブ形式またはディスク・
ドライブ形式の順次アクセス大容量記憶装置、及びラン
ダム・アクセス形式にアクセスされる1つ以上のディス
ク・ドライブまたは半導体メモリなどのランダム・アク
セス記憶装置を含みうる。
ントのブロック図を示す。上述の各ノードと同様、通信
ノード14は、上述のように低待ち時間スイッチ12と
の通信を可能にするスイッチ・インタフェース及びバッ
ファ・モジュール50を含む。ビデオ・データは、スイ
ッチ・インタフェース及びバッファ・モジュール50と
ストリーム・バッファ及び通信インタフェース52との
間で直接転送され、ユーザ端末(図示せず)に転送され
る。PC54はソフトウェア・モジュール56及び58
を含み、これらはそれぞれ、通信ノード制御(例えばス
トリームの開始/停止アクション)及び等時性データ・
ストリームの連続的生成を可能にする。ストリーム・バ
ッファ及び通信インタフェース52への追加の入力60
は、出力データのフレーム同期を可能にする。このデー
タは、ストリーム・サーバ10の全体的な動作制御を司
るシステム制御装置64により制御される自動制御装置
62から受信される(図1参照)。システム制御装置6
4はユーザ制御セット・トップ・ボックス(set top bo
x)65からの入力に応答して、媒体ストリーマ10が
要求ビデオ・プレゼンテーションをアクセスすることを
可能にするコマンドを生成する。システム制御装置64
は更にユーザ・インタフェース及び表示機構66を提供
され、これはユーザがハードまたはソフト・ボタンなど
によりコマンドを入力したり、ビデオ・プレゼンテーシ
ョンの識別、ビデオ・プレゼンテーションのスケジュー
リング、及びビデオ・プレゼンテーションの再生の制御
を可能にする他のデータを入力することを可能にする。
低待ち時間スイッチ12とインタフェースするスイッチ
・インタフェース・モジュールを含む。各制御ノード1
8はシステム制御装置64からの入力に応答して、情報
を通信ノード14及び記憶ノード16、17に提供し、
所望の相互接続が低待ち時間スイッチ12を介して生成
される。更に制御ノード18は、1つ以上のディスク記
憶ノード16からの要求ビデオ・データのステージン
グ、並びにストリーム配布インタフェースを介するビデ
オ・データのユーザ表示端末への配布を可能にするソフ
トウェアを含む。制御ノード18は更に、低待ち時間ス
イッチ12を通じて送信されるコマンドを介して、テー
プ及びディスク記憶ノード16、17の両方のオペレー
ションを制御する。
うに、3つの体系化された外部インタフェースを有す
る。これらの外部インタフェースを次に示す。 1)制御インタフェース:TCP/IPプロトコル(イ
ーサネットLAN、トークンリングLAN、シリアル・
ポート、モデムなど)を実行するオープン・システム・
インタフェース。 2)ストリーム配布インタフェース:データ・ストリー
ムの配布のために設計された複数の業界標準(NTS
C、D1など)の1つ。 3)自動制御インタフェース:ストリーム出力の正確な
同期のための業界標準制御インタフェースの集合(GenL
ock、BlackBurst、SMPTEクロックなど)。
タフェースを介して、媒体ストリーマ10に発行され
る。データ・ロード・コマンドが発行されると、制御ノ
ードは入力データ・ファイルをセグメント(すなわちデ
ータ・ブロック)に分断し、それらを1つまたは複数の
記憶ノードに分配する。マテリアル密度及びデータの同
時ユーザ数が、記憶ノード16、17上のデータの配置
に影響する。密度または同時ユーザが増えると、容量及
び帯域幅のために、より多くの記憶ノードを使用するこ
とになる。
グを開始するコマンドが、制御インタフェースを介して
発行されると、制御ノード18は適切な通信ノード14
を選択して活動化し、記憶ノード16、17上のデータ
・ファイル・セグメントの位置を示す制御情報を渡す。
通信ノード14は関連する記憶ノード16、17を活動
化し、低待ち時間スイッチ12を通じて送信されるコマ
ンド・パケットを介してこれらのノードと通信し、デー
タ転送を開始する。
ード14との間を低待ち時間スイッチ12を介して、"
ジャスト・イン・タイム"(just in time)・スケジュ
ーリング・アルゴリズムに従い転送される。スケジュー
リング及びデータ・フロー制御に使用される技法は以降
で詳細に述べられる。通信ノード・インタフェース14
から発行されたデータ・ストリームは、単一の通信ノー
ド・ストリームが各ディスク記憶ノード16の容量及び
帯域幅の1部を使用するように、ディスク記憶ノード1
6に(またはディスク記憶ノードから)多重化(multip
lex)される。このように多くの通信ノード14が、デ
ィスク記憶ノード16上の同一のまたは異なるデータへ
のアクセスを多重化しうる。例えば、媒体ストリーマ1
0は1500の個々に制御されるエンド・ユーザ・スト
リームを、通信ノード14のプールから提供することが
でき、これらのストリームの各々は、ディスク記憶ノー
ド16に渡り分散される単一のマルチメディア・ファイ
ルへのアクセスを多重化する。この能力は"単一コピー
多重ストリーム"(single copy multiple stream)と称
される。
マンドは、2つの異なるカテゴリにおいて実行される。
データを管理し、ストリーム制御に直接関係しないコマ
ンドは、"低優先順位"で実行される。これにより、エン
ド・ユーザへのデータ・ストリームの配布が妨害される
ことなく、アプリケーションが媒体ストリーマ10に新
たなデータをロードすることができる。ストリームの配
布に影響するコマンド(すなわち出力)は、"高優先順
位"で実行される。
される。媒体ストリーマ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が含まれる。
位のストリーム制御コマンドには、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コマンドが媒体
ストリーマ10に、通信ノード14と、等時性データ・
ストリームの配布を可能にするその特定のまたは全ての
関連帯域幅とを割当てるように命令する。例えば媒体ス
トリーマ10は、圧縮データ・ストリームをかなり低い
データ・レート(通常1Mビット/秒乃至16Mビット
/秒)で他の通信ノード14上に再生しながら、非圧縮
データ・ストリームを通信ノード14を通じて、270
Mビット/秒で同時に再生することができる。
異なる帯域幅(ストリーム)能力及び物理定義を有する
異種のグループとして管理される。VS-CREATEコマンド
は媒体ストリーマ10に、1つまたは複数の記憶ノード
16、17に、マルチメディア・ファイル及びその関連
メタデータのための記憶域を割当てるように命令する。
VS-CREATEコマンドは、ストリーム密度及び要求される
同時ユーザの最大数の両方を指定する。
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に関連する資源を割当て
解除する。
ALコマンドにより、外部自動制御インタフェースからの
信号が、ビデオ・フレーム境界への再生及び記録オペレ
ーションのためのデータ転送を可能にする。上述の例で
は、VS-CONNECT-LISTコマンドは、外部自動制御インタ
フェース信号にもとづきFILE1からFILE2への遷移を可能
にするPLAY-AT-SIGNALサブコマンドを含む。代わりにサ
ブコマンドがVS-PLAYの場合には、遷移はFILE1転送が完
了したときにのみ発生する。
ドは、記憶階層を管理する能力を提供する。これらのコ
マンドには、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コマンドは、マルチメディ
ア・ファイルを別の媒体ストリーマに伝送する方法を提
供する。任意選択的に受信媒体ストリーマは、入力ファ
イルをファイル全体を待機することなく、即時、予め割
当てられた通信ノードに再生することができる。
定義されるモジュール設計及び機能セットに加え、デー
タ・フローが等時性データ転送に対応して最適化され、
コストを多大に低減する。特に、 1)低待ち時間スイッチの帯域幅が接続ノードの帯域幅
を上回り、ノード間の通信に、ほとんどブロッキングが
生じなくなる。 2)プロセッサ・メモリへのデータ転送が回避され、よ
り大きな帯域幅が提供される。 3)データの処理が回避され、高価な処理ユニットが排
除される。 4)データ転送が慎重にスケジュールされ、大きなデー
タ・キャッシュが回避される。
ーマ10は、相互接続されるアダプタのシステムとして
機能し、これらのアダプタは低待ち時間スイッチ12を
介して、ピア・ツー・ピアのデータ転送を実行する能力
を有する。低待ち時間スイッチ12はデータ記憶装置へ
のアクセスを有し、"ホスト・コンピュータ"の介入無し
に、あるアダプタのメモリから別のアダプタのメモリへ
データ・セグメントを転送する。
オ・データの階層的管理 媒体ストリーマ10は階層的記憶要素を提供する。これ
は非常に小規模なビデオ・システムから、非常に大規模
なシステムに及ぶスケーラビリティを可能にする設計で
ある。更にビデオ・オン・デマンド、準ビデオ・オン・
デマンド、コマーシャル挿入、高品質非圧縮ビデオの記
憶、捕獲及び再生の機能を満足するために必要な様々な
要求に適応する、記憶管理の柔軟性を提供する。
ョンは高性能デジタル・テープからディスクに転送さ
れ、エンド・ユーザにより要求されるより低いデータ・
レートで再生される。このようにして、ビデオ時間の最
小量だけがディスク・サブシステム上に記憶される。シ
ステムが"準ビデオ・オン・デマンド"の場合、例えば各
映画の5分間だけが、任意の時刻において、ディスク記
憶装置に存在する必要がある。典型的な2時間映画で
は、それぞれが5分間のセグメントが22個だけ必要と
なる。結果的に任意の時刻において、全てのビデオ・プ
レゼンテーションがディスク・ファイル上に保持される
ことがないので、ビデオ・プレゼンテーションのための
総ディスク記憶要求が低減される。再生されるプレゼン
テーションの1部分だけが、ディスク・ファイル内に存
在することが必要である。
がその全体を再生するために時間Tを要し、Nデータ・
ブロックを有するデジタル表現として記憶される場合、
各データ・ブロックはビデオ・プレゼンテーションの約
T/N期間に相当する当該ビデオ・プレゼンテーション
の1部を記憶する。Nデータ・ブロックの最後のデータ
・ブロックは、T/N期間よりも少ない期間を記憶す
る。
リーム数が増加すると、統計的平均として、ビデオ・ス
トリーム要求の約25%が同じ映画に対するものとな
る。しかしながら、異なるサブ秒単位の時間間隔では、
観賞者への配布は、これらのサブ秒の要求の50%以上
が15の映画セグメントのグループに入る結果となる。
適な技術を利用することである。(例えばIBM社によ
り生産される)ランダム・アクセス・カートリッジ・ロ
ーダは、1テープ当たりの大きな記憶容量、1ドロワ
(drawer)当たり100本のテープを有する機械式ロボ
ット・ローディング、及び1ドロワ当たり最大2個のテ
ープ・ドライブを有する、デジタル・テープ・システム
である。結果的に、"ムービ・オン・デマンド"・システ
ムに対応する有効なテープ・ライブラリが提供される。
しかしながら、本発明は映画のための大容量記憶装置を
提供する非常に低コストのデジタル・テープ記憶ライブ
ラリ・システムを可能にし、更に、低い要求度の映画を
テープから速度マッチング・バッファに、そして次にビ
デオ伸長及び配布チャネルに直接再生することを可能に
する。
に結合する第2の利点は、ディスクが不動作状態になっ
たときに、ディスク上に記憶される任意の映画に迅速な
バックアップを提供することである。通常のシステムで
は、あるディスクが故障したとき、映画がテープから再
ロードされるように"予備"のディスクを保持する。これ
は通常、RAIDまたはRAID式システムと結合され
る。
映画全体をディスク上に記憶して、ビデオ・データをテ
ープからディスクに連続的に転送するために要求される
システム性能オーバヘッドを低減することが、より効率
的となる。通常のシステムは、依然としてテープ上に記
憶される映画のライブラリを含む。なぜなら、ライブラ
リ内の通常の映画の数は、任意の時刻に再生される映画
の数の10倍乃至100倍多いからである。ユーザが特
定の映画を要求すると、その映画のセグメントがディス
ク記憶ノード16にロードされ、そこから開始される。
在する場合、ディスク上にその映画を保持することが有
利である。これらの映画は通常、その週の"ホットな"映
画であり、ピークの観賞時間帯に先立ち、テープからデ
ィスクにプリロードされる。これにより、ピーク時間帯
の間のシステムの作業負荷が軽減される。
マ10はMRUベースのアルゴリズムを通じ、主要映画
をキャッシュに転送するように決定する。これは実質的
なキャッシュ・メモリを必要とするが、コスト対アクテ
ィブ・ストリーム数の比率に関しては、キャッシュから
サポートされる高ボリュームが、媒体ストリーマ10の
総コストを押し下げる。
生中のビデオ、及び次に要求されるデータ、再生に要す
る時間が予め認識されることから、キャッシュ、内部バ
ッファ、ディスク記憶装置、テープ・ローダ、バス性能
などの使用を最適化する方法が提供される。
を制御するアルゴリズムが、広帯域スペクトル要求への
等時性データの配布を可能にする。等時性データの配布
は実質的に100%予測可能であるので、これらのアル
ゴリズムは、コンピュータ業界の他のセグメントで使用
される従来のアルゴリズム、すなわちアクセス・データ
のキャッシングが常に予測可能ではないアルゴリズムと
は非常に異なる。
ーキテクチャ 上述のように、媒体ストリーマ10はビデオ・ストリー
ムを、TVセットやLAN、ATMなどのネットワーク
を介して接続されるセット・トップ・ボックスなどの、
様々な出力に配布する。記憶容量及び同時ストリーム数
に対する要求に適合するために、複数の記憶ノード及び
通信ノードを含む分散アーキテクチャが好適である。デ
ータは記憶ノード16、17上に記憶され、通信ノード
により配布される。通信ノード14は、適切な記憶ノー
ド16、17からデータを獲得する。制御ノード18は
単一のシステム・イメージを外界に提供する。ノードは
相互接続低待ち時間スイッチ12により接続される。
リームに対応して予測可能である。本発明はこの予測可
能性を利用することにより、資源を完全に利用し、各ス
トリームのデータが必要な時に、あらゆるステージにお
いて使用可能なことを保証するデータ・フロー・アーキ
テクチャを構成する。
の間のデータ・フローは、多数の異なる方法によりセッ
ト・アップされる。
ムを配布する役割をする。通信ノードは、これらのスト
リームの各々に対応する保留のデータ要求を有するかも
しれず、要求データが異なる記憶ノード16、17から
到来するかもしれない。データを同一の通信ノードに送
信するために、異なる記憶ノードが同時に試行すると、
1つの記憶ノードだけがデータを送ることができ、他の
記憶ノードは妨害される。この妨害はこれらの記憶ノー
ドにデータの送信を再試行させ、スイッチの利用度を低
下させ、記憶ノードから通信ノードにデータを送信する
ために要する時間に大きな変化をもたらす。本発明で
は、異なる記憶ノード16、17の間で、通信ノード1
4の入力ポートの競合は発生しない。
にして決定される。通信ノード14が要求を記憶ノード
16、17に送信し、データを受信するために要する平
均時間を判断する。この時間は、要求を記憶ノードに送
信するための時間と、応答を受信するための時間、すな
わち記憶ノードが要求を処理するために要する時間とを
加算して決定される。記憶ノードは、ディスクからデー
タを読出すために要する平均時間と、要求の処理に関連
する遅延とを加算することにより、要求を処理するため
に要する平均時間を決定する。これが要求を処理する待
ち時間となる。要求バッファリング量はストリームのデ
ータ・レートにおいて、この待ち時間をカバーするため
に必要なメモリ記憶である。以降で述べられる解決策
は、媒体ストリーマ環境の特殊状態を利用することによ
り、待ち時間を低減し、それにより要求資源を低減す
る。待ち時間は、以前のステージからのデータの要求を
予想しながら、データのあらゆるステージ(例えば記憶
ノード内及び通信ノード内)において、"ジャスト・イ
ン・タイム"・スケジューリング・アルゴリズムを用い
ることにより低減される。
4の入力ポートの競合が、次の2つの基準を用いること
により回避される。 1)記憶ノード16、17は特定の要求の受信に際して
のみ、通信ノード14にデータを送信する。 2)所与の通信ノード14が、記憶ノードから読出され
るデータに対する全ての要求を直列化し、通信ノード1
4からデータを受信する1つの要求だけが、通信ノード
14が配布するストリーム数に関係なく、任意の時点に
おいて優先される。
るステージにおけるジャスト・イン・タイム・スケジュ
ーリングにもとづく。基本原理は、ストリームのデータ
・フローのあらゆるステージにおいて、データに対する
要求が到来するとき、そのデータが使用可能であること
である。これにより待ち時間は、要求を送信し、任意の
データ転送を実行するのに要する時間に低減される。従
って、制御ノード18が特定のストリームに対応するデ
ータの要求を記憶ノード16に送信すると、記憶ノード
16はこの要求にほとんど即時に応答することができ
る。この特徴は、上述の競合問題の解決策にとって重要
である。
アクセスは順次的であり、ストリームのデータ・レート
は予測可能であるので、記憶ノードは、特定のストリー
ムのデータの次の要求が期待される時期を予想すること
ができる。要求に応じて供給されるデータの識別も知る
ことができる。記憶ノード16は、データが記憶されて
いる場所、及び他のストリームに対応して期待される要
求も知ることができる。この情報と、ディスクから読出
し要求を処理する予想時間から、記憶ノード16は読出
しオペレーションをスケジュールし、要求が通信ノード
14から到来する直前に、データが使用可能となる。例
えばストリーム・データ・レートが250KB/秒で、
記憶ノード16が4セグメント目毎にビデオを含む場
合、そのストリームに対応するデータに対する要求は4
秒毎に到来する。読出し要求の処理時間が500ミリ秒
であると(読出し要求が500ミリ秒以内で完了するこ
とが必要条件)、その要求は、通信ノード14から要求
が受信されると予想されるよりも、少なくとも500ミ
リ秒以前にスケジュールされる。
トリーマ10と外界との間のインタフェースを提供する
ことである。これはまた、たとえ媒体ストリーマ10自
身が分散システムとして実現されたとしても、単一のシ
ステム・イメージを外界に提供する。制御ノードの機能
は、定義アプリケーション・プログラム・インタフェー
ス(API)により実行される。APIはビデオ・デー
タの再生/記録などの実時間機能の他に、媒体ストリー
マ10においてビデオ内容を生成する機能を提供する。
制御ノード18は通信ノード14に、ビデオを再生また
は停止するための実時間要求を送る。
用に処理する(同一プロセス内の)次のスレッド、すな
わち接続/切断要求を処理するスレッド、再生/停止要
求及び休止/再開要求を処理するスレッド、及びジャン
プ(前方検索または後方検索)要求を処理するスレッド
を有する。更に記憶ノード16からストリームに対応す
るデータを読出す入力スレッド、及びデータを出力ポー
トに書込む出力スレッドを有する。
データ処理のデータ・フロー構造が、図7に示される。
データ・フロー構造は、記憶ノード16からデータを獲
得する入力スレッド100を含む。入力スレッド100
は記憶ノードからのデータの受信を直列化するので、任
意の時点において1つの記憶ノードだけがデータを送信
することになる。入力スレッド100は、出力スレッド
102がバッファからストリームに対応して書込む必要
があるときに、バッファが既にデータにより充填されて
いることを保証する。更にストリームの入力及び出力オ
ペレーションの両方をスケジュールするスケジュール機
能104が存在する。この機能は、入力スレッド100
及び出力スレッド102の両方により使用される。
出力スレッド102に対応する要求キュー106は、ス
トリームを識別する要求、及び空にすべき関連バッファ
を指し示す要求を含む。これらの要求は、ビデオ出力イ
ンタフェースに書込まれるべき時間順に整列される。出
力スレッド102がバッファを空にすると、出力スレッ
ドはバッファを空とマークし、そのストリームに対する
入力キュー108内の要求を入力スレッドに待機する
(バッファを充填する)ように、スケジューラ機能10
4を呼出す。入力スレッド100に対応するキュー10
8もまた、バッファが充填されるべき時間順に整列され
る。
整列される要求キュー108を処理する。そのタスクは
バッファを記憶ノード16から充填することである。そ
のキュー内の各要求に対応して、入力スレッド100は
次のアクションを実行する。すなわち入力スレッド10
0は、ストリームの次のデータ・セグメントを有する記
憶ノード16を決定する(ビデオ・ストリーム・データ
は好適には多数の記憶ノードに渡り、ストライプされ
る)。入力スレッド100は次に、ストリーム・データ
の要求を決定された記憶ノードに送信し(スイッチ12
を通じてメッセージを送信する)、データの到来を待機
する。
憶ノード16だけが特定の通信ノード14にデータを送
信することを保証し、記憶ノードが非同期にデータを通
信ノード14に送信する場合に起こりうる競合を回避す
る。要求データが記憶ノード16から受信されると、入
力スレッド100はバッファをフルとマークし、要求を
(ストリームのデータ・レートにもとづき)出力スレッ
ド102にバッファリングし、バッファを空にするため
にスケジューラ104を呼出す。
タ・フロー構造が、図8に示される。記憶ノード16
は、ビデオ・データを含むバッファのプールを有する。
これは各論理ディスク・ドライブに対応する入力スレッ
ド110と、スイッチ・マトリックス12を介して通信
ノード14にデータを書込む出力スレッド112とを有
する。記憶ノード16は更に、入力スレッド110及び
出力スレッド112により使用され、オペレーションを
スケジュールするスケジューラ機能114、並びにデー
タを要求する通信ノード14からの要求を処理するメッ
セージ・スレッド116を有する。
ら受信されると、メッセージ・スレッド116が既にバ
ッファされた要求データを順当に見い出し、要求(キュ
ー118)を出力スレッド112に待機する。要求は時
間順に待機される。出力スレッド112はバッファを空
にし、それをフリー・バッファのリストに追加する。各
入力スレッド110は固有の要求キューを有する。関連
ディスク・ドライブ上にビデオ・データを有する各アク
ティブ・ストリームに対応して、キュー120は要求時
間順(データ・レート、ストライプ・レベルなどにもと
づく)に次のバッファを充填するように整列される。ス
レッドはキュー120内の最初の要求を取り出し、それ
にフリー・バッファを対応付け、バッファをディスク・
ドライブからのデータにより充填するように入出力要求
を発行する。バッファが充填されると、それがフル・バ
ッファのリストに追加される。このリストは、ストリー
ムに対応するデータ要求が受信されるとき、メッセージ
・スレッド116によりチャックされる。データ要求メ
ッセージが通信ノード14から受信され、要求バッファ
がフルでない場合、これは誤りデッドライン(missed d
eadline)と見なされる。
ーリング ジャスト・イン・タイム・スケジューリング技法は、通
信ノード14及び記憶ノード16の両方で使用される。
この技法は次のパラメータを使用する。 bc=通信ノード14におけるバッファ・サイズ bs=記憶ノード16におけるバッファ・サイズ r=ビデオ・ストリーム・データ・レート n=ビデオ・ストリームに対応するデータを含むビデオ
のストライプ数 sr=ストライプ・データ・レート sr=r/n
る要求の頻度で、r/bcである。 (2)dfc=記憶ノードにおけるディスク読出し要求
の頻度で、sr/bsである。 ビデオ・データの"ストライピング"については、後述の
セクションHで詳細に述べられる。
ジュールされ、データが必要とされるより以前に完成す
る。これはビデオ・ストリームの再生の開始時に、デー
タ・パイプにデータを予め"注入する"(prime)ことに
より達成される。
リームを再生する通信ノード14と、ビデオ・データを
含む記憶ノード16の両方において、実施される。頻度
(またはその逆数すなわち時間間隔)は、記憶ノード1
6(図8参照)内において、ディスクからの入力をスケ
ジュールするために、また通信ノード14(図7参照)
内において、ポートへの出力(及び記憶ノードからの入
力)をスケジュールするために使用される。
グ例:4つの記憶ノード上にストライプされるビデオか
ら、2.0Mビット/秒(250000バイト/秒)で
ストリームを再生すると仮定する。また、通信ノードに
おけるバッファ・サイズが250000バイトで、ディ
スク・ノードにおけるバァファ・サイズが250000
バイトとする。更にデータが250000バイト/秒で
セグメントにストライプされるものとする。
様々なパラメータ値を次に示す。 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における
要求の頻度)
ド14は、入力及び出力要求を1/秒の頻度または1.
0秒の間隔でスケジュールする。通信ノード14がスト
リームに専用の2つのバッファを有すると仮定すると、
通信ノード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により実行される。
する要求を次のように予想する。ストライプ3を含む記
憶ノード16(後述のセクションH参照)は、再生が開
始した1秒後に、そしてそれ以降は4秒毎に、次の25
0000バイト・セグメントに対する要求を予想するこ
とができる。ストライプ4を含む記憶ノード16は、再
生が開始した2秒後に、そしてそれ以降は4秒毎に、要
求を予想することができる。ストライプ2を含む記憶ノ
ード16は、再生が開始した4秒後に、そしてそれ以降
も4秒毎に、要求を予想することができる。すなわち、
各記憶ノード16は、(上述のような)特定の開始時点
から4秒毎に250000バイトの頻度でディスクから
の入力をスケジュールする。このスケジューリングは記
憶ノード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から入
力を要求し、また同じ頻度で出力をスケジュールする。
隔で到来する5つの要求を予想できる。(但し、100
000バイトが既に読出されている最初のセグメントの
場合を除く。従って、初期には再生の開始後に、3つの
要求が0.2秒毎に到来する。すなわち、5つの要求
(各々が50000バイトに対応)の次のシーケンス
は、前のシーケンスの最後の要求の4秒後に到来す
る。)記憶ノードのバッファ・サイズは250000バ
イトなので、記憶ノード16はディスクからの入力を、
4秒毎にスケジュールする(先に述べた例と同様)。
及びデータ・フローを追跡する。再生のためにビデオを
セットアップするステップが、図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から成
功裡に応答を受信すると、このストリーム・インスタン
スに関連する続く要求に対応して使用されるハンドルを
ユーザに返却する。
トアップされた後に、再生要求の受信に際し実行される
ステップを、時間順に示す。これらのステップは図10
に示される。 1.ユーザが再生コマンドを呼出す。 2.制御ノード18のスレッドが要求を受信する。 3.制御ノード18のスレッドが、要求がセットアップ
されたストリームに対応することを確認し、再生要求を
割当てられた通信ノード14に送信する。 4.通信ノード14のスレッドが再生要求を受信する。 5.通信ノード14が再生要求を全ての関連記憶ノード
16に送信し、これらのノードが、このストリームの続
く要求の予想に対応して、独自のオペレーションをスケ
ジュールできるようにする。ここで"関連"記憶ノードと
は、対象のビデオ・プレゼンテーションの少なくとも1
つのストライプを記憶する記憶ノードをさす。 6.各関連記憶ノード16のスレッドが要求を受信し、
このストリームの将来の要求をサービスするためのスケ
ジュールをセットアップする。各関連記憶ノード16は
応答を通信ノード14に返送する。 7.通信ノードのスレッドは、パイプラインが注入され
る(ビデオ・データによりプリロードされる)ことを保
証し、ストリームの出力を可能にする。 8.通信ノード14が次に応答を制御ノード18に返送
する。 9.制御ノード18が、ストリームが再生されているこ
とを示す応答をユーザに返送する。
ンドが受信されるか、ビデオが終了するまで、ビデオ・
プレゼンテーションを指定ポートに配布し続ける。
ェース及びアプリケーション・インタフェース 媒体ストリーマ10は受動サーバであり、外部制御シス
テムから制御コマンドを受信すると、ビデオ・サーバ・
オペレーションを実行する。図11は媒体ストリーマ1
0アプリケーションのシステム構成を示し、システム内
に存在するインタフェースを示す。
ンを制御するために、ユーザ及びアプリケーション・プ
ログラムに対応した2レベルのインタフェース、すなわ
ちユーザ・インタフェース(図11の(A))と、アプ
リケーション・プログラム・インタフェース(図11の
(B))を提供する。
制御システム上に提供され、これらは遠隔プロシージャ
呼出し(RPC)機構を通じて、媒体ストリーマ10と
通信する。媒体ストリーマ10上の代わりに、クライア
ント制御システム上にインタフェースを提供することに
より、媒体ストリーマ10からのアプリケーション・ソ
フトウェアの分離が達成される。このことは、クライア
ント制御システム上のアプリケーション・ソフトウェア
の変更または置換を必要としないため、媒体ストリーマ
のアップグレードまたは置換を容易にする。
フェースを提供する。 ・コマンド・ライン・インタフェース ・グラフィカル・ユーザ・インタフェース
ース コマンド・ライン・インタフェースは、ユーザ・コンソ
ールまたはインタフェース(図1の65、66)上にプ
ロンプトを表示する。コマンド・プロンプトの後、ユー
ザはコマンドを入力する。実際にはコマンド・キーワー
ドに続いてパラメータを入力する。コマンドが実行され
ると、インタフェースは再度プロンプトを表示し、次の
コマンド入力を待機する。媒体ストリーマ・コマンド・
ライン・インタフェースは、特に次に示す2タイプのオ
ペレーションに好適である。
制御コマンドを含むコマンド・スクリプトの実行の開始
に関連する。例えば放送業界では、拡張期間における事
前記録済みのスケジュール番組を含むコマンド・スクリ
プトが、予め用意される。スケジュールされた開始時間
に、単一のバッチ・コマンドによりコマンド・スクリプ
トが実行され、オペレータの介入無しに放送が開始され
る。
生成されたコマンド・リストの実行に関連し、媒体スト
リーマ10上に記憶されたマテリアルを更新/再生す
る。例えばニュース機関が、毎日、新たなマテリアルを
媒体ストリーマ10にロードする。新たなマテリアルを
管理するアプリケーション制御プログラムが、媒体スト
リーマ10を新たなマテリアルにより更新する媒体スト
リーマ・コマンド(例えば、ロード(Load)、消去(De
lete)、アンロード(Unload))を生成する。生成され
たコマンドが、その実行のために、コマンド・ライン・
インタフェースに送られる。
フェース 図12は、媒体ストリーマ・グラフィカル・ユーザ・イ
ンタフェースの例を示す。このインタフェースは、再生
(Play)、休止(Pause)、巻戻し(Rewind)、停止(S
top)などの制御ボタンを有するビデオ・カセット・レ
コーダの制御パネルに類似する。更にこれは、オペレー
ションがユーザによる選択に関連するときに(例えばロ
ード(Load)は、ユーザにビデオ・プレゼンテーション
のロードを選択するように要求する)、選択パネルを提
供する。グラフィカル・ユーザ・インタフェースは、直
接ユーザ対話において特に有用である。
ンポート/エクスポート"・ボタン132が、グラフィ
カル・ユーザ・インタフェースに含まれる。これらの機
能については後述される。
機能を提供する。 ・インポート/エクスポート ・VCR式再生制御 ・拡張ユーザ制御
体ストリーマ10に、または媒体ストリーマから転送す
るために使用される。ビデオがクライアント制御システ
ムから媒体ストリーマ10に転送されるとき(インポー
ト)、ビデオ・データのソースが、クライアント制御シ
ステムのファイルまたはデバイスとして指定される。ビ
デオ・データのターゲットは、媒体ストリーマ10内の
特定の名前で指定される。ビデオが媒体ストリーマ10
からクライアント制御システムに転送されるときには
(エクスポート)、ビデオ・データのソースは、媒体ス
トリーマ10内のその名前により指定され、ビデオ・デ
ータのターゲットは、クライアント制御システムのファ
イルまたはデバイスとして指定される。
カテゴリでは、媒体ストリーマ10はビデオを除去す
る"消去"(delete)機能、及び記憶ビデオに関する情報
を獲得する"属性獲得"(get attributes)機構を提供す
る。
介して、インポート/エクスポート機能を呼出すため
に、ユーザは"インポート/エクスポート"・ソフト・ボ
タン132(図12)をクリックする。すると、個々の
機能を呼出すために、"インポート"、"エクスポー
ト"、"消去"及び"属性獲得"ボタンを含む新たなパネル
(図示せず)が現れる。
する。図12の媒体ストリーマ・グラフィカル・ユーザ
・インタフェースは、次の機能、すなわちロード、取出
し、再生、スロー、休止、停止、巻戻し、早送り、及び
無声(Mute)が使用可能であることを示す。これらの機
能は、グラフィカル・ユーザ・インタフェース上の対応
するソフト・ボタンをクリックすることにより活動化さ
れる。媒体ストリーマ・コマンド・ライン・インタフェ
ースは、次に示す類似の機能セットを提供する。 セットアップ:特定の出力ポートに対応して、ビデオを
セットアップする。VCRへのビデオ・カセットのロー
ディングに類似。 再生:セットアップされたビデオの再生を開始するか、
休止されていたビデオの再生を再開する。 休止:ビデオの再生を休止する。 切離し(Detach):VCRからのビデオ・カセットの取
出しに類似。 状態(Status):再生中のビデオ、再生経過時間などの
ポートの状態を表示する。
するために、本発明は次の幾つかの拡張ユーザ制御を提
供する。 再生リスト(Play list):複数のビデオ及びポート上
に再生されるそれらのシーケンスをセットアップする。 再生長(Play length):ビデオの再生時間を制限す
る。 バッチ・オペレーション:コマンド・ファイルに記憶さ
れるオペレーション・リストを実行する。
カル・ユーザ・インタフェース上の"ロード"・ボタン1
34により達成される。各"セットアップ"・コマンド
は、特定のポートに対応する再生リストに追加されるビ
デオを指定する。これはまた、ビデオが再生される時間
制限を指定する。図13は、グラフィカル・ユーザ・イ
ンタフェース上の"ロード"・ソフト・ボタン134のク
リックに応答して、再生リストに追加されるビデオを選
択し、ビデオ再生の時間制限を指定するために現れるパ
ネルを示す。ユーザが"ファイル"・ボックス136内の
ファイル名をクリックすると、その名前が"ファイル名"
ボックス138に入力される。ユーザが"追加"ボタン1
40をクリックすると、"ファイル名"ボックス138内
のファイル名が、その時間制限と一緒に"再生リスト"・
ボックス142に追加され、現在の再生リストを(再生
リスト上の各ビデオの時間制限と一緒に)表示する。
・ユーザ・インタフェース上の"バッチ"・ソフト・ボタ
ン130(図12参照)を使用することにより実行され
る。
と、ユーザがコマンド・ファイル名(図14参照)を選
択または入力するためのバッチ選択パネルが表示され
る。バッチ選択パネル上の"実行"ボタン144を押下す
ることにより、選択コマンド・ファイル内のコマンドの
実行が開始する。図14は、グラフィカル・ユーザ・イ
ンタフェース上の"バッチ"及び"実行"オペレーションの
例である。例えば、ユーザは最初に、c:/batchcmdディ
レクトリ内のファイル"batch2"にコマンド・スクリプト
を生成する。ユーザは次に、図12に示されるグラフィ
カル・ユーザ・インタフェース上の"バッチ"・ボタン1
30をクリックし、バッチ選択パネルを呼出す。次にユ
ーザは、バッチ選択パネルの"ディレクトリ"・ボックス
146内の"c:/batchcmd"をクリックする。すると、"フ
ァイル"・ボックス148内にファイルのリストが表示
される。"ファイル"・ボックス148内の"batch2"の行
をクリックすると、これが"ファイル名"ボックス150
に入力される。最後に、ユーザは"実行"ボタン144を
クリックし、"batch2"ファイル内に記憶されるコマンド
を順次実行する。
ンタフェース 媒体ストリーマ10は、上述のアプリケーション・プロ
グラム・インタフェース(API)を提供する。それに
より、アプリケーション制御プログラムは媒体ストリー
マ10と対話し、そのオペレーションを制御することが
できる(図11参照)。
C)ベースのプロシージャを含む。アプリケーション制
御プログラムは、プロシージャ呼出しにより、API機
能を呼出す。プロシージャ呼出しのパラメータが、実行
される機能を指定する。アプリケーション制御プログラ
ムは、媒体ストリーマ10の論理及び物理ロケーション
を考慮することなく、API機能を呼出す。ビデオ・サ
ービスを提供する媒体ストリーマ10の識別は、クライ
アント制御システムのスタートアップ時、または任意選
択的に、アプリケーション制御プログラムの開始時のい
ずれかに確立される。媒体ストリーマ10の識別が確立
されると、プロシージャ呼出しがサービスに対応する適
正な媒体ストリーマ10に仕向けられる。
に処理される。すなわち、機能呼出しが呼出し人に返却
されると、その機能は実行され、媒体ストリーマ10に
おいて追加の処理は必要とされない。API機能を同期
オペレーションとして構成することにより、コンテキス
ト・スイッチングのための追加の処理オーバヘッド、非
同期信号送信、及びフィードバックが回避される。この
性能は厳しい実時間要求のために、ビデオ・サーバ・ア
プリケーションにおいては重要である。
に実行される。このことはユーザ・オペレーションが正
しい順序で処理されることを保証する。例えば、ビデオ
はその再生以前に接続(セットアップ)されなければな
らない。別の例では、"再生"要求に続く"休止"要求によ
る順序の切替えが、完全に異なる結果をユーザに与え
る。
(ビデオ再生の完了まで待機することなく、)制御を呼
出し人に即時返却する。このアーキテクチャの論理的根
拠は、ビデオ再生の時間は通常、長く(数分から数時
間)、予測できないために(休止または停止コマンドが
発生しうる)、VS-PLAY機能を非同期にすることによ
り、予測不能なまま長時間割当てられうる資源を解放す
ることである。
0は、アプリケーション制御プログラムにより指定され
るシステム/ポート・アドレスに非同期呼出しを生成
し、アプリケーション制御プログラムにビデオ完了事象
を通知する。システム/ポート・アドレスは、アプリケ
ーション制御プログラムがビデオを接続するために、AP
I VS-CONNECT機能を呼出す際に指定する。ここでVS-PLA
Yに対応するコールバック・システム/ポート・アドレ
スが、個々のビデオ・レベルにおいて指定されることを
述べておく。このことは、アプリケーション制御プログ
ラムが、自由にビデオ完了メッセージを任意の制御ポイ
ントに転送できることを意味する。例えば、あるアプリ
ケーションが、多くのまたは全てのクライアント制御シ
ステムに対するビデオ完了メッセージを処理するため
に、1つの中央システム/ポートの使用を望むかもしれ
ない。一方、別のアプリケーションにおいて、複数の異
なるシステム/ポート・アドレスが、あるクライアント
制御システムに対するビデオ完了メッセージを処理する
ために使用されうる。
ーマ10は、異種のハードウェア及びソフトウェア・プ
ラットフォームを有する複数の並行クライアント制御シ
ステムをサポートできるようになり、オペレーション要
求の正しい順序を保証する上で、同期及び非同期タイプ
の両方のオペレーションを効率的に処理可能となる。例
えば媒体ストリーマ10は、PS/2システム上で実行
されるIBM OS/2オペレーティング・システムを
使用し、一方、クライアント制御システムは、RS/6
000システム上で実行されるIBM AIXオペレー
ティング・システムを使用することができる(IBM、
OS/2、PS/2、AIX、及びRS/6000は全
てIBM社の商標である)。
の通信は、例えば既知のタイプの遠隔プロシージャ呼出
し(RPC)機構を通じて達成される。図15は、クラ
イアント制御システム11と媒体ストリーマ10との間
の通信のためのRPC構造を示す。媒体ストリーマ機能
の呼出しにおいて、クライアント制御システム11はR
PCクライアントとして機能し、媒体ストリーマ10は
RPCサーバとして機能する。これは図15の(A)に
示される。しかしながら、非同期機能、すなわちVS-PLA
Yでは、その完了により媒体ストリーマ10がクライア
ント制御システム11へ呼出しを生成する。この場合、
クライアント制御システム11はRPCサーバとして機
能し、媒体ストリーマ10はRPCクライアントとして
機能する。これは図15の(B)に示される。
・ライン・インタフェースが3つの内部並列プロセス
(スレッド)を含む。第1のプロセスはユーザ・コマン
ド・ライン入力を解析し、API機能を呼出すことによ
り、要求オペレーションを実行する。その結果、RPC
呼出しが媒体ストリーマ10に発行される(図15の
(A))。このプロセスはまた、様々な出力ポートに対
応してセットアップされ再生されるビデオの状態を追跡
する。第2のプロセスは、周期的に、各ビデオの経過再
生時間を、その指定時間制限に対してチェックする。ビ
デオがその時間制限に達すると、ビデオは停止されて切
断され、同一出力ポートに対応する待機キュー内の次の
ビデオが、(もし存在する場合には)開始される。クラ
イアント制御システム11における第3のプロセスは、
RPCサーバとして機能し、媒体ストリーマ10からVS
-PLAY非同期終了通知を受信する(図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))、それによりクライアント制御システムはそ
の状態を更新し、適宜アクションを起こすことができ
る。
メモリ構成及び最適化 本発明の1態様は、キャッシュ管理及び関連入出力オペ
レーションをビデオ配布環境に個別に適合化する統合機
構を提供する。次に、本発明のこの態様について詳細に
説明する。
オペレーティング・システムのファイル・サブシステム
内に組込まれる。これらは汎用使用に対応して設計され
ており、ビデオ配布のニーズに適合するように特殊化さ
れていない。
キャッシュ管理機構が構成される1つの方法を示す。こ
の技法は、2つのディスク・ファイル160、162の
間でのビデオの分離(なぜならビデオが1ファイルにと
って大き過ぎるので)と、ファイル・システム166、
媒体サーバ168及びビデオ・ドライバ170を含むプ
ロセッサとを使用する。更に図には、2つのビデオ・ス
トリームに対応する2つのビデオ・アダプタ・ポート1
72、174が示される。また、ディスク・ファイル1
60のセグメントを主記憶に読出し、順次データを第1
のビデオ・ポート172に書込むデータ・フロー、並び
に同一のセグメントを読出し、それを第2のビデオ・ポ
ート174に書込むデータ・フローが示される。図16
は、本発明の媒体ストリーマ10により克服される従来
技術の問題を説明するために使用される。
ッファに読出すために、媒体サーバ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が複
数回繰返される。
ート2に変更される以外は、同様に機能する。ポート2
に対応して要求されるとき、SKの1部がファイル・シ
ステム166のキャッシュ内に存在すれば、ステップA
8がスキップされうる。
配布は複数のデータ・ストリームによる大量のデータの
転送を含む。全体的使用パターンは、キャッシングを最
適化するために使用される従来の2つのパターン、すな
わちランダム及び順次のいずれにも適合しない。ランダ
ム・オプションが選択されると、大部分のキャッシュ・
バッファが、最近読出されたビデオ・セグメントからの
データを含みうるが、消滅以前に読出される見込みのあ
るビデオ・ストリームを有さないであろう。順次オプシ
ョンが選択されると、大部分の最近使用されたキャッシ
ュ・バッファが最初に再使用されるので、ファイル・シ
ステム・キャッシュ内で、必要セグメント部分を見い出
す機会は稀である。上述のように、ビデオ配布の重要な
要素は、観賞者またはユーザが不快に感じるような中断
無しに、データ・ストリームを等時的に配布することで
ある。従来のキャッシング機構は、図示のように、ユー
ザへのビデオ・データ・ストリームの等時的配布を保証
することができない。
イル・システム要求を満足する比較的小さなセグメント
において実行される。このことは、ビデオ・セグメント
・サイズのセグメントにより要求されるよりも、より大
きな処理時間、ディスク・シーク・オーバヘッド、及び
バス・オーバヘッドを要求する。 b.ファイル・システム・キャッシュ・バッファと媒体
サーバ・バッファとの間、及び媒体サーバ・バッファと
ビデオ・ドライバ・バッファとの間でデータをコピーす
るために要する処理時間は、排除されるべき好ましくな
いオーバヘッドである。 c.同一ビデオ・セグメントのコピーを同時に含むため
に、2つのビデオ・バッファ(すなわち172、17
4)を使用することは、主メモリの使用を非効率的にす
る。更に、同一データがファイル・システム・キャッシ
ュ及びビデオ・ドライバ・バッファの両方に記憶される
ときには、より大きな無駄が生じる。
管理 本発明のこの態様によれば、キャッシュ管理オペレーシ
ョンの3つの主要な面(facet)が存在する。それら
は、ストリームに渡るセグメント・サイズのキャッシュ
・バッファの共有化、予測キャッシング、及びキャッシ
ングの最適化のための同期化である。
サイズのキャッシュ・バッファの共有化 ビデオは固定サイズのセグメントに記憶され、管理され
る。セグメントは順次番号付けされ、例えばセグメント
5は、セグメント6よりもプレゼンテーションの開始に
より近いビデオ・プレゼンテーション部分を記憶する。
セグメント・サイズは、ディスク入出力、ビデオ入出
力、バス使用度、及びプロセッサ使用度を最適化するよ
うに選択される。ビデオのセグメントは、ビデオ名だけ
に依存する固定の内容、及びセグメント番号を有する。
ディスク及びビデオ出力への全ての入出力、及び全ての
キャッシング・オペレーションは、セグメント境界上に
整列されて実行される。
ェアがピア・ツー・ピア・オペレーションをサポートす
るかどうか、すなわち、通信ノード内のキャッシュ・メ
モリを介することなく、ディスクと通信ノード14内の
ビデオ出力カードとの間の直接データ・フローをサポー
トするかどうかにより、2つの形態を取る。ピア・ツー
・ピア・オペレーションでは、キャッシングがディスク
記憶ユニット16で実行される。ピア・ツー・ピア・オ
ペレーションをサポートしないハードウェアでは、デー
タがセグメント・サイズのブロックにより、(通信ノー
ド14内の)ページ変え連続キャッシュ・メモリに直接
読出され、入出力オペレーション及びデータ転送を最小
化する(F.ビデオ用に最適化されたデジタル・メモリ
割当てを参照)。
オ・セグメントがもはや必要とされなくなるまで、この
ロケーションから直接書込まれる。ビデオ・セグメント
がキャッシングされる間、ビデオ・セグメントを出力す
る必要のある全てのビデオ・ストリームが、同一のキャ
ッシュ・バッファをアクセスする。従って、ビデオ・セ
グメントの単一のコピーが多くのユーザにより使用さ
れ、同一ビデオ・セグメントの追加のコピーを読出すた
めの追加の入出力、並びにプロセッサ及びバッファ・メ
モリの使用が回避される。ピア・ツー・ピア・オペレー
ションでは、残りの入出力の半分、並びにほとんど全て
のプロセッサ及び主メモリの使用が、通信ノード14に
おいて回避される。
ョンを持たないシステムの場合の本発明の実施例を示
す。ビデオ・データがディスク記憶ノード16上でスト
ライプされ、奇数番号のセグメントが第1のディスク記
憶ノード180に、また偶数番号のセグメントが第2の
ディスク記憶ノード182上に配置される(後述のセク
ションH参照)。
17に示される。図からわかるように、セグメントSK
がディスク182から通信ノード186内のキャッシュ
・バッファ184に読出され、次にビデオ出力ポート1
及び2に書込まれる。SKビデオ・データ・セグメント
は、1入出力オペレーションによりキャッシュ・バッフ
ァ184に直接読出され、次にポート1に書込まれる。
次にSKビデオ・データ・セグメントが1入出力オペレ
ーションにより、キャッシュ・バッファ184からポー
ト2に書込まれる。
のアプローチに関連して述べられた全ての問題が、図1
7に示されるシステムにより克服される。
力カードとの間のピア・ツー・ピア・オペレーションを
サポートする構成の場合のデータ・フローを示す。1対
のディスク・ドライブ190、192が、ストライプさ
れたビデオ・プレゼンテーションを含み、これが介入す
る通信ノード14の主メモリを通過することなく、1対
のビデオ・ポート194、196に直接供給される。
オペレーションにより、)セグメントSKをディスク1
92からディスク・キャッシュ・バッファ198を介し
て、直接ポート1に読出す。
が続く場合、(1入出力オペレーションにより)セグメ
ントSKがディスク・キャッシュ・バッファ198から
ポート2に直接読出される。
・バッファ198に読出されたデータが、ポート2への
書込みに対応してまだ存在すると、メモリ、バス及びプ
ロセッサ資源の最適な使用により、ポート1及び2への
ビデオ・セグメントの転送が達成される。
ング機構を組合わせることが可能である。例えば、通信
ノード14の1つのポートだけに再生されているビデオ
・プレゼンテーションに対応して、ピア・ツー・ピア・
オペレーションを使用し、通信ノード14の複数のポー
トに再生されているビデオ・プレゼンテーションに対応
して、通信ノード14内にキャッシングする。
キャッシングの役割を分割する方法は、所与のハードウ
ェア構成によりサポートされるビデオ・ストリーム数を
最大化するために選択される。サポートされるストリー
ムの数が知れている場合には、キャッシング記憶の容量
及び配置が決定されうる。
ング方法のニーズに適合する。ビデオ・プレゼンテーシ
ョンは、一般に、非常に予測可能である。通常、これら
は最初から再生を開始し、かなり長い所定時間を固定の
レートで再生し、終りに達したときにのみ停止する。媒
体ストリーマ10のキャッシング・アプローチはこの予
測性を利用し、任意の時にキャッシングされるビデオ・
セグメントのセットを最適化する。
填する読出しオペレーションのスケジューリングと、キ
ャッシュ・バッファの再使用のためのアルゴリズムの駆
動の両方に対応して使用される。消滅以前の使用が予測
されない内容を有するバッファは即時再使用され、より
高い優先順位の使用のためにその空間を解放する。それ
に対して、合理的な時間内に使用される見込みのある内
容を有するバッファは、たとえそれらの最後の使用がず
っと以前であっても再使用されない。
2、...、及びストリームs1、s2、...、が与
えられ、これらのビデオを再生する場合、各ストリーム
sjは1つのビデオv(sj)を再生し、v(sj)の
k番目のセグメントを書込むために予測される時間は、
次の線形関数で表される。
メント番号に依存し、r(sj)はセグメントを再生す
るために要する一定時間であり、t(sj、k)はスト
リームsjのk番目のセグメントを再生するためにスケ
ジュールされる時間である。
る読出しオペレーションのスケジューリングと、キャッ
シュ・バッファを再使用するアルゴリズムの駆動の両方
に対応して使用される。キャッシュ管理アルゴリズムの
オペレーションの幾つかの例について、次に示す。
ームによる再生が予測されないビデオ・セグメントを含
むキャッシュ・バッファが、再生が予測される任意のバ
ッファより先に再使用される。この制約を満足した後、
ビデオの再生頻度及びセグメント番号が、キャッシュ済
みのビデオ・セグメントを保存するための優先順位を決
定する重みとして使用される。このグループ内の最も高
い保存優先順位が、頻繁に再生されるビデオの早期に発
生するビデオ・セグメントに割当てられる。
トを含むキャッシュ・バッファに対して、次の予測再生
時間及びビデオ・セグメントを再生するために残された
ストリーム数が、キャッシュ済みのビデオ・セグメント
を保存するための優先順位を決定する重みとして使用さ
れる。これらの重みは、実質的に、あるキャッシュ・バ
ッファの保存優先順位を、(任意のビデオ・セグメント
に対応して)再使用されるキャッシュ・バッファを有す
る入出力の予測数と、保存されるキャッシュ・バッファ
を有する入出力の予測数との差にセットする。
v8がs2及びs3上で再生されており、s2がs3よ
りも5秒遅れており、v4がストリームs12乃至s2
0上で再生されており、各ストリームが次のストリーム
より30秒遅れるとすると、s7により既に使用された
v5データを含むバッファが最初に再使用され、次にs
2により既に使用されたv8データを含むバッファ、続
いてs12により既に使用されたv4データを含むバッ
ファが再使用され、次に最も低い保存優先順位を有する
残りのバッファが再使用される。
レーション(ビデオ・セグメントが近い将来再生される
ことが予測されるが、その時期を正確に予測することが
できない)、及び停止オペレーション(以前の予測が修
正されなければならない)などの特殊な場合に対応して
変化を提供する。
ストリーム 所与のビデオ・セグメントを要求する全てのストリーム
をクラスタ化し、そのセグメントを含むキャッシュ・バ
ッファが記憶されなければならない時間を最小化し、そ
れにより、より多くのシステム容量を他のビデオ・スト
リームのために使用可能にすることが望ましい。ビデオ
再生において、通常、セグメントの再生レートにほとん
ど柔軟性はない。しかしながら、ビデオ配布の特定のア
プリケーションでは、再生レートに柔軟性がある(すな
わち、人間の逆反応を引き起こすこと無く、ビデオ及び
音声が僅かに加速または減速されうる)。更にビデオが
即時観賞以外の目的で配布されることもありうる。レー
トの変化が可能な場合、ストリーム間のギャップを無く
し、セグメントがバッファリングされていなければなら
ない時間を低減するために、時間的に先に出力されるス
トリームが最小許容レートで再生され、後に出力される
ストリームが最大許容レートで再生される。
するストリームのクラスタ化は、接続及び再生オペレー
ションの間にも考慮される。例えば、VS-PLAY-AT-SIGNA
Lは、複数ストリーム上で同時にビデオの再生を開始す
るときに使用される。これはクラスタ化を改良し、他の
ビデオ・ストリームのためにより多くのシステム資源を
残し、システムの有効容量を拡張する。より詳細には、
1番目のストリームを2番目のストリームに一致させる
ように、短い時間遅延させることによるクラスタ化は、
キャッシュ内のセグメントの1つのコピーを両方のスト
リームに対応して使用可能とし、処理資産を節約する。
モリ割当て デジタル・ビデオ・データは、非ランダムすなわち順次
的で、大容量で、内容に厳格ではなく時間に厳格である
点で、通常のデータ処理データとは異なる属性を有す
る。データ経路における全ての非本質的なオーバヘッド
を最小化するように、複数のデータ・ストリームが高ビ
ット・レートで配布されなければならない。媒体ストリ
ーマ10の効率及び容量を最大化するために、慎重なバ
ッファ管理が要求される。メモリ割当て、割当て解除及
びアクセスがこのプロセスにおける主要な要素であり、
不適切な使用はメモリ断片化(fragmentation)、効率
の低下、及びビデオ・データの遅延または腐敗を招きう
る。
・アプリケーションがデジタル・ビデオ・データに対応
して、スワップ不能なページ変え連続メモリ・セグメン
ト(ブロック)を割当て及び割当て解除することを可能
にする、メモリ割当てプロシージャを使用する。このプ
ロシージャは、ビデオ伝送アプリケーションに、単純で
高レベルのインタフェースを提供し、要求サイズのメモ
リ・ブロックを割当てるために、低レベルのオペレーテ
ィング・システム・モジュール及びコード・セグメント
を使用する。メモリ・ブロックは連続的であり、物理メ
モリ内に固定され、仮想メモリのスワッピングまたはペ
ージングにおいて生じうる遅延または破壊(corruptio
n)、並びにデータ伝送ソフトウェアにおいて必要な収
集/分散(gather/scatter)ルーチンによる複雑化を排
除する。
モリ・ブロックに対応して様々なアドレッシング・モー
ド値を返却し、媒体ストリーマ環境において並行に動作
しうる様々なメモリ・モデルに適合するための、高価な
動的アドレス変換の必要を排除する。物理アドレスは、
様々なアプリケーションによりプロセス・リニア・アド
レス及びプロセス・セグメント化アドレスとして使用さ
れる以外に、固定ディスク・ドライブなどの他のデバイ
ス・ドライバによる直接アクセスに対しても使用されう
る。メモリ・ブロックをシステムに返却する割当て解除
ルーチンも提供され、断片化問題を回避する。なぜな
ら、メモリは全て単一ブロックとして返却されるからで
ある。
クを割当て、制御ブロックがメモリ領域の様々なメモリ
・モデル・アドレス及びブロック長と共に返却される。 2.物理メモリの割当て解除:メモリ・ブロックをオペ
レーティング・システムに返却し、関連メモリ・ポイン
タを解放する。
ンタフェース デバイス・ドライバはシステム構成ファイル内で定義さ
れ、システムが起動するとき、自動的に初期化される。
アプリケーションが次にデバイス・ドライバを擬似デバ
イスとしてオープンし、そのラベルを獲得し、次にイン
タフェースを用いてコマンド及びパラメータを受渡す。
サポートされるコマンドは、メモリ割当て及びメモリ割
当て解除であり、パラメータにはメモリ・サイズ及び論
理メモリ・アドレスをさすポインタが含まれる。これら
のアドレスは、メモリの物理ブロックが割当てられ、物
理アドレスが論理アドレスに変換されると、デバイス・
ドライバによりセットされる。割当てが失敗すると、ヌ
ル(null)が返却される。
プリケーションの典型的なセットを示す。データに対応
してバッファ1が32ビット・アプリケーションにより
要求され、データが変更されてバッファ2に配置され
る。このバッファは次に、セグメント化アドレスを用い
る16ビット・アプリケーションにより、または固定デ
ィスク・ドライブなどの物理装置により直接処理され
る。この割当て機構により、固定の物理連続バッファを
予め割当てることにより、各アプリケーションは、その
固有の直接アドレッシングによりデータをアクセスでき
るようになり、アドレス変換遅延及び動的メモリ割当て
遅延が排除される。ビデオ・アプリケーションはこのア
プローチにより、デジタル・ビデオ・データを直接物理
ディスクからバッファに転送し、次にプロセス内でデー
タを複数回転送することなく、出力装置に直接転送する
ことにより、データ転送を最小化することもできる。
されたディスク・ドライブ ビデオ・ストリームはそれらの宛先に等時的に配布され
ることが重要である。すなわち、人間の目により動作が
不連続と感じられたり、耳により音の中断として感じら
れるような遅延が生じないことが重要である。現ディス
ク技術は、例えば予測故障分析の実行など、データ・ア
クセスにおいて相当の遅延を生じうる周期的アクション
を含んだりする。ほとんどの入出力オペレーションは1
00ms以内に完了するが、100msの周期的遅延は
一般的であり、丸々3秒の遅延が発生しうる。
トを効率的に支持できなければならない。汎用データ記
憶及び検索用に構成されたディスク・ドライブは、ビデ
オ・サーバ・アプリケーション用に最適化されないと、
メモリ、ディスク・バッファ、SCSIバス、及びディ
スク容量の使用において、非効率化を招く。
イブがディスク・パラメータの最適化により、大量のデ
ータを円滑かつタイムリに配布するように、個別に適合
化される。パラメータは、ビデオ・サーバとして特殊化
されるディスク・ドライブの製造に組込まれたり、コマ
ンド機構を通じてセットされる変数であったりする。
は、遅延を最小化または排除するようにセットされる。
バッファ使用度に影響するパラメータは、単一の読出し
または書込みオペレーションにより、非常に大量のデー
タの転送を可能にするようにセットされる。SCSIバ
スとプロセッサ・バス間の速度マッチングに影響するパ
ラメータは、データ転送の開始が早過ぎたり遅すぎたり
しないように、調整される。ディスク媒体自身は、有効
容量及び帯域幅を最大化するセクタ・サイズによりフォ
ーマットされる。
体は、最大可能な物理セクタ・サイズによりフォーマッ
トされる。このフォーマット化オプションは、セクタ間
のギャップで浪費される空間を最小化し、装置容量及び
バースト・データ・レートを最大化する。好適な実施例
は744バイト・セクタである。
このバッファは、データ転送のためのバスの可用性とは
非同期に、ディスク媒体からデータを読出すために使用
される。同様にバッファは、ディスク媒体へのデータの
転送とは非同期に、バスから到来するデータを保持する
ためにも使用される。バッファは多数のセグメントに分
割され、その数はパラメータにより制御される。余りに
多くのセグメントが存在すると、各セグメントは1回の
転送で要求されるデータ量を保持することができなくな
る。バッファがフルの時、装置は再接続を開始し、転送
を開始しなければならない。この時バスまたは装置が使
用可能でないと、回転遅延が続いて発生する。好適な実
施例では、この値は、任意のバッファ・セグメントが少
なくともデータ転送サイズの大きさを有するように、例
えば1にセットされる。
填を開始すると、ディスクはホストへのデータ転送を可
能にするように、バスへの再接続を試行する。ディスク
がこの再接続を試行する時点は、バス利用の効率に影響
を及ぼす。バス及びディスクの相対速度が、充填オペレ
ーションの間における、ホストへのデータ転送を開始す
る最適な時点を決定する。同様に書込みオペレーション
の間にも、バッファはホストからのデータの到来により
充填され、充填プロセスにおける特定の時点で、ディス
クがバスへの再接続を試行するべきである。正確な速度
マッチングは、SCSIバス上における切断/再選択サ
イクルを低減し、最大スループットを向上させる。
読出しバッファ・フル率(read buffer full ratio)"
及び"書込みバッファ・エンプティ率(write buffer em
pty ratio)"と呼ばれる。ビデオ・データでは、これら
の比率を計算する好適なアルゴリズムは、256×(瞬
間SCSIデータ転送レート−最大ディスク・データ転
送レート)/(瞬間SCSIデータ転送レート)であ
る。現在使用される好適なバッファ・フル率及びバッフ
ァ・エンプティ率の値は、約204である。
変化により、ヘッド位置の周期的な再較正を要求するも
のがある。これらのディスク・ドライブ・タイプの中に
は、更に、アセンブリ内の全てのヘッドに対して温度補
償を同時に実行するものと、1度に1ヘッドだけの温度
補償を実行するものとが存在する。全てのヘッドが1度
に実行される場合、ビデオ・データの読出しオペレーシ
ョンの間に、数100ミリ秒の遅延が発生しうる。読出
し時における遅延が長くなるほど、マルチメディア・プ
レゼンテーションにおけるデータ・フローを円滑化し、
不自然さを回避するために、より大きな主メモリ・バッ
ファを必要とする。好適なアプローチは、1度に1ヘッ
ドの補償を可能にする温度補償ヘッド制御機能をプログ
ラムすることである。
行は、数秒を要する。これらの遅延は、マルチメディア
・プレゼンテーションにおける遅延を円滑化し、不自然
さを回避するための非常に大きな主メモリ・バッファ無
しには、ビデオ・サーバ・アプリケーションにより個別
に適合化され得ない。遊休時間制限機能パラメータは、
エラー・ログの保管機能及び遊休時間の実行機能を禁止
するために使用される。好適な実施例では、これらの機
能を制限するように、パラメータをセットする。
トライピング ビデオ・アプリケーションでは、同一データ(例えば映
画)から複数のストリームを配布する必要が存在する。
この要求は高データ・レートでデータを読出す必要性を
意味する。すなわち、1ストリームを配布するのに必要
なデータ・レートに、同一データを同時にアクセスする
ストリームの数を乗じたレートが要求される。従来、こ
の問題は、一般にデータの複数のコピーを有することで
解決されたが、これは追加の費用を要する。本発明の媒
体ストリーマ10は、データの単一のコピーから多くの
同時ストリームをサービスする技法を使用する。この技
法は、個々のストリームのデータ・レートと、データを
同時にアクセスしうるストリーム数を考慮する。
がストライプと呼ばれる複数のファイル要素に存在する
ように区分化される論理ファイルの概念を含む。各スト
ライプは異なるディスク・ボリューム上に存在するよう
にされ、それにより論理ファイルは複数の物理ディスク
に跨ることになる。ディスクは局所的であったり、遠隔
的であったりする。
データは論理長(すなわちセグメント)に分離され、こ
れらが順次ストライプに配置される。図20に示される
ように、ビデオに対応する論理ファイル(ビデオ1)
が、各々が特定のサイズ、例えば256KBのM個のセ
グメントまたはブロックに区分化される。最後のセグメ
ントは部分的にデータが充填されうる。1番目のデータ
・セグメントは第1のストライプに配置され、2番目の
セグメントは第2のストライプに配置され、以降同様に
して配置される。セグメントが各ストライプに書込まれ
ると、次のセグメントが第1のストライプに書込まれ
る。従って、ファイルがN個のストライプにストライプ
される場合、ストライプ1はセグメント1、N+1、2
N+1などを含み、ストライプ2はセグメント2、N+
2、2N+2などを含む。
D構成のデータ処理で知られており、ここではストライ
ピングの目的は、ディスクが失われた場合のデータの保
全性を保証することである。こうしたRAID記憶シス
テムは、N個のディスクの1個を、データ回復の際に使
用されるパリティ・データの記憶に充当させる。媒体ス
トリーマ10のディスク記憶ノード16は、RAID式
構造に構成されるが、パリティ・データは要求されない
(ビデオ・データのコピーがテープ記憶から使用可能に
なるので)。
示す。すなわち、各ビデオ・プレゼンテーションが、複
数の使用可能なディスク・ドライブに渡り、データ・ブ
ロックまたはセグメントに分離され、各ビデオ・プレゼ
ンテーションが複数のコピーを要求すること無しに、複
数のドライブから同時にアクセスされる。従って、概念
的にはストライピングの1つであるが、その目的はデー
タ保全性または性能的な理由ではなく、同時並行性また
は帯域幅の理由による。このように媒体ストリーマ10
は、ビデオ・プレゼンテーションをバイト・ブロックに
よるのではなく、再生セグメントによりストライプす
る。
・ファイル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つのストライプ・ファイルのいずれ
かに含まれる。
のビデオのストライピングをカストマイズすなわち個別
化するために、次のように計算される。
タ・レートを獲得するように、セグメント・サイズが選
択される。しかしながら、これは待ち時間に逆効果を及
ぼすほど大きくあってはならず、またメモリにバッファ
/キャッシュできるように、十分小さいことが必要であ
る。好適なセグメント・サイズは256KBであり、1
28KB/秒乃至512KB/秒の範囲のデータ・レー
トのビデオ・プレゼンテーションにおいて一定である。
ビデオ・データ・レートがより高い場合には、より大き
なセグメント・サイズを使用することが好ましい。セグ
メント・サイズは、同一媒体上に記憶されるビデオ・プ
レゼンテーションの範囲における入出力オペレーション
の基本単位に依存する。採用する原理は、約0.5秒乃
至2秒のビデオ・データを含むセグメント・サイズを使
用することである。
タが配布されるディスクの数が決定される。この数は要
求される総データ・レートを支持するように、十分大き
くなければならず、予想使用レートにもとづき、各ビデ
オ・プレゼンテーションに対応して個々に計算される。
より詳しくは、各ディスクは、関連付けられる論理ボリ
ュームを有する。各ビデオ・プレゼンテーションは、必
要とされるストライプ数と同じ数の要素ファイルに分割
される。各要素ファイルは、異なる論理ボリューム上に
記憶される。例えば、ビデオ・データが1ストリーム当
たり250KB/秒で配布されなければならず、30の
同時ストリームが同一ビデオから例えば15秒間隔で開
始してサポートされる場合、少なくとも7.5MB/秒
の総データ・レートが獲得される。ディスク・ドライブ
が平均3MB/秒をサポートできる場合、少なくとも3
つのストライプがビデオ・プレゼンテーションにおいて
要求される。
トは、読出しオペレーションのサイズにより影響され
る。例えば、データがディスクから4KBブロックで読
出される場合(ディスク上のランダム位置)、有効デー
タ・レートは1MB/秒である。それに対して、データ
が256KBブロックで読出される場合、レートは3M
B/秒である。しかしながら、データが非常に大きなブ
ロックで読出される場合には、バッファとして要求され
るメモリも増加し、読出されたデータを使用する待ち時
間及び遅延も増加する。なぜなら、読出しオペレーショ
ンが、データがアクセスされる以前に完了しなければな
らないからである。データ転送のサイズを選択する上
で、トレードオフが存在する。サイズは装置の特性及び
メモリ構成にもとづき選択される。好適には、データ転
送のサイズは、選択セグメント・サイズに等しい。所与
のセグメント・サイズに対応して、装置からの有効デー
タ・レートが決定される。例えば、特定のディスク・ド
ライブでは、256セグメント・サイズが、ディスク・
ドライブの有効使用(有効データ・レート3MB/秒)
とバッファ・サイズ(256KB)間の良好なバランス
を提供する。
されるストリームの最大数は、ディスクの有効データ・
レートにより制限される。例えば、有効データ・レート
が3MB/秒で、ストリーム・データ・レートが200
KB/秒の場合、15ストリームほどがディスクから供
給されうる。例えば60ストリームの同一ビデオが必要
とされる場合、データは4つのディスク上に複製される
必要がある。しかしながら、本発明によるストライピン
グが使用される場合、4分の1の容量の4つのディスク
が使用できる。15のストリームが4つの各ストライプ
から同時に再生され、合計60の同時ストリームが、ビ
デオ・データの単一のコピーから再生される。ストリー
ムの開始時には、60ストリームに対する要求がストラ
イプ間で等間隔になるようにスキューされる。ここでス
トリームが互いに接近して開始されると、入出力に対す
るニーズが、キャッシュされるビデオ・データを使用す
ることにより低減されることを述べておく。
つのファクタにより影響される。その第1は、任意の時
点において、ビデオから供給されうるストリームの最大
数であり、第2のファクタは、任意の時点で、そのビデ
オと同じディスク上に記憶される全てのビデオから供給
されるべきストリームの総数である。
うに決定される。
データ・レート、nはこのビデオ・プレゼンテーション
からの名目データ・レートの同時ストリームの最大数、
dはディスクからの有効データ・レート(ディスクから
の有効データ・レートはセグメント・サイズに影響され
る)、mはこのビデオ・プレゼンテーションの1部を含
む全てのディスクからの名目データ・レートの同時スト
リームの最大数、sはビデオ・プレゼンテーションのス
トライプ数である。
トライプされるディスクの数は、セットとして管理さ
れ、非常に大きな物理ディスクとして考えられる。スト
ライピングにより、ビデオ・ファイルは、システムの物
理ファイル・システムが許容する最大ファイルのサイズ
限界を越えることができる。ビデオ・データは一般に、
常にセット内の全てのディスク上に、同量の記憶を要求
する訳ではない。ディスクの使用を均等化するために、
ビデオがストライプされるとき、ストライピングは最も
多くの自由空間を有するディスクから開始される。
イト/秒)、すなわち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))。
トリームの最大数が、例えば45の場合、250000
*45/3000000すなわち3.75ストライプが
必要となり、実際には切り上げられて4ストライプとな
る。
が、ビデオの単一のコピーから30のストリームを配布
する要求に十分適合するとしても、そのビデオを含むデ
ィスクが他の内容を含み、そのビデオからサポートされ
るストリームの総数が45であれば、4つのディスク・
ドライブが必要となる(ストライピング・レベル4)。
ズムが使用される様子を次に述べる。記憶装置(複数の
ディスク・ドライブ)が、ディスクのグループに分けら
れる。各グループは特定の容量、及び所与の数の同時ス
トリームを(所定のセグメント・サイズにもとづく1デ
ィスク当たりの有効データ・レートで)配布する能力を
有する。各グループのセグメント・サイズは一定であ
る。異なるグループは異なるセグメント・サイズを選択
しうる(従って、異なる有効データ・レートを有しう
る)。ビデオ・プレゼンテーションがストライプされる
とき、グループが次に述べる基準により、最初に選択さ
れる。
ートと整合する。すなわち、ストリーム・データ・レー
トが250000バイト/秒の場合、セグメント・サイ
ズは125KB乃至500KBの範囲である。次の基準
は、グループ内のディスクの数が同時ストリームの最大
数をサポートするのに十分であるように保証することで
ある。すなわち、"r"がストリーム・データ・レー
ト、"n"が同時ストリームの最大数、"d"がグループ内
のディスクの有効データ・レートとすると、必要ディス
ク数はr*n/dである。最後に、ディスク・グループ
内の全てのビデオからサポートされる必要のある同時ス
トリームの合計が、その容量を越えないことである。す
なわち、"m"がグループの容量とすると、"m−n"がグ
ループ内に既に記憶されているビデオから同時に再生さ
れうる全てのストリームの総数以上であるべきである。
10にロードされるときに、制御ノード18において実
行される。最も単純な場合では、全てのディスクが、記
憶及びサポート可能なストリーム数の両方の点で、媒体
ストリーマ10の総容量を定義する単一のプール内に存
在する。この場合には、所与の同時ストリーム数をサポ
ートするために必要なディスク(またはストライプ)の
数が、式m*r/dから計算され、ここでmはストリー
ム数、rはストリームのデータ・レート、dはディスク
の有効データ・レートである。ストリームが異なるレー
トの場合には、上述の式のm*rは最大(全ての同時ス
トリームのデータ・レートの合計)により置換される。
により、ビデオ・プレゼンテーションのデジタル表現の
複数のコピーを必要とすること無く、データを読出し、
多くのストリームを指定レートで配布することができ
る。複数のディスク・ボリュームに渡りデータをストラ
イプすることにより、あるストリームの配布のためのフ
ァイルの1部の読出しが、別のストリームの配布のため
のそのファイルの別の部分の読出しを妨害しない。
プロシージャ I1.スイッチ18へのビデオ配布のための動的帯域幅
割当て 従来、ビデオ・サーバは一般に、2つのプロファイルの
いずれかに適合する。すなわち、低コストの(しかしな
がら低帯域幅の)ビデオ・サーバを生成するためにPC
技術を用いるか、高帯域幅の(しかしながら高価な)ビ
デオ・サーバを生成するためにスーパー・コンピュータ
技術を使用する。本発明の目的は、高コストのスーパー
・コンピュータ技術を使用せずに、高帯域幅のビデオを
配布することである。
ローチは、低待ち時間スイッチ(クロスバー回路スイッ
チ・マトリックス)12により、低コストのPCベース
の"ノード"をビデオ・サーバに相互接続することである
(図1参照)。媒体ストリーマ・アーキテクチャの重要
な態様は、各記憶ノード16及び通信ノード14内で使
用可能なビデオ・ストリーム帯域幅を効率的に使用する
ことである。帯域幅はビデオ・データの特殊な性質(1
回の書込み及び複数回の読出し)と、低コストのスイッ
チ技術による動的で実時間の帯域幅割当て能力とを組合
わせることにより最大化される。
憶ノードとの間の従来の論理接続を示す。スイッチ・イ
ンタフェースは全2重であり(すなわち情報が同時に双
方向に送信される)、記憶ノードへ入力及び記憶ノード
から出力されるビデオ(及び制御情報)の転送を可能に
する。ビデオ内容は記憶ノードへ1回書込まれ、複数回
読出されるので、記憶ノードに対する帯域幅要求の大部
分はスイッチに向かう方向を取ることになる。通常のス
イッチ・インタフェースでは、記憶ノードの帯域幅の利
用度は低い。なぜなら、書込み機能に充当される帯域幅
の半分が稀にしか使用されないからである。
フェースを示す。このインタフェースはノードの現要求
に適合するように、その総帯域幅を実時間でスイッチ1
8にまたはスイッチ18から割当てる(図では1例とし
て記憶ノード16が使用される)。通信ノード14は類
似の要求を有するが、それらの帯域幅の大部分はスイッ
チ18から向かう方向となる。
なルーティング・ヘッダを用い、複数の物理スイッチ・
インタフェースを1つの論理スイッチ・インタフェース
18aにグループ化することにより達成される。(例え
ば読出しに対応する)ビデオ・データが次に2つの物理
インタフェース間で分離される。これは上述のように、
データを複数の記憶ユニットに渡りストライプすること
により可能になる。受信ノードはビデオ・データを単一
の論理ストリームに再結合する。
ースが全2重2X MB/秒、すなわち各方向において
X MB/秒で規定される。しかしながら、ビデオ・デ
ータは通常、一方向にのみ送信される(記憶ノードから
スイッチへ)。従って、たとえノードが2倍の能力(2
X)を有するとしても、X MB/秒の帯域幅だけが記
憶ノードから配布されることになる。図23のスイッチ
・インタフェースは、2X MB/秒の帯域幅全部を、
記憶ノードからスイッチへ送信されるビデオに動的に割
当てる。その結果、ノードからの帯域幅が増加し、ビデ
オ・サーバからの帯域幅が高くなり、1ビデオ・ストリ
ーム当たりのコストが低下する。
ータの配布 デジタル・ビデオ・データは順次的で、連続的で、大容
量であり、内容的に厳格ではないが時間的に厳格であ
る。ビデオ・データのストリームは高ビット・レートで
等時的に配布されなければならず、データ経路における
全ての非本質的なオーバヘッドが最小化されることを要
求する。通常、受信ハードウェアはビデオ・セット・ト
ップ・ボックスまたは他の好適なビデオ・データ・レシ
ーバである。標準のシリアル通信プロトコルは、同期及
びデータ検証のために、しばしばハードウェア・レベル
において、追加のデータ・ビット及びバイトをストリー
ムに挿入する。レシーバが透過的にこの追加データを除
去できないと、ビデオ・ストリームは腐敗してしまう。
これらのビット及びバイトにより導入される追加のオー
バヘッドもまた、有効データ・レートを低下させ、ビデ
オ伸長エラー及び変換エラーを生成する。
タ伝送において、ユーザへの等時的配布を保証するため
に、大部分の標準シリアル通信プロトコル属性を無効に
することが合意決定された。これを達成する方法は、使
用される通信アダプタに依存して変わるが、その基本的
な概念について次に述べることにする。図24におい
て、通信ノード14内のシリアル通信チップ200が、
データ・フォーマッティング、並びにパリティ、スター
ト及びストップ・ビット、巡回冗長検査(CRC)コー
ド及び同期バイトなどの保全情報を無効にし、アイドル
文字の生成を禁止する。データ・ブロックのロードのた
めのバス・サイクルを可能にする一方で、一定(等時
性)出力ビデオ・データ・ストリームを保証するため
に、入力FIFOバッファ202、204、206など
が使用される。1000バイトのFIFOバッファ20
8が、CPU及びバス・ローディング論理を単純化す
る。
nc)バイト生成を禁止しないと、同期バイトの値は各デ
ータ・ブロックの第1バイトの値にプログラムされる
(そして、データ・ブロック・ポインタが第2バイトに
増分される)。バイト合わせも実時間で管理されなけれ
ばならない。なぜなら、埋込みバイトが実際の圧縮ビデ
オ・データの1部でないと、これらがデータ・ストリー
ムを壊す(corrupt)からである。
される一定の高速シリアル・データ出力を達成するため
に、循環バッファまたは複数の大きなバッファ(例えば
202、204、206)が使用されなければならな
い。これは、前回充填されたバッファからデータを出力
しながら、入力バッファを充填するのに十分な時間を許
容するために必要となる。バッファの詰め込みがビデオ
・データ・ストリーム経路において早期に実行されない
と、ビデオの終りの状態が非常に小さなバッファとな
り、これが次のバッファ転送が完了する以前に出力され
て、データのアンダーランを生じうることになる。この
ためには最低でも3つの大きな独立のバッファが必要と
なる。デュアル・モード・メモリ(読出し中に書込み可
能)の循環バッファの使用も好適である。
PEG−2デジタル・データ・フォーマットから、業界
標準テレビジョン・フォーマット(NTSCまたはPA
L)へのビデオ・イメージ及び映画の変換 上述のように、デジタル・ビデオ・データは、ディスク
からバッファ・メモリに転送される。十分なデータがバ
ッファ・メモリに存在すると、これはメモリから通信ノ
ード14内のインタフェース・アダプタに転送される。
使用されるインタフェースはSCSI 20MB/秒、
高速/広帯域インタフェースまたはSSAシリアルSC
SIインタフェースである。SCSIインタフェースは
15アドレスを扱うように拡張され、SSAアーキテク
チャは最大256アドレスをサポートする。他の好適な
インタフェースには、RS422、V.35、V.36
などが含まれる。
からのビデオ・データは、通信ノード14から通信バス
210を介して、NTSCアダプタ212に渡され(図
24も参照のこと)、ここでバッファリングされる。ア
ダプタ212はデータを局所バッファ214から引き出
すが、ここにはバスの性能を最大化するために複数のデ
ータ・ブロックが記憶される。アダプタ212の主要な
目的は、メモリ214からMPEGチップ216、21
8、そしてNTSCチップ220、及びD/A222へ
のデータの等時的フローを維持することであり、それに
よりビデオ及び音声の配布に中断が生じないように保証
する。
は、デジタル(圧縮)ビデオ・データを要素レベルのビ
デオ及び音声に変換する。NTSCエンコーダ220
は、信号をNTSCベースバンド・アナログ信号に変換
する。MPEG音声デコーダ216は、デジタル音声を
パラレル・デジタル・データに変換し、これが次にデジ
タル−アナログ変換器222を通過し、フィルタリング
されて、左右の音声出力を生成する。
る解決策は、システムの帯域幅の配布を最大化するだけ
でなく、最も少ない性能的制限を課すアプローチであ
る。
ッサとディスク・ファイル、テープ・ファイル、光記憶
ユニットなどの機械的記憶装置との間のデータの制御及
び配布のために、SSA及びSCSIなどのバス構造を
使用する。これらの両方のバスは、ビデオ・データの速
度及び等時的配布を制御する手段が取られるならば、ビ
デオ・データの高帯域幅の配布に好適な属性を含む。
のバースト転送を許容するので、任意のビデオ信号がバ
ッファ・メモリから特定のNTSCアダプタに転送され
る時間量を最小化する。アダプタ・カード212は大き
なバッファ214を含み、これはデータをバス210か
らメモリに高いピーク・レートでバースト転送し、デー
タをバッファ214からより低いレートで取り出し、M
PEGデコーダ・チップ216、218に配布する性能
を有する。バッファ214は更に小さなバッファにセグ
メント化され、ソフトウェア制御により、循環式に接続
される複数のバッファとして機能するように接続され
る。
イズのデータを別々のバッファに配布することを可能に
し、再生シーケンスを制御する。このアプローチの利点
は、ビデオ・データの要求に先立ち、ビデオ・データの
ブロックを非常に高い転送レートで配布する必要からソ
フトウェアを解放する。それにより媒体ストリーマ10
は、動的なスループット要求により、多くのビデオ・ス
トリームを管理する能力を提供される。通信ノード内の
プロセッサが時間を有するとき、プロセッサは順番に再
生される複数の大きなデータ・ブロックを配布すること
ができる。これが実行されると、プロセッサは解放さ
れ、即時低速の連続等時性データを各ポートに配布する
必要無しに、他のストリームを制御する。
改良するために、小さなFIFOメモリ224が、大き
なデコーダ・バッファ214とMPEGデコーダ21
6、218との間に挿入される。FIFOメモリ224
は、制御装置226がバッファ214からFIFO22
4に小データ・ブロック(通常は512バイト)を転送
することを可能にし、FIFO224は次にこのデータ
をシリアル・ビット・ストリームに変換して、MPEG
デコーダ216、218に配布する。音声及びビデオの
デコーダ・チップ216、218は、それぞれの入力を
同じシリアル・データ・ストリームから受取り、内部的
に要求データを分離し復号化する。FIFOメモリ22
4の出力からのデータの伝送は、等時的または実質的に
等時的に発生し、ユーザまたは利用者への中断の無いビ
デオ・プレゼンテーションの配布を保証する。
伝送 図26に示されるように、バッファ・メモリからの圧縮
デジタル・ビデオ・データ及びコマンド・ストリーム
は、デバイス・レベルのソフトウェアによりSCSIコ
マンド及びデータ・ストリームに変換され、SCSIバ
ス210を介して、SCSI II高速データ・レート
でターゲット・アダプタ212に転送される。データは
次にバッファリングされ、要求内容出力レートでMPE
G論理に供給されて伸長され、アナログ・ビデオ及び音
声データに変換される。データ・フローの速度を一定に
維持し、適正なバッファ管理を保証するために、SCS
Iバス210を通じてフィードバックが提供される。
2は、標準のSCSIプロトコルのサブセットをサポー
トする高レベルのインタフェースをSCSIバス210
に提供する。通常の動作モードではアダプタ212を開
放して、データ(ビデオ及び音声)ストリームをそれに
書込み、書込みの完了に際してのみアダプタ212を閉
鎖する。アダプタ212は、通信ノード14及び記憶ノ
ード16がデータ・ブロックを提供し続ける間に、その
バッファ・フルを維持するのに必要な速度でデータを引
き出す。ここでデータ・ブロックは、バス・データ転送
を最適化し、バス・オーバヘッドを最小化するようにサ
イズ化される。
ード選択SCSIコマンドにより、制御パケットを介し
て上書きされる。ビデオ/音声同期はアダプタ212内
で実施され、外部制御は必要とされない。自動再同期化
及び継続する音声/ビデオ出力により、エラーは最小化
される。
標準のコマンドと同様に、直接アクセス装置コマンドと
逐次装置コマンドとの混合が使用される。全てのSCS
Iコマンドでは、有効ステータス・バイトがあらゆるコ
マンドの後に返却され、チェック状態が返却されると、
センス・データ領域にエラー状態がロードされる。使用
される標準SCSIコマンドには、RESET、INQUIRY、RE
QUEST SENSE、MODE SELECT、MODE SENSE、READ、WRIT
E、RESERVE、RELEASE、TEST UNIT READYが含まれる。
ユーザ・レベルのビデオ出力制御コマンドであり、上記
リストされた標準コマンドの拡張である。これらは低レ
ベル・オペレーティング・システムへの単純化されたユ
ーザ・レベル・フロント・エンド、またはSCSIビデ
オ出力アダプタ212と直接インタフェースするSCS
Iコマンドを提供する。各コマンドはマイクロコードを
用いて達成され、必要なビデオ装置機能をエミュレート
し、無効な制御状態により生じるビデオ及び音声異常を
回避する。単一のSCSIコマンドすなわちSCSI START
/STOP UNITコマンドにより、ビデオ制御コマンドがター
ゲットSCSIビデオ出力アダプタ212に変換され、
コマンドと共に、必要なパラメータが転送される。これ
によりユーザ・アプリケーション・インタフェース及び
アダプタ・カード212のマイクロコードの両方が単純
化される。次に示すコマンドが使用される。
入力が停止され、音声が無声化され、ビデオがブランキ
ングされる。パラメータ・フィールドは停止モードを選
択する。通常モードでは、バッファ及び位置ポインタが
現状を維持し、従って、再生はビデオ・ストリームの同
じ位置から継続する。第2のモード(映画の終了または
アボート)では、バッファ・ポインタは次のバッファの
開始にセットされ、現バッファを解放する。第3のモー
ドも映画の終了状態に対応するが、データ・バッファが
空になるまで、停止(無声化及びブランキング)が遅延
される。第4のモードは特定のMPEGデコーダと一緒
に使用され、音声の遅延停止を提供するが、フレームに
ついては、データが尽きたときの最後の有効フレームで
フリーズ(freeze)する。これらのそれぞれの場合にお
いて、ビデオ・アダプタ212のマイクロコードが停止
ポイントを決定し、ビデオ及び音声出力が適切な境界上
で停止され、明確な再スタートを可能にする。
入力が停止され、音声が無声化され、ビデオがブランキ
ングされる。MPEGビデオ・チップ・セット(21
6、218)が、最後の良好なフレームをフリーズす
る。これはビデオ・チューブのバーンイン(burn-in)
を回避するために制限される。Stopコマンドは好適には
制御ノード18により発行されるが、コマンドが5分以
内に受信されない場合には、ビデオ出力は自動的にブラ
ンクとなる。アダプタ212のマイクロコードはバッフ
ァ位置及びデコーダ状態を維持し、再生への円滑な遷移
を可能にする。
力をブランキングするか、ビデオ出力に影響すること無
く音声出力を無声化するか、或いはそれらの両方を実行
する。無声化及びブランキングの両者は、モード・パラ
メータを用いる単一のコマンドによりオフされ、円滑な
遷移及びコマンドのオーバヘッドの低減を可能にする。
これらのことが伸長及びアナログへの変換後に、ハード
ウェア制御によりビデオ・アダプタ212上において実
行され、確実で円滑な遷移を保証する。
18)へのデータ入力レートを低速化し、フレームを断
続的にフリーズさせ、VCR上での低速再生機能をシミ
ュレートする。デジタル・エラー・ノイズを回避するた
めに音声が無声化される。パラメータ・フィールドは、
相対速度を0乃至100に指定する。別の例では、デコ
ーダ・チップ・セット(216、218)のエラー処理
を禁止し、デコーダ・チップ・セットへのデータ・クロ
ッキング速度を、所望の再生速度に変更する。これはビ
デオ・アダプタのクロック・アーキテクチャの柔軟性に
依存する。
8)へのデータ供給プロセスを開始し、音声及びビデオ
出力を可能にする。再生シーケンスを開始するバッファ
を決定するバッファ選択番号が渡され、ゼロ値は現再生
バッファが使用されるべきことを示す(通常のオペレー
ション)。非ゼロ値は、アダプタ212が停止モードの
場合にのみ受諾され、休止モードでは、バッファ選択パ
ラメータは無視され、再生が現バッファ選択及び位置に
より再開される。
回転させ、MPEGチップ・セット(216、218)
への安定なデータ・ストリームを維持する。データはバ
ッファのアドレス0から開始して、Nバイトが読出され
るまで、適切なレートでMPEGバスに読出され、次に
制御装置226が次のバッファに切り替え、データの読
出しを継続する。アダプタ・バス及びマイクロコード
が、アダプタ・バッファ214へのSCSI高速データ
転送、並びにMPEG伸長チップ(216、218)に
データを供給する出力FIFO224へのデータの安定
ローディングの両方に対応する、十分な帯域幅を提供す
る。
meter = rate) このコマンドは、VCRの高速先送りをエミュレートす
るようにデータを走査する。レート・パラメータにより
決定される2つの動作モードが存在する。レート0は、
ビデオ及び音声がそれぞれブランキング及び無声化され
る高速先送りを意味し、バッファはフラッシュ(flus
h)され、データがビデオ・ストリームの順方向の新た
な位置から受信されると再生が暗黙的に実行される。1
乃至10の整数値は、入力ストリームが先送りされるレ
ートを示す。ビデオは指定の平均データ・レートを達成
するために、データ・ブロックをスキップしてサンプリ
ングされる。アダプタ212はほぼ通常のレートでデー
タの1部を再生し、前方へ飛び越した後、次の部分を再
生し、高速先送り動作をエミュレートする。
うに、データを後方走査する。レート・パラメータによ
り決定される2つの動作モードが存在する。レート0
は、ビデオ及び音声がそれぞれブランキング及び無声化
される高速巻戻しを意味し、バッファはフラッシュさ
れ、データがビデオ・ストリームの逆方向の新たな位置
から受信されると、再生が暗黙的に実行される。1乃至
10の整数値は、入力ストリームが巻戻されるレートを
示す。ビデオは指定の平均データ・レートを達成するた
めに、データ・ブロックをスキップしてサンプリングさ
れる。巻戻しデータ・ストリームは、ビデオ・ストリー
ムの順次的に早い位置からサンプリングされる小さなデ
ータ・ブロックを組合わせることにより生成される。ア
ダプタ・カード212は、遷移及び同期を円滑に処理し
て通常のレートで再生し、次のサンプル部分にスキップ
して戻ることにより、巻戻し走査をエミュレートする。
タを提供するが、デジタル・ビデオ・データ伸長及び変
換は、一定のデータ・ストリームを要求する。データの
バッファリング技法が、SCSIデータ・バースト・モ
ード伝送を利用するために使用され、データのアンダー
ランまたはバッファのオーバランを回避する一方、媒体
ストリーマ10が最小の介入により、データを多くのス
トリームに送信することを可能にする。SCSIビデオ
・アダプタ・カード212(図25、26参照)は、S
CSIバースト・モード・データ転送プロセスを完全に
使用可能にするビデオ・データ用の大きなバッファ21
4を含む。一般的な構成は768Kの1つのバッファ2
14であり、局所論理により循環回路バッファとして処
理される。循環バッファは、可変データ・ブロック・サ
イズを動的に処理する場合に固定長バッファよりも好適
である。後者は、デジタル・ビデオ・データを転送する
ときの記憶オーバヘッド及び管理オーバヘッドの両方の
点で、非効率的である。
ロコードは、複数のバッファ・ポインタをサポートし、
データの現在の長さ及び先頭の他に、データの最後の先
頭を保持する。このことは必要に応じて、失敗伝送を上
書きする再試行を可能にしたり、ポインタを現バッファ
内のバイト位置に配置することを可能にする。データ・
ブロック長は、デコード・チップ・セット(216、2
18)への有効データの転送を保証するように、送信時
と同じに維持される(たとえ中間論理によりロング・ワ
ード構成が使用されるとしても、バイトまたはワード特
有である)。このアプローチは、データ・バッファの柔
軟な制御を維持しながら、安定状態動作のオーバヘッド
を最小化する。
ファ関連オペレーションにおいて、複数のポインタが使
用可能である。例えば、第1のセットは再生バッファ及
びそのバッファ内の現在位置を選択するために使用さ
れ、第2のセットはデータ・プリロード・オペレーショ
ンに対応して、書込みバッファ及びそのバッファ内の位
置(通常は0)を選択するために使用される。受信され
る各データ・ブロックに対応して、現在長及び最大長が
保持される。なぜなら、可変長データ・ブロックもサポ
ートされるからである。
置226により管理され、Nバイトのデータが次の使用
可能なバッファ空間のアドレス0から配置される。制御
装置226は、各バッファ内のデータ長及びそのデータ
が再生されたかどうかを追跡する。十分なバッファ空間
が解放されていると、アダプタ・カードは次のWRITEコ
マンドを受諾し、データをそのバッファにDMA転送す
る。完全なデータ・ブロックを受入れるのに十分なバッ
ファ空間が解放されていないと(典型的には低速再生
(Slow Play)または休止状態)、WRITEコマンドは受諾
されず、バッファ・フル復帰コードが返却される。
(WRITE、ERASEなど)に対応して、現書込みバッファ及
びそのバッファ内の位置(通常は0)を選択するために
使用される。バッファ位置は、成功裡に伝送された最後
のデータ・ブロックのデータの開始に関連付けられる。
これは好適にはビデオ・ストリーム遷移管理のために実
行され、システム内のコマンド・オーバヘッドを最小化
するために、自動モードができる限り早く再活動化され
る。
ーションにおいて、通常、SCSIを使用するランダム
・データ・アクセスの場合とは異なるエラー管理要求を
有する。少量のデータ損失は伝送の中断に比較して重要
ではなく、従来の再試行及びデータ検証方法が変更また
は使用禁止にされる。通常のSCSIエラー処理プロシ
ージャでは、ステータス・フェーズの間の各コマンドの
完了時に、ステータス・バイトが戻される。ステータス
・バイトは、ターゲットSCSIチップ227がコマン
ドを受諾できないと、良好(00)状態またはビジー
(08h)を示し、エラーが発生すると、チェック状態
(02h)を示す。
チェック状態応答の際に、要求センス・コマンドを自動
的に生成し、エラー及びステータス情報をロードし、回
復プロシージャが可能かどうかを決定する。通常の回復
プロシージャはエラー状態をクリアし、破壊されたデー
タを廃棄し、できるだけ早く通常の再生を再開する。最
悪の場合、アダプタ212はリセットされ、再生以前に
再ロードされたデータが再開されうる。エラー状態は記
録され、次の問合わせ(INQUIRY)または要求センス(R
EQUEST SENSE)SCSIオペレーションにおいて、ホス
ト・システムに報告される。
トリーム・データ・レートに依存して、最高X回自動的
に実行される。これは次のデータ・バッファが到来した
時点にのみ許可される。その時点で、その状態が予想で
きない場合には(例えば休止または低速再生モードでな
いのにバッファ・フルである)、エラーが記憶され、ビ
デオ再生を回復し継続するためには、装置リセットまた
はクリアが必要となりうる。
をユーザに配布する内容について述べてきたが、双方向
ビデオ・アダプタを使用することにより、ビデオ・プレ
ゼンテーションを受信し、それをデータ表現としてデジ
タル化し、データ表現をバス210を介して通信ノード
14に伝送し、低待ち時間スイッチ18を介して、制御
ノード18により指定される記憶ノード16、17に記
憶することが可能であることが理解されよう。
ぎず、当業者には、本発明の範囲を逸脱すること無く、
様々な代替例及び変更が考案されよう。従って、本発明
はこうした全ての代替例及び変更を含むものである。
の事項を開示する。
デオ・プレゼンテーションのデジタル表現を記憶する少
なくとも1つの記憶ノードと、各々が前記少なくとも1
つの制御ノードの指令の下で、前記少なくとも1つの記
憶ノードの出力にスイッチ接続される入力ポートを有
し、該記憶ノードからビデオ・プレゼンテーションのデ
ジタル表現を受信する複数の通信ノードであって、前記
複数の各通信ノードが、通信バスの第1の終端に接続さ
れる少なくとも1つの出力ポートを有し、個々の前記通
信ノードが、前記ビデオ・プレゼンテーションのデジタ
ル表現をデータ・バースト・シーケンスとして、前記通
信バスの前記第1の終端に出力する、前記通信ノード
と、前記通信バスの第2の終端に接続され、前記データ
・バースト・シーケンスを受信し、前記受信データ・バ
ースト・シーケンスを、前記ビデオ・プレゼンテーショ
ンを表現する実質的に等時性のデータ・ストリームに変
換するアダプタであって、通信バスの前記第2の終端に
接続される入力と、実質的に等時性のデータ・ストリー
ムを提供する出力とを有するデータ・バッファと、前記
データ・バッファの前記出力に接続される入力を有し、
前記実質的に等時性のデータ・ストリームをビデオ互換
出力信号に変換する第1の変換器と、を含む、前記アダ
プタと、を含む、媒体ストリーマ。 (2)前記アダプタが、前記データ・バッファの前記出
力に接続される入力を有する第2の変換器を含み、該変
換器が前記実質的に等時性のデータ・ストリームを音声
互換出力信号に変換する、前記(1)記載の媒体ストリ
ーマ。 (3)前記データ・バッファが、前記通信バスの前記第
2の終端に接続される入力と、出力とを有する、Xバイ
トの記憶容量の第1のデータ・バッファと、前記第1の
データ・バッファの前記出力に接続される入力と、前記
実質的に等時性のデータ・ストリームを提供する出力と
を有する、前記Xバイトより少ない記憶容量の第2のデ
ータ・バッファと、を含む、前記(1)記載の媒体スト
リーマ。 (4)前記第1のデータ・バッファが、バッファリング
されたデータ・ストリームをビット・パラレル形式で前
記第2のデータ・バッファに出力し、前記第2のデータ
・バッファが前記実質的に等時性のデータ・ストリーム
をビット・シリアル形式で出力する、前記(3)記載の
媒体ストリーマ。 (5)前記第1のデータ・バッファが循環データ・バッ
ファを含み、前記第2のデータ・バッファが第1の先入
れ先出しデータ・バッファを含む、前記(3)記載の媒
体ストリーマ。 (6)前記通信バスがSCSI(Small Computer Syste
m Interface)プロトコルに従い動作する、前記(1)
記載の媒体ストリーマ。 (7)前記通信バスがSSA(Serial Storage Archite
cture)プロトコルに従い動作する、前記(1)記載の
媒体ストリーマ。 (8)ビデオ・プレゼンテーションを表現する複数のモ
ードの個々のモードを指定するために、ユーザが活動化
できる制御を有する少なくとも1つの制御パネルを含
み、前記少なくとも1つの制御パネルが、前記少なくと
も1つの制御ノードに接続される出力を有する、前記
(1)記載の媒体ストリーマ。 (9)前記少なくとも1つの制御ノードが、前記少なく
とも1つの制御パネルの前記出力に応答して、コマンド
を前記通信バスを介して前記アダプタに伝送し、前記伝
送コマンドが、前記アダプタに前記ビデオ・プレゼンテ
ーションを表現する複数のモードの1つをエミュレート
するように動作指示するために公式化される、前記
(8)記載の媒体ストリーマ。 (10)前記通信バスがSCSIプロトコルに従い動作
し、前記伝送コマンドがSCSI開始/停止コマンドで
ある、前記(9)記載の媒体ストリーマ。 (11)前記複数のモードの少なくとも幾つかが、停止
コマンド、休止コマンド、ブランク・無声コマンド、低
速再生コマンド、再生コマンド、高速先送りコマンド、
巻戻しコマンドを含むグループから選択される、ビデオ
・カセット・レコーダ式コマンドに対応する、前記
(9)記載の媒体ストリーマ。 (12)前記通信バスがビット・シリアル・データ伝送
形式に従う、前記(1)記載の媒体ストリーマ。 (13)前記通信バスがビット・パラレル・データ伝送
形式に従う、前記(1)記載の媒体ストリーマ。
コンピュータ業界の従来のインタフェースにより、マル
チメディア環境における等時的データ・ストリーム転送
を可能にする"ビデオ・フレンドリ"なコンピュータ・サ
ブシステムを提供することができる。
である。
ある。
図である。
ク図である。
る。
力制御コマンドのリストと、低優先順位で実行されるデ
ータ管理コマンドのリストである。
である。
ロック図である。
す図である。
示す図である。
との間に存在するインタフェースを示す図である。
複数の"ソフト"・キーを示す表示パネルを示す図であ
る。
れるLOAD選択パネルを示す図である。
バッチ選択パネルを示す図である。
の間に存在する複数のクライアント/サーバ関係を示す
図である。
上の出力ポートに供給する従来技術を示す図である。
ッシュ・メモリに含まれる単一のビデオ・セグメントを
アクセスする様子を示すブロック図である。
ド上のキャッシュ・メモリに含まれるビデオ・セグメン
トを直接アクセスする様子を示す図である。
示す図である。
ルを示す図である。
ク・ドライブに渡りストライプされる様子を示す図であ
る。
の従来のスイッチ・インタフェースを示す図である。
するように、図22に示される従来のスイッチ・インタ
フェースが変更される様子を示す図である。
るプロシージャを示すブロック図である。
オ・データに変換するために使用されるビデオ・アダプ
タのブロック図である。
ためにSCSIバス・コマンドの使用を可能にする制御
モジュールのブロック図である。
体ストリーマ) 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 制御装置
Claims (12)
- 【請求項1】少なくとも1つの制御ノードと、 ビデオ・プレゼンテーションのデジタル表現を記憶する
少なくとも1つの記憶ノードと、 各々が前記少なくとも1つの制御ノードの指令の下で、
前記少なくとも1つの記憶ノードの出力にスイッチ接続
される入力ポートを有し、該記憶ノードからビデオ・プ
レゼンテーションのデジタル表現を受信する複数の通信
ノードであって、前記複数の各通信ノードが、通信バス
の第1の終端に接続される少なくとも1つの出力ポート
を有し、個々の前記通信ノードが、前記ビデオ・プレゼ
ンテーションのデジタル表現をデータ・バースト・シー
ケンスとして、前記通信バスの前記第1の終端に出力す
る、前記通信ノードと、 前記通信バスの第2の終端に接続され、前記データ・バ
ースト・シーケンスを受信し、前記受信データ・バース
ト・シーケンスを、前記ビデオ・プレゼンテーションを
表現する等時性のデータ・ストリームに変換するアダプ
タであって、 通信バスの前記第2の終端に接続される入力と、等時性
のデータ・ストリームを提供する出力とを有するデータ
・バッファと、 前記データ・バッファの前記出力に接続される入力を有
し、前記等時性のデータ・ストリームをビデオ互換出力
信号に変換する第1の変換器と、 を含む、前記アダプタと、 を含む、ビデオ最適化ストリーム・サーバ・システム。 - 【請求項2】前記アダプタが、前記データ・バッファの
前記出力に接続される入力を有する第2の変換器を含
み、該変換器が前記等時性のデータ・ストリームを音声
互換出力信号に変換する、請求項1記載のビデオ最適化
ストリーム・サーバ・システム。 - 【請求項3】前記データ・バッファが、 前記通信バスの前記第2の終端に接続される入力と、出
力とを有する、Xバイトの記憶容量の第1のデータ・バ
ッファと、 前記第1のデータ・バッファの前記出力に接続される入
力と、前記等時性のデータ・ストリームを提供する出力
とを有する、前記Xバイトより少ない記憶容量の第2の
データ・バッファと、 を含む、請求項1記載のビデオ最適化ストリーム・サー
バ・システム。 - 【請求項4】前記第1のデータ・バッファが、バッファ
リングされたデータ・ストリームをビット・パラレル形
式で前記第2のデータ・バッファに出力し、前記第2の
データ・バッファが前記等時性のデータ・ストリームを
ビット・シリアル形式で出力する、請求項3記載のビデ
オ最適化ストリーム・サーバ・システム。 - 【請求項5】前記第1のデータ・バッファが循環データ
・バッファを含み、前記第2のデータ・バッファが第1
の先入れ先出しデータ・バッファを含む、請求項3記載
のビデオ最適化ストリーム・サーバ・システム。 - 【請求項6】前記通信バスがSCSI(Small Computer
System Interface)プロトコルに従い動作する、請求
項1記載のビデオ最適化ストリーム・サーバ・システ
ム。 - 【請求項7】前記通信バスがSSA(Serial Storage A
rchitecture)プロトコルに従い動作する、請求項1記
載のビデオ最適化ストリーム・サーバ・システム。 - 【請求項8】ビデオ・プレゼンテーションを表現する複
数のモードの個々のモードを指定するために、ユーザが
活動化できる制御を有する少なくとも1つの制御パネル
を含み、前記少なくとも1つの制御パネルが、前記少な
くとも1つの制御ノードに接続される出力を有する、請
求項1記載のビデオ最適化ストリーム・サーバ・システ
ム。 - 【請求項9】前記少なくとも1つの制御ノードが、前記
少なくとも1つの制御パネルの前記出力に応答して、コ
マンドを前記通信バスを介して前記アダプタに伝送し、
前記伝送コマンドが、前記アダプタに前記ビデオ・プレ
ゼンテーションを表現する複数のモードの1つをエミュ
レートするように動作指示する、請求項8記載のビデオ
最適化ストリーム・サーバ・システム。 - 【請求項10】前記通信バスがSCSIプロトコルに従
い動作し、前記伝送コマンドがSCSI開始/停止コマ
ンドである、請求項9記載のビデオ最適化ストリーム・
サーバ・システム。 - 【請求項11】前記複数のモードの少なくとも幾つか
が、停止コマンド、休止コマンド、ブランク・無声コマ
ンド、低速再生コマンド、再生コマンド、高速先送りコ
マンド、巻戻しコマンドを含むグループから選択され
る、ビデオ・カセット・レコーダ式コマンドに対応す
る、請求項9記載のビデオ最適化ストリーム・サーバ・
システム。 - 【請求項12】前記通信バスがビット・シリアル・デー
タ伝送形式に従う、請求項1記載のビデオ最適化ストリ
ーム・サーバ・システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US302616 | 1994-09-08 | ||
US08/302,616 US5603058A (en) | 1994-09-08 | 1994-09-08 | Video optimized media streamer having communication nodes received digital data from storage node and transmitted said data to adapters for generating isochronous digital data streams |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08154234A JPH08154234A (ja) | 1996-06-11 |
JP3110987B2 true JP3110987B2 (ja) | 2000-11-20 |
Family
ID=23168521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07229803A Expired - Lifetime JP3110987B2 (ja) | 1994-09-08 | 1995-09-07 | 等時性データ・ストリームを生成するビデオ用に最適化された媒体ストリーマ |
Country Status (2)
Country | Link |
---|---|
US (1) | US5603058A (ja) |
JP (1) | JP3110987B2 (ja) |
Families Citing this family (148)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08234928A (ja) * | 1995-02-22 | 1996-09-13 | Matsushita Electric Ind Co Ltd | 情報記憶制御装置 |
JP3257916B2 (ja) * | 1995-02-28 | 2002-02-18 | 富士通株式会社 | 外部記憶装置 |
ATE220277T1 (de) * | 1995-03-31 | 2002-07-15 | Sony Service Ct Europe Nv | Videodienstsystem mit der funktion eines videokassettenrekorders |
DE69517795T2 (de) | 1995-03-31 | 2000-12-28 | Sony Europ B V | System für Information auf Anfrage |
DE19514616A1 (de) * | 1995-04-25 | 1996-10-31 | Sel Alcatel Ag | Kommunikationssystem mit hierarchischer Serverstruktur |
JP3375245B2 (ja) * | 1995-04-26 | 2003-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 耐障害性マルチメディア・プログラム配布のための装置 |
JP2845162B2 (ja) * | 1995-05-10 | 1999-01-13 | 日本電気株式会社 | データ転送装置 |
US5909595A (en) * | 1995-05-15 | 1999-06-01 | Nvidia Corporation | Method of controlling I/O routing by setting connecting context for utilizing I/O processing elements within a computer system to produce multimedia effects |
US5793410A (en) * | 1995-05-26 | 1998-08-11 | Hyundai Electronics America | Video pedestal network |
US5940738A (en) | 1995-05-26 | 1999-08-17 | Hyundai Electronics America, Inc. | Video pedestal network |
JP3184763B2 (ja) * | 1995-06-07 | 2001-07-09 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | マルチメディア直接アクセス記憶装置及びフォーマット方法 |
US5758057A (en) * | 1995-06-21 | 1998-05-26 | Mitsubishi Denki Kabushiki Kaisha | Multi-media storage system |
JPH0981471A (ja) * | 1995-09-11 | 1997-03-28 | Toshiba Corp | 連続データサーバ装置および制御命令送出方法 |
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 |
US5829046A (en) * | 1995-10-27 | 1998-10-27 | Emc Corporation | On-line tape backup using an integrated cached disk array |
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 |
US6061504A (en) * | 1995-10-27 | 2000-05-09 | Emc Corporation | Video file server using an integrated cached disk array and stream server computers |
US5737747A (en) * | 1995-10-27 | 1998-04-07 | Emc Corporation | Prefetching to service multiple video streams from an integrated cached disk array |
US5742504A (en) * | 1995-11-06 | 1998-04-21 | Medar, Inc. | Method and system for quickly developing application software for use in a machine vision system |
US5956088A (en) * | 1995-11-21 | 1999-09-21 | Imedia Corporation | Method and apparatus for modifying encoded digital video for improved channel utilization |
US5862140A (en) * | 1995-11-21 | 1999-01-19 | Imedia Corporation | Method and apparatus for multiplexing video programs for improved channel utilization |
US5978843A (en) * | 1995-12-06 | 1999-11-02 | Industrial Technology Research Institute | Scalable architecture for media-on-demand servers |
US5784571A (en) * | 1995-12-14 | 1998-07-21 | Minerva Systems, Inc. | Method for reducing the bandwidth requirement in a system including a video decoder and a video encoder |
JP2914261B2 (ja) * | 1995-12-20 | 1999-06-28 | 富士ゼロックス株式会社 | 外部記憶制御装置及び外部記憶装置制御方法 |
US6631435B1 (en) * | 1996-02-02 | 2003-10-07 | Sony Corporation | Application programming interface for data transfer and bus management over a bus structure |
US7577782B2 (en) | 1996-02-02 | 2009-08-18 | Sony Corporation | Application programming interface for data transfer and bus management over a bus structure |
US5991520A (en) | 1996-02-02 | 1999-11-23 | Sony Corporation | Application programming interface for managing and automating data transfer operations between applications over a bus structure |
JP3456085B2 (ja) * | 1996-03-05 | 2003-10-14 | ソニー株式会社 | データ処理システムおよびデータ処理方法 |
US6519268B1 (en) * | 1996-03-07 | 2003-02-11 | Sony Corporation | Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure |
US6233637B1 (en) | 1996-03-07 | 2001-05-15 | Sony Corporation | Isochronous data pipe for managing and manipulating a high-speed stream of isochronous data flowing between an application and a bus structure |
GB2326557B (en) * | 1996-04-26 | 2000-06-21 | Dahlgren Hylin & Jonason Media | Digital information system |
US6055577A (en) * | 1996-05-06 | 2000-04-25 | Oracle Corporation | System for granting bandwidth for real time processes and assigning bandwidth for non-real time processes while being forced to periodically re-arbitrate for new assigned bandwidth |
US5903775A (en) * | 1996-06-06 | 1999-05-11 | International Business Machines Corporation | Method for the sequential transmission of compressed video information at varying data rates |
US5745756A (en) * | 1996-06-24 | 1998-04-28 | International Business Machines Corporation | Method and system for managing movement of large multi-media data files from an archival storage to an active storage within a multi-media server computer system |
US5893140A (en) * | 1996-08-14 | 1999-04-06 | Emc Corporation | File server having a file system cache and protocol for truly safe asynchronous writes |
US6298386B1 (en) | 1996-08-14 | 2001-10-02 | Emc Corporation | Network file server having a message collector queue for connection and connectionless oriented protocols |
US5790792A (en) * | 1996-09-04 | 1998-08-04 | Radiant Systems, Inc. | Method and apparatus for transmitting multimedia data from and application logic server to interactive multimedia workstations |
US5870553A (en) * | 1996-09-19 | 1999-02-09 | International Business Machines Corporation | System and method for on-demand video serving from magnetic tape using disk leader files |
US5946466A (en) * | 1996-11-26 | 1999-08-31 | International Business Machines Corporation | System and method for deterministic response to audio/video commands in a multimedia system |
US6748446B2 (en) * | 1996-11-29 | 2004-06-08 | Canon Kabushiki Kaisha | Communication method and apparatus with modification of routing path by intermediate relay apparatus |
EP0956702A1 (en) * | 1997-01-30 | 1999-11-17 | Microsoft Corporation | Vcr-like functions rendering video on demand |
JP4038700B2 (ja) * | 1997-02-17 | 2008-01-30 | ソニー株式会社 | 電子機器制御装置および方法、並びに、情報処理システムおよび方法 |
JPH10240684A (ja) * | 1997-02-27 | 1998-09-11 | Oki Electric Ind Co Ltd | 複数端末の制御方法 |
US6654933B1 (en) | 1999-09-21 | 2003-11-25 | Kasenna, Inc. | System and method for media stream indexing |
US5987621A (en) * | 1997-04-25 | 1999-11-16 | Emc Corporation | Hardware and software failover services for a file server |
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 |
US5974503A (en) * | 1997-04-25 | 1999-10-26 | Emc Corporation | Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names |
US6070228A (en) * | 1997-09-30 | 2000-05-30 | International Business Machines Corp. | Multimedia data storage system and method for operating a media server as a cache device and controlling a volume of data in the media server based on user-defined parameters |
US5933834A (en) * | 1997-10-16 | 1999-08-03 | International Business Machines Incorporated | System and method for re-striping a set of objects onto an exploded array of storage units in a computer system |
US6070254A (en) * | 1997-10-17 | 2000-05-30 | International Business Machines Corporation | Advanced method for checking the integrity of node-based file systems |
US5996015A (en) * | 1997-10-31 | 1999-11-30 | International Business Machines Corporation | Method of delivering seamless and continuous presentation of multimedia data files to a target device by assembling and concatenating multimedia segments in memory |
CA2251456C (en) * | 1997-10-31 | 2007-02-13 | Sony Corporation | An apparatus for storing and transmitting data |
KR19990040286A (ko) * | 1997-11-17 | 1999-06-05 | 윤종용 | 스크린 뮤트기능을 갖는 영상 재생장치 및 그에 따른 스크린 뮤트방법 |
US6567889B1 (en) | 1997-12-19 | 2003-05-20 | Lsi Logic Corporation | Apparatus and method to provide virtual solid state disk in cache memory in a storage controller |
US6246701B1 (en) | 1998-01-14 | 2001-06-12 | Skystream Corporation | Reference time clock locking in a remultiplexer for video program bearing transport streams |
US6195368B1 (en) * | 1998-01-14 | 2001-02-27 | Skystream Corporation | Re-timing of video program bearing streams transmitted by an asynchronous communication link |
US6351474B1 (en) * | 1998-01-14 | 2002-02-26 | Skystream Networks Inc. | Network distributed remultiplexer for video program bearing transport streams |
US6351471B1 (en) | 1998-01-14 | 2002-02-26 | Skystream Networks Inc. | Brandwidth optimization of video program bearing transport streams |
US6292490B1 (en) | 1998-01-14 | 2001-09-18 | Skystream Corporation | Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer |
US6449668B1 (en) * | 1998-01-16 | 2002-09-10 | Matsushita Electric Industrial Co., Ltd. | AV data input/output device |
US6292844B1 (en) | 1998-02-12 | 2001-09-18 | Sony Corporation | Media storage device with embedded data filter for dynamically processing data during read and write operations |
US7272298B1 (en) | 1998-05-06 | 2007-09-18 | Burst.Com, Inc. | System and method for time-shifted program viewing |
US6182197B1 (en) * | 1998-07-10 | 2001-01-30 | International Business Machines Corporation | Real-time shared disk system for computer clusters |
GB2339653B (en) | 1998-07-14 | 2003-06-04 | Ibm | Multiple synchronous data stream format for an optical data link |
US7558472B2 (en) | 2000-08-22 | 2009-07-07 | Tivo Inc. | Multimedia signal processing system |
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 |
US8577205B2 (en) * | 1998-07-30 | 2013-11-05 | Tivo Inc. | Digital video recording system |
US6269431B1 (en) | 1998-08-13 | 2001-07-31 | Emc Corporation | Virtual storage and block level direct access of secondary storage for recovery of backup data |
US6353878B1 (en) * | 1998-08-13 | 2002-03-05 | Emc Corporation | Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem |
US6366987B1 (en) | 1998-08-13 | 2002-04-02 | Emc Corporation | Computer data storage physical backup and logical restore |
US6438604B1 (en) | 1998-10-05 | 2002-08-20 | Canon Kabushiki Kaisha | Digital video network interface |
US6167471A (en) | 1998-10-14 | 2000-12-26 | Sony Corporation | Method of and apparatus for dispatching a processing element to a program location based on channel number of received data |
US20060262813A1 (en) * | 1998-12-18 | 2006-11-23 | Digital Networks North America, Inc. | Multi-channel video pump |
US6473441B1 (en) * | 1998-12-18 | 2002-10-29 | Escient Convergence Corp | Multi-channel video pump |
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 |
US7073020B1 (en) | 1999-01-04 | 2006-07-04 | Emc Corporation | Method for message transfer in computer storage system |
US7117275B1 (en) | 1999-01-04 | 2006-10-03 | Emc Corporation | Data storage system having separate data transfer section and message network |
US6408436B1 (en) * | 1999-03-18 | 2002-06-18 | Next Level Communications | Method and apparatus for cross-connection of video signals |
EP1183689A1 (en) | 1999-03-30 | 2002-03-06 | Tivo, Inc. | System for automatic playback position correction after fast forward or reverse |
US6859846B2 (en) | 1999-05-12 | 2005-02-22 | Sony Corporation | Method of distributed recording whereby the need to transition to a second recording device from a first recording device is broadcast by the first recording device |
US6247069B1 (en) | 1999-05-12 | 2001-06-12 | Sony Corporation | Automatically configuring storage array including a plurality of media storage devices for storing and providing data within a network of devices |
KR100644559B1 (ko) * | 1999-07-26 | 2006-11-13 | 삼성전자주식회사 | 디지털 인터페이스를 갖는 기기의 채널 할당방법 |
US6721859B1 (en) | 1999-10-21 | 2004-04-13 | Sony Corporation | Multi-protocol media storage device implementing protocols optimized for storing and retrieving both asynchronous and isochronous data |
US6647411B2 (en) | 1999-10-29 | 2003-11-11 | Intel Corporation | Secure cached subscription service |
US6523108B1 (en) | 1999-11-23 | 2003-02-18 | Sony Corporation | Method of and apparatus for extracting a string of bits from a binary bit string and depositing a string of bits onto a binary bit string |
JP2001242786A (ja) * | 1999-12-20 | 2001-09-07 | Fuji Photo Film Co Ltd | 配信装置、配信方法、及び記録媒体 |
US7120924B1 (en) | 2000-02-29 | 2006-10-10 | Goldpocket Interactive, Inc. | Method and apparatus for receiving a hyperlinked television broadcast |
US7367042B1 (en) | 2000-02-29 | 2008-04-29 | Goldpocket Interactive, Inc. | Method and apparatus for hyperlinking in a television broadcast |
US7343617B1 (en) | 2000-02-29 | 2008-03-11 | Goldpocket Interactive, Inc. | Method and apparatus for interaction with hyperlinks in a television broadcast |
US6514079B1 (en) | 2000-03-27 | 2003-02-04 | Rume Interactive | Interactive training method for demonstrating and teaching occupational skills |
US7010575B1 (en) | 2000-03-31 | 2006-03-07 | Emc Corporation | Data storage system having separate data transfer section and message network having bus arbitration |
US7007194B1 (en) | 2000-06-29 | 2006-02-28 | Emc Corporation | Data storage system having point-to-point configuration |
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 |
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 |
US6779071B1 (en) | 2000-04-28 | 2004-08-17 | Emc Corporation | Data storage system having separate data transfer section and message network with status register |
US7720821B1 (en) | 2000-06-30 | 2010-05-18 | Sony Corporation | Method of and apparatus for writing and reading time sensitive data within a storage device |
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 |
JP2004507989A (ja) * | 2000-08-30 | 2004-03-11 | ウォッチポイント メディア, インコーポレイテッド | テレビ放送におけるハイパーリンクのための方法および装置 |
AU2002213693A1 (en) * | 2000-11-01 | 2002-05-15 | Eyeball Networks Inc. | Method and apparatus for improving real time and/or interactive animation over acomputer network |
US6904475B1 (en) | 2000-11-06 | 2005-06-07 | Sony Corporation | Programmable first-in first-out (FIFO) memory buffer for concurrent data stream handling |
US20020083155A1 (en) * | 2000-12-27 | 2002-06-27 | Chan Wilson J. | Communication system and method for modifying and transforming media files remotely |
US7085842B2 (en) | 2001-02-12 | 2006-08-01 | Open Text Corporation | Line navigation conferencing system |
AU2002247257A1 (en) * | 2001-03-02 | 2002-09-19 | Kasenna, Inc. | Metadata enabled push-pull model for efficient low-latency video-content distribution over a network |
US20030018978A1 (en) * | 2001-03-02 | 2003-01-23 | Singal Sanjay S. | Transfer file format and system and method for distributing media content |
US20070230921A1 (en) * | 2001-04-05 | 2007-10-04 | Barton James M | Multimedia time warping system |
US7069375B2 (en) * | 2001-05-17 | 2006-06-27 | Decru, Inc. | Stream-oriented interconnect for networked computer storage |
US7124292B2 (en) * | 2001-05-21 | 2006-10-17 | Sony Corporation | Automatically configuring storage array including a plurality of media storage devices for storing and providing data within a network of devices |
US8880709B2 (en) * | 2001-09-12 | 2014-11-04 | Ericsson Television Inc. | Method and system for scheduled streaming of best effort data |
US7010762B2 (en) * | 2002-02-27 | 2006-03-07 | At&T Corp. | Pre-loading content to caches for information appliances |
US7403993B2 (en) * | 2002-07-24 | 2008-07-22 | Kasenna, Inc. | System and method for highly-scalable real-time and time-based data delivery using server clusters |
US8204079B2 (en) * | 2002-10-28 | 2012-06-19 | Qualcomm Incorporated | Joint transmission of multiple multimedia streams |
US20040199650A1 (en) * | 2002-11-14 | 2004-10-07 | Howe John E. | System and methods for accelerating data delivery |
US7693222B2 (en) | 2003-08-13 | 2010-04-06 | Ericsson Television Inc. | Method and system for re-multiplexing of content-modified MPEG-2 transport streams using PCR interpolation |
JP3997323B2 (ja) * | 2003-11-12 | 2007-10-24 | 船井電機株式会社 | ダビング装置 |
US20050262245A1 (en) * | 2004-04-19 | 2005-11-24 | Satish Menon | Scalable cluster-based architecture for streaming media |
US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
US7228364B2 (en) * | 2004-06-24 | 2007-06-05 | Dell Products L.P. | System and method of SCSI and SAS hardware validation |
US7174385B2 (en) * | 2004-09-03 | 2007-02-06 | Microsoft Corporation | System and method for receiver-driven streaming in a peer-to-peer network |
KR100584323B1 (ko) * | 2004-10-04 | 2006-05-26 | 삼성전자주식회사 | 멀티미디어 컨텐츠의 스트리밍 서비스 방법 |
US7895633B2 (en) | 2004-11-19 | 2011-02-22 | Tivo Inc. | Method and apparatus for secure transfer and playback of multimedia content |
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 |
TW200731113A (en) * | 2006-02-09 | 2007-08-16 | Benq Corp | Method for utilizing a media adapter for controlling a display device to display information of multimedia data corresponding to an authority datum |
JP4225339B2 (ja) * | 2006-09-11 | 2009-02-18 | ソニー株式会社 | 画像データ処理装置および方法、プログラム、並びに記録媒体 |
US7685154B2 (en) * | 2006-10-13 | 2010-03-23 | Motorola, Inc. | Method and system for generating a play tree for selecting and playing media content |
US20080109557A1 (en) * | 2006-11-02 | 2008-05-08 | Vinay Joshi | Method and system for reducing switching delays between digital video feeds using personalized unicast transmission techniques |
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 |
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 |
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 |
US8934890B2 (en) * | 2008-01-11 | 2015-01-13 | Texas Instruments Incorporated | Transmission of data bursts on a constant data rate channel |
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 |
US8086692B2 (en) * | 2008-08-27 | 2011-12-27 | Satyam Computer Services Limited | System and method for efficient delivery in a multi-source, multi destination network |
US8166170B2 (en) * | 2008-10-26 | 2012-04-24 | Imagine Communications Ltd. | Distributed multiplexing |
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 |
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 |
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 |
US20110197224A1 (en) * | 2010-02-09 | 2011-08-11 | Echostar Global B.V. | Methods and Apparatus For Selecting Advertisements For Output By A Television Receiver Based on Social Network Profile Data |
US8934758B2 (en) | 2010-02-09 | 2015-01-13 | Echostar Global B.V. | Methods and apparatus for presenting supplemental content in association with recorded content |
JP5632418B2 (ja) * | 2012-04-12 | 2014-11-26 | 株式会社東芝 | ビデオサーバ、およびその映像信号出力制御方法 |
US20130339537A1 (en) * | 2012-06-13 | 2013-12-19 | Harman International Industries, Incorporated | System for dynamic stream management in audio video bridged networks |
US10536565B2 (en) * | 2013-03-14 | 2020-01-14 | International Business Machines Corporation | Efficient centralized stream initiation and retry control |
CN104427350A (zh) * | 2013-08-29 | 2015-03-18 | 中兴通讯股份有限公司 | 关联内容处理方法及系统 |
WO2015128976A1 (ja) | 2014-02-27 | 2015-09-03 | 三菱電機株式会社 | データ記憶装置 |
US11172269B2 (en) | 2020-03-04 | 2021-11-09 | Dish Network L.L.C. | Automated commercial content shifting in a video streaming system |
CN111813528B (zh) * | 2020-07-17 | 2023-04-18 | 公安部第三研究所 | 一种基于任务统计特性的视频大数据标准化汇聚网关系统及方法 |
Family Cites Families (25)
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 |
US4772959A (en) * | 1986-04-02 | 1988-09-20 | Matsushita Electric Industrial Co., Ltd. | Digital signal recording and reproducing apparatus |
US5089885A (en) * | 1986-11-14 | 1992-02-18 | Video Jukebox Network, Inc. | Telephone access display system with remote monitoring |
US4851931A (en) * | 1987-02-20 | 1989-07-25 | 1K Music International Ltd. | Method and apparatus for producing an audio magnetic tape recording at high speed from a preselected music library |
IT1219727B (it) * | 1988-06-16 | 1990-05-24 | Italtel Spa | Sistema di comunicazione a larga banda |
JP3002471B2 (ja) * | 1988-08-19 | 2000-01-24 | 株式会社日立製作所 | 番組配信装置 |
DE68929337T2 (de) * | 1988-11-11 | 2002-07-04 | Victor Company Of Japan | Datenverarbeitungsgerät |
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 |
US5231492A (en) * | 1989-03-16 | 1993-07-27 | Fujitsu Limited | Video and audio multiplex transmission system |
JP2916162B2 (ja) * | 1989-03-31 | 1999-07-05 | 株式会社東芝 | 記録再生装置 |
US5099319A (en) * | 1989-10-23 | 1992-03-24 | Esch Arthur G | Video information delivery method and apparatus |
US5014310A (en) * | 1989-12-18 | 1991-05-07 | General Instrument Corporation | Video scrambling and descrambling by varying sequence of segments in adjacent video information lines |
US5517652A (en) * | 1990-05-30 | 1996-05-14 | Hitachi, Ltd. | Multi-media server for treating multi-media information and communication system empolying the multi-media server |
CA2022302C (en) * | 1990-07-30 | 1995-02-28 | Douglas J. Ballantyne | Method and apparatus for distribution of movies |
US5526034A (en) * | 1990-09-28 | 1996-06-11 | Ictv, Inc. | Interactive home information system with signal assignment |
US5239540A (en) * | 1990-11-27 | 1993-08-24 | Scientific-Atlanta, Inc. | Method and apparatus for transmitting, receiving and communicating digital data signals with corresponding program data signals which describe the digital data signals |
EP0529864B1 (en) * | 1991-08-22 | 2001-10-31 | Sun Microsystems, Inc. | Network video server apparatus and method |
CA2117422A1 (en) * | 1992-02-11 | 1993-08-19 | Mark C. Koz | Adaptive video file server and methods for its use |
WO1993016557A1 (en) * | 1992-02-11 | 1993-08-19 | Koz Mark C | Adaptive video file server and methods for its use |
JP3427392B2 (ja) * | 1992-05-25 | 2003-07-14 | ソニー株式会社 | 符号化方法 |
CA2071416A1 (en) * | 1992-06-17 | 1993-12-18 | Michel Fortier | Video store and forward apparatus and method |
US5581784A (en) * | 1992-11-17 | 1996-12-03 | Starlight Networks | Method for performing I/O's in a storage system to maintain the continuity of a plurality of video streams |
US5289461A (en) * | 1992-12-14 | 1994-02-22 | International Business Machines Corporation | Interconnection method for digital multimedia communications |
WO1994030015A1 (en) * | 1993-06-03 | 1994-12-22 | Target Technologies, Inc. | Data and television network for digital computer workstations |
-
1994
- 1994-09-08 US US08/302,616 patent/US5603058A/en not_active Expired - Lifetime
-
1995
- 1995-09-07 JP JP07229803A patent/JP3110987B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH08154234A (ja) | 1996-06-11 |
US5603058A (en) | 1997-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3110987B2 (ja) | 等時性データ・ストリームを生成するビデオ用に最適化された媒体ストリーマ | |
JP3110988B2 (ja) | ビデオ用に最適化された媒体ストリーマ・データ・フロー・アーキテクチャ | |
JP3110989B2 (ja) | ビデオ用に最適化された媒体ストリーマ・ユーザ・インタフェース | |
JP3234752B2 (ja) | 媒体ストリーマ | |
JP3048897B2 (ja) | ビデオ最適化ストリーム・サーバ・システム | |
JP3096409B2 (ja) | メディア・ストリーマ | |
US6005599A (en) | Video storage and delivery apparatus and system | |
US5928327A (en) | System and process for delivering digital data on demand | |
US5440336A (en) | System and method for storing and forwarding audio and/or visual information on demand | |
US5987621A (en) | Hardware and software failover services for a file server | |
US5606359A (en) | Video on demand system with multiple data sources configured to provide vcr-like services | |
EP0701373B1 (en) | Video server system | |
JP2000348468A (ja) | データ記録再生装置及びデータ記録再生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080914 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080914 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090914 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090914 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 11 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 11 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 11 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 11 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 11 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 11 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 11 |
|
S202 | Request for registration of non-exclusive licence |
Free format text: JAPANESE INTERMEDIATE CODE: R315201 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120914 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120914 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130914 Year of fee payment: 13 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |