JPH09154109A - ビデオサーバシステムに於いて平均的なシーク時間及びバンド幅を達成するための方法及びシステム - Google Patents
ビデオサーバシステムに於いて平均的なシーク時間及びバンド幅を達成するための方法及びシステムInfo
- Publication number
- JPH09154109A JPH09154109A JP8149860A JP14986096A JPH09154109A JP H09154109 A JPH09154109 A JP H09154109A JP 8149860 A JP8149860 A JP 8149860A JP 14986096 A JP14986096 A JP 14986096A JP H09154109 A JPH09154109 A JP H09154109A
- Authority
- JP
- Japan
- Prior art keywords
- hard disk
- video information
- video
- server system
- disk drive
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 43
- 238000012546 transfer Methods 0.000 claims abstract description 42
- 239000000872 buffer Substances 0.000 claims description 61
- 230000008569 process Effects 0.000 claims description 8
- 230000000593 degrading effect Effects 0.000 claims 1
- 239000007853 buffer solution Substances 0.000 description 13
- 230000015654 memory Effects 0.000 description 11
- 230000001133 acceleration Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 101100184647 Azotobacter vinelandii modC1 gene Proteins 0.000 description 1
- 101150034584 MODD gene Proteins 0.000 description 1
- 229920001229 Starlite Polymers 0.000 description 1
- 101150080488 apa gene Proteins 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
- H04N21/2326—Scheduling disk or memory reading operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
(57)【要約】
【課題】 ビデオサーバシステムに於いて平均的なシ
ーク時間及びバンド幅を達成するための方法及びシステ
ムを提供すること。 【解決手段】 本発明の一側面によると、ハードディ
スクドライブの各々をZ個の格納ゾーンに分割する過程
と、各ゾーンが概ね等しい数のビデオ情報ブロックを含
むように、ビデオ情報の各々を格納ゾーン全体に渡って
格納する過程と、ビデオサーバシステムに対し各ゾーン
を使用する概ね等しい数のスロット当たりのユーザスト
リームを定義する過程とを有し、ユーザストリームの総
数Sがビデオサーバシステムにアクセス可能なユーザの
最大数を表し、各スロットに対する最悪の場合のバンド
幅が各ゾーンからの転送に対する最悪の場合のバンド幅
情報が与えられたとき決定可能であることを特徴とする
方法が提供される。
ーク時間及びバンド幅を達成するための方法及びシステ
ムを提供すること。 【解決手段】 本発明の一側面によると、ハードディ
スクドライブの各々をZ個の格納ゾーンに分割する過程
と、各ゾーンが概ね等しい数のビデオ情報ブロックを含
むように、ビデオ情報の各々を格納ゾーン全体に渡って
格納する過程と、ビデオサーバシステムに対し各ゾーン
を使用する概ね等しい数のスロット当たりのユーザスト
リームを定義する過程とを有し、ユーザストリームの総
数Sがビデオサーバシステムにアクセス可能なユーザの
最大数を表し、各スロットに対する最悪の場合のバンド
幅が各ゾーンからの転送に対する最悪の場合のバンド幅
情報が与えられたとき決定可能であることを特徴とする
方法が提供される。
Description
【0001】
【発明の属する技術分野】本発明は、ビデオサーバ(vi
deo server)と共に用いられるビデオ情報記憶システム
に関する。より詳細には、そのようなビデオ情報記憶シ
ステムに対し、平均的なバンド幅及び平均的なシーク時
間が得られるようにするための方法及び装置に関する。
deo server)と共に用いられるビデオ情報記憶システム
に関する。より詳細には、そのようなビデオ情報記憶シ
ステムに対し、平均的なバンド幅及び平均的なシーク時
間が得られるようにするための方法及び装置に関する。
【0002】
【従来の技術】ビデオサーバ(ネットワークにつながれ
たビデオサーバを含む)は、本分野では公知である。伝
送端に於いて、ビデオサーバはビデオ情報(映画やビデ
オ)ライブラリを有し、1または複数のユーザが1また
は複数のビデオ情報を選択して見るのを可能とする。あ
る時間にビデオサーバを使用することの許されたユーザ
の数を制限し、ネットワークまたはディスク記憶システ
ムの負荷が高くなりすぎるのを防ぐため“入場制御手段
(admission arbitrator)”が設けらる。負荷が高くな
りすぎると、映像の動きが遅くなりすぎたり、映像が途
切れ途切れに進行したり(あるいは後戻りしたり)する
ことがある。
たビデオサーバを含む)は、本分野では公知である。伝
送端に於いて、ビデオサーバはビデオ情報(映画やビデ
オ)ライブラリを有し、1または複数のユーザが1また
は複数のビデオ情報を選択して見るのを可能とする。あ
る時間にビデオサーバを使用することの許されたユーザ
の数を制限し、ネットワークまたはディスク記憶システ
ムの負荷が高くなりすぎるのを防ぐため“入場制御手段
(admission arbitrator)”が設けらる。負荷が高くな
りすぎると、映像の動きが遅くなりすぎたり、映像が途
切れ途切れに進行したり(あるいは後戻りしたり)する
ことがある。
【0003】ビデオサーバは、ユーザが選択した映画の
ようなビデオ情報のブロックを磁気的に記憶する磁気記
憶式ハードディスクドライブを含んでいる。通常の映画
は約2時間の長さを有しており、約1Mb/秒乃至約8
Mb/秒の速さでエンコードされる。従って、1本の映
画は1GB乃至8GBの記憶媒体を必要とする。
ようなビデオ情報のブロックを磁気的に記憶する磁気記
憶式ハードディスクドライブを含んでいる。通常の映画
は約2時間の長さを有しており、約1Mb/秒乃至約8
Mb/秒の速さでエンコードされる。従って、1本の映
画は1GB乃至8GBの記憶媒体を必要とする。
【0004】しかし、通常のハードディスクドライブは
数MB/秒の速さでしかデータを出力することができな
いため、1本の映画全体をハードディスクユニットに記
憶させることは非実用的である。この問題を回避するた
め、ハードディスクユニットに映画のブロック(例えば
0.5秒の長さのシーケンス)を記憶させることが広く
行われている。これらのブロックはその後バッファに読
み出され(または転送され)、ネットワークを介して通
信される。これらのブロックがネットワークを介して送
られると、その映画の新たなブロックがハードディスク
ユニットから読み出される。受信端に於いてブロック
は、ビデオモニタ、テレビ受像器などによってユーザが
見ることができるようにデコードされる。
数MB/秒の速さでしかデータを出力することができな
いため、1本の映画全体をハードディスクユニットに記
憶させることは非実用的である。この問題を回避するた
め、ハードディスクユニットに映画のブロック(例えば
0.5秒の長さのシーケンス)を記憶させることが広く
行われている。これらのブロックはその後バッファに読
み出され(または転送され)、ネットワークを介して通
信される。これらのブロックがネットワークを介して送
られると、その映画の新たなブロックがハードディスク
ユニットから読み出される。受信端に於いてブロック
は、ビデオモニタ、テレビ受像器などによってユーザが
見ることができるようにデコードされる。
【0005】情報を磁気的に記憶するのにハードディス
クドライブを用いることは、この分野では公知である。
1台のハードディスクドライブは、典型的には、数枚の
回転ディスクまたはプラッタ(platter)を有してお
り、それらの表面に対し読み出し/書き込みヘッドによ
って情報の読み書きがなされる。ハードディスクドライ
ブ内で、ディスクは共に回転し、全ての読み出し/書き
込みヘッドは通常同時に動いて異なるディスク位置にア
クセスする。ディスクは通常同心円状のトラックにフォ
ーマットされており、これらのトラックは他のディスク
のトラックとまとまって同心円状のシリンダファミリー
を形成する。また、トラックの部分を表すセクタに分け
られている。ハードディスクユニットに対応するコント
ローラによって、どのシリンダ、読み出し/書き込みヘ
ッド、及びセクタが読み出しまたは書き込み用にアクセ
スされるのかが決定される。
クドライブを用いることは、この分野では公知である。
1台のハードディスクドライブは、典型的には、数枚の
回転ディスクまたはプラッタ(platter)を有してお
り、それらの表面に対し読み出し/書き込みヘッドによ
って情報の読み書きがなされる。ハードディスクドライ
ブ内で、ディスクは共に回転し、全ての読み出し/書き
込みヘッドは通常同時に動いて異なるディスク位置にア
クセスする。ディスクは通常同心円状のトラックにフォ
ーマットされており、これらのトラックは他のディスク
のトラックとまとまって同心円状のシリンダファミリー
を形成する。また、トラックの部分を表すセクタに分け
られている。ハードディスクユニットに対応するコント
ローラによって、どのシリンダ、読み出し/書き込みヘ
ッド、及びセクタが読み出しまたは書き込み用にアクセ
スされるのかが決定される。
【0006】ディスクは、複数のゾーンに分けて考える
こともできる。ディスクの外側周縁部に位置するゾーン
内のトラックは物理的に大きいため、ディスクの回転軸
により近いゾーン内のトラックよりもより多くのセクタ
を含む。従って、ディスクが一定の速度ωで回転すると
すると、最も外側のゾーンに於いて得られるデータバン
ド幅は、最も内側のゾーンに於いて得られるバンド幅よ
り大きくなる。最近のハードディスクドライブに於いて
も、外側ゾーンと内側ゾーンのセクタ数/トラックの違
いによって、ディスク転送バンド幅に於いて最悪の場合
と平均的な場合との間に2:1の差が生じることがあ
る。
こともできる。ディスクの外側周縁部に位置するゾーン
内のトラックは物理的に大きいため、ディスクの回転軸
により近いゾーン内のトラックよりもより多くのセクタ
を含む。従って、ディスクが一定の速度ωで回転すると
すると、最も外側のゾーンに於いて得られるデータバン
ド幅は、最も内側のゾーンに於いて得られるバンド幅よ
り大きくなる。最近のハードディスクドライブに於いて
も、外側ゾーンと内側ゾーンのセクタ数/トラックの違
いによって、ディスク転送バンド幅に於いて最悪の場合
と平均的な場合との間に2:1の差が生じることがあ
る。
【0007】データの読み出しまたは書き込みをするた
め、目的のディスクエリアへとヘッド位置を変える際、
遅れ(“シーク時間遅れ”)が発生する。この遅れは、
ディスクが回転していること、及び読み出し/書き込み
ヘッドが機械的に移動されることによる。このシーク時
間(即ち、読み出し/書き込みヘッドが目標エリアへと
位置を変えるのに要する時間)には3つの要素がある。
一つは加速時間であり、これは長い距離のシークに対し
ては概ね一定となり、短い距離のシークに対してはヘッ
ドを完全に加速する必要がないため幾分か短くなる。加
速後、定速移動時間がある。更に目標エリアに到達する
とき減速時間が生じる。この時間も長いシークに対して
は一定と考えられ、短いシークに対してはより短くな
る。
め、目的のディスクエリアへとヘッド位置を変える際、
遅れ(“シーク時間遅れ”)が発生する。この遅れは、
ディスクが回転していること、及び読み出し/書き込み
ヘッドが機械的に移動されることによる。このシーク時
間(即ち、読み出し/書き込みヘッドが目標エリアへと
位置を変えるのに要する時間)には3つの要素がある。
一つは加速時間であり、これは長い距離のシークに対し
ては概ね一定となり、短い距離のシークに対してはヘッ
ドを完全に加速する必要がないため幾分か短くなる。加
速後、定速移動時間がある。更に目標エリアに到達する
とき減速時間が生じる。この時間も長いシークに対して
は一定と考えられ、短いシークに対してはより短くな
る。
【0008】十分に長いシークでは定速移動時間が支配
的であり、加速/減速時間は一定のオーバヘッドとして
扱うことができる。非常に短いシークは、完全な加速が
必要でないため、より速くなされる。以下の(式1)か
らわかるように(式中、seek(X)はディスクの部
分Xをシークするのにかかる時間)、ある距離に渡る複
数のシークのセットに対する最悪のシーク時間は、これ
らのシークが全て同じ距離であるとき発生する。
的であり、加速/減速時間は一定のオーバヘッドとして
扱うことができる。非常に短いシークは、完全な加速が
必要でないため、より速くなされる。以下の(式1)か
らわかるように(式中、seek(X)はディスクの部
分Xをシークするのにかかる時間)、ある距離に渡る複
数のシークのセットに対する最悪のシーク時間は、これ
らのシークが全て同じ距離であるとき発生する。
【0009】
【数1】
【0010】理解されるように、読み出し/書き込みヘ
ッドがディスクをいっぱいに、即ち最も外側のゾーンか
ら最も内側のゾーンへ(またはその逆)移動しなければ
ならないときシーク時間は最も悪くなる。ハードディス
クドライブは、しばしば平均シーク時間に関して仕様が
規定されている。平均シーク時間はディスクの概ね33
%に渡って行われるシークの遅れ時間を表す。最近のハ
ードディスクユニットでも最悪の場合のシーク時間と平
均的なシーク時間との間に2:1の差があることがあ
る。
ッドがディスクをいっぱいに、即ち最も外側のゾーンか
ら最も内側のゾーンへ(またはその逆)移動しなければ
ならないときシーク時間は最も悪くなる。ハードディス
クドライブは、しばしば平均シーク時間に関して仕様が
規定されている。平均シーク時間はディスクの概ね33
%に渡って行われるシークの遅れ時間を表す。最近のハ
ードディスクユニットでも最悪の場合のシーク時間と平
均的なシーク時間との間に2:1の差があることがあ
る。
【0011】従来技術に於いて、ビデオサーバ内のビデ
オ情報記憶ユニットに於けるシーク時間の最適化が試み
られていることは知られている。従来技術に於けるその
ような方法の一つでは、ビデオサーバ内の1台のハード
ディスクドライブが一つのビデオソースに割り当てられ
る。従って、ユーザが見たい映画を選択すると(入場制
御手段がそれを許可した場合)、選択された映画からい
くつかのブロックが1台のハードディスクドライブに磁
気的に記憶され、その後そこからユーザが見ることがで
きるようにバッファを通して読み出される。複数のユー
ザが同じ映画を見ている場合、いわゆる“エレベータソ
ート(elevator sort)”プロシージャが全てのユーザ
に対するディスクリクエストに対して適用される。この
プロシージャを用いることによって、ディスクシーク時
間をそのディスクユニットの平均シーク時間に近づける
ことができる。
オ情報記憶ユニットに於けるシーク時間の最適化が試み
られていることは知られている。従来技術に於けるその
ような方法の一つでは、ビデオサーバ内の1台のハード
ディスクドライブが一つのビデオソースに割り当てられ
る。従って、ユーザが見たい映画を選択すると(入場制
御手段がそれを許可した場合)、選択された映画からい
くつかのブロックが1台のハードディスクドライブに磁
気的に記憶され、その後そこからユーザが見ることがで
きるようにバッファを通して読み出される。複数のユー
ザが同じ映画を見ている場合、いわゆる“エレベータソ
ート(elevator sort)”プロシージャが全てのユーザ
に対するディスクリクエストに対して適用される。この
プロシージャを用いることによって、ディスクシーク時
間をそのディスクユニットの平均シーク時間に近づける
ことができる。
【0012】都合の悪いことに、そのようなディスク専
用割当システムは、非同期のユーザを4人程度しか同時
に受け入れることができない。ハードディスクドライブ
は、記憶されているデータを数MB/秒より速く送り出
すことができないからである。また、全てのユーザが同
時にその映画を見ようと選択するとは限らないことを考
慮しなければならない。更に、あるユーザはある部分を
早送りしたいと思うかもしれないし、ある部分を巻き戻
して再度見たいと思うかもしれない。従って、1本の映
画を1台のハードディスクユニット内に記憶させること
によってシーク時間は改善されるかもしれないが、その
結果得られるシステムは、大勢のユーザにサービスを提
供しなければならない場合、非実用的なものとなってし
まう。また、ディスク専用割当システムではハードディ
スクのバンド幅の改善は試みられておらず、最悪の場合
のバンド幅を仮定しなければならない。
用割当システムは、非同期のユーザを4人程度しか同時
に受け入れることができない。ハードディスクドライブ
は、記憶されているデータを数MB/秒より速く送り出
すことができないからである。また、全てのユーザが同
時にその映画を見ようと選択するとは限らないことを考
慮しなければならない。更に、あるユーザはある部分を
早送りしたいと思うかもしれないし、ある部分を巻き戻
して再度見たいと思うかもしれない。従って、1本の映
画を1台のハードディスクユニット内に記憶させること
によってシーク時間は改善されるかもしれないが、その
結果得られるシステムは、大勢のユーザにサービスを提
供しなければならない場合、非実用的なものとなってし
まう。また、ディスク専用割当システムではハードディ
スクのバンド幅の改善は試みられておらず、最悪の場合
のバンド幅を仮定しなければならない。
【0013】従来に於いて、ビデオ情報の一部を複数の
ハードディスクドライブの各々に格納することも知られ
ている。このプロセスは“データストライピング”とし
て知られている。しかしながら、このような方法では、
各ハードディスクに渡って同じ位置に情報が格納され
る。即ち、一つのビデオ情報ブロックが第1のディスク
のある位置に格納されると、次のビデオ情報ブロックは
第2のディスクの同一位置に格納され、更にその次のビ
デオ情報ブロックは第3のディスクの同じ位置に格納さ
れ、後も同様に続く。最後のディスクまで行くと、その
次のビデオ情報ブロックは第1のディスクに格納される
が、このプロセスは無限に繰り返される。
ハードディスクドライブの各々に格納することも知られ
ている。このプロセスは“データストライピング”とし
て知られている。しかしながら、このような方法では、
各ハードディスクに渡って同じ位置に情報が格納され
る。即ち、一つのビデオ情報ブロックが第1のディスク
のある位置に格納されると、次のビデオ情報ブロックは
第2のディスクの同一位置に格納され、更にその次のビ
デオ情報ブロックは第3のディスクの同じ位置に格納さ
れ、後も同様に続く。最後のディスクまで行くと、その
次のビデオ情報ブロックは第1のディスクに格納される
が、このプロセスは無限に繰り返される。
【0014】この技法によると、ビデオ情報が割り振ら
れる各ディスクに負荷が均等に分散されるとともに、新
たなユーザが加わって映画を見るとき、その映画の冗長
なコピーを格納することなく、それが可能である。複数
のディスクリクエストに対しエレベータソートプロシー
ジャを適用することにより、ディスクシーク時間を改善
し平均シーク時間に近づけることができる。しかしなが
ら、他の従来技術と同様に、この方法ではハードディス
クのバンド幅に於けるばらつきは考慮されておらず、最
悪の場合の値を仮定しなければならない。
れる各ディスクに負荷が均等に分散されるとともに、新
たなユーザが加わって映画を見るとき、その映画の冗長
なコピーを格納することなく、それが可能である。複数
のディスクリクエストに対しエレベータソートプロシー
ジャを適用することにより、ディスクシーク時間を改善
し平均シーク時間に近づけることができる。しかしなが
ら、他の従来技術と同様に、この方法ではハードディス
クのバンド幅に於けるばらつきは考慮されておらず、最
悪の場合の値を仮定しなければならない。
【0015】まとめると、従来のビデオサーバシステム
では、ハードディスクのシーク時間の最適化が試みられ
ているだけであり、そのシステムで用いられているハー
ドディスクドライブの転送バンド幅に制限されている。
その結果、ある時間にそのシステムにアクセスすること
ができるユーザの数が限定されている。別の言い方をす
ると、アクセスを許可されるべきユーザの数が与えられ
たとき、従来技術のビデオシステムでは複数の大容量ハ
ードディスクドライブユニットが必要となり、そのため
ハードウェアに多くの費用がかかっていた。
では、ハードディスクのシーク時間の最適化が試みられ
ているだけであり、そのシステムで用いられているハー
ドディスクドライブの転送バンド幅に制限されている。
その結果、ある時間にそのシステムにアクセスすること
ができるユーザの数が限定されている。別の言い方をす
ると、アクセスを許可されるべきユーザの数が与えられ
たとき、従来技術のビデオシステムでは複数の大容量ハ
ードディスクドライブユニットが必要となり、そのため
ハードウェアに多くの費用がかかっていた。
【0016】従って、少なくとも平均的なシーク時間と
同様にハードディスクユニットの平均的な転送バンド幅
が保証されるようにビデオ情報が格納されるビデオサー
バシステムが求められている。そのようにビデオ情報を
格納することにより、ある時間にシステムにアクセスす
ることのできる非同期のユーザの数を、概ね同じ記憶
る。
同様にハードディスクユニットの平均的な転送バンド幅
が保証されるようにビデオ情報が格納されるビデオサー
バシステムが求められている。そのようにビデオ情報を
格納することにより、ある時間にシステムにアクセスす
ることのできる非同期のユーザの数を、概ね同じ記憶
る。
【0017】本発明は、そのようなビデオサーバシステ
ムを提供するものである。
ムを提供するものである。
【0018】
【発明が解決しようとする課題】上述したように、本発
明の主な目的は、ビデオサーバシステムに於いて平均的
なシーク時間及び平均的なバンド幅が概ね達成されるよ
うな方法及び装置を提供することである。
明の主な目的は、ビデオサーバシステムに於いて平均的
なシーク時間及び平均的なバンド幅が概ね達成されるよ
うな方法及び装置を提供することである。
【0019】
【課題を解決するための手段】ビデオサーバシステムに
於いて、サポート可能な情報ストリームの数(またはユ
ーザの数)は、記憶媒体の速度特性及び各ストリームに
必要とされるバンド幅の関数となる。本発明によると、
ビデオ情報はビデオサーバ内の磁気記憶媒体にレイアウ
トされるが、このレイアウトは、情報転送の間、少なく
とも限れられた時間、平均的なバンド幅及び平均的なシ
ーク時間が実質的または概ね達成されるようになされ
る。これらのシステムパラメータを達成することによ
り、格納されているビデオ情報にアクセスすることので
きる情報ストリームの数を増加させることができる。
於いて、サポート可能な情報ストリームの数(またはユ
ーザの数)は、記憶媒体の速度特性及び各ストリームに
必要とされるバンド幅の関数となる。本発明によると、
ビデオ情報はビデオサーバ内の磁気記憶媒体にレイアウ
トされるが、このレイアウトは、情報転送の間、少なく
とも限れられた時間、平均的なバンド幅及び平均的なシ
ーク時間が実質的または概ね達成されるようになされ
る。これらのシステムパラメータを達成することによ
り、格納されているビデオ情報にアクセスすることので
きる情報ストリームの数を増加させることができる。
【0020】第1の実施例では、ビデオサーバは、ある
数(D)のハードディスクを含むハードディスクユニッ
トを有する。各ハードディスクは複数の記憶ディスクを
有し、各ディスクはZ個のゾーンに分割される。各ビデ
オ情報は好ましくは一定の時間幅(例えば0.5秒)の
ある数(i)のブロックに分割され、D個のディスク全
体に渡って割り振られる。このときブロックiは、ディ
スク(i mod D)に記憶される。また、ディスク
上のブロック位置は、ビデオ情報ブロックiがディスク
(i mod D)のゾーン((i/D) mod
Z)内にあるような位置となる。
数(D)のハードディスクを含むハードディスクユニッ
トを有する。各ハードディスクは複数の記憶ディスクを
有し、各ディスクはZ個のゾーンに分割される。各ビデ
オ情報は好ましくは一定の時間幅(例えば0.5秒)の
ある数(i)のブロックに分割され、D個のディスク全
体に渡って割り振られる。このときブロックiは、ディ
スク(i mod D)に記憶される。また、ディスク
上のブロック位置は、ビデオ情報ブロックiがディスク
(i mod D)のゾーン((i/D) mod
Z)内にあるような位置となる。
【0021】ストリームは複数のスロットに編成され
る。各スロットはN=S/D個のストリームを含む。こ
こでSは受け入れ可能な全情報ストリーム数である。こ
れによって、各ゾーンを使用する1スロット内のストリ
ーム数は概ね等しくなる。また、所与のゾーンにアクセ
スする各スロット内の情報ストリーム数は上限(N/
Z)を越えない。各スロット内の情報ストリームはディ
スクからディスクへと決まった方式で進む。シークの順
番はアクセスのセットの最も近い端にシークすることに
より最適化される。このとき、N個のアクセスのセット
に対する全シーク時間は、最初のパスの間はN×see
k(1.5/N)以下であり、続くパスの間は(1/
N)である。各スロットは各ゾーンから概ね等しい数の
要素を含んでいるため、各スロットに対する最悪の場合
のバンド幅を計算することができる。あるスロットに対
する最悪の場合のバンド幅は、ハードディスクの最悪の
場合のバンド幅よりは高く、実用ではディスクの平均的
なバンド幅に近づき得る。
る。各スロットはN=S/D個のストリームを含む。こ
こでSは受け入れ可能な全情報ストリーム数である。こ
れによって、各ゾーンを使用する1スロット内のストリ
ーム数は概ね等しくなる。また、所与のゾーンにアクセ
スする各スロット内の情報ストリーム数は上限(N/
Z)を越えない。各スロット内の情報ストリームはディ
スクからディスクへと決まった方式で進む。シークの順
番はアクセスのセットの最も近い端にシークすることに
より最適化される。このとき、N個のアクセスのセット
に対する全シーク時間は、最初のパスの間はN×see
k(1.5/N)以下であり、続くパスの間は(1/
N)である。各スロットは各ゾーンから概ね等しい数の
要素を含んでいるため、各スロットに対する最悪の場合
のバンド幅を計算することができる。あるスロットに対
する最悪の場合のバンド幅は、ハードディスクの最悪の
場合のバンド幅よりは高く、実用ではディスクの平均的
なバンド幅に近づき得る。
【0022】サーバのバッファシステムは、ストリーム
毎に2つのバッファを有していることが好ましい。一つ
のバッファはビデオ情報をディスクから受け取り、他方
のバッファはビデオ情報をネットワークに送り出すのに
用いられる。入場制御法(admission policy)は、情報
ストリームはどのスロットにも割り当てられ得るが、必
要なデータブロックがそのスロットの他の情報ストリー
ムによって必要とされるディスク上にあり、そのブロッ
クが適切なディスクゾーン内にあるようになるまでディ
スクから転送されてはならないということを認識してい
る。
毎に2つのバッファを有していることが好ましい。一つ
のバッファはビデオ情報をディスクから受け取り、他方
のバッファはビデオ情報をネットワークに送り出すのに
用いられる。入場制御法(admission policy)は、情報
ストリームはどのスロットにも割り当てられ得るが、必
要なデータブロックがそのスロットの他の情報ストリー
ムによって必要とされるディスク上にあり、そのブロッ
クが適切なディスクゾーン内にあるようになるまでディ
スクから転送されてはならないということを認識してい
る。
【0023】第2の実施例では処理手順がより予測可能
となり、必要なバッファユニットが少なくなるが、シー
ク時間は第1の実施例ほど最適化されない。第1の実施
例と同様に、ハードディスクユニットはD個のハードデ
ィスクを含み、各ハードディスクは複数の記憶ディスク
を含み、各ディスクはZ個のゾーンに分けられる。各ビ
デオ情報はここでも好ましくは一定の時間幅のi個のブ
ロックに分けられ、ブロックiがディスク(i mod
D)に格納されるようにして、D個のディスク全体に
割り当てられる。ビデオ情報ブロックiはディスク(i
mod D)のゾーン(((i/D)+(i mod
D)) mod Z)に配置される。S個の情報スト
リームは0からS−1の順にディスク0からD−1へと
進み、全ての情報ストリームは各ディスクに同じゾーン
からアクセスした後、別のゾーンに於いてディスクを通
してアクセスする。
となり、必要なバッファユニットが少なくなるが、シー
ク時間は第1の実施例ほど最適化されない。第1の実施
例と同様に、ハードディスクユニットはD個のハードデ
ィスクを含み、各ハードディスクは複数の記憶ディスク
を含み、各ディスクはZ個のゾーンに分けられる。各ビ
デオ情報はここでも好ましくは一定の時間幅のi個のブ
ロックに分けられ、ブロックiがディスク(i mod
D)に格納されるようにして、D個のディスク全体に
割り当てられる。ビデオ情報ブロックiはディスク(i
mod D)のゾーン(((i/D)+(i mod
D)) mod Z)に配置される。S個の情報スト
リームは0からS−1の順にディスク0からD−1へと
進み、全ての情報ストリームは各ディスクに同じゾーン
からアクセスした後、別のゾーンに於いてディスクを通
してアクセスする。
【0024】Z=2でSが大きい場合の平均シーク時間
は、ハードディスクの最悪の場合のシーク時間より短い
が、ハードディスクの平均的なシーク時間ほどよくはな
い。D−1から0へと移る場合を除くと、各ストリーム
は各ゾーンを順に移動し、それによって各ゾーンに対す
る最悪の場合のバンド幅と最良の場合のバンド幅の平均
が実現される。これらのストリームは所与の時間に於い
てそれらのバッファを使用することにより、概ね均等に
分布される。ストリームはディスクコンテンションを生
じることなくパイプライン式にディスクにアクセスする
ため、送出バッファに残っているデータが最悪の場合の
シーク及び転送時間に要する時間で送り出されるまで、
ストリームによる次の読み出しを遅らせることができ
る。入場制御手段は、バンド幅とシーク時間の計算結果
を用いて、確実にサポートすることのできる情報ストリ
ームの最大数を決定する。
は、ハードディスクの最悪の場合のシーク時間より短い
が、ハードディスクの平均的なシーク時間ほどよくはな
い。D−1から0へと移る場合を除くと、各ストリーム
は各ゾーンを順に移動し、それによって各ゾーンに対す
る最悪の場合のバンド幅と最良の場合のバンド幅の平均
が実現される。これらのストリームは所与の時間に於い
てそれらのバッファを使用することにより、概ね均等に
分布される。ストリームはディスクコンテンションを生
じることなくパイプライン式にディスクにアクセスする
ため、送出バッファに残っているデータが最悪の場合の
シーク及び転送時間に要する時間で送り出されるまで、
ストリームによる次の読み出しを遅らせることができ
る。入場制御手段は、バンド幅とシーク時間の計算結果
を用いて、確実にサポートすることのできる情報ストリ
ームの最大数を決定する。
【0025】本発明の他の特徴及び利点は以下の説明か
ら明らかになるだろう。以下の説明では好適な実施の形
態について添付の図面を参照しつつ詳細に説明する。
ら明らかになるだろう。以下の説明では好適な実施の形
態について添付の図面を参照しつつ詳細に説明する。
【0026】
【発明の実施の形態】図1に本発明に基づいてビデオ情
報が配列され格納されるビデオ情報伝達システムを示
す。音声及びビデオ情報源10がサーバまたはエンコー
ダシステム20に接続されており、サーバ20で処理さ
れた出力は1または複数のネットワーク30を介して1
または複数のクライアントまたはデコーダシステム40
に送られる。各ネットワークは均質であり、ネットワー
クによる伝送は、いわゆるネットワーククラウド(netw
ork cloud)を通じて行われる。それによってエンコー
ドされた情報ストリームはマルチキャスト(multicas
t)される。伝送をポイントツーポイントに行うことも
できる。均質でない場合、これらのネットワークは様々
なバンド幅特性を持ち得る。その値は、電話などの10
KbpsからATMネットワークなどの100Mbps
またはそれ以上に達することもある。
報が配列され格納されるビデオ情報伝達システムを示
す。音声及びビデオ情報源10がサーバまたはエンコー
ダシステム20に接続されており、サーバ20で処理さ
れた出力は1または複数のネットワーク30を介して1
または複数のクライアントまたはデコーダシステム40
に送られる。各ネットワークは均質であり、ネットワー
クによる伝送は、いわゆるネットワーククラウド(netw
ork cloud)を通じて行われる。それによってエンコー
ドされた情報ストリームはマルチキャスト(multicas
t)される。伝送をポイントツーポイントに行うことも
できる。均質でない場合、これらのネットワークは様々
なバンド幅特性を持ち得る。その値は、電話などの10
KbpsからATMネットワークなどの100Mbps
またはそれ以上に達することもある。
【0027】サーバ20には、まとめて符号50が付さ
れた関連するメモリを有する中央演算処理装置(“CP
U”)と、ビデオエンコーダ60と、音声、ビデオ及び
テキスト情報の同期手段70が含まれている。更に、サ
ーバ20は本発明であるシステム80を含んでいる。シ
ステム80は、エンコーダ60によって処理された情報
を配列してビデオ情報記憶ディスクユニット90(また
は他の記憶媒体)に送る働きをする。音声情報の処理の
ため記憶装置100も設けられている。本発明は、ビデ
オ情報と音声情報が例えばインタリーブ法によって共通
の記憶ディスクユニット90に格納されるようなシステ
ムで用いることもできる。そのようなシステムでは、図
1に示されている別個の記憶ユニット100は省かれ
る。
れた関連するメモリを有する中央演算処理装置(“CP
U”)と、ビデオエンコーダ60と、音声、ビデオ及び
テキスト情報の同期手段70が含まれている。更に、サ
ーバ20は本発明であるシステム80を含んでいる。シ
ステム80は、エンコーダ60によって処理された情報
を配列してビデオ情報記憶ディスクユニット90(また
は他の記憶媒体)に送る働きをする。音声情報の処理の
ため記憶装置100も設けられている。本発明は、ビデ
オ情報と音声情報が例えばインタリーブ法によって共通
の記憶ディスクユニット90に格納されるようなシステ
ムで用いることもできる。そのようなシステムでは、図
1に示されている別個の記憶ユニット100は省かれ
る。
【0028】また、入場制御手段110及びビットエラ
ーやパケットセルの喪失を取り扱うためのエラー復元手
段120が、ビデオ記憶装置90に接続されている。こ
のサーバは、ネットワークインタフェース130を介し
て均質な1または複数のネットワークと情報のやりとり
をする。
ーやパケットセルの喪失を取り扱うためのエラー復元手
段120が、ビデオ記憶装置90に接続されている。こ
のサーバは、ネットワークインタフェース130を介し
て均質な1または複数のネットワークと情報のやりとり
をする。
【0029】受信端に於いて、1または複数のデコーダ
システム40は中央演算処理装置(“CPU”)140
を含んでいる。CPU140はCPU本体と、キャッシ
ュメモリを含む関連するメモリとを含んでいる。更に、
デコーダ40は音声及びビデオ情報が埋め込まれた入力
データストリームからそれらの音声及びビデオ情報を同
期させる手段145、音声デコーダ150、ビデオデコ
ーダ160を含んでいる。これらのデコーダからの出力
は、例えばスピーカ190のような音声発生器及び例え
ばテレビ180のようなビデオ表示装置に送られる。
システム40は中央演算処理装置(“CPU”)140
を含んでいる。CPU140はCPU本体と、キャッシ
ュメモリを含む関連するメモリとを含んでいる。更に、
デコーダ40は音声及びビデオ情報が埋め込まれた入力
データストリームからそれらの音声及びビデオ情報を同
期させる手段145、音声デコーダ150、ビデオデコ
ーダ160を含んでいる。これらのデコーダからの出力
は、例えばスピーカ190のような音声発生器及び例え
ばテレビ180のようなビデオ表示装置に送られる。
【0030】図1に示されているシステムには多くの応
用が考えられる。例えば、宿泊客が見ることができるよ
うにホテルに於いて複数の客室でビデオオンデマンド
(video on demand)機能が使えるようにしてもよい
し、あるいはケーブルテレビ会社が複数の加入者にビデ
オオンデマンド機能を提供するようにすることもでき
る。
用が考えられる。例えば、宿泊客が見ることができるよ
うにホテルに於いて複数の客室でビデオオンデマンド
(video on demand)機能が使えるようにしてもよい
し、あるいはケーブルテレビ会社が複数の加入者にビデ
オオンデマンド機能を提供するようにすることもでき
る。
【0031】所望に応じて、本発明であるディスクレイ
アウト装置80は、スケーラブルなビデオエンコーダを
用いたエンドツーエンドのスケーラブルビデオシステム
と共に用いることもできる。そのようなビデオエンコー
ダは、1995年4月18日に出願され、本出願人に譲
渡された、“SOFTWARE-BASED ENCODER FOR A SOFTWARE-
IMPLEMENTED END-TO-END SCALABLE VIDEO DELIVERY SYS
TEM”というタイトルの米国特許出願第08/423,
812号明細書に開示されている。このようなシステム
でエンコードされたビデオ情報をデコードするためのビ
デオデコーダは、1995年4月18日に出願され本出
願人に譲渡された、“DECODER FOR A SOFTWARE-IMPLEME
NTED END-TO-END SCALABLE VIDEO DELIVERY SYSTEM”と
うタイトルの米国特許出願第08/424,703号明
細書に開示されている。もちろん、本発明はより従来か
らあるビデオディスプレイシステムと共に用いることも
できる。本発明は、所望に応じて、1995年5月22
日に出願され本出願人に譲渡された、“SERVER DISK ER
ROR RECOVERY SYSTEM”というタイトルの米国特許出願
に開示されているように、ビデオディスクシステム90
及びエラー復元システム120を用いることもできる。
アウト装置80は、スケーラブルなビデオエンコーダを
用いたエンドツーエンドのスケーラブルビデオシステム
と共に用いることもできる。そのようなビデオエンコー
ダは、1995年4月18日に出願され、本出願人に譲
渡された、“SOFTWARE-BASED ENCODER FOR A SOFTWARE-
IMPLEMENTED END-TO-END SCALABLE VIDEO DELIVERY SYS
TEM”というタイトルの米国特許出願第08/423,
812号明細書に開示されている。このようなシステム
でエンコードされたビデオ情報をデコードするためのビ
デオデコーダは、1995年4月18日に出願され本出
願人に譲渡された、“DECODER FOR A SOFTWARE-IMPLEME
NTED END-TO-END SCALABLE VIDEO DELIVERY SYSTEM”と
うタイトルの米国特許出願第08/424,703号明
細書に開示されている。もちろん、本発明はより従来か
らあるビデオディスプレイシステムと共に用いることも
できる。本発明は、所望に応じて、1995年5月22
日に出願され本出願人に譲渡された、“SERVER DISK ER
ROR RECOVERY SYSTEM”というタイトルの米国特許出願
に開示されているように、ビデオディスクシステム90
及びエラー復元システム120を用いることもできる。
【0032】ネットワークを介して伝達されるビデオ情
報にアクセスすることのできる有効なユーザの数(U)
は、各ハードディスクユニットによってサポートされる
有効なデータストリームの数、及びそれらのデータスト
リームがハードディスクユニット内のディスクにどのよ
うにレイアウトされているかによって制限される。各ハ
ードディスクユニットによってサポートされるストリー
ム(S)の数は、ディスク転送のバイトサイズ、ディス
ク転送に於けるディスクのバンド幅、及びディスク転送
とディスク転送の間のシーク時間によって制限される。
理解されるように、ハードディスクユニットの記憶容量
を増加することによってより多くのビデオ情報(映画な
ど)を記憶することが可能となるが、ビデオシステムが
サポートすることのできる同時に伝達されるストリーム
数を、ハードディスクユニットの記憶容量の増加によっ
て増やすことはできない。
報にアクセスすることのできる有効なユーザの数(U)
は、各ハードディスクユニットによってサポートされる
有効なデータストリームの数、及びそれらのデータスト
リームがハードディスクユニット内のディスクにどのよ
うにレイアウトされているかによって制限される。各ハ
ードディスクユニットによってサポートされるストリー
ム(S)の数は、ディスク転送のバイトサイズ、ディス
ク転送に於けるディスクのバンド幅、及びディスク転送
とディスク転送の間のシーク時間によって制限される。
理解されるように、ハードディスクユニットの記憶容量
を増加することによってより多くのビデオ情報(映画な
ど)を記憶することが可能となるが、ビデオシステムが
サポートすることのできる同時に伝達されるストリーム
数を、ハードディスクユニットの記憶容量の増加によっ
て増やすことはできない。
【0033】長い転送ではハードディスクのオーバーヘ
ッドは小さくなる。従って、本発明では比較的大きいが
適度な転送サイズである約256KBを用いることが好
ましい。このブロックサイズはクライアントに供給され
るデータの約0.5秒分を含む。もちろん、他のブロッ
クサイズ及び転送レートを代わりに用いることもでき
る。上述したように、シーク時間とディスク転送バンド
幅の両方に於いて最悪の場合と平均的な場合との間に
2:1の差が存在し得る。最悪の場合のバンド幅または
シーク時間が制限無く存在することが許される場合、サ
ポートされるストリームの数はこれらの最悪の場合の値
によって制限されてしまう。
ッドは小さくなる。従って、本発明では比較的大きいが
適度な転送サイズである約256KBを用いることが好
ましい。このブロックサイズはクライアントに供給され
るデータの約0.5秒分を含む。もちろん、他のブロッ
クサイズ及び転送レートを代わりに用いることもでき
る。上述したように、シーク時間とディスク転送バンド
幅の両方に於いて最悪の場合と平均的な場合との間に
2:1の差が存在し得る。最悪の場合のバンド幅または
シーク時間が制限無く存在することが許される場合、サ
ポートされるストリームの数はこれらの最悪の場合の値
によって制限されてしまう。
【0034】本発明は、少なくともある短い限定された
時間のあいだ、実質的にまたは概ねハードディスクの平
均的なバンド幅及びシーク時間が達成されるようにする
ことによって、サポートされるストリームの数(S)を
できるだけ多くする。“実質的にまたは概ね”によっ
て、絶対的な最悪の場合のハードディスクバンド幅と全
体の平均ハードディスクバンド幅の間の中間よりもよい
特性が確実に達成されるということが意味されている。
更に、“実質的にまたは概ね”によって、少なくとも5
ストリーム/ディスクがある限り、少なくとも平均的な
シーク時間が達成されているということが意味されてい
る。その結果、これらの平均的な値を用いてサポートさ
れる情報ストリームの数を計算することができ、その数
は入場許可が確率的に行われるかあるいは決定論的に行
われるかに関係なく、最悪の場合の数を用いた場合のサ
ポートされるストリーム数より大きくなる。
時間のあいだ、実質的にまたは概ねハードディスクの平
均的なバンド幅及びシーク時間が達成されるようにする
ことによって、サポートされるストリームの数(S)を
できるだけ多くする。“実質的にまたは概ね”によっ
て、絶対的な最悪の場合のハードディスクバンド幅と全
体の平均ハードディスクバンド幅の間の中間よりもよい
特性が確実に達成されるということが意味されている。
更に、“実質的にまたは概ね”によって、少なくとも5
ストリーム/ディスクがある限り、少なくとも平均的な
シーク時間が達成されているということが意味されてい
る。その結果、これらの平均的な値を用いてサポートさ
れる情報ストリームの数を計算することができ、その数
は入場許可が確率的に行われるかあるいは決定論的に行
われるかに関係なく、最悪の場合の数を用いた場合のサ
ポートされるストリーム数より大きくなる。
【0035】図2は、サーバ20のディスクレイアウト
ユニット80、ビデオ記憶ユニット90、及びディスク
ヘッドスケジューラユニット200の詳細を表す図であ
る。実用では、ビデオ記憶装置90は、ディスク0、デ
ィスク1、...ディスクDとして表されているD個の
ハードディスクユニットを含む。図が見やすいように各
ハードディスクユニットは1枚の記憶ディスクしか有し
ていないように描かれているが、実際には各ユニットは
複数の記憶ディスクを含む。図2は、複数のユーザ(ユ
ーザ1乃至ユーザU)がU本の異なる映画(ビデオ情
報)をモニタTV1乃至TVUで見ているような一般的
な場合について示している。もちろん何人かのユーザが
同じ映画を異なるモニタで(典型的には非同期に)見る
こともできる。ディスクレイアウト手段80は、複数の
ビデオ情報(ビデオ情報0乃至ビデオ情報M)を処理す
るものとして示されており、各ビデオ情報は複数のブロ
ック0、1、2、...iを含んでいる。
ユニット80、ビデオ記憶ユニット90、及びディスク
ヘッドスケジューラユニット200の詳細を表す図であ
る。実用では、ビデオ記憶装置90は、ディスク0、デ
ィスク1、...ディスクDとして表されているD個の
ハードディスクユニットを含む。図が見やすいように各
ハードディスクユニットは1枚の記憶ディスクしか有し
ていないように描かれているが、実際には各ユニットは
複数の記憶ディスクを含む。図2は、複数のユーザ(ユ
ーザ1乃至ユーザU)がU本の異なる映画(ビデオ情
報)をモニタTV1乃至TVUで見ているような一般的
な場合について示している。もちろん何人かのユーザが
同じ映画を異なるモニタで(典型的には非同期に)見る
こともできる。ディスクレイアウト手段80は、複数の
ビデオ情報(ビデオ情報0乃至ビデオ情報M)を処理す
るものとして示されており、各ビデオ情報は複数のブロ
ック0、1、2、...iを含んでいる。
【0036】本発明によると、装置80によってビデオ
情報0乃至iからの情報がサーバ20内のハードディス
クユニット90にレイアウトされ、情報転送の間、少な
くともある限られた時間、平均的なシーク時間及び平均
的なバンド幅が保証される。このような保証によって所
与の時間に於いてビデオサーバにアクセスが許可される
ユーザ(またはストリーム)の数Uが向上する。逆に、
ある固定された数Uに対し、本発明は、従来技術による
システムに比べてより安価なハードウェアを用いて、U
に達する数のユーザがサーバシステムにアクセスするこ
とができるようにすることができる。試算によると、所
与の数Uのユーザに対し、本発明に基づくどちらの実施
例も、数Uのユーザを処理するべく設計された従来のシ
ステムのコストの50%乃至70%で実現することかで
きる。逆に、所与のコストで実現されたシステムに対
し、本発明では同じコストで実現された従来のシステム
に較べて33%乃至100%も多くユーザを受け入れる
ことができる。
情報0乃至iからの情報がサーバ20内のハードディス
クユニット90にレイアウトされ、情報転送の間、少な
くともある限られた時間、平均的なシーク時間及び平均
的なバンド幅が保証される。このような保証によって所
与の時間に於いてビデオサーバにアクセスが許可される
ユーザ(またはストリーム)の数Uが向上する。逆に、
ある固定された数Uに対し、本発明は、従来技術による
システムに比べてより安価なハードウェアを用いて、U
に達する数のユーザがサーバシステムにアクセスするこ
とができるようにすることができる。試算によると、所
与の数Uのユーザに対し、本発明に基づくどちらの実施
例も、数Uのユーザを処理するべく設計された従来のシ
ステムのコストの50%乃至70%で実現することかで
きる。逆に、所与のコストで実現されたシステムに対
し、本発明では同じコストで実現された従来のシステム
に較べて33%乃至100%も多くユーザを受け入れる
ことができる。
【0037】好適実施例の各々に於いて、ビデオサーバ
はある数(D)のディスクを含むハードディスクユニッ
トを含み、各ディスクはZ個のゾーンに分けられる。各
ビデオ情報は、好ましくは一定の時間幅(例えば0.5
秒)のある数(i)のブロックに分けられ、ビデオ情報
ブロックiがディスク(i mod D)に格納される
ようにして、D個のディスク全体に割り振られる。
はある数(D)のディスクを含むハードディスクユニッ
トを含み、各ディスクはZ個のゾーンに分けられる。各
ビデオ情報は、好ましくは一定の時間幅(例えば0.5
秒)のある数(i)のブロックに分けられ、ビデオ情報
ブロックiがディスク(i mod D)に格納される
ようにして、D個のディスク全体に割り振られる。
【0038】“i mod D”は、例えばユニット9
0内にD=30のハードディスクがある場合、あるビデ
オ情報に対し、その第1ブロックは第1ハードディスク
(ディスク0)に格納され、第2ブロックは第2ハード
ディスク(ディスク1)に格納され、...30番目の
ブロックは30番目のハードディスク(ディスクD)に
格納され、31番目のブロックは第1ハードディスク
(ディスク0)に格納され、これが繰り返されるという
ことを意味する。好適実施例では、ブロックサイズは2
00KBであり、ストリームの転送速度は約0.5MB
/秒であるが、代わりに他の値を用いることもできる。
従って、あるビデオ情報に対し、いくつかのビデオ情報
が記憶装置90内の各ハードディスクユニットから転送
される。
0内にD=30のハードディスクがある場合、あるビデ
オ情報に対し、その第1ブロックは第1ハードディスク
(ディスク0)に格納され、第2ブロックは第2ハード
ディスク(ディスク1)に格納され、...30番目の
ブロックは30番目のハードディスク(ディスクD)に
格納され、31番目のブロックは第1ハードディスク
(ディスク0)に格納され、これが繰り返されるという
ことを意味する。好適実施例では、ブロックサイズは2
00KBであり、ストリームの転送速度は約0.5MB
/秒であるが、代わりに他の値を用いることもできる。
従って、あるビデオ情報に対し、いくつかのビデオ情報
が記憶装置90内の各ハードディスクユニットから転送
される。
【0039】上記のようなレイアウトは容易に実現する
ことができる。理解されるように、ブロック数で表した
ビデオ情報の長さをLとし、全てのビデオ情報はディス
ク0からスタートし、ディスク(L mod D)に於
いて終了する。従って、第1ディスクは常にビデオ情報
が詰め込まれるが、最後のディスク(ディスクD)にビ
デオ情報の最後のブロックが配置されるのはビデオ情報
の長さLがDの整数倍のときのみであり、最後のディス
ク(ディスクD)は平均すると部分的にしか使用されな
い。このようなことが生じないように、各ビデオ情報が
D個のディスクのうちの任意の一つからスタートするよ
うにしてもよい。ビデオ情報がディスクdからスタート
するとすると、処理される全ブロック数はi=(d+M
i)となる。ここでMiはビデオ情報ブロック数iを表
す。最初のd個のブロックは有効ではなくビデオ情報の
開始時には参照されない。各ビデオ情報に対しスタート
ディスクをランダムに選択することにより、記憶ユニッ
ト90の記憶容量をより有効に使用することができ、よ
り多くのビデオ情報を格納することができる。
ことができる。理解されるように、ブロック数で表した
ビデオ情報の長さをLとし、全てのビデオ情報はディス
ク0からスタートし、ディスク(L mod D)に於
いて終了する。従って、第1ディスクは常にビデオ情報
が詰め込まれるが、最後のディスク(ディスクD)にビ
デオ情報の最後のブロックが配置されるのはビデオ情報
の長さLがDの整数倍のときのみであり、最後のディス
ク(ディスクD)は平均すると部分的にしか使用されな
い。このようなことが生じないように、各ビデオ情報が
D個のディスクのうちの任意の一つからスタートするよ
うにしてもよい。ビデオ情報がディスクdからスタート
するとすると、処理される全ブロック数はi=(d+M
i)となる。ここでMiはビデオ情報ブロック数iを表
す。最初のd個のブロックは有効ではなくビデオ情報の
開始時には参照されない。各ビデオ情報に対しスタート
ディスクをランダムに選択することにより、記憶ユニッ
ト90の記憶容量をより有効に使用することができ、よ
り多くのビデオ情報を格納することができる。
【0040】第1の実施例では、ハードディスクのシー
クタイムが最適化されるが、付加的なバッファメモリが
必要である。この実施例では、ハードディスク上のビデ
オ情報ブロックの位置は、ビデオ情報ブロックiがディ
スク(i mod D)のゾーン((i/D) mod
Z)内にあるようになっている。従って、例えばゾー
ン数Z=3、ディスク数D=5に対して、第1実施例で
は<ディスク,ゾーン>は以下のようになる。
クタイムが最適化されるが、付加的なバッファメモリが
必要である。この実施例では、ハードディスク上のビデ
オ情報ブロックの位置は、ビデオ情報ブロックiがディ
スク(i mod D)のゾーン((i/D) mod
Z)内にあるようになっている。従って、例えばゾー
ン数Z=3、ディスク数D=5に対して、第1実施例で
は<ディスク,ゾーン>は以下のようになる。
【0041】 <0,0> <1,0> <2,0> <3,0> <4,0> <0,1> <1,1> <2,1> <3,1> <4,1> <0,2> <1,2> <2,2> <3,2> <4,2> <0,0> <1,0> ・・・
【0042】サーバ20に受け入れられる非同期のスト
リームの総数はSである。これらのS個のストリーム
は、N=S/D個のストリームを含む“スロット”に編
成される。各ゾーンを使用する1スロット内のストリー
ムの数は概ね等しく、所与のゾーンをアクセスする各ス
ロット内のストリームの数は上限(N/Z)によって制
限される。
リームの総数はSである。これらのS個のストリーム
は、N=S/D個のストリームを含む“スロット”に編
成される。各ゾーンを使用する1スロット内のストリー
ムの数は概ね等しく、所与のゾーンをアクセスする各ス
ロット内のストリームの数は上限(N/Z)によって制
限される。
【0043】ある時間内に、各スロットに編成された全
ストリームに対しデータの読み出しがなされるが、ディ
スクが読まれる順番はディスクのシークが最適化される
ように決定される。第1実施例ではその順番はやや予想
不能であり、あるスロットに於いてその第1ストリーム
のデータが最初に読まれるとは限らない。
ストリームに対しデータの読み出しがなされるが、ディ
スクが読まれる順番はディスクのシークが最適化される
ように決定される。第1実施例ではその順番はやや予想
不能であり、あるスロットに於いてその第1ストリーム
のデータが最初に読まれるとは限らない。
【0044】各スロット内のストリームは、ディスクか
らディスクへと決まった方式で進行する。ストリームの
グループは、平均的なシーク時間が保証されるように、
ゾーンの使用がバランスの取れたものとなるよう定めら
れている。順に行われるN個のシークのセットについて
考えてみよう。シークアルゴリズムは、例えばROMま
たは他のメモリ220に格納されたディスクヘッドスケ
ジューラ200(図2に図示)である。そのようなアル
ゴリズムは、シークセットの最も近い端をシークし、そ
の後も次の最も近い位置に進むようにしてそのシークセ
ットを遂行するべきである。ディスクをいっぱいにシー
クした場合を1として表すと、シークセットに対する最
悪の場合の総シーク距離は以下のようになる。
らディスクへと決まった方式で進行する。ストリームの
グループは、平均的なシーク時間が保証されるように、
ゾーンの使用がバランスの取れたものとなるよう定めら
れている。順に行われるN個のシークのセットについて
考えてみよう。シークアルゴリズムは、例えばROMま
たは他のメモリ220に格納されたディスクヘッドスケ
ジューラ200(図2に図示)である。そのようなアル
ゴリズムは、シークセットの最も近い端をシークし、そ
の後も次の最も近い位置に進むようにしてそのシークセ
ットを遂行するべきである。ディスクをいっぱいにシー
クした場合を1として表すと、シークセットに対する最
悪の場合の総シーク距離は以下のようになる。
【0045】 総シーク距離≦0.5+(N−1)×1/(N−1) 総シーク距離≦1.5
【0046】N=1の場合について考えると、最悪の場
合のシークは全ディスクに渡るものとなり、 総シーク距離≦1 となる。
合のシークは全ディスクに渡るものとなり、 総シーク距離≦1 となる。
【0047】N>1について説明する。スタートディス
ク位置がそのグループの真ん中にあるとき、最大0.5
ディスクのシークがそのときの読み出しヘッド位置から
そのグループの最も近い端に移動するのに必要である。
その後、平均がディスクの1/(N−1)以下であるよ
うな(N−1)回のシークが行われる。別の言い方をす
ると、最悪の場合のシークは、スタート位置がディスク
の真ん中にあり、そのシークのセットがディスク全体に
渡って広がっている場合に発生する。
ク位置がそのグループの真ん中にあるとき、最大0.5
ディスクのシークがそのときの読み出しヘッド位置から
そのグループの最も近い端に移動するのに必要である。
その後、平均がディスクの1/(N−1)以下であるよ
うな(N−1)回のシークが行われる。別の言い方をす
ると、最悪の場合のシークは、スタート位置がディスク
の真ん中にあり、そのシークのセットがディスク全体に
渡って広がっている場合に発生する。
【0048】N>1でスタート位置がグループの外にあ
る場合を考えてみよう。この場合、平均するとディスク
の1/Nよりは大きくないN個のシークが生じる。従っ
て、 総シーク距離≦N×(1/N)=1 となる。
る場合を考えてみよう。この場合、平均するとディスク
の1/Nよりは大きくないN個のシークが生じる。従っ
て、 総シーク距離≦N×(1/N)=1 となる。
【0049】従って、N個のアクセスのセットに対する
総シーク時間は、N×seek(1.5/N)以下とな
る。従って、 平均シーク時間≦seek(1.5/N) となる。
総シーク時間は、N×seek(1.5/N)以下とな
る。従って、 平均シーク時間≦seek(1.5/N) となる。
【0050】各スロットのストリーム数Nが5以上の場
合、各スロットに渡って平均した平均シーク時間は、ハ
ードディスクに表示されている平均シーク時間より短く
なる。即ち、 seek(1.5/N)<seek(1/3)
合、各スロットに渡って平均した平均シーク時間は、ハ
ードディスクに表示されている平均シーク時間より短く
なる。即ち、 seek(1.5/N)<seek(1/3)
【0051】各スロットは各ゾーンからの要素を概ね等
しい数だけ含むため、各スロットに対する最悪の場合の
バンド幅を計算することができる。最悪のゾーンに属す
る要素の数は上限(N/Z)によって制限されており、
最良のゾーンも少なくとも(N/Z)の数の要素を有す
る。他のゾーンについても(もしある場合)同様であ
る。こうして、各ゾーンからの転送に対する最悪の場合
のバンド幅が与えられると、各スロットに対する最悪の
場合のバンド幅を計算することができる。このバンド幅
はハードディスクの最悪の場合のバンド幅よりはよく、
実用に於いてはディスクの平均的なバンド幅に近づく。
しい数だけ含むため、各スロットに対する最悪の場合の
バンド幅を計算することができる。最悪のゾーンに属す
る要素の数は上限(N/Z)によって制限されており、
最良のゾーンも少なくとも(N/Z)の数の要素を有す
る。他のゾーンについても(もしある場合)同様であ
る。こうして、各ゾーンからの転送に対する最悪の場合
のバンド幅が与えられると、各スロットに対する最悪の
場合のバンド幅を計算することができる。このバンド幅
はハードディスクの最悪の場合のバンド幅よりはよく、
実用に於いてはディスクの平均的なバンド幅に近づく。
【0052】第2図を参照されたい。第1の実施例にお
ける最も簡単なバッファリング法では、1ストリームに
対し少なくとも第1及び第2の2つのバッファを含むバ
ッファシステム230が提供される。第1バッファはデ
ータを送出し、一方第2のバッファはハードディスクか
らデータを受信する。2つのバッファは好適には高速の
ダイナミックランダムアクセスメモリ(“DRAM”)
によって実現され、ビデオ情報がスムーズに転送されて
ユーザに受信されるように時間の制約を満たすことがで
きる。従って、例えば256KBの記憶容量を有するバ
ッファシステム230によって、約0.5秒間に渡って
均一に256KBの情報が送出されるようにすることが
できる。
ける最も簡単なバッファリング法では、1ストリームに
対し少なくとも第1及び第2の2つのバッファを含むバ
ッファシステム230が提供される。第1バッファはデ
ータを送出し、一方第2のバッファはハードディスクか
らデータを受信する。2つのバッファは好適には高速の
ダイナミックランダムアクセスメモリ(“DRAM”)
によって実現され、ビデオ情報がスムーズに転送されて
ユーザに受信されるように時間の制約を満たすことがで
きる。従って、例えば256KBの記憶容量を有するバ
ッファシステム230によって、約0.5秒間に渡って
均一に256KBの情報が送出されるようにすることが
できる。
【0053】しかしながら、所望に応じて、1ストリー
ム当たり概ね1バッファが設けられ、ディスク毎に付加
的なバッファを備えたより複雑なバッファシステム23
0とすることもできる。このような技法では、バッファ
システム230は、別個に管理される複数の記憶セグメ
ントとして実現することができる。各ピリオドの開始に
於いて、スロット内の各ストリームは1バッファ分のデ
ータを有しいる。また、空のバッファがあり、そこに最
初のディスク転送がなされる。転送の際、各ストリーム
は既に転送されたデータを含むセグメントをフリーにす
る。フリーにされたバッファセグメントは続いて行われ
るディスク転送を受信するのに用いることができる。バ
ッファ当たりのセグメント数とスロット当たりのストリ
ーム数が等しくない場合、予備的なバッファセグメント
が必要となることに注意されたい。最悪の場合では、バ
ッファセグメントはディスク転送に必要な時間が経って
レディとなり、ハードディスクの性能が最悪の場合を越
えている場合、このディスク転送プロセスは、データを
受信するのに十分な数のバッファセグメントが使用可能
となるまで遅らされる。
ム当たり概ね1バッファが設けられ、ディスク毎に付加
的なバッファを備えたより複雑なバッファシステム23
0とすることもできる。このような技法では、バッファ
システム230は、別個に管理される複数の記憶セグメ
ントとして実現することができる。各ピリオドの開始に
於いて、スロット内の各ストリームは1バッファ分のデ
ータを有しいる。また、空のバッファがあり、そこに最
初のディスク転送がなされる。転送の際、各ストリーム
は既に転送されたデータを含むセグメントをフリーにす
る。フリーにされたバッファセグメントは続いて行われ
るディスク転送を受信するのに用いることができる。バ
ッファ当たりのセグメント数とスロット当たりのストリ
ーム数が等しくない場合、予備的なバッファセグメント
が必要となることに注意されたい。最悪の場合では、バ
ッファセグメントはディスク転送に必要な時間が経って
レディとなり、ハードディスクの性能が最悪の場合を越
えている場合、このディスク転送プロセスは、データを
受信するのに十分な数のバッファセグメントが使用可能
となるまで遅らされる。
【0054】図2に示されている入場制御手段110
は、少なくとも、ビデオシステムが1または複数のユー
ザを追加することができるかどうか、また追加できる場
合どの情報ストリームのグループにその追加をするかを
決定する。各ハードディスクドライブの容量及び性能特
性は既知であり、各ドライブの容量を表すモデルを作る
こともできる。しかしながら、各ストリームは各ドライ
ブに関係し、各ドライブは同一であるため、共に移動す
るストリームのグループをチェックすることによって、
任意の時間に於いて、新たなユーザを許可することによ
って第1ハードディスクドライブが過負荷になるかどう
かを判定することができる。(第1ハードディスクドラ
イブが過負荷とならない場合、どのドライブも過負荷と
ならないからである。)
は、少なくとも、ビデオシステムが1または複数のユー
ザを追加することができるかどうか、また追加できる場
合どの情報ストリームのグループにその追加をするかを
決定する。各ハードディスクドライブの容量及び性能特
性は既知であり、各ドライブの容量を表すモデルを作る
こともできる。しかしながら、各ストリームは各ドライ
ブに関係し、各ドライブは同一であるため、共に移動す
るストリームのグループをチェックすることによって、
任意の時間に於いて、新たなユーザを許可することによ
って第1ハードディスクドライブが過負荷になるかどう
かを判定することができる。(第1ハードディスクドラ
イブが過負荷とならない場合、どのドライブも過負荷と
ならないからである。)
【0055】本発明では、入場制御法は、ユーザ(また
はストリーム)は何れのスロットにも割り当てられ得る
が、必要なデータブロックがそのスロットの他の情報ス
トリームによって必要とされるディスク上にあり、その
ブロックが適切なディスクゾーン内にあるようになるま
で、ビデオ情報がハードディスクから転送されてはなら
ないということを認識している。スロット毎にサポート
することのできる情報ストリームの最悪の場合の数は、
(少なくとも限られた時間のあいだ)保証された平均的
なバンド幅及びシーク時間などのわかったハードディス
クの特性を用いることによって計算することができる。
データの最初のブロックを得るのに必要とされる最悪の
場合の時間はD×Z×tであり、ここでtはバッファシ
ステム130の1バッファに於ける送出に必要とされる
時間である。
はストリーム)は何れのスロットにも割り当てられ得る
が、必要なデータブロックがそのスロットの他の情報ス
トリームによって必要とされるディスク上にあり、その
ブロックが適切なディスクゾーン内にあるようになるま
で、ビデオ情報がハードディスクから転送されてはなら
ないということを認識している。スロット毎にサポート
することのできる情報ストリームの最悪の場合の数は、
(少なくとも限られた時間のあいだ)保証された平均的
なバンド幅及びシーク時間などのわかったハードディス
クの特性を用いることによって計算することができる。
データの最初のブロックを得るのに必要とされる最悪の
場合の時間はD×Z×tであり、ここでtはバッファシ
ステム130の1バッファに於ける送出に必要とされる
時間である。
【0056】ハードディスクユニット90がヒューレッ
トパッカード(Hewlett Packard)社のモデルC224
0ハードディスクを用いて実現されているとしよう。こ
れらのディスクは約5400rpmの速度で回転し、約
2.5msのトラックツートラック(track-to-track)
シーク時間、約11.2msの回転時間を有し、ヘッド
の読み出し/書き込みの切り替えは1ms未満でなされ
る。使用された8つの領域は、それぞれ533、19
2、136、144、138、318、268及び25
2個のシリンダからなり、96、92、88、84、8
0、2、64及び56のセクタを含んでいた。長いシー
クに対しては、
トパッカード(Hewlett Packard)社のモデルC224
0ハードディスクを用いて実現されているとしよう。こ
れらのディスクは約5400rpmの速度で回転し、約
2.5msのトラックツートラック(track-to-track)
シーク時間、約11.2msの回転時間を有し、ヘッド
の読み出し/書き込みの切り替えは1ms未満でなされ
る。使用された8つの領域は、それぞれ533、19
2、136、144、138、318、268及び25
2個のシリンダからなり、96、92、88、84、8
0、2、64及び56のセクタを含んでいた。長いシー
クに対しては、
【0057】 seek(X)=4.75+17.25×X ms
【0058】である。短いシークに対しては必要な時間
はより短く、平均シーク時間は約10.5msであり、
最悪の場合のシーク時間は約22msである。
はより短く、平均シーク時間は約10.5msであり、
最悪の場合のシーク時間は約22msである。
【0059】本発明に従って、Z=2個のゾーンが用い
られる場合、これらの高速及び低速ゾーンに対する最悪
の場合は、それぞれ88セクタ、56セクタである。2
56KBのバッファに対し、バッファの転送は、高速ゾ
ーンでは5.8回転を要し、低速ゾーンでは9.1回転
を要する。転送時間の差は56msであるのに対し、シ
ーク時間の差は12msであるため、バンド幅の最適化
はシークの最適化より重要であることに注意されたい。
られる場合、これらの高速及び低速ゾーンに対する最悪
の場合は、それぞれ88セクタ、56セクタである。2
56KBのバッファに対し、バッファの転送は、高速ゾ
ーンでは5.8回転を要し、低速ゾーンでは9.1回転
を要する。転送時間の差は56msであるのに対し、シ
ーク時間の差は12msであるため、バンド幅の最適化
はシークの最適化より重要であることに注意されたい。
【0060】各ストリームに対しバッファシステムから
一定の例えば4Mビット/秒の速さでデータが送出され
るとすると、一つのバッファの内容は0.5秒で転送さ
れることとなり、これがディスクの読み出しインターバ
ルを決定する。
一定の例えば4Mビット/秒の速さでデータが送出され
るとすると、一つのバッファの内容は0.5秒で転送さ
れることとなり、これがディスクの読み出しインターバ
ルを決定する。
【0061】上述した第1の実施例では、バッファのア
クセス時間の計算は次のようになされる: seek(1.5/N)+seek11.2/2+ディ
スク回転遅れ+下限(N/2)/N×(5.8×11.
2+高速ゾーン転送2.5+5×1)+トラック切替上
限(N/2)/N×(9.1×11.2+低速ゾーン転
送2.5+9.1)+トラック切替時間
クセス時間の計算は次のようになされる: seek(1.5/N)+seek11.2/2+ディ
スク回転遅れ+下限(N/2)/N×(5.8×11.
2+高速ゾーン転送2.5+5×1)+トラック切替上
限(N/2)/N×(9.1×11.2+低速ゾーン転
送2.5+9.1)+トラック切替時間
【0062】この計算は、F.A.Tobagiらによる“「Stre
aming RAID - A Disk Array Management System for Vi
deo Files」, Starlite Networks 1993”に記載された
ディスクの特性に関する情報に基づいてなされる。
aming RAID - A Disk Array Management System for Vi
deo Files」, Starlite Networks 1993”に記載された
ディスクの特性に関する情報に基づいてなされる。
【0063】表1はこれらの結果をまとめたものであ
り、バッファアクセス時間とハードディスクがビジーと
なる時間の割合を、ディスク当たりのストリーム数Nの
関数として表している。表1に示されているように、N
=(500ms/109.8ms)、即ち1ディスク当
たりN=4.5個のストリームが過負荷を生じることな
くサポートされる。
り、バッファアクセス時間とハードディスクがビジーと
なる時間の割合を、ディスク当たりのストリーム数Nの
関数として表している。表1に示されているように、N
=(500ms/109.8ms)、即ち1ディスク当
たりN=4.5個のストリームが過負荷を生じることな
くサポートされる。
【0064】
【表1】
【0065】回転速度7200rpmのディスクが用い
られ、残りの他の全ての特性が同じであるとすると、結
果は表2に示すようになる。これらの結果は、7200
rpmで回転する最新世代のハードディスクの容量を示
している。
られ、残りの他の全ての特性が同じであるとすると、結
果は表2に示すようになる。これらの結果は、7200
rpmで回転する最新世代のハードディスクの容量を示
している。
【0066】
【表2】
【0067】表2から明らかなように、最大N=(50
0ms/82.2ms)即ちN=6.1個のストリーム
を各ディスクによってサポートすることができる。ここ
で、システムが最悪の場合のシーク時間と最悪の場合の
ディスク転送バンド幅特性を用いる場合を考えてみよ
う。そのようなシステムは従来に於いて広く知られ使用
されている。バッファアクセス時間は:
0ms/82.2ms)即ちN=6.1個のストリーム
を各ディスクによってサポートすることができる。ここ
で、システムが最悪の場合のシーク時間と最悪の場合の
ディスク転送バンド幅特性を用いる場合を考えてみよ
う。そのようなシステムは従来に於いて広く知られ使用
されている。バッファアクセス時間は:
【0068】22+seek 11/2/2+回転遅れ
(9.1×11.2+低速ゾーン転送2.5+9×1)
+トラック切替時間=141msとなり、即ち約3.5
ms/ディスクとなる。7200rpmのディスクに対
しては、バッファアクセス時間は110.3msとな
り、即ち約4.5ストリーム/ディスクとなる。別の言
い方をすると、この従来技術の方法に比べて、本発明で
はディスク当たり35%多くのストリームをサポートす
ることができる。
(9.1×11.2+低速ゾーン転送2.5+9×1)
+トラック切替時間=141msとなり、即ち約3.5
ms/ディスクとなる。7200rpmのディスクに対
しては、バッファアクセス時間は110.3msとな
り、即ち約4.5ストリーム/ディスクとなる。別の言
い方をすると、この従来技術の方法に比べて、本発明で
はディスク当たり35%多くのストリームをサポートす
ることができる。
【0069】第2の実施例では、ディスクシークの最適
化の程度は若干劣るが、シークのスケジュールがより予
測可能となり必要なバッファユニットを少なくすること
ができる。第1実施例と同様にハードディスクユニット
は、D個のディスクを含むハードディスクドライブを含
んでおり、各ディスクはZ個のゾーンに分けられてい
る。ここでも、各ビデオ情報は、好ましくは一定の時間
幅のi個のブロックの分けられ、ブロックiがディスク
(i mod D)に記憶されるようにして、D個のデ
ィスク全体に割り当てられる。以下に説明するように、
ストリームは順にメモリ内にレイアウトされ、順にバッ
ファに送られバッファから送り出される。
化の程度は若干劣るが、シークのスケジュールがより予
測可能となり必要なバッファユニットを少なくすること
ができる。第1実施例と同様にハードディスクユニット
は、D個のディスクを含むハードディスクドライブを含
んでおり、各ディスクはZ個のゾーンに分けられてい
る。ここでも、各ビデオ情報は、好ましくは一定の時間
幅のi個のブロックの分けられ、ブロックiがディスク
(i mod D)に記憶されるようにして、D個のデ
ィスク全体に割り当てられる。以下に説明するように、
ストリームは順にメモリ内にレイアウトされ、順にバッ
ファに送られバッファから送り出される。
【0070】この実施例では、ビデオ情報ブロックは、
D個のブロックからなる各グループに於いてゾーンを順
にパイプライン式に通っていく。即ち、各ビデオ情報ブ
ロックiは、ディスク(i mod D)のゾーン
(((i/D)+(i modD))mod Z)内に
あるようにされる。例えば、Z=3、D=5の場合、レ
イアウト<ディスク,ゾーン>は以下のようになる:
D個のブロックからなる各グループに於いてゾーンを順
にパイプライン式に通っていく。即ち、各ビデオ情報ブ
ロックiは、ディスク(i mod D)のゾーン
(((i/D)+(i modD))mod Z)内に
あるようにされる。例えば、Z=3、D=5の場合、レ
イアウト<ディスク,ゾーン>は以下のようになる:
【0071】 <0,0> <1,1> <2,2> <3,0> <4,1> <0,1> <1,2> <2,0> <3,1> <4,2> <0,2> <1,0> <2,1> <3,2> <4,0> <0,0> <1,1> <2,2> <3,0> <4,1> . .
【0072】S個のストリームは0から(S−1)へ、
ディスク0から(D−1)へと順に進み、全てのストリ
ームが各ディスクを同じゾーンからアクセスし、次のデ
ィスクでは別のゾーンに於いてアクセスする。D=3、
Z=2のシステムに対しては、タイムライン<ストリー
ム,ディスク,ゾーン>は以下のようになる。ここで、
時間は水平方向に右側へと動き、ストリームは垂直方向
下向きにとる。
ディスク0から(D−1)へと順に進み、全てのストリ
ームが各ディスクを同じゾーンからアクセスし、次のデ
ィスクでは別のゾーンに於いてアクセスする。D=3、
Z=2のシステムに対しては、タイムライン<ストリー
ム,ディスク,ゾーン>は以下のようになる。ここで、
時間は水平方向に右側へと動き、ストリームは垂直方向
下向きにとる。
【0073】
【0074】所与のディスクに於ける最初のストリーム
に対するシーク時間は、ディスク全体に対するシークと
なり得るが、続くシークは同じゾーン内に限定される。
従って、 総シーク距離≦1+(S−1)×(1/Z) となり、総シーク時間は、 総シーク時間≦S×seek((1+(S−1)×(1/Z))/S) ≦S×seek((1+S/Z)/S) となる。更に、 平均シーク時間≦seek((1+S/Z)/S) ≦seek(1/S+1/Z) となる。
に対するシーク時間は、ディスク全体に対するシークと
なり得るが、続くシークは同じゾーン内に限定される。
従って、 総シーク距離≦1+(S−1)×(1/Z) となり、総シーク時間は、 総シーク時間≦S×seek((1+(S−1)×(1/Z))/S) ≦S×seek((1+S/Z)/S) となる。更に、 平均シーク時間≦seek((1+S/Z)/S) ≦seek(1/S+1/Z) となる。
【0075】従って、Z=2でSが大きい場合、平均シ
ーク時間は約ディスク半分に対するものとなる。このシ
ーク時間はディスクの平均的なシーク時間よりは悪い
が、最悪の場合の値よりは良い。
ーク時間は約ディスク半分に対するものとなる。このシ
ーク時間はディスクの平均的なシーク時間よりは悪い
が、最悪の場合の値よりは良い。
【0076】D−1から0への場合を無視すると、各ス
トリームは各ゾーンを順に移動し、各ゾーンに対する最
悪の場合のバンド幅の平均が得られる。詳述すると、D
個のディスクのセットに渡る各ストリームの経路に対
し、せいぜい上限(D/Z)個は最も速いゾーンに入
り、他のゾーンに対しても同様である。各ゾーンに対す
る最悪の場合のバンド幅を知ることにより、ディスクセ
ットに渡って移動したときの最悪の場合の値を計算する
ことができる。これは、ディスクの平均的なバンド幅に
概ね等しくなる。
トリームは各ゾーンを順に移動し、各ゾーンに対する最
悪の場合のバンド幅の平均が得られる。詳述すると、D
個のディスクのセットに渡る各ストリームの経路に対
し、せいぜい上限(D/Z)個は最も速いゾーンに入
り、他のゾーンに対しても同様である。各ゾーンに対す
る最悪の場合のバンド幅を知ることにより、ディスクセ
ットに渡って移動したときの最悪の場合の値を計算する
ことができる。これは、ディスクの平均的なバンド幅に
概ね等しくなる。
【0077】任意の時間に於いて、ストリームは要求に
応じてバッファシステム23上に概ね均一に分布され
る。所与の時間に於いて、いくつかのストリームは開始
点にあり、概ね等しい数のストリームがバッファシステ
ムへの入力の端にあるか、あるいはバッファシステムか
ら去ろうとしていることになる。所与の時間に於いて、
平均的には、ストリームはそのバッファを通過していく
道のりの約50%にあることとなる。
応じてバッファシステム23上に概ね均一に分布され
る。所与の時間に於いて、いくつかのストリームは開始
点にあり、概ね等しい数のストリームがバッファシステ
ムへの入力の端にあるか、あるいはバッファシステムか
ら去ろうとしていることになる。所与の時間に於いて、
平均的には、ストリームはそのバッファを通過していく
道のりの約50%にあることとなる。
【0078】ストリームはディスクコンテンションを生
じることなくパイプライン式にディスクにアクセスする
ため、送出バッファに残っているデータが最悪の場合の
シーク及び転送時間に要する時間で送り出されるまで、
ストリームによる次の読み出しを遅らせることができ
る。バッファシステム230がセグメント化されて実現
されている場合(第1実施例に於いてオプションとして
説明した)、ストリーム当たりに必要なメモリは、その
バッファの50%に予備バッファを加えたものとなる。
じることなくパイプライン式にディスクにアクセスする
ため、送出バッファに残っているデータが最悪の場合の
シーク及び転送時間に要する時間で送り出されるまで、
ストリームによる次の読み出しを遅らせることができ
る。バッファシステム230がセグメント化されて実現
されている場合(第1実施例に於いてオプションとして
説明した)、ストリーム当たりに必要なメモリは、その
バッファの50%に予備バッファを加えたものとなる。
【0079】しかしながら、いくつかの転送ではハード
ディスクの低速部分から転送がなされることがあるた
め、バッファリングにはある程度の柔軟性が付加されて
いる必要がある。特に、ハードディスクのシーケンシャ
ルスケール間の“継ぎ目”によって、各ストリームに対
し連続した2つの転送が最も低速の部分からなされるこ
とがある。従って、これを取り扱うため各ストリームに
於いて十分な予備バッファが確保されていなければなら
ず、ディスクアクセスはこの予備が維持されるように十
分早く開始される。別の言い方をすると、D個のディス
クの読み出しの際、上限(D/Z)に達する数の転送が
ハードディスクの高バンド幅エリアからなされる。この
値は、サポートされるストリームの数Sを制限するのに
用いることができる。
ディスクの低速部分から転送がなされることがあるた
め、バッファリングにはある程度の柔軟性が付加されて
いる必要がある。特に、ハードディスクのシーケンシャ
ルスケール間の“継ぎ目”によって、各ストリームに対
し連続した2つの転送が最も低速の部分からなされるこ
とがある。従って、これを取り扱うため各ストリームに
於いて十分な予備バッファが確保されていなければなら
ず、ディスクアクセスはこの予備が維持されるように十
分早く開始される。別の言い方をすると、D個のディス
クの読み出しの際、上限(D/Z)に達する数の転送が
ハードディスクの高バンド幅エリアからなされる。この
値は、サポートされるストリームの数Sを制限するのに
用いることができる。
【0080】入場制御手段は、バンド幅とシーク時間の
計算結果を用いて確実にサポートすることのできるスト
リームの最大数を決定する。ストリームを一つしか含ま
ない独立したスロットがS個ある。しかしながら、各ス
トリームは、それが要求するハードディスクとゾーン
が、それがパイプライン式にアクセスするハードディス
ク及びゾーンと整合するまで待たなければならない。最
大待ち時間はS×Zスロットインターバルであり、ここ
でスロットインターバルは1バッファの送出または使用
にかかる時間である。
計算結果を用いて確実にサポートすることのできるスト
リームの最大数を決定する。ストリームを一つしか含ま
ない独立したスロットがS個ある。しかしながら、各ス
トリームは、それが要求するハードディスクとゾーン
が、それがパイプライン式にアクセスするハードディス
ク及びゾーンと整合するまで待たなければならない。最
大待ち時間はS×Zスロットインターバルであり、ここ
でスロットインターバルは1バッファの送出または使用
にかかる時間である。
【0081】この第2の実施例では、バッファメモリの
使用は抑制されるが、シーク時間が増加し、サポートさ
れる有効なストリーム数は減少することに注意された
い。対照的に第1の実施例では、ディスクシーク時間は
より最適化されるが、より多くのメモリの使用を必要と
する。例えば、ストリームの総数U=150、ハードデ
ィスクドライブの数D=30、ブロックサイズ=256
KBとすると、第1の実施例ではバッファシステム23
0は50MBの記憶容量を必要とするのに対し、第2の
実施例では約20MBの記憶容量しか必要としない。
使用は抑制されるが、シーク時間が増加し、サポートさ
れる有効なストリーム数は減少することに注意された
い。対照的に第1の実施例では、ディスクシーク時間は
より最適化されるが、より多くのメモリの使用を必要と
する。例えば、ストリームの総数U=150、ハードデ
ィスクドライブの数D=30、ブロックサイズ=256
KBとすると、第1の実施例ではバッファシステム23
0は50MBの記憶容量を必要とするのに対し、第2の
実施例では約20MBの記憶容量しか必要としない。
【0082】再度ハードディスクユニット90が、表1
及び表2における計算に関して述べたのと同じ特性を有
するヒューレットパッカード社のモデルC2240ハー
ドディスクを用いて実現されているとしよう。第2の実
施例に対するバッファアクセス時間、シーク時間及びサ
ポートされるユーザの数は以下のようになる: seek(1/2+1/S)+seek11.2/2+
回転遅れ時間下限(D/2)/D×(5.8×11.2
+高速ゾーン転送2.5+5×1)+トラック切替上限
(D/2)/D×(9.1×11.2)+低速ゾーン転
送2.5+9×1)+トラック切替時間
及び表2における計算に関して述べたのと同じ特性を有
するヒューレットパッカード社のモデルC2240ハー
ドディスクを用いて実現されているとしよう。第2の実
施例に対するバッファアクセス時間、シーク時間及びサ
ポートされるユーザの数は以下のようになる: seek(1/2+1/S)+seek11.2/2+
回転遅れ時間下限(D/2)/D×(5.8×11.2
+高速ゾーン転送2.5+5×1)+トラック切替上限
(D/2)/D×(9.1×11.2)+低速ゾーン転
送2.5+9×1)+トラック切替時間
【0083】表3はこれらの結果をまとめたものであ
る。表3はバッファのアクセス時間とハードディスクが
ビジーである時間の割合とをストリームの数S及びハー
ドディスクの数Dの関数として表したものである。表3
に示されているように、本発明の第2の実施例を用い
て、N=(500ms/112.1ms)、即ちN=
4.5個のストリームをディスク当たりにサポートする
ことが可能である。
る。表3はバッファのアクセス時間とハードディスクが
ビジーである時間の割合とをストリームの数S及びハー
ドディスクの数Dの関数として表したものである。表3
に示されているように、本発明の第2の実施例を用い
て、N=(500ms/112.1ms)、即ちN=
4.5個のストリームをディスク当たりにサポートする
ことが可能である。
【0084】
【表3】
【0085】ハードディスクが7200rpmで回転し
(ハードディスクドライブの最新世代)、残りの他の特
性が全て同じであるとすると、結果は表4のようにな
る。
(ハードディスクドライブの最新世代)、残りの他の特
性が全て同じであるとすると、結果は表4のようにな
る。
【0086】
【表4】
【0087】表4から明らかなように、N=(500m
s/86.6ms)、即ちN=5.8個のストリームを
ディスク当たりにサポートすることができる。
s/86.6ms)、即ちN=5.8個のストリームを
ディスク当たりにサポートすることができる。
【0088】別の従来技術の方法を表す平均的なシーク
時間(例えばディスクのソーティングによる)及び最悪
の場合のバンド幅ディスク転送(例えばバンド幅の管理
がされない)について考えてみる。バッファアクセス時
間は、10.5+seektime 11.2/2+回
転待ち時間(9.1×11.2+低速ゾーン転送2.5
+9×1)+トラック切替時間=130msとなり、即
ち約3.8ms/ディスクとなる。7200rpmのデ
ィスクに対しては、バッファアクセス時間は98.8m
sとなり、ディスク当たりのストリームの数は約5.1
となる。このような従来技術の方法に対し、本発明の第
1実施例では20%の改善がなされ、第2実施例では1
4%の改善が得られることが分かる。
時間(例えばディスクのソーティングによる)及び最悪
の場合のバンド幅ディスク転送(例えばバンド幅の管理
がされない)について考えてみる。バッファアクセス時
間は、10.5+seektime 11.2/2+回
転待ち時間(9.1×11.2+低速ゾーン転送2.5
+9×1)+トラック切替時間=130msとなり、即
ち約3.8ms/ディスクとなる。7200rpmのデ
ィスクに対しては、バッファアクセス時間は98.8m
sとなり、ディスク当たりのストリームの数は約5.1
となる。このような従来技術の方法に対し、本発明の第
1実施例では20%の改善がなされ、第2実施例では1
4%の改善が得られることが分かる。
【0089】理解されるように、本発明の第1の実施例
では、いくつかの付加的なバッファ記憶装置を用いるこ
とによって半端なハードディスク容量を使用することが
可能となっている。例えば、各ハードディスクが単位時
間(タイムインターバル)当たり1ディスクにつき4.
5個のストリームをサポートできる場合、従来技術のサ
ーバではディスク当たり4個のストリームに限定されて
いた。即ち、そのようなサーバはディスク当たり0.5
ストリーム分の半端な容量を使用することができなかっ
た。
では、いくつかの付加的なバッファ記憶装置を用いるこ
とによって半端なハードディスク容量を使用することが
可能となっている。例えば、各ハードディスクが単位時
間(タイムインターバル)当たり1ディスクにつき4.
5個のストリームをサポートできる場合、従来技術のサ
ーバではディスク当たり4個のストリームに限定されて
いた。即ち、そのようなサーバはディスク当たり0.5
ストリーム分の半端な容量を使用することができなかっ
た。
【0090】しかしながら、本出願人によって開発され
た“ワーク・アヘッド(work-ahead)”法を用いること
により、本発明に基づくサーバはそのような余分なバン
ド幅を用いて、更なるクライアントをサポートすること
ができる。
た“ワーク・アヘッド(work-ahead)”法を用いること
により、本発明に基づくサーバはそのような余分なバン
ド幅を用いて、更なるクライアントをサポートすること
ができる。
【0091】本出願人によるワーク・アヘッド法による
と、1タイムインターバルに於ける1スロットに対する
ハードディスクアクセスが完了すると、そのハードディ
スクは次のスロットがそのディスクにアクセスすること
ができるように素早く使用可能となる。入場制御サブシ
ステム110は、システム全体の負荷がハードディスク
サブシステム90の総容量以上にならないように働く
が、その結果、ハードディスクサブシステム90は常に
必要とされるより多くのデータを供給することができ、
長期レートミスマッチが存在することとなる。ワーク・
アヘッド法では、このミスマッチを活用する。定常状態
に於いて、ビデオシステムは、クライアントユーザにデ
ータを供給するのに必要とされるよりも概ね1タイムピ
リオドだけ先行する。別の言い方をすると、ワーク・ア
ヘッド法の実施例では、ディスクスケジュールユニット
200(図1参照)内に“スラック時間(slack tim
e)”が設けられる。
と、1タイムインターバルに於ける1スロットに対する
ハードディスクアクセスが完了すると、そのハードディ
スクは次のスロットがそのディスクにアクセスすること
ができるように素早く使用可能となる。入場制御サブシ
ステム110は、システム全体の負荷がハードディスク
サブシステム90の総容量以上にならないように働く
が、その結果、ハードディスクサブシステム90は常に
必要とされるより多くのデータを供給することができ、
長期レートミスマッチが存在することとなる。ワーク・
アヘッド法では、このミスマッチを活用する。定常状態
に於いて、ビデオシステムは、クライアントユーザにデ
ータを供給するのに必要とされるよりも概ね1タイムピ
リオドだけ先行する。別の言い方をすると、ワーク・ア
ヘッド法の実施例では、ディスクスケジュールユニット
200(図1参照)内に“スラック時間(slack tim
e)”が設けられる。
【0092】ワーク・アヘッド法を用いることにより、
入場制御手段110は長期的な負荷がハードディスクの
容量以下に維持されるようにしつつ、例えば1スロット
に過剰なストリームを割り当てることにより、意図的に
短期的な負荷を過負荷にすることができる。この方法に
より、新たなクライアントがストリームデータを受信す
るのに待たなければならない時間が短くなる。更に、ス
ラック時間を用いることにより、クライアント全体の数
を増やすことができる。
入場制御手段110は長期的な負荷がハードディスクの
容量以下に維持されるようにしつつ、例えば1スロット
に過剰なストリームを割り当てることにより、意図的に
短期的な負荷を過負荷にすることができる。この方法に
より、新たなクライアントがストリームデータを受信す
るのに待たなければならない時間が短くなる。更に、ス
ラック時間を用いることにより、クライアント全体の数
を増やすことができる。
【0093】例えば、ディスク容量が、各タイムインタ
ーバルにディスクが4.5人のクライアントをサポート
することができるような容量の場合、入場制御手段は4
つのストリームが割り当てられたスロットと5つのスト
リームが割り当てられたスロットの間で切り替えること
ができる。スロットに5つのストリームが割り当てられ
ていると、1タイムインターバルではディスクの読み出
しを行うことはできないが、各スロット対は2タイムイ
ンターバルで完了することができる。ワーク・アヘッド
法により生成されたスラック時間のため、クライアント
はサービスの遅滞を意識することなく映像を見ること及
び/または音声を聞くことができる。
ーバルにディスクが4.5人のクライアントをサポート
することができるような容量の場合、入場制御手段は4
つのストリームが割り当てられたスロットと5つのスト
リームが割り当てられたスロットの間で切り替えること
ができる。スロットに5つのストリームが割り当てられ
ていると、1タイムインターバルではディスクの読み出
しを行うことはできないが、各スロット対は2タイムイ
ンターバルで完了することができる。ワーク・アヘッド
法により生成されたスラック時間のため、クライアント
はサービスの遅滞を意識することなく映像を見ること及
び/または音声を聞くことができる。
【0094】また、ワーク・アヘッド法によりサーバ2
0にハードディスクサブシステム90に於ける非決定性
に対し耐性が与えられる。セクタのリトライ、不良ブロ
ックのスキップのような典型的な障害によって、ディス
ク転送は20ms乃至100ms遅れる。また、熱に対
する再較正によってもたらされる遅れは通常50ms乃
至300msの範囲に渡る。特にメディアサーバ用に設
計されたディスクでは、再較正時間はこの範囲の下限値
である。サーバの基本的なタイムインターバルを0.5
秒(500ms)に設定することにより、サーバは生成
されたスラック時間を消費しつつ障害を概ね吸収し、ク
ライアントのストリームに影響を与えないようにするこ
とができる。障害が永続的でない限り(ディスクの故障
など)、サーバはスラック時間を素早く回復し、サービ
スに障害を来すことはない。
0にハードディスクサブシステム90に於ける非決定性
に対し耐性が与えられる。セクタのリトライ、不良ブロ
ックのスキップのような典型的な障害によって、ディス
ク転送は20ms乃至100ms遅れる。また、熱に対
する再較正によってもたらされる遅れは通常50ms乃
至300msの範囲に渡る。特にメディアサーバ用に設
計されたディスクでは、再較正時間はこの範囲の下限値
である。サーバの基本的なタイムインターバルを0.5
秒(500ms)に設定することにより、サーバは生成
されたスラック時間を消費しつつ障害を概ね吸収し、ク
ライアントのストリームに影響を与えないようにするこ
とができる。障害が永続的でない限り(ディスクの故障
など)、サーバはスラック時間を素早く回復し、サービ
スに障害を来すことはない。
【0095】このワーク・アヘッド法の特徴を、1タイ
ムインターバルだけ先行した位置からのアクセスのみを
許可するよう制約することもできる。なぜなら、許され
たワーク・アヘッドの各ステップは新たなストリームに
対するスタートアップ時間を増大させるからである。更
に、ワーク・アヘッドの各ステップは、アクセスされる
データをそれらが必要とされるまで保持するためのメモ
リバッファを余分に必要とする。
ムインターバルだけ先行した位置からのアクセスのみを
許可するよう制約することもできる。なぜなら、許され
たワーク・アヘッドの各ステップは新たなストリームに
対するスタートアップ時間を増大させるからである。更
に、ワーク・アヘッドの各ステップは、アクセスされる
データをそれらが必要とされるまで保持するためのメモ
リバッファを余分に必要とする。
【0096】好適実施例をビデオ情報の格納及び伝送に
関して説明してきたが、本発明は情報が音声情報である
場合にも、または音声と映像の複合である場合にも用い
ることができる。
関して説明してきたが、本発明は情報が音声情報である
場合にも、または音声と映像の複合である場合にも用い
ることができる。
【0097】開示した実施例に対し、特許請求の範囲に
よって画定される本発明の主題及び思想から逸脱するこ
となく変形及び変更を加えることができるだろう。
よって画定される本発明の主題及び思想から逸脱するこ
となく変形及び変更を加えることができるだろう。
【図1】図1は、本発明に基づいてビデオ情報を格納す
るネットワークサーバを含むビデオ情報を送るためのネ
ットワークを表しいる。
るネットワークサーバを含むビデオ情報を送るためのネ
ットワークを表しいる。
【図2】図2は、本発明に従ってビデオ情報を格納する
サーバシステムを含むビデオディスプレーシステムを表
している。
サーバシステムを含むビデオディスプレーシステムを表
している。
10 音声及びビデオ情報源 20 サーバ 30 ネットワーク 40 デコーダ 50 CPU 60 ビデオエンコーダ 70 音声、ビデオ及びテキスト情報の同期手段 80 ディスクレイアウト装置 90 ディスクユニット(ビデオ信号記憶装置) 100 音声情報記憶装置 110 入場制御手段 120 エラー復元手段 130 ネットワークインタフェース 140 CPU 145 音声及びビデオ情報を同期させる手段 150 音声デコーダ 160 ビデオデコーダ 180 テレビ 190 スピーカ 200 ディスクヘッドスケジューラ 220 メモリ(ROM) 230 バッファシステム
フロントページの続き (72)発明者 スティーブ・クライマン アメリカ合衆国カリフォルニア州94027・ ロスアルトス・エルモンテコート 157
Claims (10)
- 【請求項1】 ビデオサーバシステムに於いて概ね平
均的なハードディスクドライブ転送バンド幅を達成する
ための方法であって、前記ビデオサーバシステムはD個
のハードディスクドライブを有し、ビデオ情報のブロッ
クがバッファユニットに転送される前に前記ハードディ
スクドライブに格納されるようになっており、 (a)前記ハードディスクドライブの各々をZ個の格納
ゾーンに分割する過程と、 (b)前記格納ゾーンの各々が概ね等しい数のビデオ情
報のブロックを含むように、前記ビデオ情報の各々を前
記格納ゾーン全体に渡って格納する過程と、 (c)前記ビデオサーバシステムに対し、前記ゾーンの
各々を使用する概ね等しい数のスロット当たりのユーザ
ストリームを定義する過程であって、前記ユーザストリ
ームの総数Sが前記ビデオサーバシステムにある時間に
於いてアクセスすることのできるユーザの最大数を表す
ような該過程とを有し、 各スロットに対する最悪の場合のバンド幅が前記ゾーン
の各々からの転送に対する最悪の場合のバンド幅情報が
与えられたとき決定可能であることを特徴とする方法。 - 【請求項2】 前記過程(b)に於いて、前記ビデオ
情報の格納過程が、(i)前記ビデオ情報の各々を前記
D個のハードディスクの全体に渡って、前記D個のハー
ドディスクドライブの各々が概ね等しい数のビデオ情報
ブロックを含むように格納する過程、(ii)前記ビデ
オ情報の各々に対し、ビデオ情報ブロックiがハードデ
ィスクドライブ(i mod D)に格納されるように
する過程、(iii)前記ビデオ情報の各々に対し、ビ
デオ情報ブロックiがハードディスクドライブ(i m
od D)のゾーン((i/D) mod Z)に格納
されるようにする過程、及び(iv)前記ビデオ情報の
各々に対し、ビデオ情報ブロックiがハードディスクド
ライブ(i mod D)のゾーン(((i/D)+
(i mod D)) mod Z)に格納されるよう
にする過程からなるグループから選択される過程により
なされることを特徴とする請求項1に記載の方法。 - 【請求項3】 前記過程(c)に於いて、前記ユーザ
ストリームが前記スロットに、(i)各スロットがN=
S/D個のストリームを含むように編成する過程、及び
(ii)各スロットがN=S/D個のストリームを含
み、前記スロット中のストリームに対するデータが前記
バッファユニットに順に格納され、前記バッファユニッ
トへの読み込み及び前記バッファユニットからの送出が
順になされるように編成する過程からなるグループから
選択される過程によって編成されることを特徴とする請
求項1または請求項2に記載の方法。 - 【請求項4】 (d)前記D個のハードディスクドラ
イブから情報をシークする過程であって、N個の順にな
されるシークのセットの最も近い端へ移動し、その後前
記セットを通して最も近い位置に進むようにしてシーク
を行う該過程を更に含み、 それによって概ね平均的なハードディスクドライブシー
ク時間が達成されることを特徴とする請求項1乃至請求
項3の何れかに記載の方法。 - 【請求項5】 前記ビデオサーバシステムが、(i)
N個のアクセスのセットに対する総シーク時間がN×s
eek(1.5/N)以下となること、(ii)少なく
とも6ストリーム/ハードディスクドライブが前記ビデ
オサーバシステムによりサポート可能であること、(i
ii)前記ビデオサーバシステムバッファユニットがス
トリーム当たり少なくとも2つのバッファを備えてお
り、ある任意のタイムインターバルに於いて前記バッフ
ァの一方が前記ハードディスクドライブからビデオ情報
ブロックを受信し、前記バッファの他方が前記ユーザへ
とビデオ情報ブロックを供給するようになっており、前
記供給されるビデオ情報ブロックが直前のタイムインタ
ーバルで受信されたものであること、(iv)前記ビデ
オサーバシステムのバッファユニットが、各々256K
Bの記憶容量を有し約500msで256KBのビデオ
情報ブロックを転送するバッファのセットを含んでいる
こと、及び(v)前記ビデオサーバシステムが少なくと
も2人のユーザに対しネットワークを介して非同期に少
なくとも2つの前記ビデオ情報を供給できることからな
るグループから選択される性能特性を少なくとも一つ備
えていることを特徴とする請求項1乃至請求項4の何れ
かに記載の方法。 - 【請求項6】 ビデオサーバシステムに於いて概ね平
均的なハードディスクドライブ転送バンド幅及び概ね平
均的なハードディスクドライブシーク時間を達成するた
めの方法であって、前記ビデオサーバシステムはD個の
ハードディスクドライブを有し、ビデオ情報のブロック
がバッファユニットに転送されてネットワークを介して
複数のユーザに向けて送出される前に前記ハードディス
クドライブに格納されるようになっており、 (a)前記ハードディスクドライブの各々をZ個の格納
ゾーンに分割する過程と、 (b)前記ビデオ情報の各々に対し、ビデオ情報ブロッ
クiがハードディスクドライブ(i mod D)のゾ
ーン((i/D) mod Z)内に格納されるように
する過程と、 (c)前記ビデオサーバシステムに対し、前記ゾーンの
各々を用いるN=S/D個のスロット当たりのユーザス
トリームを定義する過程であって、前記ユーザストリー
ムの総数Sがある時間に於いて前記ビデオサーバシステ
ムの性能を大幅に低下させることなく前記ビデオサーバ
システムにアクセスすることのできるユーザの最大数を
表し、各スロットに対する最悪の場合のバンド幅が前記
ゾーンの各々からの転送に対する最悪の場合のバンド幅
情報が与えられたとき決定可能であるような該過程と、 (d)前記D個のハードディスクドライブから情報をシ
ークする過程であって、N個の順になされるシークのセ
ットの最も近い端へ移動し、その後前記セットを通して
最も近い位置に進むようにしてシークを行う該過程とを
含むことを特徴とする方法。 - 【請求項7】 前記過程(a)に於いて、Z=2であ
り、前記ビデオサーバシステムバッファユニットがスト
リーム当たり少なくとも2つのバッファを備えており、
ある任意のタイムインターバルに於いて前記バッファの
一方が前記ハードディスクドライブからビデオ情報ブロ
ックを受信し、前記バッファの他方が前記ユーザへとビ
デオ情報ブロックを供給するようになっており、前記供
給されるビデオ情報ブロックが直前のタイムインターバ
ルで受信されたものであることを特徴とする請求項6に
記載の方法。 - 【請求項8】 ビデオサーバと共に使用されるディス
クレイアウトユニットであって、前記ビデオサーバはD
個のハードディスクドライブを有し、ビデオ情報がバッ
ファへ送られる前に前記ハードディスクに格納されるよ
うになっており、更に前記ハードディスクドライブは各
々Z個の格納ゾーンに分割可能であり、前記ビデオ情報
の各々はi個のブロックに分割可能であり、 当該ディスクレイアウトユニットが、 各ビデオ情報の各々が、前記格納ゾーンの各々が概ね等
しい数のビデオ情報ブロックを含むように、前記格納ゾ
ーンの全体に渡って格納されるようにする手段を含んで
おり、 前記手段が、(i)該手段によって、前記ビデオ情報の
各々が、前記D個のハードディスクドライブの各々が概
ね等しい数のビデオ情報ブロックを含むように、前記D
個のハードディスクドライブの全てに渡って格納される
こと、(ii)該手段によって、前記ビデオ情報の各々
に対しビデオ情報ブロックiがハードディスクドライブ
(i mod D)に格納されること、(iii)該手
段によって、前記ビデオ情報の各々に対しビデオ情報ブ
ロックiがハードディスクドライブ(i mod D)
のゾーン((i/D) mod Z)に格納されるこ
と、及び(iv)前記ユーザストリームの各々が、各ス
ロットがN=S/D個のストリームを含むように前記ス
ロットに編成されることからなるグループから選択され
る特性を少なくとも一つ有しており、 前記ゾーンの各々を使用する概ね等しい数のスロット当
たりのユーザストリームが定義されており、前記ユーザ
ストリームの総数Sが前記ビデオサーバシステムにある
時間に於いてアクセス可能なユーザの最大数を表してお
り、 各スロットに対する最悪の場合のバンド幅が前記ゾーン
の各々からの転送に対する最悪の場合のバンド幅情報が
与えられたとき決定可能であり、 概ね平均的なハードディスクドライブシーク時間が達成
されることを特徴とするディスクレイアウトユニット。 - 【請求項9】 ビデオサーバシステムに於いて概ね平
均的なハードディスクドライブ転送バンド幅を達成する
ためのシステムであって、前記ビデオサーバシステムは
D個のハードディスクドライブを有しており、各ハード
ディスクドライブはZ個の格納ゾーンに分割可能であ
り、ビデオ情報のブロックがバッファユニットへと転送
される前に前記ハードディスクドライブに格納されるよ
うになっており、当該システムは、 前記ビデオ情報の各々が、前記格納ゾーンの各々が概ね
等しい数のビデオ情報ブロックを有するように、前記格
納ゾーンの全体に渡って格納されるようにするディスク
レイアウトユニットであって、該ディスクレイアウトユ
ニットによって、前記ビデオ情報の各々は、(i)前記
D個のハードディスクドライブの各々が概ね等しい数の
ビデオ情報ブロックを含むように前記D個のハードディ
スクドライブの全てに渡って格納する過程、(ii)前
記ビデオ情報の各々に対し、ビデオ情報ブロックiがハ
ードディスクドライブ(i mod D)に格納される
ようにする過程、(iii)前記ビデオ情報の各々に対
し、ビデオ情報ブロックiがハードディスクドライブ
(i mod D)のゾーン((i/D) modZ)
内に格納されるようにする過程からなるグループから選
択される過程によって格納される該ディスクレイアウト
ユニットと、 前記ゾーンの各々を使用する概ね等しい数のスロット当
たりのユーザストリームを定義する入場制御手段であっ
て、前記ユーザストリームの総数Sがある時間に於ける
前記ビデオサーバーシステムにアクセスすることができ
るユーザの最大数を表すような該入場制御手段とを有
し、 各スロットに対する最悪の場合のバンド幅が前記ゾーン
の各々からの転送に対する最悪の場合のバンド幅情報が
与えられたとき決定可能であることを特徴とするシステ
ム。 - 【請求項10】 前記入場制御手段によって、前記ユ
ーザストリームは各スロットがN=S/D個のストリー
ムを含むように前記スロットに編成され、 当該システムは、前記D個のハードディスクドライブの
出力に接続されたバッファユニットを有しており、前記
スロットが前記バッフアユニットに順に格納され、前記
バッファユニットへの読み込み及び前記バッファユニッ
トからの送出が順になされるようになっており、 更に、当該システムでは、前記D個のハードディスクド
ライブからの情報のシークが、N個の順になされるシー
クのセットの最も近い端へ移動し、その後前記セットを
通して最も近い位置に進むようにしてシークがなされる
ことによって可能となっており、 概ね平均的なハードディスクドライブシーク時間が達成
されることを特徴とする請求項9に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/446,144 US5852705A (en) | 1995-05-22 | 1995-05-22 | Method and apparatus for guaranteeing average case disk transfer bandwidth and seek time for a video server |
US08/446,144 | 1995-05-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09154109A true JPH09154109A (ja) | 1997-06-10 |
JP3308814B2 JP3308814B2 (ja) | 2002-07-29 |
Family
ID=23771479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14986096A Expired - Fee Related JP3308814B2 (ja) | 1995-05-22 | 1996-05-21 | ビデオサーバシステムに於いて平均的なシーク時間及びバンド幅を達成するための方法及びシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5852705A (ja) |
EP (1) | EP0744868B1 (ja) |
JP (1) | JP3308814B2 (ja) |
DE (1) | DE69614448D1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002522865A (ja) * | 1998-07-31 | 2002-07-23 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ディスクゾーンを縞状に横切るデータ分布 |
JP2002529878A (ja) * | 1998-10-30 | 2002-09-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 記憶システム |
KR100668207B1 (ko) * | 1999-12-13 | 2007-01-11 | 주식회사 케이티 | 실시간 자원 관측에 기반한 사용자 수용 제어 방법 |
JP2009146509A (ja) * | 2007-12-14 | 2009-07-02 | Nec Corp | ディスク帯域幅算出システム、方法、及びプログラム |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002720A (en) | 1991-01-07 | 1999-12-14 | H. Lee Browne, D/B/A Greenwich Information Technologies Llc | Audio and video transmission and receiving system |
US5253275A (en) | 1991-01-07 | 1993-10-12 | H. Lee Browne | Audio and video transmission and receiving system |
US6237063B1 (en) * | 1997-10-06 | 2001-05-22 | Emc Corporation | Load balancing method for exchanging data in different physical disk storage devices in a disk array storage device independently of data processing system operation |
US6189071B1 (en) * | 1997-10-06 | 2001-02-13 | Emc Corporation | Method for maximizing sequential output in a disk array storage device |
WO1999050849A1 (fr) * | 1998-03-27 | 1999-10-07 | Sony Corporation | Dispositifs et procedes de sortie de donnees, et d'entree/sortie de donnees |
US6788882B1 (en) | 1998-04-17 | 2004-09-07 | Timesurf, L.L.C. | Systems and methods for storing a plurality of video streams on re-writable random-access media and time-and channel- based retrieval thereof |
US7272298B1 (en) | 1998-05-06 | 2007-09-18 | Burst.Com, Inc. | System and method for time-shifted program viewing |
US6411770B1 (en) * | 1998-07-02 | 2002-06-25 | Sony Corporation | Data recording method and apparatus |
US8380041B2 (en) | 1998-07-30 | 2013-02-19 | Tivo Inc. | Transportable digital video recorder system |
US7558472B2 (en) | 2000-08-22 | 2009-07-07 | Tivo Inc. | Multimedia signal processing system |
US8577205B2 (en) | 1998-07-30 | 2013-11-05 | Tivo Inc. | Digital video recording system |
US6233389B1 (en) | 1998-07-30 | 2001-05-15 | Tivo, Inc. | Multimedia time warping system |
US6622171B2 (en) * | 1998-09-15 | 2003-09-16 | Microsoft Corporation | Multimedia timeline modification in networked client/server systems |
US6763439B1 (en) * | 2000-05-01 | 2004-07-13 | Microsoft Corporation | Disk throttling and priority queuing for streaming I/O |
US7302490B1 (en) | 2000-05-03 | 2007-11-27 | Microsoft Corporation | Media file format to support switching between multiple timeline-altered media streams |
US7196862B1 (en) | 2000-09-11 | 2007-03-27 | Maxtor Corporation | Coherent phase data segment layout in data storage device |
US6839802B2 (en) * | 2000-12-08 | 2005-01-04 | International Business Machines Corporation | Method, system, and program for writing files to zone formatted storage media to improve data transfer rates |
US7330900B2 (en) * | 2001-07-06 | 2008-02-12 | Dialogic Corporation | Low-latency packet processor |
US7250098B2 (en) * | 2001-09-28 | 2007-07-31 | Applera Corporation | Multi-capillary array electrophoresis device |
EP1813111A2 (en) | 2004-11-19 | 2007-08-01 | Tivo, Inc. | Method and apparatus for secure transfer of previously broadcasted content |
US7836107B2 (en) * | 2007-12-20 | 2010-11-16 | Microsoft Corporation | Disk seek optimized file system |
US20090241151A1 (en) * | 2008-03-21 | 2009-09-24 | Dish Network L.L.C. | Systems and methods for remotely controlling a consumer device |
US20100071007A1 (en) * | 2008-09-12 | 2010-03-18 | Echostar Global B.V. | Method and Apparatus for Control of a Set-Top Box/Digital Video Recorder Using a Mobile Device |
US8244106B2 (en) * | 2008-12-24 | 2012-08-14 | Echostar Technologies L.L.C. | Apparatus and methods for resolving recording conflicts of a digital video recorder |
US9323670B2 (en) | 2010-12-13 | 2016-04-26 | Seagate Technology Llc | Protecting volatile data of a storage device in response to a state reset |
US9280477B2 (en) | 2010-12-13 | 2016-03-08 | Seagate Technology Llc | Data storage management in a memory device |
CN103888789A (zh) * | 2012-12-20 | 2014-06-25 | 中山大学深圳研究院 | 信息分布系统中的内容分发方法 |
KR102017699B1 (ko) * | 2013-03-04 | 2019-09-03 | 엘지전자 주식회사 | 디지털 디스플레이 디바이스 및 그 제어 방법 |
US9612956B2 (en) | 2013-03-15 | 2017-04-04 | Seagate Technology Llc | Multi-tiered caching for data storage management in a device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341474A (en) * | 1992-05-15 | 1994-08-23 | Bell Communications Research, Inc. | Communications architecture and buffer for distributing information services |
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 |
US5510905A (en) * | 1993-09-28 | 1996-04-23 | Birk; Yitzhak | Video storage server using track-pairing |
US5530557A (en) * | 1994-09-12 | 1996-06-25 | International Business Machines Corporation | Online placement of video files determined by a function of the bandwidth to space ratio of each of the storage devices in a server environment |
US5649093A (en) | 1995-05-22 | 1997-07-15 | Sun Microsystems, Inc. | Server disk error recovery system |
-
1995
- 1995-05-22 US US08/446,144 patent/US5852705A/en not_active Expired - Lifetime
-
1996
- 1996-05-20 DE DE69614448T patent/DE69614448D1/de not_active Expired - Lifetime
- 1996-05-20 EP EP96303565A patent/EP0744868B1/en not_active Expired - Lifetime
- 1996-05-21 JP JP14986096A patent/JP3308814B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002522865A (ja) * | 1998-07-31 | 2002-07-23 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ディスクゾーンを縞状に横切るデータ分布 |
JP2002529878A (ja) * | 1998-10-30 | 2002-09-10 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 記憶システム |
KR100668207B1 (ko) * | 1999-12-13 | 2007-01-11 | 주식회사 케이티 | 실시간 자원 관측에 기반한 사용자 수용 제어 방법 |
JP2009146509A (ja) * | 2007-12-14 | 2009-07-02 | Nec Corp | ディスク帯域幅算出システム、方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP0744868A3 (en) | 1997-05-28 |
DE69614448D1 (de) | 2001-09-20 |
US5852705A (en) | 1998-12-22 |
EP0744868B1 (en) | 2001-08-16 |
JP3308814B2 (ja) | 2002-07-29 |
EP0744868A2 (en) | 1996-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3308814B2 (ja) | ビデオサーバシステムに於いて平均的なシーク時間及びバンド幅を達成するための方法及びシステム | |
US5758151A (en) | Serial data storage for multiple access demand | |
US6209024B1 (en) | Method and apparatus for accessing an array of data storage devices by selectively assigning users to groups of users | |
JP3136269B2 (ja) | ビデオサービス提供方法及びビデオサーバ | |
US5581784A (en) | Method for performing I/O's in a storage system to maintain the continuity of a plurality of video streams | |
JP3617089B2 (ja) | 映像蓄積配送装置及び映像蓄積配送システム | |
EP1262062B1 (en) | A disk scheduling system with reordering of a bounded number of requests | |
CA2195431C (en) | Multiple user data storage, retrieval and distribution system | |
US5732239A (en) | Method for operating a disk storage system which stores video data so as to maintain the continuity of a plurality of video streams | |
US6061732A (en) | Data streaming system utilizing an asynchronous technique for retrieving data from a stream server | |
WO1998028915A2 (en) | Method and system for supplying data streams | |
JPH11504175A (ja) | アーカイブ記録と高速アクセス記録を組み合せた家庭用デジタル・ビデオ・ユニット | |
US6205525B1 (en) | System for supplying data steams | |
CN1426552A (zh) | 用于访问存储介质上的数据块的系统和方法 | |
JP2000232622A (ja) | データ蓄積装置および方法、ならびに、データ送出装置および方法 | |
JP2003536329A (ja) | 記憶媒体からブロックを読み出すための方法及びシステム | |
US6477541B1 (en) | Multimedia server | |
US5737577A (en) | Complementary block storage for breater minimumdata transfer rate | |
Wu et al. | Scheduling for interactive operations in parallel video servers | |
US20040250039A1 (en) | System and method for using swappable storage for high data content multi-source data storage | |
US20040250016A1 (en) | System and method for using swappable storage for storing program data | |
JP2006520509A (ja) | 多数の使用者取得に関して番組をディスクに記録する方法及びシステム | |
KR20050088427A (ko) | 디스크 스케쥴링 알고리즘의 브리딩을 개선시키는 방법 및장치 | |
JP2000348468A (ja) | データ記録再生装置及びデータ記録再生方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |