(57)【要約】      （修正有）【課題】通信データ又は比較元情報が十分に揃っていない場合であっても、障害の原因を調査できる障害再現システムを提供する。【解決手段】情報システム１５０で発生した障害を再現するために情報システムが受信した通信データを仮想情報システムに送信する障害再現部１１０と、通信データを情報システムが受信した場合と同じ処理を実行し、処理の実行時の内部動作を示す再現結果を出力する仮想情報システム１７０と、を備える。障害再現部１１０は、通信データ情報に登録された通信データを、仮想情報システムに送信する。仮想情報システム１７０は、障害再現部から通信データを受信し、再現結果を出力する。障害再現部１１０は、仮想情報システム１７０から再現結果を取得し、取得した再現結果と比較元情報とを比較し、比較元情報と一致しない再現結果が出力される契機となった通信データを変更する。【選択図】図１
2017049675.tif 000002
【特許請求の範囲】
【請求項１】
情報システムで発生した障害を再現する障害再現システムであって、
前記情報システムは、通信データを受信した場合に、前記通信データに対応する処理を実行し、前記処理の実行時の内部動作を示す比較元情報を出力し、
前記障害再現システムは、
前記情報システムで発生した障害を再現するために前記情報システムが受信した通信データを仮想情報システムに送信する障害再現部と、
前記障害再現部が送信した通信データを受信し、前記通信データを前記情報システムが受信した場合と同じ処理を実行し、前記処理の実行時の内部動作を示す再現結果を出力する仮想情報システムと、を備え、
前記障害再現部は、
前記情報システムが受信した通信データを前記情報システムが受信した順に登録した通信データ情報と、
前記情報システムが出力した比較元情報を前記情報システムが出力した順に登録した比較元情報登録情報と、を記憶し、
前記通信データ情報に登録された通信データを順番に前記仮想情報システムに送信し、
前記仮想情報システムは、前記障害再現部から通信データを受信し、前記再現結果を出力し、
前記障害再現部は、
前記仮想情報システムから前記再現結果を取得し、
前記取得した再現結果と前記再現結果に対応する比較元情報とを比較し、
前記比較元情報と一致しない前記再現結果が出力される契機となった通信データの少なくとも一部を変更し、
変更後の通信データを前記仮想情報システムに送信することを特徴とする障害再現システム。
【請求項２】
請求項１に記載の障害再現システムであって、
前記障害再現部は、
前記仮想情報システムに送信される通信データの種類に応じて、当該通信データに含まれる少なくとも一部を変更する候補を示す少なくとも一つの変更候補が登録されたテンプレート情報を記憶し、
前記テンプレート情報を参照し、前記比較元情報と一致しない前記再現結果が出力される契機となった通信データの種類に応じた前記変更候補をユーザに提示し、
前記提示された変更候補から変更先となる変更候補の選択を前記ユーザから受け付け、前記通信データの一部を前記選択を受け付けた変更先となる変更候補に変更することを特徴とする障害再現システム。
【請求項３】
請求項１に記載の障害再現システムであって、
前記障害再現部は、前記比較の結果をユーザに提示することを特徴とする障害再現システム。
【請求項４】
請求項１に記載の障害再現システムであって、
前記障害再現部は、
前記取得した再現結果と前記比較元情報とが一致し、かつ前記通信データ情報に未送信の通信データがある場合、又は、前記取得した再現結果と前記比較元情報とが一致せず、前記順番に送信した通信データに対応する再現結果と前記再現結果に対応する比較元情報とが連続して一致しない再現結果の回数を示す連続不一致回数が所定数未満である場合、前記通信データ情報に登録された次の通信データを前記仮想情報システムに送信し、
前記仮想情報システムが前記次の通信データを受信した場合の前記再現結果を前記仮想情報システムから取得し、
前記次の通信データに対応する再現結果と当該再現結果に対応する比較元情報とが一致しないことで前記連続不一致回数が所定数に達した場合、前記比較元情報と最初に一致しなくなった再現結果が出力される契機となった通信データの少なくとも一部を変更することを特徴とする障害再現システム。
【請求項５】
請求項１に記載の障害再現システムであって、
前記障害再現部は、
前記取得した再現結果と前記比較元情報とが一致し、かつ前記通信データ情報に未送信の通信データがある場合、又は、前記取得した再現結果と前記比較元情報とが一致せず、前記順番に送信した通信データに対応する再現結果と前記再現結果に対応する比較元情報とが連続して一致しない再現結果の回数を示す連続不一致回数が所定数未満である場合、前記通信データ情報に登録された次の通信データを前記仮想情報システムに送信し、
前記仮想情報システムが前記次の通信データを受信した場合の前記再現結果を前記仮想情報システムから取得し、
前記連続不一致回数が所定数に達する前に前記次の通信データに対応する再現結果と前記比較元情報とが一致した場合、前記比較元情報と一致しないと判定された再現結果を前記比較元情報と一致したものとみなすことを特徴とする障害再現システム。
【請求項６】
請求項１に記載の障害再現システムであって、
前記障害再現部は、前記通信データの前記情報システムにログインするための情報を変更することを特徴とする障害再現システム。
【請求項７】
請求項１に記載の障害再現システムであって、
前記仮想情報システムは、前記情報システム、又は、前記情報システムと同じ環境であって、かつ前記情報システムとは別のシステムに実装されることを特徴とする障害再現システム。
【請求項８】
情報システムで発生した障害を再現する計算機における障害再現方法であって、
前記情報システムは、通信データを受信した場合に、前記通信データに対応する処理を実行し、前記処理の実行時の内部動作を示す比較元情報を出力し、
前記計算機は、プロセッサと記憶領域とを備え、
前記情報システムが受信した通信データを前記情報システムが受信した順に登録した通信データ情報と、
前記情報システムが出力した比較元情報を前記情報システムが出力した順に登録した比較元情報登録情報と、が前記記憶領域に記憶され、
前記障害再現方法は、
前記プロセッサが、前記通信データを前記情報システムが受信した場合と同じ処理を実行し、前記処理の実行時の内部動作を示す再現結果を出力する仮想情報システムに、前記通信データ情報に登録された通信データを順番に送信し、
前記プロセッサが、前記仮想情報システムから前記再現結果を取得し、
前記プロセッサが、前記取得した再現結果と前記再現結果に対応する比較元情報とを比較し、
前記プロセッサが、前記比較元情報と一致しない前記再現結果が出力される契機となった通信データの少なくとも一部を変更し、
前記プロセッサが、変更後の通信データを前記仮想情報システムに送信することを特徴とする障害再現方法。
【請求項９】
請求項８に記載の障害再現方法であって、
前記記憶領域には、前記仮想情報システムに送信される通信データの種類に応じて、当該通信データに含まれる少なくとも一部を変更する候補を示す少なくとも一つの変更候補が登録されたテンプレート情報が記憶され、
前記プロセッサが、前記テンプレート情報を参照し、前記比較元情報と一致しない前記再現結果が出力される契機となった通信データの種類に応じた前記変更候補をユーザに提示し、
前記プロセッサが、前記提示された変更候補から変更先となる変更候補の選択を前記ユーザから受け付け、前記通信データの一部を前記選択を受け付けた変更先となる変更候補に変更することを特徴とする障害再現方法。
【請求項１０】
請求項８に記載の障害再現方法であって、
前記プロセッサが、前記比較の結果をユーザに提示することを特徴とする障害再現方法。
【請求項１１】
請求項８に記載の障害再現方法であって、
前記プロセッサが、前記取得した再現結果と前記比較元情報とが一致し、かつ前記通信データ情報に未送信の通信データがある場合、又は、前記取得した再現結果と前記比較元情報とが一致せず、前記順番に送信した通信データに対応する再現結果と前記再現結果に対応する比較元情報とが連続して一致しない再現結果の回数を示す連続不一致回数が所定数未満である場合、前記通信データ情報に登録された次の通信データを前記仮想情報システムに送信し、
前記プロセッサが、前記仮想情報システムが前記次の通信データを受信した場合の前記再現結果を前記仮想情報システムから取得し、
前記プロセッサが、前記次の通信データに対応する再現結果と当該再現結果に対応する比較元情報とが一致しないことで前記連続不一致回数が所定数に達した場合、前記比較元情報と最初に一致しなくなった再現結果が出力される契機となった通信データの少なくとも一部を変更することを特徴とする障害再現方法。
【請求項１２】
請求項８に記載の障害再現方法であって、
前記プロセッサが、前記取得した再現結果と前記比較元情報とが一致し、かつ前記通信データ情報に未送信の通信データがある場合、又は、前記取得した再現結果と前記比較元情報とが一致せず、前記順番に送信した通信データに対応する再現結果と前記再現結果に対応する比較元情報とが連続して一致しない再現結果の回数を示す連続不一致回数が所定数未満である場合、前記通信データ情報に登録された次の通信データを前記仮想情報システムに送信し、
前記プロセッサが、前記仮想情報システムが前記次の通信データを受信した場合の前記再現結果を前記仮想情報システムから取得し、
前記プロセッサが、前記連続不一致回数が所定数に達する前に前記次の通信データに対応する再現結果と前記比較元情報とが一致した場合、前記比較元情報と一致しないと判定された再現結果を前記比較元情報と一致したものとみなすことを特徴とする障害再現方法。
【請求項１３】
請求項８に記載の障害再現方法であって、
前記プロセッサは、前記通信データの前記情報システムにログインするための情報を変更することを特徴とする障害再現方法。
【請求項１４】
請求項８に記載の障害再現方法であって、
前記仮想情報システムは、前記情報システム、又は、前記情報システムと同じ環境であって、かつ前記情報システムとは別のシステムに実装されることを特徴とする障害再現方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システムの障害を再現する障害再現システムに関する。
【背景技術】
【０００２】
情報システムで障害が発生した場合、障害原因を調査するためにシステムログ等が用いられる。しかし、システム動作の全てが詳細にシステムログとして出力されるとシステムログの容量が膨大になる。このため、システムログの一部は削除されている可能性がある。このようなシステムログを障害原因の調査に用いる場合、障害原因を十分に調査できない可能性がある。障害が発生した情報システムと同じ環境を用意して、当該環境で擬似的に障害を再度発生させることによって、障害の原因を十分に調査できる。しかし、同じ環境の用意、及び障害の再現等が困難である。
【０００３】
このような障害の再現に関する技術として、特開２０１０−２０５０１１号公報（特許文献１）及び特開２０１４−３２４９８号公報（特許文献２）がある。
【０００４】
特許文献１の公報には、「障害再現システムは検証用サーバとパケット再送サーバとを備える。検証用サーバは、サーバ装置の特定の時点のスナップショットに基づいて、前記特定の時点の前記サーバ装置をアプリケーション仮想再現サーバとして再現する。パケット再送サーバは、前記ネットワークを介して送信されるパケットデータを収集するパケット収集装置により前記特定の時点から前記サーバ装置に障害が発生した障害発生時点までの間に収集された複数のパケットデータのうちクライアント装置から前記サーバ装置へ送信されたパケットデータを対象パケットとして、アプリケーション仮想再現サーバに前記対象パケットを処理させる。」と記載されている（要約参照）。
【０００５】
特許文献２の公報には、「障害発生VMを再現操作ツールでVM実行管理表に設定し、設定VMを一斉スナップショット通知手段で実行中であれば一時停止してスナップショット記録部に、その時点までの実行内容を記録し、VM入出力記録手段がVMの仮想ハードウェア（HW）の入出力アクセスをイベント記録部に記録し、一斉スナップショット通知手段はスナップショット記録の完了後、再現操作手段の操作で記録VM内容を再現し、入出力再現手段はVMの再現実行中に仮想HWに発生した入出力アクセスをイベント記録部の内容と照合し、合致するものを再現する。」と記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２０５０１１号公報
【特許文献２】特開２０１４−３２４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１及び特許文献２に記載の技術を用いれば、調査対象である障害が発生した情報システムと同じシステム以外は用意する必要がなくなり、障害が発生した情報システムと同じ環境を用意するための工数を削減できる。また、特許文献１及び特許文献２に記載の技術を用いれば、過去に情報システムに送信されたデータを、当該情報システムと同じシステムに送信するだけで、当該情報システムの内部状態を再現できるので、過去に情報システムに送信されたデータを人手により情報システムに入力する等の手間が不要となり、長時間の稼働の最中に発生した障害の原因も容易に調査可能となる。
【０００８】
特許文献１及び特許文献２に記載の技術では、障害発生時の通信データが情報システムの内部状態を再現できるほどに揃っていることが前提となる。しかし、システムログと同じく、通信データも詳細に出力すると容量が膨大になるので、通信データの一部が削除されていることがある。また、通信データは、ＩＤ及びパスワードのような秘匿すべき情報を含む場合があり、セキュリティの観点から通信データに含まれる秘匿すべき情報を削除してから、通信データを保存する場合がある。
【０００９】
また、障害を再現できたか否かについては、別途判断する必要がある。例えば、長時間の稼働の最中に発生した障害が再現できたか否かについては、広範囲のシステムログ等を手動で調査しなければならず、調査に時間がかかる。
【００１０】
本発明の目的は、通信データ又は比較元情報が十分に揃っていない場合であっても、障害の原因を調査できる障害再現システムを提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明は、情報システムで発生した障害を再現する障害再現システムであって、前記情報システムは、通信データを受信した場合に、前記通信データに対応する処理を実行し、前記処理の実行時の内部動作を示す比較元情報を出力し、前記障害再現システムは、前記情報システムで発生した障害を再現するために前記情報システムが受信した通信データを仮想情報システムに送信する障害再現部と、前記障害再現部が送信した通信データを受信し、前記通信データを前記情報システムが受信した場合と同じ処理を実行し、前記処理の実行時の内部動作を示す再現結果を出力する仮想情報システムと、を備え、前記障害再現部は、前記情報システムが受信した通信データを前記情報システムが受信した順に登録した通信データ情報と、前記情報システムが出力した比較元情報を前記情報システムが出力した順に登録した比較元情報登録情報と、を記憶し、前記通信データ情報に登録された通信データを順番に前記仮想情報システムに送信し、前記仮想情報システムは、前記障害再現部から通信データを受信し、前記再現結果を出力し、前記障害再現部は、前記仮想情報システムから前記再現結果を取得し、前記取得した再現結果と前記再現結果に対応する比較元情報とを比較し、前記比較元情報と一致しない前記再現結果が出力される契機となった通信データの少なくとも一部を変更し、変更後の通信データを前記仮想情報システムに送信することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、通信データ又は比較元情報が十分に揃っていない場合であっても、障害の原因を調査できる障害再現システムを提供できる。
【００１３】
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】本実施例の障害再現システムのシステム構成図である。
【図２】本実施例の各装置のハードウェア構成図である。
【図３】本実施例の通信データテーブルの説明図である。
【図４】本実施例の比較元情報テーブルの説明図である。
【図５】本実施例の再現結果テーブルの説明図である。
【図６】本実施例の比較結果テーブルの説明図である。
【図７】本実施例のテンプレートテーブルの説明図である。
【図８】本実施例の障害再現処理のシーケンス図である。
【図９Ａ】本実施例の連続不一致数が所定数以上となった場合に表示される比較結果表示画面の説明図である。
【図９Ｂ】本実施例の障害再現処理終了時に表示される比較結果表示画面の説明図である。
【図１０】本実施例の再現結果比較実行部による再現結果と比較元情報との比較処理の詳細なフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施例を図面に基づいて説明する。
【００１６】
図１は、本実施例の障害再現システムのシステム構成図である。
【００１７】
障害再現システムは、障害再現装置１００、情報システム１５０、端末１６０、及び仮想情報システム１７０を有する。
【００１８】
障害再現装置１００と情報システム１５０と端末１６０とは第１ネットワーク１８０を介して互いに接続される。なお、障害再現装置１００は、情報システム１５０に接続されていればよく、端末１６０に接続されなくてもよい。障害再現装置１００と仮想情報システム１７０とは第２ネットワーク１９０を介して互いに接続される。
【００１９】
端末１６０は情報システム１５０に通信データを送信し、情報システム１５０は端末１６０から送信された通信データを受信し、受信した通信データに対応する処理を実行する。そして、情報システム１５０は、通信データを受信した場合の内部動作を示す比較元情報を出力する。
【００２０】
情報システム１５０で障害が発生した場合、情報システム１５０で発生した障害を再現するため、障害再現装置１００は、端末１６０が情報システム１５０に送信した通信データを仮想情報システム１７０に送信する。仮想情報システム１７０は、情報システム１５０が当該通信データを受信した場合に実行される処理と同じ処理を実行して、通信データを受信した場合の内部動作を示す再現結果を出力する。障害再現装置１００は、仮想情報システム１７０の再現結果と、情報システム１５０の比較元情報とを比較して、情報システム１５０で発生した障害が仮想情報システム１７０で再現されたか否かを判定する。
【００２１】
なお、本実施例では、障害再現装置１００は、仮想情報システム１７０に通信データを送信して、情報システム１５０と同じ処理を仮想情報システム１７０に実行させるが、情報システム１５０に通信データを送信できるのであれば、情報システム１５０に通信データを送信してもよい。情報システム１５０は、端末１６０から受信した通信データに対応して比較元情報を出力し、障害再現装置１００から受信した通信データに対応して再現結果を出力する。この場合、障害再現システムは、仮想情報システム１７０を有さなくてもよい。
【００２２】
まず、障害再現装置１００について説明する。
【００２３】
障害再現装置１００は、端末１６０が情報システム１５０に送信した通信データを取得し、情報システム１５０で発生した障害を仮想情報システム１７０に再現させるために、端末１６０が情報システム１５０に送信した通信データを仮想情報システム１７０に送信する。障害再現装置１００は、障害再現部１１０、再現結果比較部１２０、及び再現結果表示部１３０を有する。
【００２４】
障害再現部１１０は、端末１６０が過去に情報システム１５０に送信した通信データを、仮想情報システム１７０に送信する。障害再現部１１０は、通信データ取得部１１１、通信データ送受信部１１２、及び通信データテーブル１１３を有する。
【００２５】
通信データ取得部１１１は、端末１６０が情報システム１５０に送信した通信データを取得し、取得した通信データに必要な加工を実施して通信データテーブル１１３に登録する。例えば、通信データ取得部１１１は、端末１６０が情報システム１５０に送信した通信データが記憶された記憶媒体から読み出すことによって、端末１６０が情報システム１５０に送信した通信データを取得してもよい。また、端末１６０が情報システム１５０に送信した通信データが他のシステムに記憶されており、通信データ取得部１１１は、他のシステムと通信して、他のシステムに記憶された通信データを取得してもよい。また、通信データ取得部１１１は、情報システム１５０又は端末１６０と通信して、通信データを取得してもよい。また、通信データ取得部１１１は、障害再現装置１００のユーザが通信データが手作業で障害再現装置１００に入力されることによって、通信データを取得してもよい。
【００２６】
通信データ送受信部１１２は、通信データテーブル１１３に登録された通信データを仮想情報システム１７０に送信する。また、通信データ送受信部１１２は、仮想情報システム１７０が通信データを受信して、受信した通信データに対応する処理を実行した場合に障害再現装置１００に送信する通信データを受信する。仮想情報システム１７０から送信された通信データは、再現結果を含む。
【００２７】
通信データテーブル１１３には、通信データ取得部１１１が取得した通信データが登録される。通信データテーブル１１３の詳細は図３で説明する。
【００２８】
次に、再現結果比較部１２０について説明する。
【００２９】
再現結果比較部１２０は、障害が発生した情報システム１５０の比較元情報と障害を再現する仮想情報システム１７０の再現結果とを比較する。具体的には、再現結果比較部１２０は、仮想情報システム１７０が障害再現装置１００から受信した通信データに基づいて所定の処理を実行した場合に出力した仮想ログを取得する。そして、再現結果比較部１２０は、仮想ログと、情報システム１５０が通信ログに対応する処理を実行した場合に出力されるログとを比較する。再現結果比較部１２０は、比較対象取得部１２１、再現結果比較実行部１２２、比較元情報テーブル１２３、再現結果テーブル１２４、及び比較結果テーブル１２５を有する。
【００３０】
比較対象取得部１２１は、情報システム１５０が通信ログに対応する処理を実行した場合に出力されるログを比較対象として取得し、取得した比較対象となるログを比較元情報テーブル１２３に登録する。また、比較対象取得部１２１は、仮想情報システム１７０が障害再現装置１００から受信した通信データに基づいて所定の処理を実行した場合に出力した仮想ログを取得し、取得した仮想ログを再現結果テーブル１２４に登録する。
【００３１】
なお、比較対象取得部１２１は、情報システム１５０のログが記憶された記憶媒体から読み出すことによって、比較対象となるログを取得してもよいし、仮想情報システム１７０の仮想ログが記憶された記憶媒体から読み出すことによって、仮想ログを取得してもよい。また、情報システム１５０のログが他のシステムに記憶されている場合、比較対象取得部１２１は、他のシステムと通信して、他のシステムに記憶された情報システム１５０のログを取得してもよい。仮想情報システム１７０のログが他のシステムに記憶されている場合、比較対象取得部１２１は、他のシステムと通信して、他のシステムに記憶された情報システム１５０のログを取得してもよい。
【００３２】
また、比較対象取得部１２１は、情報システム１５０と通信して、情報システム１５０のログを取得してもよいし、仮想情報システム１７０と通信して、仮想情報システム１７０の仮想ログを取得してもよい。
【００３３】
また、比較対象取得部１２１は、障害再現装置１００のユーザが情報システム１５０のログ及び仮想情報システム１７０の仮想ログが手作業で入力されることによって、情報システム１５０のログ及び仮想情報システム１７０の仮想ログを取得してもよい。
【００３４】
再現結果比較実行部１２２は、取得した仮想ログを再現結果として再現結果テーブル１２４に登録する。そして、再現結果比較実行部１２２は、取得した仮想ログと比較元情報テーブル１２３に登録されたログとを比較し、比較結果を比較結果テーブル１２５に登録する。
【００３５】
比較元情報テーブル１２３には、比較元情報となる情報システム１５０のログが登録される。比較元情報テーブル１２３の詳細は、図４で説明する。再現結果テーブル１２４には、仮想情報システム１７０が出力した仮想ログが登録される。再現結果テーブル１２４の詳細は、図５で説明する。比較結果テーブル１２５には、再現結果比較実行部１２２の比較結果が登録される。比較結果テーブル１２５の詳細は、図６で説明する。
【００３６】
次に、再現結果表示部１３０について説明する。
【００３７】
再現結果表示部１３０は、比較結果テーブル１２５に登録された再現結果比較実行部１２２の比較結果をユーザに提示し、仮想情報システム１７０に送信する通信データの内容の少なくとも一部の変更の入力をユーザから受け付け、受け付けた入力した基づいて通信データの内容を変更する。再現結果表示部１３０は、結果提示部１３１、テンプレート提示部１３２、通信データ変更部１３３、及びテンプレートテーブル１３４を有する。
【００３８】
結果提示部１３１は、比較結果テーブル１２５に登録された再現結果比較実行部１２２の比較結果を含む比較結果表示画面９００を出力装置２６０から出力する。比較結果表示画面９００の詳細は、図９Ａ及び図９Ｂで説明する。
【００３９】
テンプレート提示部１３２は、テンプレートテーブル１３４を参照し、仮想情報システム１７０に送信する変更する通信データの変更候補を比較結果表示画面９００上に表示する。
【００４０】
通信データ変更部１３３は、ユーザから受け付けた変更の入力に基づいて、通信データの少なくとも一部を変更する。
【００４１】
図２は、本実施例の各装置のハードウェア構成図である。図２に示すハードウェア構成は、障害再現装置１００、情報システム１５０、端末１６０、及び仮想情報システム１７０に共通する。本実施例では、障害再現装置１００を例に説明する。
【００４２】
障害再現装置１００は、プロセッサ２１０、メモリ２２０、外部記憶装置２３０、通信装置２４０、入力装置２５０、及び出力装置２６０を有する。これらは、バス２７０を介して互いに接続される。
【００４３】
プロセッサ２１０は、各種演算処理を実行する。外部記憶装置２３０は非揮発性の非一時的な記憶媒体であり、各種プログラム及び各種データが記憶される。メモリ２２０は揮発性の一時的な記憶媒体であり、メモリ２２０には、外部記憶装置２３０に記憶された各種プログラム及び各種データがロードされ、プロセッサ２１０がメモリ２２０にロードされた各種プログラムを実行し、メモリ２２０にロードされた各種データを読み書きする。
【００４４】
通信装置２４０は、障害再現装置１００を外部のネットワーク１８０及び１９０に接続するインタフェースである。入力装置２５０は、キーボード及びマウス等であり、ユーザの手作業による入力を受け付ける。出力装置２６０は、ディスプレイ等である。
【００４５】
メモリ２２０には、通信データ取得部１１１、通信データ送受信部１１２、比較対象取得部１２１、結果提示部１３１、テンプレート提示部１３２、及び通信データ変更部１３３それぞれに対応するプログラムが記憶される。プロセッサ２１０が、通信データ取得部１１１、通信データ送受信部１１２、比較対象取得部１２１、結果提示部１３１、テンプレート提示部１３２、及び通信データ変更部１３３に対応するプログラムを実行することによって、通信データ取得部１１１、通信データ送受信部１１２、比較対象取得部１２１、結果提示部１３１、テンプレート提示部１３２、及び通信データ変更部１３３がプロセッサ２１０に実装される。
【００４６】
また、メモリ２２０には、通信データテーブル１１３、比較元情報テーブル１２３、再現結果テーブル１２４、比較結果テーブル１２５、及びテンプレートテーブル１３４が記憶される。
【００４７】
なお、情報システム１５０、端末１６０、及び仮想情報システム１７０のハードウェア構成は、図２に示すハードウェア構成と同じであるので、説明を省略する。
【００４８】
図３は、本実施例の通信データテーブル１１３の説明図である。
【００４９】
通信データテーブル１１３は、通信データＩＤ３０１、通信データ本体３０２、通信データ種類３０３、再現結果ＩＤ３０４、及び変更履歴３０５を含む。
【００５０】
通信データＩＤ３０１には、端末１６０が情報システム１５０に送信した通信データの一意な識別子が登録される。通信データ本体３０２には、端末１６０が情報システム１５０に送信した通信データの本体がテキストとして登録される。通信データ種類３０３には、端末１６０が情報システム１５０に送信した通信データの種類を示す情報が登録される。通信データの種類は、通信データのフォーマット毎に決められている。
【００５１】
再現結果ＩＤ３０４には、再現結果テーブル１２４に登録された再現結果のうち、当該通信データに対応する再現結果の一意な識別子が登録される。
【００５２】
変更履歴３０５には、通信データ変更部１３３による通信データの変更の一意な識別子と、通信データの変更内容と、が登録される。例えば、図３では、通信データＩＤ「００１１」の通信データに対して、通信データの変更の識別子である「Ｃｈａｎｇｅ−０１」と、「ｕｉｄ」というデータ項目が「ｎｕｌｌ」から「ｕｓｅｒ０００１」に変更されたという変更内容とが登録される。
【００５３】
図４は、本実施例の比較元情報テーブル１２３の説明図である。
【００５４】
比較元情報テーブル１２３は、比較元情報ＩＤ４０１、及び比較元情報本体４０２を含む。
【００５５】
比較元情報ＩＤ４０１には、比較元情報の一意な識別子が登録される。比較元情報本体４０２には、比較元情報の本体の内容がテキストとして登録される。
【００５６】
図５は、本実施例の再現結果テーブル１２４の説明図である。
【００５７】
再現結果テーブル１２４は、再現結果ＩＤ５０１、及び再現結果本体５０２を含む。
【００５８】
再現結果ＩＤ５０１には、再現結果の一意な識別子が登録される。再現結果本体５０２には、再現結果の本体の内容がテキストとして登録される。
【００５９】
図６は、本実施例の比較結果テーブル１２５の説明図である。
【００６０】
比較結果テーブル１２５は、再現結果ＩＤ６０１、比較元情報ＩＤ６０２、及び比較結果６０３を含む。
【００６１】
再現結果ＩＤ６０１には、再現結果テーブル１２４に登録された再現結果の一意な識別子が登録される。
【００６２】
比較元情報ＩＤ６０２には、再現結果ＩＤ６０１に登録された識別子によって識別される再現結果と一致する比較元情報の一意な識別子が登録される。一致する比較元情報が存在しないに対応するレコードの比較元情報ＩＤ６０２には「−」が登録される。
【００６３】
比較結果６０３には、再現結果ＩＤ６０１に登録された識別子によって識別される再現結果と比較元情報との比較結果が登録される。
【００６４】
具体的には、比較結果６０３には、再現結果と比較元情報とが一致する場合、「一致」が登録される。また、比較結果６０３には、再現結果と比較元情報とが一致しない場合、連続不一致回数が登録される。連続不一致回数は、比較元情報と連続して一致しない再現結果の数を示す。
【００６５】
なお、連続不一致回数が所定数（Ｎ）以下で再現結果と比較元情報とが一致すれば、不一致と判定された再現結果は、一致する比較元情報が存在しないが、問題ものとみなされる。この再現結果に対応するレコードの比較結果６０３には、連続不一致回数の変わりに「再現側のみ」が登録される。一方、連続不一致回数が所定数（Ｎ）以上となっても再現結果と比較元情報とが一致しなければ、最初に一致しなくなった再現結果に対応するレコードの比較結果６０３に、当該再現結果から比較元情報との不一致が開始したことを示す「不一致開始箇所」が登録される。
【００６６】
図６に示す比較結果テーブル１２５の１行目のレコードは、再現結果ＩＤ６０１に登録された「０００１ｒｅｐｒｏｄｕｃｅ」によって識別される再現結果と、比較元情報ＩＤ６０２に登録された「０００１ｏｒｉｇｉｎａｌ」によって識別される比較元情報とが一致することを示す。
【００６７】
２行目のレコードでは、再現結果ＩＤ６０１に登録された登録された「０００１ｒｅｐｒｏｄｕｃｅ」によって識別される再現結果は、一致する比較元情報が存在しないので、比較元情報ＩＤ６０２には「−」が登録され、比較結果６０３には、連続不一致回数を示す「１」が登録される。３行目のレコードは、再現結果ＩＤ６０１に登録された「０００３ｒｅｐｒｏｄｕｃｅ」によって識別される再現結果と、比較元情報ＩＤ６０２に登録された「０００２ｏｒｉｇｉｎａｌ」によって識別される比較元情報とが一致することを示す。３行目のレコードが追加された時点で、２行目のレコードの再現結果は、一致する比較元情報が存在しないが、問題ないと判断されて、２行目のレコードの比較結果６０３には連続不一致回数を示す「１」の代わりに、「再現側のみ」が登録される。
【００６８】
また、６行目のレコード以降、仮想ログとログとの不一致が所定数以上連続するので、６行目のレコードの比較結果には、「不一致開始箇所」が登録される。
【００６９】
比較結果テーブル１２５の更新の詳細は図８で説明する。
【００７０】
図７は、本実施例のテンプレートテーブル１３４の説明図である。
【００７１】
テンプレートテーブル１３４は、通信データ種類７０１、位置７０２、及び変更候補７０３を含む。
【００７２】
通信データ種類７０１には、テンプレートを適用する通信データの種類を示す情報が登録される。通信データ種類７０１に登録された通信データの種類を示す情報は、図３に示す通信データテーブル１１３に登録された通信データの種類を示す情報と対応付けられており、通信データ種類７０１に登録された通信データの種類を示す情報に基づいて、図３に示す通信データテーブル１１３に登録されたレコードを参照できる。位置７０２には、通信データの内容を変更可能な項目の位置が登録される。変更候補７０３には、通信データの変更可能な項目に対する変更可能な内容が登録される。
【００７３】
図７に示すテンプレートテーブル１３４では、「Ｍ０００３」の種類の通信データの位置「ｕｉｄ」（ユーザＩＤ）が変更可能であり、変更候補７０３には、「ｕｉｄ」の内容が「ｕｓｅｒ００」から「ｕｓｅｒ９９」までの１００パターンで変更可能であることを示す情報が正規表現で登録されている。なお、テンプレートテーブル１３４の位置７０２に登録される情報は、ユーザに関する情報であればよい。例えば、ユーザに関する情報は、情報システム１５０に端末１６０がログインするための情報（ユーザＩＤ及びパスワード等）がある。
【００７４】
図８は、本実施例の障害再現処理のシーケンス図である。
【００７５】
ユーザ８００は、障害を再現させたい情報システム１５０に端末１６０が送信した通信データを格納した記憶媒体を障害再現装置１００に接続して、当該通信データを障害再現装置１００に記憶する（８０１）。例えば、記憶媒体はＵＳＢメモリ等の可搬型記憶媒体であってもよい。
【００７６】
障害再現装置１００の通信データ取得部１１１は、ユーザ８００が接続した記憶媒体から通信データを読み出すことによって、通信データを取得し、取得した通信データを通信データテーブル１１３に登録する（８０２）。なお、通信データの取得方法は、これに限定されない。
【００７７】
ここで、通信データ取得部１１１による通信データテーブル１１３への通信データの登録処理について説明する。まず、通信データ取得部１１１は、通信データの時系列順となるように通信データに一意な識別子を付与して、当該識別子を通信データテーブル１１３の通信データＩＤ３０１に登録する。また、通信データ取得部１１１は、通信データの本体を通信データ本体３０２に登録する。また、通信データ取得部１１１は、通信データの本体、送信元ＩＰアドレス、及び送信先ＩＰアドレス等に基づいて通信データの種類を特定し、特定した通信データの種類を示す情報を、通信データ種類３０３に登録する。なお、ステップ８０２の処理の実行が完了した段階では、通信データテーブル１１３の再現結果ＩＤ３０４、及び変更履歴３０５には情報が登録されない。
【００７８】
ユーザ８００は、障害を再現させたい情報システム１５０が出力した比較元情報を格納した記憶媒体を障害再現装置１００に接続して、当該比較元情報を障害再現装置１００に記憶する（８０３）。例えば、記憶媒体はＵＳＢメモリ等の可搬型記憶媒体であってもよい。比較元情報は、情報システム１５０の内部動作を特定可能な情報であればよく、例えばシステムログ等である。
【００７９】
障害再現装置１００の比較対象取得部１２１は、ユーザ８００が接続した記憶媒体から比較元情報を読み出すことによって、比較元情報を取得し、取得した比較元情報を通信データテーブル１１３に登録する（８０４）。なお、比較元情報の取得方法は、これに限定されない。
【００８０】
ここで、比較対象取得部１２１による比較元情報テーブル１２３への比較元情報の登録処理について説明する。まず、比較対象取得部１２１は、比較元情報が出力された時系列順となるように比較元情報に一意な識別子を付与して、当該識別子を比較元情報テーブル１２３の比較元情報ＩＤ４０１に登録する。また、比較対象取得部１２１は、比較元情報の内容を比較元情報本体４０２に登録する。
【００８１】
次に、通信データ送受信部１１２は、通信データテーブル１１３に記憶された通信データの中で最も若い識別子の通信データを選択し、選択した通信データを仮想情報システム１７０に送信する（８０５）。
【００８２】
仮想情報システム１７０の通信データ受信部１７１は、ステップ８０５の処理で送信された通信データを受信し、仮想情報システム１７０は、受信した通信データに対応する処理を実行する（８０６）。次に、仮想情報システム１７０の通信データ送信部１７２は、ステップ８０６の処理で通信データに対応する処理を実行した場合に出力される再現結果を含む通信データを障害再現装置１００に送信する（８０７）。
【００８３】
障害再現装置１００の通信データ送受信部１１２は、ステップ８０７の処理で送信された通信データを受信する（８０８）。
【００８４】
次に、障害再現装置１００の比較対象取得部１２１は、ステップ８０８の処理で受信しした通信データから再現結果を取得し（８０９）、取得した再現結果を再現結果テーブル１２４に登録する。ここで、再現結果は、比較元情報と同じ形式の情報である必要がある。例えば、比較元情報が端末１６０から送信された通信データに対応する処理を実行した場合のシステムログである場合、再現結果は、障害再現装置１００から送信された通信データに対応する処理を実行した場合のシステムログである必要がある。
【００８５】
比較対象取得部１２１は、再現結果が出力された時系列順となるように再現結果に一意な識別子を付与して、当該識別子を再現結果テーブル１２４の再現結果ＩＤ５０１に登録する。また、比較対象取得部１２１は、再現結果の内容を再現結果本体５０２に登録する。
【００８６】
次に、障害再現装置１００の再現結果比較実行部１２２は、ステップ８０９の処理で取得した再現結果と、比較元情報テーブル１２３に登録された比較元情報とを比較し、再現結果と比較元情報とが一致したか否かを示す比較結果を比較結果テーブル１２５に登録する（８１０）。
【００８７】
障害再現装置１００は、ステップ８１０の処理の比較結果に応じて、処理を分岐させる。
【００８８】
ステップ８１０の処理で、再現結果と比較元情報とが一致せず、かつ、連続不一致数がユーザ８００が予め設定した所定数（Ｎ）以上となった場合、障害再現装置１００の結果提示部１３１は、図９Ａに示す比較結果表示画面９００を表示する（８１１）。
【００８９】
ステップ８１０の処理で、再現結果と比較元情報とが一致せず、かつ、連続不一致数がユーザ８００が予め設定した所定数（Ｎ）未満である場合、又は、ステップ８１０の処理で、再現結果と比較元情報とが一致し、かつ、比較元情報テーブル１２３に登録された最後の比較元情報に達していない場合、ステップ８０５の処理に戻り、通信データ送受信部１１２は、通信データテーブル１１３に再現結果ＩＤ３０４に情報が登録されておらず、かつ通信データＩＤ３０１に登録された識別子が最も若い通信データを、仮想情報システム１７０に送信する。
【００９０】
ステップ８１０の処理で、再現結果と比較元情報とが一致し、かつ、比較元情報テーブル１２３に登録された最後の比較元情報に達した場合、障害再現装置１００は、障害の再現が完了したと判断し、障害再現処理を終了する（８１４）。
【００９１】
ステップ８１０の処理について具体的に説明する。比較対象取得部１２１が識別子「０００１ｒｅｐｒｏｄｕｃｅ」の再現結果を取得した場合、再現結果比較実行部１２２は、比較元情報テーブル１２３に登録された比較元情報ＩＤ４０１に登録された識別子が最も若い比較元情報（「０００１ｏｒｉｇｉｎａｌ」）と、再現結果（「０００１ｒｅｐｒｏｄｕｃｅ」）とを比較する。この場合、当該再現結果及び比較元情報の本体はともに「"POST /login HTTP/1.1" 200 1024 …」であり、再現結果と比較元情報とが一致する。このため、再現結果比較実行部１２２は、比較結果テーブル１２５に図６に示す１行目のレコードを追加し、追加したレコードの再現結果ＩＤ６０１に「０００１ｒｅｐｒｏｄｕｃｅ」を登録し、比較元情報ＩＤ６０２に「０００１ｏｒｉｇｉｎａｌ」を登録し、比較結果６０３に「一致」を登録する。また、再現結果比較実行部１２２は、通信データテーブル１１３のステップ８０５の処理で送信された通信データに対応するレコードの再現結果ＩＤ３０４に、ステップ８０９の処理で取得した再現結果の識別子（「０００１ｒｅｐｒｏｄｕｃｅ」）を登録する。
【００９２】
このステップ８１０の処理では、再現結果と比較元情報とが一致し、かつ、比較元情報テーブル１２３に登録された最後の比較元情報に達していないので、ステップ８０５の処理に戻る。
【００９３】
次のステップ８０５の処理では、通信データテーブル１１３に登録された通信データの中から、再現結果ＩＤ３０４に再現結果の識別子が登録されておらず、通信データＩＤ３０１に登録された識別子が最も若い通信データ（「０００２」）が仮想情報システム１７０に送信され、ステップ８０９の処理で、比較対象取得部１２１は、識別子が「０００２ｒｅｐｒｏｄｕｃｅ」である再現結果を取得する。
【００９４】
この場合のステップ８１０の処理では、再現結果比較実行部１２２は、再現結果（「０００２ｒｅｐｒｏｄｕｃｅ」）と、比較元情報テーブル１２３の再現結果と未だ一致したと判定されておらず、識別子が最も若い比較元情報（「０００２ｏｒｉｇｉｎａｌ」）とを比較する。この場合、再現結果（「０００２ｒｅｐｒｏｄｕｃｅ」）の本体は「"GET /title HTTP/1.1" 200 2048 …」であり、比較元情報（「０００２ｏｒｉｇｉｎａｌ」）の本体は「"GET /menu HTTP/1.1" 200 4096 …」であるので、これらは一致しない。このため、再現結果比較実行部１２２は、比較結果テーブル１２５に図６に示す２行目のレコードを追加し、追加したレコードの再現結果ＩＤ６０１に「０００２ｒｅｐｒｏｄｕｃｅ」を登録し、比較元情報ＩＤ６０２に「−」を登録し、比較結果６０３に連続不一致回数を示す「１」を登録する。また、再現結果比較実行部１２２は、通信データテーブル１１３のステップ８０５の処理で送信された通信データに対応するレコードの再現結果ＩＤ３０４に、ステップ８０９の処理で取得した再現結果の識別子（「０００２ｒｅｐｒｏｄｕｃｅ」）を登録する。
【００９５】
このステップ８１０の処理では、再現結果と比較元情報とが一致せず、かつ、比較元情報テーブル１２３に登録された最後の比較元情報に達していないので、ステップ８０５の処理に戻る。
【００９６】
次のステップ８０５の処理では、通信データテーブル１１３に登録された通信データの中から、再現結果ＩＤ３０４に再現結果の識別子が登録されておらず、通信データＩＤ３０１に登録された識別子が最も若い通信データ（「０００３」）が仮想情報システム１７０に送信され、ステップ８０９の処理で、比較対象取得部１２１は、識別子が「０００３ｒｅｐｒｏｄｕｃｅ」である再現結果を取得する。
【００９７】
この場合のステップ８１０の処理では、再現結果比較実行部１２２は、再現結果（「０００３ｒｅｐｒｏｄｕｃｅ」）と、比較元情報テーブル１２３の再現結果と未だ一致したと判定されておらず、識別子が最も若い比較元情報（「０００２ｏｒｉｇｉｎａｌ」）とを比較する。この場合、再現結果（「０００３ｒｅｐｒｏｄｕｃｅ」）の本体及び比較元情報（「０００２ｏｒｉｇｉｎａｌ」）の本体ともには「"GET /menu HTTP/1.1" 200 4096 …」であるので、これらは一致する。このため、再現結果比較実行部１２２は、比較結果テーブル１２５に図６に示す３行目のレコードを追加し、追加したレコードの再現結果ＩＤ６０１に「０００３ｒｅｐｒｏｄｕｃｅ」を登録し、比較元情報ＩＤ６０２に「０００２ｏｒｉｇｉｎａｌ」を登録し、比較結果６０３に「一致」を登録する。この場合、比較結果テーブル１２５の２行目のレコードの比較結果６０３に登録された「１回目」を削除して、一致する比較元情報が存在しないが問題ないことを示す「再現側のみ」を登録する。ユーザ８００の記憶媒体に記憶された比較元情報において、容量削減等のために通信データ「０００２」に対応する比較元情報が削除されて保存されたこと、及び、セキュリティの観点又は容量削減のために通信データ「０００１」と「０００２」との間に送信された通信データが削除されて保存されたことによって、再現結果に一致する比較元情報が存在しない場合があり、不一致となってから所定数以内に再現結果と比較元情報とが一致すればこれらの情報が削除されていても、以降の処理に影響はないためである。
【００９８】
また、再現結果比較実行部１２２は、通信データテーブル１１３のステップ８０５の処理で送信された通信データ（「０００３」）に対応するレコードの再現結果ＩＤ３０４に、ステップ８０９の処理で取得した再現結果の識別子（「０００３ｒｅｐｒｏｄｕｃｅ」）を登録する。
【００９９】
このステップ８１０の処理では、再現結果と比較元情報とが一致し、かつ、比較元情報テーブル１２３に登録された最後の比較元情報に達していないので、ステップ８０５の処理に戻る。
【０１００】
このように比較元情報テーブル１２３に登録された最後の比較元情報に達するまで、ステップ８０５〜８１０の処理は繰り返し実行される。
【０１０１】
ステップ８１０の処理で、通信データ（「００１１」）に対応する再現結果（「００１１ｒｅｐｏｒｄｕｃｅ」）と比較元情報（「０００８ｏｒｉｇｉｎａｌ」）とが一致しないと判定され、図６に示す比較結果テーブル１２５の６行目のレコードを追加し、追加したレコードの再現結果ＩＤ６０１に「００１１ｒｅｐｒｏｄｕｃｅ」を登録し、比較元情報ＩＤ６０２に「−」を登録し、比較結果６０３に連続不一致回数を示す「１」を登録する。また、再現結果比較実行部１２２は、通信データテーブル１１３のステップ８０５の処理で送信された通信データ（「００１１」）に対応するレコードの再現結果ＩＤ３０４に、ステップ８０９の処理で取得した再現結果の識別子（「００１１ｒｅｐｒｏｄｕｃｅ」）を登録する。
【０１０２】
この場合、再現結果と比較元情報とが一致せず、かつ、比較元情報テーブル１２３に登録された最後の比較元情報に達していないので、ステップ８０５の処理に戻り、通信データ送受信部１１２は、通信データ（「００１２」）を仮想情報システム１７０に送信する。ステップ８１０の処理で、再現結果（「００１２ｒｅｐｏｒｄｕｃｅ」）と比較元情報（「０００８ｏｒｉｇｉｎａｌ」）とが一致しないと判定され、図６に示す比較結果テーブル１２５の７行目のレコードを追加し、追加したレコードの再現結果ＩＤ６０１に「００１２ｒｅｐｒｏｄｕｃｅ」を登録し、比較元情報ＩＤ６０２に「−」を登録し、比較結果６０３に連続不一致回数を示す「２」を登録する。また、再現結果比較実行部１２２は、通信データテーブル１１３のステップ８０５の処理で送信された通信データ（「００１２」）に対応するレコードの再現結果ＩＤ３０４に、ステップ８０９の処理で取得した再現結果の識別子（「００１２ｒｅｐｒｏｄｕｃｅ」）を登録する。
【０１０３】
そして、再現結果（「００１１ｒｅｐｒｏｄｕｃｅ」）から所定数（Ｎ）先の再現結果が比較元情報（「０００８ｏｒｉｇｉｎａｌ」）と連続して一致しないと判定された場合、連続不一致回数が所定数（Ｎ）以上となるので、再現結果比較実行部１２２は、再現結果（「００１１ｒｅｐｒｏｄｕｃｅ」）と一致する比較元情報が存在しないと判断し、図６に示す比較結果テーブル１２５の再現結果（「００１１ｒｅｐｒｏｄｕｃｅ」）に対応する６行目のレコードの比較結果６０３に、一致する比較元情報が存在しないことを示す「不一致開始箇所」を登録する。また、再現結果比較実行部１２２は、図６に示す比較結果テーブル１２５の７行目の再現結果（「００１２ｒｅｐｒｏｄｕｃｅ」）のレコードの比較結果６０３に登録された「２回目」を削除し、８行目の再現結果（「００１３ｒｅｐｒｏｄｕｃｅ」）のレコードの比較結果６０３に登録された「３回目」を削除する。また、再現結果比較実行部１２２は、不一致と判定された再現結果と通信データとの対応付けを通信データテーブル１１３から削除する。例えば、再現結果として不適切であるので、図３に示す通信データテーブル１１３の６行目の通信データ（「００１１」）のレコードの再現結果ＩＤ３０４に登録された再現結果の識別子（「００１１ｒｅｐｒｏｄｕｃｅ」）を削除する。
【０１０４】
この場合、再現結果と比較元情報が一致せず、かつ連続不一致数が所定数以上となるので、ステップ８１１の処理に進む。ステップ８１１の処理では、結果提示部１３１は、図９Ａに示す比較結果表示画面９００を表示する。
【０１０５】
ここで、図９Ａに示す比較結果表示画面９００について説明する。図９Ａは、本実施例の連続不一致数が所定数以上となった場合に表示される比較結果表示画面９００の説明図である。
【０１０６】
比較結果表示画面９００では、図６に示す比較結果テーブル１２５に登録された比較結果が表示され、比較結果表示画面９００は、比較結果表示領域９０１〜９０５を含む。
【０１０７】
比較結果表示領域９０１は、図６に示す比較結果テーブル１２５の１行目のレコードに対応する比較結果を表示するものであり、再現結果（「０００１ｒｅｐｒｏｄｕｃｅ」）と比較元情報（「０００１ｏｒｉｇｉｎａｌ」）とが一致することを示す。
【０１０８】
比較結果表示領域９０２は、図６に示す比較結果テーブル１２５の２行目のレコードに対応する比較結果を表示するものであり、再現結果（「０００２ｒｅｐｒｏｄｕｃｅ」）と一致する比較元情報が存在しないことを示す。なお、比較結果表示領域９０２は、比較結果表示領域９０１から矢印で接続される。当該矢印は、比較結果表示領域９０１が示す比較結果の次に、比較結果表示領域９０２が示す比較結果が出力されたことを示す。
【０１０９】
比較結果表示領域９０３は、図６に示す比較結果テーブル１２５の３行目のレコードに対応する比較結果を表示し、比較結果表示領域９０４は、図６に示す比較結果テーブル１２５の５行目のレコードに対応する比較結果を表示する。
【０１１０】
比較結果表示領域９０５は、図６に示す比較結果テーブル１２５の５行目のレコードに対応する比較結果を表示するものであり、比較結果表示領域９０５には、再現結果（「００１１ｒｅｐｒｏｄｕｃｅ」）以降、比較元情報と一致しないことを示す「ｅｒｒｏｒ」が表示される。比較結果表示領域９０５から矢印は表示されず、ここで障害再現処理が終了したことが示される。
【０１１１】
また、ステップ８１１の処理では、テンプレート提示部１３２は、テンプレートテーブル１３４を参照して、通信データの変更候補を表示する。具体的には、再現結果（「００１１ｒｅｐｒｏｄｕｃｅ」）に対応する通信データ（「００１１」）を変更する必要がある。テンプレート提示部１３２は、通信データテーブル１１３を参照して、通信データ（「００１１」）の種類（「Ｍ０００３」）を特定する。そして、テンプレート提示部１３２は、テンプレートテーブル１３４を参照し、通信データ（「００１１」）の種類（「Ｍ０００３」）に対応する変更可能な位置（「ｕｉｄ」）及び変更候補（「ｕｓｅｒ［００−９９］」）をテンプレートとして取得し、取得したテンプレートを表示する。
【０１１２】
なお、変更が必要な通信データの種類に対応するテンプレートがテンプレートテーブル１３４に登録されていない場合、テンプレート提示部１３２は、その旨を表示する。テンプレートテーブル１３４は、予め登録されていてもよいし、ユーザ８００が通信データを修正する場合に新たなテンプレートをテンプレートテーブル１３４に追加してもよい。
【０１１３】
次に、ユーザ８００は、ステップ８１１の処理で表示された比較結果表示画面９００を確認し、表示されたテンプレートを参照して、通信データの変更内容を選択する（８１２）。ステップ８１２の処理では、ユーザ８００は、通信データ（「００１１」）のｕｉｄを「ｕｓｅｒ０１」に変更したものとする。
【０１１４】
障害再現装置１００がステップ８１２の処理における通信データの変更内容のユーザ８００による選択の入力を受け付けた場合、通信データ変更部１３３は、ユーザ８００によって選択された変更内容に基づいて、通信データを変更し、当該通信データの変更を通信データテーブル１１３に反映する（８１３）。具体的には、通信データ変更部１３３は、図３に示す通信データテーブル１１３の通信データ（「００１１」）に対応するレコードの変更履歴３０５に、通信データの変更の一意な識別子（「ｃｈａｎｇｅ−０１」）、及びｕｉｄの項目が「ｎｕｌｌ」から「ｕｓｅｒ０１」に変更されたことを示す情報を登録する。
【０１１５】
ステップ８１３の処理で通信データが変更された後、ステップ８０５の処理に戻り、通信データ送受信部１１２は、通信データテーブル１１３に再現結果ＩＤ３０４に情報が登録されておらず、かつ通信データＩＤ３０１に登録された識別子が最も若い通信データ（「００１１」）を送信対象として選択する。この場合、変更後の通信データ（「００１１」）が仮想情報システム１７０に送信される。変更後の通信データ（「００１１」）に対応する再現結果（「００１１ｒｅｐｒｏｄｕｃｅ」）と比較元情報（「０００８ｏｒｉｇｉｎａｌ」）とが一致すると判定され、次の通信データ（「００１２」）が送信される。通信データ（「００１１」）の「ｕｉｄ」がセキュリティの観点から削除されていたので、以降の通信データに対応する再現結果が比較元情報と一致しなかったが、通信データ（「００１１」）が適切に変更されることで、当該通信データに対応する再現結果（「００１１ｒｅｐｒｏｄｕｃｅ」）と比較元情報（「０００８ｏｒｉｇｉｎａｌ」）が一致し、以降の通信データに対応する再現結果も比較元情報と一致するようになる。
【０１１６】
この後、再現結果と比較元情報とが一致し、かつ、比較元情報テーブル１２３に登録された最後の比較元情報に達した場合、障害再現装置１００は、障害再現処理を終了し（８１４）、図９Ｂに示す比較結果表示画面９００を表示する。
【０１１７】
図９Ｂは、本実施例の障害再現処理終了時に表示される比較結果表示画面９００の説明図である。
【０１１８】
図９Ｂに示す比較結果表示画面９００では、図９Ａに比較結果表示画面９００で表示された比較結果表示領域９０１〜９０５に加えて比較結果表示領域９０６及び９０７が表示される。
【０１１９】
比較結果表示領域９０６は、識別子（「ｃｈａｎｇｅ−０１」）によって識別される変更があった後の通信データ（「００１１」）に対応する再現結果（「００１１ｒｅｐｒｏｄｕｃｅ」）と比較元情報（「０００８ｏｒｉｇｉｎａｌ」）との比較結果を表示するものである。比較結果表示領域９０６は、再現結果（「００１１ｒｅｐｒｏｄｕｃｅ」）と比較元情報（「０００８ｏｒｉｇｉｎａｌ」）とが一致し、再現結果（「００１１ｒｅｐｒｏｄｕｃｅ」）の契機となる通信データ（「００１１」）に識別子（「ｃｈａｎｇｅ−０１」）によって識別される変更が実施されたことを示す。
【０１２０】
比較結果表示領域９０７は、再現結果（「０１００ｒｅｐｒｏｄｕｃｅ」）と比較元情報（「００８０ｏｒｉｇｉｎａｌ」）とが一致を示す。また、比較結果表示領域９０７は、比較元情報（「００８０ｏｒｉｇｉｎａｌ」）が比較元情報テーブル１２３に登録された最後の比較元情報であり、障害再現処理が終了した旨を示す「ｒｅｐｒｏｄｕｃｅ  ｄｏｎｅ」が表示される。
【０１２１】
図１０は、本実施例の再現結果比較実行部１２２による再現結果と比較元情報との比較処理の詳細なフローチャートである。
【０１２２】
まず、再現結果比較実行部１２２は、ステップ８０９の処理で取得した再現結果と、比較元情報テーブル１２３に登録された比較元情報とを比較する（１００１）。再現結果比較実行部１２２は、再現結果と比較元情報とが完全に一致するか否かを判定してもよいし、例えば日時等の障害再現に関係ない箇所を除外した箇所同士が一致するか否かを判定してもよい。
【０１２３】
次に、再現結果比較実行部１２２は、ステップ１００１の処理での比較結果を参照し、再現結果と比較元情報とが一致するものであるか否かを判定する（１００２）。
【０１２４】
ステップ１００２の処理で、再現結果と比較元情報とが一致しないと判定された場合（１００２：ＮＯ）、再現結果比較実行部１２２は、連続不一致数に１を加算し、１を加算した連続不一致数が所定数以上となったか否かを判定する（１００３）。連続不一致数とは、比較元情報と一致していないと最初に判定された再現結果から連続して当該比較元情報と一致していないと判定された再現結果の数を示す。
【０１２５】
ステップ１００３の処理で、連続不一致数が所定数未満であると判定された場合（１００３：ＮＯ）、通信データ送受信部１１２は、通信データテーブル１１３に登録された通信データのうち、再現結果ＩＤ３０４に再現結果の識別子が登録されておらず、かつ通信データの識別子が最も若い通信データを仮想情報システム１７０に送信し（１００４）、仮想情報システム１７０からステップ１００４の処理で送信した送信データに対応する再現結果を含む通信データを受信し、受信した通信データから再現結果を取得し（１００５）、ステップ１００１の処理に戻る。なお、ステップ１００４及び１００５の処理は、図８に示すステップ８１０の処理から遷移したステップ８０５以降の処理に相当する。
【０１２６】
一方、ステップ１００３の処理で、連続不一致数が所定数以上であると判定された場合（１００３：ＹＥＳ）、通信データテーブル１１３に登録された通信データでは障害を再現できないので、障害再現装置１００はユーザ８００に通信データの変更を要求し、通信データの変更を受け付け、通信データを変更し（１００６）、ステップ１００５の処理で、変更後の通信データを仮想情報システム１７０に送信する。また、ステップ１００６の処理では、結果提示部１３１は、どの再現結果まで比較元情報と一致したかを示す比較結果表示画面９００を表示する。ステップ１００６の処理は、図８に示すステップ８１０の処理から遷移したステップ８１２及び８１３の処理に相当する。
【０１２７】
一方、ステップ１００２の処理で、再現結果と比較元情報とが一致すると判定された場合（１００２：ＹＥＳ）、ステップ１００１の処理で比較に用いた比較元情報が比較元情報テーブル１２３の最後に登録された比較元情報であるか否かを判定する（１００６）。
【０１２８】
ステップ１００６の処理で、比較に用いた比較元情報が比較元情報テーブル１２３の最後に登録された比較元情報であると判定された場合（１００６：ＹＥＳ）、障害再現装置１００は障害再現が完了したと判断し（１００８）、結果提示部１３１は、図９Ｂに示す比較結果表示画面９００を表示し、処理を終了する。なお、ステップ１００８の処理は、図８に示すステップ８１０の処理から遷移したステップ８１４の処理に相当する。
【０１２９】
一方、ステップ１００６の処理で、比較に用いた比較元情報が比較元情報テーブル１２３の最後に登録された比較元情報でないと判定された場合（１００６：ＮＯ）、ステップ１００４の処理に進み、通信データ送受信部１１２は、通信データテーブル１１３に登録された通信データのうち、再現結果ＩＤ３０４に再現結果の識別子が登録されておらず、かつ通信データの識別子が最も若い通信データを仮想情報システム１７０に送信する。
【０１３０】
なお、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【０１３１】
例えば、障害再現部１１０と、再現結果比較部１２０と、再現結果表示部１３０とは、それぞれ別の計算機に実装されてもよい。
【０１３２】
本実施例によれば、障害再現装置１００は、情報システム１５０に送信された通信データを仮想情報システム１７０に送信し、仮想情報システム１７０から再現結果を取得し、取得した再現結果と比較元情報とを比較し、比較元情報と一致しない再現結果が出力される契機となった通信データの少なくとも一部を変更し、変更後の通信データを仮想情報システム１７０に送信する。これによって、通信データ又は比較元情報が十分に揃っていない場合であっても、障害の原因を調査でき、再現結果と比較元情報とを比較するので、再現結果と比較元情報との比較を自動的に実施でき、仮想情報システム１７０で情報システム１５０の挙動を再現できているか否かの確認を容易に行うことができる。
【０１３３】
また、本実施例によれば、障害再現装置１００は、再現結果と比較元情報とが一致しない場合、比較元情報と一致しない再現結果に対応する通信データの種類に応じた変更候補を表示し、表示された変更候補から変更先となる変更候補が選択されることによって、通信データの一部を変更する。これによって、通信データの種類に応じて適切な変更候補を選択させることができ、通信データが誤って変更されることを防止できる。
【０１３４】
また、本実施例によれば、障害再現装置１００は、再現結果と比較元情報との比較結果をユーザに提示するので、ユーザは、比較結果を確認することができる。
【０１３５】
また、本実施例によれば、障害再現装置１００は、次の通信データに対応する再現結果と前記比較元情報とが一致せず、連続不一致回数が所定数に達した場合、比較元情報と最初に一致しなくなった再現結果が出力される契機となった通信データの少なくとも一部を変更する。これによって、変更する通信データを特定でき、変更しなくてもよい通信データが変更されることを防止できる。
【０１３６】
また、本実施例によれば、障害再現装置１００は、連続不一致回数が所定数に達する前に次の通信データに対応する再現結果と比較元情報とが一致した場合、比較元情報と一致しないと判定された再現結果を比較元情報と一致したものとみなす。これによって、通信データに欠落があり、通信データに対応する再現結果と比較元情報とが一致しない場合であっても、以降の再現結果と比較元情報とが一致すれば、そのまま障害再現処理を継続させることができる。
【０１３７】
また、本実施例によれば、障害再現装置１００は、通信データの情報システムにログインするための情報を変更する。これによって、セキュリティの観点からユーザに関する情報が通信データから削除されている場合であっても、当該通信データを適切に変更することができる。
【０１３８】
また、上記実施例で説明したコンピュータプログラムを、例えば集積回路（ＬＳＩ）で設計すること等によりハードウェアにより実現してもよい。
【０１３９】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、及び置換をすることが可能である。
【０１４０】
また、各実施例の構成の一部について、他の構成の追加、削除、及び置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。
【０１４１】
また、前記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
【０１４２】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣ（Integrated Circuit）カード、ＳＤカード、ＤＶＤ（Digital Versatile Disc）等の記録媒体に置くことができる。
【０１４３】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１４４】
１００    障害再現装置
１１０    障害再現部
１１１    通信データ取得部
１１２    通信データ送受信部
１１３    通信データテーブル
１２０    再現結果比較部
１２１    比較対象取得部
１２２    再現結果比較実行部
１２３    比較元情報テーブル
１２４    再現結果テーブル
１２５    比較結果テーブル
１３０    再現結果表示部
１３１    結果提示部
１３２    テンプレート提示部
１３３    通信データ変更部
１３４    テンプレートテーブル
１５０    情報システム
１６０    端末
１７０    仮想システム
１７１    通信データ受信部
１７２    通信データ送信部
【図１】
2017049675.tif 000003
【図２】
2017049675.tif 000004
【図３】
2017049675.tif 000005
【図４】
2017049675.tif 000006
【図５】
2017049675.tif 000007
【図６】
2017049675.tif 000008
【図７】
2017049675.tif 000009
【図８】
2017049675.tif 000010
【図９Ａ】
2017049675.tif 000011
【図９Ｂ】
2017049675.tif 000012
【図１０】
2017049675.tif 000013