JP2001502458A - データストリーム供給システム - Google Patents

データストリーム供給システム

Info

Publication number
JP2001502458A
JP2001502458A JP11506781A JP50678199A JP2001502458A JP 2001502458 A JP2001502458 A JP 2001502458A JP 11506781 A JP11506781 A JP 11506781A JP 50678199 A JP50678199 A JP 50678199A JP 2001502458 A JP2001502458 A JP 2001502458A
Authority
JP
Japan
Prior art keywords
data
max
stream
new
read
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.)
Ceased
Application number
JP11506781A
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 JP2001502458A publication Critical patent/JP2001502458A/ja
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

(57)【要約】 ビデオオンデマンドサーバのようなシステムは、データのブロックを記憶媒体(100)から取得し、前記データを最高nmaxのデータストリームの形態においてユーザに供給する。形成時に、データストリームは、ユーザが消費する十分なデータが存在しない新規状態であり、ユーザは、活性状態におけるデータストリームに関してデータを消費することができる。スケジューラ(170)は、予め決められたサイズのデータブロックを読み出す必要があるデータストリームのグループを反復的に選択し、リーダ(180)に、1掃引においてデータを読み出させ、読み出されたデータをバッファ(125)に格納させる。前記グループを、関連するバッファ(125)が前記データブロックを記憶する空きを有する活性データストリームによって形成する。スケジューラ(170)は、データストリームの数に関して、nmaxの代わりに活性データストリームの実際の数nactに実際的に基づく式によって、各々次の掃引動作に関するデータブロックの数を可変的に決定する。

Description

【発明の詳細な説明】 データストリーム供給システム 記憶媒体からデータのブロックを受け、このデータをユーザに最大nmaxの複 数のデータストリームの形態において供給するシステムであって、各データスト リームを、少なくとも新規状態および活性状態を含む複数の状態の内の1つにお けるものとし、形成時のデータストリームを、ユーザによって消費される十分な データが存在しない前記新規状態におけるものとし、活性データストリームに対 して、ユーザはデータを消費することができ、 データストリーム毎にデータを記憶する関連バッファと、 1回の掃引において、前記記憶媒体から、データストリームの選択されたブロ ックのデータストリーム毎に、予め決められたサイズのデータブロックを読み出 し、読み出されたデータブロックを前記データストリームに関連するバッファに 記憶するリーダと、 前記リーダの次の掃引動作中に予め決められたサイズのデータブロックを読み 出す必要がある前記データストリームのグループを繰り返して選択し、前記グル ープが、関連する前記バッファが前記データブロックを記憶する場所を有する活 性データストリームを具えるようにし、前記リーダに前記選択されたグループに 関するデータを読み出させるスケジューラとを具えるシステム。 この種のシステムは、マルチメディアサーバにおいて使用され、さらに特に、 ビデオオンデマンドサーバおよび近似ビデオオンデマンドサーバにおいて使用さ れる。このようなシステムにおいて一般的に要求されることは、連続的で途切れ ないデータのストリームを、各活性ユーザに供給することである。代表的に、デ ータを、RAIDシステムのようなディスクアレイにおいて配置されたハードデ ィスクのような慣例的な記憶媒体から読み出す。一般的に、固定消費レートシス テムと、可変消費レートシステムとに区別することができる。固定消費レートシ ステムにおいて、データは、代表的に、固定レートデータストリームとしてユー ザに供給される。通常、このレートは、前記システムにおいてストリームの各々 に対して同じである。このような装置の一例は、近似ビデオオンデマンドサーバ であり、多数の映画を同時に上演することができ、同じ映画を何回か平行して上 演してもよく、定期的、例えば、5または15分毎に同じ映画の新たな複製を開 始する。可変消費レートシステムにおいて、ユーザがデータを消費するレートは 、時間によって変化する。代表的に、最高消費レートを、データストリーム毎に 規定することができる。実際には、異なった最高消費レートを有するストリーム (例えば、1つのオーディオストリームに対してある最高レート、1つの結合さ れたビデオおよびオーディオストリームに対して他の最高レート)を有効にサポ ートできるとしても、通常、同じ最高消費レートをすべてのストリームに対して 使用する。可変消費レートシステムは、例えば、ポーズまたはスローモーション のようなビデオのような機能をサポートするシステムや、可変ビットレートMP EG−2符号化のような可変ビットレートのデータ圧縮機構を使用するシステム に使用される。 データをユーザに連続データストリームとして供給するために、データをディ スクから読み出す特別なスケジューリング機構が、読み出されたデータを、この データがユーザに供給される前に一時的に記憶する適切な機構に必要である。代 表的に、連続的な間隔において、予め決められたサイズのデータブロックを、デ ータストリームのブロックに対して読み出す。ディスクアクセスオーバヘッドを 最小にするために、前記グループのストリームに関するデータブロックを、前記 ディスクのヘッドの一回の(例えば、前記ディスクの外縁から内縁へ、またはそ の逆の)掃引運動において読み出す。前記ブロックのサイズを、前記システムに よって許容される最多数のストリームのすべてがデータを要求する最悪の場合の シナリオにおいて、バッファのアンダフローが生じないように決定する。このよ うにして、前記ブロックサイズは、あるデータブロックが最多数のストリームに 関して読み出される掃引運動の最悪の場合の期間中に最高許容ビットレートにお ける消費に耐えるために必要なデータ要素数に対応する。 固定消費レートシステム用の慣例的なスケジューリングアルゴリズムは、いわ ゆるスキャンアルゴリズムである。このアルゴリズムにおいて、各ストリームに 対して固定された定期的な期間において、固定サイズデータブロックが読み出さ れ、バッファに記憶される。代表的に、各ストリームに対して、前記ディスクか らデータを読み出す1つと、ユーザにデータを供給する1つとである2ブロック を記憶する容量を有するバッファを使用する。通常、前記掃引およびバッファ読 み出しを同期させ、すべてのストリームに関するバッファを同じバッファ位置か ら読み出し、すべての読み出し位置があるブロックから他のブロックに変化する (各バッファにおいて、ブロックが空になることを意味する)時点において、新 たな掃引を開始する。前記期間は、代表的に、あるデータブロックが前記システ ムによって許容される最多ストリームに関して読み出される掃引運動の最悪の場 合の期間に対応する。ディスクアクセスを、前記ストリームに関するデータが前 記ディスクにおいて位置する順序にする。前記データをディスクに格納するため の必須条件はなく、これは、特定のストリームがある掃引において最初に供給さ れ、次の掃引において最後に供給してもよいことを意味する。結果として、前記 ブロックサイズの2倍のバッファを必要とする。 可変消費レートシステムにおいて、異なったストリームが、異なった瞬時にお いて前記バッファの予め決められたブロックを空にしてもよい。代表的に、読み 出し動作中、データを、バッファが予め決められたサイズのデータのブロックに 対して空いているストリームからのみ読み出す。これらのストリームに関して、 予め決められたサイズのデータのブロックを読み出す。他のストリームをスキッ プし、次の期間中に供給してもよい。可変レートによって、異なったストリーム は、異なった瞬時において、前記バッファブロックの1つを空にしてもよい。各 ストリームに関する最悪の場合に対して準備するために、3ブロックのバッファ を必要とする。一例として、あるストリームは、ある掃引の開始時に1ブロック をほとんど(しかし完全にではなく)空にしているかもしれない。この結果、ブ ロック全体を読み出すことができないため、このストリームはこの掃引に対して スキップされる。次の掃引の開始時に、前記ストリームは、2ブロックをほとん ど空にしているかもしれず、結果として、1ブロックがこの掃引においてロード される。前記ストリームがこの掃引中に最後に供給されるかもしれない状況に対 処するために、合計3ブロックが必要になる。このようなスケジューリングアル ゴリズムは、トリプルバッファリングアルゴリズムとして知られている。ブロッ クをスキップする必要が無いストリームによって、掃引運動においてデータを読 み出す期間は、可変であり、最多数のストリームすべてが新たなデータブロック を必要とする状況における最悪の場合の掃引によって制限される。 新たなストリームは、掃引動作が完了した後にまだ完全にロードされていない システムにのみ入ることが許される。さらに、データの初めのブロックを、次の 掃引において読み出す必要がある。この次の掃引において利用可能な容量が無い 場合、遅延はさらにより長くなる。このような掃引の期間は、新たなストリーム に対するアクセス時間を決定する。 本発明の目的は、アクセス時間を短縮することができる上述した種類のシステ ムを提供することである。 この目的を達成するために、本発明によるシステムは、前記スケジューラが、 多数のデータストリームに関して、活性データストリームの実際の数nactに実 際的に基づく式を通じて、各々次の掃引動作に関するデータブロックのサイズを 可変的に決定するように作用することを特徴とする。本発明者は、前記システム を、前記システムによって許容される最多数のストリームに関して、最悪の場合 の掃引運動期間に対して許容される最高ビットレートにおける消費に耐えるため に十分なサイズのデータブロックが読み出される最悪の場合のシナリオ用の寸法 にする必要があるとしても、あまり需要が無い状況において読み出されるべきブ ロックのサイズをより小さくすることができることを達成した。前記サイズをデ ータストリームの許容しうる最多数に基づかせる代わりに、前記サイズを、その 瞬時において活性であるデータストリームの実際の数nactに基づかせる。原則 的には、この技術を、固定レートシステムおよび可変レートシステムの双方に用 いることができる。特に、データストリームの実際の数において重要な変化が生 じるビデオオンデマンドシステムに関して、前記システムが完全にロードされて いない場合、前記アクセス時間は大幅に短縮される。例えば、前記システムが5 0%ロードされている(すなわち、実際のストリームの数が許容しうる最多数の 半分である)場合、平均において、1回の掃引期間は、同じサイズのブロックを 読み出し続けるならば、おおざっぱに言って、完全にロードされたシステムの半 分である(簡単にするために、ここでは、ディスク効率状況を無視する)。この ように、前記アクセス時間も半減する。前記ブロックサイズを活性ストリームの 実際数に基づかせることによって、前記ブロックサイズを、例えば、完全にロー ドされたシステムにおいて読み出されるブロックサイズの半分に短縮することが できる。これにより、前記アクセス時間は、さらにほぼ半減する。詳細を図面の 説明において与え、ディスク効率状況を考慮する。 特に、可変ビットレートシステムに関して、可変サイズブロックを読み出すス ケジューリングアルゴリズムは既知であることを注意すべきである。このような アルゴリズムによれば、次の掃引動作に関するストリームが完全なサイズのブロ ックより小さくなる場合、より小さいサイズのブロックが読み出され、固定ブロ ックスケジューリングアルゴリズムに関する場合には通常であるようにはスキッ プされない。このようなスケジューリングアルゴリズムの欠点は、実際には、ほ とんどすべての掃引に関して、極めて小さいブロックを、ほとんどすべての活性 データストリームに関して読み出す必要があることである。結果として、ディス クオーバヘッドが重大になり、きわめて非効率的な掃引動作になる。特に、ある 掃引において、新たなストリームを加えた(他の活性ストリームに関する多くの 小さいブロックの読み出しに加えて、これらのストリームに関する少なくとも1 つの完全なブロックの読み出しを必要とする)場合、この掃引期間は重大になる かもしれず、前記アクセス時間の第2成分(前記ストリームに関する最初のデー タを読み出す前記掃引の期間)が長い時間を取るため、長いアクセス時間になる 。 従属する請求の範囲2において規定する手段は、新たなストリームが前記シス テムに入る結果として、そして、次の掃引動作がより長く続くようになる結果と して、バッファアンダフローが生じないことを保証する有効な方法を提供する。 各々の新たなサイタル(掃引動作)に関して、予め決められた最多数ndeltaの までのみの新たなストリームを、すでにある活性データストリームに加えてもよ い。これらのすでにある活性データストリームが、次のサイクルの前記最悪の場 合の期間を、前記バッファのアンダフローを生じることなく存続し続けることを 保証するために、前のサイクルにおける予防手段として、十分な量のデータをこ れらの活性データストリームに関して読み出し、次のサイクルの前記最悪の場合 の期間を存続し続けるようにする。前記最悪の場合の状況は、次のサイクルにお いて、すべてのすでにある活性データストリームと、許容される最多数の新たな データストリームとに関して、データを読み出す必要がある場合に生じる。すで に前のサイクルにおいてnact+ndeltaのデータストリームのシステムに適した サイズのブロックを読み出すことによって、アンダフローを回避することができ る。実際には、掃引期間中、新たなストリームを形成する比較的少ない数の要求 のみが、前記システムにおいて届くことを理解されるであろう。前記システムに 応じて、これは、数百以上のストリームを供給できるシステムに関して、1%以 下であろう。結果として、実際のデータストリーム数が許容しうる最多のデータ ストリーム数を相当に下回る限り、前記アクセス時間はかなり短縮される。 従属する請求の範囲3において規定される手段は、新たなストリームが前記シ ステムに入る結果としてバッファアンダフローが生じないことを保証する代わり の方法を提供する。この実施形態の他の利点は、次のサイクルにおいて入ること を許可される新たなデータストリームの数に制限が無いことである。これは、活 性ストリームの数が急激に変化する用途に関する前記システムの魅力を形成する 。各々の新たなストリームに関して一回、前記システムに入るときに、データの 完全なブロックを取得し(完全にロードされたシステムにおける最悪の場合の掃 引を存続し続ける十分な量のデータ)、すべての連続的なサイクルにおいて、最 悪な場合の次のサイクル(すべての活性ストリームに関してデータを読み出す最 長期間を有し、すでにある活性ストリームに加えて、現在のサイクルにおいて新 たに加えられたストリームがある)を存続し続けるのに十分な量を読み出す。 本発明のこれらおよび他の態様は、図面に示す実施形態を参照することによっ て明らかになるであろう。 図1は、本発明によるシステムのブロック図を示す。 図2は、本発明によるスケジューラの動作の流れ図を示す。 図3は、トリプルバッファリングアルゴリズムを本発明による実施形態と比較 するブロック境界を示す。 図4は、トリプルバッファリングアルゴリズムを本発明による実施形態と比較 する、シミュレートした掃引時間の周波数図を示す。 図1は、本発明によるシステム100のブロック図を示す。このようなシステ ム100の一例は、マルチメディアサーバである。マルチメディア用途は、オー ディオ−ビジュアル素材の広範囲な使用によって特徴付けられる。オーディオま たはビデオの再生に関して、オーディオ/ビデオデータの(近似)連続的な供給 が必要である。マルチメディアサーバの既知の例は、近似ビデオオンデマンドサ ーバおよびビデオオンデマンドサーバを含む。近似ビデオオンデマンドシステム において、サービスプロバイダは、タイトルを再生するときを決定する。前記タ イトルのデータを含むデータストリームを、多数のユーザによって同時に受けて もよい。ビデオオンデマンドシステムにおいて、代表的に、ユーザは、タイトル を選択し、VCRのような制御によって、このタイトルの再生を制御する。相互 作用のレベルは、より高く、データストリームは、代表的に、一人のユーザによ ってのみ消費される。マルチメディアサーバを、通常は、多数のユーザに平行し て同様のデータレート(代表的に、同じ最高データレートによって制限される) の連続的なデータストリームを供給するように特別に設計されたファイルサーバ を使用して実装する。通常、1つ以上のマルチメディアタイトルを、背景記憶媒 体110に記憶する。現在、通常は、低コストおよびランダムアクセスの可能性 における、これらの大記憶容量を論拠として、ハードディスクのようなディスク を、背景記憶媒体110として使用する。光ディスクまたはさらに固体メモリの ような他の記憶媒体も使用できることは明らかであろう。記憶媒体110を、複 数の記憶ユニット(102、104、106および108と示す)に分割しても よい。このようにして、記憶媒体110を、RAIDシステムのような、記憶ユ ニットのクラスタによって形成してもよい。ハードディスクのような記憶ユニッ トそれ自体を、さらに再分してもよい(その結果、階層的クラスタとなる)。デ ィスクベースの記憶媒体を使用する代表的なビデオオンデマンドシステムに関し て、記憶媒体100を形成する記憶ユニットの数を、通常、必要なバンド幅によ って決定する。代表的に、すべてのデータストリームを、1秒当たりcmaxの同 じ最高消費レートによって制限し、ここで、データ要素を、例えばバイトとして もよい。可変ビットレート符号化MPEG−2素材に関して、前記最高消費レー トを、代表的に、所望の品質に応じて、2ないし15Mbit/sec程度に選 択する。nmaxのデータストリームまでを同時にサポートするように設計された システムは、少なくともnmax*cmax/bw程度の記憶ユニットを必要とし、こ こで、bwを、個々の記憶ユニットバンド幅とする(切り替えオーバヘッドを補 償するために、より多くの記憶ユニットが必要になるかもしれない)。多くのシ ステムにおいて、データブロックはディスクのすべてまたはグループにおいて分 断される。データブロックの要求により、前記アレイのすべて(またはグループ )のディスクへのディスクアクセスが生じる。この説明のため、記憶媒体110 を適切に大きいバンド幅および/または記憶容量を有する1個の記憶ユニットに よって形成するとする(実際には、2個以上の記憶ユニットを使用してもよい)。 実際には、いくつかのデータストリームに関する最高消費レートをより低くして もよく、例えば、対応するタイトルがより低い品質または異なった形式(例えば 、オーディオだが、大部分のストリームは、オーディオおよびビデオの組み合わ せに関係する)の場合、前記システムが通常設計されているより悪い状況として もよいことは明らかであろう。 システム100は、記憶媒体110からデータを読み出すリーダ180を具え る。リーダ180を、例えば、SCSIインタフェースを使用して実装してもよ い。有利には、記憶媒体110も、システム100に含める。ディスクに適応し た記憶媒体110に関して、データをディスクアクセスブロック(DAB)のユ ニットにおいて取得し、DABを連続するセクタのシーケンスによって形成する 。代表的に、同じディスクから連続的に読み出されるDABは、前記ディスクに おいて近接して記憶されていない。通常、同じディスクから連続的に読み出され るDABは、前記ディスクが複数のデータストリームに関するDABをいくらか インタリーブされた形式において供給しなければならないため、異なったファイ ルに属する(あるファイルは、あるタイトルに属するブロックの集合である)。 連続的に読み出すべきDABが同じファイルに属するとしても、あるファイルの 連続的なブロックは、通常、1つの記憶ユニットにおいて近接して記憶されてお らず、この記憶ユニットのあちらこちらに、または、記憶媒体110のいくつか の記憶ユニットに渡って分配されている。近接していないDABを読み出す結果 として、ディスクヘッドを、DABの読み出し中に動かす必要があり、次のDA Bの適切な起点を待ち受けなければならない。このような切り替えは、データを 読 み出すことができない相当の時間を取る。この切り替えオーバヘッドを低減する ために、いわゆるディスク掃引技術が頻繁に使用される。このような計画におい て、リーダ180は、多数、例えば8のDABを、記憶ユニット10から一組で 読み出すことができる。この読み出し動作に関して、前記ディスクヘッドは、1 方向(例えば、内縁から外縁、またはその逆)のみに移動し、前記組のDABを 読み出すためにのみ停止する。このようにして、前記切り替えオーバヘッドは大 幅に低減する。有利には、一組の読み出し要求を受け入れ、特定のディスクに最 適な掃引を行なうために、要求された読み出し動作の必然的なスケジューリング を内部で行なうリーダ180を使用する。リーダ180は、前記ディスクから読 み出されたデータを一時的に記憶し、その後、可能的に前記ディスクから読み出 された順序と異なった順序で、バス140を経てシステム100の残りの部分に 供給するキャッシュメモリを含んでもよい。前記読み出しの制御や、掃引シーケ ンスの配置や、読み出されたデータのキャッシングのようなリーダ180の役割 を分配し、前記記憶ユニットの各々が、これらの機能を行なう自分自身のコント ローラを有してもよい。その場合、リーダ180の主な仕事は、前記種々の制御 ユニットの動作を調整することである。 特に、ビデオに関して、データストリームはきわめて大きいかもしれない。こ の量を低減するために、代表的に、圧縮技術を使用する。この圧縮計画の結果、 例えばMPEG−1符号化の固定レート形態を使用して固定レートデータストリ ームにすることもでき、MPEG−2符号化の可変レート形態を使用して可変レ ートデータストリームとすることもできる。本発明によるシステムは、固定レー トシステムにも可変レートシステムにも使用できる。可変データレートストリー ムに関して、1秒あたりcmaxの固定同一最高消費レートを与え、前記システム が最悪の場合の状況(例えば、すべてのデータストリームが前記最高データレー トにおいてデータを消費する場合)でも依然として動作することを保証するため に、前記システムの寸法(例えば、前記システムのバンド幅および/または記憶 部のサイズ)を規定するために使用してもよい。このような可変レートシステム を、均質と呼ぶ。原則的には、本発明によるシステムを、データストリームiの データレートがストリーム特有上限ci maxによって制限される不均質可変レー トシステムに使用することもできる。通常、前記データを、圧縮された形態にお いて、記憶媒体110に記憶し、システム100によって処理する。ユーザ13 0においてのみ、前記データストリームを、デコーダを使用して伸張する。特に 、可変レートシステムに関して、システム100は、VCRのような制御機能を サポートすることができる。あるデータストリームを、活性、新規/停止のよう な複数の状態の内の1つにおけるものとしてもよく、ここで、活性データストリ ームはデータをユーザに供給することができ(すなわち、ユーザはデータを消費 することができる)、新規または停止データストリームはデータをユーザに(現 在)供給することができない(すなわち、対応するバッファのアンダフローが生 じる危険を冒すことなくユーザによって消費される十分なデータが存在しない) 。代表的に、ユーザがデータの消費を一時的に停止する場合、前記ストリームは 活性のままである。ユーザがストリームを切り替える(例えば、新たなタイトル を明示的に選択するか、前記システムに高速順方向モードにおいて再生するよう に命令し、その結果、高速で表示されている同じタイトルを有する新たなストリ ームを選択することによって、新たなストリームを暗示的に与える)場合、前記 ストリームを一時的に停止し、新たなデータをロードできるようにする。スロー モーション機能を、低いレートでデータを消費する(前記ストリームは活性のま ま)か、新たなストリームに切り替える(前記ストリームを一時的に停止する) ことによって実現してもよいことは明らかであろう。システム100は、前記デ ータストリームに関して、現在の状態を示すストリームステータスを保持する。 1つ以上のデータストリームに関するストリームステータスを、前記サーバのメ インメモリ(RAM)または特別なレジスタのようなステータスメモリに記憶し てもよい。 データを、記憶媒体110から一組のデータストリーム毎に読み出し、この一 組のデータストリームの組を、時間多重化ストリームとしてバス140を経て供 給する。記憶媒体110は、連続的なデータストリームを前記システムのすべて のユーザに同時に供給することはできない。代わりに、データストリームのサブ セット毎のデータを読み出し、システム100の残りの部分に、対応するデータ ストリームによって消費されるより高いデータレートで供給する。したがって、 システム100は、必要なレートにおけるユーザ130へのデータの供給を達成 するバッファ120を具える。通常、バッファ120を、RAMを使用して実装 する。システム100は、前記データストリームのデータをユーザに伝送する通 信手段150をさらに具える。通信手段150を、システム100の近くに位置 するユーザに前記データを供給する、ローカルエリアネットワークのような、ど のような適切な手段によって形成してもよい。実際には、テレコミュニケーショ ンまたはケーブルネットワークを使用し、前記データをより長い距離に渡って供 給する。 システム100は、システム100を制御する制御ユニット160も具える。 この制御ユニットの主な部分をスケジューラ170によって形成し、このスケジ ューラは、バッファ120のアンダフローまたはオーバフローの発生を回避する ために、どのDABをリーダ180によって記憶媒体110から読み出すべきか を決定する。この制御ユニットを、代表的に、ROMまたはハードディスクのよ うな記憶媒体からロードされるリアルタイムオペレーティングシステムの制御の 下で動作するRISCまたはCISC形式のマイクロプロセッサによって形成す る。スケジューラ170を、前記オペレーティングシステムに統合された、また はアプリケーションプログラムとしてロードされるソフトウェアモジュールとし て実装してもよい。代表的に、スケジューラ170は、前記バッファの充填され た程度のようなステータス情報を受け、スケジューラ170は、その決定をこの 情報に基づいて行なう。VCRのような制御を提供するシステムに関して、前記 スケジューラは、ストリームのステータスに関する情報も受ける。このようなシ ステムにおいて、代表的に、制御情報をユーザ130から通信手段150を経て 受ける。 スケジューラ170は、記憶媒体110からのブロックの読み出しを制御する 。このスケジューラは、周期的に動作する。図2は、このスケジューラの動作の フローチャートを示す。各周期の開始時に、スケジューラ170は、ステップ2 10において、どの位多くのデータストリームをこの瞬時において活性にするか を決定する。次にステップ220において、前記スケジューラは、その後の掃引 動作において読み出すべきデータブロックのサイズを計算する。このサイズを、 多 数のデータストリームに関して、活性データストリームの実際の数nactに基づ く式によって決定する。この式それ自体は、前記システムが基づくスケジューリ ングアルゴリズムに固有である。実際には、前記ブロックサイズを、セクタを単 位として表わし、これは、計算されたサイズを整数のセクタに切り上げることを 意味する。ステップ230において、スケジューラ170は、データのブロック をこの周期中に読み出す必要があるデータストリームのグループを決定する。可 変レートシステムに関して、スケジューラ170は、バッファ125のどれが、 前記計算されたサイズの新たなブロックのための空きを有するかを能動的にチェ ックしてもよい。固定レートスケジューリングアルゴリズムに関して、スケジュ ーラ170は、新たなブロックをすべての活性ストリームに対して読み出す必要 があることを決定してもよい。次に、ステップ240において、スケジューラ1 70は、リーダ180に、対応するブロック(実際には、前記ブロックに関連す るDAB)を記憶媒体110から読み出させる。スケジューラ170によって発 せられたブロック読み出し要求に応じて、リーダ180は、これらの対応するブ ロックが記憶媒体110から読み出されるように処理する。読み出されたブロッ クを、前記ブロックを読み出したデータストリームに対応するバッファ125の 1つに記憶する。前記データを、このバッファからユーザに供給する。リーダ1 80が前記データブロックを実際的に読み出した後、スケジューラ170は、ス テップ210において次の周期を開始する。 上述したように、前記ブロックのサイズを決定する式は、前記システムが基づ くスケジューリングアルゴリズムに固有である。一例として、トリプルバッファ アルゴリズムに関する式を、個々のディスク性能解釈の説明の後に示す。 データを、前記ディスクにおいて、トラックと呼ばれる同心円において記憶す る。各トラックは、整数のセクタから成る。ディスクの外縁に近いトラックは、 内縁に近いトラックより多くのセクタを含むことができる。この目的のため、最 近のディスクは、トラックの組を重なっていない領域において配置し、ある領域 のトラックが同じ数のセクタを有し、異なった領域は異なった数のセクタに対応 するようにしている。代表的に、ディスクは一定の各速度において回転し、その 結果、外縁に近い領域におけるトラックからの読み出しは、内縁に近い領域にお けるトラックからの読み出しより高い転送レートになる。前記ディスクからのデ ータにアクセスするために必要な時間は、主に、シークタイム、すなわち、前記 読み出しヘッドを所望のトラックに移動するために必要な時間と、 ・回転潜伏期、すなわち、前記トラックに達してから、前記所望のデータが前記 読み出しヘッドの下に移動するまでに経過する時間と、 ・読み出し時間、すなわち、前記データを実際に読み出すために必要な時間とに よって決定する。前記シークタイムおよび回転潜伏期の和を、切り替え時間と呼 ぶ。 前記読み出し時間は、読み出すべきデータの量と、このデータが記憶されてい るトラックの半径方向の位置とに依存する。1アクセスあたりの前記回転潜伏期 は、多くて、前記ディスクの1回転を取る。1アクセスあたりのシークタイムは 、前記読み出しヘッドが前記ディスクの内緑から外縁、またはその逆に動かなけ ればならない場合、最長になる。このような最長シークを、各アクセスに関して 考慮しなければならないことを回避するために、ディスクアクセスを、掃引と呼 ばれる組において扱う。前記ヘッドが内縁から外縁、またはその逆に動くにつれ て、前記要求されたデータブロックは、これらにディスクにおいて出合う順序で 読み出される。nアクセスによる1掃引を実行するために必要な合計のシークタ イムは、n回のシークが同じ数のトラックと交差する場合、最長を示した。説明 の目的のため、前記記憶媒体を、保証データ伝送レートrおよび切り替え時間関 数s(l,m)によって特徴付けるとする。切り替え時間関数s(l,m)は、 lデータブロックをm掃引において取得しなければならない場合の切り替えにお いて最長に経過する時間を与える。nアクセスを有する1掃引あたりのシークタ イムは、停止が均等に離れている場合に最長になるため、m掃引におけるlデー タブロックの取得に関するシークタイムは、これらのlブロックがm掃引におい て均等に分布し、1掃引内のシークが等しい数のトラックと交差する場合に最長 になる。データ伝送レートrは、データを読み出すことができる最低保証レート を与える。このデータレートがディスクの内縁のデータレートに基づいてしまう ことを回避するために、例えば、前記アレイのすべてのディスクに分断されたト ラックのペア化を行なう。このような場合において、あるディスクのトラックi から 読み出すべきブロックに関するデータを、他のディスクのトラックtrmax−i +1,i≦i≦trmaxから読み出すデータとペアにし、ここで、trmaxはトラ ックの最多数を示す。このようにして、rを、一つのディスクの平均レートをd 倍して与えることができ、ここで、dは前記アレイにおけるディスクの数を示す 。 説明を簡単にするために、すべてのストリームに関する消費レートを、同じ上 限cによって制限し(すなわち、ストリームの組を均質とする)、これは、通常 、可変レート消費システムにおける場合である。当業者は、不均質システムに関 する同様の式を得ることができるであろう。慣例的なトリプルバッファリングア ルゴリズムは、以下のように作用する。各々の収容されたストリームに関して、 バッファを、サイズbmaxの3つのデータブロック保持するのに十分なほど大き く確保しておく。ストリームを掃引において供給し、次の掃引は、前の掃引の完 了に応じて開始する。新たなストリームは、このストリームに関する第1データ ブロックが持ってこられる掃引が完了した後、活性になる(すなわち、消費を開 始することができる)。掃引の開始時に、あるストリームに対応するバッファが 新たなブロックのための空きを有する場合、前記ストリームをこの掃引において 、サイズbmaxのデータブロックを前記記憶媒体から取得することによって供給 する。トリプルバッファリングアルゴリズムは、前記データブロックのサイズが 最悪の場合の掃引に耐えるのに十分なほど大きい場合にのみ安全である(すなわ ち、活性ストリームのバッファが、決してアンダフローまたはオーバフローしな いことが保証される)ことが分かっている。前記最悪の場合の掃引は、1掃引に おいて、前記システムにおいて活性にすることが許可される最多数nmaxのスト リームに関して、1ブロックを読み出す必要がある場合に生じる。このような掃 引の持続時間を、nmax.bmax/r+s(nmax,1)とする。前記バッファは 、最低限、この期間中、最高消費レートcにおいてデータを供給できなければな らず、cは、 bmax/c≧nmax.bmax/r+s(nmax,1) (1) を与える。したがって、前記バッファの必要条件は、各ストリームに関するブロ ックサイズを、 bmax=r.s(nmax,1).c/(r−nmax.c) (3) を与える bmax=c.nmax.bmax/r+c.s(nmax,1) (2) によって与えると、最小になる。応答時間を、 (a)現在の掃引が終了するまでに経過する時間と、 (b)新たなストリームに関するブロックを取得する掃引の持続時間とによって 与える。このように、前記最悪の場合の応答時間は、最悪の場合の掃引の持続時 間の2倍になり、最小サイズのバッファに関して、2bmax/cに対応する。通 常、データブロックを所定の掃引において取得しなければならない活性ストリー ムの実際の数は、最多許容数(nmax)よりもかなり少なく、ディスク性能は前 記最悪の場合よりもよいため、平均的な場合の応答時間は、よりよくなるであろ うことは明らかであろう。 本発明によれば、前記データブロックのサイズは、データストリームの数を考 慮して、最多許容数nmaxの代わりに、活性データストリームの実際の数nactに 依存する。式(3)に基づいて、これにより、活性データストリームの数の関数 としてのデータブロックのサイズb(nact )は、 b(nact)=r.s(nact,1).c/(r−nact.c) (4) によって与えられる。すべての整数値nact≦nmaxに関して、b(nact)≦bm ax が保たれることを証明できる。前記応答時間に関しては、本発明によるシステ ムにおいて、成分(a)(現在の掃引の持続時間)が、従来のアプローチよりも 小さいことを指摘することができる。一般的に、成分(b)(新たなストリーム に関するブロックを取得する掃引の持続時間)も小さいであろう。しかしながら 、特別な他の手段なしで、新たなデータストリームを次の掃引において供給でき ることを保証することはできない。すべてのすでに活性のストリームがあるブロ ックを要求する場合、次の掃引において空きは残らない。このように、すべての 活性ストリームが最高レートにおいて連続的に消費されるシステムにおいて、前 記応答時間は長くなるかもしれない。”完全にロードされた”掃引内のディスク の性能が、前記最悪の場合の仮定よりも十分に良く、この掃引において2つ以上 のブロックを取得できると予測できる場合、それにもかかわらず、新たなスト リームをこのような掃引において供給することができる。この掃引の終了時に、 前記新たなストリームは活性になり(その結果、活性ストリームの数が増加する )、この時、前記ブロックサイズはこの新たな状況に適合しているため、すべて の連続する掃引に関して供給することができる。同様に、新たなストリームが、 すべての活性ストリームがあるブロックを要求しているために、1掃引において 供給されることを保証できない場合、この掃引の終了時に、1掃引の最長許容持 続時間内で、1つ以上の追加ブロックを読み出すことができることが分かる。そ うであれば、新たなストリームを供給することができる。実際には、可変レート システムに関して、すべてでないストリームが1掃引内であるブロックを要求す ることが多いにありそうだということに注意すべきである。このように、1つ以 上の新たなストリームを、次の掃引においてすぐに供給することができる。 本発明による他の実施形態において、前記システムを改善し、(最多数nmax のストリームがまだ到達していないとして)予め決められた最多数ndeltaの新 たなデータストリームを、次の掃引において追加的に供給できるようにすること を保証する。この目的のため、スケジューラ170は、ステップ220において 、前記データブロックのサイズを決定し、前記バッファの可能的なアンダフロー を、最高消費レートcmaxにおいて消費するnact+ndeltaの活性データストリ ームに関して回避するようにする。上記と同様に、この技術を、均質システムお よび不均質システムに使用することができる。数ndeltaを、一定(例えば、nm ax の固定された割合)にしてもよく、可変的に決定(例えば、ユーザの実際の数 nactの割合)してもよい。前記スケジューラは、単に、この最適化を、ステッ プ210において、決定されたユーザの実際の数nactをnact+ndeltaに置き 換えることによって行なうことができる。このように、取得すべきデータブロッ クのサイズは、データストリームの数に関して、nact+ndeltaに排他的に依存 する。ndeltaに、nmax−nactより実際的に小さい値を使用することによって 、実際的な状況において、平均して、nact+ndeltaは、nmaxより実際的に小 さくなるであろう。このように、前記ブロックサイズは実際的により小さく、結 果として、実際的により短い掃引になる。したがって、前記応答時間の成分(a )および(b)はより小さくなり、少なくともndeltaのデータスト リームを、含めるべき要求に続く第1掃引において供給することができることを 保証することができる。このように、これらのストリームに関する合計の応答時 間は、供給を待たなければならないどのような他の遅延もなく、(a)および( b)の組み合わせとなる。 トリプルバッファリングアルゴリズムに関して、以下のバッフアサイズの計算 を与えることができる。掃引xにおいて供給すべきストリームの数をnser(x )≦nmaxによって与え、ここでnserを、すでに活性のストリームnactと、前 の掃引中に前記システムにおいて許容された新たなストリームとによって形成し 、掃引xにおいて、第1ブロックを取得するとする。したがって、次の掃引x+ 1において、活性ストリームの数nactは、nserと同じになる。この、次の掃引 x+1において、ndeltaのデータストリームが前記システムに入ることができ る(すなわち、これらのストリームに関して、新たなブロックを取得し、この掃 引の終了時に、これらのストリームは活性になる)。これを、 nser(x+1)≦nser(x)+ndelta (5) によって表わすことができる。前記ブロックのサイズb(nser(x))は、ns er (x)のストリームに関してブロックを取得しなければならない最悪の場合の 掃引xに耐えるのに十分なほど正確に大きいサイズである。掃引x+1の開始時 に、最高でnser(x)+ndeltaの活性ストリームが存在するため、最悪の場合 の掃引Xは、サイズb(nser(x)+ndelta)のnser(x)のブロックの取 得から成る。式(2)を使用して、以下の循環関係を与える。 b(nser(x))=c.s(nser(x),1) +c.nser(x).b(nser(x)+ndelta) (6) この関係に対する解を、 によって与え、nser(x)≧0とし、kを、 k=max{nmax−nser(x) +ndelta−1,0}div ndelta (8) によって与える。このとき、慣例的なトリプルバッファリングアルゴリズムを、 以下のように変更する。上記と同様に、各ストリームに関して、バッファを、最 大サイズbmaxの3つのデータブロックを記憶するのに十分なほど大きく確保す る。掃引xの開始時に、活性ストリームの数がnactである場合、対応するバッ ファがb(nact(x))+b(nact(x)+ndelta)より少ないデータ要素 を保持している場合、1ストリームが供給され、サイズb(nact(x)+ndel ta )のブロックが取得される。これを図3において説明し、図3aは、慣例的な トリプルバッファリングアルゴリズムと、本発明によって変更されたアルゴリズ ムの双方に使用される3ブロックバッファを示す。図3aを、前記バッファの充 填程度を示すものとして解釈することによって、前記充填程度が境界線310よ り下に低下した場合、新たなブロックが次の周期において、bmaxである示され たサイズ320に対応するサイズで読み出される。図3bは、前記変更されたト リプルバッファアルゴリズムにおいて使用される充填程度境界線を示す。下位境 界線330は、b(nact(x))のデータ要素を記憶するバッファに対応し、 上位境界線340は、b(nact(x))+b(nact(x)+ndelta)のデー タ要素を記憶するバッファに対応する。前記バッファの充填が上位境界線340 より下に低下するとすぐ、サイズb(nact(x)+ndelta)のブロックが取得 され、この瞬時において、前記充填程度が最大充填より上になるかもしれず、境 界線350によって示されるように、この掃引中の消費がないとする。nactが nmaxよりも実際的に小さくなるとすぐ、図3bの境界線は、図3aにおける対 応する境界線よりも実際的に低くなることは明らかであろう。 上述したように変更されたトリプルバッファリングアルゴリズムをシミュレー トした。このシミュレーションに関して、すべての活性ストリームは、データを 、1.5Mbit/secの同じ最高レートにおいて消費すると仮定した。ディ スクパラメータは、シーゲートエリート9ディスク(Seagate Elit e 9 disk)に基づき、このディスクは、内周トラックに対する44Mb it/secから外周トラックに対する65Mbit/secまで変化する伝送 レートを有し、11.17msecの最悪の場合の回転潜伏期を有する。各々の シミュレーションに関して、前記システムにおいて活性にできるストリームの最 多合 計数nmaxと、実際のストリームの数nactとを固定する。1つのディスクと、1 .5Mbit/secの消費レートとに対して、ストリームの最多数は、nmax ≦29によって制限されることに注意されたい。応答時間を、ストリームの1つ に他のデータに対する要求(例えば、タイトルの切り替え)を反復的に発生させ ることによって測定する。前記要求を発するストリームをランダムに選択する。 2つの連続する要求の間隔を、13ないし28秒の範囲内で一様に選択する。こ の間隔を、連続する要求が干渉しないことを保証するのに十分なほど大きく選択 した。各々のシミュレーションは、50000要求に基づく。以下の3つの表は 、b(nact)の値を、nnewの異なった値に対するbmaxの割合として示す。一例として、nact=10、nmax=25およびnnew=3に対して、ブロック サイズは、従来のトリプルバッファシステム(言い換えると、本発明によって変 更したシステムにおいて、このシステムがnmaxの活性ストリームによって完全 にロードされている場合)におけるブロックサイズの16.1%にすぎない。 次の表は、従来のトリプルバッファリングアルゴリズムと、動的ブロックサイ ズ調節を伴うトリプルバッファリングアルゴリズムと名付けた、本発明によって 変更したアルゴリズムとの、平均応答時間の比較を示す。これらの平均応答時間 を、この表の項目における上の数字として示し、99%変位値を、これらの項目 における下の数字として示す。この表は、nnew=1に対して与えた。 上記表は、本発明によるシステムにおける平均応答時間を、きわめてより短く できることを示す。例えば、nnew=1、nact=10およびnmax=25に対し て、平均応答時間は、126.9msecから59.7msecに減少する。 図4は、400によって示すトリプルバッファリングアルゴリズムと、410 によって示す動的ブロックサイズ調節を伴うトリプルバッファリングアルゴリズ ムとに関して、nnew=1、nact=15およびnmax=25に対して観測した掃 引時間の周波数図を示す。この図は、前記変更されたアルゴリズムの平均におけ る掃引時間が、より小さいブロックを取得することによって、大幅により短く なることを示す。しかしながら、小さすぎるブロックを取得すると、ディスクオ ーバヘッドが大きくなり過ぎ、応答時間が再び増加する恐れがあることに注意す べきである。これを、例えば、前記応答時間表において、nnew=1、nact=5 およびnmax=10に対して認めることができ、応答時間は、34.9msec から39.8msecに実際に増加する。 上述した実施形態において、読み出すべきブロックのサイズは、データストリ ームの数に関して、(新たなデータストリームの数nnewによって補充すること を要求される)データストリームの実際の数nactに排他的に依存する。前記シ ステムにおいて、メモリは、いずれにせよ、完全サイズのブロックの取得および 記憶に利用可能であるため、有利には、小さいブロックに関して、b(nact) またはb(nact+ndelta)である最小可能サイズのブロックを取得せず、代わ りに、b(nact)(またはb(nact+ndelta))ないしbmaxにおいて選択す る。これを、 b(nact,y)=b(nact)+y.(bmax−b(nact)) ここで、0≦y≦1 (8) であるブロックサイズb(nact,y)によって形式的に表わすことができる。 前記表においても見られるように、実際には、ブロックサイズの中位の増加のみ が、良くない性能の補正に必要である。したがって、好適には、ブロックサイズ を、bmaxよりもb(nact)に実際的により近く選択する。ある程度小さいブロ ックサイズに関して、このブロックサイズをbmaxの20または30%まで増加 させる必要があるかもしれない。これを、0≦y≦0.3によって形式的に表わ すことができる。当業者は、特定のアルゴリズムに対する最適なサイズを規定で きるであろう。このサイズを、例えば、上述したようなシミュレーションを使用 して決定してもよい。 本発明によるシステムの代わりの実施形態において、本システムに入ることが できる新たなストリームの数において制限を与えず、さらに、現在活性のストリ ームと、新たに認めるべきストリームとによって形成されるストリームの合計数 が、本システムにおいて許容されるストリームの合計数を越えない(0≦nnew ≦nmax−nact)という明白な制限を与える。同時に、1ブロックを、各々の 新たなストリームに関して、その後の第1掃引において読み出すことができるこ とを保証する。これを、完全にロードされた、すなわち、nmaxの活性データス トリームでロードされたシステムにおいて読み出すことを要求されたデータ量を 、次の掃引における新たなデータストリームに関して読み出すことによって達成 する。一例として、トリプルバッファリングアルゴリズムに基づくアルゴリズム に関して、完全サイズブロックbmaxを読み出す。上述したように、bmaxは、tmax *cmaxに実際的に対応し、ここで、tmaxは、1掃引において最多nmaxのデ ータストリームの各々に関してbmaxデータ要素を有するデータブロックを読み 出す最長期間である。前記ストリームは、このブロックが読み出される掃引が完 了した後にのみ、活性になる。同じ掃引において、さらに、すでに活性のストリ ームであるすべてのストリームに関してデータが取得される。これらのストリー ムに関しては、すでに一回、多量のデータが読み出されている。したがって、最 悪の場合の次の掃引を耐えるのに十分な補足となる量のデータを読み出せば十分 である。次の掃引において、活性ストリームの現在の数nactに、最初の量のデ ータが現在の掃引において読み出される新たなストリームの数nnewを補足し、 次の掃引に関する活性ストリームの合計数nact+nnewを形成する。これらのス トリームのすべてが、データを要求してもよい。したがって、現在の掃引におい て、nnewの新たなストリームまでに関する完全な量のデータを取得するのに加 えて、データを要求する活性ストリームに関して、最高消費レートにおいて消費 する活性データストリームに関するバッファのアンダフローを回避するのに十分 なサイズのデータブロックを読み出す。上述したように、前記ブロックのサイズ を、データストリームの数に関して、nact+nnewに依存する式によって計算す ることができる。上記のように、この式は、データストリームの数に関して、nact +nnewに排他的に基づくか、代わりに、前記ブロックのサイズを、小さすぎ るブロックに関して、nmax(または、nmaxに関係するbmax)にも基づく式に よって増加してもよい。このようにして、前記アルゴリズムは、データブロック を所定の掃引においてすでに活性のデータストリームに関して取得する場合、こ の掃引の終了時に、再び最大サイズのデータブロックが前記バッファにおいてあ ることを保証する。 式を、トリプルバッファリングアルゴリズムを考慮して示したが、当業者は、 他のスケジューリングアルゴリズムに対して同様の式を示すことができることは 、明らかであろう。

