(57)【要約】【課題】複数の分散ファイルシステムを使い分けて、分散ファイルシステム毎に最適なファイル操作を実行させることができる分散ファイルシステム制御装置を提供する。【解決手段】ファイル操作を実行させるための第１コマンドをクライアント１０００から受信する通信部２０１０と、ファイル操作を実行する分散ファイルシステムを、第１コマンドに応じて、分散ファイルシステム３０００及び３１００から選択するファイルシステム選択部２０６１と、選択した分散ファイルシステムにファイル操作を実行させるための第２コマンドを、第１コマンドと対応づけて記憶するメモリ２０２０と、第１コマンドを第２コマンドに変換するコマンド変換部２０６２と、変換した第２コマンドを、選択した分散ファイルシステムに送信するインタフェース部２０７０及び２０８０と、を分散ファイルシステム制御装置２０００が備える。【選択図】図１
2012073777.tif 000002
【特許請求の範囲】
【請求項１】
クライアントと通信し、分散ファイルシステムにファイルを指定してファイル操作を実行させるための第１コマンドを該クライアントから受信する通信部と、
前記ファイル操作を実行する前記分散ファイルシステムを、前記通信部が受信した前記第１コマンドに応じて、複数の分散ファイルシステムから選択するファイルシステム選択部と、
前記ファイルシステム選択部が選択した前記分散ファイルシステムに前記ファイル操作を実行させるための第２コマンドを、前記第１コマンドと対応づけて、前記分散ファイルシステム毎に予め記憶するメモリと、
前記メモリを参照し、前記通信部が受信した前記第１コマンドを、該第１コマンドと対応づけられた前記第２コマンドに変換するコマンド変換部と、
前記コマンド変換部が変換した前記第２コマンドを、前記ファイルシステム選択部が選択した前記分散ファイルシステムに送信するインタフェース部と、
を備えることを特徴とする分散ファイルシステム制御装置。
【請求項２】
ファイルを参照するファイル操作に適する分散ファイルシステムであるか否かを示すデータを、前記分散ファイルシステム毎に予め記憶する第１属性情報データベース
を備え、
前記ファイルシステム選択部は、前記第１コマンドによりファイルが参照されるか否かを判定し、前記第１コマンドによりファイルが参照される場合、前記第１属性情報データベースが記憶する前記データに基づいて、ファイルを参照するファイル操作に適する分散ファイルシステムを、前記ファイル操作を実行する分散ファイルシステムとして選択することを特徴とする請求項１に記載の分散ファイルシステム制御装置。
【請求項３】
ファイルを編集するファイル操作に適する分散ファイルシステムであるか否かを示すデータを、前記分散ファイルシステム毎に予め記憶する第２属性情報データベース
を備え、
前記ファイルシステム選択部は、前記第１コマンドによりファイルが編集されるか否かを判定し、前記第１コマンドによりファイルが編集される場合、前記第２属性情報データベースが記憶する前記データに基づいて、ファイルを編集するファイル操作に適する分散ファイルシステムを、前記ファイル操作を実行する分散ファイルシステムとして選択することを特徴とする請求項１又は請求項２に記載の分散ファイルシステム制御装置。
【請求項４】
シンボリックリンクによりファイルにアクセスが可能であるか否かを示す第１データと、ファイルの記憶場所を示す第２データとを、前記分散ファイルシステム毎に記憶する第３属性情報データベース
を備え、
前記コマンド変換部は、前記第１コマンドによりファイル操作されるファイルがシンボリックリンクにより指定されているか否かを判定し、該ファイルがシンボリックリンクにより指定されている場合、該シンボリックリンクにより該ファイルにアクセスが可能であるか否かを、前記第１データに基づいて判定し、該シンボリックリンクにより該ファイルにアクセスが可能でない場合、該ファイルの記憶場所を示す前記第２データを前記第２コマンドと共に送信するよう、前記インタフェース部を制御することを特徴とする請求項１から請求項３のいずれか１つに記載の分散ファイルシステム制御装置。
【請求項５】
前記ファイル操作を実行することに適する分散ファイルシステムであるか否かをファイルのサイズに応じて示すデータを、前記分散ファイルシステム毎に予め記憶する第４属性情報データベース
を備え、
前記ファイルシステム選択部は、前記第４属性情報データベースが記憶する前記データと、前記第１コマンドにより指定された前記ファイルのサイズとに応じて、前記ファイル操作を実行する分散ファイルシステムを選択することを特徴とする請求項１から請求項４のいずれか１つに記載の分散ファイルシステム制御装置。
【請求項６】
前記クライアントが送信した前記第１コマンドの履歴を記憶する操作情報データベース
を備え、
前記ファイルシステム選択部は、前記操作情報データベースに記憶された前記履歴に基づいて、前記ファイル操作を実行する分散ファイルシステムを選択することを特徴とする請求項１から請求項５のいずれか１つに記載の分散ファイルシステム制御装置。
【請求項７】
ファイル操作されたファイルを複製元として複製されたファイルを一時的に記憶するキャッシュメモリ
を備え、
前記ファイルシステム選択部は、前記第１コマンドにより指定されたファイルに対応する前記複製されたファイルが前記キャッシュメモリにすでに記憶されているか否かを判定し、前記複製されたファイルが前記キャッシュメモリに記憶されている場合、前記キャッシュメモリに記憶された前記複製されたファイルを、前記通信部を介して前記クライアントに送信することを特徴とする請求項１から請求項６のいずれか１つに記載の分散ファイルシステム制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散ファイルシステムを制御する分散ファイルシステム制御装置に関する。
【背景技術】
【０００２】
クライアントがネットワークを介してアクセスするファイルシステムにおいて、実体ファイルの領域管理を柔軟に行うことで、クライアントのファイルアクセス設定、およびクライアントからのアクセス制御を容易に行うことを目的としたファイルシステムが、特許文献１に開示されている。
【０００３】
また、分散してファイルを記憶する分散ファイルシステムには、ファイル操作（参照、編集等）に対するレスポンス時間、処理負荷、及び記憶容量などの特性が異なる分散ファイルシステムが存在する。例えば、サイズの小さいファイルを効率よく分散記憶することに適する分散ファイルシステムが存在する一方で、サイズの大きいファイルを効率よく分散記憶することに適する分散ファイルシステムが存在する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２５１７６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されたシステムは、１つの分散ファイルシステムのみを使用し、この１つの分散ファイルシステムにファイルを分散記憶させていた。このため、特許文献１に開示されたシステムは、複数の分散ファイルシステムを使い分けて、分散ファイルシステム毎に最適なファイル操作を実行させるということができなかった。
【０００６】
本発明は、前記の点に鑑みてなされたものであり、複数の分散ファイルシステムを使い分けて、分散ファイルシステム毎に最適なファイル操作を実行させることができる分散ファイルシステム制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するためになされたものであり、クライアントと通信し、分散ファイルシステムにファイルを指定してファイル操作を実行させるための第１コマンドを該クライアントから受信する通信部と、前記ファイル操作を実行する前記分散ファイルシステムを、前記通信部が受信した前記第１コマンドに応じて、複数の分散ファイルシステムから選択するファイルシステム選択部と、前記ファイルシステム選択部が選択した前記分散ファイルシステムに前記ファイル操作を実行させるための第２コマンドを、前記第１コマンドと対応づけて、前記分散ファイルシステム毎に予め記憶するメモリと、前記メモリを参照し、前記通信部が受信した前記第１コマンドを、該第１コマンドと対応づけられた前記第２コマンドに変換するコマンド変換部と、前記コマンド変換部が変換した前記第２コマンドを、前記ファイルシステム選択部が選択した前記分散ファイルシステムに送信するインタフェース部と、を備えることを特徴とする分散ファイルシステム制御装置である。
【０００８】
また、本発明は、ファイルを参照するファイル操作に適する分散ファイルシステムであるか否かを示すデータを、前記分散ファイルシステム毎に予め記憶する第１属性情報データベースを備え、前記ファイルシステム選択部が、前記第１コマンドによりファイルが参照されるか否かを判定し、前記第１コマンドによりファイルが参照される場合、前記第１属性情報データベースが記憶する前記データに基づいて、ファイルを参照するファイル操作に適する分散ファイルシステムを、前記ファイル操作を実行する分散ファイルシステムとして選択することを特徴とする分散ファイルシステム制御装置である。
【０００９】
また、本発明は、ファイルを編集するファイル操作に適する分散ファイルシステムであるか否かを示すデータを、前記分散ファイルシステム毎に予め記憶する第２属性情報データベースを備え、前記ファイルシステム選択部が、前記第１コマンドによりファイルが編集されるか否かを判定し、前記第１コマンドによりファイルが編集される場合、前記第２属性情報データベースが記憶する前記データに基づいて、ファイルを編集するファイル操作に適する分散ファイルシステムを、前記ファイル操作を実行する分散ファイルシステムとして選択することを特徴とする分散ファイルシステム制御装置である。
【００１０】
また、本発明は、シンボリックリンクによりファイルにアクセスが可能であるか否かを示す第１データと、ファイルの記憶場所を示す第２データとを、前記分散ファイルシステム毎に記憶する第３属性情報データベースを備え、前記コマンド変換部が、前記第１コマンドによりファイル操作されるファイルがシンボリックリンクにより指定されているか否かを判定し、該ファイルがシンボリックリンクにより指定されている場合、該シンボリックリンクにより該ファイルにアクセスが可能であるか否かを、前記第１データに基づいて判定し、該シンボリックリンクにより該ファイルにアクセスが可能でない場合、該ファイルの記憶場所を示す前記第２データを前記第２コマンドと共に送信するよう、前記インタフェース部を制御することを特徴とする分散ファイルシステム制御装置である。
【００１１】
また、本発明は、前記ファイル操作を実行することに適する分散ファイルシステムであるか否かをファイルのサイズに応じて示すデータを、前記分散ファイルシステム毎に予め記憶する第４属性情報データベースを備え、前記ファイルシステム選択部が、前記第４属性情報データベースが記憶する前記データと、前記第１コマンドにより指定された前記ファイルのサイズとに応じて、前記ファイル操作を実行する分散ファイルシステムを選択することを特徴とする分散ファイルシステム制御装置である。
【００１２】
また、本発明は、前記クライアントが送信した前記第１コマンドの履歴を記憶する操作情報データベースを備え、前記ファイルシステム選択部が、前記操作情報データベースに記憶された前記履歴に基づいて、前記ファイル操作を実行する分散ファイルシステムを選択することを特徴とする分散ファイルシステム制御装置である。
【００１３】
また、本発明は、ファイル操作されたファイルを複製元として複製されたファイルを一時的に記憶するキャッシュメモリを備え、前記ファイルシステム選択部は、前記第１コマンドにより指定されたファイルに対応する前記複製されたファイルが前記キャッシュメモリにすでに記憶されているか否かを判定し、前記複製されたファイルが前記キャッシュメモリに記憶されている場合、前記キャッシュメモリに記憶された前記複製されたファイルを、前記通信部を介して前記クライアントに送信することを特徴とする分散ファイルシステム制御装置である。
【発明の効果】
【００１４】
本発明によれば、分散ファイルシステム制御装置は、ファイル操作を実行させるための第１コマンドをクライアントから受信し、第１コマンドと対応づけられた第２コマンドを、第１コマンドに応じて選択した分散ファイルシステムに送信する。これにより、分散ファイルシステム制御装置は、特性が異なる複数の分散ファイルシステムを使い分けて、分散ファイルシステム毎に最適なファイル操作を実行させることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態における、クライアントと、分散ファイルシステム制御装置と、複数の分散ファイルシステムとの構成を示す図である。
【図２】本発明の一実施形態における、クライアントが分散ファイルシステム制御装置に送信する第１コマンドと、分散ファイルシステム制御装置が分散ファイルシステムに送信する第２コマンドとの対応関係を示す表である。
【図３】本発明の一実施形態における、ファイルの属性情報の例を示す表である。
【図４】本発明の一実施形態における、分散ファイルシステムの属性情報の例を示す表である。
【図５】本発明の一実施形態における、ファイルの操作情報の例を示す表である。
【図６】本発明の一実施形態における、クライアントと、分散ファイルシステム制御装置と、複数の分散ファイルシステムとの動作手順を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
本発明の一実施形態について図面を参照して詳細に説明する。図１には、クライアント（ファイルシステム・クライアント）と、分散ファイルシステム制御装置と、複数の分散ファイルシステムとの構成が示されている。まず、クライアントと、分散ファイルシステム制御装置と、分散ファイルシステムとの概要を説明する。
【００１７】
クライアント１０００は、分散ファイルシステムにファイル操作を実行させるためのコマンド（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ Ｐｒｏｇｒａｍ Ｉｎｔｅｒｆａｃｅ）（以下、「第１コマンド」という）を、分散ファイルシステム制御装置２０００に送信する。また、クライアント１０００は、分散ファイルシステム制御装置２０００を介して、分散ファイルシステム３０００及び３１００とファイルデータを通信する。クライアント１０００は、例えば、Ｌｉｎｕｘ（登録商標）ＯＳが搭載されたコンピュータである。また、他のクライアントが、分散ファイルシステム制御装置２０００と通信可能に接続されていてもよい。
【００１８】
ファイル内容の参照、又は属性情報の参照を主とする（以下、「読み出し系」という）第１コマンドには、例えば、カーネルファイルシステム上のファイルの内容を参照するコマンド「Ｃａｔ」、「ｌｅｓｓ」、及び、カーネルファイルシステム上のファイルの属性情報を参照する「ｌｓ」コマンドがある。
【００１９】
一方、ファイル内容を記憶（追加、編集）又は削除させ、その属性情報を変更させることを主とする（以下、「書き込み系」という）第１コマンドには、例えば、ファイルの内容を編集し修正時刻（タイムスタンプ）等の属性情報を変更する「ｖｉ」コマンド、ファイルの所有者を変更する「ｃｈｏｗｎ」コマンド、及び、ファイルのパーミッションを変更する「ｃｈｍｏｄ」コマンドがある。
【００２０】
第１コマンドは、例えば、「ｃａｔ Ｓｙｍｌｉｎｋ−Ａ」という形式で、分散ファイルシステム制御装置２０００に送信される。この例において、「ｃａｔ」は、ファイルを参照するファイル操作を表すコマンドである。また、「Ｓｙｍｌｉｎｋ−Ａ」は、ファイルＡを指定するシンボリックリンクである。
【００２１】
分散ファイルシステム制御装置２０００は、分散ファイルシステム３０００及び３１００を制御及び管理する。また、分散ファイルシステム制御装置２０００は、分散ファイルシステム３０００及び３１００のインタフェースの差異を吸収することで、分散ファイルシステム毎のインタフェースの差異をクライアント１０００に対して隠蔽する。なお、分散ファイルシステム制御装置２０００には、さらに多くの分散ファイルシステムが通信可能に接続されてもよい。
【００２２】
分散ファイルシステム制御装置２０００は、クライアント１０００から第１コマンドを受信する。分散ファイルシステム制御装置２０００は、受信した第１コマンドに応じて、分散ファイルシステム３０００又は３１００を選択し、選択した分散ファイルシステムを制御及び管理する。ここで、分散ファイルシステム制御装置２０００は、受信した第１コマンドを、選択した分散ファイルシステムにファイル操作を実行させるためのコマンド（ＡＰＩ）（以下、「第２コマンド」という）に変換する。また、分散ファイルシステム制御装置２０００は、選択した分散ファイルシステムに第２コマンドを送信することで、分散ファイルシステムを制御及び管理する。
【００２３】
第２コマンドは、例えば、「ｈａｄｏｏｐ ｆｓ  −ｖｉ」という形式で、選択した分散ファイルシステムに送信される。この例において、「ｈａｄｏｏｐ  ｆｓ」は、ファイルを分散処理及び管理するためのソフトウェア「Ｈａｄｏｏｐ」を、分散ファイルシステムが実行可能であることを表す。
【００２４】
例えば、分散ファイルシステムにファイルを編集（追加）させるための第１コマンド「ｖｉ」を、分散ファイルシステム制御装置２０００がクライアント１０００から受信した場合、分散ファイルシステム制御装置２０００は、受信した第１コマンドに応じて分散ファイルシステム３０００又は３１００を選択する。また、分散ファイルシステム制御装置２０００は、選択した分散ファイルシステムにファイルを編集（追加）させるための第２コマンド「ｈａｄｏｏｐ ｆｓ  −ｖｉ」を送信して、その分散ファイルシステムにファイルを編集（追加）させる。
【００２５】
また、例えば、分散ファイルシステムに記憶されているファイルをクライアント１０００が参照するための第１コマンド「ｃａｔ」を、分散ファイルシステム制御装置２０００がクライアント１０００から受信した場合、分散ファイルシステム制御装置１０００は、受信した第１コマンドにより指定されたファイル記憶場所に応じて分散ファイルシステム３０００又は３１００を選択する。また、分散ファイルシステム制御装置２０００は、選択した分散ファイルシステムに、ファイルをクライアント１０００が参照するための第２コマンド「ｈａｄｏｏｐ ｆｓ  −ｃａｔ」を送信して、クライアント１０００に対してファイルデータを出力させる。
【００２６】
分散ファイルシステム３０００は、分散ファイルシステム３０００にファイルを記憶（追加、編集）又は削除させるための第２コマンドを、分散ファイルシステム制御装置２０００から受信する。分散ファイルシステム３０００は、この第２コマンドに応じて、ファイルを記憶（追加、編集）又は削除する。分散ファイルシステム３１００も同様である。
【００２７】
また、分散ファイルシステム３０００は、クライアント１０００がファイルを参照するための第２コマンドを、分散ファイルシステム制御装置２０００から受信する。分散ファイルシステム３０００は、この第２コマンドにより指定されたファイルを、クライアント１０００に対して出力する。分散ファイルシステム３１００も同様である。
【００２８】
以下では、一例として、分散ファイルシステム３０００は、クライアント１０００がファイルを参照するファイル操作に適する分散ファイルシステム、すなわち、読み出し系の分散ファイルシステムであるものとする。一方、分散ファイルシステム３１００は、ファイルを記憶（追加、編集）するファイル操作に適する分散ファイルシステム、すなわち、書き込み系の分散ファイルシステムであるものとする。ここで、「適する」とは、例えば、ファイル操作に対するレスポンス時間が短い、処理負荷が少ない、及び記憶容量が大きいなどの特性を有することをいう。また、読み出し系の分散ファイルシステムであっても、書き込みは可能である。また、書き込み系の分散ファイルシステムであっても、読み出しは可能である。
【００２９】
なお、これら例示した特性に限られる必要はなく、例えば、各ファイルの作成及び修正時刻（タイムスタンプ）情報、又はファイルのサイズ等に基づく選択基準によって、ファイル操作に適する分散ファイルシステムが選択されてもよい。
【００３０】
また、以下では、一例として、分散ファイルシステム３０００は、シンボリックリンクに対応した分散ファイルシステムであるものとする。一方、分散ファイルシステム３１００は、シンボリックリンクに非対応である分散ファイルシステムであるものとする。
【００３１】
次に、分散ファイルシステム制御装置２０００の構成を説明する。
分散ファイルシステム制御装置２０００は、通信部２０１０と、メモリ２０２０と、属性情報データベース２０３０と、操作情報データベース２０４０と、キャッシュメモリ２０５０と、制御部２０６０と、インタフェース部２０７０と、インタフェース部２０８０とを備える。
【００３２】
通信部２０１０は、クライアント１０００と所定データ（例えば、コマンド、ファイルデータ）を通信する。通信部２０１０は、分散ファイルシステム３０００又は３１００にファイルを指定してファイル操作を実行させるための第１コマンドを、クライアント１０００から受信し、受信した第１コマンドを制御部２０６０に出力する。
【００３３】
メモリ２０２０は、制御部２０６０に選択された分散ファイルシステム３０００又は３１００にファイル操作を実行させるための第２コマンドを、第１コマンドと対応づけて、分散ファイルシステム毎に予め記憶する。
【００３４】
図２には、クライアントが分散ファイルシステム制御装置に送信する第１コマンドと、分散ファイルシステム制御装置が分散ファイルシステムに送信する第２コマンドとの対応関係が示されている。ここで、図２（Ａ）には、クライアント１０００が送信する第１コマンドと、分散ファイルシステム３０００が実行可能である第２コマンド（分散処理用コマンド）との対応関係が示されている。一方、図２（Ｂ）には、クライアント１０００が送信する第１コマンドと、分散ファイルシステム３１００が実行可能である第２コマンド（分散処理用コマンド）との対応関係が示されている。
【００３５】
図２（Ａ）に例示されているように、第１コマンド「ｌｓ」は、分散ファイルシステム３０００が実行可能である第２コマンド「ｈａｄｏｏｐ ｆｓ −ｌｓ」に対応づけられて、メモリ２０２０に予め記憶される。第１コマンド「ｃａｔ」、「ｌｅｓｓ」、及び「ｖｉ」についても同様である。また、図２（Ｂ）に例示されているように、第１コマンド「ｌｓ」は、分散ファイルシステム３１００が実行可能である第２コマンド「ｈａｄｏｏｐ ｆｓ −ｌｓ０」に対応づけられて、メモリ２０２０に予め記憶される。第１コマンド「ｃａｔ」、「ｌｅｓｓ」、及び「ｖｉ」についても同様である。なお、図２に示した第２コマンドの文字列は一例である。
【００３６】
図１に戻り、分散ファイルシステム制御装置２０００の構成の説明を続ける。属性情報データベース２０３０は、ファイルの属性情報を記憶する。図３には、ファイルの属性情報の例が示されている。ファイルの属性情報の項目には、例えば、ファイル名と、クライアント名と、ファイル種別と、パーミッションと、オーナ・グループと、ファイルのサイズと、更新日（時刻）と、操作レコード名と、分散ファイルシステム名と、実パス（実際の記憶場所）とがある。
【００３７】
図３に示されたファイルの属性情報における「ファイル名」は、ファイルの名称（識別情報）である。また、「クライアント名」は、ファイル操作したクライアントの名称（識別情報）である。また、「ファイル種別」は、ファイルの種別であり、例えば、テキストファイル、シンボリックリンクなどを表す。また、「パーミッション」は、ファイルに対するアクセス権を表す。また、「オーナ・グループ」は、ファイルの所有者情報を表す。また、「サイズ」は、ファイルのサイズを表す。また、「更新日」は、ファイルが更新された日（時刻）を表す。また、「分散ファイルシステム名」は、ファイル操作を実行した分散ファイルシステムの名称（識別情報）である。また、「実パス」は、ファイルの実際の記憶場所を表す。
【００３８】
図３に示されたファイルの属性情報の例には、ファイルＡは、クライアント１０００によるファイル操作の操作レコード名「操作２」により、シンボリックリンクに対応する分散ファイルシステム３０００の記憶場所「／Ｄｉｒ−Ａ／Ｆｉｌｅ−Ａ」に記憶されたテキストファイルであることが示されている。また、ファイルＡは、サイズ「３０」、パーミッション「６４４」、オーナ・グループ「Ｒｏｏｔ／ｒｏｏｔ」であって、更新日「Ｊａｎ ８ ２０１０」であることが示されている。ファイルＢ及びＣについても同様の属性情報が、属性情報データベース２０３０に記憶される。
【００３９】
また、属性情報データベース２０３０は、分散ファイルシステムの属性情報を記憶する。図４には、分散ファイルシステムの属性情報の例が示されている。分散ファイルシステムの属性情報の項目には、例えば、分散ファイルシステム名と、シンボリックリンク対応／非対応と、ファイル操作に適するファイルサイズと、読み出し系／書き込み系とがある。
【００４０】
分散ファイルシステムの属性情報における「分散ファイルシステム名」は、分散ファイルシステムの名称（識別情報）である。また、「シンボリックリンク対応／非対応」は、シンボリックリンクによりファイルにアクセスが可能であるか否かを示す情報である。また、「ファイル操作に適するファイルサイズ」は、このサイズを超えないサイズのファイルに対してファイル操作を実行することに適することを示す情報である。また、「読み出し系／書き込み系」は、分散ファイルシステムが、ファイルを参照するファイル操作に適する「読み出し系」であること、又はファイルを編集するファイル操作に適する「書き込み系」であることを識別するための識別情報である。
【００４１】
図１に戻り、分散ファイルシステム制御装置２０００の構成の説明を続ける。操作情報データベース２０４０は、クライアント１０００が送信した第１コマンドの履歴、すなわち、ファイルの操作情報（操作履歴）を記憶する。
【００４２】
図５には、ファイルの操作情報の例が示されている。ファイルの操作情報の項目には、例えば、「操作レコード名」と、操作レコード名に対応するファイルを記憶する分散ファイルシステムの「分散ファイルシステム名」と、操作種別「読み出し」と、その読み出し系の第１コマンドをクライアント１０００が送信した回数を表す「読み出しカウント」と、操作種別「書き込み」と、その書き込み系の第１コマンドをクライアント１０００が送信した回数を表す「書き込みカウント」とがある。
【００４３】
図５に示された操作情報の例には、分散ファイルシステム３１００に対する操作レコード名「操作１」において、読み出しカウント「２０」、及び読み出しカウント「１」であることが示されている。操作レコード名「操作２」及び「操作３」についても同様の操作情報が、操作情報データベース２０４０に記憶される。
【００４４】
なお、ファイルの操作情報には、ファイルの読み出し及び書き込み、ファイルの追加及び削除、並びに属性情報（更新日、所有者情報、アクセス権）の変更などの操作情報が含まれていてもよい。
【００４５】
図１に戻り、分散ファイルシステム制御装置２０００の構成の説明を続ける。キャッシュメモリ２０５０は、ファイル操作されたファイルを複製元として複製されたファイルを、分散ファイルシステム３０００又は３１００から取得し、一時的に記憶する。
【００４６】
制御部２０６０は、分散ファイルシステム制御装置２０００を制御及び管理する。また、制御部２０６０は、第２コマンドを用いて、分散ファイルシステム３０００及び３１００を制御及び管理する。制御部２０６０は、ファイルシステム選択部２０６１と、コマンド変換部２０６２とを備える。
【００４７】
ファイルシステム選択部２０６１は、通信部２０１０が受信した第１コマンドに応じて、ファイル操作を実行する分散ファイルシステムを、分散ファイルシステム３０００及び３１００から選択する。
【００４８】
ファイルシステム選択部２０６１は、第１コマンドによりファイルが参照されるか否か、すなわち、第１コマンドが読み込み系のコマンドであるか否かを判定する。第１コマンドによりファイルが参照される場合、ファイルシステム選択部２０６１は、属性情報データベース２０３０が記憶する属性情報データ（図３及び図４を参照）に基づいて、ファイルを参照するファイル操作に適する分散ファイルシステムを、そのファイル操作を実行する分散ファイルシステムとして選択する。
【００４９】
例えば、第１コマンド「ｃａｔ」によりファイルＢが参照される場合、ファイルシステム選択部２０６１は、ファイルの属性情報データ（図３を参照）の「分散ファイルシステム名」に基づいて、操作レコード名「操作１」により分散ファイルシステム３１００にファイルＢが記憶されていることを認識する。また、ファイルシステム選択部２０６１は、分散ファイルシステムの属性情報データ（図４を参照）の「読み出し系／書き込み系」に基づいて、分散ファイルシステム３１００が「読み出し系」でなく「書き込み系」の分散ファイルシステムであることを認識する。さらに、ファイルシステム選択部２０６１は、ファイルの操作情報（履歴情報）（図５を参照）の操作レコード名「操作１」に基づいて、「読み出しカウント」が「書き込みカウント」より多いことを認識する。
【００５０】
「読み出しカウント」が「書き込みカウント」より多いので、ファイルＢに対する今後のファイル操作において、読み出し系の第１コマンドがクライアント１０００から送信されることが多いと予想される。このように、「読み出しカウント」が「書き込みカウント」より多い場合、ファイルシステム選択部２０６１は、「読み出し系」の分散ファイルシステムである分散ファイルシステム３０００にファイルＢを移動するよう、インタフェース部２０８０を介して分散ファイルシステム３１００を制御する。このようにして、ファイルシステム選択部２０６１は、ファイル操作を実行する分散ファイルシステムとして、ファイルを参照するファイル操作に適する分散ファイルシステム３０００を選択する。分散ファイルシステム３０００に移動されたファイルＢのデータは、次回のファイル操作以降、ファイルＢを記憶する分散ファイルシステム３０００から通信部２０１０を介してクライアント１０００に送信される。
【００５１】
なお、分散ファイルシステム３０００又は３１００に初めて記憶（追加）されるファイルである場合、ファイルシステム選択部２０６１は、これまでにクライアント１０００が「読み出し系」又は「書き込み系」のいずれの第１コマンドをより多く送信したかに応じて、ファイルを記憶（追加）させる分散ファイルシステムを選択してもよい。この場合、ファイルシステム選択部２０６１は、ファイルの属性情報の「クライアント名」（図３を参照）と、ファイルの操作情報（履歴情報）の「読み出しカウント」及び「書き込みカウント」（図５を参照）とに基づいて、ファイル操作に適する分散ファイルシステムを選択する。
【００５２】
ファイルシステム選択部２０６１は、第１コマンドによりファイルが編集されるか否か、すなわち、第１コマンドが書き込み系のコマンドであるか否かを判定する。第１コマンドによりファイルが編集される場合、ファイルシステム選択部２０６１は、属性情報データベース２０３０が記憶する属性情報データ（図３及び図４を参照）に基づいて、ファイルを編集するファイル操作に適する分散ファイルシステムを、そのファイル操作を実行する分散ファイルシステムとして選択する。
【００５３】
例えば、第１コマンド「ｖｉ」によりファイルＤが追加される場合、ファイルシステム選択部２０６１は、ファイルの属性情報データ（図３を参照）の「ファイル名」に基づいて、ファイルＤがいずれの分散ファイルシステムにも記憶されていないことを認識する。また、ファイルシステム選択部２０６１は、分散ファイルシステムの属性情報データ（図４を参照）の「読み出し系／書き込み系」に基づいて、分散ファイルシステム３１００が書き込み系の分散ファイルシステムであることを認識する。これにより、ファイルシステム選択部２０６１は、ファイルＤを追加するファイル操作に適する「書き込み系」の分散ファイルシステム３１００を、そのファイル操作を実行する分散ファイルシステムとして選択する。
【００５４】
ファイルシステム選択部２０６１は、属性情報データベース２０３０が記憶する分散ファイルシステム属性情報（図４を参照）と、第１コマンドにより指定されたファイルのサイズとに応じて、ファイル操作を実行する分散ファイルシステム３０００又は３１００を選択する。
【００５５】
例えば、第１コマンド「ｖｉ」によりファイルＢが追加される場合、ファイルシステム選択部２０６１は、分散ファイルシステムの属性情報データ（図４を参照）の「ファイル操作に適するファイルサイズ」を参照し、ファイルＢのサイズが１０２４以下であれば、ファイルＢを記憶させる分散ファイルシステムとして、分散ファイルシステム３０００を選択する。一方、ファイルＢのサイズが１０２４を越えていれば、ファイルＢを記憶させる分散ファイルシステムとして、「ファイル操作に適するファイルサイズ」がより大きい分散ファイルシステム３１００を選択する。
【００５６】
ファイルシステム選択部２０６１は、第１コマンドとファイルデータとに基づいて、属性情報データベース２０３０に記憶されたファイル属性情報（図３を参照）を更新する。また、ファイルシステム選択部２０６１は、第１コマンドに基づいて、操作情報データベース２０４０に記憶された操作情報（図５を参照）を更新する。
【００５７】
ファイルシステム選択部２０６１は、新たな第１コマンドにより指定されたファイルに対応する複製されたファイルがキャッシュメモリ２０５０に記憶されているか否かを判定する。複製されたファイルがキャッシュメモリ２０５０にすでに記憶されている場合、キャッシュメモリ２０５０に記憶された「複製されたファイル」を、通信部２０１０を介してクライアント１０００に送信する。
【００５８】
例えば、第１コマンド「ｃａｔ」により指定されたファイルＡに対応する「複製されたファイルＡ」がキャッシュメモリ２０５０にすでに記憶されている場合、ファイルシステム選択部２０６１は、キャッシュメモリ２０５０に記憶された「複製されたファイルＡ」を、通信部２０１０を介してクライアント１０００に送信する。
【００５９】
コマンド変換部２０６２は、第１コマンドによりファイル操作されるファイルが、シンボリックリンクにより指定されているか否かを判定する。コマンド変換部２０６２は、このファイルがシンボリックリンクにより指定されている場合、このシンボリックリンクによりファイルにアクセスが可能であるか否かを、分散ファイルシステムの属性情報データ（図４を参照）の「シンボリックリンク対応／非対応」に基づいて判定する。
【００６０】
シンボリックリンクによりファイルにアクセスが可能でない場合、コマンド変換部２０６２は、ファイルシステム選択部２０６１が選択した分散ファイルシステムに対応するインタフェース部２０７０又は２０８０を制御し、実パス（図３を参照）と第２コマンドとを、ファイルシステム選択部２０６１が選択した分散ファイルシステムに送信させる。
【００６１】
コマンド変換部２０６２は、メモリ２０２０が記憶する対応関係（図２を参照）に基づいて、通信部２０１０が受信した第１コマンドを、この第１コマンドと対応づけられた第２コマンドに変換する。ここで、コマンド変換部２０６２は、ファイルシステム選択部２０６１が選択した分散ファイルシステムが実行可能である第２コマンドに変換する。例えば、ファイルシステム選択部２０６１が分散ファイルシステム３０００を選択した場合、コマンド変換部２０６２は、クライアント１０００が送信する第１コマンドと、分散ファイルシステム３０００が実行可能である第２コマンドとの対応関係（図２（Ａ）を参照）に基づいて、第１コマンドを第２コマンドに変換する。
【００６２】
インタフェース部２０７０は、ファイルシステム選択部２０６１が分散ファイルシステム３０００を選択した場合、コマンド変換部２０６２が変換した第２コマンドを、分散ファイルシステム３０００に送信する。また、インタフェース部２０７０は、ファイルの実際の記憶場所「実パス」を、分散ファイルシステム３０００に送信する。
【００６３】
インタフェース部２０７０は、第２コマンド毎にモジュール部を備える。モジュール部２０７１は、コマンド変換部２０６２が変換した第２コマンド「ｈａｄｏｏｐ ｆｓ −ｌｅｓｓ」を、ファイルシステム選択部２０６１が選択した分散ファイルシステム３０００に送信する。また、モジュール部２０７１は、ファイルシステム選択部２０６１の制御に応じて、ファイルの記憶場所を示す実パスを分散ファイルシステム３０００に送信する。
【００６４】
モジュール部２０７２は、コマンド変換部２０６２が変換した第２コマンド「ｈａｄｏｏｐ ｆｓ −ｃａｔ」を、ファイルシステム選択部２０６１が選択した分散ファイルシステム３０００に送信する。また、モジュール部２０７１は、ファイルシステム選択部２０６１の制御に応じて、ファイルの記憶場所を示す実パスを分散ファイルシステム３０００に送信する。インタフェース部２０７０が備える他のモジュール部（不図示）も同様である。
【００６５】
なお、分散ファイルシステム３０００はシンボリックリンクに対応しているため（図４を参照）、分散ファイルシステム３０００には、ファイルの記憶場所がシンボリックリンクのまま通知されてもよい。
【００６６】
インタフェース部２０８０は、ファイルシステム選択部２０６１が分散ファイルシステム３１００を選択した場合、コマンド変換部２０６２が変換した第２コマンドを、分散ファイルシステム３１００に送信する。また、インタフェース部２０８０は、ファイルの実際の記憶場所「実パス」を、分散ファイルシステム３１００に送信する。
【００６７】
インタフェース部２０８０は、第２コマンド毎にモジュール部を備える。モジュール部２０８１は、コマンド変換部２０６２が変換した第２コマンド「ｈａｄｏｏｐ ｆｓ −ｌｅｓｓ０」を、ファイルシステム選択部２０６１が選択した分散ファイルシステム３１００に送信する。また、モジュール部２０８１は、ファイルシステム選択部２０６１の制御に応じて、ファイルの記憶場所を示す実パスを分散ファイルシステム３１００に送信する。
【００６８】
モジュール部２０８２は、コマンド変換部２０６２が変換した第２コマンド「ｈａｄｏｏｐ ｆｓ −ｃａｔ０」を、ファイルシステム選択部２０６１が選択した分散ファイルシステム３１００に送信する。また、モジュール部２０８１は、ファイルシステム選択部２０６１の制御に応じて、ファイルの記憶場所を示す実パスを分散ファイルシステム３１００に送信する。インタフェース部２０８０が備える他のモジュール部（不図示）も同様である。
【００６９】
次に、分散ファイルシステム３０００の構成を説明する。分散ファイルシステム３０００は、通信部３０１０と、メタ情報サーバ３０２０と、チャンクサーバ３０３１〜３０３３とを備える。分散ファイルシステム３０００は、これらのノード上にファイルシステムを構成する。分散ファイルシステム３０００は、読み出し系の分散ファイルシステムであるものとする（図４を参照）。
【００７０】
通信部３０１０は、分散ファイルシステム制御装置２０００のインタフェース部２０７０から第２コマンドを受信し、受信した第２コマンド毎に予め定められた動作を実行する。
メタ情報サーバ３０２０は、通信部３０１０が受信した第２コマンドに応じて、ファイルの論理ブロック情報を記憶するメタ情報を管理する。
チャンクサーバ３０３１〜３０３３は、物理的なブロック情報を管理及び保持する。チャンクサーバ３０３１〜３０３３は、物理的なブロック情報に基づいて、ファイルを分散記憶する。また、チャンクサーバ３０３１〜３０３３は、物理的なブロック情報に基づいて、分散記憶したファイルを出力する。
【００７１】
次に、分散ファイルシステム３１００の構成を説明する。分散ファイルシステム３１００は、通信部３１１０と、メタ情報サーバ３１２０と、チャンクサーバ３１３１〜３１３３とを備える。分散ファイルシステム３１００は、これらのノード上にファイルシステムを構成する。分散ファイルシステム３１００は、書き込み系の分散ファイルシステムであるものとする（図４を参照）。
【００７２】
通信部３１１０は、分散ファイルシステム制御装置２０００のインタフェース部２０８０から第２コマンドを受信し、受信した第２コマンド毎に予め定められた動作を実行する。
メタ情報サーバ３１２０は、通信部３１１０が受信した第２コマンドに応じて、ファイルの論理ブロック情報を記憶するメタ情報を管理する。
チャンクサーバ３１３１〜３１３３は、物理的なブロック情報を管理及び保持する。チャンクサーバ３１３１〜３１３３は、物理的なブロック情報に基づいて、ファイルを分散記憶する。また、チャンクサーバ３１３１〜３１３３は、物理的なブロック情報に基づいて、分散記憶したファイルを出力する。
【００７３】
次に、クライアント１０００と、分散ファイルシステム制御装置２０００と、分散ファイルシステム３０００及び３１００との動作手順を説明する。
クライアント１０００は、分散ファイルシステム制御装置２０００に第１コマンドを送信する。一例として、クライアント１０００は、シンボリックリンクにより指定されるファイルＡ(Ｓｙｍｌｉｎｋ−Ａ)を参照する第１コマンド「ｃａｔ」を、分散ファイルシステム制御装置２０００に送信したものとする（ステップＳ１）。
【００７４】
制御部２０６０は、属性情報データベース２０３０に記憶された属性情報（図４を参照）に基づいて、シンボリックリンク「Ｓｙｍｌｉｎｋ−Ａ」を、実パス「／Ｄｉｒ−Ａ／Ｆｉｌｅ−Ａ」に変換する（ステップＳ２）。
【００７５】
制御部２０６０は、複製されたファイルＡがキャッシュメモリ２０５０に記憶されているか否かを判定する。複製されたファイルＡがキャッシュメモリ２０５０に記憶されている場合、制御部２０６０は、複製されたファイルＡをキャッシュメモリ２０５０から取得し、クライアント１０００に対して送信させる（ステップＳ３）。
【００７６】
制御部２０６０は、メモリ２０２０に記憶された対応関係（図２を参照）と、属性情報データベース２０３０に記憶された属性情報（図４を参照）とに基づいて、ファイルＡを記憶する分散ファイルシステム３０００に第２コマンド「ｈａｄｏｏｐ ｆｓ  −ｃａｔ」を送信するよう、インタフェース部２０７０を制御する（ステップＳ４）。
【００７７】
インタフェース部２０７０は、第２コマンド「ｈａｄｏｏｐ ｆｓ  −ｃａｔ」と、実パス「／Ｄｉｒ−Ａ／Ｆｉｌｅ−Ａ」とを、分散ファイルシステム３０００の通信部３０１０に送信する（ステップＳ５）。これにより、ファイルＡのデータは、分散ファイルシステム制御装置２０００を介して、クライアント１０００に送信される。また、複製されたファイルＡは、分散ファイルシステム制御装置２０００のキャッシュメモリ２０５０に一時記憶される。
【００７８】
制御部２０６０は、第１コマンド「ｃａｔ」とファイルＡのデータとに基づいて、属性情報データベース２０３０に記憶されたファイル属性情報「サイズ」「更新日」など（図３を参照）を更新する。また、制御部２０６０は、第１コマンドに基づいて、操作情報データベース２０４０に記憶された操作情報「読み出しカウント」（図５を参照）を更新する（ステップＳ６）。
【００７９】
制御部２０６０は、属性情報データベース２０３０に記憶された属性情報（図４及び図５を参照）と、操作情報データベース２０４０に記憶された操作情報とを適宜参照する。制御部２０６０は、例えば、ファイルＡのサイズが分散ファイルシステム３０００の「ファイル操作に適するファイルサイズ」（図４を参照）を越えた場合、ファイル操作に適するファイルサイズがより大きい分散ファイルシステム３１００が、ファイルＡの記憶先として適していると判定する。制御部２０６０は、分散ファイルシステム３０００からファイルＡを移動して分散ファイルシステム３１００に記憶させるための第２コマンドを送信するよう、インタフェース部２０８０を制御する（ステップＳ７）。
【００８０】
インタフェース部２０８０は、分散ファイルシステム３０００からファイルＡを移動して分散ファイルシステム３１００に記憶させるための第２コマンドを、分散ファイルシステム３１００に送信する（ステップＳ８）。これにより、ファイルＡのデータは、分散ファイルシステム３１００に移動される。分散ファイルシステム３１００に移動されたファイルＡのデータは、次回のファイル操作以降、移動先の分散ファイルシステム３１００から通信部２０１０を介してクライアント１０００に送信される。なお、ファイルは、キャッシュメモリ２０５０を介して移動されてもよいし、キャッシュメモリ２０５０を介さずに分散ファイルシステム間で直接移動されてもよい。
【００８１】
以上のように、分散ファイルシステム制御装置２０００は、クライアント１０００と通信し、分散ファイルシステム３０００又は３１００にファイルを指定してファイル操作を実行させるための第１コマンドを該クライアントから受信する通信部２０１０と、前記ファイル操作を実行する前記分散ファイルシステムを、通信部２０１０が受信した前記第１コマンドに応じて、分散ファイルシステム３０００又は３１００から選択するファイルシステム選択部２０６１と、ファイルシステム選択部２０６１が選択した前記分散ファイルシステムに前記ファイル操作を実行させるための第２コマンドを、前記第１コマンドと対応づけて、前記分散ファイルシステム毎に予め記憶するメモリ２０２０と、メモリ２０２０を参照し、通信部２０１０が受信した前記第１コマンドを、該第１コマンドと対応づけられた前記第２コマンドに変換するコマンド変換部２０６２と、コマンド変換部２０６２が変換した前記第２コマンドを、ファイルシステム選択部２０６１が選択した前記分散ファイルシステムに送信するインタフェース部２０７０及び２０８０と、を備える。
【００８２】
これにより、分散ファイルシステム制御装置は、特性が異なる複数の分散ファイルシステムを使い分けて、分散ファイルシステム毎に最適なファイル操作を実行させることができる。
【００８３】
また、分散ファイルシステム制御装置２０００は、ファイルを参照する前記ファイル操作に適する分散ファイルシステムであるか否かを示すデータを、前記分散ファイルシステム毎に予め記憶する属性情報データベース２０３０を備え、ファイルシステム選択部２０６１は、前記第１コマンドによりファイルが参照されるか否かを判定し、前記第１コマンドによりファイルが参照される場合、属性情報データベース２０３０が記憶する前記データに基づいて、ファイルを参照する前記ファイル操作に適する分散ファイルシステム３０００又は３１００を、前記ファイル操作を実行する分散ファイルシステムとして選択する。
【００８４】
これにより、分散ファイルシステム制御装置は、ファイルを参照するファイル操作に適する分散ファイルシステムを、ファイル操作を実行する分散ファイルシステムとして選択し、分散ファイルシステム毎に最適なファイル操作を実行させることができる。
【００８５】
また、分散ファイルシステム制御装置２０００は、ファイルを編集する前記ファイル操作に適する分散ファイルシステムであるか否かを示すデータを、前記分散ファイルシステム毎に予め記憶する第２属性情報データベースを備え、前記ファイルシステム選択部は、前記第１コマンドによりファイルが編集されるか否かを判定し、前記第１コマンドによりファイルが編集される場合、前記第２属性情報データベースが記憶する前記データに基づいて、ファイルを編集する前記ファイル操作に適する分散ファイルシステムを、前記ファイル操作を実行する分散ファイルシステムとして選択する。
【００８６】
これにより、分散ファイルシステム制御装置は、ファイルを編集するファイル操作に適する分散ファイルシステムを、ファイル操作を実行する分散ファイルシステムとして選択し、分散ファイルシステム毎に最適なファイル操作を実行させることができる。
【００８７】
また、分散ファイルシステム制御装置２０００は、シンボリックリンクによりファイルにアクセスが可能であるか否かを示す属性情報と、ファイルの記憶場所を示す属性情報とを、前記分散ファイルシステム毎に記憶する属性情報データベース２０３０を備え、コマンド変換部２０６２は、前記第１コマンドによりファイル操作されるファイルがシンボリックリンクにより指定されているか否かを判定し、該ファイルがシンボリックリンクにより指定されている場合、該シンボリックリンクにより該ファイルにアクセスが可能であるか否かを、アクセスが可能であるか否かを示す属性情報に基づいて判定し、該シンボリックリンクにより該ファイルにアクセスが可能でない場合、該ファイルの記憶場所を示す属性情報を前記第２コマンドと共に送信するよう、インタフェース部２０７０又は２０８０を制御する。
【００８８】
これにより、分散ファイルシステム制御装置は、シンボリックリンクによりアクセスが可能でない分散ファイルシステムがファイルを記憶し、そのファイルがシンボリックリンクにより指定された場合でも、クライアントに該ファイルを参照させることができる。
【００８９】
また、分散ファイルシステム制御装置２０００は、前記ファイル操作を実行することに適する分散ファイルシステムであるか否かをファイルのサイズに応じて示すデータを、前記分散ファイルシステム毎に予め記憶する属性情報データベース２０３０を備え、ファイルシステム選択部２０６１は、属性情報データベース２０３０が記憶する該データと、前記第１コマンドにより指定された前記ファイルのサイズとに応じて、前記ファイル操作を実行する分散ファイルシステム３０００又は３１００を選択する。
【００９０】
これにより、分散ファイルシステム制御装置は、ファイルのサイズに応じて、分散ファイルシステム毎に最適なファイル操作を実行させることができる。
【００９１】
また、分散ファイルシステム制御装置２０００は、前記クライアントが送信した前記第１コマンドの履歴を記憶する操作情報データベースを備え、前記ファイルシステム選択部は、前記操作情報データベースに記憶された前記履歴に基づいて、前記ファイル操作を実行する分散ファイルシステムを選択する。
【００９２】
これにより、分散ファイルシステム制御装置は、コマンドの履歴に基づいて、分散ファイルシステム毎に最適なファイル操作を実行させることができる。
【００９３】
また、分散ファイルシステム制御装置２０００は、ファイル操作されたファイルを複製元として複製されたファイルを一時的に記憶するキャッシュメモリ２０５０を備え、前記ファイルシステム選択部は、新たな前記第１コマンドにより指定されたファイルに対応する前記複製されたファイルがキャッシュメモリ２０５０に記憶されているか否かを判定し、前記複製されたファイルがキャッシュメモリ２０５０に記憶されている場合、キャッシュメモリ２０５０に記憶された前記複製されたファイルを、通信部２０１０を介してクライアント１０００に送信する。
【００９４】
これにより、分散ファイルシステム制御装置は、早いレスポンスでクライアントにファイルを送信することができる（応答性能の確保）。
【００９５】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【００９６】
例えば、アクセスが長期間されていない複数のファイルが分散ファイルシステムに記憶されている場合、分散ファイルシステム制御装置２０００の制御部２０６０は、それら複数のファイルをアーカイブし、大容量のファイルシステムを構成することが可能な分散ファイルシステムに移動させてもよい。
【００９７】
また、既存の分散ファイルシステムが何らかの要因で使用不可能となった場合、分散ファイルシステム制御装置２０００の制御部２０６０は、使用可能な別の分散ファイルシステムを選択し、使用不可能となった分散ファイルシステムの属性情報「実パス」を、選択した分散ファイルシステムの属性情報「実パス」に更新してもよい。さらに、分散ファイルシステム制御装置２０００の制御部２０６０は、使用不可能となった分散ファイルシステムに記憶されたファイルを、使用可能な別の分散ファイルシステムに移動させてもよい。
【００９８】
なお、以上に説明した分散ファイルシステム制御装置を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録し、そのプログラムをコンピュータシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００９９】
１０００…クライアント、２０００…分散ファイルシステム制御装置、２０１０…通信部、２０２０…メモリ、２０３０…属性情報データベース、２０４０…操作情報データベース、２０５０…キャッシュメモリ、２０６０…制御部、２０６１…ファイルシステム選択部、２０６２…コマンド変換部、２０７０…インタフェース部、２０７１…モジュール部、２０７２…モジュール部、２０８０…インタフェース部、２０８１…モジュール部、２０８２…モジュール部、３０００…分散ファイルシステム、３０１０…通信部、３０２０…メタ情報サーバ、３０３１…チャンクサーバ、３０３２…チャンクサーバ、３０３３…チャンクサーバ、３１００…分散ファイルシステム、３１１０…通信部、３１２０…メタ情報サーバ、３１３１…チャンクサーバ、３１３２…チャンクサーバ、３１３３…チャンクサーバ
【図１】
2012073777.tif 000003
【図２】
2012073777.tif 000004
【図３】
2012073777.tif 000005
【図４】
2012073777.tif 000006
【図５】
2012073777.tif 000007
【図６】
2012073777.tif 000008