(57)【特許請求の範囲】
【請求項１】
少なくとも１の情報処理装置とネットワークを介して接続され、前記情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を前記情報処理装置に対して伝送する情報記録装置において、
前記情報処理装置との間で前記ネットワークを介して情報を送受信する送受信手段と、
情報を記録する記録手段と、
前記記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から前記記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、
前記情報処理装置からリアルタイム転送の要求がなされた場合には、前記算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段と、
前記情報処理装置から伝送されてきた情報であって前記記録手段に記録しようとする情報を一時的に格納するとともに、前記記録手段から再生された情報であって前記情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、
前記情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を前記格納手段に確保する格納領域確保手段と、
転送処理中は、前記格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように前記記録手段に対する情報の記録再生動作を管理する管理手段と、
を有し、
前記管理手段は、複数の情報処理装置から並行してリアルタイム転送の要求がなされた場合には、各格納領域に格納されている情報の量と、その転送速度とに応じて処理の優先度を決定し、決定した優先度に応じて前記記録手段に対する情報の記録再生動作を実行することを特徴とする情報記録装置。
【請求項２】
前記管理手段は、前記記録手段の記録再生動作を停止した場合に、前記各情報処理装置に対して持続して情報を送受信可能な持続時間を各格納領域に格納されている情報の量を参照して算出し、その持続時間に応じて前記優先度を決定することを特徴とする請求項１記載の情報記録装置。
【請求項３】
少なくとも１の情報処理装置とネットワークを介して接続され、前記情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を前記情報処理装置に対して伝送する情報記録装置において、
前記情報処理装置との間で前記ネットワークを介して情報を送受信する送受信手段と、
情報を記録する記録手段と、
前記記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から前記記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、
前記情報処理装置からリアルタイム転送の要求がなされた場合には、前記算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段と、
前記情報処理装置から伝送されてきた情報であって前記記録手段に記録しようとする情報を一時的に格納するとともに、前記記録手段から再生された情報であって前記情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、
前記情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を前記格納手段に確保する格納領域確保手段と、
転送処理中は、前記格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように前記記録手段に対する情報の記録再生動作を管理する管理手段と、
を有し、
前記管理手段は、
前記情報処理装置からノンリアルタイム転送の要求がなされた場合には、実行中のリアルタイム転送の転送動作を保証できることを条件として、その要求を実行し、
各格納領域に格納されている情報の量と、その転送速度とに応じて算出される前記記録手段への記録再生動作の負荷状態がある閾値よりも高い場合はリアルタイム転送を優先的に実行し、前記負荷状態がある閾値よりも低い場合にはノンリアルタイム転送を優先的に実行する、
ことを特徴とする情報記録装置。
【請求項４】
前記管理手段は、前記記録手段の記録再生動作を停止した場合に、前記各情報処理装置に対して持続して情報を送受信可能な持続時間を各格納領域に格納されている情報の量を参照して算出し、得られた持続時間の中で最小の持続時間の値から記録再生動作の負荷状態を推定することを特徴とする請求項３記載の情報記録装置。
【請求項５】
前記管理手段は、ノンリアルタイム転送の所要時間と、次のリアルタイム転送が実行されるまでの待ち時間とを予測し、予測したこれらの時間に応じてノンリアルタイム転送を適宜実行することを特徴とする請求項４記載の情報記録装置。
【請求項６】
少なくとも１の情報処理装置とネットワークを介して接続され、前記情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を前記情報処理装置に対して伝送する情報記録装置において、
前記情報処理装置との間で前記ネットワークを介して情報を送受信する送受信手段と、
情報を記録する記録手段と、
前記記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から前記記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、
前記情報処理装置からリアルタイム転送の要求がなされた場合には、前記算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段と、
前記情報処理装置から伝送されてきた情報であって前記記録手段に記録しようとする情報を一時的に格納するとともに、前記記録手段から再生された情報であって前記情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、
前記情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を前記格納手段に確保する格納領域確保手段と、
転送処理中は、前記格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように前記記録手段に対する情報の記録再生動作を管理する管理手段と、
を有し、
前記管理手段は、各格納領域に格納されている情報の量と、その転送速度とに応じて算出される前記記録手段への記録再生動作の負荷状態がある閾値よりも低い場合には前記最小連続領域に対する転送処理を適宜分割して実行することを特徴とする情報記録装置。
【請求項７】
前記管理手段は、前記記録手段の記録再生動作を停止した場合に、前記各情報処理装置に対して持続して情報を送受信可能な持続時間を各格納領域に格納されている情報の量を参照して算出し、得られた持続時間の中で最小の持続時間の値から記録再生動作の負荷状態を推定することを特徴とする請求項６記載の情報記録装置。
【請求項８】
前記管理手段は、前記分割した転送処理が終了した時点で、ノンリアルタイム転送の要求が存在しない場合には、分割された他の転送処理を継続して実行することを特徴とする請求項６記載の情報記録装置。
【請求項９】
少なくとも１の情報処理装置とネットワークを介して接続され、前記情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を前記情報処理装置に対して伝送する情報記録装置において、
前記情報処理装置との間で前記ネットワークを介して情報を送受信する送受信手段と、
情報を記録する記録手段と、
前記記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から前記記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、
前記情報処理装置からリアルタイム転送の要求がなされた場合には、前記算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段と、
前記情報処理装置から伝送されてきた情報であって前記記録手段に記録しようとする情報を一時的に格納するとともに、前記記録手段から再生された情報であって前記情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、
前記情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を前記格納手段に確保する格納領域確保手段と、
転送処理中は、前記格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように前記記録手段に対する情報の記録再生動作を管理する管理手段と、
を有し、
前記管理手段は、前記情報処理装置からリアルタイム転送の再生要求がなされた場合には、前記所定量の情報が格納領域に格納されてから前記ネットワークへの送信を開始し、前記所定量の情報が格納されるまでの間は、その再生要求に関する前記記録手段からの再生動作についての優先度を一時的に下げることを特徴とする情報記録装置。
【請求項１０】
前記管理手段は、前記所定量の情報が格納されるまでの間は、リアルタイム転送の再生要求を、ノンリアルタイム転送の再生要求と見なして処理することを特徴とする請求項９記載の情報記録装置。
【請求項１１】
少なくとも１の情報処理装置とネットワークを介して接続され、前記情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を前記情報処理装置に対して伝送する情報記録装置において、
前記情報処理装置との間で前記ネットワークを介して情報を送受信する送受信手段と、
情報を記録する記録手段と、
前記記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から前記記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、
前記情報処理装置からリアルタイム転送の要求がなされた場合には、前記算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段と、
前記情報処理装置から伝送されてきた情報であって前記記録手段に記録しようとする情報を一時的に格納するとともに、前記記録手段から再生された情報であって前記情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、
前記情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を前記格納手段に確保する格納領域確保手段と、
転送処理中は、前記格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように前記記録手段に対する情報の記録再生動作を管理する管理手段と、
を有し、
前記管理手段は、前記情報処理装置から所定の転送要求がなされた場合であって、前記格納手段と前記ネットワークとの間の情報転送速度が所定の閾値未満の場合には前記所定の転送要求をリアルタイム転送と同様の方法により処理し、また、前記情報転送速度が所定の閾値以上の場合には前記所定の転送要求をノンリアルタイム転送と同様の方法により処理することを特徴とする情報記録装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は記録装置に関し、特に、少なくとも１の情報処理装置とネットワークを介して接続され、情報処理装置から伝送されてきた情報を記録するとともに、記録されている情報を情報処理装置に対して伝送する情報記録装置に関する。
【０００２】
【従来の技術】
１９８０年代の後半、パーソナルコンピュータやワークステーション等のオフィスへの普及に伴い、情報資源を有効利用するために個々のコンピュータをネットワークによって相互に接続し、ハードディスクなどの記録装置に記録されたファイルを共有して利用するネットワークファイルシステムが開発された。
【０００３】
現在のオフィス環境では、ローカルエリアネットワークによって各個人が使用するコンピュータを相互に接続し、このネットワークを通じてファイルやプリンタを共有することが一般化しつつある。
【０００４】
このようにネットワークを介して相互に接続されたコンピュータを制御するネットワークファイルシステムとしては、ワークステーション用では米国サンマイクロシステムズ社が開発した「ＮＦＳ（Network File System）」、パーソナルコンピュータ用では米国ノベル社が開発した「Ｎｅｔｗａｒｅ」、および、米国マイクロソフト社が開発した「ＬＡＮＭａｎａｇｅｒ」等が有名である。
【０００５】
一方、急速な技術革新により、近年、映像や音声等をディジタル化して処理する種々の民生機器の商品化が進んでいる。例えば、１２ｃｍの光ディスクに最大８時間の映像を収録可能なＤＶＤ（Digital Versatile Disk）や、ディジタルビデオカメラ、ディジタル衛星放送機器等がこれにあたる。また、大容量の光磁気ディスクやハードディスクを応用したディジタルビデオレコーダ等のような商品の開発も進められている。
【０００６】
このような状況の中、これらの民生機器を相互に接続するディジタルインターフェイスとして、ＩＥＥＥ−１３９４規格に準拠したインタフェース（以下、適宜ＩＥＥＥ−１３９４インターフェースという）が注目されている。例えば、民生用ディジタルビデオカメラではこのＩＥＥＥ−１３９４インタフェースが標準で装備されており、このようなディジタルビデオカメラをＩＥＥＥ−１３９４インターフェースを具備するパーソナルコンピュータに接続することにより、映像データや音声データを授受することが可能となる。
【０００７】
ＩＥＥＥ−１３９４規格は、元々、映像や音声などのように大容量でかつリアルタイム性を要求されるデータを転送するために規定された規格であり、アイソクロナス（Isochronous）転送モードと呼ばれる同期転送方式を持つことが主な特徴である。
【０００８】
現在、ＩＥＥＥ−１３９４規格については、ＩＥＥＥの委員会において転送の更なる高速化やケーブルの長距離化などが検討されており、将来は各家庭の民生機器を接続するホームネットワークの中核技術になると考えられる。
【０００９】
【発明が解決しようとする課題】
このように家庭内にネットワークが張り巡らされ、記録装置を持った機器が配置されるようになると、前述のオフィスの場合と同様に、記録装置に記録されたファイルを共有利用する要求が発生することが予想される。
【００１０】
例えば、居間のビデオレコーダによって録画した番組を、寝室のテレビで再生する等の利用に対する要求である。しかしながら、そのような要求を実現するためには、従来のネットワークファイルシステムでは（１）リアルタイム転送が困難であり、（２）コピープロテクションが十分でない等の問題点を有していた。
【００１１】
特に、前者のリアルタイム転送の問題については、ネットワークファイルシステムの機構がファイルシステムの機構の後から開発されたものであるため、単にネットワークに改良を加えただけでは解決することが困難であるという問題点があった。
【００１２】
例えば、ビデオをリアルタイムで配信する例としてビデオオンデマンドシステムがあり、このようなシステムを家庭用のネットワークファイルシステムに流用することも考えられる。しかし、このようなシステムでは、予め決められたデータの配置方法により同一帯域内でデータを転送することが目的であるため、ハードディスクに対するＩ／Ｏ処理を時分割処理することでリアルタイム転送を実現している。従って、このようなシステムを汎用性が高いホームネットワークファイルシステムとして利用することは困難であるという問題点があった。
【００１３】
また、ホームネットワークファイルシステムでは、リアルタイム性が要求されるデータ（以下、リアルタイムデータと適宜呼ぶ）だけでなく、リアルタイム性が要求されないデータ（以下、ノンリアルタイムデータと適宜呼ぶ）も処理する必要がある。このようなデータを前述の時分割処理を用いて処理することも可能であるが、その場合、リアルタイムデータの転送を保証するために処理の分割単位は大きくせざるを得ず、その結果、処理の時間待ちが大きくなり、分割された時間内に処理が完了した場合でも残り時間で他の処理を行うことができず、記録装置のＩ／Ｏ能力を充分に利用できないなどの問題点もあった。
【００１４】
本発明はこれら状況を鑑みてなされたものであり、ネットワークを介して接続された情報記録装置からデータを転送する場合において、帯域保証、予測、および、優先スケジュールを行うことが可能な情報記録装置を提供することを目的とする。
【００１５】
また、本発明は、ＩＥＥＥ−１３９４インタフェース等のようにリアルタイム転送が可能なネットワークと統合することにより、最大の転送帯域が異なる複数の可変長リアルタイム転送によるデータ転送を保証し、かつ、リアルタイム性を要しないデータも効率よく処理できるホームネットワークに適した情報記録装置を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明では上記課題を解決するために、少なくとも１の情報処理装置とネットワークを介して接続され、前記情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を前記情報処理装置に対して伝送する情報記録装置において、前記情報処理装置との間で前記ネットワークを介して情報を送受信する送受信手段と、情報を記録する記録手段と、前記記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から前記記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、前記情報処理装置からリアルタイム転送の要求がなされた場合には、前記算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段と、前記情報処理装置から伝送されてきた情報であって前記記録手段に記録しようとする情報を一時的に格納するとともに、前記記録手段から再生された情報であって前記情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、前記情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を前記格納手段に確保する格納領域確保手段と、転送処理中は、前記格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように前記記録手段に対する情報の記録再生動作を管理する管理手段と、を有し、前記管理手段は、複数の情報処理装置から並行してリアルタイム転送の要求がなされた場合には、各格納領域に格納されている情報の量と、その転送速度とに応じて処理の優先度を決定し、決定した優先度に応じて前記記録手段に対する情報の記録再生動作を実行することを特徴とする情報記録装置が提供される。
【００１７】
ここで、送受信手段は、情報処理装置との間でネットワークを介して情報を送受信する。記録手段は、情報を記録する。算出手段は、記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から記録手段のリアルタイム転送に利用可能な最大転送速度を算出する。許可手段は、情報処理装置からリアルタイム転送の要求がなされた場合には、算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する。格納手段は、情報処理装置から伝送されてきた情報であって記録手段に記録しようとする情報を一時的に格納するとともに、記録手段から再生された情報であって情報処理装置に対して伝送しようとする情報を一時的に格納する。格納領域確保手段は、情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を格納手段に確保する。管理手段は、転送処理中は、格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように記録手段に対する情報の記録再生動作を管理する。また、この管理手段は、複数の情報処理装置から並行してリアルタイム転送の要求がなされた場合には、各格納領域に格納されている情報の量と、その転送速度とに応じて処理の優先度を決定し、決定した優先度に応じて記録手段に対する情報の記録再生動作を実行する。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。図１は、本発明の実施の形態の構成例を示すブロック図である。この図に示すように、本発明に係るネットワークシステムは、情報記録装置１０、ディジタルテレビ３０、パーソナルコンピュータ４０、ディジタル受信機５０、パラボラアンテナ５０ａ、ディジタルビデオカメラ６０が接続ケーブル２０によって相互に接続されて構成されている。
【００１９】
情報記録装置１０は、ＣＰＵ（Central Processing Unit）１０ａ（演算手段、許可手段、格納領域確保手段、管理手段）、ＲＯＭ（Read Only Memory）１０ｂ、ＲＡＭ（Random Access Memory）１０ｃ（格納手段）、ＨＤＤ（Hard Disk Drive）１０ｄ（記録手段）、Ｉ／Ｆ１０ｅ（送受信手段）によって構成されており、他の装置からの要求に応じてＨＤＤ１０ｄに記録されているデータを読み出して供給したり、供給されたデータをＨＤＤ１０ｄに書き込む。
【００２０】
ここで、ＣＰＵ１０ａは機器全体を制御するとともに、ＲＯＭ１０ｂおよびＨＤＤ１０ｄに記憶されている所定のプログラムに従って各種処理を行う。
ＲＯＭ１０ｂは、ＣＰＵ１０ａが実行する基本的なプログラムやデータ等を格納している。このＲＯＭ１０ｂに記憶されている基本的なプログラムが実行されることにより、ＨＤＤ１０ｄから所定のプログラムがＲＡＭ１０ｃに読み出され、その後はそのプログラムに従って制御が実行される。
【００２１】
ＲＡＭ１０ｃは、ＣＰＵ１０ａが各種プログラムを実行する際に、実行途中のプログラムや演算途中のデータ等を一時的に格納する。また、データの転送を行う際には、バッファとして機能する。
【００２２】
ＨＤＤ１０ｄは、大容量のデータを高速に読み書きすることが可能とされており、この例では、２０ギガバイトものを使用している。この程度の容量であれば、毎秒４〜６メガビットのデジタルデータの場合で約１０時間、毎秒２８メガビットのデジタルデータで約１時間半連続して記録を行うことができる。複数のＨＤＤをディスクアレイ構成にすることも可能であるが、ここでは２０ギガバイトのＨＤＤ１０ｄを単独で用いている。
【００２３】
Ｉ／Ｆ１０ｅは、帯域保証された同期転送ならびに非同期転送が行える高速通信のネットワークインターフェースであり、ＩＥＥＥ−１３９４．１９８５規格に準拠したインターフェースである。
【００２４】
バス１０ｆは、ＣＰＵ１０ａ、ＲＯＭ１０ｂ、ＲＡＭ１０ｃ、ＨＤＤ１０ｄ、および、Ｉ／Ｆ１０ｅを相互に接続し、これらの間でデータの授受を可能とする。
【００２５】
ディジタルテレビ３０は、ＩＥＥＥ−１３９４インターフェースを備えており、接続ケーブル２０を介して伝送されてきたデータをこのインターフェースから入力した後、デコードして画像信号に変換してブラウン管等に表示出力する。
【００２６】
パーソナルコンピュータ４０も同様に、ＩＥＥＥ−１３９４インターフェースを具備しており、例えば、ユーザの操作に応じたコマンド等をこのインターフェースを介して伝送することによりネットワーク全体の制御を行う。
【００２７】
ディジタル受信機５０は、パラボラアンテナ５０ａによって受信された放送衛星等からの電波を入力して復号処理を施し、得られた画像または音声を含むディジタル信号を内蔵するＩＥＥＥ−１３９４インターフェースを介して出力する。
【００２８】
ディジタルビデオカメラ６０は、被写体からの光画像を、対応するディジタル信号に変換して記録するとともに、内蔵するＩＥＥＥ−１３９４インターフェースを介して外部に出力する。
【００２９】
なお、各装置は、同一場所または異なる場所に配置され、接続ケーブル２０によって相互に接続されている。
次に、以上の実施の形態における各部の詳細な説明を行う。
【００３０】
以上の実施の形態においては、ディジタル受信機５０、ディジタルビデオカメラ６０等からリアルタイムで出力されたデジタルデータは、接続ケーブル２０を介して情報記録装置１０に供給され、ＨＤＤ１０ｄに記録される。また、ＨＤＤ１０ｄに記録されているデータは、情報記録装置１０に接続されている他の装置からの要求に応じて読み出されてリアルタイムに供給される。
【００３１】
このとき、リアルタイム性が要求されるデータに関しては、ＩＥＥＥ−１３９４インターフェースは、アイソクロナス（Isochronous）転送モードを使用し、また、リアルタイム性が要求されないデータに関しては、アシンクロナス（Asynchronous）転送モードを使用する。また、ＩＥＥＥ−１３９４．１９８５規格では最大毎秒４００メガビットの転送が可能であり、アシンクロナスモードの通信としては、ＩＰｏｖｅｒ１３９４やＡＶ／Ｃ（Audio Video Command）、ＨＡＶｉ（Home Audio Video Interoperability）規格などの上位通信プロトコルが用いられる。
【００３２】
ディジタル受信機５０等では、映像および音声の圧縮方式として、国際規格であるＭＰＥＧ（Motion Picture Experts Group）−２が使用されている。例えば、ＣＳ（Communication Satellite）の衛星デジタル放送では毎秒４〜６メガビットの転送速度のデジタル信号が利用されており、次期ＢＳ（Broadcasting Satellite）の衛星デジタル方式およびデジタル地上波放送では現行のＮＴＳＣテレビ放送より高解像度のテレビ放送が予定されており、最大毎秒２８メガビットの転送速度のデジタル信号が利用される。
【００３３】
デジタルビデオカメラ６０ではＤＶ方式といわれる圧縮方式が使用されており、圧縮によって得られた毎秒２５メガビットのデジタル信号がビデオテープに記録される。
【００３４】
ところで、ディジタル受信機５０から出力される画像データを、ディジタルテレビ３０により視聴しながら情報記録装置１０のＨＤＤ１０ｄに記録する場合を考える。そのような場合には、毎秒２８メガビットのデータをＨＤＤ１０ｄに書き込みながら、同時に毎秒２８メガビットのデータを読み出す必要がある。従って、接続ケーブル２０上には、２チャンネル分の毎秒５６メガビットのデータが転送されることになる。ＩＥＥＥ−１３９４インタフェースは毎秒４００メガビットの転送容量があり、オーバーヘッドを考えてもこのような転送は可能である。
【００３５】
一方、ＨＤＤ１０ｄは、シーケンシャルアクセスでは最大毎秒１５メガバイト（＝１２０メガビット）のデータの読み書きが可能であるので、上述のような動作を行う場合においても転送速度は充分である。しかしながら、ファイルシステムを用いてＨＤＤ１０ｄを領域管理し、ファイル単位でデータを記録できるようにした場合、または、複数チャンネルの転送を行うような場合にはランダムアクセスが必要になる。ランダムアクセスでは記録ヘッドのシークおよび回転待ちが必要なため、シーケンシャルアクセスに比べて平均的な転送速度はかなり低下する。
【００３６】
ハードディスクの技術的進歩により、近年、記録容量、シーケンシャル転送速度、および、コスト等は急速に向上しているが、シーク、回転待ちは物理的要因が絡み、著しい向上は見込めない。高速なディスクの場合でもシーク動作、回転待ちなどを考慮したアクセスタイムは平均１５ミリ秒、最大３０ミリ秒くらいである。ただし、トラッキングエラーや欠陥セクタの代替処理が発生するとさらにアクセスタイムは長くなる。
【００３７】
ランダムアクセスにおいて、連続転送速度を上げる方法として、ファイルを構成する基本単位である最小連続領域（例えば、クラスタ）を大きくすることが考えられる。
【００３８】
ここで、ランダムアクセス時の転送能力ＴＰＲ（Throughput Rate）は、シーケンシャルアクセスの連続転送速度ＴＦＲ（Transfer Rate）、アクセスタイムＡＴ（Access Time）、および、最小連続領域であるクラスタサイズＣＳ（Cluster Size）を用いて以下のように表すことができる。
【００３９】
【数１】
ＴＰＲ＝ＣＳ／（ＣＳ／ＴＦＲ＋ＡＴ）  ・・・（１）
ＴＦＲおよびＡＴは様々な物理的要因で変動するため、厳密に求めることは困難であるが、実測データに適当なマージンを持たせた値を用いることにより、ランダムアクセス時の転送能力ＴＰＲを算出することができる。但し、セクタの代替処理などによって極端に時間がかかる場合は例外的であるので、式（１）によって得られる値はあくまでも定常状態に対する値である。
【００４０】
セクタの代替処理等のように確率的に発生する事象については、データのバッファリングによって吸収できるように設計するが、必ずしも１００％の保証が必要であるものではなく、また、民生機器にそのような高い保証を求めるものでもない。
【００４１】
シーケンシャルアクセスの連続転送速度ＴＦＲを適当なマージンを持たせて毎秒１２メガバイト程度とし、また、アクセスタイムＡＴを３０ミリ秒とすると、ランダムアクセス時の転送能力ＴＰＲとして毎秒５６メガビットを実現するにはクラスタサイズＣＳは５１２キロバイト以上にするようにファイルシステムの割り当て単位を設定すればよい。但し、割り当て単位を大きくすると小さなファイルを記録した場合には無駄な領域ができるので効率が悪い。これらを改善するためのファイルシステムの領域管理方法として特願平１０−３４３４３３号が考案されており、本実施例でもこれを利用する。
【００４２】
本発明では以上のようにして求めたＨＤＤ１０ｄのランダムアクセス時の転送能力ＴＰＲをリアルタイム転送の最大帯域として保証し、これを複数のチャンネル転送要求に従って各装置に対して帯域の割り当てを行う。
【００４３】
なお、前述のように、（１）各パラメータはかなりのマージンを持たせており、また、（２）同一のファイルのデータは近接した割り当て単位に記録されることが多いので、これらデータの転送については最大のアクセス時間を伴わない場合がほとんどで、更に、（３）ＨＤＤ１０ｄはディスクの円周領域によって記録密度の差から転送速度も違うので、ＨＤＤ１０ｄからの転送速度は計算値よりも速い場合がほとんどである。
【００４４】
これらのことから、リアルタイム転送を実行中に、ＨＤＤ１０ｄに対してそれ以外のデータを読み書きすることは充分に可能であり、本発明では以下に述べるように、データ転送に使用されるバッファの残量からＨＤＤ１０ｄの負荷を求め、それに基づいて、リアルタイム転送を実行しながら、同時に、ノンリアルタイム転送も行うようにファイルシステムの制御を行う。
【００４５】
図１の説明に戻って、ＲＡＭ１０ｃは３２メガバイトの容量を持ち、リアルタイム転送用バッファ、ノンリアルタイム転送用バッファ、制御プログラム格納エリア、および、ワークエリアとして使用される。
【００４６】
本実施の形態では、偶発的な原因によりＨＤＤ１０ｄへの転送が数秒間途絶えた場合でも情報記録装置１０と他の装置との間の転送が途絶えることのないようにバッファのサイズを決定している。
【００４７】
即ち、毎秒５６メガビットの転送において、欠陥セクタの代替処理などでＨＤＤ１０ｄの転送が途絶えた場合でも、少なくとも４秒間は転送が途切れないことを目標にすると、リアルタイム転送用バッファとして２８メガバイトが必要になる。
【００４８】
図２に示すように、ＲＡＭ１０ｃの領域７０ａは、特願平１０−３４３４３３号での第１の割り当て単位（クラスタ）と同じサイズである５１２キロバイトを単位としてブロック分割され、それぞれに０から６３まで昇順の番号が付与されて管理されている。０から５５までをリアルタイム転送用バッファブロック、５６から５９までの２メガバイトをノンリアルタイム転送用バッファ領域、６０から６３までの２メガバイトを制御プログラム格納エリアおよびそのワークエリアとして使用する。なお、ノンリアルタイム転送用バッファの量および制御プログラム格納エリアの量はシステムの設計に依存する。
【００４９】
ノンリアルタイム転送用バッファの各割り当て単位７０ｂは、特願平１０−３４３４３３号の説明の第２の割り当て単位（フラグメント）と同じサイズを単位として更に分割される。実施例ではフラグメントは４キロバイトとし、ノンリアルタイム転送用バッファ領域は０から５１１のバッファブロックとして管理される。
【００５０】
リアルタイム転送用バッファブロックは、帯域予約を行う際に各転送チャンネルに対して所定量が割り当てられる。未使用のバッファブロックが足りず、確保できない場合は帯域予約が許可されないことになる。
【００５１】
予約する帯域をＲＢＷ（Request Band Width）、最大の帯域をＭＢＷ（Max Band Width）、総バッファブロック数をＭＢ（Max Buffers）とすると帯域保証するために使用する最低限のバッファブロック数ＮＯＢ（Number of Buffers）は以下の式で求めることができる。
【００５２】
【数２】
ＮＯＢ＝（ＲＢＷ−１）／（（ＭＢＷ−１）／ＭＢ＋１）＋１  ・・・（２）
本実施の形態では最大の帯域を毎秒５６メガビット、総バッファブロック数を５６個としているので、例えば、地上波のディジタルＨＤＴＶ（High Density Television）のデータ転送速度である毎秒１９．３メガビットの帯域に必要なバッファブロック数は２０個になる。
【００５３】
リアルタイム転送時、バッファブロックにはＨＤＤ１０ｄからクラスタ単位の転送が行われるので、連続してネットワークへの転送を行うために最低必要なブロック数は“４”である。ただし、ＨＤＤ１０ｄからの転送遅延を考慮して、最低の割り当て単位を４ブロックとし、最低の予約帯域は毎秒４メガビットとする。従って、本実施の形態の場合、リアルタイム転送は最大８チャンネルまでとなる。
【００５４】
ワークエリアにはリアルタイム転送の管理情報がチャンネル分だけ配置される。リアルタイム転送の管理情報としては、チャンネル毎に、ファイル名、予約帯域、現在のバッファ量、ファイルオフセット、転送モード（送信または受信）、転送先のノードアドレス、アイソクロナスチャンネルなどの情報が置かれる。バッファブロックはリスト構造により環状のＦＩＦＯ（First In First Out）バッファとして機能する。未使用のバッファブロックは未使用バッファブロックのリストに登録され、必要な場合に所定のチャンネルに割り当てられる。リアルタイム転送が終了すると、解放されたブロックは再度未使用リストに登録される。
【００５５】
ノンリアルタイム転送用バッファは、従来のオペレーティングシステムで行われているように個々のブロック毎にハードディスクのブロックアドレスなどの管理テーブルを用い、ＬＲＵ（Least Recent Use）などのアルゴリズムによって管理される。また、ネットワークファイルシステムとしてファイル単位での転送要求を処理するために、要求のあったファイル毎に、ファイル名、ファイルオフセット、転送モードなどの情報が置かれる。
【００５６】
リアルタイム転送ですべての保証帯域（＝最大の帯域ＭＢＷ）を使用していない場合は、未使用のバッファブロックを他のリアルタイム転送用バッファに割り当てることも可能である。また、ノンリアルタイム転送用バッファの管理方法を拡張することにより、未使用のノンリアルタイム転送用バッファをリアルタイム転送用バッファとして転用することもできる。即ち、新たなリアルタイム転送要求が発生して帯域予約がなされた場合には、帯域を保証するために必要なバッファブロックを確保するために、未使用のノンリアルタイム転送用バッファをリアルタイム転送用として解放する。
【００５７】
但し、ノンリアルタイム転送用バッファに書きこみ処理の対象となっており、データがバッファリングされている場合は、書き込み待ちが生じて直ちには使用できないので転送開始に若干の遅延が生じる場合もある。
【００５８】
図３にリアルタイム転送用バッファの動作の概要を示す。
図３では４チャンネルのリアルタイム転送が行われている場合の様子を示している。ｆｉｌｅ１、ｆｉｌｅ２、ｆｉｌｅ４については、情報記録装置１０からネットワークに対してデータを送信中の場合を示しており、ファイル再生（ｐｌａｙ）動作を示している。ｆｉｌｅ３は情報記録装置１０がネットワークからデータを受信中の場合を示しており、ファイルの記録（ｒｅｃｏｒｄ）動作を示している。
【００５９】
ｆｉｌｅ１〜ｆｉｌｅ４に対して破線の矢印によって連結されているブロック群は、リアルタイム転送用バッファブロックを示している。これらのブロックのうち、濃い色のブロックはデータが格納されていることを示している。
【００６０】
ｆｉｌｅ１は毎秒４メガビット（４Ｍｂｐｓ）の帯域の転送であり、バッファブロック１１，１２，７，８が割り当てられている。バッファブロック１１，１２，７，８にはそれぞれＨＤＤ１０ｄから読み出されたデータがバッファリングされており、現在、バッファブロック１１のデータが送信されている。データ送信は保証帯域の範囲で可変ビットレートで行われるので、バッファからネットワークへのデータ転送の単位はそれに依存して決定される。
【００６１】
バッファブロック１１のデータがなくなると、バッファブロック１１はリストの最後列にあるバッファブロック８の後ろに移動されて新たな送信データをバッファリング可能になる。その後、バッファブロック１２，７，８の順にバッファリングされているデータが送信される。なお、ＨＤＤ１０ｄからバッファブロックへのデータの読み出しはクラスタサイズの５１２キロバイト単位で行われる。
【００６２】
ｆｉｌｅ２は毎秒６メガビット（６Ｍｂｐｓ）の帯域の転送であり、６個のバッファブロック１３〜１８が確保されている。現在、バッファブロック１３のデータが送信中であり、バッファブロック１７，１８は空きの状態で、新たなデータをバッファリング可能な状態にある。
【００６３】
ｆｉｌｅ３は毎秒６メガビット（６Ｍｂｐｓ）の帯域のデータを受信中であり、現在、バッファブロック２５にネットワークから受信したデータをバッファリング中である。バッファブロック２５が一杯になった場合は、リストの最後列にあるバッファブロック２４を前に移動し、新たな受信データをバッファリングする。バッファブロック９には既に受信したデータがバッファリングされており、ＨＤＤ１０ｄに書き込み可能な状況にある。書き込み後は新たなデータの受信に利用可能になる。
【００６４】
ｆｉｌｅ４は毎秒１４メガビット（１４Ｍｂｐｓ）の帯域の転送であり、１４個のバッファブロック４４〜５７が使用されている。現在、バッファブロック５５のデータが送信中であり、バッファブロック５１〜５４は空きの状態で、新たなデータをバッファリング可能な状態にある。
【００６５】
ところで、リアルタイム転送の送信チャンネルで、ＨＤＤ１０ｄからバッファへの読み出しが遅れると、Ｉ／Ｆ１０ｅに送るべきデータがなくなり、ネットワークへの送信が中断してしまう。一方、受信チャンネルで、バッファからＨＤＤ１０ｄへの書き込みが遅れた場合は、データを書き込む空き領域が無くなり、ネットワークからの受信が中断してしまう。
【００６６】
これら状況を避けるため、本実施の形態においては、リアルタイム転送に関しては、各チャンネルに優先度を付与してＨＤＤ１０ｄのＩ／Ｏ処理をその優先度に応じて順次行うようにしている。
【００６７】
即ち、送信チャンネルの場合は、該当するバッファブロックに対してＨＤＤ１０ｄからの読み出しができなくても送信動作を持続できる時間（持続時間）を算出し、一方、受信チャンネルの場合は、該当するバッファブロックからＨＤＤ１０ｄへの書き込みができなくても受信動作を持続できる時間（同じく、持続時間）を算出し、これらの持続時間が短い程、ＨＤＤ１０ｄのＩ／Ｏ処理の優先度が高いと判定する。なお、送信時および受信時における持続時間ＤＴＸ，ＤＴＲは、バッファサイズＢＳ（Buffer Size）、バッファ中のデータ量ＤＳ（Data Size）、および、転送帯域ＢＷ（Band Width）を用いて以下の式により求めることができる。
【００６８】
【数３】
ＤＴＸ＝ＤＳ／ＢＷ  ・・・（３）
【００６９】
【数４】
ＤＴＲ＝（ＢＳ−ＤＳ）／ＢＷ  ・・・（４）
ここで、ｆｉｌｅ１〜４に対応するバッファ中のデータ量をそれぞれ１９０８４０８、１７８２５７９、９６４６０８、４８３３２８０バイトとすると、持続時間はそれぞれ３．６４秒、２．２７秒、２．７７秒、２．６２秒になる。従って、最小である２．２７秒のｆｉｌｅ２に対するＩ／Ｏ処理の優先度が高いことになり、ｆｉｌｅ２のデータがバッファ１７に先読みされる。ｆｉｌｅ２に対するＨＤＤ１０ｄのＩ／Ｏ処理が完了した場合には、その時点のデータ量より持続時間を再計算し、同様に優先度の高いファイルに対するＨＤＤ１０ｄのＩ／Ｏ処理が行われる。
【００７０】
優先度が高い場合でも、リアルタイム転送のＨＤＤ１０ｄのＩ／Ｏ処理はクラスタを単位として行われるため、空きのバッファブロックが足りない場合には、次に優先度が高いバッファへの処理が行われる。すべてのバッファブロックに空きが無い場合は、空きができるまで待つことになる。可変ビットレートの転送ではバッファの状況は常に変化するため、ＨＤＤ１０ｄのＩ／Ｏ処理を終了する度に優先度の判定を行い、その結果に応じてＨＤＤ１０ｄのＩ／Ｏ処理を実行する。
【００７１】
図４にリアルタイム転送とノンリアルタイム転送に対する優先度を示す。
リアルタイム転送のみの場合には以上のようにして各チャンネルのＩ／Ｏ処理の優先度が決定されるが、ノンリアルタイム転送の要求もある場合には、リアルタイム転送の全てのチャンネルの中で最小の持続時間に応じてノンリアルタイム転送を適宜処理する。
【００７２】
即ち、本実施の形態では、図４に示すように、最小の持続時間が０秒から閾値Ｔｈ１までの間である場合には、ノンリアルタイム転送の要求があったとしても処理されず、リアルタイム転送のみが実行される。
【００７３】
最小の持続時間が閾値ｔｈ１以上になった場合には、条件付きでノンリアルタイム転送が行われる。即ち、ノンリアルタイム転送が実行されることにより、全てのリアルタイム転送に対するＩ／Ｏ処理が一定期間行われない場合には最小の持続時間が更に小さくなるが、その場合であっても持続時間が許容範囲内にあることを条件としてノンリアルタイム転送を実行する。なお、後述するように、最小の持続時間が所定の閾値ｔｈ２よりも大きい場合には、転送ブロックを適当に分断してリアルタイム転送を行うことにより、ノンリアルタイム転送の処理待ち時間を短縮する。
【００７４】
例えば、バッファにリアルタイム転送用バッファの空きがなく、待ちの状態であると予測される場合は、次のリアルタイム転送が発生するまでの時間を計算し、それが所定のデフォルト値以上の場合にはその値を許容時間とする。本実施の形態では閾値Ｔｈ１を２秒、デフォルトの許容時間の値を０．１秒としている。
【００７５】
一例として、図５に条件付きノンリアルタイム転送の様子を示す。ｆｉｌｅ１，ｆｉｌｅ２，ｆｉｌｅ３，ｆｉｌｅ４のそれぞれの持続時間が３．３９秒、３．５７秒、３．７３秒、３．８６秒である場合に、各チャンネルにおいて最大帯域でデータ転送が行われると仮定して、それぞれの次のリアルタイム転送がおこるまでの時間（現在、読み出し中のバッファブロックが空になるまでの時間または現在書き込み中のバッファブロックが埋まるまでの時間）を計算すると、それぞれ３９０ミリ秒、２４０ミリ秒、５００ミリ秒、１５０ミリ秒になる。
【００７６】
これにより、最小の場合では、１５０ミリ秒後にｆｉｌｅ４に対するＩ／Ｏ処理が実行される可能性がある。この場合では、得られた値は、デフォルトの許容値１００ミリより大きいので、この１５０ミリ秒をノンリアルタイム転送の許容時間とする。求めた値が１００ミリ秒より小さい場合は、ある程度の転送時間を確保するために許容時間を１００ミリ秒とする。
【００７７】
ノンリアルタイム転送の処理の所要時間は、リアルタイムアクセスの帯域保証で使用したシーケンシャルアクセスの転送速度、アクセスタイム、並びに、そのデータを転送するのに必要なアクセス回数および連続転送時間より求めることができる。
【００７８】
例えば、３２キロバイトデータに対するノンリアルタイム転送の要求があった場合において、そのデータがＨＤＤ１０ｄのディスクの２つの領域に分割して記録されているときは、データ転送に２０ミリ秒を要し、３０ミリ秒のアクセスが２回必要なことから、合計約８０ミリ秒を要すると予測し、許容時間の１００ミリ秒以内なのでその処理を実行する。
【００７９】
いまの例では、アクセスタイムとして固定値を用いたが、データが複数の領域に分割されて記録されている場合には、領域間の距離を算出してこの距離に応じたアクセスタイムを用いるようにしてもよい。
【００８０】
また、許容時間は持続時間の最小値に応じて変化するようにしてもよい。即ち、持続時間の最小値が所定の値よりも大きい場合には、許容時間を大きくすることにより、ノンリアルタイム転送の優先度を上げることができる。
【００８１】
ノンリアルタイム転送が終了した後、再度、各チャンネルの持続時間を算出し、リアルタイム転送ならびにノンリアルタイム転送の優先度を算定し、得られた値に従って処理を行う。実際には、ノンリアルタイム転送は、予測よりも早く終了することがほとんどであるので、場合によってはノンリアルタイム転送を連続して行うことも可能となる。
【００８２】
以上の方法によれば、リアルタイム転送を実行中にもノンリアルタイム転送が可能になるが、リアルタイム転送はリアルタイム性を保証するために大きなサイズのクラスタ単位でＨＤＤ１０ｄから転送を行っている。そのためリアルタイム転送中にノンリアルタイム転送の要求が発生した場合には、リアルタイム転送処理の終了を待つ必要があり、ノンリアルタイム転送の開始が遅れてしまう。これを改善するために、持続時間の最小値が閾値Ｔｈ２（図４参照）以上になった場合に限り、リアルタイム転送を分断して処理するようにしてもよい。
【００８３】
本実施の形態ではクラスタサイズは５１２キロバイトであり、データの転送時間（計算値）はアクセスタイムも含めて７０ミリ秒になる。そこで持続時間の最小値が３秒以上の場合には、データの転送単位を半分の２５６キロバイトとすることで、ノンリアルタイム転送に要する時間を短縮することができる。
【００８４】
持続時間がさらに長い場合には、更に小さな単位に分割することで、ノンリアルタイム転送に必要な時間を更に短縮することが可能である。
次に、以上に説明した機能を図１に示す情報記録装置１０に実行させるための処理について説明する。以下では、情報記録装置１０に対して電源が投入された時の動作について説明した後、図６〜図９を参照して以上の機能を実現するための処理について説明する。
【００８５】
情報記録装置１０に対して電源が投入されると、ＲＯＭ１０ｂに記録された初期化プログラムが起動され、ＨＤＤ１０ｄの所定の領域に予め記録された制御プログラムがＲＡＭ１０ｃにロードされる。ロード後は制御プログラムに制御が移行する。制御プログラムはリアルタイムＯＳであり、ＲＡＭ１０ｃのワークエリアを初期化した後、ネットワーク処理タスクとＨＤＤ１０ｄ処理タスクの２つを作成する。２つのタスクはマルチタスク処理により同時に動作することが可能である。また、これら２つのタスクは、バッファの管理情報、リアルタイム転送およびノンリアルタイム転送の要求待ち行列の情報を共有し、互いに同期しながら処理を行う。
【００８６】
図６、７にネットワーク処理タスクに関するフローチャートを示す。このフローチャートが開始されると、以下の処理が実行される。
［Ｓ１］ＣＰＵ１０ａは、ネットワークまたはディスク処理タスクから処理要求が発生したか否かを判定し、処理要求が発生した場合にはステップＳ２に進み、それ以外の場合にはステップＳ１に戻って同様の処理を繰り返す。
【００８７】
即ち、ＣＰＵ１０ａは、Ｉ／Ｆ１０ｅから入力される情報を監視することによりネットワークから処理要求を受信したか否かを判定し、また、ＨＤＤ１０ｄを制御するディスク処理タスクからのメッセージ等を監視することにより処理要求が発生したか否かを判定する。
［Ｓ２］ＣＰＵ１０ａは、ステップＳ１において検出した処理要求がリアルタイム転送処理に関するものであるか否かを判定し、リアルタイム転送処理に関するものである場合には図７のステップＳ２０に進み、それ以外の場合にはステップＳ３に進む。
［Ｓ３］ＣＰＵ１０ａは、処理要求がノンリアルタイムの書き込み要求であるか否かを判定し、ノンリアルタイムの書き込み要求である場合にはステップＳ４に進み、それ以外の場合にはステップＳ５に進む。
【００８８】
ここで、ノンリアルタイムに関する処理の場合には、（１）ネットワークに接続された機器から送信された書き込み要求処理もしくは（２）読み出し要求処理、または、（３）それらの要求についてのディスク処理タスクからの書き込み完了メッセージ処理もしくは（４）読み出し完了メッセージ処理の何れかであるので、ステップＳ３，Ｓ５，Ｓ７，Ｓ１０においてこれらの何れかであるかを判定して対応する処理を行う。
［Ｓ４］ＣＰＵ１０ａは、書き込み要求に付随する書き込み対象となるデータ（以下、書き込みデータと呼ぶ）をノンリアルタイム転送用の未使用バッファブロックに転送する。
［Ｓ５］ＣＰＵ１０ａは、処理要求がノンリアルタイムの読み出し要求であるか否かを判定し、ノンリアルタイムの読み出し要求である場合にはステップＳ６に進み、それ以外の場合にはステップＳ７に進む。
［Ｓ６］ＣＰＵ１０ａは、処理要求が書き込み要求である場合には、処理要求に指定されたファイル名、書き込みオフセット、および、書き込みサイズをノンリアルタイム転送要求の待ち行列に登録し、ディスク処理タスクに対して処理を要求する。また、処理要求が読み出し要求である場合には、処理要求に指定されたファイル名、読み出しオフセット、および、読み出しサイズをノンリアルタイム転送要求の待ち行列に登録し、同様に、ディスク処理タスクに対して処理を要求する。そして、ステップＳ１に戻り、同様の処理を繰り返す。
【００８９】
その結果、ノンリアルタイム転送要求の待ち行列に書き込まれた順番に従って書き込みまたは読み出し処理が実行され、所定のデータがＨＤＤ１０ｄに対して格納されるか、または、所定のデータがＨＤＤ１０ｄから読み出される。書き込み処理または読み出し処理が終了すると、ディスク処理タスクは処理の終了を告げるメッセージを発生する。
［Ｓ７］ＣＰＵ１０ａは、ディスク処理タスクからのメッセージを参照し、ノンリアルタイム書き込み処理が終了したか否かを判定し、終了した場合にはステップＳ８に進み、それ以外の場合にはステップＳ１０に進む。
［Ｓ８］ＣＰＵ１０ａは、書き込み要求を行った機器に対して書き込み完了ステータスを送信する。
［Ｓ９］ＣＰＵ１０ａは、ノンリアルタイム転送の待ち行列から対応するデータを削除する。そして、ステップＳ１に戻り、同様の処理を繰り返す。
［Ｓ１０］ＣＰＵ１０ａは、ディスク処理タスクからのメッセージを参照し、ノンリアルタイム読み出し処理が終了したか否かを判定し、終了した場合にはステップＳ１１に進み、それ以外の場合にはステップＳ１３に進む。
［Ｓ１１］ＣＰＵ１０ａは、読み出し要求を行った機器に対して、対応するバッファブロックからデータを取得して送信する。そして、データの転送が終了すると、読み出し完了ステータスを送信する。
［Ｓ１２］ＣＰＵ１０ａは、ノンリアルタイム転送の待ち行列から対応するデータを削除するとともに、使用したバッファを解放する。そして、ステップＳ１に戻り、同様の処理を繰り返す。
［Ｓ１３］ＣＰＵ１０ａは、処理要求を行った機器に対してエラーのステータスを送信する。そして、ステップＳ１に戻り、同様の処理を繰り返す。
【００９０】
次に、図７を参照して、図６のステップＳ２において、リアルタイム転送処理であると判定された場合に実行される処理の一例について説明する。なお、リアルタイム転送処理は、（１）再生／記録の開始要求に対する処理、（２）再生／記録の終了要求に対する処理、（３）記録データの受信処理、（４）再生データの送信処理の何れかであり、これらがステップＳ２０，Ｓ２７，Ｓ３２，Ｓ３４において判定され、対応する処理が実行される。
［Ｓ２０］ＣＰＵ１０ａは、処理要求がリアルタイム再生／記録の開始要求であるか否かを判定し、リアルタイム再生／記録の開始要求である場合には、ステップＳ２１に進み、それ以外の場合にはステップＳ２７に進む。
【００９１】
なお、リアルタイム再生／記録の開始要求には、ファイル名、固定転送速度または可変転送速度の何れかの指定、使用する最大帯域、転送モード、時間オフセット、期間が含まれている。
［Ｓ２１］ＣＰＵ１０ａは、リアルタイム転送のためのネットワークの帯域を予約する。ネットワークの帯域の予約は、ＩＥＥＥ−１３９４の場合では、アイソクロナス・リソースマネージャの機器のＢＡＮＤＷＩＤＴＨ＿ＡＶＡＩＬＡＢＬＥおよびＣＨＡＮＮＥＬＳ＿ＡＶＡＩＬＡＢＬＥのレジスタに格納されている値を適宜減算することにより、リソースを取得する。なお、これらのレジスタに格納されている値は、使用可能な帯域幅とチャンネル数とをそれぞれ示している。
［Ｓ２２］ＣＰＵ１０ａは、ファイルシステムの帯域を予約する。即ち、ＣＰＵ１０ａは、未使用の保証帯域から予約しようとする帯域を減算することでファイルシステムの帯域を予約する。なお、未使用の保証帯域は初期化時に機器の最大の保証帯域に設定されている。また、ファイルシステムの帯域の予約では、予約帯域に合わせてリアルタイム転送用の未使用のバッファブロックから順次割り当てを行う。このとき、必要なバッファブロックの数は、式（２）によって求める。
［Ｓ２３］ＣＰＵ１０ａは、ステップＳ２１，Ｓ２２において、ネットワークおよびファイルシステムの帯域予約が完了（成功）したか否かを判定し、完了した場合にはステップＳ２５に進み、それ以外の場合にはステップＳ２４に進む。
［Ｓ２４］ＣＰＵ１０ａは、処理要求の送信元に対してエラーが発生したことを通知する。
【００９２】
その結果、要求を行った機器は、転送要求が受け付けられなかったことを認知する。
［Ｓ２５］ＣＰＵ１０ａは、リアルタイム転送要求の待ち行列に対して、ファイル名、固定転送速度または可変転送速度の何れかの指定、使用する最大帯域、転送モード、時間オフセット、期間等を示すデータを登録する。
［Ｓ２６］ＣＰＵ１０ａは、再生／記録の開始要求が受理されたことを示すステータスおよび転送に使用するチャンネルを処理要求の発信元に対して送信する。
【００９３】
そして、図６に示すステップＳ１に戻り他の処理要求を待つ。
［Ｓ２７］ＣＰＵ１０ａは、処理要求がリアルタイム再生／記録の終了要求であるか否かを判定し、リアルタイム再生／記録の終了要求である場合にはステップＳ２８に進み、それ以外の場合にはステップＳ３２に進む。
【００９４】
なお、処理要求がリアルタイム再生／記録の終了要求である場合には、終了の対象となるチャンネルが処理要求に指定されているのでこれを参照することにより、対象となるチャンネルを特定することができる。
［Ｓ２８］ＣＰＵ１０ａは、リアルタイム転送要求の待ち行列から該当するチャンネルのデータを削除する。
［Ｓ２９］ＣＰＵ１０ａは、処理要求の送信元に対して、リアルタイム再生／記録が終了したことを示すステータスを送信する。
［Ｓ３０］ＣＰＵ１０ａは、ファイルシステムの予約帯域および使用中のバッファブロックを解放する。
［Ｓ３１］ＣＰＵ１０ａは、ＩＥＥＥ−１３９４のアイソクロナス・リソースマネージャの機器のＢＡＮＤＷＩＤＴＨ＿ＡＶＡＩＬＡＢＬＥおよびＣＨＡＮＮＥＬＳ＿ＡＶＡＩＬＡＢＬＥのレジスタに対して所定の値を加算することにより、リソースを解放する。
【００９５】
そして、図６のステップＳ１に戻って他の処理要求を待つ。
［Ｓ３２］ＣＰＵ１０ａは、記録開始要求を送信した機器が通信チャンネルに対してデータの送出を開始し、その結果、そのデータを受信した場合にはステップＳ３３に進み、それ以外の場合にはステップＳ３４に進む。
［Ｓ３３］ＣＰＵ１０ａは、該当するチャンネルからデータを取得し、バッファブロックの空き領域に格納する。記録データの受信処理は、ＩＥＥＥ−１３９４のサイクルマスタと呼ばれるノード（機器）から１２５μｓ周期で送信されるサークルスタートパケットを基準にして実行される。但し、記録データを受信する場合、データの発信元の送信タイミングによりそのチャンネルのデータ受信がない場合がある。
【００９６】
なお、ファイル再生時の送信タイミングは、固定の転送速度の場合は再生時に計算できるが、可変転送速度の場合は計算できないので、記録時に時間インデックスをデータに付加して記録しておくことで、再生時にその時間インデックスを参照してタイミングを決めることができる。例えば、ＭＰＥＧの画像圧縮の場合はＧＯＰ（Group Of Picture）毎に、ＩＥＥＥ−１３９４のアイソクロナス転送パケットのＣＩＰ（Common Isochronous Packet）ヘッダのタイムスタンプから再生時間を生成してデータとともに記録する。
【００９７】
記録データの受信は、記録の終了要求が受理されるまで繰り返される。この間、ディスク処理タスクによってバッファからＨＤＤ１０ｄへの書き込みが並行して処理され、リアルタイム転送が実行される。
［Ｓ３４］ＣＰＵ１０ａは、再生データの送信タイミングであるか否かを判定し、送信タイミングである場合にはステップＳ３５に進み、それ以外の場合にはステップＳ３６に進む。
【００９８】
即ち、ＣＰＵ１０ａは、先に受信した再生開始要求に付加されている使用最大帯域と、ファイルに付加して記録されている時間インデックスとを参照して送信タイミングを割り出し、その割り出したタイミングに該当する場合には、ステップＳ３５に進み、それ以外の場合にはステップＳ３６に進む。なお、ＣＰＵ１０ａは、この判断に先立って、バッファに所定量のデータが蓄積されていることを確認する必要がある。
［Ｓ３５］ＣＰＵ１０ａは、バッファから該当するチャンネルに対してデータを送信する。そして、バッファブロックのすべてのデータを送信した場合には、そのバッファブロックは空きの状態にする。
【００９９】
再生データの送信は、再生終了要求が受理されるまで繰り返される。この間、ディスク処理タスクでＨＤＤ１０ｄからのバッファへの読み込みが並行して処理され、リアルタイム転送が実行される。
【０１００】
また、再生データの送信は、送信開始直後のデータ切れを防ぐため、該当するバッファの持続時間が閾値ｔｈ１以上に達するまでデータが蓄積された後に送信を開始する。送信が開始された後は、リアルタイム転送によりファイルとともに記録されている時間インデックスを参照し、そのサイクルに送信すべきかどうかタイミングをはかる。
［Ｓ３６］ＣＰＵ１０ａは、エラーのステータスを、要求を行った送信元に対して通知する。
【０１０１】
次に、図８および図９を参照して、ディスク処理タスクの一例を示すフローチャートについて説明する。なお、ディスク処理タスクは、前述のリアルタイム転送要求の優先度およびリアルタイム転送に対するノンリアルタイム転送の優先度に応じて、各要求を適当な順序で処理する。
［Ｓ４０］ＣＰＵ１０ａは、リアルタイム転送の要求待ち行列にリアルタイム転送要求が登録されているか否かを判定し、登録されている場合にはステップＳ４２に進み、それ以外の場合にはステップＳ４１に進む。
［Ｓ４１］ＣＰＵ１０ａは、ノンリアルタイム転送要求があるか否かを判定し、ノンリアル転送要求がある場合には図９のステップＳ６５に進み、それ以外の場合にはステップＳ４０に戻って同様の処理を繰り返す。
［Ｓ４２］ＣＰＵ１０ａは、各転送要求の現在のバッファ量を参照し、式（３），（４）を用いて持続時間ＤＴＸ，ＤＴＲを求める。そして、ＣＰＵ１０ａは、持続時間の小さい順に要求の並べ替えを行う。
［Ｓ４３］ＣＰＵ１０ａは、持続時間の最小値が閾値ｔｈ１未満であるか否かを判定し、ｔｈ１未満である場合にはステップＳ４７に進み、それ以外の場合にはステップＳ４４に進む。
【０１０２】
ここで、持続時間の最小値が閾値ｔｈ１未満の場合には、リアルタイム転送のみ優先して実行する状態である。
［Ｓ４４］ＣＰＵ１０ａは、ノンリアルタイム転送要求があるか否かを判定し、ノンリアル転送要求がある場合には図９のステップＳ６０に進み、それ以外の場合にはステップＳ４５に進む。
［Ｓ４５］ＣＰＵ１０ａは、持続時間の最小値が閾値ｔｈ２以上であるか否かを判定し、閾値ｔｈ２以上である場合にはステップＳ４６に進み、それ以外の場合にはステップＳ４７に進む。
［Ｓ４６］ＣＰＵ１０ａは、ファイルシステムの負荷が軽いと判断し、リアルタイム転送における最大転送サイズをクラスタサイズの半分に設定する。これにより、一度のリアルタイム転送にかかる所要時間を短縮し、ノンリアルタイム転送の要求があった場合の待ち時間を少なくする。
【０１０３】
なお、閾値を複数設定して転送サイズを更に細かく変更することも可能である。
［Ｓ４７］ＣＰＵ１０ａは、リアルタイム転送における最大転送サイズをクラスタサイズに設定する。
【０１０４】
その結果、リアルタイム転送の最大限の帯域が保証されることになる。
［Ｓ４８］ＣＰＵ１０ａは、リアルタイム転送要求が送信要求であるか否かを判定し、送信要求の場合にはステップＳ４９に進み、それ以外の場合にはステップＳ５１に進む。
［Ｓ４９］ＣＰＵ１０ａは、該当するバッファに最大転送サイズの空き領域があるか否かを判定し、空き領域がある場合にはステップＳ５０に進み、それ以外の場合にはステップＳ５３に進む。
［Ｓ５０］ＣＰＵ１０ａは、ファイルの配置情報からアドレスを決定し、そのアドレスに格納されているデータをバッファブロックに読み出す。このとき、先の読み出しで転送サイズがクラスタサイズ以下に分断され、今回、最大転送サイズで連続して読み出せない場合は、連続して読み出せる転送サイズに変更する。
【０１０５】
そして、ステップＳ４０に戻り、同様の処理を繰り返す。ここまでの処理を繰り返すことにより、リアルタイム転送の読み出し処理がその優先度に従って実行される。
［Ｓ５１］ＣＰＵ１０ａは、該当する転送バッファに最大転送サイズのデータがバッファリングされているか否かを判定し、バッファリングされている場合はステップＳ５２に進み、それ以外の場合にはステップＳ５３に進む。
［Ｓ５２］ＣＰＵ１０ａは、バッファからＨＤＤ１０ｄに転送サイズのデータを書き込む。このとき、先の書き込みで転送サイズがクラスタ以下に分断され、今回、最大転送サイズで連続して書き込めない場合には、連続して書き込める転送サイズに変更する。
【０１０６】
なお、バッファブロックのすべてのデータの書き込みが完了した場合は、そのバッファブロックは空の状態にする。
そして、ステップＳ４０に戻り、同様の処理を繰り返す。
【０１０７】
ここまでの処理を繰り返し実行することにより、リアルタイム転送の書き込み処理が、その優先度に従って実行されることになる。
［Ｓ５３］ＣＰＵ１０ａは、全ての待ち要求に対応する処理を完了したか否かを判定し、全ての処理が完了した場合にはステップＳ４０に戻り、それ以外の場合にはステップＳ５４に進む。
［Ｓ５４］ＣＰＵ１０ａは、次に持続時間が小さい要求を取得し、ステップＳ４７に戻って同様の処理を繰り返す。
【０１０８】
次に、図９を参照して、図８の処理に続いて実行される他の処理の一例について説明する。
［Ｓ６０］ＣＰＵ１０ａは、現在のリアルタイム転送のバッファの状況から、最短で実行されるリアルタイム転送迄の時間を予測し、それをノンリアルタイム転送に割り当て可能な許容時間ｔｐとする。
［Ｓ６１］ＣＰＵ１０ａは、ステップＳ６０において求めた許容時間ｔｐが所定のデフォルト値（例えば、１００ミリ秒）未満であるか否かを判定し、デフォルト値未満である場合にはステップＳ６２に進み、それ以外の場合にはステップＳ６３に進む。
［Ｓ６２］ＣＰＵ１０ａは、許容時間ｔｐをデフォルト値に設定する。
【０１０９】
なお、このデフォルト値を大きく設定すると、ノンリアルタイム転送の優先度が上昇するので、持続時間の最小値の状況から、ファイルシステムの負荷が少ないと判定される場合にはデフォルト値を大きい値に変更することも可能である。
［Ｓ６３］ＣＰＵ１０ａは、ノンリアルタイム転送の待ち行列とファイル配置情報とを参照して各ノンリアルタイム転送の所要時間を予測する。
【０１１０】
なお、ノンリアルタイム転送の所要時間が所定の値よりも大きい場合には、ノンリアルタイム転送を適宜分断して行うようにしてもよい。
［Ｓ６４］ＣＰＵ１０ａは、許容時間ｔｐ内に転送可能なデータが存在するか否かを判定し、転送可能データが存在する場合にはステップＳ６５に進み、それ以外の場合には図８のステップＳ４５に進み、ノンリアルタイム転送処理は実行せずにリアルタイム転送処理を優先して実行する。
［Ｓ６５］ＣＰＵ１０ａは、処理要求が書き込みで要求であるか否かを判定し、書き込み要求の場合にはステップＳ６６に進み、それ以外の場合にはステップＳ６８に進む。
［Ｓ６６］ＣＰＵ１０ａは、ノンリアルタイム転送用バッファから所定のデータ（ステップＳ６４において転送可能と判定されたデータ）を取得し、ＨＤＤ１０ｄに対してデータを書き込む。
［Ｓ６７］ＣＰＵ１０ａは、書き込みによりバッファブロックのすべてのデータの書き込みが完了した場合には、そのバッファブロックを解放する。
［Ｓ６８］ＣＰＵ１０ａは、ＨＤＤ１０ｄからノンリアルタイム転送用バッファの空き領域にデータ（ステップＳ６４において転送可能と判定されたデータ）を読み出す。
［Ｓ６９］ＣＰＵ１０ａは、今回の転送にてノンリアルタイム転送の要求が完了したか否かを判定し、全てのデータの書き込みまたは読み出しが完了した場合には、ステップＳ７０に進み、それ以外の場合には図８のステップＳ４０に戻って同様の処理を繰り返す。
［Ｓ７０］ＣＰＵ１０ａは、ネットワーク処理タスクにディスク処理の完了を通知する。このメッセージを受信することにより、ネットワーク処理タスクは図６のステップＳ７，Ｓ１０において、ノンリアルタイム書き込み／読み出し処理を終了したと判定することになる。
【０１１１】
以上に述べたように、本発明では、ＨＤＤ１０ｄのシーケンシャルアクセスの転送速度およびランダムアクセス時の最大アクセス時間から、リアルタイム転送のファイルの記録時における連続領域の最小単位を求め、それをＨＤＤ１０ｄのＩ／Ｏ処理の最小単位とすることで、リアルタイム転送の最大帯域を決定し、リアルタイム転送を帯域保証することが可能となる。
【０１１２】
また、転送帯域の異なる複数のリアルタイム転送に対して、帯域予約時に機器の保証帯域およびバッファを割り当て、バッファのデータ残量と転送速度とから各リアルタイム処理の優先度を決定しファイルシステムのディスク処理を行うことで、可変転送速度のリアルタイム転送に対して最適な優先度を割り当て、帯域保証することが可能となる。
【０１１３】
更に、リアルタイム転送のバッファリングされているデータ量と転送速度とから、ファイルシステムの負荷を求め、その負荷状況によりノンリアルタイム転送の優先度を決定することで、リアルタイム転送の帯域を保証しながら、未使用のＨＤＤ１０ｄのＩ／Ｏ処理能力を利用してノンリアルタイム転送を効率よく行うことが可能となる。
【０１１４】
更にまた、ノンリアルタイム転送の優先度は、ノンリアルタイム転送によって起こされるであろうリアルタイム転送のバッファ量の低下の許容時間およびノンリアルタイム転送にかかるであろう処理時間の予測値を用いることにより、簡単に判断することが可能となる。
【０１１５】
また、ファイルシステムの負荷が軽い場合は、リアルタイム転送のディスクＩ／Ｏ処理の単位を分割するようにしたので、ノンリアルタイム転送の処理待ち時間を短くすることが可能となる。
【０１１６】
なお、本実施の形態においては、リアルタイム再生の開始時にデータが途切れることを防止するために、該当するバッファにデータを所定量だけ蓄積する処理を行う。この間は、この蓄積処理が優先して実行されるため、対象となるリアルタイム再生を迅速に起動することができる一方で、他のリアルタイム転送に係るバッファのデータ量はその間に急激に減少することになる。そのため、再生要求から送信開始までの遅延が許容される転送の場合には、送信開始前のデータ蓄積処理中だけリアルタイム転送要求をノンリアルタイム転送要求として扱うことにより優先度を下げ、データ蓄積処理による弊害の発生を防止することができる。
【０１１７】
その場合は、図８のステップＳ４２，Ｓ４３では、送信前のリアルタイム転送は、ノンリアルタイム転送として扱われるので、ステップＳ４４ではＹＥＳと判定されて図９のステップＳ６０に進み、該当するバッファの持続時間が閾値ｔｈ１以上になるまでノンリアルタイム転送の要求として処理され、ステップＳ６３〜ステップＳ６８において、ディスクからバッファへの読み出し処理が実行される。その後は、通常のリアルタイム転送要求として処理が継続される。
【０１１８】
また、本実施の形態では、リアルタイム転送のバッファの最低値が閾値ｔｈ２以上の場合には、転送サイズを２つに分割することにより、ノンリアルタイム転送の要求の完了待ち時間を短縮するようにしているが、分割された一方の転送が完了した時点においてノンリアルタイム転送の要求がない場合には、他方の転送を継続して行うことにより不要なシークの発生を防止することができる。このような処理を実現するためには、図８のステップＳ５０，Ｓ５２において、クラスタサイズの半分の領域の転送が完了した後に、ノンリアルタイム転送の要求が存在するか否かを判定し、要求がない場合には残り半分のクラスタに対する転送処理を継続して実行するようにすればよい。
【０１１９】
更に、本実施の形態では、ノンリアルタイム転送においては転送帯域は保証されないが、所定の転送速度まではリアルタイム転送と同等の優先度にてディスク処理を行い、それ以上の転送速度に対しては上述と同様の方法（ディスク処理の負荷に応じた処理方法）により処理することにより、最低帯域を保証した速度可変の転送が実現可能となる。但し、このような場合には、情報記録装置のみならず、ネットワーク自体が同様の最低保証帯域予約を実行可能である必要があり、ＩＥＥＥ−１３９４規格ではこのような転送方式はサポートされていないので、例えば、ネットワークとしてはＡＴＭ（Asynchronous Transfer Mode）を使用し、可変伝送速度（Variable Bit Rate）方式の転送により、最低保証帯域を平均セル速度（Sustainable Cell Rate）と指定することにより実現可能となる。
【０１２０】
図１０および図１１は、最低保証帯域転送のネットワーク処理タスク、ディスク処理タスクをそれぞれ示すフローチャートの一例である。図１０に示す処理は、図６に示すネットワーク処理タスクのフローチャートのステップＳ２を実行する前に、帯域保証リアルタイム転送に関する要求か否かを判定し、該当する場合に実行される。このフローチャートが開始されると以下の処理が実行される。なお、最低保証転送に関する処理要求は、（１）開始要求、（２）終了要求、（３）書き込み要求、（４）読み込み要求の４つがある。
［Ｓ８０］ＣＰＵ１０ａは、処理要求が最低保証帯域転送開始要求であるか否かを判定し、最低保証帯域転送開始要求である場合にはステップＳ８１に進み、それ以外の場合にはステップＳ８４に進む。
［Ｓ８１］ＣＰＵ１０ａは、最低保証帯域を最大保証帯域として扱い、リアルタイム転送の帯域予約の場合と同様に、ネットワークおよびファイルシステムの帯域予約を実行する。
【０１２１】
なお、最低保証帯域転送に使用するバッファは、リアルタイム転送用バッファから流用される。
［Ｓ８２］ＣＰＵ１０ａは、処理要求を最低保証帯域転送の要求待ち行列に登録する。
【０１２２】
その結果、ディスク処理タスクはファイル配置管理情報を利用して先読み、遅延書き込み処理を実行するので、データがバッファリングされることになる。
［Ｓ８３］ＣＰＵ１０ａは、処理要求送信元に対してステータス、および、読み込み／書き込み要求で使用するファイルハンドラを送信する。そして、図６のステップＳ１の処理に戻り、同様の処理を繰り返す。
【０１２３】
なお、開始要求により帯域予約を行った後は、指定したモードに合わせて、書き込み要求、または、読み出し要求に対する処理が実行できるようになる。
［Ｓ８４］ＣＰＵ１０ａは、処理要求が最低保証帯域転送終了要求であるか否かを判定し、最低保証帯域転送終了要求である場合にはステップＳ８５に進み、それ以外の場合にはステップＳ８８に進む。
【０１２４】
なお、最低保証帯域転送終了要求には、終了を要求するファイルハンドラが指定されているのでこれを参照することにより終了の対象を特定する。
［Ｓ８５］ＣＰＵ１０ａは、最低保証帯域転送の要求待ち行列から該当するデータを削除する。
［Ｓ８６］ＣＰＵ１０ａは、ファイルシステムおよびネットワークの予約帯域を解放する。
［Ｓ８７］ＣＰＵ１０ａは、処理要求の送信元に対してステータスを送信した後、図６のステップＳ１に戻って同様の処理を繰り返す。
［Ｓ８８］ＣＰＵ１０ａは、処理要求が最低保証帯域転送書き込み要求であるか否かを判定し、最低保証帯域転送書き込み要求である場合にはステップＳ８９に進み、それ以外の場合にはステップＳ９２に進む。
［Ｓ８９］ＣＰＵ１０ａは、書き込み要求に付随する書き込みデータを、割り当てられたリアルタイム転送用の未使用バッファブロックに対して転送する。
【０１２５】
なお、書き込み要求には、ファイルハンドラ、書き込みオフセット、書き込みサイズなどが指定されており、ＣＰＵ１０ａは、これらのデータを参照することにより、書き込みを実行する。
［Ｓ９０］ＣＰＵ１０ａは、書き込み要求で処理できる最大転送サイズの空きがバッファに存在するか否かを判定し、存在する場合にはステップＳ９１に進み、それ以外の場合にはステップＳ９０に戻って空きが発生するまで同様の処理を繰り返す。
【０１２６】
この処理により、バッファに最大転送サイズの空きが無い場合には、ディスクへの書き込みが実行され、バッファに最大転送サイズの空きができるまで待機することになる。その結果、次の書き込み要求が発行された場合に、ステップＳ８９の処理において書き込みデータをバッファに転送できることを保証できる。
［Ｓ９１］ＣＰＵ１０ａは、書き込み要求の送信元に対して、書き込み完了を通知する。そして、図６のステップＳ１の処理に戻り、同様の処理を繰り返す。
［Ｓ９２］ＣＰＵ１０ａは、処理要求が最低保証帯域転送読み出し要求であるか否かを判定し、最低保証帯域転送読み出し要求である場合にはステップＳ９３に進み、それ以外の場合にはステップＳ９５に進む。
【０１２７】
なお、読み出し要求にはファイルハンドラ、読み出しオフセット、読み出しサイズが指定されているので、ＣＰＵ１０ａはこれらを参照して読み出し処理を実行する。
［Ｓ９３］ＣＰＵ１０ａは、ディスク処理タスクにより先読みされてバッファリングされているデータを読み出し要求を行った送信元に対して送信する。
【０１２８】
なお、読み出しの場合には、最低転送帯域が保証されるようにディスク処理タスクによって優先的に処理が実行されることから、バッファにはデータが必ずバッファリングされている。
［Ｓ９４］ＣＰＵ１０ａは、読み出し要求の送信元に対して、読み出しが完了したことを通知する。そして、図６のステップＳ１の処理に戻り、同様の処理を繰り返す。
［Ｓ９５］ＣＰＵ１０ａは、エラーが発生したことを送信元に対して通知する。そして、図６のステップＳ１の処理に戻り、同様の処理を繰り返す。
【０１２９】
図１１は、最低保証帯域転送に係るディスク処理タスクの一例を示すフローチャートである。この処理は、図８のステップＳ４０の処理の前に、ノンリアルタイム転送の要求が存在するか否かを判定し、存在する場合に実行される。このフローチャートが開始されると以下の処理が実行される。
［Ｓ１００］ＣＰＵ１０ａは、リアルタイム転送要求の待ち行列および最低保証帯域転送要求の待ち行列と、各転送要求のバッファのデータ量とから持続時間を求め、持続時間が小さい順に並べ替えを行う。
［Ｓ１０１］ＣＰＵ１０ａは、持続時間の最低値が閾値ｔｈ１未満である場合にはステップＳ１０５に進み、それ以外の場合にはステップＳ１０２に進む。
［Ｓ１０２］ＣＰＵ１０ａは、持続時間の最低値を有する処理要求が最低保証帯域転送であるか否かを判定し、最低保証帯域転送である場合にはステップＳ１０３に進み、それ以外の場合には図８のステップＳ４５に進む。
［Ｓ１０３］ＣＰＵ１０ａは、バッファとネットワークとの間の転送レートが予約帯域以下である場合にはステップＳ１０４に進み、それ以外の場合には図８のステップＳ５３に進む。
【０１３０】
なお、ステップＳ５３以降の処理では、次に優先度が高いリアルタイム転送に関する処理が実行されることになる。
［Ｓ１０４］ＣＰＵ１０ａは、最低保証帯域転送の要求をリアルタイム転送として扱い、図８のステップＳ４５からステップＳ５０またはステップＳ５２までのリアルタイム転送に関するディスク処理を実行する。
［Ｓ１０５］ＣＰＵ１０ａは、ノンリアルタイム転送の要求が存在するか否かを判定し、存在する場合には図９のステップＳ６０に進んで通常のノンリアルタイム転送処理を実行する、それ以外の場合にはステップＳ１０６に進む。
［Ｓ１０６］ＣＰＵ１０ａは、最低保証帯域転送の要求が存在するか否かを判定し、存在する場合にはステップＳ１０７に進み、それ以外の場合には図８のステップＳ４５に進む。
［Ｓ１０７］ＣＰＵ１０ａは、最低保証帯域転送の転送サイズをクラスタサイズの半分に設定した後、最低保証帯域転送の要求を通常のノンリアルタイム転送と同様の優先度にて処理する。
［Ｓ１０８］ＣＰＵ１０ａは、処理要求が書き込み要求であるか否かを判定し、書き込み要求である場合にはステップＳ１０９に進み、それ以外の場合にはステップＳ１１０に進む。
［Ｓ１０９］ＣＰＵ１０ａは、バッファに転送サイズのデータが存在するか否かを判定し、存在する場合にはステップＳ１１１に進み、それ以外の場合には図８のステップＳ４５に進み、リアルタイム転送処理を実行する。
［Ｓ１１０］ＣＰＵ１０ａは、バッファに転送サイズの空き領域が存在するか否かを判定し、存在する場合にはステップＳ１１１に進み、それ以外の場合には図８のステップＳ４５に進み、リアルタイム転送処理を実行する。
［Ｓ１１１］ＣＰＵ１０ａは、最低保証帯域転送要求をノンリアルタイム転送要求と見なして処理を継続する。
【０１３１】
即ち、最低保証帯域転送要求をノンリアルタイム転送要求と見なして、図９のステップＳ６０以降の処理を実行する。
以上の処理によれば、ディスク処理タスクは、ネットワークの転送レートが最低保証帯域以下の場合は、最低保証帯域転送の要求をリアルタイム転送と見なして優先度を決定して処理し、それを越えた場合にはノンリアルタイム転送として処理するので、ディスクの転送能力を最大限に利用したバッファリングが可能となり、最低転送速度を保証した可変レートの転送を実現することができる。
【０１３２】
但し、このような処理を実現するためには、転送の要求元にて最低保証帯域以上のデータの送信／受信能力を具備している必要がある。
なお、以上の実施の形態では、リアルタイム転送のファイルシステムの負荷を、バッファのデータ量より求めた送信／受信の持続時間で判断したが、バッファ残量の平均値を利用することもできる。また、平均値を求める際には、少ないバッファ量に関しては加重して平均値を求めることもできる。
【０１３３】
また、以上の実施の形態ではＨＤＤを例に挙げて説明を行ったが、例えば、ＤＶＤや光磁気ディスク等のようにランダムアクセスに時間を要する記録媒体であれば同様の効果を得ることができる。
【０１３４】
【発明の効果】
以上説明したように本発明では、少なくとも１の情報処理装置とネットワークを介して接続され、情報処理装置から伝送されてきた情報を記録するとともに、記録している情報を情報処理装置に対して伝送する情報記録装置において、情報処理装置との間でネットワークを介して情報を送受信する送受信手段と、情報を記録する記録手段と、記録手段の最小連続領域、シーケンシャル転送速度、および、アクセス時間から記録手段のリアルタイム転送に利用可能な最大転送速度を算出する算出手段と、情報処理装置からリアルタイム転送の要求がなされた場合には、算出手段によって算出された最大転送速度を越えないことを条件として、その要求を許可する許可手段と、情報処理装置から伝送されてきた情報であって記録手段に記録しようとする情報を一時的に格納するとともに、記録手段から再生された情報であって情報処理装置に対して伝送しようとする情報を一時的に格納する格納手段と、情報処理装置からリアルタイム転送の要求がなされた場合には、その転送速度に応じた大きさの格納領域を格納手段に確保する格納領域確保手段と、転送処理中は、格納領域確保手段によって確保された格納領域に対して常に所定量の情報が格納されているように記録手段に対する情報の記録再生動作を管理する管理手段と、を有するようにし、この管理手段がさらに、複数の情報処理装置から並行してリアルタイム転送の要求がなされた場合には、各格納領域に格納されている情報の量と、その転送速度とに応じて処理の優先度を決定し、決定した優先度に応じて記録手段に対する情報の記録再生動作を実行するようにしたことにより、リアルタイム転送を帯域保証することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態の構成例を示すブロック図である。
【図２】図１に示すＲＡＭの分割の一態様を示す図である。
【図３】リアルタイム転送用バッファの動作の概要を示す図である。
【図４】リアルタイム転送とノンリアルタイム転送に対する優先度の一例を示す図である。
【図５】条件付きノンリアルタイム転送の様子を示す図である。
【図６】ネットワーク処理タスクに関する処理の一例を説明するフローチャートである。
【図７】ネットワーク処理タスクに関する処理の一例を説明するフローチャートである。
【図８】ディスク処理タスクの関する処理の一例を説明するフローチャートである。
【図９】ディスク処理タスクの関する処理の一例を説明するフローチャートである。
【図１０】最低保証帯域転送のネットワーク処理の一例を説明するフローチャートである。
【図１１】最低保証帯域転送のディスク処理の一例を説明するフローチャートである。
【符号の説明】
１０……情報記録装置，１０ａ……ＣＰＵ，１０ｂ……ＲＯＭ，１０ｃ……ＲＡＭ，１０ｄ……ＨＤＤ，１０ｅ……Ｉ／Ｆ，２０……接続ケーブル，３０……ディジタルテレビ，４０……パーソナルコンピュータ，５０……ディジタル受信機，５０ａ……パラボラアンテナ，６０……ディジタルビデオカメラ
【図１】
0004089060.tif 000002
【図２】
0004089060.tif 000003
【図３】
0004089060.tif 000004
【図４】
0004089060.tif 000005
【図５】
0004089060.tif 000006
【図６】
0004089060.tif 000007
【図７】
0004089060.tif 000008
【図８】
0004089060.tif 000009
【図９】
0004089060.tif 000010
【図１０】
0004089060.tif 000011
【図１１】
0004089060.tif 000012