JP2003536329A - 記憶媒体からブロックを読み出すための方法及びシステム - Google Patents

記憶媒体からブロックを読み出すための方法及びシステム

Info

Publication number
JP2003536329A
JP2003536329A JP2002503021A JP2002503021A JP2003536329A JP 2003536329 A JP2003536329 A JP 2003536329A JP 2002503021 A JP2002503021 A JP 2002503021A JP 2002503021 A JP2002503021 A JP 2002503021A JP 2003536329 A JP2003536329 A JP 2003536329A
Authority
JP
Japan
Prior art keywords
blocks
read
block
cycle
storage unit
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.)
Pending
Application number
JP2002503021A
Other languages
English (en)
Inventor
ハー エム コルスト,ヨハネス
エフネル,セバスティアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Philips Electronics NV filed Critical Philips Electronics NV
Publication of JP2003536329A publication Critical patent/JP2003536329A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • H04N21/2326Scheduling disk or memory reading operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • G11B2220/415Redundant array of inexpensive disks [RAID] systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/002Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

(57)【要約】 システム(100)は、複数の記憶ユニット(108)を含む記録媒体(110)を有する。マルチメディアタイトルは、記録媒体(110)に、多数のブロックとして格納され、これにより、幾つかのブロックは、複数回格納され、異なる記憶ユニット(108)が当該ブロックのコピーを包含するようになる。ユーザへの供給用の記憶媒体(110)からのブロックの取り出しは、周期的に繰り返して実行され、システムは、幾つかのブロックに対して、記憶ユニット(108)への負荷のバランスをとるため、どの記憶ユニット(108)から当該ブロックが取り出されるかを選択する自由を有する。更に、システム(100)は、どのブロックが近い将来必要とされるかを決定するため多数の周期の先を予測するように構成され、これら将来的なブロックを、記憶ユニット完全に満たされていない場合には、より早く取り出すように構成されている。より早い時間でのブロックの取り出しを予定する更なる自由は、記憶ユニットへの負荷のバランスを取るための更なる機構をもたらす。

Description

