(57)【要約】受入れ制御システムが、記憶装置と、記憶装置に相互接続されたバッファ・メモリとを備えている。バッファ・メモリに相互接続された受入れコントローラが、記憶装置とバッファ・メモリとの間の伝送に関係のあるパラメータを測定する手段と、測定されているパラメータの少なくとも幾つかに応答して記憶装置とバッファ・メモリとの間のデータ転送を制御する手段とを備えている。
2005508114.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置と、
前記記憶装置に結合されたバッファ・メモリと、
前記バッファ・メモリおよび前記記憶装置に結合された受入れコントローラとを備える受入れ制御システムであって、前記受入れコントローラが、
前記記憶装置と前記バッファ・メモリとの間の伝送に関係のあるパラメータを決定する手段と、
前記パラメータの少なくとも幾つかに応答して前記記憶装置と前記バッファ・メモリとの間のデータ転送を制御する手段とを備える、受入れ制御システム。
【請求項２】
伝送媒体を更に備え、前記バッファ・メモリが前記記憶媒体と前記伝送媒体との間に結合され、前記受入れコントローラが更に、
前記記憶装置によりデータを転送することのできるバースト・レートである第１のパラメータを決定する手段と、
前記記憶装置と前記伝送媒体との間で転送されることになる１つまたは複数のデータ・ストリームのそれぞれにより必要とされるデータ転送レートを決定し、それにより前記必要とされるデータ転送レートと利用可能なバースト・データ転送レートとの関係を決定する手段とを備える、請求項１に記載の受入れ制御システム。
【請求項３】
前記受入れコントローラが更に、
前記１つまたは複数のデータ・ストリームのうちの第１のデータ・ストリームに関連するデータを転送した後で、前記１つまたは複数のデータ・ストリームのうちの第２のデータ・ストリームに関連するデータにアクセスする際に前記記憶装置が受ける遅延である、第２のパラメータを決定する手段と、
前記１つまたは複数のデータ・ストリームの全てに起因する遅延の総計を計算する手段とを備える、請求項２に記載の受入れ制御システム。
【請求項４】
前記受入れコントローラが更に、
各データ・ストリームに起因する、前記バッファ・メモリと前記記憶装置との間で転送されるデータの量を決定する手段と、
何れかのデータ・ストリームが第２のデータ増分を前記バッファ・メモリに転送する前の、全てのデータ・ストリームが第１のデータ増分を前記バッファ・メモリに転送するのに必要とされる総時間を計算し、それによりサービス・サイクルを計算する手段とを備える、請求項３に記載の受入れ制御システム。
【請求項５】
前記バッファ・メモリが、複数の個別バッファ・メモリに区分されたバッファ・メモリ領域の総容量を含み、各バッファ・メモリが、前記記憶装置と前記バッファ・メモリとの間で転送される個別データ・ストリームに関連するデータを記憶する、請求項４に記載の受入れ制御システム。
【請求項６】
前記記憶装置が磁気ディスクである、請求項５に記載の受入れ制御システム。
【請求項７】
第１のデータ・ストリームに関連するデータを転送した後で第２のデータ・ストリームに関連するデータの位置を見つける際に前記記憶装置が受ける遅延を決定する前記手段が、前記磁気ディスクの回転待ち時間を決定する、請求項６に記載の受入れ制御システム。
【請求項８】
前記受入れコントローラが更に、
１サービス・サイクル中に利用されるバッファ・メモリ領域の総容量を計算する手段と、
１サービス・サイクル中に利用される前記バッファ・メモリ領域総容量を超える、前記バッファ・メモリと前記磁気ディスクとの間のデータ転送を防止する手段とを備える、請求項７に記載の受入れ制御システム。
【請求項９】
前記受入れコントローラが、前記利用可能なデータ転送レートに対する前記必要とされるデータ転送レートの比率を１未満にする、請求項８に記載の受入れ制御システム。
【請求項１０】
複数のデータ・ストリームをバッファ・メモリ中のそれぞれに対応する部分との間で転送する記憶装置による前記バッファ・メモリへのアクセスを制御する装置であって、前記バッファ・メモリと前記記憶装置とに相互接続された受入れコントローラを備え、前記受入れコントローラが、前記バッファ・メモリおよび前記記憶装置の特性に関係のある複数のパラメータを決定し、前記受入れコントローラが、前記パラメータに応答して各データ・ストリームによる前記バッファ・メモリへのアクセスを制御する装置。
【請求項１１】
前記受入れコントローラが、前記バッファ・メモリ中の、第１のデータ・ストリームに対応する部分のメモリ容量をほぼ使い尽くした後で、次のデータ・ストリームに対応するデータを転送し、前記受入れコントローラが、各データ・ストリームから少なくともいくらかのデータを転送して、１サービス・サイクルを完了する、請求項１０に記載の装置。
【請求項１２】
前記受入れコントローラが、
前記記憶装置のバースト・データ転送レートであるＲと、
データ・ストリームｘにより必要とされる比較的一定のデータ転送レートであるｒｘと、
前のデータ・ストリームからのデータ転送を停止して前記データ・ストリームｘからのデータ転送を開始するために必要とされる時間のせいで前記記憶装置に付随するデータ転送遅延であるｌｘと、
１サービス・サイクル中にデータ・ストリームｘにより利用されるバッファ・メモリの量であるｄｘと、
１つの完全なサービス・サイクルで経過する時間であるＴとのパラメータうちの少なくとも１つを使用する、請求項１１に記載の装置。
【請求項１３】
前記受入れコントローラが、対応するデータ転送レートを有する新たなデータ・ストリームを含めることを求める要求を受け取り、前記パラメータのうちの少なくとも幾つかに基づいて、前記データ・ストリームを前記送信されている複数のデータ・ストリーム中に受け入れるかどうかを決定する、請求項１２に記載の装置。
【請求項１４】
前記受入れコントローラが、前記複数のデータ・ストリームおよび前記新たなデータ・ストリームを転送するのに必要とされるバッファ・メモリの総容量を計算し、前記必要とされるバッファ・メモリを、利用可能なバッファ・メモリと比較し、前記利用可能なバッファ・メモリが前記必要とされるバッファ・メモリよりも大きい場合は前記新たなデータ・ストリームを受け入れ、そうでない場合は前記新たなデータ・ストリームを受け入れない、請求項１３に記載の装置。
【請求項１５】
前記受入れコントローラが、複数の合計値を生成する手段を備え、前記合計値が、以下の合計値、即ち
１サービス・サイクル中に全てのデータ・ストリームにより利用されるバッファ・メモリの総容量であるｄａｌｌと、
全てのデータ・ストリームにより必要とされるデータ転送レートであるｒａｌｌと、
各データ・ストリームからのデータ転送を停止して次のデータ・ストリームからのデータ転送を開始するために必要とされる経過時間による総遅延であるＬとのうちの少なくとも１つを含む、請求項１２に記載の装置。
【請求項１６】
前記受入れコントローラが、前記記憶装置と前記バッファ・メモリとの間のデータ転送のデータ・レートを最適化するＲおよびＬの各値を有する記憶装置を選択する手段を備える、請求項１５に記載の装置。
【請求項１７】
複数のデータ・ストリームをそれぞれに対応する転送レートで転送する方法であって、
最大容量を有するバッファ・メモリとバースト転送レートを有するディスク記憶装置とに関係のある複数のパラメータを決定するステップと、
前記ディスク記憶装置と前記バッファ・メモリとの間で、前記ディスク記憶装置の前記バースト転送レートでデータをバースト転送し、前記バッファ・メモリとの間で、前記複数のデータ・ストリームのそれぞれに対応する各転送レートでデータを転送するステップと、
前記データ・ストリームの全てを転送するのに必要とされるバッファ・メモリ総容量を計算するステップと、
前記必要とされるバッファ・メモリ総容量が前記バッファ・メモリの前記最大容量を超えないように、前記データ・ストリームによる前記バッファ・メモリへのアクセスを制御するステップとを含む方法。
【請求項１８】
ディスク記憶に関係のあるパラメータを決定する前記ステップが、ディスク・データ転送レートと、前のデータ・ストリームからデータが転送された後でデータ・ストリームからデータを転送することによるデータの位置を見つけることに起因する遅延とを決定するステップを含む、請求項１７に記載の方法。
【請求項１９】
第１のバッファ・メモリがほぼ満たされるまで、第１のデータ・ストリームに起因するデータを前記第１のバッファ・メモリに転送するステップと、
第２のバッファ・メモリがほぼ満たされるまで、第２のデータ・ストリームに起因するデータを前記第２のバッファ・メモリに転送するステップとを更に含む、請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ディジタル・データの伝送に関し、より詳細には、現在動作中の伝送データ・ストリームのセット（組）に追加のデータ・ストリームを加えることを求める要求が、ディジタル・データ伝送システム中で受け入れられるかどうかを決定することに関する。
【背景技術】
【０００２】
データ伝送システムは、ある地点から別の地点にディジタル・データを送信する。このディジタル・データは、それぞれ異なる複数のデータ・ストリームを同時に含むことができ、各データ・ストリームは、異なる信号を表す。データ伝送システムが、複数のデータ・ストリームを送信しており、新たなデータ・ストリームを含めることを求める要求を受け取ったときは、データ伝送システムがこの要求された新たなデータ・ストリームを含めるための記憶容量（ｃａｐａｃｉｔｙ）を有するかどうかを判断しなければならない。データ源（ｓｏｕｒｃｅ：ソース）からデータ記憶装置（ｓｉｎｋ：シンク）までの完全なデータ送信に関連して多くのパラメータ、接続（コネクション）、および回路があり、これらの全てが、このデータ送信を処理するために必要な記憶容量を有していなければならない。
【０００３】
一実施例では、これらのデータ・ストリームは、ビデオおよび／または音声信号を表す。通常、ビデオおよび／または音声データ・ストリームは、磁気ディスクやハード・ドライブなどの大容量記憶装置に記憶される。より具体的には、ビデオおよび／または音声データ・ストリームは、伝送システムから受け取られて大容量記憶装置に記憶される場合もあり（ｒｅｃｏｒｄｉｎｇ：レコーディング、記録）、或いは大容量記憶装置から取り出されて伝送システムを介して送信される場合もある（ｐｌａｙｂａｃｋ：プレイバック、再生）。このようなシステムは、しばしばマルチメディア・システムと呼ばれる。前述のように、マルチメディア・システムなどの伝送システム中には、多くの接続がある。このような接続の１つは、大容量記憶装置と伝送システムの残りの部分との間に存在するものである。
【０００４】
近年のマルチメディア・システムでは、ビデオおよび／または音声信号を表す多量のデータが、データ・ブロックとして大容量記憶装置に記憶されることが多く、各ブロックは一連のビットからなる。大容量記憶装置は、所望のデータ・ストリームを含む連続するブロックにアクセスする際のアクセス間で時間を要するので、大容量記憶装置との通信は、連続するデータ・バースト（ｄａｔａ  ｂｕｒｓｔ）を、待ち（レイテンシ）時間（ｌａｔｅｎｃｙ  ｔｉｍｅ：本出願では以後、ｌ（エル）とする）で分断されながら比較的高いデータ転送レート（ｄａｔａ  Ｒａｔｅ：本出願では以後、Ｒとする）で転送することにある。待ち時間は、ディスク・ドライブが次のデータ・ストリームを表すデータを提供するために位置を変えている時間であり、この間はデータが転送されない。ビデオ・データがリアルタイムで送信されるときは、連続する各ビデオ・フレームについてのデータが、受信位置で必要とされるときに利用可能でなければならない。このことは、バーストが大容量記憶装置に付随する待ち時間で分断されることなく、伝送媒体を介してより一定した伝送レート（ｔｒａｎｓｍｉｓｓｉｏｎ  ｒａｔｅ：本出願では以後、ｒとする）が必要とされることを意味する。
【０００５】
データを大容量記憶装置との間でバースト転送できるようにしながら、伝送媒体を介して比較的一定した伝送レートでデータを送信できるようにするために、バッファ・メモリと呼ばれる一時的なメモリ領域を大容量記憶装置と伝送媒体との間に結合する。これは、別個の専用メモリ装置としてもよく、或いは、大容量記憶装置へのアクセスを制御する処理回路の主（メイン）メモリ中の、バッファとして使用されるように割り振られた部分としてもよい。このバッファはしばしば、データ源により満たされ、データ・シンク（記憶装置）により中身が取り出されるバケットとして視覚化される。例えば、再生中は、バッファ（バケット）は、ディスクからのデータによりバースト転送で満たされ、一定のデータ・レートで伝送媒体中に移される。記録中は、伝送媒体により一定のデータ・レートで満たされ、ディスク上にバースト転送で移される。
【０００６】
当業者なら理解することだが、バッファ・メモリのサイズは、転送されている全てのデータ・ストリームについてのデータを保持できるほど十分に大きくなければならない。即ち、バッファ・メモリが十分に大きければ、全てのデータ・ストリームは、バッファ・メモリをオーバーフローさせることもなく、またバッファ・メモリが完全に空になることもなく、送信することができる。本発明者は、新たなデータ・ストリームの送信を求める要求が受け取られたときは常に、現在の伝送システムのパラメータ、特に、要求される一定伝送レートｒ、ディスクのバースト・レートＲ、ディスクの待ち時間ｌ、およびバッファのサイズ（Ｂｕｆｆｅｒ  ｓｉｚｅ：本出願では以後、Ｂとする）の数値を求めて、新たなデータ・ストリームをうまく送信できるかどうかを決定しなければならないことを認識した。うまく送信できる場合は、このデータ・ストリームはデータ伝送システム中に受け入れられ、そうでない場合は、受け入れられない。
【０００７】
バッファおよび入出力の最適化の問題に対処する方法として、非常に多くの方法が存在する。例えば、オズデン氏（Ｏｚｄｅｎ）外に付与された「ＬＯＯＫＡＨＥＡＤ  ＢＵＦＦＥＲ  ＲＥＰＬＡＣＥＭＥＮＴ  ＭＥＴＨＯＤ  ＵＳＩＮＧ  ＲＡＴＩＯ  ＯＦ  ＣＬＩＥＮＴＳ  ＡＣＣＥＳＳ  ＯＲＤＥＲ  ＯＦＦＳＥＴＳ  ＡＮＤ  ＢＵＦＦＥＲ  ＤＡＴＡ  ＢＬＯＣＫ  ＯＦＦＳＥＴＳ」という名称の米国特許第５，８７０，５５１号には、バッファ・メモリ中の各データ・バッファに対する将来のアクセスを決定または推定する方法が開示されている。バッファ中の各データ・ブロックについて分析を行った後、将来にアクセスされる見込みが最も低いデータ・ブロックを、新たなデータで置き換えるように割り振る。
【０００８】
バラクリシュナン氏（Ｂａｌａｋｒｉｓｈｎａｎ）に付与された「ＥＮＣＯＤＥＲ  ＢＵＦＦＥＲ  ＨＡＶＩＮＧ  ＡＮ  ＥＦＦＥＣＴＩＶＥ  ＳＩＺＥ  ＷＨＩＣＨ  ＶＡＲＩＥＳ  ＡＵＴＯＭＡＴＩＣＡＬＬＹ  ＷＩＴＨ  ＴＨＥ  ＣＨＡＮＮＥＬ  ＢＩＴ  ＲＡＴＥ」という名称の米国特許第５，５６６，２０８号には、伝送レートの上昇に伴ってバッファ・サイズが増大するビデオ伝送システムが開示されている。バッファ・サイズはＲΔＴ（１−ｍ１）−Ｍに維持される。ここで、Ｒは、可変レートのビデオ信号の平均伝送レートであり、ΔＴは、送信されるビデオ信号についての符号化処理と復号処理との間の固定遅延であり、Ｒ（１−ｍ１）は、通信システムが平均伝送レートＲで達成する最小瞬間伝送レートであり、Ｍは、利用可能な最大の総バッファ記憶域である。
【０００９】
ダン氏（Ｄａｎ）外に付与された「ＬＯＡＤ  ＢＡＬＡＮＣＩＮＧ  ＩＮ  ＶＩＤＥＯ  ＯＮ  ＤＥＭＡＮＤ  ＳＥＲＶＥＲＳ  ＢＹ  ＡＬＬＯＣＡＴＩＮＧ  ＢＵＦＦＥＲ  ＴＯ  ＳＴＲＥＡＭＳ  ＷＩＴＨ  ＳＵＣＣＥＳＳＩＶＥＬＹ  ＬＡＲＧＥＲ  ＢＵＦＦＥＲ  ＲＥＱＵＩＲＥＭＥＮＴＳ  ＵＮＴＩＬ  ＴＨＥ  ＢＵＦＦＥＲ  ＲＥＱＵＩＲＥＭＥＮＴＳ  ＯＦ  Ａ  ＳＴＲＥＡＭ  ＣＡＮＮＯＴ  ＢＥ  ＳＡＴＩＳＦＩＥＤ」という名称の米国特許第５，５４４,３２７号には、ビデオ・サーバの様々な映画記憶構成要素に掛かる負荷を、高い負荷のかかった要素上のストリームを優先的にバッファリング（一時記憶）することにより平衡させるバッファ・マネージャが開示されている。バッファ・メモリの割振りは、新たな要求が到着したことにより記憶構成要素の負荷が増大したとき、または送信の一時停止によりバッファ領域が利用可能になったときに行われる。
【００１０】
ダン氏（Ｄａｎ）外に付与された「ＢＵＦＦＥＲ  ＭＡＮＡＧＥＭＥＮＴ  ＰＯＬＩＣＹ  ＦＯＲ  ＡＮ  ＯＮ  ＤＥＭＡＮＤ  ＶＩＤＥＯ  ＳＥＲＶＥＲ」という名称の米国特許第５，５７２，６４５号には、１つのデータ・ストリームによりすでに伝送されたデータ・ブロックを選択的に保持することにより、マルチメディア・サーバに必要とされるディスク帯域幅容量を削減する方法が開示されている。保持されたデータ・ブロックは、次いで他の媒体アプリケーションが再利用する。データ・ブロックのバッファリングがストリームに依存するため、バッファリングは変化するバッファ・アクセス・パターンに適応するので、記憶要件は、映画全体のバッファリングに必要な記憶要件よりも少ない。
【００１１】
コリガン氏（Ｃｏｒｒｉｇａｎ）外に付与された「ＯＰＴＩＭＩＺＥＤ  Ｉ／Ｏ  ＢＵＦＦＥＲＳ  ＨＡＶＩＮＧ  ＴＨＥ  ＡＢＩＬＩＴＹ  ＴＯ  ＩＮＣＲＥＡＳＥ  ＯＲ  ＤＥＣＲＥＡＳＥ  ＩＮ  ＳＩＺＥ  ＴＯ  ＭＥＥＴ  ＳＹＳＴＥＭ  ＲＥＱＵＩＲＥＭＥＮＴＳ」という名称の米国特許第５，１７９，６６２号には、そのデータ内容を補助記憶域に書き込む二重バッファリング方式が開示されている。コンピュータ・システムが１つのバッファにデータを補充できるようになる前に、このバッファがその書込み動作を完了することを、コンピュータ・システムが同期的に待機しなくてもよくなるまで、バッファ・サイズを増大させる。
【００１２】
全てのこれらの受入れ制御およびバッファ管理のシステムは、データ・ストリームに関する理想化された前提、即ち、ピーク（最大）データ・レートを処理するように設計された高価なバッファ拡張機能を備えることによる理想化された前提条件があることが難点である。受入れ制御プロトコル（ａｄｍｉｓｓｉｏｎ  ｃｏｎｔｒｏｌ  ｐｒｏｔｏｃｏｌ：アドミッション・コントロール・プロトコル）は、どんなビデオ・サーバ実現でもその中心部に存在する。理想的には、ビデオ・データ・ストリームの定義特性とバッファ要件との間の予測可能な関係を提供する受入れ制御システムが必要とされる。
【発明の開示】
【００１３】
（発明の概要）
本発明の原理によれば、受入れ制御システムが、記憶装置と、記憶装置に相互接続されたバッファ・メモリとを備えている。バッファ・メモリに相互接続された受入れコントローラが、記憶装置とバッファ・メモリとの間の伝送に関係のあるパラメータを使用する手段と、測定されているパラメータの少なくとも幾つかに応答して記憶装置とバッファ・メモリとの間のデータ転送を制御する手段とを備えている。
【００１４】
本発明のシステムでは、ビデオ・サーバは、大容量記憶装置の容量をより効果的に使用することにより、１ビデオ・ストリームあたりのコストをより低く抑えることができる。本明細書に述べる受入れ制御システムは、ビデオ・ストリームおよびビデオ・ストリーム帯域幅の割振りを制御するための性能パラメータとして、ビデオ・ストリーム・バッファ要件を使用する。新規な受入れ制御アルゴリズムが、ビット・レートや再生／記録やオフセットなどのビデオ・ストリーム特性をバッファ要件と比較し、それにより、ビデオ・ストリーム内のデータと結果的なバッファ使用との間のより予測可能な関係を提供する。分析モデルが、ビデオ・ストリームのビット・レートおよびディスク性能パラメータをバッファ領域要件に関係付け、ビデオ・サーバによりディスク転送中に使用されるバッファ・メモリ量を予測および管理できるようにする。
【発明を実施するための最良の形態】
【００１５】
図１に、本発明の一実施例を組み込んだビデオ・サーバ１１９を簡略化した図を示す。サーバ１１９は、ランダム・アクセス可能な磁気ディスク装置１００を備え、磁気ディスク装置１００は、音声およびビデオ信号を表すディジタル・プログラム（番組）情報を記憶する。このディジタル情報は、磁気ディスク装置１００から取り出され、ライン（ｌｉｎｅ：通信線）１０４、１０５、１０６、１０７、１１４に沿ってバッファ・メモリ１１３に送信される。バッファ・メモリ１１３は、ランダム・アクセス・メモリ・バッファ１０３、１０８、１０９、１１０、１１１、１１２を含んでいる。バッファの各出力は、伝送ライン１１８を介して電気通信網（ネットワーク）１１７にリンクされる。
【００１６】
受入れコントローラ（ａｄｍｉｓｓｉｏｎ  ｃｏｎｔｒｏｌｌｅｒ：アドミッション・コントローラ）１２１は、クライアント１２２からの要求（リクエスト）、例えばディスク装置１００に含まれるディジタル・データへのアクセスを求める要求に応答して、ディスク装置１００から取り出されたディジタル信号にバッファ・メモリ１０３や１０８などを制御可能に割り振るように適合された、プログラム可能な選択装置または切換え（ｓｗｉｔｃｈｉｎｇ：スイッチング）装置である。回路網（ネットワーク）１１７は、ライン１２３および１２４を介して、クライアント１２２の信号デコーダおよびビューア・インタフェースに相互接続される。クライアント１２２のデコーダ／インタフェースは、オンボード処理回路１２７およびローカル・バッファ１２８を備えている。クライアント１２２のデコーダ／インタフェースは、ビデオ表示装置１２６に接続される。受入れコントローラ１２１は、ライン１２５を介して回路網１１７にリンクされ、ライン９９を介してディスク装置１００にリンクされる。
【００１７】
ディジタル信号情報が、バッファ・メモリ１１３に送信されるレートは、ディスク装置１００と、それに関連するバッファ・メモリ・リンク１０４〜１０７および１１４との組合せの帯域幅を超えることはできない。クライアント１２２がバッファ・メモリ１１３へのアクセスを要求すると、受入れコントローラ１２１は、クライアント要求に対応するのに十分なバッファ領域およびディスク帯域幅があるかどうかを決定し、それに従ってビデオ・データ・ストリームを割り振る。
【００１８】
本発明では、ディスク装置１００が複数の同時ビデオ・データ・ストリームを供給しているとき、ディスク装置１００についてのモデルを作成する。このモデルを作成する際、次のように仮定する。第１に、ビデオ・ストリームは、ラウンドロビン（ｒｏｕｎｄ−ｒｏｂｉｎ）方式で、サイクル（ｃｙｃｌｅ）またはラウンド（ｒｏｕｎｄ）で供給される。即ち、各ビデオ・ストリームが１サイクルに１度ずつディスク装置１００からバイトを受け取り、ビデオ・ストリームがサービスされる順番は固定である。第２に、各ビデオ・ストリームがサービスされるときは常に、そのビデオ・ストリームに関連するバッファ１０８、１０９、１１０などは完全に満たされる（または記録の場合は空になる）。第３に、データ転送時間および回転待ち時間は、各サイクル間で同じであり、データ転送レートは、オフセットまたはシリンダ位置にかかわらずディスク全体に亘って同じである。最後に、回路網１１７がバッファの中身を取り出す（または記録の場合はバッファを満たす）レート（速度）は継続的である。即ち、時間が経っても変化しない。
【００１９】
本明細書中で、以下の表記を使用する。
「Ｒ」は、ディスク・ヘッドが正しい位置にきた後の、ディスクのビット転送レート、即ちバースト・データ転送レートである。
「ｒｘ」は、個別のビデオ・データ・ストリームｘについての、要求されるデータ転送レートである。
「ｌｘ」（エル  エックス）は、ビデオ・ストリームｘについてのディスク回転待ち（レイテンシ）時間である。
「ｄｘ」は、１サイクルの間にストリームｘに対するバッファから除去されるビット数である。
「Ｔ」は、１サイクルを完了するのに必要な時間である。
【００２０】
各ビデオ・ストリームｘについて要求されるデータ転送レートｒｘを維持するには、各サイクルＴ中に伝送媒体との間で転送されるデータ・ビットの数ｄｘは、以下のようにならなければならない。
【００２１】
【数１】
2005508114.tif 000003
従って、バッファ・メモリは、ビデオ・ストリームｘにｄｘ個のビットを割り振らなければならない。そのため、Σｄｘが、全てのデータ・ストリームを処理するのに必要なバッファ・メモリ総容量である。
【００２２】
バッファが、サイクルＴでｄｘビットを伝送媒体との間で伝送するには、これらのビットは、このサイクルＴ内で、バースト・データ転送レートＲでディスクから送信されてきたものでなければならない、またはディスクに送信できなければならない。従って、ビデオ・ストリームｘについての実際のディスク・データ転送時間は、以下のようになる。
【００２３】
【数２】
2005508114.tif 000004
【００２４】
図８を参照すると、３つのデータ・ストリームについての１サイクルのビデオ・データ・ストリーム・サービスに関する時間ラインが示してある。１つの完全なサイクルのビデオ・ストリーム・サービスを実施するのに必要な時間Ｔの期間が、３つの別々の段階に分割されており、各段階は、３つのデータ・ストリームのうちの１つに関係のあるデータを転送する。ある段階（ｐｈａｓｅ：フェーズ）６９は、時間ｄａ／Ｒを含むが、この時間は、ディスク装置１００からの（または記録の場合はディスク装置１００への）データ・バーストを、ビデオ・ストリームａに対するバッファ・メモリ１１３に実際に転送することにより消費される時間である。ビデオ・ストリームａが、例えばバッファ１０８（図１）に関連すると仮定すると、期間７０は、バッファ１０８中の利用可能な領域ｄａをディスク・データ転送レートＲで割った値に等しいことになる。
【００２５】
段階６９は、回転待ち期間ｌａも含むが、この期間の間に、ヘッドの位置が変わり、ディスク装置１００中のディスク（ｐｌａｔｔｅｒ：プラッタ）が回転して、バッファ１０８へのデータ転送を開始するための位置にくる。この期間はディスク・データ転送に先行するように例示してあるが、データ転送期間７０全体に亘って生じる他の待ち期間がある場合もある。一般に、ディスク・アクセスを改善するために、データ・ストリームに関連するビデオ・データは、周知の連続的な方式で記憶される。しかし、連続的なデータの転送の中にも、その他の待ち期間がある。即ち、シリンダ上の連続的な各ブロックへのアクセス間の期間、および、あるシリンダから次のシリンダに切り換えるときの期間である。これら他の待ち期間は、ディスク・ヘッドの位置変更および回転待ち待機に関連する先行待ち期間に比べて非常に短く、図を簡単にするために、これら全てを図示の待ち期間ｌａに含める。
【００２６】
別の段階７１は、待ち期間ｌｂと、それに続く、ビデオ・ストリームｂに関連するバッファ（例えば、バッファ１０９）へのデータ転送ｄｂ／Ｒとで定められる。第３の段階７２は、待ち期間ｌｃと、ビデオ・ストリームｃに関連するデータ転送ｄｃ／Ｒとを含んでいる。３つの段階が完了すると、この処理はビデオ・ストリームａについて繰り返す。サイクルが完了したときには、回路網１１７は、バッファ１０８から一定量ｒａＴだけ中身を取り出し終えている。１サイクルあたりのデータ転送および待ち時間は、一定であると仮定するので、各ビデオ・ストリームごとのバッファ排出は、以下の対称関係により定義される。
【００２７】
【数３】
2005508114.tif 000005
このｄａ、ｄｂ、ｄｃに関する３つの一次方程式のシステムは、クラメール（Ｃｒａｍｅｒ）の法則（公式）を使用して記号的に解くことができ、以下の式が得られる。
【００２８】
【数４】
2005508114.tif 000006
このパターンは、任意の数のデータ・ストリームに当てはまる。従って、一般には以下のようになる。
【００２９】
【数５】
2005508114.tif 000007
従って、ビデオ・ストリームｘに関連するバッファについての総バッファ要件Ｂｘは、以下のとおりである。
【００３０】
【数６】
2005508114.tif 000008
ビデオ・ストリームｘについてのデータを含むディスク・シリンダにおけるデータ転送レートをＲｘとすると、バッファ排出量は、以下のように表現することができる。
【００３１】
【数７】
2005508114.tif 000009
また、総バッファ要件は以下のとおりである。
【００３２】
【数８】
2005508114.tif 000010
【００３３】
転送レートが、ディスク装置１００全体に亘って一様であると仮定し、式１（上記）を利用すると、以下の場合に、
【００３４】
【数９】
2005508114.tif 000011
式１は、次のように書き直すことができる。
【００３５】
【数１０】
2005508114.tif 000012
【００３６】
式２で、Ｂａｌｌは、ディスク・ドライブ装置と伝送媒体との間でデータ・ストリームをうまく送信するのに必要な総バッファ・メモリである。ＲおよびＬの値は、ディスク装置１００の動作により決まる。パラメータｒは、伝送媒体を介して送信されるデータについての要求されるコンテンツ・データ・レートである。パラメータＲは、プログラム「ｔｒａｎｓｆｅｒ（）」などを使用して推定することができ、待ち時間Ｌは、ディスク装置のディスク（プラッタ）の回転時間の２分の１の平均待ち時間を使用して推定する。例えば、Ｒの値は通常は１２０〜２１０メガビット／秒にあり、Ｌの値はディスク装置１００の回転速度により決まる。
【００３７】
式２を使用して、マルチメディア伝送システムで使用するための適切な動作パラメータを有するディスク・ドライブ装置１００を選択する。図４〜図６を参照すると、所望のＲおよびＬの値を有するディスク装置を選択する方法の１つは、総バッファ要件２５と総ビット・レート２４との関係を調べることである。まず、曲線７４が実際のデータ点７５、７６、７７、７８などの下限を表すように、ＲおよびＬそれぞれの第１の値７９および８０を選択する。次いで、Ｒの値７９は固定したままで、Ｌの第２の値８１を選択し、外れたデータ点８３をほぼ除外する曲線８２を生成する。第２の曲線８２は、受入れコントローラ１２１の所望の挙動を定める。
【００３８】
受入れ制御回路１２１（図１）が、所望の一定伝送媒体データ・レートｒの新たなデータ・ストリームを追加することを求める要求を、回路網１１７からライン１２５を介して受け取ると、受入れ制御回路１２１は、現在のデータ・ストリームと、要求のデータ・レートｒの新たなデータ・ストリームとを含めて、また前述の方式で推定したディスク・ドライブ・パラメータを使用して、式２を再計算する。次いで、新たに計算したバッファ・サイズＢａｌｌを、利用可能な総バッファ・メモリ１１３サイズと比較する。新たに計算したバッファ・サイズＢａｌｌが利用可能な総バッファ・メモリ１１３サイズよりも小さい場合は、新たに要求されたデータ・ストリームをうまく送信するのに十分なバッファ・メモリ１１３領域があり、このデータ・ストリームは受け入れられる。新たに計算したバッファ・サイズＢａｌｌが利用可能な総バッファ・メモリ１１３サイズよりも大きい場合は、新たに要求されたデータ・ストリームをうまく送信するのに十分なバッファ・メモリ１１３領域がなく、このデータ・ストリームは受け入れられない。
【００３９】
提示されたビデオ・ストリーム１０４、１０５、１０６などの組合せが、曲線８２の下の領域８４にあるデータ点を生じる場合は、ビデオ・サーバ・システム１１９は、これらのデータ・ストリームの送受信をサポートすることができる。得られるデータ点が曲線８２の上の領域８５にある場合は、サーバ・システム１１９は、これらのデータ・ストリームの伝送をサポートすることができない。ディスク転送を達成するためにサーバ１１９により使用されるバッファ領域１１３の総容量は、構成可能だが限られた資源である。受入れコントローラ１２１は、伝送されるように提示されているビデオ・ストリームをサーバ１１９が処理することができるかどうかを決定し、処理することができる場合は、これらのストリームを中断させることなく供給する。
【００４０】
以上、本発明をマルチメディア・システムの文脈で述べた。ただし、データを大容量記憶装置に記録するか、または記録済みのデータを大容量記憶装置から取り出すデータ伝送システムなら、どんな伝送システムでも本発明による受入れ制御システムを組み込むことができることは、当業者なら理解できる。
【図面の簡単な説明】
【００４１】
【図１】本発明を利用するビデオ・サーバを簡略化したブロック図である。
【図２】ビデオ再生ストリームの場合のバッファ使用を表すグラフである。
【図３】ビデオ記録ストリームの場合のバッファ使用を表すグラフである。
【図４】転送レートがディスク全体に亘って一様であると仮定した場合に、３つの再生ストリームに関する総バッファ要件と総ビット・レートとの間で経験的に決定される関係を表すグラフである。
【図５】転送レートがディスク全体に亘って一様であると仮定した場合に、４つの再生ストリームに関する総バッファ要件と総ビット・レートとの間で経験的に決定される関係を表すグラフである。
【図６】転送レートがディスク全体に亘って一様であると仮定した場合に、４つの混合データ・ストリーム（書込み、読出し、書込み、読出し）に関する総バッファ要件と総ビット・レートとの間で経験的に決定される関係を表すグラフである。
【図７】３つの記録ストリームに関する総バッファ要件と総ビット・レートとの間で経験的に決定される関係を表すグラフである。
【図８】１サイクルのビデオ・ストリーム・サービスに関する時間ラインを示す図である。
【図１】
2005508114.tif 000013
【図２】
2005508114.tif 000014
【図３】
2005508114.tif 000015
【図４】
2005508114.tif 000016
【図５】
2005508114.tif 000017
【図６】
2005508114.tif 000018
【図７】
2005508114.tif 000019
【図８】
2005508114.tif 000020
【国際公開パンフレット】
2005508114.tif 000021
2005508114.tif 000022
2005508114.tif 000023
2005508114.tif 000024
2005508114.tif 000025
2005508114.tif 000026
2005508114.tif 000027
2005508114.tif 000028
2005508114.tif 000029
2005508114.tif 000030
2005508114.tif 000031
2005508114.tif 000032
2005508114.tif 000033
2005508114.tif 000034
2005508114.tif 000035
2005508114.tif 000036
2005508114.tif 000037
2005508114.tif 000038
2005508114.tif 000039
2005508114.tif 000040
2005508114.tif 000041
2005508114.tif 000042
【国際調査報告】
2005508114.tif 000043