Claims (1)

  1. 【特許請求の範囲】 1.記憶媒体からデータのブロックを受け、このデータをユーザに最大nmaxの 複数のデータストリームの形態において供給するシステムであって、各データス トリームを、少なくとも新規状態および活性状態を含む複数の状態の内の1つに おけるものとし、形成時のデータストリームを、ユーザによって消費される十分 なデータが存在しない前記新規状態におけるものとし、活性データストリームに 対して、ユーザはデータを消費することができ、 データストリーム毎にデータを記憶する関連バッファと、 1回の掃引において、前記記憶媒体から、データストリームの選択されたブロ ックのデータストリーム毎に、予め決められたサイズのデータブロックを読み出 し、読み出されたデータブロックを前記データストリームに関連するバッファに 記憶するリーダと、 前記リーダの次の掃引動作中に予め決められたサイズのデータブロックを読み 出す必要がある前記データストリームのグループを繰り返して選択し、前記グル ープが、関連する前記バッファが前記データブロックを記憶する場所を有する活 性データストリームを具えるようにし、前記リーダに前記選択されたグループに 関するデータを読み出させるスケジューラとを具えるシステムにおいて、 前記スケジューラが、多数のデータストリームに関して、活性データストリー ムの実際の数nactに実際的に基づく式を通じて、各々次の掃引動作に関するデ ータブロックのサイズを可変的に決定するように作用することを特徴とするシス テム。 2.請求の範囲1に記載のシステムにおいて、前記スケジューラが、前記リーダ に次の掃引動作を行なわせる前に、要求された数nnewの新たなデータストリー ムを形成し、nnewを、新たなデータストリームの最多数ndeltaによって制限し 、ndeltaを、nmax−nactより実際的に小さくし、前記スケジューラが、線形 項nact+ndeltaに基づいている最高消費レートcmaxにおいて消費するnact+ ndeltaの活性データストリームに関して可能性のある前記バッファのアンダフ ローが回避されるような前記データブロックのサイズを決定するよ うにしたことを特徴とするシステム。 3.請求の範囲1に記載のシステムにおいて、前記スケジューラが、各々次の掃 引動作中に、 0≦nnew≦nmax−nactである要求された数nnewの新たなデータストリーム を形成し、前記新たなデータストリームを前記活性データストリームの選択され たグループに加えると共に、前記リーダに前記グループの新たなデータストリー ムに関するbmaxのデータ要素を読み出させることによって、前記新たなデータ ストリームに関係するバッファが十分な量のデータを具え、最高消費レートcma x において消費するnmaxの活性データストリームに関する前記バッファのアンダ フローを回避するように配置し、bmaxをtmax*cmaxに実際的に対応させ、tm ax を1掃引における最多nmaxデータストリームの各々に関するデータブロック を読み出す最長期間とし、 前記選択されたグループの活性データストリームに関して読み出すべきデータ ブロックのサイズを、前記バッファの可能性のあるアンダフローが、nactにお ける前記式の依存状態が線形項nact+nnewに基づいていることによって、前記 最高消費レートにおいて消費するnact+nnewの活性データストリームに関して 回避されるように決定するようにしたことを特徴とするシステム。