【発明の詳細な説明】
【0001】 本発明は、記憶媒体からデータのブロックを周期的に繰り返して取り出し、ユ
ーザにデータストリーム形式のブロックを供給するためのシステムであって、多
数のブロックが記憶媒体の各々の記憶ユニットに複数回格納される、システムに
関する。
【0002】 更に、本発明は、記憶媒体からデータのブロックを周期的に繰り返して取り出
し、ユーザにデータストリーム形式のブロックを供給するための方法であって、
多数のブロックが記憶媒体の各々の記憶ユニットに複数回格納される、方法に関
する。
【0003】 WO98/54657により公開された国際出願は、マルチメディアサーバーに使用され
てよいシステム、より詳細には、オン・デマンド式の映像サーバー若しくは略オ
ン・デマンド式の映像サーバーについて言及している。このシステムの要求は、
使用中の各ユーザに、連続的で妨害のないデータストリームを供給することであ
る。データは、RAIDシステムのようなディスクアレイ状に配列された、ハー
ドディスクのような、従来型の記憶媒体により読み出される。消費レート固定型
システムにおいて、データは、ユーザに、レート固定型のデータストリームとし
て供給される。通常、このレートは、システムにおいて各ストリームに対して同
一である。かかるシステムの一例は、略オン・デマンド式の映像システムであり
、この場合、多くのフィルムが、同時に再生され、同一のフィルムは、複数回同
時に再生されてよく、かかる場合、規則的に、例えば15分間ほど、同一のフィ
ルムの新たな複写物が開始される。消費レート可変型システムにおいては、ユー
ザがデータを消費するレートは、時間にわたり変化する。最大の消費レートは、
各データストリームに対して定義できる。実際には、同一の最大消費レートが総
てのストリームに対して使用されるが、異なる消費レートでストリームを支援す
ることも可能である。消費レート可変型システムは、例えば、停止若しくはスロ
ーモーションといったVCRのような機能を支援するシステム、或いは、MEP
G2のような可変のビットレートによるデータ圧縮技術を使用するシステムに対
して使用される。
【0004】 連続的なストリームとしてユーザにデータを供給するため、ディスクからデー
タを読み出すための特別なスケジューリング・スキームが、データがユーザに供
給される前に読み出されたデータを一次的にバッファリングするための適切なス
キームと共に、必要とされる。システムは、周期的に繰り返し動作し、一周期で
、ストリームが、バッファーからデータを消費し、新たなデータがディスクから
読み出され、更なる消費用にバッファーに供給される。消費レート固定型システ
ムでは、各ストリームに対して固定された規則的な間隔で、データの固定量(一
の周期で持続するのに十分な)が読み出され、バッファーに格納される。消費レ
ート可変型システムでは、異なるストリームが、異なる瞬間にバッファーの所定
のブロックを空にしてよい。1周期の間、データは、データのブロック用の部屋
を有するバッファーを有したストリームに対してのみ読み出される。他のストリ
ームは、スキップされる。結果として、可変型消費システムでの1周期の持続時
間は、可変であり、総てのアクティブなストリームが新たなデータのブロックを
必要とする状況により区分されている。
【0005】 公知のシステムの記憶媒体は、多数の独立した記憶ユニットを含む。記憶ユニ
ットの性能は、制限されており、システムは、各記憶が、最大の持続時間の1周
期の間に、ある最大数のデータブロックを読み出すことができるように、設計さ
れている。通常の動作中、総ての記憶ユニットは、要求により過負荷とされるべ
きでない、即ち一の周期でこの最大数のブロックより多いデータブロックを読み
出すように要求されるべきでない。記憶ユニットの全体のバンド幅を改善するた
め、公知システムでは、データブロックの部分が記憶媒体に複数回格納され、こ
れにより、異なるブロックのコピーは、ランダムに選択された、異なる記憶ユニ
ットに格納される。このとき、システムのスケジューラは、コピーがある記憶ユ
ニットの1の記憶ユニットからの、かかる複写されたブロックの取り出しを選択
する自由を有する。この自由は、記憶ユニットの負荷のバランス調整のために使
用され、記憶ユニット全体として、周期当たりにより多くのデータブロックを読
み出すことができるようになる。一切の記憶ユニットが過負荷されていない確率
は、複数回格納されるデータブロックの部分をより大きい部分で選択することに
よって、任意的に高く選択することができる。
【0006】 本発明の目的は、記憶ユニットのより効率の良い使用を実現する冒頭部に定義
されるようなシステムを提供することにある。この目的は、記憶媒体からデータ
のブロックを複数の周期で取り出し、ユーザにデータストリーム形式で上記ブロ
ックを供給するためのシステムであって、多数の上記ブロックは、上記記憶媒体
の各々の記憶ユニットに複数回格納されており、計画期間にまたがる多数の周期
のうちの一の周期内に読み出すことができると予測されるブロックの集合を決定
する手段と、上記集合の各ブロックに対して、上記ブロックが格納される記憶ユ
ニットのセットから、上記ブロックが読み出される一の記憶ユニットを選択し、
上記記憶ユニットへの負荷のバランスをとるよう機能する、スケジューラと、ブ
ロック読み出し要求に応答して、対応するストリームに供給するための対応する
ブロックを、上記選択された記憶ユニットから読み出す、リーダとを含む、シス
テムによって達成される。
【0007】 幾つかのブロックに対して、どの記憶ユニットからブロックが読み出されるこ
とになるかを選択する自由に加えて、本発明のシステムは、幾つかのブロックに
対して、どの周期でブロックが読み出されることになるかを選択する自由を有す
る。この更なる自由は、あらゆる記憶ユニットが過負荷とならない確率を相当な
高さに維持する一方で、記憶ユニットに、ブロックのより少ない部分を複数回格
納するために使用できる。データブロックのより小さい部分を複写することによ
って、ユーザに供給されるべきフィルムを含むファイルを格納するのに必要とさ
れる記憶スペースが、明らかにより小さくなる。データブロックのより小さい部
分を複写することは、単一の周期の間にアクセスされる際の記憶ユニットへの過
負荷の確率の増加を生む。しかし、本発明のシステムは、多数の周期を先見し、
危険なブロック読み出し要求を他の周期に予定(スケジュール設定)することに
よって、過負荷状況を回避することができる。記憶ユニットに対して実際に過負
荷が発生する確率は、非常に小さい。これは、あるブロック読み出し要求を予定
できる周期のそれぞれに対して、如何なる追加的な読み出し要求も許容されるこ
とができない危険な状況が出現する場合にのみ、生じるからである。これは、各
周期単独に対してであって、複写されたブロックのより小さい部分による場合で
さえ、小さい確率である。それ故に、総ての等価の周期に対して発生する確率は
非常に小さい。
【0008】 データブロックのより小さい部分を複写することは、記憶ユニットに書き込ま
れるのに必要とされるデータがより少ないという、更なる効果を有する。かかる
より小さい記憶ユニットのバンド幅は、新たなタイトルを加えるために必要とさ
れる。新たなタイトルがオンラインで加えられるシステムにおいて、システムは
、ユーザにデータを供給するため動作状態にとどまるが、使用可能なバンド幅の
より少ない比率がデータを書き込むための確保に必要とされることは重要であり
、より大きい比率を、ユーザ用のデータの取り出しに割り当てることができので
、従って、より良いサービスをユーザに提供することを可能にする。
【0009】 本発明によるシステムの一実施例は、請求項2に記載されている。この実施例
は、現在の周期に読み出されなければならないブロックを特定し、現在の周期で
これらブロックを読み出す独立したスケジューリングを容易に可能とする。
【0010】 本発明によるシステムの一実施例は、請求項3に記載されている。集合の副集
合への分類によって、ブロック読み出し要求を、それらの必要性及び特性に従っ
て、別々に処理することができるようになる。
【0011】 本発明によるシステムの一実施例は、請求項4に記載されている。第2の副集
合に対する負荷のバランスをとることによって、記憶ユニットは、現在の周期の
間に、現在必要でないがおそらく近い将来に必要となるだろうブロックに対する
より多くの読み出し要求を予定するために使用可能なより大きな能力を有するよ
うになる。既に予定し、且つ、現在の周期でこれら将来的なブロックを読み出す
ことによって、将来の周期で過負荷がなくなる確率が、更に増大され、システム
の信頼性が向上される。或いは、代替的には、過負荷のない所与の高い確率に対
して、データブロックのより小さい部分が、この実施例では複写されるのに必要
とされるので、記憶容量を節約することになる。
【0012】 本発明によるシステムの一実施例は、請求項6に記載されている。計画期間中
の総ての周期に対する、予測されたブロック読み出し要求を考慮することによっ
て、より良好なスケジューリングがこれら周期の間に実現できる。これは、記憶
ユニットにより読み出すことができるブロックの全体数を増加させ、それ故に、
過負荷のない状況が発生する確率を増加させる。或いは、データブロックのより
小さい部分が、同一の確率を実現するため、複写される必要がある。
【0013】 本発明によるシステムの一実施例は、請求項7に記載されている。本発明のス
ケジューラのアルゴリズムは、ブロック読み出し要求のスケジュールを導出する
のにほとんど計算労力を必要としない。
【0014】 本発明の更なる目的は、記憶ユニットがより効率よく使用される冒頭部に定義
したような方法を提供することにある。この目的は、計画期間にまたがる多数の
周期のうちの一の周期内に読み出すことができると予測されるブロックの集合を
決定し、上記ブロックが格納される記憶ユニットのセットからの、上記ブロック
が読み出される一の記憶ユニットの選択を含む、上記記憶ユニットへの負荷のバ
ランスをとるような、上記集合の各ブロックに対する読み出し要求の予定を、実
行し、ブロック読み出し要求に応答して、対応するストリームに供給するための
対応するブロックを、上記選択された記憶ユニットから読み出すことを1周期に
含む、方法によって達成される。
【0015】 これより、本発明及びそれに伴う効果が、添付図面及び模範的実施例を用いて
、より解明されることになる。
【0016】 図1は、本発明のシステム100のブロック図を概略的に示す。かかるシステ
ム100の一例は、マルチメディアサーバーである。マルチメディアアプリケー
ションは、オーディビジュアル素材の広範な使用によって特徴付けることができ
る。音声若しくは映像のプレイバックのため、(略)連続的な音声/映像データ
の供給が必要とされる。マルチメディアサーバーの公知例は、略オン・デマンド
式の映像サーバー及びオン・デマンド式の映像サーバーを含む。略オン・デマン
ド式の映像システムでは、サービスプロバイダーは、タイトルが再生されるとき
を決定する。タイトルのデータを包含するデータストリームは、多くのユーザに
同時に受信されてよい。オン・デマンド式の映像システムでは、典型的には、ユ
ーザは、タイトルを選択し、VCRのような制御を用いて、タイトルの再生を制
御する。相互関係のレベルは、より高くなり、データストリームは、典型的には
、一のユーザによって消費されるのみである。マルチメディアサーバーは、通常
、膨大な数のユーザに同時に連続的なデータストリームを供給するように特別に
設計されているファイルサーバーを使用して、実現される。通常的には、1若し
くはそれ以上のマルチメディアタイトルが、バックグラウンドの記憶媒体110
に格納される。このとき、ハードディスクのような通常的なディスクが、その低
コストでの大きな記憶容量且つランダムアクセスの可能性に起因して、バックグ
ラウンドの記憶媒体110として使用される。光ディスク、テープ、若しくは固
体メモリのような他の記憶媒体も使用できることは、理解されるべきである。記
憶媒体110は、複数の記憶ユニット(102,104,106,108で指示
)に分割される。このように、記憶媒体110は、RAIDシステムのように記
憶ユニットのクラスターによって形成されてよい。ハードディスクのような記憶
ユニットは、それ自体で更に副分割されてよい(階層的なクラスターとなる)。
ディスクベースの記憶媒体を使用する典型的なオン・デマンド式の映像システム
では、記憶媒体110を形成する記憶ユニットの数は、通常、要求されるハンド
幅によって決定される。データストリームは、単位秒当たりcmaxデータ要素
の最大消費レートによって仕切られており、ここで、データ要素は、例えばバイ
トであってよい。異なるストリームは、再生される素材のコンテンツに依存する
別の最大消費レートを有してよく、例えば、音声ストリームは、映像ストリーム
よりも更に低い最大消費レートを有する。可変のビットレートで符号化されたM
PEG2資材に対して、最大消費レートは、典型的には、所望の品質に依存しつ
つ、約2若しくは15Mbit/secの間で選択されるだろう。多くのシステ
ムでは、データブロックは、ディスクの総て若しくは集合にわたってストリップ
される。データブロックに対する要求は、アレイ上の総ての(集合の)ディスク
へのアクセスという結果になる。この説明の目的のため、記憶媒体110が、安
定して高いバンド幅及び/又は記憶容量を備えた一の記憶ユニットにより形成さ
れていると想定する(実際には、一以上の記憶ユニットが使用されてよい)。実
際には、幾つかのデータストリームに対する最大消費レートは、例えば、対応す
るタイトルが、システムが通常的に設計される最悪条件よりも、より低い品質で
あり、或いは、異なる種類である(例えば、大部分のストリームは、音声及び映
像の合成に関するにもかかわらず、音声である場合)場合には、より低くなるこ
とがあることを理解されるべきである。
【0017】 システム100は、記憶媒体110からのデータを読み出すためのリーダ18
0を含む。リーダ180は、例えばSCSIインフェースを使用して、実現され
てよい。効果的には、記憶媒体110も、システム100に含まれる。ディスク
型記憶媒体110に対して、データは、ブロック単位で取り出され、このブロッ
クは、連続的なセクターのシーケンスにより形成されている。典型的には、同一
のディスクから連続的に読み出されるブロックは、ディスクに連続して格納され
ない。通常、同一のディスクから連続的に読み出されるブロックは、異なるファ
イルに属するが、これは、ディスクが、複数のデータストリーム用のブロックを
、ある程度インターリーブされた態様で、供給する必要があることに基づく。連
続的に読み出されるブロックが同一のファイルに属する場合であっても、ファイ
ルの連続的なブロックは、一の記憶ユニットに連続的に格納される必要はなく、
記憶媒体110の記憶ユニットにわたって、若しくは記憶媒体110の複数の記
憶ユニットにわたって、分散されることができる。不連続的なブロックの読み出
しの結果として、ディスクヘッドは、ブロックの読み出しの間で移動する必要が
あり、また、次のブロックの適切な開始点を待ち受けさせる必要がある。かかる
切り替えは、顕著な時間を要し、その間、データを読み出すことができない。こ
のスイッチングオーバーヘッドを低減するため、いわゆるディスクスイーピング
(掃引)技術がよく使用される。かかるスキームでは、リーダ180は、記憶媒
体110から、一括(バッチ)で、多くのブロックを、例えば8個のブロックを
読み出すことができる。バッチのブロックは、それらの物理的なトラック位置に
基づき秩序付けられる。読み出し動作のために、ディスクヘッドは、一の方向に
移動するだけでよく(例えば、内側のエッジから外側のエッジ、その逆)、バッ
チのブロックを読み出すために停止するだけでよい。このようにして、スイッチ
ングオーバーヘッドは、顕著に低減される。効果的には、読み出し要求のバッチ
を受け、特別なディスク用の最適な掃引を実行すべく、要求された読み出し動作
の必要なスケジューリングを内部で実行するリーダ180が、使用される。また
、リーダ180は、キャッシュメモリを含んでよく、このキャッシュメモリは、
システム100の残りに、ディスクからの読み出しとは潜在的に異なるシーケン
スで、バス140を介してデータを供給する前に、ディスクからのデータ読み出
しを一時的に格納するためのものである。読み出しを制御する、シーケンスを掃
引する、読み出しデータをキャッシュする、といったリーダ180の役割は、各
記憶ユニットがこれらの機能を実行する独自の制御部を有するところに、分配さ
れてよい。かかる場合、リーダ180の主なタスクは、種々の制御ユニットの動
作を調整することである。
【0018】 特に映像に対して、データは、膨大な容量があってよい。この容量を低減する
ため、典型的には、圧縮技術が使用される。この圧縮スキームは、結果として、
例えばMPEG1による符号化のレート固定形式を使用する、レート固定型デー
タストリームとなり、或いは、例えばMPEG2による符号化のレート可変形式
を使用する、レート可変型データストリームとなる。本発明のシステムは、レー
ト可変型システムのみならずレート固定型システムに対して使用されてよい。可
変データレートストリームに対して、単位秒当たりcmaxデータ要素という固
定された最大消費レートが付与され、このレートは、異なるストリームに対して
は異なる値であってよく、最悪の事態を想定した条件でもシステムが依然として
動作することを保証するべく、システムを構築する(例えば、システムのバンド
幅及び/又は記憶量)ため使用される。通常、データは、記憶媒体110に格納
され、圧縮された形式でシステム100により処理される。ユーザ130側での
み、データストリームは、デコーダを使用して、復元される。特にレート可変型
システムでは、システム100は、VCRのような制御機能を支援することがで
きてよい。データストリームは、アクティブ状態及び新たな若しくは休止状態の
ような複数の状態の一であってよく、アクティブデータストリームは、ユーザに
データを供給してよく(即ち、ユーザがデータを消費してよく)、新たな若しく
は休止データストリームは(現在のところ)、ユーザにデータを供給しなくてよ
い(即ち、一切のデータがユーザによる消費用に呈示されず、対応するバッファ
ーのオーバーフローが発生するという危険を冒すことがない)。典型的には、ユ
ーザが一時的にデータを消費するのを停止した場合(例えば、新たなタイトルを
明確に選択する、或いは、例えば、システムに、最初に表示されている同一のタ
イトルによりデータストリームを選択することになる早送りモードで再生するこ
とを指示する新たなストリームが、暗黙的に付与される)、ストリームは、アク
ティブにとどまる。ユーザがストリームを切り換えた場合、ストリームは、一時
的に休止され、新たなデータがロードされることが可能となる。スローモーショ
ン機能は、低レートでデータを消費すること(ストリームはアクティブにとどま
る)、若しくは、新たなストリームに切り換えること(ストリームは一時的に休
止)によって実現されてよい。システム100は、データストリームに対して、
現在の状態を指示するストリーム状態を保持する。1若しくはそれ以上のデータ
ストリームに対するストリーム状態は、サーバーの主要なメモリ(RAM)若し
くは特別なレジスターのような、状態メモリ190に格納されてよい。
【0019】 データは、データストリームのバッチに対する記憶媒体110から読み出され
、バッチのデータは、バス140を介して、時間が多重化されたストリームとし
て供給される。記憶媒体110は、システムの総てのユーザに、連続的なデータ
ストリームを同時に供給することができない。その代わり、データストリームの
サブセット用のデータが、読み出され、より高いレートでシステム100の残り
に供給され、その後、対応するデータストリームによって消費される。システム
100は、それ故に、ユーザ130に要求されたレートでデータを供給すること
を実現するバッファー125を含む。通常、バッファー125は、システムのメ
モリの部分120にあるRAMを使用して実現される。システム100は、ユー
ザにデータストリームのデータを転送するための通信手段150を更に含む。通
信手段150は、ローカルエリアネットワークのような、システム100の近傍
に位置するユーザにデータを供給するための適切な手段であれば如何なる手段に
よって形成されてよい。実際には、電気通信若しくはケーブルネットワークが、
より長い距離にわたってデータを供給するために使用される。
【0020】 また、システム100は、システム100を制御するための制御ユニット16
0を含む。制御ユニットは、決定ユニット165と、スケジューラ170とを含
む。決定ユニット165は、バッファー125のアンダーフロー若しくはオーバ
ーフローが発生することを回避すべく、どのブロックが、記憶媒体110から読
み出されるべきであるかを決定する。スケジューラ170は、読み出されるブロ
ックに対するスケジュールを決定し、時間でブロックを読み出すリーダ180を
制御する。制御ユニットは、典型的には、ROM若しくはハードディスクのよう
な記憶媒体からロードされる、実時間で動作するシステムの制御の下で動作する
、RISCタイプ若しくはCISCタイプのマイクロプロセッサのような、プロ
セッサによって形成される。決定ユニット165及びスケジューラ170は、動
作システムに組み込まれた各々のソフトウェアモジュールとして実現されてよく
、或いは、各々のアプリケーションプログラムとしてロードされてよい。典型的
には、決定ユニット165は、バッファーの充填度合いのような、スケジューラ
170の決定の基礎となる状態情報を受信する。VCRのような制御を提供する
システムに対して、スケジューラは、ストリームの状態を評価する情報を受信す
る。かかるシステムにおいて、典型的には、制御情報は、通信手段150を介し
てユーザ130から受信される。
【0021】 ブロックの部分は、少なくとも2つの異なる、ランダムに選択された記憶ユニ
ットに、格納されることによって、記憶媒体110に複数回格納される。これら
ブロックは、完全な形で複写される。結果として、かかるブロックは、ブロック
が格納された記憶ユニットのそれぞれから完全な形で入手可能である。新たなタ
イトルのためのブロックは、記憶ユニットがオフライン、即ちシステムがユーザ
にデータを供給する動作状態にないとき、格納されてよい。しかし、通常的には
、新たなタイトルは、システムが動作状態にあるときに、記憶ユニットに格納さ
れるだろう。バンド幅の部分は、記憶ユニットに格納されるタイトルを変更する
ために確保されてよく、或いは、かかる動作は、システムが完全に負荷されてい
ないときに実現されてよい。システムは、このようなブロックが少なくとも2の
記憶ユニットに格納されることを保証することによって、記憶にブロックの部分
を複数回格納するための手段(図示せず)を含む。好ましくは、かかるブロック
は、ちょうど2個の記憶ユニットに格納され、記憶媒体110の記憶ユニットの
セットから記憶ユニットがランダムに選択される。記憶ユニットの選択は、複数
回格納される各ブロックに対して別々に実行される。(擬似)ランダムシーケン
ス発生器が、利用可能な記憶ユニットの範囲内のランダム数を生成するために使
用されてよい。ブロックの部位の各連続的なブロックに対して、次のランダム数
が、上記手段がブロックを格納する記憶ユニットを指示する。WO98/54657に記載
されているように、記憶ユニットをランダムに選択することは、ブロックを取り
出すときの記憶ユニットの負荷の良好なバランスを可能にする。記憶ユニット(
複数の記憶ユニット)を(擬似)ランダム形式で選択するのに加えて、当業者で
あれば、所与のシステムが所望のランダム効果を達成するような適切なアルゴリ
ズムを選択することができるだろう。明らかであるが、複数回格納されるブロッ
クは、毎回、異なる記憶ユニットに格納されるが、さもなければ、この倍増は、
負荷バランスの改善を生まないだろう。これは、生成されたランダム数が、既に
関連したブロックを格納する記憶ユニットに一致する場合、次のランダム数を使
用することによって簡易に実現される。選択したブロックを2個の記憶ユニット
に格納する代わりに、当該ブロックは、より多数の記憶ユニットに格納されてよ
いことは、理解されるべきである。
【0022】 本発明のシステムにおいて、タイトルの各ブロックは、ランダムに選択される
ディスクである、複数の記憶ユニットのうちの1の記憶ユニットに、格納される
。更に、ブロックは、確率rにより他のディスクに複写される。従って、このシ
ステムでは、比率rのデータが複写される。パラメータrは、次の範囲から選ば
れる設計パラメータである。
【0023】
【数1】 スケジューリングは、周期的に繰り返すシステムの動作に基づいており、ブロッ
クサイズは、各ストリームが周期あたり多くても1のブロックを消費するように
、選択される。各ストリームは、{3,4,5,…}から選ばれるsである、s
個のデータのブロックまで収容できる、関連付けられたバッファーを有する。こ
れは、スケジューラに、s−2周期の1の周期で特定のブロック用の読み出し要
求を予定する自由を付与する。本発明のシステムにおける典型的な選択は、sは
5である。記憶媒体のディスクは、周期ごとに少なくともk個のブロックを供給
する能力を有する。スケジューラは、各所望のブロックに対して、どのディスク
から読み出されるべきか、及び、s−2の周期のどの周期の間に読み出されるべ
きかを決定する。スケジューラは、一のディスクが多くても周期当たりk個のブ
ロックを供給することになるように、これを実行する。理論的には、これは常に
可能ではないが、パラメータr、s、kは、失敗の可能性が任意に小さくなるよ
うに、選択できる。これは、次の例のシステムにおいて示される。このシステム
は、100のユーザストリームと、10個のディスクとを有し、それぞれは、周
期ごとに11個のブロックを取り出すことができる。表Iの最下位は、最も小さ
い複写率rを示し、これは、100万回の連続する周期のシミュレーションにお
いて、異なるsの値に対して、周期当たり11個のブロックより大きなディスク
負荷を生むことはなかった。このシミュレーションにおいて、各ユーザストリー
ムは、各周期で一のブロックが読み出されることを必要とした。
【0024】 表I 異なるバッファーサイズに対する複写率
【0025】
【表1】 本発明のシステムは、計画期間と称される今後のある数の周期に対して、どの
ブロックがユーザストリームによって要求されると予想されるかを決定する。こ
の予想は、計画期間の間に現在のストリームがデータを消費し続けるという想定
に基づく。これは、次の数周期に対してのみ信頼性をもって知られるので、計画
期間のサイズpは、小さく保たれ、典型的には、バッファーの大きさsと同一の
オーダーであり、例えばpは5である。各周期の最初では、決定ユニット165
は、計画期間のみに対する情報に基づいて、どのブロックが読み出されるべきか
を決定する。スケジューラ170は、その後、これを実現できる予定(スケジュ
ール)を決定する。かかる予定は、いくつかの方法で作成することができ、2つ
の選択肢を以下に説明する。
【0026】 第1の選択肢では、スケジューラは、周期の開始時に、次の各クラスに、ブロ
ックに対する要求を分類する。
【0027】 1.この周期で読み出されなければならない、複写されていないブロック 2.この周期で読み出されなければならない、複写されたブロック 3.この周期で読み出されてよいが、少なくとも1周期遅れてもよく、複
写されていないブロック 4.この周期で読み出されてよいが、少なくとも1周期遅れてもよく、複
写されたブロック スケジューラの戦略は、現在の周期に可能な限り多くのブロックを充填するこ
とである。スケジューラは、上で付与された順番の、クラス当たりのブロックに
対する要求を考慮する。
【0028】 1.このクラスでは、自由はない。ブロックそれぞれの唯一のコピーしか
格納されていないので、総てのブロックを、現在の周期で、所与のディスクから
、取り出さなければならない。 2.このクラスの総てのブロックは、この周期で取り出さなければならな
いが、ブロックが取り出されるディスクを考慮する自由が存在する。スケジュー
ラは、この自由を使用して、ディスクへの負荷のバランスをとる。 3.このクラスのブロックは、いずれかのディスクの負荷を最大のk個の
ブロックまで満たすために使用されてよい。 4.このクラスのブロックは、いずれかのディスクの負荷を最大のk個の
ブロックまで満たすために使用されてよい。しかし、これらブロックは、複写さ
れているので、今後の周期に対して負荷バランス問題を引き起こす可能性がより
少なく、それ故に、このクラス4のブロックよりも大きい優先度が、クラス3か
らのブロックに付与される。
【0029】 この選択肢の実施例では、スケジューラは、クラス1の総てのブロックを予定
し、その後、WO98/54657に記載されている線形型割り当て(Linear Assignment
)アルゴリズムを用いて、クラス2を最適化し、その後、クラス3の可能な限り
たくさんのブロックを加え、最後に、再び線形型割り当てアルゴリズムを用いて
、クラス4の可能な限りたくさんのブロックを加える。
【0030】 第2の選択肢では、スケジューラは、各周期の開始時に、全計画期間の間のス
ケジュールを構築する。このスケジューラは、ブロックに対する要求の次のよう
なクラス分けを使用する。
【0031】 A.総ての(残りの)スケジューリングの可能性が計画期間の範囲内であ
る、ブロックに対する要求。 B.計画期間中に予定されてよいが、その後の可能性をも有し、ブロック
が複写されておらず、ディスクの選択肢がない、ブロックに対する要求。 C.クラスBと同様であるが、ブロックが複写されており、ディスクの選
択肢がある、ブロックに対する要求。
【0032】 スケジューラは、クラスAの要求を少なくとも予定する。更に、それは、可能
な限り多くのクラスB及びクラスCの要求を予定する。これら要求のうち、スケ
ジューラは、クラスBの要求を優先するが、これは、クラスBの要求がクラスC
の要求よりもより高い確率を有し、それ故に、可能な限り速やかに処理されるべ
きであるためである。この第2の選択肢では、スケジューリング問題は、すぐに
解決できる最大流れ問題として公式化される。引用した参照WO98/54657は、かか
るスケジューリングアルゴリズムについても言及する。上で定義したクラスの要
求は、次のステップで処理される。
【0033】 ステップ1 総てのクラスAが予定できるか否かを決定する問題は、最大流れ問題として定
義される。この最大流れ問題は、かかる要求のそれぞれに対するノードと、計画
期間に入る各対(ディスク、周期)に対するノードと、追加的に一のソースノー
ド及び一の目的地ノードとを有したグラフに定義される。円弧が、ソースノード
から各要求ノードまで案内され、各(ディスク、周期)ノードから目的地ノード
まで案内される。更に、円弧は、要求が実行できる各要求ノードから各(ディス
ク、周期)ノードまで案内される。要求ノードから(ディスク、周期)ノードま
で引かれる各円弧の能力は、1に等しい。ソースノードから引かれる円弧の能力
も1である。更に、(ディスク、周期)ノードから目的地ノードまで引かれる各
円弧は、能力kを有する。ここで、クラスAは、ソースノードを出発する総ての
円弧を満足させる、ソースから目的地までの流れが実現できる場合にのみ、予定
できる。結果として得られる流れは、クラスAの要求に対して実効的なスケジュ
ールを与える。
【0034】 ステップ2 結果として得られる流れが、pmkより小さい場合、即ち周期数で表現され計
画期間の長さを示すpと、ディスクの数を示すmと、周期ごとにディスクから取
り出されるブロックの数を示すkとの産物より小さい場合、追加のクラスBの要
求をできる限り加えることができる。加えることができるクラスBの要求の数を
最大化するため、次のグラフで定義される追加的な最大流れ問題を構築する。再
度、各対(ディスク、周期)に対してノードがあり、各クラスBに対してノード
があり、上述したように、一のソースノード及び一の目的地ノードが存在する。
ここで、円弧が、各対(ディスク、周期)のノード間に案内される。ノード(デ
ィスク、周期)からノード(ディスク’、周期’)までの円弧は、(ディスク、
周期)に割り当てられているが、(ディスク’、周期’)に割り当てることもで
きるクラスAの数を与える能力を有する。(ディスク、周期)ノードから目的地
ノードまでの円弧は、(ディスク、周期)に割り当てられるクラスAの要求の全
体数をkから引いた値に等しい能力を有する。ソースノードから要求ノードまで
の円弧、及び、要求ノードから(ディスク、周期)ノードまでの円弧は、総て能
力1を有する。目的地からソースまでの流れを最大化することによって、最大数
のクラスBの要求が、クラスAが周囲に移動できるがスケジュールから外れない
ような方法で、加えられる。
【0035】 ステップ3 再度、結果として得られる流れが、pmk、即ちpとmとkとの産物より小さ
い場合、追加のクラスCの要求が最大限加えられる。加えることができるクラス
Cの要求の数を最大化するため、再度、クラスBの要求に対してと類似の方法で
最大流れ問題を構築する。既に予定されているクラスA及びクラスBの要求は、
再度、各対(ディスク、周期)のノード間に引かれる円弧内に組み込まれる。こ
の最大流れ計算の結果から、スケジュールを構築することができる。再度、クラ
スA及びクラスBの要求は、排除されることがないようにできる。
【0036】 上記実施例におけるバッファーのサイズsは、最小値3で付与されていた。こ
れは、典型的には、バッファーのサイズが3個のブロックを包含することができ
る十分な大きさに通常的に設計される、ビットレート可変型システムに適用され
る。このサイズによって、適切なスケジューリング戦略を用いて、バッファーが
システムの動作時にオーバーフロー又はアンダーフローすることがなくなるだろ
う。本発明によると、バッファーサイズは、この最小サイズ3よりも大きく選択
され、追加の空間が、上述したように、将来の周期からの予め取り出されたブロ
ックを格納するために使用される。バッファーの実際の最小サイズが本発明に対
して関連するのではない、また、要求はバッファーが1若しくはそれ以上の上記
最小数に対応できることである、ということを理解されるべきである。それ故に
、本発明は、元の(最小の)2ブロックのサイズを有するバッファーを備えたシ
ステムにおいても同等に良好に適用できる。かかるバッファーは、固定された継
続時間のブロック読み出し及び消費用のビットレート固定型システムにおいて見
出すことができる。
【0037】 上述した実施例は、本発明を限定するのではなく本発明をあくまで例証したの
であって、当業者であれば、本発明の観点から逸脱することなく、多くの代替実
施例を設計できるだろうことを注意されたい。請求の範囲においては、括弧内の
参照符号は、請求項を限定するものに解釈されるべきでない。単数表現の語は、
複数の要素の存在を排除する物でない。本発明は、幾つかの別の要素を含むハー
ドウェアと、適切にプログラムされたコンピューターとによって実現できる。幾
つかの手段を列挙しているユニットの請求項は、これら手段のいくつかは、1の
若しくは同一のハードウェア製品によって具現化できる。
【図面の簡単な説明】
【図1】 本発明のシステムのブロック図を概略的に示す図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 エフネル,セバスティアン オランダ国,5656 アーアー アインドー フェン,プロフ・ホルストラーン 6 Fターム(参考) 5C053 FA23 FA28 GA06 GB01 GB17 GB37 HA21 HA33 JA03 KA01 KA08 KA24 LA11 LA14 5C064 BA07 BC16 BD08 5D044 AB07 BC01 CC04 CC09 DE02 DE03 DE12 DE14 DE37 DE54 DE72 DE92 GK05 GK12 HL11

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 記憶媒体からデータのブロックを複数の周期で取り出し、ユ
    ーザにデータストリーム形式で上記ブロックを供給するためのシステムであって
    、多数の上記ブロックは、上記記憶媒体の各々の記憶ユニットに複数回格納され
    ており、 計画期間にまたがる多数の周期のうちの一の周期内に読み出すことができると
    予測されるブロックの集合を決定する手段と、 上記集合の各ブロックに対して、上記ブロックが格納される記憶ユニットのセ
    ットから、上記ブロックが読み出される一の記憶ユニットを選択し、上記記憶ユ
    ニットへの負荷のバランスをとるよう機能する、スケジューラと、 ブロック読み出し要求に応答して、対応するストリームに供給するための対応
    するブロックを、上記選択された記憶ユニットから読み出す、リーダとを含む、
    システム。
  2. 【請求項2】 上記決定手段は、現在の周期に読み出されなければならない
    ブロックを含む第1の副集合と、上記現在の周期に読み出されてよいが、後の周
    期に読み出されてもよいブロックを含む第2の副集合とに、上記集合を分類する
    ように構成された、請求項1記載のシステム。
  3. 【請求項3】 上記決定手段は、 現在の周期に読み出されなければならず、上記記憶媒体に複数回格納されてい
    ないブロックを、含む第1の副集合と、 上記現在の周期に読み出されなければならないが、上記記憶媒体に複数回格納
    されているブロックを、含む第2の副集合と、 上記現在の周期に読み出されてよいが、少なくとも1周期遅れて読み出されて
    もよく、上記記憶媒体に複数回格納されていないブロックを、含む第3のブロッ
    クと、 上記現在の周期に読み出されてよいが、少なくとも1周期遅れて読み出されて
    もよく、上記記憶媒体に複数回格納されているブロックを、含む第4の副集合と
    に、上記集合を分類する、請求項1記載のシステム。
  4. 【請求項4】 上記スケジューラは、上記第2の副集合のブロックに対する
    読み出し要求を予定するために、上記記憶ユニットへの負荷のバランスをとるよ
    うに構成されると共に、上記第3及び上記第4の副集合のブロックに対する読み
    出し要求を、上記記憶ユニットのそれぞれに対する所定の最大値まで、加えるよ
    うに構成された、請求項3記載のシステム。
  5. 【請求項5】 上記スケジューラは、上記第4の副集合のブロックに対する
    読み出し要求を予定するために、上記記憶ユニットへの負荷のバランスをとるよ
    うに構成された、請求項5記載のシステム。
  6. 【請求項6】 上記決定手段は、上記計画期間中の周期に読み出されなけれ
    ばならないと予測されるブロックを含む第1の副集合を上記集合から決定するよ
    うに構成され、上記スケジューラは、上記記憶ユニットへの負荷のバランスをと
    りつつ、上記第1の副集合の上記ブロックに対する読み出し要求を予定するよう
    に構成された、請求項1記載のシステム。
  7. 【請求項7】 上記スケジューラは、最大流れアルゴリズムを使用すること
    によって、上記読み出し要求を予定するように構成された、請求項6記載のシス
    テム。
  8. 【請求項8】 上記決定手段は、上記計画期間中の周期に読み出されてよい
    が、上記計画期間を過ぎた周期に読み出されてもよいと予測される、上記記憶媒
    体に複数回格納されていないブロックを、含む第2の副集合を上記集合から決定
    するように構成され、 上記スケジューラは、利用可能な記憶ユニットのそれぞれが、上記計画期間の
    各周期に最大数のブロックを読み出すように、予定されるかを決定するように構
    成され、予定されない場合には、上記第2の副集合のブロックに対する読み出し
    要求を追加的に予定するように構成された、請求項7記載のシステム。
  9. 【請求項9】 上記決定手段は、上記計画期間中の周期に読み出されてよい
    が、上記計画期間を過ぎた周期に読み出されてもよいと予測される、上記記憶媒
    体に複数回格納されているブロックを、含む第3の副集合を上記集合から決定す
    るように構成され、 上記スケジューラは、利用可能な記憶ユニットのそれぞれが、上記計画期間の
    各周期に最大数のブロックを読み出すように、予定されるかを決定するように構
    成され、予定されない場合には、上記第3の副集合のブロックに対する読み出し
    要求を追加的に予定するように構成された、請求項8記載のシステム。
  10. 【請求項10】 記憶媒体からデータのブロックを複数の周期で取り出し、
    ユーザにデータストリーム形式で上記ブロックを供給する方法であって、 計画期間にまたがる多数の周期のうちの一の周期内に読み出すことができると
    予測されるブロックの集合を決定し、 上記ブロックが格納される記憶ユニットのセットからの、上記ブロックが読み
    出される一の記憶ユニットの選択を含む、上記記憶ユニットへの負荷のバランス
    をとるような、上記集合の各ブロックに対する読み出し要求の予定を、実行し、 ブロック読み出し要求に応答して、対応するストリームに供給するための対応
    するブロックを、上記選択された記憶ユニットから読み出すことを1周期に含む
    、方法。
