(57)【要約】【課題】人為的な要因によるデータの保全性の低下を回避する。【解決手段】分散ファイルシステム（以下、ＦＳ）は、ノードのネットワークからの離脱およびノードへの操作の検知に応答して警報を通知する監視処理部をノードに含み、ノード識別子、ノードのデータ格納可能容量を格納するノード管理テーブル、および、ノードの複製すべきデータのサイズを格納する複製データ管理テーブルを有し、当該分散ＦＳから離脱させるノードの指定入力に応答して、ノードのデータの属性情報に基づいて、複製すべきデータのサイズを複製データ管理テーブルに格納し、監視処理部に監視処理の開始を指示し、ノード管理テーブルを参照して、複製すべきデータのサイズが、他のノードのデータ格納可能容量以下の場合、複製すべきデータを、他のノードに複製し、複製の完了に応答して、監視処理部に監視処理の解除を指示するデータ複製管理制御部を有する。【選択図】図１
2014174675.tif 000002
【特許請求の範囲】
【請求項１】
各々がデータ格納部を有する第１のノード及び第２のノードを含むノード、前記第１及び前記第２のノードを含む前記ノードとネットワークを介して接続し、前記ノードの前記データ格納部に格納されるデータおよび前記データの属性情報を格納するメタデータ格納部を有し、前記ノードの前記データ格納部に格納されるデータを管理する分散ファイルシステム管理部を含む分散ファイルシステム管理装置、および前記データの属性情報の操作や送信を前記分散ファイルシステム管理部に指示するためのコマンドを発行する分散ファイルシステムクライアント部を有する分散ファイルシステムにおいて、
前記第１のノードの前記ネットワークからの離脱および前記第１のノードへの操作の検知に応答して、警報を通知する監視処理部を、前記第１のノードに含み、
前記分散ファイルシステムクライアント部を含み、少なくとも、前記第１及び前記第２のノードを含む前記ノードの各々を一意に識別するための識別子、並びに、前記第１及び前記第２のノードを含む前記ノードの各々の前記データ格納部のデータ格納可能容量を格納するノード管理テーブル、および、前記第１のノードの前記データ格納部に格納されている複製すべきデータのデータ名とそのサイズを格納する複製データ管理テーブルを有し、さらに、当該分散ファイルシステムから離脱させる前記第１のノードの指定入力に応答して、前記分散ファイルシステムクライアント部及び前記分散ファイルシステム管理部を介して、前記メタデータ格納部に格納される、前記第１のノードの前記データ格納部に格納されている前記データの前記属性情報を取得し、取得した前記属性情報に基づいて、前記第１のノードの前記データ格納部に格納され、前記第２のノードを含む前記ノードの前記データ格納部に格納されていないデータを抽出し、抽出した前記データを前記複製すべきデータとしてそのデータ名とサイズを前記複製データ管理テーブルに格納し、前記監視処理部に監視処理の開始を指示し、前記ノード管理テーブルを参照して、前記複製すべきデータの前記サイズが、前記第２のノードの前記データ格納部の前記データ格納可能容量以下の場合、前記分散ファイルシステムクライアント部及び前記分散ファイルシステム管理部を介して、前記第１のノードの前記データ格納部に格納されている前記複製すべきデータを、前記第２のノードの前記データ格納部に複製し、前記複製すべきデータの、前記第２のノードの前記データ格納部への複製の完了に応答して、前記監視処理部に監視処理の解除を指示するデータ複製管理制御部を有するデータ複製管理制御装置を設けたことを特徴とする分散ファイルシステム。
【請求項２】
前記データ複製管理制御部は、前記第１のノードの指定入力と共にノード選択条件を入力し、前記ノード管理テーブルを参照して、前記ノード選択条件を満足する前記第２のノードを、前記第２のノードを含む前記ノードから選択し、前記ノード選択条件を満足する順位に応じて、前記複製すべきデータを前記データ格納部へ複製する前記第２のノードの優先度を決定することを特徴とする請求項１記載の分散ファイルシステム。
【請求項３】
前記ノード管理テーブルは、さらに前記第１及び前記第２のノードを含む前記ノードの各々の保守期限を格納し、前記データ複製管理制御部は、前記第１のノードの指定入力と共にノード選択条件として保守期限までの期間が長いことを入力し、前記ノード管理テーブルに格納されている前記保守期限までの期間が長い前記第２のノードを、前記第２のノードを含む前記ノードから選択することを特徴とする請求項１又は請求項２記載の分散ファイルシステム。
【請求項４】
前記第１のノードと前記第２のノードとの前記ネットワークを介した通信性能を計測する計測処理部を前記第１のノードにさらに含み、前記ノード管理テーブルは、さらに前記第１及び前記第２のノードを含む前記ノードの各々の間の通信性能を格納し、前記データ複製管理制御部は、前記第１のノードの指定入力と共にノード選択条件として通信性能を入力し、前記ノード管理テーブルに格納されている前記通信性能が良好な前記第２のノードを、前記第２のノードを含む前記ノードから選択することを特徴とする請求項１又は請求項２記載の分散ファイルシステム。
【請求項５】
前記監視処理部は、前記監視処理の開始の前記指示を受けてから、前記監視処理の解除の指示を受けるまでの間に、前記第１のノードの前記ネットワークからの離脱および前記第１のノードへの操作のいずれか一つの検知に応答して、前記データ複製管理制御部に警報を通知することを特徴とする請求項１又は請求項２記載の分散ファイルシステム。
【請求項６】
各々がデータ格納部を有する第１のノード及び第２のノードを含むノード、前記第１及び前記第２のノードを含む前記ノードとネットワークを介して接続し、前記ノードの前記データ格納部に格納されるデータおよび前記データの属性情報を格納するメタデータ格納部を有し、前記ノードの前記データ格納部に格納されるデータを管理する分散ファイルシステム管理部を含む分散ファイルシステム管理装置、および前記データの属性情報の操作や送信を前記分散ファイルシステム管理部に指示するためのコマンドを発行する分散ファイルシステムクライアント部を含むデータ複製管理制御装置を有する分散ファイルシステムにおけるデータ複製管理制御方法であって、
前記第１のノードは、前記第１のノードの前記ネットワークからの離脱および前記第１のノードへの操作の検知に応答して、警報を通知する監視処理部を有し、
前記データ複製管理制御装置は、
少なくとも、前記第１及び前記第２のノードを含む前記ノードの各々を一意に識別するための識別子、並びに、前記第１及び前記第２のノードを含む前記ノードの各々の前記データ格納部のデータ格納可能容量を格納するノード管理テーブル、および、前記第１のノードの前記データ格納部に格納されている複製すべきデータのデータ名とそのサイズを格納する複製データ管理テーブルを有し、
当該分散ファイルシステムから離脱させる前記第１のノードの指定入力に応答して、前記分散ファイルシステムクライアント部及び前記分散ファイルシステム管理部を介して、前記メタデータ格納部に格納される、前記第１のノードの前記データ格納部に格納されている前記データの前記属性情報を取得し、
取得した前記属性情報に基づいて、前記第１のノードの前記データ格納部に格納され、前記第２のノードを含む前記ノードの前記データ格納部に格納されていないデータを抽出し、
抽出した前記データを前記複製すべきデータとしてそのデータ名とサイズを前記複製データ管理テーブルに格納し、
前記監視処理部に監視処理の開始を指示し、
前記ノード管理テーブルを参照して、前記複製すべきデータの前記サイズが、前記第２のノードの前記データ格納部の前記データ格納可能容量以下の場合、前記分散ファイルシステムクライアント部及び前記分散ファイルシステム管理部を介して、前記第１のノードの前記データ格納部に格納されている前記複製すべきデータを、前記第２のノードの前記データ格納部に複製し、
前記複製すべきデータの、前記第２のノードの前記データ格納部への複製の完了に応答して、前記監視処理部に監視処理の解除を指示することを特徴とするデータ複製管理制御方法。
【請求項７】
前記データ複製管理制御装置は、前記第１のノードの指定入力と共にノード選択条件を入力し、前記ノード管理テーブルを参照して、前記ノード選択条件を満足する前記第２のノードを、前記第２のノードを含む前記ノードから選択し、前記ノード選択条件を満足する順位に応じて、前記複製すべきデータを前記データ格納部へ複製する前記第２のノードの優先度を決定することを特徴とする請求項６記載のデータ複製管理制御方法。
【請求項８】
前記ノード管理テーブルは、さらに前記第１及び前記第２のノードを含む前記ノードの各々の保守期限を格納し、前記データ複製管理制御装置は、前記第１のノードの指定入力と共にノード選択条件として保守期限までの期間が長いことを入力し、前記ノード管理テーブルに格納されている前記保守期限までの期間が長い前記第２のノードを、前記第２のノードを含む前記ノードから選択することを特徴とする請求項６又は請求項７記載のデータ複製管理制御方法。
【請求項９】
前記第１のノードと前記第２のノードとの前記ネットワークを介した通信性能を計測する計測処理部を前記第１のノードにさらに含み、前記ノード管理テーブルは、さらに前記第１及び前記第２のノードを含む前記ノードの各々の間の通信性能を格納し、前記データ複製管理制御装置は、前記第１のノードの指定入力と共にノード選択条件として通信性能を入力し、前記ノード管理テーブルに格納されている前記通信性能が良好な前記第２のノードを、前記第２のノードを含む前記ノードから選択することを特徴とする請求項６又は請求項７記載のデータ複製管理制御方法。
【請求項１０】
前記監視処理部は、前記監視処理の開始の前記指示を受けてから、前記監視処理の解除の指示を受けるまでの間に、前記第１のノードの前記ネットワークからの離脱および前記第１のノードへの操作のいずれか一つの検知に応答して、前記データ複製管理制御装置に警報を通知することを特徴とする請求項６又は請求項７記載のデータ複製管理制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続した複数のファイルサーバ等の記録媒体を具備する装置（以下「ノード」と記す）にファイルデータ（以下「データ」と記す）を複製してデータの保全性を高めた分散ファイルシステム及びデータ複製管理制御方法に関する。
【背景技術】
【０００２】
特許文献１に、複数のノードからなる分散ファイルシステムにおいて、ノードに格納されたデータを他のノードへ複製することでノードの故障等によってデータの滅失を回避する技術が開示されている。具体的には、「管理用ファイル」に含まれるパス情報と呼ばれるノードの所在を含む実データの格納先に格納される実データを、「トリガ条件」と呼ばれる契機でネットワークに接続する他のノードへ複製することにより、ネットワーク障害やノードの故障によりデータへのアクセスが不可能な状態に陥ることやデータの滅失やデータ保全性が低下することを回避している。
【０００３】
具体的なトリガ条件は次に示すものがある。データの格納時、更新時、定期的、保守作業発生時、および災害、警報、ネットワークやストレージの故障などのイベント発生時である。ストレージおよびネットワークの利用状況もトリガ条件である。たとえば、ストレージおよびネットワークの性能に対する負荷、ファイル単位、ディスク単位、組織または地域単位などのアクセス頻度、ストレージ容量の空きの増減の変化量である。データファイルにアクセス可能か否かを定期的または随時確認し、アクセス不可の場合等もトリガ条件である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３５０４７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術は、パス情報を含む管理用ファイルを管理する管理部や管理部からパス情報を取得する複製部が、実データを格納するノードとは物理的に異なる装置内に具備する。複製処理は複製部がデータの複製処理を行う際に管理部から取得したパス情報に基づいて複製元データにアクセスして複製処理を行うが、パス情報を取得した後に実データを含むノードの故障、ノードを設置する拠点での災害によるアクセス不能、通信機能の故障等の自然発生的な事象、または、人による能動的なノードの停止、通信機能の停止等の人為的な事象が発生すると、複製元データへアクセスできなくなる。既に複製処理が完了しており、データが複数のノードに格納されていれば他のノードに格納されているデータを利用して複製処理を実行することができるが、複製処理が完了していなければ唯一存在するデータへアクセスできなくなり、複製処理を実行できなくなる。
【０００６】
自然発生的な事象に対しては、ノード自体や通信機能の冗長化等によりシステム停止の発生確率を下げることで対応する。一方で、人の作業によるノードの強制停止、冗長機能の停止のような、システムが制御できる範囲を超えた例外については問題を解決することができない。さらに、記録装置の初期化のような行為によってデータを完全に滅失してしまう可能性があり、データを保全できなくなる危険性もある。
【０００７】
本発明は、ネットワークに接続した複数のノードで構成する分散ファイルシステムにおいて、特に人為的にノードを分散ファイルシステムから離脱させてしまうことによって、分散ファイルシステムからのデータへのアクセスが不可能な状態へ陥ることやデータ滅失やデータ保全レベルの低下の可能性を軽減することを目的とする。
【課題を解決するための手段】
【０００８】
開示する分散ファイルシステム（以下、ＦＳ）及びデータ複製管理制御方法は、複数のノードとネットワークを介して接続し、ノードに格納されるデータおよび属性情報を格納するメタデータ格納部を有し、ノードのデータを管理する分散ＦＳ管理部を含む分散ＦＳ管理装置、およびデータ属性情報の操作や送信を分散ＦＳ管理部に指示するためのコマンドを発行する分散ＦＳクライアント部を有し、第１のノードのネットワークからの離脱および第１のノードへの操作の検知に応答して警報を通知する監視処理部を第１のノードに含み、第１及び第２のノードを含むノードの各々を一意に識別するための識別子、並びに、ノードの各々のデータ格納部のデータ格納可能容量を格納するノード管理テーブル、および、第１のノードの複製すべきデータのデータ名とそのサイズを格納する複製データ管理テーブルを有し、さらに、当該分散ＦＳから離脱させる第１のノードの指定入力に応答して、メタデータ格納部に格納される、第１のノードのデータ格納部に格納されているデータの属性情報を取得し、取得した属性情報に基づいて、第１のノードのデータ格納部に格納され、第２のノードを含むノードに格納されていないデータを抽出し、抽出したデータを複製すべきデータとしてそのデータ名とサイズを複製データ管理テーブルに格納し、監視処理部に監視処理の開始を指示し、ノード管理テーブルを参照して、複製すべきデータのサイズが、第２のノードのデータ格納可能容量以下の場合、第１のノードの複製すべきデータを、第２のノードのデータ格納部に複製し、複製の完了に応答して、監視処理部に監視処理の解除を指示するデータ複製管理制御部を有する。
【発明の効果】
【０００９】
本発明によれば、分散ファイルシステムにおいて、人為的な要因によるデータの保全性の低下を回避できる。
【図面の簡単な説明】
【００１０】
【図１】分散ファイルシステムを示す図である。
【図２】ノード管理テーブル（ＮＴＢＬ）を示す図である。
【図３】複製データ管理テーブル（ＲＴＢＬ）を示す図である。
【図４】優先順位管理テーブル（ＰＴＢＬ）を示す図である。
【図５】データ複製制御管理処理部の処理フローの一例を示す図である。
【図６】画面処理部の処理フローの一例を示す図である。
【図７】データ複製管理制御部のノード情報取得処理フローの一例を示す図である。
【図８】データ複製管理制御部のシミュレーション処理フローの一例を示す図である。
【図９】データ複製管理制御部の優先順位決定処理フローの一例を示す図である。
【図１０】ノードの計測処理部の処理フローを示す図である。
【図１１】データ複製管理制御部の複製処理フローを示す図である。
【図１２】ノードの監視処理部の処理フローを示す図である。
【図１３】データ複製管理制御部の監視設定処理フローを示す図である。
【図１４】データ複製制御管理処理部に含まれる離脱候補ノードの複製すべきデータの複製処理の動作処理フローの一例を示す図である。
【発明を実施するための形態】
【００１１】
図１は、分散ファイルシステムを示す図である。分散ファイルシステムは、分散ファイルシステム（以下、分散ＦＳと記す）管理装置１９、複数のノード２２（２２ａ、２２ｂ、２２ｃ、２２ｄ）、データ複製管理制御装置１１とを含み、これらはネットワーク１０を介して接続される。
【００１２】
分散ＦＳ管理装置１９は、分散ＦＳ管理部２０、メタデータ格納部（以下、ＭＤＢ）２１を有する。ノード２２は、分散ＦＳデータ処理部（図中は分散ＦＳ処理部）２３、データ格納部２４、監視処理部２５、計測処理部２６を有する。
【００１３】
データ複製管理制御装置１１は、データ複製管理制御部１２、管理テーブル格納部１３、図示を省略している入出力装置の入出力画面を操作する画面処理部１７、分散ＦＳクライアント部１８を有する。管理テーブル格納部１３は、ノード管理テーブル（以下、ＮＴＢＬ）１４と、複製データ管理テーブル（以下、ＲＴＢＬ）１５と、優先順位管理テーブル（図中は優先順位テーブル、以下、ＰＴＢＬと記す）１５とを格納する。
【００１４】
分散ＦＳ管理部２０と、ＭＤＢ２１と、分散ＦＳデータ処理部２３と、データ格納部２４と、分散ＦＳクライアント部１８によっていわゆる分散ＦＳ（既存の分散ファイルシステム）が実現される。したがって本実施形態の分散ファイルシステムは、既存の分散ファイルシステムの構成に加えて、分散ＦＳクライアント部１８にデータ複製管理制御部１２、管理テーブル格納部１３および画面処理部１７を加えたデータ複製管理制御装置１１、並びに、ノード２２に監視処理部２５、計測処理部２６を備える。
【００１５】
分散ＦＳ管理部２０は、複数ノードの分散ＦＳデータ処理部２３の稼動状況やデータ格納容量といったノード情報の管理と、各ノードに保管するデータ（ファイル）の所在やデータサイズ（ファイルサイズ）といったデータ属性情報の管理と、管理するノードに対するデータ操作と、分散ＦＳクライアント部１８からの処理要求に応じたデータ属性情報の操作や応答やデータ送受信を行う。
【００１６】
ＭＤＢ２１は、分散ＦＳ管理部２０により管理されるデータベースで、各ノード２２に格納されるファイルデータ等のデータの格納場所を示すパス情報やデータサイズ等のデータ属性情報を格納する。
【００１７】
分散ＦＳデータ処理部２３は、自ノードのデータ格納部２４の情報（格納しているデータやその属性情報など）の分散ＦＳ管理部２０への送信、分散ＦＳ管理部２０や分散ＦＳクライアント部１８からのデータの複製などのデータ操作要求に対するデータ操作処理やデータ処理結果の応答を行う。
【００１８】
分散ＦＳクライアント部１８は、分散ＦＳ管理部２０に対する、ノード２２に格納されているデータの属性情報の操作や分散ＦＳクライアント部１８への送信の要求、ノード管理情報の要求、さらに分散ＦＳ管理部２０からの応答に応じた分散ＦＳデータ処理部２３に対するデータ操作要求やデータ送受信を行うためのコマンド群やアプリケーションインタフェース（以下ＡＰＩと記す）群を有し、データ複製管理制御部１２からの指示に基づき所定のコマンドを発行する。
【００１９】
データ複製管理制御装置１１が果たす機能と分散ＦＳ管理装置１９が果たす機能が、同一の装置により実現されてもよい。また、データ複製管理制御装置１１が果たす機能がノード２２により実現されてもよい。
【００２０】
データ複製管理制御装置１１、分散ＦＳ管理装置１９、ノード２２で実現する機能は、サーバ装置、パソコン、等の電子計算機で動作するプログラム処理によって実現してもよいし、専用のハードウェアによって実現してもよい。
【００２１】
電子計算機の場合は、ＣＰＵ、主メモリ、記憶装置、通信装置、入出力装置（キーボード、マウス等）、及び、表示装置を有し、これらは、バス等の通信線により接続される。ＣＰＵは、記憶装置に格納されるプログラムを主記憶装置に読み込み、所定の処理を実行する。本実施形態で説明するプログラム処理やデータは、予め記憶装置に格納しておいてもよいし、ＣＤ−ＲＯＭ等の記憶媒体から入力してもよいし、ネットワーク経由で他の装置からダウンロードしてもよい。
【００２２】
以下、プログラムが行為主体であるかのように記載する場合があるが、実際には、電子計算機が具備するオペレーティングシステム（以下ＯＳと記す）やドライバソフトウェアの制御管理処理と連携しながら、電子計算機のＣＰＵが、当該プログラムを実行して処理を行う主体であることはいうまでもない。
【００２３】
図２は、ＮＴＢＬ１４を示す図である。ＮＴＢＬ１４は、分散ファイルシステムの各ノードについて、ノード２２を一意に識別するための識別子、ノード２２に格納できるデータの容量（格納可能容量）、ノード２２のノード名、ノード２２が属するドメイン、ノード２２のＩＰアドレス、ノード２２が接続するネットワークのネットワークアドレス（図１では、一つのネットワーク１０を図示しているが、複数のネットワークがある場合、各ネットワークを識別するアドレス）、ノード２２が設置されている場所（物理的な位置）、及びノード２２の保守期限を表す日時や時刻を組とした項目の内容を格納する。ＮＴＢＬ１４の、データの格納可能容量以外の項目は、予め運用管理者等によって格納されてもよいし、データ複製管理制御部１２が分散ＦＳ管理部２０を介して得た情報でもよい。データの格納可能容量については、分散ＦＳ管理部２０が各ノード２２のデータ格納部２４の空き容量を把握し、定期的にデータ複製管理制御部１２へ送信するか、データ複製管理制御部１２が分散ＦＳクライアント部１８を介して分散ＦＳ管理部２０から取得して、ＮＴＢＬ１４へ格納する。尚、本実施形態では図示していないが、ノード情報として得ることができる情報であれば、例えばノードが具備するＣＰＵの利用率、メモリ量、通信インタフェースが備える最大通信レート性能、ノード故障率、内蔵記憶装置の故障予測情報、等を格納してもよい。
【００２４】
図３は、ＲＴＢＬ１５を示す図である。ＲＴＢＬ１５は、データ名（ファイル名）とそのデータのサイズ（ファイルサイズ）を組とした項目を持つ。ある一つノード２２のデータ格納領域２４に格納されるデータが他のノード２２のデータ格納領域２４に格納されていない（複製されていない）場合に、当該データの情報がＲＴＢＬ１５に格納される。すなわち、ＲＴＢＬ１５は、ノード２２に格納され、他のノード２２に複製されるべきデータ名とそのサイズを格納する。
【００２５】
図４は、ＰＴＢＬ１６を示す図である。ＰＴＢＬ１６は、あるノード２２のデータを他のノード２２に複製するとき、複製先である他のノード２２に関して、他のノード２２を一意に識別するための識別子（ノード識別子）、他のノード２２に格納できるデータの容量（格納可能容量）、複製元のノード２２と他のノード２２が同一ネットワークに接続しているか否かの判定値、複製元のノード２２から他のノード２２へのレイテンシおよびスループット、他のノード２２の保守期限までの日数や時間、複製元のノード２２から他のノード２２までの物理的な距離、優先順位を格納する。
【００２６】
同一ネットワークであるか否かの判定値は、複製元のノード２２のネットワークアドレスと、複製先の他のノード２２のネットワークアドレスが同一である場合に「ＴＲＵＥ」、同一ではない場合に「ＦＡＬＳＥ」を、後述する処理の判定値として格納する。
【００２７】
レイテンシは、ノード２２から他のノード２２までのネットワーク上のデータ伝送時間である。スループットは、ノード２２から他のノード２２まで単位時間当たりのネットワークを介したデータ転送量である。
【００２８】
保守期限までの日数や時間は、後述するシミュレーション処理を実行する日にちや時刻を基準日としたときの他のノード２２の保守期限までの日数や時間である。図４では、２０１３年１月１０日を基準日としたときの他のノード２２の保守期限までの日数を格納している。
【００２９】
優先順位は、データをノード２２から他のノード２２へ複製するときの、データ送信先（複製先）の順序を表し、後述する優先順位決定処理によって決定した順序である。
【００３０】
図５は、データ複製管理制御部１２の動作処理フローの一例を示す図である。処理フローの全体（Ｓ１００〜Ｓ１２２）は、ノード情報取得・ノード選択処理ステップ群（Ｓ１００〜Ｓ１０５）、シミュレーション処理ステップ群（Ｓ１０６〜Ｓ１０８）、及びデータ複製処理ステップ群（Ｓ１０９〜Ｓ１２２）の３つの処理に分けられる。
【００３１】
図６は、画面処理部１７の動作処理フローの一例を示す図である。画面処理部１７は、図５に示すデータ複製管理制御部１２の処理フローの実行に対応して、画面への出力処理や画面からの入力処理を実行する。処理フローの全体（Ｓ２００〜Ｓ２２２）は、ノード情報取得・ノード選択処理ステップ群（Ｓ２００〜Ｓ２０６）、シミュレーション処理ステップ群（Ｓ２０７〜Ｓ２１０）、データ複製処理ステップ群（Ｓ２１〜Ｓ２２２）の３つの処理に分けられる。図５および図６の処理ステップ群はそれぞれ対応して実行される。
【００３２】
データ複製管理制御部１２は、ノード情報取得処理サブルーチンを実行し、ＮＴＢＬ１４へノード情報が格納された時刻を取得する（Ｓ１０１）。ノード情報が格納された時刻は、ノード情報取得処理サブルーチンの返値として得られる。ノード情報取得処理サブルーチンの詳細は後述する。取得したノード情報を入出力装置に画面表示する（Ｓ１０２、Ｓ２０１）。管理者から分散ファイルシステムから離脱させるノード２２の指定を待つ（Ｓ１０３）。画面処理部１７でノード２２（例えば「０００１」）の指定を入力する（Ｓ２０２）。指定されたノード２２に関して処理を進めるかを確認する（Ｓ２０３、Ｓ２０４）。指定内容を変更する場合は「訂正」（Ｓ２０５）、変更しない場合が「了解」を選択入力する（Ｓ２０６）。選択入力がない場合はノード情報を表示し、入力を待ち受ける（Ｓ１０４）。ノード２２の指定入力後、ＮＴＢＬ１４のノード情報の鮮度を確認するために、ノード情報が格納された時刻と現在時刻の差分を計算し、差分が所定の時間を超えている場合は、ノード情報を再取得するためにＳ１０１へ移る。超えていない場合、ステップ１０６へ進む（Ｓ１０５）。シミュレーション処理実行確認画面を表示する（Ｓ１０８、Ｓ２０７）。シミュレーション条件を入力し、シミュレーション実行の指示を入力する（Ｓ２０８）。
【００３３】
シミュレーション条件とは、指定入力されたノード２２のデータの複製先ノード（複製したデータを格納する他のノード２２）のノード選択条件である。例えば、保守期限までの時間が長いノードである、地理的に近い場所に設置されるノードである、ネットワークアドレスが同一であるノードである、複製先ノードまでのデータ送信のレイテンシが小さいノードである、複製先ノードまでのデータ送信のスループットが大きいノードである、データの複製数が所定の数である、ノードの障害発生数である、ノードが具備するＣＰＵの利用率、ノードが具備するメモリ量などのような条件である。シミュレーション条件は、地理的に遠い場所に設置される他のノード２２のように、前述の逆であってもよいし、いくつかの条件の組み合わせであってもよい。本実施形態では保守期限までの時間が長い他のノード２２をシミュレーション条件として説明する。
【００３４】
シミュレーション条件が指定され、シミュレーション処理実行の指示に応答して、シミュレーション処理のステップへ進む（Ｓ１０７）。管理者が指定したノード２２の識別子を引数として、シミュレーション処理サブルーチンを実行（Ｓ１０８）し、画面にはシミュレーション処理を実行していることを示す表示を行う（Ｓ２０９）。シミュレーション処理サブルーチンは、指定入力されたノード２２のデータの他のノード２２への複製可否、通知事項およびシミュレーション完了時刻を返値とする。シミュレーション処理の詳細は後述する。シミュレーション処理が完了するとシミュレーション処理完了時刻とデータの複製可否を画面に表示する（Ｓ１０９、Ｓ２１０）。データの複製可否に基づいて処理を分岐する（Ｓ１１０）。複製処理が可能な場合は（Ｓ１１１、Ｓ２２１）へ移り、複製処理が不可能な場合は（Ｓ１２０、Ｓ２２０）へ移る。
【００３５】
複製処理が不可能な場合は、通知事項として取得した複製処理を実行できない理由や複製処理を実行でるようにするための対処策を画面に表示（Ｓ１２０、Ｓ２２０）。管理者からの確認入力を受けて（Ｓ１２１、Ｓ２２１）、処理を終了する（Ｓ２２２）。複製処理を実行できない理由としては、シミュレーション条件を満足できる結果が得られない、データ複製のための複製先の他のノード２２のデータ格納領域２４の容量が不足している、複製するデータが存在しないなどがある。対処策としては、例えば、ノード２２を増設する、シミュレーション条件を変更するなどがあるが、本実施形態では複製するデータの総容量とデータ格納領域２２の総容量の比較により判定する。
【００３６】
複製処理が可能な場合は、複製処理を実行できることを画面に表示（Ｓ１１１、Ｓ２１１）。管理者からの確認入力を受ける（Ｓ１１２、Ｓ２１２）。ステップＳ１０１によるノード情報取得時刻やステップＳ１０８によるシミュレーション処理完了時刻から所定の時間を経過しているか否かをチェックする（Ｓ１１３）。所定の時間を経過しているならば、ノード情報の鮮度やシミュレーション結果の鮮度が悪いことを知らせる画面表示（Ｓ１１４）を行い、管理者の確認入力（Ｓ２１３）の後に、ノード情報取得処理（Ｓ１０１、Ｓ２０１）へ戻る。所定の時間を経過していないならば、複製処理実行確認画面を表示し、管理者からの確認入力を受け（Ｓ２１５）、複製処理を実行する（Ｓ１１６、Ｓ２１６）。複製処理の詳細は後述する。複製処理が完了すると結果を画面に表示する（Ｓ１１７、Ｓ２１７）。管理者の確認入力（Ｓ２１８）を受け、選択したノード２２を分散ファイルシステムから離脱してもデータが滅失しないことなどを画面表示し（Ｓ１１９、Ｓ２１９）、処理を終了する（Ｓ２２２）。
【００３７】
図７は、データ複製管理制御部１２のＳ１０１のノード情報取得処理フローの一例を示す図である。
【００３８】
ノード情報取得処理は、分散ＦＳクライアント部１８に用意されたノード情報取得処理コンマンドを実行し、実行結果として得られるノード情報をＮＴＢＬ１４へ格納する（Ｓ３０１）。分散ＦＳクライアント部１８には、前述のように、分散ＦＳ管理部２０に対する操作要求や送受信のコマンド群やＡＰＩ群が用意されている。実行結果のノード情報は、ＮＴＢＬ１４に格納できる情報の組であってもよいし、データ格納容量であってもよい。後者の場合は、予め運用管理者がデータ格納容量以外の項目の内容を格納しておく必要がある。ノード情報を格納し終えた時刻を取得し（Ｓ３０２）、取得した時刻をサブルーチンの返値とする（Ｓ３０３）。
【００３９】
図８は、データ複製管理制御部１２のＳ１０８のシミュレーション処理フローの一例を示す図である。
【００４０】
シミュレーション処理は、データの複製元のノード２２を特定するノード識別子及びシミュレーション条件を引数としたサブルーチンとして実行される。シミュレーション処理は、ノード識別子で指定されたノード２２のデータ格納部２４に格納されているデータが、他のノード２２のデータ格納部２４に格納されていない場合に、指定されたシミュレーション条件を満足して、このデータを他のノード２２に複製可能か否かを判定する処理である。指定されたノード識別子を検索キーとして、ＮＴＢＬ１４からノード情報を取得し、取得したノード情報のノード名を抽出し、分散ＦＳクライアント部１８のコマンドやＡＰＩを利用して、分散ＦＳ管理部２０が管理するＭＤＢ２１から、当該ノード名のノード２２のデータ格納部２４に格納されるデータのデータ属性情報を取得する（Ｓ４０１）。取得したデータ属性情報を元に、指定したノード２２のデータ格納部２４に格納され、他のノード２２に複製されていないデータを抽出し、そのデータ名とデータ量をＲＴＢＬ１５へ格納する（Ｓ４０２）。
【００４１】
ＲＴＢＬ１５にエントリがない場合（ノード識別子で指定されたノード２２のデータ格納部２４に格納され、他のノード２２に複製されていないデータがない場合）はＳ４０４へ移り、エントリがある場合（ノード識別子で指定されたノード２２のデータ格納部２４に格納され、他のノード２２に複製されていないデータがある場合）はＳ４０６へ移る。ＲＴＢＬ１５にエントリがない場合は、複製処理を実行する必要がないため、処理結果を複製不可能（Ｓ４０４）とし、通知事項を「複製すべきファイルはありません」とし（Ｓ４０５）、処理時刻として現在時刻をサブルーチンの返値とする（Ｓ４１６，Ｓ４１７）。
【００４２】
エントリがある場合は、監視設定処理を実行する（Ｓ４０６）。監視設定処理の詳細は後述する。ＲＴＢＬ１５に格納されている複製すべき全エントリのデータのサイズを加算し、複製対象データ量の総容量（size）を算出する（Ｓ４０７）。ＮＴＢＬ１４を参照して、管理者が指定した複製元のノード２２を除く他のノード２２のデータ格納可能容量を取得して（Ｓ４０８）、加算しデータ格納可能容量の総容量（vol）を算出する（Ｓ４０９）。複製対象データ量の総容量（size）とデータ格納可能容量の総容量（vol）を比較し、複製対象データ量の総容量（size）がデータ格納可能容量の総容量（vol）以下の場合は、Ｓ４１３）へ移り、複製対象データ量の総容量（size）がデータ格納可能容量の総容量（vol）を超える場合は、Ｓ４１１へ移る。
【００４３】
比較結果がデータ格納可能容量の総容量（vol）を超える場合は、データ格納可能容量の総容量（vol）がデータの複製に不足するため、処理結果を複製不可能（Ｓ４１１）とし、通知事項は例えば、「ノードを増設してください」等とし（Ｓ４１２）、処理時刻として現在時刻をサブルーチンの返値とする（Ｓ４１６，Ｓ４１７）。
【００４４】
比較結果がデータ格納可能容量の総容量（vol）以下の場合は、データ格納可能容量の総容量（vol）が足りるため、処理結果を複製可能（Ｓ４１３）とし、複製先ノード２２の優先順位を決定する処理（Ｓ４１４）へ移る。優先順位決定処理の詳細は後述する。優先順位を決定した後、通知事項は例えば「対処すべき事項はありません」等とし（Ｓ４１５）、処理時刻として現在時刻をサブルーチンの返値とする（Ｓ４１６，Ｓ４１７）。
【００４５】
図９は、優先順位決定処理のＳ４１４の優先順位決定処理フローの一例を示す図である。優先順位決定処理は、複製元のノード２２を特定するノード識別子及びシミュレーション条件を引数としたサブルーチンとして実行される。優先順位決定処理は、ノード識別子で指定されたノード２２の複製すべきデータを他のノード２２へ複製する際の複製先ノードの複製順位（複製データの送信順序）をシミュレーション条件に従って決定する処理である。具体的には、ＰＴＢＬ１６を生成し、ＰＴＢＬ１６に含まれる複製先ノードの複製順位を決定する。本実施形態では、ノード２２の保守期限までの時間が長さで決定する。
【００４６】
ノード識別子で指定された複製元のノード２２以外の他のノード２２のノード識別子、データ格納可能容量をＮＴＢＬ１４からコピーし、ＰＴＢＬ１６を生成する。複製元のノード２２のノード識別子を「０００１」として説明する。ノード識別子「０００１」のノード２２のＩＰアドレスをＮＴＢＬ１４から取得する（Ｓ５０１）。取得したＩＰドレスを持つ複製元のノード２２の計測処理部２６に接続し（Ｓ５０２）、ＰＴＢＬ１６を参照してノード識別子「０００１」以外の他のノード２２のＩＰアドレスリストを送付する（Ｓ５０３）。ノード２２の計測処理部２６の詳細処理は後述する。ＩＰアドレスリストを送付した後は、計測処理部２６から計測結果が送付されるのを待ち受ける（Ｓ５０４、Ｓ５０５、Ｓ５０６）。
【００４７】
計測結果を受信すると、計測結果に含まれる、各ＩＰアドレスに対応するレンテンシやスループットをＰＴＢＬ１６へ格納する（Ｓ５０７）。次に、「０００１」で指定したノード２２と、他のノード２２のネットワークアドレスが同一であるかを判定し、同一であれば「ＴＲＵＥ」、同一でなければ「ＦＡＬＳＥ」をＰＴＢＬ１６へ格納する（Ｓ５０８）。「０００１」で指定した複製元のノード２２と他のノード２２との間の距離を、ＮＴＢＬ１４の設置場所に基づいて計算し、それぞれの計算結果をＲＴＢＬ１６の距離へ格納する（Ｓ５０９）。「０００１」で指定したノード２２以外の他のノード２２の保守期限までの日数や時間をＮＴＢＬ１４の保守期限に基づいて計算し、計算結果をＰＴＢＬ１６へ格納する（Ｓ５１０）。本実施形態では、シミュレーション条件が保守期限までの期間の長さが長いほど優先順位を高くする（複製データの送信順序を早くする）ことであるため、ＰＴＢＬ１６においては、ノード識別子が「０００２」→「０００４」→「０００３」の順序で優先順位を１→２→３としてＰＴＢＬ１６に格納する（Ｓ５１１）。レンテンシやスループットなどの通信性能を複製先の他のノード２２の選択条件として用いる場合は、良好な通信性能の他のノード２２を選択する。なぜならば、データの複製処理を短時間に確実に完了させるためである。
【００４８】
図１０は、ノード２２が具備する計測処理部２６の処理フローを示す図である。計測処理部２６は、データ複製制御管理処理部１２のシミュレーション処理（図８）の優先順位決定処理（図９）から送付されるＩＰアドレスリストの受信を待ち受けて（Ｓ６０１，Ｓ６０２）、実行開始する。計測処理部２６は、他のノード２２との通信性能を計測する。計測処理部２６は、ＩＰアドレスリストを受信する（Ｓ６０３）と、自ノード２２から、ＩＰアドレスリストに含まれる各ノード２２に対するレイテンシやスループットを計測（Ｓ６０４）し、計測結果リストに格納（Ｓ６０５）する。計測結果リストを優先順位決定処理（図９）へ返す（Ｓ６０６）。
【００４９】
レイテンシやスループットは、性能計測用のテストデータを送付することで得られるアクティブ計測や、性能計測用のテストデータを送付せずに、ネットワークに伝送されているデータの振る舞いを計測して性能を予測するパッシブ計測などがあり、組み合わせて計測してもよい。より具体的には例えばレイテンシに関しては、Ｐｉｎｇコマンドを発行して得られる往復転送遅延時間から予測する方法がある。スループットに関しては、特定サイズのテストデータの送信にかかる時間から予測する方法がある。
【００５０】
図１１は、データ複製管理制御部１２のＳ１１６複製処理フローの一例を示す図である。複製処理は、複製元のノード２２に格納される複製対象データをＰＴＢＬ１６に記される優先度の高い順序で他のノード２２へ複製する処理である。複製元のノード２２を特定するノード識別子を「０００１」として説明する。優先度が高いノード２２への複製処理が失敗の場合は、所定の回数だけ処理を試み、それでも失敗する場合は次の優先度のノード２２への複製処理を行う。
【００５１】
ＰＴＢＬ１６の優先度を参照するための優先順位参照カウンタ（ｐ）を１に初期化する（Ｓ７０１）。ＰＴＢＬ１６から優先度１の他のノード２２のＩＰアドレスを取得する（Ｓ７０２）。ＲＴＢＬ１５から複製対象データのデータ名を取得し（Ｓ７０３）、複製コマンドを生成する（Ｓ７０４）。例えば、データ名「ｆｉｌｅ００１」をノード名「Ｎｏｄｅ０００１」からノード名「Ｎｏｄｅ０００２」へ複製する場合には、例えば「Ｃｏｐｙ  ｆｉｌｅ００１  ―ｓ  Ｎｏｄｅ０００１  −ｄ  Ｎｏｄｅ０００２」のようなコマンドを生成する（Ｓ７０５）。このコマンドは分散ＦＳの実装形態に合わせて実装する。コマンド発行の失敗回数を把握するための失敗回数カウンタ（ng）を初期化し（Ｓ７０６）、生成した複製コマンドを、分散ＦＳクライアント部Ｓ１８を通じて発行する（Ｓ７０７）。複製コマンド発行が成功すればＳ７０９へ進み、失敗すればＳ７１２進む。
【００５２】
複製コマンド発行が成功した場合は、ＲＴＢＬ１５から複製が完了したデータのエントリを削除し（Ｓ７０９）、次の複製対象データの処理へ進める（Ｓ７０３）。複製コマンド発行が失敗した場合は、コマンド発行失敗回数カウンタ（ng）をインクリメントし（Ｓ７１２）、失敗回数カウンタ（ng）の値が所定の回数を超過しているか否かを判定し（Ｓ７１３）、超過していれば、優先順位参照カウンタ（ｐ）をインクリメントし（Ｓ７１４）、次の優先度（優先順位参照カウンタ（ｐ）が示す優先度）の他のノード２２の情報をＰＴＢＬ１６から取得する（Ｓ７１５）。
【００５３】
失敗回数カウンタ（ng）の値が所定の回数を超過していなければ、複製先ノード２２までの疎通（通信可能）を確認する（Ｓ７１６）。もし疎通がなければＳ７１４へ移り、疎通あれば、複製先ノード２２のデータ格納部２４の空き容量をチェックし（Ｓ７１７）、空き容量が不足していればＳ７１４へ移り、不足していなければ、優先順位参照カウンタ（ｐ）を維持し、複製コマンドの発行を試みるためにＳ７０７へ移る。最終的にＲＴＢＬ１５のエントリがなくなるまで処理を実行し、エントリがなくなれば、監視の解除を指示する監視設定処理を実行し（Ｓ７１０）、処理を終了する（Ｓ７１１）。
【００５４】
図１２は、ノード２２が具備する監視処理部２５の処理フローを示す図である。監視処理２５は、ノード２２に複製すべきデータが残っている場合に、当該ノード２２をネットワーク１０から離脱したり、管理者等が当該ノード２２を操作しようとした場合に画面表示や音声によって警報通知し、ネットワーク１０からの離脱やノード２２を操作することによってデータが滅失したり、データの複製数が減ることを知らせるための監視処理である。
【００５５】
プログラムを実行開始すると、監視設定情報の待ち受け状態となる（Ｓ８０１）。データ複製管理制御部１２からの監視設定情報は２種類あり、監視処理の開始を指示する情報と、監視処理を停止・解除を指示する情報である。データ複製管理制御部１２から送信された情報を受信すると（Ｓ８０２）、受信したデータ複製管理制御部１２からの情報に応じて（Ｓ８０３）、監視プロセス開始処理（Ｓ８０４）または監視プロセス停止処理（Ｓ８０５）へ移る。本実施形態では監視プロセスとして、２種の監視のプロセスを具備する。１つはデータの複製元であるノード２２のネットワークからの離脱を監視するネットワーク監視プロセス（Ｓ８０６〜Ｓ８１３）、他の１つは、管理者等がノード２２を操作すること監視する操作監視プロセス（Ｓ８１４〜Ｓ８２１）である。
【００５６】
操作監視プロセスは、監視プロセスの監視停止指示を待ち受け（Ｓ８１６）、監視プロセスの停止指示ならば（Ｓ８１７）、ノードを離脱してもデータの滅失の可能性がないことを知らせる情報をノード２２が具備する入出力装置に画面表示し、操作監視プロセスを終了する（Ｓ８２１）。監視プロセスの停止指示でないならば（Ｓ８１７）、データの複製元であるノード２２の操作を監視し（Ｓ８１８）、操作入力があるならば（Ｓ８１９）、操作内容とアラームをノード２２が具備する入出力装置に画面表示し、さらに、データ複製管理制御部１２へ通知する（Ｓ８２０）。以上のＳ８１６〜Ｓ８２０を繰り返す（Ｓ８１５）。
【００５７】
ネットワーク監視プロセスは、監視プロセスの監視停止指示を待ち受け（Ｓ８０８）、監視プロセスの停止指示ならば（Ｓ８０９）、操作監視プロセスを終了する（Ｓ８１３）。監視プロセスの停止指示でないならば（Ｓ８０９）、分散ＦＳ管理装置１９や他のノード２２との疎通を確認することにより、ネットワークからのノード２２の離脱を監視し（Ｓ８１８）、疎通がない（通信できない）ならば（Ｓ８１１）、データの複製元であるノード２２の離脱とアラームをノード２２が具備する入出力装置に画面表示する（Ｓ８２０）。以上のＳ８０８〜Ｓ８１２を繰り返す（Ｓ８０７）。
【００５８】
図１３は、データ複製管理制御部１２の監視設定処理（図１１のＳ７１０）の処理フローを示す図である。監視設定処理は、ノード２２に対して、監視設定情報を通知する処理である。監視設定情報は、図１２で説明したノード２２の監視処理部２５によって待ち受けられる。監視設定情報の送信先となるノード２２のＩＰアドレスをＮＴＢＬ１４から取得し（Ｓ９０１）、取得したＩＰアドレスに接続し（Ｓ９０２）、接続したノード２２に監視設定情報を送付する（Ｓ９０３）。監視設定情報は前述の通り、監視処理の開始を指示する情報と、監視処理を停止・解除を指示する情報である。開始を指示する情報である場合は（Ｓ９０４）、情報を送付したノード２２までの疎通を監視する処理を開始し、ノード２２における操作監視でのアラートを待ち受ける（Ｓ９０５）。停止・解除を指示する情報である場合は、情報を送付したノード２２までの疎通を監視する処理を停止し、（Ｓ９０６）。処理を終了する。
【００５９】
以下に、本実施形態の分散ファイルシステムから離脱させるノード２２を、ＮＴＢＬ１４に格納されるノードの保守期限によって選択し、データの複製処理を実行する例について説明する。
【００６０】
図１４は、データ複製管理制御部１２に含まれる離脱候補ノードの複製すべきデータの複製処理の動作処理フローの一例を示す図である。
【００６１】
本複製処理は、図１１に示した複製処理とは異なり、ＮＴＢＬ１４から定期的（例えば１日に１回）にノード２２の保守期限取得する（Ｓ１００１）。取得した保守期限までの期間が所定の期間（例えば１ヶ月）未満の場合に、そのノード２２を離脱候補ノードとして選択し（Ｓ１００２）、シミュレーション処理（Ｓ１００３）と図１１に示す複製処理（Ｓ１００４）を実行し、保守期限を迎える前に離脱候補ノードの複製すべきデータの複製を完了させる。
【００６２】
本実施形態によれば、ネットワークに接続した複数のノードで構成する分散ファイルシステムにおいて、人為的な要因によるデータの保全性の低下を回避できる。具体的には、人為的にノードを分散ファイルシステムから離脱させてしまうことによって、分散ファイルシステムからのデータへのアクセスが不可能の状態へ陥ることやデータ滅失やデータ保全レベルの低下の可能性を軽減できる。
【符号の説明】
【００６３】
１０…ネットワーク、１１…データ複製管理制御装置、１２…データ複製管理制御部、１３…管理テーブル格納部、１４…ノード管理テーブル（ＮＴＢＬ）、１５…複製データ管理テーブル（ＲＴＢＬ）、１６…優先順位管理テーブル（ＰＴＢＬ）、１７…画面処理部、１８…分散ＦＳクライアント部、１９…分散ＦＳ管理装置、２０…分散ＦＳ管理部、２１…メタデータ格納部（ＭＤＢ）、２２…ノード、２３…分散ＦＳデータ処理部、２４…データ格納部、２５…監視処理部、２６…計測処理部。
【図１】
2014174675.tif 000003
【図２】
2014174675.tif 000004
【図３】
2014174675.tif 000005
【図４】
2014174675.tif 000006
【図５】
2014174675.tif 000007
【図６】
2014174675.tif 000008
【図７】
2014174675.tif 000009
【図８】
2014174675.tif 000010
【図９】
2014174675.tif 000011
【図１０】
2014174675.tif 000012
【図１１】
2014174675.tif 000013
【図１２】
2014174675.tif 000014
【図１３】
2014174675.tif 000015
【図１４】
2014174675.tif 000016