(57)【特許請求の範囲】
【請求項１】
コンピュータに、
管理対象のシステムで動作するソフトウエアの動作履歴に含まれる、前記システムで動作する前記ソフトウエアの版数情報に基づき、前記ソフトウエアに適用された修正に関する情報である仮修正適用情報を作成し、
前記仮修正適用情報に基づき、前記ソフトウエアを前記修正の適用前の状態に復元した後、復元した前記ソフトウエアに対して前記修正を再適用し、
前記修正に対する前記ソフトウエアの復元及び前記修正の再適用の実行過程または実行結果に基づき、前記仮修正適用情報の妥当性を判定する、
処理を実行させることを特徴とする修正適用情報作成プログラム。
【請求項２】
請求項１において、
前記妥当性を判定する処理では、前記ソフトウエアの復元または前記修正の再適用が正常に実行されなかった場合に、前記仮修正適用情報が妥当性を有しないと判定し、前記ソフトウエアの復元及び前記修正の再適用が正常に実行された場合に、前記仮修正適用情報が妥当性を有すると判定する、
ことを特徴とする修正適用情報作成プログラム。
【請求項３】
請求項２において、
前記妥当性を判定する処理では、前記ソフトウエアの復元及び前記修正の再適用が正常に実行された場合において、さらに、前記ソフトウエアの復元前及び前記修正の再適用後における前記システムの状態が相違する場合に、前記仮修正適用情報が妥当性を有しないと判定し、前記ソフトウエアの復元前及び前記修正の再適用後における前記システムの状態が相違しない場合に、前記仮修正適用情報が妥当性を有すると判定する、
ことを特徴とする修正適用情報作成プログラム。
【請求項４】
請求項２において、
前記妥当性を判定する処理では、前記修正のうち、前記ソフトウエアの復元を行う際に前記ソフトウエアの復元を行うための実行ファイルが存在しない修正が存在する場合に、前記ソフトウエアの復元及び前記修正の再適用が正常にされなかったものと判定する、
ことを特徴する修正適用情報作成プログラム。
【請求項５】
請求項２において、
前記妥当性を判定する処理では、前記ソフトウエアの復元を行うための実行ファイルのうち、前記ソフトウエアの復元を行う際に実行されなかった実行ファイルが存在する場合に、前記ソフトウエアの復元及び前記修正の再適用が正常にされなかったものと判定する、
ことを特徴とする修正適用情報作成プログラム。
【請求項６】
管理対象のシステムで動作するソフトウエアの動作履歴に含まれる、前記システムで動作する前記ソフトウエアの版数情報に基づき、前記ソフトウエアに適用された修正に関する情報である仮修正適用情報を作成する情報作成部と、
前記仮修正適用情報に基づき、前記ソフトウエアを前記修正の適用前の状態に復元した後、復元した前記ソフトウエアに対して前記修正を再適用する修正実行部と、
前記修正に対する前記ソフトウエアの復元及び前記修正の再適用の実行過程または実行結果に基づき、前記仮修正適用情報の妥当性を判定する妥当性判定部と、を有する、
ことを特徴とする修正適用情報作成装置。
【請求項７】
コンピュータが、
管理対象のシステムで動作するソフトウエアの動作履歴に含まれる、前記システムで動作する前記ソフトウエアの版数情報に基づき、前記ソフトウエアに適用された修正に関する情報である仮修正適用情報を作成し、
前記仮修正適用情報に基づき、前記ソフトウエアを前記修正の適用前の状態に復元した後、復元した前記ソフトウエアに対して前記修正を再適用し、
前記修正に対する前記ソフトウエアの復元及び前記修正の再適用の実行過程または実行結果に基づき、前記仮修正適用情報の妥当性を判定する、
ことを特徴とする修正適用情報作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、修正適用情報作成プログラム、修正適用情報作成装置及び修正適用情報作成方法に関する。
【背景技術】
【０００２】
例えば、業務システムの運用管理を行う作業者（以下、単に作業者とも呼ぶ）は、業務システムの一部として動作するソフトウエアの修正及び復元の履歴についての情報（以下、修正適用情報とも呼ぶ）を作成する。そして、作業者は、必要に応じて修正適用情報を参照することにより、各ソフトウエアの現在の状態について確認を行う。
【０００３】
具体的に、作業者がソフトウエアに適用されている修正の復元を行う場合に、業務システムの状態等によっては、復元に伴う処理が正常に完了しない場合がある。すなわち、この場合、業務システムは、復元が完了している状態のソフトウエアと、復元が完了していない状態のソフトウエア（復元が行われていない状態のソフトウエア）とが混在した状態になる。
【０００４】
このような場合、作業者は、例えば、修正適用情報の内容と、各ソフトウエアに対して現実に適用されている修正の版数に関する情報（以下、版数情報とも呼ぶ）とを比較することにより、各ソフトウエアの現在の状態を把握することが可能になる。また、作業者は、例えば、修正適用情報の内容と、各ソフトウエアに対して適用されている修正の版数情報とを比較することにより、ソフトウエアの復元を阻害していた要因を特定することが可能になる（例えば、特許文献１乃至３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０７−１８２１７８号公報
【特許文献２】国際公開第２０１２／１２７５８７号
【特許文献３】特開２００３−２９６１３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のような業務システムにおいて、例えば、オペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：ＯＳ）等の障害に起因して、業務システムで動作しているソフトウエアに対応する修正適用情報が削除されてしまう可能性がある。具体的に、動作中のソフトウエアの存在を認識することができない場合、ＯＳは、そのソフトウエアがアンインストールされたものと判定して修正適用情報を削除する。
【０００７】
このような場合、作業者は、例えば、各ソフトウエアの動作に関する情報を蓄積した動作履歴に基づき、修正適用情報の復元（再作成）を行う。しかしながら、上記のような動作履歴は、修正適用情報を作成する際に用いられることを想定して作成されておらず、情報の信頼性（妥当性）が乏しい場合がある。そのため、作業者は、動作履歴から作成した修正適用情報を、業務システムにおいて使用する旨の判断ができない場合がある。
【０００８】
一方、作業者は、例えば、業務システムで動作するソフトウエアの再インストールを行い、再インストールされたソフトウエアに対し、インストール前において適用されていた修正の適用を行う場合がある。これにより、作業者は、再インストールされたソフトウエアに対する修正の適用に伴って、妥当性の高い修正適用情報を再作成することが可能になる。しかしながら、ソフトウエアの再インストールは、膨大な作業時間と手間を要する場合がある。そのため、作業者は、上記のような再インストールに伴う作業を、可能な限り行わないことが好ましい。
【０００９】
そこで、一つの側面では、妥当な修正適用情報を作成する修正適用情報作成プログラム、修正適用情報作成装置及び修正適用情報作成方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
実施の形態の一つの態様によれば、管理対象のシステムで動作するソフトウエアの動作履歴の含まれる、前記システムで動作する前記ソフトウエアの版数情報に基づき、前記ソフトウエアに適用された修正に関する情報である仮修正適用情報を作成し、
前記仮修正適用情報に基づき、前記ソフトウエアを前記修正の適用前の状態に復元した後、復元した前記ソフトウエアに対して前記修正を再適用し、
前記修正に対する前記ソフトウエアの復元及び前記修正の再適用の実行過程または実行結果に基づき、前記仮修正適用情報の妥当性を判定する。
【発明の効果】
【００１１】
一つの側面によれば、妥当な修正適用情報を作成する。
【図面の簡単な説明】
【００１２】
【図１】情報処理システム１０の全体構成を説明する図である。
【図２】修正適用情報が削除された場合の具体例について説明する図である。
【図３】情報処理装置１のハードウエア構成を説明する図である。
【図４】図３で説明した情報処理装置１の機能ブロック図である。
【図５】第１の実施の形態における情報作成処理の概略を説明するフローチャート図である。
【図６】第１の実施の形態における情報作成処理の概略を説明する図である。
【図７】第１の実施の形態における情報作成処理の詳細を説明するフローチャート図である。
【図８】第１の実施の形態における情報作成処理の詳細を説明するフローチャート図である。
【図９】第１の実施の形態における情報作成処理の詳細を説明するフローチャート図である。
【図１０】動作履歴情報１３３の具体例を説明する図である。
【図１１】仮修正適用情報１３２の具体例を説明する図である。
【図１２】Ｓ３及びＳ４の処理の第１実施例を説明する図である。
【図１３】Ｓ３及びＳ４の処理の第１実施例を説明する図である。
【図１４】Ｓ３及びＳ４の処理の第１実施例を説明する図である。
【図１５】図１０に示す動作履歴情報１３３に含まれる情報から「ＩＤ」が「６」である情報が欠損した場合における動作履歴情報１３３の具体例を説明する図である。
【図１６】図１５に示す動作履歴情報１３３に対応する仮修正適用情報１３２の具体例を説明する図である。
【図１７】Ｓ３及びＳ４の処理の第２実施例を説明する図である。
【図１８】Ｓ３及びＳ４の処理の第２実施例を説明する図である。
【図１９】図１０に示す動作履歴情報１３３に含まれる情報から「ＩＤ」が「４」である情報が欠損した場合における動作履歴情報１３３の具体例を説明する図である。
【図２０】図１９に示す動作履歴情報１３３に対応する仮修正適用情報１３２の具体例を説明する図である。
【図２１】Ｓ３及びＳ４の処理の第３実施例を説明する図である。
【図２２】Ｓ３及びＳ４の処理の第３実施例を説明する図である。
【図２３】図１０に示す動作履歴情報１３３に含まれる情報から「ＩＤ」が「７」である情報が欠損した場合における動作履歴情報１３３の具体例を説明する図である。
【図２４】図２３に示す動作履歴情報１３３に対応する仮修正適用情報１３２の具体例を説明する図である。
【図２５】Ｓ３及びＳ４の処理の第４実施例を説明する図である。
【図２６】Ｓ３及びＳ４の処理の第４実施例を説明する図である。
【図２７】Ｓ３及びＳ４の処理の第４実施例を説明する図である。
【図２８】Ｓ５の処理の第１実施例を説明する図である。
【図２９】Ｓ５の処理の第１実施例を説明する図である。
【発明を実施するための形態】
【００１３】
以下、図面にしたがって本発明の実施の形態を説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００１４】
［情報処理システムの構成］
図１は、情報処理システム１０の全体構成を説明する図である。図１に示す情報処理システム１０は、１台以上の物理マシンからなる情報処理装置１（以下、コンピュータ１または修正適用情報作成装置１とも呼ぶ）を有する。なお、情報処理装置１は、例えば、物理マシンに作成された仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：ＶＭ）からなるものであってもよい。
【００１５】
情報処理装置１には、利用者に対してサービスを提供する業務システム（以下、単に業務システムとも呼ぶ）が構築される。情報処理装置１は、必要に応じて、業務システムの一部として動作するソフトウエア（例えば、アプリケーションやミドルウエア）に対する修正の適用、または適用した修正の復元を行う。
【００１６】
また、情報処理装置１は、修正適用情報を記憶する記憶部１ａを有する。修正適用情報は、ソフトウエアに対して行われた修正の適用及び修正の復元の履歴についての情報である。これにより、情報処理装置１は、ソフトウエア等の修正の適用及び修正の復元の履歴を管理することが可能になる。
【００１７】
さらに、情報処理装置１は、修正適用情報の作成を行う処理（以下、単に情報作成処理とも呼ぶ）を行う。具体的に、情報処理装置１は、例えば、記憶部１ａに記憶された修正適用情報が削除された場合に、修正適用情報の作成（再作成）を行う。
【００１８】
［修正適用情報が削除された場合の具体例］
次に、修正適用情報が削除された場合の具体例について説明する。図２は、修正適用情報が削除された場合の具体例について説明する図である。
【００１９】
図１で説明した修正適用情報は、例えば、図２に示すように、ＯＳ等の障害の発生に起因して削除されてしまう場合がある。具体的に、例えば、情報処理装置１のＯＳが、業務システムで動作中のソフトウエアを認識することができず、そのソフトウエアに対応する修正適用情報を削除する場合がこれに該当する。この場合、作業者は、例えば、各ソフトウエアの動作に関する情報を蓄積した動作履歴（例えば、記憶部１ａに記憶された情報）から、削除された修正適用情報の復元を行う。
【００２０】
しかしながら、上記のような動作履歴は、修正適用情報を作成する際に用いられることを想定して作成されておらず、情報の妥当性が乏しい状態である場合がある。そのため、作業者は、情報の妥当性確保の観点から、動作履歴から作成した修正適用情報を、削除された修正適用情報に代えて使用する旨の判断を行うことができない場合がある。
【００２１】
一方、作業者は、例えば、図２に示すように、業務システムで動作するソフトウエア（削除された修正適用情報に対応するソフトウエア）の再インストールを行う場合がある。そして、作業者は、再インストールされたソフトウエアに対し、再インストールの実行前においてソフトウエアに適用されていた修正の再適用を行う。その後、作業者は、例えば、再適用された修正に関する情報（適用された修正を特定する情報等）に基づいて、修正適用情報の再作成を行う。これにより、作業者は、妥当性の高い修正適用情報の再作成を行うことが可能になる。
【００２２】
しかしながら、ソフトウエアの再インストールを行う場合、作業者は、業務システムの再構築等、膨大な時間と手間を要する場合がある。また、ソフトウエアの再インストールを行うことにより、利用者に対して提供するサービスに影響を及ぼす場合がある。そのため、作業者は、可能な限りソフトウエアの再インストールの実施を避ける必要がある。
【００２３】
そこで、本実施の形態では、情報処理装置１は、業務システムで動作するソフトウエアの動作履歴より作成したソフトウエアの修正適用情報に基づき、ソフトウエアを修正の適用前の状態に復元した後、そのソフトウエアに対して修正の再適用を行う。そして、情報処理装置１は、ソフトウエアに対する修正の復元及び修正の再適用の実行過程や実行結果の内容に基づき、動作履歴より作成した修正適用情報の妥当性を判定する。
【００２４】
すなわち、ソフトウエアに実際に適用されている修正と、動作履歴により作成した修正適用情報に情報が含まれる修正とが異なる場合、ソフトウエアに対する修正の復元及び修正の再適用は、正常に完了しない可能性が高い。そのため、情報処理装置１は、例えば、ソフトウエアに対する修正の復元及び修正の再適用が正常に完了しているか否かを判定することにより、ソフトウエアに対して現実に適用済である修正と、修正適用情報に含まれる修正との差異を検知することが可能になる。そして、情報処理装置１は、この場合、動作履歴より作成した修正適用情報の更新（修正）を行うことが可能になる。
【００２５】
これにより、情報処理装置１は、修正適用情報が削除された場合において、ソフトウエアの再インストールを要することなく、妥当性が高い修正適用情報を取得することが可能になる。
【００２６】
［情報処理装置のハードウエア構成］
次に、情報処理システム１０の構成について説明する。図３は、情報処理装置１のハードウエア構成を説明する図である。
【００２７】
情報処理装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００２８】
記憶媒体１０４は、記憶媒体１０４内のプログラム格納領域（図示しない）に、上記の情報作成処理等を行うためのプログラム１１０（以下、修正適用情報作成プログラム１１０とも呼ぶ）を記憶する。また、記憶媒体１０４は、業務システムが利用者にサービスを提供するための処理（以下、サービス提供処理とも呼ぶ）を行うためのプログラム１２０（以下、サービス提供プログラム１２０とも呼ぶ）を記憶する。サービス提供プログラム１２０は、例えば、図１及び図２で説明したソフトウエアに対応するものであってよい。また、図１で説明した記憶部１ａは、例えば、情報格納領域１３０に対応する。
【００２９】
ＣＰＵ１０１は、図３に示すように、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働して情報作成処理を行う。また、ＣＰＵ１０１は、図３に示すように、プログラム１２０の実行時に、プログラム１２０を記憶媒体１０４からメモリ１０２にロードし、プログラム１２０と協働してサービス提供処理を行う。
【００３０】
記憶媒体１０４は、例えば、情報作成処理等を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。また、外部インターフェース１０３は、ネットワークＮＷを介して、情報処理装置と異なる物理マシンである物理マシン２と通信を行う。
【００３１】
[情報処理装置のソフトウエア構成]
次に、情報処理装置１のソフトウエア構成について説明する。図４は、図３の情報処理装置１の機能ブロック図である。ＣＰＵ１０１は、プログラム１１０と協働することにより、処理実行部１１１と、情報作成部１１２と、復元実行部１１３と、修正実行部１１４と、妥当性判定部１１５と、情報管理部１１６として動作する。また、情報格納領域１３０（以下、記憶部１３０とも呼ぶ）には、修正適用情報１３１と、仮修正適用情報１３２と、動作履歴情報１３３（以下、単に動作履歴とも呼ぶ）と、復元用情報１３４とが記憶されている。
【００３２】
処理実行部１１１は、ＣＰＵ１０１がサービス提供プログラム１２０と協働して実行した処理に関する情報を、動作履歴情報１３３として情報格納領域１３０に記憶する。
【００３３】
また、処理実行部１１１は、例えば、作業者からの要求に応じて、サービス提供プログラム１２０の修正の適用や修正の復元を実行する。具体的に、処理実行部１１１は、例えば、情報格納領域１３０に格納されたファイル（図示しない）の更新や、モジュール（図示しない）の置換等を行うことにより、サービス提供プログラム１２０の修正の適用や修正の復元を実行するものであってよい。
【００３４】
情報作成部１１２は、情報格納領域１３０に記憶された修正適用情報１３１が削除された場合に、動作履歴情報１３３に基づき、サービス提供プログラム１２０に対して適用されている修正（以下、第１修正とも呼ぶ）に関する情報を含む仮修正適用情報１３２を作成する。具体的に、情報作成部１１２は、動作履歴情報１３３に含まれる情報のうち、サービス提供プログラム１２０に適用されている修正に関する情報である版数情報に基づき、仮修正適用情報１３２を作成する。
【００３５】
動作履歴情報１３３は、例えば、サービス提供プログラム１２０が予め定められた処理を行った際に出力される情報である。そのため、動作履歴情報１３３には、サービス提供プログラム１２０に対する修正の適用または修正の復元に関する全ての情報が反映されていない可能性がある。すなわち、動作履歴情報１３３により作成された仮修正適用情報１３２は、サービス提供プログラム１２０に対して実際に適用されている修正（以下、第２修正とも呼ぶ）と、整合性が取れていない可能性のある情報である。
【００３６】
復元実行部１１３は、情報作成部１１２が作成した仮修正適用情報１３２に基づき、サービス提供プログラム１２０を第１修正の適用前の状態に復元する。その後、修正実行部１１４は、復元実行部１１３が復元したサービス提供プログラム１２０に対して、第１修正を再適用する。
【００３７】
妥当性判定部１１５は、復元実行部１１３によって行われたサービス提供プログラム１２０に適用されている第１修正の復元の実行結果（例えば、第１修正の復元の実行過程についての情報を含む情報）を取得する。また、妥当性判定部１１５は、修正実行部１１４によって行われたサービス提供プログラム１２０に対する第１修正の再適用の実行結果（例えば、第１修正の再適用の実行過程についての情報を含む情報）を取得する。そして、妥当性判定部１１５は、取得した各実行結果に基づき、仮修正適用情報１３２の妥当性を判定する。すなわち、妥当性判定部１１５は、仮修正適用情報１３２に情報が含まれる第１修正と、サービス提供プログラム１２０に実際に適用されている第２修正との差異の有無を判定する。
【００３８】
そして、仮修正適用情報１３２が妥当でないと判定した場合、妥当性判定部１１５は、例えば、作業者に対して、情報作成部１１２が作成した仮修正適用情報１３２の更新を促す。これにより、作業者は、第１修正よりも第２修正に近い修正に関する情報を含む修正適用情報１３１を作成することが可能になる。そして、情報管理部１１６は、例えば、作業者が取得した修正適用情報１３１を情報格納領域１３０に記憶する。
【００３９】
一方、仮修正適用情報１３２が妥当であると判定した場合、情報管理部１１６は、例えば、情報作成部１１２が作成した仮修正適用情報１３２を、そのまま修正適用情報１３１として情報格納領域１３０に記憶する。すなわち、この場合、作業者は、サービス提供プログラム１２０に再インストールを行うことなく、修正適用情報１３１の作成を行うことが可能になる。
【００４０】
なお、復元用情報１３４の説明については後述する。また、以下、情報作成部１１２、復元実行部１１３、修正実行部１１４、妥当性判定部１１５及び情報管理部１１６は、情報処理装置１と異なる物理マシンや仮想マシンにおいて動作するものであってもよい。
【００４１】
［第１の実施の形態の概略］
次に、第１の実施の形態の概略について説明する。図５は、第１の実施の形態における情報作成処理の概略を説明するフローチャート図である。また、図６は、第１の実施の形態における情報作成処理の概略を説明する図である。図６を参照しながら図５の情報作成処理の概略を説明する。
【００４２】
情報処理装置１は、図５に示すように、情報作成タイミングまで待機する（Ｓ１のＮＯ）。情報作成タイミングは、例えば、ＯＳの障害等によって情報格納領域１３０に記憶された修正適用情報１３１が削除されたことを、情報処理装置１が検知したタイミングであってよい。
【００４３】
そして、情報作成タイミングになった場合（Ｓ１のＹＥＳ）、情報処理装置１は、図６に示すように、情報格納領域１３０に記憶された動作履歴情報１３３により、仮修正適用情報１３２を作成する（Ｓ２）。具体的に、情報処理装置１は、動作履歴情報１３３に含まれるサービス提供プログラム１２０の版数情報に基づいて、仮修正適用情報１３２を作成する。この仮修正適用情報１３２は、動作履歴情報１３３により作成するものであるため、サービス提供プログラム１２０に実際に適用されている第２修正に対応する情報と整合性が取れていない可能性がある情報である。
【００４４】
そして、情報処理装置１は、図６に示すように、Ｓ２で取得した仮修正適用情報１３２に基づき、サービス提供プログラム１２０を第１修正の適用前の状態に復元する（Ｓ３）。その後、情報処理装置１は、Ｓ３で復元したサービス提供プログラム１２０に対して第１修正を再適用する（Ｓ４）。さらに、情報処理装置１は、Ｓ３及びＳ４の処理の実行過程または実行結果に基づき、Ｓ２で作成した仮修正適用情報１３２の妥当性を判定する（Ｓ５）。
【００４５】
すなわち、第１修正と第２修正との間に差異が存在する場合、Ｓ３及びＳ４の処理は、正常に完了しない可能性がある。具体的に、例えば、サービス提供プログラム１２０の復元が正常に行われた場合には存在しないファイルが、情報格納領域１３０に記憶されている等の事象が発生する。
【００４６】
そのため、情報処理装置１は、例えば、第１修正の復元及び第１修正の再適用を行い、その実行過程または実行結果を検証することにより、仮修正適用情報１３２の妥当性を判定することが可能になる。そして、仮修正適用情報１３２が妥当性を有している場合、情報処理装置１は、仮修正適用情報１３２を、削除された修正適用情報１３１の代わりとして用いることが可能になる。これにより、情報処理装置１は、修正適用情報１３１が削除された場合に、サービス提供プログラム１２０の再インストール等の作業を行うことなく、修正適用情報１３１の再作成を行うことが可能になる。
【００４７】
このように、第１の実施の形態によれば、情報処理装置１は、管理対象の業務システムで動作するサービス提供プログラム１２０の動作履歴情報１３３に含まれる、業務システムで動作するサービス提供プログラム１２０の版数情報に基づき、サービス提供プログラム１２０に適用された第１修正に関する情報である仮修正適用情報１３２を作成する。そして、情報処理装置１は、作成した仮修正適用情報１３２に基づき、サービス提供プログラム１２０を第１修正の適用前の状態に復元した後、復元したサービス提供プログラム１２０に対して第１修正を再適用する。その後、サービス提供プログラム１２０の第１修正の復元及び第１修正の再適用の実行過程または実行結果に基づき、仮修正適用情報１３２の妥当性を判定する。
【００４８】
これにより、情報処理装置１は、サービス提供プログラム１２０に再インストール等の作業を行うことなく、妥当性の高い修正適用情報１３１を作成することが可能になる。
【００４９】
[第１の実施の形態の詳細]
次に、第１の実施の形態の詳細について説明する。図７から図９は、第１の実施の形態における情報作成処理の詳細を説明するフローチャート図である。具体的に、図７は、Ｓ３の処理の詳細を説明するフローチャート図であり、図８は、Ｓ４の処理の詳細を説明するフローチャート図である。また、図９は、Ｓ５の処理の詳細を説明するフローチャート図である。そして、図１０から図２９は、第１の実施の形態における情報作成処理の詳細を説明する図である。図５及び図１０から図２９を参照しながら、図７から図９の情報作成処理を説明する。
【００５０】
情報処理装置１の情報作成部１１２は、情報作成タイミングまで待機する（図５のＳ１のＮＯ）。その後、情報作成タイミングになった場合（図５のＳ１のＹＥＳ）、情報作成部１１２は、動作履歴情報１３３により、仮修正適用情報１３２を作成する（図５のＳ２）。以下、動作履歴情報１３３及び仮修正適用情報１３２の具体例について説明を行う。
【００５１】
図１０は、動作履歴情報１３３の具体例を説明する図である。図１０に示す動作履歴情報１３３は、動作履歴情報１３３に含まれる各情報を識別する「ＩＤ」と、サービス提供プログラム１２０に対して行われた操作内容を示す「操作」とを項目として有する。「操作」には、例えば、サービス提供プログラム１２０に対して修正の適用が行われたことを示す「修正の適用」と、サービス提供プログラム１２０に対して修正の復元が行われたことを示す「適用前の状態に復元」とが設定される。
【００５２】
また、図１０に示す動作履歴情報１３３は、サービス提供プログラム１２０に対して行われた操作の実行結果を示す「結果」と、サービス提供プログラム１２０に対して行われた各操作を一意に識別する「詳細情報」とを項目として有する。さらに、図１０に示す動作履歴情報１３３は、サービス提供プログラム１２０に対応する製品名を示す「製品名」を項目として有する。
【００５３】
具体的に、図１０に示す動作履歴情報１３３において、「ＩＤ」が「１」である情報には、「操作」として「修正の適用」が設定され、「結果」として「成功」が設定され、「詳細情報」として「Ｔ００１ＷＰ−０１」が設定され、「製品名」として「製品Ｂ」が設定されている。また、図１０に示す動作履歴情報１３３において、「ＩＤ」が「２」である情報には、「操作」として「適用前の状態に復元」が設定され、「結果」として「失敗」が設定され、「詳細情報」として「Ｔ００１ＷＰ−０１」が設定され、「製品名」として「製品Ｂ」が設定されている。図１０に含まれる他の情報については説明を省略する。
【００５４】
図１０に示す動作履歴情報１３３において、「詳細情報」が「Ｔ００１ＷＰ−０１」である修正の適用が成功した後、適用前の状態への復元に失敗した旨の情報が設定されている（「ＩＤ」が「１」及び「２」である情報）。すなわち、図１０に示す動作履歴情報１３３は、「詳細情報」が「Ｔ００１ＷＰ−０１」である修正がサービス提供プログラム１２０に適用されていることを示している。
【００５５】
また、図１０に示す動作履歴情報１３３は、「詳細情報」が「Ｔ００２ＷＰ−０１」、「Ｔ００３ＷＰ−０１」及び「Ｔ００２ＷＰ−０２」である修正がサービス提供プログラム１２０に適用されていることを示している（「ＩＤ」が「３」、「４」及び「７」である情報）。
【００５６】
さらに、図１０に示す動作履歴情報１３３において、「詳細情報」が「Ｔ００４ＷＰ−０１」である修正の適用が成功した後、適用前の状態への復元が成功した旨の情報が設定されている（「ＩＤ」が「５」及び「６」である情報）。すなわち、図１０に示す動作履歴情報１３３は、「詳細情報」が「Ｔ００４ＷＰ−０１」である修正がサービス提供プログラム１２０に適用されてないことを示している。
【００５７】
次に、仮修正適用情報１３２の具体例について説明する。図１１は、仮修正適用情報１３２の具体例を説明する図である。図１１に示す仮修正適用情報１３２は、図１０に示す動作履歴情報１３３の内容に基づいて作成されたものとして説明を行う（図５のＳ２）。
【００５８】
図１１に示す仮修正適用情報１３２は、図１０で説明した動作履歴情報１３３が有する項目のうち、「ＩＤ」、「詳細情報」及び「製品名」を有する。具体的に、「ＩＤ」が「１」である情報には、「詳細情報」として「Ｔ００１ＷＰ−０１」が設定され、「製品名」として「製品Ｂ」が設定されている。図１１に含まれる他の情報については説明を省略する。
【００５９】
すなわち、図１１に示す仮修正適用情報１３２は、図１０に示す動作履歴情報１３３に含まれる内容から、サービス提供プログラム１２０に現在適用されていると推測される修正（第１修正）に対応する「詳細情報」を含む情報である。
【００６０】
図７に戻り、情報処理装置１の復元実行部１１３は、Ｓ２で作成した仮修正適用情報１３２に基づき、サービス提供プログラム１２０の第１修正を適用前の状態に復元する（図５のＳ３、Ｓ１１）。その後、情報処理装置１の妥当性判定部１１５は、第１修正のうち、修正の復元を行うために必要な実行ファイル（以下、復元用情報１３４とも呼ぶ）が存在しない修正が存在するか否かを判定する（Ｓ１２）。
【００６１】
そして、復元用情報１３４が存在しない修正が存在すると判定した場合（Ｓ１２のＹＥＳ）、妥当性判定部１１５は、Ｓ１１で行われた修正の復元が正常にされなかったものと判定する（Ｓ１４）。
【００６２】
一方、復元用情報１３４が存在しない修正が存在しないと判定した場合（Ｓ１２のＮＯ）、妥当性判定部１１５は、情報格納領域１３０に記憶された復元用情報１３４のうち、Ｓ１１で用いられなかった復元用情報１３４が存在するか否かを判定する（Ｓ１３）。そして、Ｓ１１で用いられなかった復元用情報１３４が存在すると判定した場合（Ｓ１３のＹＥＳ）、妥当性判定部１１５は、Ｓ１１で行われた修正の復元が正常にされなかったものと判定する（Ｓ１４）。
【００６３】
また、Ｓ１１で用いられなかった復元用情報１３４が存在しないと判定した場合（Ｓ１３のＮＯ）、妥当性判定部１１５は、Ｓ１１で行われた修正の復元が正常にされたものと判定する（Ｓ１５）。
【００６４】
次に、情報処理装置１の修正実行部１１４は、図８に示すように、Ｓ１１で復元したサービス提供プログラム１２０に対して第１修正を再適用する（Ｓ２１）。そして、修正実行部１１４は、第１修正のうち、再適用できない修正が存在するか否かを判定する（Ｓ２２）。
【００６５】
その結果、再適用できない修正が存在した場合（Ｓ２２のＹＥＳ）、妥当性判定部１１５は、Ｓ２１で行われた修正の再適用が正常にされなかったものと判定する（Ｓ２３）。一方、再適用できる修正が存在した場合（Ｓ２２のＮＯ）、妥当性判定部１１５は、Ｓ２１で行われた修正の再適用が正常にされたものと判定する（Ｓ２４）。
【００６６】
その後、妥当性判定部１１５は、図９に示すように、Ｓ３で行われた復元とＳ４で行われた修正の再適用とが正常に実行されたか否かを判定する（Ｓ３１）。具体的に、妥当性判定部１１５は、例えば、図７及び図８で説明したＳ１２、Ｓ１３及びＳ２２の処理において判定した結果に基づき、Ｓ３及びＳ４の処理が正常に実行されたか否かを判定する。
【００６７】
その結果、Ｓ３及びＳ４の処理が正常に実行されたと判定した場合（Ｓ３１のＹＥＳ）、妥当性判定部１１５は、Ｓ３の処理が行われる前における業務システムの状態と、Ｓ４の処理が行われた後における業務システムの状態とを比較する。その後、妥当性判定部１１５は、情報処理装置１で動作する業務システムの状態が一致するか否かを判定する（Ｓ３２）。
【００６８】
そして、業務システムの状態が一致すると判定した場合（Ｓ３２のＹＥＳ）、妥当性判定部１１５は、Ｓ２で作成した仮修正適用情報１３２が妥当性を有すると判定する（Ｓ３３）。一方、Ｓ３及びＳ４の処理が正常に実行されていないと判定した場合（Ｓ３１のＮＯ）、または、業務システムの状態が一致しないと判定した場合（Ｓ３２のＮＯ）、妥当性判定部１１５は、Ｓ２で作成した仮修正適用情報１３２が妥当性を有しないと判定する（Ｓ３４）。以下、Ｓ３及びＳ４の処理の第１実施例について説明する。
【００６９】
[Ｓ３及びＳ４の処理の第１実施例]
図１２から図１４は、Ｓ３及びＳ４の処理の第１実施例を説明する図である。図１２から図１４に示す例は、図１０に示す動作履歴情報１３３及び図１１に示す仮修正適用情報１３２に対応する。
【００７０】
図１２に示す例において、情報処理装置１には、サービス提供プログラム１２０として、製品Ａ１２１、製品Ｂ１２２、製品Ｃ１２３及び製品Ｄ１２４（以下、単に製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄとも呼ぶ）がインストールされている。そして、図１２に示す例において、製品Ａには、それぞれＴ００２ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正が適用されており、製品Ｂには、Ｔ００１ＷＰ−０１で識別される修正が適用されている。また、図１２に示す例において、製品Ｃには、Ｔ００３ＷＰ−０１で識別される修正が適用されている。一方、製品Ｄは、修正が適用されていない状態である。
【００７１】
また、図１２に示す例において、記憶部１ａ（情報格納領域１３０）には、情報作成部１１２が作成した仮修正適用情報１３２が格納されている（図５のＳ２）。具体的に、図１２に示す仮修正適用情報１３２は、Ｔ００１ＷＰ−０１、Ｔ００２ＷＰ−０１、Ｔ００３ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正が、製品Ａ、製品Ｂ、製品Ｃまたは製品Ｄのいずれかに適用されている旨の情報を含んでいる。
【００７２】
さらに、図１２に示す例において、記憶部１ａには、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄに適用されている各修正に対応する復元用情報１３４が格納されている。具体的に、図１２に示す記憶部１ａには、Ｔ００１ＷＰ−０１に対応する復元用情報１３４ａ、Ｔ００２ＷＰ−０１に対応する復元用情報１３４ｂ、Ｔ００３ＷＰ−０１に対応する復元用情報１３４ｃ及びＴ００２ＷＰ−０２に対応する復元用情報１３４ｄが格納されている。
【００７３】
なお、以下、各復元用情報１３４は、製品Ａ、製品Ｂ、製品Ｃまたは製品Ｄのいずれかに対して修正が適用された場合に作成され、製品Ａ、製品Ｂ、製品Ｃまたは製品Ｄのいずれかに適用されている修正の復元が行われた場合に削除されるものとする。
【００７４】
そして、復元実行部１１３は、図１２に示す例において、仮修正適用情報１３２に設定された内容を参照し、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄに適用されていると推測される第１修正の復元を行う（Ｓ１１）。具体的に、復元実行部１１３は、図１３に示すように、製品Ａにそれぞれ適用されていると推測されるＴ００２ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正の復元を行う。また、復元実行部１１３は、図１３に示すように、製品Ｂに適用されていると推測されるＴ００１ＷＰ−０１で識別される修正の復元を行う。さらに、復元実行部１１３は、製品Ｃに適用されていると推測されるＴ００３ＷＰ−０１で識別される修正の復元を行う。また、この場合、復元実行部１１３は、図１３に示すように、各修正に対応する復元用情報１３４をそれぞれ削除する。
【００７５】
また、復元実行部１１３は、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄに適用された修正の復元に伴い、仮修正適用情報１３２の更新を行う。具体的に、復元実行部１１３は、図１３に示すように、仮修正適用情報１３２から、Ｔ００１ＷＰ−０１、Ｔ００２ＷＰ−０１、Ｔ００３ＷＰ−０１及びＴ００２ＷＰ−０２を示す情報を削除する更新を行う。
【００７６】
ここで、図１３に示す状態は、第１修正のうち、復元用情報１３４が存在しない修正が存在しなかった状態である（Ｓ１２のＮＯ）。また、図１３に示す状態は、復元用情報１３４のうち、Ｓ１１で用いられなかったものが存在しなかった状態である（Ｓ１３のＮＯ）。そのため、妥当性判定部１１５は、図１３に示す例において、Ｓ１１で行われた修正の復元が正常になされたものと判定する（Ｓ１５）。
【００７７】
その後、修正実行部１１４は、図１４に示すように、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄに適用されていた各修正を再適用する（Ｓ２１）。また、修正実行部１１４は、仮修正適用情報１３２の更新を行う。具体的に、修正実行部１１４は、仮修正適用情報１３２に、Ｔ００１ＷＰ−０１、Ｔ００２ＷＰ−０１、Ｔ００３ＷＰ−０１及びＴ００２ＷＰ−０２を示す情報を追加する更新を行う。さらに、この場合、修正実行部１１４は、図１４に示すように、各修正に対応する復元用情報１３４をそれぞれ再作成する。
【００７８】
そして、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄに適用されていた各修正のうち、再適用できない修正が存在しない場合（Ｓ２２のＮＯ）、妥当性判定部１１５は、Ｓ２１で行われた修正の再適用が正常にされたものと判定する（Ｓ２４）。一方、再適用できない修正が存在した場合（Ｓ２２のＹＥＳ）、妥当性判定部１１５は、Ｓ２１で行われた修正の再適用が正常にされなかったものと判定する（Ｓ２３）。以下、Ｓ３及びＳ４の処理の第２実施例について説明する。
【００７９】
[Ｓ３及びＳ４の処理の第２実施例]
次に、Ｓ３及びＳ４の処理の第２実施例を説明する。図１５は、図１０に示す動作履歴情報１３３に含まれる情報から「ＩＤ」が「６」である情報が欠損した場合における動作履歴情報１３３の具体例を説明する図である。そして、図１６は、図１５に示す動作履歴情報１３３に対応する仮修正適用情報１３２の具体例を説明する図である。
【００８０】
すなわち、図１０に示す動作履歴情報１３３において、「ＩＤ」が「６」である情報は、「詳細情報」が「Ｔ００４ＷＰ−０１」で識別される修正を復元したことを示す情報である。そのため、図１６に示す仮修正適用情報１３２は、図１１に示す仮修正適用情報１３２と比較して、「Ｔ００４ＷＰ−０１」で識別される修正が製品Ｄに適用されている旨の情報（実際の状態とは異なっている情報）を含んでいる（「ＩＤ」が「５」である情報）。以下、図１５及び図１６を参照しながら、Ｓ３及びＳ４の処理の第２実施例を説明する。
【００８１】
図１７及び図１８は、Ｓ３及びＳ４の処理の第２実施例を説明する図である。図１７に示す例において、情報処理装置１には、図１２等で説明した例と同様に、サービス提供プログラム１２０として、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄがインストールされている。そして、図１７に示す例において、製品Ａには、それぞれＴ００２ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正が適用されており、製品Ｂには、Ｔ００１ＷＰ−０１で識別される修正が適用されている。また、図１７に示す例において、製品Ｃには、Ｔ００３ＷＰ−０１で識別される修正が適用されている。一方、製品Ｄは、修正が適用されていない状態である。
【００８２】
また、図１７に示す例において、記憶部１ａには、図１６で説明した仮修正適用情報１３２が格納されている。具体的に、図１７に示す仮修正適用情報１３２は、Ｔ００１ＷＰ−０１、Ｔ００２ＷＰ−０１、Ｔ００３ＷＰ−０１、Ｔ００２ＷＰ−０２及びＴ００４ＷＰ−０１で識別される修正が、製品Ａ、製品Ｂ、製品Ｃまたは製品Ｄのいずれかに適用されている旨の情報を有している。
【００８３】
さらに、図１７に示す例において、記憶部１ａには、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄに適用されている各修正に対応する復元用情報１３４が格納されている。具体的に、図１７に示す記憶部１ａには、Ｔ００１ＷＰ−０１に対応する復元用情報１３４ａ、Ｔ００２ＷＰ−０１に対応する復元用情報１３４ｂ、Ｔ００３ＷＰ−０１に対応する復元用情報１３４ｃ及びＴ００２ＷＰ−０２に対応する復元用情報１３４ｄが格納されている。
【００８４】
すなわち、各復元用情報１３４は、情報処理装置１における各製品への修正の適用に伴って作成されるものである。そのため、記憶部１ａには、情報処理装置１に適用されている修正に対応する復元用情報１３４がそれぞれ格納されている。
【００８５】
そして、復元実行部１１３は、図１７に示す例において、仮修正適用情報１３２に設定された内容を参照し、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄに適用された修正の復元を行う（Ｓ１１）。具体的に、復元実行部１１３は、図１８に示すように、製品Ａにそれぞれ適用されていると推測されるＴ００２ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正の復元を行う。また、復元実行部１１３は、製品Ｂに適用されていると推測されるＴ００１ＷＰ−０１で識別される修正の復元を行う。さらに、復元実行部１１３は、製品Ｃに適用されていると推測されるＴ００３ＷＰ−０１で識別される修正の復元を行う。そして、復元実行部１１３は、製品Ｄにそれぞれ適用されていると推測されるＴ００４ＷＰ−０１で識別される修正の復元を試みる。
【００８６】
しかし、図１７に示す記憶部１ａには、Ｔ００４ＷＰ−０１に対応する復元用情報が格納されていない。そのため、復元実行部１１３は、図１８に示すように、Ｔ００４ＷＰ−０１で識別される修正の復元を行うことができない。その結果、復元実行部１１３は、図１８に示す例において、第１修正のうち、復元用情報１３４が存在しない修正が存在すると判定し（Ｓ１２のＹＥＳ）、Ｓ１１で行われた修正の復元が正常にされなかったと判定する（Ｓ１４）。
【００８７】
その後、修正実行部１１４は、Ｓ１１において復元を行った修正（それぞれＴ００１ＷＰ−０１、Ｔ００２ＷＰ−０１、Ｔ００３ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正）の再適用を行う（Ｓ２１）。以下、Ｓ３及びＳ４の処理の第３実施例について説明する。
【００８８】
[Ｓ３及びＳ４の処理の第３実施例]
次に、Ｓ３及びＳ４の処理の第３実施例を説明する。図１９から図２２は、Ｓ３及びＳ４の処理の第３実施例を説明する図である。
【００８９】
図１９は、図１０に示す動作履歴情報１３３に含まれる情報から「ＩＤ」が「４」である情報が欠損した場合における動作履歴情報１３３の具体例を説明する図である。そして、図２０は、図１９に示す動作履歴情報１３３に対応する仮修正適用情報１３２の具体例を説明する図である。
【００９０】
すなわち、図１０に示す動作履歴情報１３３において、「ＩＤ」が「４」である情報は、「詳細情報」が「Ｔ００３ＷＰ−０１」で識別される修正が適用されたことを示す情報である。そのため、図２０に示す仮修正適用情報１３２は、図１１に示す仮修正適用情報１３２と比較して、「Ｔ００３ＷＰ−０１」で識別される修正が製品Ｃに適用されている旨の情報が含まれていない状態である。以下、図１９及び図２０を参照しながら、Ｓ３及びＳ４の処理の第３実施例を説明する。
【００９１】
図２１及び図２２は、Ｓ３及びＳ４の処理の第３実施例を説明する図である。図２１に示す例において、情報処理装置１には、図１２等で説明した例と同様に、サービス提供プログラム１２０として、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄがインストールされている。そして、図２１に示す例において、製品Ａには、それぞれＴ００２ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正が適用されており、製品Ｂには、Ｔ００１ＷＰ−０１で識別される修正が適用されている。また、図２１に示す例において、製品Ｃには、Ｔ００３ＷＰ−０１で識別される修正が適用されている。一方、製品Ｄは、修正が適用されていない状態である。
【００９２】
また、図２１に示す例において、記憶部１ａには、図２０で説明した仮修正適用情報１３２が格納されている。すなわち、図２１に示す仮修正適用情報１３２は、製品Ａ、製品Ｂ、製品Ｃまたは製品Ｄのいずれかは、Ｔ００１ＷＰ−０１、Ｔ００２ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正が適用されている旨の情報のみを含んでいる。
【００９３】
さらに、図２１に示す例において、記憶部１ａには、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄに適用されている各修正に対応する復元用情報１３４が格納されている。具体的に、図２１に示す記憶部１ａには、Ｔ００１ＷＰ−０１に対応する復元用情報１３４ａ、Ｔ００２ＷＰ−０１に対応する復元用情報１３４ｂ、Ｔ００３ＷＰ−０１に対応する復元用情報１３４ｃ及びＴ００２ＷＰ−０２に対応する復元用情報１３４ｄが格納されている。
【００９４】
そして、復元実行部１１３は、図２１に示す例において、仮修正適用情報１３２に設定された内容を参照し、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄに適用された修正の復元を行う（Ｓ１１）。具体的に、復元実行部１１３は、図２２に示すように、製品Ａにそれぞれ適用されていると推測されるＴ００２ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正の復元を行う。また、復元実行部１１３は、製品Ｂに適用されていると推測されるＴ００１ＷＰ−０１で識別される修正の復元を行う。
【００９５】
ここで、図２１に示す仮修正適用情報１３２には、Ｔ００３ＷＰ−０１で識別される修正についての情報が含まれていない。一方、図２１に示す記憶部１ａには、Ｔ００３ＷＰ−０１に対応する復元用情報１３４ｃが格納されている。
【００９６】
そのため、復元実行部１１３は、図２２に示す例において、第１修正のうち、復元用情報１３４が存在しない修正が存在していない状態であると判定する（Ｓ１２のＮＯ）。一方、復元実行部１１３は、図２２に示す例において、復元用情報１３４のうち、Ｓ１１で用いられなかったものが存在する状態であると判定する（Ｓ１３のＹＥＳ）。したがって、復元実行部１１３は、図２２に示す例において、Ｓ１１で行われた修正の復元が正常になされていないと判定する（Ｓ１４）。
【００９７】
その後、修正実行部１１４は、Ｓ１１において復元を行った修正（それぞれＴ００１ＷＰ−０１、Ｔ００２ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正）の再適用を行う（Ｓ２１）。以下、Ｓ３及びＳ４の処理の第４実施例について説明する。
【００９８】
[Ｓ３及びＳ４の処理の第４実施例]
図２３から図２６は、Ｓ３及びＳ４の処理の第４実施例を説明する図である。図２３は、図１０に示す動作履歴情報１３３に含まれる情報から「ＩＤ」が「７」である情報が欠損した場合における動作履歴情報１３３の具体例を説明する図である。そして、図２４は、図２３に示す動作履歴情報１３３に対応する仮修正適用情報１３２の具体例を説明する図である。
【００９９】
すなわち、図１０に示す動作履歴情報１３３において、「ＩＤ」が「７」である情報は、「詳細情報」が「Ｔ００２ＷＰ−０２」で識別される修正を適用したことを示す情報である。そのため、図２４に示す仮修正適用情報１３２は、図１１に示す仮修正適用情報１３２と比較して、「Ｔ００２ＷＰ−０２」で識別される修正が製品Ａに適用されている旨の情報が含まれていない状態である。以下、図２３及び図２４を参照しながら、Ｓ３及びＳ４の処理の第４実施例を説明する。
【０１００】
図２５及び図２６は、Ｓ３及びＳ４の処理の第４実施例を説明する図である。図２５に示す例において、情報処理装置１には、図１２等で説明した例と同様に、サービス提供プログラム１２０として、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄがインストールされている。そして、図２５に示す例において、製品Ａには、Ｔ００２ＷＰ−０１で識別される修正が適用されており、製品Ｂには、Ｔ００１ＷＰ−０１で識別される修正が適用されている。また、図２５に示す例において、製品Ｃには、Ｔ００３ＷＰ−０１で識別される修正が適用されている。一方、製品Ｄは、修正が適用されていない状態である。
【０１０１】
また、図２５に示す例において、記憶部１ａには、図２４で説明した仮修正適用情報１３２が格納されている。具体的に、図２５に示す仮修正適用情報１３２は、Ｔ００１ＷＰ−０１、Ｔ００２ＷＰ−０１及びＴ００３ＷＰ−０１で識別される修正が、製品Ａ、製品Ｂ、製品Ｃまたは製品Ｄのいずれかに適用されている旨の情報を有している。
【０１０２】
さらに、図２５に示す例において、記憶部１ａには、Ｔ００２ＷＰ−０１で識別される修正及びＴ００２ＷＰ−０２で識別される修正が製品Ａに適用される際に更新されるファイル１５が格納されている。以下、Ｔ００２ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正がそれぞれ製品Ａに適用される前におけるファイル１５のファイルサイズは、１００（バイト）であるものとして説明を行う。また、Ｔ００２ＷＰ−０１で識別される修正は、ファイル１５のファイルサイズが１００（バイト）である場合にのみ製品Ａに適用されるものとする。また、Ｔ００２ＷＰ−０２で識別される修正は、ファイル１５のファイルサイズを、１００（バイト）から１０５（バイト）に更新する修正であるものとする。具体的に、図２５に示す例における製品Ａは、それぞれＴ００２ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正が適用されている状態である。そのため、図２５に示すファイル１５のファイルサイズは、１０５（バイト）である。
【０１０３】
なお、図２５及び図２６における復元用情報１３４については、図１２等で説明した復元用情報１３４と同じ内容であるため、説明を省略する。
【０１０４】
図２５に示す例において、復元実行部１１３は、仮修正適用情報１３２に設定された内容を参照し、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄに適用された修正の復元を行う（Ｓ１１）。具体的に、復元実行部１１３は、図２５に示すように、製品Ａにそれぞれ適用されていると推測されるＴ００２ＷＰ−０１で識別される修正の復元を行う。すなわち、復元実行部１１３は、例えば、製品Ａを、Ｔ００１ＷＰ−０１で識別される修正が適用される前の状態に復元する。また、復元実行部１１３は、製品Ｂに適用されていると推測されるＴ００１ＷＰ−０１で識別される修正、及び製品Ｃに適用されていると推測されるＴ００３ＷＰ−０１で識別される修正の復元を行う。
【０１０５】
その後、復元実行部１１３は、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄに適用された修正の復元に伴い、仮修正適用情報１３２の更新を行う。具体的に、復元実行部１１３は、図２６に示すように、仮修正適用情報１３２から、Ｔ００１ＷＰ−０１、Ｔ００２ＷＰ−０１及びＴ００３ＷＰ−０１を示す情報を削除する更新を行う。また、この場合、復元実行部１１３は、各修正に対応する復元用情報１３４をそれぞれ削除する。
【０１０６】
次に、修正実行部１１４は、Ｓ１１において復元を行った修正（それぞれＴ００１ＷＰ−０１、Ｔ００２ＷＰ−０１及びＴ００３ＷＰ−０１で識別される修正）の再適用を試みる（Ｓ２１）。
【０１０７】
しかし、図２５及び図２６に示す例において、製品Ａに適用されているＴ００２ＷＰ−０２で識別される修正については、復元が行われていない。すなわち、図２６に示す例において、ファイル１５のファイルサイズは、図２５に示す場合と同様に、１０５（バイト）のままであり、１００（バイト）ではない。
【０１０８】
そのため、修正実行部１１４は、この場合、製品ＡがＴ００１ＷＰ−０１で識別される修正の適用前の状態に復元されているにもかかわらず、製品Ａに対してＴ００２ＷＰ−０１で識別される修正の適用を行わない（Ｓ２２のＹＥＳ）。したがって、妥当性判定部１１５は、この場合、Ｓ２１で実行された修正の再適用が正常にされなかったものと判定する（Ｓ２３）。以下、Ｓ５の処理の第１実施例について説明する。
【０１０９】
[Ｓ５の処理の第１実施例]
図２７から図２９は、Ｓ５の処理の第１実施例を説明する図である。以下、図２３に示す動作履歴情報１３３と、図２４に示す仮修正適用情報１３２とを参照して説明を行う。
【０１１０】
図２７に示す例において、情報処理装置１には、図１２等で説明した例と同様に、サービス提供プログラム１２０として、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄがインストールされている。そして、図２７に示す例において、製品Ａには、それぞれＴ００２ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正が適用されており、製品Ｂには、Ｔ００１ＷＰ−０１で識別される修正が適用されている。また、図２５に示す例において、製品Ｃには、Ｔ００３ＷＰ−０１で識別される修正が適用されている。一方、製品Ｄは、修正が適用されていない状態である。
【０１１１】
また、図２７に示す例において、記憶部１ａには、図２４で説明した仮修正適用情報１３２が格納されている。すなわち、図２７に示す仮修正適用情報１３２は、Ｔ００１ＷＰ−０１、Ｔ００２ＷＰ−０１及びＴ００３ＷＰ−０１で識別される修正が、製品Ａ、製品Ｂ、製品Ｃまたは製品Ｄのいずれかに適用されている旨の情報を有している。
【０１１２】
さらに、図２７に示す例において、記憶部１ａには、Ｔ００２ＷＰ−０２で識別される修正が製品Ａに適用される際に置換されるモジュール１６が格納されている。モジュール１６は、例えば、製品Ａの一部として機能するものであってよい。以下、Ｔ００２ＷＰ−０１及びＴ００２ＷＰ−０２で識別される修正がそれぞれ製品Ａに適用される前において、記憶部１ａには、モジュール１６としてモジュールＭ０が格納されているものとする。また、Ｔ００２ＷＰ−０１で識別される修正が製品Ａに適用された場合、記憶部１ａには、モジュール１６としてモジュールＭ１が格納されるものとする。さらに、Ｔ００２ＷＰ−０２で識別される修正が製品Ａに適用された場合、記憶部１ａには、モジュール１６としてモジュールＭ２が格納されるものとする。
【０１１３】
図２７に示す例において、復元実行部１１３は、仮修正適用情報１３２に設定された内容を参照し、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄに適用された修正の復元を行う（Ｓ１１）。具体的に、復元実行部１１３は、図２８に示すように、製品Ａに適用されていると推測されるＴ００２ＷＰ−０１で識別される修正の復元を行う。また、復元実行部１１３は、製品Ｂに適用されていると推測されるＴ００１ＷＰ−０１で識別される修正の復元を行う。さらに、復元実行部１１３は、製品Ｃに適用されていると推測されるＴ００３ＷＰ−０１で識別される修正の復元を行う。また、この場合、復元実行部１１３は、各修正に対応する復元用情報１３４をそれぞれ削除する。
【０１１４】
ここで、復元実行部１１３がＴ００２ＷＰ−０１で識別される修正の復元を行う場合において、復元実行部１１３は、例えば、モジュール１６をモジュールＭ０に置換することにより、修正の復元を行う。すなわち、この場合、復元実行部１１３は、修正の復元の実行前におけるモジュール１６がモジュールＭ１であったか否かに依らずに修正の復元を行う。
【０１１５】
その後、復元実行部１１３は、製品Ａ、製品Ｂ、製品Ｃ及び製品Ｄに適用された修正の復元に伴い、仮修正適用情報１３２の更新を行う。具体的に、復元実行部１１３は、図２８に示すように、仮修正適用情報１３２から、Ｔ００１ＷＰ−０１、Ｔ００２ＷＰ−０１及びＴ００３ＷＰ−０１を示す情報を削除する更新を行う。
【０１１６】
次に、修正実行部１１４は、図２９に示すように、Ｓ１１において復元を行った修正（それぞれＴ００１ＷＰ−０１、Ｔ００２ＷＰ−０１及びＴ００３ＷＰ−０１で識別される修正）の再適用を行う（Ｓ２１）。具体的に、修正実行部１１４は、図２９に示す例において、モジュール１６にモジュールＭ１を置換する。
【０１１７】
すなわち、図２９に示す例では、修正実行部１１４は、Ｔ００２ＷＰ−０１で識別される修正の適用を正常に行うことができる。そのため、図２９に示す例では、妥当性判定部１１５は、Ｓ２１で行われた修正の再適用が正常にされたものと判定する（Ｓ２２のＮＯ、Ｓ２４）。
【０１１８】
しかし、図２７に例におけるモジュール１６は、モジュールＭ２が置換されたものであるのに対し、図２９の例におけるモジュール１６は、モジュールＭ１が置換されたものである。そのため、妥当性判定部１１５は、Ｓ３の処理が行われる前における業務システムの状態と、Ｓ４の処理が行われた後における業務システムの状態とが相違する状態であると判定する（Ｓ３２のＮＯ）。したがって、妥当性判定部１１５は、仮修正適用情報１３２が妥当性を有しないものであると判定する（Ｓ３４）。
【０１１９】
これにより、妥当性判定部１１５は、Ｓ３の修正の復元及びＳ４の修正の再適用が正常に行われたと判定した場合であっても（Ｓ３１のＹＥＳ）、仮修正適用情報１３２の妥当性について、さらなる判定を行うことが可能になる。
【０１２０】
なお、妥当性判定部１１５は、例えば、Ｓ３の処理が行われる前における業務システムの状態と、Ｓ４の処理が行われた後における業務システムの状態との比較を、モジュール１６のファイルサイズを比較することにより行うものであってよい。
【０１２１】
また、情報処理装置１は、情報作成処理を実行する前に、情報処理装置１で動作する業務システムを他の物理マシン（他の仮想マシン）に複製するものであってよい。そして、情報処理装置１は、この場合、一方の業務システムに対してのみ情報作成処理を行うものであってよい。これにより、妥当性判定部１１５は、情報作成処理を行った業務システムの状態と、情報処理装置を行っていない業務システムの状態とを比較することにより、Ｓ３２の処理を行うことが可能になる。
【０１２２】
このように、第１の実施の形態によれば、情報処理装置１は、管理対象の業務システムで動作するサービス提供プログラム１２０の動作履歴情報１３３に含まれる、業務システムで動作するサービス提供プログラム１２０の版数情報に基づき、サービス提供プログラム１２０に適用された第１修正に関する情報である仮修正適用情報１３２を作成する。そして、情報処理装置１は、作成した仮修正適用情報１３２に基づき、サービス提供プログラム１２０を第１修正の適用前の状態に復元した後、復元したサービス提供プログラム１２０に対して第１修正を再適用する。その後、サービス提供プログラム１２０の第１修正の復元及び第１修正の再適用の実行過程または実行結果に基づき、仮修正適用情報１３２の妥当性を判定する。
【０１２３】
これにより、情報処理装置１は、サービス提供プログラム１２０に再インストール等の作業を行うことなく、妥当性の高い修正適用情報１３１を作成することが可能になる。
【０１２４】
なお、情報処理装置１は、サービス提供プログラム１２０の処理特性等に応じて、第１の実施の形態におけるＳ１２、Ｓ１３、Ｓ２２及びＳ３２の処理のうちの一部の処理のみを実行するものであってもよい。具体的に、例えば、Ｓ３２の処理のみを行うことにより仮修正適用情報１３２の妥当性を判定できる場合、情報処理装置１は、例えば、Ｓ１２、Ｓ１３及びＳ２２の処理を行わず、Ｓ３２の処理のみを行うものであってもよい。
【０１２５】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１２６】
（付記１）
コンピュータに、
管理対象のシステムで動作するソフトウエアの動作履歴に含まれる、前記システムで動作する前記ソフトウエアの版数情報に基づき、前記ソフトウエアに適用された修正に関する情報である仮修正適用情報を作成し、
前記仮修正適用情報に基づき、前記ソフトウエアを前記修正の適用前の状態に復元した後、復元した前記ソフトウエアに対して前記修正を再適用し、
前記修正に対する前記ソフトウエアの復元及び前記修正の再適用の実行過程または実行結果に基づき、前記仮修正適用情報の妥当性を判定する、
処理を実行させることを特徴とする修正適用情報作成プログラム。
【０１２７】
（付記２）
付記１において、
前記妥当性を判定する処理では、前記ソフトウエアの復元または前記修正の再適用が正常に実行されなかった場合に、前記仮修正適用情報が妥当性を有しないと判定し、前記ソフトウエアの復元及び前記修正の再適用が正常に実行された場合に、前記仮修正適用情報が妥当性を有すると判定する、
ことを特徴とする修正適用情報作成プログラム。
【０１２８】
（付記３）
付記２において、
前記妥当性を判定する処理では、前記ソフトウエアの復元及び前記修正の再適用が正常に実行された場合において、さらに、前記ソフトウエアの復元前及び前記修正の再適用後における前記システムの状態が相違する場合に、前記仮修正適用情報が妥当性を有しないと判定し、前記ソフトウエアの復元前及び前記修正の再適用後における前記システムの状態が相違しない場合に、前記仮修正適用情報が妥当性を有すると判定する、
ことを特徴とする修正適用情報作成プログラム。
【０１２９】
（付記４）
付記３において、
前記システムの状態は、前記システムがアクセスするファイルのファイルサイズの状態を含む、
ことを特徴とする修正適用情報作成プログラム。
【０１３０】
（付記５）
付記２において、
前記妥当性判定する処理では、前記修正のうち、前記ソフトウエアの復元を行う際に前記ソフトウエアの復元を行うための実行ファイルが存在しない修正が存在する場合に、前記ソフトウエアの復元及び前記修正の再適用が正常にされなかったものと判定する、
ことを特徴する修正適用情報作成プログラム。
【０１３１】
（付記６）
付記２において、
前記妥当性判定する処理では、前記ソフトウエアの復元を行うための実行ファイルのうち、前記ソフトウエアの復元を行う際に実行されなかった実行ファイルが存在する場合に、前記ソフトウエアの復元及び前記修正の再適用が正常にされなかったものと判定する、
ことを特徴とする修正適用情報作成プログラム。
【０１３２】
（付記７）
管理対象のシステムで動作するソフトウエアの動作履歴に含まれる、前記システムで動作する前記ソフトウエアの版数情報に基づき、前記ソフトウエアに適用された修正に関する情報である仮修正適用情報を作成する情報作成部と、
前記仮修正適用情報に基づき、前記ソフトウエアを前記修正の適用前の状態に復元した後、復元した前記ソフトウエアに対して前記修正を再適用する修正実行部と、
前記修正に対する前記ソフトウエアの復元及び前記修正の再適用の実行過程または実行結果に基づき、前記仮修正適用情報の妥当性を判定する妥当性判定部と、を有する、
ことを特徴とする修正適用情報作成装置。
【０１３３】
（付記８）
付記７において、
前記妥当性判定部は、前記ソフトウエアの復元または前記修正の再適用が正常に実行されなかった場合に、前記仮修正適用情報が妥当性を有しないと判定し、前記ソフトウエアの復元及び前記修正の再適用が正常に実行された場合に、前記仮修正適用情報が妥当性を有すると判定する、
ことを特徴とする修正適用情報作成装置。
【０１３４】
（付記９）
付記７において、
前記妥当性判定部は、前記ソフトウエアの復元及び前記修正の再適用が正常に実行された場合において、さらに、前記ソフトウエアの復元前及び前記修正の再適用後における前記システムの状態が相違する場合に、前記仮修正適用情報が妥当性を有しないと判定し、前記ソフトウエアの復元前及び前記修正の再適用後における前記システムの状態が相違しない場合に、前記仮修正適用情報が妥当性を有すると判定する、
ことを特徴とする修正適用情報作成装置。
【０１３５】
（付記１０）
管理対象のシステムで動作するソフトウエアの動作履歴に含まれる、前記システムで動作する前記ソフトウエアの版数情報に基づき、前記ソフトウエアに適用された修正に関する情報である仮修正適用情報を作成し、
前記仮修正適用情報に基づき、前記ソフトウエアを前記修正の適用前の状態に復元した後、復元した前記ソフトウエアに対して前記修正を再適用し、
前記修正に対する前記ソフトウエアの復元及び前記修正の再適用の実行過程または実行結果に基づき、前記仮修正適用情報の妥当性を判定する、
ことを特徴とする修正適用情報作成方法。
【０１３６】
（付記１１）
付記１０において、
前記妥当性を判定する工程では、前記ソフトウエアの復元または前記修正の再適用が正常に実行されなかった場合に、前記仮修正適用情報が妥当性を有しないと判定し、前記ソフトウエアの復元及び前記修正の再適用が正常に実行された場合に、前記仮修正適用情報が妥当性を有すると判定する、
ことを特徴とする修正適用情報作成方法。
【０１３７】
（付記１２）
付記１０において、
前記妥当性を判定する工程では、前記ソフトウエアの復元及び前記修正の再適用が正常に実行された場合において、さらに、前記ソフトウエアの復元前及び前記修正の再適用後における前記システムの状態が相違する場合に、前記仮修正適用情報が妥当性を有しないと判定し、前記ソフトウエアの復元前及び前記修正の再適用後における前記システムの状態が相違しない場合に、前記仮修正適用情報が妥当性を有すると判定する、
ことを特徴とする修正適用情報作成方法。
【符号の説明】
【０１３８】
１：情報処理装置            １ａ：記憶部
１０：情報処理システム      １２０：サービス提供プログラム
【図１】
0006481489.tif 000002
【図２】
0006481489.tif 000003
【図３】
0006481489.tif 000004
【図４】
0006481489.tif 000005
【図５】
0006481489.tif 000006
【図６】
0006481489.tif 000007
【図７】
0006481489.tif 000008
【図８】
0006481489.tif 000009
【図９】
0006481489.tif 000010
【図１０】
0006481489.tif 000011
【図１１】
0006481489.tif 000012
【図１２】
0006481489.tif 000013
【図１３】
0006481489.tif 000014
【図１４】
0006481489.tif 000015
【図１５】
0006481489.tif 000016
【図１６】
0006481489.tif 000017
【図１７】
0006481489.tif 000018
【図１８】
0006481489.tif 000019
【図１９】
0006481489.tif 000020
【図２０】
0006481489.tif 000021
【図２１】
0006481489.tif 000022
【図２２】
0006481489.tif 000023
【図２３】
0006481489.tif 000024
【図２４】
0006481489.tif 000025
【図２５】
0006481489.tif 000026
【図２６】
0006481489.tif 000027
【図２７】
0006481489.tif 000028
【図２８】
0006481489.tif 000029
【図２９】
0006481489.tif 000030