JP4089060B2 - 情報記録装置 - Google Patents

情報記録装置 Download PDF

Info

Publication number
JP4089060B2
JP4089060B2 JP00614499A JP614499A JP4089060B2 JP 4089060 B2 JP4089060 B2 JP 4089060B2 JP 00614499 A JP00614499 A JP 00614499A JP 614499 A JP614499 A JP 614499A JP 4089060 B2 JP4089060 B2 JP 4089060B2
Authority
JP
Japan
Prior art keywords
information
transfer
recording
real
time
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
JP00614499A
Other languages
English (en)
Other versions
JP2000209218A (ja
JP2000209218A5 (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP00614499A priority Critical patent/JP4089060B2/ja
Publication of JP2000209218A publication Critical patent/JP2000209218A/ja
Publication of JP2000209218A5 publication Critical patent/JP2000209218A5/ja
Application granted granted Critical
Publication of JP4089060B2 publication Critical patent/JP4089060B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は記録装置に関し、特に、少なくとも1の情報処理装置とネットワークを介して接続され、情報処理装置から伝送されてきた情報を記録するとともに、記録されている情報を情報処理装置に対して伝送する情報記録装置に関する。
【0002】
【従来の技術】
1980年代の後半、パーソナルコンピュータやワークステーション等のオフィスへの普及に伴い、情報資源を有効利用するために個々のコンピュータをネットワークによって相互に接続し、ハードディスクなどの記録装置に記録されたファイルを共有して利用するネットワークファイルシステムが開発された。
【0003】
現在のオフィス環境では、ローカルエリアネットワークによって各個人が使用するコンピュータを相互に接続し、このネットワークを通じてファイルやプリンタを共有することが一般化しつつある。
【0004】
このようにネットワークを介して相互に接続されたコンピュータを制御するネットワークファイルシステムとしては、ワークステーション用では米国サンマイクロシステムズ社が開発した「NFS(Network File System)」、パーソナルコンピュータ用では米国ノベル社が開発した「Netware」、および、米国マイクロソフト社が開発した「LANManager」等が有名である。
【0005】
一方、急速な技術革新により、近年、映像や音声等をディジタル化して処理する種々の民生機器の商品化が進んでいる。例えば、12cmの光ディスクに最大8時間の映像を収録可能なDVD(Digital Versatile Disk)や、ディジタルビデオカメラ、ディジタル衛星放送機器等がこれにあたる。また、大容量の光磁気ディスクやハードディスクを応用したディジタルビデオレコーダ等のような商品の開発も進められている。
【0006】
このような状況の中、これらの民生機器を相互に接続するディジタルインターフェイスとして、IEEE−1394規格に準拠したインタフェース(以下、適宜IEEE−1394インターフェースという)が注目されている。例えば、民生用ディジタルビデオカメラではこのIEEE−1394インタフェースが標準で装備されており、このようなディジタルビデオカメラをIEEE−1394インターフェースを具備するパーソナルコンピュータに接続することにより、映像データや音声データを授受することが可能となる。
【0007】
IEEE−1394規格は、元々、映像や音声などのように大容量でかつリアルタイム性を要求されるデータを転送するために規定された規格であり、アイソクロナス(Isochronous)転送モードと呼ばれる同期転送方式を持つことが主な特徴である。
【0008】
現在、IEEE−1394規格については、IEEEの委員会において転送の更なる高速化やケーブルの長距離化などが検討されており、将来は各家庭の民生機器を接続するホームネットワークの中核技術になると考えられる。
【0009】
【発明が解決しようとする課題】
このように家庭内にネットワークが張り巡らされ、記録装置を持った機器が配置されるようになると、前述のオフィスの場合と同様に、記録装置に記録されたファイルを共有利用する要求が発生することが予想される。
【0010】
例えば、居間のビデオレコーダによって録画した番組を、寝室のテレビで再生する等の利用に対する要求である。しかしながら、そのような要求を実現するためには、従来のネットワークファイルシステムでは(1)リアルタイム転送が困難であり、(2)コピープロテクションが十分でない等の問題点を有していた。
【0011】
特に、前者のリアルタイム転送の問題については、ネットワークファイルシステムの機構がファイルシステムの機構の後から開発されたものであるため、単にネットワークに改良を加えただけでは解決することが困難であるという問題点があった。
【0012】
例えば、ビデオをリアルタイムで配信する例としてビデオオンデマンドシステムがあり、このようなシステムを家庭用のネットワークファイルシステムに流用することも考えられる。しかし、このようなシステムでは、予め決められたデータの配置方法により同一帯域内でデータを転送することが目的であるため、ハードディスクに対するI/O処理を時分割処理することでリアルタイム転送を実現している。従って、このようなシステムを汎用性が高いホームネットワークファイルシステムとして利用することは困難であるという問題点があった。
【0013】
また、ホームネットワークファイルシステムでは、リアルタイム性が要求されるデータ(以下、リアルタイムデータと適宜呼ぶ)だけでなく、リアルタイム性が要求されないデータ(以下、ノンリアルタイムデータと適宜呼ぶ)も処理する必要がある。このようなデータを前述の時分割処理を用いて処理することも可能であるが、その場合、リアルタイムデータの転送を保証するために処理の分割単位は大きくせざるを得ず、その結果、処理の時間待ちが大きくなり、分割された時間内に処理が完了した場合でも残り時間で他の処理を行うことができず、記録装置のI/O能力を充分に利用できないなどの問題点もあった。
【0014】
本発明はこれら状況を鑑みてなされたものであり、ネットワークを介して接続された情報記録装置からデータを転送する場合において、帯域保証、予測、および、優先スケジュールを行うことが可能な情報記録装置を提供することを目的とする。
【0015】
また、本発明は、IEEE−1394インタフェース等のようにリアルタイム転送が可能なネットワークと統合することにより、最大の転送帯域が異なる複数の可変長リアルタイム転送によるデータ転送を保証し、かつ、リアルタイム性を要しないデータも効率よく処理できるホームネットワークに適した情報記録装置を提供することを目的とする。
【0016】
【課題を解決するための手段】
本発明では上記課題を解決するために、少なくとも1の情報処理装置とネットワークを介して接続され、前記情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を前記情報処理装置に対して伝送する情報記録装置において、前記情報処理装置との間で前記ネットワークを介して情報を送受信する送受信手段と、情報を記録する記録手段と、前記記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から前記記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、前記情報処理装置からリアルタイム転送の要求がなされた場合には、前記算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段と、前記情報処理装置から伝送されてきた情報であって前記記録手段に記録しようとする情報を一時的に格納するとともに、前記記録手段から再生された情報であって前記情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、前記情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を前記格納手段に確保する格納領域確保手段と、転送処理中は、前記格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように前記記録手段に対する情報の記録再生動作を管理する管理手段と、を有し、前記管理手段は、複数の情報処理装置から並行してリアルタイム転送の要求がなされた場合には、各格納領域に格納されている情報の量と、その転送速度とに応じて処理の優先度を決定し、決定した優先度に応じて前記記録手段に対する情報の記録再生動作を実行することを特徴とする情報記録装置が提供される。
【0017】
ここで、送受信手段は、情報処理装置との間でネットワークを介して情報を送受信する。記録手段は、情報を記録する。算出手段は、記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から記録手段のリアルタイム転送に利用可能な最大転送速度を算出する。許可手段は、情報処理装置からリアルタイム転送の要求がなされた場合には、算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する。格納手段は、情報処理装置から伝送されてきた情報であって記録手段に記録しようとする情報を一時的に格納するとともに、記録手段から再生された情報であって情報処理装置に対して伝送しようとする情報を一時的に格納する。格納領域確保手段は、情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を格納手段に確保する。管理手段は、転送処理中は、格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように記録手段に対する情報の記録再生動作を管理する。また、この管理手段は、複数の情報処理装置から並行してリアルタイム転送の要求がなされた場合には、各格納領域に格納されている情報の量と、その転送速度とに応じて処理の優先度を決定し、決定した優先度に応じて記録手段に対する情報の記録再生動作を実行する。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。図1は、本発明の実施の形態の構成例を示すブロック図である。この図に示すように、本発明に係るネットワークシステムは、情報記録装置10、ディジタルテレビ30、パーソナルコンピュータ40、ディジタル受信機50、パラボラアンテナ50a、ディジタルビデオカメラ60が接続ケーブル20によって相互に接続されて構成されている。
【0019】
情報記録装置10は、CPU(Central Processing Unit)10a(演算手段、許可手段、格納領域確保手段、管理手段)、ROM(Read Only Memory)10b、RAM(Random Access Memory)10c(格納手段)、HDD(Hard Disk Drive)10d(記録手段)、I/F10e(送受信手段)によって構成されており、他の装置からの要求に応じてHDD10dに記録されているデータを読み出して供給したり、供給されたデータをHDD10dに書き込む。
【0020】
ここで、CPU10aは機器全体を制御するとともに、ROM10bおよびHDD10dに記憶されている所定のプログラムに従って各種処理を行う。
ROM10bは、CPU10aが実行する基本的なプログラムやデータ等を格納している。このROM10bに記憶されている基本的なプログラムが実行されることにより、HDD10dから所定のプログラムがRAM10cに読み出され、その後はそのプログラムに従って制御が実行される。
【0021】
RAM10cは、CPU10aが各種プログラムを実行する際に、実行途中のプログラムや演算途中のデータ等を一時的に格納する。また、データの転送を行う際には、バッファとして機能する。
【0022】
HDD10dは、大容量のデータを高速に読み書きすることが可能とされており、この例では、20ギガバイトものを使用している。この程度の容量であれば、毎秒4〜6メガビットのデジタルデータの場合で約10時間、毎秒28メガビットのデジタルデータで約1時間半連続して記録を行うことができる。複数のHDDをディスクアレイ構成にすることも可能であるが、ここでは20ギガバイトのHDD10dを単独で用いている。
【0023】
I/F10eは、帯域保証された同期転送ならびに非同期転送が行える高速通信のネットワークインターフェースであり、IEEE−1394.1985規格に準拠したインターフェースである。
【0024】
バス10fは、CPU10a、ROM10b、RAM10c、HDD10d、および、I/F10eを相互に接続し、これらの間でデータの授受を可能とする。
【0025】
ディジタルテレビ30は、IEEE−1394インターフェースを備えており、接続ケーブル20を介して伝送されてきたデータをこのインターフェースから入力した後、デコードして画像信号に変換してブラウン管等に表示出力する。
【0026】
パーソナルコンピュータ40も同様に、IEEE−1394インターフェースを具備しており、例えば、ユーザの操作に応じたコマンド等をこのインターフェースを介して伝送することによりネットワーク全体の制御を行う。
【0027】
ディジタル受信機50は、パラボラアンテナ50aによって受信された放送衛星等からの電波を入力して復号処理を施し、得られた画像または音声を含むディジタル信号を内蔵するIEEE−1394インターフェースを介して出力する。
【0028】
ディジタルビデオカメラ60は、被写体からの光画像を、対応するディジタル信号に変換して記録するとともに、内蔵するIEEE−1394インターフェースを介して外部に出力する。
【0029】
なお、各装置は、同一場所または異なる場所に配置され、接続ケーブル20によって相互に接続されている。
次に、以上の実施の形態における各部の詳細な説明を行う。
【0030】
以上の実施の形態においては、ディジタル受信機50、ディジタルビデオカメラ60等からリアルタイムで出力されたデジタルデータは、接続ケーブル20を介して情報記録装置10に供給され、HDD10dに記録される。また、HDD10dに記録されているデータは、情報記録装置10に接続されている他の装置からの要求に応じて読み出されてリアルタイムに供給される。
【0031】
このとき、リアルタイム性が要求されるデータに関しては、IEEE−1394インターフェースは、アイソクロナス(Isochronous)転送モードを使用し、また、リアルタイム性が要求されないデータに関しては、アシンクロナス(Asynchronous)転送モードを使用する。また、IEEE−1394.1985規格では最大毎秒400メガビットの転送が可能であり、アシンクロナスモードの通信としては、IPover1394やAV/C(Audio Video Command)、HAVi(Home Audio Video Interoperability)規格などの上位通信プロトコルが用いられる。
【0032】
ディジタル受信機50等では、映像および音声の圧縮方式として、国際規格であるMPEG(Motion Picture Experts Group)−2が使用されている。例えば、CS(Communication Satellite)の衛星デジタル放送では毎秒4〜6メガビットの転送速度のデジタル信号が利用されており、次期BS(Broadcasting Satellite)の衛星デジタル方式およびデジタル地上波放送では現行のNTSCテレビ放送より高解像度のテレビ放送が予定されており、最大毎秒28メガビットの転送速度のデジタル信号が利用される。
【0033】
デジタルビデオカメラ60ではDV方式といわれる圧縮方式が使用されており、圧縮によって得られた毎秒25メガビットのデジタル信号がビデオテープに記録される。
【0034】
ところで、ディジタル受信機50から出力される画像データを、ディジタルテレビ30により視聴しながら情報記録装置10のHDD10dに記録する場合を考える。そのような場合には、毎秒28メガビットのデータをHDD10dに書き込みながら、同時に毎秒28メガビットのデータを読み出す必要がある。従って、接続ケーブル20上には、2チャンネル分の毎秒56メガビットのデータが転送されることになる。IEEE−1394インタフェースは毎秒400メガビットの転送容量があり、オーバーヘッドを考えてもこのような転送は可能である。
【0035】
一方、HDD10dは、シーケンシャルアクセスでは最大毎秒15メガバイト(=120メガビット)のデータの読み書きが可能であるので、上述のような動作を行う場合においても転送速度は充分である。しかしながら、ファイルシステムを用いてHDD10dを領域管理し、ファイル単位でデータを記録できるようにした場合、または、複数チャンネルの転送を行うような場合にはランダムアクセスが必要になる。ランダムアクセスでは記録ヘッドのシークおよび回転待ちが必要なため、シーケンシャルアクセスに比べて平均的な転送速度はかなり低下する。
【0036】
ハードディスクの技術的進歩により、近年、記録容量、シーケンシャル転送速度、および、コスト等は急速に向上しているが、シーク、回転待ちは物理的要因が絡み、著しい向上は見込めない。高速なディスクの場合でもシーク動作、回転待ちなどを考慮したアクセスタイムは平均15ミリ秒、最大30ミリ秒くらいである。ただし、トラッキングエラーや欠陥セクタの代替処理が発生するとさらにアクセスタイムは長くなる。
【0037】
ランダムアクセスにおいて、連続転送速度を上げる方法として、ファイルを構成する基本単位である最小連続領域(例えば、クラスタ)を大きくすることが考えられる。
【0038】
ここで、ランダムアクセス時の転送能力TPR(Throughput Rate)は、シーケンシャルアクセスの連続転送速度TFR(Transfer Rate)、アクセスタイムAT(Access Time)、および、最小連続領域であるクラスタサイズCS(Cluster Size)を用いて以下のように表すことができる。
【0039】
【数1】
TPR=CS/(CS/TFR+AT) ・・・(1)
TFRおよびATは様々な物理的要因で変動するため、厳密に求めることは困難であるが、実測データに適当なマージンを持たせた値を用いることにより、ランダムアクセス時の転送能力TPRを算出することができる。但し、セクタの代替処理などによって極端に時間がかかる場合は例外的であるので、式(1)によって得られる値はあくまでも定常状態に対する値である。
【0040】
セクタの代替処理等のように確率的に発生する事象については、データのバッファリングによって吸収できるように設計するが、必ずしも100%の保証が必要であるものではなく、また、民生機器にそのような高い保証を求めるものでもない。
【0041】
シーケンシャルアクセスの連続転送速度TFRを適当なマージンを持たせて毎秒12メガバイト程度とし、また、アクセスタイムATを30ミリ秒とすると、ランダムアクセス時の転送能力TPRとして毎秒56メガビットを実現するにはクラスタサイズCSは512キロバイト以上にするようにファイルシステムの割り当て単位を設定すればよい。但し、割り当て単位を大きくすると小さなファイルを記録した場合には無駄な領域ができるので効率が悪い。これらを改善するためのファイルシステムの領域管理方法として特願平10−343433号が考案されており、本実施例でもこれを利用する。
【0042】
本発明では以上のようにして求めたHDD10dのランダムアクセス時の転送能力TPRをリアルタイム転送の最大帯域として保証し、これを複数のチャンネル転送要求に従って各装置に対して帯域の割り当てを行う。
【0043】
なお、前述のように、(1)各パラメータはかなりのマージンを持たせており、また、(2)同一のファイルのデータは近接した割り当て単位に記録されることが多いので、これらデータの転送については最大のアクセス時間を伴わない場合がほとんどで、更に、(3)HDD10dはディスクの円周領域によって記録密度の差から転送速度も違うので、HDD10dからの転送速度は計算値よりも速い場合がほとんどである。
【0044】
これらのことから、リアルタイム転送を実行中に、HDD10dに対してそれ以外のデータを読み書きすることは充分に可能であり、本発明では以下に述べるように、データ転送に使用されるバッファの残量からHDD10dの負荷を求め、それに基づいて、リアルタイム転送を実行しながら、同時に、ノンリアルタイム転送も行うようにファイルシステムの制御を行う。
【0045】
図1の説明に戻って、RAM10cは32メガバイトの容量を持ち、リアルタイム転送用バッファ、ノンリアルタイム転送用バッファ、制御プログラム格納エリア、および、ワークエリアとして使用される。
【0046】
本実施の形態では、偶発的な原因によりHDD10dへの転送が数秒間途絶えた場合でも情報記録装置10と他の装置との間の転送が途絶えることのないようにバッファのサイズを決定している。
【0047】
即ち、毎秒56メガビットの転送において、欠陥セクタの代替処理などでHDD10dの転送が途絶えた場合でも、少なくとも4秒間は転送が途切れないことを目標にすると、リアルタイム転送用バッファとして28メガバイトが必要になる。
【0048】
図2に示すように、RAM10cの領域70aは、特願平10−343433号での第1の割り当て単位(クラスタ)と同じサイズである512キロバイトを単位としてブロック分割され、それぞれに0から63まで昇順の番号が付与されて管理されている。0から55までをリアルタイム転送用バッファブロック、56から59までのメガバイトをノンリアルタイム転送用バッファ領域、60から63までのメガバイトを制御プログラム格納エリアおよびそのワークエリアとして使用する。なお、ノンリアルタイム転送用バッファの量および制御プログラム格納エリアの量はシステムの設計に依存する。
【0049】
ノンリアルタイム転送用バッファの各割り当て単位70bは、特願平10−343433号の説明の第2の割り当て単位(フラグメント)と同じサイズを単位として更に分割される。実施例ではフラグメントは4キロバイトとし、ノンリアルタイム転送用バッファ領域は0から511のバッファブロックとして管理される。
【0050】
リアルタイム転送用バッファブロックは、帯域予約を行う際に各転送チャンネルに対して所定量が割り当てられる。未使用のバッファブロックが足りず、確保できない場合は帯域予約が許可されないことになる。
【0051】
予約する帯域をRBW(Request Band Width)、最大の帯域をMBW(Max Band Width)、総バッファブロック数をMB(Max Buffers)とすると帯域保証するために使用する最低限のバッファブロック数NOB(Number of Buffers)は以下の式で求めることができる。
【0052】
【数2】
NOB=(RBW−1)/((MBW−1)/MB+1)+1 ・・・(2)
本実施の形態では最大の帯域を毎秒56メガビット、総バッファブロック数を56個としているので、例えば、地上波のディジタルHDTV(High Density Television)のデータ転送速度である毎秒19.3メガビットの帯域に必要なバッファブロックは20個になる。
【0053】
リアルタイム転送時、バッファブロックにはHDD10dからクラスタ単位の転送が行われるので、連続してネットワークへの転送を行うために最低必要なブロック数は“4”である。ただし、HDD10dからの転送遅延を考慮して、最低の割り当て単位を4ブロックとし、最低の予約帯域は毎秒4メガビットとする。従って、本実施の形態の場合、リアルタイム転送は最大8チャンネルまでとなる。
【0054】
ワークエリアにはリアルタイム転送の管理情報がチャンネル分だけ配置される。リアルタイム転送の管理情報としては、チャンネル毎に、ファイル名、予約帯域、現在のバッファ量、ファイルオフセット、転送モード(送信または受信)、転送先のノードアドレス、アイソクロナスチャンネルなどの情報が置かれる。バッファブロックはリスト構造により環状のFIFO(First In First Out)バッファとして機能する。未使用のバッファブロックは未使用バッファブロックのリストに登録され、必要な場合に所定のチャンネルに割り当てられる。リアルタイム転送が終了すると、解放されたブロックは再度未使用リストに登録される。
【0055】
ノンリアルタイム転送用バッファは、従来のオペレーティングシステムで行われているように個々のブロック毎にハードディスクのブロックアドレスなどの管理テーブルを用い、LRU(Least Recent Use)などのアルゴリズムによって管理される。また、ネットワークファイルシステムとしてファイル単位での転送要求を処理するために、要求のあったファイル毎に、ファイル名、ファイルオフセット、転送モードなどの情報が置かれる。
【0056】
リアルタイム転送ですべての保証帯域(=最大の帯域MBW)を使用していない場合は、未使用のバッファブロックを他のリアルタイム転送用バッファに割り当てることも可能である。また、ノンリアルタイム転送用バッファの管理方法を拡張することにより、未使用のノンリアルタイム転送用バッファをリアルタイム転送用バッファとして転用することもできる。即ち、新たなリアルタイム転送要求が発生して帯域予約がなされた場合には、帯域を保証するために必要なバッファブロックを確保するために、未使用のノンリアルタイム転送用バッファをリアルタイム転送用として解放する。
【0057】
但し、ノンリアルタイム転送用バッファに書きこみ処理の対象となっており、データがバッファリングされている場合は、書き込み待ちが生じて直ちには使用できないので転送開始に若干の遅延が生じる場合もある。
【0058】
図3にリアルタイム転送用バッファの動作の概要を示す。
図3では4チャンネルのリアルタイム転送が行われている場合の様子を示している。file1、file2、file4については、情報記録装置10からネットワークに対してデータを送信中の場合を示しており、ファイル再生(play)動作を示している。file3は情報記録装置10がネットワークからデータを受信中の場合を示しており、ファイルの記録(record)動作を示している。
【0059】
file1〜file4に対して破線の矢印によって連結されているブロック群は、リアルタイム転送用バッファブロックを示している。これらのブロックのうち、濃い色のブロックはデータが格納されていることを示している。
【0060】
file1は毎秒4メガビット(4Mbps)の帯域の転送であり、バッファブロック11,12,7,8が割り当てられている。バッファブロック11,12,7,8にはそれぞれHDD10dから読み出されたデータがバッファリングされており、現在、バッファブロック11のデータが送信されている。データ送信は保証帯域の範囲で可変ビットレートで行われるので、バッファからネットワークへのデータ転送の単位はそれに依存して決定される。
【0061】
バッファブロック11のデータがなくなると、バッファブロック11はリストの最後列にあるバッファブロック8の後ろに移動されて新たな送信データをバッファリング可能になる。その後、バッファブロック12,7,8の順にバッファリングされているデータが送信される。なお、HDD10dからバッファブロックへのデータの読み出しはクラスタサイズの512キロバイト単位で行われる。
【0062】
file2は毎秒6メガビット(6Mbps)の帯域の転送であり、6個のバッファブロック13〜18が確保されている。現在、バッファブロック13のデータが送信中であり、バッファブロック17,18は空きの状態で、新たなデータをバッファリング可能な状態にある。
【0063】
file3は毎秒6メガビット(6Mbps)の帯域のデータを受信中であり、現在、バッファブロック25にネットワークから受信したデータをバッファリング中である。バッファブロック25が一杯になった場合は、リストの最後列にあるバッファブロック24を前に移動し、新たな受信データをバッファリングする。バッファブロック9には既に受信したデータがバッファリングされており、HDD10dに書き込み可能な状況にある。書き込み後は新たなデータの受信に利用可能になる。
【0064】
file4は毎秒14メガビット(14Mbps)の帯域の転送であり、14個のバッファブロック44〜57が使用されている。現在、バッファブロック55のデータが送信中であり、バッファブロック51〜54は空きの状態で、新たなデータをバッファリング可能な状態にある。
【0065】
ところで、リアルタイム転送の送信チャンネルで、HDD10dからバッファへの読み出しが遅れると、I/F10eに送るべきデータがなくなり、ネットワークへの送信が中断してしまう。一方、受信チャンネルで、バッファからHDD10dへの書き込みが遅れた場合は、データを書き込む空き領域が無くなり、ネットワークからの受信が中断してしまう。
【0066】
これら状況を避けるため、本実施の形態においては、リアルタイム転送に関しては、各チャンネルに優先度を付与してHDD10dのI/O処理をその優先度に応じて順次行うようにしている。
【0067】
即ち、送信チャンネルの場合は、該当するバッファブロックに対してHDD10dからの読み出しができなくても送信動作を持続できる時間(持続時間)を算出し、一方、受信チャンネルの場合は、該当するバッファブロックからHDD10dへの書き込みができなくても受信動作を持続できる時間(同じく、持続時間)を算出し、これらの持続時間が短い程、HDD10dのI/O処理の優先度が高いと判定する。なお、送信時および受信時における持続時間DTX,DTRは、バッファサイズBS(Buffer Size)、バッファ中のデータ量DS(Data Size)、および、転送帯域BW(Band Width)を用いて以下の式により求めることができる。
【0068】
【数3】
DTX=DS/BW ・・・(3)
【0069】
【数4】
DTR=(BS−DS)/BW ・・・(4)
ここで、file1〜4に対応するバッファ中のデータ量をそれぞれ1908408、1782579、964608、4833280バイトとすると、持続時間はそれぞれ3.64秒、2.27秒、2.77秒、2.62秒になる。従って、最小である2.27秒のfile2に対するI/O処理の優先度が高いことになり、file2のデータがバッファ17に先読みされる。file2に対するHDD10dのI/O処理が完了した場合には、その時点のデータ量より持続時間を再計算し、同様に優先度の高いファイルに対するHDD10dのI/O処理が行われる。
【0070】
優先度が高い場合でも、リアルタイム転送のHDD10dのI/O処理はクラスタを単位として行われるため、空きのバッファブロックが足りない場合には、次に優先度が高いバッファへの処理が行われる。すべてのバッファブロックに空きが無い場合は、空きができるまで待つことになる。可変ビットレートの転送ではバッファの状況は常に変化するため、HDD10dのI/O処理を終了する度に優先度の判定を行い、その結果に応じてHDD10dのI/O処理を実行する。
【0071】
図4にリアルタイム転送とノンリアルタイム転送に対する優先度を示す。
リアルタイム転送のみの場合には以上のようにして各チャンネルのI/O処理の優先度が決定されるが、ノンリアルタイム転送の要求もある場合には、リアルタイム転送の全てのチャンネルの中で最小の持続時間に応じてノンリアルタイム転送を適宜処理する。
【0072】
即ち、本実施の形態では、図4に示すように、最小の持続時間が0秒から閾値Th1までの間である場合には、ノンリアルタイム転送の要求があったとしても処理されず、リアルタイム転送のみが実行される。
【0073】
最小の持続時間が閾値th1以上になった場合には、条件付きでノンリアルタイム転送が行われる。即ち、ノンリアルタイム転送が実行されることにより、全てのリアルタイム転送に対するI/O処理が一定期間行われない場合には最小の持続時間が更に小さくなるが、その場合であっても持続時間が許容範囲内にあることを条件としてノンリアルタイム転送を実行する。なお、後述するように、最小の持続時間が所定の閾値th2よりも大きい場合には、転送ブロックを適当に分断してリアルタイム転送を行うことにより、ノンリアルタイム転送の処理待ち時間を短縮する。
【0074】
例えば、バッファにリアルタイム転送用バッファの空きがなく、待ちの状態であると予測される場合は、次のリアルタイム転送が発生するまでの時間を計算し、それが所定のデフォルト値以上の場合にはその値を許容時間とする。本実施の形態では閾値Th1を2秒、デフォルトの許容時間の値を0.1秒としている。
【0075】
一例として、図5に条件付きノンリアルタイム転送の様子を示す。file1,file2,file3,file4のそれぞれの持続時間が3.39秒、3.57秒、3.73秒、3.86秒である場合に、各チャンネルにおいて最大帯域でデータ転送が行われると仮定して、それぞれの次のリアルタイム転送がおこるまでの時間(現在、読み出し中のバッファブロックが空になるまでの時間または現在書き込み中のバッファブロックが埋まるまでの時間)を計算すると、それぞれ390ミリ秒、240ミリ秒、500ミリ秒、150ミリ秒になる。
【0076】
これにより、最小の場合では、150ミリ秒後にfile4に対するI/O処理が実行される可能性がある。この場合では、得られた値は、デフォルトの許容値100ミリより大きいので、この150ミリ秒をノンリアルタイム転送の許容時間とする。求めた値が100ミリ秒より小さい場合は、ある程度の転送時間を確保するために許容時間を100ミリ秒とする。
【0077】
ノンリアルタイム転送の処理の所要時間は、リアルタイムアクセスの帯域保証で使用したシーケンシャルアクセスの転送速度、アクセスタイム、並びに、そのデータを転送するのに必要なアクセス回数および連続転送時間より求めることができる。
【0078】
例えば、32キロバイトデータに対するノンリアルタイム転送の要求があった場合において、そのデータがHDD10dのディスクの2つの領域に分割して記録されているときは、データ転送に20ミリ秒を要し、30ミリ秒のアクセスが2回必要なことから、合計約80ミリ秒を要すると予測し、許容時間の100ミリ秒以内なのでその処理を実行する。
【0079】
いまの例では、アクセスタイムとして固定値を用いたが、データが複数の領域に分割されて記録されている場合には、領域間の距離を算出してこの距離に応じたアクセスタイムを用いるようにしてもよい。
【0080】
また、許容時間は持続時間の最小値に応じて変化するようにしてもよい。即ち、持続時間の最小値が所定の値よりも大きい場合には、許容時間を大きくすることにより、ノンリアルタイム転送の優先度を上げることができる。
【0081】
ノンリアルタイム転送が終了した後、再度、各チャンネルの持続時間を算出し、リアルタイム転送ならびにノンリアルタイム転送の優先度を算定し、得られた値に従って処理を行う。実際には、ノンリアルタイム転送は、予測よりも早く終了することがほとんどであるので、場合によってはノンリアルタイム転送を連続して行うことも可能となる。
【0082】
以上の方法によれば、リアルタイム転送を実行中にもノンリアルタイム転送が可能になるが、リアルタイム転送はリアルタイム性を保証するために大きなサイズのクラスタ単位でHDD10dから転送を行っている。そのためリアルタイム転送中にノンリアルタイム転送の要求が発生した場合には、リアルタイム転送処理の終了を待つ必要があり、ノンリアルタイム転送の開始が遅れてしまう。これを改善するために、持続時間の最小値が閾値Th2(図4参照)以上になった場合に限り、リアルタイム転送を分断して処理するようにしてもよい。
【0083】
本実施の形態ではクラスタサイズは512キロバイトであり、データの転送時間(計算値)はアクセスタイムも含めて70ミリ秒になる。そこで持続時間の最小値が3秒以上の場合には、データの転送単位を半分の256キロバイトとすることで、ノンリアルタイム転送に要する時間を短縮することができる。
【0084】
持続時間がさらに長い場合には、更に小さな単位に分割することで、ノンリアルタイム転送に必要な時間を更に短縮することが可能である。
次に、以上に説明した機能を図1に示す情報記録装置10に実行させるための処理について説明する。以下では、情報記録装置10に対して電源が投入された時の動作について説明した後、図6〜図9を参照して以上の機能を実現するための処理について説明する。
【0085】
情報記録装置10に対して電源が投入されると、ROM10bに記録された初期化プログラムが起動され、HDD10dの所定の領域に予め記録された制御プログラムがRAM10cにロードされる。ロード後は制御プログラムに制御が移行する。制御プログラムはリアルタイムOSであり、RAM10cのワークエリアを初期化した後、ネットワーク処理タスクとHDD10d処理タスクの2つを作成する。2つのタスクはマルチタスク処理により同時に動作することが可能である。また、これら2つのタスクは、バッファの管理情報、リアルタイム転送およびノンリアルタイム転送の要求待ち行列の情報を共有し、互いに同期しながら処理を行う。
【0086】
図6、7にネットワーク処理タスクに関するフローチャートを示す。このフローチャートが開始されると、以下の処理が実行される。
[S1]CPU10aは、ネットワークまたはディスク処理タスクから処理要求が発生したか否かを判定し、処理要求が発生した場合にはステップS2に進み、それ以外の場合にはステップS1に戻って同様の処理を繰り返す。
【0087】
即ち、CPU10aは、I/F10eから入力される情報を監視することによりネットワークから処理要求を受信したか否かを判定し、また、HDD10dを制御するディスク処理タスクからのメッセージ等を監視することにより処理要求が発生したか否かを判定する。
[S2]CPU10aは、ステップS1において検出した処理要求がリアルタイム転送処理に関するものであるか否かを判定し、リアルタイム転送処理に関するものである場合には図7のステップS20に進み、それ以外の場合にはステップS3に進む。
[S3]CPU10aは、処理要求がノンリアルタイムの書き込み要求であるか否かを判定し、ノンリアルタイムの書き込み要求である場合にはステップS4に進み、それ以外の場合にはステップS5に進む。
【0088】
ここで、ノンリアルタイムに関する処理の場合には、(1)ネットワークに接続された機器から送信された書き込み要求処理もしくは(2)読み出し要求処理、または、(3)それらの要求についてのディスク処理タスクからの書き込み完了メッセージ処理もしくは(4)読み出し完了メッセージ処理の何れかであるので、ステップS3,S5,S7,S10においてこれらの何れかであるかを判定して対応する処理を行う。
[S4]CPU10aは、書き込み要求に付随する書き込み対象となるデータ(以下、書き込みデータと呼ぶ)をノンリアルタイム転送用の未使用バッファブロックに転送する。
[S5]CPU10aは、処理要求がノンリアルタイムの読み出し要求であるか否かを判定し、ノンリアルタイムの読み出し要求である場合にはステップS6に進み、それ以外の場合にはステップS7に進む。
[S6]CPU10aは、処理要求が書き込み要求である場合には、処理要求に指定されたファイル名、書き込みオフセット、および、書き込みサイズをノンリアルタイム転送要求の待ち行列に登録し、ディスク処理タスクに対して処理を要求する。また、処理要求が読み出し要求である場合には、処理要求に指定されたファイル名、読み出しオフセット、および、読み出しサイズをノンリアルタイム転送要求の待ち行列に登録し、同様に、ディスク処理タスクに対して処理を要求する。そして、ステップS1に戻り、同様の処理を繰り返す。
【0089】
その結果、ノンリアルタイム転送要求の待ち行列に書き込まれた順番に従って書き込みまたは読み出し処理が実行され、所定のデータがHDD10dに対して格納されるか、または、所定のデータがHDD10dから読み出される。書き込み処理または読み出し処理が終了すると、ディスク処理タスクは処理の終了を告げるメッセージを発生する。
[S7]CPU10aは、ディスク処理タスクからのメッセージを参照し、ノンリアルタイム書き込み処理が終了したか否かを判定し、終了した場合にはステップS8に進み、それ以外の場合にはステップS10に進む。
[S8]CPU10aは、書き込み要求を行った機器に対して書き込み完了ステータスを送信する。
[S9]CPU10aは、ノンリアルタイム転送の待ち行列から対応するデータを削除する。そして、ステップS1に戻り、同様の処理を繰り返す。
[S10]CPU10aは、ディスク処理タスクからのメッセージを参照し、ノンリアルタイム読み出し処理が終了したか否かを判定し、終了した場合にはステップS11に進み、それ以外の場合にはステップS13に進む。
[S11]CPU10aは、読み出し要求を行った機器に対して、対応するバッファブロックからデータを取得して送信する。そして、データの転送が終了すると、読み出し完了ステータスを送信する。
[S12]CPU10aは、ノンリアルタイム転送の待ち行列から対応するデータを削除するとともに、使用したバッファを解放する。そして、ステップS1に戻り、同様の処理を繰り返す。
[S13]CPU10aは、処理要求を行った機器に対してエラーのステータスを送信する。そして、ステップS1に戻り、同様の処理を繰り返す。
【0090】
次に、図7を参照して、図6のステップS2において、リアルタイム転送処理であると判定された場合に実行される処理の一例について説明する。なお、リアルタイム転送処理は、(1)再生/記録の開始要求に対する処理、(2)再生/記録の終了要求に対する処理、(3)記録データの受信処理、(4)再生データの送信処理の何れかであり、これらがステップS20,S27,S32,S34において判定され、対応する処理が実行される。
[S20]CPU10aは、処理要求がリアルタイム再生/記録の開始要求であるか否かを判定し、リアルタイム再生/記録の開始要求である場合には、ステップS21に進み、それ以外の場合にはステップS27に進む。
【0091】
なお、リアルタイム再生/記録の開始要求には、ファイル名、固定転送速度または可変転送速度の何れかの指定、使用する最大帯域、転送モード、時間オフセット、期間が含まれている。
[S21]CPU10aは、リアルタイム転送のためのネットワークの帯域を予約する。ネットワークの帯域の予約は、IEEE−1394の場合では、アイソクロナス・リソースマネージャの機器のBANDWIDTH_AVAILABLEおよびCHANNELS_AVAILABLEのレジスタに格納されている値を適宜減算することにより、リソースを取得する。なお、これらのレジスタに格納されている値は、使用可能な帯域幅とチャンネル数とをそれぞれ示している。
[S22]CPU10aは、ファイルシステムの帯域を予約する。即ち、CPU10aは、未使用の保証帯域から予約しようとする帯域を減算することでファイルシステムの帯域を予約する。なお、未使用の保証帯域は初期化時に機器の最大の保証帯域に設定されている。また、ファイルシステムの帯域の予約では、予約帯域に合わせてリアルタイム転送用の未使用のバッファブロックから順次割り当てを行う。このとき、必要なバッファブロックの数は、式(2)によって求める。
[S23]CPU10aは、ステップS21,S22において、ネットワークおよびファイルシステムの帯域予約が完了(成功)したか否かを判定し、完了した場合にはステップS25に進み、それ以外の場合にはステップS24に進む。
[S24]CPU10aは、処理要求の送信元に対してエラーが発生したことを通知する。
【0092】
その結果、要求を行った機器は、転送要求が受け付けられなかったことを認知する。
[S25]CPU10aは、リアルタイム転送要求の待ち行列に対して、ファイル名、固定転送速度または可変転送速度の何れかの指定、使用する最大帯域、転送モード、時間オフセット、期間等を示すデータを登録する。
[S26]CPU10aは、再生/記録の開始要求が受理されたことを示すステータスおよび転送に使用するチャンネルを処理要求の発信元に対して送信する。
【0093】
そして、図6に示すステップS1に戻り他の処理要求を待つ。
[S27]CPU10aは、処理要求がリアルタイム再生/記録の終了要求であるか否かを判定し、リアルタイム再生/記録の終了要求である場合にはステップS28に進み、それ以外の場合にはステップS32に進む。
【0094】
なお、処理要求がリアルタイム再生/記録の終了要求である場合には、終了の対象となるチャンネルが処理要求に指定されているのでこれを参照することにより、対象となるチャンネルを特定することができる。
[S28]CPU10aは、リアルタイム転送要求の待ち行列から該当するチャンネルのデータを削除する。
[S29]CPU10aは、処理要求の送信元に対して、リアルタイム再生/記録が終了したことを示すステータスを送信する。
[S30]CPU10aは、ファイルシステムの予約帯域および使用中のバッファブロックを解放する。
[S31]CPU10aは、IEEE−1394のアイソクロナス・リソースマネージャの機器のBANDWIDTH_AVAILABLEおよびCHANNELS_AVAILABLEのレジスタに対して所定の値を加算することにより、リソースを解放する。
【0095】
そして、図6のステップS1に戻って他の処理要求を待つ。
[S32]CPU10aは、記録開始要求を送信した機器が通信チャンネルに対してデータの送出を開始し、その結果、そのデータを受信した場合にはステップS33に進み、それ以外の場合にはステップS34に進む。
[S33]CPU10aは、該当するチャンネルからデータを取得し、バッファブロックの空き領域に格納する。記録データの受信処理は、IEEE−1394のサイクルマスタと呼ばれるノード(機器)から125μs周期で送信されるサークルスタートパケットを基準にして実行される。但し、記録データを受信する場合、データの発信元の送信タイミングによりそのチャンネルのデータ受信がない場合がある。
【0096】
なお、ファイル再生時の送信タイミングは、固定の転送速度の場合は再生時に計算できるが、可変転送速度の場合は計算できないので、記録時に時間インデックスをデータに付加して記録しておくことで、再生時にその時間インデックスを参照してタイミングを決めることができる。例えば、MPEGの画像圧縮の場合はGOP(Group Of Picture)毎に、IEEE−1394のアイソクロナス転送パケットのCIP(Common Isochronous Packet)ヘッダのタイムスタンプから再生時間を生成してデータとともに記録する。
【0097】
記録データの受信は、記録の終了要求が受理されるまで繰り返される。この間、ディスク処理タスクによってバッファからHDD10dへの書き込みが並行して処理され、リアルタイム転送が実行される。
[S34]CPU10aは、再生データの送信タイミングであるか否かを判定し、送信タイミングである場合にはステップS35に進み、それ以外の場合にはステップS36に進む。
【0098】
即ち、CPU10aは、先に受信した再生開始要求に付加されている使用最大帯域と、ファイルに付加して記録されている時間インデックスとを参照して送信タイミングを割り出し、その割り出したタイミングに該当する場合には、ステップS35に進み、それ以外の場合にはステップS36に進む。なお、CPU10aは、この判断に先立って、バッファに所定量のデータが蓄積されていることを確認する必要がある。
[S35]CPU10aは、バッファから該当するチャンネルに対してデータを送信する。そして、バッファブロックのすべてのデータを送信した場合には、そのバッファブロックは空きの状態にする。
【0099】
再生データの送信は、再生終了要求が受理されるまで繰り返される。この間、ディスク処理タスクでHDD10dからのバッファへの読み込みが並行して処理され、リアルタイム転送が実行される。
【0100】
また、再生データの送信は、送信開始直後のデータ切れを防ぐため、該当するバッファの持続時間が閾値th1以上に達するまでデータが蓄積された後に送信を開始する。送信が開始された後は、リアルタイム転送によりファイルとともに記録されている時間インデックスを参照し、そのサイクルに送信すべきかどうかタイミングをはかる。
[S36]CPU10aは、エラーのステータスを、要求を行った送信元に対して通知する。
【0101】
次に、図8および図9を参照して、ディスク処理タスクの一例を示すフローチャートについて説明する。なお、ディスク処理タスクは、前述のリアルタイム転送要求の優先度およびリアルタイム転送に対するノンリアルタイム転送の優先度に応じて、各要求を適当な順序で処理する。
[S40]CPU10aは、リアルタイム転送の要求待ち行列にリアルタイム転送要求が登録されているか否かを判定し、登録されている場合にはステップS42に進み、それ以外の場合にはステップS41に進む。
[S41]CPU10aは、ノンリアルタイム転送要求があるか否かを判定し、ノンリアル転送要求がある場合には図9のステップS65に進み、それ以外の場合にはステップS40に戻って同様の処理を繰り返す。
[S42]CPU10aは、各転送要求の現在のバッファ量を参照し、式(3),(4)を用いて持続時間DTX,DTRを求める。そして、CPU10aは、持続時間の小さい順に要求の並べ替えを行う。
[S43]CPU10aは、持続時間の最小値が閾値th1未満であるか否かを判定し、th1未満である場合にはステップS47に進み、それ以外の場合にはステップS44に進む。
【0102】
ここで、持続時間の最小値が閾値th1未満の場合には、リアルタイム転送のみ優先して実行する状態である。
[S44]CPU10aは、ノンリアルタイム転送要求があるか否かを判定し、ノンリアル転送要求がある場合には図9のステップS60に進み、それ以外の場合にはステップS45に進む。
[S45]CPU10aは、持続時間の最小値が閾値th2以上であるか否かを判定し、閾値th2以上である場合にはステップS46に進み、それ以外の場合にはステップS47に進む。
[S46]CPU10aは、ファイルシステムの負荷が軽いと判断し、リアルタイム転送における最大転送サイズをクラスタサイズの半分に設定する。これにより、一度のリアルタイム転送にかかる所要時間を短縮し、ノンリアルタイム転送の要求があった場合の待ち時間を少なくする。
【0103】
なお、閾値を複数設定して転送サイズを更に細かく変更することも可能である。
[S47]CPU10aは、リアルタイム転送における最大転送サイズをクラスタサイズに設定する。
【0104】
その結果、リアルタイム転送の最大限の帯域が保証されることになる。
[S48]CPU10aは、リアルタイム転送要求が送信要求であるか否かを判定し、送信要求の場合にはステップS49に進み、それ以外の場合にはステップS51に進む。
[S49]CPU10aは、該当するバッファに最大転送サイズの空き領域があるか否かを判定し、空き領域がある場合にはステップS50に進み、それ以外の場合にはステップS53に進む。
[S50]CPU10aは、ファイルの配置情報からアドレスを決定し、そのアドレスに格納されているデータをバッファブロックに読み出す。このとき、先の読み出しで転送サイズがクラスタサイズ以下に分断され、今回、最大転送サイズで連続して読み出せない場合は、連続して読み出せる転送サイズに変更する。
【0105】
そして、ステップS40に戻り、同様の処理を繰り返す。ここまでの処理を繰り返すことにより、リアルタイム転送の読み出し処理がその優先度に従って実行される。
[S51]CPU10aは、該当する転送バッファに最大転送サイズのデータがバッファリングされているか否かを判定し、バッファリングされている場合はステップS52に進み、それ以外の場合にはステップS53に進む。
[S52]CPU10aは、バッファからHDD10dに転送サイズのデータを書き込む。このとき、先の書き込みで転送サイズがクラスタ以下に分断され、今回、最大転送サイズで連続して書き込めない場合には、連続して書き込める転送サイズに変更する。
【0106】
なお、バッファブロックのすべてのデータの書き込みが完了した場合は、そのバッファブロックは空の状態にする。
そして、ステップS40に戻り、同様の処理を繰り返す。
【0107】
ここまでの処理を繰り返し実行することにより、リアルタイム転送の書き込み処理が、その優先度に従って実行されることになる。
[S53]CPU10aは、全ての待ち要求に対応する処理を完了したか否かを判定し、全ての処理が完了した場合にはステップS40に戻り、それ以外の場合にはステップS54に進む。
[S54]CPU10aは、次に持続時間が小さい要求を取得し、ステップS47に戻って同様の処理を繰り返す。
【0108】
次に、図9を参照して、図8の処理に続いて実行される他の処理の一例について説明する。
[S60]CPU10aは、現在のリアルタイム転送のバッファの状況から、最短で実行されるリアルタイム転送迄の時間を予測し、それをノンリアルタイム転送に割り当て可能な許容時間tpとする。
[S61]CPU10aは、ステップS60において求めた許容時間tpが所定のデフォルト値(例えば、100ミリ秒)未満であるか否かを判定し、デフォルト値未満である場合にはステップS62に進み、それ以外の場合にはステップS63に進む。
[S62]CPU10aは、許容時間tpをデフォルト値に設定する。
【0109】
なお、このデフォルト値を大きく設定すると、ノンリアルタイム転送の優先度が上昇するので、持続時間の最小値の状況から、ファイルシステムの負荷が少ないと判定される場合にはデフォルト値を大きい値に変更することも可能である。
[S63]CPU10aは、ノンリアルタイム転送の待ち行列とファイル配置情報とを参照して各ノンリアルタイム転送の所要時間を予測する。
【0110】
なお、ノンリアルタイム転送の所要時間が所定の値よりも大きい場合には、ノンリアルタイム転送を適宜分断して行うようにしてもよい。
[S64]CPU10aは、許容時間tp内に転送可能なデータが存在するか否かを判定し、転送可能データが存在する場合にはステップS65に進み、それ以外の場合には図8のステップS45に進み、ノンリアルタイム転送処理は実行せずにリアルタイム転送処理を優先して実行する。
[S65]CPU10aは、処理要求が書き込みで要求であるか否かを判定し、書き込み要求の場合にはステップS66に進み、それ以外の場合にはステップS68に進む。
[S66]CPU10aは、ノンリアルタイム転送用バッファから所定のデータ(ステップS64において転送可能と判定されたデータ)を取得し、HDD10dに対してデータを書き込む。
[S67]CPU10aは、書き込みによりバッファブロックのすべてのデータの書き込みが完了した場合には、そのバッファブロックを解放する。
[S68]CPU10aは、HDD10dからノンリアルタイム転送用バッファの空き領域にデータ(ステップS64において転送可能と判定されたデータ)を読み出す。
[S69]CPU10aは、今回の転送にてノンリアルタイム転送の要求が完了したか否かを判定し、全てのデータの書き込みまたは読み出しが完了した場合には、ステップS70に進み、それ以外の場合には図8のステップS40に戻って同様の処理を繰り返す。
[S70]CPU10aは、ネットワーク処理タスクにディスク処理の完了を通知する。このメッセージを受信することにより、ネットワーク処理タスクは図6のステップS7,S10において、ノンリアルタイム書き込み/読み出し処理を終了したと判定することになる。
【0111】
以上に述べたように、本発明では、HDD10dのシーケンシャルアクセスの転送速度およびランダムアクセス時の最大アクセス時間から、リアルタイム転送のファイルの記録時における連続領域の最小単位を求め、それをHDD10dのI/O処理の最小単位とすることで、リアルタイム転送の最大帯域を決定し、リアルタイム転送を帯域保証することが可能となる。
【0112】
また、転送帯域の異なる複数のリアルタイム転送に対して、帯域予約時に機器の保証帯域およびバッファを割り当て、バッファのデータ残量と転送速度とから各リアルタイム処理の優先度を決定しファイルシステムのディスク処理を行うことで、可変転送速度のリアルタイム転送に対して最適な優先度を割り当て、帯域保証することが可能となる。
【0113】
更に、リアルタイム転送のバッファリングされているデータ量と転送速度とから、ファイルシステムの負荷を求め、その負荷状況によりノンリアルタイム転送の優先度を決定することで、リアルタイム転送の帯域を保証しながら、未使用のHDD10dのI/O処理能力を利用してノンリアルタイム転送を効率よく行うことが可能となる。
【0114】
更にまた、ノンリアルタイム転送の優先度は、ノンリアルタイム転送によって起こされるであろうリアルタイム転送のバッファ量の低下の許容時間およびノンリアルタイム転送にかかるであろう処理時間の予測値を用いることにより、簡単に判断することが可能となる。
【0115】
また、ファイルシステムの負荷が軽い場合は、リアルタイム転送のディスクI/O処理の単位を分割するようにしたので、ノンリアルタイム転送の処理待ち時間を短くすることが可能となる。
【0116】
なお、本実施の形態においては、リアルタイム再生の開始時にデータが途切れることを防止するために、該当するバッファにデータを所定量だけ蓄積する処理を行う。この間は、この蓄積処理が優先して実行されるため、対象となるリアルタイム再生を迅速に起動することができる一方で、他のリアルタイム転送に係るバッファのデータ量はその間に急激に減少することになる。そのため、再生要求から送信開始までの遅延が許容される転送の場合には、送信開始前のデータ蓄積処理中だけリアルタイム転送要求をノンリアルタイム転送要求として扱うことにより優先度を下げ、データ蓄積処理による弊害の発生を防止することができる。
【0117】
その場合は、図8のステップS42,S43では、送信前のリアルタイム転送は、ノンリアルタイム転送として扱われるので、ステップS44ではYESと判定されて図9のステップS60に進み、該当するバッファの持続時間が閾値th1以上になるまでノンリアルタイム転送の要求として処理され、ステップS63〜ステップS68において、ディスクからバッファへの読み出し処理が実行される。その後は、通常のリアルタイム転送要求として処理が継続される。
【0118】
また、本実施の形態では、リアルタイム転送のバッファの最低値が閾値th2以上の場合には、転送サイズを2つに分割することにより、ノンリアルタイム転送の要求の完了待ち時間を短縮するようにしているが、分割された一方の転送が完了した時点においてノンリアルタイム転送の要求がない場合には、他方の転送を継続して行うことにより不要なシークの発生を防止することができる。このような処理を実現するためには、図8のステップS50,S52において、クラスタサイズの半分の領域の転送が完了した後に、ノンリアルタイム転送の要求が存在するか否かを判定し、要求がない場合には残り半分のクラスタに対する転送処理を継続して実行するようにすればよい。
【0119】
更に、本実施の形態では、ノンリアルタイム転送においては転送帯域は保証されないが、所定の転送速度まではリアルタイム転送と同等の優先度にてディスク処理を行い、それ以上の転送速度に対しては上述と同様の方法(ディスク処理の負荷に応じた処理方法)により処理することにより、最低帯域を保証した速度可変の転送が実現可能となる。但し、このような場合には、情報記録装置のみならず、ネットワーク自体が同様の最低保証帯域予約を実行可能である必要があり、IEEE−1394規格ではこのような転送方式はサポートされていないので、例えば、ネットワークとしてはATM(Asynchronous Transfer Mode)を使用し、可変伝送速度(Variable Bit Rate)方式の転送により、最低保証帯域を平均セル速度(Sustainable Cell Rate)と指定することにより実現可能となる。
【0120】
図10および図11は、最低保証帯域転送のネットワーク処理タスク、ディスク処理タスクをそれぞれ示すフローチャートの一例である。図10に示す処理は、図6に示すネットワーク処理タスクのフローチャートのステップS2を実行する前に、帯域保証リアルタイム転送に関する要求か否かを判定し、該当する場合に実行される。このフローチャートが開始されると以下の処理が実行される。なお、最低保証転送に関する処理要求は、(1)開始要求、(2)終了要求、(3)書き込み要求、(4)読み込み要求の4つがある。
[S80]CPU10aは、処理要求が最低保証帯域転送開始要求であるか否かを判定し、最低保証帯域転送開始要求である場合にはステップS81に進み、それ以外の場合にはステップS84に進む。
[S81]CPU10aは、最低保証帯域を最大保証帯域として扱い、リアルタイム転送の帯域予約の場合と同様に、ネットワークおよびファイルシステムの帯域予約を実行する。
【0121】
なお、最低保証帯域転送に使用するバッファは、リアルタイム転送用バッファから流用される。
[S82]CPU10aは、処理要求を最低保証帯域転送の要求待ち行列に登録する。
【0122】
その結果、ディスク処理タスクはファイル配置管理情報を利用して先読み、遅延書き込み処理を実行するので、データがバッファリングされることになる。
[S83]CPU10aは、処理要求送信元に対してステータス、および、読み込み/書き込み要求で使用するファイルハンドラを送信する。そして、図6のステップS1の処理に戻り、同様の処理を繰り返す。
【0123】
なお、開始要求により帯域予約を行った後は、指定したモードに合わせて、書き込み要求、または、読み出し要求に対する処理が実行できるようになる。
[S84]CPU10aは、処理要求が最低保証帯域転送終了要求であるか否かを判定し、最低保証帯域転送終了要求である場合にはステップS85に進み、それ以外の場合にはステップS88に進む。
【0124】
なお、最低保証帯域転送終了要求には、終了を要求するファイルハンドラが指定されているのでこれを参照することにより終了の対象を特定する。
[S85]CPU10aは、最低保証帯域転送の要求待ち行列から該当するデータを削除する。
[S86]CPU10aは、ファイルシステムおよびネットワークの予約帯域を解放する。
[S87]CPU10aは、処理要求の送信元に対してステータスを送信した後、図6のステップS1に戻って同様の処理を繰り返す。
[S88]CPU10aは、処理要求が最低保証帯域転送書き込み要求であるか否かを判定し、最低保証帯域転送書き込み要求である場合にはステップS89に進み、それ以外の場合にはステップS92に進む。
[S89]CPU10aは、書き込み要求に付随する書き込みデータを、割り当てられたリアルタイム転送用の未使用バッファブロックに対して転送する。
【0125】
なお、書き込み要求には、ファイルハンドラ、書き込みオフセット、書き込みサイズなどが指定されており、CPU10aは、これらのデータを参照することにより、書き込みを実行する。
[S90]CPU10aは、書き込み要求で処理できる最大転送サイズの空きがバッファに存在するか否かを判定し、存在する場合にはステップS91に進み、それ以外の場合にはステップS90に戻って空きが発生するまで同様の処理を繰り返す。
【0126】
この処理により、バッファに最大転送サイズの空きが無い場合には、ディスクへの書き込みが実行され、バッファに最大転送サイズの空きができるまで待機することになる。その結果、次の書き込み要求が発行された場合に、ステップS89の処理において書き込みデータをバッファに転送できることを保証できる。
[S91]CPU10aは、書き込み要求の送信元に対して、書き込み完了を通知する。そして、図6のステップS1の処理に戻り、同様の処理を繰り返す。
[S92]CPU10aは、処理要求が最低保証帯域転送読み出し要求であるか否かを判定し、最低保証帯域転送読み出し要求である場合にはステップS93に進み、それ以外の場合にはステップS95に進む。
【0127】
なお、読み出し要求にはファイルハンドラ、読み出しオフセット、読み出しサイズが指定されているので、CPU10aはこれらを参照して読み出し処理を実行する。
[S93]CPU10aは、ディスク処理タスクにより先読みされてバッファリングされているデータを読み出し要求を行った送信元に対して送信する。
【0128】
なお、読み出しの場合には、最低転送帯域が保証されるようにディスク処理タスクによって優先的に処理が実行されることから、バッファにはデータが必ずバッファリングされている。
[S94]CPU10aは、読み出し要求の送信元に対して、読み出しが完了したことを通知する。そして、図6のステップS1の処理に戻り、同様の処理を繰り返す。
[S95]CPU10aは、エラーが発生したことを送信元に対して通知する。そして、図6のステップS1の処理に戻り、同様の処理を繰り返す。
【0129】
図11は、最低保証帯域転送に係るディスク処理タスクの一例を示すフローチャートである。この処理は、図8のステップS40の処理の前に、ノンリアルタイム転送の要求が存在するか否かを判定し、存在する場合に実行される。このフローチャートが開始されると以下の処理が実行される。
[S100]CPU10aは、リアルタイム転送要求の待ち行列および最低保証帯域転送要求の待ち行列と、各転送要求のバッファのデータ量とから持続時間を求め、持続時間が小さい順に並べ替えを行う。
[S101]CPU10aは、持続時間の最低値が閾値th1未満である場合にはステップS105に進み、それ以外の場合にはステップS102に進む。
[S102]CPU10aは、持続時間の最低値を有する処理要求が最低保証帯域転送であるか否かを判定し、最低保証帯域転送である場合にはステップS103に進み、それ以外の場合には図8のステップS45に進む。
[S103]CPU10aは、バッファとネットワークとの間の転送レートが予約帯域以下である場合にはステップS104に進み、それ以外の場合には図8のステップS53に進む。
【0130】
なお、ステップS53以降の処理では、次に優先度が高いリアルタイム転送に関する処理が実行されることになる。
[S104]CPU10aは、最低保証帯域転送の要求をリアルタイム転送として扱い、図8のステップS45からステップS50またはステップS52までのリアルタイム転送に関するディスク処理を実行する。
[S105]CPU10aは、ノンリアルタイム転送の要求が存在するか否かを判定し、存在する場合には図9のステップS60に進んで通常のノンリアルタイム転送処理を実行する、それ以外の場合にはステップS106に進む。
[S106]CPU10aは、最低保証帯域転送の要求が存在するか否かを判定し、存在する場合にはステップS107に進み、それ以外の場合には図8のステップS45に進む。
[S107]CPU10aは、最低保証帯域転送の転送サイズをクラスタサイズの半分に設定した後、最低保証帯域転送の要求を通常のノンリアルタイム転送と同様の優先度にて処理する。
[S108]CPU10aは、処理要求が書き込み要求であるか否かを判定し、書き込み要求である場合にはステップS109に進み、それ以外の場合にはステップS110に進む。
[S109]CPU10aは、バッファに転送サイズのデータが存在するか否かを判定し、存在する場合にはステップS111に進み、それ以外の場合には図8のステップS45に進み、リアルタイム転送処理を実行する。
[S110]CPU10aは、バッファに転送サイズの空き領域が存在するか否かを判定し、存在する場合にはステップS111に進み、それ以外の場合には図8のステップS45に進み、リアルタイム転送処理を実行する。
[S111]CPU10aは、最低保証帯域転送要求をノンリアルタイム転送要求と見なして処理を継続する。
【0131】
即ち、最低保証帯域転送要求をノンリアルタイム転送要求と見なして、図9のステップS60以降の処理を実行する。
以上の処理によれば、ディスク処理タスクは、ネットワークの転送レートが最低保証帯域以下の場合は、最低保証帯域転送の要求をリアルタイム転送と見なして優先度を決定して処理し、それを越えた場合にはノンリアルタイム転送として処理するので、ディスクの転送能力を最大限に利用したバッファリングが可能となり、最低転送速度を保証した可変レートの転送を実現することができる。
【0132】
但し、このような処理を実現するためには、転送の要求元にて最低保証帯域以上のデータの送信/受信能力を具備している必要がある。
なお、以上の実施の形態では、リアルタイム転送のファイルシステムの負荷を、バッファのデータ量より求めた送信/受信の持続時間で判断したが、バッファ残量の平均値を利用することもできる。また、平均値を求める際には、少ないバッファ量に関しては加重して平均値を求めることもできる。
【0133】
また、以上の実施の形態ではHDDを例に挙げて説明を行ったが、例えば、DVDや光磁気ディスク等のようにランダムアクセスに時間を要する記録媒体であれば同様の効果を得ることができる。
【0134】
【発明の効果】
以上説明したように本発明では、少なくとも1の情報処理装置とネットワークを介して接続され、情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を情報処理装置に対して伝送する情報記録装置において、情報処理装置との間でネットワークを介して情報を送受信する送受信手段と、情報を記録する記録手段と、記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、情報処理装置からリアルタイム転送の要求がなされた場合には、算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段と、情報処理装置から伝送されてきた情報であって記録手段に記録しようとする情報を一時的に格納するとともに、記録手段から再生された情報であって情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を格納手段に確保する格納領域確保手段と、転送処理中は、格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように記録手段に対する情報の記録再生動作を管理する管理手段と、を有するようにし、この管理手段がさらに、複数の情報処理装置から並行してリアルタイム転送の要求がなされた場合には、各格納領域に格納されている情報の量と、その転送速度とに応じて処理の優先度を決定し、決定した優先度に応じて記録手段に対する情報の記録再生動作を実行するようにしたことにより、リアルタイム転送を帯域保証することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態の構成例を示すブロック図である。
【図2】図1に示すRAMの分割の一態様を示す図である。
【図3】リアルタイム転送用バッファの動作の概要を示す図である。
【図4】リアルタイム転送とノンリアルタイム転送に対する優先度の一例を示す図である。
【図5】条件付きノンリアルタイム転送の様子を示す図である。
【図6】ネットワーク処理タスクに関する処理の一例を説明するフローチャートである。
【図7】ネットワーク処理タスクに関する処理の一例を説明するフローチャートである。
【図8】ディスク処理タスクの関する処理の一例を説明するフローチャートである。
【図9】ディスク処理タスクの関する処理の一例を説明するフローチャートである。
【図10】最低保証帯域転送のネットワーク処理の一例を説明するフローチャートである。
【図11】最低保証帯域転送のディスク処理の一例を説明するフローチャートである。
【符号の説明】
10……情報記録装置,10a……CPU,10b……ROM,10c……RAM,10d……HDD,10e……I/F,20……接続ケーブル,30……ディジタルテレビ,40……パーソナルコンピュータ,50……ディジタル受信機,50a……パラボラアンテナ,60……ディジタルビデオカメラ

Claims (11)

  1. 少なくとも1の情報処理装置とネットワークを介して接続され、前記情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を前記情報処理装置に対して伝送する情報記録装置において、
    前記情報処理装置との間で前記ネットワークを介して情報を送受信する送受信手段と、
    情報を記録する記録手段と、
    前記記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から前記記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、
    前記情報処理装置からリアルタイム転送の要求がなされた場合には、前記算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段と、
    前記情報処理装置から伝送されてきた情報であって前記記録手段に記録しようとする情報を一時的に格納するとともに、前記記録手段から再生された情報であって前記情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、
    前記情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を前記格納手段に確保する格納領域確保手段と、
    転送処理中は、前記格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように前記記録手段に対する情報の記録再生動作を管理する管理手段と、
    を有し、
    前記管理手段は、複数の情報処理装置から並行してリアルタイム転送の要求がなされた場合には、各格納領域に格納されている情報の量と、その転送速度とに応じて処理の優先度を決定し、決定した優先度に応じて前記記録手段に対する情報の記録再生動作を実行することを特徴とする情報記録装置。
  2. 前記管理手段は、前記記録手段の記録再生動作を停止した場合に、前記各情報処理装置に対して持続して情報を送受信可能な持続時間を各格納領域に格納されている情報の量を参照して算出し、その持続時間に応じて前記優先度を決定することを特徴とする請求項1記載の情報記録装置。
  3. 少なくとも1の情報処理装置とネットワークを介して接続され、前記情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を前記情報処理装置に対して伝送する情報記録装置において、
    前記情報処理装置との間で前記ネットワークを介して情報を送受信する送受信手段と、
    情報を記録する記録手段と、
    前記記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から前記記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、
    前記情報処理装置からリアルタイム転送の要求がなされた場合には、前記算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段と、
    前記情報処理装置から伝送されてきた情報であって前記記録手段に記録しようとする情報を一時的に格納するとともに、前記記録手段から再生された情報であって前記情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、
    前記情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を前記格納手段に確保する格納領域確保手段と、
    転送処理中は、前記格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように前記記録手段に対する情報の記録再生動作を管理する管理手段と、
    を有し、
    前記管理手段は、
    前記情報処理装置からノンリアルタイム転送の要求がなされた場合には、実行中のリアルタイム転送の転送動作を保証できることを条件として、その要求を実行し、
    各格納領域に格納されている情報の量と、その転送速度とに応じて算出される前記記録手段への記録再生動作の負荷状態がある閾値よりも高い場合はリアルタイム転送を優先的に実行し、前記負荷状態がある閾値よりも低い場合にはノンリアルタイム転送を優先的に実行する、
    ことを特徴とする情報記録装置。
  4. 前記管理手段は、前記記録手段の記録再生動作を停止した場合に、前記各情報処理装置に対して持続して情報を送受信可能な持続時間を各格納領域に格納されている情報の量を参照して算出し、得られた持続時間の中で最小の持続時間の値から記録再生動作の負荷状態を推定することを特徴とする請求項3記載の情報記録装置。
  5. 前記管理手段は、ノンリアルタイム転送の所要時間と、次のリアルタイム転送が実行されるまでの待ち時間とを予測し、予測したこれらの時間に応じてノンリアルタイム転送を適宜実行することを特徴とする請求項記載の情報記録装置。
  6. 少なくとも1の情報処理装置とネットワークを介して接続され、前記情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を前記情報処理装置に対して伝送する情報記録装置において、
    前記情報処理装置との間で前記ネットワークを介して情報を送受信する送受信手段と、
    情報を記録する記録手段と、
    前記記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から前記記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、
    前記情報処理装置からリアルタイム転送の要求がなされた場合には、前記算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段と、
    前記情報処理装置から伝送されてきた情報であって前記記録手段に記録しようとする情報を一時的に格納するとともに、前記記録手段から再生された情報であって前記情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、
    前記情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を前記格納手段に確保する格納領域確保手段と、
    転送処理中は、前記格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように前記記録手段に対する情報の記録再生動作を管理する管理手段と、
    を有し、
    前記管理手段は、各格納領域に格納されている情報の量と、その転送速度とに応じて算出される前記記録手段への記録再生動作の負荷状態がある閾値よりも低い場合には前記最小連続領域に対する転送処理を適宜分割して実行することを特徴とする情報記録装置。
  7. 前記管理手段は、前記記録手段の記録再生動作を停止した場合に、前記各情報処理装置に対して持続して情報を送受信可能な持続時間を各格納領域に格納されている情報の量を参照して算出し、得られた持続時間の中で最小の持続時間の値から記録再生動作の負荷状態を推定することを特徴とする請求項6記載の情報記録装置。
  8. 前記管理手段は、前記分割した転送処理が終了した時点で、ノンリアルタイム転送の要求が存在しない場合には、分割された他の転送処理を継続して実行することを特徴とする請求項記載の情報記録装置。
  9. 少なくとも1の情報処理装置とネットワークを介して接続され、前記情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を前記情報処理装置に対して伝送する情報記録装置において、
    前記情報処理装置との間で前記ネットワークを介して情報を送受信する送受信手段と、
    情報を記録する記録手段と、
    前記記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から前記記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、
    前記情報処理装置からリアルタイム転送の要求がなされた場合には、前記算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段 と、
    前記情報処理装置から伝送されてきた情報であって前記記録手段に記録しようとする情報を一時的に格納するとともに、前記記録手段から再生された情報であって前記情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、
    前記情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を前記格納手段に確保する格納領域確保手段と、
    転送処理中は、前記格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように前記記録手段に対する情報の記録再生動作を管理する管理手段と、
    を有し、
    前記管理手段は、前記情報処理装置からリアルタイム転送の再生要求がなされた場合には、前記所定量の情報が格納領域に格納されてから前記ネットワークへの送信を開始し、前記所定量の情報が格納されるまでの間は、その再生要求に関する前記記録手段からの再生動作についての優先度を一時的に下げることを特徴とする情報記録装置。
  10. 前記管理手段は、前記所定量の情報が格納されるまでの間は、リアルタイム転送の再生要求を、ノンリアルタイム転送の再生要求と見なして処理することを特徴とする請求項9記載の情報記録装置。
  11. 少なくとも1の情報処理装置とネットワークを介して接続され、前記情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を前記情報処理装置に対して伝送する情報記録装置において、
    前記情報処理装置との間で前記ネットワークを介して情報を送受信する送受信手段と、
    情報を記録する記録手段と、
    前記記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から前記記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、
    前記情報処理装置からリアルタイム転送の要求がなされた場合には、前記算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段と、
    前記情報処理装置から伝送されてきた情報であって前記記録手段に記録しようとする情報を一時的に格納するとともに、前記記録手段から再生された情報であって前記情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、
    前記情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を前記格納手段に確保する格納領域確保手段と、
    転送処理中は、前記格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように前記記録手段に対する情報の記録再生動作を管理する管理手段と、
    を有し、
    前記管理手段は、前記情報処理装置から所定の転送要求がなされた場合であって、前記格納手段と前記ネットワークとの間の情報転送速度が所定の閾値未満の場合には前記所定の転送要求をリアルタイム転送と同様の方法により処理し、また、前記情報転送速度が所定の閾値以上の場合には前記所定の転送要求をノンリアルタイム転送と同様の方法により処理することを特徴とする情報記録装置。
JP00614499A 1999-01-13 1999-01-13 情報記録装置 Expired - Fee Related JP4089060B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00614499A JP4089060B2 (ja) 1999-01-13 1999-01-13 情報記録装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00614499A JP4089060B2 (ja) 1999-01-13 1999-01-13 情報記録装置

Publications (3)

Publication Number Publication Date
JP2000209218A JP2000209218A (ja) 2000-07-28
JP2000209218A5 JP2000209218A5 (ja) 2006-03-23
JP4089060B2 true JP4089060B2 (ja) 2008-05-21

Family

ID=11630333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00614499A Expired - Fee Related JP4089060B2 (ja) 1999-01-13 1999-01-13 情報記録装置

Country Status (1)

Country Link
JP (1) JP4089060B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4521206B2 (ja) * 2004-03-01 2010-08-11 株式会社日立製作所 ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法
JP2006178670A (ja) * 2004-12-21 2006-07-06 Nec Corp ファイル入出力制御装置、ファイル入出力制御方法及びファイル入出力制御プログラム
US7382744B2 (en) * 2005-01-27 2008-06-03 Qualcomm Incorporated Systems and methods for optimizing the allocation of resources to serve different types of data flows in a wireless communication system
JP2008097462A (ja) * 2006-10-13 2008-04-24 Canon Inc 情報処理装置及び情報処理方法
JP2009259060A (ja) * 2008-04-18 2009-11-05 Hitachi Ltd ストリームデータ記録再生装置
JP5325523B2 (ja) * 2008-10-15 2013-10-23 京セラドキュメントソリューションズ株式会社 画像形成装置
JP5325524B2 (ja) * 2008-10-15 2013-10-23 京セラドキュメントソリューションズ株式会社 電子機器
KR101832997B1 (ko) * 2013-07-16 2018-04-13 마벨 월드 트레이드 리미티드 Usb 데이터 전달들을 관리하기 위한 시스템들 및 방법들

Also Published As

Publication number Publication date
JP2000209218A (ja) 2000-07-28

Similar Documents

Publication Publication Date Title
JP3617089B2 (ja) 映像蓄積配送装置及び映像蓄積配送システム
US6690648B2 (en) Data communication apparatus, method, and system utilizing reception capability information of a destination node
EP0673160B1 (en) Look-ahead scheduling to support video-on-demand applications
US20230161515A1 (en) Multi-stream ssd qos management
JP2012080417A (ja) ストリーミング再生装置、ストリーミング再生方法、コンピュータプログラム及び記録媒体
JP2003525486A (ja) 有限要求リオーダを用いるディスク・スケジューリング・システム
JP4089060B2 (ja) 情報記録装置
JP4377028B2 (ja) リソース管理システム
JP4408692B2 (ja) 通信装置管理プログラム
US6721859B1 (en) Multi-protocol media storage device implementing protocols optimized for storing and retrieving both asynchronous and isochronous data
JP2004334459A (ja) 記録再生装置、記録再生方法、および記録再生プログラム
KR100311707B1 (ko) 데이타 통신 시스템, 데이타 통신 방법, 데이타 통신 장치 및 디지탈 인터페이스
JPH10240548A (ja) タスクスケジューリング装置及び方法
JP5192506B2 (ja) ファイルキャッシュの管理方法、装置、及び、プログラム
JP4660404B2 (ja) データ転送装置及びデータ転送方法
JP3540835B2 (ja) ビデオメモリ装置及びビデオサーバシステム
JP2005508114A (ja) 家庭用ビデオ・サーバのための受入れ制御システム
JP2000092471A (ja) ビデオサーバ装置、その帯域管理方法、及び帯域管理プログラムを記録した記録媒体
JP3512736B2 (ja) パケット送受信装置
WO2022180903A1 (ja) データ記録システム及びデータ記録システムの制御方法
JP2004013962A (ja) 映像記録再生装置及びファイルシステム
JP2001337913A (ja) データ転送システムとそのデバイス
EP1228436A1 (en) Device for storing audio/video data and non audio/video data
JP4675290B2 (ja) マルチメディア蓄積配信サーバ、および、マルチメディアデータ多重読出し書込み方法
JP3416498B2 (ja) サーバ装置およびその制御方法並びにサーバ装置制御プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051202

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080218

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees