(57)【要約】【課題】ファイルの分散管理の柔軟性を向上させること。【解決手段】複数のファイルを分散して記憶する複数のファイル管理装置を有するファイル管理システムであって、前記各ファイル管理装置は、当該ファイル管理装置に割り当てられたディレクトリ下のファイル又はディレクトリについて、当該ファイル又は当該ディレクトリが割り当てられた前記ファイル管理装置の第一の識別情報と当該ファイル又は当該ディレクトリの第二の識別情報とを含む所在情報を記憶する所在情報記憶手段と、前記ディレクトリへのファイルの生成要求に応じ、前記複数のファイル管理装置の中から該ファイルの生成先を選択する選択手段と、前記ファイルの生成先に前記生成要求を転送して該ファイルを生成させ、該ファイルの生成先の前記第一の識別情報及び該ファイルの前記第二の識別情報を前記所在情報記憶手段に記録する生成要求転送手段とを有する。【選択図】図５
2011242826.tif 000002
【特許請求の範囲】
【請求項１】
複数のファイルを分散して記憶する複数のファイル管理装置を有するファイル管理システムであって、
前記各ファイル管理装置は、
当該ファイル管理装置に割り当てられたディレクトリ下のファイル又はディレクトリについて、当該ファイル又は当該ディレクトリが割り当てられた前記ファイル管理装置の第一の識別情報と当該ファイル又は当該ディレクトリの第二の識別情報とを含む所在情報を記憶する所在情報記憶手段と、
前記ディレクトリへのファイルの生成要求に応じ、前記複数のファイル管理装置の中から該ファイルの生成先を選択する選択手段と、
前記ファイルの生成先に前記生成要求を転送して該ファイルを生成させ、該ファイルの生成先の前記第一の識別情報及び該ファイルの前記第二の識別情報を前記所在情報記憶手段に記録する生成要求転送手段とを有するファイル管理システム。
【請求項２】
前記複数のファイル管理装置より状態情報を定期的に受信し、前記状態情報の一覧を前記複数のファイル管理装置に提供する監視装置を有し、
前記選択手段は、前記状態情報に基づいて前記ファイルの生成先を選択する請求項１記載のファイル管理システム。
【請求項３】
前記生成要求転送手段は、生成されたファイルに係る前記第一の識別情報及び前記第二の識別情報を含むファイル記述子を前記ファイルの生成要求元に返信する請求項１又は２記載のファイル管理システム。
【請求項４】
前記ファイル管理装置に対して要求を行うクライアント装置を有し、
前記クライアント装置は、
ファイルの生成要求を受信し、該ファイルの生成先のディレクトリが割り当てられた前記ファイル管理装置を、当該ディレクトリより上位のディレクトリが割り当てられた前記ファイル管理装置の前記所在情報記憶手段が記憶する前記所在情報に基づいて特定し、特定された前記ファイル管理装置に該ディレクトリへの該ファイルの生成要求を送信し、該ファイル管理装置の前記生成要求転送手段より返信される前記ファイル記述子を前記生成要求元に返信する仲介手段を有する請求項３記載のファイル管理システム。
【請求項５】
前記仲介手段は、前記ファイル記述子が指定されたファイルの操作要求に応じ、前記ファイル記述子に含まれる前記第一の識別情報に係る前記ファイル管理装置に、該操作要求を転送する請求項４記載のファイル管理システム。
【請求項６】
複数のファイルを分散して記憶する複数のファイル管理装置のそれぞれを、
当該ファイル管理装置に割り当てられたディレクトリ下のファイル又はディレクトリについて、当該ファイル又は当該ディレクトリが割り当てられた前記ファイル管理装置の第一の識別情報と当該ファイル又は当該ディレクトリの第二の識別情報とを含む所在情報を記憶する所在情報記憶手段と、
前記ディレクトリへのファイルの生成要求に応じ、前記複数のファイル管理装置の中から該ファイルの生成先を選択する選択手段と、
前記ファイルの生成先に前記生成要求を転送して該ファイルを生成させ、該ファイルの生成先の前記第一の識別情報及び該ファイルの前記第二の識別情報を前記所在情報記憶手段に記録する生成要求転送手段として機能させるためのファイル管理プログラム。
【請求項７】
前記ファイル管理プログラムは、
前記ファイル管理装置に、前記複数のファイル管理装置より状態情報を定期的に受信する、監視装置より、前記状態情報の一覧を受信させ、
前記選択手段は、前記状態情報に基づいて前記ファイルの生成先を選択する請求項６記載のファイル管理システム。
【請求項８】
前記生成要求転送手段は、生成されたファイルに係る前記第一の識別情報及び前記第二の識別情報を含むファイル記述子を前記ファイルの生成要求元に返信する請求項６又は７記載のファイル管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル管理システム及びファイル管理プログラムに関し、特に複数の記憶装置を利用してファイルを管理するファイル管理システム及びファイル管理プログラムに関する。
【背景技術】
【０００２】
ＮＡＳ（Network Attached Storage）は、ネットワークに直接接続して使用することができるファイルサーバ専用機である。ＮＡＳのクライアントは、ＮＡＳ上（サーバ上）に存在するデータ保存領域をあたかも自分が内蔵するストレージのように使用できる点がＮＡＳの特長の一つである。
【０００３】
ＮＡＳとしてのサーバが多数使用されるようになり、また、ネットワークのインフラが整ってきた昨今、サーバはデータセンタと呼ばれる専用空間に集中して配置されるようになっている。これは、消費電力問題、冷却問題、及びデータ保全問題等の各種の側面において有利だからである。データセンタに配置されるサーバの台数は、必要とされるデータの保存領域の増加に応じて増加を続け、今や膨大なものとなっている。
【０００４】
サーバが集中して配置されるようになると、データセンタの管理者は多数のサーバの管理を一手に引き受けることになる。この管理コストを低減することができれば、それこそがデータセンタにサーバを集約させる一番の意義となりうる。しかし、通常、ＮＡＳとしての１台のサーバ（ＮＡＳサーバ）は、図１に示されるように、クライアント上において仮想化されているストレージ（ＮＡＳクライアント）と１対１に対応する。したがって、単純に配置位置を集約するだけでは管理コストを効果的に低減することは困難である。なお、クライアント上において仮想化されているストレージとは、例えば、Ｗｉｎｄｏｗｓ（登録商標）におけるドライブが挙げられる。したがって、ＮＡＳとしてのサーバと当該仮想化されているストレージとが１対１に対応するとは、例えば、１つのドライブに対して、１台のサーバが割り当てられることをいう。
【０００５】
このような課題を解決するための手段として、従来、図２に示されるようなクラスタファイルシステムが存在する。クラスタファイルシステムとは、複数のサーバを仮想的に一つのストレージとして見せるものである。クラスタファイルシステムによれば、通常のＮＡＳを単純に並べる方式に比べて管理コストを低減させることができる。
【０００６】
図２（Ａ）は、Ｉｎ−Ｂａｎｄ方式と呼ばれるクラスタファイルシステムである。Ｉｎ−Ｂａｎｄ方式において、ＮＡＳクライアントは、メタサーバを介してＮＡＳサーバにアクセスする。一方、（Ｂ）は、Ｏｕｔ−ｏｆ−Ｂａｎｄ方式と呼ばれるクラスタファイルシステムである。Ｏｕｔ−ｏｆ−Ｂａｎｄ方式において、メタサーバは、ＮＡＳクライアントとＮＡＳサーバとの経路外に配置される。なお、メタサーバとは、複数のＮＡＳサーバにおけるファイルシステムのメタ情報を一元管理するサーバである。メタ情報には、ファイルの所在位置を示す情報が含まれる。したがって、クラスタファイルシステムでは、メタサーバによって一元管理されるメタ情報に基づいて、ＮＡＳクライアントが操作を所望するファイルがいずれのＮＡＳサーバに存在するかが特定される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−４６６６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、クラスタシステムにおいてどれだけのＮＡＳサーバを仮想的にまとめられるか（すなわち、スケーラビリティ）は、メタサーバの設計等に依存するという問題がある。すなわち、統合可能なＮＡＳサーバの数にメタサーバの設計に応じた限界が存在するという問題がある。
【０００９】
本発明は、上記の点に鑑みてなされたものであって、ファイルの分散管理の柔軟性を向上させることのできるファイル管理システム及びファイル管理プログラムの提供を目的とする。
【課題を解決するための手段】
【００１０】
そこで上記課題を解決するため、複数のファイルを分散して記憶する複数のファイル管理装置を有するファイル管理システムであって、前記各ファイル管理装置は、当該ファイル管理装置に割り当てられたディレクトリ下のファイル又はディレクトリについて、当該ファイル又は当該ディレクトリが割り当てられた前記ファイル管理装置の第一の識別情報と当該ファイル又は当該ディレクトリの第二の識別情報とを含む所在情報を記憶する所在情報記憶手段と、前記ディレクトリへのファイルの生成要求に応じ、前記複数のファイル管理装置の中から該ファイルの生成先を選択する選択手段と、前記ファイルの生成先に前記生成要求を転送して該ファイルを生成させ、該ファイルの生成先の前記第一の識別情報及び該ファイルの前記第二の識別情報を前記所在情報記憶手段に記録する生成要求転送手段とを有する。
【発明の効果】
【００１１】
開示された技術によれば、ファイルの分散管理の柔軟性を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】従来のＮＡＳにおけるクライアントとサーバとの関係を示す図である。
【図２】従来のクラスタシステムの構成例を示す図である。
【図３】本発明の実施の形態におけるファイル管理システムの構成例を示す図である。
【図４】本発明の実施の形態におけるデータサーバ装置のハードウェア構成例を示す図である。
【図５】Ｌ７スイッチ部、ＮＡＳサーバ部、及び監視サーバ部の機能構成例を示す図である。
【図６】本実施の形態における名前情報及びファイル本体の管理形態の概要を説明するための図である。
【図７】一つのディレクトリに関する名前情報の一例を示す図である。
【図８】新規のデータサーバ装置の起動時の処理手順を説明するための図である。
【図９】データサーバ一覧記憶部の構成例を示す図である。
【図１０】既存のデータサーバ装置の起動時の処理手順を説明するための図である。
【図１１】ハートビート通信の処理手順を説明するための図である。
【図１２】ファイル生成処理の処理手順を説明するための図である。
【図１３】本実施の形態におけるファイル記述子の構成例を示す図である。
【図１４】ファイル記述子の取得処理の処理手順を説明するための図である。
【図１５】親ディレクトリのファイル記述子がキャッシュされている場合のファイル生成処理の処理手順を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。図３は、本発明の実施の形態におけるファイル管理システムの構成例を示す図である。同図において、ファイル管理システム１は、複数のデータサーバ装置１０、監視サーバ装置２０、及び一台以上のクライアント装置３０等を含む。ファイル管理システム１に含まれる各装置は、ＬＡＮ（Local Area Network）又はインターネット等のネットワーク（有線又は無線の別は問わない。）を介して通信可能とされている。
【００１４】
データサーバ装置１０は、いわゆるＮＡＳ（Network Attached Storage）サーバであり、データを格納したファイル群を記憶（管理）する。本実施の形態では、複数のデータサーバ装置１０によって、ファイルが分散管理される。すなわち、データサーバ装置１０は、本実施の形態においてファイル管理装置の一例である。各データサーバ装置１０は、ＮＡＳサーバ部１１を有する。ＮＡＳサーバ部１１は、ファイルを体系的に管理するための機能を実現するソフトウェアである。
【００１５】
監視サーバ装置２０は、各データサーバ装置１０の状態を監視するコンピュータである。監視サーバ装置２０は、監視サーバ部２１を有する。監視サーバ部２１は、各データサーバ装置１０の状態を監視し、正常に稼動しているデータサーバ装置１０の一覧を管理するソフトウェアである。
【００１６】
クライアント装置３０は、データサーバ装置１０において管理されているファイルを操作するコンピュータである。各クライアント装置３０は、ＮＡＳクライアント部３１及びＬ７スイッチ部３２等を有する。ＮＡＳクライアント部３１は、データサーバ装置１０において管理されているファイルを利用するソフトウェアである。ＮＡＳクライアント部３１の一例としてファイルシステムを実現するソフトウェアが挙げられる。
【００１７】
Ｌ７スイッチ部３２は、仲介手段の一例であり、仮想的なネットワークスイッチを実現するソフトウェアである。Ｌ７スイッチ部３２によって、複数のデータサーバ装置１０が一つのデータサーバ装置に仮想化される。すなわち、ＮＡＳクライアント部３１には、Ｌ７スイッチ部３２が一つのデータサーバ装置として見える。その結果、ＮＡＳクライアント部３１は、複数のデータサーバ装置１０の存在を意識することなく、従来と同じＮＡＳプロトコルによって、複数のデータサーバ装置１０に分散されているファイルを利用することができる。なお、従来のＮＡＳプロトコルとしては、例えば、ＮＦＳ（Network File System）やＣＩＦＳ（Common Internet File System）等が一例として挙げられる。
【００１８】
図４は、本発明の実施の形態におけるデータサーバ装置のハードウェア構成例を示す図である。図４のデータサーバ装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、ＣＰＵ１０４と、インタフェース装置１０５とを有する。
【００１９】
データサーバ装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、管理対象のファイル等を格納する。
【００２０】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従ってデータサーバ装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００２１】
図５は、Ｌ７スイッチ部、ＮＡＳサーバ部、及び監視サーバ部の機能構成例を示す図である。
【００２２】
同図において、Ｌ７スイッチ部３２は、ファイル操作仲介部３２１、ＦＤ取得部３２２、及びＦＤキャッシュ部３２３等を有する。ファイル操作仲介部３２１は、ＮＡＳプロトコルに基づくファイルに関する操作要求をＮＡＳクライアント部３１より受け付ける。ファイル操作仲介部３２１は、当該操作（生成、読み込み、又は書き込み等）を実行させるべきデータサーバ装置１０を判定し、当該データサーバのＮＡＳサーバ部１１に対して操作要求を転送する。ＮＡＳサーバ部１１へのファイルの操作要求には、当該操作要求に応じたファイル記述子（ファイルディスクリプタ）が指定される。ファイル記述子（以下、「ＦＤ」と記述する。）は、ＯＳ（Operating System）によってはファイルハンドルとも呼ばれ、一般的に、操作対象のファイルと特定する情報として用いられる。操作要求に応じたＦＤとは、操作要求がファイルの生成であれば、当該ファイルが生成されるディレクトリのＦＤが相当する。また、操作要求がファイルの読み込み又は書き込みである場合、操作対象のファイルのＦＤが相当する。なお、ディレクトリとは、ファイルをツリー構造に分類して管理する際において、当該ツリー構造の各ノードに該当する仮想的なファイルの保管場所をいう。ディレクトリは、ＯＳによってはフォルダとも呼ばれる。
【００２３】
ＦＤ取得部３２２は、ファイル操作仲介部３２１が使用するＦＤを、当該ＦＤに対応するディレクトリ又はファイルのパス名に基づいて探索する。ＦＤキャッシュ部３２３は、ファイル操作仲介部３２１によって使用された所定数のＦＤを、クライアント装置３０の記憶装置を用いて一時的に記憶する。
【００２４】
ＮＡＳサーバ部１１は、ＦＤ応答部１１１、ファイル生成先選択部１１２、ファイル生成要求転送部１１３、ファイル操作部１１４、ハートビート送信部１１５、ハートビート応答受信部１１６、本体記憶部１１７、及び名前情報記憶部１１８等を有する。
【００２５】
ＦＤ応答部１１１は、Ｌ７スイッチ部３２のＦＤ取得部３２２からのＦＤの取得要求に応じ、当該取得要求に指定されたパス名に対応するディレクトリ又はファイルのＦＤを返信する。ファイル生成先選択部１１２は、選択手段の一例であり、Ｌ７スイッチ部３２のファイル操作仲介部３２１からのファイルの生成要求に応じ、ファイルの生成先とするデータサーバ装置１０を選択する。ファイル生成要求転送部１１３は、生成要求転送手段の一例であり、ファイルの生成先として選択されたデータサーバ装置１０に対してファイルの生成要求を転送する。すなわち、本実施の形態において、ファイルの生成を要求されたデータサーバ装置１０は、必ずしも自らの補助記憶装置１０２内に生成要求に係るファイルを生成するとは限らない。ファイル操作部１１４は、ファイル操作仲介部３２１又は他のデータサーバ装置１０のファイル生成要求転送部より転送されたファイルの操作要求に応じた処理を実行する。ハートビート送信部１１５は、一般的にハートビート通信と呼ばれる通信方法によって、当該データサーバ装置１０が正常に稼動していることを示す通知（ハートビート）を監視サーバ装置２０に定期的に送信する。ハートビート送信部１１５は、当該データサーバ装置１０の識別情報や負荷の状態を示す統計情報等（以下、「データサーバ情報」という。）をハートビートに含める。ハートビート応答受信部１１６は、ハートビートに対する監視サーバ装置２０からの応答を受信し、当該応答に含まれる、データサーバ装置１０の一覧情報を補助記憶装置１０２に記録する。
【００２６】
本体記憶部１１７は、補助記憶装置１０２を用いて、当該データサーバ装置１０に割り当てられたファイルの本体（実体）を記憶する。名前情報記憶部１１８は、所在情報記憶手段の一例であり、当該データサーバ装置１０に割り当てられたディレクトリに関する名前情報（所在情報）を補助記憶装置１０２を用いて記憶する。なお、ディレクトリに関する名前情報とは、当該ディレクトリ直下のファイル又はディレクトリの名前情報（所在情報）の集合をいう。
【００２７】
一般的に、ＮＡＳでは、ファイルに関する情報として、ファイル本体、ファイルの属性情報、及び名前情報の３種類の情報が管理される。ファイル本体は、ファイルの実体そのものである。属性情報は、ファイルの属性情報である。属性情報の一部として、作成日時、参照日時、及びデータサイズ等がある。名前情報は、人間がデータを管理し易いようにするための便宜的な情報であり、ディレクトリ構造を実現し、各ファイルにパス名やファイル名を付与するための情報である。名前情報は、ディレクトリ単位で管理される。例えば、或るディレクトリの名前情報には、当該ディレクトリ、当該ディレクトリの親ディレクトリ、当該ディレクトリの直下に格納されているファイル又はディレクトリの情報が含まれる。なお、属性情報及び名前情報は、総称してメタ情報と呼ばれる。メタ情報は、ディレクトリに関しても管理される。上記したように本実施の形態では、以上の構成情報のうち、ファイル本体は本体記憶部１１７に記憶され、名前情報は名前情報記憶部１１８に記憶される。
【００２８】
すなわち、本実施の形態において、名前情報は、ファイル本体と分離されて管理される。単に分離されるだけでなく、複数のデータサーバ装置１０に分散されて管理される。
【００２９】
図６は、本実施の形態における名前情報及びファイル本体の管理形態の概要を説明するための図である。同図（Ａ）において、ｄ１は、ディレクトリ構造を示す。矩形は、ディレクトリごとの名前情報を示し、円はファイル本体を示す。
【００３０】
（Ａ）の例では、ディレクトリ１、４、及び６に関する名前情報と、ファイルｂのファイル本体とは、データサーバ装置１０ａにおいて管理されている。ディレクトリ２及び３に関する名前情報と、ファイルｄ及びｅのファイル本体とは、データサーバ装置１０ｂにおいて管理されている。ディレクトリ５に関する名前情報と、ファイルａ及びｃのファイル本体とは、データサーバ装置１０ｃにおいて管理されている。このように、一つのディレクトリ構造（一つのルートディレクトリに係るディレクトリ構造）に属するディレクトリに関する名前情報は、その親子関係に関係無く、各データサーバ装置１０に分散されて管理される。親子関係に関係無くとは、例えば、ディレクトリ１の子ディレクトリであるディレクトリ２及び３に関する名前情報が、必ずしもディレクトリ１に関する名前情報と同じデータサーバ装置１０において管理されるとは限らないことをいう。
【００３１】
一方、同図（Ｂ）は、クライアント装置とデータサーバ装置とが１対１に対応する従来のＮＡＳにおける名前情報の管理形態を参考までに示すものである。（Ｂ）では、一つのツリー構造に属するディレクトリの名前情報及びファイルの本体は、同一のデータサーバ装置において管理されることが示されている。例えば、ディレクトリ構造ｄ２に属するディレクトリの名前情報及びファイルの本体は、データサーバ装置ｘにおいて管理される。一方、ディレクトリ構造ｄ２に属するディレクトリの名前情報及びファイルの本体は、データサーバ装置ｙにおいて管理される。
【００３２】
なお、本実施の形態において、属性情報は、ファイル本体に付随して管理されることとする。すなわち、属性情報は、ファイル本体に付随して本体記憶部１１７に記憶される。これは、ファイル本体と属性情報とが共に利用される機会が多いことに鑑みたものである。但し、属性情報は、名前情報に付随して管理されてもよい。
【００３３】
図６（Ａ）のように名前情報の分散管理を実現するため、各ディレクトリに関する名前情報は、図７に示されるような構造を有する。
【００３４】
図７は、一つのディレクトリに関する名前情報の一例を示す図である。同図には、図６（Ａ）における「ディレクトリ２」に関する名前情報を示す。
【００３５】
当該名前情報には、親ディレクトリ１に関するデータＤ１、カレントディレクトリ２に関するデータＤ２、ファイルａに関するデータＤ３、ディレクトリ５に関するデータＤ４が含まれている。各データは、名前、ファイルＩＤ、及びデータサーバＩＤの３つの項目を含む。名前は、ファイル又はディレクトリの名前である。但し、親ディレクトリの名前は“．．”によって、カレントディレクトリの名前は“．”によって表記されている。各ディレクトリの名前の実値は、当該ディレクトリの親ディレクトリの名前情報に記録されているからである。ファイルＩＤは、第二の識別情報の一例であり、ファイル又はディレクトリの識別子である。サーバＩＤは、第一の識別情報の一例であり、ディレクトリ又はファイルが割り当てられたデータサーバ装置１０のサーバＩＤである。サーバＩＤは、各データサーバ装置１０の識別情報である。各データサーバ装置１０を識別可能なものであれば、どのような情報がサーバＩＤとして用いられてもよい。例えば、ＩＰアドレスやホスト名がサーバＩＤとして用いられてもよい。
【００３６】
本実施の形態では、ファイルＩＤ及びサーバＩＤの組み合わせによって、ファイル又はディレクトリが一意に特定される。なお、ディレクトリが割り当てられたデータサーバ装置１０とは、当該ディレクトリに関する名前情報を管理しているデータサーバ装置１０である。また、ファイルが割り当てられたデータサーバ装置１０とは、当該ファイルの本体を記憶しているデータサーバ装置１０である。
【００３７】
例えば、データＤ３を参照すると、ファイルａのファイルＩＤは「７」であり、サーバＩＤが「ＤＡＴＡ３」であるデータサーバ装置１０にファイルａの本体が格納されていることが分かる。また、データ５を参照すると、ディレクトリ５のファイルＩＤは「８」であり、データサーバ装置１０にディレクトリ５が割り当てられていることが分かる。なお、一つのデータサーバ装置１０に複数のディレクトリが割り当てられてもよい。また、ディレクトリが割り当てられないデータサーバ装置１０が存在してもよい。
【００３８】
図５に戻る。監視サーバ部２１は、ハートビート受信部２１１及びハートビート応答部２１２等を有する。ハートビート受信部２１１は、ハートビート通信における各データサーバ装置１０からの通知を受信し、当該通知に含まれている、データサーバ情報をデータサーバ一覧記憶部２１３に記録する。ハートビート部は、各データサーバ装置１０より通知され、データサーバ一覧記憶部２１３に記録されているデータサーバ情報の一覧を各データサーバ装置１０に返信する。これにより、各データサーバ装置１０は、他のデータサーバ装置１０の状態等を知ることができる。
【００３９】
以下、ファイル管理システム１の処理手順について説明する。まず、データサーバ装置１０の起動時の処理手順について説明する。
【００４０】
図８は、新規のデータサーバ装置の起動時の処理手順を説明するための図である。新規のデータサーバ装置１０とは、ファイル管理システム１の構成要素として初めて起動されるデータサーバ装置１０をいう。
【００４１】
新規のデータサーバ装置１０が起動されると（Ｓ１０１）、当該データサーバ装置１０のハートビート送信部１１５は、当該データサーバ装置１０のサーバＩＤを当該データサーバ装置１０の所定の記憶領域より取得しようとする（Ｓ１０２）。サーバＩＤは、過去に、監視サーバ装置２０によってその存在が認識されたデータサーバ装置１０に対して割り当てられるものである。しかし、当該データサーバ装置１０は、新規のデータサーバ装置１０であるため、その存在は監視サーバ装置２０によって認識されていない。したがって、サーバＩＤは未だ当該データサーバ装置１０に割り当てられていない。よって、ステップＳ１０２では、サーバＩＤは取得されない。
【００４２】
続いて、ハートビート送信部１１５は、空のサーバＩＤ及びＩＰアドレスを指定して当該データサーバ装置１０の起動を示す通知を監視サーバ装置２０に送信する（Ｓ１０３）。監視サーバ装置２０のハートビート受信部２１１は、当該通知を受信すると（Ｓ１０４）、当該通知において空のサーバＩＤが指定されていることに応じて、未使用のサーバＩＤを当該データサーバ装置１０に割り当てる（Ｓ１０５）。続いて、ハートビート受信部２１１は、データサーバ一覧記憶部２１３に新たなレコードを生成し、当該レコードに当該サーバＩＤ及び当該ＩＰアドレスを記録（登録）する（Ｓ１０６）。
【００４３】
図９は、データサーバ一覧記憶部の構成例を示す図である。同図に示されるように、データサーバ一覧記憶部２１３は、稼働中のデータサーバ装置１０ごとに、サーバＩＤ、ＩＰアドレス、総容量、使用率、及びスループット等を記憶する。総容量は、データサーバ装置１０の補助記憶装置１０２の総容量である。使用率は、補助記憶装置１０２の使用率である。スループットは、直近の（例えば、過去の所定期間における）実際の通信量である。総容量、使用率、及びスループット等は、データサーバ装置１０の状態又は負荷を示す統計情報の一例に過ぎない。したがって、他の情報が管理されてもよい。
【００４４】
ステップＳ１０６では、サーバＩＤ及びＩＰアドレスが新たなレコードに記録される。但し、ステップＳ１０３において、総容量、使用率、及びスループット等がハートビート送信部１１５より送信されてもよい。この場合、総容量、使用率、及びスループット等も新たなレコードに記録される。
【００４５】
続いて、ハートビート応答部２１２は、当該サーバＩＤをデータサーバ装置１０に返信する（Ｓ１０７）。なお、当該サーバＩＤと共に、データサーバ一覧記憶部２１３の内容（データサーバ情報の一覧）が返信されてもよい。
【００４６】
当該データサーバ装置１０のハートビート応答受信部１１６は、サーバＩＤを受信すると（Ｓ１０８）、当該サーバＩＤを当該データサーバ装置１０に割り当てられたサーバＩＤとして、所定の記憶領域に記録する（Ｓ１０９）。また、ハートビート応答受信部１１６は、データサーバ情報の一覧が受信された場合は、当該一覧についても、所定の記憶領域に記録しておく。
【００４７】
以上で、当該データサーバ装置１０は、監視サーバ装置２０に登録された。また、当該データサーバ装置１０には、監視サーバ装置２０によってサーバＩＤが割り当てられた。したがって、当該データサーバ装置１０は、ファイル管理システム１において、当該サーバＩＤによって識別可能となった。なお、データサーバ装置１０が停止する場合、ハートビート送信部１１５は、サーバＩＤが指定された停止通知を監視サーバ装置２０に送信する。監視サーバ装置２０のハートビート受信部２１１は、当該停止通知に指定されたサーバＩＤに係るレコードをデータサーバ一覧記憶部２１３より削除する。
【００４８】
続いて、既存のデータサーバ装置１０の起動時の処理手順について説明する。図１０は、既存のデータサーバ装置の起動時の処理手順を説明するための図である。既存のデータサーバ装置１０とは、過去にサーバＩＤが割り当てられているデータサーバ装置１０をいう。
【００４９】
既存のデータサーバ装置１０が起動されると（Ｓ１１１）、当該データサーバ装置１０のハートビート送信部１１５は、当該データサーバ装置１０の所定の記憶領域よりサーバＩＤを取得する（Ｓ１１２）。当該データサーバ装置１０は、既存のデータサーバ装置１０であるため、当該サーバＩＤは正常に取得される。
【００５０】
続いて、ハートビート送信部１１５は、当該サーバＩＤ及びＩＰアドレスを指定して当該データサーバ装置１０の起動を示す通知を監視サーバ装置２０に送信する（Ｓ１１３）。監視サーバ装置２０のハートビート受信部２１１は、当該通知を受信すると（Ｓ１１４）、当該通知においてサーバＩＤが指定されていることに応じて、データサーバ一覧記憶部２１３に新たなレコードを生成し、当該レコードに当該サーバＩＤ及び当該ＩＰアドレスを記録（登録）する（Ｓ１１５）。なお、ステップＳ１１３において、総容量、使用率、及びスループット等がハートビート送信部１１５より送信されてもよい。この場合、総容量、使用率、及びスループット等も新たなレコードに記録される。
【００５１】
続いて、ハートビート応答部２１２は、当該サーバＩＤを当該データサーバ装置１０に返信する（Ｓ１１６）。なお、当該サーバＩＤと共に、データサーバ一覧記憶部２１３の内容（データサーバ情報の一覧）が返信されてもよい。
【００５２】
当該データサーバ装置１０のハートビート応答受信部１１６は、当該サーバＩＤの受信に応じ、当該データサーバ装置１０が正常に監視サーバ装置２０に登録されたことを認識する（Ｓ１１７）。なお、ハートビート応答受信部１１６は、データサーバ情報の一覧が受信された場合は、当該一覧を所定の記憶領域に記録しておく。
【００５３】
続いて、データサーバ装置１０の起動後に継続的に実行されるハートビート通信の処理手順について説明する。図１１は、ハートビート通信の処理手順を説明するための図である。
【００５４】
ステップＳ１２１において、データサーバ装置１０のハートビート送信部１１５は、数秒ごとに、ハートビートを監視サーバ装置２０に送信する。監視サーバ装置２０のハートビート受信部２１１は、ハートビートの受信に応じ、ハートビートに含まれているサーバＩＤに係るデータサーバ装置１０が生存（正常稼動）していることを認識する（Ｓ１２２）。なお、本実施の形態において、ハートビートには、サーバＩＤの他に、当該データサーバ装置１０の状態又は負荷を示す統計情報（総容量、使用率、及びスループット等）と、ハートビーの野送信元のデータサーバ装置１０が保持しているデータサーバ情報の一覧のバージョン番号も含まれる。当該バージョン番号は、データサーバ一覧記憶部２１３の内容（すなわち、データサーバ情報の一覧）に対するバージョン番号にも相当する。バージョン番号は、データサーバ一覧記憶部２１３の内容の更新に応じて更新される。
【００５５】
続いて、ハートビート受信部２１１は、受信されたハートビートによって、データサーバ一覧記憶部２１３を更新すべきか否かを判定する（Ｓ１２３）。具体的には、当該ハートビートに含まれる情報と、当該ハートビートに含まれるサーバＩＤに対応づけてデータサーバ一覧記憶部２１３に記録されている情報との間に相違点があるか否かが判定される。
【００５６】
当該相違点が有る場合（Ｓ１２３でＹｅｓ）、ハートビート受信部２１１は、当該ハートビートに含まれていた情報によってデータサーバ一覧記憶部２１３を更新する。また、ハートビート受信部２１１は、データサーバ一覧記憶部２１３に対するバージョン番号を増加させる（Ｓ１２４）。なお、当該相違点が無い場合（Ｓ１２３でＮｏ）、ステップＳ１２４は実行されずにステップＳ１２５に進む。
【００５７】
続いて、ハートビート応答送信部は、ハートビートに含まれていたバージョン番号は、現在のバージョン番号より古いか否かを判定する（Ｓ１２５）。ハートビートに含まれていたバージョン番号の方が古い場合（Ｓ１２５でＹｅｓ）、ハートビート応答送信部は、ハートビートの応答に、現在のデータサーバ一覧記憶部２１３の内容及び当該内容のバージョン番号を含める（Ｓ１２６）。続いて、ハートビート応答送信部は、ハートビートの送信元に対してハートビートの応答を送信する（Ｓ１２７）。
【００５８】
上記の通り、本実施の形態では、データサーバ情報の一覧に関してバージョン管理が行われる。ハートビートには、データサーバ装置１０が有しているデータサーバ情報の一覧のバージョン番号が含められ、当該バージョン番号が監視サーバ装置２０側のバージョン番号より古い場合に、最新のデータサーバ情報の一覧が返信される。したがって、ハートビートの応答にデータサーバ情報の一覧を含めることによる通信負荷の増加量を抑制することができる。
【００５９】
なお、ステップ１２６において応答に含められるデータサーバ情報の一覧は、ハートビートに含まれていたバージョン番号に係る内容と、現在のデータサーバ一覧記憶部２１３の内容との差分に限定されてもよい。その場合、監視サーバ装置２０には、過去の所定数のバージョン分のデータサーバ情報の一覧が記憶されていればよい。そうすることにより、監視サーバ装置２０は、ハートビートに指定されたバージョン番号に対応するデータサーバ情報の一覧の内容を知ることができ、最新の内容との差分を得ることができるからである。
【００６０】
なお、監視サーバ装置２０は、所定期間ハードビートが受信されないデータサーバ装置１０に対するレコードは、データサーバ一覧記憶部２１３より削除する。具体的には、図９では省略されているが、データサーバ装置１０ごとに、ハートビートが最後に受信された日時がデータサーバ一覧記憶部２１３に記録される。監視サーバ装置２０は、最後に受信された日時から所定期間経過したレコードを自動的に削除する。
【００６１】
続いて、ファイル生成時の処理手順について説明する。図１２は、ファイル生成処理の処理手順を説明するための図である。同図の処理手順は、クライアント装置３０における、Ｌ７スイッチ部３２のファイル操作仲介部３２１によるＮＡＳクライアント部３１からのファイルの生成要求（ＣＲＥＡＴＥコマンド）の受信に応じて開始される。ＣＲＥＡＴＥコマンドには、生成対象のファイルのパス名が指定される。ここでは、「￥ａａａ￥ｂｂｂ」というディレクトリに、「ｃｃｃ」というファイル名のファイルの生成が要求された場合について説明する。したがって、パス名として「￥ａａａ￥ｂｂｂ￥ｃｃｃ」が指定される。また、同図の初期状態において、ＦＤキャッシュ部３２３の内容は空であるとする。
【００６２】
本実施の形態では、各ディレクトリ及び各ファイルが複数のデータサーバ装置１０に分散されて割り当てられている。したがって、ファイル操作仲介部３２１は、まず、ファイル「ｃｃｃ」の生成先のディレクトリ「￥ａａａ￥ｂｂｂ」のＦＤの入手をＦＤ取得部３２２に要求する。ＦＤ取得部３２２は、「￥ａａａ￥ｂｂｂ」をルートディレクトリ「￥」から順に一つずつ階層を辿ることにより、目的とするＦＤを入手する。
【００６３】
具体的には、ステップＳ２０１において、ＦＤ取得部３２２は、ルートディレクトリ（「￥」）が割り当てられているデータサーバ装置１０Ｒに対し、ルート直下のディレクトリ「ａａａ」に関するＬＯＯＫＵＰ要求（ＦＤの取得要求）を送信する。すなわち、本実施の形態において、ＦＤ取得部３２２には、ルートディレクトリが割り当てられているデータサーバ装置１０Ｒの識別情報（サーバＩＤ又はＩＰアドレス等）が予め設定されている。したがって、ステップＳ２０１では、設定値であるデータサーバ装置１０Ｒの識別情報に基づいて、データサーバ装置１０ＲにＬＯＯＫＵＰ要求が送信される。なお、データサーバ装置１０Ｒの識別情報としてサーバＩＤが設定されている場合、ＦＤ取得部は、監視サーバ装置２０に当該サーバＩＤに対応するＩＰアドレスを問い合わせればよい。又は、Ｌ７スイッチ部３２は、定期的に監視サーバ装置２０よりデータサーバ装置１０の一覧情報を取得し、クライアント装置３０の記憶装置に記録しておいてもよい。
【００６４】
なお、ルートディレクトリが割り当てられたデータサーバ装置１０Ｒは、他のディレクトリ又はファイルも割り当てられ得る。また、ＬＯＯＫＵＰ要求は、ＮＡＳプロトコルにおいて標準のリクエストである。
【００６５】
データサーバ装置１０Ｒの名前情報記憶部１１８には、少なくとも、ルートディレクトリに関する名前情報（図７参照）が記憶されている。すなわち、ルートディレクトリ直下の各ファイル又は各ディレクトリについて、名前、ファイルＩＤ、及びサーバＩＤが記憶されている。したがって、データサーバ装置１０ＲのＦＤ応答部１１１は、ＬＯＯＫＵＰ要求に応じ、当該名前情報より、名前が「ａａａ」であるディレクトリに対するデータを取得し、当該データに基づいて、ディレクトリ「ａａａ」のＦＤを生成する（Ｓ２０２）。
【００６６】
図１３は、本実施の形態におけるファイル記述子の構成例を示す図である。同図には、横方向にビット、縦方向にバイトを単位として、６４バイトのＦＤ内における各データ項目の配列が示されている。
【００６７】
本実施の形態では、ＮＦＳにおいて利用されるＦＤの標準の形式をそのまま踏襲し、ＦＤの未使用領域にＦＤに対応するディレクトリ又はファイルが割り当てられているデータサーバ装置１０のサーバＩＤを埋め込むことにより拡張が図られている。すなわち、標準のＦＤでは、１２バイト目以降が未使用領域となっているところ、本実施の形態では、１２バイト目から４１バイト目の３０バイト分の領域にサーバＩＤが記録される。ＦＤにサーバＩＤが記録されるのは、Ｌ７スイッチ部３２が、ＦＤに基づいて、当該ＦＤに対応するファイル又はディレクトリが割り当てられたデータサーバ装置１０を判別可能とするためである。サーバＩＤを記録する領域のバイト数は、サーバＩＤのバイト数に応じて適宜変更されてもよい。他の項目については、標準のＦＤと同様であるため、その説明は省略する。また、ＣＩＦＳ等、ＮＦＳ以外のＮＡＳプロトコルが利用される場合であっても、同様に、ＦＤ又はファイルハンドルの未使用領域に対してサーバＩＤが埋め込まれればよい。
【００６８】
したがって、ステップＳ２０２では、ルートディレクトリに関する名前情報より取得された「ａａａ」に関するデータに含まれているファイルＩＤ及びサーバＩＤが所定の位置に記録されたＦＤが生成される。図１３に示されるように、ファイルＩＤは、７バイト目に記録される。
【００６９】
なお、ＦＤは、ＮＡＳクアライアント部に対しても公開される（提示される）データである。但し、サーバＩＤは、未使用領域に埋め込まれ、既存の他のデータ項目に変更は無い。したがって、サーバＩＤは、ＮＡＳクライアント部３１に対しては隠蔽される。よって、サーバＩＤがＦＤによって埋め込まれることによるＮＡＳクライアント部３１に対する影響（例えば、ソースコードの修正等が必要となること）は無い。
【００７０】
続いて、ＦＤ応答部１１１は、生成されたＦＤ（「￥ａａａ」に対するＦＤ）をＦＤ取得部３２２に返信する（Ｓ２０３）。ＦＤ取得部３２２は、返信されたＦＤを、当該ＦＤに対応するディレクトリのパス名（「￥ａａａ」）に関連付けてＦＤキャッシュ部３２３に記録する（Ｓ２０４）。
【００７１】
続いて、ＦＤ取得部３２２は、返信されたＦＤよりサーバＩＤを抽出し、当該サーバＩＤに係るデータサーバ装置１０（ここでは、データサーバ装置１０ａ）に対して、当該ＦＤと、ディレクトリ名「ｂｂｂ」とを指定してＬＯＯＫＵＰ要求を送信する（Ｓ２０５）。なお、データサーバ装置１０ａのＩＰアドレスは、当該サーバＩＤをキーとしてデータサーバ一覧記憶部２１３に記録されているデータサーバ装置１０の一覧情報より取得される。当該一覧情報は、ファイル操作時の性能を考慮すると、例えば、クライアント装置３０の起動時等、所定のタイミングにおいて、クライアント装置３０に取得しておき、クライアント装置３０のメモリ又は補助記憶装置に記録（保持）しておくとよい。そうすることにより、クライアント装置３０において、ＦＤに含まれているサーバＩＤからＩＰアドレスを導出する際に、ネットワーク通信を行う必要性を低減させることができる。
【００７２】
続いて、データサーバ装置１０ａのＦＤ応答部１１１は、当該ＬＯＯＫＵＰ要求に応じ、当該ＦＤに記録されたファイルＩＤ及びサーバＩＤに係るディレクトリ「￥ａａａ」に関する名前情報より、ディレクトリ「ｂｂｂ」に対するデータを取得する。ＦＤ応答部１１１は、当該データに含まれるサーバＩＤ及びファイルＩＤが記録されたＦＤを生成する（Ｓ２０６）。続いて、ＦＤ応答部１１１は、生成されたＦＤをＦＤ取得部３２２に返信する（Ｓ２０７）。ＦＤ取得部３２２は、返信されたＦＤを、当該ＦＤに対応するディレクトリのパス名（「￥ａａａ￥ｂｂｂ」）に関連付けてＦＤキャッシュ部３２３に記録する（Ｓ２０８）。
【００７３】
以上で、目的とするディレクトリのＦＤは入手された。そこで、ファイル操作仲介部３２１は、当該ＦＤのサーバＩＤに対応するＩＰアドレスを、サーバ一覧より取得する。ファイル操作仲介部３２１は、当該ＩＰアドレス宛（ここでは、「データサーバ装置１０ｂ」）に、ファイルの生成要求（ＣＲＥＡＴＥ要求）を送信する（Ｓ２０９）。ファイルの生成要求には、当該ＦＤと生成対象のファイルのファイル名「ｃｃｃ」とが指定される。
【００７４】
続いて、データサーバ装置１０ｂのファイル生成先選択部１１２は、生成要求に指定されたＦＤに対応するディレクトリの名前情報を参照し、当該名前情報内に、名前が「ｃｃｃ」であるファイル又はディレクトリに関するデータが含まれていないか否かを確認する（Ｓ２１０）。すなわち、「￥ａａａ￥ｂｂｂ」下に、既に「ｃｃｃ」という名前のファイル又はディレクトリが生成されていないか否かがチェックされる。当該名前情報内に、名前が「ｃｃｃ」であるファイル又はディレクトリに関するデータが含まれている場合、エラーが返信される。
【００７５】
当該名前情報内に、名前が「ｃｃｃ」であるファイル又はディレクトリに関するデータが含まれていない場合、ファイル生成先選択部１１２は、生成対象のファイルの生成先のデータサーバ装置１０（以下、「子データサーバ装置」という。）を決定（選択）する（Ｓ２１１）。例えば、ファイル生成先選択部１１２は、データサーバ装置１０ｂにおいて保持されているデータサーバ情報の一覧に含まれている統計情報（状態情報）に基づいて、現在の負荷が相対的に低い子データサーバ装置を選択する。例えば、総容量及び使用率に基づいて、空き容量が最大であるデータサーバ装置１０が子データサーバ装置として選択される。又は、スループット（直前の通信量）が最小であるデータサーバ装置１０が、子データサーバ装置として選択される。また、親ディレクトリが割り当てられているデータサーバ装置１０が子データサーバ装置として選択されてもよい。また、ランダムに子データサーバ装置が選択されてもよい。また、他の方法によって子データサーバ装置が選択されてもよい。
【００７６】
続いて、ファイル生成要求転送部１１３は、子データサーバ装置として選択されたデータサーバ装置１０（ここでは、データサーバ装置１０ｃ）に、ファイルの生成要求を転送する（Ｓ２１２）。したがって、当該生成要求には、ステップＳ２０９と同じＦＤ及びファイル名「ｃｃｃ」が指定される。
【００７７】
続いて、データサーバ装置１０ｃのファイル操作部１１４は、当該生成要求に指定されたファイルをデータサーバ装置１０ｃの本体記憶部１１７に生成する（Ｓ２１３）。ファイルの生成に伴って、当該ファイルのファイルＩＤが記録されたＦＤも生成される。ファイル操作部１１４は、当該ＦＤにデータサーバ装置１０ｃのサーバＩＤを記録する。続いて、ファイル操作部１１４は、ファイルの生成要求に対する応答として、生成されたＦＤ（すなわち、「￥ａａａ￥ｂｂｂ￥ｃｃｃ」のＦＤ）をデータサーバ装置１０ｂに返信する（Ｓ２１４）。
【００７８】
データサーバ装置１０ｂのファイル生成要求転送部１１３は、返信されたＦＤに基づいて、ディレクトリ「￥ａａａ￥ｂｂｂ」に関する名前情報にファイル「ｃｃｃ」に関するデータを追加登録する（Ｓ２１５）。具体的には、ステップＳ２１０において受信されたファイル名「ｃｃｃ」と、ステップＳ２１４において返信されたＦＤに含まれているファイルＩＤ及びサーバＩＤとが対応付けられて当該名前情報に記録される。
【００７９】
なお、ステップＳ２１１において、データサーバ装置１０ｂが子データサーバ装置として選択された場合、ステップＳ２１２は実行されない。この場合、データサーバ装置１０ｂのファイル操作部１１４によって、ステップＳ２１２及びＳ２１４と同様の処理が実行される。
【００８０】
続いて、ファイル生成要求転送部１１３は、「￥ａａａ￥ｂｂｂ￥ｃｃｃ」のＦＤをＬ７スイッチ部３２に返信する（Ｓ２１６）。Ｌ７スイッチ部３２のファイル操作仲介部３２１は、返信されたＦＤを、生成されたファイルのパス名「￥ａａａ￥ｂｂｂ￥ｃｃｃ」に関連付けてＦＤキャッシュ部３２３に記録する（Ｓ２１７）。その後、ファイル操作仲介部３２１は、ファイル生成要求元のＮＡＳクライアント部３１に、当該ＦＤを返信する。ＮＡＳクライアント部３１は、当該ＦＤを用いて、ファイル「￥ａａａ￥ｂｂｂ￥ｃｃｃ」への書き込み等の要求をファイル操作仲介部３２１に対して行うことができる。その場合、ファイル操作仲介部３２１は、当該ＦＤに記録されているサーバＩＤに係るデータサーバ装置１０に対して当該ファイルへの書き込み等の要求を送信する。すなわち、ＦＤが取得されていれば、当該ＦＤに対応するファイルを有するデータサーバ装置１０に対して直接的に要求が送信される。したがって、ＦＤが入手されているときは、名前情報が分散されていることによる性能への影響はほとんど無いと考えられる。サーバＩＤに対応するＩＰアドレスは、例えば、サーバ一覧より取得される。
【００８１】
なお、図１２は、ファイルの生成処理として説明したが、ディレクトリの生成処理も同様の手順で実行される。
【００８２】
ところで、本実施の形態において、ステップＳ２０９におけるファイルの生成要求と、ステップＳ２１１におけるファイルの生成要求とは、同一のメッセージであるにも拘わらず、データサーバ装置１０ｂとデータサーバ装置１０ｃとにおいて実行される処理手順は異なる。これは、同一のメッセージに係るファイルの生成要求であっても、当該生成要求に指定されているＦＤに対応するディレクトリが割り当てられているデータサーバ装置１０であるか否かによって、ＮＡＳサーバ部１１は実行する処理を変化させるからである。すなわち、当該生成要求に指定されているＦＤに対応するディレクトリが割り当てられているデータサーバ装置１０の場合、データサーバ装置１０ｂと同様の処理手順が実行される。一方、当該生成要求に指定されているＦＤに対応するディレクトリが割り当てられていないデータサーバ装置１０の場合は、データサーバ装置１０ｃと同様の処理手順が実行される。当該生成要求に指定されているＦＤに対応するディレクトリが割り当てられているか否かの判定は、当該ＦＤに記録されているファイルＩＤ及びサーバＩＤがカレントディレクトリのデータとして登録されている名前情報が、当該データサーバ装置１０の名前情報記憶部１１８に記録されているか否かに基づいて行えばよい。
【００８３】
または、本実施の形態において、当該生成要求に指定されているＦＤに対応するディレクトリが割り当てられているか否かの判定結果は、当該生成要求がＬ７スイッチ部３２より受信されたか否かの判定結果と同じである。したがって、後者の判定結果に基づいて、生成要求に対する処理を変化させてもよい。この場合、生成要求の送信元のＩＰアドレスが、データサーバ一覧記憶部２１３に記録されていなければ、Ｌ７スイッチ部３２からの生成要求と判定すればよい。
【００８４】
続いて、図１２におけるＦＤ取得部３２２の処理の詳細について説明する。図１４は、ファイル記述子の取得処理の処理手順を説明するための図である。
【００８５】
ステップＳ２５１において、ＦＤ取得部３２２は、ファイル操作仲介部３２１よりＦＤの取得が要求されたディレクトリ「￥ａａａ￥ｂｂｂ」に対するＦＤがＦＤキャッシュ部３２３に記録されているか否かを確認する。当該ＦＤがＦＤキャッシュ部３２３に記録されている場合、ＦＤ取得部３２２は当該ＦＤをファイル操作仲介部３２１に出力する。
【００８６】
当該ＦＤがＦＤキャッシュ部３２３に記録されていない場合、ＦＤ取得部３２２は、ディレクトリ「￥ａａａ￥ｂｂｂ」の一階層上のディレクトリ「￥ａａａ」に対するＦＤがＦＤキャッシュ部３２３に記録されているか否かを確認する（Ｓ２５２）。すなわち、ディレクトリ階層を一階層ずつ遡りながら、キャッシュされているＦＤが探索される。ディレクトリ「￥ａａａ」に対するＦＤがＦＤキャッシュ部３２３に記録されていない場合、ＦＤ取得部３２２は、ルートディレクトリが割り当てられているデータサーバ装置１０ｘに対して、「ａａａ」という名前のルート直下のディレクトリに関するＬＯＯＫＵＰ要求を送信する（Ｓ２５３）。なお、同図中、括弧内のステップ番号は、図１２において対応するステップ番号である。
【００８７】
続いて、ＦＤ取得部３２２は、データサーバ装置１０ｘのＦＤ応答部１１１より返信されたＦＤを、該ＦＤに対応するディレクトリのパス名（「￥ａａａ」）に関連付けてＦＤキャッシュ部３２３に記録する（Ｓ２５４）。
【００８８】
ステップＳ２５４に続いて、又はステップＳ２５２において「￥ａａａ」に対するＦＤがＦＤキャッシュ部３２３に記録されていた場合、ＦＤ取得部３２２は、「￥ａａａ」に対するＦＤに記録されているサーバＩＤに係るデータサーバ装置１０ａに対して、当該ＦＤを指定してディレクトリ「ｂｂｂ」に関するＬＯＯＫＵＰ要求を送信する（Ｓ２５５）。続いて、ＦＤ取得部３２２は、データサーバ装置１０ａのＦＤ応答部１１１より返信されたＦＤを、該ＦＤに対応するディレクトリのパス名（「￥ａａａ￥ｂｂｂ」）に関連付けてＦＤキャッシュ部３２３に記録する（Ｓ２５６）。続いて、ＦＤ取得部３２２は、当該ＦＤをファイル操作仲介部３２１に出力する。
【００８９】
このように、取得されたＦＤは、ＦＤキャッシュ部３２３にキャッシュされる。また、目的とするＦＤは、まず、ＦＤキャッシュ部３２３に記録されているか確認し、記録されている場合は、当該ＦＤが利用される。したがって、ディレクトリ「￥ａａａ￥ｂｂｂ」のＦＤがＦＤキャッシュ部３２３に記録されている場合、図１２の処理手順は、図１５に示されるようになる。
【００９０】
図１５は、親ディレクトリのファイル記述子がキャッシュされている場合のファイル生成処理の処理手順を説明するための図である。図１５中、図１２と同一ステップには、同一ステップ番号を付し、その説明は省略する。
【００９１】
図１５と図１２とを比較すると、図１５ではステップＳ２０１からＳ２０８の実行が不要である点が図１２と異なる。すなわち、ディレクトリ「￥ａａａ￥ｂｂｂ」のＦＤを探索するための処理が不要とされる。
【００９２】
このように、ＦＤがキャッシュにより、ＬＯＯＫＵＰ要求の頻度を低下させることができる。その結果、名前情報が分散されることによる性能の劣化の可能性を緩和させることができる。なお、ＦＤキャッシュ部３２３の容量は実際に使用する装置の仕様に応じて適宜定めればよい。また、キャッシュが溢れる場合に破棄対象とするＦＤを決定するためのアルゴリズムについては、公知の技術（例えば、ＦＩＦＯ（First-In First-Out）やＬＲＵ（Least Recently Used）等）を用いればよい。
【００９３】
なお、上記では、ファイルの生成に関して説明したが、書き込み（ＷＲＩＴＥ）や、読み込み（ＲＥＡＤ）に関しても基本的に同様の処理手順が実行されればよい。すなわち、Ｌ７スイッチ部３２は、書き込み又は読み込み対象のファイルのＦＤに記録されているサーバＩＤに対応するデータサーバ装置１０に書き込み又は読み込みを送信すればよい。
【００９４】
上述したように、本実施の形態のファイル管理システム１によれば、ファイルの生成要求を受信した第一のデータサーバ装置１０は、第二のデータサーバ装置１０にファイルを生成させ、当該ファイルに関するサーバＩＤ及びファイルＩＤを、第一のデータサーバ装置１０に割り当てられているディレクトリに関する名前情報に登録する。このような動作を各ファイルサーバ装置１０が実行することにより、各名前情報とファイルの本体とは複数のファイルサーバ装置１０に分散されて管理されるようになる。その結果、従来のメタサーバは不要となり、メタサーバによる各種の制限から解放される。具体的には、ファイル管理システム１のスケーラビリティ（拡張性）を向上させることができる。すなわち、メタサーバが存在する場合に比べて、より多くの（理論的には無限の）データサーバ装置１０を統合することができる。
【００９５】
また、メタサーバにアクセスが集中することによるボトルネックの存在を解消することができる。すなわち、名前情報が分散されているため、分散された名前情報に並列的にアクセスすることができ、ファイル又はディレクトリの操作について並列性を向上させることができる。斯かる並列性は、データサーバ装置１０の台数が増加すればするほど顕著なものとなる。
【００９６】
また、Ｌ７スイッチ部３２が、分散された名前情報を解決し、従来のＮＡＳプロトコルと同様の通信インタフェースをＮＡＳクライアント部３１に提供する。すなわち、Ｌ７スイッチ部３２によって、複数のデータサーバ装置１０及び複数のデータサーバ装置１０におけるファイルに関する管理形態が隠蔽される。したがって、従来のＮＡＳクライアント部３１を容易に本実施の形態のファイル管理システム１に移行させることができる。
【００９７】
また、Ｌ７スイッチ部３２と各データサーバ装置１０との間のプロトコルについても、従来のＮＡＳプロトコルが利用できるため、データサーバ装置１０側の変更量を軽減することができる。
【００９８】
なお、本実施の形態では、ファイルの生成時において、データサーバ装置１０から他のデータサーバ装置１０への生成要求の転送等、従来には無い処理が発生する。しかし、ファイルの生成後は、ＦＤに含まれるサーバＩＤに基づいて当該ファイルに対して直接的にアクセスが可能となる。また、ファイルの生成コマンドの使用頻度は、ファイル操作に関する各種のコマンドの中でも微々たるものであるため（約１％程度）、ファイルの生成処理の処理ステップの増加が、全体の性能に大きく影響するとは考えにくい。
【００９９】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１００】
以上の説明に関し、更に以下の項を開示する。
（付記１）
複数のファイルを分散して記憶する複数のファイル管理装置を有するファイル管理システムであって、
前記各ファイル管理装置は、
当該ファイル管理装置に割り当てられたディレクトリ下のファイル又はディレクトリについて、当該ファイル又は当該ディレクトリが割り当てられた前記ファイル管理装置の第一の識別情報と当該ファイル又は当該ディレクトリの第二の識別情報とを含む所在情報を記憶する所在情報記憶手段と、
前記ディレクトリへのファイルの生成要求に応じ、前記複数のファイル管理装置の中から該ファイルの生成先を選択する選択手段と、
前記ファイルの生成先に前記生成要求を転送して該ファイルを生成させ、該ファイルの生成先の前記第一の識別情報及び該ファイルの前記第二の識別情報を前記所在情報記憶手段に記録する生成要求転送手段とを有するファイル管理システム。
（付記２）
前記複数のファイル管理装置より状態情報を定期的に受信し、前記状態情報の一覧を前記複数のファイル管理装置に提供する監視装置を有し、
前記選択手段は、前記状態情報に基づいて前記ファイルの生成先を選択する付記１記載のファイル管理システム。
（付記３）
前記生成要求転送手段は、生成されたファイルに係る前記第一の識別情報及び前記第二の識別情報を含むファイル記述子を前記ファイルの生成要求元に返信する付記１又は２記載のファイル管理システム。
（付記４）
前記ファイル管理装置に対して要求を行うクライアント装置を有し、
前記クライアント装置は、
ファイルの生成要求を受信し、該ファイルの生成先のディレクトリが割り当てられた前記ファイル管理装置を、当該ディレクトリより上位のディレクトリが割り当てられた前記ファイル管理装置の前記所在情報記憶手段が記憶する前記所在情報に基づいて特定し、特定された前記ファイル管理装置に該ディレクトリへの該ファイルの生成要求を送信し、該ファイル管理装置の前記生成要求転送手段より返信される前記ファイル記述子を前記生成要求元に返信する仲介手段を有する付記３記載のファイル管理システム。
（付記５）
前記仲介手段は、前記ファイル記述子が指定されたファイルの操作要求に応じ、前記ファイル記述子に含まれる前記第一の識別情報に係る前記ファイル管理装置に、該操作要求を転送する付記４記載のファイル管理システム。
（付記６）
複数のファイルを分散して記憶する複数のファイル管理装置のそれぞれを、
当該ファイル管理装置に割り当てられたディレクトリ下のファイル又はディレクトリについて、当該ファイル又は当該ディレクトリが割り当てられた前記ファイル管理装置の第一の識別情報と当該ファイル又は当該ディレクトリの第二の識別情報とを含む所在情報を記憶する所在情報記憶手段と、
前記ディレクトリへのファイルの生成要求に応じ、前記複数のファイル管理装置の中から該ファイルの生成先を選択する選択手段と、
前記ファイルの生成先に前記生成要求を転送して該ファイルを生成させ、該ファイルの生成先の前記第一の識別情報及び該ファイルの前記第二の識別情報を前記所在情報記憶手段に記録する生成要求転送手段として機能させるためのファイル管理プログラム。
（付記７）
前記ファイル管理プログラムは、
前記ファイル管理装置に、前記複数のファイル管理装置より状態情報を定期的に受信する、監視装置より、前記状態情報の一覧を受信させ、
前記選択手段は、前記状態情報に基づいて前記ファイルの生成先を選択する付記６記載のファイル管理システム。
（付記８）
前記生成要求転送手段は、生成されたファイルに係る前記第一の識別情報及び前記第二の識別情報を含むファイル記述子を前記ファイルの生成要求元に返信する付記６又は７記載のファイル管理プログラム。
（付記９）
複数のファイルを分散して記憶する複数のファイル管理装置が、
当該ファイル管理装置に割り当てられたディレクトリへのファイルの生成要求に応じ、前記複数のファイル管理装置の中から該ファイルの生成先を選択する選択手順と、
前記ファイルの生成先に前記生成要求を転送して該ファイルを生成させ、該ファイルの生成先に対する前記ファイル管理装置ごとの第一の識別情報及び該ファイルに関する前記ファイルごとの第二の識別情報を、所在情報記憶手段に記録する生成要求転送手順とを実行し、
前記所在情報記憶手段は、当該ファイル管理装置に割り当てられたディレクトリ下のファイル又はディレクトリについて、当該ファイル又は当該ディレクトリが割り当てられた前記ファイル管理装置の前記第一の識別情報と当該ファイル又は前当該ディレクトリの第二の識別情報とを含む所在情報を記憶するファイル管理方法。
（付記１０）
監視装置が、前記複数のファイル管理装置より状態情報を定期的に受信し、前記状態情報の一覧を前記複数のファイル管理装置に提供する監視手順を実行し、
前記選択手順は、前記状態情報に基づいて前記ファイルの生成先を選択する付記９記載のファイル管理方法。
（付記１１）
前記生成要求転送手順は、生成されたファイルに係る前記第一の識別情報及び前記第二の識別情報を含むファイル記述子を前記ファイルの生成要求元に返信する付記６又は７記載のファイル管理方法。
（付記１２）
前記ファイル管理装置に対して要求を行うクライアント装置が、
ファイルの生成要求を受信し、該ファイルの生成先のディレクトリが割り当てられた前記ファイル管理装置を、当該ディレクトリより上位のディレクトリが割り当てられた前記ファイル管理装置の前記所在情報記憶手段が記憶する前記所在情報に基づいて特定し、特定された前記ファイル管理装置に該ディレクトリへの該ファイルの生成要求を送信し、該ファイル管理装置の前記生成要求転送手順より返信される前記ファイル記述子を前記生成要求元に返信する第一の仲介手順を実行する付記１１記載のファイル管理方法。
（付記１３）
前記クライアント装置が、前記ファイル記述子が指定されたファイルの操作要求に応じ、前記ファイル記述子に含まれる前記第一の識別情報に係る前記ファイル管理装置に、該操作要求を転送する第二の仲介手順を実行する付記１２記載のファイル管理方法。
【符号の説明】
【０１０１】
１            ファイル管理システム
１０          データサーバ装置
１１          ＮＡＳサーバ部
２０          監視サーバ装置
２１          監視サーバ部
３０          クライアント装置
３１          ＮＡＳクライアント部
３２          Ｌ７スイッチ部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１１１        ＦＤ応答部
１１２        ファイル生成先選択部
１１３        ファイル生成要求転送部
１１４        ファイル操作部
１１５        ハートビート送信部
１１６        ハートビート応答受信部
１１７        本体記憶部
１１８        名前情報記憶部
２１１        ハートビート受信部
２１２        ハートビート応答部
２１３        データサーバ一覧記憶部
３２１        ファイル操作仲介部
３２２        ＦＤ取得部
３２３        ＦＤキャッシュ部
Ｂ            バス
【図１】
2011242826.tif 000003
【図２】
2011242826.tif 000004
【図３】
2011242826.tif 000005
【図４】
2011242826.tif 000006
【図５】
2011242826.tif 000007
【図６】
2011242826.tif 000008
【図７】
2011242826.tif 000009
【図８】
2011242826.tif 000010
【図９】
2011242826.tif 000011
【図１０】
2011242826.tif 000012
【図１１】
2011242826.tif 000013
【図１２】
2011242826.tif 000014
【図１３】
2011242826.tif 000015
【図１４】
2011242826.tif 000016
【図１５】
2011242826.tif 000017