(57)【特許請求の範囲】
【請求項１】
本番環境におけるモジュールの所在情報と前記本番環境の検証のための検証環境におけるモジュールの所在情報との対応関係を示す対応情報を取得する対応情報取得部と、
取得した前記対応情報を参照して、前記本番環境に配備された前記モジュールと前記検証環境に配備された前記モジュールとの差分を抽出する差分抽出部と、
前記本番環境に配備された前記モジュールと前記検証環境に配備された前記モジュールとの前記抽出された差分を示す差分情報を出力する出力部と、
前記差分情報に基づいて、古いモジュール状態にある、前記本番環境及び前記検証環境のどちらか一方の環境を、新しいモジュール状態にある他方の環境に合わせるようにモジュールを配備することで、前記古いモジュール状態にある環境をアップデートするモジュール配備部と、
を備える情報処理装置。
【請求項２】
前記差分情報の履歴を記憶する記憶部と、
前記本番環境又は前記検証環境において配備されたモジュールの動作を検査する検査部と、を更に備え、
前記モジュール配備部は、前記記憶部に記憶された前記差分情報の履歴を用いて、アップデート前のモジュールを再配備することで、前記本番環境及び前記検証環境のいずれか一方の環境をダウングレードさせ、
前記検査部は、ダウングレードさせた環境において配備されたモジュールの動作を検査する、
請求項１に記載の情報処理装置。
【請求項３】
前記対応情報取得部は、
前記本番環境を示すノードを根ノードとする部分木と前記検証環境を示すノードを根ノードとする部分木とを含む木構造であって、
前記検証環境を示すノードを根ノードとする前記部分木には、前記本番環境を示すノードが含まれず、かつ、前記検証環境に配備されたモジュールを示すノードが葉ノードとして含まれ、
前記本番環境を示すノードを根ノードとする前記部分木には、前記検証環境を示すノードが含まれず、かつ、前記本番環境に配備されたモジュールを示すノードが葉ノードとし
て含まれる、
木構造により前記所在情報が表現された前記対応情報を取得する、
請求項１または２に記載の情報処理装置。
【請求項４】
コンピュータが、
本番環境におけるモジュールの所在情報と前記本番環境の検証のための検証環境におけるモジュールの所在情報との対応関係を示す対応情報を取得するステップ、
取得した前記対応情報を参照して、前記本番環境に配備された前記モジュールと前記検証環境に配備された前記モジュールとの差分を抽出するステップと、
前記本番環境に配備された前記モジュールと前記検証環境に配備された前記モジュールとの前記抽出された差分を示す差分情報を出力するステップと、
前記差分情報に基づいて、古いモジュール状態にある、前記本番環境及び前記検証環境のどちらか一方の環境を、新しいモジュール状態にある他方の環境に合わせるようにモジュールを配備することで、前記古いモジュール状態にある環境をアップデートするステップと、
を実行する情報処理方法。
【請求項５】
本番環境におけるモジュールの所在情報と前記本番環境の検証のための検証環境におけるモジュールの所在情報との対応関係を示す対応情報を取得する対応情報取得部と、
取得した前記対応情報を参照して、前記本番環境に配備された前記モジュールと前記検証環境に配備された前記モジュールとの差分を抽出する差分抽出部と、
前記本番環境に配備された前記モジュールと前記検証環境に配備された前記モジュールとの前記抽出された差分を示す差分情報を出力する出力部と、
前記差分情報に基づいて、古いモジュール状態にある、前記本番環境及び前記検証環境のどちらか一方の環境を、新しいモジュール状態にある他方の環境に合わせるようにモジュールを配備することで、前記古いモジュール状態にある環境をアップデートするモジュール配備部と、
を備える情報処理システム。
【請求項６】
コンピュータに、
本番環境におけるモジュールの所在情報と前記本番環境の検証のための検証環境におけるモジュールの所在情報との対応関係を示す対応情報を取得するステップ、
取得した前記対応情報を参照して、前記本番環境に配備された前記モジュールと前記検証環境に配備された前記モジュールとの差分を抽出するステップと、
前記本番環境に配備された前記モジュールと前記検証環境に配備された前記モジュールとの前記抽出された差分を示す差分情報を出力するステップと、
前記差分情報に基づいて、古いモジュール状態にある、前記本番環境及び前記検証環境のどちらか一方の環境を、新しいモジュール状態にある他方の環境に合わせるようにモジュールを配備することで、前記古いモジュール状態にある環境をアップデートするステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理システム、及び、プログラムの技術に関する。
【背景技術】
【０００２】
本番環境に配置された管理対象サーバと開発環境に配置された管理対象サーバとを対応付けて、これらのサーバで使用される管理対象ファイルを共通部分と環境依存部に分割してタグにより管理し、他環境への更新反映漏れや環境依存ファイルの更新ミスを防止する技術がある（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２２５７６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、ひとつの環境下におけるモジュールのバージョン、構成管理を行うソフトウェアが存在する。しかしながら、異なる構成を持つ環境間でモジュールを同期する場合、管理者は、手動でモジュールの差分を同期していた。例えば、エンハンスの際に検証環境で検証したモジュールを本番環境に配備する時、手動でモジュール配備の洗い出しを行っていたため、配備漏れや配備ミスが発生する可能性があるという問題点があった。
【０００５】
本発明は、一側面では、このような点を考慮してなされたものであり、異なる構成を持つ複数の環境であっても、モジュールの配備漏れや配備ミスを軽減可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【０００７】
すなわち、本発明の一側面に係る情報処理装置は、本番環境におけるモジュールの所在情報と前記本番環境の検証のための検証環境におけるモジュールの所在情報との対応関係を示す対応情報を取得する対応情報取得部と、取得した前記対応情報を参照して、前記本番環境に配備された前記モジュールと前記検証環境に配備された前記モジュールとの差分を抽出する差分抽出部と、前記本番環境に配備された前記モジュールと前記検証環境に配備された前記モジュールとの前記抽出された差分を示す差分情報を出力する出力部と、を備える。
【０００８】
上記構成によれば、本番環境と検証環境とに配備されたモジュールの差分を抽出する際に対応情報が参照される。ここで、対応情報は、本番環境におけるモジュールの所在情報と検証環境におけるモジュールの所在情報との対応関係を示す。そのため、本番環境と検証環境とが異なる構成を持つ環境であっても、上記構成によれば、本番環境と検証環境とに配備されたモジュールの差分を抽出することができる。そして、当該抽出された差分を示す差分情報が出力される。
【０００９】
従って、上記構成によれば、異なる構成を持つ複数の環境であっても、モジュールの配備漏れや配備ミスを軽減可能となる。
【００１０】
また、上記一側面に係る情報処理装置の別の形態として、上記情報処理装置は、前記差分情報に基づいて、古いモジュール状態にある、前記本番環境及び前記検証環境のどちらか一方の環境を、新しいモジュール状態にある他方の環境に合わせるようにモジュールを配備することで、前記古いモジュール状態にある環境をアップデートするモジュール配備部を更に備えてもよい。
【００１１】
また、上記一側面に係る情報処理装置の別の形態として、上記情報処理装置は、前記差分情報の履歴を記憶する記憶部と、前記本番環境又は前記検証環境において配備されたモジュールの動作を検査する検査部と、を更に備えてもよい。そして、前記モジュール配備部は、前記記憶部に記憶された前記差分情報の履歴を用いて、アップデート前のモジュールを再配備することで、前記本番環境及び前記検証環境のいずれか一方の環境をダウングレードさせ、前記検査部は、ダウングレードさせた環境において配備されたモジュールの動作を検査してもよい。
【００１２】
また、上記一側面に係る情報処理装置の別の形態として、前記対応情報取得部は、前記本番環境を示すノードを根ノードとする部分木と前記検証環境を示すノードを根ノードとする部分木とを含む木構造であって、前記検証環境を示すノードを根ノードとする前記部分木には、前記本番環境を示すノードが含まれず、かつ、前記検証環境に配備されたモジュールを示すノードが葉ノードとして含まれ、前記本番環境を示すノードを根ノードとする前記部分木には、前記検証環境を示すノードが含まれず、かつ、前記本番環境に配備されたモジュールを示すノードが葉ノードとして含まれる、木構造により前記所在情報が表現された前記対応情報を取得してもよい。
【００１３】
なお、上記一側面に係る情報処理装置の別の形態として、以上の各構成を実現する情報処理方法であってもよいし、情報処理システムであってもよいし、プログラムであってもよいし、このようなプログラムを記録したコンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。なお、情報処理システムは、１又は複数の情報処理装置によって実現されてもよい。
【発明の効果】
【００１４】
本発明によれば、異なる構成を持つ複数の環境であっても、モジュールの配備漏れや配備ミスを軽減可能にすることができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施の形態に係る複数環境の管理場面を例示する。
【図２】図２は、実施の形態に係る情報処理装置を例示する。
【図３】図３は、実施の形態に係る所在情報の表現例を示す。
【図４】図４は、実施の形態に係る対応情報を例示する。
【図５】図５は、実施の形態に係る情報処理装置による複数環境間におけるモジュールの差分抽出の処理手順を例示する。
【図６】図６は、実施の形態に係る情報処理装置によるデグレードテストの処理手順を例示する。
【発明を実施するための形態】
【００１６】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の
実施にあたって、本実施形態に応じた具体的構成が適宜採用されてもよい。
【００１７】
なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメタ、マシン語等で指定される。
【００１８】
§１  情報処理装置
図１は、本実施形態に係る情報処理装置１が複数環境のモジュールを管理する場面を例示する。情報処理装置１は、各環境をネットワークを介して接続されており、各環境の構成を管理する。情報処理装置１と各環境間のネットワーク接続は、実施形態に応じて適宜選択される。
【００１９】
情報処理装置１は、本番環境におけるモジュールの所在情報と当該本番環境の検証のための検証環境におけるモジュールの所在情報との対応関係を示す対応情報を取得する。そして、情報処理装置１は、取得した対応情報を参照して、本番環境に配備されたモジュールと検証環境に配備されたモジュールとの差分を抽出し、本番環境に配備されたモジュールと検証環境に配備されたモジュールとの抽出された差分を示す差分情報を出力する。
【００２０】
本番環境は、サービスの提供に係るシステムが稼働している環境である。また、検証環境は、当該本番環境におけるサービスの提供に係るシステムの動作検証のための環境である。これらの環境は、例えば、１又は複数台のサーバで構築される。なお、本実施形態において、後述する対応情報が存在するため、本番環境と検証環境とは、異なる台数のサーバで構築されてもよい。
【００２１】
このように、情報処理装置１は、本番環境と検証環境とに配備されたモジュールの差分を抽出する際に対応情報を参照する。ここで、対応情報は、本番環境におけるモジュールの所在情報と検証環境におけるモジュールの所在情報との対応関係を示す。そのため、本番環境と検証環境とが異なる構成を持つ環境であっても、情報処理装置１は、本番環境と検証環境とに配備されたモジュールの差分を抽出することができる。そして、情報処理装置１は、当該抽出された差分を示す差分情報を出力する。
【００２２】
従って、本実施形態に係る情報処理装置１は、異なる構成を持つ複数の環境であっても、モジュールの配備漏れや配備ミスを軽減可能にする。
【００２３】
なお、図１では、検証環境として、検証環境Ａと検証環境Ｂの２つの環境が例示されている。ただし、検証環境は１つでもよいし、３つ以上用意されてもよい。
【００２４】
＜構成例＞
図２は、本実施形態に係る情報処理装置１の構成例を示す。情報処理装置１は、図２に示されるとおり、そのハードウェア構成として、バス１３に接続される、記憶部１１、制御部１２、入出力部１４、及び、通信部１５等を有する。
【００２５】
記憶部１１は、制御部１２で実行される処理で利用される各種データ及びプログラムを記憶する（不図示）。また、記憶部１１は、設定情報２１、対応情報２２、及び、履歴情報２３を格納する。なお、記憶部１１は、例えば、ハードディスク、フラッシュメモリ等の記憶装置によって実現される。
【００２６】
設定情報２１は、各環境の設定に係る情報である。設定情報２１には、例えば、各環境を定義づける情報、各環境内の構成を示す情報、各環境におけるモジュールの所在（パス）を示す所在情報、等が含まれる。
【００２７】
各環境におけるモジュールの所在情報は、例えば、本番環境を示すノードを根ノードとする部分木と検証環境を示すノードを根ノードとする部分木とを含む木構造であって、検証環境を示すノードを根ノードとする部分木には、本番環境を示すノードが含まれず、かつ、検証環境に配備されたモジュールを示すノードが葉ノードとして含まれ、本番環境を示すノードを根ノードとする部分木には、検証環境を示すノードが含まれず、かつ、本番環境に配備されたモジュールを示すノードが葉ノードとして含まれる、木構造により表現される。
【００２８】
図３は、本実施形態に係る所在情報の表現方法を例示する。本実施形態に係る各環境におけるモジュールの所在情報は、頂点階層、サービス名管理階層、環境名管理階層、サーバ名管理階層、及び、モジュールパス管理階層に分類可能な木構造により表現される。
【００２９】
頂点階層では、管理対象とする複数環境全体で一つのノード（根ノード）が定義される。サービス名管理階層では、本番環境によって提供されるサービス、プロジェクト単位ごとのノードが定義される。環境名管理階層では、サービス名管理階層において定義されたサービス、プロジェクト単位ごとに本番環境、検証環境等の環境それぞれのノードが定義される。サーバ名管理階層では、環境名管理階層において定義された環境ごとに、当該環境に含まれるサーバのノードが定義される。モジュールパス管理階層では、サーバ名管理階層において定義されたサーバごとに、当該サーバに含まれるモジュールのノード（葉ノード）が定義される。
【００３０】
つまり、モジュールパス管理階層に係るノードが、パス（path）を示す情報として、各環境におけるモジュールの所在情報を表現する。本実施形態では、このように表現される所在情報によりモジュールの所在が特定される。なお、頂点階層を除いた階層では、複数のノードが定義可能である。
【００３１】
既存の構成管理ツールでは、頂点階層が環境に対応付けられるため、複数環境間の構成を管理することができなかった。本実施形態に係る情報処理装置１は、図３に示されるように各環境を表現し、後述する対応情報２２を用いることで、複数環境間の構成の管理を可能にする。
【００３２】
なお、図３により示される各環境におけるモジュールの所在を表現する方法は、既存の構成管理ツールにおいても適用することが可能である。つまり、既存の構成管理ツールにおけるモジュールの表現方法として、図３により示される表現方法を用いることで、既存の構成管理ツールを利用して本実施形態に係る情報処理装置１を実現することが可能である。
【００３３】
図４は、本実施形態に係る対応情報２２を例示する。対応情報２２は、例えば、テーブル形式で表現される。当該テーブルの各行に係るデータが、それぞれ、モジュールの対応関係を示す。
【００３４】
図４に示されるように、対応情報２２は、例えば、モジュールを識別するための識別子（ＩＤ）、及び、各環境におけるモジュールの所在情報を含む。図４では、ＩＤ１〜４で識別されるモジュールそれぞれの検証環境Ａ及び本番環境におけるモジュールの対応関係を示す対応情報２２が例示される。
【００３５】
なお、ＩＤ１に係るモジュールのデータは、検証環境Ａと本番環境とで、モジュールのパスが異なる場合における対応関係を例示する。所在情報における「root」が頂点階層、「service1」がサービス名階層、検証環境Ａの「kenshoA」及び本番環境の「service」が
環境名管理階層、「apl1」がサーバ名管理階層、その他の部分がモジュールパス管理階層に係る表現に該当する。そのため、ＩＤ２に係るモジュールのデータは、モジュールのファイル名が異なる場合における対応関係を例示する。ＩＤ３に係るモジュールのデータは、サーバが異なる場合における対応関係を例示する。ＩＤ４に係るモジュールのデータは、サービスが異なる場合及びサーバが異なる場合における対応関係を例示する。ＩＤ４に係るモジュールのデータでは、検証環境Ａと本番環境とで、モジュールの適応先の数が異なる場合における対応関係が例示されている。
【００３６】
本実施形態では、各環境のモジュールの対応関係がこのような対応情報２２によって特定される。そのため、各環境が、例えば、異なる台数のサーバを持つ等、異なる構成を持ったとしても、それぞれの環境において対象となるモジュールの所在（パス）を特定することができる。そのため、情報処理装置１は、本番環境と検証環境とが異なる構成を持つ環境であっても、本番環境と検証環境とに配備されたモジュールの差分を抽出することができる。
【００３７】
なお、図４で例示される対応情報２２は、検証環境Ａ及び本番環境の２つの環境にそれぞれ含まれるモジュールの対応関係を示す。しかしながら、対応情報２２は、対象となる環境のフィールドを用意することで、３つ以上の環境にそれぞれ含まれるモジュールの対応関係を示してもよい。
【００３８】
履歴情報２３は、後述する差分情報の履歴を示す。情報処理装置１は、上記対応情報２２により示される対応関係にあるモジュールのバージョンの違い等の差分を抽出し、当該抽出した差分を差分情報として出力する。履歴情報２３は、当該差分を抽出した時刻と当該差分情報とを対応付けた情報である。
【００３９】
なお、設定情報２１、対応情報２２、及び、履歴情報２３のデータ形式は、それぞれ、実施の形態に応じて適宜選択されてよい。また、本実施形態では、設定情報２１、対応情報２２、及び、履歴情報２３は、記憶部１１に格納されている。しかしながら、設定情報２１、対応情報２２、及び、履歴情報２３は、それぞれ、ＮＡＳ（Network Attached Storage）等の独立した装置に格納されてもよい。
【００４０】
図２に戻り、制御部１２は、マイクロプロセッサ又はＣＰＵ（Central Processing Unit）等の１又は複数のプロセッサと、当該１又は複数のプロセッサの処理に利用される周
辺回路（ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、インタフェース回路等）と、を有する。制御部１２は、記憶部１１に格納されている各種データ及びプログラムを実行することにより、本実施形態における情報処理装置１の処理を実現する。ＲＯＭ、ＲＡＭ等は、制御部１２内のプロセッサが取り扱うアドレス空間に配置されているという意味で主記憶装置と呼ばれてもよい。
【００４１】
図２に示されるとおり、制御部１２は、対応情報取得部３１、差分抽出部３２、出力部３３、モジュール配備部３４、及び、検査部３５を含む。対応情報取得部３１、差分抽出部３２、出力部３３、モジュール配備部３４、及び、検査部３５は、例えば、記憶部１１に格納されたプログラム等が制御部１２の周辺回路であるＲＡＭ等に展開され、制御部１２のプロセッサにより実行されることによって実現される。
【００４２】
対応情報取得部３１は、本番環境におけるモジュールの所在情報と当該本番環境の検証のための検証環境におけるモジュールの所在情報との対応関係を示す対応情報を取得する。差分抽出部３２は、取得した対応情報を参照して、本番環境に配備されたモジュールと検証環境に配備されたモジュールとの差分を抽出する。そして、出力部３３は、本番環境に配備されたモジュールと検証環境に配備されたモジュールとの当該抽出された差分を示
す差分情報を出力する。
【００４３】
モジュール配備部３４は、差分情報に基づいて、古いモジュール状態にある、本番環境及び検証環境のどちらか一方の環境を、新しいモジュール状態にある他方の環境に合わせるようにモジュールを配備することで、古いモジュール状態にある環境をアップデートする。情報処理装置１は、当該モジュールの配備を実行しない場合、当該モジュール配備部３４を備えなくてもよい。
【００４４】
検査部３５は、本番環境又は検証環境において配備されたモジュールの動作を検査する。ここで、モジュール配備部３４は、記憶部１１に記憶された履歴情報２３を用いて、アップデートまでのモジュールを再配備することで、本番環境及び検証環境のいずれか一方の環境をダウングレードさせてもよい。そして、検査部３５は、ダウングレードさせた環境において配備されたモジュールの動作を検査してもよい。
【００４５】
入出力部１４は、情報処理装置１の外部に存在する装置とデータの送受信を行うための１又は複数のインタフェースである。入出力部１４は、例えば、入力装置及び出力装置等のユーザインタフェースと接続するためのインタフェース、若しくは、ＵＳＢ（Universal Serial Bus）メモリ等の装置とＵＳＢ接続するためのインタフェース、又は、これらのインタフェースの組合せである。入出力部１４は、例えば、不図示のユーザインタフェース（タッチパネル、テンキー、キーボード、マウス、ディスプレイ等の入出力装置）と接続してもよい。
【００４６】
通信部１５は、ネットワークを介して、他の装置とデータ通信を行うための１又は複数のインタフェースである。本実施形態では、情報処理装置１は、当該通信部１５により、各環境に含まれるサーバ等とデータ通信を行う。
【００４７】
本実施形態に係る情報処理装置１は、これらの構成を備える装置である。情報処理装置１は、例えば、ＰＣ等の汎用コンピュータや仮想環境のコンピュータであってもよい。また、情報処理装置１は、複数台のサーバにより構築されてもよい。例えば、情報処理装置１は、各環境に配備されたモジュールのバージョンを管理するリポジトリサーバ、モジュールの配備を行うサーバ等により実現されてもよい。
【００４８】
§２  動作例
次に、図５、及び、図６を用いて、本実施形態に係る情報処理装置１の動作例を説明する。図５は、情報処理装置１による複数環境間におけるモジュールの差分抽出に係る処理手順を例示する。図６は、情報処理装置１によるデグレード検証に係る処理手順を例示する。図５及び図６では、ステップを「Ｓ」と略称する。
【００４９】
＜差分抽出＞
ステップ１０１では、対応情報取得部３１によって、対応情報２２が取得される。例えば、対応情報取得部３１は、記憶部１１に格納される対応情報２２を取得する。なお、対応情報取得部３１は、他の情報処理装置からネットワークを介して対応情報２２を取得してもよい。
【００５０】
ここで、対応情報２２は、情報処理装置１の利用者によって作成される。例えば、モジュールを追加する場合、利用者は、対象となるサービス名、環境名、サーバ名、モジュールのディレクトリパス名等を入力する。また、例えば、ある環境からサーバを退出させる場合、利用者は、設定情報２１を変更し、必要であれば対応情報２２を変更することで、各環境におけるモジュールの構成を変更することなくサーバを退出させることが可能となる。
【００５１】
ステップ１０２では、差分抽出部３２によって、各環境間におけるモジュールの差分が抽出される。差分抽出部３２は、ステップ１０１において取得された対応情報２２を参照し、対応関係にある各環境のモジュールを特定する。例えば、差分抽出部３２は、図４により例示される対応情報２２を参照した場合、本番環境及び検証環境Ａそれぞれの対応関係にあるモジュールを特定する。以下、図４に例示される対応情報２２を用いて説明する。
【００５２】
差分抽出部３２は、本番環境及び検証環境Ａそれぞれに、特定した対象のモジュールが存在するか否かを判定する。当該判定の結果、いずれかの環境において対象のモジュールが存在しない場合、差分抽出部３２は、いずれかの環境（本番環境又は検証環境Ａ）において対象のモジュールが存在しないことを差分情報として抽出する。
【００５３】
また、本番環境及び検証環境Ａそれぞれに対象のモジュールが存在する場合、差分抽出部３２は、例えば、それぞれの環境における対象のモジュールのチェックサムを比較することで、当該モジュールのバージョンが一致するか否かを判定する。差分抽出部３２は、当該モジュールのチェックサムが異なる場合に、本番環境及び検証環境Ａにおける対象のモジュールのバージョンが異なることを差分情報として抽出する。なお、抽出される差分情報では、いずれの環境におけるモジュールが古いバージョンであるかが示される。
【００５４】
ここで、ステップ１０１及び１０２による差分抽出処理は、バッチ処理として定期的に実行するように設定されていてもよい。また、対応情報２２では、モジュールの他に、テキストデータ、プロパティファイル等も設定されていてもよい。これにより、モジュールの他のデータについても差分を抽出することが可能になる。
【００５５】
なお、上述のとおり、対応情報２２は、利用者によって設定される情報である。したがって、利用者は、抽出対象として所望するモジュールを対応情報２２に設定することで、所望するモジュールについての差分情報を得ることができる。
【００５６】
ステップ１０３では、出力部３３により、ステップ１０２において抽出された差分情報が出力される。出力部３３は、例えば、ディスプレイ等の出力装置にステップ１０２において抽出された差分情報を出力する。出力装置では、例えば、モジュールの管理画面として差分情報を表示する。なお、出力部３３は、例えば、当該差分情報を電子メールで利用者に配信してもよい。
【００５７】
ステップ１０４では、モジュール配備部３４は、ステップ１０３において出力された差分に係るモジュールについて、古いモジュール状態にある、本番環境及び検証環境のどちらか一方の環境を、新しいモジュール状態にある他方の環境に合わせるようにモジュールを配備することで、古いモジュール状態にある環境をアップデートするか否かを受け付ける。古いモジュール状態とは、対象のモジュールが存在しない、又は、対象のモジュールが古いバージョンである状態を示す。
【００５８】
利用者は、出力装置に出力された差分情報を閲覧して、アップデートするモジュールを選択する。これにより、利用者の所望するタイミングで、各環境におけるモジュールのアップデートを実行することが可能になる。アップデート対象に選択されたモジュールについては、次のステップ１０５の処理が実行される。他方、アップデート対象に選択されなかったモジュールについては、次のステップ１０５の処理は省略される。
【００５９】
ステップ１０５では、モジュール配備部３４によって、ステップ１０４で選択されたモジュールのアップデートが行われる。モジュール配備部３４は、差分情報を参照し、古い
モジュール状態にある環境におけるモジュールに、新しいモジュール状態にある環境のモジュールを配備することで、古いモジュール状態にある環境におけるモジュールのアップデートを行う。なお、モジュール配備部３４は、設定情報２１を当該アップデートに合わせて更新する。
【００６０】
なお、配備するモジュールは、記憶部１１に格納されていてもよいし、ネットワークを介して他の情報処理装置から取得されてもよい。また、モジュール配備部３４は、他の情報処理装置に当該モジュールの配備を要求することで、他の情報処理装置に対象のモジュールを対象のサーバに配備させてもよい。
【００６１】
＜デグレード検証＞
次に、図６に示されるデグレード検証に係る情報処理装置１の処理手順を説明する。当該デグレード検証は、バッチ処理として定期的に実行するように設定されていてもよい。
【００６２】
ステップ２０１では、検査部３５により、モジュールのアップデートが行われたか否かが判定される。検査部３５は、例えば、前回にデグレード検証してから今回のデグレード検証を行うまでの間に、モジュールのアップデートが行われたか否かを履歴情報２３又は設定情報２１を参照することで、判定する。
【００６３】
履歴情報２３には、抽出された差分に基づいてモジュールのアップデートが行われたか否かを示す情報が含まれてもよく、設定情報２１は、モジュールのアップデートに更新される。よって、検査部３５は、これらの情報を参照することで、抽出された差分に基づいてモジュールのアップデートが行われたか否かを特定することができる。モジュールのアップデートが行われた場合、処理は次のステップ２０２に進む。他方、モジュールのアップデートが行われていない場合、処理は終了する。
【００６４】
ステップ２０２では、モジュール配備部３４により、アップデート前のモジュールが再配備されることで、本番環境及び検証環境のいずれか一方の環境がダウングレードされる。モジュール配備部３４は、履歴情報２３又は設定情報２１を参照し、本番環境及び検証環境のいずれかの環境においてアップデートされたモジュールを特定する。そして、モジュール配備部３４は、特定したモジュールについて、本番環境及び検証環境のいずれか一方の環境において、ダウングレードする。モジュールがダウングレードされる環境は、いずれの環境が設定されてもよいし、検証環境に固定されていてもよい。また、検証環境が複数存在する場合は、検証するモジュール毎にダウングレードを行う環境が設定されてもよい。
【００６５】
なお、再配備されるモジュールは、上述のとおり、記憶部１１に格納されていてもよいし、ネットワークを介して他の情報処理装置から取得されてもよい。また、モジュール配備部３４は、他の情報処理装置に当該モジュールの再配備を要求することで、他の情報処理装置に対象のモジュールを対象のサーバに再配備させてもよい。
【００６６】
ステップ２０３では、検査部３５により、モジュールがダウングレードされた環境において、デグレード検証が行われる。検査部３５は、モジュール毎に設定されたテストスクリプトを実行することで、デグレード検証を行う。テストスクリプトは、例えば、所定の動作に係る記述がされたデータである。当該テストスクリプトは、記憶部１１に格納されていてもよく、また、ネットワークを介して他の情報処理装置から取得されてもよい。
【００６７】
検査部３５は、当該テストスクリプトに従って、対象のモジュールにおいて所定の動作が正常に実行可能か否かを調べることで、デグレード検証を行う。この場合、検査部３５は、対象のモジュールにおいて所定の動作が正常に実行されない場合、デグレードが生じ
たことを検出する。他方、検査部３５は、対象のモジュールにおいて所定の動作が正常に実行された場合、デグレードが生じていないことを検出する。
【００６８】
ステップ２０４では、出力部３３により、検査結果を示す情報として、デグレードが生じたモジュールを示す情報が出力される。出力部３３は、例えば、ステップ２０３により検出されたデグレードが生じたモジュールを示す情報を、ディスプレイ等の出力装置にモジュールの管理画面として表示してもよいし、電子メールで利用者に配信してもよい。なお、検査結果を示す情報には、配備されているモジュールのうち上記デグレード検証を行ったモジュールの割合を示す消化率の情報が含まれてもよい。利用者は、当該消化率により、デグレード検証が行われたモジュールの割合を一目で知ることが可能になる。
【００６９】
なお、モジュール配備部３４は、当該検査の終了後に自動で、又は、利用者からの指示を受け付けることで、再配備したモジュールを元の状態（最新の状態）に戻してもよい。
【００７０】
§３  補足
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
【符号の説明】
【００７１】
１…情報処理装置、
１１…記憶部、１２…制御部、
２１…設定情報、２２…対応情報、２３…履歴情報、
３１…対応情報取得部、３２…差分抽出部、３３…出力部、
３４…モジュール配備部、３５…検査部
【図１】
0005905313.tif 000002
【図２】
0005905313.tif 000003
【図３】
0005905313.tif 000004
【図４】
0005905313.tif 000005
【図５】
0005905313.tif 000006
【図６】
0005905313.tif 000007