JP2002196961A - ファイルシステム - Google Patents
ファイルシステムInfo
- Publication number
- JP2002196961A JP2002196961A JP2000397721A JP2000397721A JP2002196961A JP 2002196961 A JP2002196961 A JP 2002196961A JP 2000397721 A JP2000397721 A JP 2000397721A JP 2000397721 A JP2000397721 A JP 2000397721A JP 2002196961 A JP2002196961 A JP 2002196961A
- Authority
- JP
- Japan
- Prior art keywords
- data
- file
- unit
- read
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【課題】 任意のサイズのファイル書き込み要求を受け
付けるファイルシステムにおいて、高速なリアルタイム
書き込みを実現し、かつ、帯域幅を有効利用できるファ
イルシステムを提供する。 【解決手段】 サーバアプリケーション21からファイ
ル書き込み要求を受けると、ブロック判定部221は、
要求されたデータを遅延書き込み用バッファ223へ転
送する。さらに、ブロック判定部221は、書き込み開
始位置の連続性と、データ記憶部24に書き込む単位で
あるブロックの位置とに基づいて、データ記憶部24か
らの読み出しが必要かを判定する。遅延読み出し処理部
225は、ブロック判定部221で必要と判定されたと
きのみ読み出し処理を行う。遅延書き込み処理部224
は、データがブロック判定部221から転送され、遅延
読み出し処理部225で読み出された後、データの揃っ
たブロックをデータ記憶部24へ一定周期毎で書き込
む。
付けるファイルシステムにおいて、高速なリアルタイム
書き込みを実現し、かつ、帯域幅を有効利用できるファ
イルシステムを提供する。 【解決手段】 サーバアプリケーション21からファイ
ル書き込み要求を受けると、ブロック判定部221は、
要求されたデータを遅延書き込み用バッファ223へ転
送する。さらに、ブロック判定部221は、書き込み開
始位置の連続性と、データ記憶部24に書き込む単位で
あるブロックの位置とに基づいて、データ記憶部24か
らの読み出しが必要かを判定する。遅延読み出し処理部
225は、ブロック判定部221で必要と判定されたと
きのみ読み出し処理を行う。遅延書き込み処理部224
は、データがブロック判定部221から転送され、遅延
読み出し処理部225で読み出された後、データの揃っ
たブロックをデータ記憶部24へ一定周期毎で書き込
む。
Description
【0001】
【発明の属する技術分野】本発明は、ファイルシステム
に関し、より特定的には、ファイルを蓄積するサーバと
ファイル操作を行う複数のクライアントとが、ネットワ
ークを介して接続された環境において用いられ、各クラ
イアントがサーバに要求するファイル操作を、サーバ内
でリアルタイムかつローカルに実行するためのローカル
・ファイルシステム、及びクライアント内でリアルタイ
ムかつリモートで実行するためのリモート・ファイルシ
ステムに関する。
に関し、より特定的には、ファイルを蓄積するサーバと
ファイル操作を行う複数のクライアントとが、ネットワ
ークを介して接続された環境において用いられ、各クラ
イアントがサーバに要求するファイル操作を、サーバ内
でリアルタイムかつローカルに実行するためのローカル
・ファイルシステム、及びクライアント内でリアルタイ
ムかつリモートで実行するためのリモート・ファイルシ
ステムに関する。
【0002】
【従来の技術】従来、ビデオサーバ装置と端末(クライ
アント)とをネットワークで接続し、映像や音声をリア
ルタイムでユーザに提供するようなシステムが存在す
る。このシステムでは、ビデオサーバ装置が備える大容
量の記憶装置に様々な映像や音声のデータが予め記録さ
れており、ビデオサーバ装置が、端末から受けた要求に
応じて記憶装置からデータを読み出し、端末へ映像・音
声ストリームとして出力する。また、映像や音声のデー
タをファイルとして扱えるようにファイルサーバ装置に
格納し、上記ビデオサーバ装置と同様に、要求に応じて
映像や音声を端末へ提供するシステムも提案されてい
る。このように映像や音声のデータをファイルとして扱
うと、データをアクセスする際のインタフェース(ファ
イル読み出し、ファイル書き込み)が、従来のファイル
サーバ装置(主に文字情報や静止画像等のデータを扱う
サーバ装置)と共通にできる。このため、ファイルサー
バ装置を両方の用途に使用することが可能となり、ソフ
トウェア・ハードウェア資源を有効に活用できる。
アント)とをネットワークで接続し、映像や音声をリア
ルタイムでユーザに提供するようなシステムが存在す
る。このシステムでは、ビデオサーバ装置が備える大容
量の記憶装置に様々な映像や音声のデータが予め記録さ
れており、ビデオサーバ装置が、端末から受けた要求に
応じて記憶装置からデータを読み出し、端末へ映像・音
声ストリームとして出力する。また、映像や音声のデー
タをファイルとして扱えるようにファイルサーバ装置に
格納し、上記ビデオサーバ装置と同様に、要求に応じて
映像や音声を端末へ提供するシステムも提案されてい
る。このように映像や音声のデータをファイルとして扱
うと、データをアクセスする際のインタフェース(ファ
イル読み出し、ファイル書き込み)が、従来のファイル
サーバ装置(主に文字情報や静止画像等のデータを扱う
サーバ装置)と共通にできる。このため、ファイルサー
バ装置を両方の用途に使用することが可能となり、ソフ
トウェア・ハードウェア資源を有効に活用できる。
【0003】ファイルサーバ装置において、データをフ
ァイルとして扱えるようにするのがファイルシステムで
ある。ファイルシステムは、アプリケーションからの要
求に応じ、記録装置(例えば、HDD)に対してファイ
ル作成やファイルの読み出し/書き込み等のファイル操
作を行うものである。一般的には、ファイルシステム
は、オペレーティングシステム(OS)の一機能として
ソフトウェアの形態で提供される。特に、単体のパーソ
ナルコンピュータやサーバ機器が、自己に接続されてい
る記録装置に対してファイル操作を行うようなシステム
を「ローカル・ファイルシステム」と呼び、クライアン
ト・サーバ・システム等において、クライアント側が、
ネットワークを通じてサーバ側の記録装置に対してファ
イル操作を行うようなシステムを「リモート・ファイル
システム」と呼ぶ。以下、従来のファイルシステムで行
われるファイル操作の内、ファイル書き込み処理を幾つ
か説明する。このファイル書き込み処理は、ファイルの
新規作成時又は既存ファイルの内容の変更や追加時に行
われるが、以下の説明では、後者の場合を説明する。
ァイルとして扱えるようにするのがファイルシステムで
ある。ファイルシステムは、アプリケーションからの要
求に応じ、記録装置(例えば、HDD)に対してファイ
ル作成やファイルの読み出し/書き込み等のファイル操
作を行うものである。一般的には、ファイルシステム
は、オペレーティングシステム(OS)の一機能として
ソフトウェアの形態で提供される。特に、単体のパーソ
ナルコンピュータやサーバ機器が、自己に接続されてい
る記録装置に対してファイル操作を行うようなシステム
を「ローカル・ファイルシステム」と呼び、クライアン
ト・サーバ・システム等において、クライアント側が、
ネットワークを通じてサーバ側の記録装置に対してファ
イル操作を行うようなシステムを「リモート・ファイル
システム」と呼ぶ。以下、従来のファイルシステムで行
われるファイル操作の内、ファイル書き込み処理を幾つ
か説明する。このファイル書き込み処理は、ファイルの
新規作成時又は既存ファイルの内容の変更や追加時に行
われるが、以下の説明では、後者の場合を説明する。
【0004】まず、主に文字情報等のデータを扱うファ
イルサーバを備えたファイルシステムで行われる書き込
み処理について説明する(第1の従来例)。この第1の
従来例による処理では、ファイルシステムがアプリケー
ションから書き込み要求を受け取ると、ファイルシステ
ム内部に有するキャッシュメモリに、該当する既存ファ
イルのデータがあるか否かが判断される。もし、キャッ
シュメモリにデータが無い場合は、該当するデータが記
憶装置からキャッシュメモリに読み出される。このよう
な処理が行われるのは、アプリケーションから任意のサ
イズで書き込み要求がされるのに対し、記憶装置がデー
タ読み書き要求を受け付けることのできる最小サイズが
通常予め定められているため、ファイルシステムが、こ
の最小サイズの単位(セクタサイズ=512バイト等)
でしかデータのアクセスができないからである。従っ
て、ファイルシステムは、書き込み要求がたとえ1バイ
トだけであっても、この1バイトのデータだけを記憶装
置へ書き込むことができない。従って、ファイルシステ
ムは、記憶装置から最小サイズ分のデータをキャッシュ
メモリに一度読み出し、1バイトの内容を変更した後、
再びキャッシュメモリの最小サイズ分のデータを記憶装
置に書き込む必要が生じるのである。
イルサーバを備えたファイルシステムで行われる書き込
み処理について説明する(第1の従来例)。この第1の
従来例による処理では、ファイルシステムがアプリケー
ションから書き込み要求を受け取ると、ファイルシステ
ム内部に有するキャッシュメモリに、該当する既存ファ
イルのデータがあるか否かが判断される。もし、キャッ
シュメモリにデータが無い場合は、該当するデータが記
憶装置からキャッシュメモリに読み出される。このよう
な処理が行われるのは、アプリケーションから任意のサ
イズで書き込み要求がされるのに対し、記憶装置がデー
タ読み書き要求を受け付けることのできる最小サイズが
通常予め定められているため、ファイルシステムが、こ
の最小サイズの単位(セクタサイズ=512バイト等)
でしかデータのアクセスができないからである。従っ
て、ファイルシステムは、書き込み要求がたとえ1バイ
トだけであっても、この1バイトのデータだけを記憶装
置へ書き込むことができない。従って、ファイルシステ
ムは、記憶装置から最小サイズ分のデータをキャッシュ
メモリに一度読み出し、1バイトの内容を変更した後、
再びキャッシュメモリの最小サイズ分のデータを記憶装
置に書き込む必要が生じるのである。
【0005】しかし、上記第1の従来例による処理で
は、該当するデータが、キャッシュメモリに存在したと
きにはアプリケーションへの応答が速くなるが、存在し
なかったときには、記憶装置からの読み出しという通常
のメモリ間でのデータ転送に比べて時間のかかる処理が
発生するため、アプリケーションへの応答が遅くなる。
この遅れは、文字等のデータを書き込む場合には問題に
ならないが、映像や音声等のリアルタイムな読み書きが
求められるデータにとっては問題になる。例えば、リア
ルタイムエンコーダ搭載の端末で動画データを録画する
ような場合、キャッシュメモリに存在するデータについ
ては、必要とされる一定の帯域幅(データ転送速度)で
の書き込みが可能であるが、キャッシュメモリに存在し
ないデータについては、記憶装置からの読み出しが行わ
れるため、必要とされる一定の帯域幅での書き込みがで
きなくなる。その結果、データ転送の途切れによるエラ
ー処理で録画がストップしたり、録画した結果にデータ
欠落が生じる等の支障がでる。
は、該当するデータが、キャッシュメモリに存在したと
きにはアプリケーションへの応答が速くなるが、存在し
なかったときには、記憶装置からの読み出しという通常
のメモリ間でのデータ転送に比べて時間のかかる処理が
発生するため、アプリケーションへの応答が遅くなる。
この遅れは、文字等のデータを書き込む場合には問題に
ならないが、映像や音声等のリアルタイムな読み書きが
求められるデータにとっては問題になる。例えば、リア
ルタイムエンコーダ搭載の端末で動画データを録画する
ような場合、キャッシュメモリに存在するデータについ
ては、必要とされる一定の帯域幅(データ転送速度)で
の書き込みが可能であるが、キャッシュメモリに存在し
ないデータについては、記憶装置からの読み出しが行わ
れるため、必要とされる一定の帯域幅での書き込みがで
きなくなる。その結果、データ転送の途切れによるエラ
ー処理で録画がストップしたり、録画した結果にデータ
欠落が生じる等の支障がでる。
【0006】一方、ファイル書き込み処理時に、記憶装
置からデータ読み出しを行わないファイルシステムも提
案されている(第2の従来例)。この第2の従来例の技
術は、映像や音声等の高速かつリアルタイムな転送が必
要なデータを対象にしたファイルサーバで用いられる手
法であり、アプリケーションからファイルシステムへ要
求するファイル書き込みの単位を、任意のサイズではな
く、記憶装置のアクセス可能な最小サイズの単位(又
は、その倍数の単位)に限定している。従って、書き込
み要求が常に最小サイズの単位となるので(上述のよう
に1バイトで要求されることがない)、ファイルシステ
ムは、記憶装置からのデータ読み出しを行う必要がなく
なるのである。
置からデータ読み出しを行わないファイルシステムも提
案されている(第2の従来例)。この第2の従来例の技
術は、映像や音声等の高速かつリアルタイムな転送が必
要なデータを対象にしたファイルサーバで用いられる手
法であり、アプリケーションからファイルシステムへ要
求するファイル書き込みの単位を、任意のサイズではな
く、記憶装置のアクセス可能な最小サイズの単位(又
は、その倍数の単位)に限定している。従って、書き込
み要求が常に最小サイズの単位となるので(上述のよう
に1バイトで要求されることがない)、ファイルシステ
ムは、記憶装置からのデータ読み出しを行う必要がなく
なるのである。
【0007】しかし、上記第2の従来例の手法では、記
憶装置からのデータ読み出しは必要ないが、文字情報等
をデータとする従来のファイルをアクセスしようとする
と、ファイルアクセスの単位が限定されている(常に固
定サイズでの読み書きしかできない)ので、扱い難くな
る。また、現在普及しているアプリケーションは、通
常、文字情報等のデータを扱うため任意のサイズでの読
み書きをするように作られているので、上記第2の従来
例のファイルシステムでは、既存のアプリケーションを
動作させることができず、ソフトウェア資源の有効活用
もできない。
憶装置からのデータ読み出しは必要ないが、文字情報等
をデータとする従来のファイルをアクセスしようとする
と、ファイルアクセスの単位が限定されている(常に固
定サイズでの読み書きしかできない)ので、扱い難くな
る。また、現在普及しているアプリケーションは、通
常、文字情報等のデータを扱うため任意のサイズでの読
み書きをするように作られているので、上記第2の従来
例のファイルシステムでは、既存のアプリケーションを
動作させることができず、ソフトウェア資源の有効活用
もできない。
【0008】さらに、ファイルシステムへのアクセス単
位が任意のサイズであり、かつ、上記第1の従来例で生
じるデータ読み出しによる遅延を抑える方法が、特開平
10−171689号公報で開示されている(第3の従
来例)。この第3の従来例による方法では、ファイルの
データを一定周期でキャッシュメモリに読み出す機構を
設け、データをキャッシュメモリに先読みしておくこと
で、書き込み要求されたデータをキャッシュメモリに存
在させるようにしている。この処理により、記憶装置か
らのデータ読み出しにかかる処理時間が、書き込み要求
したアプリケーションへの応答時間には含まれなくなる
ため、第3の従来例による方法では、一定の帯域幅での
データ書き込みが可能になる。
位が任意のサイズであり、かつ、上記第1の従来例で生
じるデータ読み出しによる遅延を抑える方法が、特開平
10−171689号公報で開示されている(第3の従
来例)。この第3の従来例による方法では、ファイルの
データを一定周期でキャッシュメモリに読み出す機構を
設け、データをキャッシュメモリに先読みしておくこと
で、書き込み要求されたデータをキャッシュメモリに存
在させるようにしている。この処理により、記憶装置か
らのデータ読み出しにかかる処理時間が、書き込み要求
したアプリケーションへの応答時間には含まれなくなる
ため、第3の従来例による方法では、一定の帯域幅での
データ書き込みが可能になる。
【0009】
【発明が解決しようとする課題】上記のように、第3の
従来例による方法では、一定周期毎にデータの先読みを
行い、書き込み要求されたデータを高い確率でキャッシ
ュにヒットさせる(存在させる)ようにしている。しか
しながら、一定周期毎にデータの先読みを行う場合、実
際にサーバに書き込む帯域とは別に、データ先読み用と
してほぼ同等の帯域が必要となり、通常の場合に比べ約
2倍の書き込み帯域を占有することになる。すなわち、
サーバの記憶装置が実際に読み書きできる転送速度に比
べ、サーバが端末に提供可能な転送速度が、かなり低く
なってしまうという問題がある。
従来例による方法では、一定周期毎にデータの先読みを
行い、書き込み要求されたデータを高い確率でキャッシ
ュにヒットさせる(存在させる)ようにしている。しか
しながら、一定周期毎にデータの先読みを行う場合、実
際にサーバに書き込む帯域とは別に、データ先読み用と
してほぼ同等の帯域が必要となり、通常の場合に比べ約
2倍の書き込み帯域を占有することになる。すなわち、
サーバの記憶装置が実際に読み書きできる転送速度に比
べ、サーバが端末に提供可能な転送速度が、かなり低く
なってしまうという問題がある。
【0010】例えば、サーバに接続されているハードデ
ィスクの最大データ転送速度(データ読み書きの合計)
が240Mbpsの場合、60Mbpsのファイル(例
えば、DVCPRO50フォーマットのファイル)を、
通常4つ同時に読み出しすることができる。しかし、上
記処理を行う場合、1ファイルに毎に先読み用帯域60
Mbpsと書き込み用帯域60Mbpsとが必要となる
ので、同時に2ファイルだけしか書き込み処理できない
ことになる。このことは、全端末が必要とするデータ転
送速度に比べてサーバの性能が非常に高い場合には、あ
まり問題にならないかもしれないが、サーバの性能を最
大限に使用するような端末数・帯域幅の条件では、大き
な問題になる。
ィスクの最大データ転送速度(データ読み書きの合計)
が240Mbpsの場合、60Mbpsのファイル(例
えば、DVCPRO50フォーマットのファイル)を、
通常4つ同時に読み出しすることができる。しかし、上
記処理を行う場合、1ファイルに毎に先読み用帯域60
Mbpsと書き込み用帯域60Mbpsとが必要となる
ので、同時に2ファイルだけしか書き込み処理できない
ことになる。このことは、全端末が必要とするデータ転
送速度に比べてサーバの性能が非常に高い場合には、あ
まり問題にならないかもしれないが、サーバの性能を最
大限に使用するような端末数・帯域幅の条件では、大き
な問題になる。
【0011】さらに、リアルタイム書き込みが求められ
るシステムの用途としては、例えば、リアルタイムエン
コーダ搭載の端末で、動画データをリアルタイムにサー
バの記憶装置に書き込む場合が多い。この用途では、フ
ァイル内の位置を毎回変えながら部分書き換えする(不
連続アクセス)場合より、長時間分のデータを一気にシ
ーケンシャルに書き込む(連続アクセス)場合が多い。
このため、上述した先読み処理でせっかくキャッシュし
ておいたデータも、後から書き込み要求されるデータで
ほとんど上書きされてしまうことになる。従って、本来
読み出しが必要とされるデータ範囲(書き込み要求のデ
ータが存在しない範囲)に比べ、先読みのデータ範囲が
かなり大きくなり、非効率である。
るシステムの用途としては、例えば、リアルタイムエン
コーダ搭載の端末で、動画データをリアルタイムにサー
バの記憶装置に書き込む場合が多い。この用途では、フ
ァイル内の位置を毎回変えながら部分書き換えする(不
連続アクセス)場合より、長時間分のデータを一気にシ
ーケンシャルに書き込む(連続アクセス)場合が多い。
このため、上述した先読み処理でせっかくキャッシュし
ておいたデータも、後から書き込み要求されるデータで
ほとんど上書きされてしまうことになる。従って、本来
読み出しが必要とされるデータ範囲(書き込み要求のデ
ータが存在しない範囲)に比べ、先読みのデータ範囲が
かなり大きくなり、非効率である。
【0012】それ故、本発明の目的は、任意のサイズの
ファイル書き込み要求を受け付けるファイルシステムに
おいて、高速なリアルタイム書き込みを実現し、かつ、
帯域幅を有効利用できるファイルシステムを提供するこ
とである。また、本発明のさらなる目的は、書き込み要
求に対する応答遅延が、記憶装置からの読み出しによっ
て遅れることなく、動画等のリアルタイム転送が必要な
データの書き込みを、常時支障なく行うことのできるリ
アルタイムなファイルシステムを提供することである。
ファイル書き込み要求を受け付けるファイルシステムに
おいて、高速なリアルタイム書き込みを実現し、かつ、
帯域幅を有効利用できるファイルシステムを提供するこ
とである。また、本発明のさらなる目的は、書き込み要
求に対する応答遅延が、記憶装置からの読み出しによっ
て遅れることなく、動画等のリアルタイム転送が必要な
データの書き込みを、常時支障なく行うことのできるリ
アルタイムなファイルシステムを提供することである。
【0013】
【課題を解決するための手段および発明の効果】第1の
発明は、アクセス可能な固定長の単位でデータが管理さ
れる記憶部に対して、入力されるファイル操作要求に応
じたファイル処理を実行するファイルシステムであっ
て、データが一時的に格納されるバッファ部と、入力さ
れる任意サイズのデータによるファイル書き込み処理要
求に従って、当該データをバッファ部へ格納すると共
に、バッファ部でのファイルデータの格納状態に基づい
て、ファイルデータの読み出し対象及び書き込み対象を
設定する判定部と、設定された読み出し対象のファイル
データに応じた遅延読み出し処理要求を、ファイルデー
タの格納位置が、ファイル内の相対的なアドレス情報で
示されるファイル形式又は記憶部内の絶対的なアドレス
情報で示されるデータ形式のいずれかを用いて記憶部へ
出力することにより、当該読み出し対象のファイルデー
タを、記憶部からバッファ部へ読み出す遅延読み出し処
理部と、設定された書き込み対象のファイルデータに応
じた遅延書き込み処理要求を、ファイル形式又はデータ
形式のいずれかを用いて記憶部へ出力することにより、
当該書き込み対象のファイルデータを、バッファ部から
記憶部へ書き込む遅延書き込み処理部とを備える。
発明は、アクセス可能な固定長の単位でデータが管理さ
れる記憶部に対して、入力されるファイル操作要求に応
じたファイル処理を実行するファイルシステムであっ
て、データが一時的に格納されるバッファ部と、入力さ
れる任意サイズのデータによるファイル書き込み処理要
求に従って、当該データをバッファ部へ格納すると共
に、バッファ部でのファイルデータの格納状態に基づい
て、ファイルデータの読み出し対象及び書き込み対象を
設定する判定部と、設定された読み出し対象のファイル
データに応じた遅延読み出し処理要求を、ファイルデー
タの格納位置が、ファイル内の相対的なアドレス情報で
示されるファイル形式又は記憶部内の絶対的なアドレス
情報で示されるデータ形式のいずれかを用いて記憶部へ
出力することにより、当該読み出し対象のファイルデー
タを、記憶部からバッファ部へ読み出す遅延読み出し処
理部と、設定された書き込み対象のファイルデータに応
じた遅延書き込み処理要求を、ファイル形式又はデータ
形式のいずれかを用いて記憶部へ出力することにより、
当該書き込み対象のファイルデータを、バッファ部から
記憶部へ書き込む遅延書き込み処理部とを備える。
【0014】上記のように、第1の発明によれば、記憶
部へファイルデータを書き込むにあたり、バッファ部で
のファイルデータの格納状態に基づいて、読み出しが必
要なデータだけを記憶部から読み出す。これにより、任
意サイズのファイル書き込み処理要求に対しても、リア
ルタイムにファイルデータの書き込み処理を行うことが
できる。また、常にキャッシュメモリにデータを先読み
しておく従来の方式に比べて読み出し処理の無駄がな
く、帯域幅の有効利用ができる。
部へファイルデータを書き込むにあたり、バッファ部で
のファイルデータの格納状態に基づいて、読み出しが必
要なデータだけを記憶部から読み出す。これにより、任
意サイズのファイル書き込み処理要求に対しても、リア
ルタイムにファイルデータの書き込み処理を行うことが
できる。また、常にキャッシュメモリにデータを先読み
しておく従来の方式に比べて読み出し処理の無駄がな
く、帯域幅の有効利用ができる。
【0015】第2の発明は、第1の発明に従属する発明
であって、遅延書き込み処理部は、全ファイル又はファ
イル毎に予め定められた書き込み周期に従って、遅延書
き込み処理要求を出力することを特徴とする。
であって、遅延書き込み処理部は、全ファイル又はファ
イル毎に予め定められた書き込み周期に従って、遅延書
き込み処理要求を出力することを特徴とする。
【0016】上記のように、第2の発明によれば、デー
タ転送速度が異なるファイルに対しても帯域幅を無駄に
せず、適切な帯域幅での書き込みが行える。
タ転送速度が異なるファイルに対しても帯域幅を無駄に
せず、適切な帯域幅での書き込みが行える。
【0017】第3の発明は、第1及び第2の発明に従属
する発明であって、ファイルを所定のブロックデータサ
イズで分割した領域を示すブロックの単位で、バッファ
部を管理するバッファ管理部をさらに備え、バッファ部
には、バッファ管理部によって、ファイルを構成する複
数のブロックにそれぞれ対応する複数のブロック領域が
確保され、ファイル書き込み処理要求のデータが、ファ
イル上で対応する当該ブロック領域に格納され、判定部
は、所定の判定条件に基づいて、領域の一部にのみデー
タが格納されたブロック領域を読み出し対象として設定
し、領域の全てにデータが格納されたブロック領域を書
き込み対象として設定し、遅延読み出し処理部は、読み
出し対象に設定されたブロック領域に対応するファイル
データの遅延読み出し処理要求を出力し、記憶部から読
み出されたファイルデータの全部又は一部をバッファ部
に格納し、遅延書き込み処理部は、書き込み対象と設定
されたブロック領域に対応するファイルデータの遅延書
き込み処理要求を出力し、当該ブロック領域に格納され
ているファイルデータの全部又は一部を記憶部へ書き込
むことを特徴とする。
する発明であって、ファイルを所定のブロックデータサ
イズで分割した領域を示すブロックの単位で、バッファ
部を管理するバッファ管理部をさらに備え、バッファ部
には、バッファ管理部によって、ファイルを構成する複
数のブロックにそれぞれ対応する複数のブロック領域が
確保され、ファイル書き込み処理要求のデータが、ファ
イル上で対応する当該ブロック領域に格納され、判定部
は、所定の判定条件に基づいて、領域の一部にのみデー
タが格納されたブロック領域を読み出し対象として設定
し、領域の全てにデータが格納されたブロック領域を書
き込み対象として設定し、遅延読み出し処理部は、読み
出し対象に設定されたブロック領域に対応するファイル
データの遅延読み出し処理要求を出力し、記憶部から読
み出されたファイルデータの全部又は一部をバッファ部
に格納し、遅延書き込み処理部は、書き込み対象と設定
されたブロック領域に対応するファイルデータの遅延書
き込み処理要求を出力し、当該ブロック領域に格納され
ているファイルデータの全部又は一部を記憶部へ書き込
むことを特徴とする。
【0018】上記のように、第3の発明によれば、ファ
イルデータの読み出し処理を所定のブロック領域の単位
で行い、全てのデータが揃っていないブロック領域のデ
ータだけを記憶部から読み出す。これにより、任意サイ
ズのファイル書き込み処理要求に対しても、リアルタイ
ムにファイルデータの書き込み処理を行うことができ
る。
イルデータの読み出し処理を所定のブロック領域の単位
で行い、全てのデータが揃っていないブロック領域のデ
ータだけを記憶部から読み出す。これにより、任意サイ
ズのファイル書き込み処理要求に対しても、リアルタイ
ムにファイルデータの書き込み処理を行うことができ
る。
【0019】第4の発明は、第3の発明に従属する発明
であって、判定部は、最後に入力したファイル書き込み
処理要求に従って格納したデータのバッファ部上の格納
終了位置を、ファイル先頭からのオフセット位置で示さ
れる最終アクセス位置として保存し、新たに入力したフ
ァイル書き込み処理要求に従って新たに格納するデータ
のバッファ部上のファイル先頭からのオフセット位置で
示される格納開始位置が、最終アクセス位置と連続する
か否かを判定し、位置が連続しないと判定した場合、最
終アクセス位置を含むブロック領域の全てにデータが格
納されていなければ、当該ブロック領域を読み出し対象
に設定すると共に、当該ブロック領域中のデータが存在
しない範囲を遅延読み出しデータ範囲として設定し、位
置が連続しないと判定した場合、格納開始位置を含むブ
ロック領域の先頭位置から格納開始位置までにデータが
存在しない範囲があれば、当該ブロック領域を読み出し
対象と設定すると共に、当該ブロック領域中の当該範囲
を遅延読み出しデータ範囲として設定し、遅延読み出し
処理部は、遅延読み出し処理要求によって読み出された
ファイルデータの全部又は遅延読み出しデータ範囲に対
応する部分のみを、バッファ部の該当するブロック領域
又は遅延読み出しデータ範囲に格納することを特徴とす
る。
であって、判定部は、最後に入力したファイル書き込み
処理要求に従って格納したデータのバッファ部上の格納
終了位置を、ファイル先頭からのオフセット位置で示さ
れる最終アクセス位置として保存し、新たに入力したフ
ァイル書き込み処理要求に従って新たに格納するデータ
のバッファ部上のファイル先頭からのオフセット位置で
示される格納開始位置が、最終アクセス位置と連続する
か否かを判定し、位置が連続しないと判定した場合、最
終アクセス位置を含むブロック領域の全てにデータが格
納されていなければ、当該ブロック領域を読み出し対象
に設定すると共に、当該ブロック領域中のデータが存在
しない範囲を遅延読み出しデータ範囲として設定し、位
置が連続しないと判定した場合、格納開始位置を含むブ
ロック領域の先頭位置から格納開始位置までにデータが
存在しない範囲があれば、当該ブロック領域を読み出し
対象と設定すると共に、当該ブロック領域中の当該範囲
を遅延読み出しデータ範囲として設定し、遅延読み出し
処理部は、遅延読み出し処理要求によって読み出された
ファイルデータの全部又は遅延読み出しデータ範囲に対
応する部分のみを、バッファ部の該当するブロック領域
又は遅延読み出しデータ範囲に格納することを特徴とす
る。
【0020】上記のように、第4の発明によれば、ファ
イル書き込み処理要求によって不連続な位置が指定され
た場合に限り、記憶部からの読み出し処理が行われる。
従って、読み出し処理に使用する帯域幅を従来に比べ削
減でき、有効利用することができる。
イル書き込み処理要求によって不連続な位置が指定され
た場合に限り、記憶部からの読み出し処理が行われる。
従って、読み出し処理に使用する帯域幅を従来に比べ削
減でき、有効利用することができる。
【0021】第5の発明は、第3及び第4の発明に従属
する発明であって、判定部は、領域の一部にのみデータ
が格納されたが読み出し対象に設定しなかったブロック
領域が、予め定められた判定時間を経過した後も書き込
み対象に設定できない場合には、当該ブロック領域を読
み出し対象に設定すると共に、当該ブロック領域中のデ
ータが存在しない範囲を遅延読み出しデータ範囲として
設定することを特徴とする。
する発明であって、判定部は、領域の一部にのみデータ
が格納されたが読み出し対象に設定しなかったブロック
領域が、予め定められた判定時間を経過した後も書き込
み対象に設定できない場合には、当該ブロック領域を読
み出し対象に設定すると共に、当該ブロック領域中のデ
ータが存在しない範囲を遅延読み出しデータ範囲として
設定することを特徴とする。
【0022】上記のように、第5の発明によれば、記憶
部に書き込まれる前のデータをバッファ部に長時間保持
させておくことがなくなるので、システム障害時のフォ
ールトトレランスが実現できる。
部に書き込まれる前のデータをバッファ部に長時間保持
させておくことがなくなるので、システム障害時のフォ
ールトトレランスが実現できる。
【0023】第6の発明は、第3〜第5の発明に従属す
る発明であって、記憶部に対するアクセスは、固定長の
単位に基づく所定のアクセスデータサイズで行われ、ブ
ロックデータサイズは、アクセスデータサイズのN倍
(Nは、自然数)であり、判定部は、読み出し対象に設
定すべきブロック領域の、データが格納されている範囲
のデータサイズが、アクセスデータサイズのn倍(n
は、自然数)であり、かつ、当該範囲の先頭位置が、ア
クセスデータサイズでファイルが分割されたときの区切
り位置に一致する場合には、当該ブロック領域を書き込
み対象に設定し、遅延書き込み処理部は、ブロック領域
内の未格納範囲へのデータ読み出し処理が行われること
なく、範囲のデータのみを記憶部の対応する位置へ書き
込むことを特徴とする。
る発明であって、記憶部に対するアクセスは、固定長の
単位に基づく所定のアクセスデータサイズで行われ、ブ
ロックデータサイズは、アクセスデータサイズのN倍
(Nは、自然数)であり、判定部は、読み出し対象に設
定すべきブロック領域の、データが格納されている範囲
のデータサイズが、アクセスデータサイズのn倍(n
は、自然数)であり、かつ、当該範囲の先頭位置が、ア
クセスデータサイズでファイルが分割されたときの区切
り位置に一致する場合には、当該ブロック領域を書き込
み対象に設定し、遅延書き込み処理部は、ブロック領域
内の未格納範囲へのデータ読み出し処理が行われること
なく、範囲のデータのみを記憶部の対応する位置へ書き
込むことを特徴とする。
【0024】上記のように、第6の発明によれば、ブロ
ック領域のサイズにかかわらず記憶部への書き込みアク
セスが可能なサイズであれば、読み出し処理により不足
部分を補うことなく、ファイルデータの書き込みを行
う。これにより、帯域幅を無駄にせずにリアルタイムな
ファイルデータの書き込み処理を行うことができる。
ック領域のサイズにかかわらず記憶部への書き込みアク
セスが可能なサイズであれば、読み出し処理により不足
部分を補うことなく、ファイルデータの書き込みを行
う。これにより、帯域幅を無駄にせずにリアルタイムな
ファイルデータの書き込み処理を行うことができる。
【0025】第7の発明は、第6の発明に従属する発明
であって、遅延読み出し処理部は、読み出し対象に設定
されたブロック領域の、遅延読み出しデータ範囲が、ア
クセスデータサイズのm倍(mは、自然数)であり、か
つ、当該遅延読み出しデータ範囲の先頭位置が、アクセ
スデータサイズでファイルが分割されたときの区切り位
置に一致する場合には、ファイルデータ内の当該遅延読
み出しデータ範囲に該当する部分のみを、記憶部からバ
ッファ部へ読み出すことを特徴とする。
であって、遅延読み出し処理部は、読み出し対象に設定
されたブロック領域の、遅延読み出しデータ範囲が、ア
クセスデータサイズのm倍(mは、自然数)であり、か
つ、当該遅延読み出しデータ範囲の先頭位置が、アクセ
スデータサイズでファイルが分割されたときの区切り位
置に一致する場合には、ファイルデータ内の当該遅延読
み出しデータ範囲に該当する部分のみを、記憶部からバ
ッファ部へ読み出すことを特徴とする。
【0026】上記のように、第7の発明によれば、ブロ
ック領域のサイズにかかわらず記憶部からの読み出しア
クセスが可能なサイズであれば、ブロック領域全体を読
み出すことなく不足部分(遅延読み出しデータ範囲)の
みのデータを読み出す。これにより、帯域幅を無駄にせ
ずにリアルタイムなファイルデータの読み出し処理を行
うことができる。
ック領域のサイズにかかわらず記憶部からの読み出しア
クセスが可能なサイズであれば、ブロック領域全体を読
み出すことなく不足部分(遅延読み出しデータ範囲)の
みのデータを読み出す。これにより、帯域幅を無駄にせ
ずにリアルタイムなファイルデータの読み出し処理を行
うことができる。
【0027】第8の発明は、第3〜第7の発明に従属す
る発明であって、判定部は、バッファ部にすでに格納さ
れているファイル書き込み処理要求の対象となるファイ
ルのデータサイズが、予め定められたバッファデータサ
イズを超えない場合のみ、新たに入力したファイル書き
込み処理要求に従ったバッファ部へのデータの格納を行
うことを特徴とする。
る発明であって、判定部は、バッファ部にすでに格納さ
れているファイル書き込み処理要求の対象となるファイ
ルのデータサイズが、予め定められたバッファデータサ
イズを超えない場合のみ、新たに入力したファイル書き
込み処理要求に従ったバッファ部へのデータの格納を行
うことを特徴とする。
【0028】第9の発明は、第8の発明に従属する発明
であって、バッファデータサイズは、ブロックデータサ
イズのK倍(Kは、自然数)であることを特徴とする。
であって、バッファデータサイズは、ブロックデータサ
イズのK倍(Kは、自然数)であることを特徴とする。
【0029】上記のように、第8及び第9の発明によれ
ば、各ファイルの帯域幅に応じて、バッファ部の領域を
有効利用することができる。
ば、各ファイルの帯域幅に応じて、バッファ部の領域を
有効利用することができる。
【0030】第10の発明は、アクセス可能な固定長の
単位でデータが管理される記憶部に対して、入力される
ファイル操作要求に応じたファイル処理を実行するファ
イルシステムであって、データが一時的に格納されるバ
ッファ部と、外部から入力される帯域設定要求によって
指定される又は予め内部に有する情報から取得する帯域
幅に基づいて、全ファイル又はファイル毎に予め定めら
れた書き込み周期を設定する帯域設定部と、入力される
任意サイズのデータによるファイル書き込み処理要求に
従って、当該データをバッファ部へ格納すると共に、バ
ッファ部でのファイルデータの格納状態に基づいて、フ
ァイルデータの読み出し対象及び書き込み対象を設定す
る判定部と、設定された読み出し対象のファイルデータ
に応じた遅延読み出し処理要求を、ファイルデータの格
納位置が、ファイル内の相対的なアドレス情報で示され
るファイル形式又は記憶部内の絶対的なアドレス情報で
示されるデータ形式のいずれかを用いて記憶部へ出力す
ることにより、当該読み出し対象のファイルデータを、
記憶部からバッファ部へ読み出す遅延読み出し処理部
と、書き込み周期に従って、設定された書き込み対象の
ファイルデータに応じた遅延書き込み処理要求を、ファ
イル形式又はデータ形式のいずれかを用いて記憶部へ出
力することにより、当該書き込み対象のファイルデータ
を、バッファ部から記憶部へ書き込む遅延書き込み処理
部とを備える。
単位でデータが管理される記憶部に対して、入力される
ファイル操作要求に応じたファイル処理を実行するファ
イルシステムであって、データが一時的に格納されるバ
ッファ部と、外部から入力される帯域設定要求によって
指定される又は予め内部に有する情報から取得する帯域
幅に基づいて、全ファイル又はファイル毎に予め定めら
れた書き込み周期を設定する帯域設定部と、入力される
任意サイズのデータによるファイル書き込み処理要求に
従って、当該データをバッファ部へ格納すると共に、バ
ッファ部でのファイルデータの格納状態に基づいて、フ
ァイルデータの読み出し対象及び書き込み対象を設定す
る判定部と、設定された読み出し対象のファイルデータ
に応じた遅延読み出し処理要求を、ファイルデータの格
納位置が、ファイル内の相対的なアドレス情報で示され
るファイル形式又は記憶部内の絶対的なアドレス情報で
示されるデータ形式のいずれかを用いて記憶部へ出力す
ることにより、当該読み出し対象のファイルデータを、
記憶部からバッファ部へ読み出す遅延読み出し処理部
と、書き込み周期に従って、設定された書き込み対象の
ファイルデータに応じた遅延書き込み処理要求を、ファ
イル形式又はデータ形式のいずれかを用いて記憶部へ出
力することにより、当該書き込み対象のファイルデータ
を、バッファ部から記憶部へ書き込む遅延書き込み処理
部とを備える。
【0031】上記のように、第10の発明によれば、記
憶部へファイルデータを書き込むにあたり、バッファ部
でのファイルデータの格納状態に基づいて、読み出しが
必要なデータだけを記憶部から読み出す。これにより、
任意サイズのファイル書き込み処理要求に対しても、リ
アルタイムにファイルデータの書き込み処理を行うこと
ができる。また、常にキャッシュメモリにデータを先読
みしておく従来の方式に比べて読み出し処理の無駄がな
く、帯域幅の有効利用ができる。さらに、データ転送速
度が異なるファイルに対しても帯域幅を無駄にせず、適
切な帯域幅での書き込みが行える。
憶部へファイルデータを書き込むにあたり、バッファ部
でのファイルデータの格納状態に基づいて、読み出しが
必要なデータだけを記憶部から読み出す。これにより、
任意サイズのファイル書き込み処理要求に対しても、リ
アルタイムにファイルデータの書き込み処理を行うこと
ができる。また、常にキャッシュメモリにデータを先読
みしておく従来の方式に比べて読み出し処理の無駄がな
く、帯域幅の有効利用ができる。さらに、データ転送速
度が異なるファイルに対しても帯域幅を無駄にせず、適
切な帯域幅での書き込みが行える。
【0032】第11の発明は、第10の発明に従属する
発明であって、ファイルを所定のブロックデータサイズ
で分割した領域を示すブロックの単位で、バッファ部を
管理するバッファ管理部をさらに備え、バッファ部に
は、バッファ管理部によって、ファイルを構成する複数
のブロックにそれぞれ対応する複数のブロック領域が確
保され、ファイル書き込み処理要求のデータが、ファイ
ル上で対応する当該ブロック領域に格納され、判定部
は、所定の判定条件に基づいて、領域の一部にのみデー
タが格納されたブロック領域を読み出し対象として設定
し、領域の全てにデータが格納されたブロック領域を書
き込み対象として設定し、遅延読み出し処理部は、読み
出し対象に設定されたブロック領域に対応するファイル
データの遅延読み出し処理要求を出力し、記憶部から読
み出されたファイルデータの全部又は一部をバッファ部
に格納し、遅延書き込み処理部は、書き込み対象と設定
されたブロック領域に対応するファイルデータの遅延書
き込み処理要求を出力し、当該ブロック領域に格納され
ているファイルデータの全部又は一部を記憶部へ書き込
むことを特徴とする。
発明であって、ファイルを所定のブロックデータサイズ
で分割した領域を示すブロックの単位で、バッファ部を
管理するバッファ管理部をさらに備え、バッファ部に
は、バッファ管理部によって、ファイルを構成する複数
のブロックにそれぞれ対応する複数のブロック領域が確
保され、ファイル書き込み処理要求のデータが、ファイ
ル上で対応する当該ブロック領域に格納され、判定部
は、所定の判定条件に基づいて、領域の一部にのみデー
タが格納されたブロック領域を読み出し対象として設定
し、領域の全てにデータが格納されたブロック領域を書
き込み対象として設定し、遅延読み出し処理部は、読み
出し対象に設定されたブロック領域に対応するファイル
データの遅延読み出し処理要求を出力し、記憶部から読
み出されたファイルデータの全部又は一部をバッファ部
に格納し、遅延書き込み処理部は、書き込み対象と設定
されたブロック領域に対応するファイルデータの遅延書
き込み処理要求を出力し、当該ブロック領域に格納され
ているファイルデータの全部又は一部を記憶部へ書き込
むことを特徴とする。
【0033】上記のように、第11の発明によれば、フ
ァイルデータの読み出し処理を所定のブロック領域の単
位で行い、全てのデータが揃っていないブロック領域の
データだけを記憶部から読み出す。これにより、任意サ
イズのファイル書き込み処理要求に対しても、リアルタ
イムにファイルデータの書き込み処理を行うことができ
る。
ァイルデータの読み出し処理を所定のブロック領域の単
位で行い、全てのデータが揃っていないブロック領域の
データだけを記憶部から読み出す。これにより、任意サ
イズのファイル書き込み処理要求に対しても、リアルタ
イムにファイルデータの書き込み処理を行うことができ
る。
【0034】第12の発明は、第11の発明に従属する
発明であって、判定部は、最後に入力したファイル書き
込み処理要求に従って格納したデータのバッファ部上の
格納終了位置を、ファイル先頭からのオフセット位置で
示される最終アクセス位置として保存し、新たに入力し
たファイル書き込み処理要求に従って新たに格納するデ
ータのバッファ部上のファイル先頭からのオフセット位
置で示される格納開始位置が、最終アクセス位置と連続
するか否かを判定し、位置が連続しないと判定した場
合、最終アクセス位置を含むブロック領域の全てにデー
タが格納されていなければ、当該ブロック領域を読み出
し対象に設定すると共に、当該ブロック領域中のデータ
が存在しない範囲を遅延読み出しデータ範囲として設定
し、位置が連続しないと判定した場合、格納開始位置を
含むブロック領域の先頭位置から格納開始位置までにデ
ータが存在しない範囲があれば、当該ブロック領域を読
み出し対象と設定すると共に、当該ブロック領域中の当
該範囲を遅延読み出しデータ範囲として設定し、遅延読
み出し処理部は、遅延読み出し処理要求によって読み出
されたファイルデータの全部又は遅延読み出しデータ範
囲に対応する部分のみを、バッファ部の該当するブロッ
ク領域又は遅延読み出しデータ範囲に格納することを特
徴とする。
発明であって、判定部は、最後に入力したファイル書き
込み処理要求に従って格納したデータのバッファ部上の
格納終了位置を、ファイル先頭からのオフセット位置で
示される最終アクセス位置として保存し、新たに入力し
たファイル書き込み処理要求に従って新たに格納するデ
ータのバッファ部上のファイル先頭からのオフセット位
置で示される格納開始位置が、最終アクセス位置と連続
するか否かを判定し、位置が連続しないと判定した場
合、最終アクセス位置を含むブロック領域の全てにデー
タが格納されていなければ、当該ブロック領域を読み出
し対象に設定すると共に、当該ブロック領域中のデータ
が存在しない範囲を遅延読み出しデータ範囲として設定
し、位置が連続しないと判定した場合、格納開始位置を
含むブロック領域の先頭位置から格納開始位置までにデ
ータが存在しない範囲があれば、当該ブロック領域を読
み出し対象と設定すると共に、当該ブロック領域中の当
該範囲を遅延読み出しデータ範囲として設定し、遅延読
み出し処理部は、遅延読み出し処理要求によって読み出
されたファイルデータの全部又は遅延読み出しデータ範
囲に対応する部分のみを、バッファ部の該当するブロッ
ク領域又は遅延読み出しデータ範囲に格納することを特
徴とする。
【0035】上記のように、第12の発明によれば、フ
ァイル書き込み処理要求によって不連続な位置が指定さ
れた場合に限り、記憶部からの読み出し処理が行われ
る。従って、読み出し処理に使用する帯域幅を従来に比
べ削減でき、有効利用することができる。
ァイル書き込み処理要求によって不連続な位置が指定さ
れた場合に限り、記憶部からの読み出し処理が行われ
る。従って、読み出し処理に使用する帯域幅を従来に比
べ削減でき、有効利用することができる。
【0036】第13の発明は、第11及び第12の発明
に従属する発明であって、帯域設定部は、帯域設定要求
によって指定される又は情報から取得する帯域幅に基づ
いて、全ファイル又はファイル毎に判定時間を設定し、
判定部は、領域の一部にのみデータが格納されたが読み
出し対象に設定しなかったブロック領域が、判定時間を
経過した後も書き込み対象に設定できない場合には、当
該ブロック領域を読み出し対象に設定すると共に、当該
ブロック領域中のデータが存在しない範囲を遅延読み出
しデータ範囲として設定することを特徴とする。
に従属する発明であって、帯域設定部は、帯域設定要求
によって指定される又は情報から取得する帯域幅に基づ
いて、全ファイル又はファイル毎に判定時間を設定し、
判定部は、領域の一部にのみデータが格納されたが読み
出し対象に設定しなかったブロック領域が、判定時間を
経過した後も書き込み対象に設定できない場合には、当
該ブロック領域を読み出し対象に設定すると共に、当該
ブロック領域中のデータが存在しない範囲を遅延読み出
しデータ範囲として設定することを特徴とする。
【0037】上記のように、第13の発明によれば、記
憶部に書き込まれる前のデータをバッファ部に長時間保
持させておくことがなくなるので、システム障害時のフ
ォールトトレランスが実現できる。
憶部に書き込まれる前のデータをバッファ部に長時間保
持させておくことがなくなるので、システム障害時のフ
ォールトトレランスが実現できる。
【0038】第14の発明は、第11〜第13の発明に
従属する発明であって、記憶部に対するアクセスは、固
定長の単位に基づく所定のアクセスデータサイズで行わ
れ、ブロックデータサイズは、アクセスデータサイズの
N倍であり、判定部は、読み出し対象に設定すべきブロ
ック領域の、データが格納されている範囲のデータサイ
ズが、アクセスデータサイズのn倍であり、かつ、当該
範囲の先頭位置が、アクセスデータサイズでファイルが
分割されたときの区切り位置に一致する場合には、当該
ブロック領域を書き込み対象に設定し、遅延書き込み処
理部は、ブロック領域内の未格納範囲へのデータ読み出
し処理が行われることなく、範囲のデータのみを記憶部
の対応する位置へ書き込むことを特徴とする。
従属する発明であって、記憶部に対するアクセスは、固
定長の単位に基づく所定のアクセスデータサイズで行わ
れ、ブロックデータサイズは、アクセスデータサイズの
N倍であり、判定部は、読み出し対象に設定すべきブロ
ック領域の、データが格納されている範囲のデータサイ
ズが、アクセスデータサイズのn倍であり、かつ、当該
範囲の先頭位置が、アクセスデータサイズでファイルが
分割されたときの区切り位置に一致する場合には、当該
ブロック領域を書き込み対象に設定し、遅延書き込み処
理部は、ブロック領域内の未格納範囲へのデータ読み出
し処理が行われることなく、範囲のデータのみを記憶部
の対応する位置へ書き込むことを特徴とする。
【0039】上記のように、第14の発明によれば、ブ
ロック領域のサイズにかかわらず記憶部への書き込みア
クセスが可能なサイズであれば、読み出し処理により不
足部分を補うことなく、ファイルデータの書き込みを行
う。これにより、帯域幅を無駄にせずにリアルタイムな
ファイルデータの書き込み処理を行うことができる。
ロック領域のサイズにかかわらず記憶部への書き込みア
クセスが可能なサイズであれば、読み出し処理により不
足部分を補うことなく、ファイルデータの書き込みを行
う。これにより、帯域幅を無駄にせずにリアルタイムな
ファイルデータの書き込み処理を行うことができる。
【0040】第15の発明は、第14の発明に従属する
発明であって、遅延読み出し処理部は、読み出し対象に
設定されたブロック領域の、遅延読み出しデータ範囲
が、アクセスデータサイズのm倍であり、かつ、当該遅
延読み出しデータ範囲の先頭位置が、アクセスデータサ
イズでファイルが分割されたときの区切り位置に一致す
る場合には、ファイルデータ内の当該遅延読み出しデー
タ範囲に該当する部分のみを、記憶部からバッファ部へ
読み出すことを特徴とする。
発明であって、遅延読み出し処理部は、読み出し対象に
設定されたブロック領域の、遅延読み出しデータ範囲
が、アクセスデータサイズのm倍であり、かつ、当該遅
延読み出しデータ範囲の先頭位置が、アクセスデータサ
イズでファイルが分割されたときの区切り位置に一致す
る場合には、ファイルデータ内の当該遅延読み出しデー
タ範囲に該当する部分のみを、記憶部からバッファ部へ
読み出すことを特徴とする。
【0041】上記のように、第15の発明によれば、ブ
ロック領域のサイズにかかわらず記憶部からの読み出し
アクセスが可能なサイズであれば、ブロック領域全体を
読み出すことなく不足部分(遅延読み出しデータ範囲)
のみのデータを読み出す。これにより、帯域幅を無駄に
せずにリアルタイムなファイルデータの読み出し処理を
行うことができる。
ロック領域のサイズにかかわらず記憶部からの読み出し
アクセスが可能なサイズであれば、ブロック領域全体を
読み出すことなく不足部分(遅延読み出しデータ範囲)
のみのデータを読み出す。これにより、帯域幅を無駄に
せずにリアルタイムなファイルデータの読み出し処理を
行うことができる。
【0042】第16の発明は、第11〜第15の発明に
従属する発明であって、帯域設定部は、帯域設定要求に
よって指定される又は情報から取得する帯域幅に基づい
て、バッファデータサイズを設定し、判定部は、バッフ
ァ部にすでに格納されているファイル書き込み処理要求
の対象となるファイルのデータサイズが、バッファデー
タサイズを超えない場合のみ、新たに入力したファイル
書き込み処理要求に従ったバッファ部へのデータの格納
を行うことを特徴とする。
従属する発明であって、帯域設定部は、帯域設定要求に
よって指定される又は情報から取得する帯域幅に基づい
て、バッファデータサイズを設定し、判定部は、バッフ
ァ部にすでに格納されているファイル書き込み処理要求
の対象となるファイルのデータサイズが、バッファデー
タサイズを超えない場合のみ、新たに入力したファイル
書き込み処理要求に従ったバッファ部へのデータの格納
を行うことを特徴とする。
【0043】第17の発明は、第16の発明に従属する
発明であって、帯域設定部は、バッファデータサイズ
を、ブロックデータサイズのK倍に設定することを特徴
とする。
発明であって、帯域設定部は、バッファデータサイズ
を、ブロックデータサイズのK倍に設定することを特徴
とする。
【0044】上記のように、第16及び第17の発明に
よれば、各ファイルの帯域幅に応じて、バッファ部の領
域を有効利用することができる。
よれば、各ファイルの帯域幅に応じて、バッファ部の領
域を有効利用することができる。
【0045】第18の発明は、アクセス可能な固定長の
単位でデータが管理される記憶部に対して、入力される
ファイル操作要求に応じたファイル処理を実行するファ
イルシステムであって、データが一時的に格納されるバ
ッファ部と、入力される所定の固定サイズのデータによ
るファイル書き込み処理要求に従って、当該データをバ
ッファ部へ格納すると共に、バッファ部でのファイルデ
ータの格納状態に基づいて、ファイルデータの書き込み
対象を設定する判定部と、設定された書き込み対象のフ
ァイルデータに応じた遅延書き込み処理要求を、ファイ
ルデータの格納位置がファイル内の相対的なアドレス情
報で示されるファイル形式を用いて記憶部へ出力するこ
とにより、当該書き込み対象のファイルデータを、バッ
ファ部から記憶部へ書き込む遅延書き込み処理部とを備
える。
単位でデータが管理される記憶部に対して、入力される
ファイル操作要求に応じたファイル処理を実行するファ
イルシステムであって、データが一時的に格納されるバ
ッファ部と、入力される所定の固定サイズのデータによ
るファイル書き込み処理要求に従って、当該データをバ
ッファ部へ格納すると共に、バッファ部でのファイルデ
ータの格納状態に基づいて、ファイルデータの書き込み
対象を設定する判定部と、設定された書き込み対象のフ
ァイルデータに応じた遅延書き込み処理要求を、ファイ
ルデータの格納位置がファイル内の相対的なアドレス情
報で示されるファイル形式を用いて記憶部へ出力するこ
とにより、当該書き込み対象のファイルデータを、バッ
ファ部から記憶部へ書き込む遅延書き込み処理部とを備
える。
【0046】上記のように、第18の発明によれば、バ
ッファ部でのファイルデータの格納状態に基づいて、書
き込み可能なファイルデータから順に記憶部へ書き込
む。これにより、任意サイズのファイル書き込み処理要
求に対しても、リアルタイムにファイルデータの書き込
み処理を行うことができる。また、常にキャッシュメモ
リにデータを先読みしておく従来方式のように読み出し
処理が不要なので、帯域幅の有効利用ができる。
ッファ部でのファイルデータの格納状態に基づいて、書
き込み可能なファイルデータから順に記憶部へ書き込
む。これにより、任意サイズのファイル書き込み処理要
求に対しても、リアルタイムにファイルデータの書き込
み処理を行うことができる。また、常にキャッシュメモ
リにデータを先読みしておく従来方式のように読み出し
処理が不要なので、帯域幅の有効利用ができる。
【0047】第19の発明は、第18の発明に従属する
発明であって、遅延書き込み処理部は、全ファイル又は
ファイル毎に予め定められた書き込み周期に従って、遅
延書き込み処理要求を出力することを特徴とする。
発明であって、遅延書き込み処理部は、全ファイル又は
ファイル毎に予め定められた書き込み周期に従って、遅
延書き込み処理要求を出力することを特徴とする。
【0048】上記のように、第19の発明によれば、デ
ータ転送速度が異なるファイルに対しても帯域幅を無駄
にせず、適切な帯域幅での書き込みが行える。
ータ転送速度が異なるファイルに対しても帯域幅を無駄
にせず、適切な帯域幅での書き込みが行える。
【0049】第20の発明は、第18及び第19の発明
に従属する発明であって、ファイルを所定のブロックデ
ータサイズで分割した領域を示すブロックの単位で、バ
ッファ部を管理するバッファ管理部をさらに備え、バッ
ファ部には、バッファ管理部によって、ファイルを構成
する複数のブロックにそれぞれ対応する複数のブロック
領域が確保され、ファイル書き込み処理要求のデータ
が、ファイル上で対応する当該ブロック領域に格納さ
れ、判定部は、所定の判定条件に基づいて、領域の全て
にデータが格納されたブロック領域を書き込み対象とし
て設定し、遅延書き込み処理部は、書き込み対象と設定
されたブロック領域に対応するファイルデータの遅延書
き込み処理要求を出力し、当該ブロック領域に格納され
ているファイルデータの全部又は一部を記憶部へ書き込
むことを特徴とする。
に従属する発明であって、ファイルを所定のブロックデ
ータサイズで分割した領域を示すブロックの単位で、バ
ッファ部を管理するバッファ管理部をさらに備え、バッ
ファ部には、バッファ管理部によって、ファイルを構成
する複数のブロックにそれぞれ対応する複数のブロック
領域が確保され、ファイル書き込み処理要求のデータ
が、ファイル上で対応する当該ブロック領域に格納さ
れ、判定部は、所定の判定条件に基づいて、領域の全て
にデータが格納されたブロック領域を書き込み対象とし
て設定し、遅延書き込み処理部は、書き込み対象と設定
されたブロック領域に対応するファイルデータの遅延書
き込み処理要求を出力し、当該ブロック領域に格納され
ているファイルデータの全部又は一部を記憶部へ書き込
むことを特徴とする。
【0050】上記のように、第20の発明によれば、フ
ァイルデータの書き込み処理を所定のブロック領域の単
位で行い、全てのデータが揃ったブロック領域のデータ
から順に記憶部へ書き込む。これにより、任意サイズの
ファイル書き込み処理要求に対しても、リアルタイムに
ファイルデータの書き込み処理を行うことができる。
ァイルデータの書き込み処理を所定のブロック領域の単
位で行い、全てのデータが揃ったブロック領域のデータ
から順に記憶部へ書き込む。これにより、任意サイズの
ファイル書き込み処理要求に対しても、リアルタイムに
ファイルデータの書き込み処理を行うことができる。
【0051】第21の発明は、第20の発明に従属する
発明であって、判定部は、最後に入力したファイル書き
込み処理要求に従って格納したデータのバッファ部上の
格納終了位置を、ファイル先頭からのオフセット位置で
示される最終アクセス位置として保存し、新たに入力し
たファイル書き込み処理要求に従って新たに格納するデ
ータのバッファ部上のファイル先頭からのオフセット位
置で示される格納開始位置が、最終アクセス位置と連続
するか否かを判定し、位置が連続しないと判定した場
合、最終アクセス位置を含むブロック領域中のデータが
存在する範囲を遅延書き込みデータ範囲として設定し、
遅延書き込み処理部は、遅延書き込みデータ範囲のデー
タのみを記憶部へ書き込むことを特徴とする。
発明であって、判定部は、最後に入力したファイル書き
込み処理要求に従って格納したデータのバッファ部上の
格納終了位置を、ファイル先頭からのオフセット位置で
示される最終アクセス位置として保存し、新たに入力し
たファイル書き込み処理要求に従って新たに格納するデ
ータのバッファ部上のファイル先頭からのオフセット位
置で示される格納開始位置が、最終アクセス位置と連続
するか否かを判定し、位置が連続しないと判定した場
合、最終アクセス位置を含むブロック領域中のデータが
存在する範囲を遅延書き込みデータ範囲として設定し、
遅延書き込み処理部は、遅延書き込みデータ範囲のデー
タのみを記憶部へ書き込むことを特徴とする。
【0052】上記のように、第21の発明によれば、フ
ァイル書き込み処理要求によって不連続な位置が指定さ
れた場合は、遅延書き込みデータ範囲のデータのみを記
憶部へ書き込む。従って、帯域幅を有効利用することが
できる。
ァイル書き込み処理要求によって不連続な位置が指定さ
れた場合は、遅延書き込みデータ範囲のデータのみを記
憶部へ書き込む。従って、帯域幅を有効利用することが
できる。
【0053】第22の発明は、第21の発明に従属する
発明であって、判定部は、バッファ部にすでに格納され
ているファイル書き込み処理要求の対象となるファイル
のデータサイズが、予め定められたバッファデータサイ
ズを超えない場合のみ、新たに入力したファイル書き込
み処理要求に従ったバッファ部へのデータの格納を行う
ことを特徴とする。
発明であって、判定部は、バッファ部にすでに格納され
ているファイル書き込み処理要求の対象となるファイル
のデータサイズが、予め定められたバッファデータサイ
ズを超えない場合のみ、新たに入力したファイル書き込
み処理要求に従ったバッファ部へのデータの格納を行う
ことを特徴とする。
【0054】第23の発明は、第22の発明に従属する
発明であって、バッファデータサイズは、ブロックデー
タサイズのK倍であることを特徴とする。
発明であって、バッファデータサイズは、ブロックデー
タサイズのK倍であることを特徴とする。
【0055】上記のように、第22及び第23の発明に
よれば、各ファイルの帯域幅に応じて、バッファ部の領
域を有効利用することができる。
よれば、各ファイルの帯域幅に応じて、バッファ部の領
域を有効利用することができる。
【0056】第24の発明は、アクセス可能な固定長の
単位でデータが管理される記憶部に対して、入力される
ファイル操作要求に応じたファイル処理を実行するファ
イルシステムであって、データが一時的に格納されるバ
ッファ部と、外部から入力される帯域設定要求によって
指定される又は予め内部に有する情報から取得する帯域
幅に基づいて、全ファイル又はファイル毎に予め定めら
れた書き込み周期を設定する帯域設定部と、入力される
所定の固定サイズのデータによるファイル書き込み処理
要求に従って、当該データをバッファ部へ格納すると共
に、バッファ部でのファイルデータの格納状態に基づい
て、ファイルデータの書き込み対象を設定する判定部
と、書き込み周期に従って、設定された書き込み対象の
ファイルデータに応じた遅延書き込み処理要求を、ファ
イルデータの格納位置がファイル内の相対的なアドレス
情報で示されるファイル形式を用いて記憶部へ出力する
ことにより、当該書き込み対象のファイルデータを、バ
ッファ部から記憶部へ書き込む遅延書き込み処理部とを
備える。
単位でデータが管理される記憶部に対して、入力される
ファイル操作要求に応じたファイル処理を実行するファ
イルシステムであって、データが一時的に格納されるバ
ッファ部と、外部から入力される帯域設定要求によって
指定される又は予め内部に有する情報から取得する帯域
幅に基づいて、全ファイル又はファイル毎に予め定めら
れた書き込み周期を設定する帯域設定部と、入力される
所定の固定サイズのデータによるファイル書き込み処理
要求に従って、当該データをバッファ部へ格納すると共
に、バッファ部でのファイルデータの格納状態に基づい
て、ファイルデータの書き込み対象を設定する判定部
と、書き込み周期に従って、設定された書き込み対象の
ファイルデータに応じた遅延書き込み処理要求を、ファ
イルデータの格納位置がファイル内の相対的なアドレス
情報で示されるファイル形式を用いて記憶部へ出力する
ことにより、当該書き込み対象のファイルデータを、バ
ッファ部から記憶部へ書き込む遅延書き込み処理部とを
備える。
【0057】上記のように、第24の発明によれば、バ
ッファ部でのファイルデータの格納状態に基づいて、書
き込み可能なファイルデータから順に記憶部へ書き込
む。これにより、任意サイズのファイル書き込み処理要
求に対しても、リアルタイムにファイルデータの書き込
み処理を行うことができる。また、常にキャッシュメモ
リにデータを先読みしておく従来方式のように読み出し
処理が不要なので、帯域幅の有効利用ができる。さら
に、データ転送速度が異なるファイルに対しても帯域幅
を無駄にせず、適切な帯域幅での書き込みが行える。
ッファ部でのファイルデータの格納状態に基づいて、書
き込み可能なファイルデータから順に記憶部へ書き込
む。これにより、任意サイズのファイル書き込み処理要
求に対しても、リアルタイムにファイルデータの書き込
み処理を行うことができる。また、常にキャッシュメモ
リにデータを先読みしておく従来方式のように読み出し
処理が不要なので、帯域幅の有効利用ができる。さら
に、データ転送速度が異なるファイルに対しても帯域幅
を無駄にせず、適切な帯域幅での書き込みが行える。
【0058】第25の発明は、第24の発明に従属する
発明であって、ファイルを所定のブロックデータサイズ
で分割した領域を示すブロックの単位で、バッファ部を
管理するバッファ管理部をさらに備え、バッファ部に
は、バッファ管理部によって、ファイルを構成する複数
のブロックにそれぞれ対応する複数のブロック領域が確
保され、ファイル書き込み処理要求のデータが、ファイ
ル上で対応する当該ブロック領域に格納され、判定部
は、所定の判定条件に基づいて、領域の全てにデータが
格納されたブロック領域を書き込み対象として設定し、
遅延書き込み処理部は、書き込み対象と設定されたブロ
ック領域に対応するファイルデータの遅延書き込み処理
要求を出力し、当該ブロック領域に格納されているファ
イルデータの全部又は一部を記憶部へ書き込むことを特
徴とする。
発明であって、ファイルを所定のブロックデータサイズ
で分割した領域を示すブロックの単位で、バッファ部を
管理するバッファ管理部をさらに備え、バッファ部に
は、バッファ管理部によって、ファイルを構成する複数
のブロックにそれぞれ対応する複数のブロック領域が確
保され、ファイル書き込み処理要求のデータが、ファイ
ル上で対応する当該ブロック領域に格納され、判定部
は、所定の判定条件に基づいて、領域の全てにデータが
格納されたブロック領域を書き込み対象として設定し、
遅延書き込み処理部は、書き込み対象と設定されたブロ
ック領域に対応するファイルデータの遅延書き込み処理
要求を出力し、当該ブロック領域に格納されているファ
イルデータの全部又は一部を記憶部へ書き込むことを特
徴とする。
【0059】上記のように、第25の発明によれば、フ
ァイルデータの書き込み処理を所定のブロック領域の単
位で行い、全てのデータが揃ったブロック領域のデータ
から順に記憶部へ書き込む。これにより、任意サイズの
ファイル書き込み処理要求に対しても、リアルタイムに
ファイルデータの書き込み処理を行うことができる。
ァイルデータの書き込み処理を所定のブロック領域の単
位で行い、全てのデータが揃ったブロック領域のデータ
から順に記憶部へ書き込む。これにより、任意サイズの
ファイル書き込み処理要求に対しても、リアルタイムに
ファイルデータの書き込み処理を行うことができる。
【0060】第26の発明は、第25の発明に従属する
発明であって、判定部は、最後に入力したファイル書き
込み処理要求に従って格納したデータのバッファ部上の
格納終了位置を、ファイル先頭からのオフセット位置で
示される最終アクセス位置として保存し、新たに入力し
たファイル書き込み処理要求に従って新たに格納するデ
ータのバッファ部上のファイル先頭からのオフセット位
置で示される格納開始位置が、最終アクセス位置と連続
するか否かを判定し、位置が連続しないと判定した場
合、最終アクセス位置を含むブロック領域中のデータが
存在する範囲を遅延書き込みデータ範囲として設定し、
遅延書き込み処理部は、遅延書き込みデータ範囲のデー
タのみを記憶部へ書き込むことを特徴とする。
発明であって、判定部は、最後に入力したファイル書き
込み処理要求に従って格納したデータのバッファ部上の
格納終了位置を、ファイル先頭からのオフセット位置で
示される最終アクセス位置として保存し、新たに入力し
たファイル書き込み処理要求に従って新たに格納するデ
ータのバッファ部上のファイル先頭からのオフセット位
置で示される格納開始位置が、最終アクセス位置と連続
するか否かを判定し、位置が連続しないと判定した場
合、最終アクセス位置を含むブロック領域中のデータが
存在する範囲を遅延書き込みデータ範囲として設定し、
遅延書き込み処理部は、遅延書き込みデータ範囲のデー
タのみを記憶部へ書き込むことを特徴とする。
【0061】上記のように、第26の発明によれば、フ
ァイル書き込み処理要求によって不連続な位置が指定さ
れた場合は、遅延書き込みデータ範囲のデータのみを記
憶部へ書き込む。従って、帯域幅を有効利用することが
できる。
ァイル書き込み処理要求によって不連続な位置が指定さ
れた場合は、遅延書き込みデータ範囲のデータのみを記
憶部へ書き込む。従って、帯域幅を有効利用することが
できる。
【0062】第27の発明は、第25及び第26の発明
に従属する発明であって、帯域設定部は、帯域設定要求
によって指定される又は情報から取得する帯域幅に基づ
いて、バッファデータサイズを設定し、判定部は、バッ
ファ部にすでに格納されているファイル書き込み処理要
求の対象となるファイルのデータサイズが、バッファデ
ータサイズを超えない場合のみ、新たに入力したファイ
ル書き込み処理要求に従ったバッファ部へのデータの格
納を行うことを特徴とする。
に従属する発明であって、帯域設定部は、帯域設定要求
によって指定される又は情報から取得する帯域幅に基づ
いて、バッファデータサイズを設定し、判定部は、バッ
ファ部にすでに格納されているファイル書き込み処理要
求の対象となるファイルのデータサイズが、バッファデ
ータサイズを超えない場合のみ、新たに入力したファイ
ル書き込み処理要求に従ったバッファ部へのデータの格
納を行うことを特徴とする。
【0063】第28の発明は、第27の発明に従属する
発明であって、帯域設定部は、バッファデータサイズ
を、ブロックデータサイズのK倍に設定することを特徴
とする。
発明であって、帯域設定部は、バッファデータサイズ
を、ブロックデータサイズのK倍に設定することを特徴
とする。
【0064】上記のように、第27及び第28の発明に
よれば、各ファイルの帯域幅に応じて、バッファ部の領
域を有効利用することができる。
よれば、各ファイルの帯域幅に応じて、バッファ部の領
域を有効利用することができる。
【0065】第29の発明は、入力されるファイル操作
の要求に応じたファイル処理を記憶部に対して実行する
ファイルサーバであって、請求項1〜28のいずれかに
記載のファイルシステムと、アクセス可能な固定長の単
位でデータが管理される記憶部とを備え、ファイルシス
テムは、ファイル処理の要求を、ファイルデータの格納
位置が記憶部内の絶対的なアドレス情報で示されるデー
タ形式を用いて記憶部へ出力することを特徴とする。
の要求に応じたファイル処理を記憶部に対して実行する
ファイルサーバであって、請求項1〜28のいずれかに
記載のファイルシステムと、アクセス可能な固定長の単
位でデータが管理される記憶部とを備え、ファイルシス
テムは、ファイル処理の要求を、ファイルデータの格納
位置が記憶部内の絶対的なアドレス情報で示されるデー
タ形式を用いて記憶部へ出力することを特徴とする。
【0066】第30の発明は、ファイル操作に関するフ
ァイル処理の要求を出力する端末と、当該要求に応じた
処理を実行するファイルサーバとが、電気通信回線によ
り接続されて構成されるネットワークシステムであっ
て、端末は、請求項1〜28のいずれかに記載のファイ
ルシステムを備え、ファイル処理の要求を、ファイルデ
ータの格納位置がファイル内の相対的なアドレス情報で
示されるファイル形式を用いてファイルサーバへ出力
し、ファイルサーバは、アクセス可能な固定長の単位で
データが管理される記憶部を備え、電気通信回線を介し
て端末からファイル処理の要求を入力し、当該要求に応
じた処理を当該記憶部に対して行うことを特徴とする。
ァイル処理の要求を出力する端末と、当該要求に応じた
処理を実行するファイルサーバとが、電気通信回線によ
り接続されて構成されるネットワークシステムであっ
て、端末は、請求項1〜28のいずれかに記載のファイ
ルシステムを備え、ファイル処理の要求を、ファイルデ
ータの格納位置がファイル内の相対的なアドレス情報で
示されるファイル形式を用いてファイルサーバへ出力
し、ファイルサーバは、アクセス可能な固定長の単位で
データが管理される記憶部を備え、電気通信回線を介し
て端末からファイル処理の要求を入力し、当該要求に応
じた処理を当該記憶部に対して行うことを特徴とする。
【0067】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照しながら説明する。 (ファイルシステムの適用環境)図1は、本発明によっ
て提供されるファイルシステムが適用されるクライアン
ト・サーバ・システムの構成例を示すブロック図であ
る。図1において、クライアント・サーバ・システム
は、複数の端末(クライアント)11〜1N(Nは、2
以上の整数)と、ファイルサーバ20とが、ネットワー
ク30を介して互いに接続されている構成である。これ
ら複数の端末11〜1N及びファイルサーバ20は、コ
ンピュータ装置によって実現される。一方、ネットワー
ク30は、例えば、ATMやイーサネット(登録商標)
等の有線ネットワークや、W−CDMA等の無線ネット
ワークによって実現される。
て、図面を参照しながら説明する。 (ファイルシステムの適用環境)図1は、本発明によっ
て提供されるファイルシステムが適用されるクライアン
ト・サーバ・システムの構成例を示すブロック図であ
る。図1において、クライアント・サーバ・システム
は、複数の端末(クライアント)11〜1N(Nは、2
以上の整数)と、ファイルサーバ20とが、ネットワー
ク30を介して互いに接続されている構成である。これ
ら複数の端末11〜1N及びファイルサーバ20は、コ
ンピュータ装置によって実現される。一方、ネットワー
ク30は、例えば、ATMやイーサネット(登録商標)
等の有線ネットワークや、W−CDMA等の無線ネット
ワークによって実現される。
【0068】(第1の実施形態)本発明の第1の実施形
態に係るファイルシステムは、上記クライアント・サー
バ・システムのファイルサーバ20に適用されるリアル
タイム・ローカル・ファイルシステムである。図2は、
本発明の第1の実施形態に係るファイルシステム22を
用いた図1のファイルサーバ20の詳細な構成を示すブ
ロック図である。図2において、ファイルサーバ20
は、サーバアプリケーション21と、ファイルシステム
22と、ディスクアクセス変換部23と、データ記憶部
24と、プロトコル処理部25とを備えている。まず、
図2に示すファイルサーバ20の各構成を説明する。
態に係るファイルシステムは、上記クライアント・サー
バ・システムのファイルサーバ20に適用されるリアル
タイム・ローカル・ファイルシステムである。図2は、
本発明の第1の実施形態に係るファイルシステム22を
用いた図1のファイルサーバ20の詳細な構成を示すブ
ロック図である。図2において、ファイルサーバ20
は、サーバアプリケーション21と、ファイルシステム
22と、ディスクアクセス変換部23と、データ記憶部
24と、プロトコル処理部25とを備えている。まず、
図2に示すファイルサーバ20の各構成を説明する。
【0069】サーバアプリケーション21は、ファイル
サーバ20の設定・管理を行うものであり、端末11〜
1Nから与えられる要求を受け付け、ファイルシステム
22へファイルの読み出し要求及び書き込み要求を伝え
る。ファイルシステム22は、データをファイルとして
扱えるようにデータ記憶部24に格納する機能と、格納
されているファイルに対するオープン、読み出し、書き
込み及びクローズ等の機能とを備えるものである。な
お、本発明のファイルシステムで取り扱われるファイル
は、主にビデオやオーディオ等の高速かつリアルタイム
なデータ転送が必要とされるファイルとする。また、上
述のファイルオープンやファイル書き込み等のファイル
アクセスは、通常の文字情報や静止画像を対象としたフ
ァイルシステムと同様に、汎用のインタフェースを使っ
てアプリケーションから要求されるものとする。特に、
ファイルの読み出し及び書き込みについては、任意のデ
ータサイズで要求できるものとする。ディスクアクセス
変換部23は、ファイルシステム22から与えられるフ
ァイルの読み出し要求及び書き込み要求を、データ記憶
部24で識別できるコマンドに変換して発行する。例え
ば、SCSIのハードディスクにコマンドを発行するS
CSIディスクドライバ等が、ディスクアクセス変換部
23に相当する。データ記憶部24は、データを記憶す
る装置であり、ハードディスク(HD)や光磁気ディス
ク等のランダムアクセス可能なディスク型の記録媒体を
駆動できる記憶装置である。プロトコル処理部25は、
ファイルサーバ20と端末11〜1Nとの間のデータ転
送に必要なプロトコル変換を行うものである。
サーバ20の設定・管理を行うものであり、端末11〜
1Nから与えられる要求を受け付け、ファイルシステム
22へファイルの読み出し要求及び書き込み要求を伝え
る。ファイルシステム22は、データをファイルとして
扱えるようにデータ記憶部24に格納する機能と、格納
されているファイルに対するオープン、読み出し、書き
込み及びクローズ等の機能とを備えるものである。な
お、本発明のファイルシステムで取り扱われるファイル
は、主にビデオやオーディオ等の高速かつリアルタイム
なデータ転送が必要とされるファイルとする。また、上
述のファイルオープンやファイル書き込み等のファイル
アクセスは、通常の文字情報や静止画像を対象としたフ
ァイルシステムと同様に、汎用のインタフェースを使っ
てアプリケーションから要求されるものとする。特に、
ファイルの読み出し及び書き込みについては、任意のデ
ータサイズで要求できるものとする。ディスクアクセス
変換部23は、ファイルシステム22から与えられるフ
ァイルの読み出し要求及び書き込み要求を、データ記憶
部24で識別できるコマンドに変換して発行する。例え
ば、SCSIのハードディスクにコマンドを発行するS
CSIディスクドライバ等が、ディスクアクセス変換部
23に相当する。データ記憶部24は、データを記憶す
る装置であり、ハードディスク(HD)や光磁気ディス
ク等のランダムアクセス可能なディスク型の記録媒体を
駆動できる記憶装置である。プロトコル処理部25は、
ファイルサーバ20と端末11〜1Nとの間のデータ転
送に必要なプロトコル変換を行うものである。
【0070】以上のような構成により、ファイルサーバ
20は、端末11〜1Nからファイルの書き込み要求が
あったデータをファイルシステム22を介してデータ記
憶部24へ格納する、また、ファイルの読み出し要求が
あったデータを、ファイルシステム22を介してデータ
記憶部24から端末11〜1Nへ送出する、等の様々な
ファイル処理を行う。本発明が提供するファイルシステ
ムは、これらのファイル処理の中でファイル書き込み処
理に特徴があるため、以下の各実施形態においては、フ
ァイル書き込み処理について説明する。
20は、端末11〜1Nからファイルの書き込み要求が
あったデータをファイルシステム22を介してデータ記
憶部24へ格納する、また、ファイルの読み出し要求が
あったデータを、ファイルシステム22を介してデータ
記憶部24から端末11〜1Nへ送出する、等の様々な
ファイル処理を行う。本発明が提供するファイルシステ
ムは、これらのファイル処理の中でファイル書き込み処
理に特徴があるため、以下の各実施形態においては、フ
ァイル書き込み処理について説明する。
【0071】なお、データ記憶部24には、データ読み
出し/書き込みの要求を受け付けることのできる最小サ
イズ(セクタサイズ=512バイト等)が予め定められ
ており、以後このサイズを「最小アクセス単位」と呼ぶ
ことにする。同様に、ディスクアクセス変換部23に
も、ファイルシステム22からアクセス可能な最小サイ
ズが予め定められているものとする。以後このサイズを
「アクセス単位」と呼ぶことにする。このアクセス単位
は、最小アクセス単位と同一サイズでも倍数のサイズで
もよい。さらに、通常、ファイルシステム22がディス
クアクセス変換部23へアクセスする単位を、最小アク
セス単位及びアクセス単位とは別に「ブロック」と呼ぶ
ことにする(なお、ブロックのサイズを「BLKSIZ
E」と表記する)。これは、一般に、記憶装置に対して
小さな単位で読み書きするほど転送サイズ当たりの処理
時間が長くなることを考慮し、最小アクセス単位より大
きな「ブロック」というサイズで、記憶装置にアクセス
するようにしているからである。なお、これらの単位の
関係を図3に示しておく。
出し/書き込みの要求を受け付けることのできる最小サ
イズ(セクタサイズ=512バイト等)が予め定められ
ており、以後このサイズを「最小アクセス単位」と呼ぶ
ことにする。同様に、ディスクアクセス変換部23に
も、ファイルシステム22からアクセス可能な最小サイ
ズが予め定められているものとする。以後このサイズを
「アクセス単位」と呼ぶことにする。このアクセス単位
は、最小アクセス単位と同一サイズでも倍数のサイズで
もよい。さらに、通常、ファイルシステム22がディス
クアクセス変換部23へアクセスする単位を、最小アク
セス単位及びアクセス単位とは別に「ブロック」と呼ぶ
ことにする(なお、ブロックのサイズを「BLKSIZ
E」と表記する)。これは、一般に、記憶装置に対して
小さな単位で読み書きするほど転送サイズ当たりの処理
時間が長くなることを考慮し、最小アクセス単位より大
きな「ブロック」というサイズで、記憶装置にアクセス
するようにしているからである。なお、これらの単位の
関係を図3に示しておく。
【0072】次に、本発明の第1の実施形態に係るファ
イルシステム22の各構成を説明する。図2において、
第1の実施形態に係るファイルシステム22は、ブロッ
ク判定部221と、バッファ管理部222と、遅延書き
込み用バッファ223と、遅延書き込み処理部224
と、遅延読み出し処理部225とを備えている。なお、
図2中、太線矢印はデータの流れを示し、細線矢印は要
求又は指示の流れを示している。
イルシステム22の各構成を説明する。図2において、
第1の実施形態に係るファイルシステム22は、ブロッ
ク判定部221と、バッファ管理部222と、遅延書き
込み用バッファ223と、遅延書き込み処理部224
と、遅延読み出し処理部225とを備えている。なお、
図2中、太線矢印はデータの流れを示し、細線矢印は要
求又は指示の流れを示している。
【0073】バッファ管理部222は、サーバアプリケ
ーション21からファイルオープンの要求を受け付けた
場合には、メモリ上に必要な遅延書き込み用バッファ2
23の領域を確保する。ここで、バッファ管理部222
は、要求内容に応じて、複数ブロック分の領域を遅延書
き込み用バッファ223として確保する。この確保され
た領域に関する情報は、ブロック判定部221に伝えら
れる。なお、この情報は、直接ではなく遅延書き込み用
バッファ223を介してブロック判定部221に伝えら
れてもよい。一方、バッファ管理部222は、サーバア
プリケーション21からファイルクローズの要求を受け
付けた場合には、確保した遅延書き込み用バッファ22
3の領域を解放する。なお、遅延書き込み用バッファ2
23の領域の確保及び開放は、上述したファイルオープ
ン及びファイルクローズ時に行われる方法以外にも、次
のような方法で実現可能である。まず、システム起動時
(PC電源投入時)に、バッファ管理部222が、大量
の遅延書き込み用バッファ223の領域をアロケートし
ておき、フリーバッファ(割り当てられていない領域)
として管理しておく。そして、ファイルオープン時に
は、フリーバッファの中から必要なブロック数分だけが
確保される(割り当てられる)。一方、ファイルクロー
ズ時には、割り当てられていた領域が実際に開放される
のではなく、バッファ管理部222で管理されるフリー
バッファとして返却される。
ーション21からファイルオープンの要求を受け付けた
場合には、メモリ上に必要な遅延書き込み用バッファ2
23の領域を確保する。ここで、バッファ管理部222
は、要求内容に応じて、複数ブロック分の領域を遅延書
き込み用バッファ223として確保する。この確保され
た領域に関する情報は、ブロック判定部221に伝えら
れる。なお、この情報は、直接ではなく遅延書き込み用
バッファ223を介してブロック判定部221に伝えら
れてもよい。一方、バッファ管理部222は、サーバア
プリケーション21からファイルクローズの要求を受け
付けた場合には、確保した遅延書き込み用バッファ22
3の領域を解放する。なお、遅延書き込み用バッファ2
23の領域の確保及び開放は、上述したファイルオープ
ン及びファイルクローズ時に行われる方法以外にも、次
のような方法で実現可能である。まず、システム起動時
(PC電源投入時)に、バッファ管理部222が、大量
の遅延書き込み用バッファ223の領域をアロケートし
ておき、フリーバッファ(割り当てられていない領域)
として管理しておく。そして、ファイルオープン時に
は、フリーバッファの中から必要なブロック数分だけが
確保される(割り当てられる)。一方、ファイルクロー
ズ時には、割り当てられていた領域が実際に開放される
のではなく、バッファ管理部222で管理されるフリー
バッファとして返却される。
【0074】ブロック判定部221は、サーバアプリケ
ーション21からファイルの書き込み要求を受け付けた
場合、要求されたデータを、バッファ管理部222によ
って確保された遅延書き込み用バッファ223へ転送す
る。さらに、ブロック判定部221は、遅延書き込み用
バッファ223に格納されているデータと、サーバアプ
リケーション21から転送されたデータとに基づいて、
ブロック単位のデータが揃ったかどうかを判定し、必要
に応じて遅延書き込み処理部224及び遅延読み出し処
理部225へ特定の処理を依頼する。
ーション21からファイルの書き込み要求を受け付けた
場合、要求されたデータを、バッファ管理部222によ
って確保された遅延書き込み用バッファ223へ転送す
る。さらに、ブロック判定部221は、遅延書き込み用
バッファ223に格納されているデータと、サーバアプ
リケーション21から転送されたデータとに基づいて、
ブロック単位のデータが揃ったかどうかを判定し、必要
に応じて遅延書き込み処理部224及び遅延読み出し処
理部225へ特定の処理を依頼する。
【0075】ここで、図4を用いて、ブロック判定部2
21で行われる判定方法の概要を説明する。図4におい
て、ブロック[0]〜ブロック[4]は、遅延書き込み
用バッファ223に確保された領域であって、ファイル
先頭位置からのオフセットをブロック単位で区切ったも
のである。例えば、ブロック[0]は、ファイル先頭位
置からBLKSIZE分のデータ範囲を意味する。ま
た、図中のWriteFile1〜WriteFile
6は、サーバアプリケーション21から与えられる1回
目〜6回目の書き込み要求を表し、その矢印は、要求に
よって指定されたデータ範囲を示す。
21で行われる判定方法の概要を説明する。図4におい
て、ブロック[0]〜ブロック[4]は、遅延書き込み
用バッファ223に確保された領域であって、ファイル
先頭位置からのオフセットをブロック単位で区切ったも
のである。例えば、ブロック[0]は、ファイル先頭位
置からBLKSIZE分のデータ範囲を意味する。ま
た、図中のWriteFile1〜WriteFile
6は、サーバアプリケーション21から与えられる1回
目〜6回目の書き込み要求を表し、その矢印は、要求に
よって指定されたデータ範囲を示す。
【0076】まず、WriteFile1のデータ範囲
は、ブロック[0]と同じなので、書き込むべきデータ
が遅延書き込み用バッファ223内に1ブロック分揃っ
ている。従って、ブロック判定部221は、ブロック
[0]のデータがデータ記憶部24に書き込み可能であ
ると判定する。次に、WriteFile2を受け付け
た場合には、データ範囲がブロック[1]の一部分なの
で、ブロック判定部221は、ブロック[1]のデータ
が書き込みできない状態であると判定する。ただし、そ
の後に受け付ける書き込み要求によって、ブロック
[1]のデータが揃う可能性があるので、ブロック判定
部221は、ブロック[1]をそのまま保留状態とす
る。そして、次にWriteFile3及びWrite
File4を受け付けた場合に、初めてブロック[1]
のデータが揃うので、ブロック判定部221は、ブロッ
ク[1]のデータが書き込み可能であると判定する。一
方、ブロック[2]のようにブロックの一部分しかデー
タが揃っていないときに、WriteFile5のよう
にデータ範囲が不連続に要求されてしまった場合には、
今後、その空き部分を埋めるような要求がサーバアプリ
ケーション21から発行される可能性が低い。従って、
ブロック判定部221は、ブロック[2]及びブロック
[3]におけるデータの無い範囲(遅延書き込み用バッ
ファ223上にデータが格納されていない範囲)を「デ
ータ無効範囲」とみなし、この範囲をデータ記憶部24
から読み出したデータで埋めるように、遅延読み出し処
理部225へ指示する。
は、ブロック[0]と同じなので、書き込むべきデータ
が遅延書き込み用バッファ223内に1ブロック分揃っ
ている。従って、ブロック判定部221は、ブロック
[0]のデータがデータ記憶部24に書き込み可能であ
ると判定する。次に、WriteFile2を受け付け
た場合には、データ範囲がブロック[1]の一部分なの
で、ブロック判定部221は、ブロック[1]のデータ
が書き込みできない状態であると判定する。ただし、そ
の後に受け付ける書き込み要求によって、ブロック
[1]のデータが揃う可能性があるので、ブロック判定
部221は、ブロック[1]をそのまま保留状態とす
る。そして、次にWriteFile3及びWrite
File4を受け付けた場合に、初めてブロック[1]
のデータが揃うので、ブロック判定部221は、ブロッ
ク[1]のデータが書き込み可能であると判定する。一
方、ブロック[2]のようにブロックの一部分しかデー
タが揃っていないときに、WriteFile5のよう
にデータ範囲が不連続に要求されてしまった場合には、
今後、その空き部分を埋めるような要求がサーバアプリ
ケーション21から発行される可能性が低い。従って、
ブロック判定部221は、ブロック[2]及びブロック
[3]におけるデータの無い範囲(遅延書き込み用バッ
ファ223上にデータが格納されていない範囲)を「デ
ータ無効範囲」とみなし、この範囲をデータ記憶部24
から読み出したデータで埋めるように、遅延読み出し処
理部225へ指示する。
【0077】このように、本発明では、不連続な書き込
み要求を受けてデータ無効範囲が発生した場合にだけ、
遅延読み出し処理部225によるデータ読み出し処理が
行われる。従って、WriteFile2やWrite
File4を受け付けた場合に、ブロック[1]やブロ
ック[2]のデータをキャッシュとして読み出していた
従来技術に比べ、本発明では、後からの書き込み要求で
データの揃う可能性のあるブロックをそのまま保留して
おき、直ぐにキャッシュ読み出しを行わないようにして
いる。
み要求を受けてデータ無効範囲が発生した場合にだけ、
遅延読み出し処理部225によるデータ読み出し処理が
行われる。従って、WriteFile2やWrite
File4を受け付けた場合に、ブロック[1]やブロ
ック[2]のデータをキャッシュとして読み出していた
従来技術に比べ、本発明では、後からの書き込み要求で
データの揃う可能性のあるブロックをそのまま保留して
おき、直ぐにキャッシュ読み出しを行わないようにして
いる。
【0078】遅延書き込み処理部224は、一定周期毎
に遅延書き込み用バッファ223の状態を調べ、データ
記憶部24へ書き込み可能な状態にあるブロックのデー
タのライト要求(Write)を、ディスクアクセス変
換部23へ発行する。遅延読み出し処理部225は、ブ
ロック判定部221からデータ無効範囲のデータ読み出
しを指示された場合、該当するデータのリード要求(R
ead)をディスクアクセス変換部23へ発行する。
に遅延書き込み用バッファ223の状態を調べ、データ
記憶部24へ書き込み可能な状態にあるブロックのデー
タのライト要求(Write)を、ディスクアクセス変
換部23へ発行する。遅延読み出し処理部225は、ブ
ロック判定部221からデータ無効範囲のデータ読み出
しを指示された場合、該当するデータのリード要求(R
ead)をディスクアクセス変換部23へ発行する。
【0079】次に、上記のように構成されたファイルシ
ステム22が行う動作の内、ファイルオープン処理、フ
ァイル書き込み処理及びファイルクローズ処理の動作
を、図5〜図13を用いて順に説明する。図5及び図6
は、ファイルシステム22がサーバアプリケーション2
1から書き込み要求を受け付けた場合、ブロック判定部
221が行う動作を示すフローチャートである。図7
は、遅延書き込み処理部224が行う動作を示すフロー
チャートである。図8は、遅延読み出し処理部225が
行う動作を示すフローチャートである。図9は、データ
記憶部24から読み出されたデータが遅延書き込み用バ
ッファ223へデータ転送される方法の一例を示す図で
ある。図10〜図13は、書き込み要求のデータ範囲と
ブロックの区切り位置との関係の一例を示す図である。
なお、以下の説明では、端末11から書き込み要求を受
け付けた場合を一例に挙げて、各動作の説明を行う。
ステム22が行う動作の内、ファイルオープン処理、フ
ァイル書き込み処理及びファイルクローズ処理の動作
を、図5〜図13を用いて順に説明する。図5及び図6
は、ファイルシステム22がサーバアプリケーション2
1から書き込み要求を受け付けた場合、ブロック判定部
221が行う動作を示すフローチャートである。図7
は、遅延書き込み処理部224が行う動作を示すフロー
チャートである。図8は、遅延読み出し処理部225が
行う動作を示すフローチャートである。図9は、データ
記憶部24から読み出されたデータが遅延書き込み用バ
ッファ223へデータ転送される方法の一例を示す図で
ある。図10〜図13は、書き込み要求のデータ範囲と
ブロックの区切り位置との関係の一例を示す図である。
なお、以下の説明では、端末11から書き込み要求を受
け付けた場合を一例に挙げて、各動作の説明を行う。
【0080】(1)ファイルオープン処理 端末11から、ファイルサーバ20が有するファイルに
ついてオープン処理が要求されると、この要求は、プロ
トコル処理部25でプロトコル変換された後、サーバア
プリケーション21に伝えられる。サーバアプリケーシ
ョン21は、この要求をファイルオープン要求としてフ
ァイルシステム22へ発行する。ファイルシステム22
は、ファイルオープン要求を受けると、要求されたファ
イルの有無や状態を判断して、オープン処理の成功/失
敗を決定する。具体的には、ファイルシステム22は、
要求されたファイルがデータ記憶部24に存在し、か
つ、オープン可能な状態であれば、オープン処理を成功
とする。一方、ファイルシステム22は、要求されたフ
ァイルがデータ記憶部24に無かったり、他の端末によ
って排他的にオープンされている等の理由でオープン不
可能な状態であれば、オープン処理を失敗とする。オー
プン処理が成功の場合、ファイルシステム22は、バッ
ファ管理部222によってメモリ内に遅延書き込み用バ
ッファ223の領域を確保すると共に、オープン処理が
なされたファイルの識別子をサーバアプリケーション2
1に返送する。サーバアプリケーション21が受け取っ
たファイル識別子は、プロトコル処理部25を介して端
末11に送られる。これにより、以後の書き込み等のフ
ァイルアクセスが、可能な状態となる。
ついてオープン処理が要求されると、この要求は、プロ
トコル処理部25でプロトコル変換された後、サーバア
プリケーション21に伝えられる。サーバアプリケーシ
ョン21は、この要求をファイルオープン要求としてフ
ァイルシステム22へ発行する。ファイルシステム22
は、ファイルオープン要求を受けると、要求されたファ
イルの有無や状態を判断して、オープン処理の成功/失
敗を決定する。具体的には、ファイルシステム22は、
要求されたファイルがデータ記憶部24に存在し、か
つ、オープン可能な状態であれば、オープン処理を成功
とする。一方、ファイルシステム22は、要求されたフ
ァイルがデータ記憶部24に無かったり、他の端末によ
って排他的にオープンされている等の理由でオープン不
可能な状態であれば、オープン処理を失敗とする。オー
プン処理が成功の場合、ファイルシステム22は、バッ
ファ管理部222によってメモリ内に遅延書き込み用バ
ッファ223の領域を確保すると共に、オープン処理が
なされたファイルの識別子をサーバアプリケーション2
1に返送する。サーバアプリケーション21が受け取っ
たファイル識別子は、プロトコル処理部25を介して端
末11に送られる。これにより、以後の書き込み等のフ
ァイルアクセスが、可能な状態となる。
【0081】(2)ファイル書き込み処理 次に、端末11が、上記(1)ファイルオープン処理で
得たファイル識別子を用いて、ファイル書き込みを行う
動作を説明する。なお、ここでは既存ファイルについて
変更や追加を行い、再度ファイルを書き込む例を説明す
るが、ファイルを新規に作成する場合の書き込みについ
ても、同様の動作で可能である。端末11は、ファイル
サーバ20へ、ファイル識別子を用いて書き込み要求を
送出し、続けて書き込みたいデータを送出する。この書
き込み要求は、プロトコル処理部25によってプロトコ
ル処理された後に、サーバアプリケーション21へ伝え
られ、次いでファイルシステム22へ伝えられる。
得たファイル識別子を用いて、ファイル書き込みを行う
動作を説明する。なお、ここでは既存ファイルについて
変更や追加を行い、再度ファイルを書き込む例を説明す
るが、ファイルを新規に作成する場合の書き込みについ
ても、同様の動作で可能である。端末11は、ファイル
サーバ20へ、ファイル識別子を用いて書き込み要求を
送出し、続けて書き込みたいデータを送出する。この書
き込み要求は、プロトコル処理部25によってプロトコ
ル処理された後に、サーバアプリケーション21へ伝え
られ、次いでファイルシステム22へ伝えられる。
【0082】(書き込み要求受付処理)ファイルシステ
ム22が書き込み要求を受け取ると、ブロック判定部2
21によって図5に示す書き込み要求受付処理が実行さ
れる。まず、今回受け付けた書き込み要求のデータ範
囲、すなわちデータ開始位置(以下、StartPnt
と記す)からデータ終了位置(以下、EndPntと記
す)が、前回受け付けた書き込み要求のデータと連続し
ているか否かが判定される(ステップS501)。この
ステップS501では、記憶している前回の書き込み要
求のデータ終了位置(以下、PreEndPntと記
す)が今回の書き込み要求のStartPntと一致す
る場合に、連続アクセスであると判定される。なお、S
tartPnt及びEndPntは、共にファイル先頭
からのオフセットバイト数とする。また、初期状態(フ
ァイルオープン直後で、書き込み要求を受け取っていな
い状態)では、PreEndPnt=0(ファイル先頭
位置)とする。ステップS501で連続アクセスである
と判定された場合には、ステップS503の処理に移行
する。一方、ステップS501で不連続アクセスである
と判定された場合には、データ無効範囲が発生した可能
性があるので、後述する不連続アクセスの読み出し処理
(ステップS502、図6)が行われた後、ステップS
503へ移行する。
ム22が書き込み要求を受け取ると、ブロック判定部2
21によって図5に示す書き込み要求受付処理が実行さ
れる。まず、今回受け付けた書き込み要求のデータ範
囲、すなわちデータ開始位置(以下、StartPnt
と記す)からデータ終了位置(以下、EndPntと記
す)が、前回受け付けた書き込み要求のデータと連続し
ているか否かが判定される(ステップS501)。この
ステップS501では、記憶している前回の書き込み要
求のデータ終了位置(以下、PreEndPntと記
す)が今回の書き込み要求のStartPntと一致す
る場合に、連続アクセスであると判定される。なお、S
tartPnt及びEndPntは、共にファイル先頭
からのオフセットバイト数とする。また、初期状態(フ
ァイルオープン直後で、書き込み要求を受け取っていな
い状態)では、PreEndPnt=0(ファイル先頭
位置)とする。ステップS501で連続アクセスである
と判定された場合には、ステップS503の処理に移行
する。一方、ステップS501で不連続アクセスである
と判定された場合には、データ無効範囲が発生した可能
性があるので、後述する不連続アクセスの読み出し処理
(ステップS502、図6)が行われた後、ステップS
503へ移行する。
【0083】上記ステップS501及びS502におい
て判定及び必要な処理が行われると、前回の書き込み要
求処理において保留状態とされたブロック、すなわち一
部分のみにデータが格納されたブロックが存在するか否
かが判定される(ステップS503)。ステップS50
3で保留状態のブロックがあると判定された場合、当該
ブロックのデータが格納されていない残り部分へ、今回
の書き込み要求のデータの全部又は一部が転送される
(ステップS506)。一方、ステップS503で保留
状態のブロックが無いと判定された場合、遅延書き込み
用バッファ223として1ブロック分の領域が新たに確
保され(ステップS504)、そのブロックが保留状態
に初期設定される(ステップS505)。そして、新た
に確保されたブロックへ、今回の書き込み要求のデータ
の全部又は一部が転送される(ステップS506)。こ
こで、ステップS506で行われるデータ転送は、保留
状態のブロック範囲内で行われるので、次に、今回の書
き込み要求のデータが全て転送されたか(すなわち、E
ndPntまでデータ転送が完了したか)が判断される
(ステップS507)。ステップS507で全てのデー
タ転送が完了していないと判断された場合、ステップS
506でデータ転送されたブロックを確定状態に設定し
た(ステップS508)後、上記ステップS504〜S
506が繰り返し行われる。例えば、今回の書き込み要
求のデータサイズがBLKSIZE×2である場合に
は、ステップS506が2回行われることになる。
て判定及び必要な処理が行われると、前回の書き込み要
求処理において保留状態とされたブロック、すなわち一
部分のみにデータが格納されたブロックが存在するか否
かが判定される(ステップS503)。ステップS50
3で保留状態のブロックがあると判定された場合、当該
ブロックのデータが格納されていない残り部分へ、今回
の書き込み要求のデータの全部又は一部が転送される
(ステップS506)。一方、ステップS503で保留
状態のブロックが無いと判定された場合、遅延書き込み
用バッファ223として1ブロック分の領域が新たに確
保され(ステップS504)、そのブロックが保留状態
に初期設定される(ステップS505)。そして、新た
に確保されたブロックへ、今回の書き込み要求のデータ
の全部又は一部が転送される(ステップS506)。こ
こで、ステップS506で行われるデータ転送は、保留
状態のブロック範囲内で行われるので、次に、今回の書
き込み要求のデータが全て転送されたか(すなわち、E
ndPntまでデータ転送が完了したか)が判断される
(ステップS507)。ステップS507で全てのデー
タ転送が完了していないと判断された場合、ステップS
506でデータ転送されたブロックを確定状態に設定し
た(ステップS508)後、上記ステップS504〜S
506が繰り返し行われる。例えば、今回の書き込み要
求のデータサイズがBLKSIZE×2である場合に
は、ステップS506が2回行われることになる。
【0084】そして、ステップS507で全てのデータ
転送が完了したと判断された場合、今回の書き込み要求
のEndPntがブロックの区切り位置かが判定される
(ステップS509)。この判定は、EndPntがB
LKSIZEの倍数か否かで行われる。ステップS50
9でブロックの区切り位置であると判定された場合に
は、最後にデータ転送処理を行ったブロックに全てデー
タが格納されたことになるので、当該ブロックを確定状
態に設定した(ステップS510)後、今回の書き込み
要求のEndPntが前回の書き込み要求のデータ終了
位置、すなわちPreEndPntとして保存される
(ステップS511)。一方、ステップS509でブロ
ックの区切り位置でないと判定された場合には、最後に
データ転送処理を行ったブロックにデータ格納されてい
ない部分が残っていることになるので、このブロックを
保留状態のまま、上記ステップS511が実行される。
これにより、書き込み要求受付処理が完了する。
転送が完了したと判断された場合、今回の書き込み要求
のEndPntがブロックの区切り位置かが判定される
(ステップS509)。この判定は、EndPntがB
LKSIZEの倍数か否かで行われる。ステップS50
9でブロックの区切り位置であると判定された場合に
は、最後にデータ転送処理を行ったブロックに全てデー
タが格納されたことになるので、当該ブロックを確定状
態に設定した(ステップS510)後、今回の書き込み
要求のEndPntが前回の書き込み要求のデータ終了
位置、すなわちPreEndPntとして保存される
(ステップS511)。一方、ステップS509でブロ
ックの区切り位置でないと判定された場合には、最後に
データ転送処理を行ったブロックにデータ格納されてい
ない部分が残っていることになるので、このブロックを
保留状態のまま、上記ステップS511が実行される。
これにより、書き込み要求受付処理が完了する。
【0085】(不連続アクセスの読み出し処理)次に、
今回の書き込み要求が、前回の書き込み要求とは不連続
な位置(不連続アクセス)である場合の処理(図5のス
テップS502)を、図6を用いて説明する。サーバア
プリケーション21から書き込み要求を受け付け、図5
のステップS501で不連続アクセスであると判定され
た場合には、図6に示す不連続アクセスの読み出し処理
が実行される。ステップS601〜S603では、前回
の書き込み要求のときに保留状態となり、データ記憶部
24へ書き込まれないまま遅延書き込み用バッファ22
3に残っているブロックの処理が行われる。ステップS
604〜S606では、今回の書き込み要求によって、
データ無効範囲が発生したブロックの処理が行われる。
今回の書き込み要求が、前回の書き込み要求とは不連続
な位置(不連続アクセス)である場合の処理(図5のス
テップS502)を、図6を用いて説明する。サーバア
プリケーション21から書き込み要求を受け付け、図5
のステップS501で不連続アクセスであると判定され
た場合には、図6に示す不連続アクセスの読み出し処理
が実行される。ステップS601〜S603では、前回
の書き込み要求のときに保留状態となり、データ記憶部
24へ書き込まれないまま遅延書き込み用バッファ22
3に残っているブロックの処理が行われる。ステップS
604〜S606では、今回の書き込み要求によって、
データ無効範囲が発生したブロックの処理が行われる。
【0086】まず、前回の書き込み要求のPreEnd
Pntが、ブロックの区切り位置か否かが判定される
(ステップS601)。この判定は、図5のステップS
509での説明と同様に、PreEndPntがBLK
SIZEの倍数であるか否かで行われる。ステップS6
01で区切り位置であると判定された場合には、保留状
態のブロックが無いと判断され、ステップS604へ処
理が移行する。一方、ステップS601で区切り位置で
ないと判定された場合には、前回の書き込み要求での最
終ブロックが保留状態であるので、最終ブロック内のデ
ータ無効範囲に該当するデータを読み出して最終ブロッ
クを確定状態にした後、データ記憶部24へ書き込む必
要がある。このため、前回の書き込み要求での最終ブロ
ック(PreEndPntが存在するブロック)と、今
回の書き込み要求での先頭ブロック(StartPnt
が存在するブロック)とが、同じか否かが判定される
(ステップS602)。この判定を行うのは、同じブロ
ックと判定された場合には、次のステップS603でデ
ータ無効範囲の読み出し処理を行わなくても、先頭ブロ
ックに対する読み出し処理(後述のステップS604の
処理)によって、まとめて処理を行えるためである。従
って、ステップS602で同じブロックと判定された場
合には、ステップS604へ処理が移行し、同じブロッ
クでないと判定された場合には、前回の書き込み要求で
の最終ブロックのデータ(後半端数)読み出しが、遅延
読み出し処理部225へ要求された後(ステップS60
3)、ステップS605へ処理が移行する。
Pntが、ブロックの区切り位置か否かが判定される
(ステップS601)。この判定は、図5のステップS
509での説明と同様に、PreEndPntがBLK
SIZEの倍数であるか否かで行われる。ステップS6
01で区切り位置であると判定された場合には、保留状
態のブロックが無いと判断され、ステップS604へ処
理が移行する。一方、ステップS601で区切り位置で
ないと判定された場合には、前回の書き込み要求での最
終ブロックが保留状態であるので、最終ブロック内のデ
ータ無効範囲に該当するデータを読み出して最終ブロッ
クを確定状態にした後、データ記憶部24へ書き込む必
要がある。このため、前回の書き込み要求での最終ブロ
ック(PreEndPntが存在するブロック)と、今
回の書き込み要求での先頭ブロック(StartPnt
が存在するブロック)とが、同じか否かが判定される
(ステップS602)。この判定を行うのは、同じブロ
ックと判定された場合には、次のステップS603でデ
ータ無効範囲の読み出し処理を行わなくても、先頭ブロ
ックに対する読み出し処理(後述のステップS604の
処理)によって、まとめて処理を行えるためである。従
って、ステップS602で同じブロックと判定された場
合には、ステップS604へ処理が移行し、同じブロッ
クでないと判定された場合には、前回の書き込み要求で
の最終ブロックのデータ(後半端数)読み出しが、遅延
読み出し処理部225へ要求された後(ステップS60
3)、ステップS605へ処理が移行する。
【0087】次に、今回の書き込み要求のStartP
ntが、ブロックの区切り位置か否かが判定される(ス
テップS604)。ステップS604で区切り位置と判
定された場合には、今回の書き込み要求の先頭ブロック
は、ブロックの先頭からデータが揃うことになり、St
artPntより前の部分でデータ無効範囲が発生しな
いので、この不連続アクセスの読み出し処理が完了す
る。一方、ステップS604で区切り位置と判定された
場合には、今回の書き込み要求の先頭ブロック内のSt
artPntより前の部分が、データ無効範囲となって
しまう。このため、今回の書き込み要求での先頭ブロッ
クのデータ(前半端数)読み出しが、遅延読み出し処理
部225へ要求された後(ステップS605)、ステッ
プS606へ処理が移行する。そして、ステップS60
3及びS605にて要求された遅延読み出し処理(図
7)が実行された後(ステップS606)、この不連続
アクセスの読み出し処理が完了し、図5のステップS5
03へ処理が戻る。
ntが、ブロックの区切り位置か否かが判定される(ス
テップS604)。ステップS604で区切り位置と判
定された場合には、今回の書き込み要求の先頭ブロック
は、ブロックの先頭からデータが揃うことになり、St
artPntより前の部分でデータ無効範囲が発生しな
いので、この不連続アクセスの読み出し処理が完了す
る。一方、ステップS604で区切り位置と判定された
場合には、今回の書き込み要求の先頭ブロック内のSt
artPntより前の部分が、データ無効範囲となって
しまう。このため、今回の書き込み要求での先頭ブロッ
クのデータ(前半端数)読み出しが、遅延読み出し処理
部225へ要求された後(ステップS605)、ステッ
プS606へ処理が移行する。そして、ステップS60
3及びS605にて要求された遅延読み出し処理(図
7)が実行された後(ステップS606)、この不連続
アクセスの読み出し処理が完了し、図5のステップS5
03へ処理が戻る。
【0088】(遅延読み出し処理)次に、図2の遅延読
み出し処理部225における動作を、図7を用いて説明
する。遅延読み出し処理部225では、ブロック判定部
221から発行された読み出し要求(図6のステップS
603及びS605)を受けて、データ記憶部24から
対応するデータを読み出す処理(遅延読み出し処理)が
行われる。図7に示す遅延読み出し処理は、サーバアプ
リケーション21からファイルオープン処理の要求があ
った場合に開始される。この処理が開始されると、何ら
かの要求が受け付けられるまで待機している(ステップ
S701)。要求が受け付けられると、当該要求が遅延
読み出し終了要求か否かが判断される(ステップS70
2)。この遅延読み出し終了要求は、サーバアプリケー
ション21からファイルクローズ処理の要求があったと
き発行されるものであり、この要求が受け付けられた場
合には、この遅延読み出し処理が終了する。一方、ステ
ップS702で受け付けられた要求が遅延読み出し終了
要求ではないと判断された場合には、ブロック判定部2
21からの読み出し要求であると判断され、その要求内
容に基づいたリード要求がディスクアクセス変換部23
へ発行される(ステップS703)。
み出し処理部225における動作を、図7を用いて説明
する。遅延読み出し処理部225では、ブロック判定部
221から発行された読み出し要求(図6のステップS
603及びS605)を受けて、データ記憶部24から
対応するデータを読み出す処理(遅延読み出し処理)が
行われる。図7に示す遅延読み出し処理は、サーバアプ
リケーション21からファイルオープン処理の要求があ
った場合に開始される。この処理が開始されると、何ら
かの要求が受け付けられるまで待機している(ステップ
S701)。要求が受け付けられると、当該要求が遅延
読み出し終了要求か否かが判断される(ステップS70
2)。この遅延読み出し終了要求は、サーバアプリケー
ション21からファイルクローズ処理の要求があったと
き発行されるものであり、この要求が受け付けられた場
合には、この遅延読み出し処理が終了する。一方、ステ
ップS702で受け付けられた要求が遅延読み出し終了
要求ではないと判断された場合には、ブロック判定部2
21からの読み出し要求であると判断され、その要求内
容に基づいたリード要求がディスクアクセス変換部23
へ発行される(ステップS703)。
【0089】ここで、ブロック判定部221では、読み
出し要求として少なくとも以下の内容を遅延読み出し処
理部225へ通知するものとする。 ・読み出すべきブロックのデータ格納位置(ファイルオ
フセット位置又はデータ記憶部24上の論理アドレス
等) ・読み出したデータを格納する遅延書き込み用バッファ
223のアドレス ・ブロック内のデータ無効範囲(読み出したデータを転
送する範囲)を特定する情報
出し要求として少なくとも以下の内容を遅延読み出し処
理部225へ通知するものとする。 ・読み出すべきブロックのデータ格納位置(ファイルオ
フセット位置又はデータ記憶部24上の論理アドレス
等) ・読み出したデータを格納する遅延書き込み用バッファ
223のアドレス ・ブロック内のデータ無効範囲(読み出したデータを転
送する範囲)を特定する情報
【0090】次に、リード要求によってディスクアクセ
ス変換部23を介してデータ記憶部24から読み出され
たブロックの内、データ無効範囲の部分のデータが、遅
延書き込み用バッファ223の対応する位置へデータ転
送される(ステップS704)。このデータ転送の方法
としては、図9に示すように、ディスクアクセス変換部
23内に予めテンポラリバッファを用意しておき、デー
タ記憶部24から読み出されたブロックを一旦テンポラ
リバッファに格納させて、その後、データ無効範囲の部
分のデータだけをテンポラリバッファから遅延書き込み
用バッファ223へコピーさせる方法がある。また、デ
ータ無効範囲がディスクアクセス変換部23の最小アク
セス単位の倍数であれば、ディスクアクセス変換部23
が遅延書き込み用バッファ223のデータ無効範囲の部
分へデータを直接読み出すようにしてもよい。
ス変換部23を介してデータ記憶部24から読み出され
たブロックの内、データ無効範囲の部分のデータが、遅
延書き込み用バッファ223の対応する位置へデータ転
送される(ステップS704)。このデータ転送の方法
としては、図9に示すように、ディスクアクセス変換部
23内に予めテンポラリバッファを用意しておき、デー
タ記憶部24から読み出されたブロックを一旦テンポラ
リバッファに格納させて、その後、データ無効範囲の部
分のデータだけをテンポラリバッファから遅延書き込み
用バッファ223へコピーさせる方法がある。また、デ
ータ無効範囲がディスクアクセス変換部23の最小アク
セス単位の倍数であれば、ディスクアクセス変換部23
が遅延書き込み用バッファ223のデータ無効範囲の部
分へデータを直接読み出すようにしてもよい。
【0091】次に、受け取った読み出し要求が、後半端
数読み出し要求(図6,ステップS603で発行)か、
前半端数読み出し要求(図6,ステップS605で発
行)かが判定される(ステップS705)。そして、ス
テップS705で判定された要求が後半端数読み出し要
求である場合、読み出し先のブロックが確定状態に設定
され(ステップS706)、前半端数読み出し要求であ
る場合、読み出し先のブロックが保留状態に設定される
(ステップS707)。これは、ステップS603で読
み出し要求された最終ブロックには、読み出し処理が完
了した後、そのままブロック判定部221を経由せず、
遅延書き込み処理部224によって書き込み処理が行わ
れるのに対し、ステップS605で読み出し要求された
先頭ブロックには、ブロック判定部221が読み出し処
理の完了を待ち、読み出された先頭ブロックに対して続
けて処理が行われるためであり、双方のブロック状態の
設定方法が異なるからである。このステップS706又
はS707での設定が終了すると、1ブロック分(読み
出し要求1個分の)読み出し処理が完了する(ステップ
S708)。このとき、図6のステップS606におい
て読み出し処理完了を待つブロック判定部221へ、遅
延読み出し処理が完了したことが通知される。その後、
ステップS701へ処理が戻り、次の要求を受け付ける
状態に移行する。
数読み出し要求(図6,ステップS603で発行)か、
前半端数読み出し要求(図6,ステップS605で発
行)かが判定される(ステップS705)。そして、ス
テップS705で判定された要求が後半端数読み出し要
求である場合、読み出し先のブロックが確定状態に設定
され(ステップS706)、前半端数読み出し要求であ
る場合、読み出し先のブロックが保留状態に設定される
(ステップS707)。これは、ステップS603で読
み出し要求された最終ブロックには、読み出し処理が完
了した後、そのままブロック判定部221を経由せず、
遅延書き込み処理部224によって書き込み処理が行わ
れるのに対し、ステップS605で読み出し要求された
先頭ブロックには、ブロック判定部221が読み出し処
理の完了を待ち、読み出された先頭ブロックに対して続
けて処理が行われるためであり、双方のブロック状態の
設定方法が異なるからである。このステップS706又
はS707での設定が終了すると、1ブロック分(読み
出し要求1個分の)読み出し処理が完了する(ステップ
S708)。このとき、図6のステップS606におい
て読み出し処理完了を待つブロック判定部221へ、遅
延読み出し処理が完了したことが通知される。その後、
ステップS701へ処理が戻り、次の要求を受け付ける
状態に移行する。
【0092】なお、この例では、遅延読み出し処理の開
始及び終了が、ファイルオープン及びファイルクローズ
のタイミングであると説明したが、ファイル単位に行わ
ずにファイルシステム22の起動から終了まで常に遅延
読み出し処理が継続していてもよい。その場合、図7の
ステップS701では、オープン中の全ファイルの要求
が受け付けられるものとし、ステップS703〜S70
8では、どのファイルに対する要求かが判別され、ファ
イルに応じた処理が行われるものとする。
始及び終了が、ファイルオープン及びファイルクローズ
のタイミングであると説明したが、ファイル単位に行わ
ずにファイルシステム22の起動から終了まで常に遅延
読み出し処理が継続していてもよい。その場合、図7の
ステップS701では、オープン中の全ファイルの要求
が受け付けられるものとし、ステップS703〜S70
8では、どのファイルに対する要求かが判別され、ファ
イルに応じた処理が行われるものとする。
【0093】(遅延書き込み処理)次に、図2の遅延書
き込み処理部224における動作を、図8を使って説明
する。遅延書き込み処理部224では、上述した書き込
み要求受付処理(図5)において「確定状態」と設定さ
れたブロックのデータを、データ記憶部24に書き込む
処理(遅延書き込み処理)が行われる。図8に示す遅延
書き込み処理は、サーバアプリケーション21からファ
イルオープン処理の要求があった場合に開始される。処
理が開始されると、一定時間の経過後(ステップS80
1)、遅延書き込み処理の終了要求が受け付けられたか
否かが判定される(ステップS802)。この遅延書き
込み終了要求は、サーバアプリケーション21からファ
イルクローズ処理の要求があったとき発行されるもので
あり、この要求を受け付けた場合、この遅延書き込み処
理が終了する。一方、ステップS802で遅延書き込み
終了要求を受け付けていないと判定された場合、確認状
態のブロックがあるか否かが判断される(ステップS8
03)。ステップS803で確認状態のブロックがある
と判断された場合、ライト要求がディスクアクセス変換
部23へ発行され、対応するブロックの遅延書き込み用
バッファ223上に格納されたデータが、データ記憶部
24へ書き込まれる(ステップS804)。一方、ステ
ップS803で確認状態のブロックが無いと判断された
場合、及びステップS804の書き込み処理が完了した
後、ステップS801へ処理が戻り、同様の処理が繰り
返される。
き込み処理部224における動作を、図8を使って説明
する。遅延書き込み処理部224では、上述した書き込
み要求受付処理(図5)において「確定状態」と設定さ
れたブロックのデータを、データ記憶部24に書き込む
処理(遅延書き込み処理)が行われる。図8に示す遅延
書き込み処理は、サーバアプリケーション21からファ
イルオープン処理の要求があった場合に開始される。処
理が開始されると、一定時間の経過後(ステップS80
1)、遅延書き込み処理の終了要求が受け付けられたか
否かが判定される(ステップS802)。この遅延書き
込み終了要求は、サーバアプリケーション21からファ
イルクローズ処理の要求があったとき発行されるもので
あり、この要求を受け付けた場合、この遅延書き込み処
理が終了する。一方、ステップS802で遅延書き込み
終了要求を受け付けていないと判定された場合、確認状
態のブロックがあるか否かが判断される(ステップS8
03)。ステップS803で確認状態のブロックがある
と判断された場合、ライト要求がディスクアクセス変換
部23へ発行され、対応するブロックの遅延書き込み用
バッファ223上に格納されたデータが、データ記憶部
24へ書き込まれる(ステップS804)。一方、ステ
ップS803で確認状態のブロックが無いと判断された
場合、及びステップS804の書き込み処理が完了した
後、ステップS801へ処理が戻り、同様の処理が繰り
返される。
【0094】なお、この例では、遅延書き込み処理の開
始及び終了が、ファイルオープン及びファイルクローズ
のタイミングであると説明したが、ファイル単位に行わ
ずにファイルシステム22の起動から終了まで常に遅延
書き込み処理が継続していてもよい。その場合、図8の
ステップS803及びS804では、オープン中の全フ
ァイルについて確定状態のブロックが検索され、同様の
処理が行われるものとする。また、上記実施例では、遅
延書き込み処理部224からデータ記憶部24への書き
込みを行う一定周期を、ステップS801において一定
時間待つことにより実現しているが、タイムスロット管
理によるスケジューリングを用いて実現してもよい。
始及び終了が、ファイルオープン及びファイルクローズ
のタイミングであると説明したが、ファイル単位に行わ
ずにファイルシステム22の起動から終了まで常に遅延
書き込み処理が継続していてもよい。その場合、図8の
ステップS803及びS804では、オープン中の全フ
ァイルについて確定状態のブロックが検索され、同様の
処理が行われるものとする。また、上記実施例では、遅
延書き込み処理部224からデータ記憶部24への書き
込みを行う一定周期を、ステップS801において一定
時間待つことにより実現しているが、タイムスロット管
理によるスケジューリングを用いて実現してもよい。
【0095】このように、遅延書き込み処理部224で
は、書き込める状態になった(全範囲にデータが格納さ
れた)ブロックだけを、一定周期毎にデータ記憶部24
へ書き込むようにしている。また、サーバアプリケーシ
ョン21からの書き込み要求が、連続アクセスの繰り返
しである場合には、図5のステップS502が実行され
ず、遅延書き込み処理部224だけの処理になるので、
データ記憶部24からのデータ読み出しが全く発生しな
いで済む。
は、書き込める状態になった(全範囲にデータが格納さ
れた)ブロックだけを、一定周期毎にデータ記憶部24
へ書き込むようにしている。また、サーバアプリケーシ
ョン21からの書き込み要求が、連続アクセスの繰り返
しである場合には、図5のステップS502が実行され
ず、遅延書き込み処理部224だけの処理になるので、
データ記憶部24からのデータ読み出しが全く発生しな
いで済む。
【0096】以上説明した本発明の第1の実施形態に係
るファイルシステム22の動作を、図10〜図13に示
す書き込み要求を一例に挙げて確認する。ここで、上述
したように、各図において、遅延書き込み用バッファ2
23内の全データが揃っている状態のブロックを「確
定」で、一部のデータしか揃っていない状態のブロック
を「保留」で、データが全く揃っていない状態のブロッ
クを「データ無し」で、それぞれ表現している。また、
ブロック判定部221が遅延読み出し処理部225に読
み出し要求を発行してから、遅延読み出し処理部225
の処理が完了するまでの間の状態を「読み出し待ち」で
表現している。
るファイルシステム22の動作を、図10〜図13に示
す書き込み要求を一例に挙げて確認する。ここで、上述
したように、各図において、遅延書き込み用バッファ2
23内の全データが揃っている状態のブロックを「確
定」で、一部のデータしか揃っていない状態のブロック
を「保留」で、データが全く揃っていない状態のブロッ
クを「データ無し」で、それぞれ表現している。また、
ブロック判定部221が遅延読み出し処理部225に読
み出し要求を発行してから、遅延読み出し処理部225
の処理が完了するまでの間の状態を「読み出し待ち」で
表現している。
【0097】<ケース1:連続アクセスの場合>図10
は、サーバアプリケーション21から連続したデータ範
囲の書き込み要求が行われる(連続アクセス)ケースを
示す。まず、図10(a)は、ファイルオープン処理後
の全く書き込み要求を受け付けていないときのブロック
状態を示す。このとき、PreEndPnt=0、全て
のブロックはデータ無し状態である。図10(b)に、
1回目の書き込み要求を受け付け、ステップS501〜
S511(図5)の処理を完了した後の各ブロックの状
態を示す。同図では、StartPnt=PreEnd
Pnt=0であるので、要求が連続アクセスであると判
定される(ステップS501)。また、EndPntが
ブロックの区切り位置ではないので(ステップS50
9)、ブロック[0]が保留状態に設定される。次に、
図10(c)に、2回目の書き込み要求を受け付け、書
き込み要求受付処理までの処理を完了した後の各ブロッ
クの状態を示す。同図では、先頭ブロックの番号=0及
び最終ブロックの番号=2なので、ブロック[2]が保
留状態に、ブロック[0]及びブロック[1]が確定状
態に設定される。仮に、2回目の書き込み要求のEnd
Pntが、EndPnt=BLKSIZE×3(ブロッ
ク[2]の最終位置)の場合には、ステップS510に
おいて最終ブロックであるブロック[2]が確定状態に
設定される。このように、ブロック判定部221では、
1回以上の書き込み要求のデータがまとめられ、ブロッ
ク内のデータが全て揃ったブロックが確定状態に、一部
のデータしか揃っていないブロックが保留状態に設定さ
れる。そして、遅延書き込み処理部224では、ブロッ
ク判定部221で確定状態に設定されたブロックのみ、
データ記憶部24への書き込み処理が実行される。
は、サーバアプリケーション21から連続したデータ範
囲の書き込み要求が行われる(連続アクセス)ケースを
示す。まず、図10(a)は、ファイルオープン処理後
の全く書き込み要求を受け付けていないときのブロック
状態を示す。このとき、PreEndPnt=0、全て
のブロックはデータ無し状態である。図10(b)に、
1回目の書き込み要求を受け付け、ステップS501〜
S511(図5)の処理を完了した後の各ブロックの状
態を示す。同図では、StartPnt=PreEnd
Pnt=0であるので、要求が連続アクセスであると判
定される(ステップS501)。また、EndPntが
ブロックの区切り位置ではないので(ステップS50
9)、ブロック[0]が保留状態に設定される。次に、
図10(c)に、2回目の書き込み要求を受け付け、書
き込み要求受付処理までの処理を完了した後の各ブロッ
クの状態を示す。同図では、先頭ブロックの番号=0及
び最終ブロックの番号=2なので、ブロック[2]が保
留状態に、ブロック[0]及びブロック[1]が確定状
態に設定される。仮に、2回目の書き込み要求のEnd
Pntが、EndPnt=BLKSIZE×3(ブロッ
ク[2]の最終位置)の場合には、ステップS510に
おいて最終ブロックであるブロック[2]が確定状態に
設定される。このように、ブロック判定部221では、
1回以上の書き込み要求のデータがまとめられ、ブロッ
ク内のデータが全て揃ったブロックが確定状態に、一部
のデータしか揃っていないブロックが保留状態に設定さ
れる。そして、遅延書き込み処理部224では、ブロッ
ク判定部221で確定状態に設定されたブロックのみ、
データ記憶部24への書き込み処理が実行される。
【0098】<ケース2:不連続アクセスの場合(Pr
eEndPntがブロックの区切り位置以外)>図11
は、サーバアプリケーション21から不連続なデータ範
囲の書き込み要求が行われ(不連続アクセス)、かつ、
前回の書き込み要求で保留状態のブロックが存在するケ
ースを示す(同図(a)及び(b))。図11(b)に
示すように、不連続な書き込み要求が受け付けられた場
合、ステップS502(図6)の処理が実行される。こ
の場合、前回の書き込み要求の最終ブロック(ブロック
[n])が保留状態であり、かつ、前回の書き込み要求
の最終ブロックと今回の書き込み要求の先頭ブロック
(ブロック[n+2])とが異なる。このため、ステッ
プS603においてブロック[n]の読み出し要求が発
行され、ブロック[n]は、読み出し待ち状態となる。
このとき、データ無効範囲は、図11(b)に示す範囲
となる。その後、StartPntがブロックの区切り
位置なので、そのままステップS502の処理が完了
し、以後ステップS503〜S511の処理が行われ
る。なお、ブロック判定部221では、ステップS60
3の処理で発行された読み出し要求の処理完了を待たず
に、ステップS503以後の処理が行われるため、図1
1(c)のように、書き込み要求処理が完了した時点で
も、ブロック[n]が読み出し待ち状態のままの場合も
ある。ブロック[n]は、遅延読み出し処理部225に
よって確定状態に設定された時点で(ステップS70
7)、図11(d)の状態になる。
eEndPntがブロックの区切り位置以外)>図11
は、サーバアプリケーション21から不連続なデータ範
囲の書き込み要求が行われ(不連続アクセス)、かつ、
前回の書き込み要求で保留状態のブロックが存在するケ
ースを示す(同図(a)及び(b))。図11(b)に
示すように、不連続な書き込み要求が受け付けられた場
合、ステップS502(図6)の処理が実行される。こ
の場合、前回の書き込み要求の最終ブロック(ブロック
[n])が保留状態であり、かつ、前回の書き込み要求
の最終ブロックと今回の書き込み要求の先頭ブロック
(ブロック[n+2])とが異なる。このため、ステッ
プS603においてブロック[n]の読み出し要求が発
行され、ブロック[n]は、読み出し待ち状態となる。
このとき、データ無効範囲は、図11(b)に示す範囲
となる。その後、StartPntがブロックの区切り
位置なので、そのままステップS502の処理が完了
し、以後ステップS503〜S511の処理が行われ
る。なお、ブロック判定部221では、ステップS60
3の処理で発行された読み出し要求の処理完了を待たず
に、ステップS503以後の処理が行われるため、図1
1(c)のように、書き込み要求処理が完了した時点で
も、ブロック[n]が読み出し待ち状態のままの場合も
ある。ブロック[n]は、遅延読み出し処理部225に
よって確定状態に設定された時点で(ステップS70
7)、図11(d)の状態になる。
【0099】<ケース3:不連続アクセスの場合(St
artPntがブロックの区切り位置以外)>図12
は、不連続アクセスで、かつ、今回の書き込み要求で、
ブロックの区切り位置以外の位置からデータ範囲の書き
込みが行われるケースを示す(同図(a)及び
(b))。StartPntが図12(b)に示す位置
の場合、ブロック[n+2]の先頭からStartPn
tまでの範囲がデータ無効範囲となる。この場合、ステ
ップS605においてブロック[n+2]の読み出し要
求が発行され、ブロック[n+2]は読み出し待ち状態
になる。読み出し要求を受けた遅延読み出し処理部22
5では、図7で説明した遅延読み出し処理が行われ、ス
テップS706においてブロック[n+2]が保留状態
に設定される(図12(c))。ステップS708で読
み出し処理の完了が通知されると、ブロック判定部22
1の読み出し処理完了待ち(ステップS606)が終了
し、ステップS502の処理が終了する。その後、ブロ
ック判定部221では、ブロック[n+2]の読み出し
済みデータの後に、今回の書き込み要求のデータが転送
される(ステップS506)。以降の処理は、上述した
通りであり、書き込み要求処理が完了した時点で、各ブ
ロックが図12(d)の状態になる。
artPntがブロックの区切り位置以外)>図12
は、不連続アクセスで、かつ、今回の書き込み要求で、
ブロックの区切り位置以外の位置からデータ範囲の書き
込みが行われるケースを示す(同図(a)及び
(b))。StartPntが図12(b)に示す位置
の場合、ブロック[n+2]の先頭からStartPn
tまでの範囲がデータ無効範囲となる。この場合、ステ
ップS605においてブロック[n+2]の読み出し要
求が発行され、ブロック[n+2]は読み出し待ち状態
になる。読み出し要求を受けた遅延読み出し処理部22
5では、図7で説明した遅延読み出し処理が行われ、ス
テップS706においてブロック[n+2]が保留状態
に設定される(図12(c))。ステップS708で読
み出し処理の完了が通知されると、ブロック判定部22
1の読み出し処理完了待ち(ステップS606)が終了
し、ステップS502の処理が終了する。その後、ブロ
ック判定部221では、ブロック[n+2]の読み出し
済みデータの後に、今回の書き込み要求のデータが転送
される(ステップS506)。以降の処理は、上述した
通りであり、書き込み要求処理が完了した時点で、各ブ
ロックが図12(d)の状態になる。
【0100】<ケース4:不連続アクセスの場合(Pr
eEndPntとStartPntとが同じブロック内
に位置する)>図13は、不連続アクセスで、かつ、前
回の書き込み要求での最終ブロックと、今回の書き込み
要求での先頭ブロックとが同じであるケースを示す(同
図(a)及び(b))。図13(b)に示すように、P
reEndPntとStartPntとが同じブロック
内に位置する場合は、データ無効範囲がPreEndP
ntとStartPntとの間の範囲となる。従って、
ステップS602からそのままステップS604に進
み、ステップS605においてブロック[n]の読み出
し要求が発行される。その後の動作は、図12(c)及
び(d)と同じである。
eEndPntとStartPntとが同じブロック内
に位置する)>図13は、不連続アクセスで、かつ、前
回の書き込み要求での最終ブロックと、今回の書き込み
要求での先頭ブロックとが同じであるケースを示す(同
図(a)及び(b))。図13(b)に示すように、P
reEndPntとStartPntとが同じブロック
内に位置する場合は、データ無効範囲がPreEndP
ntとStartPntとの間の範囲となる。従って、
ステップS602からそのままステップS604に進
み、ステップS605においてブロック[n]の読み出
し要求が発行される。その後の動作は、図12(c)及
び(d)と同じである。
【0101】(3)ファイルクローズ処理 最後に、端末11がファイルの書き込みを終了し、ファ
イルのクローズを要求したときのクローズ処理の動作を
説明する。端末11からファイルサーバ20へ、ファイ
ルオープン処理で得られたファイル識別子を用いてファ
イルのクローズ処理が要求されると、この要求は、プロ
トコル処理部25でプロトコル変換された後、サーバア
プリケーション21に伝えられる。サーバアプリケーシ
ョン21は、この要求をファイルクローズ要求としてフ
ァイルシステム22へ発行する。ファイルシステム22
は、ファイルクローズ要求を受けると、対応するファイ
ルに関して、遅延書き込み用バッファ223上に保留状
態のブロックがあるか否かを調べる。保留状態のブロッ
クがあれば、ファイルシステム22は、PreEndP
ntから最終ブロックの最後の位置までの範囲をデータ
無効範囲とみなし、この範囲のデータ読み出し及びデー
タ記憶部24へのデータ書き込みを行う。具体的な処理
は、不連続アクセスを受け付けた場合と同様に、ブロッ
ク判定部221でステップS603を実行し、その後は
遅延読み出し処理部225及び遅延書き込み処理部22
4で上述した処理(図7及び図8)を行う。
イルのクローズを要求したときのクローズ処理の動作を
説明する。端末11からファイルサーバ20へ、ファイ
ルオープン処理で得られたファイル識別子を用いてファ
イルのクローズ処理が要求されると、この要求は、プロ
トコル処理部25でプロトコル変換された後、サーバア
プリケーション21に伝えられる。サーバアプリケーシ
ョン21は、この要求をファイルクローズ要求としてフ
ァイルシステム22へ発行する。ファイルシステム22
は、ファイルクローズ要求を受けると、対応するファイ
ルに関して、遅延書き込み用バッファ223上に保留状
態のブロックがあるか否かを調べる。保留状態のブロッ
クがあれば、ファイルシステム22は、PreEndP
ntから最終ブロックの最後の位置までの範囲をデータ
無効範囲とみなし、この範囲のデータ読み出し及びデー
タ記憶部24へのデータ書き込みを行う。具体的な処理
は、不連続アクセスを受け付けた場合と同様に、ブロッ
ク判定部221でステップS603を実行し、その後は
遅延読み出し処理部225及び遅延書き込み処理部22
4で上述した処理(図7及び図8)を行う。
【0102】そして、保留状態のブロックの書き込み処
理が全て終わると、ファイルシステム22は、ファイル
オープン処理で確保した遅延書き込み用バッファ223
を解放する。また、遅延書き込み処理部224及び遅延
読み出し処理部225が、ファイルオープンからファイ
ルクローズのタイミングで実行開始される場合には、そ
れぞれの処理部に終了要求が発行される。なお、ファイ
ルシステム22の起動から終了までの期間、双方の処理
部が動作し続ける場合は、終了要求は発行されない。最
後に、ファイルシステム22は、ファイルクローズ処理
の成功結果をサーバアプリケーション21へ返送し、そ
の処理を終了する。クローズ要求の成功結果は、サーバ
アプリケーション21からプロトコル処理部25を経由
して端末11へ送られる。そして、端末11は、この成
功結果を受け取ることで、ファイルクローズ処理が終了
する。
理が全て終わると、ファイルシステム22は、ファイル
オープン処理で確保した遅延書き込み用バッファ223
を解放する。また、遅延書き込み処理部224及び遅延
読み出し処理部225が、ファイルオープンからファイ
ルクローズのタイミングで実行開始される場合には、そ
れぞれの処理部に終了要求が発行される。なお、ファイ
ルシステム22の起動から終了までの期間、双方の処理
部が動作し続ける場合は、終了要求は発行されない。最
後に、ファイルシステム22は、ファイルクローズ処理
の成功結果をサーバアプリケーション21へ返送し、そ
の処理を終了する。クローズ要求の成功結果は、サーバ
アプリケーション21からプロトコル処理部25を経由
して端末11へ送られる。そして、端末11は、この成
功結果を受け取ることで、ファイルクローズ処理が終了
する。
【0103】以上のように、本発明の第1の実施形態に
係るファイルシステム22によれば、書き込み要求のデ
ータ範囲をブロックの区切り位置と比較して、ブロック
内のデータが揃っているか否かを判定するブロック判定
部221を備える。これにより、ブロック内のデータが
揃う可能性の少ない状態を特定できる。従って、本当に
読み出しの必要なときだけデータ記憶部24からの読み
出しを行えるので、常にキャッシュメモリにデータを先
読みしておく従来の方式に比べて読み出し処理の無駄が
なく、帯域幅の有効利用ができる。さらに、第1の実施
形態に係るファイルシステム22では、サーバアプリケ
ーション21から連続的な書き込み要求を受け付けてい
るときは、対応するブロックのデータが遅延書き込み用
バッファ223上に存在しなくても(キャッシュにヒッ
トしなくても)、データ記憶部24からデータを読み出
さない。そのため、データ記憶部24からの読み出し処
理によるサーバアプリケーション21への応答遅延は発
生せず、リアルタイムなデータ書き込みが高速に実現で
きる。一方、不連続な書き込み要求を受け付けたときに
は、データ記憶部24からデータ読み出しする場合もあ
るが、この条件では従来の先読み方式でもキャッシュメ
モリにデータが無いので再読み出しが必要となり、応答
遅延の面で同等である。従って、リアルタイムなデータ
書き込みが高速に実現できる。
係るファイルシステム22によれば、書き込み要求のデ
ータ範囲をブロックの区切り位置と比較して、ブロック
内のデータが揃っているか否かを判定するブロック判定
部221を備える。これにより、ブロック内のデータが
揃う可能性の少ない状態を特定できる。従って、本当に
読み出しの必要なときだけデータ記憶部24からの読み
出しを行えるので、常にキャッシュメモリにデータを先
読みしておく従来の方式に比べて読み出し処理の無駄が
なく、帯域幅の有効利用ができる。さらに、第1の実施
形態に係るファイルシステム22では、サーバアプリケ
ーション21から連続的な書き込み要求を受け付けてい
るときは、対応するブロックのデータが遅延書き込み用
バッファ223上に存在しなくても(キャッシュにヒッ
トしなくても)、データ記憶部24からデータを読み出
さない。そのため、データ記憶部24からの読み出し処
理によるサーバアプリケーション21への応答遅延は発
生せず、リアルタイムなデータ書き込みが高速に実現で
きる。一方、不連続な書き込み要求を受け付けたときに
は、データ記憶部24からデータ読み出しする場合もあ
るが、この条件では従来の先読み方式でもキャッシュメ
モリにデータが無いので再読み出しが必要となり、応答
遅延の面で同等である。従って、リアルタイムなデータ
書き込みが高速に実現できる。
【0104】なお、上記第1の実施形態では、ファイル
システム22が行う動作として、ファイルのオープン処
理、クローズ処理及び書き込み処理の3種類のみを説明
したが、この他にもファイルの新規作成処理、削除処理
及び読み出し処理等の動作を行えるようにしてもよい。
システム22が行う動作として、ファイルのオープン処
理、クローズ処理及び書き込み処理の3種類のみを説明
したが、この他にもファイルの新規作成処理、削除処理
及び読み出し処理等の動作を行えるようにしてもよい。
【0105】(第2の実施形態)上記第1の実施形態で
は、遅延書き込み処理部224からデータ記憶部24へ
のデータ書き込みを一定の周期で行う場合を説明した。
しかし、このデータ書き込みは、ファイル毎に予め定め
られた周期を用いて行われてもよい。その実現方法の1
つとして、各ファイルの拡張属性情報として周期(又は
書き込み帯域幅)を所定の場所に記録しておき、ファイ
ルオープン処理時にその情報を読み出して周期を決定す
る方法がある。情報を記録する場所としては、ファイル
名の一部分やファイル先頭部分等のファイル内のデータ
領域、又はファイルシステム22がファイルサイズ等の
属性情報を管理している領域等が挙げられる。また、他
の実現方法の1つとしては、ファイルシステム22に帯
域設定用のインタフェースを新たに設け、このインタフ
ェースを使用してサーバアプリケーション21にファイ
ル毎の帯域(周期)を設定してもらう方法がある。以
下、第2の実施形態において、この方法を実現するため
のファイルシステムを説明する。
は、遅延書き込み処理部224からデータ記憶部24へ
のデータ書き込みを一定の周期で行う場合を説明した。
しかし、このデータ書き込みは、ファイル毎に予め定め
られた周期を用いて行われてもよい。その実現方法の1
つとして、各ファイルの拡張属性情報として周期(又は
書き込み帯域幅)を所定の場所に記録しておき、ファイ
ルオープン処理時にその情報を読み出して周期を決定す
る方法がある。情報を記録する場所としては、ファイル
名の一部分やファイル先頭部分等のファイル内のデータ
領域、又はファイルシステム22がファイルサイズ等の
属性情報を管理している領域等が挙げられる。また、他
の実現方法の1つとしては、ファイルシステム22に帯
域設定用のインタフェースを新たに設け、このインタフ
ェースを使用してサーバアプリケーション21にファイ
ル毎の帯域(周期)を設定してもらう方法がある。以
下、第2の実施形態において、この方法を実現するため
のファイルシステムを説明する。
【0106】図14は、本発明の第2の実施形態に係る
ファイルシステム27を用いた図1のファイルサーバ2
0の詳細な構成を示すブロック図である。図14におい
て、ファイルサーバ20は、サーバアプリケーション2
6と、ファイルシステム27と、ディスクアクセス変換
部23と、データ記憶部24と、プロトコル処理部25
とを備えている。また、ファイルシステム27は、ブロ
ック判定部271と、バッファ管理部272と、遅延書
き込み用バッファ223と、遅延書き込み処理部274
と、遅延読み出し処理部225と、帯域設定部276と
を備えている。図14に示すように、第2の実施形態に
係るファイルシステム27は、基本的には、上記第1の
実施形態に係るファイルシステム22に、帯域設定用の
インタフェースである帯域設定部276を新たに加えた
構成である。以下、ファイルシステム22と異なる部分
を中心に、ファイルシステム27を説明する。
ファイルシステム27を用いた図1のファイルサーバ2
0の詳細な構成を示すブロック図である。図14におい
て、ファイルサーバ20は、サーバアプリケーション2
6と、ファイルシステム27と、ディスクアクセス変換
部23と、データ記憶部24と、プロトコル処理部25
とを備えている。また、ファイルシステム27は、ブロ
ック判定部271と、バッファ管理部272と、遅延書
き込み用バッファ223と、遅延書き込み処理部274
と、遅延読み出し処理部225と、帯域設定部276と
を備えている。図14に示すように、第2の実施形態に
係るファイルシステム27は、基本的には、上記第1の
実施形態に係るファイルシステム22に、帯域設定用の
インタフェースである帯域設定部276を新たに加えた
構成である。以下、ファイルシステム22と異なる部分
を中心に、ファイルシステム27を説明する。
【0107】サーバアプリケーション26によって書き
込み要求に関する帯域設定の要求(GetResour
ce)が与えられると、帯域設定部276は、指定され
た帯域幅に基づいて遅延書き込みを行う周期を決定し、
遅延書き込み処理部274へ指示する。例えば、帯域幅
がRATE[bps]と指定され、遅延書き込み処理部
274で1回に書き込む単位をBLKSIZE[バイ
ト]とした場合、周期Tは(BLKSIZE×8)/R
ATE[秒]となる。また、帯域設定部276は、遅延
書き込み用バッファ223のサイズを、指定された帯域
に基づいて決定してもよい。具体的には、帯域=RAT
E[bps](周期=T[秒])のスピードで書き込み
要求を受け付けるファイルは、以下のサイズの遅延書き
込み用バッファ223を用意すれば充分である。 バッファ最大サイズ[バイト]= BLKSIZE ×(〔(TwD
elay+ToutDelay)/T〕+α) ただし、〔x〕は、xの小数点以下を切り上げた整数
を、TwDelayは、ブロックが確定状態と判定され
た時点から、遅延書き込み処理部274がディスクアク
セス変換部23へライト要求を発行するまでの揺らぎ時
間[秒]を、ToutDelayは、遅延書き込み処理
部274がディスクアクセス変換部23へライト要求を
発行してから、実際に書き込みが完了し、遅延書き込み
用バッファ223が空くまでの遅延時間[秒]を、α
は、処理時間の余裕を考慮するための変数(1以上の任
意の整数)を表す。
込み要求に関する帯域設定の要求(GetResour
ce)が与えられると、帯域設定部276は、指定され
た帯域幅に基づいて遅延書き込みを行う周期を決定し、
遅延書き込み処理部274へ指示する。例えば、帯域幅
がRATE[bps]と指定され、遅延書き込み処理部
274で1回に書き込む単位をBLKSIZE[バイ
ト]とした場合、周期Tは(BLKSIZE×8)/R
ATE[秒]となる。また、帯域設定部276は、遅延
書き込み用バッファ223のサイズを、指定された帯域
に基づいて決定してもよい。具体的には、帯域=RAT
E[bps](周期=T[秒])のスピードで書き込み
要求を受け付けるファイルは、以下のサイズの遅延書き
込み用バッファ223を用意すれば充分である。 バッファ最大サイズ[バイト]= BLKSIZE ×(〔(TwD
elay+ToutDelay)/T〕+α) ただし、〔x〕は、xの小数点以下を切り上げた整数
を、TwDelayは、ブロックが確定状態と判定され
た時点から、遅延書き込み処理部274がディスクアク
セス変換部23へライト要求を発行するまでの揺らぎ時
間[秒]を、ToutDelayは、遅延書き込み処理
部274がディスクアクセス変換部23へライト要求を
発行してから、実際に書き込みが完了し、遅延書き込み
用バッファ223が空くまでの遅延時間[秒]を、α
は、処理時間の余裕を考慮するための変数(1以上の任
意の整数)を表す。
【0108】従って、ファイルオープン時にバッファ管
理部272によって確保する遅延書き込み用バッファ2
23のサイズを、上式で求められるバッファ最大サイズ
とする。また、サーバアプリケーション26から書き込
み要求を受け付け、要求されたデータをブロック判定部
271から遅延書き込み用バッファ223へ転送する際
には、ブロック判定部271は、ファイルオープン時に
確保したバッファ最大サイズを超えてバッファ領域が使
用されていないかを調べる。そして、バッファ最大サイ
ズを超えてバッファ領域が使用されていた場合、ブロッ
ク判定部271は、遅延書き込み処理部274で行われ
る書き込み処理によって遅延書き込み用バッファ223
が空くのを待つようにする。
理部272によって確保する遅延書き込み用バッファ2
23のサイズを、上式で求められるバッファ最大サイズ
とする。また、サーバアプリケーション26から書き込
み要求を受け付け、要求されたデータをブロック判定部
271から遅延書き込み用バッファ223へ転送する際
には、ブロック判定部271は、ファイルオープン時に
確保したバッファ最大サイズを超えてバッファ領域が使
用されていないかを調べる。そして、バッファ最大サイ
ズを超えてバッファ領域が使用されていた場合、ブロッ
ク判定部271は、遅延書き込み処理部274で行われ
る書き込み処理によって遅延書き込み用バッファ223
が空くのを待つようにする。
【0109】以上のように、本発明の第2の実施形態に
係るファイルシステム27によれば、遅延書き込み用バ
ッファ223として用意すべきメモリのサイズが最小限
に押さえられる。さらに、サーバアプリケーション26
が指定帯域を超えて速いスピードで書き込み要求を発行
してきたときにも、遅延書き込み用バッファ223の空
き状況を管理するだけで、メモリ領域を無駄に使用する
ことなく一定の帯域での書き込みを保証できる。なお、
上記第2の実施形態では、帯域設定部276は、帯域設
定の要求をサーバアプリケーション26から受ける場合
を説明したが、別途有するファイル等から帯域設定に関
する情報を自ら読み出すようにしてもよい。この場合、
ファイルオープン処理がサーバアプリケーション26か
ら要求されたタイミングで、帯域設定部276が、自立
的に帯域設定に関する情報を読み出せばよい。
係るファイルシステム27によれば、遅延書き込み用バ
ッファ223として用意すべきメモリのサイズが最小限
に押さえられる。さらに、サーバアプリケーション26
が指定帯域を超えて速いスピードで書き込み要求を発行
してきたときにも、遅延書き込み用バッファ223の空
き状況を管理するだけで、メモリ領域を無駄に使用する
ことなく一定の帯域での書き込みを保証できる。なお、
上記第2の実施形態では、帯域設定部276は、帯域設
定の要求をサーバアプリケーション26から受ける場合
を説明したが、別途有するファイル等から帯域設定に関
する情報を自ら読み出すようにしてもよい。この場合、
ファイルオープン処理がサーバアプリケーション26か
ら要求されたタイミングで、帯域設定部276が、自立
的に帯域設定に関する情報を読み出せばよい。
【0110】(第3の実施形態)また、上記第1及び第
2の実施形態では、ファイルサーバ20が単一のコンピ
ュータ装置で実現されていることを想定し、図2及び図
14のディスクアクセス変換部23もデータ記憶部24
を制御するドライバを想定して説明したが、ファイルサ
ーバ20の構成はこれに限定されない。例えば、図15
に示す第3の実施形態のように、ファイルサーバ20が
複数のコンピュータ装置(PC)をサーバ内ネットワー
クで接続した形態であってもよい。
2の実施形態では、ファイルサーバ20が単一のコンピ
ュータ装置で実現されていることを想定し、図2及び図
14のディスクアクセス変換部23もデータ記憶部24
を制御するドライバを想定して説明したが、ファイルサ
ーバ20の構成はこれに限定されない。例えば、図15
に示す第3の実施形態のように、ファイルサーバ20が
複数のコンピュータ装置(PC)をサーバ内ネットワー
クで接続した形態であってもよい。
【0111】図15は、上記第1及び第2の実施形態に
係るファイルシステムを用いた本発明の第3の実施形態
に係るクライアント・サーバ・システムの構成を示すブ
ロック図である。図15の例では、各端末からのファイ
ルアクセスを受け付けるための複数のファイル入出力用
PCと、各ファイル入出力用PCからのデータ読み書き
要求を受けて、記憶装置とのアクセスを行う複数のディ
スクアクセス用PCが、サーバ内ネットワークでそれぞ
れ接続されている。ファイル入出力用PCは、それぞれ
分散型のファイルシステムを実装し、複数のファイルシ
ステムが連携して、1つのボリュームを管理する。以上
の構成において、ファイル入出力用PCのファイルシス
テムに、上述した本発明のファイルシステムを実装し、
リアルタイム書き込みを実現させる。なお、この構成の
場合、図2のディスクアクセス変換部23は、図15に
示すように、サーバ内ネットワーク、各PCのネットワ
ークI/Fカード、各PCのサーバ内プロトコル処理
部、及び各ディスクアクセス用PCのディスクドライバ
の集合体に相当する。また、図2のデータ記憶部24
は、各ディスクアクセス用PCに対応する記憶装置の集
合体に相当する。
係るファイルシステムを用いた本発明の第3の実施形態
に係るクライアント・サーバ・システムの構成を示すブ
ロック図である。図15の例では、各端末からのファイ
ルアクセスを受け付けるための複数のファイル入出力用
PCと、各ファイル入出力用PCからのデータ読み書き
要求を受けて、記憶装置とのアクセスを行う複数のディ
スクアクセス用PCが、サーバ内ネットワークでそれぞ
れ接続されている。ファイル入出力用PCは、それぞれ
分散型のファイルシステムを実装し、複数のファイルシ
ステムが連携して、1つのボリュームを管理する。以上
の構成において、ファイル入出力用PCのファイルシス
テムに、上述した本発明のファイルシステムを実装し、
リアルタイム書き込みを実現させる。なお、この構成の
場合、図2のディスクアクセス変換部23は、図15に
示すように、サーバ内ネットワーク、各PCのネットワ
ークI/Fカード、各PCのサーバ内プロトコル処理
部、及び各ディスクアクセス用PCのディスクドライバ
の集合体に相当する。また、図2のデータ記憶部24
は、各ディスクアクセス用PCに対応する記憶装置の集
合体に相当する。
【0112】(第4の実施形態)また、上記第1及び第
2の実施形態では、クライアント・サーバ・システムの
ファイルサーバ20上に実装されるファイルシステム2
2及び27について説明した(ローカル・ファイルシス
テム)。しかし、図16に示す第4の実施形態のよう
に、本発明のファイルシステム22及び27を端末側に
実装してもよい(リモート・ファイルシステム)。
2の実施形態では、クライアント・サーバ・システムの
ファイルサーバ20上に実装されるファイルシステム2
2及び27について説明した(ローカル・ファイルシス
テム)。しかし、図16に示す第4の実施形態のよう
に、本発明のファイルシステム22及び27を端末側に
実装してもよい(リモート・ファイルシステム)。
【0113】例えば、図16に示すような端末161に
実装するファイルシステム163を考える。この場合、
通常、ファイルシステム163は、クライアントアプリ
ケーション162からの書き込み要求をそのままファイ
ルサーバ166へ要求するのではなく、端末161に設
けられたキャッシュメモリ(図示せず)を用いて、ファ
イルサーバ166からの読み出しと、ブロックに相当す
るサイズによるファイルサーバ166への遅延書き込み
とを行っている。図2及び図14と図16とで構成を比
較すると、図16のプロトコル処理部164及びネット
ワークI/Fカード165が図2及び図14のディスク
アクセス変換部23に相当し、図16のファイルサーバ
166が図2及び図14のデータ記憶部24に相当する
こととなる。以下、本発明の本発明のファイルシステム
を、ローカル・ファイルシステムとして適用した場合
と、リモート・ファイルシステムとして適用した場合と
で異なる内容を説明する。
実装するファイルシステム163を考える。この場合、
通常、ファイルシステム163は、クライアントアプリ
ケーション162からの書き込み要求をそのままファイ
ルサーバ166へ要求するのではなく、端末161に設
けられたキャッシュメモリ(図示せず)を用いて、ファ
イルサーバ166からの読み出しと、ブロックに相当す
るサイズによるファイルサーバ166への遅延書き込み
とを行っている。図2及び図14と図16とで構成を比
較すると、図16のプロトコル処理部164及びネット
ワークI/Fカード165が図2及び図14のディスク
アクセス変換部23に相当し、図16のファイルサーバ
166が図2及び図14のデータ記憶部24に相当する
こととなる。以下、本発明の本発明のファイルシステム
を、ローカル・ファイルシステムとして適用した場合
と、リモート・ファイルシステムとして適用した場合と
で異なる内容を説明する。
【0114】(1)ファイルシステムが出力する書き込
み要求の形式が異なるローカル・ファイルシステムであ
る場合(図2及び図14)、ファイルのデータが記憶さ
れているデータ記憶部24上の物理的なアドレス情報
(データの格納情報)が管理されている。このため、フ
ァイルシステム22及び27は、サーバアプリケーショ
ン21が指定したファイルの論理的なオフセット位置に
基づいて、データ記憶部24上の物理的なアドレスを割
り出す。そして、ファイルシステム22及び27は、デ
ィスクアクセス変換部23へ書き込み要求を発行する際
には、データを書き込むべきデータ記憶部24上の物理
的なアドレスを指定する。一方、リモート・ファイルシ
ステムである場合(図16)、データ記憶部168がフ
ァイルサーバ166上にあるため、その物理的なアドレ
ス情報(データの格納情報)を管理するのは、ファイル
サーバ166内のファイルシステム(図示せず)の役割
である。従って、ファイルシステム163は、プロトコ
ル処理部164及びネットワークI/Fカード165を
介して、ファイルサーバ166へ書き込み要求を発行す
る際には、データを書き込むべきデータ記憶部168上
のアドレスとして、ファイル先頭からの論理的なオフセ
ット位置を指定する。
み要求の形式が異なるローカル・ファイルシステムであ
る場合(図2及び図14)、ファイルのデータが記憶さ
れているデータ記憶部24上の物理的なアドレス情報
(データの格納情報)が管理されている。このため、フ
ァイルシステム22及び27は、サーバアプリケーショ
ン21が指定したファイルの論理的なオフセット位置に
基づいて、データ記憶部24上の物理的なアドレスを割
り出す。そして、ファイルシステム22及び27は、デ
ィスクアクセス変換部23へ書き込み要求を発行する際
には、データを書き込むべきデータ記憶部24上の物理
的なアドレスを指定する。一方、リモート・ファイルシ
ステムである場合(図16)、データ記憶部168がフ
ァイルサーバ166上にあるため、その物理的なアドレ
ス情報(データの格納情報)を管理するのは、ファイル
サーバ166内のファイルシステム(図示せず)の役割
である。従って、ファイルシステム163は、プロトコ
ル処理部164及びネットワークI/Fカード165を
介して、ファイルサーバ166へ書き込み要求を発行す
る際には、データを書き込むべきデータ記憶部168上
のアドレスとして、ファイル先頭からの論理的なオフセ
ット位置を指定する。
【0115】(2)リモート・ファイルシステムでは、
端数部分の読み出しが不要となる場合があるファイルサ
ーバ166側のファイルシステムとしては、書き込み要
求を任意のサイズで受け付け可能なものと、固定サイズ
でしか受け付けられないものの2種類がある。リモート
・ファイルシステムにおいてファイルサーバ166側の
ファイルシステムが前者である場合、ファイルシステム
163からプロトコル処理部164及びネットワークI
/Fカード165へ発行する書き込み要求も、任意のサ
イズで行える。従って、この場合、バッファに確保され
たブロックの端数部分の読み出しも必要なくなる。以
下、リモート・ファイルシステムにおいて、端数部分の
読み出しを行わない場合の処理を図17及び図18に示
す。図17及び図18は、このリモート・ファイルシス
テムがクライアントアプリケーションから書き込み要求
を受け付けた場合、ブロック判定部が行う動作を示すフ
ローチャートである。なお、この端数部分の読み出しを
行わないリモート・ファイルシステムの構成は、図2又
は図14から遅延読み出し処理部225を削除した構成
に相当する。
端数部分の読み出しが不要となる場合があるファイルサ
ーバ166側のファイルシステムとしては、書き込み要
求を任意のサイズで受け付け可能なものと、固定サイズ
でしか受け付けられないものの2種類がある。リモート
・ファイルシステムにおいてファイルサーバ166側の
ファイルシステムが前者である場合、ファイルシステム
163からプロトコル処理部164及びネットワークI
/Fカード165へ発行する書き込み要求も、任意のサ
イズで行える。従って、この場合、バッファに確保され
たブロックの端数部分の読み出しも必要なくなる。以
下、リモート・ファイルシステムにおいて、端数部分の
読み出しを行わない場合の処理を図17及び図18に示
す。図17及び図18は、このリモート・ファイルシス
テムがクライアントアプリケーションから書き込み要求
を受け付けた場合、ブロック判定部が行う動作を示すフ
ローチャートである。なお、この端数部分の読み出しを
行わないリモート・ファイルシステムの構成は、図2又
は図14から遅延読み出し処理部225を削除した構成
に相当する。
【0116】端数部分の読み出しを行わないリモート・
ファイルシステムにおける書き込み要求受付処理では、
書き込みのサイズが固定しないので、各ブロックでデー
タの有効な範囲だけが書き込まれる。従って、各ブロッ
クでデータ記憶部に書き込むべき有効な範囲が管理・設
定される。図17では、書き込みの開始位置をWrit
eStartPntと、書き込みの終了位置をWrit
eEndPntと表記している。そして、ステップS1
702,S1705,S1708及びS1710の時点
で、WriteStartPnt及びWriteEnd
Pntの値を設定・更新している。
ファイルシステムにおける書き込み要求受付処理では、
書き込みのサイズが固定しないので、各ブロックでデー
タの有効な範囲だけが書き込まれる。従って、各ブロッ
クでデータ記憶部に書き込むべき有効な範囲が管理・設
定される。図17では、書き込みの開始位置をWrit
eStartPntと、書き込みの終了位置をWrit
eEndPntと表記している。そして、ステップS1
702,S1705,S1708及びS1710の時点
で、WriteStartPnt及びWriteEnd
Pntの値を設定・更新している。
【0117】また、端数部分の読み出しを行っていたス
テップS502(図6)に代えて、ステップS1702
(図18)が実行される。図17のステップS1701
で不連続アクセスであると判定された場合には、前回の
書き込み要求のPreEndPntが、ブロックの区切
り位置か否かが判定される(ステップS1801)。こ
の判定は、PreEndPntがBLKSIZEの倍数
であるか否かで行われる。ステップS1801で区切り
位置であると判定された場合には、保留状態のブロック
が無いと判断され、ステップS1803へ処理が移行す
る。一方、ステップS1801で区切り位置でないと判
定された場合には、保留状態のブロックを確定状態に遷
移させる(ステップS1802)。このとき、ブロック
内の有効範囲(データ記憶部に書き込むべき範囲)の終
了位置WriteEndPntを、PreEndPnt
に応じた値に設定する。その後、遅延書き込み用バッフ
ァとして1ブロック分の領域が新たに確保され(ステッ
プS1803)、そのブロックが保留状態に初期設定さ
れる(ステップS1804)。そして、端数部分の読み
出しを行わないリモート・ファイルシステムにおける遅
延書き込み処理では、図8のステップS804のみ異な
り、上記有効範囲の情報(WriteStartPnt
及びWriteEndPnt)に基づいて、ディスクア
クセス変換部へのライト要求が発行される。
テップS502(図6)に代えて、ステップS1702
(図18)が実行される。図17のステップS1701
で不連続アクセスであると判定された場合には、前回の
書き込み要求のPreEndPntが、ブロックの区切
り位置か否かが判定される(ステップS1801)。こ
の判定は、PreEndPntがBLKSIZEの倍数
であるか否かで行われる。ステップS1801で区切り
位置であると判定された場合には、保留状態のブロック
が無いと判断され、ステップS1803へ処理が移行す
る。一方、ステップS1801で区切り位置でないと判
定された場合には、保留状態のブロックを確定状態に遷
移させる(ステップS1802)。このとき、ブロック
内の有効範囲(データ記憶部に書き込むべき範囲)の終
了位置WriteEndPntを、PreEndPnt
に応じた値に設定する。その後、遅延書き込み用バッフ
ァとして1ブロック分の領域が新たに確保され(ステッ
プS1803)、そのブロックが保留状態に初期設定さ
れる(ステップS1804)。そして、端数部分の読み
出しを行わないリモート・ファイルシステムにおける遅
延書き込み処理では、図8のステップS804のみ異な
り、上記有効範囲の情報(WriteStartPnt
及びWriteEndPnt)に基づいて、ディスクア
クセス変換部へのライト要求が発行される。
【0118】上記のように、端末側にあるファイルシス
テムに本発明の方式を実装すれば、データ読み出し回数
及びデータサイズを圧縮でき、端末とファイルサーバと
の間の帯域幅を有効利用できる。さらに、リモートファ
イルのアクセスであっても、サーバアプリケーションの
応答時間を短縮でき、リアルタイムでの高速書き込みが
可能になる。
テムに本発明の方式を実装すれば、データ読み出し回数
及びデータサイズを圧縮でき、端末とファイルサーバと
の間の帯域幅を有効利用できる。さらに、リモートファ
イルのアクセスであっても、サーバアプリケーションの
応答時間を短縮でき、リアルタイムでの高速書き込みが
可能になる。
【0119】なお、上記各実施形態では、保留状態と判
定されたブロックのデータは、それ以降に書き込み要求
を受け付けない限り、遅延書き込み用バッファ223上
に保持され続け、最終的にはファイルクローズ要求を受
け付けたときにデータ記憶部24へ書き込まれる。しか
しながら、記憶装置に保存すべきデータを、長期間メモ
リ上に置いておくと、システムがクラッシュしてデータ
が消えてしまうような事故に遭う可能性が高くなる。従
って、ブロックが保留状態と判定されてからの経過時間
を測定する構成をさらに設け、一定時間経過しても書き
込み要求を受け付けなかった場合には、タイムアウトし
たものとみなし、ファイルクローズ要求の受け付け時に
保留状態のブロックが残っていた場合と同様の処理を行
うようにしてもよい。さらに、上記第2の実施形態のよ
うに、帯域設定用インタフェース(帯域設定部276)
を設けた場合には、タイムアウトを検出する時間を指定
された帯域に基づいて決定することもできる。
定されたブロックのデータは、それ以降に書き込み要求
を受け付けない限り、遅延書き込み用バッファ223上
に保持され続け、最終的にはファイルクローズ要求を受
け付けたときにデータ記憶部24へ書き込まれる。しか
しながら、記憶装置に保存すべきデータを、長期間メモ
リ上に置いておくと、システムがクラッシュしてデータ
が消えてしまうような事故に遭う可能性が高くなる。従
って、ブロックが保留状態と判定されてからの経過時間
を測定する構成をさらに設け、一定時間経過しても書き
込み要求を受け付けなかった場合には、タイムアウトし
たものとみなし、ファイルクローズ要求の受け付け時に
保留状態のブロックが残っていた場合と同様の処理を行
うようにしてもよい。さらに、上記第2の実施形態のよ
うに、帯域設定用インタフェース(帯域設定部276)
を設けた場合には、タイムアウトを検出する時間を指定
された帯域に基づいて決定することもできる。
【0120】また、上記各実施形態では、データ記憶部
24に対して常にブロックサイズでの書き込みを行って
いたが、必要に応じて1回の書き込みサイズを変更して
もよい。例えば、ブロック判定部221で行う不連続ア
クセスの読み出し処理(ステップS502)において、
データ無効範囲が発生した場合、常に読み出し要求を発
行していたが、データ無効範囲が最小アクセス単位であ
れば、読み出し要求せずに、ブロック内の有効なデータ
範囲のみデータ記憶部24へ書き込むようにしてもよ
い。実現方法としては、図6のステップS603及びS
605の前に、データ無効範囲が最小アクセス単位であ
るか否かを判定する。最小アクセス単位である場合に
は、遅延書き込み処理部224によって書き込むべきデ
ータの範囲が特定できる情報を渡し、ブロックを確定状
態に設定する。遅延書き込み処理部224では、ブロッ
ク内の指定された範囲のみデータ記憶部24へ書き込
む。最小アクセス単位でない場合には、図6で説明した
のと同じ方法で、データの読み出しを行う。この方法で
は、データ読み出し回数及びデータサイズをさらに圧縮
でき、さらなる帯域幅の有効利用が図れる。
24に対して常にブロックサイズでの書き込みを行って
いたが、必要に応じて1回の書き込みサイズを変更して
もよい。例えば、ブロック判定部221で行う不連続ア
クセスの読み出し処理(ステップS502)において、
データ無効範囲が発生した場合、常に読み出し要求を発
行していたが、データ無効範囲が最小アクセス単位であ
れば、読み出し要求せずに、ブロック内の有効なデータ
範囲のみデータ記憶部24へ書き込むようにしてもよ
い。実現方法としては、図6のステップS603及びS
605の前に、データ無効範囲が最小アクセス単位であ
るか否かを判定する。最小アクセス単位である場合に
は、遅延書き込み処理部224によって書き込むべきデ
ータの範囲が特定できる情報を渡し、ブロックを確定状
態に設定する。遅延書き込み処理部224では、ブロッ
ク内の指定された範囲のみデータ記憶部24へ書き込
む。最小アクセス単位でない場合には、図6で説明した
のと同じ方法で、データの読み出しを行う。この方法で
は、データ読み出し回数及びデータサイズをさらに圧縮
でき、さらなる帯域幅の有効利用が図れる。
【図1】本発明によって提供されるファイルシステムが
適用されるクライアント・サーバ・システムの構成例を
示すブロック図である。
適用されるクライアント・サーバ・システムの構成例を
示すブロック図である。
【図2】本発明の第1の実施形態に係るファイルシステ
ム22を用いた図1のファイルサーバ20の詳細な構成
を示すブロック図である。
ム22を用いた図1のファイルサーバ20の詳細な構成
を示すブロック図である。
【図3】処理される各データの単位及びサイズの関係を
示す図である。
示す図である。
【図4】ブロック判定部221で行われる判定方法を説
明するために用いた書き込み要求とブロックとの関係の
一例を示す図である。
明するために用いた書き込み要求とブロックとの関係の
一例を示す図である。
【図5】ブロック判定部221がサーバアプリケーショ
ン21から書き込み要求を受け付けた場合に行う動作を
示すフローチャートである。
ン21から書き込み要求を受け付けた場合に行う動作を
示すフローチャートである。
【図6】ブロック判定部221がサーバアプリケーショ
ン21から書き込み要求を受け付けた場合に行う動作を
示すフローチャートである。
ン21から書き込み要求を受け付けた場合に行う動作を
示すフローチャートである。
【図7】遅延書き込み処理部224が行う動作を示すフ
ローチャートである。
ローチャートである。
【図8】遅延読み出し処理部225が行う動作を示すフ
ローチャートである。
ローチャートである。
【図9】データ記憶部24から読み出されたデータが遅
延書き込み用バッファ223に格納される方法の一例を
示す図である。
延書き込み用バッファ223に格納される方法の一例を
示す図である。
【図10】書き込み要求のデータ範囲とブロックの区切
り位置との関係の一例を示す図である(連続アクセ
ス)。
り位置との関係の一例を示す図である(連続アクセ
ス)。
【図11】書き込み要求のデータ範囲とブロックの区切
り位置との関係の一例を示す図である(不連続アクセ
ス)。
り位置との関係の一例を示す図である(不連続アクセ
ス)。
【図12】書き込み要求のデータ範囲とブロックの区切
り位置との関係の一例を示す図である(不連続アクセ
ス)。
り位置との関係の一例を示す図である(不連続アクセ
ス)。
【図13】書き込み要求のデータ範囲とブロックの区切
り位置との関係の一例を示す図である(不連続アクセ
ス)。
り位置との関係の一例を示す図である(不連続アクセ
ス)。
【図14】本発明の第2の実施形態に係るファイルシス
テム27を用いた図1のファイルサーバ20の詳細な構
成を示すブロック図である。
テム27を用いた図1のファイルサーバ20の詳細な構
成を示すブロック図である。
【図15】第1及び第2の実施形態に係るファイルシス
テムを用いた本発明の第3の実施形態に係るクライアン
ト・サーバ・システムの構成を示すブロック図である。
テムを用いた本発明の第3の実施形態に係るクライアン
ト・サーバ・システムの構成を示すブロック図である。
【図16】第1及び第2の実施形態に係るファイルシス
テムを用いた本発明の第4の実施形態に係るクライアン
ト・サーバ・システムの構成を示すブロック図である。
テムを用いた本発明の第4の実施形態に係るクライアン
ト・サーバ・システムの構成を示すブロック図である。
【図17】ファイルシステム163がクライアントアプ
リケーション162から書き込み要求を受け付けた場合
に行う動作を示すフローチャートである。
リケーション162から書き込み要求を受け付けた場合
に行う動作を示すフローチャートである。
【図18】ファイルシステム163がクライアントアプ
リケーション162から書き込み要求を受け付けた場合
に行う動作を示すフローチャートである。
リケーション162から書き込み要求を受け付けた場合
に行う動作を示すフローチャートである。
11〜1N,161…端末 20,166…ファイルサーバ 21,26,167…サーバアプリケーション 22,27,163…ファイルシステム 23…ディスクアクセス変換部 24,168…データ記憶部 25,164…プロトコル処理部 30…ネットワーク 162…クライアントアプリケーション 165…ネットワークI/Fカード 221,271…ブロック判定部 222,272…バッファ管理部 223…遅延書き込み用バッファ 224,274…遅延書き込み処理部 225…遅延読み出し処理部 276…帯域設定部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 辻 敦宏 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 5B082 FA02 FA03 HA05
Claims (30)
- 【請求項1】 アクセス可能な固定長の単位でデータが
管理される記憶部に対して、入力されるファイル操作要
求に応じたファイル処理を実行するファイルシステムで
あって、 データが一時的に格納されるバッファ部と、 入力される任意サイズのデータによるファイル書き込み
処理要求に従って、当該データを前記バッファ部へ格納
すると共に、前記バッファ部でのファイルデータの格納
状態に基づいて、ファイルデータの読み出し対象及び書
き込み対象を設定する判定部と、 設定された前記読み出し対象のファイルデータに応じた
遅延読み出し処理要求を、ファイルデータの格納位置
が、ファイル内の相対的なアドレス情報で示されるファ
イル形式又は前記記憶部内の絶対的なアドレス情報で示
されるデータ形式のいずれかを用いて前記記憶部へ出力
することにより、当該読み出し対象のファイルデータ
を、前記記憶部から前記バッファ部へ読み出す遅延読み
出し処理部と、 設定された前記書き込み対象のファイルデータに応じた
遅延書き込み処理要求を、前記ファイル形式又は前記デ
ータ形式のいずれかを用いて前記記憶部へ出力すること
により、当該書き込み対象のファイルデータを、前記バ
ッファ部から前記記憶部へ書き込む遅延書き込み処理部
とを備える、ファイルシステム。 - 【請求項2】 前記遅延書き込み処理部は、全ファイル
又はファイル毎に予め定められた書き込み周期に従っ
て、前記遅延書き込み処理要求を出力することを特徴と
する、請求項1に記載のファイルシステム。 - 【請求項3】 ファイルを所定のブロックデータサイズ
で分割した領域を示すブロックの単位で、前記バッファ
部を管理するバッファ管理部をさらに備え、 前記バッファ部には、前記バッファ管理部によって、フ
ァイルを構成する複数の前記ブロックにそれぞれ対応す
る複数のブロック領域が確保され、前記ファイル書き込
み処理要求のデータが、ファイル上で対応する当該ブロ
ック領域に格納され、 前記判定部は、所定の判定条件に基づいて、領域の一部
にのみデータが格納された前記ブロック領域を前記読み
出し対象として設定し、領域の全てにデータが格納され
た前記ブロック領域を前記書き込み対象として設定し、 前記遅延読み出し処理部は、前記読み出し対象に設定さ
れたブロック領域に対応するファイルデータの前記遅延
読み出し処理要求を出力し、前記記憶部から読み出され
たファイルデータの全部又は一部を前記バッファ部に格
納し、 前記遅延書き込み処理部は、前記書き込み対象と設定さ
れたブロック領域に対応するファイルデータの前記遅延
書き込み処理要求を出力し、当該ブロック領域に格納さ
れているファイルデータの全部又は一部を前記記憶部へ
書き込むことを特徴とする、請求項1又は2に記載のフ
ァイルシステム。 - 【請求項4】 前記判定部は、 最後に入力した前記ファイル書き込み処理要求に従って
格納したデータの前記バッファ部上の格納終了位置を、
ファイル先頭からのオフセット位置で示される最終アク
セス位置として保存し、 新たに入力した前記ファイル書き込み処理要求に従って
新たに格納するデータの前記バッファ部上のファイル先
頭からのオフセット位置で示される格納開始位置が、前
記最終アクセス位置と連続するか否かを判定し、 位置が連続しないと判定した場合、前記最終アクセス位
置を含むブロック領域の全てにデータが格納されていな
ければ、当該ブロック領域を前記読み出し対象に設定す
ると共に、当該ブロック領域中のデータが存在しない範
囲を遅延読み出しデータ範囲として設定し、 位置が連続しないと判定した場合、前記格納開始位置を
含むブロック領域の先頭位置から前記格納開始位置まで
にデータが存在しない範囲があれば、当該ブロック領域
を前記読み出し対象と設定すると共に、当該ブロック領
域中の当該範囲を遅延読み出しデータ範囲として設定
し、 前記遅延読み出し処理部は、前記遅延読み出し処理要求
によって読み出されたファイルデータの全部又は前記遅
延読み出しデータ範囲に対応する部分のみを、前記バッ
ファ部の該当する前記ブロック領域又は前記遅延読み出
しデータ範囲に格納することを特徴とする、請求項3に
記載のファイルシステム。 - 【請求項5】 前記判定部は、領域の一部にのみデータ
が格納されたが前記読み出し対象に設定しなかったブロ
ック領域が、予め定められた判定時間を経過した後も前
記書き込み対象に設定できない場合には、当該ブロック
領域を前記読み出し対象に設定すると共に、当該ブロッ
ク領域中のデータが存在しない範囲を遅延読み出しデー
タ範囲として設定することを特徴とする、請求項3又は
4に記載のファイルシステム。 - 【請求項6】 前記記憶部に対するアクセスは、前記固
定長の単位に基づく所定のアクセスデータサイズで行わ
れ、 前記ブロックデータサイズは、前記アクセスデータサイ
ズのN倍(Nは、自然数)であり、 前記判定部は、前記読み出し対象に設定すべきブロック
領域の、データが格納されている範囲のデータサイズ
が、前記アクセスデータサイズのn倍(nは、自然数)
であり、かつ、当該範囲の先頭位置が、前記アクセスデ
ータサイズでファイルが分割されたときの区切り位置に
一致する場合には、当該ブロック領域を前記書き込み対
象に設定し、 前記遅延書き込み処理部は、前記ブロック領域内の未格
納範囲へのデータ読み出し処理が行われることなく、前
記範囲のデータのみを前記記憶部の対応する位置へ書き
込むことを特徴とする、請求項3〜5のいずれかに記載
のファイルシステム。 - 【請求項7】 前記遅延読み出し処理部は、前記読み出
し対象に設定されたブロック領域の、前記遅延読み出し
データ範囲が、前記アクセスデータサイズのm倍(m
は、自然数)であり、かつ、当該遅延読み出しデータ範
囲の先頭位置が、前記アクセスデータサイズでファイル
が分割されたときの区切り位置に一致する場合には、フ
ァイルデータ内の当該遅延読み出しデータ範囲に該当す
る部分のみを、前記記憶部から前記バッファ部へ読み出
すことを特徴とする、請求項6に記載のファイルシステ
ム。 - 【請求項8】 前記判定部は、前記バッファ部にすでに
格納されている前記ファイル書き込み処理要求の対象と
なるファイルのデータサイズが、予め定められたバッフ
ァデータサイズを超えない場合のみ、新たに入力した前
記ファイル書き込み処理要求に従った前記バッファ部へ
のデータの格納を行うことを特徴とする、請求項3〜7
のいずれかに記載のファイルシステム。 - 【請求項9】 前記バッファデータサイズは、前記ブロ
ックデータサイズのK倍(Kは、自然数)であることを
特徴とする、請求項8に記載のファイルシステム。 - 【請求項10】 アクセス可能な固定長の単位でデータ
が管理される記憶部に対して、入力されるファイル操作
要求に応じたファイル処理を実行するファイルシステム
であって、 データが一時的に格納されるバッファ部と、 外部から入力される帯域設定要求によって指定される又
は予め内部に有する情報から取得する帯域幅に基づい
て、全ファイル又はファイル毎に予め定められた書き込
み周期を設定する帯域設定部と、 入力される任意サイズのデータによるファイル書き込み
処理要求に従って、当該データを前記バッファ部へ格納
すると共に、前記バッファ部でのファイルデータの格納
状態に基づいて、ファイルデータの読み出し対象及び書
き込み対象を設定する判定部と、 設定された前記読み出し対象のファイルデータに応じた
遅延読み出し処理要求を、ファイルデータの格納位置
が、ファイル内の相対的なアドレス情報で示されるファ
イル形式又は前記記憶部内の絶対的なアドレス情報で示
されるデータ形式のいずれかを用いて前記記憶部へ出力
することにより、当該読み出し対象のファイルデータ
を、前記記憶部から前記バッファ部へ読み出す遅延読み
出し処理部と、 前記書き込み周期に従って、設定された前記書き込み対
象のファイルデータに応じた遅延書き込み処理要求を、
前記ファイル形式又は前記データ形式のいずれかを用い
て前記記憶部へ出力することにより、当該書き込み対象
のファイルデータを、前記バッファ部から前記記憶部へ
書き込む遅延書き込み処理部とを備える、ファイルシス
テム。 - 【請求項11】 ファイルを所定のブロックデータサイ
ズで分割した領域を示すブロックの単位で、前記バッフ
ァ部を管理するバッファ管理部をさらに備え、 前記バッファ部には、前記バッファ管理部によって、フ
ァイルを構成する複数の前記ブロックにそれぞれ対応す
る複数のブロック領域が確保され、前記ファイル書き込
み処理要求のデータが、ファイル上で対応する当該ブロ
ック領域に格納され、 前記判定部は、所定の判定条件に基づいて、領域の一部
にのみデータが格納された前記ブロック領域を前記読み
出し対象として設定し、領域の全てにデータが格納され
た前記ブロック領域を前記書き込み対象として設定し、 前記遅延読み出し処理部は、前記読み出し対象に設定さ
れたブロック領域に対応するファイルデータの前記遅延
読み出し処理要求を出力し、前記記憶部から読み出され
たファイルデータの全部又は一部を前記バッファ部に格
納し、 前記遅延書き込み処理部は、前記書き込み対象と設定さ
れたブロック領域に対応するファイルデータの前記遅延
書き込み処理要求を出力し、当該ブロック領域に格納さ
れているファイルデータの全部又は一部を前記記憶部へ
書き込むことを特徴とする、請求項10に記載のファイ
ルシステム。 - 【請求項12】 前記判定部は、 最後に入力した前記ファイル書き込み処理要求に従って
格納したデータの前記バッファ部上の格納終了位置を、
ファイル先頭からのオフセット位置で示される最終アク
セス位置として保存し、 新たに入力した前記ファイル書き込み処理要求に従って
新たに格納するデータの前記バッファ部上のファイル先
頭からのオフセット位置で示される格納開始位置が、前
記最終アクセス位置と連続するか否かを判定し、 位置が連続しないと判定した場合、前記最終アクセス位
置を含むブロック領域の全てにデータが格納されていな
ければ、当該ブロック領域を前記読み出し対象に設定す
ると共に、当該ブロック領域中のデータが存在しない範
囲を遅延読み出しデータ範囲として設定し、 位置が連続しないと判定した場合、前記格納開始位置を
含むブロック領域の先頭位置から前記格納開始位置まで
にデータが存在しない範囲があれば、当該ブロック領域
を前記読み出し対象と設定すると共に、当該ブロック領
域中の当該範囲を遅延読み出しデータ範囲として設定
し、 前記遅延読み出し処理部は、前記遅延読み出し処理要求
によって読み出されたファイルデータの全部又は前記遅
延読み出しデータ範囲に対応する部分のみを、前記バッ
ファ部の該当する前記ブロック領域又は前記遅延読み出
しデータ範囲に格納することを特徴とする、請求項11
に記載のファイルシステム。 - 【請求項13】 前記帯域設定部は、前記帯域設定要求
によって指定される又は前記情報から取得する帯域幅に
基づいて、全ファイル又はファイル毎に判定時間を設定
し、 前記判定部は、領域の一部にのみデータが格納されたが
前記読み出し対象に設定しなかったブロック領域が、前
記判定時間を経過した後も前記書き込み対象に設定でき
ない場合には、当該ブロック領域を前記読み出し対象に
設定すると共に、当該ブロック領域中のデータが存在し
ない範囲を遅延読み出しデータ範囲として設定すること
を特徴とする、請求項11又は12に記載のファイルシ
ステム。 - 【請求項14】 前記記憶部に対するアクセスは、前記
固定長の単位に基づく所定のアクセスデータサイズで行
われ、 前記ブロックデータサイズは、前記アクセスデータサイ
ズのN倍(Nは、自然数)であり、 前記判定部は、前記読み出し対象に設定すべきブロック
領域の、データが格納されている範囲のデータサイズ
が、前記アクセスデータサイズのn倍(nは、自然数)
であり、かつ、当該範囲の先頭位置が、前記アクセスデ
ータサイズでファイルが分割されたときの区切り位置に
一致する場合には、当該ブロック領域を前記書き込み対
象に設定し、 前記遅延書き込み処理部は、前記ブロック領域内の未格
納範囲へのデータ読み出し処理が行われることなく、前
記範囲のデータのみを前記記憶部の対応する位置へ書き
込むことを特徴とする、請求項11〜13のいずれかに
記載のファイルシステム。 - 【請求項15】 前記遅延読み出し処理部は、前記読み
出し対象に設定されたブロック領域の、前記遅延読み出
しデータ範囲が、前記アクセスデータサイズのm倍(m
は、自然数)であり、かつ、当該遅延読み出しデータ範
囲の先頭位置が、前記アクセスデータサイズでファイル
が分割されたときの区切り位置に一致する場合には、フ
ァイルデータ内の当該遅延読み出しデータ範囲に該当す
る部分のみを、前記記憶部から前記バッファ部へ読み出
すことを特徴とする、請求項14に記載のファイルシス
テム。 - 【請求項16】 前記帯域設定部は、前記帯域設定要求
によって指定される又は前記情報から取得する帯域幅に
基づいて、バッファデータサイズを設定し、 前記判定部は、前記バッファ部にすでに格納されている
前記ファイル書き込み処理要求の対象となるファイルの
データサイズが、前記バッファデータサイズを超えない
場合のみ、新たに入力した前記ファイル書き込み処理要
求に従った前記バッファ部へのデータの格納を行うこと
を特徴とする、請求項11〜15のいずれかに記載のフ
ァイルシステム。 - 【請求項17】 前記帯域設定部は、前記バッファデー
タサイズを、前記ブロックデータサイズのK倍(Kは、
自然数)に設定することを特徴とする、請求項16に記
載のファイルシステム。 - 【請求項18】 アクセス可能な固定長の単位でデータ
が管理される記憶部に対して、入力されるファイル操作
要求に応じたファイル処理を実行するファイルシステム
であって、 データが一時的に格納されるバッファ部と、 入力される所定の固定サイズのデータによるファイル書
き込み処理要求に従って、当該データを前記バッファ部
へ格納すると共に、前記バッファ部でのファイルデータ
の格納状態に基づいて、ファイルデータの書き込み対象
を設定する判定部と、 設定された前記書き込み対象のファイルデータに応じた
遅延書き込み処理要求を、ファイルデータの格納位置が
ファイル内の相対的なアドレス情報で示されるファイル
形式を用いて前記記憶部へ出力することにより、当該書
き込み対象のファイルデータを、前記バッファ部から前
記記憶部へ書き込む遅延書き込み処理部とを備える、フ
ァイルシステム。 - 【請求項19】 前記遅延書き込み処理部は、全ファイ
ル又はファイル毎に予め定められた書き込み周期に従っ
て、前記遅延書き込み処理要求を出力することを特徴と
する、請求項18に記載のファイルシステム。 - 【請求項20】 ファイルを所定のブロックデータサイ
ズで分割した領域を示すブロックの単位で、前記バッフ
ァ部を管理するバッファ管理部をさらに備え、 前記バッファ部には、前記バッファ管理部によって、フ
ァイルを構成する複数の前記ブロックにそれぞれ対応す
る複数のブロック領域が確保され、前記ファイル書き込
み処理要求のデータが、ファイル上で対応する当該ブロ
ック領域に格納され、 前記判定部は、所定の判定条件に基づいて、領域の全て
にデータが格納された前記ブロック領域を前記書き込み
対象として設定し、 前記遅延書き込み処理部は、前記書き込み対象と設定さ
れたブロック領域に対応するファイルデータの前記遅延
書き込み処理要求を出力し、当該ブロック領域に格納さ
れているファイルデータの全部又は一部を前記記憶部へ
書き込むことを特徴とする、請求項18又は19に記載
のファイルシステム。 - 【請求項21】 前記判定部は、 最後に入力した前記ファイル書き込み処理要求に従って
格納したデータの前記バッファ部上の格納終了位置を、
ファイル先頭からのオフセット位置で示される最終アク
セス位置として保存し、 新たに入力した前記ファイル書き込み処理要求に従って
新たに格納するデータの前記バッファ部上のファイル先
頭からのオフセット位置で示される格納開始位置が、前
記最終アクセス位置と連続するか否かを判定し、 位置が連続しないと判定した場合、前記最終アクセス位
置を含むブロック領域中のデータが存在する範囲を遅延
書き込みデータ範囲として設定し、 前記遅延書き込み処理部は、前記遅延書き込みデータ範
囲のデータのみを前記記憶部へ書き込むことを特徴とす
る、請求項20に記載のファイルシステム。 - 【請求項22】 前記判定部は、前記バッファ部にすで
に格納されている前記ファイル書き込み処理要求の対象
となるファイルのデータサイズが、予め定められたバッ
ファデータサイズを超えない場合のみ、新たに入力した
前記ファイル書き込み処理要求に従った前記バッファ部
へのデータの格納を行うことを特徴とする、請求項20
又は21に記載のファイルシステム。 - 【請求項23】 前記バッファデータサイズは、前記ブ
ロックデータサイズのK倍(Kは、自然数)であること
を特徴とする、請求項22に記載のファイルシステム。 - 【請求項24】 アクセス可能な固定長の単位でデータ
が管理される記憶部に対して、入力されるファイル操作
要求に応じたファイル処理を実行するファイルシステム
であって、 データが一時的に格納されるバッファ部と、 外部から入力される帯域設定要求によって指定される又
は予め内部に有する情報から取得する帯域幅に基づい
て、全ファイル又はファイル毎に予め定められた書き込
み周期を設定する帯域設定部と、 入力される所定の固定サイズのデータによるファイル書
き込み処理要求に従って、当該データを前記バッファ部
へ格納すると共に、前記バッファ部でのファイルデータ
の格納状態に基づいて、ファイルデータの書き込み対象
を設定する判定部と、 前記書き込み周期に従って、設定された前記書き込み対
象のファイルデータに応じた遅延書き込み処理要求を、
ファイルデータの格納位置がファイル内の相対的なアド
レス情報で示されるファイル形式を用いて前記記憶部へ
出力することにより、当該書き込み対象のファイルデー
タを、前記バッファ部から前記記憶部へ書き込む遅延書
き込み処理部とを備える、ファイルシステム。 - 【請求項25】 ファイルを所定のブロックデータサイ
ズで分割した領域を示すブロックの単位で、前記バッフ
ァ部を管理するバッファ管理部をさらに備え、 前記バッファ部には、前記バッファ管理部によって、フ
ァイルを構成する複数の前記ブロックにそれぞれ対応す
る複数のブロック領域が確保され、前記ファイル書き込
み処理要求のデータが、ファイル上で対応する当該ブロ
ック領域に格納され、 前記判定部は、所定の判定条件に基づいて、領域の全て
にデータが格納された前記ブロック領域を前記書き込み
対象として設定し、 前記遅延書き込み処理部は、前記書き込み対象と設定さ
れたブロック領域に対応するファイルデータの前記遅延
書き込み処理要求を出力し、当該ブロック領域に格納さ
れているファイルデータの全部又は一部を前記記憶部へ
書き込むことを特徴とする、請求項24に記載のファイ
ルシステム。 - 【請求項26】 前記判定部は、 最後に入力した前記ファイル書き込み処理要求に従って
格納したデータの前記バッファ部上の格納終了位置を、
ファイル先頭からのオフセット位置で示される最終アク
セス位置として保存し、 新たに入力した前記ファイル書き込み処理要求に従って
新たに格納するデータの前記バッファ部上のファイル先
頭からのオフセット位置で示される格納開始位置が、前
記最終アクセス位置と連続するか否かを判定し、 位置が連続しないと判定した場合、前記最終アクセス位
置を含むブロック領域中のデータが存在する範囲を遅延
書き込みデータ範囲として設定し、 前記遅延書き込み処理部は、前記遅延書き込みデータ範
囲のデータのみを前記記憶部へ書き込むことを特徴とす
る、請求項25に記載のファイルシステム。 - 【請求項27】 前記帯域設定部は、前記帯域設定要求
によって指定される又は前記情報から取得する帯域幅に
基づいて、バッファデータサイズを設定し、 前記判定部は、前記バッファ部にすでに格納されている
前記ファイル書き込み処理要求の対象となるファイルの
データサイズが、前記バッファデータサイズを超えない
場合のみ、新たに入力した前記ファイル書き込み処理要
求に従った前記バッファ部へのデータの格納を行うこと
を特徴とする、請求項25又は26に記載のファイルシ
ステム。 - 【請求項28】 前記帯域設定部は、前記バッファデー
タサイズを、前記ブロックデータサイズのK倍(Kは、
自然数)に設定することを特徴とする、請求項27に記
載のファイルシステム。 - 【請求項29】 入力されるファイル操作の要求に応じ
たファイル処理を記憶部に対して実行するファイルサー
バであって、 請求項1〜28のいずれかに記載のファイルシステム
と、 アクセス可能な固定長の単位でデータが管理される記憶
部とを備え、 前記ファイルシステムは、前記ファイル処理の要求を、
ファイルデータの格納位置が前記記憶部内の絶対的なア
ドレス情報で示されるデータ形式を用いて前記記憶部へ
出力することを特徴とする、ファイルサーバ。 - 【請求項30】 ファイル操作に関するファイル処理の
要求を出力する端末と、当該要求に応じた処理を実行す
るファイルサーバとが、電気通信回線により接続されて
構成されるネットワークシステムであって、 前記端末は、請求項1〜28のいずれかに記載のファイ
ルシステムを備え、前記ファイル処理の要求を、ファイ
ルデータの格納位置がファイル内の相対的なアドレス情
報で示されるファイル形式を用いて前記ファイルサーバ
へ出力し、 前記ファイルサーバは、アクセス可能な固定長の単位で
データが管理される記憶部を備え、前記電気通信回線を
介して前記端末から前記ファイル処理の要求を入力し、
当該要求に応じた処理を当該記憶部に対して行うことを
特徴とする、ネットワークシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000397721A JP2002196961A (ja) | 2000-12-27 | 2000-12-27 | ファイルシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000397721A JP2002196961A (ja) | 2000-12-27 | 2000-12-27 | ファイルシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002196961A true JP2002196961A (ja) | 2002-07-12 |
Family
ID=18862813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000397721A Pending JP2002196961A (ja) | 2000-12-27 | 2000-12-27 | ファイルシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002196961A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7308481B2 (en) | 2003-01-20 | 2007-12-11 | Hitachi, Ltd. | Network storage system |
-
2000
- 2000-12-27 JP JP2000397721A patent/JP2002196961A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7308481B2 (en) | 2003-01-20 | 2007-12-11 | Hitachi, Ltd. | Network storage system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7272687B2 (en) | Cache redundancy for LSI raid controllers | |
JP3617089B2 (ja) | 映像蓄積配送装置及び映像蓄積配送システム | |
JP4186602B2 (ja) | ジャーナルログを利用した更新データ書込方法 | |
EP1498809B1 (en) | Storage system and data transfer method for the system | |
US6292878B1 (en) | Data recorder and method of access to data recorder | |
US6119144A (en) | Apparatus and method for information transfer between a video server and a general purpose computer or the like | |
JP2003187203A (ja) | メモリカード用のメモリコントローラによるファイルアロケーションテーブル管理 | |
JPH10150584A (ja) | デジタルスタジオ装置およびその制御方法 | |
US6697902B1 (en) | Data storage device and interface device for the data storage device | |
JPH11175390A (ja) | メディア・マネージャおよびアプリケーション・プログラム・インタフェースの実施方法 | |
JP2001024733A (ja) | データ伝送装置 | |
US7127530B2 (en) | Command issuing apparatus for high-speed serial interface | |
JP2003330794A (ja) | ネットワークデータのキャッシュ方法およびシステム | |
EP0903668B1 (en) | Method of transferring data between hosts through a storage subsystem | |
JP4606998B2 (ja) | ネットワークキャッシュ装置およびプログラム | |
JP2002196961A (ja) | ファイルシステム | |
JP2001057571A5 (ja) | ||
JPH08227343A (ja) | 2次記憶装置の制御装置および制御システム | |
JP2003150416A (ja) | ファイル管理装置及びファイル管理方法 | |
JP2000235542A (ja) | データ処理装置及び記録媒体 | |
JP2000305719A5 (ja) | ||
EP0858025B1 (en) | Data recorder and method of access to data recorder | |
JP3731926B2 (ja) | Mpeg2データ転送方法 | |
JPH10171689A (ja) | ビデオサーバ装置 | |
JP3544219B2 (ja) | ファイル共用システム |