(57)【要約】      （修正有）【課題】プログラムのインストール作業によってインストール先のコンピュータの運用に影響を与えることなく、プログラム管理用サーバがプログラムを自動的にインストールするために必要な情報を取得する技術を提供する。【解決手段】プログラムインストールコスト算出装置５０は、プログラムのサイズに基づき、プログラムをマルチコアコンピュータにインストールするために要する所要時間を測定するインストール時間測定部５１と、プログラムの種類に基づき、プログラムをマルチコアコンピュータにインストールするために使用されるマルチコアコンピュータのプロセッサにおける所要コア数を判定するコア数判定部５２と、測定された所要時間と所要コア数とに基づき、プログラムをマルチコアコンピュータにインストールするために要するコストを算出するコスト算出部５３と、を有する。【選択図】図３
2016085687.tif 000002
【特許請求の範囲】
【請求項１】
プログラムのサイズに基づき、前記プログラムをコンピュータにインストールするのに要する所要時間を測定するインストール時間測定部と、
前記プログラムの種類に基づき、前記プログラムを前記コンピュータにインストールするのに使用される前記コンピュータのプロセッサにおける所要コア数を判定するコア数判定部と、
前記測定された所要時間と前記判定された所要コア数とに基づき、前記プログラムを前記コンピュータにインストールするのに要するコストを算出するコスト算出部と、
を有するプログラムインストールコスト算出装置。
【請求項２】
前記所要時間は、前記プログラムを前記コンピュータにインストールするのに要する最大所要時間であり、
前記所要コア数は、前記プログラムを前記コンピュータにインストールするに使用される前記コンピュータの最大所要コア数である、請求項１記載のプログラムインストールコスト算出装置。
【請求項３】
プログラムをコンピュータにインストールするプログラムインストール装置であって、
前記プログラムを前記コンピュータにインストールするか判定するインストール判定部と、
前記インストール判定部が前記プログラムを前記コンピュータにインストールすると判定すると、前記プログラムを前記コンピュータにインストールするインストール実行部と、
を有し、
前記インストール判定部は、前記プログラムを前記コンピュータにインストールするのに要するコストと前記コンピュータの稼働状況との対比に基づき、前記プログラムを前記コンピュータにインストールするか判定し、
前記コストは、前記プログラムのサイズに基づき測定された前記プログラムを前記コンピュータにインストールするのに要する所要時間と、前記プログラムの種類に基づき判定された前記プログラムを前記コンピュータにインストールするのに使用される前記コンピュータのプロセッサにおける所要コア数とに基づき算出されるプログラムインストール装置。
【請求項４】
前記インストール判定部は、前記コンピュータのプロセッサの使用率の周波数特性に基づき前記稼働状況を決定する、請求項３記載のプログラムインストール装置。
【請求項５】
請求項１又は２記載のプログラムインストールコスト算出装置としてコンピュータを機能させるためのプログラムを格納する記録媒体。
【請求項６】
請求項３又は４記載のプログラムインストール装置としてコンピュータを機能させるためのプログラムを格納する記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムにおけるプログラムインストール処理に関する。
【背景技術】
【０００２】
通常、パーソナルコンピュータ（ＰＣ）やサーバなどのコンピュータにおいて使用されるオペレーティングシステムやアプリケーションプログラムは、当該オペレーティングシステムやアプリケーションプログラムを提供したベンダやメーカから適宜配信される修正プログラム、更新プログラム、パッチなどのプログラムをインストールすることによって、最新状態に維持される。
【０００３】
このようなプログラムのインストール処理に関して、個人用のコンピュータについては、プログラムがネットワークを介し配信されると、ユーザが手動によって又は自動的に当該プログラムをコンピュータにインストールする。一方、企業用のコンピュータについては、ネットワークを介し配信されたプログラムはプログラム管理用のサーバに格納され、当該サーバを介し各コンピュータにインストールされることが一般的である。典型的には、サーバ管理者が、営業時間外やコンピュータの使用負荷の小さい時間帯などを特定し、当該時間帯に一括してプログラムを各コンピュータにインストールする（例えば、Ｗｉｎｄｏｗｓ  Ｓｅｒｖｅｒ  Ｕｐｄａｔｅ  Ｓｅｒｖｉｃｅｓ（ＷＳＵＳ）など）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】特開２０１０−２４５７１６
【非特許文献２】特開２０１３−２００６３２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このようなプログラム管理用サーバによるプログラムインストール処理では、上述したように、サーバ管理者が各コンピュータの稼働状況を収集し、プロセッサの使用率の低い時間帯などを特定し、プログラムをインストールするのに適した時間帯に当該プログラムをコンピュータにインストールする。
【０００６】
しかしながら、多くの種類のプログラムがプログラム管理用サーバの管理下にあるコンピュータにおいて使用されている場合、プログラムの配信及び更新頻度は高くなり、また、プログラムインストール先のコンピュータも細分化されてくる。従って、サーバ管理者が上述したように手動によりインストールタイミングやインストール先のコンピュータを決定することは困難になってくる。
【０００７】
このような問題点を鑑み、本発明の課題は、プログラムのインストール作業によってインストール先のコンピュータの運用に影響を与えることなく、プログラム管理用サーバがプログラムを自動的にインストールするための技術を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の一態様は、プログラムのサイズに基づき、前記プログラムをコンピュータにインストールするのに要する所要時間を測定するインストール時間測定部と、前記プログラムの種類に基づき、前記プログラムを前記コンピュータにインストールするのに使用される前記コンピュータのプロセッサにおける所要コア数を判定するコア数判定部と、前記測定された所要時間と前記判定された所要コア数とに基づき、前記プログラムを前記コンピュータにインストールするのに要するコストを算出するコスト算出部とを有するプログラムインストールコスト算出装置に関する。
【０００９】
本発明の他の態様は、プログラムをコンピュータにインストールするプログラムインストール装置であって、前記プログラムを前記コンピュータにインストールするか判定するインストール判定部と、前記インストール判定部が前記プログラムを前記コンピュータにインストールすると判定すると、前記プログラムを前記コンピュータにインストールするインストール実行部とを有し、前記インストール判定部は、前記プログラムを前記コンピュータにインストールするのに要するコストと前記コンピュータの稼働状況との対比に基づき、前記プログラムを前記コンピュータにインストールするか判定し、前記コストは、前記プログラムのサイズに基づき測定された前記プログラムを前記コンピュータにインストールするのに要する所要時間と、前記プログラムの種類に基づき判定された前記プログラムを前記コンピュータにインストールするのに使用される前記コンピュータのプロセッサにおける所要コア数とに基づき算出されるプログラムインストール装置に関する。
【発明の効果】
【００１０】
本発明によると、プログラムのインストール作業によってインストール先のコンピュータの運用に影響を与えることなく、プログラム管理用サーバによりプログラムを自動的にインストールすることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の一実施例によるコンピュータシステムを示す概略図である。
【図２】図２は、本発明の一実施例によるサーバのハードウェア構成を示すブロック図である。
【図３】図３は、本発明の一実施例によるプログラムインストールコスト算出装置の構成を示すブロック図である。
【図４】図４は、本発明の一実施例によるプログラムインストール装置の構成を示すブロック図である。
【図５】図５は、本発明の一実施例によるプログラムインストール処理を示すフロー図である。
【発明を実施するための形態】
【００１２】
以下、図面に基づいて本発明の実施の形態を説明する。
【００１３】
以下の実施例では、コンピュータにプログラムをインストールするためのプログラム管理用サーバが開示される。後述される実施例を概略すると、インストール対象のプログラムが配信されると、プログラム管理用サーバは、当該プログラムをインストール先のコンピュータにインストール可能であるか、当該プログラムのインストールコストと当該コンピュータの稼働状況とに基づき判断する。当該プログラムのインストールコストは、当該プログラムをインストールするのに要する所要時間と、当該プログラムをインストールするのに使用されるコンピュータのプロセッサの所要コア数とに基づき算出される。他方、当該コンピュータの稼働状況は、当該コンピュータの経時的なプロセッサ使用率により導出される。プログラム管理用サーバは、経時的なプロセッサ使用率に基づきインストールコストを収容可能な期間を判定し、当該判定結果に基づきプログラムをインストールする。これにより、プログラム管理用サーバは、システム管理者が手動により操作することなくインストール先のコンピュータの運用に影響を与えない時間帯を特定し、当該時間帯にプログラムを自動的にインストールすることが可能になる。
【００１４】
まず、図１を参照して、本発明の一実施例によるコンピュータシステムを説明する。図１は、本発明の一実施例によるコンピュータシステムを示す概略図である。
【００１５】
図１に示されるように、コンピュータシステム１０は、プログラム管理用サーバ１００、コンピュータ２００及びプログラム配信用サーバ３００を有する。コンピュータシステム１０では、コンピュータ２００において使用されているオペレーティングシステムやアプリケーションプログラムなどの供給元の各ベンダが、各自のオペレーティングシステムやアプリケーションプログラムの修正プログラム、更新プログラム、パッチなどのプログラムをユーザに配信するためのプログラム配信用サーバ３００を運用している。プログラム配信用サーバ３００からネットワークを介しプログラムが配信されると、プログラム管理用サーバ１００は、配信されたプログラムを格納し、プログラムのインストール処理による追加的な負荷によってコンピュータ２００の運用に影響を与えることのないタイミングで配下のＰＣやサーバなどのコンピュータ２００にインストールする。
【００１６】
プログラム管理用サーバ１００は、後述されるプログラムをコンピュータ２００にインストールするプログラムインストール装置として機能する。具体的には、インストール対象のプログラムがプログラム配信用サーバ３００から配信されたことを検出すると、プログラム管理用サーバ１００は、配信されたプログラムを格納し、後述されるようにプログラムのインストール処理による追加的な負荷によってコンピュータ２００の運用に影響を与えることのないインストールタイミングを決定し、決定したインストールタイミングにおいて管理下のコンピュータ２００にプログラムのインストールを開始させる。
【００１７】
典型的には、プログラム管理用サーバ１００は、プログラムインストール装置によるインストール可否判定に用いられる後述されるプログラムインストールコスト算出装置の機能を内蔵してもよい。しかしながら、本発明はこれに限定されるものでなく、プログラムインストールコスト算出装置は、プログラム管理用サーバ１００の外部サーバなどに設けられてもよく、この場合、プログラム管理用サーバ１００は、当該外部サーバに通信接続され、当該外部サーバからインストール可否判定に用いる各種情報（インストールのためのコストなど）を取得してもよい。
【００１８】
図２に示されるように、プログラム管理用サーバ１００は、バスＢを介し相互接続されるドライブ装置１０１、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０４、インタフェース装置１０５及び通信装置１０６を有する。
【００１９】
プログラム管理用サーバ１００における後述される各種機能及び処理を実現するプログラムを含む各種コンピュータプログラムは、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、フラッシュメモリなどの記録媒体１０７によって提供されてもよい。プログラムを記憶した記録媒体１０７がドライブ装置１０１にセットされると、プログラムが記録媒体１０７からドライブ装置１０１を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０７により行う必要はなく、ネットワークなどを介し何れかの外部装置からダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。
【００２０】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムやデータを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、後述されるようなプログラム管理用サーバ１００の各種機能及び処理を実行する。インタフェース装置１０５は、ネットワーク又は外部装置に接続するための通信インタフェースとして用いられる。通信装置１０６は、コンピュータ２００及びプログラム配信用サーバ３００などの外部装置と通信するための各種通信処理を実行する。
【００２１】
しかしながら、プログラム管理用サーバ１００は、上述したハードウェア構成に限定されるものでなく、他の何れか適切なハードウェア構成により実現されてもよい。
【００２２】
コンピュータ２００は、プログラム管理用サーバ１００を介しプログラム配信用サーバ３００から配信されたプログラムをインストールする。コンピュータ２００は、パーソナルコンピュータ、タブレット、スマートフォン、サーバなどであり、プロセッサ内に複数の処理ユニット（以降において「コア」として参照する）を備えた各種情報処理装置から構成される。
【００２３】
プログラム配信用サーバ３００は、オペレーティングシステムやアプリケーションプログラムの供給元の各ベンダ又はメーカにより運営され、当該オペレーティングシステムやアプリケーションプログラムに対する修正又は更新が必要になると、当該修正又は更新を実現するための修正プログラム更新プログラム、パッチなどのプログラムをネットワークに配信する。
【００２４】
次に、図３を参照して、本発明の一実施例によるプログラムインストールコスト算出装置を説明する。図３は、本発明の一実施例によるプログラムインストールコスト算出装置の構成を示すブロック図である。
【００２５】
図３に示されるように、プログラムインストールコスト算出装置５０は、インストール時間測定部５１、コア数判定部５２及びコスト算出部５３を有する。
【００２６】
インストール時間測定部５１は、プログラムのサイズに基づき、当該プログラムをコンピュータ２００にインストールするのに要する所要時間を測定する。すなわち、プログラムをコンピュータ２００にインストールするのに要する所要時間は、当該プログラムのサイズに依存することが経験的に認められている。ここで、当該所要時間は、プログラムをコンピュータ２００にインストールするのに要する最大所要時間として設定されてもよい。
【００２７】
すなわち、一般的に、相対的にサイズの大きなプログラムをコンピュータ２００にインストールするには相対的に長い処理時間を必要とし、相対的にサイズの小さなプログラムをコンピュータ２００にインストールするのには相対的に短い処理時間で済むことが過去のインストール処理やシミュレーション等により判明している。このため、システム管理者は、プログラムのサイズと各サイズをコンピュータ２００にインストールするのに必要とされる所要時間との間の対応関係を過去のインストール処理履歴やシミュレーション等により予め求めておき、プログラムインストールコスト算出装置５０に格納する。インストール時間測定部５１は、プログラム配信用サーバ３００から配信されたコンピュータ２００に対するインストール対象のプログラムを検出すると、検出したプログラムのサイズを判定し、当該対応関係を参照して当該プログラムのサイズに対応する所要時間を決定してもよい。
【００２８】
一実施例では、当該対応関係は、プログラムのサイズをいくつかのレベルにグループ化し、各レベルに対応する所要時間がテーブル形式などにより登録されてもよい。具体的には、プログラムのサイズｘがｘ１（ＭＢ）未満である場合（ｘ＜ｘ１）、当該サイズは「極めて軽い」レベルに分類され、プログラムのサイズｘがｘ１（ＭＢ）以上であってｘ２（ＭＢ）未満である場合（ｘ１≦ｘ＜ｘ２）、当該サイズは「軽い」レベルに分類され、プログラムのサイズｘがｘ２（ＭＢ）以上であってｘ３（ＭＢ）未満である場合（ｘ２≦ｘ＜ｘ３）、当該サイズは「中」レベルに分類され、プログラムのサイズｘがｘ３（ＭＢ）以上であってｘ４（ＭＢ）未満である場合（ｘ３≦ｘ＜ｘ４）、当該サイズは「重い」レベルに分類され、プログラムのサイズｘがｘ４（ＭＢ）以上である場合（ｘ≧ｘ４）、当該サイズは「極めて重い」レベルに分類されてもよい。このとき、各レベルに対して過去のインストール処理やシミュレーション等により求められたコンピュータ２００に対する所要時間が関連付けされる。
【００２９】
コア数判定部５２は、プログラムの種類に基づき、当該プログラムをコンピュータ２００にインストールするのに使用されるコンピュータ２００のプロセッサにおける所要コア数を判定する。すなわち、プログラムをコンピュータ２００にインストールするのに使用される所要コア数は、当該プログラムの種類に依存することが経験的に認められている。具体的には、所要コア数は、当該プログラムに用いられるコマンドの種類（コピーなど）や当該プログラムのプログラム構造などに基づき判定できる。例えば、外部ファイルに対する入出力（Ｉ／Ｏ）アクセスが相対的に多いプログラム構造を有するプログラムは、相対的に多くのコアを使用する可能性があることが推察される。あるいは、パラレル処理が相対的に多いプログラム構造を有するプログラムもまた、相対的に多くのコアを使用する可能性があることが想到される。さらに、コピーコマンドが相対的に多いプログラム構造を有するプログラムもまた、相対的に多くのコアを使用することが知られている。また、所要コア数は、当該プログラムの供給元のベンダやメーカなどにより指定されていることもある。一実施例では、当該所要コア数は、プログラムをコンピュータ２００にインストールするに使用されるコンピュータ２００の最大所要コア数として設定されてもよい。
【００３０】
従って、システム管理者は、プログラムの種別と各種別のプログラムをコンピュータ２００にインストールするのに使用されるコンピュータ２００のプロセッサのコア数との対応関係を過去のインストール処理履歴やシミュレーション等により予め求めておき、プログラムインストールコスト算出装置５０に格納する。コア数判定部５２は、プログラム配信用サーバ３００から配信されたコンピュータ２００に対するインストール対象のプログラムを検出すると、検出したプログラムの種別を判定し、当該対応関係を参照して当該プログラムの種別に対応する所要コア数を決定してもよい。
【００３１】
一実施例では、当該対応関係は、所定のプログラム種別のそれぞれに対応するコンピュータ２００のプロセッサのコア数がテーブル形式などにより登録されてもよい。具体的には、プログラム種別ｙ１についてコア数ｃ１が関連付けされ、プログラム種別ｙ２についてコア数ｃ２が関連付けされ、同様に、プログラム種別ｙｉについてコア数ｃｉが関連付けされてもよい。
【００３２】
なお、本発明は、所要時間や所要コア数に限定されることなく、プログラムをインストールするのに必要なコンピュータ２００の計算リソースの使用量を示す何れかの指標が利用されてもよい。
【００３３】
コスト算出部５３は、測定された所要時間と判定された所要コア数とに基づき、プログラムをコンピュータ２００にインストールするのに要するコストを算出する。当該コストは、後述されるプログラムインストール装置１００によるコンピュータ２００にプログラムをインストールするか否かを判定するためのインストール判定に利用され、コンピュータ２００のプロセッサ使用率などの稼働状況と比較される。後述するように、コンピュータ２００の稼働状況は、例えば、時間軸上のプロセッサ使用率を示すプロセッサ使用率曲線などにより表すことができ、時点ｔ１〜ｔ２におけるプロセッサ使用量は、当該プロセッサ使用率曲線を区間ｔ１〜ｔ２について積分した積分値として定義することができる。このとき、プロセッサのフル稼働能力から当該積分値を差し引いたものがプロセッサの空き容量として利用可能である。
【００３４】
一実施例では、コスト算出部５３により算出されるコストは、当該積分値と対比可能な何れかの数値として定義され、例えば、所要時間と所要コア数との積に所定の調整値を乗算することによって算出されてもよい。なお、当該調整値は、過去のインストール処理履歴やシミュレーション等により導出される所定の定数であってもよい。算出されたコストが空き容量より小さい区間ｔ０〜ｔｘにおいては、当該プログラムのインストール処理は、コンピュータ２００の動作に影響を与えることなく実施可能であると考えられる。
【００３５】
なお、上述した実施例では、１つのプログラムをコンピュータ２００にインストールするケースについて説明したが、本発明はこれに限定されるものでなく、複数のプログラムをインストールするケースにも適用可能である。例えば、コスト算出部５３は、インストール対象の複数のプログラムのそれぞれについてコストを算出し、算出したコストの合計値を複数のプログラムに対するコストとして利用してもよい。これらのプログラムは、コストの合計値を収容可能な期間において一括してインストールすることが可能になる。
【００３６】
他の実施例では、コスト算出部５３は、コンピュータ２００に対して相対的に負荷の低い所要コア数の少ないプログラムのコストの合計値と、相対的に負荷の高い所要コア数の少ないプログラムのコストの合計値とをそれぞれ算出してもよい。これにより、相対的に負荷の低いプログラムは、相対的に空き容量の少ない期間（例えば、平日の夜間など）においてもインストールすることが可能となり、プログラムを迅速に適用することができる。他方、相対的に負荷の高いプログラムは、相対的に空き容量の多い期間（例えば、休日など）にインストールすることになり、インストール処理の分散化を図ることが可能になる。
【００３７】
また、プログラムにインストール処理の緊急性を示す指標が付されている場合、コスト算出部５３は、緊急性の高いプログラムのコストの合計値と、緊急性の低いプログラムのコストの合計値とをそれぞれ算出してもよい。これにより、緊急性の高いプログラムは、相対的に空き容量の少ない期間においてもインストールすることが可能となり、プログラムを迅速に適用することができる。他方、緊急性の低いプログラムは、相対的に空き容量の多い期間にインストールすることになり、緊急性に応じたインストール処理を実現することが可能になる。
【００３８】
コスト算出部５３は、算出したコストをプログラム管理用サーバ１００、すなわち、プログラムインストール装置１００に提供する。なお、プログラムインストールコスト算出装置５０は、プログラム管理用サーバ１００、すなわち、プログラムインストール装置１００に内蔵されてもよいし、あるいは、プログラムインストール装置１００に通信接続された外部装置として実現されてもよい。
【００３９】
次に、図４を参照して、本発明の一実施例によるプログラムインストール装置を説明する。図４は、本発明の一実施例によるプログラムインストール装置の構成を示すブロック図である。
【００４０】
図４に示されるように、プログラムインストール装置１００は、インストール判定部１１０及びインストール実行部１２０を有する。
【００４１】
インストール判定部１１０は、プログラムをコンピュータ２００にインストールするか判定し、特に当該プログラムをコンピュータ２００にインストールするのに要するコストとコンピュータ２００の稼働状況との対比に基づき、当該プログラムをコンピュータ２００にインストールするか判定する。一実施例では、当該コストは、プログラムインストールコスト算出装置５０により提供され、すなわち、プログラムのサイズに基づき測定されたプログラムをコンピュータ２００にインストールするのに要する所要時間と、プログラムの種類に基づき判定されたプログラムをコンピュータ２００にインストールするのに使用されるコンピュータ２００のプロセッサにおける所要コア数とに基づき算出される。
【００４２】
具体的には、インストール判定部１１０は、プログラムインストールコスト算出装置５０から、インストール対象のプログラムをコンピュータ２００にインストールするのに要するコストを取得する一方、比較対象となるコンピュータ２００の稼働状況を判断する。上述したように、コンピュータ２００の稼働状況は、例えば、コンピュータ２００のプロセッサ使用率により表すことができる。この場合、インストール判定部１１０は、過去の所定の期間におけるコンピュータ２００のプロセッサ使用率を示すプロセッサ使用率曲線を導出し、取得したコストを収容可能な期間ｔ０〜ｔｘを特定してもよい。例えば、インストール判定部１１０は、プロセッサ使用率曲線の区間ｔ０〜ｔｘにおける積分値がコスト以上となる期間ｔ０〜ｔｘを検索してもよい。当該期間ｔ０〜ｔｘが検出できた場合、インストール判定部１１０は、プログラムが当該期間ｔ０〜ｔｘにおいてインストール可能であると判定し、インストール実行部１２０に当該判定結果を通知してもよい。他方、当該期間ｔ０〜ｔｘが検出できなかった場合、インストール判定部１１０は、プログラムがインストール不可であると判定し、インストール実行部１２０に当該判定結果を通知してもよい。
【００４３】
一実施例では、インストール判定部１１０は、コンピュータ２００のプロセッサの使用率の周波数特性に基づき稼働状況を決定してもよい。プロセッサ使用率は、時間に関して周期性があることが知られている。すなわち、１日や１週間などの単位期間によりプロセッサ使用率を表すことが可能である。また、当該単位期間においては、プロセッサ使用率が高い期間と低い期間とが存在する傾向があることが知られている。典型的には、１日のうち営業時間内はプロセッサ使用率は相対的に高くなり、営業時間外はプロセッサ使用率は相対的に低くなる傾向がある。また、１週間のうち平日はプロセッサ使用率は相対的に高くなり、週末はプロセッサ使用率は相対的に低くなる傾向がある。このようなプロセッサ使用率の周期性を鑑み、プロセッサ使用率を周波数解析することによって、インストール判定部１１０は、プロセッサ使用率のピーク期間を容易に特定することが可能となり、これにより、コンピュータ２００の稼働状況を把握することが可能になる。このようにして、インストール判定部１１０は、過去のプロセッサ使用率の履歴に基づき将来のプロセッサ使用率を許容可能な精度により予測することが可能であり、上述したような過去のデータに基づくプロセッサ使用率曲線を用いて適切なインストール可否判定を行うことが可能である。
【００４４】
一実施例では、インストール判定部１１０は、プロセッサ使用率曲線の区間ｔ０〜ｔｘにおける積分値がコストよりマージン値以上となる期間ｔ０〜ｔｘを検索してもよい。すなわち、インストール可否判定に用いられるコストと積分値とは、一般に統計上の誤差を含むと考えられる。このため、推定される誤差に応じて設定されるマージン値が、インストール可否判定において考慮されてもよい。このようなマージン値を加えることによって、信頼性の高いインストール可否判定を行うことが可能になる。
【００４５】
インストール実行部１２０は、インストール判定部１１０がプログラムをコンピュータ２００にインストールすると判定すると、当該プログラムをコンピュータ２００にインストールする。具体的には、インストール判定部１１０によりプログラムが期間ｔ０〜ｔｘにおいてコンピュータ２００にインストール可能であると判定されると、インストール実行部１２０は、当該期間ｔ０〜ｔｘにプログラムをインストールするようコンピュータ２００に通知する。当該インストール通知を受信すると、コンピュータ２００は、インストール実行部１２０から当該プログラムを受信し、インストール処理を起動する。他方、インストール判定部１１０によりプログラムがコンピュータ２００にインストール不可であると判定されると、インストール実行部１２０は、システム管理者にその旨を通知してもよい。当該通知を受信すると、システム管理者は、例えば、インストール対象のプログラムのためのコンピュータ２００のプロセッサの空き状況を確保するため、コンピュータ２００において実行されているタスクを調整することが可能になる。
【００４６】
一実施例では、インストール実行部１２０は、プログラムをインストールしたコンピュータ２００を適用済みコンピュータとして記憶してもよい。これにより、プログラムインストール装置１００は、各コンピュータ２００へのプログラム適用状況を把握することができる。
【００４７】
次に、図５を参照して、本発明の一実施例によるプログラムインストール処理を説明する。図５は、本発明の一実施例によるプログラムインストール処理を示すフロー図である。
【００４８】
図５に示されるように、ステップＳ１０１において、プログラムインストール装置１００は、プログラム配信用サーバ３００から配信されたインストール対象のプログラムを検出し、検出されたプログラムをプログラムインストールコスト算出装置５０に通知する。
【００４９】
ステップＳ１０２において、プログラムインストールコスト算出装置５０は、当該プログラムをコンピュータ２００にインストールするのに要する所要時間を測定する。具体的には、プログラムインストールコスト算出装置５０は、当該プログラムのサイズを特定し、予め保持するプログラムサイズと所要時間との間の対応関係テーブルを参照し、特定したプログラムサイズに対応する所要時間を特定する。
【００５０】
ステップＳ１０３において、プログラムインストールコスト算出装置５０は、当該プログラムをコンピュータ２００にインストールするのに使用する所要コア数を判定する。具体的には、プログラムインストールコスト算出装置５０は、当該プログラムの種別を特定し、予め保持するプログラム種別と所要コア数との間の対応関係テーブルを参照し、特定したプログラム種別に対応する所要コア数を特定する。
【００５１】
ステップＳ１０４において、プログラムインストールコスト算出装置５０は、ステップＳ１０２，Ｓ１０３において測定した所要時間及び判定した所要コア数に基づき、当該プログラムをインストールするのに要するコストを算出する。例えば、プログラムインストールコスト算出装置５０は、所要時間と所要コア数との積に所定の調整値を乗じた値をコストとして算出してもよい。プログラムインストールコスト算出装置５０は、算出したコストをプログラムインストール装置１００に通知する。
【００５２】
ステップＳ１０５において、プログラムインストール装置１００は、プログラムのインストール先のコンピュータ２００の稼働状況を決定する。例えば、プログラムインストール装置１００は、コンピュータ２００の過去のプロセッサ使用率を示すプロセッサ使用率曲線を導出してもよい。プロセッサ使用率は、ある単位期間（１日、１週間など）に関して周期性を有することが経験的に知られている。このため、プログラムインストール装置１００は、当該単位期間のプロセッサ使用率曲線を導出してもよい。
【００５３】
ステップＳ１０６において、プログラムインストール装置１００は、ステップＳ１０４において算出されたコストと、ステップＳ１０５において導出されたコンピュータ２００の稼働状況とを対比し、プログラムをインストールするか判断する。例えば、導出されたプロセッサ使用率曲線の区間ｔ０〜ｔｘの積分値が算出したコストより大きい期間ｔ０〜ｔｘが検出された場合、プログラムインストール装置１００は、当該期間ｔ０〜ｔｘにおいてプログラムがインストール可能であると判断し（ステップＳ１０７：Ｙｅｓ）、ステップＳ１０７において、当該プログラムをインストールするようコンピュータ２００に指示する。他方、プロセッサ使用率曲線において算出したコストより大きい期間が検出されなかった場合、プログラムインストール装置１００は、当該プログラムがインストール不可であると判断し（ステップＳ１０７：Ｎｏ）、プログラムをインストールすることなく当該処理を終了する。
【００５４】
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００５５】
１０  コンピュータシステム
５０  プログラムインストールコスト算出装置
１００  プログラム管理用サーバ、プログラムインストール装置
２００  コンピュータ
３００  プログラム配信用サーバ
【図１】
2016085687.tif 000003
【図２】
2016085687.tif 000004
【図３】
2016085687.tif 000005
【図４】
2016085687.tif 000006
【図５】
2016085687.tif 000007