(57)【要約】【課題】  業務システムにて運用を開始しようとする業務の業務プログラムが動作する前提となるＯＳや各種プログラムを計算機に配備して業務の動作環境を構築するにあたり、構築時間が短い最適化された構築手順を選択する【解決手段】  保存されているディスクイメージに含まれる配備のための各種プログラム（アプリケーションプログラム、パッチ）と、業務動作の前提となる各種プログラムと比較して、(1)不要なプログラムをアンインストールするのにかかる時間、(2)追加するプログラムをインストールするのにかかる時間、及び(3)当該ディスクイメージを計算機に配備する際にかかる時間を求め、それらを合計することで、推定構築時間を求める。このときに、アンインストールないしインストールする手順の最適化を行うことで、推定構築時間がなるべく短くなるようにする。【選択図】  図２
2007219866.tif 000002
【特許請求の範囲】
【請求項１】
計算機において業務プログラムを動作させる前提となる各種の要配備プログラムを前記計算機に配備することで業務動作環境を構築する業務運用環境構築方法であって、
一つ以上の起動ディスクイメージの内容に関する情報を記録し保持する第１のステップと、前記要配備プログラムの一部を含む起動ディスクイメージを抽出し、前記業務プログラムの動作前提となる要配備プログラムに対して前記抽出した起動ディスクイメージでは不足しているプログラムを抽出する第２のステップと、前記起動ディスクイメージと前記不足しているプログラムを計算機に配備する第３のステップを含む業務運用環境構築方法。
【請求項２】
前記不足しているプログラムを計算機に配備する手順、及びオペレーティングシステムを再起動する手順を含む最適化された業務動作環境の構築手順を求める第４のステップと、前記の抽出した起動ディスクイメージのインストールに要する時間と、前記最適化された動作環境の構築手順での追加インストール及びオペレーティングシステムの再起動にそれぞれに要する時間を加算して推定構築時間を求める第５のステップを更に有し、該推定構築時間に基づき前記の抽出した起動ディスクイメージを前記業務の動作環境構築に採用するか否かを決定することを特徴とする請求項１記載の業務運用環境構築方法。
【請求項３】
複数の起動ディスクイメージに対して前記第４及び第５ステップを実行してそれぞれ推定構築時間を算出し、その中で最も短い推定構築時間が算出された起動ディスクイメージを採用することを特徴とする請求項２記載の業務運用環境構築方法。
【請求項４】
複数の起動ディスクイメージに対して前記第４及び第５ステップを実行してそれぞれ推定構築時間を算出し、前記複数の起動ディスクイメージについてそれぞれ算出された推定構築時間を画面に表示し、表示した複数の起動ディスクイメージから一つのディスクイメージを選択することを促す表示を行うことを特徴とする請求項２記載の業務運用環境構築方法。
【請求項５】
前記要配備プログラムは、オペレーティングシステム、該オペレーティングシステム上で動作するアプリケーションプログラム、及び他のプログラムの不具合を解消するためのパッチプログラムを含むことを特徴とする請求項２記載の業務運用環境構築方法。
【請求項６】
前記第４のステップは、前記不足しているプログラムの中から、インストール後にオペレーティングシステムを再起動せずに連続してインストール可能なプログラムの組を、前記組が記録されたデータベースを参照することで求め、前記業務動作環境の構築手順におけるオペレーティングシステムの再起動の回数を削減することでインストール手順の最適化を行うステップを含む請求項２記載の業務動作環境構築方法。
【請求項７】
前記第４のステップは、前記業務プログラムの動作前提となる要配備プログラムに対して前記抽出したディスクイメージでは不要となるプログラムを抽出する第６のステップを含み、前記第３のステップは前記不要となるプログラムを計算機からアンインストールする第７のステップを含むことを特徴とする請求項２記載の業務運用環境構築方法。
【請求項８】
前記第４のステップは、前記不要となるプログラムの中から、アンインストール後にオペレーティングシステムを再起動せずに連続してアンインストール可能なプログラムの組を、前記組が記録されたデータベースを参照することで求め、前記業務動作環境の構築手順における再起動回数を削減することで最適化を行うステップを含む請求項７記載の業務運用環境構築方法。
【請求項９】
前記第６のステップは、前記不要となるプログラムの中から、パッチプログラムと前記パッチプログラムのパッチ対象アプリケーションプログラムの対応情報を、前記組が記録されたデータベースを参照することで求め、前記組に含まれるパッチプログラムのアンインストールの手順を削除することにより前記業務動作環境の構築手順の最適化を行うステップを含む請求項７記載の業務運用環境構築方法。
【請求項１０】
前記第２のステップは、前記起動ディスクイメージでは不足するプログラムを求める際に、互換性を持つプログラムの組が記録されたデータベースを参照し、不足するプログラムに対してこれと互換性を持つプログラムが前記抽出されたディスクイメージに含まれていれば前記不足するプログラムから除外するステップを有することを請求項１記載の業務運用環境構築方法。
【請求項１１】
それぞれ配備されていることが業務プログラムの動作の前提となる各種の要配備プログラムを収集して起動ディスクイメージを作成し、計算機に配備した場合に、
前記起動ディスクイメージのバックアップイメージを作成して保存し、
前記起動ディスクイメージのプログラム構成と、前記ディスクイメージを計算機に配備する際にかかる配備時間との入力を促す入力画面を表示し、
前記プログラム構成と前記配備時間が入力されたら、これらの情報を前記保存した起動ディスクイメージの再利用のためにテーブルに記録することを特徴とする業務運用環境構築方法。
【請求項１２】
前記保存された起動ディスクイメージがプログラムの配備に使用される度に、その配備回数を記録することを特徴とする請求項１１記載の業務運用環境構築方法。
【請求項１３】
前記起動ディスクイメージのバックアップイメージの格納領域に残り容量が少ない場合に、既に蓄積されている起動ディスクイメージのなかから前記配備回数が少ない起動ディスクイメージを選択して前記格納領域から削除し、保存のための容量を確保する請求項１２記載の業務運用環境構築方法。
【請求項１４】
それぞれ計算機に配備されていることが業務プログラムの動作の前提となる各種の要配備プログラムを前記計算機に配備し、もって業務動作環境を構築する業務運用環境構築方法であって、
蓄積している起動ディスクイメージの内容の情報を記録したテーブルを参照することにより前記要配備プログラムの一部を含む起動ディスクイメージを抽出し、前記業務プログラムの動作前提となる要配備プログラムに対して前記抽出した起動ディスクイメージでは不足しているプログラムを求める第１のステップ、
前記不足しているプログラムを個別に追加インストールする順序、及びオペレーティングシステムの再起動の手順を含む最適化された業務動作環境の構築手順を求める第２のステップ、
前記の抽出した起動ディスクイメージのインストールに要する時間と、前記最適化された動作環境の構築手順での追加インストール及びオペレーティングシステムの再起動にそれぞれに要する時間を加算して推定構築時間を求める第３のステップ、及び
抽出した起動ディスクイメージを前記業務の動作環境構築に採用するが否かを、前記推定構築時間により決定する第４のステップ、
を有する業務運用環境構築方法。
【請求項１５】
業務を運用するための複数の計算機と、計算機に業務動作環境を構築するための起動ディスクイメージを対象の計算機に配備し、かつ配備した起動ディスクイメージを保存するイメージ配備手段と、計算機に各種プログラムをインストールもしくはアンインストールするプログラム配備手段と、前記ディスクイメージ配備手段およびプログラム配備手段に指示を発して計算機の業務動作環境の構築を管理する統括管理手段とが相互に通信可能に接続された業務処理システムであって、
前記統括管理手段は、前記イメージ配備手段に保存された各起動ディスクイメージのプログラム構成と平均配備時間とを記録管理するテーブルと、ある業務の動作環境構築の要求があると前記テーブルを参照して前記業務の動作環境構築に用いる起動ディスクイメージの候補を抽出する使用イメージ候補作成部と、抽出した起動ディスクイメージのプログラム構成では前記業務の運用環境構築に不足するプログラムと不要となるプログラムとを前記テーブルの情報と前記要求との比較により導出し、該不要となるプログラムのアンインストール、該不足するプログラムの追加インストール、及びアンインストール、追加インストール後のオペレーティングシステムの再起動を含めた業務動作環境構築手順を作成し、前記候補を使用した場合の動作環境構築にかかる時間を推定する構築時間推定部、前記推定された構築時間を基に決定した使用ディスクイメージと業務動作環境構築手順に従い前記ディスクイメージ配備手段及び前記プログラム配備手段に指示を発し、決定した業務動作環境構築手順を実行させる業務動作環境構築部とを有することを特徴とする業務処置システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばブレードサーバのような多数の計算機を備えるシステムにて、起動ディスクイメージを使用して業務の動作環境を構築する技術に関するものである。
【背景技術】
【０００２】
Web三階層業務など、計算機を利用した業務を運用開始するためには、業務固有のアプリケーションや業務固有のデータを配備させるための動作環境を構築する必要がある。この業務動作環境は次の手順により構築する。まず最初に、業務を運用する計算機を決定する。次に、OSやデバイスドライバ、及びOSの不具合解消や機能拡張を行うパッチプログラムをその計算機にインストールする。次に、業務運用に必要となるアプリケーションプログラムや、アプリケーションプログラムの不具合解消や機能拡張を行うパッチプログラムをインストールする。アプリケーションプログラムやパッチプログラムをインストールした後には、それらプログラムのセットアップ処理やプログラム起動処理を行うために、ＯＳの再起動が必要となる場合がある。
【０００３】
一般に、一つの動作環境を構築するには、上記のようにプログラム、パッチをインストールするという手順と、ＯＳを再起動するという手順の双方を複数回行う必要がある、そのため動作環境の構築には時間がかかる。そのため、業務の運用開始の遥か前の時点でOSやアプリケーションプログラム、パッチプログラムを計算機にインストールして、当該計算機のディスクからディスクイメージを予め生成しておき、業務の運用開始時刻が近づいたらそのディスクイメージを計算機に配備することで、業務動作環境を構築する時間を短縮することが行われている。
【０００４】
【特許文献１】特開平１１−３２９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記従来技術では、運用を開始しようとする業務の動作環境として配備が必要なＯＳやプログラム、パッチが含まれるディスクイメージを予め作成しておく必要がある。業務の運用開始時刻が近づいているが、そのようなイメージが無い場合には、業務動作環境を一から手動で構築する必要があり、構築に時間がかかる問題があった。
【０００６】
この問題を解決する方法として、前記業務の動作環境として配備に必要なＯＳやプログラム、パッチの一部を含むディスクイメージを利用して動作環境を構築することが考えられる。その構築手順は次の通りである。まず、前記のディスクイメージを計算機に配備する。次に、前記ディスクイメージに含まれているアプリケーションプログラム及びパッチプログラムのうち、前記業務の動作環境に不要となるアプリケーションプログラム及びパッチプログラムを前記計算機からアンインストールする。そして、前記業務の動作環境に不足するアプリケーションプログラム及びパッチプログラムを前記計算機にインストールする。アプリケーションプログラムやパッチプログラムをインストールもしくはアンインストールした後に、ＯＳの再起動が必要であればその処理も行う。このような処理を行うことにより、一から手動で業務動作環境を構築するよりも短時間で業務動作環境を構築することが考えられる。
【０００７】
このような動作環境の構築方法を用いたときに、構築時間を最短とするためには、どのディスクイメージを使用して、どのようにアプリケーションプログラムやパッチプログラムをインストールもしくはアンインストールして、どのようにＯＳを再起動すれば業務動作環境の構築時間が最短となるのか、それを知る方法が必要となる。従来はこれを知る手段が存在しなかった。
【０００８】
そこで本発明は、業務に対する要配備プログラムの一部を含むディスクイメージを使用して、業務動作環境を構築する際の構築時間を推定することで、適切なディスクイメージの選択ができ、もって業務動作環境の構築手順の最適化を可能とすることを目的とする。
なお本明細書では、プログラムの「配備」とはプログラムが計算機上で動作するように計算機にインストールして設定を行うことをいう。また、業務に対する「要配備プログラム」とは、計算機において業務プログラムを動作される前提となるプログラムを言う。例えば、ライブラリプログラムやミドルウエア等が含これにまれる。
【課題を解決するための手段】
【０００９】
本発明は、ディスクイメージに含まれる各種プログラムと、業務に対する要配備プログラムとを比較して、(1) 当該ディスクイメージを計算機に配備する際にかかる時間、(2)不要なプログラムをアンインストールするのにかかる時間、及び(3)不足するプログラムをインストールするのにかかる時間を推定する。(2)(3)については、ＯＳ再起動にかかる時間も含めて時間を推定する。そして(1)(2)(3)の時間を合計することで、推定構築時間を求める。
【００１０】
このときに、不要なプログラムをアンインストールする手順、不足するプログラムをインストールする手順の最適化を行うことで、推定構築時間がなるべく短くなるようにする。最適化した構築手順は本来の構築手順と異なるため、そのような手順で構築したときに動作環境が正常に動作する保証はない。そのため最適化した構築手順で動作環境を構築して問題がないかどうかはデータベース等の外部から与えられた知識を参照して調べる、もしくはユーザに確認してもらう。
【００１１】
ＯＳ再起動回数を削減する方法は次のとおりである。今、二つのアプリケーションプログラムもしくはパッチプログラムＡとＢをインストールする場合を考える。ＡとＢの双方ともインストール後にＯＳを再起動する必要があるとする。本来の構築手順では、Ａをインストールした後にＯＳを再起動し、その後にＢをインストールしてＯＳを再起動する。ここでＡのインストールとＢのインストールとを連続して行い、その後にＯＳを再起動するという短縮手順でも問題ないかをデータベース等の外部からの知識を参照して調べる。その結果、問題ないことが判明した場合、ＡとＢを連続してインストールした後でＯＳを再起動する短縮手順を採用してＯＳ再起動回数を削減する。より多数のアプリケーションプログラムもしくはパッチプログラムをインストールもしくはアンインストールする場合についても同様の方法をとる。このように連続してインストール可能なプログラムの例としては、相互に依存しないアプリケーションプログラムがある。
【００１２】
今アプリケーションプログラムＣがあり、Ｃを動作させる前提アプリケーションプログラムとしてＤとＥという２つのアプリケーションプログラムがあるとする。ＤとＥとの間には前提となる関係は存在しないものとする。この場合ＤとＥが相互に依存しないアプリケーションプログラムとなる。このように、相互に依存しないアプリケーションプログラムは、ＯＳ再起動後に行うそれぞれのアプリケーションプログラムで行うセットアップ処理やプログラム起動処理同士にも依存がない場合が多い。したがって、本来はそれぞれのアプリケーションプログラムのインストール後にＯＳ再起動が必要であっても、ＯＳ再起動をはさまないで連続してインストールして、後からＯＳ再起動を行えば問題なく動作する場合が多い。
【００１３】
アンインストール回数を削減する方法は次の通りである。今、アプリケーションプログラムＡ用のパッチプログラムＢがあり、Ａの後にＢをインストールしたとする。一般にパッチプログラムはパッチ対象のプログラムの一部のファイルを置き換える。したがってアプリケーションプログラムＡをアンインストールすると、パッチプログラムＢも同時にアンインストールしたのと等価となる。つまりこのような場合には明示的にパッチプログラムをアンインストールする必要はない。
【発明の効果】
【００１４】
本発明を用いれば、業務動作環境の構築時間を推定することができるため、どのディスクイメージを使用して業務動作環境を構築すれば構築時間が最短となりそうなのかが決定できる。また本発明では、アプリケーションプログラム及びパッチプログラムをアンインストールないしインストールする手順を最適化することで、通常の順序関係に従ってプログラムをアンインストールしてインストールするよりも構築時間を短縮することができる。特に、ＯＳ再起動回数を削減する手段は、大容量メモリや大規模な周辺機器を備えたサーバ用計算機を使用する業務に効果的である。大容量メモリや大規模な周辺機器を備えた計算機では、再起動の際にそのメモリや周辺機器の初期化や動作チェックに多大な時間がかかる。したがって、このような計算機でＯＳ再起動回数を削減することが構築時間短縮に大きな効果を発揮するのである。
【実施例１】
【００１５】
以下、本発明の一実施携形態(実施例１)を添付図面に基づいて説明する。
図１は、実施例１の業務運用のための計算機システムの全体構成を示すブロック図である。本システムには統合管理マネージャ２のプログラムが動作している計算機１０、イメージ配備マネージャ３が動作している計算機１１、プログラム配備マネージャ４が動作している計算機１２、Ｍ１という種類の計算機８、Ｍ２という種類の計算機９、ディスクイメージ格納ストレージ６、プログラムパッケージ格納ストレージ７がある。計算機８と計算機９はそれぞれ複数数存在する。なお、計算機８と計算機９は、通常のサーバ用計算機でも、ブレードサーバでも、一つの計算機を論理分割したものでも良い。
【００１６】
計算機１０、計算機１１、計算機１２、計算機８、計算機９は、それぞれネットワーク５で接続され、相互に通信が可能となっている。計算機８あるいは計算機９上で、業務プログラムが動作する。管理者１は、ディスプレイ１６とキーボード１７、マウス１８を使用して統合管理マネージャ２に指示を与えると、統合管理マネージャ２の機能により、業務プログラムの動作環境が構築される。
【００１７】
ディスクイメージ格納ストレージ６には、計算機８ないし計算機９に配備するディスクイメージ１５が複数格納されている。
プログラムパッケージ格納ストレージ７には、計算機８ないし計算機９で動作するオペレーティングシステム（以下ＯＳと記述）上にインストールするプログラムであるアプリケーションプログラム１３とパッチプログラム１４が、パッケージ化された形式で複数格納されている。アプリケーションプログラム１３は、単体で動作が可能なプログラムである。パッチプログラム１４は、ＯＳやアプリケーションプログラム１３に含まれる実行ファイルの一部やデータファイルの一部、設定内容の一部を差し替えることで、前記ＯＳやアプリケーションの動作を変更するプログラムである。
【００１８】
イメージ配備マネージャ３は、ディスクイメージ格納ストレージ６内に格納されているディスクイメージ１５を、計算機８ないし計算機９に配備して、当該計算機上でＯＳを起動可能にする機能を持つプログラムである。また、イメージ配備マネージャ３は、計算機８ないし計算機９からディスクイメージを生成し、ディスクイメージ格納ストレージ６に格納する機能も持つ。
【００１９】
プログラム配備マネージャ４は、プログラムパッケージ格納ストレージ７内に格納されているパッケージ化されたプログラムを、ＯＳが動作している計算機８ないし計算機９にインストールする機能を持つプログラムである。また、プログラム配備マネージャ４は、ＯＳが動作している計算機８ないし計算機９からプログラムをアンインストールする機能や、計算機８ないし計算機９上で動作しているＯＳを再起動する機能も持つ。
【００２０】
統合管理マネージャ２は、本発明による業務の動作環境構築方法を実現するプログラムである。統合管理マネージャ２は、管理者１から業務のプログラム構成を受け取り、イメージ配備マネージャ３やプログラム配備マネージャ４に指示することで、計算機８あるいは計算機９上に、前記業務の動作環境を構築する。プログラム構成とは、どのようなＯＳが動作している計算機上で、どのようなアプリケーションプログラム１３ないしパッチプログラム１４を、どのような順序でインストールするのか、あるいはそれらがどのような順序でインストールされたのか、という情報を表したものである。プログラム構成は、図３のプログラム構成リスト１０３にあるように、プログラム名をノードとしたリストとして表現できる。このリストにノードが並んでいる順番が、プログラムのインストール順序になる。なお、統合管理マネージャ２、イメージ配備マネージャ３、プログラム配備マネージャ４はのうちの任意の一つないし二つが、同一の計算機上で動作していても良い。また、イメージ配備マネージャ３、プログラム配備マネージャ４は複数存在していても良く、複数あるイメージ配備マネージャ３同士、あるいはプログラム配備マネージャ４同士は異なる会社の異なる製品であっても良い。
【００２１】
ディスクイメージ格納ストレージ６には、計算機８ないし計算機９に配備するディスクイメージ１５が複数格納されている。
【００２２】
図２は、統合管理マネージャ２の機能ブロックとデータ構造である。統合管理マネージャ２の機能ブロックは、ユーザ入力部２０、使用イメージ候補作成部２１、構築時間推定部２２、使用イメージ決定部２３、業務動作環境構築部２４、バックアップイメージ作成部２５から成る。統合管理マネージャ２のデータ構造は、プログラム構成テーブル２７、イメージ管理テーブル２８、パッケージ管理テーブル２９、配備時間履歴テーブル３０から成る。これらテーブルの内容はテーブル格納領域２６が保持している。
【００２３】
ユーザ入力部２０は、管理者１にユーザインターフェースを提示し、管理者１が入力した情報を受け取る機能ブロックである。ユーザ入力部２０は、管理者１から、運用開始する業務のプログラム構成とプログラム構成名を受け取り、使用イメージ候補作成部に渡す。また、ユーザ入力部２０は、プログラム構成テーブル２７の内容、イメージ管理テーブル２８の内容、パッケージ管理テーブル２９の内容、配備時間履歴テーブル３０の内容を管理者１から受け取り、それぞれのテーブルの内容を更新する。
【００２４】
使用イメージ候補作成部２１は、ユーザ入力部２０に入力された業務のプログラム構成が構築可能となるディスクイメージを、ディスクイメージ格納ストレージ６内に保持されたディスクイメージの中から求める機能ブロックである。
【００２５】
構築時間推定部２２は、使用イメージ候補作成部２１で求めたディスクイメージを使用して、管理者１が入力した業務のプログラム構成を構築する際にかかる時間を推定する機能ブロックである。
【００２６】
使用イメージ決定部２３は、構築時間推定部２２で推定した構築時間をもとに、管理者１が入力した業務のプログラム構成を構築する際に使用するディスクイメージを決定する機能ブロックである。
【００２７】
業務動作環境構築部２４は、使用イメージ決定部２３で決定したディスクイメージを使用して、計算機８ないし計算機９上に、管理者１が入力した業務のプログラム構成に従った業務の動作環境を構築する機能ブロックである。業務動作環境構築部２４は、イメージ配備マネージャ３に依頼して、使用イメージ決定部２３で決定したディスクイメージを計算機８ないし計算機９に配備する。そして、業務動作環境構築部２４は、プログラム配備マネージャに依頼して、管理者１が入力した業務のプログラム構成に従った業務の動作環境を構築するために、前記ディスクイメージを配備した計算機から、不要なプログラムをアンインストールし、不足するプログラムをインストールする。
【００２８】
バックアップイメージ作成部２５は、業務動作環境構築部２４により構築した業務動作環境をディスクイメージとしてバックアップする機能ブロックである。バックアップイメージ作成部２５は、イメージ配備マネージャ３に依頼してバックアップすることで、ディスクイメージ格納ストレージ６内にディスクイメージ１５を生成する。
プログラム構成テーブル２７は、ディスクイメージに対するプログラム構成を保存するテーブルである。
【００２９】
イメージ管理テーブル２８は、ディスクイメージ格納ストレージ６内に格納されているディスクイメージの情報を保持するテーブルである。
パッケージ管理テーブル２９は、プログラムパッケージ格納ストレージ７内に格納されているアプリケーションプログラム１３やパッチプログラム１４のパッケージに関する情報を保持するテーブルである。
【００３０】
配備時間履歴テーブル３０は、プログラムパッケージ格納ストレージ７内に格納されているアプリケーションプログラム１３やパッチプログラム１４を計算機にインストールしたときにかかるインストール時間や、インストール後のＯＳ再起動にかかる時間を保持するテーブルである。また、配備時間履歴テーブル３０は、計算機から、アプリケーションプログラム１３やパッチプログラム１４をアンインストールしたときにかかるアンインストール時間や、アンインストール後のＯＳ再起動時間も保持している。
【００３１】
図３は、プログラム構成を表したプログラム構成リスト１０３と、プログラム構成リスト１０３の内容を格納したプログラム構成テーブル２７の詳細である。プログラム構成リスト１０３は、プログラム名のノード１０４が、エッジ１０５で結ばれている。プログラム名のノード１０４が並んでいる順序が、プログラムがインストールされる順序である。図３のプログラム構成テーブル２７には、図３にある三つのプログラム構成リスト１０３の内容が格納されている。プログラム構成テーブル２７は、プログラム構成名１００、プログラム名１０１、インストール順序１０２というカラムから成る。プログラム構成名１００は、あるプログラム構成に付けた名称である。プログラム名１０１は、当該プログラム構成に含まれる一つのアプリケーションプログラム１３あるいはパッチプログラム１４の名称である。インストール順序１０２は、プログラム名１０１で表されるアプリケーションプログラム１３あるいはパッチプログラム１４が、最初から数えて何番目にインストールされたのかという順番を示す。プログラム構成テーブル２７の一つのレコードが、プログラム構成リスト１０３内の一つのプログラム名のノード１０４に対応する。
【００３２】
図４は、イメージ管理テーブル２８の詳細である。イメージ管理テーブル２８には、ディスクイメージ格納ストレージ６内にあるディスクイメージ１５の情報を示す。イメージ管理テーブル２８は、プログラム構成名１１０、イメージファイル名１１１、使用ＯＳ１１２、計算機種別１１３、削除可１１４、平均配備時間１１５、配備回数１１６というカラムから成る。イメージ管理テーブル２８の一つのレコードが、一つのディスクイメージ１５の情報を示す。プログラム構成名１１０は、プログラム構成の名称を示す。プログラム構成名１１０により、ディスクイメージ１５を識別することができる。プログラム構成名１１０をもとに、プログラム構成テーブル２７のプログラム構成名１００を検索することで、当該レコードに対応するディスクイメージ１５に含まれるプログラムのプログラム構成を取得することができる。イメージファイル名１１１は、ディスクイメージ格納ストレージ６内に格納された、当該レコードに対応するディスクイメージ１５のファイル名を示す。使用ＯＳ１１２は、当該レコードに対応するディスクイメージに含まれるＯＳの名称を示す。計算機種別１１３は、当該レコードに対応するディスクイメージ１５が配備可能な計算機の種別を示す。削除可１１４は、ディスクイメージ格納ストレージ６の容量が不足した際に、当該レコードに対応するディスクイメージ１５のファイルを削除しても良いのかを示す。平均配備時間１１５は、当該レコードに対応するディスクイメージ１５を計算機に配備して設定を行い、ディスクイメージ１５に含まれるＯＳやプログラムが使用可能となるまでの平均時間を表している。配備回数１１６は、当該レコードに対応するディスクイメージ１５が何回計算機に配備されたのかを示す。
【００３３】
図５は、パッケージ管理テーブル２９の詳細である。パッケージ管理テーブル２９の一レコードは、あるＯＳ上で動作する一つのアプリケーションプログラム１３、あるいはあるＯＳ上で動作する一つのパッチプログラム１４に対する情報を示す。パッケージ管理テーブル２９は、プログラム名１２０、使用ＯＳ１２１、パッケージファイル名１２２、インストール後ＯＳ再起動１２３、連続インストール可能プログラム１２４、パッチ対象１２５、アンインストール可１２６、アンインストール後ＯＳ再起動１２７、連続アンインストール可能プログラム１２８から成る。
【００３４】
プログラム名１２０は、当該レコードに対応するプログラムの名称を示す。
使用ＯＳ１２１は、当該レコードに対応するプログラムが動作可能なＯＳの名称を示す。
パッケージファイル名１２２は、プログラム名１２０で示されるプログラムであって、使用ＯＳ１２１で示されるＯＳ上で動作するプログラムをパッケージ化して、プログラムパッケージ管理ストレージ７内に格納されたファイルのファイル名を示す。
【００３５】
インストール後ＯＳ再起動１２３は、プログラム名１２０で示されるプログラムであって、使用ＯＳ１２１で示されるＯＳ上で動作するプログラムをインストールした後で、ＯＳの再起動が必要かどうかを示す。
【００３６】
連続インストール可能プログラム１２４は、プログラム名１２０で示されるプログラムであって、使用ＯＳ１２１で示されるＯＳ上で動作するプログラムをインストールした後、ＯＳを再起動する前にインストールが可能なプログラム名の集合を示す。
【００３７】
パッチ対象１２５は、プログラム名１２０で示されるプログラムであって、使用ＯＳ１２１で示されるＯＳ上で動作するプログラムがパッチプログラム１４である場合に、パッチ対象となるアプリケーションプログラム１３の名称を示す。
【００３８】
アンインストール可１２６は、プログラム名１２０で示されるプログラムであって、使用ＯＳ１２１で示されるＯＳ上で動作するプログラムをインストールした後に、アンインストールすることが可能かを示す。
【００３９】
アンインストール後ＯＳ再起動１２７は、プログラム名１２０で示されるプログラムであって、使用ＯＳ１２１で示されるＯＳ上で動作するプログラムをアンインストールした後で、ＯＳの再起動が必要かどうかを示す。
【００４０】
連続アンインストール可能プログラム１２８は、プログラム名１２０で示されるプログラムであって、使用ＯＳ１２１で示されるＯＳ上で動作するプログラムをアンインストールした後で、ＯＳを再起動する前にアンインストールが可能なプログラム名の集合を示す。
【００４１】
図６は、配備時間履歴テーブル３０の詳細である。配備時間履歴テーブル３０の一レコードは、ある種類の計算機上で、あるＯＳ上で動作する一つのアプリケーションプログラム１３、あるいはあるＯＳ上で動作する一つのパッチプログラム１４の情報を示す。配備時間履歴テーブル３０は、プログラム名１３０、使用ＯＳ１３１、計算機種別１３２、平均インストール時間１３３、インストール時平均再起動時間１３４、インストール回数１３５、平均アンインストール時間１３６、アンインストール時平均再起動時間１３７、アンインストール回数１３８から成る。
【００４２】
プログラム名１３０は、当該レコードに対応するプログラムの名称を示す。
使用ＯＳ１３１は、当該レコードに対応するプログラムが動作可能なＯＳの名称を示す。
【００４３】
計算機種別１３２は、当該レコードに対応するプログラムをインストール、あるいはアンインストールした計算機の種別を示す。
【００４４】
平均インストール時間１３３は、プログラム名１３０で示されるプログラムであって、使用ＯＳ１２１で示されるＯＳ上で動作するプログラムを、計算機種別１３２で示される種類の計算機にインストールした際にかかる平均時間を示す。
【００４５】
インストール時平均再起動時間１３４は、プログラム名１３０で示されるプログラムであって、使用ＯＳ１２１で示されるＯＳ上で動作するプログラムを、計算機種別１３２で示される種類の計算機にインストールした後に、ＯＳの再起動を開始する時点を起点として、再起動後にＯＳが使用可能となるまでにかかる平均時間を示す。
【００４６】
インストール回数１３５は、プログラム名１３０で示されるプログラムであって、使用ＯＳ１２１で示されるＯＳ上で動作するプログラムを、計算機種別１３２で示される種類の計算機にインストールした回数を示す。
【００４７】
平均アンインストール時間１３６は、プログラム名１３０で示されるプログラムであって、使用ＯＳ１２１で示されるＯＳ上で動作するプログラムを、計算機種別１３２で示される種類の計算機からアンインストールした際にかかる平均時間を示す。
【００４８】
アンインストール時平均再起動時間１３７は、プログラム名１３０で示されるプログラムであって、使用ＯＳ１２１で示されるＯＳ上で動作するプログラムを、計算機種別１３２で示される種類の計算機からアンインストールした後に、ＯＳの再起動を開始する時点を起点として、再起動後にＯＳが使用可能となるまでにかかる平均時間を示す。
【００４９】
アンインストール回数１３８は、プログラム名１３０で示されるプログラムであって、使用ＯＳ１２１で示されるＯＳ上で動作するプログラムを、計算機種別１３２で示される種類の計算機からアンインストールした回数を示す。
【００５０】
図７は、本実施形態において、管理者１から業務のプログラム構成を受け取り、イメージ配備マネージャ３やプログラム配備マネージャ４に指示することで、計算機８あるいは計算機９上に、前記業務の動作環境を構築する処理を示す。
【００５１】
ステップ１０００では、図８に示すプログラム構成を入力する入力ユーザインターフェースをディスプレイ１６に表示する。そして、管理者１はキーボード１７とマウス１８を介して前記入力インターフェースにプログラム構成とプログラム構成名を入力する。
【００５２】
図８の入力インターフェースについて以下に説明する。図８のウィンドウ１８０が、プログラム構成を編集する入力ユーザインターフェースを示すウィンドウ画面である。使用可能プログラムパッケージ一覧１８２には、パッケージ管理テーブル２９に含まれるプログラム名１２０の一覧と、使用ＯＳ１２１の一覧が、プログラム名のノード１０４として表示されている。プログラム構成１８１には、図３のプログラム構成リスト１０３と同様、プログラム構成がプログラム名のノード１０４をノードとした一方向リストとして表現されている。管理者１が、使用可能プログラムパッケージ一覧１８２からプログラム名のノード１０４を一つ選択して、ノード追加１８３ボタンを押すと、プログラム構成１８１にあるリストの末尾に選択されたプログラム名のノード１０４が追加される。管理者１が、プログラム構成１８１からプログラム名のノード１０４を一つ選択して、ノード削除ボタン１８４を押すと、選択されたプログラム名のノード１０４がプログラム構成１８１から削除される。このときに削除されたノードの前後双方にプログラム名のノード１０４が存在するときは、それら前後にあるプログラム名のノード１０４がエッジで結ばれる。管理者１が、プログラム構成１８１からプログラム名のノード１０４を一つ選択して、ノード前へ１８５ボタンを押すと、選択されたプログラム名のノード１０４と、選択されたプログラム名のノード１０４から見て、順序関係が一つ前となるプログラム名のノード１０４の順番が入れ替わる。管理者１が、プログラム構成１８１からプログラム名のノード１０４を一つ選択して、ノード次へ１８６ボタンを押すと、選択されたプログラム名のノード１０４と、選択されたプログラム名のノード１０４から見て、順序関係が一つ後となるプログラム名のノード１０４の順番が入れ替わる。管理者１は、プログラム構成名１８７のテキスト入力ボックスに、プログラム構成名を入力する。管理者１が決定ボタン１８８を押すと、入力が完了する。
【００５３】
ステップ１００１では、ステップ１０００で管理者１が入力したプログラム構成１８１内にあるプログラム名のリストを、リストＡとして取得し、ステップ１０００で管理者１が入力したプログラム構成名１８７を、リストＡのプログラム構成名として取得する。
ステップ１００２は、ステップ１００１で管理者１が入力した業務のプログラム構成が構築可能となるディスクイメージ１５を、ディスクイメージ格納ストレージ６に格納されたディスクイメージ１５の中から求めるサブルーチンある。このサブルーチンには、リストＡを引数として渡し、集合ＩＵを戻り値とする。
ステップ１００３は、ステップ１００２で求めたディスクイメージを使用して、管理者１が入力した業務のプログラム構成を構築する際にかかる時間を推定するサブルーチンである。このサブルーチンには、集合ＩＵを引数として渡し、集合ＩＵを戻り値とする。
ステップ１００４は、ステップ１００３で推定した構築時間をもとに、管理者１が入力した業務のプログラム構成を構築する際に使用するディスクイメージを決定するサブルーチンである。このサブルーチンには、集合ＩＵを引数として渡し、使用プログラム構成名、使用ＯＳ、使用計算機種別、使用ホスト名、インストール順序リスト、アンインストール順序リストを戻り値とする。
【００５４】
ステップ１００５は、ステップ１００４で決定したディスクイメージを使用して、管理者１が入力した業務のプログラム構成を構築するサブルーチンである。このサブルーチンには、使用プログラム構成名、使用ＯＳ、使用計算機種別、使用ホスト名、インストール順序リスト、アンインストール順序リストを引数として渡す。
ステップ１００６は、ステップ１００５で構築した業務動作環境のディスクイメージをバックアップするサブルーチンである。このサブルーチンには、リストＡ、リストＡのプログラム構成名、使用ＯＳ、使用計算機種別、使用ホスト名を引数として渡す。
【００５５】
図９は、ステップ１００２において呼び出されるサブルーチンの詳細である。本サブルーチンは、管理者１が入力した業務のプログラム構成が構築可能となるディスクイメージを、ディスクイメージ格納ストレージ６内に保持されたディスクイメージの中から求めることで、使用イメージ候補を作成する。本サブルーチンでは、リストＡを引数とし、集合ＩＵを戻り値とする。
【００５６】
ステップ１１０１では、集合ＩＵを空集合とする。
ステップ１１０２では、プログラム構成テーブル２７から、リストＡの先頭ノードであるＯＳと同じＯＳをノードとして含み、リストＡの先頭ノード以外のノードで示されるプログラムを少なくとも一つ含むプログラム構成を取得する。
ステップ１１０３では、ステップ１１０２で取得したそれぞれのプログラム構成を、プログラム名をノードとして、インストール順序に従ったリストとして表現し、それらリストの集合をリスト集合Ｂとする。
ステップ１１０４では、リスト集合Ｂの中から、まだステップ１１０４で取得していないリストを一つ取り出し、それをリストＣとする。
ステップ１１０５では、リストＡに含まれるノードをコピーし、その中からリストＣに含まれるプログラム名と同名となるノードを削除した上で、リストＡのノード間の順序関係に従ってリストを再構成したものをリストＩとする。このリスト内のノードが示すプログラムが、インストールにより追加されるプログラムとなる。
【００５７】
ステップ１１０６では、リストＣに含まれるノードをコピーし、そのの中からリストＡに含まれるプログラム名と同名となるノードを削除した上で、リストＡのノード間の順序関係に従ってリストを再構成したものをリストＵとする。このリスト内のノードが示すプログラムが、アンインストールにより削除されるプログラムとなる。
ステップ１１０７では、リストＵ内にノードがあるか調べる。ノードがあればステップ１１０８に進み、無ければステップ１１１０に進む。
ステップ１１０８は、リストＵに含まれるノードが示すプログラム名のプログラムが、アンインストール可能であるか調べるサブルーチンである。このサブルーチンには、リストＵと、リストＣに対応したプログラム構成名を引数として渡し、変数ＮＧ、リストＵを戻り値とする。
ステップ１１０９では、ステップ１１０８の戻り値である変数ＮＧがtrueであるかを調べ、trueであるときはステップ１１１１に進む。trueでないときはステップ１１１０に進む。
ステップ１１１０では、リストＣで示されるプログラム構成のプログラム構成名と、リストＩ、リストＵを組とした要素を作成し、その要素を集合ＩＵに追加する。
ステップ１１１１では、リスト集合Ｂの中で、ステップ１１０４で取得していないリストがあるか調べ、まだ取得していないリストがあるときはステップ１１０４に進み、ないときはサブルーチンの呼び出し元にリターンする。
【００５８】
図１０は、ステップ１１０８において呼び出されるサブルーチンの詳細である。本サブルーチンは、リストＵに含まれるノードが示すプログラムが、アンインストール可能であるか調べる。本サブルーチンでは、アンインストール回数を削減する最適化も行う。具体的には、アンインストール対象となっているパッチプログラム１４のうち、パッチ対象となるアプリケーションプログラム１３もアンインストールされるものについては、前記アプリケーションプログラム１３をアンインストールするときに、前記パッチプログラム１４も一緒にアンインストールされるため、インストール対象から除外する。本サブルーチンでは、リストＵ、プログラム構成名を引数とし、変数ＮＧ、リストＵを戻り値とする。
【００５９】
ステップ１２０１では、本サブルーチンに引数として渡されたプログラム構成名をキーとして、イメージ管理テーブル２８内のレコードを検索し、使用ＯＳ１１２を取得する。
ステップ１２０２では、本サブルーチンに引数として渡されたリストＵ内の先頭にあるノードをノードＸとして取得する。
ステップ１２０３では、ノードＸで示されるプログラム名と、ステップ１２０１で取得した使用ＯＳをキーとして、パッケージ管理テーブル２９を検索し、アンインストール可１２６を取得する。
ステップ１２０４では、ステップ１２０３で取得したアンインストール可の内容を調べ、可であればステップ１２０６に進み、不可であればステップ１２０５に進む。
ステップ１２０５では、変数ＮＧにtrueを代入して、サブルーチンの呼び出し元にリターンする。
【００６０】
ステップ１２０６では、リストＵ内で、ノードＸの次にノードがあるか調べる。ノードがあるときはステップ１２０８に進み、ないときはステップ１２０７に進む。
ステップ１２０７では、変数ＮＧにfalseを代入して、サブルーチンの呼び出し元にリターンする。
ステップ１２０８では、リストＵ内で、ノードＸの次にノードを取得し、それをノードＺとする。
ステップ１２０９では、ノードＺで示されるプログラム名と、ステップ１２０１で取得した使用ＯＳをキーとして、パッケージ管理テーブル２９を検索し、パッチ対象１２５を取得する。
【００６１】
ステップ１２１０では、ステップ１２０９で取得したパッチ対象の中に、ノードＸで示されるプログラムがあるか調べる。ある場合はステップ１２１２に進み、無い場合はステップ１２１１に進む。これは、ノードＺで示されるプログラムが、ノードＸで示されるプログラムに対するパッチであるかを調べる処理となる。
ステップ１２１１では、ノードＺで示されるプログラム名を、ノードＸとする。そして、ステップ１２０３に進む。
ステップ１２１２では、リストＵ内から、ノードＺで示されるプログラム名を削除する。そして、元のリストＵ内の順序関係に従ってリストを再構成する。その後、ステップ１２０６に進む。
【００６２】
図１１は、ステップ１００３において呼び出されるサブルーチンの詳細である。本サブルーチンは、ステップ１００２で求めたそれぞれのディスクイメージについて、前記ディスクイメージを使用して、管理者１が入力した業務のプログラム構成を構築する際にかかる時間を推定する。本サブルーチンでは、集合ＩＵを引数として、集合ＩＵを戻り値とする。
ステップ１３０１では、集合ＩＵ内から、まだステップ１３０１で取り出していない要素を一つ取り出し、取り出した要素からリストＩ、リストＵ、プログラム構成名を取り出す。
ステップ１３０２では、ステップ１３０１で取得したプログラム構成名をキーとして、イメージ管理テーブル２８を検索し、使用ＯＳ１１２と、計算機種別１１３、平均配備時間１１５を取得する。
ステップ１３０３は、ステップ１３０２で取得した平均配備時間１１５を、変数である推定構築時間に代入する。
ステップ１３０４は、プログラムのインストール時間を推定するサブルーチンである。このサブルーチンには、推定構築時間、ステップ１３０１で取り出したリストＩと、ステップ１３０２で取得した使用ＯＳ、計算機種別を引数として渡し、推定構築時間と、インストール順序リストを戻り値とする。
ステップ１３０５では、プログラムのアンインストール時間を推定するサブルーチンである。このサブルーチンには、推定構築時間、ステップ１３０１で取り出したリストＩと、ステップ１３０２で取得した使用ＯＳ、計算機種別を引数として渡し、推定構築時間と、アンインストール順序リストを戻り値とする。
ステップ１３０６では、集合ＩＵ内の要素のうち、ステップ１３０１で取り出したプログラム構成名を含む要素に、推定構築時間と、ステップ１３０４で求めたインストール順序リスト、ステップ１３０５で求めたアンインストール順序リストを追加する。
ステップ１３０７では、集合ＩＵ内の要素のうち、ステップ１３０１でまだ取り出していないものがあるか調べ、ある場合はステップ１３０１へ進み、ない場合はサブルーチンの呼び出し元にリターンする。
図１２および図１３は、ステップ１３０４において呼び出されるサブルーチンの詳細である。本サブルーチンは、管理者１が入力した業務のプログラム構成を構築する場合において、追加するプログラムをインストールするためにかかる時間を推定する。また、本サブルーチンでは、プログラムのインストールと、ＯＳ再起動の順序関係をインストール順序リストとして作成する。本サブルーチンでは、推定構築時間と、リストＩ、使用ＯＳ、計算機種別を引数とし、推定構築時間と、インストール順序リストを戻り値とする。
【００６３】
ステップ１５０１では、インストール順序リストを空リストにする。
ステップ１５０２では、リストＩ内の先頭ノード取り出し、それをリストＸとする。
ステップ１５０３では、リストＳＹＮＣの内容を、リストＸのみとする。このリストＳＹＮＣの内容は、再起動する前に連続してインストールが可能なプログラムのリストとなる。
ステップ１５０４では、ノードＸのプログラム名と、使用ＯＳをキーとして、パッケージ管理テーブル２９を検索し、連続インストール可能プログラム１２４を取得する。そして、取得したプログラム名の集合を集合Ｚとする。
【００６４】
ステップ１５０５では、リストＩ内で、ノードＸの次にあるノードが存在するか調べ、存在するときはステップ１５０７に、存在しないときはステップ１５１２に進む。
ステップ１５０６では、リストＩ内で、ノードＸの次にあるノードを取得し、それをノードＷとする。
ステップ１５０７では、集合Ｚの中に、リストＷで示されるプログラム名が存在するか調べ、存在するときはステップ１５０８に、存在しないときはステップ１５１０に進む。
ステップ１５０８では、リストＳＹＮＣの末尾にノードＷを追加する。
ステップ１５０９では、ノードＷをノードＸとする。
【００６５】
ステップ１５１０では、ノードＸで示されるプログラム名と、使用ＯＳをキーとして、パッケージ管理テーブル２９を検索し、インストール後ＯＳ再起動１２３を取得する。
ステップ１５１１では、ステップ１５０９で取得したインストール後ＯＳ再起動の値が「不要」であるか調べ、不要であるときはステップ１５０８に、そうでないときはステップ１５１２に進む。
ステップ１５１２では、最大再起動時間を０とする。
ステップ１５１３では、リストＳＹＮＣの先頭ノードを取得し、それをノードＶとする。
ステップ１５１４では、ノードＶで示されるプログラム名と、使用ＯＳ、計算機種別をキーとして、配備時間履歴テーブル３０を検索し、平均インストール時間１３３、インストール時平均再起動時間１３４を取得する。
【００６６】
ステップ１５１５では、推定構築時間に、ステップ１５１４で取得した平均インストール時間を加える。
ステップ１５１６では、最大再起動時間と、ステップ１５１４で取得したインストール時平均再起動時間を比較し、大きな方を最大再起動時間とする。
ステップ１５１７では、インストール順序リストの末尾に、ノードＶで示されるプログラム名を追加する。
ステップ１５１８では、リストＳＹＮＣ内で、ノードＶの次にノードがあるか調べ、ノードがあるときはステップ１５１９に、ノードがないときにはステップ１５２０に進む。
ステップ１５１９では、リストＳＹＮＣ内で、ノードＶの次にあるノードを取得し、それをノードＶとする。
【００６７】
ステップ１５２０では、推定構築時間に、最大再起動時間を加える。
ステップ１５２１では、インストール順序リストの末尾に、再起動ノードを追加する。
ステップ１５２２では、リストＩ内で、ノードＸの次のノードが存在するか調べ、存在するときはステップ１５２３に、存在しないときはサブルーチンの呼び出し元にリターンする。
ステップ１５２３では、リストＩ内で、ノードＸの次のノードを取得し、それをノードＸとする。
【００６８】
図１４および図１５は、ステップ１３０５において呼び出されるサブルーチンの詳細である。本サブルーチンは、管理者１が入力した業務のプログラム構成を構築する場合において、削除するプログラムをアンインストールするためにかかる時間を推定する。また、本サブルーチンでは、プログラムのアンインストールと、ＯＳ再起動の順序関係をアンインストール順序リストとして作成する。本サブルーチンでは、推定構築時間と、リストＵ、使用ＯＳ、計算機種別を引数とし、推定構築時間と、アンインストール順序リストを戻り値とする。
ステップ１６０１では、アンインストール順序リストを空リストにする。
ステップ１６０２では、リストＵ内の末尾ノード取り出し、それをリストＸとする。
ステップ１６０３では、リストＳＹＮＣの内容を、リストＸのみとする。このリストＳＹＮＣの内容は、再起動する前に連続してアンインストールが可能なプログラムのリストとなる。
ステップ１６０４では、ノードＸのプログラム名と、使用ＯＳをキーとして、パッケージ管理テーブル２９を検索し、連続アンインストール可能なプログラム１２８を取得する。そして、取得したプログラム名の集合を集合Ｚとする。
【００６９】
ステップ１６０５では、リストＵ内で、ノードＸの前にあるノードが存在するか調べ、存在するときはステップ１６０７に、存在しないときはステップ１６１２に進む。
ステップ１６０６では、リストＵ内で、ノードＸの前にあるノードを取得し、それをノードＷとする。
ステップ１６０７では、集合Ｚの中に、リストＷで示されるプログラム名が存在するか調べ、存在するときはステップ１６０８に、存在しないときはステップ１６１０に進む。
ステップ１６０８では、リストＳＹＮＣの末尾にノードＷを追加する。
ステップ１６０９では、ノードＷをノードＸとする。
【００７０】
ステップ１６１０では、ノードＸで示されるプログラム名と、使用ＯＳをキーとして、パッケージ管理テーブル２９を検索し、アンインストール後ＯＳ再起動１２７を取得する。
ステップ１６１１では、ステップ１６０９で取得したインストール後ＯＳ再起動の値が「不要」であるか調べ、不要であるときはステップ１６０８に、そうでないときはステップ１６１２に進む。
ステップ１６１２では、最大再起動時間を０とする。
【００７１】
ステップ１６１３では、リストＳＹＮＣの先頭ノードを取得し、それをノードＶとする。
ステップ１６１４では、ノードＶで示されるプログラム名と、使用ＯＳ、計算機種別をキーとして、配備時間履歴テーブル３０を検索し、平均アンインストール時間１３６、アンインストール時平均再起動時間１３７を取得する。
ステップ１６１５では、推定構築時間に、ステップ１６１４で取得した平均アンインストール時間を加える。
ステップ１６１６では、最大再起動時間と、ステップ１６１４で取得したアンインストール時平均再起動時間を比較し、大きな方を最大再起動時間とする。
【００７２】
ステップ１６１７では、アンインストール順序リストの末尾に、ノードＶで示されるプログラム名を追加する。
ステップ１６１８では、リストＳＹＮＣ内で、ノードＶの次にノードがあるか調べ、ノードがあるときはステップ１６１９に、ノードがないときにはステップ１６２０に進む。
ステップ１６１９では、リストＳＹＮＣ内で、ノードＶの次にあるノードを取得し、それをノードＶとする。
ステップ１６２０では、推定構築時間に、最大再起動時間を加える。
【００７３】
ステップ１６２１では、アンインストール順序リストの末尾に、再起動ノードを追加する。
ステップ１６２２では、リストＵ内で、ノードＸの前のノードが存在するか調べ、存在するときはステップ１６２３に、存在しないときはサブルーチンの呼び出し元にリターンする。
ステップ１６２３では、リストＵ内で、ノードＸの前のノードを取得し、それをノードＸとする。
【００７４】
図１６は、ステップ１００４において呼び出されるサブルーチンの詳細である。本サブルーチンは、ステップ１００２で求めたそれぞれのディスクイメージの内、どのディスクイメージを用いて、管理者１が入力した業務のプログラム構成を構築するのかを決定する。本実施例では、ステップ１００３で求めた推定構築時間が最も短いディスクイメージを使用すると決定する。本サブルーチンでは、集合ＩＵを引数とし、使用プログラム構成名、使用ＯＳ、使用計算機種別、インストール順序リスト、アンインストール順序リストを戻り値とする。
【００７５】
ステップ２１０１では、集合ＩＵ内の要素のうち、最も構築時間が短くなる要素を取り出し、その要素からプログラム構成名を取得し、それを使用プログラム構成名とする。
ステップ２１０２では、使用プログラム構成名をキーとして、イメージ管理テーブル２８を検索し、計算機種別１１３を取得して、それを使用計算機種別とする。
ステップ２１０３では、使用計算機種別のマシンのうち、業務で使用していないものを一台選択し、そのホスト名を取得して、それを使用ホスト名とする。
ステップ２１０４では、使用プログラム構成名をキーとして、イメージ管理テーブル２８を検索し、使用ＯＳ１１２を取得して、それを使用ＯＳとする。
ステップ２１０５では、ステップ２１０１で取り出した要素から、インストール順序リストを取得する。
ステップ２１０６では、ステップ２１０１で取り出した要素から、アンインストール順序リストを取得する。
【００７６】
図１７は、ステップ１００５において呼び出されるサブルーチンの詳細である。本サブルーチンは、ステップ１００４で決定したディスクイメージを使用して、管理者１が入力した業務のプログラム構成を構築するサブルーチンである。本サブルーチンは、使用プログラム構成名、使用ＯＳ、使用計算機種別、使用計算記名、インストール順序リスト、アンインストール順序リストを引数とする。
ステップ２２０１では、使用プログラム構成名をキーとして、イメージ管理テーブル２８を検索し、イメージファイル名を取得する。
ステップ２２０２では、ステップ２２０１で取得したイメージファイル名１１１を、使用ホスト名で示される計算機に配備するように、イメージ配備マネージャ３に依頼する。
ステップ２２０３では、ステップ２２０２でイメージ配備マネージャ３に依頼してから、使用ホスト名で示される計算機でＯＳが使用可能となるまでの時間である配備時間を求める。そして、使用プログラム構成名をキーとしてイメージ管理テーブル２８を検索し、検索されたレコードの平均配備時間１１５と、配備回数１１６を更新する。平均配備回数１１５は、（（以前の平均配備時間×以前の配備回数＋今回求めた配備時間）÷（以前の配備回数＋１））という式で計算される値に更新する。配備回数１１６は（以前の配備回数＋１）という式で計算される値で更新する。
ステップ２２０４は、不要なプログラムをアンインストールするサブルーチンである。このサブルーチンには、アンインストール順序リスト、使用ＯＳ、使用計算機種別、使用ホスト名を引数として渡す。
ステップ２２０５は、不足するプログラムをアンインストールするサブルーチンである。このサブルーチンには、インストール順序リスト、使用ＯＳ、使用計算機種別、使用ホスト名を引数として渡す。
なお、ステップ２２０３を実行しないことで、イメージ管理テーブル２８の内容を更新しないことも考えられる。
図１８は、ステップ２２０４において呼び出されるサブルーチンの詳細である。本サブルーチンは、アンインストール順序リストの順序に従って、不要なプログラムをアンインストールする。本サブルーチンは、アンインストール順序リスト、使用ＯＳ、使用計算機種別、使用ホスト名を引数とする。
【００７７】
ステップ２３０１では、アンインストール順序リストの先頭ノードを取得し、それをノードＸとする。
ステップ２３０２では、集合Ｐを空集合とする。
ステップ２３０３では、ノードＸが再起動ノードか調べ、再起動ノードであるときはステップ２３１０に、再起動ノードでないときはステップ２３０４に進む。
ステップ２３０４では、ノードＸで示されるプログラム名と、使用ＯＳをキーとして、パッケージ管理テーブル２９を検索し、アンインストール後ＯＳ再起動１２７を取得する。
【００７８】
ステップ２３０５では、ステップ２３０４で取得したアンインストール後ＯＳ再起動が要か調べ、要であるときはステップ２３０８に、不要であるときはステップ２３０７に進む。
ステップ２３０６では、集合ＰにノードＸを追加する。
ステップ２３０７では、ノードＸで示されるプログラム名、使用ＯＳをキーとして、パッケージ管理テーブル２９を検索し、パッケージファイル名１２２を取得する。
ステップ２３０８では、ステップ２３０７で取得したパッケージファイル名のパッケージを、使用ホスト名のホストからアンインストールすうように、プログラム配備マネージャ４に依頼する。
【００７９】
ステップ２３０９では、ステップ２３０８でプログラムのアンインストールにかかった時間であるアンインストール時間を求める。そして、ノードＸで示されるプログラム名、使用ＯＳ、使用計算機種別をキーとして、配備時間履歴テーブル３０を検索し、検索されたレコードの平均アンインストール時間１３６と、アンインストール回数１３８を更新する。平均アンインストール時間１３６は、（（当該レコードの平均アンインストール時間×当該レコードのアンインストール回数＋今回求めたアンインストール時間）÷（当該レコードのアンインストール回数＋１））という式で計算される値で更新する。アンインストール回数１３８は、（当該レコードのアンインストール回数＋１）という式で計算される値で更新する。
【００８０】
ステップ２３１０では、アンインストール順序リストの内、ノードＸの次のノードを取得し、それをノードＸとする。
ステップ２３１１では、ステップ２３１０でノードＸが取得できたか調べ、取得できたときはステップ２３０３に、取得できなかったときはサブルーチンの呼び出し元にリターンする。
ステップ２３１２では、使用ホスト名のホストを再起動するように、プログラム配備マネージャ４に依頼する。
【００８１】
ステップ２３１３では、使用ホスト名のホストを再起動する際にかかった時間である再起動時間を求める。そして、ノードＸで示されるプログラム名、使用ＯＳ、使用計算機種別をキーとして、配備時間履歴テーブル３０を検索し、検索されたレコードのアンインストール時平均再起動時間１３７を更新する。アンインストール時平均再起動時間１３７は、（（当該レコードのアンインストール時平均再起動時間×（当該レコードのアンインストール回数−１）＋今回求めた再起動時間）÷当該レコードのアンインストール回数）という式で計算される値で更新する。
ステップ２３１４では、集合Ｐを空集合とする。
なお、ステップ２３０９、ステップ２３１３の片方または両方を実行しないことで、配備時間履歴テーブル３０の内容を更新しないことも考えられる。
【００８２】
図１９は、ステップ２２０５において呼び出されるサブルーチンの詳細である。本サブルーチンは、インストール順序リストの順序に従って、不足するプログラムをインストールする。本サブルーチンは、インストール順序リスト、使用ＯＳ、使用計算機種別、使用ホスト名を引数とする。
【００８３】
ステップ２４０１では、インストール順序リストの先頭ノードを取得し、それをノードＸとする。
ステップ２４０２では、集合Ｐを空集合とする。
ステップ２４０３では、ノードＸが再起動ノードか調べ、再起動ノードであるときはステップ２４１０に、再起動ノードでないときはステップ２４０４に進む。
ステップ２４０４では、ノードＸで示されるプログラム名と、使用ＯＳをキーとして、パッケージ管理テーブル２９を検索し、インストール後ＯＳ再起動１２３を取得する。
【００８４】
ステップ２４０５では、ステップ２４０４で取得したインストール後ＯＳ再起動が要か調べ、要であるときはステップ２４０８に、不要であるときはステップ２４０７に進む。
ステップ２４０６では、集合ＰにノードＸを追加する。
ステップ２４０７では、ノードＸで示されるプログラム名、使用ＯＳをキーとして、パッケージ管理テーブル２９を検索し、パッケージファイル名１２２を取得する。
ステップ２４０８では、ステップ２４０７で取得したパッケージファイル名のパッケージを、使用ホスト名のホストにインストールすうように、プログラム配備マネージャ４に依頼する。
【００８５】
ステップ２４０９では、ステップ２４０８でプログラムのインストールにかかった時間であるインストール時間を求める。そして、ノードＸで示されるプログラム名、使用ＯＳ、使用計算機種別をキーとして、配備時間履歴テーブル３０を検索し、検索されたレコードの平均インストール時間１３３と、インストール回数１３５を更新する。平均インストール時間１３３は、（（当該レコードの平均インストール時間×当該レコードのインストール回数＋今回求めたインストール時間）÷（当該レコードのインストール回数＋１））という式で計算される値で更新する。インストール回数１３５は、（当該レコードのインストール回数＋１）という式で計算される値で更新する。
【００８６】
ステップ２４１０では、インストール順序リストの内、ノードＸの次のノードを取得し、それをノードＸとする。
ステップ２４１１では、ステップ２４１０でノードＸが取得できたか調べ、取得できたときはステップ２４０３に、取得できなかったときはサブルーチンの呼び出し元にリターンする。
ステップ２４１２では、使用ホスト名のホストを再起動するように、プログラム配備マネージャ４に依頼する。
ステップ２４１３では、使用ホスト名のホストを再起動する際にかかった時間である再起動時間を求める。そして、ノードＸで示されるプログラム名、使用ＯＳ、使用計算機種別をキーとして、配備時間履歴テーブル３０を検索し、検索されたレコードのインストール時平均再起動時間１３４を更新する。インストール時平均再起動時間１３４は、（（当該レコードのストール時平均再起動時間×（当該レコードのインストール回数−１）＋今回求めた再起動時間）÷当該レコードのインストール回数）という式で計算される値で更新する。
ステップ２４１４では、集合Ｐを空集合とする。
【００８７】
なお、ステップ２４０９、ステップ２４１３の片方または両方を実行しないことで、配備時間履歴テーブル３０の内容を更新しないことも考えられる。
【００８８】
図２０は、ステップ１００６において呼び出されるサブルーチンの詳細である。本サブルーチンは、ステップ１００５で構築した業務動作環境のディスクイメージをバックアップするサブルーチンである。本サブルーチンは、リストＡ、リストＡのプログラム構成名、使用ＯＳ、使用計算機種別を引数とする。
ステップ２５０１では、業務開始までに余裕があるのかないのか、管理者に問い合わせる入力ユーザインターフェースを生成し、管理者が入力した回答を受け取る。
ステップ２５０２では、ステップ２５０１で受け取った回答が、余裕ありのときにステップ２５０３に、余裕なしのときはサブルーチンの呼び出し元にリターンする。
ステップ２５０３では、ディスクイメージ格納ストレージ６の空き容量を求め、空き容量が１０ＧＢ未満となっているときはステップ２５０４へ、１０ＧＢ以上となっているときはステップ２５０７に進む。
ステップ２５０４では、イメージ管理テーブル２８を検索し、配備回数が最小となるイメージファイル名を取得する。複数のイメージファイル名が取得されたときは、その中からランダムに一つ選択する。
ステップ２５０５では、ステップ２５０４で取得したイメージファイル名を、ディスクイメージ格納ストレージ６から削除するように、イメージ配備マネージャ３に依頼する。
【００８９】
ステップ２５０６では、ステップ２５０４で検索したレコードを、イメージ管理テーブル２８から削除する。
ステップ２５０７では、使用ホスト名のホストの起動ディスクの内容を、ディスクイメージとしてディスクイメージ格納ストレージ６内にバックアップするように、イメージ配備マネージャ３に依頼する。そして、バックアップしたディスクイメージのファイル名をイメージファイル名として取得する。また、イメージ配備マネージャ３に依頼してから、イメージファイルが生成されるまでの時間を、イメージ生成時間として求める。
ステップ２５０８では、プログラム構成をリストＡで示されるプログラム構成リストを、リストＡのプログラム構成名という名称で、プログラム構成テーブル２７に格納する。
【００９０】
ステップ２５０９では、リストＡのプログラム構成名、ステップ２５０７で取得したイメージファイル名、使用ＯＳ、使用計算機種別をキーとして、削除可＝可、平均配備時間＝ステップ２５０７で取得したイメージ生成時間、配備回数＝０として、イメージ管理テーブル２８にレコードを追加する。
【００９１】
なお、ステップ２５０９の前に、使用計算機種別の種別を持つ計算機で、どの業務でも使用していない計算機を探し、前記計算機上にステップ２５０７で作成したディスクイメージを配備して、配備にかかった時間を求め、ステップ２５０９でイメージ管理テーブル２８の平均配備時間レコードの値を前記の配備にかかった時間で更新することも考えられる。
【００９２】
図２１は、管理者１がプログラム構成テーブル２７、イメージ管理テーブル２７、パッケージ管理テーブル２８、配備時間履歴テーブル３０に内容を追加する処理を示す。この処理は、ユーザ入出力部２０で実行される。
【００９３】
ステップ２６０１では、図２２で示される、プログラム構成テーブル２７とイメージ管理テーブル２８に追加するための入力ユーザインターフェースをディスプレイ１６に表示し、管理者１がキーボード１７とマウス１８を介してプログラム構成テーブル２７とイメージ管理テーブル２８に追加する内容を入力する。図２２のウィンドウ２２０が、プログラム構成テーブル２７とイメージ管理テーブル２８に追加する入力ユーザインターフェースを示すウィンドウ画面である。以下、図２２について説明する。
【００９４】
プログラム構成２２１は、図３のプログラム構成リスト１０３と同様、プログラムの構成がプログラム名のノード１０４をノードとした一方向リストとして表現している。プログラム構成名２２２は、プログラム構成２２１で示されるプログラム構成の名称である。管理者１が編集ボタン２２３を押すと、図８に示す入力ユーザインターフェースが表示される。管理者がその入力ユーザインターフェースに入力して入力完了すると、図８のプログラム構成１８１の内容が図２２のプログラム構成２２１に反映され、図８のプログラム構成名１８７が図２２のプログラム構成名２２２に反映される。管理者１が編集ボタン２２３を押したときに表示される入力ユーザインターフェースの内容と動作は、ステップ１０００で説明したものと同じである。
【００９５】
イメージファイル名２２４、使用ＯＳ２２５、計算機種別２２６、平均配備時間２２８、配備回数２２９はテキスト入力ボックスである。管理者１は、イメージファイル名２２４にディスクイメージ格納ストレージ６に格納されているディスクイメージのファイル名を、イメージファイル名２２４にディスクイメージ格納ストレージ６に格納されているディスクイメージのファイル名を、使用ＯＳ２２５にディスクイメージ内に含まれるＯＳの名称を、計算機種別２２６にディスクイメージが配備可能な計算機の種別を、平均配備時間２２８にディスクイメージを計算機に配備したときにかかる時間を、配備回数２２９にディスクイメージを計算機に配備した回数を、それぞれ入力する。
【００９６】
削除可２２７はリストダウンボックスであり、可または不可が選択できる。管理者１は、ディスクイメージ格納ストレージ６の空き容量が少なくなったときに、イメージファイルを削除しても良いかという情報として、削除可２２７から可または不可を選択して入力する。
【００９７】
管理者１が決定ボタン２３０を押すと、入力が完了する。
【００９８】
ステップ２６０２では、ステップ２６０１で管理者１が入力した、プログラム構成テーブル２７とイメージ管理テーブル２８の追加内容を、プログラム構成テーブル２７とイメージ管理テーブル２８に追加する。プログラム構成テーブル２７には、図８のプログラム構成１８１とプログラム構成名１８７を格納する。
【００９９】
イメージ管理テーブル２８には、プログラム構成名２２２をイメージ管理テーブル２８のプログラム構成名１１０のカラムとして、イメージファイル名２２４の内容をイメージ管理テーブル２８のイメージファイル名１１１のカラムとして、使用ＯＳ２２５の内容をイメージ管理テーブル２８の使用ＯＳ１１２のカラムとして、計算機種別２２６の内容をイメージ管理テーブル２８の使用計算機種別１１３のカラムとして、削除可２２７の内容イメージ管理テーブル２８の削除可１１４のカラムとして、平均配備時間２２８の内容をイメージ管理テーブル２８の平均配備時間１１５のカラムとして、配備回数２２９の内容をイメージ管理テーブル２８の配備回数２２９のカラムとして、それぞれ新規レコードを作成して格納する。
【０１００】
ステップ２６０３では、図２３で示される、パッケージ管理テーブル２９に追加する入力ユーザインターフェースをディスプレイ１６に表示し、管理者１がキーボード１７とマウス１８を介してパッケージ管理テーブル２９に追加する内容を入力する。図２３のウィンドウ２４０が、パッケージ管理テーブル２９に追加する入力ユーザインターフェースを示すウィンドウ画面である。以下、図２３について説明する。
【０１０１】
プログラム名２４１、使用ＯＳ２４２、パッケージファイル名２４３はテキスト入力ボックスである。管理者１は、プログラム名２４１にプログラムの名称を、使用ＯＳ２４２にプログラムが動作可能となるＯＳの名称を、パッケージファイル名２４３に、プログラムパッケージ格納ストレージ７内に格納されている、プログラムがパッケージ化されたプログラムのファイル名を、それぞれ入力する。
【０１０２】
インストール後ＯＳ再起動２４４と、アンインストール可２４９はリストダウンボックスであり、要または不要が選択できる。アンインストール後ＯＳ再起動２５０もリストダウンボックスであり、可または不可が選択できる。
【０１０３】
管理者１は、プログラムをインストールした後にＯＳを再起動する必要があるかないかという情報として、インストール後ＯＳ再起動２４４から要または不要を選択する。また、プログラムがアンインストール可能かどうかという情報として、アンインストール可２４９から可または不可を選択する。そして、プログラムをアンインストールした後にＯＳを再起動する必要があるかないかという情報として、アンインストール後ＯＳ再起動２５０リストダウンボックスから要または不要を選択して入力する。
【０１０４】
連続インストール可能プログラム２４５は、プログラム名のノード１０４の集合として表現されている。管理者１が編集ボタン２４６を押すと、図８に示す入力ユーザインターフェースが表示される。管理者がその入力ユーザインターフェースに入力して入力完了すると、図８のプログラム構成１８１内にあるプログラム名のノード１０４の集合が、連続インストール可能プログラム２４５に反映される。図８のプログラム構成１８１内にノードが無いときは、連続インストール可能プログラム２４５は空になる。管理者１が編集ボタン２４６を押したときに表示される入力ユーザインターフェースの内容と動作は、ステップ１０００で説明したものと同じである。
【０１０５】
パッチ対象プログラム２４７は、零ないし一つのプログラム名のノード１０４として表現されている。管理者１が編集ボタン２４８を押すと、図８に示す入力ユーザインターフェースが表示される。管理者がその入力ユーザインターフェースに入力して入力完了すると、図８のプログラム構成１８１内の先頭ノードであるプログラム名のノード１０４が、パッチ対象プログラム２４７に反映される。図８のプログラム構成１８１内にノードが無いときは、パッチ対象プログラム２４７は空になる。管理者１が編集ボタン２４８を押したときに表示される入力ユーザインターフェースの内容と動作は、ステップ１０００で説明したものと同じである。
【０１０６】
連続アンインストール可能プログラム２５１は、プログラム名のノード１０４の集合として表現されている。管理者１が編集ボタン２５２を押すと、図８に示す入力ユーザインターフェースが表示される。管理者がその入力ユーザインターフェースに入力して入力完了すると、図８のプログラム構成１８１内にあるプログラム名のノード１０４の集合が、連続アンインストール可能プログラム２５１に反映される。図８のプログラム構成１８１内にノードが無いときは、連続アンインストール可能プログラム２５１は空になる。管理者１が編集ボタン２５２を押したときに表示される入力ユーザインターフェースの内容と動作は、ステップ１０００で説明したものと同じである。
【０１０７】
管理者１が決定ボタン２５３を押すと、入力が完了する。
【０１０８】
ステップ２６０４では、ステップ２６０３で管理者１が入力した、パッケージ管理テーブル２９の追加内容を、パッケージ管理テーブル２９に追加する。具体的には、プログラム名２４１の内容をパッケージ管理テーブル２９のプログラム名１２０のカラムとして、使用ＯＳ２４２の内容をパッケージ管理テーブル２９の使用ＯＳ１２１のカラムとして、パッケージファイル名２４３内容をパッケージ管理テーブル２９のパッケージファイル名１２２として、インストール後ＯＳ再起動２４４の内容をパッケージ管理テーブル２９のインストール後ＯＳ再起動１２３として、連続インストール可能プログラム２４５に含まれるプログラム名の集合をパッケージ管理テーブル２９のインストール後連続インストール可能プログラム１２４として、パッチ対象プログラム２４７のプログラム名をパッケージ管理テーブル２９のパッチ対象１２５として、アンインストール可２４９に含まれるプログラム名の集合をパッケージ管理テーブル２９のアンインストール可１２６として、アンインストール後ＯＳ再起動２５０の内容をパッケージ管理テーブル２９のアンインストール後ＯＳ再起動１２７として、連続アンインストール可能プログラム２５１の内容をパッケージ管理テーブル２９のアンインストール後連続インストール可能プログラム１２８として、それぞれパッケージ管理テーブル２９に新規レコードを作成して格納する。
【０１０９】
ステップ２６０５では、図２４で示される、配備時間履歴テーブル３０に追加する入力ユーザインターフェースをディスプレイ１６に表示し、管理者１がキーボード１７とマウス１８を介して配備時間履歴テーブル３０に追加する内容を入力する。図２４のウィンドウ２６０が、配備時間履歴テーブルに追加する入力ユーザインターフェースを示すウィンドウ画面である。以下、図２４について説明する。
【０１１０】
プログラム名２６１、使用ＯＳ２６２、計算機種別２６３の、平均インストール時間２６４、インストール時平均再起動時間２６５、インストール回数２６６、平均アンインストール時間２６７、アンインストール時平均再起動時間２６８、アンインストール回数２６９はテキスト入力ボックスである。管理者１は、プログラム名２６１にプログラムの名称を、使用ＯＳ２６２にプログラムが動作可能となるＯＳの名称を、計算機種別２６３のテキスト入力ボックスにプログラムが配備可能な計算機の種別を、平均インストール時間２６４にプログラムの平均インストール時間を、インストール時平均再起動時間２６５にプログラムをインストールした後のＯＳ再起動にかかる平均時間を、インストール回数２６６にプログラムをインストールした回数を、平均アンインストール時間２６７にプログラムの平均アンインストール時間を、アンインストール時平均再起動時間２６８にプログラムをアンインストールした後のＯＳ再起動にかかる平均時間を、アンインストール回数２６９にプログラムをアンインストールした回数をそれぞれ入力する。
【０１１１】
管理者１が決定ボタン２７０を押すと、入力が完了する。
【０１１２】
ステップ２６０６では、ステップ２６０５で管理者１が入力した、配備時間履歴テーブル３０の追加内容を、配備時間履歴テーブル３０に追加する。具体的には、プログラム名２６１の内容を配備時間履歴テーブル３０のプログラム名１３０のカラムとして、使用ＯＳ２６２の内容を配備時間履歴テーブル３０の使用ＯＳ１３１のカラムとして、計算機種別２６３の内容を配備時間履歴テーブル３０の計算機種別１３２のカラムとして、平均インストール時間２６４の内容を配備時間履歴テーブル３０の平均インストール時間１３３のカラムとして、インストール時平均再起動時間２６５の内容を配備時間履歴テーブル３０のインストール時平均再起動時間１３４のカラムとして、インストール回数２６６の内容を配備時間履歴テーブル３０のインストール回数１３５のカラムとして、平均アンインストール時間２６７の内容を配備時間履歴テーブル３０の平均アンインストール時間１３６のカラムとして、アンインストール時平均再起動時間２６８の内容を配備時間履歴テーブル３０のアンインストール時平均再起動時間１３７のカラムとして、アンインストール回数２６９の内容を配備時間履歴テーブル３０のアンインストール回数１３８のカラムとして、それぞれ配備時間履歴テーブル３０に新規レコードを作成して格納する。
【０１１３】
以上の処理により、業務の動作環境を構築する場合に、手動で構築する場合、あるいは、単純にディスクイメージに不足するプログラムをインストールして、不要なプログラムをアンインストールする場合と比較して、業務の動作環境の構築時間を短縮することが可能となる。
【０１１４】
なお、上記実施例１において、リストや集合に関する演算を行っているが、リストや集合の代わりに、配列やテーブルによる演算によって同様の処理を行っても良い。
【実施例２】
【０１１５】
以下に本発明の実施例１を一部修正した別の実施形態について説明する。
【０１１６】
図１６のステップ２１０１で使用するディスクイメージに対応した使用プログラム構成名を求める代わりに、管理者１に使用するディスクイメージに対応した使用プログラム構成名を決定してもらうステップ２１１０を入れる。ステップ２１１０では、管理者１に使用プログラム構成名を決定してもらうための入力ユーザインターフェースをディスプレイ１６に表示し、管理者１がキーボード１７とマウス１８を介して入力した情報をもとに、使用プログラム構成名を決定する。
【０１１７】
図２５は、ステップ２１１０で、管理者１に使用プログラム構成名を決定してもらうための入力ユーザインターフェースである。図２４のウィンドウ２００が、管理者１に使用プログラム構成名を決定してもらう入力ユーザインターフェースを示すウィンドウである。一つの矩形領域２０１には、ある一つのディスクイメージを使って業務の動作環境を構築する場合について、推定構築時間と、追加するプログラム、削除するプログラム、イメージ内のものをそのまま使用するプログラム、プログラムのインストール順序、アンインストール順序についての情報が表示されている。
【０１１８】
以下に、この矩形領域２０１で表示される内容がどのように作られるのか説明する。ステップ１００３の戻り値である集合ＩＵ内のそれぞれの要素について、矩形領域２０１と、これを使用ボタン２０５が作られる。プログラム構成名２０２は前記要素内のプログラム構成名を、推定構築時間２０３は前記要素内の推定構築時間を表示する。矩形領域２０４には、ステップ１００１で取得したリストＡと、前記要素内のリストＵの内容を表示する。矩形領域２０４に表示されたリストＡのノードのうち、前記要素内のリストＩに含まれるものについては削除プログラム２０８のように塗りつぶし矩形として、それ以外のノードは保留プログラム名２０６のように通常の矩形として表示する。また、リストＵのノードは削除プログラム２０８のように塗りつぶし矩形として表示する。保留プログラム名２０６はディスクイメージ内にあるプログラムをそのまま使用することを示す。追加プログラム２０７は追加インストールするプログラムを示す。削除プログラム２０８はアンインストールするプログラムを示す。
【０１１９】
管理者は、これら矩形領域２０１内にある保留プログラム２０６、追加プログラム２０７、削除プログラム２０８と、それらの順序関係を見て、当該矩形領域２０１で示されるディスクイメージを用いて業務の運用環境を構築した場合に問題が生じないか判断する。そして、管理者１は使用するディスクイメージを一つ決定し、決定したディスクイメージに対応した矩形領域２０１の下にある、これを使用ボタン２０５を押す。押されたこれを使用ボタン２０５の上に表示されている矩形領域２０１内のプログラム構成名２０２が、使用プログラム構成名となる。
【０１２０】
以上の処理により、人手により、構築される予定の業務の動作環境に問題が生じないか事前にチェックし、問題が生じない構築方法をとりつつ、業務の動作環境の構築時間を短縮することが可能となる。
【実施例３】
【０１２１】
以下に本発明の実施例１ないし実施例２を一部修正した別の実施形態について説明する。
【０１２２】
図２６は、本実施形態で使用する互換プログラム名テーブル３１である。互換プログラム名テーブル３１は、プログラム名１４０のカラムと、互換のあるプログラム名１４１のカラムから成る。プログラム名１４０にはプログラム名が、互換のあるプログラム名１４１にはプログラム名の集合が格納されている。互換のあるプログラム名１４１に格納されているプログラム名の集合は、前記集合中で示されるどのプログラムについても、プログラム名１４０で示されるプログラムと同等の機能を提供するために、プログラム名１４０の代替として使用できることを示している。
【０１２３】
本実施形態では、図９のステップ１１０６とステップ１１０７の間に、図２７のステップを挿入する。図２７のステップは、あるディスクイメージ内に、ステップ１００１で取得したリストＡに含まれないプログラムが存在しないが、リストＡ内に含まれるプログラムと互換性のあるプログラムが前記ディスクイメージ内に含まれるときは、業務の運用環境を構築する際に前記互換性のあるプログラムを使用する処理である。
【０１２４】
ステップ２７０１では、リストＩ内から、ステップ２７０１でまだ取り出していないノードを取り出し、リストＸとする。
【０１２５】
ステップ２７０２では、ノードＸのプログラム名をキーとして、プログラム互換性テーブル３１を検索して、互換のあるプログラム名１４１を取り出し、それらプログラム名をノードとする集合を作成する。その集合を集合Ｇとする。
【０１２６】
ステップ２７０３では、リストＵ内に含まれるノードが示すプログラム名のうち、集合Ｇ内に含まれるノードが示すプログラム名と同名のものがあるかを調べる。同名のものがあるときはステップ２７０４に、ないときはステップ２７０７に進む。
【０１２７】
ステップ２７０４では、リストＵ内に含まれるノードが示すプログラム名のうち、集合Ｇ内に含まれるノードが示すプログラム名と同名のものを、ランダムに一つ選択する。そのノードをノードＤとする。
【０１２８】
ステップ２７０５では、リストＵに含まれるノードのうち、ノードＤが示すプログラム名と同名となるノードを削除する。
【０１２９】
ステップ２７０６では、リストＩに含まれるノードのうち、ノードＸが示すプログラム名と同名となるノードを削除する。
【０１３０】
ステップ２７０６では、リストＵ内で、ステップ２７０１で取り出していないノードがあるか調べ、まだ取り出していないノードがあるときはステップ２７０１へ、ないときはステップ１１０７に進む。
【０１３１】
以上の処理により、互換性のあるプログラムを使用することで、インストールやアンインストール回数を削減して、業務の動作環境の構築時間を短縮することが可能となる。
【実施例４】
【０１３２】
以下に本発明の実施例１ないし実施例３を一部修正した別の実施形態について説明する。
【０１３３】
図９のステップ１１０６の代わりに、リストＵを空にする処理を入れる。これにより、不要なプログラムをアンインストールしなくなるため、業務の動作環境の構築時間を短縮することが可能となる。
【実施例５】
【０１３４】
図３にあるプログラム構成テーブル２７に格納されていて、同じプログラム構成名をもつレコードのインストール順序１０２の組み合わせのいくつかを、プログラム名を渡してインストール順序を取する外部プログラムを呼び出すことで取得する。インストール順序を変更しても問題なく業務が運用できるインストール順序の組み合わせを外部プログラムが複数通り生成し、それぞれのインストール順序にしたがって業務動作を複数通り生成し、それぞれのインストール順序にしたがって業務動作環境の構築時間を推定することで、更なる構築時間の短縮が可能となる。
【図面の簡単な説明】
【０１３５】
【図１】本発明の実施例１の業務運用のための計算機システムの全体構成を示すブロック図である。
【図２】実施例１の統合管理マネージャ２の機能ブロック図である。
【図３】実施例１のプログラム構成テーブル２７のデータ構造図である。
【図４】実施例１のイメージ管理テーブル２８のデータ構造図である。
【図５】実施例１のパッケージ管理テーブル２９のデータ構造図である。
【図６】実施例１の配備時間履歴テーブル３０のデータ構造図である。
【図７】実施例１における、業務の動作環境を構築する処理を示すフローチャートである。
【図８】実施例１における、管理者がプログラム構成とプログラム構成名を入力するための入力ユーザインターフェースを示す画面スケッチある。
【図９】実施例１の業務環境構築に使用可能なディスクイメージを検索するサブルーチンを示すフローチャートである。
【図１０】実施例１のディスクイメージ内に含まれている不要なプログラムがアンインストール可能か調べるサブルーチンを示すフローチャートである。
【図１１】実施例１の業務運用環境を構築するまでにかかる推定構築時間を求めるサブルーチンを示すフローチャートである。
【図１２】上記推定構築時間のうち、プログラムのインストールにかかる時間を求めるサブルーチンの前半部分のフローチャートである。
【図１３】上記プログラムのインストールにかかる時間を求めるサブルーチンの後半部分のフローチャートである。
【図１４】上記推定構築時間のうち、プログラムのアンインストールにかかる時間を求めるサブルーチンの前半部分のフローチャートである。
【図１５】上記プログラムのアンインストールにかかる時間を求めるサブルーチンの後半部分のフローチャートである。
【図１６】実施例１の使用するディスクイメージを決定するサブルーチンのフローチャートである。
【図１７】実施例１のディスクイメージを配備することで業務動作環境を構築する処理のフローチャートである。
【図１８】実施例１の不要プログラムをアンインストールするサブルーチンのフローチャートである。
【図１９】実施例１の不足しているプログラムをンインストールするサブルーチンのフローチャートである。
【図２０】実施例１の構築した業務動作環境のディスクイメージをバックアップするサブルーチンのフローチャートである。
【図２１】実施例１において、管理者１がプログラム構成テーブル２７、イメージ管理テーブル２８、パッケージ管理テーブル２９、配備時間履歴テーブル３０に内容を追加するための処理を示すフローチャートである。
【図２２】実施例１における、管理者１がプログラム構成テーブル２７とイメージ管理テーブル２８に内容を追加するための入力ユーザインターフェースの画面スケッチである。
【図２３】実施例１における、管理者１がパッケージ管理テーブル２９に内容を追加するための入力ユーザインターフェースを示す画面スケッチである。
【図２４】実施例１における、管理者１が配備時間履歴テーブル３０に内容を追加するための入力ユーザインターフェースを示す画面スケッチである。
【図２５】実施例２における、管理者１が業務の運用環境を構築するために使用するディスクイメージを決定するための入力ユーザインターフェースを示す画面スケッチである。
【図２６】実施例３の互換プログラム名テーブル３１のデータ構造図である。
【図２７】実施例３において、図９のフローのステップ１１０６の後に挿入されるフローを示すフローチャートである。
【符号の説明】
【０１３６】
１  管理者
２  統合管理マネージャ
３  イメージ配備マネージャ
４  プログラム配備マネージャ
５  ネットワーク
６  ディスクイメージ格納ストレージ
７  プログラムパッケージ格納ストレージ
８  Ｍ１という種類の計算機
９  Ｍ２という種類の計算機
１０  統合管理マネージャが動作している計算機
１１  イメージ配備マネージャが動作している計算機
１２  プログラム配備マネージャが動作している計算機
１３  アプリケーションプログラム
１４  パッチプログラム
１５  ディスクイメージ
２０  ユーザ入出力部
２１  使用イメージ候補裂く西部
２２  構築時間推定部
２３  使用イメージ化ってイブ
２４  業務動作環境構築部
２５  バックアップイメージ作成部
２６  テーブル格納領域
２７  プログラム構成テーブル
２８  イメージ管理テーブル
２９  パッケージ管理テーブル
３０  配備時間履歴テーブル
１００  プログラム構成名
１０１  プログラム名
１０２  インストール順序
１０３  プログラム構成リスト
１０４  プログラム名のノード
１０５  プログラムのインストール順序関係を表すエッジ。
１１０  プログラム構成名
１１１  イメージファイル名
１１２  使用ＯＳ
１１３  計算機種別
１１４  削除可
１１５  平均配備時間
１１６  配備回数
１２０  プログラム名
１２１  使用ＯＳ
１２２  パッケージファイル名
１２３  インストール後ＯＳ再起動
１２４  連続インストール可能プログラム
１２５  パッチ対象
１２６  アンインストール可
１２７  インストール後ＯＳ再起動
１２８  連続アンインストール可能プログラム
１３０  プログラム名
１３１  使用ＯＳ
１３２  計算機種別
１３３  平均インストール時間
１３４  インストール時平均再起動事件
１３５  インストール回数
１３６  平均アンインストール時間
１３７  アンインストール時平均再起動事件
１３８  アンインストール回数
１８０  プログラム構成を編集する入力ユーザインターフェース
１８１  プログラム構成のリスト
１８２  使用可能パッケージプログラム一覧
１８３  ノード追加ボタン
１８４  ノード削除ボタン
１８５  ノード前へボタン
１８６  ノード次へボタン
１８７  プログラム構成名のテキスト入力ボックス
１８８  決定ボタン
２２０  プログラム構成テーブル２７とイメージ管理テーブル２８に追加するための入力ユーザインターフェース
２２１  プログラム構成
２２２  プログラム構成名
２２３  プログラム構成とプログラム構成名を編集するための編集ボタン
２２４  イメージファイル名を入力するテキスト入力ボックス
２２５  使用ＯＳを入力するテキスト入力ボックス
２２６  計算機種別を入力するテキスト入力ボックス
２２７  削除可を入力するドロップダウンボックス
２２８  平均配備時間を入力するテキスト入力ボックス
２２９  配備回数を入力するテキスト入力ボックス
２４０  パッケージ管理テーブル２９に追加する入力ユーザインターフェース
２４１  プログラム名を入力するテキスト入力ボックス
２４２  使用ＯＳを入力するテキスト入力ボックス
２４３  パッケージファイル名を入力するテキスト入力ボックス
２４４  インストール後ＯＳ再起動を入力するドロップダウンボックス
２４５  連続インストール可能プログラム
２４６  連続インストール可能プログラムの編集ボタン
２４７  パッチ対象プログラム
２４８  パッチ対象プログラムの編集ボタン
２４９  アンインストール可を入力するドロップダウンボックス
２５０  アンインストール後ＯＳ再起動1を入力するドロップダウンボックス
２５１  連続アンインストール可能プログラム
２５２  連続アンインストール可能プログラムの編集ボタン
２５３  決定ボタン
２６０  配備時間履歴テーブル３０に追加する入力ユーザインターフェース
２６１  プログラム名を入力するテキスト入力ボックス
２６２  使用ＯＳを入力するテキスト入力ボックス
２６３  計算機種別を入力するテキスト入力ボックス
２６４  平均インストール時間を入力するテキスト入力ボックス
２６５  インストール時平均再起動時間を入力するテキスト入力ボックス
２６６  インストール回数を入力するテキスト入力ボックス
２６７  平均アンインストール時間を入力するテキスト入力ボックス
２６８  アンインストール時平均再起動時間を入力するテキスト入力ボックス
２６９  アンインストール回数を入力するテキスト入力ボックス
２７０  決定ボタン
２００  管理者１に使用プログラム構成名を決定してもらうための入力ユーザインターフェース
２０１  推定構築時間と、追加するプログラム、削除するプログラム、イメージ内のものをそのまま使用するプログラム、プログラムのインストール順序、アンインストール順序についての情報が表示された矩形領域
２０２  プログラム構成名
２０３  推定構築時間
２０４  追加するプログラム、削除するプログラム、イメージ内のものをそのまま使用するプログラムと、プログラムのインストール順序、アンインストール順序を表示した矩形領域
２０５  これを使用ボタン
２０６  イメージ内のものをそのまま使用するプログラムのプログラム名
２０７  追加するプログラムのプログラム名
２０８  削除するプログラムのプログラム名
３１  互換プログラム名テーブル
１４０  プログラム名
１４１  互換のあるプログラム名の集合。
【図１】
2007219866.tif 000003
【図２】
2007219866.tif 000004
【図３】
2007219866.tif 000005
【図４】
2007219866.tif 000006
【図５】
2007219866.tif 000007
【図６】
2007219866.tif 000008
【図７】
2007219866.tif 000009
【図８】
2007219866.tif 000010
【図９】
2007219866.tif 000011
【図１０】
2007219866.tif 000012
【図１１】
2007219866.tif 000013
【図１２】
2007219866.tif 000014
【図１３】
2007219866.tif 000015
【図１４】
2007219866.tif 000016
【図１５】
2007219866.tif 000017
【図１６】
2007219866.tif 000018
【図１７】
2007219866.tif 000019
【図１８】
2007219866.tif 000020
【図１９】
2007219866.tif 000021
【図２０】
2007219866.tif 000022
【図２１】
2007219866.tif 000023
【図２２】
2007219866.tif 000024
【図２３】
2007219866.tif 000025
【図２４】
2007219866.tif 000026
【図２５】
2007219866.tif 000027
【図２６】
2007219866.tif 000028
【図２７】
2007219866.tif 000029