(57)【要約】      （修正有）【課題】現用装置から待機装置にコピーされたデータが、どの時点のものかが明確化された非同期コピーの分散ファイル装置を提供する。【解決手段】分散ファイル装置１０は、アプリケーション２０を実行する第１装置１１と、第１装置に障害が発生したときに実行を引き継ぐ第２装置１２を含む。第１装置は、アプリケーションの実行に関するデータに第２装置に未反映のフラグを立てて記憶部に登録し、データに送信時刻を付して第２装置に送信する。第２装置は、データを未反映データ記憶部に登録する。第１装置は、予め設定されたトリガー条件を満たしたときに、第２装置に未反映のデータ反映を指示する。第２装置は、未反映データ記憶部に登録された未反映データの送信時刻をチェックポイント時刻に変更した後、記憶部に登録し、完了信号を第１装置に送信する。第１装置は、記憶部に登録されたデータのフラグを倒す。【選択図】図１
2020095322.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを実行する第１装置と、
前記第１装置に障害が発生したときに前記アプリケーションの実行を引き継ぐ第２装置と、
を含み、
前記第１装置は、第１制御部、第１記憶部、及び、反映実行部、を含み、
前記第２装置は、第２制御部、未反映データ記憶部、及び、第２記憶部、を含み、
前記第１制御部及び前記第２制御部は、通信回線網を介して接続可能であり、
前記第１制御部は、前記アプリケーションの実行に関するデータに、前記第２装置に未反映であるとのフラグを立てて前記第１記憶部に登録し、かつ、前記データに送信時刻を付して前記第２制御部に送信し、
前記第２制御部は、前記送信時刻が付された前記データを、前記未反映データ記憶部に登録し、
前記反映実行部は、予め設定されたトリガー条件を満たしたとき、前記第２装置に未反映のデータの前記第２装置への反映を前記第２制御部に指示するように前記第１制御部に指示し、
前記指示を受けたとき、前記第１制御部は、前記未反映のデータの反映を、前記第２制御部に指示し、
前記指示を受けたとき、前記第２制御部は、前記未反映データ記憶部に登録された前記未反映のデータに付された前記送信時刻を、チェックポイント時刻に変更した後、前記データを前記第２記憶部に登録し、かつ、前記データの反映の完了信号を、前記第１制御部に送信し、
前記完了信号を受信したとき、前記第１制御部は、前記第２装置に未反映であるとのフラグを立てて前記第１記憶部に登録されたデータの前記フラグを倒す、
分散ファイル装置。
【請求項２】
前記予め設定されたトリガー条件が、所定時間の経過又は所定時刻の到来である、
請求項１記載の分散ファイル装置。
【請求項３】
前記未反映データ記憶部が、データ量の閾値を有し、
前記予め設定されたトリガー条件が、前記未反映データ記憶部に登録されたデータ量が前記閾値を超えたことである、
請求項１記載の分散ファイル装置。
【請求項４】
前記予め設定されたトリガー条件が、前記アプリケーションから前記第１制御部にチェックポイント取得要求がされたことである、
請求項１記載の分散ファイル装置。
【請求項５】
前記未反映データ記憶部に登録された前記送信時刻が付された未反映のデータの一部又は全部をロストしたとき、前記第１制御部が、前記第２装置に未反映であるとのフラグを立てて前記第１記憶部に登録されたデータと、前記未反映データ記憶部に登録されたデータとの差分を、前記第２制御部に送信する、
請求項１から４のいずれか一項に記載の分散ファイル装置。
【請求項６】
前記第１装置に障害が発生し、前記第２装置が前記アプリケーションの実行を引き継いだとき、前記第２制御部が、下記条件１及び下記条件２のいずれかを選択する、
請求項１から５のいずれか一項に記載の分散ファイル装置。
（条件１）
前記第２記憶部に登録された前記チェックポイント時刻が付された反映済みのデータのみを、前記アプリケーションの実行に使用する。
（条件２）
前記第２記憶部に登録された前記チェックポイント時刻が付された反映済みのデータと、前記未反映データ記憶部に登録された前記送信時刻が付された未反映のデータとを、前記アプリケーションの実行に使用する。
【請求項７】
前記第２制御部が、前記条件１を選択したときに前記第２装置が前記アプリケーションを起動するまでに要する時間と、前記条件２を選択したときに前記第２装置が前記アプリケーションを起動するまでに要する時間とを予測する、
請求項６記載の分散ファイル装置。
【請求項８】
アプリケーションを実行する第１装置と、
前記第１装置に障害が発生したときに前記アプリケーションの実行を引き継ぐ第２装置と、
を含む分散ファイル装置を用い、
前記第１装置は、第１制御部、第１記憶部、及び、反映実行部、を含み、
前記第２装置は、第２制御部、未反映データ記憶部、及び、第２記憶部、を含み、
前記第１制御部及び前記第２制御部は、通信回線網を介して接続可能であり、
前記第１制御部が、前記アプリケーションの実行に関するデータに、前記第２装置に未反映であるとのフラグを立てて前記第１記憶部に登録し、かつ、前記データに送信時刻を付して前記第２制御部に送信する未反映データ処理工程と、
前記第２制御部が、前記送信時刻が付された前記データを、前記未反映データ記憶部に登録する未反映データ登録工程と、
前記反映実行部が、予め設定されたトリガー条件を満たしたとき、前記第２装置に未反映のデータの前記第２装置への反映を前記第２制御部に指示するように前記第１制御部に指示する第１反映指示工程と、
前記指示を受けたとき、前記第１制御部が、前記未反映のデータの反映を、前記第２制御部に指示する第２反映指示工程と、
前記指示を受けたとき、前記第２制御部が、前記未反映データ記憶部に登録された前記未反映のデータに付された前記送信時刻を、チェックポイント時刻に変更した後、前記データを前記第２記憶部に登録し、かつ、前記データの反映の完了信号を、前記第１制御部に送信する反映工程と、
前記完了信号を受信したとき、前記第１制御部が、前記第２装置に未反映であるとのフラグを立てて前記第１記憶部に登録されたデータの前記フラグを倒す登録工程と、
を含むフェイルオーバ方法。
【請求項９】
前記予め設定されたトリガー条件が、所定時間の経過又は所定時刻の到来である、
請求項８記載のフェイルオーバ方法。
【請求項１０】
前記未反映データ記憶部が、データ量の閾値を有し、
前記予め設定されたトリガー条件が、前記未反映データ記憶部に登録されたデータ量が前記閾値を超えたことである、
請求項８記載のフェイルオーバ方法。
【請求項１１】
前記予め設定されたトリガー条件が、前記アプリケーションから前記第１制御部にチェックポイント取得要求がされたことである、
請求項８記載のフェイルオーバ方法。
【請求項１２】
前記未反映データ記憶部に登録された前記送信時刻が付された未反映のデータの一部又は全部をロストしたとき、前記第１制御部が、前記第２装置に未反映であるとのフラグを立てて前記第１記憶部に登録されたデータと、前記未反映データ記憶部に登録されたデータとの差分を、前記第２制御部に送信する差分送信工程を含む、
請求項８から１１のいずれか一項に記載のフェイルオーバ方法。
【請求項１３】
前記第１装置に障害が発生し、前記第２装置が前記アプリケーションの実行を引き継いだとき、前記第２制御部が、下記条件１及び下記条件２のいずれかを選択する選択工程を含む、
請求項８から１２のいずれか一項に記載のフェイルオーバ方法。
（条件１）
前記第２記憶部に登録された前記チェックポイント時刻が付された反映済みのデータのみを、前記アプリケーションの実行に使用する。
（条件２）
前記第２記憶部に登録された前記チェックポイント時刻が付された反映済みのデータと、前記未反映データ記憶部に登録された前記送信時刻が付された未反映のデータとを、前記アプリケーションの実行に使用する。
【請求項１４】
前記第２制御部が、前記条件１を選択したときに前記第２装置が前記アプリケーションを起動するまでに要する時間と、前記条件２を選択したときに前記第２装置が前記アプリケーションを起動するまでに要する時間とを予測する予測工程を含む、
請求項１３記載のフェイルオーバ方法。
【請求項１５】
請求項８から１４のいずれか一項に記載の方法をコンピュータ上で実行可能なプログラム。
【請求項１６】
請求項１５記載のプログラムを記録しているコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散ファイル装置、フェイルオーバ方法、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
現用装置と待機装置（バックアップ装置）との分散ファイル装置におけるデータ管理には、同期コピーと非同期コピーの二つの方式がある。前記二つの方式のうち、同期コピーの方がバックアップとしては望ましい。しかしながら、同期コピーでは、同じ災害で現用装置及び待機装置の双方に影響が及ぶことのないように、両者が遠隔にある、例えば、地理的に離れた異なる都市にある場合には、処理に時間を要する。したがって、処理時間の短縮のためには、非同期コピーが好ましい（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１３６５９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、非同期コピーには、障害発生によりアプリケーションの実行を現用装置から待機装置へと引き継ぐときに、現用装置から待機装置にコピーされたデータが、どの時点のものか明確でないという問題がある。
【０００５】
そこで、本発明は、現用装置から待機装置にコピーされたデータが、どの時点のものかが明確化された非同期コピーの分散ファイル装置及びそれを用いたフェイルオーバ方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記目的を達成するために、本発明の分散ファイル装置は、
アプリケーションを実行する第１装置と、
前記第１装置に障害が発生したときに前記アプリケーションの実行を引き継ぐ第２装置と、
を含み、
前記第１装置は、第１制御部、第１記憶部、及び、反映実行部、を含み、
前記第２装置は、第２制御部、未反映データ記憶部、及び、第２記憶部、を含み、
前記第１制御部及び前記第２制御部は、通信回線網を介して接続可能であり、
前記第１制御部は、前記アプリケーションの実行に関するデータに、前記第２装置に未反映であるとのフラグを立てて前記第１記憶部に登録し、かつ、前記データに送信時刻を付して前記第２制御部に送信し、
前記第２制御部は、前記送信時刻が付された前記データを、前記未反映データ記憶部に登録し、
前記反映実行部は、予め設定されたトリガー条件を満たしたとき、前記第２装置に未反映のデータの前記第２装置への反映を前記第２制御部に指示するように前記第１制御部に指示し、
前記指示を受けたとき、前記第１制御部は、前記未反映のデータの反映を、前記第２制御部に指示し、
前記指示を受けたとき、前記第２制御部は、前記未反映データ記憶部に登録された前記未反映のデータに付された前記送信時刻を、チェックポイント時刻に変更した後、前記データを前記第２記憶部に登録し、かつ、前記データの反映の完了信号を、前記第１制御部に送信し、
前記完了信号を受信したとき、前記第１制御部は、前記第２装置に未反映であるとのフラグを立てて前記第１記憶部に登録されたデータの前記フラグを倒す、装置である。
【０００７】
本発明のフェイルオーバ方法は、
アプリケーションを実行する第１装置と、
前記第１装置に障害が発生したときに前記アプリケーションの実行を引き継ぐ第２装置と、
を含む分散ファイル装置を用い、
前記第１装置は、第１制御部、第１記憶部、及び、反映実行部、を含み、
前記第２装置は、第２制御部、未反映データ記憶部、及び、第２記憶部、を含み、
前記第１制御部及び前記第２制御部は、通信回線網を介して接続可能であり、
前記第１制御部が、前記アプリケーションの実行に関するデータに、前記第２装置に未反映であるとのフラグを立てて前記第１記憶部に登録し、かつ、前記データに送信時刻を付して前記第２制御部に送信する未反映データ処理工程と、
前記第２制御部が、前記送信時刻が付された前記データを、前記未反映データ記憶部に登録する未反映データ登録工程と、
前記反映実行部が、予め設定されたトリガー条件を満たしたとき、前記第２装置に未反映のデータの前記第２装置への反映を前記第２制御部に指示するように前記第１制御部に指示する第１反映指示工程と、
前記指示を受けたとき、前記第１制御部が、前記未反映のデータの反映を、前記第２制御部に指示する第２反映指示工程と、
前記指示を受けたとき、前記第２制御部が、前記未反映データ記憶部に登録された前記未反映のデータに付された前記送信時刻を、チェックポイント時刻に変更した後、前記データを前記第２記憶部に登録し、かつ、前記データの反映の完了信号を、前記第１制御部に送信する反映工程と、
前記完了信号を受信したとき、前記第１制御部が、前記第２装置に未反映であるとのフラグを立てて前記第１記憶部に登録されたデータの前記フラグを倒す登録工程と、
を含む、方法である。
【発明の効果】
【０００８】
本発明によれば、現用装置から待機装置にコピーされたデータが、どの時点のものかが明確化された非同期コピーの分散ファイル装置及びそれを用いたフェイルオーバ方法を提供可能となる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態１の分散ファイル装置の一例の構成を示すブロック図である。
【図２】図２は、実施形態１の分散ファイル装置において、第１装置から第２装置へのデータの反映指示が出されていない定常状態におけるデータの流れの一例を示すブロック図である。
【図３】図３は、実施形態１の分散ファイル装置において、第１装置から第２装置へのデータの反映指示が出された状態におけるデータの流れの一例を示すブロック図である。
【図４】図４は、実施形態２の分散ファイル装置の一例の構成を示すブロック図である。
【図５】図５は、実施形態３の分散ファイル装置の一例の構成を示すブロック図である。
【図６】図６は、実施形態４の分散ファイル装置の一例の構成を示すブロック図である。
【図７】図７は、実施形態５の分散ファイル装置の一例の構成を示すブロック図である。
【図８】図８は、実施形態１の分散ファイル装置における第１装置のハードウエア構成の一例を示すブロック図である。
【図９】図９は、実施形態１の分散ファイル装置における第２装置のハードウエア構成の一例を示すブロック図である。
【図１０】図１０は、実施形態１から３の分散ファイル装置における処理の一例を示すフローチャートである。
【図１１】図１１は、実施形態４の分散ファイル装置における処理の一例を示すフローチャートである。
【図１２】図１２は、実施形態５の分散ファイル装置における処理の一例を示すフローチャートである。
【図１３】図１３は、実施形態５の分散ファイル装置における処理の別の例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
本発明において、例えば、第１装置が、現用装置であり、第２装置が、待機装置（バックアップ装置）であってもよい。
【００１１】
本発明において、「フェイルオーバ」とは、例えば、障害が発生した第１装置（現用装置）でのアプリケーションの実行を、第２装置（待機装置）が引き継ぐことを言う。
【００１２】
本発明の分散ファイル装置及びフェイルオーバ方法は、前記予め設定されたトリガー条件が、所定時間の経過又は所定時刻の到来である、という態様であってもよい。
【００１３】
本発明の分散ファイル装置及びフェイルオーバ方法は、前記未反映データ記憶部が、データ量の閾値を有し、前記予め設定されたトリガー条件が、前記未反映データ記憶部に登録されたデータ量が前記閾値を超えたことである、という態様であってもよい。
【００１４】
本発明の分散ファイル装置及びフェイルオーバ方法は、前記予め設定されたトリガー条件が、前記アプリケーションから前記第１制御部にチェックポイント取得要求がされたことである、という態様であってもよい。
【００１５】
本発明の分散ファイル装置は、前記未反映データ記憶部に登録された前記送信時刻が付された未反映のデータの一部又は全部をロストしたとき、前記第１制御部が、前記第２装置に未反映であるとのフラグを立てて前記第１記憶部に登録されたデータと、前記未反映データ記憶部に登録されたデータとの差分を、前記第２制御部に送信する、という態様であってもよい。本態様によれば、短時間で、前記未反映データ記憶部から前記未反映のデータがロストする前の状態に復旧することができる。
【００１６】
本発明のフェイルオーバ方法は、前記未反映データ記憶部に登録された前記送信時刻が付された未反映のデータの一部又は全部をロストしたとき、前記第１制御部が、前記第２装置に未反映であるとのフラグを立てて前記第１記憶部に登録されたデータと、前記未反映データ記憶部に登録されたデータとの差分を、前記第２制御部に送信する差分送信工程を含んでもよい。
【００１７】
本発明の分散ファイル装置は、前記第１装置に障害が発生し、前記第２装置が前記アプリケーションの実行を引き継いだとき、前記第２制御部が、下記条件１及び下記条件２のいずれかを選択する、という態様であってもよい。
（条件１）
前記第２記憶部に登録された前記チェックポイント時刻が付された反映済みのデータのみを、前記アプリケーションの実行に使用する。
（条件２）
前記第２記憶部に登録された前記チェックポイント時刻が付された反映済みのデータと、前記未反映データ記憶部に登録された前記送信時刻が付された未反映のデータとを、前記アプリケーションの実行に使用する。
【００１８】
本発明のフェイルオーバ方法は、前記第１装置に障害が発生し、前記第２装置が前記アプリケーションの実行を引き継いだとき、前記第２制御部が、下記条件１及び下記条件２のいずれかを選択する選択工程を含んでもよい。
（条件１）
前記第２記憶部に登録された前記チェックポイント時刻が付された反映済みのデータのみを、前記アプリケーションの実行に使用する。
（条件２）
前記第２記憶部に登録された前記チェックポイント時刻が付された反映済みのデータと、前記未反映データ記憶部に登録された前記送信時刻が付された未反映のデータとを、前記アプリケーションの実行に使用する。
【００１９】
本発明の分散ファイル装置は、前記第２制御部が、前記条件１を選択したときに前記第２装置が前記アプリケーションを起動するまでに要する時間と、前記条件２を選択したときに前記第２装置が前記アプリケーションを起動するまでに要する時間とを予測する、という態様であってもよい。
【００２０】
本発明のフェイルオーバ方法は、前記第２制御部が、前記条件１を選択したときに前記第２装置が前記アプリケーションを起動するまでに要する時間と、前記条件２を選択したときに前記第２装置が前記アプリケーションを起動するまでに要する時間とを予測する予測工程を含んでもよい。
【００２１】
本発明のプログラムは、本発明のフェイルオーバ方法をコンピュータ上で実行可能なプログラムである。
【００２２】
本発明の記録媒体は、本発明のプログラムを記録しているコンピュータ読み取り可能な記録媒体である。
【００２３】
つぎに、本発明の実施形態について、図１から図１３を用いて説明する。本発明は、下記の実施形態によって何ら限定及び制限されない。なお、図１から図１３において、同一部分には、同一符号を付している。各実施形態における説明は、それぞれ、互いを援用できる。
【００２４】
［実施形態１］
図１は、本実施形態の分散ファイル装置の一例の構成を示すブロック図である。図１に示すように、分散ファイル装置１０は、アプリケーション２０を実行する第１装置１１と、第１装置１１に障害が発生したときにアプリケーション２０の実行を引き継ぐ第２装置１２と、を含む。分散ファイル装置１０において、例えば、第１装置１１が、現用装置であり、第２装置１２が、待機装置（バックアップ装置）であってもよい。第１装置１１は、第１制御部１１ａ、第１記憶部１１ｂ、及び、反映実行部１１ｃ、を含む。第２装置１２は、第２制御部１２ａ、未反映データ記憶部１２ｂ、及び、第２記憶部１２ｃ、を含む。第１制御部１１ａ及び第２制御部１２ａは、通信回線網３０を介して接続可能である。通信回線網３０は、特に制限されず、公知のネットワークを使用でき、例えば、有線でも無線でもよい。通信回線網３０は、例えば、インターネット回線、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）、電話回線、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷｉＦｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）等が挙げられる。第１装置１１及び第２装置１２は、例えば、パーソナルコンピュータ（ＰＣ）であってもよい。
【００２５】
図８に、第１装置１１のハードウエア構成のブロック図を例示する。第１装置１１は、例えば、ＣＰＵ（中央処理装置）１１１、メモリ１１２、記憶装置１１４、入力装置１１５、ディスプレイ１１６、通信デバイス１１７等を有する。第１装置１１の各部は、バス１１３を介して、相互に接続されている。
【００２６】
図９に、第２装置１２のハードウエア構成のブロック図を例示する。第２装置１２は、例えば、ＣＰＵ（中央処理装置）１２１、メモリ１２２、記憶装置１２４、入力装置１２５、ディスプレイ１２６、通信デバイス１２７等を有する。第２装置１２の各部は、バス１２３を介して、相互に接続されている。
【００２７】
ＣＰＵ１１１は、第１装置１１の全体の制御を担う。第１装置１１において、ＣＰＵ１１１により、例えば、本発明のプログラムやその他のプログラムが実行され、また、各種情報の読み込みや書き込みが行われる。具体的には、例えば、ＣＰＵ１１１が、第１制御部１１ａ、及び、反映実行部１１ｃとして機能する。
【００２８】
ＣＰＵ１２１は、第２装置１２の全体の制御を担う。第２装置１２において、ＣＰＵ１２１により、例えば、本発明のプログラムやその他のプログラムが実行され、また、各種情報の読み込みや書き込みが行われる。具体的には、例えば、ＣＰＵ１２１が、第２制御部１２ａとして機能する。
【００２９】
バス１１３は、例えば、外部機器とも接続できる。前記外部機器は、例えば、外部記憶装置（外部データベース等）、プリンター等が挙げられる。第１装置１１は、例えば、バス１１３に接続された通信デバイス１１７により、通信回線網（図示せず）に接続でき、通信回線網を介して、前記外部機器と接続することもできる。同様に、バス１２３は、例えば、外部機器とも接続できる。前記外部機器は、例えば、外部記憶装置（外部データベース等）、プリンター等が挙げられる。第２装置１２は、例えば、バス１２３に接続された通信デバイス１２７により、通信回線網（図示せず）に接続でき、通信回線網を介して、前記外部機器と接続することもできる。
【００３０】
メモリ１１２は、例えば、メインメモリを含み、前記メインメモリは、主記憶装置ともいう。ＣＰＵ１１１が処理を行う際には、例えば、後述する記憶装置１１４に記憶されている本発明のプログラム等の種々の動作プログラムを、メモリ１１２が読み込み、ＣＰＵ１１１は、メモリ１１２からデータを受け取って、プログラムを実行する。前記メインメモリは、例えば、ＲＡＭ（ランダムアクセスメモリ）である。メモリ１１２は、例えば、さらに、ＲＯＭ（読み出し専用メモリ）を含む。同様に、メモリ１２２は、例えば、メインメモリを含み、前記メインメモリは、主記憶装置ともいう。ＣＰＵ１２１が処理を行う際には、例えば、後述する記憶装置１２４に記憶されている本発明のプログラム等の種々の動作プログラムを、メモリ１２２が読み込み、ＣＰＵ１２１は、メモリ１２２からデータを受け取って、プログラムを実行する。前記メインメモリは、例えば、ＲＡＭ（ランダムアクセスメモリ）である。メモリ１２２は、例えば、さらに、ＲＯＭ（読み出し専用メモリ）を含む。
【００３１】
記憶装置１１４は、例えば、前記メインメモリ（主記憶装置）に対して、いわゆる補助記憶装置ともいう。前述のように、記憶装置１１４には、本発明のプログラムを含む動作プログラムが格納されている。記憶装置１１４は、第１記憶部１１ｂを含む。記憶装置１１４は、例えば、記憶媒体と、前記記憶媒体に読み書きするドライブとを含む。前記記憶媒体は、特に制限されず、例えば、内蔵型でも外付け型でもよく、ＨＤ（ハードディスク）、ＦＤ（フロッピー（登録商標）ディスク）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＭＯ、ＤＶＤ、フラッシュメモリー、メモリーカード等が挙げられ、前記ドライブは、特に制限されない。記憶装置１１４は、例えば、記憶媒体とドライブとが一体化されたハードディスクドライブ（ＨＤＤ）であってもよい。
【００３２】
記憶装置１２４は、例えば、前記メインメモリ（主記憶装置）に対して、いわゆる補助記憶装置ともいう。前述のように、記憶装置１２４には、本発明のプログラムを含む動作プログラムが格納されている。記憶装置１２４は、未反映データ記憶部１２ｂ、及び、第２記憶部１２ｃを含む。記憶装置１２４は、例えば、記憶媒体と、前記記憶媒体に読み書きするドライブとを含む。前記記憶媒体及び前記ドライブとしては、前述の記憶装置１１４におけるのと同様である。記憶装置１２４は、例えば、記憶媒体とドライブとが一体化されたハードディスクドライブ（ＨＤＤ）であってもよい。
【００３３】
第１装置１１は、例えば、さらに、入力装置１１５、ディスプレイ１１６を有する。入力装置１１５は、例えば、タッチパネル、キーボード、マウス等である。ディスプレイ１１６は、例えば、ＬＥＤディスプレイ、液晶ディスプレイ等が挙げられる。同様に、第２装置１２は、例えば、さらに、入力装置１２５、ディスプレイ１２６を有する。入力装置１２５は、例えば、タッチパネル、キーボード、マウス等である。ディスプレイ１２６は、例えば、ＬＥＤディスプレイ、液晶ディスプレイ等が挙げられる。
【００３４】
第１装置１１において、メモリ１１２及び記憶装置１１４は、ユーザーからのアクセス情報及びログ情報、並びに、外部データベース（図示せず）から取得した情報を記憶することも可能である。同様に、第２装置１２において、メモリ１２２及び記憶装置１２４は、ユーザーからのアクセス情報及びログ情報、並びに、外部データベース（図示せず）から取得した情報を記憶することも可能である。
【００３５】
次に、分散ファイル装置１０における処理の一例について説明する。
【００３６】
まず、分散ファイル装置１０において、第１装置１１から第２装置１２へのデータの反映指示が出されていない定常状態における処理の一例を、図２のブロック図及び図１０のフローチャートに基づき説明する。
【００３７】
まず、第１制御部１１ａは、アプリケーション２０の実行に関するデータを、第２装置１２に未反映であるとのフラグを立てて（未反映データとして）第１記憶部１１ｂに登録し、かつ、前記データに送信時刻を付して第２制御部１２ａに送信する（Ｓ１）。
【００３８】
次に、第２制御部１２ａは、前記送信時刻が付された前記データを、未反映データ記憶部１２ｂに登録する（Ｓ２）。
【００３９】
次に、分散ファイル装置１０において、第１装置１１から第２装置１２へのデータの反映指示が出された状態における処理の一例を、図３のブロック図及び図１０のフローチャートに基づき説明する。
【００４０】
まず、反映実行部１１ｃは、予め設定されたトリガー条件を満たしたとき、第２装置１２に未反映のデータの第２装置１２への反映を第２制御部１２ａに指示するように第１制御部１１ａに指示する（Ｓ３）。本実施形態によれば、予め設定されたトリガー条件を満たしたときに第２装置１２へのデータの反映を指示する非同期コピーを採用しているため、例えば、第１装置１１と第２装置１２が遠隔にある場合でも、同期コピーよりも処理時間を短縮できる。本実施形態では、前記予め設定されたトリガー条件が、所定時間（例えば、１２時間、２４時間等）の経過であり、例えば、１２時間毎、２４時間毎等、定期的に、前記指示がなされる。また、本実施形態では、前記予め設定されたトリガー条件が、所定時刻（例えば、１：００、２０：００）等であり、例えば、１：００、２０：００等に、定期的に、前記指示がなされてもよい。
【００４１】
次に、前記指示を受けたとき、第１制御部１１ａは、前記未反映のデータの反映を、第２制御部１２ａに指示する（Ｓ４）。
【００４２】
次に、前記指示を受けたとき、第２制御部１２ａは、未反映データ記憶部１２ｂに登録された前記未反映のデータに付された送信時刻を、チェックポイント時刻に変更した後、前記データを第２記憶部１２ｃに登録し、かつ、前記データの反映の完了信号を、第１制御部１１ａに送信する（Ｓ５）。
【００４３】
次に、前記完了信号を受信したとき、第１制御部１１ａは、第２装置１２に未反映であるとのフラグを立てて第１記憶部１１ｂに登録されたデータの前記フラグを倒す（Ｓ６）。
【００４４】
本実施形態によれば、第２装置１２に未反映のデータに送信時刻を付し、当該送信時刻を、第２装置１２への反映時にチェックポイント時刻に変換した後、第２記憶部１２ｃに登録することで、第１装置１１から第２装置１２にコピーされたデータが、どの時点のものかが明確化される。
【００４５】
［実施形態２］
図４は、本実施形態の分散ファイル装置の一例の構成を示すブロック図である。図４に示すように、本実施形態の分散ファイル装置１０は、未反映データ記憶部１２ｂが、データ量の閾値を有し、前記予め設定されたトリガー条件が、未反映データ記憶部１２ｂに登録されたデータ量が前記閾値を超えたことである点を除き、実施形態１の分散ファイル装置１０と同様である。
【００４６】
次に、本実施形態の分散ファイル装置１０における処理の一例を、図２から図４のブロック図及び図１０のフローチャートに基づき説明する。
【００４７】
まず、実施形態１と同様にして、未反映データの処理及び登録を行う（Ｓ１及びＳ２）。
【００４８】
次に、反映実行部１１ｃは、予め設定されたトリガー条件を満たしたとき、第２装置１２に未反映のデータの第２装置１２への反映を第２制御部１２ａに指示するように第１制御部１１ａに指示する（Ｓ３）。本実施形態では、未反映データ記憶部１２ｂに登録された前記送信時刻が付されたデータの量が、前記閾値を超えたときに、反映実行部１１ｃが、第２装置１２に未反映のデータの第２装置１２への反映を第２制御部１２ａに指示するように第１制御部１１ａに指示する。
【００４９】
次に、実施形態１と同様にして、第１制御部１１ａから第２制御部１２ａへの指示（Ｓ４）、反映（Ｓ５）、及び、登録（Ｓ６）を行う。
【００５０】
本実施形態によっても、実施形態１と同様に、同期コピーよりも処理時間を短縮できるとともに、第１装置１１から第２装置１２にコピーされたデータが、どの時点のものかが明確化される。
【００５１】
［実施形態３］
図５は、本実施形態の分散ファイル装置の一例の構成を示すブロック図である。図５に示すように、本実施形態の分散ファイル装置１０は、前記予め設定されたトリガー条件が、アプリケーション２０から第１制御部１１ａにチェックポイント取得要求がされたことである点を除き、実施形態１の分散ファイル装置１０と同様である。
【００５２】
次に、本実施形態の分散ファイル装置１０における処理の一例を、図２、図３、図５のブロック図及び図１０のフローチャートに基づき説明する。
【００５３】
まず、実施形態１と同様にして、未反映データの処理及び登録を行う（Ｓ１及びＳ２）。
【００５４】
次に、反映実行部１１ｃは、予め設定されたトリガー条件を満たしたとき、第２装置１２に未反映のデータの第２装置１２への反映を第２制御部１２ａに指示するように第１制御部１１ａに指示する（Ｓ３）。本実施形態では、アプリケーション２０から第１制御部１１ａにチェックポイント取得要求がされたときに、反映実行部１１ｃが、第２装置１２に未反映のデータの第２装置１２への反映を第２制御部１２ａに指示するように第１制御部１１ａに指示する。
【００５５】
次に、実施形態１と同様にして、第１制御部１１ａから第２制御部１２ａへの指示（Ｓ４）、反映（Ｓ５）、及び、登録（Ｓ６）を行う。
【００５６】
本実施形態によっても、実施形態１と同様に、同期コピーよりも処理時間を短縮できるとともに、第１装置１１から第２装置１２にコピーされたデータが、どの時点のものかが明確化される。
【００５７】
［実施形態４］
図６は、本実施形態の分散ファイル装置の一例の構成を示すブロック図である。図６に示すように、本実施形態の分散ファイル装置１０は、未反映データ記憶部１２ｂに登録された前記送信時刻が付された未反映のデータの一部又は全部をロストしたとき、第１制御部１１ａが、第２装置１２に未反映であるとのフラグを立てて第１記憶部１１ｂに登録されたデータと、未反映データ記憶部１２ｂに登録されたデータとの差分を、第２制御部１２ａに送信する点を除き、実施形態１の分散ファイル装置１０と同様である。
【００５８】
次に、本実施形態の分散ファイル装置１０における処理の一例を、図２、図３、図６のブロック図及び図１１のフローチャートに基づき説明する。
【００５９】
まず、実施形態１と同様にして、未反映データの処理及び登録を行う（Ｓ１及びＳ２）。
【００６０】
次に、未反映データ記憶部１２ｂに登録された前記送信時刻が付された未反映のデータの一部又は全部をロストしたとき、第１制御部１１ａが、第２装置１２に未反映であるとのフラグを立てて第１記憶部１１ｂに登録されたデータと、未反映データ記憶部１２ｂに登録されたデータとの差分を、第２制御部１２ａに送信する（Ｓ７）。図１１には、この差分送信工程（Ｓ７）を、未反映データの登録（Ｓ２）後に実施する例を示したが、前記差分の送信は、未反映データ記憶部１２ｂに登録された前記送信時刻が付された未反映のデータの一部又は全部をロストしたときより後の任意のタイミングで実施してよい。
【００６１】
次に、実施形態１と同様にして、反映実行部１１ｃから第１制御部１１ａへの指示（Ｓ３）、第１制御部１１ａから第２制御部１２ａへの指示（Ｓ４）、反映（Ｓ５）、及び、登録（Ｓ６）を行う。本実施形態において、反映実行部１１ｃから第１制御部１１ａへの指示（Ｓ３）は、実施形態２又は実施形態３と同様にして実施してもよい。
【００６２】
本実施形態によれば、短時間で、未反映データ記憶部１２ｂから前記未反映のデータがロストする前の状態に復旧することができる。
【００６３】
［実施形態５］
図７は、本実施形態の分散ファイル装置の一例の構成を示すブロック図である。図７に示すように、本実施形態の分散ファイル装置１０は、第１装置１１に障害が発生し、第２装置１２がアプリケーション２０の実行を引き継いだとき、第２制御部１２ａが、下記条件１及び下記条件２のいずれかを選択する点を除き、実施形態１の分散ファイル装置１０と同様である。
（条件１）
第２記憶部１２ｃに登録された前記チェックポイント時刻が付された反映済みのデータのみを、アプリケーション２０の実行に使用する。
（条件２）
第２記憶部１２ｃに登録された前記チェックポイント時刻が付された反映済みのデータと、未反映データ記憶部１２ｂに登録された前記送信時刻が付された未反映のデータとを、アプリケーション２０の実行に使用する。
【００６４】
次に、本実施形態の分散ファイル装置１０における処理の一例を、図２、図３、図７のブロック図及び図１２のフローチャートに基づき説明する。
【００６５】
まず、実施形態１と同様にして、未反映データの処理及び登録（Ｓ１及びＳ２）、反映実行部１１ｃから第１制御部１１ａへの指示（Ｓ３）、第１制御部１１ａから第２制御部１２ａへの指示（Ｓ４）、反映（Ｓ５）、及び、登録（Ｓ６）を行う。本実施形態において、反映実行部１１ｃから第１制御部１１ａへの指示（Ｓ３）は、実施形態２又は実施形態３と同様にして実施してもよい。また、本実施形態において、反映データ記憶部１２ｂに登録された前記送信時刻が付された未反映のデータの一部又は全部をロストしたときは、それより後の任意のタイミングで、実施形態４の差分送信工程（Ｓ７）を実施してよい。
【００６６】
次に、第１装置１１に障害が発生し、第２装置１２がアプリケーション２０の実行を引き継いだとき、第２制御部１２ａが、前記条件１及び前記条件２のいずれかを選択する（Ｓ８）。
【００６７】
本実施形態では、図１３に例示するように、前記選択に先立ち、第２制御部１２ａが、前記条件１を選択したときに第２装置１２がアプリケーション２０を起動するまでに要する時間と、前記条件２を選択したときに第２装置１２がアプリケーション２０を起動するまでに要する時間とを予測してもよい（Ｓ９）。これにより、前記条件１及び前記条件２の両者の処理時間を参酌した上で、前記選択を行える。
【００６８】
以上、実施形態を参照して本発明を説明したが、本発明は、上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をできる。
【産業上の利用可能性】
【００６９】
本発明によれば、例えば、現用装置から待機装置にコピーされたデータが、どの時点のものかが明確化された非同期コピーの分散ファイル装置及びそれを用いたフェイルオーバ方法を提供可能となる。
【符号の説明】
【００７０】
１０            分散ファイル装置
１１            第１装置
１１ａ          第１制御部
１１ｂ          第１記憶部
１１ｃ          反映実行部
１２            第２装置
１２ａ          第２制御部
１２ｂ          未反映データ記憶部
１２ｃ          第２記憶部
２０            アプリケーション
３０            通信回線網
１１１、１２１  ＣＰＵ
１１２、１２２  メモリ
１１３、１２３  バス
１１４、１２４  記憶装置
１１５、１２５  入力装置
１１６、１２６  ディスプレイ
１１７、１２７  通信デバイス
【図１】
2020095322.tif 000003
【図２】
2020095322.tif 000004
【図３】
2020095322.tif 000005
【図４】
2020095322.tif 000006
【図５】
2020095322.tif 000007
【図６】
2020095322.tif 000008
【図７】
2020095322.tif 000009
【図８】
2020095322.tif 000010
【図９】
2020095322.tif 000011
【図１０】
2020095322.tif 000012
【図１１】
2020095322.tif 000013
【図１２】
2020095322.tif 000014
【図１３】
2020095322.tif 000015