JP2002503021A 2000-06-02 2001-05-08 記憶媒体からブロックを読み出すための方法及びシステム Pending JP2003536329A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP00201950.3 2000-06-02
EP00201950 2000-06-02
PCT/EP2001/005189 WO2001095612A1 (en) 2000-06-02 2001-05-08 Method of and system for reading blocks from a storage medium

Publications (1)

Publication Number Publication Date
JP2003536329A true JP2003536329A (ja) 2003-12-02

Family

ID=8171590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002503021A Pending JP2003536329A (ja) 2000-06-02 2001-05-08 記憶媒体からブロックを読み出すための方法及びシステム

Country Status (5)

Country Link
US (1) US6643083B2 (ja)
EP (1) EP1290870A1 (ja)
JP (1) JP2003536329A (ja)
KR (1) KR20020019597A (ja)
WO (1) WO2001095612A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438286B1 (ko) * 2001-06-14 2004-07-02 엘지전자 주식회사 주문형 비디오 시스템에서 멀티미디어 데이터를 등록 및 제공하는 방법
US20040128694A1 (en) * 2002-12-30 2004-07-01 International Business Machines Corporation Fast selection of media streams
JP4406402B2 (ja) * 2003-07-02 2010-01-27 聰 山竹 データベースシステム
US8621543B2 (en) 2004-12-08 2013-12-31 Imagine Communications Ltd. Distributed statistical multiplexing of multi-media
US7363454B2 (en) * 2004-12-10 2008-04-22 International Business Machines Corporation Storage pool space allocation across multiple locations
KR20070118635A (ko) * 2005-03-10 2007-12-17 코닌클리케 필립스 일렉트로닉스 엔.브이. 오디오 및/또는 비주얼 데이터의 서머라이제이션
US7667912B2 (en) * 2007-07-03 2010-02-23 Seagate Technology Llc Retry and re-read for write synchronization
JP5211569B2 (ja) * 2007-07-26 2013-06-12 ソニー株式会社 コンテンツ再生装置、コンテンツ再生方法、およびプログラム
JP5282383B2 (ja) * 2007-09-06 2013-09-04 ソニー株式会社 コンテンツ再生装置、コンテンツ再生方法、プログラム、およびコンテンツ再生システム
US9641876B2 (en) * 2011-06-28 2017-05-02 Cox Communications, Inc. Systems and methods for combining variable bit rate data streams
US9262511B2 (en) * 2012-07-30 2016-02-16 Red Lambda, Inc. System and method for indexing streams containing unstructured text data
CN103260056B (zh) * 2013-04-25 2016-06-15 同济大学 基于视频场景切换性的vod负载均衡方法
US10268545B2 (en) * 2014-09-08 2019-04-23 International Business Machines Corporation Using reinforcement learning to select a DS processing unit
JP6634886B2 (ja) 2016-03-01 2020-01-22 富士通株式会社 データ記憶装置、データ記憶装置制御プログラム、及びデータ記憶装置制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544313A (en) * 1994-05-11 1996-08-06 International Business Machines Corporation Baton passing optimization scheme for load balancing/configuration planning in a video-on-demand computer system
US5956321A (en) * 1995-03-16 1999-09-21 Kabushiki Kaisha Toshiba Stream scheduling system for real time stream server
US5826110A (en) * 1995-06-19 1998-10-20 Lucent Technologies Inc. System for video server using coarse-grained disk striping method in which incoming requests are scheduled and rescheduled based on availability of bandwidth
DE69731377D1 (de) * 1996-12-23 2004-12-02 Koninkl Philips Electronics Nv Verfahren und system zur bereitstellung von datenströmen
JP4151991B2 (ja) * 1997-05-26 2008-09-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオサーバにおいてデータを取り出すシステム
JP2000515706A (ja) * 1997-05-26 2000-11-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ストリームサーバにおいてデータを取り出すシステム
US6016552A (en) * 1997-06-06 2000-01-18 The Chinese University Of Hong Kong Object striping focusing on data object

