(57)【要約】【課題】フォールトトレラントコンピュータシステムにおいて、ユーザがシステムの構成やデータ配置等を意識せずに、システムを構成するノードに対するコマンド実行やデータ編集等を行うための方法を提供する。【解決手段】ユーザがフォールトトレラントコンピュータシステムを構成する複数の処理ノードが有する同一のデータの参照または編集を行う場合、各処理ノードから保守ノードに該当データを収集し、内容比較し、比較結果に基づき内容表示を行う。ユーザが前記データに対して編集を行うと、保守ノードは編集済みデータを前記複数の処理ノードに送信し、一括して上書き更新する。【選択図】  図１
2011237846.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数の処理ノードと前記複数の処理ノードにおけるデータを取得、編集、更新する保守ノードとを備えるフォールトトレラントコンピュータシステムにおける方法であって、前記複数の処理ノードが同一のデータを用いて同一の処理を並列して実行するステップと、ユーザが前記複数の処理ノードが有する同一のデータの参照または編集を行う場合、前記保守ノードが、複数の処理ノードにおける同一データを各処理ノードからネットワークを介して取得し保存するステップと、前記保守ノードが、前記複数の処理ノードから取得した同一データの内容を比較し、比較結果に基づきユーザに対してユーザ端末を介して内容表示を行うステップと、事前に定義されている代表となる処理ノードもしくは稼働中の処理ノードの中で事前に指定された条件に合致する１つの処理ノードからの取得したデータを対象としてユーザ端末を介して保守ノード上でユーザが編集を行うステップと、前記保守ノードは前記編集後のデータを前記複数の処理ノードに転送し、上書き更新するステップと、を有することを特徴とする方法。
【請求項２】
請求項１記載の方法であって、前記フォールトトレラントコンピュータシステムは、ネットワークを介して外部装置からの処理要求を受信し、または、ネットワークを介して前記外部装置へ前記処理要求に対する処理内容を送信するゲートウェイ装置を備え、前記ゲートウェイ装置は、ネットワークを介して前記外部装置から受信した処理要求を受信し、前記処理要求を前記複数の処理ノードへ送信し、前記複数の処理ノードは、前記処理要求に対する処理をそれぞれ並列して実行し、前記実行した処理内容を前記ゲートウェイ装置へそれぞれ送信し、前記ゲートウェイ装置は、前記複数の処理ノードから受信した各処理ノードで実行された処理内容を照合し、正常とみなした処理内容を前記外部装置へネットワークを介して送信することを特徴とする方法。
【請求項３】
請求項１記載の方法であって、前記保守ノードは、前記複数の処理ノードが保有するデータ毎に関して、データの属性情報、アクセス権限、他の処理ノードでの保有の有無、処理ノード間でのデータ内容一致の要否、等を定義したプロファイル情報を保持することを特徴とする方法。
【請求項４】
請求項１または３記載の方法であって、前記保守ノードは、前記複数の処理ノードから取得した同一データの内容を比較し、ユーザに対してユーザ端末を介して内容表示を行う際に、比較の結果、前記複数の処理ノード全てのデータの内容が一致する場合、代表となる１つの処理ノードのデータのみを内容表示する、当該データのプロファイル情報を参照し、内容一致しないデータであればユーザに対して警告する、また比較の結果、少なくとも１つの処理ノードのデータの内容に差異がある場合、差異の有る部分の内容を並べて表示する、当該データのプロファイルを参照し、内容一致が必要なデータであればユーザに対して警告することを特徴とする方法。
【請求項５】
請求項１または３記載の方法であって、前記保守ノードが前記複数の処理ノードから取得し保存する同一データに対して、ユーザがユーザ端末を介して編集する際に、前記内容比較結果に基づき、前記複数の処理ノード全てのデータの内容が一致する場合、代表となる１つの処理ノードから取得し保存したデータに対して編集処理を実施させる、また少なくとも１つの処理ノードのデータの内容に差異がある場合、どの処理ノードから取得し保存したデータに対して編集するかを選択させることを特徴とする方法。
【請求項６】
請求項１または３記載の方法であって、前記保守ノードがユーザによる編集後のデータを前記複数の処理ノードに転送し、上書き更新する際に、当該データのプロファイル情報を参照し、前記複数の処理ノード全てに対してデータの転送及び上書き更新を実施するか、該当する１つの処理ノードに対してのみデータの転送及び上書き更新を実施するかを判定することを特徴とする方法。
【請求項７】
請求項１または３記載の方法であって、前記保守ノードがユーザによる編集後のデータを前記複数の処理ノードに転送し、上書き更新する際に、ユーザの選択により、前記複数の処理ノード全てに対してデータの転送及び上書き更新を実施するか、該当する１つの処理ノードに対してのみデータの転送及び上書き更新を実施するかを判定することを特徴とする方法。
【請求項８】
請求項１または６または７記載の方法であって、前記保守ノードが前記複数の処理ノード全てに対してデータの転送及び上書き更新を実施する際に、前記複数の処理ノード全ての更新前のデータの内容を記録しておき、少なくとも１つの処理ノードに対するデータの転送及び上書き更新に失敗した場合、前記複数の処理ノード全ての当該データを更新前の内容に戻すことを特徴とする方法。
【請求項９】
請求項１または５記載の方法であって、ユーザがユーザ端末を介して前記保守ノード上でデータを編集している際に、前記処理ノード上のプログラムによる当該データの更新の有無、他のユーザによる当該データの更新の有無を監視し、更新を検出した場合、ユーザに対して通知し、ユーザの選択により当該データの内容を前記更新後の内容に差し替えるか否かを決定することを特徴とする方法。
【請求項１０】
ネットワークを介して接続された同一のデータを用いて同一の処理を並列して実行する複数の処理ノードと前記複数の処理ノードにおけるデータを取得、編集、更新する保守ノードとを備えるフォールトトレラントコンピュータシステムであって、
前記保守ノードは、
ネットワークを介して各処理ノードから取得した同一データを保存する記憶装置と、
前記複数の処理ノードから取得した同一データの内容を比較し、ユーザ端末に比較結果の表示をさせるとともに、事前に定義されている代表となる処理ノードもしくは稼働中の処理ノードの中で事前に指定された条件に合致する１つの処理ノードからの取得したデータをユーザ端末に表示させ、ユーザによる編集結果を前記記憶装置に保存し、前記編集後のデータを前記複数の処理ノードに転送する処理装置と、
を備えることを特徴とするフォールトトレラントコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して相互接続した、複数の独立したノードにより構成され、構成する各ノードにおいて同じ処理を並列実行させることを特徴とするフォールトトレラントコンピュータ（Ｆａｕｌｔ  Ｔｏｌｅｒａｎｔ  Ｃｏｍｐｕｔｅｒ）システムに関し、特にエンドユーザがフォールトトレラントコンピュータシステム上で稼動するアプリケーションプログラムのデバッグ、テスト等の作業を行う際に用いるツールに関する。
【背景技術】
【０００２】
特許文献１から３には、複数の装置に対するデータアクセス処理に関連する各種技術が開示されている。
【０００３】
特許文献１には、リモートワークステーション上のファイルを編集するため、ローカルワークステーションまで該当ファイルを転送・格納してからローカルに編集し、編集後のファイルは元のリモートワークステーションに転送し、格納するという、リモートエディタ支援装置および方法が開示されている。
【０００４】
特許文献２には、多重化計算機において、自計算機データを格納する領域と相手計算機データを格納する領域とを用意し、複製する際には相手計算機からデータと計算機のモード情報（制御／待機／停止）を受信して保存し、自計算機及び相手計算機のモードを比較し、あらかじめ指定されたモードの方のデータを採用するという、多重化計算機間のデータ利用方法が開示されている。
【０００５】
特許文献３には、データをまとめて扱うファイルを階層構造の位置を示すディレクトリの下に格納してファイル管理する複数の端末装置で構成される分散ファイルシステムにおいて、端末間でアクセス権限情報を含むインデックス情報を共有し、検索及びアクセス時に参照して処理時間を最小化するという、分散ファイル共有システムおよびそのファイルアクセス制御方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平９−２３１１５５号公報
【特許文献２】特開２００３−１６２４４１号公報
【特許文献３】特開２００２−１３２５３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ネットワークを介して相互接続した、複数の独立したノードにより構成され、構成する各ノードにおいて同じ処理を並列実行させることを特徴とするフォールトトレラントコンピュータでは、システムの動作保証のために、並列処理する複数ノード間でアプリケーションが処理に用いるデータは常に同一内容である必要がある。このため、ユーザがこれらのデータを編集する場合には、ノード間で内容に差異が生じないように注意する必要がある。
【０００８】
しかしながら、例えば特許文献１に開示された技術では、フォールトトレラントコンピュータシステムを構成する複数の処理ノードにおける同一データを参照及び編集する場合、ノード毎に操作し、データにアクセスする必要があるため、ユーザの作業負荷が増加する。また人為的ミスが発生する原因となり得る。例えば特許文献２に開示された技術では、フォールトトレラントコンピュータシステムを構成する複数の処理ノードにおける同一データを参照及び編集する場合、各ノードにマッピングされるディレクトリに個別にアクセスし操作する必要があるため、ユーザの作業負荷が増加する。また人為的ミスが発生する原因となり得る。例えば特許文献３に開示された技術では、データ内容に関わらず複製により計算機間で同一化しているが、フォールトトレラントコンピュータシステムを構成する処理ノード間で実施する場合、同一内容であるべきデータと異なる内容であるデータ（ログ、ＩＰアドレス等のノード固有情報、等）とを区別する必要がある。
本発明は、上述した課題を考慮したものであって、デバッグ、テスト等の作業において、ユーザがシステムの構成やデータ配置等を意識せずに、システムを構成するノードに対してコマンド実行やデータ編集等を行うための、フォールトトレラントコンピュータシステムにおけるデータアクセス方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明は以下の構成を備える。即ち、ネットワークを介して接続された複数の処理ノードと前記複数の処理ノードにおけるデータを取得、編集、更新する保守ノードとを備えるフォールトトレラントコンピュータシステムにおける方法であって、前記複数の処理ノードが同一のデータを用いて同一の処理を並列して実行するステップと、前記複数の処理ノードが有する同一のデータをユーザが参照または編集する場合、前記保守ノードが、複数の処理ノードにおける同一データを各処理ノードからネットワークを介して取得し保存するステップと、前記保守ノードが、前記複数の処理ノードから取得した同一データの内容を比較し、比較結果に基づきユーザに対してユーザ端末を介して内容表示を行うステップと、ユーザ端末を介して保守ノード上で事前に定義されている代表となる処理ノードもしくは稼働中の処理ノードの中で事前に指定された条件に合致する１つの処理ノードからの取得したデータを対象としてユーザが編集を行うステップと、前記保守ノードは前記編集後のデータを前記複数の処理ノードに転送し、上書き更新するステップと、を有する。
【発明の効果】
【００１０】
本発明によれば、ユーザがアプリケーションプログラムのデバッグ、テスト等を実施する際に、システムやソフトウェア等の構成の複雑さに関わらず、またこれらに関する十分な知識が無くとも、ユーザによる操作等の負荷が軽減され、作業効率が向上する。
【図面の簡単な説明】
【００１１】
【図１】フォールトトレラントコンピュータシステムにおけるデータアクセス方法の概要を示す図である。
【図２】ネットワーク（通信媒体）を介して相互接続された複数の独立したノードにより構成され、構成する各ノードにおいて同じ処理を並列実行させることを特徴とするフォールトトレラントコンピュータシステムの概要を示す図である。
【図３】フォールトトレラントコンピュータシステムにおけるデータアクセス方法を実施する際の、フォールトトレラントコンピュータシステムを構成する複数のノード間での全体処理シーケンスを示す図である。
【図４】フォールトトレラントコンピュータシステムに含まれ、処理ノードからのデータ取得、ユーザへの提示、編集、処理ノードへの編集済みデータの上書き更新等の処理を行う保守ノードのモジュール構成を示す図である。
【図５】フォールトトレラントコンピュータシステムに含まれ、外部からの要求に対する処理等を実行する処理ノードのモジュール構成を示す図である。
【図６】フォールトトレラントコンピュータシステムに含まれ、処理ノードからのデータ取得、ユーザへの提示、編集、処理ノードへの編集済みデータの上書き更新等の処理を行う保守ノードにて、処理ノードからの取得したデータをユーザに表示する処理の流れを示すフローチャートである。
【図７】フォールトトレラントコンピュータシステムに含まれ、処理ノードからのデータ取得、ユーザへの提示、編集、処理ノードへの編集済みデータの上書き更新等の処理を行う保守ノードにおいて、ユーザにより編集されたデータを処理ノードへ上書き更新する処理の流れを示すフローチャートである。
【図８】フォールトトレラントコンピュータシステムに含まれ、処理ノードからのデータ取得、ユーザへの提示、編集、処理ノードへの編集済みデータの上書き更新等の処理を行う保守ノードにおいて管理される、データの属性情報、アクセス権限、他の処理ノードでの保有の有無、処理ノード間でのデータ内容一致の要否、等を定義したプロファイル情報の書式を示す図である。
【図９】フォールトトレラントコンピュータシステムに含まれ、外部からの要求に対する処理等を実行する処理ノードにおいて、データ取得、編集対象データの更新監視、データ上書き更新を行う処理の流れを示すフローチャートである。
【図１０Ａ】処理ノードより取得したデータをユーザに対して提示するための、処理ノード間でデータ内容が一致する場合の画面表示例を示す図である。
【図１０Ｂ】処理ノードより取得したデータをユーザに対して提示するための、処理ノード間でデータ内容に差異が有る場合の画面表示例を示す図である。
【発明を実施するための形態】
【００１２】
図１は、フォールトトレラントコンピュータシステムにおけるデータアクセス方法の概要を示す図である。
【００１３】
主な構成要素は、フォールトトレラントコンピュータシステム０２０１を構成する、処理ノード０２１２からのデータ取得、ユーザへの提示、編集、処理ノード０２１２への編集済みデータの上書き更新等の処理を行う保守ノード０２１１、外部からの要求に対する処理等を並列実行する複数の処理ノード０２１２及びユーザ端末０２０２である。複数の処理ノード０２１２では、外部からの要求に対して、各ノードにて保有する同一データ０１０１を用いて、同じ処理を同じタイミングで実行する。フォールトトレラントコンピュータシステム０２０１の動作を保証するためには、並列実行する複数ノード間でアプリケーションが処理に用いるデータの内容は常に同一である必要がある。一方で、ユーザがデータ０１０１を参照し、編集する場合、個々の処理ノード０２１２に個別にアクセスすること、同一データ０１０１を同じ内容になるように編集することは負荷となり、人為的ミスの原因となり得る。これらへの対策として本発明による方法の概要を以下に述べる。
【００１４】
ユーザがユーザ端末０２０２を介して、複数の処理ノード０２１２が保有する同一データ０１０１を参照する場合、各処理ノード０２１２から保守ノード０２１１へとデータを収集する（０１２１）。ここでデータ０１０１を収集するために、各処理ノード０２１２にて該当するデータ０１０１の複製を生成し、保守ノード０２１１へ送信し、保守ノード０２１１上に前記データを保存する（０１０２）。保守ノード０２１１にて収集データ０１０２の内容比較を行い（０１２２）、内容比較結果に基づいて、ユーザ端末０２０２の画面０１１１へのデータ内容の画面表示を行う（０１１２）。ここで内容比較の結果、全ての処理ノード０２１２からのデータの内容が一致している場合、事前に定義されている代表となる処理ノード０２１２もしくは稼働中の処理ノードの中で事前に指定された条件に合致する１つの処理ノード０２１２から取得したデータの内容（全処理ノードとも一致）のみを表示する。また内容比較の結果、少なくとも１つの処理ノード０２１２からのデータの内容に差異がある場合、処理ノード０２１２間で差異の有る部分のデータ内容を表示する。
【００１５】
ユーザがユーザ端末０２０２を介して、処理ノード０２１２上のデータ０１０１の編集を行う場合、０１２１にて各処理ノード０２１２から収集したデータ０１０２から１つのデータを選択して（０１０３）、該データ０１０３に対して編集ツールを用いてユーザに編集させる。編集後のデータ０１０３は、保守ノード０２１１から各処理ノード０２１２へと配信され、各処理ノード０２１２における該当データ０１０１の内容を上書き更新する（０１２３）。
【００１６】
以上のことから、ユーザの操作として１つのデータを参照及び編集するだけで、フォールトトレラントコンピュータシステム０２０１を構成する複数の処理ノード０２１２に対して、同一データの内容を一括して更新することができ、また、処理ノード０２１２の間でデータ内容に差異も発生しない。
【００１７】
図２は、ネットワーク（通信媒体）を介して相互接続された複数の独立したノードにより構成され、構成する各ノードにおいて同じ処理を並列実行させることを特徴とするフォールトトレラントコンピュータシステムの概要を示す図である。
【００１８】
本フォールトトレラントコンピュータシステム０２０１の主な構成要素は、ＬＡＮ０２１４を介して相互接続する、処理ノード０２１２からのデータ取得、ユーザへの提示、編集、処理ノード０２１２への編集済みデータの上書き更新等の処理を行う保守ノード０２１１、２つ以上の処理ノード０２１２、広域ネットワーク０２０３に接続し外部システムとの通信の中継を行うゲートウェイサーバ０２１３、等である。また外部ネットワーク０２０５を介して保守ノード０２１１に接続するユーザ端末０２０２は、ユーザ向けの情報提示、各種操作、等に用いられる。
【００１９】
フォールトトレラントコンピュータシステム０２０１は、広域ネットワーク０２０３を介して通信可能な外部システム０２０４からの要求を受け付けて、該要求に対する処理を実施し、処理結果を応答として該外部システム０２０４に返信することによるサービスを提供する。ここでは外部システム０２０４からの要求として入力メッセージ０２３１を受信し、該要求に対する処理結果を格納した出力メッセージ０２４１を外部システム０２０４に対して送信する。
【００２０】
フォールトトレラントコンピュータシステム０２０１の内部では、広域ネットワーク０２０３を介して外部システム０２０４からの要求として入力メッセージ０２３１を受信したゲートウェイサーバ０２１３がＬＡＮ０２１４を介して、システム内の全ての処理ノード０２１２に対して入力メッセージ０２３２として転送し直す。ここでほぼ同時に全ての処理ノード０２１２が該メッセージを受信し、該メッセージに対する処理を開始できるように、入力メッセージ０２３２をブロードキャスト送信する。該入力メッセージ０２３２を受信した各処理ノード０２１２は、各々該入力メッセージ０２３２に対する処理を実行して、処理結果を格納した出力メッセージ０２４２を、ＬＡＮ０２１４を介してゲートウェイサーバ０２１３に対して送信する。各処理ノード０２１２からの出力メッセージ０２４２を受信したゲートウェイサーバ０２１３は要求元の外部システム０２０４への応答として出力メッセージ０２４１を作成し、その出力メッセージ０２４１を外部システム０２０４に送信する。ここでゲートウェイサーバ０２１３は、各処理ノード０２１２から受信した１つ以上の出力メッセージ０２４２のデータ内容の比較照合、正誤判定等を行い、正しいメッセージデータを出力メッセージ０２４１として、要求元の外部システム０２０４に送信する。前記出力メッセージ０２４２のデータ内容の比較照合、正誤判定では、データ内容が合致するものが最も多い出力メッセージ０２４２が正しいメッセージデータと見なし、前記正しい出力メッセージ０２４２のうちの１つを、外部システム０２０４への出力メッセージ０２４１とする。
【００２１】
保守ノード０２１１では、前記外部システム０２０４からの要求に対して実行するオンライン処理は一切実行しない。ユーザ端末０２０２を用いて保守ノード０２１１にログインしたユーザが処理ノード０２１２におけるデータを参照、編集する際に、当該データを各処理ノード０２１２から取得、保存し、編集後の当該データの各処理ノード０２１２への転送、上書き更新、等を行う。
【００２２】
保守ノード０２１１の主なハードウェア構成は、処理装置（ＣＰＵ）０２２１、記憶装置（メモリ、ハードディスク）０２２２、通信装置０２２３からなる。記憶装置０２２２には、処理ノード０２１２からデータを取得し記憶装置０２２２内の指定領域にそのデータを保存するためのソフトウェアプログラム、処理ノード０２１２から取得したデータの内容比較を行いユーザに提示するための画面表示等を行うためのソフトウェアプログラム、前記処理ノード０２１２から取得、保存したデータをユーザが編集するためのソフトウェアプログラム、前記ユーザにより編集されたデータを前記処理ノード０２１２に転送、上書き更新するためのソフトウェアプログラム、ＬＡＮ０２１４を介して保守ノード０２１１と処理ノード０２１２の間で通信を行うためのソフトウェアプログラム等が格納され、これらのソフトウェアプログラムは処理装置０２２１により処理される。また通信装置０２２３は、処理ノード０２１２がデータを取得する際の通信処理、またはユーザ端末０２０２からログインするための画面の入出力等を行うための通信処理、等を行う。
【００２３】
なお、処理装置（ＣＰＵ）０２２１は、処理に必要なプログラムをハードディスク等の記憶装置０２２２から読み出して各処理を実行する。また、記憶装置０２２２や通信装置０２２３の動作を制御する。また、後述する各図面で説明するフローチャートやシーケンス図における保守ノード０２１１の処理は、特段の説明がない限り処理装置（ＣＰＵ）０２２１が実行するものとする。
【００２４】
処理ノード０２１２の主なハードウェア構成は、処理装置（ＣＰＵ）０２２４、記憶装置（メモリ、ハードディスク）０２２５、通信装置０２２６からなる。記憶装置０２２５には、フォールトトレラントコンピュータシステム０２０１により外部システム０２０４に対して提供するサービスを実行する際に必要なデータ、上記サービスに関する外部システム０２０４からの要求に対して処理を実行するためのユーザプログラム、複数の処理ノード０２１２の間での稼動中に同期を実施するためのソフトウェアプログラム、ユーザに指定された処理ノード０２１２におけるデータを取得し、保守ノード０２１２に送信するためのソフトウェアプログラム、ユーザ端末０２０２を介してユーザが保守ノード０２１１においてデータを編集している最中に処理ノード０２１２上での当該データに対する更新の有無を監視するソフトウェアプログラム、ＬＡＮ０２１４を介して処理ノード０２１２とゲートウェイサーバ０２１３の間の通信または処理ノード０２１２と保守ノード０２１１の間の通信を行うためのソフトウェアプログラム等が格納され、これらのソフトウェアプログラムは処理装置０２２４により処理される。また通信装置０２２６は、ゲートウェイサーバ０２１３からの入力メッセージ０２３２を受信し、ゲートウェイサーバ０２１３に出力メッセージ０２４２を送信するための通信処理を行う。
【００２５】
なお、処理装置（ＣＰＵ）０２２４は、処理に必要なプログラムをハードディスク等の記憶装置０２２５から読み出して各処理を実行し、また、記憶装置０２２５や通信装置０２２６の動作を制御する。また、後述する各図面で説明するフローチャートやシーケンス図における処理ノード０２１２の処理は、特段の説明がない限り処理装置（ＣＰＵ）０２２４が実行するものとする。
【００２６】
ユーザ端末０２０２の主なハードウェア構成は、処理装置（ＣＰＵ）、記憶装置（ハードディスク）、通信装置からなる。前記記憶装置には、保守ノード０２１１にログインし、コマンド操作、画面表示等を行うためのソフトウェアプログラム、ユーザ端末０２０２と保守ノード０２１１との間の通信を行うためのソフトウェアプログラム等が格納され、前記処理装置により処理される。また前記通信装置は、保守ノード０２１１へのログインに対する画面の入出力等を行うための通信処理を行う。
【００２７】
なお、前記処理装置はハードディスク等の前記記憶装置から処理に必要なプログラムを読み出して各処理を実行する。また、前記記憶装置や前期通信装置の動作を制御する。また、後述する各図面で説明するフローチャートやシーケンス図におけるユーザ端末０２０２の処理は、特段の説明がない限り前記処理装置（ＣＰＵ）が実行するものとする。
【００２８】
図３は、フォールトトレラントコンピュータシステムにおけるデータアクセス方法を実施する際の、フォールトトレラントコンピュータシステムを構成する複数のノード間での全体処理シーケンスを示す図である。
【００２９】
主な構成要素は、ユーザ端末０２０２と、フォールトトレラントコンピュータシステム０２０１を構成する保守ノード０２１１、処理ノード１（０２１２ａ）、処理ノード２（０２１２ｂ）、処理ノード３（０２１２ｃ）である。
【００３０】
０３０１において、ユーザ端末０２０２にてユーザの操作により保守ノード０２１１にログインする。０３０２において、ユーザの操作により、ユーザがアクセスするデータを指定する。保守ノード０２１１にて０３０２のデータ指定を受付けると、０３１１において、処理ノード１（０２１２ａ）に対してユーザ指定の該当データを要求すると、処理ノード１（０２１２ａ）は０３２１において該当データを抽出し、その該当データを保守ノード０２１１に送信する。０３１２において、処理ノード２（０２１２ｂ）に対してユーザ指定の該当データを要求すると、処理ノード２（０２１２ｂ）は０３３１において該当データを抽出し、その該当データを保守ノード０２１１に送信する。０３１３において、処理ノード３（０２１２ｃ）に対してユーザ指定の該当データを要求すると、処理ノード３（０２１２ｃ）は０３４１において該当データを抽出し、その該当データを保守ノード０２１１に送信する。以降、フォールトトレラントコンピュータシステム０２０１を構成する全ての処理ノード０２１２に対して０３１１〜０３１３と同様の処理を実施し、ユーザ指定の該当データを全ての処理ノード０２１２から取得する。０３１４において、０３１１〜０３１３にて取得したデータを保守ノード０２１１内の格納領域（ハードディスク等）に保存する。０３１５において、０３１１〜０３１３にて処理ノード０２１１から取得した各データの内容比較を行う。０３１６において、０３１５の内容比較結果に基づき、ユーザ端末０２０２にデータ内容の表示を行う。なお０３１５、０３１６における処理及び表示方法の詳細は図６、図１０にて述べる。
【００３１】
０３０３において、ユーザ端末０２０２にてユーザの操作により保守ノード０２１１に対してデータ編集を開始する。保守ノード０２１１にて０３０３のユーザによるデータ編集開始を受付けると、０３１７において編集ツールを起動し、編集対象となる該当データを開く。この後はユーザによるデータ編集作業が実施される。０３０４において、ユーザの操作により保守ノード０２１１に対するデータ編集を終了する。保守ノード０２１１にて０３０４のユーザによるデータ編集終了を受付けると、０３１８において、ユーザが編集を実施した該当データに関して更新対象となる処理ノード０２１２（全処理ノードもしくは個別の処理ノード）を決定する。０３１９において、０３１８にて決定した更新対象の処理ノード０２１２に対してユーザによる編集済みのデータを配信する。前記保守ノード０２１１より配信された編集済みデータを受信した処理ノード０２１２では、該当データへの上書き更新を実施する（０３２２、０３３２、０３４２）。なお０３１７〜０３１９における処理の詳細は図７にて述べる。また０３２２、０３３２、０３４２における処理の詳細は図９にて述べる。
図４は、フォールトトレラントコンピュータシステムに含まれ、処理ノードからのデータ取得、ユーザへの提示、編集、処理ノードへの編集済みデータの上書き更新等の処理を行う保守ノードのモジュール構成を示す図である。
【００３２】
保守ノード０２１１には、処理ノード０２１２からのデータ取得、ユーザへの提示、ユーザによる編集の管理、処理ノード０２１２への編集済みデータの上書き更新等の処理を行うデータアクセス管理部０４０１、処理ノード０２１２より取得したデータを格納するためのハードディスク０４０２、ユーザがデータ編集を行うための編集ツール０４０３が導入される。データアクセス管理部０４０１は、処理装置（ＣＰＵ）０２２１により実行されるソフトウェアプログラムである。
【００３３】
データアクセス管理０４０１の主な構成要素は、画面表示部０４１５を介したユーザからの指定に基づいてデータ通信部０４１７を介して処理ノード０２１２よりデータを取得しそのデータをハードディスク０４０２へ保存するデータ取得・保存部０４１１と、データ取得・保存部０４１１が複数の処理ノード０２１２より取得したデータの内容比較を行うデータ内容比較部０４１２と、画面表示部０４１５を介したユーザからの指定に基づいて編集ツール０４０３の起動及び終了監視を行うデータ編集管理部０４１３と、ユーザが編集ツール０４０３を用いて編集したデータを処理ノード０２１２へと配信し該当データの上書き更新を行うデータ配信・更新部０４１４と、通信媒体０２０５を介したユーザ端末０２０２からのリモート接続に対してコマンド入力画面やデータ内容比較部０４１２の処理結果の出力画面、編集ツール０４０３の画面等を提供する画面表示部０４１５と、通信媒体０２０５を介したユーザ端末０２０２からのリモート接続を受け付け画面表示部０４１５に接続するリモートアクセス部０４１６と、通信媒体０２１４を介してシステム内の処理ノード０２１２等との間の通信を行うデータ通信部０４１７と、である。プロファイル情報０４２１は、処理ノード０２１２が保有するデータ毎にデータ属性情報、アクセス権限、他の処理ノードでの保有の有無、処理ノード間でのデータ内容一致の要否、等を定義しており、これらをデータ内容比較部０４１２、データ配信・更新部０４１４等が各々の処理の中で参照する。プロファイル情報０４２１の詳細は図８に述べる。
【００３４】
図５は、フォールトトレラントコンピュータシステムに含まれ、外部からの要求に対する処理等を実行する処理ノードのモジュール構成を示す図である。
【００３５】
処理ノード０２１２には、指定されたデータの取得、保守ノード０２１１への送信等の処理を行うデータアクセス管理部０５０１、外部システム０２０４からの要求に対して各種の処理を行うユーザプログラム０５０２、ミドルウェア０５０３、またユーザプログラム０５０２、ミドルウェア０５０３が参照及び更新するデータの格納先であるハードディスク０５０４、メモリ０５０５が導入される。データアクセス管理部０５０１は、処理装置（ＣＰＵ）０２２４により実行されるソフトウェアプログラムである。
【００３６】
データアクセス管理部０５０１の主な構成要素は、データ通信部０５１３を介して保守ノード０２１１からのデータ取得要求を受付け、ハードディスク０５０４またはメモリ０５０５から該当データを抽出し、その該当データを保守ノード０２１１に送信し、さらに、保守ノード０２１１からのデータの上書き更新要求を受け付けて該当データへの上書き更新を実施するデータ管理部０５０１、データ管理部０５０１が保守ノード０２１１へと送信した元のデータへの処理ノード０２１１内のプログラム等による更新を監視するデータ更新監視部０５１２、通信媒体０２１４を介してシステム内の保守ノード０２１１等との間の通信を行うデータ通信部０５１３である。
【００３７】
図６は、フォールトトレラントコンピュータシステムに含まれ、処理ノードからのデータ取得、ユーザへの提示、編集、処理ノードへの編集済みデータの上書き更新等の処理を行う保守ノードにて、処理ノードからの取得したデータをユーザに表示する処理の流れを示すフローチャートである。
【００３８】
０６０１において、ユーザ端末０２０２を介してのユーザによる操作から、アクセスするデータのデータパスを取得する。０６０２において、０６０１にて取得したデータパスに該当するデータを処理ノード０２１２に要求して取得する。０６０３において、０６０２にて処理ノード０２１２より取得したデータを保守ノード０２１１内の格納領域（ハードディスク等）に保存する。０６０４において、まだ全ての処理ノード０２１２からデータ取得を終了していなければ、０６０２、０６０３の処理を繰り返す。０６０４において、全ての処理ノード０２１２からデータ取得を終了していれば、０６０５において、０６０２〜０６０４にて処理ノード０２１２から取得した同一データの内容比較を実施する。ここでデータ内容を比較するのに「diff」等の一般的なツールを用いても良い。０６０６において、０６０５のデータ内容比較の結果として、全ての処理ノード０２１２からのデータの内容が一致している場合、０６０７において、該当データのプロファイル情報を参照する。０６０８において、該当データのプロファイル情報の「内容一致」の項が、処理ノード０２１２間で内容一致してはいけない（ＮＯ）と記載されている場合、０６１０において、ユーザに対する警告（データ内容が一致してはいけないにも関わらず、一致している旨）を表示する。０６０９において、事前に定義されている代表処理ノード０２１２もしくは稼働中の処理ノードの中で事前に指定された条件に合致する１つの処理ノード０２１２から取得したデータの内容（全処理ノードとも一致）を表示する。０６０６において、０６０５のデータ内容比較の結果として、少なくとも１つの処理ノード０２１２からのデータの内容に差異がある場合、０６１１において、該当データのプロファイル情報を参照する。０６１２において、該当データのプロファイル情報の「内容一致」の項が、処理ノード０２１２間で内容一致する必要がある（ＹＥＳ）と記載されている場合、０６１３において、ユーザに対する警告（データ内容が一致する必要があるにも関わらず、一致していない旨）を表示する。０６１４において、処理ノード０２１２間で差異の有る部分のデータ内容を表示する。ここでの表示方法の詳細は図１０Ｂにて示す。
【００３９】
図７は、フォールトトレラントコンピュータシステムに含まれ、処理ノードからのデータ取得、ユーザへの提示、編集、処理ノードへの編集済みデータの上書き更新等の処理を行う保守ノードにて、ユーザにより編集されたデータを処理ノードへ上書き更新する処理の流れを示すフローチャートである。
【００４０】
０７０１において、ユーザ端末０２０２を介してのユーザによる操作から、データの編集開始指示を受付ける。０７０２において、図６のように処理ノード０２１２から取得したデータの内容を比較した結果、全ての処理ノード０２１２からのデータの内容が一致している場合は、０７０３において、事前に定義されている代表処理ノード０２１２もしくは稼働中の処理ノードの中で事前に指定された条件に合致する１つの処理ノード０２１２からの取得したデータを編集対象となるデータと決定する。０７０２において、図６のように処理ノード０２１２から取得したデータの内容を比較した結果、少なくとも１つの処理ノード０２１２からのデータの内容に差異がある場合は、０７０４において、ユーザが選択した処理ノード０２１２からのデータを編集対象となるデータと決定する（ここではユーザにデータ取得元の処理ノードを選択させる画面表示を行う）。０７０５において、編集ツールを起動し、０７０３または０７０４にて決定したデータを開く。ここで編集ツールは編集対象となるデータの種別毎に事前に規定しておくものとする。例えばテキストファイル等であれば、テキストエディタ等である。０７０６において、０７０５にて起動した編集ツールの終了を監視し、終了を検出していない場合は、０７０７において処理ノード０２１２側で該当データの更新を検出し、更新後のデータが保守ノード０２１１に送信された場合は、０７０８において、ユーザに更新発生を通知し、前記処理ノード０２１２側で更新後のデータに差替えるか否かの選択を提示し、ユーザの選択に従ってデータの差替えの実行もしくは非実行を行う。その後、０７０６の処理に戻る。０７０７において、処理ノード０２１２側で該当データの更新を検出していない場合は０７０６の処理に戻る。０７０６において、０７０５にて起動した編集ツールの終了を監視し、終了を検出した場合は、０７０９において、編集済みデータの上書き更新先とする処理ノード０２１２をユーザに選択させる。ここでは、全処理ノード０２１２に一括して上書き更新を実施するか、１つの処理ノードを個別に指定して上書き更新を実施するか、を選択させる。ユーザが全処理ノードへの上書き更新を選択する場合、０７１０において、該当データのプロファイル情報を参照する。０７１１において、該当データのプロファイル情報の「内容一致」の項が、処理ノード０２１２間で内容一致する必要がある（ＹＥＳ）と記載されている場合は、０７１２において、全処理ノード０２１２に対してユーザによる編集済みデータの上書き更新を実施する。０７１１において、該当データのプロファイル情報の「内容一致」の項が処理ノード０２１２間で内容一致してはいけない（ＮＯ）と記載されている場合は、０７１３において、ユーザに対して警告（全処理ノードでの内容一致は不可）を表示し、上書き更新は実施しない。０７０９において、ユーザが１つの処理ノードを個別に指定した上書き更新を選択する場合は、０７１４において、該当データのプロファイル情報を参照する。０７１５において、該当データのプロファイル情報の「内容一致」の項が処理ノード０２１２間で内容一致する必要がある（ＹＥＳ）と記載されている場合は、０７１６において、ユーザに対して警告（全処理ノードで内容一致することが必要）を表示し、上書き更新は実施しない。０７１５において、該当データのプロファイル情報の「内容一致」の項が処理ノード０２１２間で内容一致してはいけない（ＮＯ）と記載されている場合は、０７１７において、個別の処理ノード０２１２に対して、ユーザによる編集済みデータの上書き更新を実施する。０７１８において、個々の処理ノード０２１２から上書き更新の実行結果を受信する。上書き更新を実施した全ての処理ノード０２１２で成功した場合、０７１９において、上書き更新を実施した全ての処理ノード０２１２に対して終了指示を送信し、終了する。０７１８において、上書き更新を実施した処理ノード０２１２のうち、少なくとも１つの処理ノード０２１２にて失敗した場合、０７２０において、上書き更新を実施した全ての処理ノード０２１２に対してデータの元戻し指示を送信し、終了する。
【００４１】
図８は、フォールトトレラントコンピュータシステムに含まれ、処理ノードからのデータ取得、ユーザへの提示、編集、処理ノードへの編集済みデータの上書き更新等の処理を行う保守ノードにおいて管理される、データの属性情報、アクセス権限、他の処理ノードでの保有の有無、処理ノード間でのデータ内容一致の要否、等を定義したプロファイル情報の書式を示す図である。
【００４２】
プロファイル情報の主な構成要素は、種別０８０１、データパス０８０２、アクセス権限０８０３、アクセス内容０８０４、他ノード保有０８０５、内容一致０８０６である。これらの項目に該当する設定値はデータ毎に指定される。
【００４３】
種別０８０１には、データの種別が記載される。データパス０８０２には、データの配置場所、特定するための情報が記載される。例えば種別０８０１がファイルであれば、ファイルパスが記載され、種別０８０１がメモリデータであれば、アドレス及びサイズが記載される。アクセス権限０８０３には、該当データへアクセスが許可されるユーザの権限が記載される。アクセス内容０８０４には、アクセス権限０８０３にて許可されるユーザが実行可能なアクセス内容を記載する。図の例では、「Ｒ」（読込み可）、「Ｗ」（書込み可）等が記載されている。他ノード保有０８０５には、該当データを他の処理ノード０２１２でも保有しているか否か（ＹＥＳ／ＮＯ）を記載する。内容一致０８０６には、該当データを他の処理ノード０２１２でも保有している場合に、処理ノード０２１２間でデータ内容を一致する必要があるか、一致してはいけないか（ＹＥＳ／ＮＯ）を記載する。
【００４４】
なお上記プロファイル情報はファイル等の形式で処理ノード０２１２毎に作成され、保守ノード０２１１にて保存、管理するものであり、複数の処理ノード０２１２から取得した同一データの内容表示、ユーザによる編集済みデータの複数の処理ノード０２１２に対する上書き更新等の処理を実施する際に参照される。またプロファイル情報はフォールトトレラントコンピュータシステムの管理者もしくはユーザにより事前に作成され、適宜更新されるものである。
【００４５】
図９は、フォールトトレラントコンピュータシステムに含まれ、外部からの要求に対する処理等を実行する処理ノードにて、データ取得、編集対象データの更新監視、データ上書き更新等を行う処理の流れを示すフローチャートである。
【００４６】
０９０１において、保守ノード０２１１からデータ取得要求を受付ける。０９０２において、０９０１での要求に該当するデータを処理ノード０２１２内で取得し、保守ノード０２１１に送信する。０９０３において、０９０２にて取得した該当データを複製し、その複製データを一時格納領域（ハードディスク内の一時利用ディレクトリ、等）に格納する。０９０４において、前記保守ノード０２１１より要求されたデータに対して、処理ノード０２１２内のプログラムによる更新の監視、または他のユーザによる該当データの更新の監視を開始する。０９０５において、０９０４の更新監視の結果、更新を検出した場合は、０９０６において、更新後の該当データを保守ノード０２１１に更新通知とともに送信する。その後、０９０５の処理に戻る。０９０５において、０９０４の更新監視の結果、更新を検出していない場合は、０９０７において保守ノード０２１１からの該当データの上書き更新指示及びユーザによる編集済みデータを受付けた場合、０９０８において、該当データに対して保守ノード０２１１から受信したユーザによる編集済みデータで上書き更新する。その後、０９０５の処理に戻る。０９０９において、保守ノード０２１１からの該当データの元戻し指示を受付けた場合、０９１０において、該当データに対して、０９０３にて一時格納領域に格納していた複製データ（編集・更新前のデータ）で上書き更新する。０９１２において、一時格納領域より前記複製データ（編集・更新前のデータ）を削除する。０９１１において、保守ノードからの終了指示（処理ノード０２１２への該当データの上書き更新が正常に完了）を受付けた場合、０９１２において、一時格納領域より前記複製データ（編集・更新前のデータ）を削除する。
【００４７】
図１０Ａは、処理ノードより取得したデータをユーザに対して提示するための、処理ノード間でデータ内容が一致する場合の画面表示例を示す図である。
【００４８】
画面表示１００１は、図６にて示した、複数の処理ノード０２１２から取得した同一データに対する内容を保守ノード０２１１において比較した結果として、全ての処理ノード０２１２からのデータの内容が一致する場合には、処理ノード０２１２上のデータを指定したユーザのコマンド操作に対する出力結果として表示する。１０１１には、取得したデータの属性情報（種別、名称）及び内容比較結果（図の例では全処理ノード０２１２からのデータが一致）を表示する。１０１２には、取得したデータの内容をそのまま表示する。
【００４９】
図１０Ｂは、処理ノードより取得したデータをユーザに対して提示するための、処理ノード間でデータ内容に差異が有る場合の画面表示例を示す図である。
【００５０】
画面表示１００２は、図６にて示した、複数の処理ノード０２１２から取得した同一データに対する内容を保守ノード０２１１において比較した結果として、少なくとも１つの処理ノード０２１２からのデータの内容に差異が有る場合に、処理ノード０２１２上のデータを指定したユーザのコマンド操作に対する出力結果として表示する。１０２１には、取得したデータの属性情報（種別、名称）及び内容比較結果（図の例では１つの処理ノード０２１２からのデータに差異有り）を表示する。１０２１には、前記差異の有る１つの処理ノード０２１２とその他の処理ノード０２１２との間での差異の有る部分のデータ内容を比較形式で表示する。
【００５１】
本発明によるフォールトトレラントコンピュータシステムにおけるデータアクセス方法は、特にユーザがフォールトトレラントコンピュータシステム０２０１にて稼動するアプリケーションプログラムのデバッグ、テスト等の作業を行う際に活用できる。
【００５２】
例えば、テスト、デバッグのためにアプリケーションプログラムの定義ファイルを編集し、設定値等の変更を行う場合、従来技術による方法では、１つの処理ノード０２１２ずつアクセスして、同一ファイルに対して同内容の更新を実施していく必要があった。また全処理ノード０２１２における該当ファイルの内容が一致しているかをユーザ自身で確認する必要があった。もし処理ノード０２１２間で該当ファイルの内容に差異があれば、処理ノード０２１２間でアプリケーションプログラムが異なる動作をし、フォールトトレラントコンピュータシステム０２０１が異常状態となり、テスト、デバッグが正しく実施できなくなる可能性がある。これに対して本発明による方法を活用すれば、ユーザは該当ファイルを１度開き、内容の更新を実施するだけでよく、ユーザ自身が確認しなくとも、全処理ノード０２１２にて該当ファイルの内容が一致していることが保証される。さらにＩＰアドレス等のノード固有情報に対する更新は、全処理ノード０２１２で同一内容とならないように制限される。これらのことからユーザが前記ファイルの更新を行っても、前述のように処理ノード０２１２間でアプリケーションプログラムが異なる動作をすることはない。
【００５３】
またアプリケーション等のログを参照し障害解析等を行う場合、従来技術による方法では、１つの処理ノード０２１２ずつアクセスして、該当するログファイルを開いて参照する必要があった。またユーザ自身により処理ノード０２１２間でログファイルに記載された同一処理に対するログ情報を比較参照し、差異を発見する必要があった。このためログの量が増大すると、ユーザの負荷も増大することとなる。これに対して本発明による方法では、ユーザは該当ファイルを１度開くのみで、自動的に処理ノード０２１２間で差異の有る箇所が表示されるため、発生した障害の原因箇所の特定が容易となる。
【００５４】
その他、例えばフォールトトレラントコンピュータシステム０２０１に対して、遠隔操作により外部システム等から定義情報、参照データ等が転送され、各処理ノード０２１２に対して格納される場合、人為的ミス、ネットワーク障害、待機中等によりデータ格納に失敗する処理ノード０２１２が発生する可能性があるため、本発明による方法を活用して該当データを参照し、正しく各処理ノード０２１２に前記定義情報、参照データ等が格納されているか確認することは、作業負荷も低く、有効である。
【００５５】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【００５６】
０１０１  データ
０１１１  ユーザ端末の画面
０２０１  フォールトトレラントコンピュータシステム
０２０２  ユーザ端末
０２１１  保守ノード
０２１２  処理ノード
【図１】
2011237846.tif 000003
【図２】
2011237846.tif 000004
【図３】
2011237846.tif 000005
【図４】
2011237846.tif 000006
【図５】
2011237846.tif 000007
【図６】
2011237846.tif 000008
【図７】
2011237846.tif 000009
【図８】
2011237846.tif 000010
【図９】
2011237846.tif 000011
【図１０Ａ】
2011237846.tif 000012
【図１０Ｂ】
2011237846.tif 000013