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