Also Published As

Publication number Publication date
WO2001095612A1 (en) 2001-12-13
US6643083B2 (en) 2003-11-04
KR20020019597A (ko) 2002-03-12
EP1290870A1 (en) 2003-03-12
US20020036856A1 (en) 2002-03-28

Similar Documents

Publication Publication Date Title
US6061732A (en) Data streaming system utilizing an asynchronous technique for retrieving data from a stream server
US6138221A (en) Method and system for supplying streams of data having identical maximum consumption rate in a storage medium
US6912585B2 (en) Method of data management for efficiently storing and retrieving data to respond to user access requests
JP2003536329A (ja) 記憶媒体からブロックを読み出すための方法及びシステム
JPH09154109A (ja) ビデオサーバシステムに於いて平均的なシーク時間及びバンド幅を達成するための方法及びシステム
JP4151991B2 (ja) ビデオサーバにおいてデータを取り出すシステム
US6205525B1 (en) System for supplying data steams
KR100746842B1 (ko) 멀티미디어 서버
US6678469B1 (en) Recorded information reproducing apparatus
US20060167959A1 (en) Storing programs on disk for multiple-user retrieval
US7334103B2 (en) Methods and apparatus for improving the breathing of disk scheduling algorithms
JPH11298858A (ja) ビデオサーバシステム
SAMPATH-KUMAR VIJNAN SHASTRI CEDT, Indian Institute of Science, Bangalore-560 012, India P. VENKAT RANGAN
Sandstå Tertiary Storage in Digital Video Archives