(57)【要約】【課題】システムの構築作業にかかる作業負荷を軽減させること。【解決手段】実行制御装置１０１は、システムＸの構築の際に情報処理装置１０２，１０３のいずれかの情報処理装置に対して実行するコマンド群から実行対象となるコマンドを選択する。実行制御装置１０１は、実行対象となるコマンドの引数の特性とシステムＸの構成情報１２０とに基づいて、実行対象となるコマンドの実行可否を判断する。実行制御装置１０１は、実行対象となるコマンドを実行できると判断した場合、情報処理装置に対して実行対象となるコマンドを実行する。実行制御装置１０１は、実行対象となるコマンドが実行できないと判断した場合、他の情報処理装置に対して実行するコマンド群から実行対象となるコマンドを選択する。【選択図】図１
2014194631.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
システムの構築の際に複数の情報処理装置のいずれかの情報処理装置に対して実行するコマンド群から実行対象となるコマンドが選択された場合、前記実行対象となるコマンドの引数の特性と前記システムの構成情報とに基づいて、前記実行対象となるコマンドの実行可否を判断し、
前記実行対象となるコマンドが実行できないと判断した場合、前記いずれかの情報処理装置とは異なる情報処理装置に対して実行するコマンド群から前記実行対象となるコマンドを選択する、
処理を実行させることを特徴とする実行制御プログラム。
【請求項２】
前記判断する処理は、
前記実行対象となるコマンドの引数が、前記実行対象となるコマンドの実行時に入力となる情報に関する引数である場合に、前記実行対象となるコマンドの実行可否を判断することを特徴とする請求項１に記載の実行制御プログラム。
【請求項３】
前記システムの構成情報は、過去に構築された前記システムの第１構成情報と、現在構築中の前記システムの第２構成情報とを対応付けて表す情報であり、
前記コンピュータに、
前記システムの構成情報から前記実行対象のコマンドの引数となる値が設定された第１構成情報を抽出し、
抽出した前記第１構成情報に対応する第２構成情報に前記実行対象のコマンドの引数となる値が設定されているか否かを判定する、処理を実行させ、
前記判断する処理は、
前記実行対象のコマンドの引数となる値が設定されていない場合、前記実行対象となるコマンドが実行できないと判断することを特徴とする請求項２に記載の実行制御プログラム。
【請求項４】
前記コンピュータに、
前記実行対象となるコマンドが実行できると判断した場合、前記いずれかの情報処理装置に対して前記実行対象となるコマンドを実行し、
前記実行対象となるコマンドの実行結果に基づいて、前記システムの構成情報を更新する、処理を実行させ、
前記選択する処理は、
前記実行対象となるコマンドを実行した場合、前記いずれかの情報処理装置に対して実行するコマンド群のうちの未実行のコマンドから前記実行対象となるコマンドを選択することを特徴とする請求項１〜３のいずれか一つに記載の実行制御プログラム。
【請求項５】
前記コンピュータに、
前記実行対象のコマンドを実行した場合、前記実行対象のコマンドのログと対応付けて前記実行対象のコマンドを実行した情報処理装置の識別子を出力する処理を実行させることを特徴とする請求項１〜４のいずれか一つに記載の実行制御プログラム。
【請求項６】
前記コンピュータに、
前記実行対象となるコマンドが実行できないと判断した場合、過去に前記システムを構築した際の前記実行対象となるコマンドのログから情報処理装置の識別子を検出する処理を実行させ、
前記選択する処理は、
前記ログから情報処理装置の識別子が検出された場合、当該識別子から識別される情報処理装置に対して実行するコマンド群から前記実行対象となるコマンドを選択することを特徴とする請求項１〜５のいずれか一つに記載の実行制御プログラム。
【請求項７】
コンピュータが、
システムの構築の際に複数の情報処理装置のいずれかの情報処理装置に対して実行するコマンド群から実行対象となるコマンドが選択された場合、前記実行対象となるコマンドの引数の特性と前記システムの構成情報とに基づいて、前記実行対象となるコマンドの実行可否を判断し、
前記実行対象となるコマンドが実行できないと判断した場合、前記いずれかの情報処理装置とは異なる情報処理装置に対して実行するコマンド群から前記実行対象となるコマンドを選択する、
処理を実行することを特徴とする実行制御方法。
【請求項８】
複数の情報処理装置と、
システムの構築の際に前記複数の情報処理装置のいずれかの情報処理装置に対して実行するコマンド群から実行対象となるコマンドが選択された場合、前記実行対象となるコマンドの引数の特性と前記システムの構成情報とに基づいて、前記実行対象となるコマンドの実行可否を判断し、前記実行対象となるコマンドが実行できないと判断した場合、前記いずれかの情報処理装置とは異なる情報処理装置に対して実行するコマンド群から前記実行対象となるコマンドを選択する実行制御装置と、
を含むことを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実行制御プログラム、実行制御方法およびネットワークシステムに関する。
【背景技術】
【０００２】
近年、クラウドサービスを提供するプロバイダ数の増加に伴って、システムの移行を行う場合が増えている。システムの移行を行う方法としては、システムの再構築がある。また、システムの構築の際にサーバの各種設定を行うために実行したコマンドを実行順に示す構築ログを記録しておき、システムの再構築の際に構築ログに従ってサーバに対するコマンドを自動実行する技術がある。
【０００３】
関連する先行技術として、例えば、複数のソフトウェア部品を統合してアプリケーションプログラムを作成する際に、複数のソフトウェア部品の各々が利用する他のソフトウェア部品を指定する情報に基づいて、ソフトウェア部品の生成順序を決定するものがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１３７６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術において、構築ログはサーバ単位で記録されるため、複数のサーバを含むシステムを再構築する場合には、サーバ単位の構築ログからサーバ間の実行順序の依存関係を考慮してコマンドを実行することが難しい。このため、例えば、人手によりサーバ間の実行順序の依存関係を考慮して各サーバに対するコマンドを実行することになり、システムの構築作業にかかる作業者の負荷が増大する。
【０００６】
また、構築ログにコマンド実行時の時刻（タイムスタンプ）が記録されている場合には、タイムスタンプからコマンドの実行順序を判断することもできるが、サーバ間で時刻が同期しているとは限らない。また、構築ログにはタイムスタンプが記録されていない場合がある。例えば、デフォルト設定のｈｉｓｔｏｒｙログやバックグラウンド実行したコマンドのログはタイムスタンプが残らない場合がある。
【０００７】
１つの側面では、本発明は、システムの構築作業にかかる作業負荷を軽減させる実行制御プログラム、実行制御方法およびネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、システムの構築の際に複数の情報処理装置のいずれかの情報処理装置に対して実行するコマンド群から実行対象となるコマンドが選択された場合、前記実行対象となるコマンドの引数の特性と前記システムの構成情報とに基づいて、前記実行対象となるコマンドの実行可否を判断し、前記実行対象となるコマンドが実行できないと判断した場合、前記いずれかの情報処理装置とは異なる情報処理装置に対して実行するコマンド群から前記実行対象となるコマンドを選択する実行制御プログラム、実行制御方法およびネットワークシステムが提案される。
【発明の効果】
【０００９】
本発明の一態様によれば、システムの構築作業にかかる作業負荷を軽減させるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかる制御方法の一実施例を示す説明図である。
【図２】図２は、ネットワークシステム２００のシステム構成例を示す説明図である。
【図３】図３は、実行制御装置１０１のハードウェア構成例を示すブロック図である。
【図４】図４は、コマンド特性ＤＢ２２０の記憶内容の一例を示す説明図である。
【図５】図５は、マッピングＤＢ２３０の記憶内容の一例を示す説明図である。
【図６】図６は、構築ログＬの具体例を示す説明図である。
【図７】図７は、実行制御装置１０１の機能的構成例を示すブロック図である。
【図８】図８は、実行制御装置１０１の実行制御処理例を示す説明図（その１）である。
【図９】図９は、実行制御装置１０１の実行制御処理例を示す説明図（その２）である。
【図１０】図１０は、実行制御装置１０１の実行制御処理例を示す説明図（その３）である。
【図１１】図１１は、実行制御装置１０１の実行制御処理例を示す説明図（その４）である。
【図１２】図１２は、実行制御装置１０１の実行制御処理例を示す説明図（その５）である。
【図１３】図１３は、集約ログＰＬの具体例を示す説明図である。
【図１４】図１４は、実行制御装置１０１の実行制御処理例を示す説明図（その６）である。
【図１５】図１５は、実行制御装置１０１の第１の実行制御処理手順の一例を示すフローチャートである。
【図１６】図１６は、コマンド実行可否判断処理の具体的処理手順の一例を示すフローチャートである。
【図１７】図１７は、コマンド実行処理の具体的処理手順の一例を示すフローチャートである。
【図１８】図１８は、実行制御装置１０１の第２の実行制御処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、本発明にかかる実行制御プログラム、実行制御方法およびネットワークシステムの実施の形態を詳細に説明する。
【００１２】
（制御方法の一実施例）
図１は、実施の形態にかかる制御方法の一実施例を示す説明図である。図１において、実行制御装置１０１は、システムの構築の際に実行されるコマンドの実行を制御するコンピュータである。システムは、複数の情報処理装置（例えば、情報処理装置１０２，１０３）を用いて構築される。
【００１３】
情報処理装置は、システムを実現するためのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）がインストールされたコンピュータであり、システムの構築に必要な各種設定を行う。コマンドは、システムの構築の際に情報処理装置の各種設定を行うためのものである。コマンドとしては、例えば、ＯＳの設定、フォルダの作成、ファイルの作成等を行うためのものがある。
【００１４】
ここで、サーバＡとサーバＢとを含むシステムＸを移行する場合を想定する。また、移行先のシステムＸでは、情報処理装置１０２によりサーバＡの機能を実現し、情報処理装置１０３によりサーバＢの機能を実現する場合を想定する。また、システムＸを構築する場合、情報処理装置１０２によりコマンドＡ１、コマンドＡ２が実行され、情報処理装置１０３によりコマンドＢ１、コマンドＢ２が実行される場合を想定する。
【００１５】
ここで、コマンドＢ２は、情報処理装置１０２でコマンドＡ１が実行された後に実行されるべきコマンドである。また、コマンドＡ２は、情報処理装置１０３でコマンドＢ２が実行された後に実行されるべきコマンドである。すなわち、情報処理装置１０２，１０３間でコマンドの実行順序に依存関係がある。
【００１６】
この場合、各情報処理装置１０２，１０３に対してコマンドＡ１，Ａ２とコマンドＢ１，Ｂ２とをそれぞれ独立に実行した場合、例えば、情報処理装置１０２でコマンドＡ１が実行される前に情報処理装置１０３でコマンドＢ２が実行されることがある。この場合、コマンドＢ２の実行時に実行に必要な情報が存在せず、コマンドＢ２を正常に実行できない場合がある。
【００１７】
そこで、本実施の形態では、実行制御装置１０１は、システムＸの構築の際に情報処理装置に対して実行するコマンドの引数の特性から、そのコマンドが情報処理装置間で実行順序の依存関係があるか否かを判定する。また、実行制御装置１０１は、情報処理装置間で実行順序の依存関係がある場合、システムＸの移行元の構成情報と移行先の構成情報との対応関係から、そのコマンドの実行可否を判断する。以下、実行制御装置１０１の実行制御処理例について説明する。
【００１８】
（１）実行制御装置１０１は、システムＸの構築の際に情報処理装置１０２，１０３のいずれかの情報処理装置に対して実行するコマンド群から実行対象となるコマンドを選択する。ここで、各情報処理装置１０２，１０３に対して実行するコマンド群は、例えば、構築ログ１１１，１１２から特定される。構築ログ１１１，１１２は、移行元のシステムＸを構築した際に各情報処理装置１０２，１０３に対して実行したコマンドを実行順に示す情報である。
【００１９】
具体的には、例えば、実行制御装置１０１は、情報処理装置１０３の構築ログ１１２を参照して、情報処理装置１０３に対して実行するコマンド群から実行対象となるコマンドを実行順に選択する。ここでは、情報処理装置１０３に対して実行するコマンドＢ２が選択された場合を想定する。ただし、コマンドＢ１は実行済みとする。
【００２０】
（２）実行制御装置１０１は、実行対象となるコマンドの引数の特性とシステムＸの構成情報１２０とに基づいて、実行対象となるコマンドの実行可否を判断する。ここで、システムＸの構成情報１２０は、移行元の構成情報と移行先の構成情報とを対応付けて表す情報である。
【００２１】
移行元の構成情報は、移行元で構築されたシステムＸの構成情報である。移行先の構成情報は、移行先で現在構築中のシステムＸの構成情報であり、システムＸの構築中に更新される。構成情報としては、例えば、各サーバＡ，ＢのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスや各サーバＡ，Ｂで生成されたファイル、フォルダ等のパスなどがある。
【００２２】
また、引数の特性は、引数として与えられる値が、コマンドの実行にどのような影響を与えるのかを表すものである。具体的には、例えば、引数として与えられる値がコマンドの実行時に入力となる情報に関するという特性や、引数として与えられる値がコマンドの実行時に出力される情報に関するという特性などがある。
【００２３】
ここで、コマンドの実行時に入力となる情報は、他のコマンドが実行されていないと存在しない場合がある。コマンドの実行時に入力となる情報が存在しないと、そのコマンドは正しく実行されない。このため、実行制御装置１０１は、例えば、実行対象となるコマンドの引数が、実行対象となるコマンドの実行時に入力となる情報に関する引数である場合に、実行対象となるコマンドの実行可否を判断する。
【００２４】
具体的には、例えば、まず、実行制御装置１０１は、構築ログ１１２を参照して、コマンドＢ２に対応するログに記載されているコマンドＢ２の引数の値を特定する。すなわち、実行制御装置１０１は、移行元のシステムＸを構築時にコマンドＢ２に引数として与えられた値を特定する（図１中、（２−１）参照）。
【００２５】
つぎに、実行制御装置１０１は、システムＸの構成情報１２０を参照して、コマンドＢ２の引数の値が設定された移行元の構成情報を特定する。そして、実行制御装置１０１は、移行元の構成情報に対応する移行先の構成情報が存在するか否かを判断する（図１中、（２−２）参照）。すなわち、実行制御装置１０１は、コマンドＢ２の引数となる値が存在するか否かを判断する。
【００２６】
ここで、移行先の構成情報が存在しない場合は、実行制御装置１０１は、実行対象となるコマンドＢ２を実行できないと判断する。すなわち、実行制御装置１０１は、実行対象となるコマンドＢ２の実行に必要な引数の値が存在しないと判断して、実行対象となるコマンドＢ２を実行できないと判断する。
【００２７】
一方、移行先の構成情報が存在する場合は、実行制御装置１０１は、実行対象となるコマンドＢ２を実行できると判断する。すなわち、実行制御装置１０１は、実行対象となるコマンドＢ２の実行に必要な引数の値が存在すると判断して、実行対象となるコマンドＢ２を実行できると判断する。この場合、実行制御装置１０１は、情報処理装置１０３に対して実行対象となるコマンドＢ２を実行する。
【００２８】
ここでは、移行元のシステムＸの構築の際にコマンドＢ２に引数として与えられた値が設定された移行元の構成情報に対応する移行先の構成情報が存在しない、すなわち、コマンドＢ２の実行に必要な値が存在しない場合を想定する。このため、実行制御装置１０１は、実行対象となるコマンドＢ２を実行できないと判断する。
【００２９】
（３）実行制御装置１０１は、実行対象となるコマンドＢ２が実行できないと判断した場合、情報処理装置１０３とは異なる情報処理装置１０２に対して実行するコマンド群から実行対象となるコマンドを選択する。具体的には、例えば、実行制御装置１０１は、情報処理装置１０３の構築ログ１１１を参照して、情報処理装置１０３に対して実行するコマンド群から実行対象となるコマンドを実行順に選択する。
【００３０】
以降において、実行制御装置１０１は、選択した実行対象となるコマンドに対して、上記（２）および上記（３）と同様の処理を繰り返す。
【００３１】
このように、実行制御装置１０１によれば、移行先のシステムＸの構築の際に情報処理装置１０２，１０３間の実行順序の依存関係を考慮してコマンドを実行することができる。これにより、人手により情報処理装置１０２，１０３間の実行順序の依存関係を考慮して各情報処理装置１０２，１０３に対するコマンドを実行する必要がなくなり、システムの構築作業にかかる負荷を軽減させることができる。
【００３２】
（ネットワークシステム２００のシステム構成例）
つぎに、実施の形態にかかるネットワークシステム２００のシステム構成例について説明する。なお、図１に示した情報処理装置１０２，１０３は、図２に示す情報処理装置２０１に相当する。
【００３３】
図２は、ネットワークシステム２００のシステム構成例を示す説明図である。図２において、ネットワークシステム２００は、実行制御装置１０１と、複数の情報処理装置２０１とを含む。ネットワークシステム２００において、実行制御装置１０１および情報処理装置２０１は、有線または無線のネットワーク２１０によって接続される。ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどである。
【００３４】
ここで、実行制御装置１０１は、コマンド特性ＤＢ（データベース）２２０およびマッピングＤＢ２３０を有し、システムの構築の際に実行されるコマンドの実行を制御する。なお、コマンド特性ＤＢ２２０の記憶内容については、図４を用いて後述する。また、マッピングＤＢ２３０の記憶内容については、図５を用いて後述する。
【００３５】
情報処理装置２０１は、自装置のハードウェア資源を仮想化して、複数の異なるＯＳを実行可能なコンピュータである。自装置のハードウェア資源とは、例えば、情報処理装置２０１のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）などである。
【００３６】
具体的には、例えば、情報処理装置２０１は、自装置のハードウェア資源を分割して構築される実行環境で動作する仮想マシンＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）によってＯＳを稼働させることができる。ここで、仮想マシンＶＭとは、情報処理装置２０１のハードウェア資源を分割して構築される実行環境で動作する仮想的なコンピュータである。仮想マシンＶＭの実体は、例えば、プログラムやＯＳなどのソフトウェア、ソフトウェアに与えられる変数、およびソフトウェアを実行させるためのハードウェア資源を指定する情報を含むものである。
【００３７】
ネットワークシステム２００では、１以上の情報処理装置２０１で複数の仮想マシンＶＭを起動させてシステムを構築することができる。より具体的には、例えば、情報処理装置２０１にはＯＳとＳＳＨ（Ｓｅｃｕｒｅ  ＳＨｅｌｌ）がインストールされたイメージが配備されており、情報処理装置２０１上で起動される複数の仮想マシンＶＭにより、後述するサーバ甲、乙、丙等が実現される。
【００３８】
また、ネットワークシステム２００において、複数の仮想マシンＶＭ等によって構築されるシステムの構成情報は、例えば、実行制御装置１０１がアクセス可能な不図示のＣＭＤＢ（Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａｂａｓｅ）を用いて管理される。
【００３９】
（実行制御装置１０１のハードウェア構成例）
図３は、実行制御装置１０１のハードウェア構成例を示すブロック図である。図３において、実行制御装置１０１は、ＣＰＵ３０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０６と、ディスプレイ３０７と、キーボード３０８と、マウス３０９と、を有する。また、各構成部はバス３００によってそれぞれ接続される。
【００４０】
ここで、ＣＰＵ３０１は、実行制御装置１０１の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。
【００４１】
Ｉ／Ｆ３０６は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他の装置に接続される。そして、Ｉ／Ｆ３０６は、ネットワーク２１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ３０６には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４２】
ディスプレイ３０７は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ３０７は、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４３】
キーボード３０８は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス３０９は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。
【００４４】
なお、実行制御装置１０１は、上述した構成部のうち、例えば、ディスプレイ３０７、キーボード３０８、マウス３０９等を有さないことにしてもよい。また、図２に示した情報処理装置２０１についても、実行制御装置１０１と同様のハードウェア構成によって実現することができる。
【００４５】
（コマンド特性ＤＢ２２０）
つぎに、図２に示したコマンド特性ＤＢ２２０の記憶内容について説明する。なお、コマンド特性ＤＢ２２０は、例えば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５等の記憶装置に記憶される。
【００４６】
図４は、コマンド特性ＤＢ２２０の記憶内容の一例を示す説明図である。図４において、コマンド特性ＤＢ２２０は、コマンド名、引数番号／オプションおよび引数／オプション特性のフィールドを有し、各フィールドに情報を設定することにより、特性情報（例えば、特性情報４００−１〜４００−１０）をレコードとして記憶している。
【００４７】
ここで、コマンド名は、システムの構築の際に実行されるコマンド（シェルスクリプト）を識別する識別子である。引数番号／オプションは、コマンドの引数／オプションを識別する識別子である。引数番号は、コマンドの何番目の引数かを表す。引数／オプション特性は、引数／オプションの特性を表す。
【００４８】
特性「ｉｎｐｕｔ  Ｓｔｒｉｎｇ」は、コマンドの実行時に入力となる情報（例えば、パスワード）を表す。特性「ｏｕｔｐｕｔ  Ｓｔｒｉｎｇ」は、コマンドの実行時に出力となる情報を表す。特性「ｉｎｐｕｔ  ｆｉｌｅ」は、コマンドの実行時に入力となるファイルを表す。ここでは、便宜上ディレクトリもファイルとみなす。特性「ｏｕｔｐｕｔ  ｆｉｌｅ」は、コマンドの実行時に出力となるファイルを表す。特性「−」は、引数／オプションの特性が設定されていないことを示す。
【００４９】
例えば、特性情報４００−１は、コマンド「ｍｋｄｉｒ」の１番目の引数の特性が「ｏｕｔｐｕｔ  ｆｉｌｅ」であることを示している。コマンド「ｍｋｄｉｒ」は、指定場所にフォルダを作成するコマンドである。また、特性情報４００−２は、コマンド「ｓｓｈ」のオプション「ｋｅｙｇｅｎ」の特性が「−」であることを示している。
【００５０】
（マッピングＤＢ２３０の記憶内容）
つぎに、図２に示したマッピングＤＢ２３０の記憶内容について説明する。なお、マッピングＤＢ２３０は、例えば、図３に示したＲＡＭ３０３、磁気ディスク３０５等の記憶装置により実現される。図１に示したシステムＸの構成情報１２０は、例えば、マッピングＤＢ２３０に相当する。
【００５１】
図５は、マッピングＤＢ２３０の記憶内容の一例を示す説明図である。図５において、マッピングＤＢ２３０は、構成情報、移行元システムおよび移行先システムのフィールドを有し、各フィールドに情報を設定することにより、マッピング情報（例えば、マッピング情報５００−１〜５００−６）がレコードとして記憶されている。
【００５２】
ここで、構成情報は、システムの構成情報を表す。移行元システムは、移行元システムの構成情報を表す。ここでは、初期設定として、移行元システムのすべての構成情報が設定されている。移行元システムの構成情報は、例えば、移行元システムの構成アイテムを管理するＣＭＤＢから取得することができる。
【００５３】
移行先システムは、現在構築中の移行先システムの構成情報を表す。ここでは、初期設定として、サーバ甲のユーザ名、サーバ甲のＩＰアドレスおよびサーバ乙のＩＰアドレスが設定されている。移行先システムの構成情報は、例えば、移行先システムの構成アイテムを管理するＣＭＤＢから取得することができる。
【００５４】
例えば、マッピング情報５００−１は、移行元システムのサーバ甲のユーザ名「ｒｏｏｔ」と、移行先システムのサーバ甲のユーザ名「ｒｏｏｔ」とを対応付けて表す。また、マッピング情報５００−２は、移行元システムのサーバ甲のＩＰアドレス「１０．０．０．１」と移行先システムのサーバ乙のＩＰアドレス「１０．０．１．１」と対応付けて表す。
【００５５】
（構築ログＬの具体例）
つぎに、構築ログＬの具体例について説明する。構築ログＬは、システムの構築時にシステム内の各サーバ（例えば、サーバ甲、乙）に対して実行したコマンドを実行順に示す情報である。図１に示した構築ログ１１１，１１２は、例えば、構築ログＬに相当する。
【００５６】
図６は、構築ログＬの具体例を示す説明図である。図６において、構築ログ６１０は、移行元システムの構築時にサーバ甲に対して実行したコマンドを実行順に示す情報である。構築ログ６１０には、ログ６１１とログ６１２が含まれている。ログ６１１は、ＳＳＨによって暗号化された通信を行うコマンド「ｓｃｐ」のログである。ログ６１２は、ファイルをコピーするコマンド「ｃｐ」のログである。
【００５７】
また、構築ログ６２０は、移行元システムの構築時にサーバ乙に対して実行したコマンドを実行順に示す情報である。構築ログ６２０には、ログ６２１が含まれている。ログ６２１は、公開鍵を生成するコマンド「ｓｓｈ」のログである。
【００５８】
移行元システムでは、サーバ乙に対するコマンド「ｓｓｈ」の実行が完了した後に、サーバ甲に対するコマンド「ｓｃｐ」が実行され、その後、コマンド「ｃｐ」が実行された場合を想定する。すなわち、サーバ乙に対して実行するコマンド「ｓｓｈ」とサーバ甲に対して実行するコマンド「ｓｃｐ」との間に実行順序の依存関係がある。
【００５９】
（実行制御装置１０１の機能的構成例）
図７は、実行制御装置１０１の機能的構成例を示すブロック図である。図７において、実行制御装置１０１は、取得部７０１と、選択部７０２と、判定部７０３と、判断部７０４と、制御部７０５と、更新部７０６と、出力部７０７と、を含む構成である。各機能部は、具体的には、例えば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０６により、その機能を実現する。各機能部の処理結果は、例えば、図３に示したＲＡＭ３０３、磁気ディスク３０５等の記憶装置に記憶される。
【００６０】
以下の説明では、システム内の複数のサーバを「サーバＳ１〜Ｓｎ」と表記し、サーバＳ１〜Ｓｎのうちの任意のサーバを「サーバＳｉ」と表記する場合がある（ｎ：２以上の自然数、ｉ＝１，２，…，ｎ）。サーバＳｉは、例えば、図２に示した情報処理装置２０１または情報処理装置２０１上で起動される仮想マシンＶＭによって実現される。また、システムの構築時にサーバＳｉに対して実行したコマンドを実行順に示す構築ログＬを「構築ログＬｉ」と表記する場合がある。
【００６１】
取得部７０１は、システムの構築の際に各サーバＳｉに対して実行したコマンドを実行順に示す構築ログＬｉを取得する機能を有する。具体的には、例えば、取得部７０１は、図３に示したキーボード３０８やマウス３０９を用いたユーザの操作入力により、システムの構築の際に各サーバＳｉ（例えば、各サーバ甲、乙）に対して実行したコマンドの実行順序を示す構築ログＬｉ（例えば、構築ログ６１０，６２０）を取得する。また、構築ログＬｉが各サーバＳｉにおいて記録される場合には、取得部７０１は、システムの各サーバＳｉから構築ログＬｉを受信することにしてもよい。
【００６２】
選択部７０２は、システムの構築の際にサーバＳｉに対して実行するコマンド群から実行対象となるコマンドを選択する機能を有する。具体的には、例えば、選択部７０２は、サーバＳｉの構築ログＬｉを参照して、サーバＳｉに対して実行する実行対象となるコマンドを実行順に選択する。以下の説明では、サーバＳｉに対して実行する実行対象となるコマンドを「対象コマンドＣ」と表記する場合がある。
【００６３】
判定部７０３は、対象コマンドＣが選択された場合、対象コマンドＣの引数が、対象コマンドＣの実行時に入力となる情報に関する引数であるか否かを判定する機能を有する。具体的には、例えば、判定部７０３は、コマンド特性ＤＢ２２０（図４参照）を参照して、対象コマンドＣに、対象コマンドＣの実行時に入力となる情報に関する引数が含まれているか否かを判定する。
【００６４】
より具体的には、例えば、判定部７０３は、対象コマンドＣに、引数／オプション特性が「ｉｎｐｕｔ  Ｓｔｒｉｎｇ」または「ｉｎｐｕｔ  ｆｉｌｅ」の引数が含まれているか否かを判定する。これにより、サーバＳｉに対して実行する対象コマンドＣが他のサーバＳｊ（ｉ≠ｊ、ｊ＝１，２，…，ｎ）に対して実行するコマンドと実行順序の依存関係があるか否かを判定することができる。なお、判定部７０３の具体的な処理内容については、図８〜図１２を用いて後述する。
【００６５】
判断部７０４は、対象コマンドＣの実行可否を判断する機能を有する。具体的には、例えば、判断部７０４は、対象コマンドＣの引数が、対象コマンドＣの実行時に入力となる情報に関する引数ではないと判定された場合、対象コマンドＣを実行できると判断する。
【００６６】
一方、対象コマンドＣの引数が、対象コマンドＣの実行時に入力となる情報に関する引数であると判定された場合、まず、判断部７０４は、構築ログＬｉを参照して、移行元システムの構築の際に実行された対象コマンドＣの引数の値を特定する。つぎに、判断部７０４は、マッピングＤＢ２３０（図５参照）から、特定した対象コマンドＣの引数の値が移行元システムフィールドに設定されたマッピング情報を抽出する。そして、判断部７０４は、抽出したマッピング情報の移行先システムフィールドに情報が設定されているか否かを判断する。
【００６７】
ここで、判断部７０４は、移行先システムフィールドに情報が設定されている場合、対象コマンドＣを実行できると判断する。これにより、移行先システムの構成情報として、対象コマンドＣの実行に必要な情報（引数の値）が存在する場合に、対象コマンドＣを実行できると判断することができる。
【００６８】
一方、判断部７０４は、移行先システムフィールドに情報が設定されていない場合、対象コマンドＣを実行できないと判断する。これにより、移行先システムの構成情報として、対象コマンドＣの実行に必要な情報（引数の値）が存在しない場合に、対象コマンドＣを実行できないと判断することができる。なお、判断部７０４の具体的な処理内容については、図８〜図１２を用いて後述する。
【００６９】
また、選択部７０２は、対象コマンドＣが実行できないと判断された場合、サーバＳｉとは異なる他のサーバＳｊに対して実行するコマンド群から対象コマンドＣを選択する機能を有する。具体的には、例えば、選択部７０２は、他のサーバＳｊの構築ログＬｊを参照して、サーバＳｊに対して実行する対象コマンドＣを実行順に選択する。これにより、サーバＳｉの対象コマンドＣの実行に必要な情報（引数の値）が存在しない場合に、対象コマンドＣを他のサーバＳｊのコマンドに切り替えることができる。
【００７０】
制御部７０５は、対象コマンドＣが実行できると判断された場合、サーバＳｉに対して対象コマンドＣを実行する機能を有する。具体的には、例えば、制御部７０５は、サーバＳｉに対象コマンドＣの実行指示を送信する。対象コマンドＣの実行指示には、例えば、対象コマンドＣに与える引数の値が含まれている。
【００７１】
より具体的には、例えば、制御部７０５は、構築ログＬｉに含まれるログ群のうちの対象コマンドＣに対応するログを、対象コマンドＣの実行指示として送信することにしてもよい。この際、制御部７０５は、対象コマンドＣの引数が、対象コマンドＣの実行時に入力となる情報に関する引数である場合、ログに含まれる該引数の値を、マッピングＤＢ２３０内の対応する移行先システムの構成情報に置換する。
【００７２】
更新部７０６は、対象コマンドＣの実行結果に基づいて、システムの構成情報を更新する機能を有する。具体的には、例えば、更新部７０６は、移行先システムのＣＭＤＢまたはサーバＳｉに構成情報を問い合わせることにより、マッピングＤＢ２３０内の移行先システムの構成情報を更新する。なお、マッピングＤＢ２３０の更新例については、図８〜図１２を用いて後述する。
【００７３】
また、選択部７０２は、対象コマンドＣが実行された場合、サーバＳｉに対して実行するコマンド群のうちの未実行のコマンドから対象コマンドＣを選択する機能を有する。具体的には、例えば、選択部７０２は、サーバＳｉの構築ログＬｉを参照して、サーバＳｉに対して実行する未実行のコマンドを対象コマンドＣとして選択する。これにより、サーバＳｉに対して実行する対象コマンドＣを実行順に切り替えることができる。
【００７４】
また、選択部７０２は、サーバＳｉに対して実行するコマンド群のうちの未実行のコマンドがない場合には、他のサーバＳｊに対して実行するコマンド群のうちの未実行のコマンドから対象コマンドＣを選択する機能を有する。具体的には、例えば、選択部７０２は、他のサーバＳｊの構築ログＬｊを参照して、サーバＳｊに対して実行する未実行のコマンドを対象コマンドＣとして選択する。これにより、サーバＳｉに対して実行するコマンド群の実行が完了した場合に、対象コマンドＣをサーバＳｉのコマンドから他のサーバＳｊのコマンドに切り替えることができる。
【００７５】
出力部７０７は、対象コマンドＣが実行された場合、対象コマンドＣと対象コマンドＣを実行したサーバＳｉの識別子とを対応付けて表すログ（以下、「再構築ログ」と称する）を出力する機能を有する。サーバＳｉの識別子は、例えば、移行先システムのサーバＳｉのＩＰアドレス、ホスト名、ユーザ名などである。具体的には、例えば、出力部７０７は、図１３に示すような集約ログＰＬを出力することにしてもよい。
【００７６】
なお、出力部７０７の出力形式としては、例えば、ＲＡＭ３０３、磁気ディスク３０５等の記憶装置への記憶、ディスプレイ３０７への表示、プリンタ（不図示）への印刷出力、Ｉ／Ｆ３０６による外部のコンピュータへの送信がある。
【００７７】
また、選択部７０２は、対象コマンドＣが実行できないと判断された場合、構築ログＬｉに含まれるログ群のうち対象コマンドＣに対応するログから、他のサーバＳｊの識別子を検出することにしてもよい。そして、選択部７０２は、他のサーバＳｊの識別子を検出した場合は、当該識別子から識別されるサーバＳｊに実行させるコマンド群から対象コマンドＣを選択することにしてもよい。これにより、対象コマンドＣが実行できないと判断された場合に、対象コマンドＣと実行順序の依存関係があるコマンドを効率的に選別することができる。
【００７８】
（実行制御装置１０１の実行制御処理例）
つぎに、実行制御装置１０１の実行制御処理例について説明する。
【００７９】
図８〜図１２は、実行制御装置１０１の実行制御処理例を示す説明図である。図８において、（８−１）選択部７０２は、サーバ甲の構築ログ６１０（図６参照）を参照して、サーバ甲に対して実行する対象コマンドＣを選択する。図８の例では、ログ６１１の対象コマンドＣ「ｓｃｐ」が選択されている。
【００８０】
（８−２）判定部７０３は、コマンド特性ＤＢ２２０を参照して、対象コマンドＣ「ｓｃｐ」に、対象コマンドＣ「ｓｃｐ」の実行時に入力となる情報に関する引数が含まれているか否かを判定する。ここでは、対象コマンドＣ「ｓｃｐ」の１番目の引数の特性が「ｉｎｐｕｔ  ｆｉｌｅ」のため、対象コマンドＣ「ｓｃｐ」の実行時に入力となる情報に関する引数が含まれていると判定される。
【００８１】
（８−３）判断部７０４は、対象コマンドＣ「ｓｃｐ」の実行可否を判断する。具体的には、例えば、まず、判断部７０４は、ログ６１１を参照して、移行元システムの構築時に実行された対象コマンドＣ「ｓｃｐ」の引数の値「ｒｏｏｔ」、「１０．０．０．２」および「〜／．ｓｓｈ／ｉｄ＿ｒｓａ．ｐｕｂ」を特定する。
【００８２】
つぎに、判断部７０４は、マッピングＤＢ２３０から、対象コマンドＣ「ｓｃｐ」の引数の値「ｒｏｏｔ」、「１０．０．０．２」および「〜／．ｓｓｈ／ｉｄ＿ｒｓａ．ｐｕｂ」が移行元システムフィールドにそれぞれ設定されたマッピング情報を抽出する。ここでは、マッピング情報５００−１，５００−５，５００−６が抽出される。
【００８３】
そして、判断部７０４は、マッピング情報５００−１，５００−５，５００−６の移行先システムフィールドに情報がそれぞれ設定されているか否かを判断する。ここでは、マッピング情報５００−６の移行先システムフィールドが「ｎｕｌｌ」のため、判断部７０４は、マッピング情報５００−６の移行先システムフィールドに情報が設定されていないと判断する。そして、判断部７０４は、対象コマンドＣ「ｓｃｐ」を実行できないと判断する。
【００８４】
図９において、（９−１）選択部７０２は、対象コマンドＣ「ｓｃｐ」が実行できないと判断された場合、サーバ乙の構築ログ６２０（図６参照）を参照して、サーバ乙に対して実行する対象コマンドＣを選択する。図９の例では、ログ６２１の対象コマンドＣ「ｓｓｈ」が選択されている。
【００８５】
（９−２）判定部７０３は、コマンド特性ＤＢ２２０を参照して、対象コマンドＣ「ｓｓｈ」に、対象コマンドＣ「ｓｓｈ」の実行時に入力となる情報に関する引数が含まれているか否かを判定する。ここでは、対象コマンドＣ「ｓｓｈ」の引数「ｋｅｙｇｅｎ」およびオプション「ｔ」の特性が「−」のため、対象コマンドＣ「ｓｓｈ」の実行時に入力となる情報に関する引数が含まれていないと判定される。
【００８６】
（９−３）判断部７０４は、対象コマンドＣ「ｓｓｈ」に、対象コマンドＣ「ｓｓｈ」の実行時に入力となる情報に関する引数が含まれていないと判定された場合、対象コマンドＣ「ｓｃｐ」を実行できると判断する。そして、制御部７０５は、対象コマンドＣ「ｓｓｈ」が実行できると判断された場合、サーバ乙に対する対象コマンドＣ「ｓｓｈ」を実行する。
【００８７】
また、更新部７０６は、移行先システムのサーバ乙に構成情報を問い合わせることにより、マッピングＤＢ２３０を更新する。ここでは、マッピングＤＢ２３０内のマッピング情報５００−６の移行先システムフィールドに「〜／．ｓｓｈ／ｉｄ＿ｒｓａ．ｐｕｂ」が設定されている。
【００８８】
図１０において、（１０−１）選択部７０２は、サーバ甲の構築ログ６１０（図６参照）を参照して、サーバ甲に対して実行する対象コマンドＣを選択する。図１０の例では、ログ６１１の対象コマンドＣ「ｓｃｐ」が選択されている。
【００８９】
（１０−２）判定部７０３は、コマンド特性ＤＢ２２０を参照して、対象コマンドＣ「ｓｃｐ」に、対象コマンドＣ「ｓｃｐ」の実行時に入力となる情報に関する引数が含まれているか否かを判定する。ここでは、対象コマンドＣ「ｓｃｐ」の１番目の引数の特性が「ｉｎｐｕｔ  ｆｉｌｅ」のため、対象コマンドＣ「ｓｃｐ」の実行時に入力となる情報に関する引数が含まれていると判定される。
【００９０】
（１０−３）判断部７０４は、対象コマンドＣ「ｓｃｐ」の実行可否を判断する。具体的には、例えば、まず、判断部７０４は、ログ６１１を参照して、移行元システムの構築時に実行された対象コマンドＣ「ｓｃｐ」の１番目の引数の値「ｒｏｏｔ」、「１０．０．０．２」および「〜／．ｓｓｈ／ｉｄ＿ｒｓａ．ｐｕｂ」を特定する。
【００９１】
つぎに、判断部７０４は、マッピングＤＢ２３０から、対象コマンドＣ「ｓｃｐ」の引数の値「ｒｏｏｔ」、「１０．０．０．２」および「〜／．ｓｓｈ／ｉｄ＿ｒｓａ．ｐｕｂ」が移行元システムフィールドにそれぞれ設定されたマッピング情報を抽出する。ここでは、マッピング情報５００−１，５００−５，５００−６が抽出される。
【００９２】
そして、判断部７０４は、マッピング情報５００−１，５００−５，５００−６の移行先システムフィールドに情報がそれぞれ設定されているか否かを判断する。ここでは、判断部７０４は、マッピング情報５００−１，５００−５，５００−６の移行先システムフィールドに情報がそれぞれ設定されていると判断する。そして、判断部７０４は、対象コマンドＣ「ｓｃｐ」を実行できると判断する。
【００９３】
図１１において、（１１−１）制御部７０５は、対象コマンドＣ「ｓｃｐ」が実行できると判断された場合、サーバ甲に対して対象コマンドＣ「ｓｃｐ」を実行する。具体的には、例えば、制御部７０５は、ログ６１１に含まれる１番目の引数の値を、マッピングＤＢ２３０内の対応する移行先システムの構成情報に置換することにより、対象コマンドＣ「ｓｃｐ」の実行指示１１００を生成する。
【００９４】
ここでは、引数の値「ｒｏｏｔ」が「ｒｏｏｔ」に置換され、引数の値「１０．０．０．２」が「１０．０．１．２」に置換され、引数の値「〜／．ｓｓｈ／ｉｄ＿ｒｓａ．ｐｕｂ」が「〜／．ｓｓｈ／ｉｄ＿ｒｓａ．ｐｕｂ」に置換される。なお、引数の値「ｒｏｏｔ」および「〜／．ｓｓｈ／ｉｄ＿ｒｓａ．ｐｕｂ」は移行元システムと同じため置換は不要である。そして、制御部７０５は、サーバ甲に対象コマンドＣ「ｓｃｐ」の実行指示１１００を送信する。
【００９５】
（１１−２）更新部７０６は、実行指示１１００が送信された結果、移行先システムのサーバ乙に構成情報を問い合わせることにより、マッピングＤＢ２３０を更新する。ここでは、マッピングＤＢ２３０内のマッピング情報５００−３の移行先システムフィールドに「〜／ｉｄ＿ｒｓａ．ｐｕｂ」が設定されている。
【００９６】
図１２において、（１２−１）選択部７０２は、サーバ甲の構築ログ６１０（図６参照）を参照して、サーバ甲に対して実行する対象コマンドＣを選択する。図１２の例では、ログ６１２の対象コマンドＣ「ｃｐ」が選択されている。
【００９７】
（１２−２）判定部７０３は、コマンド特性ＤＢ２２０を参照して、対象コマンドＣ「ｃｐ」に、対象コマンドＣ「ｃｐ」の実行時に入力となる情報に関する引数が含まれているか否かを判定する。ここでは、対象コマンドＣ「ｃｐ」の１番目の引数の特性が「ｉｎｐｕｔ  ｆｉｌｅ」のため、対象コマンドＣ「ｃｐ」の実行時に入力となる情報に関する引数が含まれていると判定される。
【００９８】
（１２−３）判断部７０４は、対象コマンドＣ「ｃｐ」の実行可否を判断する。具体的には、例えば、まず、判断部７０４は、ログ６１２を参照して、移行元システムの構築時に実行された対象コマンドＣ「ｃｐ」の１番目の引数の値「〜／ｉｄ＿ｒｓａ．ｐｕｂ」を特定する。
【００９９】
つぎに、判断部７０４は、マッピングＤＢ２３０から、対象コマンドＣ「ｃｐ」の引数の値「〜／ｉｄ＿ｒｓａ．ｐｕｂ」が移行元システムフィールドに設定されたマッピング情報を抽出する。ここでは、マッピング情報５００−３が抽出される。
【０１００】
そして、判断部７０４は、マッピング情報５００−３の移行先システムフィールドに情報が設定されているか否かを判断する。ここでは、判断部７０４は、マッピング情報５００−３の移行先システムフィールドに情報が設定されていると判断する。そして、判断部７０４は、対象コマンドＣ「ｃｐ」を実行できると判断する。
【０１０１】
（１２−４）制御部７０５は、対象コマンドＣ「ｃｐ」が実行できると判断された場合、サーバ甲に対して対象コマンドＣ「ｃｐ」を実行する。具体的には、例えば、制御部７０５は、ログ６１２に含まれる１番目の引数の値を、マッピングＤＢ２３０内の対応する移行先システムの構成情報に置換することにより、対象コマンドＣ「ｃｐ」の実行指示１２００を生成する。ここでは、引数の値「ｉｄ＿ｒｓａ．ｐｕｂ」が「ｉｄ＿ｒｓａ．ｐｕｂ」に置換される。そして、制御部７０５は、サーバ甲に対象コマンドＣ「ｃｐ」の実行指示１２００を送信する。
【０１０２】
（集約ログＰＬの具体例）
つぎに、移行先システムの構築の際に各サーバＳｉで実行されたコマンドのログを実行順に示す集約ログＰＬについて説明する。
【０１０３】
図１３は、集約ログＰＬの具体例を示す説明図である。図１３において、集約ログＰＬは、移行先システムの構築の際に各サーバ甲、乙に対して実行したコマンドの再構築ログ１３００−１〜１３００−３が実行順に示されている。
【０１０４】
各再構築ログ１３００−１〜１３００−３には、各サーバ甲、乙のＩＰアドレスが含まれている。また、再構築ログ１３００−１〜１３００−３には、各サーバ甲、乙に実行指示（例えば、実行指示１１００，１２００）を送信した送信時刻が含まれている。また、再構築ログ１３００−１〜１３００−３には、各サーバ甲、乙に対して実行したコマンドが含まれている。
【０１０５】
集約ログＰＬによれば、移行先システムの構築時に各サーバ甲、乙に対して実行したコマンドを実行順に特定することができる。これにより、新たにシステムを構築する際に、集約ログＰＬに従って各サーバ甲、乙に対するコマンドを実行することにより、サーバ間の実行順序の依存関係を考慮することなくシステムを構築することができる。
【０１０６】
また、集約ログＰＬによれば、各サーバ甲、乙に送信した実行指示の送信時刻から各サーバ甲、乙に対するコマンドの実行タイミングを特定することができる。この際、各サーバ甲、乙における時刻に依存しないため、サーバ間で時刻が同期していなくても、サーバ間の実行順序の依存関係を考慮することなくシステムを構築することができる。
【０１０７】
（サーバが３台以上の場合の実行制御装置１０１の実行制御処理例）
つぎに、システム内のサーバが３台以上の場合の実行制御装置１０１の実行制御処理例について説明する。ここでは、上述したサーバ甲、乙とは異なる３台目のサーバを「サーバ丙」とする。また、移行元システムでのサーバ丙のＩＰアドレスを「１０．０．０．３」とし、移行先システムでのサーバ丙のＩＰアドレスを「１０．０．１．３」とする。また、移行元システムおよび移行先システムの構成情報のうちサーバ丙以外の構成情報については、上述したサーバ甲、乙の２台で移行元システムおよび移行先システムを構築する場合と同様とする。
【０１０８】
図１４は、実行制御装置１０１の実行制御処理例を示す説明図（その６）である。図１４において、（１４−１）選択部７０２は、サーバ甲の構築ログ６１０（図６参照）を参照して、サーバ甲に対して実行する対象コマンドＣを選択する。図１４の例では、ログ６１１の対象コマンドＣ「ｓｃｐ」が選択されている。
【０１０９】
（１４−２）判定部７０３は、コマンド特性ＤＢ２２０を参照して、対象コマンドＣ「ｓｃｐ」に、対象コマンドＣ「ｓｃｐ」の実行時に入力となる情報に関する引数が含まれているか否かを判定する。ここでは、対象コマンドＣ「ｓｃｐ」の１番目の引数の特性が「ｉｎｐｕｔ  ｆｉｌｅ」のため、対象コマンドＣ「ｓｃｐ」の実行時に入力となる情報に関する引数が含まれていると判定される。
【０１１０】
（１４−３）判断部７０４は、対象コマンドＣ「ｓｃｐ」の実行可否を判断する。なお、対象コマンドＣ「ｓｃｐ」の実行可否を判断する具体的な処理内容は、図８に示した（８−３）の処理内容と同様のため、ここでは説明を省略する。すなわち、対象コマンドＣ「ｓｃｐ」を実行できないと判断される。
【０１１１】
この場合、選択部７０２は、サーバ甲とは異なるサーバ乙またはサーバ丙に対して実行するコマンド群から対象コマンドＣを選択する。この際、選択部７０２は、サーバ甲の対象コマンドＣ「ｓｃｐ」の実行に必要な情報が設定されていなかったマッピング情報５００−６を参照して、サーバ乙またはサーバ丙を選択することにしてもよい。
【０１１２】
具体的には、例えば、選択部７０２は、マッピング情報５００−６の構成情報フィールドに設定されている文字列から識別されるサーバ乙を選択する。これにより、サーバ甲の対象コマンドＣ「ｓｃｐ」と実行順序の依存関係があるコマンドを効率的に選別することができる。
【０１１３】
（実行制御装置１０１の実行制御処理手順）
つぎに、実行制御装置１０１の実行制御処理手順について説明する。
【０１１４】
図１５は、実行制御装置１０１の第１の実行制御処理手順の一例を示すフローチャートである。図１５のフローチャートにおいて、まず、実行制御装置１０１は、移行元システムの構築ログＬ１〜Ｌｎを取得したか否かを判断する（ステップＳ１５０１）。
【０１１５】
ここで、実行制御装置１０１は、移行元システムの構築ログＬ１〜Ｌｎを取得するのを待つ（ステップＳ１５０１：Ｎｏ）。そして、実行制御装置１０１は、移行元システムの構築ログＬ１〜Ｌｎを取得した場合（ステップＳ１５０１：Ｙｅｓ）、構築ログＬｉの「ｉ」を「ｉ＝１」で初期化する（ステップＳ１５０２）。
【０１１６】
つぎに、実行制御装置１０１は、構築ログＬ１〜Ｌｎから構築ログＬｉを選択する（ステップＳ１５０３）。そして、実行制御装置１０１は、構築ログＬｉを実行済みか否か判断する（ステップＳ１５０４）。なお、構築ログＬｉを実行済みとは、構築ログＬｉに含まれるすべてのログに対応するコマンドを実行済みであることを意味する。
【０１１７】
ここで、構築ログＬｉを実行済みの場合（ステップＳ１５０４：Ｙｅｓ）、実行制御装置１０１は、ステップＳ１５１０に移行する。一方、構築ログＬｉを実行済みではない場合（ステップＳ１５０４：Ｎｏ）、実行制御装置１０１は、構築ログＬｉから移行先システムでサーバＳｉに対して実行する対象コマンドＣを選択する（ステップＳ１５０５）。なお、対象コマンドＣは、構築ログＬｉに含まれるログに対応するコマンドのうち実行順序が最も早い未実行のコマンドである。
【０１１８】
そして、実行制御装置１０１は、選択した対象コマンドＣの実行可否を判断するコマンド実行可否判断処理を実行する（ステップＳ１５０６）。なお、コマンド実行可否判断処理の具体的な処理手順については、図１６を用いて後述する。
【０１１９】
つぎに、実行制御装置１０１は、対象コマンドＣを実行するコマンド実行処理を実行する（ステップＳ１５０７）。なお、コマンド実行処理の具体的な処理手順については、図１７を用いて後述する。そして、実行制御装置１０１は、構築ログＬｉのうち実行されていない未実行のコマンドがあるか否かを判断する（ステップＳ１５０８）。
【０１２０】
ここで、未実行のコマンドがある場合（ステップＳ１５０８：Ｙｅｓ）、実行制御装置１０１は、ステップＳ１５０５に戻る。一方、未実行のコマンドがない場合（ステップＳ１５０８：Ｎｏ）、実行制御装置１０１は、構築ログＬ１〜Ｌｎのうち実行されていない未実行の構築ログがあるか否かを判断する（ステップＳ１５０９）。
【０１２１】
ここで、未実行の構築ログがある場合（ステップＳ１５０９：Ｙｅｓ）、実行制御装置１０１は、構築ログＬｉの「ｉ」をインクリメントして（ステップＳ１５１０）、「ｉ」が「ｎ」より大きくなったか否かを判断する（ステップＳ１５１１）。ここで、「ｉ」が「ｎ」以下の場合（ステップＳ１５１１：Ｎｏ）、実行制御装置１０１は、ステップＳ１５０３に戻る。一方、「ｉ」が「ｎ」より大きくなった場合（ステップＳ１５１１：Ｙｅｓ）、実行制御装置１０１は、ステップＳ１５０２に戻る。
【０１２２】
また、ステップＳ１５０９において、未実行の構築ログがない場合（ステップＳ１５０９：Ｎｏ）、実行制御装置１０１は、集約ログＰＬを出力して（ステップＳ１５１２）、本フローチャートによる一連の処理を終了する。なお、集約ログＰＬは、移行先システムの構築時に各サーバＳｉに対して実行した対象コマンドＣの再構築ログを実行順に示す情報である。
【０１２３】
これにより、移行先システム内のサーバ間の実行順序の依存関係を考慮してコマンドを実行することができる。
【０１２４】
つぎに、図１５に示したステップＳ１５０６のコマンド実行可否判断処理の具体的な処理手順について説明する。
【０１２５】
図１６は、コマンド実行可否判断処理の具体的処理手順の一例を示すフローチャートである。図１６のフローチャートにおいて、まず、実行制御装置１０１は、コマンド特性ＤＢ２２０を参照して、対象コマンドＣの引数の特性を判断する（ステップＳ１６０１）。
【０１２６】
つぎに、実行制御装置１０１は、対象コマンドＣの引数の特性が「ｉｎｐｕｔ  Ｓｔｒｉｎｇ」または「ｉｎｐｕｔ  ｆｉｌｅ」であるか否かを判断する（ステップＳ１６０２）。ここで、「ｉｎｐｕｔ  Ｓｔｒｉｎｇ」または「ｉｎｐｕｔ  ｆｉｌｅ」ではない場合（ステップＳ１６０２：Ｎｏ）、実行制御装置１０１は、コマンド実行可否判断処理を呼び出したステップに戻る。
【０１２７】
一方、「ｉｎｐｕｔ  Ｓｔｒｉｎｇ」または「ｉｎｐｕｔ  ｆｉｌｅ」の場合（ステップＳ１６０２：Ｙｅｓ）、実行制御装置１０１は、構築ログＬｉを参照して、移行元システムの構築時に実行された対象コマンドＣの引数の値を特定する（ステップＳ１６０３）。つぎに、実行制御装置１０１は、マッピングＤＢ２３０から、特定した対象コマンドＣの引数の値が移行元システムフィールドに設定されたマッピング情報を抽出する（ステップＳ１６０４）。
【０１２８】
そして、実行制御装置１０１は、抽出したマッピング情報の移行先システムフィールドに「ｎｕｌｌ」が設定されているか否かを判断する（ステップＳ１６０５）。ここで、「ｎｕｌｌ」が設定されている場合（ステップＳ１６０５：Ｙｅｓ）、実行制御装置１０１は、図１５に示したステップＳ１５１０に移行する。
【０１２９】
一方、「ｎｕｌｌ」が設定されていない場合（ステップＳ１６０５：Ｎｏ）、実行制御装置１０１は、対象コマンドＣの引数の値を、抽出したマッピング情報の移行先システムフィールドに設定されている情報に置換する（ステップＳ１６０６）。そして、実行制御装置１０１は、コマンド実行可否判断処理を呼び出したステップに戻る。
【０１３０】
これにより、対象コマンドＣがサーバ間で実行順序の依存関係がある場合に、対象コマンドＣの実行に必要な移行先システムの構成情報（引数の値）がマッピングＤＢ２３０に設定されているか否かによって、対象コマンドＣの実行可否を判断することができる。
【０１３１】
つぎに、図１５に示したステップＳ１５０７のコマンド実行処理の具体的な処理手順について説明する。
【０１３２】
図１７は、コマンド実行処理の具体的処理手順の一例を示すフローチャートである。図１７のフローチャートにおいて、まず、実行制御装置１０１は、サーバＳｉに対する対象コマンドＣを実行する（ステップＳ１７０１）。そして、実行制御装置１０１は、対象コマンドＣとサーバＳｉのＩＰアドレスとを対応付けて表す再構築ログを作成する（ステップＳ１７０２）。
【０１３３】
つぎに、実行制御装置１０１は、移行先システムのサーバＳｉに問い合わせることにより、移行先システムの構成情報を取得する（ステップＳ１７０３）。そして、実行制御装置１０１は、取得した移行先システムの構成情報に基づいて、マッピングＤＢ２３０の記憶内容を更新して（ステップＳ１７０４）、コマンド実行処理を呼び出したステップに戻る。
【０１３４】
これにより、サーバＳｉに対して対象コマンドＣを実行することができる。また、対象コマンドＣと、対象コマンドＣを実行したサーバＳｉのＩＰアドレスとを対応付けて表す再構築ログを作成することができる。
【０１３５】
つぎに、実行制御装置１０１の第２の実行制御処理手順について説明する。第２の実行制御処理は、図１５に示したステップＳ１５１２において出力される集約ログＰＬに基づいて、システム構築時の各サーバＳｉのコマンドの実行を制御する処理である。
【０１３６】
図１８は、実行制御装置１０１の第２の実行制御処理手順の一例を示すフローチャートである。図１８のフローチャートにおいて、まず、実行制御装置１０１は、移行元システムの集約ログＰＬを取得したか否かを判断する（ステップＳ１８０１）。ここで、実行制御装置１０１は、移行元システムの集約ログＰＬを取得するのを待つ（ステップＳ１８０１：Ｎｏ）。
【０１３７】
そして、実行制御装置１０１は、移行元システムの集約ログＰＬを取得した場合（ステップＳ１８０１：Ｙｅｓ）、集約ログＰＬから移行先システムでサーバＳｉに対して実行する対象コマンドＣを選択する（ステップＳ１８０２）。なお、この対象コマンドＣは、集約ログＰＬに含まれる再構築ログに対応するコマンドのうち実行順序が最も早い未実行のコマンドである。
【０１３８】
つぎに、実行制御装置１０１は、コマンド特性ＤＢ２２０を参照して、対象コマンドＣの引数の特性を判断する（ステップＳ１８０３）。つぎに、実行制御装置１０１は、対象コマンドＣの引数の特性が「ｉｎｐｕｔ  Ｓｔｒｉｎｇ」または「ｉｎｐｕｔ  ｆｉｌｅ」であるか否かを判断する（ステップＳ１８０４）。
【０１３９】
ここで、「ｉｎｐｕｔ  Ｓｔｒｉｎｇ」または「ｉｎｐｕｔ  ｆｉｌｅ」ではない場合（ステップＳ１８０４：Ｎｏ）、実行制御装置１０１は、ステップＳ１８０８に移行する。一方、「ｉｎｐｕｔ  Ｓｔｒｉｎｇ」または「ｉｎｐｕｔ  ｆｉｌｅ」の場合（ステップＳ１８０４：Ｙｅｓ）、実行制御装置１０１は、集約ログＰＬを参照して、移行元システムの構築時に実行された対象コマンドＣの引数の値を特定する（ステップＳ１８０５）。
【０１４０】
つぎに、実行制御装置１０１は、マッピングＤＢ２３０から、特定した対象コマンドＣの引数の値が移行元システムフィールドに設定されたマッピング情報を抽出する（ステップＳ１８０６）。そして、実行制御装置１０１は、対象コマンドＣの引数の値を、抽出したマッピング情報の移行先システムフィールドに設定されている情報に置換する（ステップＳ１８０７）。
【０１４１】
つぎに、実行制御装置１０１は、サーバＳｉに対する対象コマンドＣを実行する（ステップＳ１８０８）。そして、実行制御装置１０１は、移行先システムのサーバＳｉに問い合わせることにより、移行先システムの構成情報を取得する（ステップＳ１８０９）。そして、実行制御装置１０１は、取得した移行先システムの構成情報に基づいて、マッピングＤＢ２３０の記憶内容を更新する（ステップＳ１８１０）。
【０１４２】
つぎに、実行制御装置１０１は、集約ログＰＬのうち実行されていない未実行のコマンドがあるか否かを判断する（ステップＳ１８１１）。ここで、未実行のコマンドがある場合（ステップＳ１８１１：Ｙｅｓ）、実行制御装置１０１は、ステップＳ１８０２に戻る。一方、未実行のコマンドがない場合（ステップＳ１８１１：Ｎｏ）、実行制御装置１０１は、本フローチャートによる一連の処理を終了する。
【０１４３】
これにより、システム構築時にサーバ間の実行順序の依存関係を考慮することなくコマンドを実行することができる。
【０１４４】
以上説明したように、実行制御装置１０１によれば、サーバＳｉに対して実行するコマンド群から対象コマンドＣが選択された場合、コマンド特性ＤＢ２２０を参照して、対象コマンドＣの引数が、対象コマンドＣの実行時に入力となる情報に関する引数であるか否かを判定することができる。これにより、サーバＳｉに対して実行する対象コマンドＣが他のサーバＳｊに対して実行するコマンドと実行順序の依存関係があるか否かを判定することができる。
【０１４５】
また、実行制御装置１０１によれば、対象コマンドＣの引数が、対象コマンドＣの実行時に入力となる情報に関する引数ではない場合には、対象コマンドＣを実行できると判断することができる。これにより、対象コマンドＣがサーバ間で実行順序の依存関係がないコマンドの場合に、対象コマンドＣを実行できると判断することができる。
【０１４６】
また、実行制御装置１０１によれば、対象コマンドＣの引数が、対象コマンドＣの実行時に入力となる情報に関する引数である場合、マッピングＤＢ２３０を参照して、対象コマンドＣの実行可否を判断することができる。具体的には、例えば、実行制御装置１０１は、構築ログＬｉを参照して、移行元システムの構築時に実行された対象コマンドＣの引数の値を特定する。また、実行制御装置１０１は、マッピングＤＢ２３０から、特定した対象コマンドＣの引数の値が移行元システムフィールドに設定されたマッピング情報を抽出して、マッピング情報の移行先システムフィールドに情報が設定されているか否かを判断する。ここで、移行先システムフィールドに情報が設定されている場合、実行制御装置１０１は、対象コマンドＣを実行できると判断する。一方、移行先システムフィールドに情報が設定されていない場合、実行制御装置１０１は、対象コマンドＣを実行できないと判断する。
【０１４７】
これにより、移行先システムの構成情報として、対象コマンドＣの実行に必要な情報（引数の値）が存在する場合に、対象コマンドＣを実行できると判断することができる。また、移行先システムの構成情報として、対象コマンドＣの実行に必要な情報（引数の値）が存在しない場合には、対象コマンドＣを実行できないと判断することができる。
【０１４８】
また、実行制御装置１０１によれば、対象コマンドＣが実行できない場合は、サーバＳｉとは異なる他のサーバＳｊに対して実行するコマンド群から対象コマンドＣを選択することができる。これにより、サーバＳｉの対象コマンドＣの実行に必要な情報（引数の値）が存在しない場合に、対象コマンドＣを他のサーバＳｊのコマンドに切り替えることができる。
【０１４９】
また、実行制御装置１０１によれば、対象コマンドＣが実行できる場合は、サーバＳｉに対して対象コマンドＣを実行することができる。また、実行制御装置１０１によれば、対象コマンドＣの実行結果に基づいて、マッピングＤＢ２３０の記憶内容（移行先システムの構成情報）を更新することができる。これにより、対象コマンドＣが実行される度に、他のコマンドの実行に必要な情報（引数の値）をマッピングＤＢ２３０に登録することができる。
【０１５０】
また、実行制御装置１０１によれば、対象コマンドＣを実行した場合、サーバＳｉに対して実行するコマンド群のうちの未実行のコマンドから対象コマンドＣを選択することができる。これにより、サーバＳｉに対して実行する対象コマンドＣを実行順に切り替えることができる。
【０１５１】
また、実行制御装置１０１によれば、サーバＳｉに対して実行するコマンド群のうちの未実行のコマンドがない場合には、他のサーバＳｊに対して実行するコマンド群のうちの未実行のコマンドから対象コマンドＣを選択することができる。これにより、サーバＳｉに対して実行するコマンド群の実行が完了した場合に、対象コマンドＣをサーバＳｉのコマンドから他のサーバＳｊのコマンドに切り替えることができる。
【０１５２】
また、実行制御装置１０１によれば、対象コマンドＣが実行できない場合、構築ログＬｉに含まれるログ群のうち対象コマンドＣに対応するログから、他のサーバＳｊの識別子を検出することができる。また、実行制御装置１０１によれば、他のサーバＳｊの識別子を検出した場合は、当該識別子から識別されるサーバＳｊに実行させるコマンド群から対象コマンドＣを選択することができる。これにより、対象コマンドＣが実行できない場合に、対象コマンドＣと実行順序の依存関係があるコマンドを効率的に選別することができる。
【０１５３】
また、実行制御装置１０１によれば、対象コマンドＣを実行した場合、対象コマンドＣと対象コマンドＣを実行したサーバＳｉの識別子とを対応付けて表す再構築ログを作成することができる。また、実行制御装置１０１によれば、移行先システムが構築された結果、再構築ログを実行順に示す集約ログＰＬを出力することができる。これにより、新たにシステムを構築する際に、集約ログＰＬに従って各サーバＳｉに対するコマンドを実行することにより、サーバ間の実行順序の依存関係を考慮することなくシステムを構築することができる。
【０１５４】
これらのことから、実行制御装置１０１によれば、サーバＳ１〜Ｓｎを用いてシステム構築する場合に、サーバ間の実行順序の依存関係を考慮して各サーバＳｉに対するコマンドを実行することができ、システムの構築作業にかかる負荷を軽減させることができる。また、実行制御装置１０１によれば、サーバ間で実行順序の依存関係がないコマンドについては、サーバ単位で並列に実行することができるため、システムの構築に要する時間の短縮化を図ることができる。また、実行制御装置１０１によれば、システムを再々構築する場合には、システムの再構築時の集約ログＰＬに従って各サーバＳｉに対するコマンドを実行することにより、サーバ間の実行順序の依存関係を考慮することなくシステムを構築することができる。
【０１５５】
なお、本実施の形態で説明した実行制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実行制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実行制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１５６】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１５７】
（付記１）コンピュータに、
システムの構築の際に複数の情報処理装置のいずれかの情報処理装置に対して実行するコマンド群から実行対象となるコマンドが選択された場合、前記実行対象となるコマンドの引数の特性と前記システムの構成情報とに基づいて、前記実行対象となるコマンドの実行可否を判断し、
前記実行対象となるコマンドが実行できないと判断した場合、前記いずれかの情報処理装置とは異なる情報処理装置に対して実行するコマンド群から前記実行対象となるコマンドを選択する、
処理を実行させることを特徴とする実行制御プログラム。
【０１５８】
（付記２）前記判断する処理は、
前記実行対象となるコマンドの引数が、前記実行対象となるコマンドの実行時に入力となる情報に関する引数である場合に、前記実行対象となるコマンドの実行可否を判断することを特徴とする付記１に記載の実行制御プログラム。
【０１５９】
（付記３）前記システムの構成情報は、過去に構築された前記システムの第１構成情報と、現在構築中の前記システムの第２構成情報とを対応付けて表す情報であり、
前記コンピュータに、
前記システムの構成情報から前記実行対象のコマンドの引数となる値が設定された第１構成情報を抽出し、
抽出した前記第１構成情報に対応する第２構成情報に前記実行対象のコマンドの引数となる値が設定されているか否かを判定する、処理を実行させ、
前記判断する処理は、
前記実行対象のコマンドの引数となる値が設定されていない場合、前記実行対象となるコマンドが実行できないと判断することを特徴とする付記２に記載の実行制御プログラム。
【０１６０】
（付記４）前記コンピュータに、
前記実行対象となるコマンドが実行できると判断した場合、前記いずれかの情報処理装置に対して前記実行対象となるコマンドを実行し、
前記実行対象となるコマンドの実行結果に基づいて、前記システムの構成情報を更新する、処理を実行させ、
前記選択する処理は、
前記実行対象となるコマンドを実行した場合、前記いずれかの情報処理装置に対して実行するコマンド群のうちの未実行のコマンドから前記実行対象となるコマンドを選択することを特徴とする付記１〜３のいずれか一つに記載の実行制御プログラム。
【０１６１】
（付記５）前記コンピュータに、
前記実行対象のコマンドを実行した場合、前記実行対象のコマンドのログと対応付けて前記実行対象のコマンドを実行した情報処理装置の識別子を出力する処理を実行させることを特徴とする付記１〜４のいずれか一つに記載の実行制御プログラム。
【０１６２】
（付記６）前記コンピュータに、
前記実行対象となるコマンドが実行できないと判断した場合、過去に前記システムを構築した際の前記実行対象となるコマンドのログから情報処理装置の識別子を検出する処理を実行させ、
前記選択する処理は、
前記ログから情報処理装置の識別子が検出された場合、当該識別子から識別される情報処理装置に対して実行するコマンド群から前記実行対象となるコマンドを選択することを特徴とする付記１〜５のいずれか一つに記載の実行制御プログラム。
【０１６３】
（付記７）前記コンピュータに、
コマンドの識別子と前記コマンドの実行時に入力となる情報に関する引数の識別子とを対応付けて表す情報を参照して、前記実行対象となるコマンドに、前記実行対象となるコマンドの実行時に入力となる情報に関する引数が含まれているか否かを判定する処理を実行させ、
前記判断する処理は、
前記入力となる情報に関する引数が含まれていると判定した場合に、前記実行対象となるコマンドの実行可否を判断することを特徴とする付記２に記載の実行制御プログラム。
【０１６４】
（付記８）前記選択する処理は、
前記いずれかの情報処理装置に対して実行するコマンド群のうちの未実行のコマンドがない場合には、前記いずれかの情報処理装置とは異なる情報処理装置に対して実行するコマンド群のうちの未実行のコマンドから前記実行対象となるコマンドを選択することを特徴とする付記４に記載の実行制御プログラム。
【０１６５】
（付記９）コンピュータが、
システムの構築の際に複数の情報処理装置のいずれかの情報処理装置に対して実行するコマンド群から実行対象となるコマンドが選択された場合、前記実行対象となるコマンドの引数の特性と前記システムの構成情報とに基づいて、前記実行対象となるコマンドの実行可否を判断し、
前記実行対象となるコマンドが実行できないと判断した場合、前記いずれかの情報処理装置とは異なる情報処理装置に対して実行するコマンド群から前記実行対象となるコマンドを選択する、
処理を実行することを特徴とする実行制御方法。
【０１６６】
（付記１０）複数の情報処理装置と、
システムの構築の際に前記複数の情報処理装置のいずれかの情報処理装置に対して実行するコマンド群から実行対象となるコマンドが選択された場合、前記実行対象となるコマンドの引数の特性と前記システムの構成情報とに基づいて、前記実行対象となるコマンドの実行可否を判断し、前記実行対象となるコマンドが実行できないと判断した場合、前記いずれかの情報処理装置とは異なる情報処理装置に対して実行するコマンド群から前記実行対象となるコマンドを選択する実行制御装置と、
を含むことを特徴とするネットワークシステム。
【０１６７】
（付記１１）コンピュータに、
システムの構築の際に複数の情報処理装置のいずれかの情報処理装置に対して実行するコマンド群から実行対象となるコマンドが選択された場合、前記実行対象となるコマンドの引数の特性と前記システムの構成情報とに基づいて、前記実行対象となるコマンドの実行可否を判断し、
前記実行対象となるコマンドが実行できないと判断した場合、前記いずれかの情報処理装置とは異なる情報処理装置に対して実行するコマンド群から前記実行対象となるコマンドを選択する、
処理を実行させる実行制御プログラムを記録したことを特徴とする前記コンピュータに読み取り可能な記録媒体。
【符号の説明】
【０１６８】
１０１  実行制御装置
１０２，１０３，２０１  情報処理装置
２２０  コマンド特性ＤＢ
２３０  マッピングＤＢ
７０１  取得部
７０２  選択部
７０３  判定部
７０４  判断部
７０５  制御部
７０６  更新部
７０７  出力部
【図１】
2014194631.tif 000003
【図２】
2014194631.tif 000004
【図３】
2014194631.tif 000005
【図４】
2014194631.tif 000006
【図５】
2014194631.tif 000007
【図６】
2014194631.tif 000008
【図７】
2014194631.tif 000009
【図８】
2014194631.tif 000010
【図９】
2014194631.tif 000011
【図１０】
2014194631.tif 000012
【図１１】
2014194631.tif 000013
【図１２】
2014194631.tif 000014
【図１３】
2014194631.tif 000015
【図１４】
2014194631.tif 000016
【図１５】
2014194631.tif 000017
【図１６】
2014194631.tif 000018
【図１７】
2014194631.tif 000019
【図１８】
2014194631.tif 000020