JPH0981497A - 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法 - Google Patents
実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法Info
- Publication number
- JPH0981497A JPH0981497A JP7234404A JP23440495A JPH0981497A JP H0981497 A JPH0981497 A JP H0981497A JP 7234404 A JP7234404 A JP 7234404A JP 23440495 A JP23440495 A JP 23440495A JP H0981497 A JPH0981497 A JP H0981497A
- Authority
- JP
- Japan
- Prior art keywords
- time
- real
- unit
- block
- stream data
- 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
Links
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/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/17336—Handling of requests in head-ends
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer And Data Communications (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Transfer Between Computers (AREA)
Abstract
(57)【要約】
【課題】 タイムスロット間隔や転送開始時刻の周期が
一定のスケジューリング方式でデータレートが異なる複
数の実時間ストリームデータを供給し、かつディスク装
置の転送能力を無駄にしない実時間ストリームサーバを
提供すること。 【解決手段】 要求データをディスク装置から読出し保
持しネットワークからクライアントへ送るサーバにて、
実時間ストリームデータ入力手段、データレートに応じ
単位ストリーム数とブロック転送時間を決定する手段、
ストリームデータをブロック転送時間内で転送する大き
さのブロックに分割し各単位ストリームに順番に割当て
る手段、単位ストリームごとに先頭ブロックから順番に
複数のディスク装置にブロックを振分けて蓄積させる手
段、各実時間ストリームデータの単位ストリーム使用数
と各単位ストリームの先頭ブロックの格納ディスク装置
識別番号と各ブロックの格納ディスク装置上の記録位置
を保持する手段を持つ。
一定のスケジューリング方式でデータレートが異なる複
数の実時間ストリームデータを供給し、かつディスク装
置の転送能力を無駄にしない実時間ストリームサーバを
提供すること。 【解決手段】 要求データをディスク装置から読出し保
持しネットワークからクライアントへ送るサーバにて、
実時間ストリームデータ入力手段、データレートに応じ
単位ストリーム数とブロック転送時間を決定する手段、
ストリームデータをブロック転送時間内で転送する大き
さのブロックに分割し各単位ストリームに順番に割当て
る手段、単位ストリームごとに先頭ブロックから順番に
複数のディスク装置にブロックを振分けて蓄積させる手
段、各実時間ストリームデータの単位ストリーム使用数
と各単位ストリームの先頭ブロックの格納ディスク装置
識別番号と各ブロックの格納ディスク装置上の記録位置
を保持する手段を持つ。
Description
【0001】
【発明の属する技術分野】本発明は、データレートが異
なる複数の実時間ストリームデータを同時にクライアン
トへ供給する実時間ストリームサーバならびに実時間ス
トリームデータの格納方法および転送方法に関する。
なる複数の実時間ストリームデータを同時にクライアン
トへ供給する実時間ストリームサーバならびに実時間ス
トリームデータの格納方法および転送方法に関する。
【0002】
【従来の技術】動画像や音声に代表されるように、実時
間で順次転送されるデータを「実時間ストリームデー
タ」と呼ぶ。これらのデータを扱う実時間ストリームサ
ーバにおいては、ディスク装置に蓄積された実時間スト
リームデータを、実時間での連続性を保証して各クライ
アントに送出できることが必要条件である。
間で順次転送されるデータを「実時間ストリームデー
タ」と呼ぶ。これらのデータを扱う実時間ストリームサ
ーバにおいては、ディスク装置に蓄積された実時間スト
リームデータを、実時間での連続性を保証して各クライ
アントに送出できることが必要条件である。
【0003】その条件を満たすために、従来技術では実
時間ストリームデータをある一定時間に転送すべき大き
さのブロックに分割してディスクに格納しておき、各ス
トリーム毎にサーバが周期的にディスクにアクセスす
る。読み出されたブロックは、一旦バッファメモリ上に
置かれ、対応するクライアントに通信網を介して周期的
に送出される。
時間ストリームデータをある一定時間に転送すべき大き
さのブロックに分割してディスクに格納しておき、各ス
トリーム毎にサーバが周期的にディスクにアクセスす
る。読み出されたブロックは、一旦バッファメモリ上に
置かれ、対応するクライアントに通信網を介して周期的
に送出される。
【0004】このときのディスクアクセス命令とデータ
転送命令の発行のタイミングの管理を行なうのがストリ
ームスケジューリング装置である。また、スケジューリ
ング装置は、クライアントからの接続要求を受け付け
て、新しいストリームチャネルを確立する。スケジュー
リング装置では、ディスクアクセスとデータ転送のタイ
ミングの管理のために、図10で示すように一定の時間
間隔で区切られたタイムスロットを用意する。1タイム
スロットには1回のディスクアクセスが割付けられ、そ
のディスクアクセスで実時間ストリームデータの1ブロ
ックを読み出す。1ストリームのディスクアクセスの周
期は一定である。したがって、ストリーム毎に異なるタ
イムスロットにディスクアクセスを割り付けることによ
り、複数ストリームで同一の蓄積データを共有して利用
することが可能になる。図10の例では、1周期の間に
4タイムスロットを持つ、すなわち読み出し多重度が4
であるディスク装置を3台用意して、それらのディスク
装置に各ブロックをストライピングしてある。したがっ
て、ある1台のディスク装置へのアクセス周期は4×3
=12タイムスロットとなり、接続可能ストリーム数は
最大12となる。
転送命令の発行のタイミングの管理を行なうのがストリ
ームスケジューリング装置である。また、スケジューリ
ング装置は、クライアントからの接続要求を受け付け
て、新しいストリームチャネルを確立する。スケジュー
リング装置では、ディスクアクセスとデータ転送のタイ
ミングの管理のために、図10で示すように一定の時間
間隔で区切られたタイムスロットを用意する。1タイム
スロットには1回のディスクアクセスが割付けられ、そ
のディスクアクセスで実時間ストリームデータの1ブロ
ックを読み出す。1ストリームのディスクアクセスの周
期は一定である。したがって、ストリーム毎に異なるタ
イムスロットにディスクアクセスを割り付けることによ
り、複数ストリームで同一の蓄積データを共有して利用
することが可能になる。図10の例では、1周期の間に
4タイムスロットを持つ、すなわち読み出し多重度が4
であるディスク装置を3台用意して、それらのディスク
装置に各ブロックをストライピングしてある。したがっ
て、ある1台のディスク装置へのアクセス周期は4×3
=12タイムスロットとなり、接続可能ストリーム数は
最大12となる。
【0005】図10を参照すると、あるストリームが各
ディスク装置へアクセスするタイムスロットは元のアク
セス周期である4タイムスロットづつずれている。そし
て、例えば、読出しブロックA1(実時間ストリームデ
ータAのブロック1)が読み出された後、クライアント
0に転送されて実時間で処理(例えば再生)され、その
後、A1の処理が終了するまでにブロックA2が読み出
されて転送される。このように、各ストリームが他のス
トリームの連続性に影響を与えることなくスケジューリ
ングされる。
ディスク装置へアクセスするタイムスロットは元のアク
セス周期である4タイムスロットづつずれている。そし
て、例えば、読出しブロックA1(実時間ストリームデ
ータAのブロック1)が読み出された後、クライアント
0に転送されて実時間で処理(例えば再生)され、その
後、A1の処理が終了するまでにブロックA2が読み出
されて転送される。このように、各ストリームが他のス
トリームの連続性に影響を与えることなくスケジューリ
ングされる。
【0006】図10の例はタイムスロットに割付けられ
たディスクアクセスを固定する方法であるが、バッファ
メモリが利用可能になってから転送開始時刻までの間で
あればディスクアクセスを割り付けるタイムスロットは
変更可能であることに着目し、許容ジッタ範囲内のタイ
ムスロットでディスクアクセスの割り付け位置を可変に
する方法もある(特願平7−57384号)。ディスク
アクセスを割り付けることが可能なタイムスロットの範
囲を、そのストリームの許容ジッター範囲と呼び、図9
にその範囲を示す。扱う実時間ストリームデータが全て
同じデータレートである場合には、許容ジッター範囲を
取り入れた上記の方式によりスケジューリングが容易に
なる。
たディスクアクセスを固定する方法であるが、バッファ
メモリが利用可能になってから転送開始時刻までの間で
あればディスクアクセスを割り付けるタイムスロットは
変更可能であることに着目し、許容ジッタ範囲内のタイ
ムスロットでディスクアクセスの割り付け位置を可変に
する方法もある(特願平7−57384号)。ディスク
アクセスを割り付けることが可能なタイムスロットの範
囲を、そのストリームの許容ジッター範囲と呼び、図9
にその範囲を示す。扱う実時間ストリームデータが全て
同じデータレートである場合には、許容ジッター範囲を
取り入れた上記の方式によりスケジューリングが容易に
なる。
【0007】ところで、データレートがより高い実時間
ストリームデータを扱う場合には、ブロックサイズが大
きくなり、ディスクからの読み出しがタイムスロット内
で完了できないことがある。
ストリームデータを扱う場合には、ブロックサイズが大
きくなり、ディスクからの読み出しがタイムスロット内
で完了できないことがある。
【0008】そこで、最大のデータレートを持つ実時間
ストリームデータにタイムスロット間隔やブロックサイ
ズを合わせて一定にすると、データレートの低い実時間
ストリームデータを同時に供給する際には、ディスク装
置の転送能力を十分に引き出すことができない。これ
は、周期が同じであればデータレートに比例してブロッ
クサイズが変化するからである。
ストリームデータにタイムスロット間隔やブロックサイ
ズを合わせて一定にすると、データレートの低い実時間
ストリームデータを同時に供給する際には、ディスク装
置の転送能力を十分に引き出すことができない。これ
は、周期が同じであればデータレートに比例してブロッ
クサイズが変化するからである。
【0009】一方、ブロックサイズに応じてタイムスロ
ット間隔を変化させると、ディスクアクセスの順序を入
れ換えるような柔軟なディスクアクセススケジューリン
グが困難になる。また、ブロックサイズ分の連続した領
域をバッファメモリとして確保する必要があるなど、バ
ッファメモリの管理が複雑になる。
ット間隔を変化させると、ディスクアクセスの順序を入
れ換えるような柔軟なディスクアクセススケジューリン
グが困難になる。また、ブロックサイズ分の連続した領
域をバッファメモリとして確保する必要があるなど、バ
ッファメモリの管理が複雑になる。
【0010】また、データレートにかかわらず各ブロッ
クの大きさを一定にした場合には、1台のディスク装置
へアクセスする周期がストリーム毎に異なる。そのた
め、既接続ストリームの連続性を保証しつつ新ストリー
ムの接続が可能かどうかの判定が難しい。
クの大きさを一定にした場合には、1台のディスク装置
へアクセスする周期がストリーム毎に異なる。そのた
め、既接続ストリームの連続性を保証しつつ新ストリー
ムの接続が可能かどうかの判定が難しい。
【0011】
【発明が解決しようとする課題】上記のように従来技術
では、データレートが異なる複数の実時間ストリームデ
ータを供給する場合には、タイムスロット間隔と1台の
ディスク装置へのアクセス周期を一定にしてディスクア
クセスのスケジューリングを容易にすることと、データ
レートに応じて供給本数を変化させてディスク装置の転
送能力を十分に引き出すことの両立は困難であった。
では、データレートが異なる複数の実時間ストリームデ
ータを供給する場合には、タイムスロット間隔と1台の
ディスク装置へのアクセス周期を一定にしてディスクア
クセスのスケジューリングを容易にすることと、データ
レートに応じて供給本数を変化させてディスク装置の転
送能力を十分に引き出すことの両立は困難であった。
【0012】本発明は、上記事情を考慮してなされたも
のであり、タイムスロット間隔や転送開始時刻の周期が
一定のスケジューリング方式でデータレートが異なる複
数の実時間ストリームデータを供給し、かつディスク装
置の転送能力を無駄にしない実時間ストリームサーバな
らびに実時間ストリームデータの格納方法および転送方
法を提供することを目的とする。
のであり、タイムスロット間隔や転送開始時刻の周期が
一定のスケジューリング方式でデータレートが異なる複
数の実時間ストリームデータを供給し、かつディスク装
置の転送能力を無駄にしない実時間ストリームサーバな
らびに実時間ストリームデータの格納方法および転送方
法を提供することを目的とする。
【0013】
【課題を解決するための手段】本発明(請求項1)は、
実時間ストリームデータをブロック単位に格納するため
の複数のディスク装置から、クライアントから要求され
た実時間ストリームデータを読み出しバッファメモリに
一時的に格納した後にネットワークを介して該クライア
ントへ転送する実時間ストリームサーバにおいて、外部
から実時間ストリームデータを入力する手段と、入力さ
れた前記実時間ストリームデータのデータレートに応じ
て、単位ストリームの使用数およびブロック転送時間を
決定する手段と、前記実時間ストリームデータを、前記
ブロック転送時間内で転送すべき大きさのブロックに分
割し、前記使用数の各単位ストリームデータに順番に割
当てる手段と、前記単位ストリームデータごとに、割当
てられたブロックを先頭ブロックから順番に前記複数の
ディスク装置に振り分けて蓄積させる手段と、実時間ス
トリームデータごとに、前記単位ストリームの使用数、
各単位ストリームの前記先頭ブロックを格納する前記デ
ィスク装置の識別番号および各ブロックの格納したディ
スク装置上の記録位置を保持するディレクトリ情報を管
理する手段とを備えたことを特徴とする。
実時間ストリームデータをブロック単位に格納するため
の複数のディスク装置から、クライアントから要求され
た実時間ストリームデータを読み出しバッファメモリに
一時的に格納した後にネットワークを介して該クライア
ントへ転送する実時間ストリームサーバにおいて、外部
から実時間ストリームデータを入力する手段と、入力さ
れた前記実時間ストリームデータのデータレートに応じ
て、単位ストリームの使用数およびブロック転送時間を
決定する手段と、前記実時間ストリームデータを、前記
ブロック転送時間内で転送すべき大きさのブロックに分
割し、前記使用数の各単位ストリームデータに順番に割
当てる手段と、前記単位ストリームデータごとに、割当
てられたブロックを先頭ブロックから順番に前記複数の
ディスク装置に振り分けて蓄積させる手段と、実時間ス
トリームデータごとに、前記単位ストリームの使用数、
各単位ストリームの前記先頭ブロックを格納する前記デ
ィスク装置の識別番号および各ブロックの格納したディ
スク装置上の記録位置を保持するディレクトリ情報を管
理する手段とを備えたことを特徴とする。
【0014】本発明(請求項2)は、実時間ストリーム
データを、データレートに応じたブロック転送時間内で
転送すべき大きさのブロックに分割し、該データレート
に応じた使用数の各単位ストリームデータに順番に割当
て、各単位ストリームデータごとに、割当てられたブロ
ックを先頭ブロックから順番に複数のディスク装置に振
り分けて蓄積しておき、クライアントから要求された実
時間ストリームデータを、該ディスク装置から読み出し
バッファメモリに一時的に格納した後にネットワークを
介して該クライアントへ転送する実時間ストリームサー
バであって、クライアントからの要求に応じて、要求さ
れた実時間ストリームデータについて、前記使用数分に
相当する単位ストリームのストリーム資源を確保し、元
の実時間ストリームデータの順にブロックを連続して転
送するように各単位ストリームの転送開始時刻をスケジ
ューリングする手段と、各ブロックの転送にあたって、
各単位ストリームごとにスケジューリングされた前記転
送開始時刻から前記ブロック転送時間内に前記バッファ
メモリ上の該当ブロックを転送させる手段とを備えたこ
とを特徴とする。
データを、データレートに応じたブロック転送時間内で
転送すべき大きさのブロックに分割し、該データレート
に応じた使用数の各単位ストリームデータに順番に割当
て、各単位ストリームデータごとに、割当てられたブロ
ックを先頭ブロックから順番に複数のディスク装置に振
り分けて蓄積しておき、クライアントから要求された実
時間ストリームデータを、該ディスク装置から読み出し
バッファメモリに一時的に格納した後にネットワークを
介して該クライアントへ転送する実時間ストリームサー
バであって、クライアントからの要求に応じて、要求さ
れた実時間ストリームデータについて、前記使用数分に
相当する単位ストリームのストリーム資源を確保し、元
の実時間ストリームデータの順にブロックを連続して転
送するように各単位ストリームの転送開始時刻をスケジ
ューリングする手段と、各ブロックの転送にあたって、
各単位ストリームごとにスケジューリングされた前記転
送開始時刻から前記ブロック転送時間内に前記バッファ
メモリ上の該当ブロックを転送させる手段とを備えたこ
とを特徴とする。
【0015】本発明(請求項3)は、実時間ストリーム
データを格納するための複数のディスク装置を備え、ク
ライアントから要求された実時間ストリームデータを、
ブロック単位に該ディスク装置から読み出しバッファメ
モリに一時的に格納した後にネットワークを介して該ク
ライアントへ転送する実時間ストリームサーバのため
に、外部から実時間ストリームデータを入力してディス
ク装置に格納する格納方法において、入力された実時間
ストリームデータのデータレートに応じて、単位ストリ
ームの使用数およびブロック転送時間を決定し、該実時
間ストリームデータを、前記ブロック転送時間内で転送
すべき大きさのブロックに分割し、分割されたブロック
を順番に各単位ストリームデータに割当て、前記単位ス
トリームデータごとに、任意のディスク装置を起点とし
予め決められたディスク装置選択順序で、先頭ブロック
から1ブロックづつ振り分けて蓄積することを特徴とす
る。
データを格納するための複数のディスク装置を備え、ク
ライアントから要求された実時間ストリームデータを、
ブロック単位に該ディスク装置から読み出しバッファメ
モリに一時的に格納した後にネットワークを介して該ク
ライアントへ転送する実時間ストリームサーバのため
に、外部から実時間ストリームデータを入力してディス
ク装置に格納する格納方法において、入力された実時間
ストリームデータのデータレートに応じて、単位ストリ
ームの使用数およびブロック転送時間を決定し、該実時
間ストリームデータを、前記ブロック転送時間内で転送
すべき大きさのブロックに分割し、分割されたブロック
を順番に各単位ストリームデータに割当て、前記単位ス
トリームデータごとに、任意のディスク装置を起点とし
予め決められたディスク装置選択順序で、先頭ブロック
から1ブロックづつ振り分けて蓄積することを特徴とす
る。
【0016】例えば、N台のディスク装置とディスク装
置から読み出したデータを一時的に格納しておくバッフ
ァメモリとバッファメモリからネットワークを介してク
ライアントへデータを転送する転送装置とそれらを制御
する制御装置を有し、データレートR以下の実時間スト
リームデータを時間Tで転送すべき大きさのブロックに
分割してi番目のブロックをbiとしたときに、先頭ブ
ロックb0を格納するディスク装置の番号をHとしてブ
ロックbkを(k+H) modulo N番目のディ
スク装置に格納しておき、クライアントへのデータ供給
時に周期Tで各ブロックをディスク装置からバッファメ
モリに読み出して順にクライアントへ転送する実時間ス
トリームサーバの場合、データレートRの実時間ストリ
ームを単位ストリームとして、データレートm×R以下
の実時間ストリームデータを時間(T/m)で転送すべ
き大きさのブロックに分割してi番目のブロックをbi
としたときに、ブロック全体の集合をm個の疎な部分集
合Bj={b(m×k+j)|k=0,1,…}(j=
0,…,m−1)に分類して、Bjの先頭ブロックbj
を格納するディスク装置の番号をHjとしてブロックb
(m×k+j)を(k+Hj) modulo N番目
のディスク装置に格納しておく。
置から読み出したデータを一時的に格納しておくバッフ
ァメモリとバッファメモリからネットワークを介してク
ライアントへデータを転送する転送装置とそれらを制御
する制御装置を有し、データレートR以下の実時間スト
リームデータを時間Tで転送すべき大きさのブロックに
分割してi番目のブロックをbiとしたときに、先頭ブ
ロックb0を格納するディスク装置の番号をHとしてブ
ロックbkを(k+H) modulo N番目のディ
スク装置に格納しておき、クライアントへのデータ供給
時に周期Tで各ブロックをディスク装置からバッファメ
モリに読み出して順にクライアントへ転送する実時間ス
トリームサーバの場合、データレートRの実時間ストリ
ームを単位ストリームとして、データレートm×R以下
の実時間ストリームデータを時間(T/m)で転送すべ
き大きさのブロックに分割してi番目のブロックをbi
としたときに、ブロック全体の集合をm個の疎な部分集
合Bj={b(m×k+j)|k=0,1,…}(j=
0,…,m−1)に分類して、Bjの先頭ブロックbj
を格納するディスク装置の番号をHjとしてブロックb
(m×k+j)を(k+Hj) modulo N番目
のディスク装置に格納しておく。
【0017】本発明(請求項4)は、実時間ストリーム
データを、データレートに応じたブロック転送時間内で
転送すべき大きさのブロックに分割し、該データレート
に応じた使用数の各単位ストリームデータに順番に割当
て、各単位ストリームデータごとに、割当てられたブロ
ックを先頭ブロックから順番に複数のディスク装置に振
り分けて蓄積する実時間ストリームサーバにおいて、ク
ライアントから要求された実時間ストリームデータを、
該ディスク装置から読み出しバッファメモリに一時的に
格納した後にネットワークを介して該クライアントへ転
送する転送方法であって、クライアントからの要求に応
じて、要求された実時間ストリームデータについて、前
記使用数分に相当する単位ストリームのストリーム資源
を確保し、元の実時間ストリームデータの順にブロック
を連続して転送するように各単位ストリームの転送開始
時刻を前記ブロック転送時間分づつずらして、それぞれ
を独立な単位ストリームとしてスケジューリングし、各
単位ストリームごとに、スケジューリングされた前記転
送開始時刻から前記ブロック転送時間で前記バッファメ
モリ上の各ブロックを転送することを特徴とする。
データを、データレートに応じたブロック転送時間内で
転送すべき大きさのブロックに分割し、該データレート
に応じた使用数の各単位ストリームデータに順番に割当
て、各単位ストリームデータごとに、割当てられたブロ
ックを先頭ブロックから順番に複数のディスク装置に振
り分けて蓄積する実時間ストリームサーバにおいて、ク
ライアントから要求された実時間ストリームデータを、
該ディスク装置から読み出しバッファメモリに一時的に
格納した後にネットワークを介して該クライアントへ転
送する転送方法であって、クライアントからの要求に応
じて、要求された実時間ストリームデータについて、前
記使用数分に相当する単位ストリームのストリーム資源
を確保し、元の実時間ストリームデータの順にブロック
を連続して転送するように各単位ストリームの転送開始
時刻を前記ブロック転送時間分づつずらして、それぞれ
を独立な単位ストリームとしてスケジューリングし、各
単位ストリームごとに、スケジューリングされた前記転
送開始時刻から前記ブロック転送時間で前記バッファメ
モリ上の各ブロックを転送することを特徴とする。
【0018】例えば、上記したブロックの集合B0,B
1,…,B(m−1)をそれぞれ単位ストリームS0,
S1,…,S(m−1)のデータとみなし、クライアン
トから新しく要求が到着したときに、各単位ストリーム
の転送開始時刻を(T/m)づつずらして各単位ストリ
ームを接続し、クライアントへの供給時には、ブロック
の転送時間が(T/m)であるm本の独立な単位ストリ
ームとしてスケジュールする。
1,…,B(m−1)をそれぞれ単位ストリームS0,
S1,…,S(m−1)のデータとみなし、クライアン
トから新しく要求が到着したときに、各単位ストリーム
の転送開始時刻を(T/m)づつずらして各単位ストリ
ームを接続し、クライアントへの供給時には、ブロック
の転送時間が(T/m)であるm本の独立な単位ストリ
ームとしてスケジュールする。
【0019】(作用)本発明では、基準となるデータレ
ートを持つ単位ストリームを定義する。そして、単位ス
トリームのデータレートを越える実時間ストリームデー
タを供給する場合には、そのデータレートに応じた数の
単位ストリームを使用して供給を行なう。
ートを持つ単位ストリームを定義する。そして、単位ス
トリームのデータレートを越える実時間ストリームデー
タを供給する場合には、そのデータレートに応じた数の
単位ストリームを使用して供給を行なう。
【0020】まず、実時間ストリームデータを単位スト
リームに分割して複数のディスク装置への格納を行な
う。すなわち、入力された実時間ストリームデータのデ
ータレートに応じて、単位ストリームの使用数およびブ
ロック転送時間を決定する。次に、実時間ストリームデ
ータを、ブロック転送時間内で転送すべき大きさのブロ
ックに分割し、各単位ストリームデータに順番に割当て
る。そして、記単位ストリームデータごとに、割当てら
れたブロックを先頭ブロックから順番に前記複数のディ
スク装置に振り分けて蓄積する。また、実時間ストリー
ムデータごとに、前記単位ストリームの使用数、各単位
ストリームの前記先頭ブロックを格納する前記ディスク
装置の識別番号および各ブロックの格納したディスク装
置上の記録位置を記録しておく。
リームに分割して複数のディスク装置への格納を行な
う。すなわち、入力された実時間ストリームデータのデ
ータレートに応じて、単位ストリームの使用数およびブ
ロック転送時間を決定する。次に、実時間ストリームデ
ータを、ブロック転送時間内で転送すべき大きさのブロ
ックに分割し、各単位ストリームデータに順番に割当て
る。そして、記単位ストリームデータごとに、割当てら
れたブロックを先頭ブロックから順番に前記複数のディ
スク装置に振り分けて蓄積する。また、実時間ストリー
ムデータごとに、前記単位ストリームの使用数、各単位
ストリームの前記先頭ブロックを格納する前記ディスク
装置の識別番号および各ブロックの格納したディスク装
置上の記録位置を記録しておく。
【0021】上記のようにしてディスク装置に格納され
ている実時間ストリームデータに対しクライアントから
要求があった場合、要求された実時間ストリームデータ
について、記録してある使用数分に相当する単位ストリ
ームのストリーム資源を確保し、元の実時間ストリーム
データの順にブロックを連続して転送するように各単位
ストリームの転送開始時刻をスケジューリングする。そ
の際、各単位ストリームの転送開始時刻は、ブロック転
送時間分づつずらしてスケジューリングされる。
ている実時間ストリームデータに対しクライアントから
要求があった場合、要求された実時間ストリームデータ
について、記録してある使用数分に相当する単位ストリ
ームのストリーム資源を確保し、元の実時間ストリーム
データの順にブロックを連続して転送するように各単位
ストリームの転送開始時刻をスケジューリングする。そ
の際、各単位ストリームの転送開始時刻は、ブロック転
送時間分づつずらしてスケジューリングされる。
【0022】各ブロックの転送では、各単位ストリーム
ごとにスケジューリングされた転送開始時刻からブロッ
ク転送時間内にバッファメモリ上の該当ブロックを転送
させる。ここで、各単位ストリームの転送開始時刻は、
ブロック転送時間分づつずれているので、先行する単位
ストリームのブロック転送が終了すると、すぐに後続す
る単位ストリームのブロック転送が開始され、元の実時
間ストリームデータのブロックは連続性が確保されて転
送される。
ごとにスケジューリングされた転送開始時刻からブロッ
ク転送時間内にバッファメモリ上の該当ブロックを転送
させる。ここで、各単位ストリームの転送開始時刻は、
ブロック転送時間分づつずれているので、先行する単位
ストリームのブロック転送が終了すると、すぐに後続す
る単位ストリームのブロック転送が開始され、元の実時
間ストリームデータのブロックは連続性が確保されて転
送される。
【0023】このように本発明によれば、様々なデータ
レートを持つ実時間ストリームデータをそのデータレー
トに応じた数の独立な単位ストリームとして扱うことに
より、データレートの相違による区別をすることなく、
タイムスロット間隔、ブロックサイズ、ブロックの転送
周期、バッファメモリ管理に関して単一の方式でディス
クアクセス・スケジューリングを行なうことができる。
レートを持つ実時間ストリームデータをそのデータレー
トに応じた数の独立な単位ストリームとして扱うことに
より、データレートの相違による区別をすることなく、
タイムスロット間隔、ブロックサイズ、ブロックの転送
周期、バッファメモリ管理に関して単一の方式でディス
クアクセス・スケジューリングを行なうことができる。
【0024】また、本発明によれば、ストリーム資源が
単位ストリームに対応する量に分割され、供給する実時
間ストリームデータのデータレートに応じて必要量割り
当てられることになるので、ストリーム資源を無駄にせ
ず効率的に利用することが可能となる。
単位ストリームに対応する量に分割され、供給する実時
間ストリームデータのデータレートに応じて必要量割り
当てられることになるので、ストリーム資源を無駄にせ
ず効率的に利用することが可能となる。
【0025】また、単位ストリームの基準データレート
をRとし、データレートR以下の実時間ストリームデー
タをCmax本供給する能力がある実時間ストリームサ
ーバにおいては、m×R以下で(m−1)×Rより大き
いデータレートの実時間ストリームデータに割り当てる
供給数をCm(m=1,2,…)とすると、 Σ(m×Cm)≦C1 を満たす範囲内で、各データレート範囲に割り当てる供
給数Cmを任意に設定することもできる。
をRとし、データレートR以下の実時間ストリームデー
タをCmax本供給する能力がある実時間ストリームサ
ーバにおいては、m×R以下で(m−1)×Rより大き
いデータレートの実時間ストリームデータに割り当てる
供給数をCm(m=1,2,…)とすると、 Σ(m×Cm)≦C1 を満たす範囲内で、各データレート範囲に割り当てる供
給数Cmを任意に設定することもできる。
【0026】
【発明の実施の形態】以下、図面を参照しながらこの発
明の実施の形態を説明する。図1に、本発明の実施形態
に係る実時間ストリームサーバの構成を示す。また、図
2に外部から実時間ストリームデータを入力して記憶装
置に格納するときの動作のフローチャートを、図3に外
部からの要求に応じて実時間ストリームデータを供給す
るときの動作のフローチャートをそれぞれ示す。
明の実施の形態を説明する。図1に、本発明の実施形態
に係る実時間ストリームサーバの構成を示す。また、図
2に外部から実時間ストリームデータを入力して記憶装
置に格納するときの動作のフローチャートを、図3に外
部からの要求に応じて実時間ストリームデータを供給す
るときの動作のフローチャートをそれぞれ示す。
【0027】図1に示すように、本実施形態の実時間ス
トリームサーバ1は、制御装置2、データ蓄積部3、バ
ッファメモリ4、データ転送部5、データ受信部81、
データ解析部82、データ分割部83を備えている。制
御装置2は、要求接続処理部21、スケジューリング部
22、ディレクトリ管理部23を備える。データ蓄積部
3は、実時間ストリームデータをブロック単位に格納す
るための複数のディスク装置31を備える。
トリームサーバ1は、制御装置2、データ蓄積部3、バ
ッファメモリ4、データ転送部5、データ受信部81、
データ解析部82、データ分割部83を備えている。制
御装置2は、要求接続処理部21、スケジューリング部
22、ディレクトリ管理部23を備える。データ蓄積部
3は、実時間ストリームデータをブロック単位に格納す
るための複数のディスク装置31を備える。
【0028】まず、データ受信部81から取り込んだ実
時間ストリームデータをデータ蓄積部3に格納するまで
のフェーズに関して図1および図2を参照しながら本実
施形態を説明する。
時間ストリームデータをデータ蓄積部3に格納するまで
のフェーズに関して図1および図2を参照しながら本実
施形態を説明する。
【0029】ここで、実時間ストリームサーバにおける
「単位ストリーム」とは、実時間ストリームサーバの動
作の基準となるブロック転送周期T、ブロックサイズ
L、タイムスロット間隔Iでスケジューリングされるス
トリームのことである。
「単位ストリーム」とは、実時間ストリームサーバの動
作の基準となるブロック転送周期T、ブロックサイズ
L、タイムスロット間隔Iでスケジューリングされるス
トリームのことである。
【0030】「単位データレートR」は、単位ストリー
ムとしてスケジュール可能な最大のデータレートであ
る。したがって、 L≦R*T という関係が成立する。
ムとしてスケジュール可能な最大のデータレートであ
る。したがって、 L≦R*T という関係が成立する。
【0031】さて、実時間ストリームデータを実時間ス
トリームサーバに格納する際には、そのデータをデータ
受信部81から入力する(ステップS11)。このと
き、データ受信部81は、フロッピーディスク、CD−
ROM等の外部記憶装置からデータを読み出す形態と、
ネットワークを介して転送されたデータを受信する形態
がある。
トリームサーバに格納する際には、そのデータをデータ
受信部81から入力する(ステップS11)。このと
き、データ受信部81は、フロッピーディスク、CD−
ROM等の外部記憶装置からデータを読み出す形態と、
ネットワークを介して転送されたデータを受信する形態
がある。
【0032】データ解析部82では、入力される実時間
ストリームデータの最大データレートを調べる(ステッ
プS12)。これには、実時間ストリームデータのヘッ
ダを解析して最大データレートを得る形態や、あらかじ
め分かっている最大データレートを人間がキーボード等
の入力装置から入力する形態がある。
ストリームデータの最大データレートを調べる(ステッ
プS12)。これには、実時間ストリームデータのヘッ
ダを解析して最大データレートを得る形態や、あらかじ
め分かっている最大データレートを人間がキーボード等
の入力装置から入力する形態がある。
【0033】最大データレートが得られると、次に、そ
の実時間ストリームデータの単位ストリーム使用数を決
定する(ステップS13)。「単位ストリーム使用数」
は、そのデータを供給するために実時間ストリームサー
バの能力と資源が単位ストリーム何本分必要かを表す数
値である。実際には、 (最大データレート)≦m×(単位データレートR) を満たす最小の整数mが単位ストリーム使用数となる。
単位ストリーム使用数が決定されると、実時間ストリー
ムデータをブロック分割するための大きさの基準となる
「ブロック転送時間」を次の式で求める(ステップS1
4)。 (ブロック転送時間)=(ブロック転送周期T)/m この式で求められたブロック転送時間で転送すべきデー
タ量は単位ストリームのブロックサイズLを越えること
はない。
の実時間ストリームデータの単位ストリーム使用数を決
定する(ステップS13)。「単位ストリーム使用数」
は、そのデータを供給するために実時間ストリームサー
バの能力と資源が単位ストリーム何本分必要かを表す数
値である。実際には、 (最大データレート)≦m×(単位データレートR) を満たす最小の整数mが単位ストリーム使用数となる。
単位ストリーム使用数が決定されると、実時間ストリー
ムデータをブロック分割するための大きさの基準となる
「ブロック転送時間」を次の式で求める(ステップS1
4)。 (ブロック転送時間)=(ブロック転送周期T)/m この式で求められたブロック転送時間で転送すべきデー
タ量は単位ストリームのブロックサイズLを越えること
はない。
【0034】データ解析部82で計算された単位ストリ
ーム使用数とブロック転送時間は、実時間ストリームデ
ータとともにデータ分割部83へ送られる。データ分割
部83では、まず、実時間ストリームデータを、ブロッ
ク転送時間(T/m)で転送すべき大きさのブロックに
分割する(ステップS15)。次に、分割されたブロッ
クを単位ストリーム使用数の単位ストリームデータに振
り分ける(ステップS16)。
ーム使用数とブロック転送時間は、実時間ストリームデ
ータとともにデータ分割部83へ送られる。データ分割
部83では、まず、実時間ストリームデータを、ブロッ
ク転送時間(T/m)で転送すべき大きさのブロックに
分割する(ステップS15)。次に、分割されたブロッ
クを単位ストリーム使用数の単位ストリームデータに振
り分ける(ステップS16)。
【0035】振り分けは、各単位ストリームデータ間で
スケジュールが干渉しないように、同じ規則で行なうの
が良い。具体的には、例えば、ブロック全体の集合をm
個の疎な部分集合Bj Bj={b(m×k+j)|k=0,1,…}(j=0,…,m−1) に分けて、それぞれを単位ストリームデータとする。
スケジュールが干渉しないように、同じ規則で行なうの
が良い。具体的には、例えば、ブロック全体の集合をm
個の疎な部分集合Bj Bj={b(m×k+j)|k=0,1,…}(j=0,…,m−1) に分けて、それぞれを単位ストリームデータとする。
【0036】一例として、m=4で、ブロックがb0〜
b15までの場合、 B0={b0,b4,b8,b12} B1={b1,b5,b9,b13} B2={b2,b6,b10,b14} B3={b3,b7,b11,b15} となる。
b15までの場合、 B0={b0,b4,b8,b12} B1={b1,b5,b9,b13} B2={b2,b6,b10,b14} B3={b3,b7,b11,b15} となる。
【0037】m個の単位ストリームデータ(B0〜Bm
−1)は、それぞれデータ蓄積部3に送られ、それぞれ
が通常の単位ストリームデータと同様にN台のディスク
装置31に格納される(ステップS17)。具体的に
は、Bjの先頭ブロックbjを格納するディスク装置の
番号をHjとして、ブロックb(m×k+j)が(k+
Hj) modulo N番目のディスク装置に格納さ
れる。
−1)は、それぞれデータ蓄積部3に送られ、それぞれ
が通常の単位ストリームデータと同様にN台のディスク
装置31に格納される(ステップS17)。具体的に
は、Bjの先頭ブロックbjを格納するディスク装置の
番号をHjとして、ブロックb(m×k+j)が(k+
Hj) modulo N番目のディスク装置に格納さ
れる。
【0038】このとき、各単位ストリームの先頭ブロッ
ク格納ディスク装置の番号Hjと各ブロックの格納ディ
スク装置上の記録位置が、制御装置2内のディレクトリ
管理部23にディレクトリ情報として保持される(ステ
ップS18)。
ク格納ディスク装置の番号Hjと各ブロックの格納ディ
スク装置上の記録位置が、制御装置2内のディレクトリ
管理部23にディレクトリ情報として保持される(ステ
ップS18)。
【0039】ディスク上の記録位置とは、物理的なシリ
ンダ番号、トラック番号、セクタ番号でも構わないし、
または位置を特定できる論理的な番号でも構わない。ま
た、データ分割部83で振り分けられたm個の単位スト
リームをデータ蓄積部3に送る形態には、実時間ストリ
ームサーバ側のデータ蓄積部3とは別の記憶装置に一旦
記憶してから単位ストリームを1本づつデータ蓄積部3
に送る形態と、m個の単位ストリームを並行してデータ
蓄積部3に送る形態等が考えられる。
ンダ番号、トラック番号、セクタ番号でも構わないし、
または位置を特定できる論理的な番号でも構わない。ま
た、データ分割部83で振り分けられたm個の単位スト
リームをデータ蓄積部3に送る形態には、実時間ストリ
ームサーバ側のデータ蓄積部3とは別の記憶装置に一旦
記憶してから単位ストリームを1本づつデータ蓄積部3
に送る形態と、m個の単位ストリームを並行してデータ
蓄積部3に送る形態等が考えられる。
【0040】次に、実時間ストリームデータ供給の要求
を受け付けてからクライアント7に対してデータの送出
を行なうまでのフェーズに関して図1および図3を参照
しながら本実施形態を説明する。
を受け付けてからクライアント7に対してデータの送出
を行なうまでのフェーズに関して図1および図3を参照
しながら本実施形態を説明する。
【0041】なお、ディスクアクセスにタイムスロット
を割り付けるスケジューリング方式には後述するように
大きく固定と可変の2種類があり、本発明ではいずれの
スケジューリング方式を用いることも可能であるが、以
下ではスケジューリング方式を限定せずストリームの連
続性を保証するようにスケジューリングを行なうものと
して説明する。
を割り付けるスケジューリング方式には後述するように
大きく固定と可変の2種類があり、本発明ではいずれの
スケジューリング方式を用いることも可能であるが、以
下ではスケジューリング方式を限定せずストリームの連
続性を保証するようにスケジューリングを行なうものと
して説明する。
【0042】クライアント7からネットワーク6を介し
実時間ストリームデータ供給の要求があると(ステップ
S21)、まず、制御装置2内の要求接続処理部21
は、要求された実時間ストリームのディレクトリ情報を
ディレクトリ管理部23から得る(ステップS22)。
実時間ストリームデータ供給の要求があると(ステップ
S21)、まず、制御装置2内の要求接続処理部21
は、要求された実時間ストリームのディレクトリ情報を
ディレクトリ管理部23から得る(ステップS22)。
【0043】ディレクトリ情報から単位ストリーム使用
数mを得て(ステップS23)、スケジューリング部2
2内のストリーム構造体をm個の単位ストリームの管理
に必要な情報を保持できる分確保するとともに、バッフ
ァメモリ4の領域を必要量確保する(ステップS2
4)。
数mを得て(ステップS23)、スケジューリング部2
2内のストリーム構造体をm個の単位ストリームの管理
に必要な情報を保持できる分確保するとともに、バッフ
ァメモリ4の領域を必要量確保する(ステップS2
4)。
【0044】次に、スケジューリング部22は、使用単
位ストリームS0〜Sm−1の転送開始時刻を選択する
などのスケジューリングを行なう(ステップS25)。
上記の格納方法により、元の実時間ストリームで連続し
ているm個のブロックb(m×k+j)(j=0,…,
m−1)は単位ストリームS0〜Sm−1に順に振り分
けられている。そこで、これらのブロックの転送が連続
して行なわれるように、単位ストリームS0〜Sm−1
の転送開始時刻がブロック転送時間(T/m)づつずれ
るようにする。
位ストリームS0〜Sm−1の転送開始時刻を選択する
などのスケジューリングを行なう(ステップS25)。
上記の格納方法により、元の実時間ストリームで連続し
ているm個のブロックb(m×k+j)(j=0,…,
m−1)は単位ストリームS0〜Sm−1に順に振り分
けられている。そこで、これらのブロックの転送が連続
して行なわれるように、単位ストリームS0〜Sm−1
の転送開始時刻がブロック転送時間(T/m)づつずれ
るようにする。
【0045】ただし、単位ストリームS0〜Sm−1の
全てが、既接続の他の単位ストリームの連続性に影響を
与えないように、選択した転送開始時刻までにそれぞれ
の先頭ブロックを格納するディスク装置31から先頭ブ
ロックを読み出すことが可能でなければならない。その
ようにできない場合には、転送開始時刻を選択し直さな
くてはならない。
全てが、既接続の他の単位ストリームの連続性に影響を
与えないように、選択した転送開始時刻までにそれぞれ
の先頭ブロックを格納するディスク装置31から先頭ブ
ロックを読み出すことが可能でなければならない。その
ようにできない場合には、転送開始時刻を選択し直さな
くてはならない。
【0046】このように接続された使用単位ストリーム
S0〜Sm−1の各々は、その後は、1ブロックの転送
時間が(T/m)である独立な単位ストリームとしてス
ケジュールして、データ転送部5によりクライアント7
へ供給する(ステップS26)。すなわち、ブロック転
送周期T、ブロックサイズL、タイムスロット間隔I、
ブロック転送時間(T/m)でスケジューリングされ
る。
S0〜Sm−1の各々は、その後は、1ブロックの転送
時間が(T/m)である独立な単位ストリームとしてス
ケジュールして、データ転送部5によりクライアント7
へ供給する(ステップS26)。すなわち、ブロック転
送周期T、ブロックサイズL、タイムスロット間隔I、
ブロック転送時間(T/m)でスケジューリングされ
る。
【0047】以上、本発明の実施形態によれば、データ
レートm×R以下の実時間ストリームデータをm本の独
立な単位ストリームとして扱うことにより、タイムスロ
ット間隔、ブロックサイズ、ブロックの転送周期、バッ
ファメモリ管理に関して単一の方式でディスクアクセス
・スケジューリングが可能となる。
レートm×R以下の実時間ストリームデータをm本の独
立な単位ストリームとして扱うことにより、タイムスロ
ット間隔、ブロックサイズ、ブロックの転送周期、バッ
ファメモリ管理に関して単一の方式でディスクアクセス
・スケジューリングが可能となる。
【0048】また、データレートがm×R以下で(m−
1)×Rより大きい実時間ストリームデータの供給数を
Cm(m=1,2,…)とすると、データレートR以下
の実時間ストリームデータをMAX(C1)本供給する
能力がある実時間ストリームサーバにおいて、 Σ(m×Cm)≦MAX(C1) を満たす範囲内で供給数Cmを任意の本数に変更可能と
なる。
1)×Rより大きい実時間ストリームデータの供給数を
Cm(m=1,2,…)とすると、データレートR以下
の実時間ストリームデータをMAX(C1)本供給する
能力がある実時間ストリームサーバにおいて、 Σ(m×Cm)≦MAX(C1) を満たす範囲内で供給数Cmを任意の本数に変更可能と
なる。
【0049】以下、本実施形態について具体例を用いて
説明する。まず、単位ストリームとして単位データレー
トR=1.6(Mbps)の実時間ストリームデータを
格納、供給する実時間ストリームサーバの構成について
述べる。
説明する。まず、単位ストリームとして単位データレー
トR=1.6(Mbps)の実時間ストリームデータを
格納、供給する実時間ストリームサーバの構成について
述べる。
【0050】1ブロックの転送時間として2400(m
s)を選択すると、1ブロックの最大サイズは500
(kB)となる。使用するディスク装置の転送速度を2
0Mbpsと考えると、1ブロックを1タイムスロット
で読み出すためにはタイムスロット間隔を200(m
s)以上に設定する必要がある。
s)を選択すると、1ブロックの最大サイズは500
(kB)となる。使用するディスク装置の転送速度を2
0Mbpsと考えると、1ブロックを1タイムスロット
で読み出すためにはタイムスロット間隔を200(m
s)以上に設定する必要がある。
【0051】さらに転送速度を上げるためには、1ブロ
ックを分割して複数台のディスク装置31に格納すると
よい。例えば、4台のディスク装置31を1組にして1
ブロックを4分割してそれぞれのディスク装置31に格
納し、読み出し時にはその組の全てのディスク装置31
を同時にアクセスする。すると、ディスク上での実ブロ
ックサイズは最大125(kB)となり、タイムスロッ
ト間隔は50(ms)以上必要となる。以下では、この
4台のディスク装置の組を1台の論理ディスク装置32
とする。
ックを分割して複数台のディスク装置31に格納すると
よい。例えば、4台のディスク装置31を1組にして1
ブロックを4分割してそれぞれのディスク装置31に格
納し、読み出し時にはその組の全てのディスク装置31
を同時にアクセスする。すると、ディスク上での実ブロ
ックサイズは最大125(kB)となり、タイムスロッ
ト間隔は50(ms)以上必要となる。以下では、この
4台のディスク装置の組を1台の論理ディスク装置32
とする。
【0052】上記のように、ディスク装置4台1組で論
理ディスク装置1台としてタイムスロット間隔を50
(ms)に設定した場合、論理ディスク装置1台で供給
できる単位ストリーム数は2400/50=48本であ
る。さらに、このような論理ディスク装置を8台用意す
ると、単位ストリームを48×8=384本供給するこ
とが可能である。
理ディスク装置1台としてタイムスロット間隔を50
(ms)に設定した場合、論理ディスク装置1台で供給
できる単位ストリーム数は2400/50=48本であ
る。さらに、このような論理ディスク装置を8台用意す
ると、単位ストリームを48×8=384本供給するこ
とが可能である。
【0053】このような実時間ストリームサーバで単位
ストリームを扱う場合、ブロックbkを(k+H)mo
dulo 8番目の論理ディスク装置に格納しておく。
Hは先頭ブロックb0の格納論理ディスク装置番号であ
る。
ストリームを扱う場合、ブロックbkを(k+H)mo
dulo 8番目の論理ディスク装置に格納しておく。
Hは先頭ブロックb0の格納論理ディスク装置番号であ
る。
【0054】クライアント7の要求に応じてこの単位ス
トリームを供給するには、周期2400(ms)で次に
転送すべきブロックを格納しているディスク装置にアク
セスして、タイムスロット間隔50(ms)以内に論理
ディスク装置に該当する4台のディスク装置から125
(kB)づつ、計500(kB)以内のブロックをバッ
ファメモリ4に読み出す。そのブロックを周期2400
(ms)、転送時間2400(ms)でクライアント7
に転送する。
トリームを供給するには、周期2400(ms)で次に
転送すべきブロックを格納しているディスク装置にアク
セスして、タイムスロット間隔50(ms)以内に論理
ディスク装置に該当する4台のディスク装置から125
(kB)づつ、計500(kB)以内のブロックをバッ
ファメモリ4に読み出す。そのブロックを周期2400
(ms)、転送時間2400(ms)でクライアント7
に転送する。
【0055】図4に単位ストリームの各ブロックが格納
される論理ディスク装置と読み出したブロックの転送開
始のタイミングを示す。図4では先頭ブロックを論理デ
ィスク装置0に格納している。ただし、先頭ブロックの
格納ディスク装置は必ずしも論理ディスク装置0である
必要はない。実時間ストリームデータによって異なる論
理ディスク装置に先頭ブロックを格納してもかまわな
い。
される論理ディスク装置と読み出したブロックの転送開
始のタイミングを示す。図4では先頭ブロックを論理デ
ィスク装置0に格納している。ただし、先頭ブロックの
格納ディスク装置は必ずしも論理ディスク装置0である
必要はない。実時間ストリームデータによって異なる論
理ディスク装置に先頭ブロックを格納してもかまわな
い。
【0056】次に、この具体例のように構成した実時間
ストリームサーバにおいて、データレート3(Mbp
s)の実時間ストリームデータを扱う場合を考える。3
≦m×R=m×1.6(Mbps)をみたす最小の整数
mは2であるので、1ブロックの転送時間が1200
(ms)である単位ストリームを2本使用することで、
3(Mbps)の実時間ストリームデータの格納、供給
が可能となる。
ストリームサーバにおいて、データレート3(Mbp
s)の実時間ストリームデータを扱う場合を考える。3
≦m×R=m×1.6(Mbps)をみたす最小の整数
mは2であるので、1ブロックの転送時間が1200
(ms)である単位ストリームを2本使用することで、
3(Mbps)の実時間ストリームデータの格納、供給
が可能となる。
【0057】3(Mbps)の実時間ストリームデータ
を格納するには、1200(ms)で転送すべき大きさ
のブロックに分け、そのブロックの集合をm=2個の部
分集合 B0={b(2k)|k=0,1,…} B1={b(2k+1)|k=0,1,…} に分割する。そして、ブロックb(2k+j)を(k+
Hj)modulo 8番目の論理ディスク装置に格納
する。つまり、B0の先頭ブロックb0をH0番の論理
ディスク装置に格納し、引続きブロックb2を(H0+
1)modulo8番、ブロックb4を(H0+2)m
odulo 8番の論理ディスク装置に格納する。
を格納するには、1200(ms)で転送すべき大きさ
のブロックに分け、そのブロックの集合をm=2個の部
分集合 B0={b(2k)|k=0,1,…} B1={b(2k+1)|k=0,1,…} に分割する。そして、ブロックb(2k+j)を(k+
Hj)modulo 8番目の論理ディスク装置に格納
する。つまり、B0の先頭ブロックb0をH0番の論理
ディスク装置に格納し、引続きブロックb2を(H0+
1)modulo8番、ブロックb4を(H0+2)m
odulo 8番の論理ディスク装置に格納する。
【0058】クライアント7の要求に応じてこのストリ
ームを供給するには、B0,B1をそれぞれ供給する2
つの単位ストリームS0,S1を準備する。そして、ブ
ロックb0とブロックb1の転送開始時刻が2400/
2=1200(ms)ずれるように、単位ストリームS
0と単位ストリームS1それぞれの基準タイムスロット
を選択する。そして、通常の単位ストリームと同様にデ
ィスクアクセスをタイムスロットに割り付けるが、単位
ストリームS0のディスクアクセス割り付けと単位スト
リームS1のディスクアクセス割り付けが同時に可能で
なければならない。同時にディスクアクセス割り付けが
不可能な場合には、単位ストリームS0,S1の基準タ
イムスロットを選択し直す。
ームを供給するには、B0,B1をそれぞれ供給する2
つの単位ストリームS0,S1を準備する。そして、ブ
ロックb0とブロックb1の転送開始時刻が2400/
2=1200(ms)ずれるように、単位ストリームS
0と単位ストリームS1それぞれの基準タイムスロット
を選択する。そして、通常の単位ストリームと同様にデ
ィスクアクセスをタイムスロットに割り付けるが、単位
ストリームS0のディスクアクセス割り付けと単位スト
リームS1のディスクアクセス割り付けが同時に可能で
なければならない。同時にディスクアクセス割り付けが
不可能な場合には、単位ストリームS0,S1の基準タ
イムスロットを選択し直す。
【0059】このように単位ストリームS0,S1の基
準タイムスロットが決定すれば、あとは単位ストリーム
S0,S1を独立した単位ストリームとしてスケジュー
ルすればよい。つまり、単位ストリームS0,S1それ
ぞれについて、ディスクアクセスが割り付けられている
タイムスロットで次に転送すべきブロックを格納されて
いる論理ディスク装置からバッファメモリ4に読み出し
て、そのブロックを周期2400(ms)、転送時間1
200(ms)でクライアント7に転送する。通常の単
位ストリームと異なるのは転送時間のみである。1ブロ
ックの大きさは約460(kB)となり、これは通常の
単位ストリームの最大ブロックサイズ500(kB)以
下であるので、タイムスロット間隔、バッファメモリ4
管理等は通常の単位ストリームと全く同じとなる。
準タイムスロットが決定すれば、あとは単位ストリーム
S0,S1を独立した単位ストリームとしてスケジュー
ルすればよい。つまり、単位ストリームS0,S1それ
ぞれについて、ディスクアクセスが割り付けられている
タイムスロットで次に転送すべきブロックを格納されて
いる論理ディスク装置からバッファメモリ4に読み出し
て、そのブロックを周期2400(ms)、転送時間1
200(ms)でクライアント7に転送する。通常の単
位ストリームと異なるのは転送時間のみである。1ブロ
ックの大きさは約460(kB)となり、これは通常の
単位ストリームの最大ブロックサイズ500(kB)以
下であるので、タイムスロット間隔、バッファメモリ4
管理等は通常の単位ストリームと全く同じとなる。
【0060】図5に、単位ストリームS0とS1の各ブ
ロックが格納される論理ディスク装置と読み出したブロ
ックの転送開始のタイミングの一例を示す。この例で
は、単位ストリームS0,S1の先頭ブロック格納論理
ディスク番号は、H0=0,H1=4である。先頭ブロ
ック格納論理ディスク装置はどのような組み合わせでも
かまわない。図6で示す例では、H0=H1=0であ
り、ブロックb0とブロックb1は同じ論理ディスク装
置に格納される。
ロックが格納される論理ディスク装置と読み出したブロ
ックの転送開始のタイミングの一例を示す。この例で
は、単位ストリームS0,S1の先頭ブロック格納論理
ディスク番号は、H0=0,H1=4である。先頭ブロ
ック格納論理ディスク装置はどのような組み合わせでも
かまわない。図6で示す例では、H0=H1=0であ
り、ブロックb0とブロックb1は同じ論理ディスク装
置に格納される。
【0061】次に、この具体例のように構成した実時間
ストリームサーバにおいて、データレート4.5(Mb
ps)の実時間ストリームデータを扱う場合を考える。
4.5≦m×R=m×1.6(Mbps)をみたす最小
の整数mは3であるので、1ブロックの転送時間が80
0(ms)である単位ストリームを3本使用すること
で、4.5(Mbps)の実時間ストリームデータの格
納、供給が可能となる。
ストリームサーバにおいて、データレート4.5(Mb
ps)の実時間ストリームデータを扱う場合を考える。
4.5≦m×R=m×1.6(Mbps)をみたす最小
の整数mは3であるので、1ブロックの転送時間が80
0(ms)である単位ストリームを3本使用すること
で、4.5(Mbps)の実時間ストリームデータの格
納、供給が可能となる。
【0062】4.5(Mbps)の実時間ストリームデ
ータを格納するには、800(ms)で転送すべき大き
さのブロックに分け、そのブロックの集合を3個の部分
集合 B0={b(3k)|k=0,1,…} B1={b(3k+1)|k=0,1,…} B2={b(3k+2)|k=0,1,…} に分割する。そして、ブロックb(3k+j)を(k+
Hj)modulo 8番目の論理ディスク装置に格納
する。
ータを格納するには、800(ms)で転送すべき大き
さのブロックに分け、そのブロックの集合を3個の部分
集合 B0={b(3k)|k=0,1,…} B1={b(3k+1)|k=0,1,…} B2={b(3k+2)|k=0,1,…} に分割する。そして、ブロックb(3k+j)を(k+
Hj)modulo 8番目の論理ディスク装置に格納
する。
【0063】クライアント7の要求に応じてこのストリ
ームを供給するには、B0,B1,B2を供給する単位
ストリーム単位ストリームS0,S1,S2を準備し
て、それぞれの転送開始時刻が800(ms)づつずれ
るように基準タイムスロットを決定する。図7に、H0
=0,H1=3,H2=6とした場合において各ブロッ
クが格納される論理ディスク装置と読み出したブロック
の転送開始のタイミングの一例を示す。
ームを供給するには、B0,B1,B2を供給する単位
ストリーム単位ストリームS0,S1,S2を準備し
て、それぞれの転送開始時刻が800(ms)づつずれ
るように基準タイムスロットを決定する。図7に、H0
=0,H1=3,H2=6とした場合において各ブロッ
クが格納される論理ディスク装置と読み出したブロック
の転送開始のタイミングの一例を示す。
【0064】同様に、データレート6(Mbps)の実
時間ストリームデータを扱う場合には、6≦m×R=m
×1.6(Mbps)をみたす最小の整数mは4である
ので、1ブロックの転送時間が600(ms)である単
位ストリームを4本使用することで、図8のように格
納、転送できる。
時間ストリームデータを扱う場合には、6≦m×R=m
×1.6(Mbps)をみたす最小の整数mは4である
ので、1ブロックの転送時間が600(ms)である単
位ストリームを4本使用することで、図8のように格
納、転送できる。
【0065】また、この具体例の実時間ストリームサー
バでは、供給可能な単位ストリーム数を384本として
いるが、総使用単位ストリーム数が384本以内であれ
ばクライアント7の要求に応じて任意にその使用単位ス
トリーム数の比率を変えることが可能である。例えば、
6(Mbps)のストリームのみを96本(単位ストリ
ーム数384本)供給する、あるいは6(Mbps)の
ストリームを48本(単位ストリーム数192本)と
1.5(Mbps)のストリームを192本(単位スト
リーム数192本)供給することができる。
バでは、供給可能な単位ストリーム数を384本として
いるが、総使用単位ストリーム数が384本以内であれ
ばクライアント7の要求に応じて任意にその使用単位ス
トリーム数の比率を変えることが可能である。例えば、
6(Mbps)のストリームのみを96本(単位ストリ
ーム数384本)供給する、あるいは6(Mbps)の
ストリームを48本(単位ストリーム数192本)と
1.5(Mbps)のストリームを192本(単位スト
リーム数192本)供給することができる。
【0066】次に、接続要求処理部21におけるタイム
スロットの選択について述べる。m×Rのデータレート
を持つ実時間ストリームを供給するためには、上述した
ようにm本の単位ストリームが連続して供給されるよう
にm個のディスクアクセスをタイムスロットに割り付け
なければならない。
スロットの選択について述べる。m×Rのデータレート
を持つ実時間ストリームを供給するためには、上述した
ようにm本の単位ストリームが連続して供給されるよう
にm個のディスクアクセスをタイムスロットに割り付け
なければならない。
【0067】ところで、従来技術の説明で述べたよう
に、実際のディスクアクセスを行なうタイムスロットの
選択方法には、大きく固定と可変の2種類がある。前者
は、図10に示すように、基準タイムスロットに対して
相対的に一定時間のタイムスロットにディスクアクセス
を固定するスケジューリング方式である。言い換える
と、転送タイミングとディスクアクセス・タイミングの
タイムスロット上での位置関係を固定してしまう方式で
ある。
に、実際のディスクアクセスを行なうタイムスロットの
選択方法には、大きく固定と可変の2種類がある。前者
は、図10に示すように、基準タイムスロットに対して
相対的に一定時間のタイムスロットにディスクアクセス
を固定するスケジューリング方式である。言い換える
と、転送タイミングとディスクアクセス・タイミングの
タイムスロット上での位置関係を固定してしまう方式で
ある。
【0068】後者は、図9に示すように、バッファメモ
リが利用可能になってから転送開始時刻までの間であれ
ばディスクアクセスを割り付けるタイムスロットは変更
可能であることに着目し、許容ジッタ範囲内のタイムス
ロットでディスクアクセスの割り付け位置を可変にする
スケジューリング方式である。
リが利用可能になってから転送開始時刻までの間であれ
ばディスクアクセスを割り付けるタイムスロットは変更
可能であることに着目し、許容ジッタ範囲内のタイムス
ロットでディスクアクセスの割り付け位置を可変にする
スケジューリング方式である。
【0069】なお、図9中、Jは最大ジッター数であ
り、次の式で決定される。 J≦BM−D−T−1 ここで、 B:1ストリームで使用できるバッファメモリの大きさ
と実時間ストリームの1ブロックの大きさの比 M:クライアントでの1ブロック再生時間(スロット
数) T:クライアントへの1ブロック転送時間(スロット
数) D:ディスクアクセス終了時刻が割り付けられたタイム
スロットの終了時刻を越えた場合の予想最大遅延時間
(スロット数) である。なお、図9に示す例では、1ブロックの転送に
要する時間とクライアント側で1ブロックの再生に要す
る時間は共に4タイムスロット分で等しいものとしてい
る。
り、次の式で決定される。 J≦BM−D−T−1 ここで、 B:1ストリームで使用できるバッファメモリの大きさ
と実時間ストリームの1ブロックの大きさの比 M:クライアントでの1ブロック再生時間(スロット
数) T:クライアントへの1ブロック転送時間(スロット
数) D:ディスクアクセス終了時刻が割り付けられたタイム
スロットの終了時刻を越えた場合の予想最大遅延時間
(スロット数) である。なお、図9に示す例では、1ブロックの転送に
要する時間とクライアント側で1ブロックの再生に要す
る時間は共に4タイムスロット分で等しいものとしてい
る。
【0070】ここで、基準タイムスロットに対して相対
的に一定時間のタイムスロットにディスクアクセスを固
定するスケジューリング方式では、既に接続されている
単位ストリームの基準タイムスロットの組み合わせによ
っては、新しいm個の単位ストリームの基準タイムスロ
ットをどのように選択しようとも、既接続の単位ストリ
ームの基準タイムスロットと重なる場合がある。このよ
うな場合にはディスクアクセスをタイムスロットに割り
付けることができず、新しいストリームを接続すること
はできない。
的に一定時間のタイムスロットにディスクアクセスを固
定するスケジューリング方式では、既に接続されている
単位ストリームの基準タイムスロットの組み合わせによ
っては、新しいm個の単位ストリームの基準タイムスロ
ットをどのように選択しようとも、既接続の単位ストリ
ームの基準タイムスロットと重なる場合がある。このよ
うな場合にはディスクアクセスをタイムスロットに割り
付けることができず、新しいストリームを接続すること
はできない。
【0071】これに対して、許容ジッタ範囲内のタイム
スロットでディスクアクセスの割り付け位置を可変にす
るスケジューリング方式では、図9で示されるような許
容ジッタ範囲内に空きタイムスロットがあれば、そのタ
イムスロットに新しい単位ストリームのディスクアクセ
スを割り付ければ良い。また、許容ジッタ範囲内に空き
タイムスロットがない場合でも、既接続の単位ストリー
ムのディスクアクセスをその許容ジッタ範囲内で別のタ
イムスロットに移動させることにより、空きタイムスロ
ットを作って新しいストリームのディスクアクセスを割
り付ければ良い。
スロットでディスクアクセスの割り付け位置を可変にす
るスケジューリング方式では、図9で示されるような許
容ジッタ範囲内に空きタイムスロットがあれば、そのタ
イムスロットに新しい単位ストリームのディスクアクセ
スを割り付ければ良い。また、許容ジッタ範囲内に空き
タイムスロットがない場合でも、既接続の単位ストリー
ムのディスクアクセスをその許容ジッタ範囲内で別のタ
イムスロットに移動させることにより、空きタイムスロ
ットを作って新しいストリームのディスクアクセスを割
り付ければ良い。
【0072】ただし、どのようにディスクアクセスを移
動しても空きタイムスロットを作ることができない場合
には、新しいストリームを接続することはできない、こ
のような事態が生じる確率を低くするために、新しいス
トリームを接続する際には、各単位ストリームの基準タ
イムスロットができる限り時間内に集中しないように、
すなわち空きタイムスロットが全タイムスロットにでき
る限り分散するように基準タイムスロットを選択するよ
うにすると良い。本発明は、上述した実施の形態に限定
されるものではなく、その技術的範囲において種々変形
して実施することができる。
動しても空きタイムスロットを作ることができない場合
には、新しいストリームを接続することはできない、こ
のような事態が生じる確率を低くするために、新しいス
トリームを接続する際には、各単位ストリームの基準タ
イムスロットができる限り時間内に集中しないように、
すなわち空きタイムスロットが全タイムスロットにでき
る限り分散するように基準タイムスロットを選択するよ
うにすると良い。本発明は、上述した実施の形態に限定
されるものではなく、その技術的範囲において種々変形
して実施することができる。
【0073】
【発明の効果】本発明によれば、様々なデータレートを
持つ実時間ストリームデータをそのデータレートに応じ
た数の独立な単位ストリームとして扱うことにより、デ
ータレートの相違による区別をすることなく、タイムス
ロット間隔、ブロックサイズ、ブロックの転送周期、バ
ッファメモリ管理に関して単一の方式でディスクアクセ
ス・スケジューリングを行なうことができる。
持つ実時間ストリームデータをそのデータレートに応じ
た数の独立な単位ストリームとして扱うことにより、デ
ータレートの相違による区別をすることなく、タイムス
ロット間隔、ブロックサイズ、ブロックの転送周期、バ
ッファメモリ管理に関して単一の方式でディスクアクセ
ス・スケジューリングを行なうことができる。
【0074】また、本発明によれば、ストリーム資源が
単位ストリームに対応する量に分割され、供給する実時
間ストリームデータのデータレートに応じて必要量割り
当てられることになるので、ストリーム資源を無駄にせ
ず効率的に利用することが可能となる。
単位ストリームに対応する量に分割され、供給する実時
間ストリームデータのデータレートに応じて必要量割り
当てられることになるので、ストリーム資源を無駄にせ
ず効率的に利用することが可能となる。
【図1】本発明の実施の形態に係る実時間ストリームサ
ーバの構成を示す図
ーバの構成を示す図
【図2】外部から実時間ストリームデータを入力して記
憶装置に格納するときの動作を示すローチャート
憶装置に格納するときの動作を示すローチャート
【図3】外部からの要求に応じて実時間ストリームデー
タを供給するときの動作を示すフローチャート
タを供給するときの動作を示すフローチャート
【図4】データレートRの単位ストリームを供給する場
合のブロック格納ディスクと転送開始時刻の一例を示す
図
合のブロック格納ディスクと転送開始時刻の一例を示す
図
【図5】データレート2×R以下の実時間ストリームを
2本の単位ストリームを供給する場合のブロック格納デ
ィスクと転送開始時刻の一例を示す図
2本の単位ストリームを供給する場合のブロック格納デ
ィスクと転送開始時刻の一例を示す図
【図6】データレート2×R以下の実時間ストリームを
2本の単位ストリームを供給する場合のブロック格納デ
ィスクと転送開始時刻の他の例を示す図
2本の単位ストリームを供給する場合のブロック格納デ
ィスクと転送開始時刻の他の例を示す図
【図7】データレート3×R以下の実時間ストリームを
3本の単位ストリームを供給する場合のブロック格納デ
ィスクと転送開始時刻の一例を示す図
3本の単位ストリームを供給する場合のブロック格納デ
ィスクと転送開始時刻の一例を示す図
【図8】データレート4×R以下の実時間ストリームを
4本の単位ストリームを供給する場合のブロック格納デ
ィスクと転送開始時刻の一例を示す図
4本の単位ストリームを供給する場合のブロック格納デ
ィスクと転送開始時刻の一例を示す図
【図9】許容ジッタ範囲内のタイムスロットでディスク
アクセスの割り付け位置を可変にするスケジューリング
方式を説明するための図
アクセスの割り付け位置を可変にするスケジューリング
方式を説明するための図
【図10】従来のタイムスロットを用いた多重読みだし
手法を示す図
手法を示す図
1…実時間ストリームサーバ 2…制御装置 3…データ蓄積部 4…バッファメモリ 5…データ転送部 6…ネットワーク 7…クライアント 21…要求接続処理部 22…スケジューリング部 23…ディレクトリ管理部 31…ディスク装置 82…データ受信部 82…データ解析部 83…データ分割部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 前田 誠司 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内
Claims (4)
- 【請求項1】実時間ストリームデータをブロック単位に
格納するための複数のディスク装置から、クライアント
から要求された実時間ストリームデータを読み出しバッ
ファメモリに一時的に格納した後にネットワークを介し
て該クライアントへ転送する実時間ストリームサーバに
おいて、 外部から実時間ストリームデータを入力する手段と、 入力された前記実時間ストリームデータのデータレート
に応じて、単位ストリームの使用数およびブロック転送
時間を決定する手段と、 前記実時間ストリームデータを、前記ブロック転送時間
内で転送すべき大きさのブロックに分割し、前記使用数
の各単位ストリームデータに順番に割当てる手段と、 前記単位ストリームデータごとに、割当てられたブロッ
クを先頭ブロックから順番に前記複数のディスク装置に
振り分けて蓄積させる手段と、 実時間ストリームデータごとに、前記単位ストリームの
使用数、各単位ストリームの前記先頭ブロックを格納す
る前記ディスク装置の識別番号および各ブロックの格納
したディスク装置上の記録位置を保持するディレクトリ
情報を管理する手段とを備えたことを特徴とする実時間
ストリームサーバ。 - 【請求項2】実時間ストリームデータを、データレート
に応じたブロック転送時間内で転送すべき大きさのブロ
ックに分割し、該データレートに応じた使用数の各単位
ストリームデータに順番に割当て、各単位ストリームデ
ータごとに、割当てられたブロックを先頭ブロックから
順番に複数のディスク装置に振り分けて蓄積しておき、
クライアントから要求された実時間ストリームデータ
を、該ディスク装置から読み出しバッファメモリに一時
的に格納した後にネットワークを介して該クライアント
へ転送する実時間ストリームサーバであって、 クライアントからの要求に応じて、要求された実時間ス
トリームデータについて、前記使用数分に相当する単位
ストリームのストリーム資源を確保し、元の実時間スト
リームデータの順にブロックを連続して転送するように
各単位ストリームの転送開始時刻をスケジューリングす
る手段と、 各ブロックの転送にあたって、各単位ストリームごとに
スケジューリングされた前記転送開始時刻から前記ブロ
ック転送時間内に前記バッファメモリ上の該当ブロック
を転送させる手段とを備えたことを特徴とする実時間ス
トリームサーバ。 - 【請求項3】実時間ストリームデータを格納するための
複数のディスク装置を備え、クライアントから要求され
た実時間ストリームデータを、ブロック単位に該ディス
ク装置から読み出しバッファメモリに一時的に格納した
後にネットワークを介して該クライアントへ転送する実
時間ストリームサーバのために、外部から実時間ストリ
ームデータを入力してディスク装置に格納する格納方法
において、 入力された実時間ストリームデータのデータレートに応
じて、単位ストリームの使用数およびブロック転送時間
を決定し、 該実時間ストリームデータを、前記ブロック転送時間内
で転送すべき大きさのブロックに分割し、 分割されたブロックを順番に各単位ストリームデータに
割当て、 前記単位ストリームデータごとに、任意のディスク装置
を起点とし予め決められたディスク装置選択順序で、先
頭ブロックから1ブロックづつ振り分けて蓄積すること
を特徴とする実時間ストリームデータの格納方法。 - 【請求項4】実時間ストリームデータを、データレート
に応じたブロック転送時間内で転送すべき大きさのブロ
ックに分割し、該データレートに応じた使用数の各単位
ストリームデータに順番に割当て、各単位ストリームデ
ータごとに、割当てられたブロックを先頭ブロックから
順番に複数のディスク装置に振り分けて蓄積する実時間
ストリームサーバにおいて、クライアントから要求され
た実時間ストリームデータを、該ディスク装置から読み
出しバッファメモリに一時的に格納した後にネットワー
クを介して該クライアントへ転送する転送方法であっ
て、 クライアントからの要求に応じて、要求された実時間ス
トリームデータについて、前記使用数分に相当する単位
ストリームのストリーム資源を確保し、 元の実時間ストリームデータの順にブロックを連続して
転送するように各単位ストリームの転送開始時刻を前記
ブロック転送時間分づつずらして、それぞれを独立な単
位ストリームとしてスケジューリングし、 各単位ストリームごとに、スケジューリングされた前記
転送開始時刻から前記ブロック転送時間で前記バッファ
メモリ上の各ブロックを転送することを特徴とする実時
間ストリームデータの転送方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7234404A JPH0981497A (ja) | 1995-09-12 | 1995-09-12 | 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法 |
EP96114630A EP0762300A3 (en) | 1995-09-12 | 1996-09-12 | Real time stream server for handling a plurality of real time stream data with different data rates |
US08/715,371 US5938734A (en) | 1995-09-12 | 1996-09-12 | Real time stream server for handling a plurality of real time stream data with different data rates |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7234404A JPH0981497A (ja) | 1995-09-12 | 1995-09-12 | 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0981497A true JPH0981497A (ja) | 1997-03-28 |
Family
ID=16970481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7234404A Pending JPH0981497A (ja) | 1995-09-12 | 1995-09-12 | 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5938734A (ja) |
EP (1) | EP0762300A3 (ja) |
JP (1) | JPH0981497A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7519722B2 (en) * | 2002-04-26 | 2009-04-14 | Nti, Inc. | Information providing method, information processing device, information collection system, communication method, communication system, relay device, and communication device |
JP2012118895A (ja) * | 2010-12-03 | 2012-06-21 | Mitsubishi Electric Corp | 通信装置、通信装置のデータ転送方法および通信プログラム |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6544379B2 (en) * | 1993-09-16 | 2003-04-08 | Hitachi, Ltd. | Method of holding substrate and substrate holding system |
US6289389B1 (en) * | 1997-06-03 | 2001-09-11 | Lextron Systems, Inc. | Enhanced integrated data delivery system |
WO1999001808A2 (en) * | 1997-07-02 | 1999-01-14 | Koninklijke Philips Electronics N.V. | System for supplying data streams |
US6288739B1 (en) * | 1997-09-05 | 2001-09-11 | Intelect Systems Corporation | Distributed video communications system |
WO1999014954A1 (en) * | 1997-09-18 | 1999-03-25 | Microsoft Corporation | Continuous media file server system and method for scheduling disk reads while playing multiple files having different transmission rates |
US6134596A (en) * | 1997-09-18 | 2000-10-17 | Microsoft Corporation | Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates |
JPH11119923A (ja) * | 1997-10-20 | 1999-04-30 | Fujitsu Ltd | データアクセス制御装置及びデータアクセス制御プログラムを記録した媒体 |
US6167496A (en) * | 1998-02-18 | 2000-12-26 | Storage Technology Corporation | Data stream optimization system for video on demand |
US6101547A (en) * | 1998-07-14 | 2000-08-08 | Panasonic Technologies, Inc. | Inexpensive, scalable and open-architecture media server |
US6401126B1 (en) * | 1999-03-10 | 2002-06-04 | Microsoft Corporation | File server system and method for scheduling data streams according to a distributed scheduling policy |
KR100746842B1 (ko) * | 1999-03-23 | 2007-08-09 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 멀티미디어 서버 |
US6366970B1 (en) * | 1999-04-01 | 2002-04-02 | Ravisent Technologies, Inc. | Optimal handling and manipulation of high-speed streaming media in a computing device |
US6370688B1 (en) * | 1999-05-26 | 2002-04-09 | Enounce, Inc. | Method and apparatus for server broadcast of time-converging multi-media streams |
US6934759B2 (en) * | 1999-05-26 | 2005-08-23 | Enounce, Inc. | Method and apparatus for user-time-alignment for broadcast works |
JP3623697B2 (ja) * | 1999-07-29 | 2005-02-23 | 富士通株式会社 | ディスク・タイムシェアリング装置及び方法 |
JP2001054095A (ja) * | 1999-08-09 | 2001-02-23 | Fujitsu Ltd | 情報配信/再生制御装置、情報配信/再生制御方法および情報配信/再生制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6654384B1 (en) | 1999-12-30 | 2003-11-25 | Aperto Networks, Inc. | Integrated self-optimizing multi-parameter and multi-variable point to multipoint communication system |
KR20010065763A (ko) * | 1999-12-30 | 2001-07-11 | 구본광 | 인터넷상에서의 유동적 다중채널과 가변적 스트림을이용한 전송정보 압축 및 해제장치 및 그 방법 |
US7366133B1 (en) * | 1999-12-30 | 2008-04-29 | Aperto Networks, Inc. | Integrated, self-optimizing, multi-parameter/multi-variable point-to-multipoint communication system [II] |
WO2001056266A2 (en) * | 2000-01-28 | 2001-08-02 | Ibeam Broadcasting Corporation | Method and apparatus for encoder-based distribution of live video and other streaming content |
US7383350B1 (en) * | 2000-02-03 | 2008-06-03 | International Business Machines Corporation | User input based allocation of bandwidth on a data link |
US7113998B1 (en) * | 2000-02-03 | 2006-09-26 | International Business Machines Corporation | System and method for grouping recipients of streaming data |
US7096327B2 (en) * | 2000-03-24 | 2006-08-22 | Koninklijke Philips Electronics N.V. | System for and method of accessing blocks on a storage medium |
US7187947B1 (en) | 2000-03-28 | 2007-03-06 | Affinity Labs, Llc | System and method for communicating selected information to an electronic device |
CN1322747C (zh) * | 2000-05-12 | 2007-06-20 | 提维股份有限公司 | 提高带宽效率的方法 |
US7168069B1 (en) * | 2000-07-12 | 2007-01-23 | Stmicroelectronics, Inc. | Dynamic generation of multimedia code for image processing |
JP2002058017A (ja) * | 2000-08-10 | 2002-02-22 | Nidek Co Ltd | 映像配信装置 |
US6766376B2 (en) | 2000-09-12 | 2004-07-20 | Sn Acquisition, L.L.C | Streaming media buffering system |
US8595372B2 (en) * | 2000-09-12 | 2013-11-26 | Wag Acquisition, Llc | Streaming media buffering system |
US7716358B2 (en) | 2000-09-12 | 2010-05-11 | Wag Acquisition, Llc | Streaming media buffering system |
US6636488B1 (en) | 2000-10-11 | 2003-10-21 | Aperto Networks, Inc. | Automatic retransmission and error recovery for packet oriented point-to-multipoint communication |
DE60206478T3 (de) | 2001-01-03 | 2018-11-29 | Nice Systems Ltd. | Auf inhalt basierende speicherungsverwaltung |
US7151885B2 (en) * | 2001-03-05 | 2006-12-19 | Sony Corporation | Method and apparatus for automatic transfer of a pre-recorded video program to a video cassette recorder |
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 |
US7191243B2 (en) * | 2001-11-15 | 2007-03-13 | Microsoft Corporation | Scheduling and multiplexing data for broadcast transmission over multiple streams |
CN100596092C (zh) * | 2002-11-27 | 2010-03-24 | Rgb网络有限公司 | 用于数据包的动态通道映射与最优化调度的设备与方法 |
WO2004088663A2 (en) * | 2003-04-04 | 2004-10-14 | Bbc Technology Holdings Limited | Media processor |
ES2354429T3 (es) * | 2003-12-02 | 2011-03-14 | Interactive Content Engines, Llc. | Sistema sincronizado de transferencia de datos. |
US20050132415A1 (en) * | 2003-12-11 | 2005-06-16 | Hillis W. D. | Spatial-to-temporal data translation and transmission |
US20050132149A1 (en) * | 2003-12-11 | 2005-06-16 | W. Daniel Hillis | Spatial-to-temporal data translation and scheduling and control |
US7644183B2 (en) * | 2003-12-11 | 2010-01-05 | Searete, Llc | Accelerated reception of spatial-to-temporal translated data |
WO2005060528A2 (en) * | 2003-12-11 | 2005-07-07 | Searete Llc | Spatial-to-temporal data translation and transmission |
US20050131863A1 (en) * | 2003-12-11 | 2005-06-16 | W. Daniel Hillis | Reception of spatial-to-temporal translated data |
US7284087B2 (en) * | 2004-06-17 | 2007-10-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus for increasing sustainable bandwidth in a multiple disk drive storage system |
US7765369B1 (en) * | 2004-11-05 | 2010-07-27 | Commvault Systems, Inc. | Method and system for selectively deleting stored data |
US20060235883A1 (en) | 2005-04-18 | 2006-10-19 | Krebs Mark S | Multimedia system for mobile client platforms |
US7969512B2 (en) * | 2006-08-28 | 2011-06-28 | Ati Technologies, Inc. | Memory bandwidth amortization |
US7831766B2 (en) * | 2006-12-22 | 2010-11-09 | Comm Vault Systems, Inc. | Systems and methods of data storage management, such as pre-allocation of storage space |
US8578272B2 (en) | 2008-12-31 | 2013-11-05 | Apple Inc. | Real-time or near real-time streaming |
US8156089B2 (en) | 2008-12-31 | 2012-04-10 | Apple, Inc. | Real-time or near real-time streaming with compressed playlists |
US8260877B2 (en) | 2008-12-31 | 2012-09-04 | Apple Inc. | Variant streams for real-time or near real-time streaming to provide failover protection |
US20100169303A1 (en) | 2008-12-31 | 2010-07-01 | David Biderman | Playlists for real-time or near real-time 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 |
GB201105502D0 (en) | 2010-04-01 | 2011-05-18 | Apple Inc | Real time or near real time streaming |
US8560642B2 (en) | 2010-04-01 | 2013-10-15 | Apple Inc. | Real-time or near real-time streaming |
US8805963B2 (en) | 2010-04-01 | 2014-08-12 | Apple Inc. | Real-time or near real-time streaming |
US8892691B2 (en) | 2010-04-07 | 2014-11-18 | Apple Inc. | Real-time or near real-time streaming |
WO2012019272A1 (en) * | 2010-08-13 | 2012-02-16 | Simon Fraser University | System and method for multiplexing of variable bit-rate video streams in mobile video systems |
US8843586B2 (en) | 2011-06-03 | 2014-09-23 | Apple Inc. | Playlists for real-time or near real-time streaming |
US8856283B2 (en) | 2011-06-03 | 2014-10-07 | Apple Inc. | Playlists for real-time or near real-time streaming |
CN103294580B (zh) | 2012-02-02 | 2017-08-08 | 塔塔咨询服务有限公司 | 实时性能监控 |
US9063938B2 (en) | 2012-03-30 | 2015-06-23 | Commvault Systems, Inc. | Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files |
US9639297B2 (en) | 2012-03-30 | 2017-05-02 | Commvault Systems, Inc | Shared network-available storage that permits concurrent data access |
US10169121B2 (en) | 2014-02-27 | 2019-01-01 | Commvault Systems, Inc. | Work flow management for an information management system |
US9397832B2 (en) * | 2014-08-27 | 2016-07-19 | International Business Machines Corporation | Shared data encryption and confidentiality |
US9397833B2 (en) | 2014-08-27 | 2016-07-19 | International Business Machines Corporation | Receipt, data reduction, and storage of encrypted data |
US10313243B2 (en) | 2015-02-24 | 2019-06-04 | Commvault Systems, Inc. | Intelligent local management of data stream throttling in secondary-copy operations |
CN107870928A (zh) * | 2016-09-26 | 2018-04-03 | 上海泓智信息科技有限公司 | 文件读取方法和装置 |
CN110730359A (zh) * | 2019-09-29 | 2020-01-24 | 苏州浪潮智能科技有限公司 | 一种视频流数据读取方法、装置、设备及存储介质 |
CN112685226B (zh) * | 2019-10-17 | 2024-09-06 | 伊姆西Ip控股有限责任公司 | 用于备份数据的方法、设备和计算机可读介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5524258A (en) * | 1994-06-29 | 1996-06-04 | General Electric Company | Real-time processing of packetized time-sampled signals employing a systolic array |
EP0701253B1 (en) * | 1994-08-10 | 2002-01-30 | Matsushita Electric Industrial Co., Ltd. | Encoded data stream recording and reproducing apparatus |
US5712976A (en) * | 1994-09-08 | 1998-01-27 | International Business Machines Corporation | Video data streamer for simultaneously conveying same one or different ones of data blocks stored in storage node to each of plurality of communication nodes |
US5586264A (en) * | 1994-09-08 | 1996-12-17 | Ibm Corporation | Video optimized media streamer with cache management |
US5541919A (en) * | 1994-12-19 | 1996-07-30 | Motorola, Inc. | Multimedia multiplexing device and method using dynamic packet segmentation |
US5583995A (en) * | 1995-01-30 | 1996-12-10 | Mrj, Inc. | Apparatus and method for data storage and retrieval using bandwidth allocation |
US5652749A (en) * | 1995-02-03 | 1997-07-29 | International Business Machines Corporation | Apparatus and method for segmentation and time synchronization of the transmission of a multiple program multimedia data stream |
US5671226A (en) * | 1995-02-09 | 1997-09-23 | Mitsubishi Denki Kabushiki Kaisha | Multimedia information processing system |
US5592612A (en) * | 1995-04-28 | 1997-01-07 | Birk; Yitzhak | Method and apparatus for supplying data streams |
JPH0946691A (ja) * | 1995-07-31 | 1997-02-14 | Victor Co Of Japan Ltd | 情報蓄積出力方法及び情報蓄積出力装置 |
US5812144A (en) * | 1995-09-08 | 1998-09-22 | International Business Machines Corporation | System for performing real-time video resizing in a data processing system having multimedia capability |
US5737577A (en) * | 1996-08-12 | 1998-04-07 | Digital Video Systems, Inc. | Complementary block storage for breater minimumdata transfer rate |
US5806804A (en) * | 1996-11-12 | 1998-09-15 | Lockheed Martin Corp. | Adaptive harmonic disturbance compensation system |
-
1995
- 1995-09-12 JP JP7234404A patent/JPH0981497A/ja active Pending
-
1996
- 1996-09-12 EP EP96114630A patent/EP0762300A3/en not_active Withdrawn
- 1996-09-12 US US08/715,371 patent/US5938734A/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7519722B2 (en) * | 2002-04-26 | 2009-04-14 | Nti, Inc. | Information providing method, information processing device, information collection system, communication method, communication system, relay device, and communication device |
JP2012118895A (ja) * | 2010-12-03 | 2012-06-21 | Mitsubishi Electric Corp | 通信装置、通信装置のデータ転送方法および通信プログラム |
Also Published As
Publication number | Publication date |
---|---|
US5938734A (en) | 1999-08-17 |
EP0762300A2 (en) | 1997-03-12 |
EP0762300A3 (en) | 2008-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0981497A (ja) | 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法 | |
US5956321A (en) | Stream scheduling system for real time stream server | |
JP3563541B2 (ja) | データ格納装置及びデータ格納方法 | |
KR100374070B1 (ko) | 다중사용자데이터분배시스템에다중사용자를할당하는방법 | |
EP0744868B1 (en) | Method and apparatus for guaranteeing average case disk transfer bandwith and seek time for a video server | |
US6047356A (en) | Method of dynamically allocating network node memory's partitions for caching distributed files | |
EP0797151B1 (en) | Computer apparatus and bus control scheme | |
EP0901249B1 (en) | Method of distributed editing of video clips over a network | |
US7739421B1 (en) | Buffer management method and system with data displayed directly from buffers | |
JP2004199853A (ja) | ディジタルデータを確実に分配するための方法 | |
EP0927927B1 (en) | Information reproducing apparatus | |
KR20020020891A (ko) | 저장 매체상의 블록들을 액세스하기 위한 시스템 및 방법 | |
US5940865A (en) | Apparatus and method for accessing plural storage devices in predetermined order by slot allocation | |
EP0812513B1 (en) | Method and system for reading data for a number of users | |
JP3575862B2 (ja) | ストリームスケジューリング方法及び装置 | |
US6564231B1 (en) | Method for managing optical disk library files in accordance with the frequency of playback requests selected simultanenously at a specified time intervals | |
JP3288213B2 (ja) | サーバ | |
JPH0981491A (ja) | ネットワークビデオサーバ、クライアント装置及びマルチメディア情報提供方法 | |
CN100541472C (zh) | 用于本地视频服务器的许可控制系统 | |
JPH09218749A (ja) | データバッファ装置およびデータサーバシステム | |
JPH11119922A (ja) | データ記憶システム及び冗長データ書き込み制御方法 | |
Zhao et al. | Data management for multiuser access to digital video libraries | |
JP3416498B2 (ja) | サーバ装置およびその制御方法並びにサーバ装置制御プログラムを記録した記録媒体 | |
Lin | Near-optimal Heuristic Solution for Truncated Harmonic Windows Scheduling and Harmonic Group Windows Scheduling | |
JP2001094964A (ja) | スケジューリング装置及び計算機システム並びにプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040831 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041101 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050412 |