(57)【要約】  システム構築時におけるシステムの正常性の確認を効率的に行う。  配備装置１００の構成情報記憶部１０４は、システムを構成するモジュールの識別子に対応付けて、プラットフォーム（ＰＦ）モジュールの配備の正常性を確認するためのＰＦ確認モジュールの識別子と、モジュールの配備の正常性を確認するための自己確認モジュールの識別子と、の内の少なくとも一方を含む構成情報を記憶する。正常性確認部１０６は、構成情報を参照し、モジュールの処理装置への配備前におけるＰＦ確認モジュールによるＰＦモジュールの配備の正常性の確認と、モジュールの処理装置への配備後における自己確認モジュールによるモジュールの配備の正常性の確認と、の内の少なくとも一方を行う。
2013183249.tif 000002
【特許請求の範囲】
【請求項１】
システムを構成するモジュールの識別子に対応付けて、当該モジュールが依存する他のモジュールであるプラットフォーム（ＰＦ）モジュールの配備の正常性を確認するためのＰＦ確認モジュールの識別子を含むＰＦ確認情報と、前記モジュールの配備の正常性を確認するための自己確認モジュールの識別子を含む自己確認情報と、の内の少なくとも一方を含む構成情報を記憶する構成情報記憶手段と、
前記構成情報を参照し、前記モジュールの処理装置への配備前における、前記処理装置上での前記ＰＦ確認モジュールによる前記ＰＦモジュールの配備の正常性の確認と、前記モジュールの前記処理装置への配備後における、前記処理装置上での前記自己確認モジュールによる前記モジュールの配備の正常性の確認と、の内の少なくとも一方を行う正常性確認手段と、を備える配備装置。
【請求項２】
さらに、前記モジュールを前記処理装置に配備する配備手段を備える請求項１に記載の配備装置。
【請求項３】
前記構成情報記憶手段は、前記システムを構成する複数の前記モジュールの各々の識別子に対応付けて、前記構成情報を記憶し、
前記構成情報は、さらに、前記ＰＦモジュールの識別子を含み、
前記配備手段は、前記複数の前記モジュールの各々の前記構成情報を参照し、前記複数の前記モジュールの各々の前記ＰＦモジュールが当該モジュールよりも前に前記処理装置に配備されるように前記複数の前記モジュールの配備の順序を決定し、当該決定した順序に従って前記複数の前記モジュールの各々を配備し、
前記正常性確認手段は、前記複数の前記モジュールの各々を配備する場合に、前記ＰＦ確認モジュールによる前記ＰＦモジュールの配備の正常性の確認と、前記自己確認モジュールによる前記モジュールの配備の正常性の確認と、の内の少なくとも一方を行う請求項２に記載の配備装置。
【請求項４】
前記配備手段は、前記ＰＦ確認モジュールによる前記ＰＦモジュールの配備の正常性の確認の結果、前記ＰＦモジュールの配備が正常に行われている場合、前記モジュールを前記処理装置に配備する請求項２または３に記載の配備装置。
【請求項５】
前記配備手段は、前記自己確認モジュールによる前記モジュールの配備の正常性の確認の結果、前記モジュールの配備が正常に行われている場合、当該モジュールを前記ＰＦモジュールとする前記モジュールの配備を行う請求項２乃至４のいずれかに記載の配備装置。
【請求項６】
前記ＰＦ確認情報は、さらに、前記ＰＦモジュールの配備の正常性の確認の重要度を含み、
前記正常性確認手段は、前記ＰＦモジュールの配備の正常性の確認の重要度と入力された閾値とを比較することにより、前記ＰＦモジュールの配備の正常性の確認を行うかどうかを判断する請求項１乃至５のいずれかに記載の配備装置。
【請求項７】
前記自己確認情報は、さらに、前記モジュールの配備の正常性の確認の重要度を含み、
前記正常性確認手段は、前記モジュールの配備の正常性の確認の重要度と入力された閾値とを比較することにより、前記モジュールの配備の正常性の確認を行うかどうかを判断する請求項１乃至６のいずれかに記載の配備装置。
【請求項８】
前記ＰＦ確認モジュールは、前記ＰＦモジュールが配備されたときに生成される所定のファイルの有無、前記ＰＦモジュールが配備されたときに起動される所定のプロセスの有無、前記ＰＦモジュールが配備されたときに生成されるログの所定の文字列の有無、及び、前記ＰＦモジュールの所定の関数の実行結果の内の少なくとも一つを基に、前記ＰＦモジュールの配備の正常性の確認を行う請求項１乃至７のいずれかに記載の配備装置。
【請求項９】
前記自己確認モジュールは、前記モジュールが配備されたときに生成される所定のファイルの有無、前記モジュールが配備されたときに起動される所定のプロセスの有無、前記モジュールが配備されたときに生成されるログの所定の文字列の有無、及び、前記モジュールの所定の関数の実行結果の内の少なくとも一つを基に、前記モジュールの配備の正常性の確認を行う請求項１乃至８のいずれかに記載の配備装置。
【請求項１０】
システムを構成するモジュールの識別子に対応付けて、当該モジュールが依存する他のモジュールであるプラットフォーム（ＰＦ）モジュールの配備の正常性を確認するためのＰＦ確認モジュールの識別子を含むＰＦ確認情報と、前記モジュールの配備の正常性を確認するための自己確認モジュールの識別子を含む自己確認情報と、の内の少なくとも一方を含む構成情報を記憶し、
前記モジュールを処理装置に配備し、
前記構成情報を参照し、前記モジュールの配備前における、前記処理装置上での前記ＰＦ確認モジュールによる前記ＰＦモジュールの配備の正常性の確認と、前記モジュールの配備後における、前記処理装置上での前記自己確認モジュールによる前記モジュールの配備の正常性の確認と、の内の少なくとも一方を行う、配備方法。
【請求項１１】
コンピュータに、
システムを構成するモジュールの識別子に対応付けて、当該モジュールが依存する他のモジュールであるプラットフォーム（ＰＦ）モジュールの配備の正常性を確認するためのＰＦ確認モジュールの識別子を含むＰＦ確認情報と、前記モジュールの配備の正常性を確認するための自己確認モジュールの識別子を含む自己確認情報と、の内の少なくとも一方を含む構成情報を記憶し、
前記モジュールを処理装置に配備し、
前記構成情報を参照し、前記モジュールの配備前における、前記処理装置上での前記ＰＦ確認モジュールによる前記ＰＦモジュールの配備の正常性の確認と、前記モジュールの配備後における、前記処理装置上での前記自己確認モジュールによる前記モジュールの配備の正常性の確認と、の内の少なくとも一方を行う、処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの配備装置、及び、配備方法に関する。
【背景技術】
【０００２】
仮想マシンを用いたシステムでは、サービスアプリケーションを実行するための環境（システム実行環境）がマニュアルで構築されることがある。この場合、サービスアプリケーションの開発者が実行環境を構築するための作業手順を構築手順書として作成し、構築要員がその手順書に従って、ＯＳ（Operating System）やミドルウェア、関連ライブラリ等の各種モジュールの配備、設定を行った上で、開発されたアプリケーションモジュールの配備、設定を行う。そして、構築要員は、構築手順書内に記載された確認項目に従って、配備されたモジュールに係るログやファイルの有無、その他の出力を目視でチェックすることにより、実行環境が正常に構築されたかどうかを確認する。【０００３】
このようなシステム実行環境の構築を効率的に行う方法として、非特許文献１には、実行環境の構築をオーケストレーションツールによって行う方法が開示されている。オーケストレーションツールは、システム毎に個別に記述されたワークフローに従って実行環境を構築する。そして、オーケストレーションツールは、ワークフロー内に記述された手順に従って、実行環境が正常に構築されたかどうかを確認する。【０００４】
なお、関連技術として、特許文献１には、運用中のシステムの正常性を確認するためのプルーブを、システムを構成するコンポーネント毎に挿入する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４８０９７７２号公報
【非特許文献】
【０００６】
【非特許文献１】"HP Operations Orchestration software"、Hewlett-Packard Company、［online］、［平成24年5月29日検索］、インターネット〈URL：http://www8.hp.com/us/en/software/software-product.html?compURI=tcm:245-936143&pageTitle=operations-orchestration-software〉
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述の非特許文献１のように、システムの構築をオーケストレーションツールで行う場合、開発者は、システムの正常性を確認するための手順を、システム毎に、ワークフローの一部として定義する必要がある。このため、異なる多くの種類のシステムを構築する必要がある場合や、構築対象のシステムが多くのモジュールにより構成される複雑なシステムである場合、ワークフローを生成するための開発者の負担が大きくなる。【０００８】
本発明の目的は、上述の課題を解決し、システム構築時におけるシステムの正常性の確認をより効率的に行うことができる配備装置、及び、配備方法を提供することである。
【課題を解決するための手段】
【０００９】
本発明の一態様における配備装置は、システムを構成するモジュールの識別子に対応付けて、当該モジュールが依存する他のモジュールであるプラットフォーム（ＰＦ）モジュールの配備の正常性を確認するためのＰＦ確認モジュールの識別子を含むＰＦ確認情報と、前記モジュールの配備の正常性を確認するための自己確認モジュールの識別子を含む自己確認情報と、の内の少なくとも一方を含む構成情報を記憶する構成情報記憶手段と、前記構成情報を参照し、前記モジュールの処理装置への配備前における、前記処理装置上での前記ＰＦ確認モジュールによる前記ＰＦモジュールの配備の正常性の確認と、前記モジュールの前記処理装置への配備後における、前記処理装置上での前記自己確認モジュールによる前記モジュールの配備の正常性の確認と、の内の少なくとも一方を行う正常性確認手段と、を備える。【００１０】
本発明の一態様における配備方法は、システムを構成するモジュールの識別子に対応付けて、当該モジュールが依存する他のモジュールであるプラットフォーム（ＰＦ）モジュールの配備の正常性を確認するためのＰＦ確認モジュールの識別子を含むＰＦ確認情報と、前記モジュールの配備の正常性を確認するための自己確認モジュールの識別子を含む自己確認情報と、の内の少なくとも一方を含む構成情報を記憶し、前記モジュールを処理装置に配備し、前記構成情報を参照し、前記モジュールの配備前における、前記処理装置上での前記ＰＦ確認モジュールによる前記ＰＦモジュールの配備の正常性の確認と、前記モジュールの配備後における、前記処理装置上での前記自己確認モジュールによる前記モジュールの配備の正常性の確認と、の内の少なくとも一方を行う。【００１１】
本発明の一態様におけるコンピュータが読み取り可能な記録媒体は、コンピュータに、システムを構成するモジュールの識別子に対応付けて、当該モジュールが依存する他のモジュールであるプラットフォーム（ＰＦ）モジュールの配備の正常性を確認するためのＰＦ確認モジュールの識別子を含むＰＦ確認情報と、前記モジュールの配備の正常性を確認するための自己確認モジュールの識別子を含む自己確認情報と、の内の少なくとも一方を含む構成情報を記憶し、前記モジュールを処理装置に配備し、前記構成情報を参照し、前記モジュールの配備前における、前記処理装置上での前記ＰＦ確認モジュールによる前記ＰＦモジュールの配備の正常性の確認と、前記モジュールの配備後における、前記処理装置上での前記自己確認モジュールによる前記モジュールの配備の正常性の確認と、の内の少なくとも一方を行う、処理を実行させるプログラムを格納する。
【発明の効果】
【００１２】
本発明の効果は、システム構築時におけるシステムの正常性の確認をより効率的に行うことができることである。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施の形態の特徴的な構成を示すブロック図である。
【図２】本発明の第１の実施の形態における、配備システムの構成を示すブロック図である。
【図３】本発明の第１の実施形態における、モジュール間の依存関係の例を示す図である。
【図４】本発明の第１の実施の形態における、構成情報３００の例を示す図である。
【図５】本発明の第１の実施の形態における、構成情報３００の他の例を示す図である。
【図６】本発明の第１の実施の形態における、正常性確認方法の概略を示す図である。
【図７】本発明の第１の実施の形態における、構築リストの例を示す図である。
【図８】本発明の第１の実施の形態における、システム構築処理を示すフローチャートである
【図９】本発明の第１の実施の形態における、構築リスト生成処理（ステップＳ１２）の詳細を示すフローチャートである。
【図１０】本発明の第１の実施の形態における、ノード処理（ステップＳ１２０４）の詳細を示すフローチャートである。
【図１１】本発明の第１の実施の形態における、モジュール配備処理（ステップＳ１７）の詳細を示すフローチャートである。
【図１２】本発明の第２の実施の形態における、構成情報３００の例を示す図である。
【発明を実施するための形態】
【００１４】
（第１の実施の形態）
次に、本発明の第１の実施の形態について説明する。
【００１５】
はじめに、本発明の第１の実施の形態の構成について説明する。図２は、本発明の第１の実施の形態における、配備システムの構成を示すブロック図である。
【００１６】
図２を参照すると、配備システムは、開発環境１、外部レポジトリ２、配備装置１００、及び、処理装置２００を含む。
【００１７】
配備装置１００は、ＩＴシステムを構成する、ＯＳ、ミドルウェア（ＭＷ）、アプリケーション（ＡＰ）等のプログラムモジュール（以下、モジュールとする）を処理装置２００に配備することにより、システムを構築する。ここで、配備とは、処理装置２００にモジュールを送信して、処理装置２００内のインストール用プログラムにより当該モジュールのインストールを行うことである。
【００１８】
配備装置１００は、各モジュールの構成情報３００に記述された依存関係に従って、各モジュールを処理装置２００に配備する。
【００１９】
図３は、本発明の第１の実施形態における、モジュール間の依存関係の例を示す図である。図３において、矩形はモジュール、矩形間の矢印は依存関係を示す。ここで、矢印の元のモジュールを処理装置２００に配備するためには、矢印の先のモジュールが処理装置２００に配備されていることが必要である。すなわち、矢印の元のモジュールは、矢印の先のモジュールに依存する。図３の例では、モジュール「ＡＰ１」がモジュール「Ｔｏｍｃａｔ」と「ＰｏｓｔｇｒｅＳＱＬ」に、モジュール「Ｔｏｍｃａｔ」がモジュール「Ｊａｖａ（登録商標）」に依存する。なお、矢印の先のモジュールを、矢印の元のモジュールに対するプラットフォーム（ＰＦ）モジュール、または、下位モジュール、矢印の元のモジュールを、矢印の先のモジュールに対する上位モジュールと呼ぶ。また、あるモジュールからＰＦモジュールを辿ることにより得られるモジュール群を、当該モジュールのプラットフォームと呼ぶ。
【００２０】
本発明の第１の実施の形態では、各モジュールが依存するＰＦモジュールが先に処理装置２００に配備されるように、各モジュールの配備の順序が決定される。
【００２１】
配備装置１００は、モジュール管理部１０１、モジュール記憶部１０２、構成情報管理部１０３、構成情報記憶部１０４、配備部１０５、正常性確認部１０６、及び、構築要求入力部１０７を含む。
【００２２】
モジュール管理部１０１は、システムを構築するために必要なモジュールを開発環境１や外部レポジトリ２から取得し、モジュール記憶部１０２に保存する。モジュール管理部１０１は、例えば、ＡＰモジュールを開発環境１から取得し、ＯＳモジュールやＭＷモジュール等、複数のシステム間で共通なモジュールを外部レポジトリ２から取得する。
【００２３】
構成情報管理部１０３は、各モジュールの構成情報３００を、開発環境１、または、外部レポジトリ２から取得し、構成情報記憶部１０４に保存する。
【００２４】
図４、図５は、本発明の第１の実施の形態における、構成情報３００の例を示す図である。構成情報３００はモジュール毎に設定される。
【００２５】
構成情報３００は、モジュール情報３１０、１以上のＰＦモジュール情報３２０、及び、自己確認情報３３０を含む。
【００２６】
ここで、モジュール情報３１０は、モジュール識別子３１１、及び、モジュール識別子３１１で示されるモジュール（配備対象モジュール）のファイル識別子３１２を含む。なお、配備対象モジュールが、当該モジュールをインストールするための情報とともに、パッケージファイルに格納されている場合、ファイル識別子３１２は、パッケージファイルの識別子でもよい。
【００２７】
ＰＦモジュール情報３２０は、配備対象モジュールに対するＰＦモジュールの識別子であるＰＦモジュール識別子３２１、及び、ＰＦ確認情報３２２を含む。ＰＦ確認情報３２２には、ＰＦ確認モジュールのモジュール種別３２３、及び、ファイル識別子３２４を含む。
【００２８】
ＰＦ確認モジュールは、配備対象モジュールを配備する前に、ＰＦモジュールの配備の正常性を確認するために用いるモジュール（プログラムやスクリプト）であり、ＰＦモジュール、または、ＯＳ上に配備、実行される。ＰＦ確認モジュールのモジュール種別３２３が「ｄｅｐｌｏｙ」の場合、ＰＦ確認モジュールは、ＰＦモジュール上に配備される。モジュール種別３２３が「ｓｔａｎｄａｌｏｎｅ」の場合、ＰＦ確認モジュールは、ＯＳ上に直接配備される。
【００２９】
ＰＦ確認モジュールは、例えば、ＰＦモジュールが配備されたときに生成される所定のファイルや起動される所定のプロセスの有無をもとに、ＰＦモジュールの配備の正常性を確認する。また、ＰＦ確認モジュールは、ＰＦモジュールが配備されたときにＯＳ等により生成されるログの所定の文字列の有無をもとに、正常性を確認してもよい。
【００３０】
また、ＰＦ確認モジュールは、ＰＦモジュールの所定の関数やＡＰＩ（Application Program Interface）を呼び出し、所定の戻り値が得られるかどうかにより、ＰＦモジュールの配備の正常性を確認してもよい。さらに、ＰＦ確認モジュールは、ＰＦモジュールに、所定のスクリプト、及び、データを与え、所定の結果が得られるかどうかにより、ＰＦモジュールの配備の正常性を確認してもよい。
【００３１】
なお、ＰＦ確認モジュールは、配備対象モジュールが利用するファイル、プロセス、関数、ＡＰＩ等について、上述の確認をしてもよい。
【００３２】
自己確認情報３３０は、自己確認モジュールのモジュール種別３３１、及び、ファイル識別子３３２を含む。
【００３３】
自己確認モジュールは、配備対象モジュールの配備後に、当該配備対象モジュールの配備の正常性を確認するために用いるモジュール（プログラムやスクリプト）であり、配備対象モジュール、または、ＯＳ上に配備、実行される。自己確認モジュールのモジュール種別３３１が「ｄｅｐｌｏｙ」の場合、自己確認モジュールは、配備対象モジュール上に配備される。モジュール種別３３１が「ｓｔａｎｄａｌｏｎｅ」の場合、自己確認モジュールは、ＯＳ上に直接配備される。
【００３４】
自己確認モジュールは、ＰＦ確認モジュールと同様に、例えば、配備対象モジュールが配備されたときに生成される所定のファイルや起動される所定のプロセスの有無をもとに、配備対象モジュールの配備の正常性を確認する。また、自己確認モジュールは、配備対象モジュールが配備されたときにＯＳ等により生成されるログの所定の文字列の有無をもとに、正常性を確認してもよい。
【００３５】
また、自己確認モジュールは、ＰＦ確認モジュールと同様に、配備対象モジュールの所定の関数やＡＰＩを呼び出し、所定の戻り値が得られるかどうかにより、配備対象モジュールの配備の正常性を確認してもよい。さらに、自己確認モジュールは、配備対象モジュールに、所定のスクリプト、及び、データを与え、所定の結果が得られるかどうかにより、配備対象モジュールの配備の正常性を確認してもよい。
【００３６】
図４の例は、モジュール識別子３１１「ＡＰ１」のＡＰモジュールに関する構成情報３００である。この場合、モジュール「ＡＰ１」が動作するためには、ＰＦモジュール識別子３２１が「Ｔｏｍｃａｔ」、「ＰｏｓｔｇｒｅＳＱＬ」のＰＦモジュールが必要である。また、ＰＦモジュール「Ｔｏｍｃａｔ」、「ＰｏｓｔｇｒｅＳＱＬ」の配備の正常性の確認は、それぞれ、ファイル識別子３２４「Ｐｆ４ＡＰ１．ｗａｒ」、「ＰＳＱＬＡＰ１．ｓｑｌ」のＰＦ確認モジュールにより行われる。さらに、モジュール「ＡＰ１」の配備の正常性の確認は、ファイル識別子３３２「Ａｐ１ｓｅｌｆ」の自己確認モジュールにより行われる。
【００３７】
各モジュールの開発者等は、当該モジュールに関するＰＦ確認モジュール、及び、自己確認モジュールを予め生成し、これらのモジュールの種別やファイル識別子を、当該モジュールの構成情報３００におけるＰＦ確認情報３２２、及び、自己確認情報３３０に、それぞれ設定する。
【００３８】
そして、モジュール管理部１０１は、生成されたＰＦ確認モジュール、及び、自己確認モジュールを、開発環境１、または、外部レポジトリ２から取得し、モジュール記憶部１０２に保存する。また、構成情報管理部１０３は、生成された構成情報３００を、開発環境１、または、外部レポジトリ２から取得し、構成情報記憶部１０４に保存する。
【００３９】
なお、構成情報３００は、ＸＭＬ（Extensible Markup Language）等、他の形式で記述されてもよい。また、配備対象モジュールが依存するＰＦモジュールが存在しない場合、ＰＦモジュール情報３２０は設定されていなくてもよい。また、ＰＦモジュールや配備対象モジュールの配備の正常性の確認が不要な場合、ＰＦ確認情報３２２や自己確認情報３３０は設定されていなくてもよい。
【００４０】
配備部１０５は、プロビジョニング部１０８、ＡＰモジュール配備部１０９、ＭＷ配備部１１０、ＯＳ配備部１１１、仮想マシン（ＶＭ）配備部１１２、及び、ネットワーク（ＮＷ）配備部１１３を含む。
【００４１】
プロビジョニング部１０８は、システムを構成する各モジュールの構成情報３００をもとに、各モジュールを処理装置２００に配備する。ここで、プロビジョニング部１０８は、ＶＭ配備部１１２、及び、ＮＷ配備部１１３を用いて、処理装置２００上に、システムを構築するための仮想サーバ２０２を生成する。また、プロビジョニング部１０８は、ＡＰモジュール配備部１０９、ＭＷ配備部１１０、及び、ＯＳ配備部１１１を用いて、各モジュールを、生成した仮想サーバ２０２に配備する。
【００４２】
正常性確認部１０６は、ＰＦ確認モジュールによるＰＦモジュールの配備の正常性の確認、及び、自己確認モジュールによる配備対象モジュールの配備の正常性の確認を行う。
【００４３】
構築要求入力部１０７は、利用者等からのシステム構築要求の入力を受け付ける。
【００４４】
処理装置２００は、例えば、通信機能を持つ基本ＯＳやインストールプログラム等を備えたコンピュータである。処理装置２００は、ＶＭモニタやハイパーバイザ等の仮想化基盤２０１を含む。仮想化基盤２０１は、配備部１０５からの要求に応じて、仮想サーバ２０２を生成し、生成された仮想サーバ２０２へ、配備部１０５から受信した各モジュールを配備する。仮想サーバ２０２は、配備された各モジュールの処理を実行する。
【００４５】
なお、配備装置１００はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）とプログラムを記憶した記憶媒体を含み、プログラムに基づく制御によって動作するコンピュータであってもよい。また、モジュール記憶部１０２と、構成情報記憶部１０４とは、それぞれ個別の記憶媒体でも、１つの記憶媒体によって構成されてもよい。
【００４６】
次に、本発明の第１の実施の形態における配備装置１００の動作について説明する。
【００４７】
はじめに、本発明の第１の実施の形態における、正常性確認方法の概略を説明する。図６は、本発明の第１の実施の形態における、正常性確認方法の概略を示す図である。
【００４８】
ここで、配備対象モジュールに対するプラットフォームが既に配備されている（図６の状態１）と仮定する。正常性確認部１０６は、配備対象モジュールの構成情報３００を参照し、モジュール記憶部１０２から取得したＰＦ確認モジュールを処理装置２００に配備し、ＰＦモジュールの配備の正常性を確認する（状態２）。正常に配備されていることが確認された場合、プロビジョニング部１０８は、構成情報３００を参照し、モジュール記憶部１０２から取得した配備対象モジュールを処理装置２００に配備する（状態３）。正常性確認部１０６は、構成情報３００を参照し、モジュール記憶部１０２から取得した自己確認モジュールを処理装置２００に配備し、配備対象モジュールの配備の正常性を確認する（状態４）。正常に配備されていることが確認された場合、配備対象モジュール以下のモジュール群を新たなプラットフォームとして（状態５）、配備対象モジュールの上位モジュールの配備が行われる。
【００４９】
このように、本発明の第１の実施の形態においては、システムを構成するモジュールの内の下位モジュールから順に各モジュールを配備していく過程で、配備対象モジュールの配備前における、配備対象モジュールの観点でのＰＦモジュールの配備の正常性の確認、及び、配備対象モジュールの配備後における、配備対象モジュールの観点での配備対象モジュールの配備の正常性の確認が繰り返される。
【００５０】
次に、本発明の第１の実施の形態における、システム構築処理について説明する。図８は、本発明の第１の実施の形態における、システム構築処理を示すフローチャートである。
【００５１】
はじめに、構築要求入力部１０７は、利用者等から構築対象システムが指定されたシステム構築要求の入力を受け付ける（ステップＳ１１）。ここで、構築対象システムは、例えば、システムの最上位のモジュールであるＡＰモジュールの識別子により指定される。
【００５２】
例えば、構築要求入力部１０７は、構築対象のシステムのＡＰモジュールの識別子「ＡＰ１」を受信する。
【００５３】
プロビジョニング部１０８は、構築リストを生成する（ステップＳ１２）。
【００５４】
図７は、本発明の第１の実施の形態における、構築リストの例を示す図である。構築リストは、システムの構築において配備すべきモジュールの構成情報３００が、配備される順序で配置されたリストである。
【００５５】
図９は、本発明の第１の実施の形態における、構築リスト生成処理（ステップＳ１２）の詳細を示すフローチャートである。ここでは、依存関係で関連付けられた構成情報３００を有向グラフとみなし、グラフ理論におけるトポロジカルソートのアルゴリズムに基づいて、構築リストを生成する。
【００５６】
はじめに、プロビジョニング部１０８は、構築リストを初期化する（ステップＳ１２０１）。プロビジョニング部１０８は、構成情報記憶部１０４から、ステップＳ１１で指定されたＡＰモジュールの構成情報３００を取得する。そして、プロビジョニング部１０８は、ＰＦモジュール識別子３２１で指定されるＰＦモジュールの構成情報３００の取得を再帰的に繰り返すことにより、配備すべきモジュールを特定し、各モジュールの構成情報３００を抽出する（ステップＳ１２０２）。ここで、モジュール間の依存関係は、相互参照や循環を構成しないものと仮定する。
【００５７】
例えば、プロビジョニング部１０８は、「ＡＰ１」の構成情報３００（図４）から、ＰＦモジュール識別子３２１を再帰的に取得し、モジュール「ＡＰ１」、「Ｔｏｍｃａｔ」、「ＰｏｓｔｇｒｅＳＱＬ」、「Ｊａｖａ」を配備すべきモジュールとして特定し、各モジュールの構成情報３００を取得する。
【００５８】
プロビジョニング部１０８は、取得した構成情報３００の中の一つを選択し（ステップＳ１２０３）、選択した構成情報３００を指定して、後述するノード処理を実行する（ステップＳ１２０４）。プロビジョニング部１０８は、ステップＳ１２０２で抽出された全ての構成情報３００について、ステップＳ１２０３、Ｓ１２０４を繰り返す（ステップＳ１２０５）。
【００５９】
例えば、プロビジョニング部１０８は、モジュール「ＡＰ１」、「Ｔｏｍｃａｔ」、「ＰｏｓｔｇｒｅＳＱＬ」、「Ｊａｖａ」のそれぞれの構成情報３００を指定して、ノード処理を実行する。
【００６０】
図１０は、本発明の第１の実施の形態における、ノード処理（ステップＳ１２０４）の詳細を示すフローチャートである。
【００６１】
はじめに、プロビジョニング部１０８は、指定された構成情報３００が処理済であるかどうかを判定する（ステップＳ１２０４１）。指定された構成情報３００が処理済の場合（ステップＳ１２０４１／Ｙ）、プロビジョニング部１０８は、処理を終了する。指定された構成情報３００が処理済でない場合（ステップＳ１２０４１／Ｎ）、プロビジョニング部１０８は、指定された構成情報３００を処理済に設定する（ステップＳ１２０４２）。プロビジョニング部１０８は、指定された構成情報３００内のＰＦモジュール識別子３２１を全て抽出する（ステップＳ１２０４３）。
【００６２】
ＰＦモジュール識別子３２１が存在しない場合（ステップＳ１２０４４／Ｎ）、プロビジョニング部１０８は、ステップＳ１２０４８の処理へ進む。
【００６３】
ＰＦモジュール識別子３２１が存在する場合（ステップＳ１２０４４／Ｙ）、プロビジョニング部１０８は、抽出されたＰＦモジュールの中の一つを選択し、当該ＰＦモジュールの構成情報３００を取得する（ステップＳ１２０４５）。プロビジョニング部１０８は、取得された構成情報３００を指定して、ノード処理（ステップＳ１２０４１〜）を再帰的に実行する（ステップＳ１２０４６）。プロビジョニング部１０８は、ステップＳ１２０４３で抽出された全てのＰＦモジュールについて、ステップＳ１２０４５、Ｓ１２０４６を繰り返す（ステップＳ１２０４７）。プロビジョニング部１０８は、指定された構成情報３００を構築リストに追加する（ステップＳ１２０４８）。
【００６４】
例えば、ステップＳ１２０４において、モジュール「ＡＰ１」の構成情報３００（図４）が指定されてノード処理が実行される。プロビジョニング部１０８は、モジュール「ＡＰ１」の構成情報３００を処理済に設定する。プロビジョニング部１０８は、モジュール「ＡＰ１」の構成情報３００からＰＦモジュール識別子３２１「Ｔｏｍｃａｔ」、「ＰｏｓｔｇｒｅＳＱＬ」を抽出する。
【００６５】
プロビジョニング部１０８は、モジュール「Ｔｏｍｃａｔ」の構成情報３００（図５）を指定して、ノード処理を実行する。
【００６６】
プロビジョニング部１０８は、モジュール「Ｔｏｍｃａｔ」の構成情報３００を処理済に設定する。プロビジョニング部１０８は、モジュール「Ｔｏｍｃａｔ」の構成情報３００からＰＦモジュール識別子３２１「Ｊａｖａ」を抽出する。プロビジョニング部１０８は、モジュール「Ｊａｖａ」を指定して、ノード処理を実行する。
【００６７】
プロビジョニング部１０８は、モジュール「Ｊａｖａ」の構成情報３００を処理済に設定する。ここで、モジュール「Ｊａｖａ」の構成情報３００には、ＰＦモジュール情報３２０が設定されていないと仮定する。プロビジョニング部１０８は、モジュール「Ｊａｖａ」の構成情報３００にＰＦモジュール識別子３２１が存在しないため、モジュール「Ｊａｖａ」の構成情報３００を構築リストの先頭に追加する。
【００６８】
次に、プロビジョニング部１０８は、モジュール「Ｔｏｍｃａｔ」の構成情報３００を構築リストに追加する。
【００６９】
さらに、プロビジョニング部１０８は、モジュール「ＰｏｓｔｇｒｅＳＱＬ」を指定して、ノード処理を実行する。プロビジョニング部１０８は、モジュール「ＰｏｓｔｇｒｅＳＱＬ」の構成情報３００を処理済に設定する。ここで、モジュール「ＰｏｓｔｇｒｅＳＱＬ」の構成情報３００には、ＰＦモジュール情報３２０が設定されていないと仮定する。プロビジョニング部１０８は、モジュール「ＰｏｓｔｇｒｅＳＱＬ」の構成情報３００にＰＦモジュール識別子３２１が存在しないため、モジュール「ＰｏｓｔｇｒｅＳＱＬ」の構成情報３００を構築リストに追加する。
【００７０】
そして、プロビジョニング部１０８は、モジュール「ＡＰ１」の構成情報３００を構築リストに追加する。
【００７１】
さらに、ステップＳ１２０４において、モジュール「Ｔｏｍｃａｔ」、「ＰｏｓｔｇｒｅＳＱＬ」、「Ｊａｖａ」のそれぞれの構成情報３００が指定されて、ノード処理が実行されるが、これらの構成情報３００は、既に処理済となっているため、構築リストは変化しない。
【００７２】
例えば、上記の構成リスト生成処理（ステップＳ１２）の結果、図７のように、モジュール「Ｊａｖａ」、「Ｔｏｍｃａｔ」、「ＰｏｓｔｇｒｅＳＱＬ」、「ＡＰ１」の順序で構成情報３００が配置された構築リストが生成される。
【００７３】
なお、各モジュールが依存するＰＦモジュールが先に配備されるように各モジュールの配備の順序が決定されれば、トポロジカルソートの他のアルゴリズムを用いる等、他の方法により、構築リストが生成されてもよい。
【００７４】
構成リスト生成処理が終了すると、プロビジョニング部１０８は、ＶＭ配備部１１２、及び、ＮＷ配備部１１３を介してシステムを構築するための仮想サーバ２０２の生成を仮想化基盤２０１に要求する（ステップＳ１３）。
【００７５】
仮想サーバ２０２が生成できない場合（ステップＳ１４／Ｎ）、プロビジョニング部１０８は、「構築エラー」を出力して（ステップＳ１５）、処理を終了する。
【００７６】
仮想サーバ２０２が生成できた場合（ステップＳ１４／Ｙ）、プロビジョニング部１０８は、生成された構築リストの先頭から構成情報３００を一つ取得し（ステップＳ１６）、取得した構成情報３００を指定して、後述のモジュール配備処理を実行する（ステップＳ１７）。モジュール配備処理が終了すると、プロビジョニング部１０８は、モジュール配備処理が正常に終了したかどうかを判定する（ステップＳ１８）。
【００７７】
モジュール配備処理が正常に終了していない場合（ステップＳ１８／Ｎ）、プロビジョニング部１０８は、「構築エラー」を出力して（ステップＳ１５）、処理を終了する。
【００７８】
プロビジョニング部１０８は、構築リストに含まれる全ての構成情報３００について、ステップＳ１６〜Ｓ１８を繰り返す（ステップＳ１９）。構築リストに含まれる全ての構成情報３００について、モジュール配備処理が正常に終了した場合、プロビジョニング部１０８は、「構築正常終了」を出力して（ステップＳ２０）、処理を終了する。
【００７９】
例えば、プロビジョニング部１０８は、図７の構築リストに含まれる、モジュール「Ｊａｖａ」、「Ｔｏｍｃａｔ」、「ＰｏｓｔｇｒｅＳＱＬ」、「ＡＰ１」のそれぞれの構成情報３００を指定して、順番に、モジュール配備処理を実行する。
【００８０】
図１１は、本発明の第１の実施の形態における、モジュール配備処理（ステップＳ１７）の詳細を示すフローチャートである。
【００８１】
はじめに、正常性確認部１０６は、指定された構成情報３００から、ＰＦ確認情報３２２を全て抽出する（ステップＳ１７０１）。
【００８２】
ＰＦ確認情報３２２が存在しない場合（ステップＳ１７０２／Ｎ）、正常性確認部１０６は、ステップＳ１７０８の処理へ進む。
【００８３】
ＰＦ確認情報３２２が存在する場合（ステップＳ１７０２／Ｙ）、正常性確認部１０６は、抽出されたＰＦ確認情報３２２の中の一つを選択する（ステップＳ１７０３）。正常性確認部１０６は、選択したＰＦ確認情報３２２内のファイル識別子３２４で示されるＰＦ確認モジュールのファイルをモジュール記憶部１０２から取得する。正常性確認部１０６は、配備部１０９〜１１１を介して処理装置２００にＰＦ確認モジュールを配備し、実行を指示する（ステップＳ１７０４）。ＰＦ確認モジュールの処理が終了すると、正常性確認部１０６は、ＰＦ確認モジュールの配備を解除（アンインストール）する（ステップＳ１７０５）。
【００８４】
ＰＦ確認モジュールの実行の結果、ＰＦモジュールの配備の正常性が確認できなかった場合（ステップＳ１７０６／Ｎ）、正常性確認部１０６は、エラーを出力し（ステップＳ１７１３）、処理を終了する。
【００８５】
正常性確認部１０６は、ステップＳ１７０１で抽出された全てのＰＦ確認情報３２２について、ステップＳ１７０３〜Ｓ１７０６を繰り返す（ステップＳ１７０７）。
【００８６】
プロビジョニング部１０８は、構成情報３００から、モジュール情報３１０を抽出する。プロビジョニング部１０８は、モジュール情報３１０のファイル識別子３１２で示される配備対象モジュールのファイルをモジュール記憶部１０２から取得する。プロビジョニング部１０８は、配備部１０９〜１１１を介して配備対象モジュールを処理装置２００に配備する（ステップＳ１７０８）。
【００８７】
正常性確認部１０６は、構成情報３００から、自己確認情報３３０を抽出する（ステップＳ１７０９）。正常性確認部１０６は、抽出した自己確認情報３３０内のファイル識別子３３２で示される自己確認モジュールのファイルをモジュール記憶部１０２から取得する。正常性確認部１０６は、配備部１０９〜１１１を介して自己確認モジュールを処理装置２００に配備し、実行を指示する（ステップＳ１７１０）。自己確認モジュールの処理が終了すると、正常性確認部１０６は、自己確認モジュールの配備を解除（アンインストール）する（ステップＳ１７１１）。
【００８８】
自己確認モジュールの実行の結果、配備対象モジュールの配備の正常性が確認できなかった場合（ステップＳ１７１２／Ｎ）、正常性確認部１０６は、「配備エラー」を出力し（ステップＳ１７１３）、処理を終了する。
【００８９】
配備対象モジュールの配備の正常性が確認できた場合（ステップＳ１７１２／Ｙ）、正常性確認部１０６は、「配備正常終了」を出力し（ステップＳ１７１４）、処理を終了する。
【００９０】
例えば、ステップＳ１７において、モジュール「Ｊａｖａ」のモジュール配備処理が実行された後で、モジュール「Ｔｏｍｃａｔ」の構成情報３００（図５）が指定されてモジュール配備処理が実行されると仮定する。この場合、正常性確認部１０６は、ＰＦ確認情報３２２のファイル識別子３２４で示されるＰＦ確認モジュールのファイル「Ｐｆ４Ｔｏｍｃａｔ」を取得し、処理装置２００に配備する。正常性確認部１０６は、ＰＦ確認モジュールの実行により、ＰＦモジュール「Ｊａｖａ」の配備の正常性を確認する。ＰＦモジュール「Ｊａｖａ」が正常に配備されている場合、正常性確認部１０６は、モジュール情報３１０のファイル識別子３１２で示される配備対象モジュールのファイル「ａｐａｃｈｅ−ｔｏｍｃａｔ−６．０．３５．ｔｇｚ」を取得し、当該ファイルを用いて、配備対象モジュール「Ｔｏｍｃａｔ」を処理装置２００に配備する。さらに、正常性確認部１０６は、自己確認情報３３０のファイル識別子３３２で示される自己確認モジュールのファイル「Ｔｏｍｃａｔｓｅｌｆ」を取得し、処理装置２００に配備する。正常性確認部１０６は、自己確認モジュールの実行により、配備対象モジュール「Ｔｏｍｃａｔ」の配備の正常性を確認する。配備対象モジュール「Ｔｏｍｃａｔ」が正常に配備されている場合、正常性確認部１０６は、「配備正常終了」を出力する。
【００９１】
さらに、モジュール「ＰｏｓｔｇｒｅＳＱＬ」のモジュール配備処理が実行された後で、モジュール「ＡＰ１」の構成情報３００（図４）が指定されてモジュール配備処理が実行されると仮定する。この場合、正常性確認部１０６は、ＰＦ確認情報３２２のファイル識別子３２４で示されるＰＦ確認モジュールのファイル「Ｐｆ４ＡＰ１．ｗａｒ」を取得し、処理装置２００に配備する。正常性確認部１０６は、ＰＦ確認モジュールの実行により、ＰＦモジュール「Ｔｏｍｃａｔ」の配備の正常性を確認する。また、正常性確認部１０６は、ＰＦ確認情報３２２のファイル識別子３２４で示されるＰＦ確認モジュールのファイル「ＰＳＱＬ４ＡＰ１．ｓｑｌ」を取得し、処理装置２００に配備する。正常性確認部１０６は、ＰＦ確認モジュールの実行により、ＰＦモジュール「ＰｏｓｔｇｒｅＳＱＬ」の配備の正常性を確認する。ＰＦモジュール「Ｔｏｍｃａｔ」及び「ＰｏｓｔｇｒｅＳＱＬ」が正常に配備されている場合、正常性確認部１０６は、モジュール情報３１０のファイル識別子３１２で示される配備対象モジュールのファイル「ａｐ１Ｍｏｄｕｌｅ．ｗａｒ」を取得し、当該ファイルを用いて、配備対象モジュール「ＡＰ１」を処理装置２００に配備する。さらに、正常性確認部１０６は、自己確認情報３３０のファイル識別子３３２で示される自己確認モジュールのファイル「ＡＰ１ｓｅｌｆ」を取得し、処理装置２００に配備する。正常性確認部１０６は、自己確認モジュールの実行により、配備対象モジュール「ＡＰ１」の配備の正常性を確認する。配備対象モジュール「ＡＰ１」が正常に配備されている場合、正常性確認部１０６は、「配備正常終了」を出力する。
【００９２】
そして、プロビジョニング部１０８は、モジュール「Ｊａｖａ」、「Ｔｏｍｃａｔ」、「ＰｏｓｔｇｒｅＳＱＬ」、「ＡＰ１」の全てのモジュールについて、配備処理が正常に終了した場合、「構築正常終了」を出力する。
【００９３】
以上により、本発明の第１の実施の形態の動作が完了する。
【００９４】
次に、本発明の第１の実施の形態の特徴的な構成を説明する。図１は、本発明の第１の実施の形態の特徴的な構成を示すブロック図である。
【００９５】
図１を参照すると、配備装置１００は、構成情報記憶部１０４、及び、正常性確認部１０６を含む。
【００９６】
構成情報記憶部１０４は、システムを構成するモジュールの識別子に対応付けて、当該モジュールが依存する他のモジュールであるプラットフォーム（ＰＦ）モジュールの配備の正常性を確認するためのＰＦ確認モジュールの識別子を含むＰＦ確認情報３２２と、モジュールの配備の正常性を確認するための自己確認モジュールの識別子を含む自己確認情報３３０と、の内の少なくとも一方を含む構成情報３００を記憶する。
【００９７】
正常性確認部１０６は、構成情報３００を参照し、モジュールの処理装置への配備前における、処理装置２００上でのＰＦ確認モジュールによるＰＦモジュールの配備の正常性の確認と、モジュールの処理装置への配備後における、処理装置２００上での自己確認モジュールによるモジュールの配備の正常性の確認と、の内の少なくとも一方を行う。
【００９８】
本発明の第１の実施の形態によれば、システム構築時におけるシステムの正常性の確認をより効率的に行うことができる。その理由は、システムを構成するモジュールの構成情報３００が、ＰＦ確認モジュール、及び、自己確認モジュールの識別子を含み、正常性確認部１０６が、システムを構成する各モジュールの配備において、ＰＦ確認モジュールによるＰＦモジュールの配備の正常性の確認と、自己確認モジュールによる配備対象モジュールの配備の正常性の確認とを行うためである。これにより、構築するシステム毎に、正常性を確認するための手順を定義する必要はなく、開発者の負担が低減する。
【００９９】
また、本発明の第１の実施の形態によれば、システム構築に失敗した場合、システムを構成するモジュールを配備する手順の内のどの手順で失敗したかを容易に確認できる。その理由は、上記の通り、正常性確認部１０６が、システムを構成する各モジュールの配備において、ＰＦモジュールの配備の正常性の確認と、配備対象モジュールの配備の正常性の確認とを行うためである。これにより、どのモジュールの配備で失敗したかを、容易に特定できる。また、これにより、配備に失敗した原因が、ＰＦモジュールによるものか、配備対象のモジュールによるものかを容易に特定できる。
【０１００】
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明する。
【０１０１】
本発明の第１の実施の形態では、システムを構成する各モジュールの配備において、ＰＦモジュールの配備の正常性の確認と、配備対象モジュールの配備の正常性の確認とを行う。このため、構築されるシステムの信頼性は向上するが、システムの構築に時間を要する。
【０１０２】
本発明の第２の実施の形態では、重要度と信頼性閾値に応じて、ＰＦモジュールの配備の正常性の確認、及び、配備対象モジュールの配備の正常性の確認を行うかどうかを判断する点において、本発明の第１の実施の形態と異なる。
【０１０３】
本発明の第２の実施の形態の構成は、本発明の第１の実施の形態の構成（図２）と同様である。
【０１０４】
図１２は、本発明の第２の実施の形態における、構成情報３００の例を示す図である。ＰＦ確認情報３２２は、ＰＦ確認モジュールのモジュール種別３２３、及び、ファイル識別子３２４に加えて、重要度３２５を含む。重要度３２５は、ＰＦモジュールの配備の正常性確認の重要度を示す。また、自己確認情報３３０は、自己確認モジュールの種別３３１、及び、ファイル識別子３３２に加えて、重要度３３３を含む。重要度３３３は、配備対象モジュールの配備の正常性確認の重要度を示す。なお、ここでは、重要度３２５、重要度３３３の各々の値が大きいほど、重要性が高いと仮定する。
【０１０５】
正常性確認部１０６は、重要度３２５と信頼性閾値に応じて、ＰＦモジュールの配備の正常性の確認を行うかどうかを判断する。また、正常性確認部１０６は、重要度３３３と信頼性閾値に応じて、配備対象モジュールの配備の正常性の確認を行うかどうかを判断する。
【０１０６】
次に、本発明の第２の実施の形態における配備装置１００の動作について説明する。
【０１０７】
本発明の第２の実施の形態では、利用者等からのシステム構築要求に、ＡＰモジュールの識別子に加えて、信頼性閾値が指定される。
【０１０８】
図１１のモジュール配備処理において、ステップＳ１７０３でＰＦ確認情報３２２が選択された後で、正常性確認部１０６は、選択したＰＦ確認情報３２２内の重要度３２５を、信頼性閾値と比較する。そして、正常性確認部１０６は、重要度３２５が信頼性閾値以上の場合は、ＰＦ確認モジュールによるＰＦモジュールの配備の正常性の確認（ステップＳ１７０４〜Ｓ１７０６）を実行し、信頼性閾値未満の場合は、省略する。
【０１０９】
また、ステップＳ１７０９で自己確認情報３３０が抽出された後で、正常性確認部１０６は、抽出した自己確認情報３３０内の重要度３３３を、信頼性閾値と比較する。そして、正常性確認部１０６は、重要度３３３が信頼性閾値以上の場合は、自己確認モジュールによる配備対象モジュールの配備の正常性の確認（ステップＳ１７１０〜Ｓ１７１２）を実行し、信頼性閾値未満の場合は、省略する。
【０１１０】
以上により、本発明の第２の実施の形態の動作が完了する。
【０１１１】
本発明の第２の実施の形態によれば、本発明の第１の実施の形態に比べて、システムの構築時間が短縮できる。その理由は、正常性確認部１０６が、正常性の確認の重要度と信頼性閾値とを比較することにより、ＰＦモジュールの配備の正常性の確認、及び、配備対象モジュールの配備の正常性の確認を行うかどうかを判断するためである。これにより、配備を失敗する可能性が少ないモジュールや、重要性の低いモジュールについては、重要度の値を小さくすることにより、配備の正常性の確認を省略でき、システムの構築時間を短縮できる。また、ディザスタリカバリなど、緊急性が要求されるシステム構築では、信頼性閾値を大きくすることにより、最低限のモジュールについて配備の正常性の確認を行うことができ、高速にシステムを構築できる。
【０１１２】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１１３】
この出願は、２０１２年６月４日に出願された日本出願特願２０１２−１２７２５９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１１４】
１    開発環境
２    外部レポジトリ
１００    配備装置
１０１    モジュール管理部
１０２    モジュール記憶部
１０３    構成情報管理部
１０４    構成情報記憶部
１０５    配備部
１０６    正常性確認部
１０７    構築要求入力部
１０８    プロビジョニング部
１０９    ＡＰモジュール配備部
１１０    ＭＷ配備部
１１１    ＯＳ配備部
１１２    ＶＭ配備部
１１３    ＮＷ配備部
２００    処理装置
２０１    仮想化基盤
２０２    仮想サーバ
３００    構成情報
３１０    モジュール情報
３１１    モジュール識別子
３１２    ファイル識別子
３２０    ＰＦモジュール情報
３２１    ＰＦモジュール識別子
３２２    ＰＦ確認情報
３２３    モジュール種別
３２４    ファイル識別子
３２５    重要度
３３０    自己確認情報
３３１    モジュール種別
３３２    ファイル識別子
３３３    重要度
【図１】
2013183249.tif 000003
【図２】
2013183249.tif 000004
【図３】
2013183249.tif 000005
【図４】
2013183249.tif 000006
【図５】
2013183249.tif 000007
【図６】
2013183249.tif 000008
【図７】
2013183249.tif 000009
【図８】
2013183249.tif 000010
【図９】
2013183249.tif 000011
【図１０】
2013183249.tif 000012
【図１１】
2013183249.tif 000013
【図１２】
2013183249.tif 000014
【国際調査報告】
2013183249.tif 000015
2013183249.tif 000016
2013183249.tif 000017
2013183249.tif 000018