JP11506781A 1997-07-02 1998-06-25 データストリーム供給システム Ceased JP2001502458A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97202023.4 1997-07-02
EP97202023 1997-07-02
PCT/IB1998/000981 WO1999001808A2 (en) 1997-07-02 1998-06-25 System for supplying data streams

Publications (1)

Publication Number Publication Date
JP2001502458A true JP2001502458A (ja) 2001-02-20

Family

ID=8228508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11506781A Ceased JP2001502458A (ja) 1997-07-02 1998-06-25 データストリーム供給システム

Country Status (4)

Country Link
US (1) US6205525B1 (ja)
EP (1) EP0923758A2 (ja)
JP (1) JP2001502458A (ja)
WO (1) WO1999001808A2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385566B1 (en) * 1998-03-31 2002-05-07 Cirrus Logic, Inc. System and method for determining chip performance capabilities by simulation
JP3522537B2 (ja) * 1998-06-19 2004-04-26 洋太郎 村瀬 画像再生方法、画像再生装置及び画像通信システム
US6665728B1 (en) * 1998-12-30 2003-12-16 Intel Corporation Establishing optimal latency in streaming data applications that use data packets
EP1080577A1 (en) * 1999-03-23 2001-03-07 Koninklijke Philips Electronics N.V. Multimedia server
US7096327B2 (en) * 2000-03-24 2006-08-22 Koninklijke Philips Electronics N.V. System for and method of accessing blocks on a storage medium
US6766376B2 (en) 2000-09-12 2004-07-20 Sn Acquisition, L.L.C Streaming media buffering system
US6907466B2 (en) * 2001-11-08 2005-06-14 Extreme Networks, Inc. Methods and systems for efficiently delivering data to a plurality of destinations in a computer network
US20070150431A1 (en) * 2003-12-03 2007-06-28 Koninklijke Philips Electronic N.V. Method and apparatus for handling a group of at least one data object
US7558806B2 (en) * 2003-12-14 2009-07-07 Realnetworks, Inc. Method and apparatus for buffering streaming media
US7602820B2 (en) 2005-02-01 2009-10-13 Time Warner Cable Inc. Apparatus and methods for multi-stage multiplexing in a network
US20070022231A1 (en) * 2005-07-25 2007-01-25 Rolf Fritz Method and System for Transferring a Stream of Data
US7889765B2 (en) * 2005-11-30 2011-02-15 Time Warner Cable Inc. Apparatus and methods for utilizing variable rate program streams in a network
US8625607B2 (en) 2007-07-24 2014-01-07 Time Warner Cable Enterprises Llc Generation, distribution and use of content metadata in a network
US8488661B2 (en) * 2008-06-13 2013-07-16 Verizon Patent And Licensing Inc. Systems and methods for data streaming
EP2264604A1 (en) * 2009-06-15 2010-12-22 Thomson Licensing Device for real-time streaming of two or more streams in parallel to a solid state memory device array
US8505057B2 (en) 2010-10-05 2013-08-06 Concurrent Computers Demand-based edge caching video content system and method
US20130254771A1 (en) * 2012-03-20 2013-09-26 Google Inc. Systems and methods for continual, self-adjusting batch processing of a data stream

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586264A (en) * 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
US5533021A (en) * 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
JP3575862B2 (ja) * 1995-03-16 2004-10-13 株式会社東芝 ストリームスケジューリング方法及び装置
US5561637A (en) * 1995-09-12 1996-10-01 International Business Machines Corporation Pace control for multicasting in a video server environment
JPH0981497A (ja) * 1995-09-12 1997-03-28 Toshiba Corp 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法
WO1997021173A2 (en) * 1995-12-01 1997-06-12 Philips Electronics N.V. Method and system for reading data for a number of users
US5987621A (en) * 1997-04-25 1999-11-16 Emc Corporation Hardware and software failover services for a file server
DE69810250T2 (de) * 1997-05-26 2003-10-09 Koninkl Philips Electronics Nv System zur wiedergabe von daten in einem datenflussserver

