(57)【要約】【課題】メタサーバを使用するファイル記憶方式において、アクセス時の応答時間を短縮することができるファイル管理システムを提供する。【解決手段】メタサーバ３０は、ファイルを構成するデータのストレージ２０に対する割り当てを管理するマッピング情報を記憶する。ホスト１０は、データアクセス時、アクセス対象のデータ範囲及びアクセス対象範囲外のデータ範囲のマッピング情報を取得し、マッピング情報をキャッシュするマッピング情報キャッシュ１２に登録する。【選択図】図１
2009211518.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを構成するデータのストレージに対する割り当てを管理するマッピング情報をメタサーバを用いて管理するファイルシステムにおけるファイル管理方法であって、
ホストが、データアクセス時に、アクセス対象のデータ範囲及びアクセス対象範囲外のデータ範囲のマッピング情報を取得し、マッピング情報をキャッシュするマッピング情報キャッシュに登録するステップを有するファイル管理方法。
【請求項２】
前記ホストが、データアクセス時に、前記メタサーバに対してアクセス対象のデータ範囲のマッピング情報を要求するステップと、
前記メタサーバが、前記アクセス対象のデータ範囲に基づいて、前記ホストが前記アクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定するステップと、
前記メタサーバが、前記アクセス対象のデータ範囲、及び、前記決定したアクセス対象範囲外のデータ範囲のマッピング情報をマッピング情報記憶部から取得するステップと、
前記メタサーバが、前記取得したマッピング情報を、前記ホストに送信するステップとを更に有する、請求項１に記載のファイル管理方法。
【請求項３】
前記メタサーバは、前記マッピング情報をホストに送信するステップでは、前記ホストが送信したマッピング情報の要求に対する応答に、前記アクセス対象のデータ範囲、及び、アクセス対象範囲外のデータのマッピング情報を含めて前記ホストに送信する、請求項２に記載のファイル管理方法。
【請求項４】
前記ホストが、データアクセス時に、アクセス対象のデータ範囲に基づいて、該アクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定するステップと、
前記ホストが、前記メタサーバに対してアクセス対象のデータ範囲及び前記決定したアクセス対象範囲外のデータ範囲のマッピング情報を要求するステップと、
前記メタサーバが、前記アクセス対象のデータ範囲、及び、前記アクセス対象範囲外のデータ範囲のマッピング情報をマッピング情報記憶部から取得するステップと、
前記メタサーバが、前記取得したマッピング情報を、前記ホストに送信するステップとを更に有する、請求項１に記載のファイル管理方法。
【請求項５】
前記マッピング情報が、前記ファイルにおけるデータ範囲と、前記ストレージに対する割り当てとを含んでおり、前記マッピング情報を取得するステップでは、前記マッピング情報記憶部から、前記アクセス対象のデータ範囲を前記マッピング情報のファイルにおけるデータの範囲に含むマッピング情報と、前記決定したアクセス対象範囲外のデータ範囲を前記マッピング情報のファイルにおけるデータの範囲に含むマッピング情報とを取得する、請求項２乃至４の何れか一に記載のファイル管理方法。
【請求項６】
前記アクセス対象範囲外のデータ範囲を決定するステップでは、前記アクセス対象のデータ範囲へのアクセス後に、前記ホストがアクセスする可能性が高いデータ範囲を、前記アクセス対象範囲外のデータ範囲として決定する、請求項２乃至５の何れか一に記載のファイル管理方法。
【請求項７】
前記アクセス対象範囲外のデータ範囲を決定するステップでは、前記アクセス対象のデータ範囲と連続した所定サイズのデータ範囲を、前記アクセス対象範囲外のデータ範囲として決定する、請求項２乃至６の何れか一に記載のファイル管理方法。
【請求項８】
前記アクセス対象範囲外のデータ範囲を決定するステップでは、データアクセスを契機として前記ホストにマッピング情報を送信すべきデータ範囲を定めたルールを参照して、前記アクセス対象範囲外のデータ範囲を決定する、請求項２乃至６の何れか一に記載のファイル管理方法。
【請求項９】
前記アクセス対象範囲外のデータ範囲を決定するステップでは、データアクセス履歴に基づいて、前記アクセス対象範囲外のデータ範囲を決定する、請求項２乃至６の何れか一に記載のファイル管理方法。
【請求項１０】
ファイルを構成するデータのストレージに対する割り当てを管理するマッピング情報を管理するメタサーバと、
データアクセス時に、アクセス対象のデータ範囲及びアクセス対象範囲外のデータ範囲のマッピング情報を取得し、マッピング情報をキャッシュするマッピング情報キャッシュに登録するホストとを有するファイル管理システム。
【請求項１１】
前記メタサーバが、
データアクセス時に前記ホストが送信した、アクセス対象のデータ範囲を含むマッピング情報の取得要求を受信すると、前記アクセス対象のデータ範囲に基づいて、前記ホストが前記アクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定するマッピング情報取得範囲決定部と、
前記アクセス対象のデータ範囲のマッピング情報と、前記マッピング情報取得範囲決定部が決定したアクセス対象範囲外のデータ範囲のマッピング情報とをマッピング情報記憶部から取得し、前記ホストに送信するマッピング情報取得部とを備える、請求項１０に記載のファイル管理システム。
【請求項１２】
前記マッピング情報取得部は、前記ホストが送信したマッピング情報取得要求に対する応答に、前記アクセス対象のデータ範囲、及び、アクセス対象範囲外のデータのマッピング情報を含めて前記ホストに送信する、請求項１１に記載のファイル管理システム。
【請求項１３】
前記ホストが、データアクセス時に、アクセス対象のデータ範囲に基づいて、該アクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定するマッピング情報取得範囲決定部を備え、
前記メタサーバが、前記ホストが送信した、アクセス対象のデータ範囲とアクセス対象範囲外のデータ範囲とを含むマッピング情報の取得要求を受信すると、前記アクセス対象のデータ範囲のマッピング情報及び前記アクセス対象範囲外のデータ範囲のマッピング情報をマッピング情報記憶部から取得し、前記ホストに送信するマッピング情報取得部を備える、請求項１０に記載のファイル管理システム。
【請求項１４】
前記マッピング情報が、前記ファイルにおけるデータ範囲と、前記ストレージに対する割り当てとを含んでおり、前記マッピング情報取得部は、前記マッピング情報記憶部から、前記アクセス対象のデータ範囲を前記マッピング情報のファイルにおけるデータの範囲に含むマッピング情報と、前記アクセス対象範囲外のデータ範囲を前記マッピング情報のファイルにおけるデータの範囲に含むマッピング情報とを取得する、請求項１１乃至１３の何れか一に記載のファイル管理システム。
【請求項１５】
前記マッピング情報取得範囲決定部は、前記アクセス対象のデータ範囲へのアクセス後に、前記ホストがアクセスする可能性が高いデータ範囲を、前記アクセス対象範囲外のデータ範囲として決定する、請求項１１乃至１４の何れか一に記載のファイル管理システム。
【請求項１６】
前記マッピング情報取得範囲決定部は、前記アクセス対象のデータ範囲と連続した所定サイズのデータ範囲を、前記アクセス対象範囲外のデータ範囲として決定する、請求項１１乃至１５の何れか一に記載のファイル管理システム。
【請求項１７】
前記マッピング情報取得範囲決定部は、データアクセスを契機として前記ホストにマッピング情報を送信すべきデータ範囲を定めたルールを参照して、前記アクセス対象範囲外のデータ範囲を決定する、請求項１１乃至１５の何れか一に記載のファイル管理システム。
【請求項１８】
前記マッピング情報取得範囲決定部は、データアクセス履歴に基づいて、前記アクセス対象範囲外のデータ範囲を決定する、請求項１１乃至１５の何れか一に記載のファイル管理システム。
【請求項１９】
ファイルを構成するデータのストレージに対する割り当てを管理するマッピング情報を管理するメタサーバであって、
ホストが送信した、アクセス対象のデータ範囲を含むマッピング情報の取得要求を受信すると、前記アクセス対象のデータ範囲に基づいて、前記ホストが前記アクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定するマッピング情報取得範囲決定部と、
前記アクセス対象のデータ範囲のマッピング情報と、前記マッピング情報取得範囲決定部が決定したアクセス対象範囲外のデータ範囲のマッピング情報とをマッピング情報記憶部から取得し、前記ホストに送信するマッピング情報取得部とを備えるメタサーバ。
【請求項２０】
ファイルを構成するデータのストレージに対する割り当てを管理するマッピング情報をメタサーバを用いて管理するファイルシステムに用いるホストであって、
データアクセス時に、アクセス対象のデータ範囲に基づいて、該アクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定するマッピング情報取得範囲決定部と、
前記メタサーバから前記アクセス対象のデータ範囲及びアクセス対象範囲外のデータ範囲のマッピング情報を取得し、マッピング情報キャッシュに登録するファイルアクセス部を備えるホスト。
【請求項２１】
ファイルを構成するデータのストレージに対する割り当てを管理するマッピング情報を管理するメタサーバに、マッピング情報の取得・送信を行わせるプログラムであって、前記メタサーバに、
ホストが送信した、アクセス対象のデータ範囲を含むマッピング情報の取得要求を受信すると、前記アクセス対象のデータ範囲に基づいて、前記ホストが前記アクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定する処理と、
前記アクセス対象のデータ範囲のマッピング情報と、前記決定されたアクセス対象範囲外のデータ範囲のマッピング情報とをマッピング情報記憶部から取得し、前記ホストに送信する処理とを実行させるプログラム。
【請求項２２】
ファイルを構成するデータのストレージに対する割り当てを管理するマッピング情報をメタサーバを用いて管理するファイルシステムに用いられるホストに、マッピング情報を取得する処理を実行させるプログラムであって、前記ホストに、
データアクセス時に、アクセス対象のデータ範囲に基づいて、該アクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定する処理と、
前記メタサーバから前記アクセス対象のデータ範囲及びアクセス対象範囲外のデータ範囲のマッピング情報を取得し、マッピング情報キャッシュに登録する処理とを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル管理システム、方法、及び、プログラムに関し、更に詳しくは、ファイルを構成するデータのストレージに対する割り当てを管理するマッピング情報を管理するメタサーバを用いたファイルシステムにおけるファイル管理システム、方法、及び、プログラムに関する。
【背景技術】
【０００２】
ファイルシステムにて、ファイルを構成するデータブロック或いはオブジェクトの構成を、ホスト又はストレージで管理せず、ブロック割当て管理を行う装置（メタサーバ）を用いて管理する形態のファイルシステムがある（例えば、非特許文献１参照）。図１２に、このような構成のファイルシステムを示す。メタサーバ１０３は、ファイルを構成するデータブロックごとに、データブロックがストレージ中のどの領域（ブロック）にマッピングされているかを示すマッピング情報を記憶している。
【０００３】
図１３に、アクセス時のシーケンスを示す。ホスト１０１は、リード／ライトなどのアクセス時に、アクセスする対象のファイル中のデータブロックのマッピング情報を、メタサーバ１０３に問い合わせる（ステップＳ１０１）。メタサーバ１０３は、該当するデータブロックのマッピング情報を、ホスト１０１に返却する（ステップＳ１０２）。ホスト１０１は、取得したマッピング情報を用いて、ストレージ１０２にアクセスする（ステップＳ１０３）。
【非特許文献１】情報処理学会第５７回（平成１０年後期）全国大会公演論文集（１）  並列ファイルシステムＰＦ３の概要  大和純一、大谷寛之、相場雄一、青木久幸  ＮＥＣ  Ｃ＆Ｃメディア研究所  ｐ９９、ｐ１００、  並列ファイルシステムＰＦ３におけるファイル管理方式  大谷寛之、大和純一、相場雄一、青木久幸  ＮＥＣ  Ｃ＆Ｃメディア研究所  ｐ１０１、ｐ１０２、  発行年月日：平成１０年１０月５日
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記メタサーバを用いるファイルシステムでは、ホスト１０１がストレージ１０２にアクセスするたびに、メタサーバ１０３に、マッピング情報を問い合わせる必要がある。このため、ファイルアクセスの応答時間が長くなる。ホスト１０１が、ステップＳ１０２で取得したマッピング情報をキャッシュし、応答時間を短くする手法も考えられる。しかし、その場合でも、繰り返し同じデータブロックにアクセスする場合以外では、応答時間の短縮を図ることはできない。
【０００５】
本発明は、割当管理装置（メタサーバ）を使用するファイル記憶方式において、アクセス時の応答時間を短縮することができるファイル管理システム、ファイル管理方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明のファイル管理方法は、ファイルを構成するデータのストレージに対する割り当てを管理するマッピング情報をメタサーバを用いて管理するファイルシステムにおけるファイル管理方法であって、ホストが、データアクセス時に、アクセス対象のデータ範囲及びアクセス対象範囲外のデータ範囲のマッピング情報を取得し、マッピング情報をキャッシュするマッピング情報キャッシュに登録するステップを有することを特徴とする。
【０００７】
本発明のファイル管理システムは、ファイルを構成するデータのストレージに対する割り当てを管理するマッピング情報を管理するメタサーバと、データアクセス時に、アクセス対象のデータ範囲及びアクセス対象範囲外のデータ範囲のマッピング情報を取得し、マッピング情報をキャッシュするマッピング情報キャッシュに登録するホストとを有することを特徴とする。
【０００８】
本発明のメタサーバは、ファイルを構成するデータのストレージに対する割り当てを管理するマッピング情報を管理するメタサーバであって、ホストが送信した、アクセス対象のデータ範囲を含むマッピング情報の取得要求を受信すると、前記アクセス対象のデータ範囲に基づいて、前記ホストが前記アクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定するマッピング情報取得範囲決定部と、前記アクセス対象のデータ範囲のマッピング情報と、前記マッピング情報取得範囲決定部が決定したアクセス対象範囲外のデータ範囲のマッピング情報とをマッピング情報記憶部から取得し、前記ホストに送信するマッピング情報取得部とを備えることを特徴とする。
【０００９】
本発明のホストは、ファイルを構成するデータのストレージに対する割り当てを管理するマッピング情報をメタサーバを用いて管理するファイルシステムに用いるホストであって、データアクセス時に、アクセス対象のデータ範囲に基づいて、該アクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定するマッピング情報取得範囲決定部と、前記メタサーバから前記アクセス対象のデータ範囲及びアクセス対象範囲外のデータ範囲のマッピング情報を取得し、マッピング情報キャッシュに登録するファイルアクセス部を備えることを特徴とする。
【００１０】
本発明のプログラムは、ファイルを構成するデータのストレージに対する割り当てを管理するマッピング情報を管理するメタサーバに、マッピング情報の取得・送信を行わせるプログラムであって、前記メタサーバに、ホストが送信した、アクセス対象のデータ範囲を含むマッピング情報の取得要求を受信すると、前記アクセス対象のデータ範囲に基づいて、前記ホストが前記アクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定する処理と、前記アクセス対象のデータ範囲のマッピング情報と、前記決定されたアクセス対象範囲外のデータ範囲のマッピング情報とをマッピング情報記憶部から取得し、前記ホストに送信する処理とを実行させることを特徴とする。
【００１１】
本発明のプログラムは、ファイルを構成するデータのストレージに対する割り当てを管理するマッピング情報をメタサーバを用いて管理するファイルシステムに用いられるホストに、マッピング情報を取得する処理を実行させるプログラムであって、前記ホストに、データアクセス時に、アクセス対象のデータ範囲に基づいて、該アクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定する処理と、前記メタサーバから前記アクセス対象のデータ範囲及びアクセス対象範囲外のデータ範囲のマッピング情報を取得し、マッピング情報キャッシュに登録する処理とを実行させることを特徴とする。
【発明の効果】
【００１２】
本発明のファイル管理システム、ファイル管理方法、及び、プログラムは、アクセス時の応答時間を短縮することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の第１実施形態のファイル管理システムを示している。ファイル管理システムは、ホスト１０と、ストレージ２０と、メタサーバ３０とを有する。ホスト１０は、ユーザプログラムが動作する計算機である。ストレージ２０は、データを記憶する記憶装置である。メタサーバ３０は、ファイルを構成するデータブロックと、ストレージ２０中のデータブロックとの対応関係であるマッピング情報を管理する計算機である。ホスト１０及びメタサーバ３０内の各部の機能は、コンピュータ上で所定のプログラムを実行することで実現可能である。なお、図１ではホスト１０を１つのみ図示しているが、ホスト１０は複数あってもよい。
【００１４】
ホスト１０は、ファイルアクセス部１１を有する。ホスト１０上では、ユーザプログラムが動作している。ホスト１０上のユーザプログラムは、ファイルアクセス部１１により、ファイルへのアクセス（ｒｅａｄ／ｗｒｉｔｅ）を行う。ファイルアクセス部１１は、マッピング情報キャッシュ１２と、マッピング情報取得範囲決定部１３とを有する。マッピング情報キャッシュ１２は、マッピング情報を保持する記憶装置である。マッピング情報キャッシュ１２は、ファイルアクセス部１１がメタサーバ３０からマッピング情報を取得すると、取得されたマッピング情報をキャッシングする。
【００１５】
ファイルアクセス部１１は、メタサーバ３０が管理するマッピング情報に基づいて、ストレージ２０内の対象ファイルのデータへアクセスする。ファイルアクセス部１１は、マッピング情報キャッシュ１２に、アクセス対象ファイルについて、アクセス対象データ領域のマッピング情報があるときは、マッピング情報キャッシュ１２に記憶されたマッピング情報を用いて、アクセスを行う。ファイルアクセス部１１は、マッピング情報キャッシュ１２にマッピング情報がないときは、メタサーバ３０からマッピング情報を取得して、アクセスを行う。その際、取得したマッピング情報を、マッピング情報キャッシュ１２にキャッシングする。
【００１６】
マッピング情報取得範囲決定部１３は、ファイルアクセス部１１がメタサーバ３０に取得を要求するマッピング情報の範囲を決定する。マッピング情報取得範囲決定部１３は、アクセス対象のデータ範囲に、アクセス対象範囲外のデータ範囲を加えたものを、取得要求するマッピング情報の範囲として決定する。このとき決定するアクセス対象範囲外のデータ範囲は、アクセス対象のデータ範囲へのアクセスをきっかけとして、その後にアクセスが予想されるデータ範囲とすることが好ましい。ファイルアクセス部１１は、メタサーバ３０に対し、マッピング情報取得範囲決定部１３が決定した範囲のマッピング情報の取得を要求する。
【００１７】
メタサーバ３０は、マッピング情報取得部３１と、マッピング情報記憶部３２とを有する。メタサーバ３０は、ホスト１０がデータへアクセスする際に、ホスト１０からマッピング情報の取得要求を受け取る。マッピング情報取得部３１は、ホスト１０から要求されたデータ範囲に対応するマッピング情報を、マッピング情報記憶部３２から取得し、ホスト１０に返却する。
【００１８】
ストレージ２０は、データを記憶する磁気ディスク、光磁気ディスク、光ディスク、不揮発性メモリ、及び、それらのアレイ装置である。ストレージ２０は、複数あってもよい。複数ある場合は、マッピング情報に、データブロックを格納するストレージの識別子を含める。この場合、ホスト１０は、マッピング情報を参照し、ストレージの識別子に基づいて該当するストレージ２０にアクセスする。ストレージ２０は、ＯＳＤ（Object-Based Storage Device）のような装置であってもよい。本実施形態では、主に、ストレージ２０をブロックアクセスの装置として説明するが、データブロックをオブジェクトとして扱うことで、ＯＳＤにも適用可能である。
【００１９】
メタサーバ３０は、マッピング情報を、マッピング情報のレコードから成るテーブルとして管理する。図２（ａ）〜（ｄ）に、マッピング情報のテーブルに格納されるレコードの例を示す。マッピング情報のレコードは、ファイル内の領域情報と、その領域が実際に格納されるストレージの情報とから構成される。図２（ａ）及び（ｂ）は、ストレージがブロックデバイスである場合の例である。ファイル内の領域情報は、ファイル中の領域の先頭アドレスと終了アドレスとの組、又は、先頭アドレスと領域サイズとの組で構成される。ストレージ内の領域情報は、ストレージ中の領域の先頭アドレスと終了アドレスとの組、又は、先頭アドレスと領域サイズとの組で構成される。図２（ｃ）及び（ｄ）は、ストレージがＯＳＤの場合の例である。ＯＳＤの場合は、オブジェクトのＩＤが、実施に格納されるストレージの情報となる。
【００２０】
図３（ａ）〜（ｄ）に、マッピング情報のテーブルに格納されるレコードの別例を示す。これらは、ファイルが複数のストレージに分割されて格納される場合の例である。図３（ａ）及び（ｂ）は、ストレージがブロックデバイスの場合の例である。図２（ａ）及び（ｂ）との相違は、該当領域を格納するストレージを特定するための情報（ストレージＩＤ）が追加されている点である。図３（ｃ）及び（ｄ）は、ストレージがＯＳＤの場合の例である。図２（ｃ）及び（ｄ）との相違点は、ストレージＩＤが追加されている点である。ストレージＩＤには、ストレージのＩＤや、ＳＣＳＩＩＤ、Fibre ChannelのＷＷＮ（world wide name）、ＩＰアドレス、ＭＡＣアドレス、ＵＲＬ等を使用することができる。
【００２１】
図４（ａ）〜（ｄ）に、マッピング情報キャッシュ１２に記録されるマッピング情報のレコードの例を示す。また、図５（ａ）〜（ｄ）に、マッピング情報キャッシュ１２に記録されるマッピング情報のレコードの別例を示す。マッピング情報キャッシュ１２に記録されるマッピング情報のレコードは、メタサーバ３０中のマッピング情報（図２（ａ）〜（ｄ）、又は、図３（ａ）〜（ｄ））と、ファイルを特定するためのファイル情報とから構成される。ファイル情報には、ファイルシステムを特定する情報と、ファイルシステムのｉｎｏｄｅ番号或いはｖｎｏｄｅ番号との組み合わせや、ＮＦＳ（Network File System）でのＮＦＳサーバを特定する情報とファイルハンドルとの組み合わせ、或いは、ファイルのパス名等を用いることができる。
【００２２】
図６に、ホスト１０からファイルにアクセス（ｒｅａｄ／ｗｒｉｔｅ）する際の処理手順を示す。ホスト１０は、ファイルアクセス部１１に、アクセス対象のファイルと、アクセスする領域とを指定して、ファイルアクセスを指示する。アクセスする領域は、データブロックの範囲であり、先頭のアドレスと終端アドレスとの組、或いは、先頭アドレスとサイズとの組で指定する。
【００２３】
ファイルアクセス部１１は、ユーザプログラムなどからファイルへのアクセスが発生すると、マッピング情報キャッシュ１２を検索し（ステップＡ１）、アクセス対象のファイルについて、アクセス対象のデータ領域に対応するマッピング情報が存在するか否かを判断する（ステップＡ２）。マッピング情報キャッシュ１２に、アクセス対象のデータ領域の全範囲に対応するマッピング情報が存在する場合は、マッピング情報キャッシュ１２から必要なマッピング情報を取得し、ストレージ２０へのアクセスに移行する。
【００２４】
ファイルアクセス部１１は、ステップＡ２で、アクセス対象のファイルについて、アクセスする全範囲のマッピング情報がない、或いは、一部の領域のマッピング情報がないと判断すると、マッピング情報取得範囲決定部１３に、ホストが取得すべきマッピング情報の範囲の決定を指示する。マッピング情報取得範囲決定部１３は、ホスト１０がアクセス対象データ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定する（ステップＡ３）。
【００２５】
マッピング情報取得範囲決定部１３による範囲決定について説明する。マッピング情報取得範囲決定部１３は、アクセス対象のデータ範囲と連続した所定サイズ分のデータ領域を、マッピング情報を取得すべきアクセス対象範囲外のデータ範囲として決定することができる。より詳細には、マッピング情報取得範囲決定部１３は、アクセス対象のデータ範囲の先頭アドレスがａで、サイズがｂであるとした場合、Ｎを、２以上の所定の値として、メタサーバ３０からマッピング情報を取得すべきデータ範囲の先頭アドレスｃ、終了アドレスｄを、
ｃ＝ａ
ｄ＝ａ＋ｂ×Ｎ
と決定することができる。または、Ｍを、所定データサイズとして、
ｃ＝ａ
ｄ＝ａ＋ｂ＋Ｍ
と決定してもよい。このようにすることで、アクセス対象のデータ範囲へのアクセスを契機として、そのデータ範囲に連続するアクセス対象範囲外のデータ範囲を、マッピング情報取得のデータ範囲とすることができる。この場合、ホスト１０がシーケンシャルアクセスを行う際に、後にデータアクセスを行うデータ範囲のマッピング情報を先行的に取得できるので、マッピング情報キャッシュ１２のヒット率を高くすることができる。
【００２６】
マッピング情報取得範囲決定部１３は、ファイル中のどのデータ領域を、アクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲とするかを定めたルールを用いて、マッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定することもできる。ルールは、各ファイルに共通でもよく、或いは、ファイルごとに用意しておいてもよい。ファイルごとに用意しておく場合は、ファイル情報とルールとを設定し、ファイル情報が一致する場合にのみ適用するようにすればよい。この場合、ファイル単位でルール設定を行うことができる。また、ファイルのメタ情報にファイルの種別を示す属性を持たせ、ファイルの種別とルールとをセットとし、種別が一致するルールを適用してもよい。この場合は、データベースのテーブルファイル、データベースのインデックスファイル、動画ファイル、動画ファイルの場合にはエンコーディングの方式などのファイル種別に合わせて、適切なルールを設定することが可能となる。
【００２７】
ルールの例を、図７に示す。ルールは、システム管理者などによって事前に作成される。または、ユーザが任意に作成してもよい。図７において、ファイル情報のエントリには、このルールが適用されるファイルを特定する情報が格納される。ファイル情報には、ファイル名や、ファイルの拡張子などを用いることができる。契機となる領域の先頭アドレス及び終了アドレスの組のエントリには、このルールが適用されるアクセスデータ範囲の先頭アドレス及び終了アドレスが格納される。同時に取得する領域の先頭アドレス及び終了アドレスの組のエントリには、ファイル情報にて示されるファイルに対して、契機となる領域の先頭アドレス及び終了アドレスにて示されるデータ領域へのアクセスがあったときに、その領域のマッピング情報と共に取得すべきマッピング情報のデータ領域の先頭アドレス及び終了アドレスが格納される。
【００２８】
マッピング情報取得範囲決定部１３は、ホスト１０が、ルールにおけるファイル情報にて識別されるファイルに対し、契機となる領域の先頭アドレスと終了アドレスとの組で示されるデータ領域を含むデータ領域へアクセスする際に、ルールにて同時に取得する領域の先頭アドレス及び終了アドレスの組で指定されたデータ領域を、メタサーバ３０から、アクセスするデータ領域のマッピング情報と共にマッピング情報を取得するデータ範囲として決定する。このようなルールを用いることで、シーケンシャルアクセス以外の様々なアクセスパターンに対応して、メタサーバ３０から、アクセスに先行してマッピング情報を取得できる。
【００２９】
なお、図７では、取得すべくマッピング情報のデータ領域を１つだけ指定しているが、エントリに複数の領域を持たせ、複数のデータ範囲を、マッピング情報取得範囲としてもよい。図７では、領域を、先頭アドレスと終了アドレスとの組で指定しているが、領域は、先頭アドレスと、領域のサイズとの組により指定してもよい。また、領域を、終了アドレスと領域サイズとの組により指定してもよい。ルールにて、先頭アドレスと領域サイズとの組による領域の指定と、終了アドレスと領域サイズとの組よる領域の指定とを混在させてもよい。この場合は、各領域の指定に、先頭アドレスからの領域指定である、終端アドレスからの領域指定であるかを示すフラグを設けておけばよい。先頭又は終端のアドレスと、領域サイズとによる領域指定を行うことで、様々な長さのファイルに対して、ルールにて、先頭又は終端から所定の範囲にある領域を指定することができる。
【００３０】
図６に戻り、ファイルアクセス部１１は、マッピング情報取得範囲決定部１３が決定したデータ範囲に対応するマッピング情報の送信をメタサーバ３０に要求し（ステップＡ４）、メタサーバ３０からの応答を待つ（ステップＡ５）。メタサーバ３０は、要求された範囲のマッピング情報を、マッピング情報記憶部３２から取得し、ファイルアクセス部１１に送信する。
【００３１】
ホスト１０は、ステップＡ４では、マッピング情報取得対象の“ファイル情報”と、１以上の“マッピング情報を取得するデータ範囲を示す情報”とをメタサーバ３０に通知し、マッピング情報の送信を要求する。ファイル情報は、ファイルを特定するための情報である。ファイル情報には、ファイルシステムを特定する情報とファイルシステムのｉｎｏｄｅ番号或いはｖｎｏｄｅ番号との組み合わせや、ＮＦＳでのＮＦＳサーバを特定する情報とファイルハンドルとの組み合わせ、ファイルのパス名等を用いることができる。マッピング情報を取得するデータ範囲は、ファイル中の領域の先頭アドレスとファイル中の領域の終了アドレスとの組、或いは、ファイル中の領域の先頭アドレスと領域のサイズとの組で指定する。
【００３２】
ファイルアクセス部１１は、メタサーバ３０からマッピング情報を受信すると、受信したマッピング情報を、該当ファイルのファイル情報と対応付けて、マッピング情報キャッシュ１２に登録する（ステップＡ６）。マッピング情報のキャッシュ登録は、登録する情報がマッピング情報である点を除き、ホスト１０で動作するデータキャッシュやＮＦＳのＤＮＬＣ（Directory Name Lookup Cache）の動作と同様である。ファイルアクセス部１１は、ステップＡ１で検索したマッピング情報、又は、ステップＡ５でメタサーバ３０から取得したマッピング情報を用いて、ストレージ２０にアクセスし（ステップＡ７）、処理を終了する。
【００３３】
ストレージ２０でのｒｅａｄ／ｗｒｉｔｅアクセスの処理は、ディスク装置、ＮＡＳ（Network Attached Storage）、ＯＳＤ、ディスクアレイ装置等でのｒｅａｄ／ｗｒｉｔｅの処理と同様である。なお、図６では、ステップＡ６でマッピング情報をキャッシュ登録した後に、ステップＡ７でストレージ２０に対してアクセスを行っているが、これら処理は、どちらが先でもよい。或いは、ストレージ２０へのアクセスと、マッピング情報のキャッシュ登録とを、並行して行ってもよい。
【００３４】
マッピング情報キャッシュ１２の動作として、一定時間ごとにキャッシュを無効化（マッピング情報の削除）を行う動作が考えられる。このような場合、マッピング情報取得範囲決定部１３が決定するアクセス範囲外のデータ範囲は、アクセス対象領域へのアクセス後、無効化される時間内にアクセスする可能性があるデータ範囲とすることが好ましい。無効化される時間内にアクセスする可能性があるデータ領域は、システム管理者などが、アクセス履歴や、ファイルの転送速度などから決定する。決定したデータ範囲を、マッピング情報取得範囲決定部１３がマッピング情報の取得範囲を決定する際に参照するルールに設定しておくことで、無効化されるマッピング情報の取得を避けることができる。
【００３５】
図８に、ホスト１０からマッピング情報取得要求があったときのメタサーバ３０の処理手順を示す。メタサーバ３０は、ホスト１０が送信した、ファイルと、ファイル中のデータ範囲とが指定されたマッピング情報取得要求を受け取る。マッピング情報取得部３１は、指定されたファイルのマッピング情報を検索対象とし（ステップＢ１）、取得対象のデータ範囲を選択する（ステップＢ２）。ステップＢ２では、マッピング情報取得対象のデータ領域が複数あるときは、その領域群の中から領域を１つ選択する。マッピング情報取得部３１は、ステップＢ２で選択した領域の先頭アドレスを、検索対象アドレスとする（ステップＢ３）。
【００３６】
マッピング情報取得部３１は、指定されたファイルのマッピング情報から、ステップＢ３で設定した検索対象アドレスを領域情報の範囲に含むマッピング情報エントリを検索する（ステップＢ４）。マッピング情報取得部３１は、ステップＢ４で検索したマッピング情報エントリを元に、ホスト１０に返却するマッピング情報を作成する（ステップＢ５）。ステップＢ５では、マッピング情報取得部３１は、マッピング情報記憶部３２から、ステップＢ４で検索したマッピング情報エントリの内容を取得し、ホストに返却すべきマッピング情報に、取得した内容を追加する。
【００３７】
マッピング情報取得部３１は、マッピング情報エントリの領域情報に、ステップＢ２で選択したデータ範囲の終了アドレスが含まれるか否かを判断する（ステップＢ６）。終了アドレスが、マッピング情報エントリのデータ領域範囲に含まれないときは、続きのデータ範囲のマッピング情報を取得するために、ステップＢ４で検索したマッピング情報エントリの終了アドレスの次のアドレスを検索対象アドレスとし（ステップＢ７）、ステップＢ４に戻る。
【００３８】
マッピング情報取得部３１は、ステップＢ６でデータ範囲の終了アドレスがマッピング情報エントリのデータ領域範囲に含まれると判断すると、つまり、ステップＢ２で選択したデータ範囲の全てについてのマッピング情報が得られると、当該データ範囲のマッピング情報取得を終了する。マッピング情報取得部３１は、まだ、マッピング情報を取得していないデータ範囲があるか否かを判断する（ステップＢ８）。存在する場合、マッピング情報取得部３１は、未処理のデータ範囲から１つを選択し（ステップＢ９）、ステップＢ３に戻って、選択したデータ範囲のマッピング情報の取得を行う。マッピング情報取得部３１は、ステップＢ８で未処理のデータ範囲がないと判断すると、作成したマッピング情報（群）を、マッピング情報取得要求に対する応答として、ホスト１０に送信し（ステップＢ１０）、処理を終了する。
【００３９】
なお、ステップＢ４で該当するマッピング情報のエントリがない場合、その領域はまだストレージ２０に割り当てられていない。この場合、ｒｅａｄに伴うマッピング情報取得であれば、割り当てられていないことを通知し、検索アドレスを後にずらしていき、領域の最後尾までに存在する、割当て済み領域のマッピング情報を取得する。ｗｒｉｔｅの場合には、ストレージ中のデータブロック或いはオブジェクトの割り当てを行う。この割り当ての処理は、ファイルシステムでのデータブロックの割り当てと同様の処理である。ＯＳＤの場合には、使用されていないオブジェクトＩＤを割り当てることとなる。なお、ストレージ２０が複数のストレージから構成される場合には、ｗｒｉｔｅによりストレージ中のエントリを割り当てる前に、その領域を割り当てるストレージの決定も行う。
【００４０】
本実施形態では、マッピング情報取得範囲決定部１３は、ファイルのデータへのアクセス要求発生時に、アクセス対象範囲外のデータ範囲を含めた範囲を、マッピング情報取得範囲として決定する。ファイルアクセス部１１は、マッピング情報取得範囲決定部１３が決定したデータ範囲のマッピング情報を、メタサーバ３０から取得する。つまり、本実施形態では、ファイルアクセス部１１は、ファイルのデータへのアクセスを契機として、メタサーバ３０から、アクセス対象のデータ範囲のマッピング情報と、アクセス対象範囲外のデータ範囲のマッピング情報とを取得する。ファイルアクセス部１１は、メタサーバ３０から取得したマッピング情報を、マッピング情報キャッシュ１２にキャッシュ登録する。このような動作により、ファイルアクセス部１１は、将来のアクセスで必要となるマッピング情報を先行的にマッピング情報キャッシュ１２にキャッシングすることができ、マッピング情報キャッシュ１２のヒット率を向上することができる。
【００４１】
ファイルアクセス部１１は、アクセス対象のデータ範囲へのアクセスに後続して、別のデータ範囲にアクセスする際、その別のデータ範囲のマッピング情報がマッピング情報キャッシュ１２に存在すれば、そのマッピング情報を用いて、当該データ領域にアクセスできる。従って、マッピング情報取得範囲決定部１３により、データアクセス後、そのデータアクセスに後続してアクセスされると想定されるデータ範囲を、マッピング情報取得範囲として決定することで、ホスト１０は、すぐに、そのデータ領域にアクセスでき、アクセスの応答時間を短縮することができる。また、このとき、ホスト１０がメタサーバ３０にマッピング情報の取得要求を行わないことで、ホスト１０とメタサーバ３０との間の通信回数を削減できるという効果もある。
【００４２】
一般に、ファイルアクセス部１１は、ファイルアクセスに必要なマッピング情報だけをメタサーバ３０から取得する。ファイルアクセス部１１は、取得したマッピング情報を、マッピング情報キャッシュ１２にキャッシュ登録することで、再度、同じファイルの同じデータ領域にアクセスする際に、アクセス応答時間を短縮できる。しかし、これだけでは、未アクセスのデータ領域については、応答時間の短縮を図ることはできない。本実施形態では、データアクセスを契機として、メタサーバ３０から、アクセス範囲外のマッピング情報をも取得する。このようにすることで、未アクセスのデータ範囲についても、応答時間を短縮できる。
【００４３】
本実施形態では、マッピング情報をキャッシュする構成を採用する。マッピング情報は、データそのものよりも容量が少ないため、少量のキャッシュ容量（記憶容量）で済むという利点がある。また、マッピング情報取得に関わる通信における通信量も少なくて済む。アクセス範囲外のデータ範囲のマッピング情報をメタサーバ３０からホスト１０に送信する形態としては、ホスト１０がアクセス対象のデータ範囲のマッピング情報とは別個に、アクセス範囲外のマッピング情報をホスト１０に送信する形態も考えられる。ただし、その場合は、ホスト１０とメタサーバ３０との間の通信回数が増えることになるので、通信回数の削減という観点からは、アクセス範囲と、アクセス範囲外のマッピング情報を、同時に送信する形態が有利である。
【００４４】
図９は、本発明の第２実施形態のファイル管理システムを示している。本実施形態のファイル管理システムは、メタサーバ３０が、マッピング情報取得範囲決定部３３を有する点が、図１に示す第１実施形態のファイル管理システムと相違する。本実施形態では、ファイルアクセス部１１は、アクセス対象のデータ範囲のマッピング情報を、メタサーバ３０に要求する。マッピング情報取得範囲決定部３３は、ホスト１０がマッピング情報取得要求を送信すると、要求された範囲（アクセス範囲）に、アクセス対象範囲外のデータ範囲を付加して、マッピング情報取得部３１に、マッピング情報の取得を指示する。
【００４５】
図１０に、ホスト１０からファイルにアクセス（ｒｅａｄ／ｗｒｉｔｅ）する際の処理手順を示す。図１０に示す手順は、図６に示す第１実施形態にけるファイルアクセス時の処理とは、ステップＡ２でマッピング情報がマッピング情報キャッシュ１２に存在しないと判断すると、マッピング情報取得範囲決定の処理（図６のステップＡ３）を経ずに、ステップＡ４で、アクセス対象のデータ範囲のマッピング情報を、メタサーバ３０に送信する点で相違する。その他の点は、第１実施形態と同様である。
【００４６】
図１１に、ホスト１０からマッピング情報取得要求があったときのメタサーバ３０の処理手順を示す。図１１に示す手順は、図８に示す処理とは、ホストが取得するマッピング情報の範囲を決定する処理が追加されている点が相違する。メタサーバ３０は、ホスト１０が送信した、ファイルと、アクセス対象のデータ範囲とが指定されたマッピング情報取得要求を受け取る。マッピング情報取得範囲決定部３３は、アクセス対象のデータ範囲に基づいて、ホスト１０がアクセス対象のデータ範囲のマッピング情報と共にマッピング情報を取得すべきアクセス対象範囲外のデータ範囲を決定する（ステップＤ１）。
【００４７】
ステップＤ１の処理は、図６のステップＡ３で、ホスト１０内のマッピング情報取得範囲決定部１３（図１）がマッピング情報取得範囲を決定する処理と同様である。マッピング情報取得部３１は、その後の処理（ステップＢ１〜Ｂ１０）で、マッピング情報記憶部３２から、アクセス対象のデータ範囲のマッピング情報、及び、アクセス対象範囲外のデータ範囲のマッピング情報を取得して、ホスト１０に送信する。本実施形態では、メタサーバ３０がマッピング情報取得範囲決定部３３を有している。このような形態でも、メタサーバ３０から、要求された、アクセス対象のデータ範囲のマッピング情報に加えて、アクセス対象範囲外のデータ範囲のマッピング情報をホスト１０に送信することで、第１実施形態と同様な効果が得られる。
【００４８】
なお、マッピング情報取得範囲決定部１３又は３３は、ホスト１０が行うデータアクセスのアクセス履歴から、ある領域へのデータアクセス後、そのアクセスに後続してホスト１０がデータアクセスする可能性が高い領域を特定し、その領域を、ホスト１０がマッピング情報を取得すべきアクセス対象範囲外のデータ範囲として決定してもよい。このような動作は、ホスト１０又はメタサーバ３０内に、図示しない履歴記憶部を設けておくことで実現できる。マッピング情報取得範囲決定部は、ホスト１０が複数ある場合は、マッピング情報取得範囲の決定に際して、他のホストのアクセス履歴を用いることもできる。
【００４９】
例えば、メタサーバ３０内のマッピング情報取得範囲決定部３３は、ホスト１０から受け取るマッピング情報取得要求からホスト１０のアクセス履歴を解析し、例えば、領域Ａへのアクセスの後に、領域Ｂ、領域Ｃ、・・・、領域Ｎへのアクセスが多いことを判別する。この場合、マッピング情報取得範囲決定部３３は、領域Ａへのアクセスを契機として、領域Ｂ、・・・、領域Ｎを、ホスト１０がマッピング情報を取得すべきアクセス対象範囲外のデータ範囲として決定する。これにより、領域Ａへのアクセスをきっかけに、マッピング情報キャッシュ１２に、領域Ｂ、・・・、領域Ｎのマッピング情報を、先行的に登録できる。
【００５０】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のファイル管理システム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【図面の簡単な説明】
【００５１】
【図１】本発明の第１実施形態のファイル管理システムを示すブロック図。
【図２】（ａ）〜（ｄ）は、マッピング情報のデータ例を示すブロック図。
【図３】（ａ）〜（ｄ）は、マッピング情報の別のデータ例を示すブロック図。
【図４】（ａ）〜（ｄ）は、マッピング情報キャッシュのデータ例を示すブロック図。
【図５】（ａ）〜（ｄ）は、マッピング情報キャッシュの別のデータ例を示すブロック図。
【図６】ホストがファイルのデータへアクセスする際の処理手順を示すフローチャート。
【図７】アクセス対象範囲外のデータ範囲を決定する際に用いるルールを例示するブロック図。
【図８】メタサーバの処理手順を示すフローチャート。
【図９】本発明の第２実施形態のファイル管理システムを示すブロック図。
【図１０】第２実施形態におけるホストがファイルのデータへアクセスする際の処理手順を示すフローチャート。
【図１１】第２実施形態におけるメタサーバの処理手順を示すフローチャート。
【図１２】メタサーバを用いたファイルシステムを示すブロック図。
【図１３】図１２に示すファイルシステムにおけるファイルアクセス時の処理の流れを示すシーケンス図。
【符号の説明】
【００５２】
１０：ホスト
１１：ファイルアクセス部
１２：マッピング情報キャッシュ
１３、３３：マッピング情報取得範囲決定部
２０：ストレージ
３０：メタサーバ
３１：マッピング情報取得部
３２：マッピング情報記憶部
【図１】
2009211518.tif 000003
【図２】
2009211518.tif 000004
【図３】
2009211518.tif 000005
【図４】
2009211518.tif 000006
【図５】
2009211518.tif 000007
【図６】
2009211518.tif 000008
【図７】
2009211518.tif 000009
【図８】
2009211518.tif 000010
【図９】
2009211518.tif 000011
【図１０】
2009211518.tif 000012
【図１１】
2009211518.tif 000013
【図１２】
2009211518.tif 000014
【図１３】
2009211518.tif 000015