JP2950223B2 - データ読出装置 - Google Patents

データ読出装置

Info

Publication number
JP2950223B2
JP2950223B2 JP8003717A JP371796A JP2950223B2 JP 2950223 B2 JP2950223 B2 JP 2950223B2 JP 8003717 A JP8003717 A JP 8003717A JP 371796 A JP371796 A JP 371796A JP 2950223 B2 JP2950223 B2 JP 2950223B2
Authority
JP
Japan
Prior art keywords
read
data
read request
block
transfer
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.)
Expired - Fee Related
Application number
JP8003717A
Other languages
English (en)
Other versions
JPH09190293A (ja
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.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP8003717A priority Critical patent/JP2950223B2/ja
Priority to US08/780,219 priority patent/US5944792A/en
Publication of JPH09190293A publication Critical patent/JPH09190293A/ja
Application granted granted Critical
Publication of JP2950223B2 publication Critical patent/JP2950223B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ディスク装置など
データ蓄積装置に蓄積されているデータを読み出すデー
タ読出装置に係わり、特に読出要求を受けてからデータ
をその要求元に転送するまでの時間に一定の制約のある
データを読み出すデータ読出装置に関する。
【0002】
【従来の技術】ビデオサーバのように蓄積したデータを
複数のユーザからの要求に応じて読み出して送出する装
置では、できるだけ多くのユーザからの読出要求に並行
して応じることが要求される。また、読出要求に応じて
データの送出を開始した以後は、そのビデオファイルの
最後までデータを途切れることなく送出することが要求
される。
【0003】通常、ビデオファイルの記憶装置として
は、磁気ディスク装置などのディスク装置が用いられ
る。磁気ディスク装置は、目的のデータの格納されてい
る位置までヘッドを移動させることでディスク上の任意
の場所に格納されたデータを読み出している。このよう
にディスク装置ではヘッドの移動を必要とするためデー
タの読み出しに比較的時間がかかる。また、ヘッドの移
動量は読み出すべきデータの格納場所によって相違する
ので、読み出しに要する時間を特定することが難しい。
【0004】複数の読出要求に並行して応答することな
く、1つの読出要求に対応して1つのファイルだけを読
み出す場合には、ディスク装置からの読出時間を予め考
慮して、途中でデータが途切れないように読出要求を発
行することができる。すなわち、各データの読出順序と
それらのデータの格納されているディスク上の配置か
ら、ファイル内の各データの読み出しにかかる時間を予
測する。そして、データの途切れる時刻よりも先に次の
データの読み出しが終了するようにデータの読出要求を
必要なだけ先行して順次ディスク装置に発行する。
【0005】このように1つのファイルだけを読み出す
場合には、ディスク装置への読出要求を必要なだけ先行
して発行することでデータがファイルの途中で途切れて
しまうことを防ぐことができる。
【0006】以後、データの途切れの発生する時刻、す
なわち、ディスク装置から読み出されるデータの必要と
される時刻をデッドライン時刻と呼ぶことにする。ま
た、ある時点からデッドライン時刻までの時間をデッド
ライン余裕時間と呼ぶ。さらに、ユーザからの読出要求
を受けてディスク装置にデータの読出要求を発行する装
置をクライアントと呼ぶことにする。ビデオ・オン・デ
マンドのサービスを行うビデオサーバシステムでは、各
ユーザからの読出要求を受け付けてこれに応じた読出要
求をディスク装置に発行し、ディスク装置から読み出さ
れたデータをビデオデータに変換してユーザに送出する
部分がクライアントに相当する。
【0007】複数のクライアントからの読出要求を受け
るデータ読出装置には、読出要求が集中したときでも、
データが途切れないように予めクライアントの数を制限
したものがある。ディスク装置から単位時間当たりに読
み出すことのできるデータ量(スループット)を基にし
て一定の時間内に読み出しを完了することのできる最大
のデータ量を予め算出することができる。そこで、この
装置では、全てのクライアントからの読出要求に並行し
て応答しても、同時に集中するデータの読出量がディス
ク装置の許容量を越えないようにクライアントの数を制
限している。これにより、デッドライン時刻までに次の
データをディスク装置から読み出すことを保証すること
ができる。
【0008】ディスク装置のスループットを向上させる
ことができれば、クライアントの数を増やすことができ
る。ディスク装置のスループットを向上させる技術の1
つとしてキャッシュメモリを用いるものがある。
【0009】特開平5─257614号公報には、読出
時間の短縮を図ったデータ読出装置が開示されている。
この装置では、磁気ヘッドの移動量が少なくなるように
ディスク装置からデータを読み出す際の読出順序を入れ
換えるようになっている。
【0010】また、クライアントにバッファメモリを設
け、このバッファメモリが空にならないように早めにデ
ィスク装置への読出要求を発行するようにしたデータ読
出装置がある。バッファメモリを介する分だけ、読出要
求を発行してからデータの途切れる事態の発生するまで
のデッドライン余裕時間を長くすることができる。この
ようなクライアントを有するディスク装置では、通常、
クライアントから読出要求を受け付けた順に従ってデー
タの読み出しを行うようになっている。
【0011】特開平4─264947号公報には、クラ
イアントの優先度に応じてデータの読出順序をスケジュ
ーリングする技術が開示されている。この技術を適用す
れば、デッドライン余裕時間の短いクライアントとデッ
ドライン余裕時間の長いクライントが混在している場合
でも、デッドライン余裕時間に応じた優先度でディスク
装置からデータの読み出しを行うことができる。すなわ
ち、デッドライン余裕時間の短いクライアントの優先度
をデッドライン余裕時間の長いクラインアントのそれよ
りも高くする。
【0012】このようにすれば、優先度の高いクライア
ントからの読出要求が優先度の低い他のクライアントか
らの読出要求よりも後に発行された場合であっても、デ
ッドライン余裕時間の短い優先度の高いクライアントへ
のデータの読み出しが優先して行われる。これにより、
デッドライン余裕時間の短いクライントにおいてデッド
ライン時刻を守れなくなる可能性を低減することができ
る。
【0013】ビデオサーバシステムでは、ディスク装置
に記憶されるデータは動画を対象としたものである。動
画の画像データは、各種の符号化形式に従って符号化さ
れている。単位時間当たりの画像に相当する符号化され
た後の画像データのデータ量は、符号化形式によってそ
れぞれ異なり、これに応じてデータの転送速度も相違す
る。このため、複数種類の符号化形式の動画の画像デー
タを1つのビデオサーバシステムで取り扱う場合には、
符号化形式ごとに異なる転送速度に対応する必要があ
る。
【0014】このため、ディスク装置への読出要求をバ
ッファリングするためのキューをクライアントごとに設
けた装置がある。この装置では、キューとそのキューに
格納された読出要求のデータの転送速度を対応付けてい
る。そして、これらのキューからの読出要求の取り出し
を転送速度に応じた割合でスケジューリングすること
で、各種の転送速度に対応させている。このようなビデ
オサーバシステムについては、“NSF とTCP/IPを拡張
し、動画に対応したビデオ・サーバ”(日経エレクトロ
ニクス第645 号133 〜141 頁) に開示されている。
【0015】一方、動画を符号化して圧縮する形式に
は、1つ前の画像との差分を用いて符号化するものがあ
る。このような符号化形式では、画像データの圧縮率が
高いという特徴があるが、単位時間に必要とされる符号
化されない画像データに対応する符号化後の画像データ
のデータ量が、圧縮する画像の内容によって変化してし
まう。すなわち、1つのビデオファイルの中でも符号化
されたデータの転送速度が異なることになる。
【0016】
【発明が解決しようとする課題】1つのクライアントか
らの要求に応じてディスク装置からデータを読み出す場
合には、読み出しに要する時間を予測してディスク装置
への読出要求を必要なだけ先行して発行することによっ
て、途中でデータの途切れることを回避することができ
る。しかしながら、複数のクライアントからの読出要求
を並行に処理する場合には、読出要求の到来するタイミ
ングやアクセスするファイルによって、ディスク装置に
送られるデータの読出要求の順序が異なる。このため、
データの読み出しに要する時間を予測することが難しく
なり、ディスク装置への読出要求を先行して発行するだ
けでは、転送の途中でデータが途切れてしまうことを防
ぐことができない場合がある。
【0017】クライアントの数を制限することでデータ
の途切れを回避するものでは、読出時間に不確定な要素
があるため、デッドライン時刻を守るためにはある程度
の安全率を見越してクライアントの数を少なく設定しな
ければならないという問題がある。たとえば、クライア
ントごとにデータの読出頻度が異なったり、デッドライ
ン余裕時間に相違があることもある。さらに、磁気ヘッ
ドの移動量に応じてスループットが変化することや、1
つのクライアントからの読出要求が他のクライアントへ
のデータ読み出しを妨害してしまう場合もある。このよ
うに不確定な要素が多く存在するため、クライアントの
数を少なく見積もらなければならず、ディスク装置の能
力を十分に発揮することができないという問題がある。
【0018】また、特開平5─257614号公報に開
示されているように、アクセスの順序を入れ換えてスル
ープットの向上を図る場合には、その読出順序が後回し
に変更されたクライアントにおいてデッドライン時刻を
守ることができなくなる場合が生じるという問題があ
る。
【0019】また、キャッシュメモリは、データアクセ
スの局所性を利用してスループットを向上させるもので
ある。しかしながらビデオサーバのようなシステムで
は、データの読み出しには、局所性を期待することはで
きない。このため、ビデオサーバシステムではキャッシ
ュメモリを設けても、クライアントの数を増やすことは
できない。
【0020】一方、クライアントにバッファメモリを持
たせたものでは、デッドライン余裕時間をその分長くす
ることができるので、データの途切れる可能性を低減す
ることができる。しかしながら、ディスク装置は読出要
求を受理した順に従ってデータの読み出しを行うので、
デッドライン時間の長いクライアントと短いクライアン
トとが混在して存在する場合には、デッドライン時間の
短いクライアントでデータの途切れる可能性が高くなる
という問題がある。すなわち、デッドライン時間の長い
クライアントからの読出要求が先行して受理された場合
には、デッドライン時間の短いクライアントからの要求
に応じたデータの読み出しが待たされることになる。こ
のため、デッドライン余裕時間の短いクライアントでデ
ッドライン時刻を守れないケースが生じ易くなってしま
う。
【0021】さらに、データの転送速度の相違を、クラ
イントごとに設けたキュー別に管理する場合には、クラ
イアント単位にしか転送速度を変更することができな
い。このため、前フレームの画像との差分を基にして圧
縮する符号化形式のように1つのビデオファイルの中で
データの転送速度が異なるものには対応することができ
ないという問題がある。
【0022】そこで本発明の第1の目的は、データの読
出期限を守りながらより多くのクライアントからの読出
要求に並行して応じることのできるデータ読出装置を提
供することにある。
【0023】本発明の第2の目的は、転送速度の異なる
ファイルを同時に扱うことのできるデータ読出装置を提
供することにある。
【0024】
【課題を解決するための手段】請求項1記載の発明で
は、複数のデータの蓄積されたデータ蓄積手段と、この
データ蓄積手段に蓄積されている複数のデータのうち読
み出すべきものとその読出期限の時刻を指定した読出要
求を送出する複数の読出要求送出手段と、これら読出要
求送出手段から読出要求を受け取りそれらを記憶する読
出要求記憶手段と、この読出要求記憶手段に記憶されて
いる読出要求をその読出期限の時刻の早い順に取り出す
読出要求取出手段と、この読出要求取出手段によって取
り出された読出要求に対応するデータをデータ蓄積手段
から読み出すデータ読出手段とをデータ読出装置に具備
させている。
【0025】すなわち請求項1記載の発明では、各読出
要求送出手段は、読み出すべきデータとそのデータの読
出期限の時刻を指定した読出要求を送出する。データを
読み出す側の装置は、各読出要求送出手段から到来する
読出要求を一旦読出要求記憶手段に記憶する。そして、
読出期限の時刻の早いものから順に読出要求記憶手段か
ら取り出し、それに対応するデータをデータ蓄積手段か
ら読み出している。これにより読出期限の時刻までに余
裕の少ない要求が優先され、余裕のある要求は先送りさ
れる。また時間の経過とともに先送りされた要求の優先
度は次第に高くなる。このように読出期限の時刻に応じ
た優先度でデータの読み出しが行われるので、複数の要
求元から読出要求を受けた場合でも、指定された読出期
限の時刻を守れないケースが少なくなる。
【0026】請求項2記載の発明では、複数のファイル
の蓄積されたデータ蓄積手段と、このデータ蓄積手段に
蓄積されている複数のブロックを含んだファイルのうち
読み出すべきものとその転送を開始すべき時刻としての
読出開始時刻を指定した読出要求を送出する複数の読出
要求送出手段と、この読出要求送出手段から送出された
読出要求を受けとり、ファイルに含まれる各ブロックご
との読出要求に変換する時刻指定要求管理手段と、この
時刻指定要求管理手段によって変換されたブロックごと
の読出要求に基づいてそれぞれのブロックを読出要求で
指定された読出開始時刻から所定の転送速度で読出要求
の送出元に連続して転送するための各ブロックの転送開
始時刻を求める転送開始時刻算出手段と、この転送開始
時刻算出手段によって求めた各ブロックの転送開始時刻
をそれぞれ対応するブロックをデータ蓄積手段から読み
出す際の読出期限の時刻に指定して各ブロックごとの読
出要求を生成するブロック読出要求生成手段と、このブ
ロック読出要求生成手段によって生成された読出要求を
記憶する読出要求記憶手段と、データ蓄積手段から読み
出されるブロックごとのデータを読出要求送出手段に転
送するまでの間一時的に保持するための送信バッファ
と、時刻指定要求管理手段から送られてくるブロック単
位の読出要求を格納するキューと、このキューに格納さ
れているブロック単位の読出要求をその読出期限の時刻
の早い順に取り出す読出要求取出手段と、この読出要求
取出手段によって取り出された読出要求に対応するブロ
ックのデータをデータ蓄積手段から読み出しこれを送信
バッファに格納するデータ読出手段と、このデータ読出
手段によって送信バッファに格納されたファイルの先頭
のブロックについての転送開始時刻が到来したときこれ
を現在時刻と比較することによって検出する転送開始時
刻到来ブロック検出手段と、この転送開始時刻到来ブロ
ック検出手段によって転送開始時刻の到来したことの検
出されたブロックのデータを所定の転送速度で送信バッ
ファからその読み出しを要求した読出要求送出手段に転
送すると共に、転送が完了した時点で同一のファイルに
属する未転送のブロックが存在する間はそれらのブロッ
クのデータの転送を継続するデータ転送手段とをデータ
読出装置に具備させている。
【0027】すなわち請求項2記載の発明では、各読出
要求送出手段は、データ蓄積手段に蓄積されている複数
のブロックを含んだファイルのうち読み出すべきものと
その転送を開始すべき時刻としての読出開始時刻を指定
した読出要求を送出する。データを読み出す側の装置
は、ファイルに含まれる複数のブロックごとに、かつそ
れらを指定された読出開始時間から所定の転送速度で途
切れることなく連続して転送する場合に、それぞれのブ
ロックの転送を開始すべき転送開始時刻を算出する。
【0028】そして各ブロックごとに求めた転送開始時
刻をそのブロックの読出期限の時刻に指定してブロック
ごとの読出要求を作成する。ブロックごとの読出要求
は、キューに一旦記憶される。キューに蓄積された読出
要求は、読出期限の時刻の早い順に読出要求記憶手段か
ら取り出される。取り出された読出要求に対応するデー
タはデータ蓄積手段から読み出され送信バッファに格納
される。送信バッファに格納された各ブロックのデータ
は、対応する転送開始時刻になったとき要求元の読出要
求送出手段に転送される。
【0029】このように、データ蓄積手段から読み出さ
れるブロックごとのデータを読出要求送出手段に転送す
るまでの間一時的に保持するための送信バッファを設け
たので、複数の読出要求が同時に到来しても、データの
読み出しはブロック単位に時分割処理され複数の読出要
求に同時に並行して対応することができる。また、それ
ぞれのブロックの読み出しは、読出期限の時刻に余裕の
あるものが先送りされ、余裕の少ないものが優先して行
われる。さらに、先送りされたものも期限の時刻が近く
なると優先度が高くなる。このため、複数の読出要求を
並行に処理しても期限の時刻までにデータの読み出せな
くなる事態を低減することができる。
【0030】請求項3記載の発明では、複数のファイル
の蓄積されたデータ蓄積手段と、このデータ蓄積手段に
蓄積される各ファイルの転送速度を予め記憶しておく転
送速度記憶手段と、データ蓄積手段に蓄積されている
数のブロックを含んだファイルのうち読み出すべきもの
とその転送を開始すべき時刻としての読出開始時刻を指
定した読出要求を送出する複数の読出要求送出手段と、
この読出要求送出手段から送出された読出要求を受けと
り、ファイルに含まれる各ブロックごとの読出要求に変
換する時刻指定要求管理手段と、この時刻指定要求管理
手段によって変換されたブロックごとの読出要求に基づ
いてそれぞれのブロックを読出要求で指定された読出開
始時刻から所定の転送速度で読出要求の送出元に連続し
て転送するための各ブロックの転送開始時刻を転送速度
記憶手段に記憶されたファイルの転送速度との関係で求
める転送開始時刻算出手段と、この転送開始時刻算出手
段によって求めた各ブロックの転送開始時刻をそれぞれ
対応するブロックをデータ蓄積手段から読み出す際の読
出期限の時刻に指定して各ブロックごとの読出要求を生
成するブロック読出要求生成手段と、このブロック読出
要求生成手段によって生成された読出要求を記憶する読
出要求記憶手段と、データ蓄積手段から読み出される
ロックごとのデータを読出要求送出手段に転送するまで
の間一時的に保持するための送信バッファと、時刻指定
要求管理手段から送られてくるブロック単位の読出要求
を格納するキューと、このキューに格納されているブロ
ック単位の読出要求をその読出期限の時刻の早い順に取
り出す読出要求取出手段と、この読出要求取出手段によ
って読出要求が取り出されたとき対応するブロックのデ
ータをデータ蓄積手段から読み出しこれを送信バッファ
に格納するデータ読出手段と、このデータ読出手段によ
って送信バッファに格納されたファイルの先頭のブロッ
クについての転送開始時刻が到来したときこれを現在時
刻と比較することによって検出する転送開始時刻到来ブ
ロック検出手段と、この転送開始時刻到来ブロック検出
手段によって転送開始時刻の到来したことの検出された
ブロックのデータを転送速度記憶手段に記憶されたファ
イルの転送速度で送信バッファからその読み出しを要求
した読出要求送出手段に転送すると共に、転送が完了し
た時点で同一のファイルに属する未転送のブロックが存
在する間はそれらのブロック のデータの転送を継続する
データ転送手段とをデータ読出装置に具備させている。
【0031】すなわち請求項3記載の発明では、ファイ
ルごとにその転送速度を予め記憶しておき、読出要求で
指定されたファイルを対応する転送速度でその要求元に
転送している。この際、要求されたファイルの転送速度
に応じて各ブロックの読出開始時刻および読出期限の時
刻を求めている。これにより、たとえば符号化形式の違
いにより転送速度の異なる複数のビデオファイルを扱う
ビデオサーバシステムなどに対応することができる。
【0032】請求項4記載の発明では、複数のファイル
の蓄積されたデータ蓄積手段と、このデータ蓄積手段に
蓄積されている各ファイルをブロック単位に転送する際
の転送速度をこれら各ブロックごとに記憶した転送速度
記憶手段と、データ蓄積手段に蓄積されている複数のブ
ロックを含んだファイルのうち読み出すべきものとその
転送を開始すべき時刻としての読出開始時刻を指定した
読出要求を送出する複数の読出要求送出手段と、この読
出要求送出手段から送出された読出要求を受けとり、フ
ァイルに含まれる各ブロックごとの読出要求に変換する
時刻指定要求管理手段と、この時刻指定要求管理手段に
よって変換されたブロックごとの読出要求に基づいてそ
れぞれのブロックを読出要求で指定された読出開始時刻
から所定の転送速度で読出要求の送出元に連続して転送
するための各ブロックの転送開始時刻を転送速度記憶手
段に記憶されたブロックの転送速度との関係で求める
送開始時刻算出手段と、この転送開始時刻算出手段によ
って求めた各ブロックの転送開始時刻をそれぞれ対応す
るブロックをデータ蓄積手段から読み出す際の読出期限
の時刻に指定して各ブロックごとの読出要求を生成する
ブロック読出要求生成手段と、このブロック読出要求生
成手段によって生成された読出要求を記憶する読出要求
記憶手段と、データ蓄積手段から読み出されるブロック
ごとのデータを読出要求送出手段に転送するまでの間一
時的に保持するための送信バッファと、時刻指定要求管
理手段から送られてくるブロック単位の読出要求を格納
するキューと、このキューに格納されているブロック単
位の読出要求をその読出期限の時刻の早い順に取り出す
読出要求取出手段と、この読出要求取出手段によって読
出要求が取り出されたとき対応するブロックのデータを
データ蓄積手段から読み出しこれを送信バッファに格納
するデータ読出手段と、このデータ読出手段によって送
信バッファに格納されたファイルの先頭のブロックにつ
いての転送開始時刻が到来したときこれを現在時刻と比
較することによって検出する転送開始時刻到来ブロック
検出手段と、この転送開始時刻到来ブロック検出手段に
よって転送開始時刻の到来したことの検出されたブロッ
クのデータを転送速度記憶手段に記憶された該当するブ
ロックの転送速度で送信バッファからその読み出しを要
求した読出要求送出手段に転送すると共に、転送が完了
した時点で同一のファイルに 属する未転送のブロックが
存在する間はそれらのブロックのデータの転送をそれぞ
れのブロックの転送速度によって継続するデータ転送手
段とをデータ読出装置に具備させている。
【0033】すなわち請求項4記載の発明では、各ファ
イルを構成するブロックごとに転送速度を記憶してお
き、読出要求で指定されたファイルの各ブロックをそれ
ぞれ対応する転送速度で要求元へ転送している。この
際、各ブロックの転送速度に応じて転送開始時刻および
読出期限の時刻を求めている。これにより、たとえば1
つのファイル内で様々なデータの転送速度となる様な符
号化形式で符号化された動画のファイルを扱うようなビ
デオサーバシステムに対応することができる。
【0034】請求項5記載の発明では、複数のファイル
の蓄積されたデータ蓄積手段と、このデータ蓄積手段に
蓄積されている複数のブロックを含んだファイルのうち
読み出すべきファイルとこれを転送する際の転送速度
よび転送を開始すべき時刻としての読出開始時刻を指定
した読出要求を送出する複数の読出要求送出手段と、こ
の読出要求送出手段から送出された読出要求を受け
り、ファイルに含まれる各ブロックごとの読出要求に変
換する時刻指定要求管理手段と、この時刻指定要求管理
手段によって変換されたブロックごとの読出要求に基づ
いてそれぞれのブロックを読出要求で指定された読出開
始時刻から指定の転送速度で読出要求の送出元に連続し
て転送するための各ブロックの転送開始時刻を求める
送開始時刻算出手段と、この転送開始時刻算出手段によ
って求めた各ブロックの転送開始時刻をそれぞれ対応す
るブロックをデータ蓄積手段から読み出す際の読出期限
の時刻に指定して各ブロックごとの読出要求を生成する
ブロック読出要求生成手段と、このブロック読出要求生
成手段によって生成された読出要求を記憶する読出要求
記憶手段と、データ蓄積手段から読み出されるブロック
ごとのデータを読出要求送出手段に転送するまでの間一
時的に保持するための送信バッファと、時刻指定要求管
理手段から送られてくるブロック単位の読出要求を格納
するキューと、このキューに格納されているブロック単
位の読出要求をその読出期限の時刻の早い順に取り出す
読出要求取出手段と、この読出要求取出手段によって読
出要求が取り出されたとき対応するブロックのデータを
データ蓄積手段から読み出しこれを送信バッファに格納
するデータ読出手段と、このデータ読出手段によって送
信バッファに格納されたファイルの先頭のブロックにつ
いての転送開始時刻が到来したときこれを現在時刻と比
較することによって検出する転送開始時刻到来ブロック
検出手段と、この転送開始時刻到来ブロック検出手段に
よって転送開始時刻の到来したことの検出されたブロッ
クのデータを指定の転送速度で送信バッファからその読
み出しを要求した読出要求送出手段に転送すると共に、
転送が完了した時点で同一のファイルに属する未転送の
ブロックが存在する間はそれらのブロックのデータの転
送を継続するデータ転送手段とをデータ読出装置に具備
させている。
【0035】すなわち請求項5記載の発明では、読出要
求送出手段は、ファイルの読出要求を送出するごとにそ
のファイルの転送速度を指定するようになっている。そ
して、要求されたファイルの各ブロックを転送する際の
転送開始時刻や読出期限の時刻は、指定された転送速度
に従って求められる。これによりたとえば、ビデオファ
イルを読み出す場合に、同一のビデオファイルを高速再
生する場合と低速再生する場合のそれぞれに応じた転送
速度で読み出すことができる。
【0036】
【発明の実施の形態】
【0037】
【実施例】図1は、本発明の一実施例におけるデータ読
出装置の構成の概要を表わしたものである。この装置
は、各種のファイルを蓄積する二次記憶装置11と、二
次記憶装置11への読出命令を発行する二次記憶制御装
置12と、ファイルの読出要求を二次記憶制御装置12
に送出するクライアント13とから構成される。図では
便宜上、クライアント13を1つだけ示してあるが、二
次記憶制御装置12は複数のクライアントからの読出要
求を受け付けるようになっている。
【0038】クライアント13は、図示しないユーザか
らの要求を受けて、これに応じた読出要求21を作成す
る時刻指定読出要求部22を備えている。時刻指定読出
要求部22は、ファイルの読出要求21を発行する際
に、そのファイルのデータの読出期限の時刻を表わした
デッドライン時刻を設定し、読出要求21にこの時刻を
表わしたデッドライン時刻情報を付加して二次記憶制御
装置12に送出する。
【0039】二次記憶制御装置12は、クライアントか
ら送られてきた読出要求を、読出期限の時刻に応じた順
にソートして記憶する読出要求ソート部23と、読出要
求ソート部23から読出要求を順次取り出して二次記憶
装置11にデータの読出命令を発行する二次記憶読出部
24を備えている。二次記憶読出部24は、プログラム
や固定的データを記憶したROM(リード・オンリ・メ
モリ)およびプログラムを実行する上で必要となるデー
タを一時的に記憶するRAM(ランダム・アクセス・メ
モリ)をその内部に備えた図示しないCPU(中央処理
装置)を有している。二次記憶装置11から読み出され
たデータ25は、読出要求21の送出元のクライアント
13に転送される。
【0040】図2は、図1に示した読出要求ソート部の
構成の概要を表わしたものである。読出要求ソート部2
3は、クライアント13からの読出要求21を記憶する
ためのキュー31を備えている。また、キュー31に記
憶されている読出要求に付加されているデッドライン時
刻と、クライアントから新たに送られてきた読出要求の
デッドライン時刻とを比較し、新たな読出要求の挿入位
置を判別する比較器32を備えている。比較器32は、
デッドライン時刻の早い順にキュー31の出力端33か
ら読出要求が格納されるように、新たな読出要求の挿入
位置を決定し、求めた位置に新たな読出要求を挿入す
る。
【0041】図3は、図1に示した読出要求ソート部の
他の一例の構成の概要を表わしたものである。読出要求
ソート部23は、クライアント13からの読出要求21
を記憶するためのキュー41と、キュー41から次に取
り出すべき読出要求を判別する比較器42を備えてい
る。クライアント13から送られてきた読出要求21
は、キュー41の最後尾に格納される。比較器42は、
読出要求をキューから取り出すとき、キュー42に格納
されている全ての読出要求のデッドライン時刻を比較
し、その時刻の最も早いものを選択し、キュー42に通
知する。キュー42は、比較器42から通知された順に
読出要求を取り出すようになっている。
【0042】図4は、図1に示した二次記憶読出部の行
う処理の流れを表わしたものである。二次記憶読出部2
4は、読出要求ソート部23の有するキュー31に読出
要求が格納されているか否かを調べる(ステップS10
1)。読出要求が無い場合には(ステップS101;
N)、読出要求がキュー31に格納されるのを待つ(ス
テップS102)。読出要求がキュー31に到着する
と、そのことがキュー31から通知されステップS10
2の処理を終える。読出要求がキュー31内に存在する
場合には(ステップS101;Y)、その中で最もデッ
ドライン時刻の早いものを1つ取り出す(ステップS1
03)。そして取り出した読出要求に応対する読出命令
を二次記憶装置11に発行する(ステップS104)。
【0043】読出命令を発行した後、二次記憶装置11
からその命令に対応するデータの読み出しの完了したこ
と表わした完了通知が到来するのを待つ(ステップS1
05)。二次記憶装置11から完了通知を受け取るとス
テップS105を抜け、処理を終了する(エンド)。二
次記憶読出部24は図4のに示した処理を繰り返し行う
ようになっている。
【0044】図5は、二次記憶装置の行う処理の流れを
表わしたものである。二次記憶装置11は、二次記憶読
出部24から読出命令が発行されるのを待つ(ステップ
S201;N)。読出命令が発行されると(ステップS
201;Y)、その読出命令に対応するデータを読み出
す(ステップS202)。データの読み出しが完了する
と、読み出したデータをクライアント13に転送する
(ステップS203)。その後、二次記憶読出部24に
向けて完了通知を発行し(ステップS204)、処理を
終了する(エンド)。二次記憶装置11は、完了通知を
発行した後、ステップS201に戻り、再び読出要求の
発行されるのを待つ処理に移行する。この図では、読み
出したデータの転送を行った後に、完了通知を発行する
ようにしたが、データの転送と同時に、完了通知を発行
するようにしてもよい。
【0045】このように、各クライアントから送出され
たデッドライン時刻の付加された読出要求をキューに一
時的に蓄積し、これをデッドライン時刻の早い順にキュ
ーから取り出してデータの読み出しを行っている。これ
により、複数のクライアントから並行して読出要求を受
け付けても、デッドライン余裕時間の短いものから順に
データを読み出すことができる。
【0046】たとえば、複数のクライアント13から二
次記憶制御装置12にデータの読出要求が殺到している
場合でも、読出期限の時刻までに余裕のある要求が先送
りされ、余裕の少ない要求が優先的に処理される。ま
た、先送りされた要求についてもその読出期限が近くな
り余裕が少なくなると、優先順位が高くなる。これによ
り、読出期限までの余裕に応じた優先順位でデータの読
み出しが行われ、デッドライン時刻までにファイルが転
送されないケースを減少させることができる。
【0047】第1の変形例
【0048】第1の変形例は、ビデオ再生のように、1
つのファイルを連続的に読み出す場合に対応できるよう
になっている。第1の変形例では、1つのファイルを複
数のブロックに分割し、ブロック単位に二次記憶装置か
らデータを読み出している。また、二次記憶装置から読
み出したデータをクライアントに転送するまでの間、一
時的に送信バッファに保持するようになっている。ファ
イルを連続してそのクライアントに転送するために必要
なデッドライン時刻をそれぞれのブロックごとに求め、
その時刻の早い順に各ブロックのデータを送信バッファ
に読み出している。そして、デッドライン時刻になった
とき該当するブロックのデータを送信バッファからデー
タの要求元のクライアントに転送している。
【0049】また、第1の変形例では1つのファイルを
複数のブロックに分割して読み出すことにより、1つの
ブロックを読み出した後、同一ファイルの次のブロック
を読み出すまでの間に、デッドライン時刻の早い他のフ
ァイルのブロックを読み出すことができる。これにより
複数のファイルの読み出しを並行して行うことができ、
複数のクライアントからの読出要求に同時に応じること
ができる。さらにデッドライン時間に従った優先順位で
読み出されるので、1つのファイルを複数のブロックに
分割して読み出しても、ファイル内のデータを連続して
クライアントに転送することができる。
【0050】図6は、第1の変形例におけるデータ読出
装置の構成の概要を表わしたものである。図1に示した
データ読出装置と同一部分には、同一の符号を付してあ
りそれらの説明を適宜省略する。この装置は、各種ファ
イルを記憶する二次記憶装置11と、二次記憶装置11
に対してファイルの読み記出し制御を行う二次記憶制御
装置12と、読出要求の送出元としてのクライアント5
1と、読出要求をブロック単位の読出要求に変換する連
続転送制御装置52とから構成されている。
【0051】クライント51は、読み出すべきファイル
の先頭データの転送を開始すべき時刻を表わす読出時刻
情報の付加された読出要求を発行する時刻指定ファイル
連続読出要求部53を備えている。この読出要求は、指
定した読出時刻からファイルに含まれる複数のブロック
を連続して転送すべきことを表わしている。時刻指定フ
ァイル連続読出要求部53の発行する読出要求を、連続
読出要求54と呼ぶことにする。
【0052】連続転送制御装置52は、連続読出要求5
4を、ブロックごとの読出要求に変換する時刻指定要求
管理部55と、データの転送を開始すべき時刻をそれぞ
れのブロックについて求める送信時刻算出部56を備え
ている。また、二次記憶装置11から読み出されたデー
タをクライアント51に転送するまでの間、一時的に保
持するための送信バッファ57と、送信バッファ57に
格納されているデータを指定された時刻にクライアント
51に転送するデータ転送部58を備えている。
【0053】時刻指定要求管理部55は、連続読出要求
に付加されていた読出時刻をデータ転送部58に通知す
る。また送信時刻算出部56で求めた各ブロックの送信
開始時刻をデッドライン時刻として各ブロックごとの読
出要求を発行するようになっている。データ転送部58
は、図示しない時計部を備えており、通知された時刻に
なったとき対応するブロックのデータを送信バッファ5
7からクライアント51に転送する。時刻指定要求管理
部55および送信時刻算出部56は、ROMおよびRA
Mを備えた図示しないCPUによって構成されている。
【0054】二次記憶制御装置12は、図1に示したも
のと同様に、読出要求ソート部23と、二次記憶読出部
24を備えている。読出要求ソート部23は、時刻指定
要求管理部55から送られてくるブロック単位の読出要
求をその内部のキュー31に格納する。そして、デッド
ライン時刻の早いものから順に読出要求を取り出す。二
次記憶読出部24は、取り出された読出要求に応じたブ
ロックのデータを読み出すための命令を二次記憶装置1
1に順次発行する。
【0055】図7は、時刻指定要求管理部の行う処理の
流れを表わしたものである。時刻指定要求管理部55
は、クライアントから連続読出要求54が到来するのを
待機している(ステップS301;N)。連続読出要求
54が到来すると、これを図示しない内部のメモリに登
録する(ステップS302)。時刻指定要求管理部55
は、受け取った連続読出要求54に付加されている読出
時刻を指定されたファイルの転送を開始する転送開始時
刻としてデータ転送部58に通知する(ステップS30
3)。
【0056】その後、送信バッファ57の空き容量を調
べ、その空き領域に格納できる個数のブロックの読出要
求を発行する(ステップS304)。ステップS303
とステップS304は並行して同時に処理するようにし
てもよい。次に、送信バッファ57に格納されている1
つのブロックのデータの転送が終了したことを表わす転
送完了通知の到来を待つ(ステップS305)。この通
知が到来したことによって送信バッファに1つのブロッ
ク分の空き領域が生じたことが認識される。
【0057】転送完了通知が到来するとステップS30
5の待ち状態を抜け出す。そして、転送の終了したブロ
ックの属するファイルについて、未だ読出要求の発行さ
れていないデータが存在するか否かを調べる(ステップ
S306)。該当するファイルについて読出要求を発行
しないデータが存在するときは(ステップS306;
Y)、そのファイルの次のブロックについての読出要求
を発行し(ステップS307)、再び送信完了待ち(ス
テップS305)に戻る。
【0058】連続読出要求54で指定されたファイルの
全てのブロックについて読出要求が発行済であるときは
(ステップS306;N)、それらの読出要求に対応す
るブロックが全てクライアントへ送信済であるか否かを
判定する(ステップS308)。送信が完了していない
ときは(ステップS308;N)、送信完了待ち(ステ
ップS305)に戻る。全てのブロックについて送信が
完了しているときは(ステップS308;Y)、該当す
る連続読出要求に対する処理を終了する(エンド)。
【0059】時刻指定要求管理部55は、クライアント
51から受け取った各連続読出要求54について各種の
情報を内部のメモリに記憶するようになっている。時刻
指定要求管理部55のメモリには、連続読出要求で指定
された転送対象ファイルの識別名称、読出要求を最後に
発行したブロックの識別子、最後に発行した読出要求の
デッドライン時刻が記憶される。さらに、読出要求の未
発行のデータ量、クライアントに未転送のデータ量、送
信バッファ57内の使用領域などの各種情報が格納され
る。データ読出装置で同時に処理することのできる連続
読出要求の数の上限は、これらの情報を記憶する時刻指
定要求管理部55の内部のメモリの容量によって規定さ
れている。
【0060】各ブロックについての読出要求が発行され
るとき、時刻指定要求管理部55は、送信時刻算出部5
6によってそのブロックのデータをクライアント51に
送信すべき時刻を算出する。そしてこの時刻をそのブロ
ックについてのデッドライン時刻に指定してブロックの
読出要求を発行するようになっている。時刻指定要求管
理部55は、ブロックの読出要求を発行する際にそのブ
ロックの属するファイルについて1つ前のブロック、す
なわち前回発行された読出要求のデッドライン時刻を内
部のメモリから読み出し、これを送信時刻算出部56に
通知する。
【0061】連続読出要求で指定されたファイルの先頭
ブロックについてのデッドライン時刻と、2番目以降の
ブロックのデッドライン時刻を算出する演算は相違す
る。先頭ブロックの読出要求に付加されるデッドライン
時刻は次式で表される。 T1 =Treq (1) ここで、T1 は先頭ブロックに対応するデッドライン時
刻を表わしている。また添字の番号は、ファイルの先頭
からのブロック番号を表わしている。Treq は、連続読
出要求で指定された読出開始時刻を表わしている。
【0062】2番目以降のブロックのデッドライン時刻
は次式に従って求められる。 TN =TN-1 +(L/s) (2) ここで、TN は今回発行する読出要求のデッドライン時
刻を、TN-1 は前回発行した読出要求に付加されたデッ
ドライン時刻を表わしている。また、Lは、前回のブロ
ックのデータサイズを、sは、このシステムで規定され
たデータの転送速度を表わしている。データ転送速度s
は、システム内で一定であり、格納するファイルの転送
速度に合わせて予め設定される。
【0063】このように、1つ前のブロックのデッドラ
イン時刻にそのブロックのデータの転送するのに要する
時間だけ加えた時間を次のブロックのデッドライン時刻
にしている。これにより、前のブロックの転送が終了す
る時刻までに、次のブロックのデータが二次記憶装置1
1から送信バッファ57に読み出されるようになる。
【0064】送信バッファ57は、その領域が複数に分
割されて管理さており、各連続読出要求ごとに一定量の
領域が割り当てられる。従って、データ転送部58が送
信バッファ内のデータをクライアント51に転送する際
には、どの連続読出要求に対応するデータの転送である
かを指定することにより、転送されるデータの格納され
ている送信バッファの領域が一意に認識される。
【0065】図8は、データ転送部の行う処理の流れを
表わしたものである。データ転送部58は、時刻指定要
求管理部55から転送開始時刻が通知されるとその時刻
を図示しない内部のメモリに登録する(ステップS40
1)。データ転送部58は、転送開始時刻と時計部から
得た現在時刻とを比較し(ステップS402)、転送開
始時刻が来るのを待つ(ステップS402;N)。転送
開始時刻が到来すると(ステップS402;Y)、その
ファイルの先頭ブロックのデータの転送を開始する(ス
テップS403)。
【0066】1つのブロックのデータの転送が完了した
とき時刻指定要求管理部55に、完了通知を発行する
(ステップS404)。次に、同一のファイルに属する
未転送のブロックが存在するか否かを調べ(ステップS
405)、未転送のブロックのデータが存在するときは
(ステップS405;Y)、ステップS404に戻り転
送を継続して行う。転送すべきブロックのデータがない
場合は(ステップS405;N)、該当する連続読出要
求に対応するデータの転送を終了する(エンド)。
【0067】二次記憶制御装置12の動作は、実施例で
説明したものと同一である。したがって、時刻指定要求
管理部55から受けたブロック単位の読出要求は読出要
求ソート部23のキュー31に格納され、デッドライン
時間の早いものから順に二対応するブロックのデータが
次記憶装置11から読み出されて送信バッファに格納さ
れる。送信バッファ57を設けることによって、実際に
データをクライアント51に転送する時刻よりも以前の
任意の時点で二次記憶装置11からデータを読み出して
おくことができる。
【0068】すなわち、1つのブロックのデータを転送
するのに要する時間よりも、二次記憶装置11から1つ
のブロックのデータを読み出す時間が短い場合には、複
数の連続読出要求に対する処理を時分割で並行して行う
ことができる。また、各ブロックの読み出しの優先順位
はデッドライン時刻によって管理されるので、複数の連
続読出要求を並行に処理してもデータの転送を開始すべ
き時刻までに各ブロックのデータが送信バッファ57に
読み出される。このため、二次記憶装置11の読み出し
のスループットを十分発揮することができるとととも
に、デッドライン時刻を守れないケースを減少させるこ
とができる。
【0069】図9は、第1の変形例においてデータの読
み出されるシーケンスを表わしたものである。各縦軸は
図中の左からクライアント51、時刻指定要求管理部5
5、データ転送部58、送信バッファ57、読出要求ソ
ート部23、二次記憶装置11を表わしている。図中の
縦軸方向に時間の経過を表わしている。クライアント5
1は、ファイルの名称と、そのファイル内での転送開始
位置と、先頭のブロックの読出時刻を指定した連続読出
要求54を、時刻指定要求管理部55に送る。
【0070】これを受けた時刻指定要求管理部55は、
送信バッファ57のうちで要求元のクライアントに割り
当てられている領域に格納できる個数のブロックの読出
要求(61)を読出要求ソート部23に発行する。この
際、それぞれのブロックについてのデッドライン時刻を
送信時刻算出部56で求め、各ブロックの読出要求にこ
のデッドライン時刻の情報が付加される。
【0071】読出要求ソート部23は、送られてきた読
出要求61を内部のキュー31に格納する。そして、デ
ッドライン時刻の早い順にキュー31から読出要求62
を取り出し、これを二次記憶装置11に送る。二次記憶
装置11は、対応するブロックのデータ63を読み出
し、これを一旦送信バッファ57に格納する。二次記憶
装置11によって1つのブロックの読み出しが終了する
と、読出要求ソート部23のキュー31から次にデッド
ライン時間の早い読出要求が取り出され、二次記憶装置
11からそのブロックの読み出しが繰り返し行われる。
キュー31に読出要求が格納されていないときは、読出
要求の待ち状態になる。
【0072】データ転送部58は、送信開始時刻64が
到来すると送信バッファ57に格納されているデータを
クライント51に転送する。ブロック転送完了時刻65
の時点でこのデータの転送が完了すると、送信バッファ
57に1つのブロック分に相当する空い領域が生まれる
ので、この領域を指定して次のブロックの読出要求66
が時刻指定要求管理部55から読出要求ソート部23に
発行される。
【0073】デッドライン時刻は、読出要求の発行され
る都度そのブロックに対応する時刻が送信時刻算出部5
6によって求められる。このような動作を繰り返すこと
によって要求されたファイルのデータは連続してクライ
アントに転送される。
【0074】ファイルの連続読出要求がクライアントか
ら到来してからある程度時間の経過した定常状態では、
送信バッファの容量を大きくすることによってデッドラ
イン余裕時間を大きく設定することができる。これは、
いわゆるバッファを利用した先き読み制御である。この
ような読み出しを行うことにより、二次記憶装置の読出
速度の性能のバラツキや、1つの二次記憶装置へのアク
セス集中などにより、各ブロックの読出所要時間が変動
しても、これを送信バッファによって十分吸収できる。
従ってデッドライン時刻を守りながら、二次記憶装置の
性能限界近くのスループットを得ることができる。
【0075】一方、連続読出要求を受けてから定常状態
になるまでの過渡期には、送信バッファが空の状態に近
いので各ブロックのデッドライン余裕時間が比較的短
い。しかし、送信バッファに存在する空き領域に相当す
る個数の読出要求が発行され、かつそれらのデッドライ
ン余裕時間は短いので、急速に送信バッファにデータが
蓄積される。すなわち、過渡期に発行される読出要求
は、これと並行して処理されている他のクライアントか
らの連続読出要求に対応する読出要求よりもデッドライ
ン余裕時間が短い。このため、優先的に処理され、送信
バッファにデータの急速に蓄積される。
【0076】したがて、指定されたファイルの先頭ブロ
ックの読出期限までの時間が比較的短く、かつこれと並
行して定常状態に達した他の読出処理が多数行われてい
ても、指定された時刻までに先頭ブロックのデータをク
ライアントに転送することができる。
【0077】一般に、1つのファイルの大きさがある程
度以上あれば、複数のファイルを同時に連続して読み出
す場合には、定常状態に達した読出処理が、過渡的な状
態の読出処理よりも多くなる。したがって過渡的な読出
処理から発行される優先度の高い読出要求の単位時間当
たりの個数は十分少ない。このため、送信バッファの容
量を大きく設定しておけば、過渡的な読出処理から高優
先度の読出要求が発行されても、定常状態の読出処理か
らの低優先度の読出要求に対する読出処理がデッドライ
ン時刻に間に合わなくなる確率を低くすることができ
る。
【0078】このように、ファイルのデータを途切れる
こと無く連続的に読み出す場合に、新たな連続読出要求
に対する先頭ブロックのデータの転送がクライアントに
向けて開始されるまでの時間を短縮することができる。
またこれと同時に二次記憶装置の性能限界付近までスル
ープットを向上させることを両立させることができる。
【0079】第1の変形例では、説明の便宜上、データ
転送部58を1つしか示していないが、データ転送部5
8はクライアントの数に応じて設けられており、複数の
クライアントに同時にデータを転送できるようになって
いる。また、連続転送制御装置52と二次記憶制御装置
12を一体化して構成してもよい。連続転送制御装置5
2をクライアント51側に組み込むようにしてもよい。
【0080】また、第1の変形例では、送信バッファの
領域を各連続読出要求に対して一定量ずつ割り当てるよ
うにしたが、現在処理中の連続読出要求の数に応じて割
り当てるバッファサイズを動的に変更するようにしても
よい。この場合には、時刻指定要求管理部55が送信バ
ッファの領域の割り当てを管理することになる。処理中
の連続読出要求の数が少ない場合に、1つの要求に対し
て割り当てるバッファサイズを大きくすれば、各ブロッ
クの読出要求を発行してから転送までの余裕時間を長く
することができる。これによりデッドライン時刻を守れ
ないケースをより減少させることができる。
【0081】第2の変形例
【0082】第2の変形例では、二次記憶装置に記憶し
ているファイルごとにその転送速度を予め登録してお
き、連続読出要求で指定されたファイルを対応する転送
速度でクライアントに送信するようになっている。ま
た、各ブロックの読出要求に付加するデッドライン時刻
は、そのファイルの転送速度に応じて求められる。これ
により第2の変形例では異なる符号化形式の動画を扱う
ビデオサーバシステムのように、ファイル毎に転送速度
の異なる複数のファイルを同時かつ連続的に読み出すシ
ステムに対応することができる。
【0083】図10は、第2の変形例におけるデータ読
出装置の構成の概要を表わしたものである。図6に示し
たデータ読出装置と同一部分には、同一の符号を付して
ありそれらの説明を適宜省略する。この装置は、各種フ
ァイルを記憶する二次記憶装置11と、二次記憶装置1
1に対してファイルの読み記出し制御を行う二次記憶制
御装置12と、読出要求の送出元としてのクライアント
71と、読出要求をブロック単位の読出要求に変換する
連続転送制御装置72とから構成さる。
【0084】クライント71は、読み出すべきファイル
を指定した読出要求を発行するファイル連続読出要求部
73を備えている。ファイル連続読出要求部73の発行
する読出要求を、連続読出要求74と呼ぶことにする。
【0085】連続転送制御装置72は、連続読出要求7
4をブロックごとの読出要求に変換する要求管理部75
と、ファイルごとにその転送速度を記憶した転送レート
テーブル76と、データの転送を開始すべき時刻をそれ
ぞれのブロックについて求めるファイル単位送信時刻算
出部77を備えている。また、二次記憶装置11から読
み出されたデータをクライアント71に転送するまでの
間、一時的に保持するための送信バッファ57と、送信
バッファ57に格納されているデータを指定された時刻
にそのファイルに対応した転送速度でクライアント51
へ転送する速度可変データ転送部78を備えている。
【0086】要求管理部75は、その内部に現在時刻を
計時する図示しない時計部を備えており、クライアント
71から連続読出要求を受け取ったときの現在時刻に、
システムで予め規定されているデッドライン余裕時間を
加えた時刻を求める。この時刻が、要求を受けたファイ
ルについての転送を開始する転送開始時刻として設定さ
れる。システムで規定されたデッドライン余裕時間は、
送信バッファ57の容量や、二次記憶装置11のスルー
プットなどの要因から予め決定される。また、システム
の定常状態における平均のデッドライン余裕時間を最初
のブロックについてのデッドライン余裕時間として定め
てもよい。
【0087】要求管理部75は、現在時刻とシステムの
デッドライン余裕時間を加えて求めた転送開始時刻を速
度可変データ転送部78に通知する。さらに、転送開始
時刻を基準としてファイル単位送信時刻算出部77で各
ブロックについてのデッドライン時刻を求め、各ブロッ
クごとのデッドライン時刻を表わした情報の付加された
読出要求を発行するようになっている。
【0088】転送レートテーブル76は、二次記憶装置
11に記憶されている各ファイルについてその転送速度
を予め記憶したものである。ファイルを二次記憶装置1
1に格納する際、そのファイルについての転送速度が転
送レートテーブル76に登録される。速度可変データ転
送部78は、現在時刻を計時する図示しない時計部を備
えており、要求管理部75から通知された時刻になった
とき対応するファイルのデータを送信バッファ57から
クライアント51に転送する。この際の転送速度は転送
レートテーブル76から求める。
【0089】二次記憶制御装置12は、図1に示したも
のと同様に、読出要求ソート部23と、二次記憶読出部
24を備えている。読出要求ソート部23は、要求管理
部75から送られてくるブロック単位の読出要求をその
内部のキュー31に格納する。そして、デッドライン時
刻の早いものから順に読出要求を取り出す。二次記憶読
出部24は、取り出された読出要求に応じたブロックの
データを読み出すための命令を二次記憶装置11に順次
発行するようになっている。
【0090】図11は、要求管理部の行う処理の流れを
表わしたものである。要求管理部75は、クライアント
71から連続読出要求74が到来するのを待機している
(ステップS501;N)。連続読出要求74が到来す
ると(ステップS501;Y)、これを図示しない内部
のメモリに登録する(ステップS502)。要求管理部
75は、現在時刻にシステムで規定されているデッドラ
イン時間を加えた時刻を求め(ステップS503)これ
を指定されたファイルの転送を開始する転送開始時刻と
して速度可変データ転送部78に通知する(ステップS
504)。
【0091】その後、送信バッファ57の空き容量を調
べ、その空き領域に格納できる個数のブロックの読出要
求を発行する(ステップS505)。開始時刻の通知
((ステップS504)と読出要求の発行(ステップS
505)は同時に行うようにしてもよい。次に、送信バ
ッファ57に格納されている1つのブロックのデータの
転送が終了したことを表わす転送完了通知の到来を待つ
(ステップS506)。この通知が到来したことによっ
て送信バッファに1つのブロック分の空き領域が生じた
ことが認識される。
【0092】転送完了通知が到来すると、転送の終了し
たブロックの属するファイルについて、未だ読出要求の
発行されていないデータが存在するか否かを調べる(ス
テップS507)。該当するファイルについて読出要求
を発行していないデータが存在するときは(ステップS
507;Y)、そのファイルの次のブロックについての
読出要求を発行し(ステップS508)、再び送信完了
待ち(ステップS506)に戻る。
【0093】連続読出要求で指定されたファイルの全て
のブロックについて読出要求が発行済であるときは(ス
テップS507;N)、それらの読出要求に対応するブ
ロックのクライアントへの送信が終了しているか否かを
判定する(ステップS509)。送信が完了していない
ときは(ステップS509;N)、送信完了待ち(ステ
ップS506)に戻る。全てのブロックについて送信が
完了しているときは(ステップS509;Y)、該当す
る連続読出要求に対する処理を終了する(エンド)。
【0094】要求管理部75は、クライアント71から
受け取ったそれぞれの連続読出要求74について各種の
情報を内部のメモリに記憶するようになっている。要求
管理部75のメモリには、連続読出要求で指定された転
送対象ファイルの識別名称、読出要求を最後に発行した
ブロックの識別子、最後に発行した読出要求のデッドラ
イン時刻が記憶される。さらに、読出要求の未発行のデ
ータ量、クライアントに未転送のデータ量、送信バッフ
ァ57内の使用領域などの各種情報が格納される。デー
タ読出装置で同時に処理することのできる連続読出要求
の数の上限は、これらの情報を記憶する要求管理部75
の内部のメモリの容量によって規定されている。
【0095】各ブロックについての読出要求が発行され
るとき、要求管理部75は、ファイル単位送信時刻算出
部77によってそのブロックのデータをクライアントに
送信すべき時刻を算出する。そしてこの時刻をそのブロ
ックについてのデッドライン時刻に指定してブロックの
読出要求を発行する。要求管理部75は、ブロックの読
出要求を発行する際にそのブロックの属するファイルに
ついて1つ前のブロック、すなわち前回発行された読出
要求のデッドライン時刻を内部のメモリから読み出し、
これをファイル単位送信時刻算出部77に通知する。
【0096】連続読出要求で指定されたファイルの先頭
ブロックについてのデッドライン時刻は、先に求めた転
送開始時刻となり、次式で求まる。 Tstart =Tcurent+t (3) ここで、Tstart は先頭ブロックに対応するデッドライ
ン時刻であり、Tcure ntは連続読出要求をクライアント
から受け取った際の現在時刻を表わしている。またt
は、システムで規定されるデッドライン余裕時間であ
る。
【0097】2番目以降のブロックのデッドライン時刻
は次式に従って求められる。 TN =TN-1 +(L/sj ) (2) ここで、TN は今回発行する読出要求のデッドライン時
刻を、TN-1 は前回発行した読出要求に付加されたデッ
ドライン時刻を表わしている。また、Lは、前回のブロ
ックのデータサイズを、sj は、転送レートテーブル7
6に記憶されている対応するファイルの転送速度を表わ
している。
【0098】このように、対応するファイルの転送速度
に依存してデッドライン時刻を求めたので、ファイルの
転送速度に応じた時刻に各ブロックの転送を開始させる
とができる。また前のブロックの転送が終了時刻まで
に、次のブロックのデータが二次記憶装置11から送信
バッファ57に読み出される。
【0099】図12は、速度可変データ転送部の行う処
理の流れを表わしたものである。データ転送部78は、
要求管理部75から転送開始時刻が通知されるとその時
刻を図示しない内部のメモリに登録する(ステップS6
01)。速度可変データ転送部78は、転送開始時刻と
時計部から得た現在時刻とを比較し(ステップS60
2)、転送開始時刻が来るのを待つ(ステップS60
2;N)。転送開始時刻が到来すると(ステップS60
2;Y)、そのファイルの転送速度を転送レートテーブ
ル76から求め(ステップS603)、先頭ブロックの
データを求めた転送速度で対応するクライアントに転送
する(ステップS604)。
【0100】1つのブロックのデータの転送が完了した
とき要求管理部75に、完了通知を発行する(ステップ
S605)。次に、同一のファイルに属する未転送のブ
ロックが存在するか否かを調べ(ステップS606)、
未転送のブロックのデータが存在するときは(ステップ
S606;Y)、ステップS605に戻り転送を継続し
て行う。転送すべきブロックのデータがない場合は(ス
テップS606;N)、該当する連続読出要求に対応す
るデータの転送を終了する(エンド)。
【0101】第2の変形例の説明では、速度可変データ
転送部78と要求管理部75にそれぞれ時計部を設けた
が、いずれか一方のものを共通に利用するようにしても
よい。また、二次記憶制御装置12の動作は、実施例で
説明したものと同一であり、デッドライン時間の早いも
のから順にデータが読み出されて送信バッファに格納さ
れる。このように各ファイルは、各ブロックごとにその
デッドライン時刻の早い順に読み出されるとともに、そ
のファイルに対応して登録されている転送速度でクライ
アントに転送される。
【0102】第2の変形例においても、速度可変データ
転送部78はクライアントの数に応じて設けられてお
り、複数のクライアントに同時にデータを転送できるよ
うになっている。また、連続転送制御装置72を二次記
憶制御装置12あるいはクライアント71に組み込むよ
うにしてもよい。
【0103】もちろん、第2の変形例でも第1の変形例
で説明したと同様に、現在処理中の連続読出要求の数に
応じて割り当てるバッファサイズを動的に変更するよう
にしてもよい。また、ファイルの転送速度に応じてバッ
ファサイズを割り当てるようにしてもよい。すなわち、
転送速度の速いものにより多くのバッファ領域を割り当
てる。さらに連続読出要求の数とそれらで指定されたフ
ァイルの転送速度の双方を基にして割り当てるバッファ
領域のサイズを動的に変更してもよい。
【0104】第2の変形例では、定常状態において送信
バッファを用いた先読み制御が行われるので、二次記憶
装置の性能限界付近までのスループットを出すことがで
きる。また、定常状態では、読出要求に付加されるデッ
ドライン時刻までの余裕時間は、送信バッファに格納済
のデータの転送時間に相当する。したがって、転送速度
の速いファイルは、送信バッファに格納済のデータ量が
同一であっても転送速度の遅いファイルよりもデッドラ
イン時刻までの余裕時間が短くなるので優先的に読み出
しが行われる。
【0105】この結果、転送速度の速いファイルであっ
てもデッドライン時刻を守れなくなるケースが少なくな
る。また、転送速度の遅いファイルであってもデッドラ
イン時刻が近づくと優先的に処理されるようになるの
で、定刻までにクライアントにデータを送信することが
できる。このように第2の変形例では、連続的にファイ
ルのデータを読み出す用途において、二次記憶装置の性
能限界付近までのスループットを得ることができるとと
もに、転送速度の異なる複数のファイルを同時に扱うこ
とができる。
【0106】第3の変形例
【0107】第2の変形例では、クライアントの転送速
度がファイル単位に定められていたが、第3の変形例で
は各ファイルに含まれるブロックごとに転送速度を変更
することができるようになっている。これにより、たと
えば、前フレームとの差分を基に符号化された画像デー
タのように、単位時間当たりに必要とされるデータ量の
変化するデータに対応することができる。
【0108】図13は、第3の変形例におけるデータ読
出装置の構成の概要を表わしたものである。図10に示
した第2の変形例のデータ読出装置と同一の部分には同
一の符号を付してあり、それらの説明を適宜省略する。
第3の変形例では、第2の変形例におけるファイル単位
送信時刻算出部77に代えて、データ単位送信時刻算出
部81が設けられている。また転送レートテーブル76
に代えてデータ転送レートテーブル82が設けられてい
る。データ転送レートテーブル82には、各ファイルの
ブロックごとに転送速度が登録されるようになってい
る。また、転送速度の登録は、二次記憶装置11にファ
イルを格納した段階で行われる。
【0109】第3の変形例の動作は、各ブロックのデッ
ドライン時刻をファイル単位の転送速度ではなく、ブロ
ックごとの転送速度を基にして求める点を除いて第2の
変形例と同一である。データ単位送信時刻算出部81
は、要求管理部75から同一ファイルについて前回発行
されたブロックの読出要求に付加されているデッドライ
ン時刻を取得する。また、データ転送レートテーブル8
2から前回発行されたブロックに対応する転送速度を取
得する。これらによりデータ単位送信時刻算出部71
は、今回発行する読出要求のデッドライン時刻を求め
る。
【0110】連続読出要求を受けたファイルの先頭ブロ
ックに対応するデッドライン時刻は、(3)式に従って
要求管理部75により算出した転送開始時刻Tstart
用いられる。2番目以降のブロックの読出要求に付加さ
れるデッドライン時刻は次式で表される。 TN =TN-1 +L÷sj(N-1) (5) ここでTN は今回発行する読出要求のデッドライン時刻
を、TN-1 は前回発行した読出要求に付加されたデッド
ライン時刻を表わしている。また、Lは、前回のブロッ
クのデータサイズを、sj (N-1) は、sj で識別される
ファイルの第N−1番目のブロック、すなわち前回のブ
ロックについての転送速度を表わしている。
【0111】読出要求ソート部23、二次記憶読出部2
4および二次記憶装置11の動作は、実施例で示したも
のと同様であり、デッドライン時刻の速いものから順に
読出要求が処理され、送信バッファにデータが読み出さ
れる。速度可変データ転送部78は、各ブロックのデー
タをクライアントに送信する際、そのブロックに対応す
る転送速度をデータ転送レートテーブル82から取得
し、この速度でデータをクライアントに転送する。
【0112】このようにして各ファイルは、それに含ま
れる各ブロックごとに予め登録されている転送速度でク
ライアントに転送される。また、デッドライン時刻を同
一ファイルにおける1つ前のブロックの転送速度に従っ
て求めているので、1つ前のブロックの転送が終了する
までに次のブロックのデータが送信バッファに用意され
る。これにより、前のフレームとの差分を基に符号化さ
れた画像データのように、単位時間当たりに必要とされ
るデータ量の変化するものであっても、そのデータ量に
応じた転送速度で転送することができる。
【0113】第3の変形例でも第1、第2の変形例と同
様に、現在処理中の連続読出要求の数や、転送速度に応
じて割り当てるバッファサイズを動的に変更してもよ
い。また、連続転送制御装置72を二次記憶制御装置1
2あるいはクライアント71に組み込むようにしてもよ
い。
【0114】このように第3の変形例では、データ転送
レートテーブルを用いたので、ブロック単位に転送速度
を管理することができる。第3の変形例のシステムにお
いて定常状態に達した処理は、送信バッファを用いた先
読み制御が行われるので、二次記憶装置の性能限界付近
までのスループットを発揮することができる。また、定
常状態では、読出要求を発行してからそのデッドライン
時刻が到来するまでの余裕時間は、送信バッファに格納
済のデータを転送するのに要する時間になる。送信バッ
ファに既に格納されているデータ量がある程度以上あれ
ば、デッドライン余裕時間は、ブロックごとに転送速度
が異なっても、ファイル全体の平均の転送速度における
余裕時間に近づく。従ってブロック単位で転送速度が異
なっても、定刻までにデータをクライアントに転送する
ことができる。
【0115】また、定常状態の読出処理が複数並行して
行われている場合には、その多くは、デッドライン余裕
時間はファイルの平均の転送速度で転送される場合の余
裕時間に近づく。あるクライアントで転送速度の速いブ
ロックの読み出しが連続的に発生してデッドライン余裕
時間が平均の転送速度に対応する値よりも短くなると、
そのクライアントへの読出処理が優先的に扱われる。こ
のため、転送速度の速いブロックの読み出しが連続して
も、定刻までにクライアントにデータを転送することが
できる。一方、転送速度の遅いブロックが連続する場合
であっても、時間の経過とともに優先度が高くなるの
で、定刻までにデータの転送を行うことができる。
【0116】したがって、第3の変形例では、連続的に
ファイルのデータを読み出す場合において、二次記憶装
置の性能限界付近までスループットを向上させることが
できるとともに、ブロック単位で異なる転送速度を持つ
複数のファイルを同時に取り扱うことができる。
【0117】第4の変形例
【0118】第4の変形例では、クライントがファイル
の読出要求を発行するごとに、そのファイルの転送速度
を指定するようになっている。このようにクライアント
から転送速度を指定することによって、たとえば、ビデ
オ再生で高速再生と低速再生する場合のように、同一の
ファイルの読み出しを異なる転送速度で行うことができ
る。
【0119】図14は、第4の変形例におけるデータ読
出装置の構成の概要を表わしたものである。図10に示
したデータ読出装置と同一部分には、同一の符号を付し
てありそれらの説明を適宜省略する。この装置は、各種
ファイルを記憶する二次記憶装置11と、二次記憶装置
11に対してファイルの読み記出し制御を行う二次記憶
制御装置12と、読出要求の送出元としてのクライアン
ト91と、読出要求をブロック単位の読出要求に変換す
る連続転送制御装置92とから構成されている。
【0120】クライアント91は、読み出すべきファイ
ルの転送速度を表わした情報の付加された読出要求を発
行する速度指定ファイル連続読出要求部93を備えてい
る。連続転送制御装置92は、連続読出要求94を、ブ
ロックごとの読出要求に変換する速度可変要求管理部9
5と、データの転送を開始すべき時刻をそれぞれのブロ
ックについて求める要求単位送信時刻算出部96を備え
ている。また、送信バッファ57と、送信バッファ57
に格納されているデータを指定された時刻にクライアン
トから指定された転送速度で転送するデータ転送部58
を備えている。
【0121】速度可変要求管理部95に到着した連続読
出要求94は、速度可変要求管理部95の内部に設けら
れたメモリに登録される。可変速度要求管理部95がそ
の内部のメモリに登録する情報には、第3の変形例で説
明した情報の他に、クライアントからの連続読出要求に
付加されていた転送速度が加わえられる。
【0122】要求単位送信時刻算出部96は、速度可変
要求管理部95から、前回発行した同一のファイル内の
1つ前のブロックのデッドライン時刻と、クライアント
から指定された転送速度とを取得し、これらを基に次の
ブロックの読出要求に付加すべきデッドライン時刻を求
めている。連続読出要求を受けたファイルの先頭ブロッ
クに対応するデッドライン時刻は、(3)式に従って速
度可変要求管理部95により算出される転送開始時刻T
start が用いられる。
【0123】同一のファイルにおける2番目以降のブロ
ックの読出要求に付加されるデッドライン時刻は次式で
表される。 TN =TN-1 +L÷sreq (6) ここでTN は今回発行する読出要求のデッドライン時刻
を、TN-1 は前回発行した読出要求に付加されたデッド
ライン時刻を表わしている。また、Lは、前回のブロッ
クのデータサイズを、sreq は、クライアントから指定
された転送速度を表わしている。
【0124】読出要求ソート部23、二次記憶読出部2
4および二次記憶装置11の動作は、実施例で示したも
のと同様であり、デッドライン時刻の速いものから順に
読出要求が処理され、送信バッファにデータが読み出さ
れる。速度可変データ転送部78は、各ブロックのデー
タをクライアントに送信する際、クライアントから指定
された転送速度を速度可変要求管理部95から取得し、
この速度でデータをクライアントに転送する。
【0125】このようにして各ファイルは、連続読出要
求に付加されているクライアントから指定された転送速
度で転送される。第4の変形例でも第1〜3の変形例と
同様に、現在処理中の連続読出要求の数や、指定された
転送速度に応じて割り当てるバッファサイズを動的に変
更してもよい。また、連続転送制御装置92を二次記憶
制御装置12あるいはクライアント91に組み込むよう
にしてもよい。
【0126】第4の変形例で定常状態になった場合に
は、送信バッファを用いた先読み制御が行われ、二次記
憶装置の性能限界付近までスループットを出すことがで
きる。また、定常状態では、読出要求に付加されるデッ
ドライン時刻までの余裕時間は、送信バッファに格納済
のデータの転送時間に相当する。したがって、転送速度
の速いファイルは、送信バッファに格納済のデータ量が
同一であっても転送速度の遅いファイルよりもデッドラ
イン時刻までの余裕時間が短くなるので優先的に読み出
しが行われる。
【0127】この結果、転送速度の速いファイルであっ
てもデッドライン時刻を守れなくなるケースが少なくな
る。また、転送速度の遅いファイルであってもデッドラ
イン時刻が近づくと優先的に処理されるようになるの
で、定刻までにクライアントにデータを送信することが
できる。さらに、クライアントは読出要求を発行するご
とにデータの転送速度を変更することができるので、た
とえば、ビデオファイルの読み出しを行う際にその再生
速度に見合った読出速度でデータの供給を受けることが
できる。
【0128】
【発明の効果】以上説明したように請求項1記載の発明
によれば、読出期限の時刻の早い順にデータの読み出し
を行うので、複数のクライアントから読出要求を受け付
けても指定時刻までにデータを読み出すことのできなく
なる事態を低減することができる。従って読出要求が殺
到した場合でも、読出期限の時刻を守れないケースが減
少されるので、クライアントの数を増やし二次記憶装置
の利用効率を上げることができる。
【0129】また請求項2記載の発明によれば、読み出
すべきデータを複数のブロックに分けて読み出すととも
に送信バッファを設けたので、複数の読出要求が同時に
到来しても、データの読み出しはブロック単位に時分割
処理され複数の読出要求に同時に並行して対応すること
ができる。また、それぞれのブロックの読み出しは、読
出期限の時刻に余裕のあるものが先送りされ、余裕の少
ないものが優先して行われる。さらに、先送りされたも
のも期限の時刻が近くなると優先度が高くなる。このた
め、複数の読出要求を並行に処理しても期限の時刻まで
にデータの読み出せなくなる事態を低減することができ
る。
【0130】さらに請求項3記載の発明によれば、ファ
イルごとにその転送速度を予め記憶しておき、読出要求
で指定されたファイルを対応する転送速度で要求元に転
送している。この際、要求されたファイルの転送速度に
応じて各ブロックの読出開始時刻および読出期限の時刻
を求めている。これにより、たとえば符号化形式の違い
により転送速度の相違する複数のビデオファイルを同一
のデータ読出装置で扱うことができる。
【0131】また請求項4記載の発明によれば、各ファ
イルを構成するブロックごとに転送速度を記憶してお
き、読出要求で指定されたファイルの各ブロックをそれ
ぞれに対応する転送速度で要求元へ転送している。この
際、各ブロックの転送速度に応じて転送開始時刻および
読出期限の時刻を求めている。これにより、たとえば1
つのファイル内で様々なデータの転送速度を有する符号
化形式で符号化された動画のファイルを扱うことが可能
になる。
【0132】さらに請求項5記載の発明によれば、読出
要求送出手段は、ファイルの読出要求を送出するごとに
そのファイルの転送速度を指定している。そして、要求
されたファイルの各ブロックを転送する際の転送開始時
刻や読出期限の時刻は、指定された転送速度に従って求
められる。これによりたとえば、同一のビデオファイル
を高速再生する場合と低速再生する場合のそれぞれに応
じた転送速度で読み出すことができる。
【図面の簡単な説明】
【図1】本発明の一実施例におけるデータ読出装置の構
成の概要を表わしたブロック図である。
【図2】図1に示した読出要求ソート部の構成の概要を
表わしたブロック図である。
【図3】図1に示した読出要求ソート部の他の一例の構
成の概要を表わしたブロック図である。
【図4】図1に示した二次記憶読出部の行う処理の流れ
を表わした流れ図である。
【図5】二次記憶装置の行う処理の流れを表わした流れ
図である。
【図6】第1の変形例におけるデータ読出装置の構成の
概要を表わしたブロック図である。
【図7】時刻指定要求管理部の行う処理の流れを表わし
た流れ図である。
【図8】データ転送部の行う処理の流れを表わした流れ
図である。
【図9】第1の変形例においてデータの読み出されるシ
ーケンスを表わした説明図である。
【図10】第2の変形例におけるデータ読出装置の構成
の概要を表わしたブロック図である。
【図11】要求管理部の行う処理の流れを表わした流れ
図である。
【図12】速度可変データ転送部の行う処理の流れを表
わした流れ図である。
【図13】第3の変形例におけるデータ読出装置の構成
の概要を表わしたブロック図である。
【図14】第4の変形例におけるデータ読出装置の構成
の概要を表わしたブロック図である。
【符号の説明】
11 二次記憶装置 12 二次記憶制御装置 13、51、71、91 クライアント 22 時刻指定読出要求部 23 読出要求ソート部 24 二次記憶読出部 31、41 キュー 32、42 比較器 52、72、92 連続転送制御装置 53 時刻指定ファイル連続読出要求部 55 時刻指定要求管理部 56 送信時刻算出部 57 送信バッファ 58 データ転送部 73 ファイル連続読出要求部 75 要求管理部 76 転送レートレーブル 77 ファイル単位送信時刻算出部 78 速度可変データ転送部 81 データ単位送信時刻算出部 82 データ転送レートテーブル 93 速度指定ファイル連続読出要求部 95 速度可変要求管理部 96 要求単位送信時刻算出部
フロントページの続き (56)参考文献 特開 平6−28110(JP,A) 特開 平4−266263(JP,A) 特開 平3−183067(JP,A) 特開 平5−265661(JP,A) 特開 平5−27911(JP,A) 特開 平2−56626(JP,A) 特開 平7−274107(JP,A) 特開 平9−106327(JP,A) 特表 平8−504283(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 3/06 - 3/08

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のデータの蓄積されたデータ蓄積手
    段と、 このデータ蓄積手段に蓄積されている複数のデータのう
    ち読み出すべきものとその読出期限の時刻を指定した読
    出要求を送出する複数の読出要求送出手段と、 これら読出要求送出手段から読出要求を受け取りそれら
    を記憶する読出要求記憶手段と、 この読出要求記憶手段に記憶されている読出要求をその
    読出期限の時刻の早い順に取り出す読出要求取出手段
    と、 この読出要求取出手段によって取り出された読出要求に
    対応するデータを前記データ蓄積手段から読み出すデー
    タ読出手段とを具備することを特徴とするデータ読出装
    置。
  2. 【請求項2】 複数のファイルの蓄積されたデータ蓄積
    手段と、 このデータ蓄積手段に蓄積されている複数のブロックを
    含んだファイルのうち読み出すべきものとその転送を開
    始すべき時刻としての読出開始時刻を指定した読出要求
    を送出する複数の読出要求送出手段と、 この読出要求送出手段から送出された読出要求を受け
    り、ファイルに含まれる各ブロックごとの読出要求に変
    換する時刻指定要求管理手段と、 この時刻指定要求管理手段によって変換されたブロック
    ごとの読出要求に基づいてそれぞれのブロックを 前記読
    出要求で指定された読出開始時刻から所定の転送速度で
    読出要求の送出元に連続して転送するための各ブロック
    の転送開始時刻を求める転送開始時刻算出手段と、 この転送開始時刻算出手段によって求めた各ブロックの
    転送開始時刻をそれぞれ対応するブロックを前記データ
    蓄積手段から読み出す際の読出期限の時刻に指定して各
    ブロックごとの読出要求を生成するブロック読出要求生
    成手段と、 このブロック読出要求生成手段によって生成された読出
    要求を記憶する読出要求記憶手段と、 前記データ蓄積手段から読み出されるブロックごとの
    ータを前記読出要求送出手段に転送するまでの間一時的
    に保持するための送信バッファと、前記時刻指定要求管理手段から送られてくるブロック単
    位の読出要求を格納するキューと、 このキューに格納されているブロック単位の 読出要求を
    その読出期限の時刻の早い順に取り出す読出要求取出手
    段と、 この読出要求取出手段によって取り出された読出要求に
    対応するブロックのデータを前記データ蓄積手段から読
    み出しこれを前記送信バッファに格納するデータ読出手
    段と、 このデータ読出手段によって前記送信バッファに格納さ
    れたファイルの先頭のブロックについての転送開始時刻
    が到来したときこれを現在時刻と比較することによって
    検出する転送開始時刻到来ブロック検出手段と、 この転送開始時刻到来ブロック検出手段によって転送開
    始時刻の到来したことの検出されたブロックのデータを
    前記所定の転送速度で前記送信バッファからその読み出
    しを要求した前記読出要求送出手段に転送すると共に、
    転送が完了した時点で同一のファイルに属する未転送の
    ブロックが存在する間はそれらのブロックのデータの転
    送を継続するデータ転送手段とを具備することを特徴と
    するデータ読出装置。
  3. 【請求項3】 複数のファイルの蓄積されたデータ蓄積
    手段と、このデータ蓄積手段に蓄積される各ファイルの転送速度
    を予め記憶しておく転送速度記憶手段と、 前記データ蓄積手段に蓄積されている複数のブロックを
    含んだファイルのうち読み出すべきものとその転送を開
    始すべき時刻としての読出開始時刻を指定した読出要求
    を送出する複数の読出要求送出手段と、 この読出要求送出手段から送出された読出要求を受け
    り、ファイルに含まれる各ブロックごとの読出要求に変
    換する時刻指定要求管理手段と、 この時刻指定要求管理手段によって変換されたブロック
    ごとの読出要求に基づいてそれぞれのブロックを前記読
    出要求で指定された読出開始時刻から所定の 転送速度で
    読出要求の送出元に連続して転送するための各ブロック
    の転送開始時刻を前記転送速度記憶手段に記憶されたフ
    ァイルの転送速度との関係で求める転送開始時刻算出手
    段と、 この転送開始時刻算出手段によって求めた各ブロックの
    転送開始時刻をそれぞれ対応するブロックを前記データ
    蓄積手段から読み出す際の読出期限の時刻に指定して各
    ブロックごとの読出要求を生成するブロック読出要求生
    成手段と、 このブロック読出要求生成手段によって生成された読出
    要求を記憶する読出要求記憶手段と、 前記データ蓄積手段から読み出されるブロックごとの
    ータを前記読出要求送出手段に転送するまでの間一時的
    に保持するための送信バッファと、前記時刻指定要求管理手段から送られてくるブロック単
    位の読出要求を格納するキューと、 このキューに格納されているブロック単位の 読出要求を
    その読出期限の時刻の早い順に取り出す読出要求取出手
    段と、 この読出要求取出手段によって読出要求が取り出された
    とき対応するブロックのデータを前記データ蓄積手段か
    ら読み出しこれを前記送信バッファに格納するデータ読
    出手段と、 このデータ読出手段によって前記送信バッファに格納さ
    れたファイルの先頭のブロックについての転送開始時刻
    が到来したときこれを現在時刻と比較すること によって
    検出する転送開始時刻到来ブロック検出手段と、 この転送開始時刻到来ブロック検出手段によって転送開
    始時刻の到来したことの検出されたブロックのデータを
    前記転送速度記憶手段に記憶されたファイルの転送速度
    で前記送信バッファからその読み出しを要求した前記読
    出要求送出手段に転送すると共に、転送が完了した時点
    で同一のファイルに属する未転送のブロックが存在する
    間はそれらのブロックのデータの転送を継続するデータ
    転送手段とを具備することを特徴とするデータ読出装
    置。
  4. 【請求項4】 複数のファイルの蓄積されたデータ蓄積
    手段と、 このデータ蓄積手段に蓄積されている各ファイルをブロ
    ック単位に転送する際の転送速度をこれら各ブロックご
    とに記憶した転送速度記憶手段と、 前記データ蓄積手段に蓄積されている複数のブロックを
    含んだファイルのうち読み出すべきものとその転送を開
    始すべき時刻としての読出開始時刻を指定した読出要求
    を送出する複数の読出要求送出手段と、 この読出要求送出手段から送出された読出要求を受け
    り、ファイルに含まれる各ブロックごとの読出要求に変
    換する時刻指定要求管理手段と、 この時刻指定要求管理手段によって変換されたブロック
    ごとの読出要求に基づいてそれぞれのブロックを前記読
    出要求で指定された読出開始時刻から所定の 転送速度で
    読出要求の送出元に連続して転送するための各ブロック
    の転送開始時刻を前記転送速度記憶手段に記憶されたブ
    ロックの転送速度との関係で求める転送開始時刻算出手
    段と、 この転送開始時刻算出手段によって求めた各ブロックの
    転送開始時刻をそれぞれ対応するブロックを前記データ
    蓄積手段から読み出す際の読出期限の時刻に指定して各
    ブロックごとの読出要求を生成するブロック読出要求生
    成手段と、 このブロック読出要求生成手段によって生成された読出
    要求を記憶する読出要求記憶手段と、 前記データ蓄積手段から読み出されるブロックごとの
    ータを前記読出要求送出手段に転送するまでの間一時的
    に保持するための送信バッファと、前記時刻指定要求管理手段から送られてくるブロック単
    位の読出要求を格納するキューと、 このキューに格納されているブロック単位の 読出要求を
    その読出期限の時刻の早い順に取り出す読出要求取出手
    段と、 この読出要求取出手段によって読出要求が取り出された
    とき対応するブロックのデータを前記データ蓄積手段か
    ら読み出しこれを前記送信バッファに格納するデータ読
    出手段と、 このデータ読出手段によって前記送信バッファに格納さ
    れたファイルの先頭のブロックについての転送開始時刻
    が到来したときこれを現在時刻と比較すること によって
    検出する転送開始時刻到来ブロック検出手段と、 この転送開始時刻到来ブロック検出手段によって転送開
    始時刻の到来したことの検出されたブロックのデータを
    前記転送速度記憶手段に記憶された該当するブロックの
    転送速度で前記送信バッファからその読み出しを要求し
    た前記読出要求送出手段に転送すると共に、転送が完了
    した時点で同一のファイルに属する未転送のブロックが
    存在する間はそれらのブロックのデータの転送をそれぞ
    れのブロックの転送速度によって継続するデータ転送手
    とを具備することを特徴とするデータ読出装置。
  5. 【請求項5】 複数のファイルの蓄積されたデータ蓄積
    手段と、 このデータ蓄積手段に蓄積されている複数のブロックを
    含んだファイルのうち読み出すべきファイルとこれを転
    送する際の転送速度および転送を開始すべき時刻として
    の読出開始時刻を指定した読出要求を送出する複数の読
    出要求送出手段と、 この読出要求送出手段から送出された読出要求を受け
    り、ファイルに含まれる各ブロックごとの読出要求に変
    換する時刻指定要求管理手段と、 この時刻指定要求管理手段によって変換されたブロック
    ごとの読出要求に基づいてそれぞれのブロックを前記読
    出要求で指定された読出開始時刻から指定の 転送速度で
    読出要求の送出元に連続して転送するための各ブロック
    の転送開始時刻を求める転送開始時刻算出手段と、 この転送開始時刻算出手段によって求めた各ブロックの
    転送開始時刻をそれぞれ対応するブロックを前記データ
    蓄積手段から読み出す際の読出期限の時刻に指定して各
    ブロックごとの読出要求を生成するブロック読出要求生
    成手段と、 このブロック読出要求生成手段によって生成された読出
    要求を記憶する読出要求記憶手段と、 前記データ蓄積手段から読み出されるブロックごとの
    ータを前記読出要求送出手段に転送するまでの間一時的
    に保持するための送信バッファと、前記時刻指定要求管理手段から送られてくるブロック単
    位の読出要求を格納するキューと、 このキューに格納されているブロック単位の 読出要求を
    その読出期限の時刻の早い順に取り出す読出要求取出手
    段と、 この読出要求取出手段によって読出要求が取り出された
    とき対応するブロックのデータを前記データ蓄積手段か
    ら読み出しこれを前記送信バッファに格納するデータ読
    出手段と、 このデータ読出手段によって前記送信バッファに格納さ
    れたファイルの先頭のブロックについての転送開始時刻
    が到来したときこれを現在時刻と比較することによって
    検出する転送開始時刻到来ブロック検出手段と、 この転送開始時刻到来ブロック検出手段によって転送開
    始時刻の到来したことの検出されたブロックのデータを
    前記指定の転送速度で前記送信バッファからその読み出
    しを要求した前記読出要求送出手段に転送すると共に、
    転送が完了した時点で同一のファイルに属する未転送の
    ブロックが存在する間はそれらのブロックのデータの転
    送を継続するデータ転送手段とを具備することを特徴と
    するデータ読出装置。
JP8003717A 1996-01-12 1996-01-12 データ読出装置 Expired - Fee Related JP2950223B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP8003717A JP2950223B2 (ja) 1996-01-12 1996-01-12 データ読出装置
US08/780,219 US5944792A (en) 1996-01-12 1997-01-08 Data transfer device with computed start times for data blocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8003717A JP2950223B2 (ja) 1996-01-12 1996-01-12 データ読出装置

Publications (2)

Publication Number Publication Date
JPH09190293A JPH09190293A (ja) 1997-07-22
JP2950223B2 true JP2950223B2 (ja) 1999-09-20

Family

ID=11565074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8003717A Expired - Fee Related JP2950223B2 (ja) 1996-01-12 1996-01-12 データ読出装置

Country Status (2)

Country Link
US (1) US5944792A (ja)
JP (1) JP2950223B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2764759B1 (fr) * 1997-06-16 1999-09-03 Texas Instruments France Dispositif de controle de periodicite des messages transitant sur un reseau multiplexe de transmission d'une formation de type can
US6023720A (en) * 1998-02-09 2000-02-08 Matsushita Electric Industrial Co., Ltd. Simultaneous processing of read and write requests using optimized storage partitions for read and write request deadlines
JP3244053B2 (ja) 1998-06-12 2002-01-07 日本電気株式会社 情報処理システム、装置、二次記憶装置及び記録媒体
US6182197B1 (en) * 1998-07-10 2001-01-30 International Business Machines Corporation Real-time shared disk system for computer clusters
JP3230668B2 (ja) * 1998-11-25 2001-11-19 日本電気株式会社 データ記憶再生システム
US6289383B1 (en) * 1998-11-30 2001-09-11 Hewlett-Packard Company System and method for managing data retrieval bandwidth
JP4304746B2 (ja) * 1999-01-06 2009-07-29 ソニー株式会社 ファイルの置き換え方法及び装置
DE69940278D1 (de) * 1999-01-12 2009-02-26 Fujitsu Ltd Zugangssteuerungsgerät und verfahren um zugang zu aufzeichnungsmedium zu beaufsichtigen
US6609149B1 (en) * 1999-04-12 2003-08-19 International Business Machines Corporation Method and apparatus for prioritizing video frame retrieval in a shared disk cluster
US6665701B1 (en) * 1999-08-03 2003-12-16 Worldcom, Inc. Method and system for contention controlled data exchange in a distributed network-based resource allocation
US6721789B1 (en) * 1999-10-06 2004-04-13 Sun Microsystems, Inc. Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests
US6438630B1 (en) * 1999-10-06 2002-08-20 Sun Microsystems, Inc. Scheduling storage accesses for multiple continuous media streams
US7065097B2 (en) * 1999-12-27 2006-06-20 Matsushita Electric Industrial Co., Ltd. Program information transmission apparatus that transits program information at a constant rate through a cycle
AU2003260876A1 (en) * 2002-09-26 2004-04-19 Koninklijke Philips Electronics N.V. Multiple stream readout
US7062582B1 (en) 2003-03-14 2006-06-13 Marvell International Ltd. Method and apparatus for bus arbitration dynamic priority based on waiting period
JP4521206B2 (ja) * 2004-03-01 2010-08-11 株式会社日立製作所 ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法
JP2006004018A (ja) * 2004-06-15 2006-01-05 Ntt Docomo Inc 時刻管理サーバ、情報端末、時刻管理システム及び時刻管理方法
JP2006178670A (ja) * 2004-12-21 2006-07-06 Nec Corp ファイル入出力制御装置、ファイル入出力制御方法及びファイル入出力制御プログラム
US8762601B2 (en) 2005-11-14 2014-06-24 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for buffering write data in response to motion
JP4704262B2 (ja) * 2006-03-29 2011-06-15 株式会社日立製作所 期限管理支援システム、期限管理支援方法、および期限管理支援プログラム
EP2045762B1 (en) * 2006-07-26 2011-11-02 Panasonic Corporation Nonvolatile storage device, access device, and nonvolatile storage system
JP2008250475A (ja) * 2007-03-29 2008-10-16 Brother Ind Ltd 情報処理装置、ネットワークシステム、およびプログラム
US8948247B2 (en) * 2009-04-14 2015-02-03 Futurewei Technologies, Inc. System and method for processing video files
JP5524156B2 (ja) * 2011-09-15 2014-06-18 株式会社東芝 情報処理装置および情報処理方法
CN104145266B (zh) * 2012-01-24 2018-05-15 Varonis系统公司 用于鉴定文件读事件的方法和装置
US10055477B2 (en) * 2012-06-26 2018-08-21 Toshiba Mitsubishi-Electric Industrial Systems Corporation Data collection apparatus and data collection program
JP6165580B2 (ja) * 2013-10-04 2017-07-19 株式会社 日立産業制御ソリューションズ コンテンツ配信装置及びコンテンツ配信装置のコンテンツ配信方法
US9977751B1 (en) * 2014-08-25 2018-05-22 Marvell International Ltd. Method and apparatus for arbitrating access to shared resources
US10635596B2 (en) * 2015-10-02 2020-04-28 Sony Interactive Entertainment Inc. Information processing device, access controller, information processing method, and computer program for accessing memory having access units of different sizes
JP2019175292A (ja) * 2018-03-29 2019-10-10 東芝メモリ株式会社 電子機器、コンピュータシステム、および制御方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0256626A (ja) * 1988-08-23 1990-02-26 Nec Corp 補助記憶上のデータの書込み方式
JPH03183067A (ja) * 1989-12-11 1991-08-09 Fujitsu Ltd 磁気ディスク装置
US5220653A (en) * 1990-10-26 1993-06-15 International Business Machines Corporation Scheduling input/output operations in multitasking systems
JPH04266263A (ja) * 1991-02-20 1992-09-22 Fujitsu Ltd 優先記録方式
JPH0527911A (ja) * 1991-07-22 1993-02-05 Matsushita Electric Ind Co Ltd デイスク装置のコマンド実行順序決定方法
JP3185437B2 (ja) * 1992-01-23 2001-07-09 株式会社日立製作所 ディスク処理装置
JPH05257614A (ja) * 1992-03-13 1993-10-08 Nippon Telegr & Teleph Corp <Ntt> ディスク入出力制御方法および装置
JPH0628110A (ja) * 1992-07-10 1994-02-04 Matsushita Electric Ind Co Ltd コンパクトディスク読み出し装置
AU4638093A (en) * 1992-08-10 1994-03-03 Digital Pictures, Inc. System and method of selecting among multiple data streams
JP3540835B2 (ja) * 1994-04-04 2004-07-07 松下電器産業株式会社 ビデオメモリ装置及びビデオサーバシステム
US5610841A (en) * 1993-09-30 1997-03-11 Matsushita Electric Industrial Co., Ltd. Video server
US5787482A (en) * 1995-07-31 1998-07-28 Hewlett-Packard Company Deadline driven disk scheduler method and apparatus with thresholded most urgent request queue scan window
JPH09106327A (ja) * 1995-10-11 1997-04-22 Oki Techno Syst Lab:Kk データ転送スケジューリング方法

Also Published As

Publication number Publication date
JPH09190293A (ja) 1997-07-22
US5944792A (en) 1999-08-31

Similar Documents

Publication Publication Date Title
JP2950223B2 (ja) データ読出装置
JP3617089B2 (ja) 映像蓄積配送装置及び映像蓄積配送システム
EP0901249B1 (en) Method of distributed editing of video clips over a network
JP2742390B2 (ja) ビデオ・システムにおけるポーズ・レジュームをサポートする方法およびシステム
US6032200A (en) Process scheduling for streaming data through scheduling of disk jobs and network jobs and the relationship of the scheduling between these types of jobs
JP3563541B2 (ja) データ格納装置及びデータ格納方法
JP3217002B2 (ja) デジタルスタジオ装置およびその制御方法
JP2596718B2 (ja) ネットワーク通信バッファを管理する方法
EP0713184A2 (en) Method of retrieving continuous and non-continuous media data from a file system
JP3190813B2 (ja) 配信システム
JPH08255119A (ja) マルチメディアサーバ
KR100671635B1 (ko) 스트리밍 미디어 서비스 관리 방법
JPH10293738A (ja) ストリーム再生制御方式及びデータ読み出し方式並びにプログラムを記録した機械読み取り可能な記録媒体
US7890958B2 (en) Automatic adjustment of time a consumer waits to access data from queue during a waiting phase and transmission phase at the queue
JP3123012B2 (ja) マルチメディアサーバー
JPH08227343A (ja) 2次記憶装置の制御装置および制御システム
JPH10289219A (ja) クライアント・サーバシステム、キャッシュ管理方法及び記録媒体
US20060041690A1 (en) Software communication between MPEG layer and servo layer
JPH0970018A (ja) ファイルサーバ
JP4675290B2 (ja) マルチメディア蓄積配信サーバ、および、マルチメディアデータ多重読出し書込み方法
Chiueh et al. Design and implementation of the stony brook video server
JPH1021014A (ja) ビデオサーバ装置
JP3640976B2 (ja) データ転送制御方法
JPH0926911A (ja) ページ情報転送処理装置
JP2001275098A (ja) サーバシステム及びデータ転送方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070709

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080709

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090709

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100709

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110709

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120709

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees