(57)【要約】【課題】  本発明は、データを記憶する物理ストレージを有しアクセス要求を受けてその物理ストレージをアクセスするデータアクセスサーバと、そのデータアクセスサーバにアクセス要求を送りデータアクセスサーバをデータ保存のために利用してデータファイリングを行なうデータファイルサーバとを備えたデータファイルシステム等に関し、論理ブロックが不使用になったときに物理ブロックを有効に解放する。【解決手段】  利用している物理ブロック全てを所定期間内にアクセスする、例えばデータバックアップソフトウェアを起動し、物理ブロックが割り当てられている論理ブロックのうち、そのデータバックアップソフトウェアが動作している所定期間内にアクセス要求がなかった論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含める。【選択図】        図８
2005128771.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する物理ストレージを有しアクセス要求を受けて該物理ストレージをアクセスするデータアクセスサーバと、
前記データアクセスサーバにアクセス要求を送り該データアクセスサーバをデータ保存のために利用してデータファイリングを行なうデータファイルサーバとを備えたデータファイルシステムであって、
前記データアクセスサーバが、
前記データファイルサーバからのアクセス要求を受信する要求受信部と、
前記物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、前記データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、前記データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
前記データファイルサーバからのアクセス要求があったときに、前記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
前記物理ストレージの、前記ブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
前記アクセス部によるアクセス結果を前記データファイルサーバに送信する結果送信部とを有し、
前記対応表管理部が、物理ブロックが割り当てられた論理ブロックのうち所定期間内にアクセス要求がなかった論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであることを特徴とするデータファイルシステム。
【請求項２】
データを記憶する物理ストレージを有しアクセス要求を受けて該物理ストレージをアクセスするデータアクセスサーバと、
前記データアクセスサーバにアクセス要求を送り該データアクセスサーバをデータ保存のために利用してデータファイリングを行なうデータファイルサーバとを備えたデータファイルシステムであって、
前記データアクセスサーバが、
前記データファイルサーバからのアクセス要求を受信する要求受信部と、
前記物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、前記データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、前記データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
前記データファイルサーバからのアクセス要求があったときに、前記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
前記物理ストレージの、前記ブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
前記アクセス部によるアクセス結果を前記データファイルサーバに送信する結果送信部とを有し、
前記データファイルサーバが、前記データアクセスサーバに対し、全ての論理ブロックのうち該データファイルサーバが利用中の論理ブロックと未利用の論理ブロックとを識別した識別情報を送信する識別情報送信部を備え、さらに、
前記対応表管理部が、前記データファイルサーバから送信されてきた識別情報に基づいて、物理ブロックが割り当てられている論理ブロックのうちの未利用の論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであることを特徴とするデータファイルシステム。
【請求項３】
データを記憶する物理ストレージを有しアクセス要求を受けて該物理ストレージをアクセスするデータアクセスサーバにおいて、
データファイリングを行なうデータファイルサーバからのアクセス要求を受信する要求受信部と、
前記物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、前記データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、前記データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
前記データファイルサーバからのアクセス要求があったときに、前記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
前記物理ストレージの、前記ブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
前記アクセス部によるアクセス結果を前記データファイルサーバに送信する結果送信部とを有し、
前記対応表管理部が、物理ブロックが割り当てられた論理ブロックのうち所定期間内にアクセス要求がなかった論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであることを特徴とするデータアクセスサーバ。
【請求項４】
データを記憶する物理ストレージを有しアクセス要求を受けて該物理ストレージをアクセスするデータアクセスサーバにおいて、
データファイリングを行なうデータファイルサーバからのアクセス要求を受信する要求受信部と、
前記物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、前記データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、前記データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
前記データファイルサーバからのアクセス要求があったときに、前記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
前記物理ストレージの、前記ブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
前記アクセス部によるアクセス結果を前記データファイルサーバに送信する結果送信部とを備え、
前記対応表管理部が、前記データファイルサーバから送信されてきた、全ての論理ブロックのうち該データファイルサーバが利用中の論理ブロックと未利用の論理ブロックとを識別した識別情報に基づいて、物理ブロックが割り当てられている論理ブロックのうちの未利用の論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであることを特徴とするデータアクセスサーバ。
【請求項５】
データを記憶する物理ストレージを具備するとともにプログラムが動作する情報処理装置内で動作し、該情報処理装置を、アクセス要求を受けて該物理ストレージをアクセスするデータアクセスサーバとして動作させるデータアクセスプログラムであって、
前記情報処理装置を、
データファイリングを行なうデータファイルサーバからのアクセス要求を受信する要求受信部と、
前記物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、前記データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、前記データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
前記データファイルサーバからのアクセス要求があったときに、前記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
前記物理ストレージの、前記ブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
前記アクセス部によるアクセス結果を前記データファイルサーバに送信する結果送信部とを有し、
前記対応表管理部が、物理ブロックが割り当てられた論理ブロックのうち所定期間内にアクセス要求がなかった論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけからを解放して未使用の物理ブロックに含めるものであるデータアクセスサーバとして動作させることを特徴とするデータアクセスプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを記憶する物理ストレージを有しアクセス要求を受けてその物理ストレージをアクセスするデータアクセスサーバと、そのデータアクセスサーバにアクセス要求を送りデータアクセスサーバをデータ保存のために利用してデータファイリングを行なうデータファイルサーバとを備えたデータファイルシステム、そのデータファイルシステムを構成するデータアクセスサーバ、および情報処理装置をそのようなデータアクセスサーバとして動作させるデータアクセスプログラムに関する。
【背景技術】
【０００２】
仮想ストレージシステム（仮想ディスク）の実現方式の１つとして、データファイリングを行なうデータファイルサーバに物理ストレージの実体が無い仮想的なディスクを認識させ、データファイルサーバからアクセスのあった、仮想的なディスク上の箇所（領域）に対して、その都度物理ストレージ領域を割り当てる方式がある。この方式を採用すると、実際に必要な量の物理ストレージを必要な時に用意すれば足りることになり、無駄なストレージの投資を削減できるというメリットがある。
【０００３】
図１は、上記の仮想ストレージシステムの実現方式の説明図である。
【０００４】
図１（Ａ）は、データファイリングを行なうデータファイルサーバ上の状態を示すものであり、図１（Ｂ），（Ｃ）は、そのデータファイルサーバからのアクセス要求を受けて物理ストレージをアクセスするデータアクセスサーバ上の状態を示すものである。
【０００５】
データアクセスサーバには、ここに示す例では、１０ＧＢの記憶容量を持つ物理ストレージが備えられている。この物理ストレージは、所定の記憶容量ごとに複数の記憶ブロックに分けられている。ここでは、この物理ストレージ上の記憶ブロックを物理ブロックと称する。
【０００６】
そのデータアクセスサーバには、図１（Ｂ）に示す仮想ストレージシステムが搭載されており、その仮想ストレージシステムには、仮想の５００ＧＢもの大容量のディスクと、図１（Ｃ）に示す１０ＧＢの記憶容量の物理ストレージとの間の記憶ブロックどうしのアドレスを変換するアドレス変換テーブルが設けられている。
【０００７】
データファイルサーバは、図１（Ａ）に示すように、データアクセスサーバに５００ＧＢもの大容量の記憶容量のディスク（仮想ディスク）が存在するものと認識している。ここではデータファイルサーバが認識している記憶ブロックを論理ブロックと称する。
【０００８】
このような状況下において、データファイルサーバがデータアクセスサーバに５００ＧＢの記憶容量のディスク（仮想ディスク）の所定の記憶ブロックへの書き込みを要求すると、データアクセスサーバの仮想ストレージシステム（図１（Ｂ））では、アドレス変換テーブルが参照され、データファイルサーバから書込み要求のあった記憶ブロック（論理ブロック）のアドレスを物理ストレージ上の記憶ブロック（物理ブロック）のアドレスに変換する。もし書込み要求のあった論理ブロックに物理ブロックが未だ割り当てられていなかったときは、未使用の物理ブロックが新たに割り当てられる。仮想ストレージシステムでは、このようにしてアドレス変換により物理ブロックのアドレスが求められ、そのデータアクセスサーバは、物理ストレージの、上記のようにして求められた物理ブロックにデータを書き込む。物理ストレージからのデータ読出しの場合も同様である。
【０００９】
このような仮想ストレージシステムを採用すると、実在する物理ストレージの記憶容量を越える大記憶容量のディスクを仮想的に作成することができる。データファイルサーバに物理ストレージの記憶容量である１０ＧＢをそのまま認識させておくと、その１０ＧＢの物理ストレージが満杯となって物理ストレージを増設した場合に、データファイルサーバの記憶容量の認識を変更し、それに応じてファイル構造等を変更する必要を生じるなど、物理ストレージの増設に伴い厄介な問題が生じる可能性があるが、データファイルサーバに当初から大容量（ここでは５００ＧＢの記憶容量）を認識させておくことにより、物理ストレージの記憶容量（ここでは１０ＧＢの記憶容量）が足らなくなったときは物理ストレージを単に増設すればよく、データファイルサーバ側には何らの変更、修正も必要がないというメリットがある。
【００１０】
このような仮想ストレージシステムを採用すると、実際に必要になった時に物理ストレージを割り当てることにより、初期の無駄な投資を抑えることができるが、一旦、物理ストレージを割り当てた後は、データファイルサーバ上でファイル／データの削除が行われても、仮想ストレージシステムにおける物理ストレージは解放されないという問題がある。
【００１１】
仮想ディスクを提供する仮想ストレージシステムは、ディスク装置のコントローラに相当し、このコントローラレベル（仮想ストレージシステム）では、ディスク上のファイルシステムの種類や、どの領域が有効な部分であるか否かは、関知しない。ディスクをどのように使用するかはデータファイルサーバ側の自由であり、ディスクコントローラは、要求のあったアクセス要求を処理するだけである。
【００１２】
データファイルサーバで動作しているファイルシステム上でファイルが削除されても、そのファイルを管理するデータファイルサーバの管理情報が変更になるだけである。すなわち、データの完全消去等の機能を使用しても、実際にはデータを消去したことを示すデータの書き込み要求が行われるだけであり、ディスクコントローラデータアクセスサーバ上で動作している仮想ストレージシステムでは、有効なデータの書き込みであるかデータ消去の書き込みであるかの区別はつかない。
【００１３】
このため、データ量が増加一方の運用の場合は、当該方式の仮想ディスクは有効であるが、増減のある運用での当該方式の仮想ディスクの使用は、データファイルサーバ上動作しているファイルシステム上では使用量は少ないにも係わらず、データアクセスサーバ側の仮想ストレージシステムにおける物理ストレージは大量に使用（割り当て）している状態となる場合があり、当該方式の仮想ディスクを設けるメリットが少なくなる。
【００１４】
物理ストレージの未使用領域を解放する方法として、他の仮想ディスクへ使用領域を複写し、複写元の全領域を解放して複写先を使用する方法が考えられるが、この場合、複写先の容量を別途用意しなければならず、また、データ複写中は、複写元へのアクセスを抑止（運用停止）しなければならないという問題が発生する。
【００１５】
図２は、データファイルサーバ上でファイル／データの削除が行なわれたときの状況の説明図である。
【００１６】
ここでは、データアクセスサーバ上の仮想ストレージシステムに設けられたアドレス変換テーブルが図示のとおりであったとする。
【００１７】
すなわち、論理ブロック１，２，３，４，５，８，９に、物理ブロック１，５，８，６，７，４，１５がそれぞれ割り当てられているものとする。ここで、データファイルサーバ上で、論理ブロック４，５からなるファイルＢが削除されたものとする。このファイルＢの削除は、データファイルサーバ上で動作するファイルシステムが管理するファイル管理情報が変更になるだけであり、そのファイル管理情報はデータアクセスサーバ上の仮想ストレージシステムの関知するところではなく、したがってアドレス変換テーブルには何らの変更も加えられず、論理ブロック４，５と物理ブロック６，７があい変わらず対応づけられたままとなる。したがって、論理ブロック４，５がデータファイルサーバ上で不使用状態となっていても、それらの論理ブロック４，５に対応づけられた物理ブロック６，７は他の論理ブロックに再度対応づけられることはなく、物理ブロック６，７は無駄に使用状態のままとなってしまうことになる。
【００１８】
ここで、特許文献１には、不要になった論理削除データを物理削除する場合、データベース管理システム側で、物理削除してもかまわない不要な論理削除データであるかどうかを判断させて物理削除対象のデータレコードより抽出し、物理削除させる手段を組み込む事により、データベースの再編成処理をなくすと同時にアプリケーションプログラムへの依存度を少なくするという技術が提案されている。しかしこの特許文献１の技術は、上記のような、データファイルサーバとデータアクセスサーバとを有するデータファイルシステムにはうまく適合する技術ではない。
【００１９】
また、上記特許文献１以外にも未使用領域の削除、開放に関し様々な技術が提案されているが（特許文献２，３，４，５，６，７，８）、やはり、データファイルサーバとデータアクセスサーバとを有するデータファイルシステムにおける、上記の問題の解決に結びつく技術ではない。
【特許文献１】特許第２６２４１７０号公報
【特許文献２】特開２００３−８５０２７号公報
【特許文献３】特開平２−１４１８４１号公報
【特許文献４】特開平７−１５３２８４号公報
【特許文献５】特開２０００−４７８９１号公報
【特許文献６】特開２００３−５８４１７号公報
【特許文献７】特開２００１−１０１０５０号公報
【特許文献８】特開昭６３−６１３４６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
本発明は、上記事情に鑑み、データを記憶する物理ストレージを有しアクセス要求を受けてその物理ストレージをアクセスするデータアクセスサーバと、そのデータアクセスサーバにアクセス要求を送りデータアクセスサーバをデータ保存のために利用してデータファイリングを行なうデータファイルサーバとを備えたデータファイルシステムにおいて、論理ブロックが不使用になったときに物理ブロックを有効に解放する構成を備えたデータファイルシステムを提供することを目的とする。また、本発明は、さらに、そのようなデータファイルシステムを構成するのに好適なデータアクセスサーバ、および情報処理装置をそのようなデータアクセスサーバとして動作させるデータアクセスプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
上記目的を達成する本発明のデータファイルシステムのうちの第１のデータファイルシステムは、データを記憶する物理ストレージを有しアクセス要求を受けて該物理ストレージをアクセスするデータアクセスサーバと、そのデータアクセスサーバにアクセス要求を送りデータアクセスサーバをデータ保存のために利用してデータファイリングを行なうデータファイルサーバとを備えたデータファイルシステムであって、
上記データアクセスサーバが、データファイルサーバからのアクセス要求を受信する要求受信部と、
物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
データファイルサーバからのアクセス要求があったときに、対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
物理ストレージのブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
アクセス部によるアクセス結果をデータファイルサーバに送信する結果送信部とを有し、
対応表管理部が、物理ブロックが割り当てられた論理ブロックのうち所定期間内にアクセス要求がなかった論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであることを特徴とする。
【００２２】
本発明の第１のデータファイルシステムは、対応表管理部が、物理ブロックが割り当てられた論理ブロックのうち所定期間内にアクセス要求がなかった論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであるため、不使用の論理ブロックに対応づけられた物理ブロックをその対応づけから解放して未使用の物理ブロックに含めることができる。
【００２３】
ここで、上記第１のデータファイルシステムにおいて、上記データファイルサーバが、データアクセスサーバに対し、そのデータファイルサーバが利用している全ての論理ブロックに対するアクセス要求を所定期間内に行なう全利用ブロックアクセス要求部を有することが好ましい。
【００２４】
データファイルサーバが利用している全ての論理ブロックに対するアクセス要求を行なうこととすることにより、不使用の論理ブロックを確実に知ることができ、その不使用の論理ブロックに対応づけられている物理ブロックをその対応づけから解放することができる。
【００２５】
また、上記目的を達成する本発明のデータファイルシステムのうちの第２のデータファイルシステムは、データを記憶する物理ストレージを有しアクセス要求を受けて該物理ストレージをアクセスするデータアクセスサーバと、そのデータアクセスサーバにアクセス要求を送りデータアクセスサーバをデータ保存のために利用してデータファイリングを行なうデータファイルサーバとを備えたデータファイルシステムであって、
上記データアクセスサーバが、
データファイルサーバからのアクセス要求を受信する要求受信部と、
物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
データファイルサーバからのアクセス要求があったときに、対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
物理ストレージのブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
アクセス部によるアクセス結果をデータファイルサーバに送信する結果送信部とを有し、
データファイルサーバが、
データアクセスサーバに対し、全ての論理ブロックのうちデータファイルサーバが利用中の論理ブロックと未利用の論理ブロックとを識別した識別情報を送信する識別情報送信部を備え、さらに、
上記対応表管理部が、データファイルサーバから送信されてきた識別情報に基づいて、物理ブロックが割り当てられている論理ブロックのうちの未利用の論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであることを特徴とする。
【００２６】
本発明の第２のデータファイルシステムは、データファイルサーバが、データアクセスサーバに対し、全ての論理ブロックのうちデータファイルサーバが利用中の論理ブロックと未利用の論理ブロックとを識別した識別情報を送信する識別情報送信部を備え、さらに、データアクセスサーバに備えられた対応表管理部が、データファイルサーバが送信されてきた識別情報に基づいて、物理ブロックが割り当てられている論理ブロックのうちの未利用の論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであるため、不使用の論理ブロックを確実に知ることができ、その不使用のブロックに対応づけられた物理ブロックをその対応づけから解放することができる。
【００２７】
また、本発明のデータアクセスサーバのうちの第１のデータアクセスサーバは、データを記憶する物理ストレージを有しアクセス要求を受けてその物理ストレージをアクセスするデータアクセスサーバにおいて、
データファイリングを行なうデータファイルサーバからのアクセス要求を受信する要求受信部と、
物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
データファイルサーバからのアクセス要求があったときに、上記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
物理ストレージのブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
アクセス部によるアクセス結果をデータファイルサーバに送信する結果送信部とを有し、上記対応表管理部が、物理ブロックが割り当てられた論理ブロックのうち所定期間内にアクセス要求がなかった論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであることを特徴とする。
【００２８】
また、本発明のデータアクセスサーバのうちの第２のデータアクセスサーバは、データを記憶する物理ストレージを有しアクセス要求を受けてその物理ストレージをアクセスするデータアクセスサーバにおいて、データファイリングを行なうデータファイルサーバからのアクセス要求を受信する要求受信部と、物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックをアクセス対象の論理ブロックに割り当てる対応表管理部と、データファイルサーバからのアクセス要求があったときに、上記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、物理ストレージの、ブロック変換部により得られた物理ブロックをアクセスするアクセス部と、アクセス部によるアクセス結果をデータファイルサーバに送信する結果送信部とを備え、上記対応表管理部が、前記データファイルサーバから送信されてきた、全ての論理ブロックのうち該データファイルサーバが利用中の論理ブロックと未利用の論理ブロックとを識別した識別情報に基づいて、物理ブロックが割り当てられている論理ブロックのうちの未利用の論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであることを特徴とする。
【００２９】
また、上記目的を達成する本発明のデータアクセスプログラムのうちの第１のデータアクセスプログラムは、データを記憶する物理ストレージを具備するとともにプログラムが動作する情報処理装置内で動作し、その情報処理装置を、アクセス要求を受けてその物理ストレージをアクセスするデータアクセスサーバとして動作させるデータアクセスプログラムであって、
上記情報処理装置を、
データファイリングを行なうデータファイルサーバからのアクセス要求を受信する要求受信部と、
物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、
データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
データファイルサーバからのアクセス要求があったときに、上記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
物理ストレージのブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
アクセス部によるアクセス結果をデータファイルサーバに送信する結果送信部とを有し、
上記対応表管理部が、物理ブロックが割り当てられた論理ブロックのうち所定期間内にアクセス要求がなかった論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであるデータアクセスサーバとして動作させることを特徴とする。
【００３０】
さらに、上記目的を達成する本発明のデータアクセスプログラムのうちの第２のデータアクセスプログラムは、データを記憶する物理ストレージを具備するとともにプログラムが動作する情報処理装置内で動作し、その情報処理装置を、アクセス要求を受けてその物理ストレージをアクセスするデータアクセスサーバとして動作させるデータアクセスプログラムであって、
上記情報処理装置を、
データファイリングを行なうデータファイルサーバからのアクセス要求を受信する要求受信部と、
物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
データファイルサーバからのアクセス要求があったときに、上記対応表を参照してアクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
物理ストレージの、ブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
アクセス部によるアクセス結果をデータファイルサーバに送信する結果送信部とを備え、
上記対応表管理部がデータファイルサーバから送信されてきた、全ての論理ブロックのうちそのデータファイルサーバが利用中の論理ブロックと未利用の論理ブロックとを識別した識別情報に基づいて、物理ブロックが割り当てられている論理ブロックのうちの未利用の論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであるデータアクセスサーバとして動作させることを特徴とする。
【発明の効果】
【００３１】
以上説明したように、本発明によれば、データを記憶する物理ストレージを有しアクセス要求を受けてその物理ストレージをアクセスするデータアクセスサーバと、そのデータアクセスサーバにアクセス要求を送りデータアクセスサーバをデータ保存のために利用してデータファイリングを行なうデータファイルサーバとを備えたデータファイルシステムにおいて、データファイルサーバ上で未使用の論理ブロックに対応する物理ブロックをデータアクセスサーバ側で解放し未使用の物理ブロックに含ませることができる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態を説明する。
【００３３】
図３は、本発明のデータファイルシステムの第１実施形態を示す概要図である。
【００３４】
尚、ここでは最小単位としてのデータファイルシステムについて説明する。
【００３５】
この図１には、２台のコンピュータ１００，２００が示されており、それらのコンピュータ１００，２００は、通信回線３００を介して接続されている。これらのコンピュータ１００，２００としては、一般にワークステーションまたはパーソナルコンピュータと呼ばれるコンピュータを用いることができる。ここでは、通信回線３００は、仮想ディスクをデータファイルサーバ（コンピュータ１００）に提供しているアクセスパス（Ｉ／Ｏパス）、およびＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）から構成されている。
【００３６】
これら２台のコンピュータ１００，２００のうちの１台のコンピュータ１００は、このデータファイルシステムにおけるデータファイルサーバとしての役割りを担っており、もう一方のコンピュータ２００は、このデータファイルシステムにおけるデータアクセスサーバとしての役割りを担っている。すなわち、データファイルサーバとしての役割りを担うコンピュータ１００では、データファイリングを行なうためのデータファイルプログラムがインストールされて実行される。データファイルサーバでは、データアクセスサーバとしての役割りを担うもう１台のコンピュータ２００に対し通信回線３００を介してアクセス要求を送り、そのデータアクセスサーバとしてのコンピュータ２００をデータ保存のために利用してデータファイリングが行なわれる。一方、データアクセスサーバとしての役割りを担うコンピュータ２００は、本発明にいう物理ストレージに相当する大容量のハードディスクが備えられており、そのコンピュータ２００ではデータアクセスプログラムがインストールされて実行され、データファイルサーバ（コンピュータ１００）からのアクセス要求を受けてそのハードディスクのアクセスが行なわれる。
【００３７】
以下、先ずこれらのコンピュータのハードウェア構成について説明する。
【００３８】
これらの各コンピュータ１００，２００は、ＣＰＵ（中央処理装置）、ＲＡＭ（ランダムアクセスメモリ）、ハードディスク、通信用ボード等が内蔵された本体部１０１，２０１、本体部１０１，２０１からの指示により表示画面１０２ａ，２０２ａ上に画像や文字列を表示する表示部１０２，２０２、各コンピュータ１００，２００に利用者の指示を入力するためのキーボード１０３，２０３、表示画面１０２ａ，２０２ａ上の任意の位置を指定することにより、その指定時にその位置に表示されていたアイコン等に応じた指示を入力するマウス１０４，２０４を備えている。
【００３９】
本体部１０１，２０１は、さらに外観上、フレキシブルディスク（図示せず）、ＣＤ−ＲＯＭ５００が装填されるフレキシブルディスク装填口１０１ａ，２０１ａ、ＣＤ−ＲＯＭ装填口１０１ｂ，２０１ｂを有しており、それらの内部には、それらの装填口１０１ａ，２０１ａ，１０１ｂ，２０１ｂから装填されたフレキシブルディスク（以下、ＦＤと称する）やＣＤ−ＲＯＭ５００をドライブしてアクセスするＦＤドライブやＣＤ−ＲＯＭドライブも内蔵されている。
【００４０】
また、データアクセスサーバとしての役割を担うコンピュータ２００には本体部２０１に内蔵されたハードディスクとは別に、大容量のハードディスクを内蔵したハードディスク装置２０５が備えられている。このハードディスク装置２０５に内蔵された大容量のハードディスクは、データファイルサーバとしてのコンピュータ１００からのアクセス要求に応じてアクセスされるものであり、本発明にいう物理ストレージに相当する。
【００４１】
図４は、図３に示した外観を有するコンピュータのハードウェア構成図である。ここでは代表的にコンピュータ１００を取り上げて説明するが、コンピュータ２００も、大容量のハードディスクを内蔵したハードディスク装置を備えていること以外、同様の構成を有する。
【００４２】
図４のハードウェア構成図には、ＣＰＵ１１１、ＲＡＭ１１２、ハードディスクコントローラ１１３、ＦＤドライブ１１４、ＣＤ−ＲＯＭドライブ１１５、マウスコントローラ１１６、キーボードコントローラ１１７、ディスプレイコントローラ１１８、および通信用ボード１１９が示されており、それらはバス１１０で相互に接続されている。
【００４３】
ＦＤドライブ１１４、ＣＤ−ＲＯＭドライブ１１５は、図３を参照して説明したように、それぞれＦＤ装填口１０１ａおよびＣＤ−ＲＯＭ装填口１０１ｂから装填されたフレキシブルディスク４１０、ＣＤ−ＲＯＭ４００をアクセスするものである。通信用ボード１１９はＩ／ＯパスまたはＬＡＮとからなる通信回線３００に接続される。
【００４４】
また、図３には、ハードディスクコントローラ１１３によりアクセスされるハードディスク１２０、マウスコントローラ１１６により制御されるマウス１０４、キーボードコントローラ１１７により制御されるキーボード１０３、およびディスクプレイコントローラ１１８により制御されるＣＲＴディスプレイ１０２も示されている。
【００４５】
図５は、データファイルプログラムの概念図である。
【００４６】
この図５に示すデータファイルプログラム４１０は、アクセス要求部４１１と結果受信部４１２とで構成されており、図３にも示すＣＤ−ＲＯＭ４００に格納されている。
【００４７】
このデータファイルプログラム４１０が格納されているＣＤ−ＲＯＭ４００が、図３に示す２台のコンピュータ１００，２００のうちの１台のコンピュータ１００のＣＤ−ＲＯＭ装填口１０１ａから装填されて図４に示すＣＤ−ＲＯＭドライブ１１５によりアクセスされることにより、そのＣＤ−ＲＯＭ４００に格納されているデータファイルプログラム４１０がコンピュータ１００にアップロードされてハードディスク１２０に格納される。このハードディスク１２０に格納されたデータファイルプログラムが読み出されてＲＡＭ１１２に展開されＣＰＵ１１１で実行されることにより、そのコンピュータ１００が、データファイルサーバとして動作する。
【００４８】
図５に示すデータファイルプログラム４１０を構成する各部４１１，４１２の作用については後述する。
【００４９】
図６は、データアクセスプログラムの概念図である。
【００５０】
この図６に示すデータアクセスプログラム５１０は、要求受信部５１１と、対応表管理部５１２と、ブロック変換部５１３と、アクセス部５１４と、結果送信部５１５とにより構成されている。この図６に示すデータアクセスプログラム５１０はＣＤ−ＲＯＭ５００に格納されており、そのＣＤ−ＲＯＭ５００が、図３に示す２台のコンピュータ１００，２００のうちの１台のコンピュータ２００のＣＤ−ＲＯＭ装填口２０１ａから装填されてそのコンピュータ２００のＣＤ−ＲＯＭドライブ（図４のＣＤ−ＲＯＭドライブ１１５参照）によりアクセスされることにより、そのＣＤ−ＲＯＭ５００に格納されているデータアクセスプログラム５１０がコンピュータ２００にアップロードされてそのコンピュータ２００のハードディスク（図４のハードディスク１２０参照）に格納され、そのハードディスクに格納されたデータアクセスプログラムが読み出されてＲＡＭ（図４のＲＡＭ１１２参照）に展開されたＣＰＵ（図４のＣＰＵ１１１参照）で実行されることにより、そのコンピュータ２００がデータアクセスサーバとして動作する。
【００５１】
図６に示すデータアクセスプログラム５１０を構成する各部５１１〜５１５の作用についても後述する。
【００５２】
図７は、本実施形態のデータファイルシステムの機能構成図である。
【００５３】
この図７に示すデータファイルシステムは、データファイルサーバ４２０とデータアクセスサーバ５２０とで構成されており、それらは通信回線３００を介して相互に接続されている。
【００５４】
ここで、データファイルサーバ４２０には、アクセス要求部４２１と結果受信部４２２が備えられている。ここで、このデータファイルサーバ４２０は、これらアクセス要求部４２１と結果受信部４２２のほかに、演算処理等を行なう部分を備えていてもよいが、ここには、データアクセスサーバ５２０との通信に関する部分のみ図示されている。
【００５５】
このデータアクセスサーバ４２０は、図３に示す２台のコンピュータ１００，２００のうちの１台のコンピュータ１００に図５に示すデータファイルプログラム４１０がインストールされて実行されることにより実現するものであり、アクセス要求部４２１および結果受信部４２２は、図５に示すデータファイルプログラム４１０の、それぞれアクセス要求部４１１および結果受信部４１２の実行により実現する。
【００５６】
すなわち、図７に示すデータファイルサーバ４２０のアクセス要求部４２１および結果受信部４２２は、図５に示すデータファイルプログラム４１０のアクセス要求部４１１および結果受信部４１２と、図３，図４に示すコンピュータ１００のハードウェアと、さらにＯＳ（オペレーティングシステム）等との複合で構成されるものである。図５のデータファイルプログラム４１０のアクセス要求部４２１および結果受信部４１２がコンピュータ１００内で実行されたときの作用は、図７に示すデータファイルサーバ４２０のアクセス要求部４２１および結果受信部４２２の作用そのものであり、図７のデータファイルサーバ４２０を構成するアクセス要求部４２１および結果受信部４２２の作用を説明することで、図５に示すデータファイルプログラム４１０を構成するアクセス要求部４１１および結果受信部４１２の作用の説明を兼ねるものとする。
【００５７】
また、図７に示すデータファイルシステムを構成するデータアクセスサーバ５２０は、要求受信部５２１と、対応表管理部５２２と、ブロック変換部５２３と、アクセス部５２４と、結果送信部５２５と、さらに物理ストレージ５３０とで構成されている。ここで、物理ストレージ５３０は、図３に示す大容量のハードディスクを内蔵したハードディスク装置２０５の機能を表現したものである。
【００５８】
この図７に示すデータアクセスサーバ５２０は、図３に示す２台のコンピュータ１００，２００のうちの１台のコンピュータ２００に図６に示すデータアクセスプログラム５１０がインストールされて実行されることにより実現するものであり、図７に示すデータアクセスサーバ５２０を構成する、物理ストレージ５３０を除く各部５２１〜５２５は、図６に示すデータアクセスプログラム５１０の対応する各部５１１〜５１５の実行により実現する機能部分である。
【００５９】
すなわち、図７に示すデータアクセスサーバ５２０を構成する、物理ストレージ５３０を除く各部５２１〜５２５は、図６に示すデータアクセスプログラム５１０の各部５１１〜５１５と、図３に示すコンピュータ２００のハードウェアと、さらにそのコンピュータ２００で実行されるＯＳ（オペレーティングシステム）等との複合で構成されるものである。図６に示すデータアクセスプログラム５１０を構成する各部５１１〜５１５がコンピュータ２００内で実行されたときの作用は、図７に示すデータアクセスサーバ５２０の、対応する各部５２１〜５２５の作用そのものであり、図７のデータアクセスサーバ５２０を構成する各部の作用を説明することで、図６に示すデータアクセスプログラム５１０を構成する各コアの作用の説明を兼ねるものとする。
【００６０】
以下、図７のデータファイルシステムの各部の作用について説明する。
【００６１】
図７に示すデータファイルシステムを構成するデータファイルサーバ４２０は、データアクセスサーバ５２０にアクセス要求を送りそのデータアクセスサーバ５２０をデータ保存のために利用してデータファイリングを行なうものである。ここで、このデータファイルサーバ４２０を構成するアクセス要求部４２１は、データアクセスサーバ５２０へのデータの書込みのため、およびデータアクセスサーバ５２０からのデータ読出しのためのアクセス要求をデータアクセスサーバ５２０に送信する役割りを担っている。ここで、このアクセス要求部４２１は、例えば一日一回など定期的にそのデータファイルサーバ４２０で使用している全ての論理ブロック（後述する）について読出すためのアクセス要求をデータアクセスサーバ５２０に送信する役割りも担っている。すなわち、このアクセス要求部４２１は、本発明にいう全利用ブロックアクセス要求部にも相当する。
【００６２】
また、図７に示すデータファイルサーバ４２０を構成する結果受信部４２２はアクセス要求部４２１がアクセス要求をデータアクセスサーバ５２０に送信し、データアクセスサーバ５２０がそのアクセス要求を受けて物理ストレージ５３０をアクセスしたときの、そのアクセスした結果の報告を受信する役割りを担っている。このアクセスした結果とは、例えば、データ書込要求を行なったときの、データが正常に書き込まれた、あるいはエラーにより書込みが行なわれなかったことの報告や、データ読出要求を行なったときの、その読み出したデータそのもの等をいう。
【００６３】
一方、データアクセスサーバ５２０を構成する要求受信部５２１は、データファイルサーバ４２０からのアクセス要求を受信する役割りを担っており、この要求受信部５２１で受信されたアクセス要求はブロック変換部５２３に送られる。
【００６４】
ここでは、ブロック変換部５２３の説明に先立ち、対応表管理部５２２について説明する。
【００６５】
この対応表管理部５２２は対応表５２２ａを有する。この対応表５２２ａは、物理ストレージ５３０を複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、データファイルサーバ４２０が記憶ブロックとして認識する論理ブロックとの対応関係を表わし、論理ブロックを物理ブロックに変換するときに参照されるアドレス変換テーブルである。この対応表管理部５２２は、データファイルサーバ４２０からのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックをそのアクセス対象の論理ブロックに割り当てる。
【００６６】
また、対応表管理部４２２は、後述するようにして、物理ブロックが割り当てられた論理ブロックのうち所定期間内にアクセス要求がなかった論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含める処理も担当している。
【００６７】
ブロック変換部５２３は、データファイルサーバ４２０からのアクセス要求があったときに、対応表（アドレス変換テーブル）５２２ａを参照して、アクセス対象の論理ブロックのアドレスを物理ブロックのアドレスに変換し、そのアクセスすべき物理ブロックをアクセス部５２４に通知する。
【００６８】
アクセス部５２４は、ブロック変換部５２３からの、アクセスすべき物理ブロックの通知を受け、物理ストレージ５３０の、そのアクセスすべき物理ブロックをアクセスする。
【００６９】
このアクセス部５２４で物理ストレージ５３０をアクセスした結果は結果送信部５２５に渡され、その結果送信部５２５は、アクセス部５２４によるアクセス結果（例えば今回のアクセス要求がデータ書込み要求であったときは書込みが正常に行なわれたか否かのレポート、あるいは今回のアクセス要求がデータ読出し要求であったときは読出したデータ自体など）をデータファイルサーバ４２０に送信する。
【００７０】
この結果送信部５２５が送信したアクセス結果は、データファイルサーバ４２０の結果受信部４２２で受信される。
【００７１】
ここで、データファイバサーバ４２０により、一旦は使用したもののその後不使用となった物理ブロックが存在する場合には、以下のようにして、対応表５２２ａの整理が行なわれる。
【００７２】
データファイルサーバ４２０は、データアクセスサーバ５２０に対し、そのデータファイルサーバ４２０が利用している全ての論理ブロックに対するアクセス要求を、例えば一日一回、かつ所定時間内に行なう。対応表管理部５２２では、その所定時間の間、どの論理アドレスのアクセス要求があったかを全てチェックし、物理ブロックが割り当てられている論理ブロックのうちその所定時間内にアクセス要求がなかった論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含める。こうすることにより、一旦使用されその後不使用となった論理ブロックに対応づけられた物理ブロックが、その対応づけから解放される。こうすることにより、不使用となった論理ブロックに物理ブロックがいつまでも拘束され続けることが防止され、物理ブロックが対応づけられていない新たな論理ブロックのアクセス要求があったときに、その解放された物理ブロックをその新たな論理ブロックに再度対応づけることができる。
【００７３】
データファイルサーバ４２０では、例えば一日一回、従来のデータバックアップソフトウェアが起動され、データバックアップを行なうべく、そのデータファイルサーバで現在有効に利用している全てのファイル（論理ブロック）についてデータアクセスサーバに向けてアクセス要求を行なう。
【００７４】
このデータバックアップソフトウェアの起動は、実際にデータバックアップを行なう目的のものであってもよいが、それには限られず、単に不使用の論理ブロックに対応づけられている物理ブロックをその対応づけから解放する目的のみをもつものであってもよい。その場合、物理ストレージ５３０から読み出されてデータファイルサーバに送られたデータはバックアップのために別な場所に格納しておく必要はなく、実体のない仮想のディスクに格納するよう処理されて実際はそのデータはバックアップのためには格納されないまま失なわれてもよい。ただし、その仮想のディスクへのＩ／Ｏ要求については全て正常終了を通知するようにする。
【００７５】
また、この場合、バックアップが目的ではないため、バックアップ中（実際はバックアップではなくバックアップソフトウェアが動作している架空のバックアップ中）であってもデータアクセスサーバに対しバックアップソフトウェア以外からアクセス要求を行なうことが可能（システムの運用が可能）である。
【００７６】
図８は、図７に示すデータファイルシステムにおける、物理ブロック解放の作用説明図である。
【００７７】
データファイルサーバでは、データバックアップソフトウェアが実行され、そのデータファイルサーバで利用している全てのファイルの全ての物理ブロックを読出し対象とするアクセス要求が行なわれる。
【００７８】
データアクセスサーバ側（図７に示す対応表管理部５２２）では、そのアクセス要求を受けて論理ブロックと物理ブロックとの対応関係を表わす対応表であるアドレス変換テーブルの、どの論理ブロックがアクセスされたかを監視しておき、物理ブロックが対応づけられている論理ブロック（図８に示す例では物理ブロック１，２，３，４，５，８，９）のうち、今回アクセス要求が一回もなかった論理ブロックが存在する場合に、その論理ブロック（図８に示す例では、論理ブロック４，５）に対応づけられた物理ブロック（図８に示す例では物理ブロック６，７）を論理ブロックとの対応づけから解放し、未使用の物理ブロックに含ませる。そうすることにより、論理ブロックとの対応づけから解放された物理ブロックと、新たな論理ブロックと対応づけることができ、物理ストレージの資源が有効利用される。ここで、その所定期間内にアクセスがなかった論理ブロックに対応する物理ブロックを直ちに削除する代わりに、データファイルサーバ側に削除してよいかどうか問い合わせ、ユーザの判断に委ね、削除する旨の指示を待って削除するようにしてもよい。
【００７９】
次に本発明のデータファイルシステムの第２実施形態について説明する。
【００８０】
ここで説明する第２実施形態のデータファイルシステムは、これまで説明してきた第１実施形態と比べソフトウェアの一部分が異なるだけであり、図３，図４に示すコンピュータのハードウェアシステムについては同一である。したがって、以下に説明する第２実施形態においてもコンピュータハードウェアの概念はそれら図３，図４、およびそれらの図の説明をそのまま流用するものとする。
【００８１】
図９は、第２実施形態におけるデータファイルプログラムの概念図である。
【００８２】
この図９に示すデータファイルプログラム４３０は、図５に示す第１実施形態のデータファイルプログラム４１０におけるアクセス要求部４２１および結果受信部４２２にそれぞれ対応するアクセス要求部４３１および結果受信部４３２に加え、さらに識別情報送信部４３３を有する。
【００８３】
この図９に示すデータファイルプログラム４３０を構成する各部４３１〜４３３の作用については後述する。
【００８４】
また、この図９に示すデータファイルプログラム４３０が図３に示すコンピュータ１００にアップロードされて実行される過程については、前述の第１実施形態における、図５に示すデータファイルプログラム４１０の場合と同様であり、説明を省略する。
【００８５】
また、この第２実施形態における、データアクセスプログラムについては、概念的な表記上は、図６に示す第１実施形態におけるデータアクセスプログラム５１０と同じであり、ここでは、データファイルプログラムについては、各部の名称や符号を含め、図６をそのまま参照することとする。第１実施形態と比べたときの作用の相違点については後述する。
【００８６】
また、この第２実施形態においても、図６に示すデータファイルプログラム５１０が図３に示すコンピュータ２００にアップロードされて実行される過程については、前述の第１実施形態の場合と同一であり、説明を省略する。
【００８７】
図１０は、本第２実施形態のデータファイルシステムの機能構成図である。
【００８８】
この図１０に示すデータファイルシステムは、データファイルサーバ４５０とデータアクセスサーバ５５０とで構成されており、それらはＩ／ＯパスおよびＬＡＮからなる通信回線３００を介して相互に接続されている。
【００８９】
ここで、データファイルサーバ４５０には、アクセス要求部４５１と結果受信部４５２と識別情報送信部４５３とが備えられている。ここで、このデータファイルサーバ４５０は、前述の第１実施形態の場合と同様、これらアクセス要求部４５１と、結果受信部４５２、および識別送信部４５３のほかに、演算処理等を行なう部分を備えていてもよいが、ここには、データアクセスサーバ５２０との通信に関する部分のみ図示されている。
【００９０】
このデータアクセスサーバ４５０は、図３に示す２台のコンピュータ１００，２００のうちの１台のコンピュータ１００に図９に示すデータファイルプログラム４３０がインストールされて実行されることにより実現するものであり、アクセス要求部４５１、結果受信部４２２、および識別情報送信部４５３は、図９に示すデータファイルプログラム４３０の、それぞれアクセス要求部４３１、結果受信部４３２、および識別情報送信部４３３の実行により実現する。
【００９１】
すなわち、図１０に示すデータファイルサーバ４５０のアクセス要求部４５１、結果受信部４５２、および識別情報送信部４５３は、図９に示すデータファイルプログラム４３０のアクセス要求部４３１、結果受信部４３２、および識別情報送信部４３３と、図３，図４に示すコンピュータ１００のハードウェアと、さらにＯＳ（オペレーティングシステム）等との複合で構成されるものである。図９のデータファイルプログラム４３０のアクセス要求部４３１、結果受信部４３２、および識別情報送信部４３３がコンピュータ１００内で実行されたときの作用は、図１０に示すデータファイルサーバ４５０のアクセス要求部４５１、結果受信部４５２、および識別情報送信部４５３の作用そのものであり、図１０のデータファイルサーバ４５０を構成するアクセス要求部４５１、結果受信部４５２、および識別情報送信部４５３の作用を説明することで、図９に示すデータファイルプログラム４３０を構成するアクセス要求部４３１、結果受信部４３２、および識別情報送信部４３３の作用の説明を兼ねるものとする。ただし、図１０のデータファイルサーバ４５０の各部４５１〜４５３の説明にあたっても、前述の第１実施形態における、図７のデータファイルサーバ４２０の各部４２１〜４２２の作用との相違点のみについて説明する。
【００９２】
また、図１０に示すデータファイルシステムを構成するデータアクセスサーバ５５０は、要求受信部５５１と、対応表管理部５５２と、ブロック変換部５５３と、アクセス部５５４と、結果送信部５５５と、さらに物理ストレージ５６０とで構成されている。ここで、物理ストレージ５６０は、図７に示す第１実施形態における物理ストレージ５３０と同様、図３に示す、大容量のハードディスクを内蔵したハードディスク装置２０５の機能を表現したものである。
【００９３】
この図１０に示すデータアクセスサーバ５５０は、図３に示す２台のコンピュータ１００，２００のうちの１台のコンピュータ２００に図６に示すデータアクセスプログラム５１０（ただし、ここでは、図６に示すデータアクセスプログラム５１０はこの第２実施形態における作用を成すデータアクセスプログラムである。）がインストールされて実行されることにより実現するものであり、図１０に示すデータアクセスサーバ５５０を構成する、物理ストレージ５６０を除く各部５５１〜５５５は、図６に示すデータアクセスプログラム５１０の対応する各部５１１〜５１５の実行により実現する機能部分である。
【００９４】
すなわち、図１０に示すデータアクセスサーバ５５０を構成する、物理ストレージ５６０を除く各部５５１〜５５５は、図６に示すデータアクセスプログラム５１０の各部５１１〜５１５と、図３に示すコンピュータ２００のハードウェアと、さらにそのコンピュータ２００で実行されるＯＳ（オペレーティングシステム）等との複合で構成されるものである。図６に示すデータアクセスプログラム５１０を構成する各部５１１〜５１５がコンピュータ２００内で実行されたときの作用は、図１０に示すデータアクセスサーバ５５０の、対応する各部５５１〜５５５の作用そのものであり、図１０のデータアクセスサーバ５５０を構成する各部の作用を説明することで、図６に示す、この第２実施形態に適合するデータアクセスプログラム５１０を構成する各部の作用の説明を兼ねるものとする。
【００９５】
ただし、図１０のデータアクセスサーバ５５０の説明においても、図７に示す第１実施形態におけるデータアクセスサーバ５２０と共通の作用についての説明は省略し、その第１実施形態のデータアクセスサーバ５２０との相違点のみについて説明する。
【００９６】
データファイルサーバ４５０を構成するアクセス要求部４５１は、データアクセスサーバ５２０へのデータの書込み、データアクセスサーバ５５０からのデータ読出しのためのアクセス要求をデータアクセスサーバ５５０に送信する役割りを担っている。
【００９７】
ここで、図７に示す第１実施形態におけるデータファイルサーバ４２０のアクセス要求部４２１は、例えば一日一回など定期的にそのデータファイルサーバ４２０で使用している全ての論理ブロックについて読出すためのアクセス要求をその第１実施形態のデータアクセスサーバ５２０に送信する役割りも担っているが、この図１０に示す第２実施形態におけるデータファイルサーバ４５０のアクセス要求部４５１には、そのような定期的に全ての論理ブロックを読出す作用は不要である。
【００９８】
図１０に示すデータファイルサーバ４５０を構成する結果受信部４５２は、図７に示す第１実施形態におけるデータファイルサーバ４２０の結果受信部４２１と同じであり、説明は省略する。
【００９９】
図１０に示すデータファイルサーバ４５０を構成する識別情報送信部４５３は、全ての論理ブロックのうちデータファイルサーバ４５０が利用中の論理ブロックと未利用の論理ブロックとを識別した識別情報をデータアクセスサーバ５５０に送信する役割りを担っている。
【０１００】
また、図１０に示すデータファイルシステムを構成するデータアクセスサーバ５５０の各部５５１〜５５５のうち、対応表管理部５５２を除く各部５５１，５５３〜５５５は、図７に示す第１実施形態のデータファイルシステムを構成するデータアクセスサーバ５２０の、対応する各部５２１，５２３〜５２５とそれぞれ同一の作用を成すものであり、ここでの重複説明は省略する。また、この図１０のデータアクセスサーバ５５０に備えられている物理ストレージ５６０も、前述のとおり図７のデータアクセスサーバ５２０に備えられている物理ストレージ５３０と同一である。
【０１０１】
また、対応表管理部５５２においても、その対応表管理部５５２に設けられている対応表（アドレス変換テーブル）５５２ａ自体は、図７のデータアクセスサーバ５２０の対応表管理部５２２に設けられている対応表と同じである。
【０１０２】
図１０のデータアクセスサーバ５５０を構成する対応表管理部５５２は、データファイルサーバ４５０から送信されてきた、データファイルサーバ４５０が利用中の論理ブロックと未利用の論理ブロックとを識別した識別情報に基づいて、物理ブロックが割り当てられている論理ブロックのうちの未利用の論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含める。
【０１０３】
こうすることにより、前述の第１実施形態の場合と同様、データファイルサーバ４５０により一旦使用されその後不使用となった論理ブロックに対応づけられた物理ブロックがその対応づけから解放され、物理ブロックが対応づけられていない新たな論理ブロックのアクセス要求があったときに、その解放された物理ブロックをその新たな論理ブロックに再度対応づけることができ、物理ブロックの有効利用が図られる。
【０１０４】
図１１，図１２は、図１０に示すデータファイルシステムにおける、物理ブロック解放の動作説明図である。
【０１０５】
図１１，図１２のいずれにおいても、（Ａ）はデータファイルサーバ側、（Ｂ）はデータアクセスサーバ側の動作である。
【０１０６】
ここでは、データファイルサーバに、そのデータファイルサーバ上で動作するファイルシステムと連携するプログラム（ドライバ）を用意し、ファイルシステム上で不要となった領域（論理ブロック）の情報を、データアクセスサーバ上の仮想ストレージシステムへ通知することにより、不要となった物理ブロックを削除（解放）する仕組みを設ける。
【０１０７】
ファイルシステムと連携および不要領域（不要な論理ブロック）を通知する方法として、同期型と非同期型がある。同期型は、ファイルシステムと同期的に連携し、ファイルの削除が行なわれてファイルシステムの管理情報が変更になった時に、ドライバが仮想ストレージシステムへ通知する方法であり、非同期型は、定期的にファイルシステムの管理情報をチェックし、不要領域の情報（または実使用領域の情報）を、仮想ストレージシステムへ通知する方式である。
【０１０８】
また、不要領域または実使用領域の情報を仮想ストレージシステムへ通知する方法としては、ＬＡＮ経由方式とＩ／Ｏパス方式がある。ＬＡＮ経由方式は、データアクセスサーバ上で動作する仮想ストレージシステムと仮想ディスクを利用するデータファイルサーバ間をＬＡＮで接続し、不要領域情報をＬＡＮ経由で仮想ストレージシステムへ通知する方式であり、Ｉ／Ｏパス方式は、仮想ディスクをデータファイルサーバに提供しているアクセスパス（Ｉ／Ｏパス）を使用して、特殊Ｉ／Ｏコマンドを、当該仮想ディスクに発行することで、仮想ストレージシステムで認識する方式である。
【０１０９】
図１１は、同期型のシステムの説明図である。データファイルサーバ側では、ユーザによりファイル削除指示（ここではファイルＢの削除）がなされる（ステップａ）。すると、ＯＳ／ファイルシステムにより、データファイルサーバ上の、例えば５００ＧＢの仮想ディスクの管理情報が書き換えられ、これによりデータファイルサーバ上ではフアイルＢが削除される（ステップｂ）。
【０１１０】
ＯＳ／フアイルシステムにより仮想ディスクの管理情報が書き換えられると、不要領域通知ドライバは、その書換え後の管理情報（識別情報）をデータアクセスサーバ上の仮想ストレージシステムに通知する（ステップｃ）。この通知には、Ｉ／Ｏパス方式とＬＡＮ経由方式とがあり、Ｉ／Ｏパス方式の場合は仮想ディスクをデータファイルサーバに提供しているアクセスパス（Ｉ／Ｏパス）を経由して行なわれ、ＬＡＮ経由方式の場合は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）経由で行なわれる。
【０１１１】
データアクセスサーバ上の仮想ストレージシステムでは、その通知されてきた管理情報に基づいて、物理ブロックが対応づけられている論理ブロックの中にデータファイルサーバ側で不使用の論理ブロックがないかどうか調べられ、物理ブロックが対応づけられているにもかかわらず不使用の論理ブロックが存在するときは、アドレス変換テーブルの対応づけを変更することにより、その不使用の論理ブロックに対応する物理ブロックを、その対応づけから解放する（ステップｄ）。これにより物理ストレージの不要領域が削除される。
【０１１２】
図１２は、非同期型のシステムの説明である。
【０１１３】
図１１の場合と同様、データファイルサーバ側では、ユーザによりファイルの削除指示（ここではファイルＢの削除指示）が行なわれる（ステップａ）。するとＯＳ／ファイルシステムにより、データファイルサーバ上の、例えば５００ＧＢの仮想ディスクの管理情報が置き換えられ、これにより、データファイルサーバ上では、ファイルＢが削除される（ステップｂ）。不要領域通知ドライバは、ＯＳ／ファイルシステムによる仮想ディスクの管理情報の書換えタイミングとは無関係に、その仮想ディスクの管理情報を定期的に取り出してデータアクセスサーバ上の仮想ストレージシステムに通知する（ステップｃ）。この通知には、図１１の場合と同様、Ｉ／Ｏパス方式とＬＡＮ経由方式とがある。
【０１１４】
データアクセスサーバ上の仮想ストレージシステムは、通知されてきた管理情報に基づいて、物理ブロックが対応づけられている論理ブロックの中にデータファイルサーバ側で不使用の論理ブロックがないかどうか調べられ、物理ブロックが対応づけられているにもかかわらず不使用の論理ブロックが存在するときは、アドレス変換テーブルの対応づけを変更することにより、その不使用の論理ブロックに対応する物理ブロックを、その対応づけから解放する（ステップｄ）。これにより物理ストレージの不要領域が削除される。
【０１１５】
以下、本発明の各種形態について付記する。
【０１１６】
（付記１）
データを記憶する物理ストレージを有しアクセス要求を受けて該物理ストレージをアクセスするデータアクセスサーバと、
前記データアクセスサーバにアクセス要求を送り該データアクセスサーバをデータ保存のために利用してデータファイリングを行なうデータファイルサーバとを備えたデータファイルシステムであって、
前記データアクセスサーバが、
前記データファイルサーバからのアクセス要求を受信する要求受信部と、
前記物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、前記データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、前記データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
前記データファイルサーバからのアクセス要求があったときに、前記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
前記物理ストレージの、前記ブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
前記アクセス部によるアクセス結果を前記データファイルサーバに送信する結果送信部とを有し、
前記対応表管理部が、物理ブロックが割り当てられた論理ブロックのうち所定期間内にアクセス要求がなかった論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであることを特徴とするデータファイルシステム。
【０１１７】
（付記２）
前記データファイルサーバが、前記データアクセスサーバに対し、該データファイルサーバが利用している全ての論理ブロックに対するアクセス要求を前記所定期間内に行なう全利用ブロックアクセス要求部を有することを特徴とする付記１記載のデータファイルシステム。
【０１１８】
（付記３）
データを記憶する物理ストレージを有しアクセス要求を受けて該物理ストレージをアクセスするデータアクセスサーバと、
前記データアクセスサーバにアクセス要求を送り該データアクセスサーバをデータ保存のために利用してデータファイリングを行なうデータファイルサーバとを備えたデータファイルシステムであって、
前記データアクセスサーバが、
前記データファイルサーバからのアクセス要求を受信する要求受信部と、
前記物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、前記データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、前記データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
前記データファイルサーバからのアクセス要求があったときに、前記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
前記物理ストレージの、前記ブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
前記アクセス部によるアクセス結果を前記データファイルサーバに送信する結果送信部とを有し、
前記データファイルサーバが、前記データアクセスサーバに対し、全ての論理ブロックのうち該データファイルサーバが利用中の論理ブロックと未利用の論理ブロックとを識別した識別情報を送信する識別情報送信部を備え、さらに、
前記対応表管理部が、前記データファイルサーバから送信されてきた識別情報に基づいて、物理ブロックが割り当てられている論理ブロックのうちの未利用の論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであることを特徴とするデータファイルシステム。
【０１１９】
（付記４）
データを記憶する物理ストレージを有しアクセス要求を受けて該物理ストレージをアクセスするデータアクセスサーバにおいて、
データファイリングを行なうデータファイルサーバからのアクセス要求を受信する要求受信部と、
前記物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、前記データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、前記データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
前記データファイルサーバからのアクセス要求があったときに、前記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
前記物理ストレージの、前記ブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
前記アクセス部によるアクセス結果を前記データファイルサーバに送信する結果送信部とを有し、
前記対応表管理部が、物理ブロックが割り当てられた論理ブロックのうち所定期間内にアクセス要求がなかった論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであることを特徴とするデータアクセスサーバ。
【０１２０】
（付記５）
データを記憶する物理ストレージを有しアクセス要求を受けて該物理ストレージをアクセスするデータアクセスサーバにおいて、
データファイリングを行なうデータファイルサーバからのアクセス要求を受信する要求受信部と、
前記物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、前記データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、前記データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
前記データファイルサーバからのアクセス要求があったときに、前記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
前記物理ストレージの、前記ブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
前記アクセス部によるアクセス結果を前記データファイルサーバに送信する結果送信部とを備え、
前記対応表管理部が、前記データファイルサーバから送信されてきた、全ての論理ブロックのうち該データファイルサーバが利用中の論理ブロックと未利用の論理ブロックとを識別した識別情報に基づいて、物理ブロックが割り当てられている論理ブロックのうちの未利用の論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであることを特徴とするデータアクセスサーバ。
【０１２１】
（付記６）
データを記憶する物理ストレージを具備するとともにプログラムが動作する情報処理装置内で動作し、該情報処理装置を、アクセス要求を受けて該物理ストレージをアクセスするデータアクセスサーバとして動作させるデータアクセスプログラムであって、
前記情報処理装置を、
データファイリングを行なうデータファイルサーバからのアクセス要求を受信する要求受信部と、
前記物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、前記データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、前記データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
前記データファイルサーバからのアクセス要求があったときに、前記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
前記物理ストレージの、前記ブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
前記アクセス部によるアクセス結果を前記データファイルサーバに送信する結果送信部とを有し、
前記対応表管理部が、物理ブロックが割り当てられた論理ブロックのうち所定期間内にアクセス要求がなかった論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけからを解放して未使用の物理ブロックに含めるものであるデータアクセスサーバとして動作させることを特徴とするデータアクセスプログラム。
【０１２２】
（付記７）
データを記憶する物理ストレージを具備するとともにプログラムが動作する情報処理装置内で動作し、該情報処理装置を、アクセス要求を受けて該物理ストレージをアクセスするデータアクセスサーバとして動作させるデータアクセスプログラムであって、
前記情報処理装置を、
データファイリングを行なうデータファイルサーバからのアクセス要求を受信する要求受信部と、
前記物理ストレージを複数の記憶ブロックに分割したときの各記憶ブロックである物理ブロックと、前記データファイルサーバが記憶ブロックとして認識する論理ブロックとの対応表を有し、前記データファイルサーバからのアクセス要求があったときにアクセス対象の論理ブロックに対応する物理ブロックが未割当ての場合に未使用の物理ブロックのうちの１つの物理ブロックを該アクセス対象の論理ブロックに割り当てる対応表管理部と、
前記データファイルサーバからのアクセス要求があったときに、前記対応表を参照して、アクセス対象の論理ブロックを物理ブロックに変換するブロック変換部と、
前記物理ストレージの、前記ブロック変換部により得られた物理ブロックをアクセスするアクセス部と、
前記アクセス部によるアクセス結果を前記データファイルサーバに送信する結果送信部とを有し、
前記対応表管理部が、前記データファイルサーバから送信されてきた、全ての論理ブロックのうち該データファイルサーバが利用中の論理ブロックと未利用の論理ブロックとを識別した識別情報に基づいて、物理ブロックが割り当てられている論理ブロックのうちの未利用の論理ブロックに対応する物理ブロックを、論理ブロックとの対応づけから解放して未使用の物理ブロックに含めるものであるデータアクセスサーバとして動作させることを特徴とするデータアクセスプログラム。
【図面の簡単な説明】
【０１２３】
【図１】上記の仮想ストレージシステムの実現方式の説明図である。
【図２】データファイルサーバ上でファイル／データの削除が行なわれたときの状況の説明図である。
【図３】本発明のデータファイルシステムの第１実施形態を示す概要図である。
【図４】図３に示した外観を有するコンピュータのハードウェア構成図である。
【図５】データファイルプログラムの概念図である。
【図６】データアクセスプログラムの概念図である。
【図７】本実施形態のデータファイルシステムの機能構成図である。
【図８】図７に示すデータファイルシステムにおける、物理ブロック解放の作用説明図である。
【図９】第２実施形態におけるデータファイルプログラムの概念図である。
【図１０】本第２実施形態のデータファイルシステムの機能構成図である。
【図１１】同期型のシステムの説明図である。
【図１２】非同期型のシステムの説明図である。
【符号の説明】
【０１２４】
１００，２００    コンピュータ
１０１，２０１    本体部
１０２，２０２    表示部
１０３，２０３    キーボード
１０４，２０４    マウス
２０５    ハードディスク装置
４００，５００    ＣＤ−ＲＯＭ
４１０，４３０    データファイルプログラム
４１１，４３１    アクセス要求部
４１２，４３２    結果受信部
４２０，４５０    データファイルサーバ
４２１，４５１    アクセス要求部
４２２，４５２    結果受信部
４３３，４５３    識別情報送信部
５１０    データアクセスプログラム
５１１    要求受信部
５１２    対応表管理部
５１３    ブロック変換部
５１４    アクセス部
５１５    結果送信部
５２０，５５０    データアクセスサーバ
５２１，５５１    要求受信部
５２２，５５２  対応表管理部
５２２ａ，５５２ａ    対応表
５２３，５５３    ブロック変換部
５２４，５５４    アクセス部
５２５，５５５    結果送信部
５３０，５６０    物理ストレージ
【図１】
2005128771.tif 000003
【図２】
2005128771.tif 000004
【図３】
2005128771.tif 000005
【図４】
2005128771.tif 000006
【図５】
2005128771.tif 000007
【図６】
2005128771.tif 000008
【図７】
2005128771.tif 000009
【図８】
2005128771.tif 000010
【図９】
2005128771.tif 000011
【図１０】
2005128771.tif 000012
【図１１】
2005128771.tif 000013
【図１２】
2005128771.tif 000014