Also Published As

Publication number Publication date
WO1999001808A3 (en) 1999-03-25
WO1999001808A2 (en) 1999-01-14
US6205525B1 (en) 2001-03-20
EP0923758A2 (en) 1999-06-23

Similar Documents

Publication Publication Date Title
JP2001502458A (ja) データストリーム供給システム
US6138221A (en) Method and system for supplying streams of data having identical maximum consumption rate in a storage medium
US6061732A (en) Data streaming system utilizing an asynchronous technique for retrieving data from a stream server
US6438630B1 (en) Scheduling storage accesses for multiple continuous media streams
EP1222813B1 (en) Apparatus and method for configuring a media storage system
US8566432B2 (en) Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests
US6496899B1 (en) Disk scheduling system with bounded request reordering
JP4151991B2 (ja) ビデオサーバにおいてデータを取り出すシステム
US6643083B2 (en) Method and system for retrieving blocks of data from a storage medium
JP2002540545A (ja) マルチメディアサーバー
Reisslein et al. Striping for interactive video: Is it worth it?
US7334103B2 (en) Methods and apparatus for improving the breathing of disk scheduling algorithms
Korst et al. Disk scheduling for variable-rate data streams
US20060167959A1 (en) Storing programs on disk for multiple-user retrieval
Shastri et al. DVDs: Much Needed “Shot in the Arm” for Video Servers
Ng et al. Analysis on disk scheduling for special user functions
SAMPATH-KUMAR VIJNAN SHASTRI CEDT, Indian Institute of Science, Bangalore-560 012, India P. VENKAT RANGAN
JP2004145613A (ja) 配信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060207

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060406

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060529

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070220

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20070711

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070828