(57)【特許請求の範囲】
【請求項１】
複数のホストで実行されるジョブの実行計画を行うジョブ実行計画装置であって、
各ホストにつきリソース使用履歴が記憶され、該リソース使用履歴は、該当ホストでのリソース使用率の取得タイミングごとのレコードからなり、該レコードには、該当の取得タイミング、当該リソース使用率が格納されるリソース使用履歴記憶部と、
各ホストにつきリソース使用予測情報が記憶され、該リソース使用予測情報は、現在以降の単位時間ごとのレコードからなり、該レコードには、該当の単位時間の開始タイミング、当該単位時間におけるリソース使用率の予測値に対応する予測ポイントが格納されるリソース使用予測情報記憶部と、
ジョブごとにジョブ実行履歴が記憶され、該ジョブ実行履歴は、該当ジョブによるリソース使用率の取得タイミングごとのレコードからなり、該レコードは、該当の取得タイミング、該当ジョブを実行するホストのホストＩＤ、当該リソース使用率に相当するリソース使用量ポイント、当該ジョブの進捗率実績値が格納されるジョブ実行履歴記憶部と、
ジョブごとにジョブ特性情報が記憶され、該ジョブ特性情報には、該当のジョブの進捗率を単位時間に所定の増加分だけ増加させるのに必要なリソースの使用量に相当するリソース必要量ポイントが格納されるジョブ特性記憶部と、
各ホストにつきジョブ実行計画情報が記憶され、該ジョブ実行計画情報は、単位時間ごとのレコードからなり、該レコードには、該当単位時間に実行すべきジョブのジョブＩＤ、当該ジョブに関する実行率、当該単位時間終了時の進捗率である予定進捗率が格納され、さらに当該レコードには、当該単位時間の開始タイミングが格納されるジョブ実行計画記憶部と、
各ホストからリソース使用率、ジョブによるリソース使用率、進捗率実績値を取得するリソース収集部と、
各ジョブのリソース必要量ポイントを計算するジョブ特性分析部と、
各ホストのジョブ実行計画情報を作成するジョブ実行計画作成部とを備え、
前記リソース収集部は、各ホストから、当該ホストでのリソース使用率を取得し、当該取得タイミング、リソース使用率を含むレコードを前記リソース使用履歴記憶部における該当ホストのリソース使用履歴に生成し、
前記リソース収集部は、前記リソース使用履歴記憶部における各ホストのリソース使用履歴に格納されたリソース使用率に基づいてリソース使用率の予測値を算出し、
前記ジョブ実行計画作成部は、各単位時間につきリソース使用率の予測値を予測ポイントに変換し、当該単位時間の開始タイミング、当該予測ポイントを含むレコードを前記リソース使用予測情報記憶部における該当ホストのリソース使用予測情報に生成し、
前記リソース収集部は、各ホストから、当該ホストで実行されるジョブによるリソース使用率、当該ジョブの進捗率実績値を取得し、当該リソース使用率をリソース使用量ポイントに変換し、当該ジョブによるリソース使用率の取得タイミング、該当ホストのホストＩＤ、当該リソース使用量ポイント、当該進捗率実績値を含むレコードを前記ジョブ実行履歴記憶部における該当ジョブのジョブ実行履歴に生成し、
前記ジョブ特性分析部は、各ジョブにつき、前記ジョブ実行履歴記憶部におけるリソース使用量ポイントと進捗率実績値に基づいて、該当ジョブのリソース必要量ポイントを計算し、前記ジョブ特性記憶部の該当のジョブ特性情報に格納し、
前記ジョブ実行計画作成部は、前記リソース使用予測情報記憶部の予測ポイントと前記ジョブ特性記憶部のリソース必要量ポイントを用いて、各ホストにつきジョブ実行計画情報を作成し、前記ジョブ実行計画記憶部に記憶させ、当該ジョブ実行計画情報を各ホストに送信し、当該ジョブ実行計画情報どおりにジョブを実行させる
ことを特徴とするジョブ実行計画装置。
【請求項２】
ジョブの実行計画の変更を制御するジョブ実行計画変更制御部を備え、
前記ジョブ実行計画作成部は、ジョブの実行中に新たなジョブ実行計画情報を作成し、
前記ジョブ実行計画変更制御部は、前記ジョブ実行計画記憶部のジョブ実行計画情報において全てのジョブが終了する予定の時刻よりも、新たに作成された前記ジョブ実行計画情報において全てのジョブが終了する予定の時刻の方が早いなら、新たに作成されたジョブ実行計画情報で前記ジョブ実行計画記憶部のジョブ実行計画情報を置き換え、当該ジョブ実行計画情報を各ホストに送信しジョブを実行させる
ことを特徴とする請求項１記載のジョブ実行計画装置。
【請求項３】
ジョブの実行計画の変更を制御するジョブ実行計画変更制御部を備え、
前記ジョブ実行計画変更制御部は、ジョブの実行中に前記リソース使用履歴記憶部の各リソース使用履歴から最新のレコードのリソース使用率を読み出し、該リソース使用率が所定の割合以上であるなら、前記ジョブ実行計画記憶部から該当ホストのジョブ実行計画情報を検索し、現在以降のレコードの実行率を減少させ、当該ジョブ実行計画情報を該当ホストに送信しジョブを実行させる
ことを特徴とする請求項１記載のジョブ実行計画装置。
【請求項４】
ジョブの実行計画の変更を制御するジョブ実行計画変更制御部を備え、
前記ジョブ実行計画変更制御部は、ジョブの実行中に前記リソース使用履歴記憶部の各リソース使用履歴から最新のレコードのリソース使用率を読み出し、該リソース使用率が所定の範囲に含まれるか否かを判定し、
前記ジョブ実行計画作成部は、当該リソース使用率が当該範囲に含まれないと判定されたなら、新たなジョブ実行計画情報を作成し、当該ジョブ実行計画情報で前記ジョブ実行計画記憶部のジョブ実行計画情報を置き換え、
前記ジョブ実行計画変更制御部は、新たなジョブ実行計画情報を各ホストに送信しジョブを実行させる
ことを特徴とする請求項１記載のジョブ実行計画装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブ実行計画装置に関するものである。
【背景技術】
【０００２】
従来において、クラウドサービスを提供するためのホストでは、仮想マシンが処理を行い、ホストのリソース（例えば、ＣＰＵの能力）は、処理のピーク時に合わせて設定される。したがって、通常時はリソースに余剰があるが、その余剰は有効利用されていない。
【０００３】
そこで、通常時は仮想マシンをホスト間で移動させ、仮想マシンを有しないホストは停止させておくことが考えられる。しかし、仮想マシンの移動時には、ホストのパフォーマンスが低下するので好ましくない。
【０００４】
また、通常時はあるホストに処理を集中させ、つまり、そのホストの仮想マシン数を増やすことが考えられる。しかし、仮想マシン数を一定数以上とすると、ホストのパフォーマンスが低下するので好ましくない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１００２６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、ホスト間での仮想マシンの移動および仮想マシンの増加を行うことなくホストの余剰リソースを有効利用する技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明は、複数のホストで実行されるジョブの実行計画を行うジョブ実行計画装置であって、各ホストにつきリソース使用履歴が記憶され、該リソース使用履歴は、該当ホストでのリソース使用率の取得タイミングごとのレコードからなり、該レコードには、該当の取得タイミング、当該リソース使用率が格納されるリソース使用履歴記憶部と、各ホストにつきリソース使用予測情報が記憶され、該リソース使用予測情報は、現在以降の単位時間ごとのレコードからなり、該レコードには、該当の単位時間の開始タイミング、当該単位時間におけるリソース使用率の予測値に対応する予測ポイントが格納されるリソース使用予測情報記憶部と、ジョブごとにジョブ実行履歴が記憶され、該ジョブ実行履歴は、該当ジョブによるリソース使用率の取得タイミングごとのレコードからなり、該レコードは、該当の取得タイミング、該当ジョブを実行するホストのホストＩＤ、当該リソース使用率に相当するリソース使用量ポイント、当該ジョブの進捗率実績値が格納されるジョブ実行履歴記憶部と、ジョブごとにジョブ特性情報が記憶され、該ジョブ特性情報には、該当のジョブの進捗率を単位時間に所定の増加分だけ増加させるのに必要なリソースの使用量に相当するリソース必要量ポイントが格納されるジョブ特性記憶部と、各ホストにつきジョブ実行計画情報が記憶され、該ジョブ実行計画情報は、単位時間ごとのレコードからなり、該レコードには、該当単位時間に実行すべきジョブのジョブＩＤ、当該ジョブに関する実行率、当該単位時間終了時の進捗率である予定進捗率が格納され、さらに当該レコードには、当該単位時間の開始タイミングが格納されるジョブ実行計画記憶部と、各ホストからリソース使用率、ジョブによるリソース使用率、進捗率実績値を取得するリソース収集部と、各ジョブのリソース必要量ポイントを計算するジョブ特性分析部と、各ホストのジョブ実行計画情報を作成するジョブ実行計画作成部とを備え、前記リソース収集部は、各ホストから、当該ホストでのリソース使用率を取得し、当該取得タイミング、リソース使用率を含むレコードを前記リソース使用履歴記憶部における該当ホストのリソース使用履歴に生成し、前記リソース収集部は、前記リソース使用履歴記憶部における各ホストのリソース使用履歴に格納されたリソース使用率に基づいてリソース使用率の予測値を算出し、前記ジョブ実行計画作成部は、各単位時間につきリソース使用率の予測値を予測ポイントに変換し、当該単位時間の開始タイミング、当該予測ポイントを含むレコードを前記リソース使用予測情報記憶部における該当ホストのリソース使用予測情報に生成し、前記リソース収集部は、各ホストから、当該ホストで実行されるジョブによるリソース使用率、当該ジョブの進捗率実績値を取得し、当該リソース使用率をリソース使用量ポイントに変換し、当該ジョブによるリソース使用率の取得タイミング、該当ホストのホストＩＤ、当該リソース使用量ポイント、当該進捗率実績値を含むレコードを前記ジョブ実行履歴記憶部における該当ジョブのジョブ実行履歴に生成し、
前記ジョブ特性分析部は、各ジョブにつき、前記ジョブ実行履歴記憶部におけるリソース使用量ポイントと進捗率実績値に基づいて、該当ジョブのリソース必要量ポイントを計算し、前記ジョブ特性記憶部の該当のジョブ特性情報に格納し、前記ジョブ実行計画作成部は、前記リソース使用予測情報記憶部の予測ポイントと前記ジョブ特性記憶部のリソース必要量ポイントを用いて、各ホストにつきジョブ実行計画情報を作成し、前記ジョブ実行計画記憶部に記憶させ、当該ジョブ実行計画情報を各ホストに送信し、当該ジョブ実行計画情報どおりにジョブを実行させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ホスト間での仮想マシンの移動および仮想マシンの増加を行うことなくホストの余剰リソースを有効利用することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態に係るジョブ実行計画装置の利用環境の一例を示す図である。
【図２】ジョブ実行計画装置１の機能ブロック図である。
【図３】記憶部１５の詳細を示す図である。
【図４】リソース使用履歴記憶部１５１の詳細を示す図である。
【図５】リソース使用予測情報記憶部１５２の詳細を示す図である。
【図６】ジョブ実行履歴記憶部１５３の詳細を示す図である。
【図７】ジョブ特性記憶部１５４の詳細を示す図である。
【図８】ジョブ実行計画記憶部１５５の詳細を示す図である。
【図９】環境変数記憶部１５６に記憶される係数記憶領域を示す図である。
【図１０】ジョブ実行計画装置１における全体フローチャートである。
【図１１】リソース使用率の変化とリソース使用率の予測値の変化の一例を示すグラフである。
【図１２】リソース使用率の予測値の変化と予測ポイントの変化の一例を示すグラフである。
【図１３】ジョブの実行の様子の一例を示すグラフである。
【図１４】ジョブ実行計画の変更制御のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照して説明する。
【００１１】
図１は、本実施の形態に係るジョブ実行計画装置の利用環境の一例を示す図である。
【００１２】
ジョブ実行計画装置１は、複数のホストコンピュータ３に個別の仮想マシン管理装置２を介して、通信可能となっている。以下、ホストコンピュータ３をホストという。
【００１３】
各ホストでは、実行停止が許されない呼制御などの処理（以下、リアルタイム処理）を実行する仮想マシンと、実行停止が許されるバッチ処理など（以下、ジョブという）を実行する仮想マシンとが動作する。本実施の形態では、ホスト間で仮想マシンを移動せず、また、仮想マシンの増加を行わないこととする。
【００１４】
図２は、ジョブ実行計画装置１の機能ブロック図である。
【００１５】
ジョブ実行計画装置１は、各ホストからリソース使用率を収集するリソース収集部１１、ジョブの特性を分析するジョブ特性分析部１２と、ジョブの実行計画を作成するジョブ実行計画作成部１３と、ジョブの実行計画の変更を制御するジョブ実行計画変更制御部１４と、ジョブの実行計画とその作成に必要な情報が記憶される記憶部１５とを備える。以下、リソースは、ＣＰＵの能力、メモリの容量、ネットワークの帯域、ディスクの帯域の４種類とする。
【００１６】
図３は、記憶部１５の詳細を示す図である。
【００１７】
記憶部１５は、ホストごとにリソース使用履歴が記憶されるリソース使用履歴記憶部１５１と、ホストごとにリアルタイム処理によるリソース使用予測情報が記憶されるリソース使用予測情報記憶部１５２と、ジョブごとにジョブ実行履歴が記憶されるジョブ実行履歴記憶部１５３と、ジョブごとにジョブ特性情報が記憶されるジョブ特性記憶部１５４と、ホストごとにジョブ実行計画情報が記憶されるジョブ実行計画記憶部１５５と、必要な環境変数が記憶される環境変数記憶部１５６とを備える。
【００１８】
図４は、リソース使用履歴記憶部１５１の詳細を示す図である。
【００１９】
リソース使用履歴記憶部１５１には、各ホストにつきリソース使用履歴が記憶される。リソース使用履歴は、リソース使用率の取得タイミングごとのレコードからなり、レコードには、該当の取得タイミング、各リソースのリソース使用率（％）が格納される。
【００２０】
ＣＰＵのリソース使用率とは該当のホストにおけるＣＰＵの全能力に占める使用中の能力の割合である。メモリのリソース使用率とは該当のホストにおけるメモリの全容量に占める使用中の容量の割合である。ネットワークのリソース使用率とは該当のホストにおける使用可能なネットワークの全帯域に占める使用中の帯域の割合である。ディスクのリソ
ース使用率とは該当のホストにおけるディスクの全転送帯域に占める使用中の帯域の割合である。
【００２１】
図５は、リソース使用予測情報記憶部１５２の詳細を示す図である。
【００２２】
リソース使用予測情報記憶部１５２には、各ホストにつきリソース使用予測情報が記憶される。リソース使用予測情報は、現在以降の単位時間（以下、１時間とする）ごとのレコードからなり、レコードには、該当の単位時間の開始タイミングならびに、各リソースにつき、該当の単位時間におけるリソース使用率を示す予測ポイントが含まれる。なお、予測ポイントが例えば２０ポイントであり、該当ホストにおける該当リソースの全ポイントが例えば６０ポイントの場合は、余剰ポイントとして４０ポイントを格納してもよい。
【００２３】
図６は、ジョブ実行履歴記憶部１５３の詳細を示す図である。
【００２４】
ジョブ実行履歴記憶部１５３には、ジョブごとにジョブ実行履歴が記憶される。ジョブ実行履歴は、ジョブによるリソース使用率の取得タイミングごとのレコードからなり、レコードは、該当の取得タイミング、該当のジョブを実行するホストを示すホストＩＤ、当該リソース使用率に相当するリソース使用量ポイント、当該ジョブの進捗率の実績値である進捗率実績値を格納する。
【００２５】
ＣＰＵのリソース使用量ポイントとは、各ホストのＣＰＵの全能力の総和を例えば１００ポイントとした場合に該当ジョブが使用している能力に相当するポイントである。メモリのリソース使用量ポイントとは、各ホストのメモリの全容量の総和を例えば同じく１００ポイントとした場合に該当ジョブが使用している容量に相当するポイントである。ネットワークのリソース使用量ポイントとは、各ホストのネットワークの全帯域の総和を例えば同じく１００ポイントとした場合に該当ジョブが使用している帯域に相当するポイントである。ディスクのリソース使用量ポイントとは、各ホストのディスクの全帯域の総和を例えば同じく１００ポイントとした場合に該当ジョブが使用している帯域に相当するポイントである。進捗率実績値とはジョブ全体に占める終了しているジョブの部分の割合である。
【００２６】
図７は、ジョブ特性記憶部１５４の詳細を示す図である。
【００２７】
ジョブ特性記憶部１５４には、ジョブごとにジョブ特性情報が記憶される。ジョブ特性情報には、単位時間に該当のジョブの進捗率を所定の増加分（例えば、１％）だけ増加させるのに必要なＣＰＵ、メモリ、ネットワーク、ディスクの各使用量に相当するリソース必要量ポイントが格納される。
【００２８】
図８は、ジョブ実行計画記憶部１５５の詳細を示す図である。
【００２９】
ジョブ実行計画記憶部１５５は、各ホストにつきジョブ実行計画情報が記憶される。ジョブ実行計画情報は、現在以降の単位時間ごとのレコードからなり、レコードには、該当単位時間に実行すべき各ジョブにつき、当該ジョブを示すジョブＩＤ、当該ジョブに関する必要量を１００％とした場合における実際の使用量の割合である実行率、当該単位時間終了時の進捗率（予測値）である予定進捗率が格納され、さらに当該レコードには、当該単位時間の開始タイミングが格納される。
【００３０】
例えば、ジョブＩＤ「２」のジョブの進捗率を１時間に１０％増加させるのに必要なＣＰＵ、メモリ、ネットワーク、ディスクの各必要量が１０ポイント、５ポイント、０．２ポイント、０．２ポイントの場合、実行率を５０％とすると、ＣＰＵ、メモリ、ネットワーク、ディスクの各使用量は５ポイント、２．５ポイント、０．１ポイント、０．１ポイントとなり、ジョブ２の進捗率は１時間に５％増加することとなる。
【００３１】
図９は、環境変数記憶部１５６に記憶される係数記憶領域を示す図である。
【００３２】
係数記憶領域は、各ホストにつき、各リソースのリソース係数が記憶される。ＣＰＵのリソース係数は、例えば、コア数とクロック周波数と１クロック当たりの命令数の積である。メモリのリソース係数は、例えば、メモリ種別やバス帯域に応じた値である。ネットワークのリソース係数、ディスクのリソース係数は、例えば、１とされる。
【００３３】
図１０は、ジョブ実行計画装置１における全体フローチャートである。
【００３４】
以下、ジョブ実行計画装置１の動作を説明する。
【００３５】
ここでは、各ホストでは、当初はリアルタイム処理を行い、ジョブを行っていないこととする。
【００３６】
Ｓ１：次に、リソース収集部１１は、環境変数記憶部１５６から環境変数ｎ、ｍを読み込む。
【００３７】
Ｓ３：まず、リソース収集部１１は、各ホストから、当該ホストでの各リソースのリソース使用率を取得し、取得タイミングと各リソース使用率を含むレコードを、リソース使用履歴記憶部１５１における該当ホストのリソース使用履歴に生成する。そして、以降、これを繰り返す。
【００３８】
Ｓ５：次に、リソース収集部１１は、リソース使用履歴記憶部１５１における各ホストのリソース使用履歴から、過去ｎ時間分のリソース使用率を読み込み、このリソース使用率に基づいて、現在からｍ時間後までのリソース使用率の予測値を算出する。
【００３９】
図１１は、１つのリソース（例えば、ＣＰＵ）のリソース使用率の変化とリソース使用率の予測値の変化の一例を示すグラフである。
【００４０】
図１０に戻り、Ｓ７：次に、ジョブ実行計画作成部１３は、現在以降の各単位時間につき、各リソース使用率の予測値を予測ポイントに変換し、当該単位時間の開始タイミングと各予測ポイントを含むレコードを、リソース使用予測情報記憶部１５２における該当のリソース使用予測情報に生成する。
【００４１】
例えば、ＣＰＵの予測ポイントは以下のように計算する。
【００４２】
ここでは、各ホストのＣＰＵの全能力の総和を１００ポイントとする。あるホストのＣＰＵの全能力と別のホストのＣＰＵの全能力に差がある場合、前者のホストのポイントは６０、後者のホストのポイントは４０のように計算される。このようなポイントは、環境変数記憶部１５６の係数記憶領域に記憶されたＣＰＵ係数を用いて計算される。
【００４３】
例えば、前者のホストのＣＰＵの予測ポイントは、上記例の場合、６０ポイントの中のポイント数で計算される。例えば、予測ポイントが３０である場合、これは前者のホストのＣＰＵの全能力の５０％（＝３０／６０）にあたる。
【００４４】
図１２は、１つのリソース（例えば、ＣＰＵ）のリソース使用率の予測値の変化と予測ポイントの変化の一例を示すグラフである。
【００４５】
図１０に戻り、Ｓ９：次に、ジョブ実行計画作成部１３は、実行すべき各ジョブを仮にいずれかのホストで実行させる。
【００４６】
Ｓ１１：次に、リソース収集部１１は、各ホストから、当該ホストで実行されるジョブごとに、当該ジョブによる各リソース使用率、当該ジョブの進捗率実績値を取得する。
【００４７】
ジョブによるリソース使用率は、リアルタイム処理によるリソース使用率を含まない値であり、例えば、これは、該当ジョブとリアルタイム処理を行っているときのリソース使用率からリアルタイム処理のみを行っているときのリソース使用率を減じて計算される。
【００４８】
Ｓ１３：次に、リソース収集部１１は、各ジョブによるリソース使用率をリソース使用量ポイントに変換し、Ｓ２１のタイミングを示す取得タイミング、該当のホストを示すホストＩＤ、各リソース使用量ポイント、該当の進捗率実績値を含むレコードを、ジョブ実行履歴記憶部１５３における該当ジョブのジョブ実行履歴に生成する。
【００４９】
リソース収集部１１は、以降、Ｓ１１、Ｓ１３を繰り返す。
【００５０】
Ｓ１５：次に、ジョブ特性分析部１２は、例えば、ジョブ実行履歴記憶部１５３における最新のレコードのリソース使用量ポイントと、それより前に生成されたレコードのリソース使用量ポイントと、各レコードの進捗率実績値の差と、各レコードの取得時刻の差から、リソース必要量ポイントを計算し、ジョブ特性記憶部１５４の該当のジョブ特性情報に格納する。
【００５１】
例えば、各レコードのリソース使用量ポイントが共に５ポイントであり、進捗率実績値の差が５％、取得時刻の差が３０分の場合、リソース使用量ポイントが５ポイントのままなら、単位時間１時間では１０％進捗するから、リソース必要量ポイントは５ポイントと計算される。
【００５２】
Ｓ１７：次に、ジョブ実行計画作成部１３は、リソース使用予測情報記憶部１５２から予測ポイントを読み込み、ジョブ特性記憶部１５４からリソース必要量ポイントを読み込み、これらを用いて、各ホストにつきジョブ実行計画情報を作成し、ジョブ実行計画記憶部１５５に記憶させる。
【００５３】
Ｓ１７では、ジョブ実行計画作成部１３は、例えば、あるホストのＣＰＵの全能力が６０ポイントであり、ある単位時間における当該ホストのＣＰＵの予測ポイントが３０ポイントであり、つまり、余剰ポイントが３０ポイントであり、当該単位時間に２つのジョブを実行するようにジョブ実行計画情報を作成する場合、一方のジョブのＣＰＵのリソース必要量ポイントと実行率の積と、他方のジョブのＣＰＵのリソース必要量ポイントと実行率の積の和が、余剰の３０ポイントを超えないようにする。
【００５４】
また、あるジョブを５単位時間に分けて、２０％づつ実行するようにジョブ実行計画情報を作成する場合、早い単位時間に対応する予定進捗率から順に２０％、４０％、６０％、８０％、１００％とする。
【００５５】
ジョブ実行計画作成部１３は、他のリソース、他のホストについても同様の処理を行う。
【００５６】
１）  なお、ジョブを実行させるホストの選定は、以下の方法でなされる。
まず、ジョブの全体の実行時間が短くなるようにホストを選定する。
そのようなホストが複数ある場合は、以下のように１つのホストを選定する。
【００５７】
Ｐ０＝単位時間ｎでの余剰ポイント−同単位時間でのリソース必要量ポイント
Ｐ１＝単位時間ｎ＋１での余剰ポイント−同単位時間でのリソース必要量ポイント
〜
Ｐｍ＝単位時間ｎ＋ｍでの余剰ポイント−同単位時間でのリソース必要量ポイント
とすると、Ｐ０＋Ｐ１＋…＋Ｐｍが最大となるホストを選択する。
【００５８】
２）また、１つのホストにおいて単位時間ｎ１から単位時間ｎ＋ｍまでの間にジョブを実行させる場合、
ｚ＝ｒ１＋ｒ２＋…ｒｍ
が最大になるようにジョブを割り当てる。
ただし、各リソースつまり、ＣＰＵ、メモリ、ネットワーク、ディスクについて、
Ｊ１×ｒ１＋Ｊ２×ｒ２＋…＋Ｊｍ×ｒｍ≦Ｒ
を充足するようにする。ここで、Ｊ１、Ｊ２、…、Ｊｍは、それぞれ該当単位時間でのリソース必要量ポイントである。Ｒは、各単位時間での余剰ポイントの合計である。
【００５９】
Ｓ１９：ジョブ実行計画作成部１３は、生成されたジョブ実行計画情報を、各ホストに送信し、ジョブ実行計画情報どおりにジョブを実行させる。
【００６０】
図１３は、ジョブの実行の様子の一例を示すグラフである。
【００６１】
図の予測ポイントは、例えば、ＣＰＵのものである。例えば、現在から２単位時間までは予測ポイントが低く、ジョブ１、２が実行される。ジョブを示す矩形の高さは、ＣＰＵのリソース必要量ポイントと実行率の積である。次の２単位時間は、予測ポイントが高く、ジョブは実行されない。次の１単位時間は、予測ポイントが若干低くなるので、ジョブ１が実行される。次の３単位時間は、予測ポイントが低くなるので、ジョブ２も実行される。その後、ジョブが実行されない３単位時間を経て、次の３単位時間は、ジョブ１、３が実行される。次の３単位時間は、予測ポイントが高くなり、ジョブは実行されない。
【００６２】
Ｓ２０：次に、ジョブ実行計画装置１では、ジョブ実行計画の変更制御を行う。
【００６３】
図１４は、ジョブ実行計画の変更制御（Ｓ２０）のフローチャートである。
【００６４】
Ｓ２１：ジョブ実行計画変更制御部１４は、まず、環境変数記憶部１５６から環境変数ｐ、ｑ読み込む。
【００６５】
Ｓ２３：次に、ジョブ実行計画変更制御部１４は、リソース使用履歴記憶部１５１の各リソース使用履歴から最新のレコードの各リソース使用率を読み出し、いずれかのリソース使用率がｑ％以上であるか否かを判定する。
【００６６】
Ｓ２５：ジョブ実行計画変更制御部１４は、Ｓ２３でＹＥＳと判定されたなら、ジョブ実行計画記憶部１５５から該当のジョブ実行計画情報を検索し、現在以降のレコードを検索し、その中の各ジョブの実行率を均等に減少させる。
【００６７】
Ｓ２６：次に、ジョブ実行計画変更制御部１４は、実行率を変更されたジョブ実行計画情報を、該当のホストに送信し、ジョブ実行計画情報どおりにジョブを実行させる。これにより、リソース使用率をｑ％未満にできる。
【００６８】
Ｓ２６の後、制御は、Ｓ２３に戻る。
【００６９】
なお、ジョブ実行計画変更制御部１４は、このように制限をかけたホストについては、リソース使用率を監視し、リソース使用率が数％づつ減少するように実行率を調整する。
【００７０】
Ｓ２７：ジョブ実行計画変更制御部１４は、Ｓ２３でＮＯと判定されたなら、リソース使用履歴記憶部１５１の各リソース使用履歴から最新のレコードの各リソース使用率を読み出し、各リソース使用率がｐ％…ｑ％の範囲に含まれるか否かを判定する。
【００７１】
Ｓ２９：ジョブ実行計画作成部１３は、Ｓ２７でＮＯと判定されたなら、Ｓ１７と同様の方法で新たなジョブ実行計画情報を作成し、ジョブ実行計画記憶部１５５のジョブ実行計画情報を置き換える。
【００７２】
ジョブ実行計画情報は、前述の方法と違い、ジョブ実行履歴記憶部１５３における最新の進捗率実績値も用いて作成される。例えば、あるジョブの進捗率実績値が５０％で、残りの５０％を５単位時間に分けて、１０％づつ実行するようにジョブ実行計画情報を作成する場合、早い単位時間に対応する予定進捗率から順に６０％、７０％、８０％、９０％、１００％とする。
【００７３】
Ｓ３１：ジョブ実行計画変更制御部１４は、新たなジョブ実行計画情報を、各ホストに送信し、ジョブ実行計画情報どおりにジョブを実行させる。これにより、リソース使用率をｐ％…ｑ％の範囲内に収めることができる。
【００７４】
Ｓ４１：ジョブ実行計画作成部１３は、Ｓ２７でＹＥＳと判定されたなら、または、Ｓ３１の後、所定の時間が経過したなら、Ｓ２９の方法で新たなジョブ実行計画情報を作成する。
【００７５】
Ｓ４３：ジョブ実行計画変更制御部１４は、ジョブ実行計画記憶部１５５のジョブ実行計画情報において全てのジョブが終了する予定の時刻よりも、Ｓ４１で作成されたジョブ実行計画情報において全てのジョブが終了する予定の時刻の方が早いか否かを判定する。
【００７６】
Ｓ４５：ジョブ実行計画変更制御部１４は、Ｓ４３でＹＥＳと判定されたなら、Ｓ４１で作成されたジョブ実行計画情報でジョブ実行計画記憶部１５５のジョブ実行計画情報を置き換える。
【００７７】
Ｓ４７：ジョブ実行計画変更制御部１４は、置き換えられたジョブ実行計画情報を、各ホストに送信し、ジョブ実行計画情報どおりにジョブを実行させる。これにより、全てのジョブが終了する時刻を早めることができる。
【００７８】
Ｓ４３でＮＯと判定されたなら、または、Ｓ４７の後、制御は、Ｓ２３に戻る。
【００７９】
以上のように、本実施の形態に係るジョブ実行計画装置によれば、過去のリソース使用率に基づいて、リソース使用率の予測値を求め、予測値を予測ポイントに変換し、また、
ジョブのリソース必要量ポイントを求め、予測ポイントとリソース使用量ポイントに基づいて、ジョブ実行計画を作成するので、ホスト間での仮想マシンの移動および仮想マシンの増加を行うことなくホストの余剰リソースを有効利用することができる。
【００８０】
また、ジョブの実行中に新たなジョブ実行計画情報を作成し、ジョブの終了が早くなるなら、当該ジョブ実行計画情報によりジョブを実行させるので、ジョブの終了を早めることができる。
【００８１】
また、ジョブの実行中のリソース使用率が所定の割合以上となったなら実行率を減少させ、実行率を減少させたジョブ実行計画情報によりジョブを実行させ、また、ジョブの実行中のリソース使用率が所定の範囲に含まれなくなったなら、新たなジョブ実行計画情報を作成し、当該ジョブ実行計画情報によりジョブを実行させるので、ホストにおけるリソース不足、ホストにおけるリソースの余りすぎが生じるのを防止できる。
【００８２】
なお、本実施の形態のジョブ実行計画装置としてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に記録でき、また、インターネットなどの通信網を介して伝送させて、広く流通させることができる。
【符号の説明】
【００８３】
１…ジョブ実行計画装置
２…仮想マシン管理装置
３…ホストコンピュータ
１１…リソース収集部
１２…ジョブ特性分析部
１３…ジョブ実行計画作成部
１４…ジョブ実行計画変更制御部
１５…記憶部
１５１…リソース使用履歴記憶部
１５２…リソース使用予測情報記憶部
１５３…ジョブ実行履歴記憶部
１５４…ジョブ特性記憶部
１５５…ジョブ実行計画記憶部
１５６…環境変数記憶部
【図１】
0006031051.tif 000002
【図２】
0006031051.tif 000003
【図３】
0006031051.tif 000004
【図４】
0006031051.tif 000005
【図５】
0006031051.tif 000006
【図６】
0006031051.tif 000007
【図７】
0006031051.tif 000008
【図８】
0006031051.tif 000009
【図９】
0006031051.tif 000010
【図１０】
0006031051.tif 000011
【図１１】
0006031051.tif 000012
【図１２】
0006031051.tif 000013
【図１３】
0006031051.tif 000014
【図１４】
0006031051.tif 000015