仮想計算機資源構成変更システムと方法およびプログラム
【課題】エンドユーザにとってより最適な仮想計算機資源を提供することを可能とし、エンドユーザのIT投資効果を高める。
【解決手段】仮想計算機資源構成変更システムは、仮想計算機に割り当てる資源構成を変更する際、稼動情報収集エージェント8a,8bにおける仮想計算機稼動情報収集エージェント機能9a,9bにより、仮想計算機7a,7bの稼動中における資源の使用量を収集し、自動プロビジョニング機能11により、仮想計算機稼動情報収集エージェント機能9a,9bが収集した仮想計算機7a,7bにおける資源使用量と、当該仮想計算機7a,7bの利用者が設定した割り当て資源量とを用いて、当該仮想計算機7a,7bに最適な資源割当量を算出し、仮想計算機構成自動変更機能5により、自動プロビジョニング機能11が算出した最適資源割当量に、当該仮想計算機7a,7bに割り当てる資源量を変更する。
【解決手段】仮想計算機資源構成変更システムは、仮想計算機に割り当てる資源構成を変更する際、稼動情報収集エージェント8a,8bにおける仮想計算機稼動情報収集エージェント機能9a,9bにより、仮想計算機7a,7bの稼動中における資源の使用量を収集し、自動プロビジョニング機能11により、仮想計算機稼動情報収集エージェント機能9a,9bが収集した仮想計算機7a,7bにおける資源使用量と、当該仮想計算機7a,7bの利用者が設定した割り当て資源量とを用いて、当該仮想計算機7a,7bに最適な資源割当量を算出し、仮想計算機構成自動変更機能5により、自動プロビジョニング機能11が算出した最適資源割当量に、当該仮想計算機7a,7bに割り当てる資源量を変更する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想計算機(VM:Virtual Machine)の運用管理技術に係わり、特に、エンドユーザからの要求をもとに、動的に仮想計算機資源を再構成する技術に関するものである。
【背景技術】
【0002】
近年、仮想化技術を用いた仮想計算機を提供するクラウドサービスが増加している。仮想計算機の特徴の一つとして、計算機導入コストの低減、仮想計算機資源を容易に変更可能ということが挙げられる。これらによって、エンドユーザは、仮想計算機を利用することにより、エンドユーザのIT投資効果が高まると謳われている。
【0003】
現在、仮想計算機の資源を最適化する技術として、例えば、特許文献1がある。この技術では、仮想計算機の性能情報と閾値をもとに、仮想計算機への負荷が異常であると検知し、その旨を異常メッセージとして出力する、
【0004】
このとき、資源情報(ホスト計算機上でゲスト計算機に割り当てられた資源の数を表す情報)と性能情報(ホスト計算機上で仮想的に実現されるゲスト計算機の負荷性能を値で表す情報)をもとに、自然数と調整倍率とを複数対応付ける調整データを参照して、複数の調整倍率の中から、資源情報が表す数に対応する選択調整倍率を選択し、性能情報が表す選択調整倍率に応じて調整し、性能情報として出力する。
【0005】
しかし、この従来技術を用いた仮想計算機を提供することとなると、エンドユーザの意思が仮想計算機の最適な資源の決定に反映されることがないので、例えば、エンドユーザが資源増加の上限を決定することができない。その結果、資源が足りなければ永遠に資源が増加し続け、結果エンドユーザは必要以上の資源を利用することとなりIT投資効果は低下する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009ー205208号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
解決しようとする問題点は、従来の技術では、仮想計算機の最適な資源の決定にエンドユーザの意思が反映されることがなかったため、エンドユーザは仮想計算機に対して必要以上に投資をすることになる。
【0008】
本発明の目的は、これら従来技術の課題を解決し、エンドユーザにとってより最適な仮想計算機資源を提供することを可能とし、エンドユーザのIT投資効果を高めることである。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明では、仮想計算機の最適な資源の決定に、エンドユーザの意思を反映させることで、エンドユーザが仮想計算機に対して必要以上に投資をすることを回避し、エンドユーザのIT投資効果の低下を防ぐ。すなわち、まず、エンドユーザがプロビジョニングの設定を視覚的に操作可能な画面を用意する。この画面によりユーザは、仮想計算機資源のスケールアップ、スケールダウン、資源閾値等に対しておおよその値を設定する。尚、資源閾値とは、プロビジョニング機能が動作するトリガーである。次に、仮想計算機の過去のプロビジョニング実施結果、閾値超過回数と前述の画面にてエンドユーザにより設定された情報とをもとに、最適な資源量を算出する。そして、算出した値を仮想計算機に反映させる。これにより、エンドユーザにとって最適な仮想計算機資源を提供する。
【発明の効果】
【0010】
本発明によれば、エンドユーザの意思が仮想計算機の最適な資源決定に反映されることとなり、エンドユーザは、より希望に沿った必要最小限の資源を備える仮想計算機を利用することが可能となり、エンドユーザのIT投資効果がより一層高まることを期待できる。
【図面の簡単な説明】
【0011】
【図1】本発明に係る仮想計算機資源構成変更システムの構成例を示すブロック図である。
【図2】図1における契約管理機能の処理動作例を示すフローチャートである。
【図3】図1における稼動情報収集エージェントの処理動作例を示すフローチャートである。
【図4】図1における自動プロビジョニング機能の第1の処理動作例を示すフローチャートである。
【図5】図1における自動プロビジョニング機能の第1の処理動作例を示すフローチャートである。
【図6】図1におけるユーザ端末のプロビジョニング設定用画面の第1の構成例を示す説明図である。
【図7】図1におけるユーザ端末のプロビジョニング設定用画面の第2の構成例を示す説明図である。
【図8】図1における契約管理情報記憶部で保持する契約情報テーブルの構成例を示す説明図である。
【図9】図1における契約管理情報記憶部で保持する顧客情報テーブルの構成例を示す説明図である。
【図10】図1における契約管理情報記憶部で保持する仮想計算機テーブルの構成例を示す説明図である。
【図11】図1における契約管理情報記憶部で保持するプロビジョニング情報テーブルの第1の構成例を示す説明図である。
【図12】図1における契約管理情報記憶部で保持するプロビジョニング情報テーブルの第2の構成例を示す説明図である。
【図13】図1における自動プロビジョニング機能が生成する資源最適値テーブルの第1の構成例を示す説明図である。
【図14】図1における自動プロビジョニング機能が生成する資源最適値テーブルの第2の構成例を示す説明図である。
【発明を実施するための形態】
【0012】
以下、図を用いて本発明を実施するための形態例を説明する。図1において、1は契約管理システム、2は契約管理機能、3は契約管理DB(図中「契約管理」と記載)、4は仮想計算機稼動情報収集機能、5は仮想計算機自動構成変更機能、6は仮想化環境、6a,6bはユーザ端末(図中「ポータル・エンドユーザ」と記載)、7a,7bは仮想計算機(図中「仮想計算」と記載)、8a,8bは稼動情報収集エージェント、9a,9bは仮想計算機稼動情報収集エージェント機能、10a,10bは稼動情報蓄積DB(図中「稼動情報」と記載)である。契約管理システム1とユーザ端末6a,6bは、イントラネットやインターネット等のネットワークを介して接続されている。
【0013】
契約管理システム1とユーザ端末6a,6b、仮想化環境6、稼動情報収集エージェント8a,8bのそれぞれは、CPU(Central Processing Unit)や主メモリ、表示装置、入力装置、外部記憶装置からなるコンピュータ構成からなり、光ディスク駆動装置等を介してCDーROM等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みCPUで処理することにより、各処理部の機能を実行する。
【0014】
すなわち、プログラムされたコンピュータ処理を実行する手段として、契約管理システム1は、契約管理機能2、契約管理DB3、仮想計算機稼動情報収集機能4、仮想計算機自動構成変更機能5を有し、仮想化環境6は、仮想計算機7a,7bを有し、稼動情報収集エージェント8a,8bは、仮想計算機稼動情報収集エージェント機能9a,9bと稼動情報蓄積DB10a,10bを有する。
【0015】
このような構成により、本例の仮想計算機資源構成変更システムは、仮想計算機7a,7bの最適な資源の決定に、ユーザ端末6a,6bを介してのエンドユーザの意思を反映させることにより、エンドユーザが仮想計算機7a,7bに対して必要以上に投資をすることを回避し、エンドユーザのIT投資効果の低下を防ぐ。
【0016】
すなわち、本例の仮想計算機資源構成変更システムは、仮想計算機に割り当てる資源構成を変更する際、稼動情報収集エージェント8a,8bにおける仮想計算機稼動情報収集エージェント機能9a,9bにより、仮想計算機7a,7bの稼動中における資源の使用量を収集し、自動プロビジョニング機能11により、仮想計算機稼動情報収集エージェント機能9a,9bが収集した仮想計算機7a,7bにおける資源使用量と、当該仮想計算機7a,7bの利用者が設定した割り当て資源量とを用いて、当該仮想計算機7a,7bに最適な資源割当量を算出し、仮想計算機構成自動変更機能5により、自動プロビジョニング機能11が算出した最適資源割当量に、当該仮想計算機7a,7bに割り当てる資源量を変更する。
【0017】
また、自動プロビジョニング機能11は、仮想計算機稼動情報収集エージェント機能9a,9bが収集した仮想計算機7a,7bにおける資源利用量が、当該仮想計算機7a,7bの利用者が設定した閾値を超えた回数をカウントし、このカウントした閾値を超えた回数と、仮想計算機稼動情報収集エージェント機能9a,9bが収集した仮想計算機7a,7bにおける資源利用量および当該仮想計算機7a,7bの利用者が設定した割り当て資源量とを用いて、当該仮想計算機7a,7bに最適な資源割当量を算出する。
【0018】
また、自動プロビジョニング機能11は、仮想計算機稼動情報収集エージェント機能9a,9bが収集した仮想計算機7a,7bにおける資源利用量で、当該仮想計算機7a,7bの利用者が設定した閾値を超えた資源利用量を抽出し、抽出した資源利用量の分布を求めると共に、過去に算出した当該仮想計算機7a,7bの資源に対する最適値の分布を求め、さらに、利用者が設定したプロビジョニング範囲内での、資源利用量の分布と最適値の分布を求め、そして、最適値の頻度に予め定められた重みを乗算した値と、資源利用量の頻度とを加算し、最頻値の区分の最大値を抽出し、抽出した最大値を閾値で除算した値を、最適資源割当量として求める。
【0019】
また、仮想計算機稼動情報収集エージェント機能9a,9bは、収集した仮想計算機7a,7bの稼動中における資源の使用量を、収集した時刻を付与して記憶装置(稼動情報DB10a,10b)に記録すると共に、記録した時刻から予め定められた時間が経過した当該資源の使用量の情報を記憶装置(稼動情報DB10a,10b)から削除する。
【0020】
以下、このような本例の仮想計算機資源構成変更システムの具体的な動作説明を行う。
【0021】
契約管理システム1は、エンドユーザとの契約を、ユーザ端末6a,6bを介して、契約管理機能2にて受付け、契約管理DB3において、その契約情報を登録する。
【0022】
契約管理DB3においては、エンドユーザとの契約により、図8に示す契約情報テーブルTBL1、図9に示す顧客情報テーブルTBL2、図10に示す仮想計算機テーブルTBL3が登録される。
【0023】
契約管理機能2は、契約管理DB3において登録された契約情報から、仮想計算機7a,7bの構成情報(仮想計算機テーブルTBL3)を抽出し、仮想計算機自動構成変更機能5に、抽出した仮想計算機7a,7bの構成情報を渡す。
【0024】
仮想計算機自動構成変更機能5は、契約管理機能2から受取った情報(仮想計算機テーブルTBL3)をもとに、指定された日、指定された構成の仮想計算機7a,7bを仮想化環境6に構築する。
【0025】
稼動情報収集エージェント8a,8bの稼動情報収集エージェント機能9a,9bは、仮想化環境6内に存在する仮想計算機7a,7bの稼動情報を一定間隔で収集し、図11に示すプロビジョニング情報テーブルTBL4として、稼動情報蓄積DB10a,10bにおいて保管する。
【0026】
契約管理システム1は、稼動情報収集機能4により、全ての稼動情報収集エージェント8a,8bの稼動情報蓄積DB10a,10bから仮想計算機の稼動情報(プロビジョニング情報テーブルTBL4)を収集し、契約管理機能2へと渡す。
【0027】
契約管理機能2は、契約管理DB3から契約情報を抽出し、稼動情報収集機能4から渡された仮想計算機の稼動情報(稼動情報プロビジョニング情報テーブルTBL4)と共に自動プロビジョニング機能11へと渡す。
【0028】
自動プロビジョニング機能11は、契約管理機能2から渡された契約情報(仮想計算機テーブルTBL3)と仮想計算機の稼動情報(稼動情報プロビジョニング情報テーブルTBL4)とを用いて、最適な仮想計算機資源を算出し、算出した情報(図12におけるプロビジョニング情報詳細テーブルTBL5)を契約管理機能2へと返す。
【0029】
契約管理機能2は、受取った情報(最適な仮想計算機資源)を、契約管理DB3に登録し、また、自動プロビジョニング結果を反映した仮想計算機の構成情報(図13における資源最適値テーブルTBL6、図14における資源最適値詳細テーブルTBL7)を生成して、仮想計算機自動構成変更機能5に渡す。
【0030】
仮想計算機自動構成変更機能5は、契約管理機能2から受取った情報(資源最適値テーブルTBL6、資源最適値詳細テーブルTBL7)をもとに、指定された日、指定された構成の仮想計算機7a,7bを仮想化環境6に構築する。
【0031】
以下、図2を用いて、契約管理機能2による、エンドユーザからのによる自動プロビジョニング情報登録の処理動作を説明する。
【0032】
エンドユーザは、契約管理システム1が提供するWebサービスへ、ユーザ端末6a,6bを介して接続し、資源の割当を設定する画面(図6,7参照)へと遷移する。この遷移した画面にて必要な情報の入力を実施し(ステップ101)、画面内の登録ボタンを押下すると、契約管理システム1に情報が送信される。
【0033】
契約管理システム1は、送信されてきた情報から、必要情報の入力確認(ステップ102)、入力文字確認(ステップ103)、入力範囲確認(ステップ104)等の確認処理を実施する。
【0034】
確認の結果、異常が発生した際は、異常を示す適切なメッセージをポータル上に表示する(ステップ105)。正常であれば、契約管理DB3を用いて自動プロビジョニングの設定情報(プロビジョニング情報テーブルTBL4)を登録する(ステップ106)。この際にエンドユーザが自動プロビジョニングの設定で利用する画面については、図6,図7を用いて後に説明する。
【0035】
次に、図3を用いて、稼動情報収集エージェント8a,8bにおける仮想計算機稼動情報収集エージェント機能9a,9bの処理動作を説明する。
【0036】
稼動情報収集エージェント8a,8bは、仮想計算機稼動情報収集エージェント機能9a,9bにより、稼動情報蓄積DB10a,10bにおいて登録・管理されている仮想計算機の収集ポリシを取得し、このポリシに沿って、仮想計算機7a,7bからそれぞれの稼動情報を収集し(ステップ201)、収集した稼動情報を、稼動情報蓄積DB10a,10bにおいて保管する(ステップ202)。
【0037】
そして、稼動情報蓄積DB10a,10bにおいて保管されている稼動情報から、稼動情報収集エージェント8a,8bに設定された保管ポリシに基づいて、古い稼動情報を削除していく(ステップ203、204、205)。
【0038】
次に、図4を用いて、主に自動プロビジョニング機能11の処理動作を説明する。
【0039】
自動プロビジョニング機能11は、まず、契約管理機能2を介して、契約管理DB3から、図10に示す仮想計算機テーブルTBL3と、図11に示すプロビジョニング情報テーブルTBL4を取得し、この仮想計算機テーブルTBL3とプロビジョニング情報テーブルTBL4を、それぞれの仮想計算機ID(C31,C42)をキーに結合し、自動プロビジョニングの設定がなされている仮想計算機(7a,7b)を抽出する(ステップ301)。
【0040】
次に、抽出した仮想計算機の名称をキーに、稼動情報収集エージェント8a,8bにおける稼動情報蓄積DB10a,10bから、仮想計算機の稼動情報を取得する(ステップ302)。
【0041】
そして、プロビジョニング情報テーブルTBL4における「対象(C42)」の設定内容に基づき、自動プロビジョニングの設定対象を確認する(ステップ303)。
【0042】
自動プロビジョニングの設定対象がCPUであれば、[図10の仮想計算機テーブルTBL3におけるCPU資源(C34)]*[図12のプロビジョニング情報詳細テーブルTBL5におけるスケールアップ閾値(C53)]の値と、取得した稼動情報(稼動情報蓄積DB10a,10b内に記録したCPU利用量)とを比較し(ステップ304)、取得した稼動情報の値のほうが大きければスケールアップを実施して、ステップ308での「最適資源量の決定」処理を行う。尚、「*」は乗算演算子である。
【0043】
また、取得した稼動情報の値のほうが小さい場合には、スケールアップは実行せずに、[仮想計算機テーブルTBL3におけるCPU資源(C34)]*[プロビジョニング情報詳細テーブルTBL5におけるスケールダウン閾値(C54)]の値と、取得した稼動情報(稼動情報蓄積DB10a,10b内に記録したCPU利用量)とを比較し(ステップ305)、取得した稼動情報の値のほうが大きければスケールダウンも実行せず、小さい場合にスケールダウンを実施して、ステップ308での「最適資源量の決定」処理を行う。
【0044】
また、ステップ303の処理において、自動プロビジョニングの設定対象がメモリであれば、[図10の仮想計算機テーブルTBL3におけるメモリ資源(C35)]*[図11のプロビジョニング情報詳細テーブルTBL5におけるスケールアップ閾値(C53)]の値と、取得した稼動情報(稼動情報蓄積DB10a,10b内に記録したメモリ利用量)とを比較し(ステップ306)、取得した稼動情報の値のほうが大きければスケールアップを実施して、ステップ308での「最適資源量の決定」処理を行う。
【0045】
また、稼動情報の値のほうが小さい場合には、スケールアップは実行せずに、[仮想計算機テーブルTBL3におけるメモリ資源(C35)]*[プロビジョニング情報詳細テーブルTBL5におけるスケールダウン値(C54)]の値と、取得した稼動情報(稼動情報蓄積DB10a,10b内のメモリ利用量)とを比較し(ステップ307)、取得した稼動情報の値のほうが大きければスケールダウンも実行せず、小さい場合にスケールダウンを実施して、ステップ308での「最適資源量の決定」処理を行う。
【0046】
ステップ308の処理におけるスケールアップもしくはスケールダウンのいずれかのプロビジョニングが必要な場合、自動プロビジョニング機能11は、契約管理機能2から、契約管理DB3に格納されているプロビジョニングの設定情報と過去の資源利用量および閾値超過回数の各情報を受け取り、これらの情報をもとに、仮想計算機7a,7bにおける最適な資源量を算出し、図10の仮想計算機テーブルTBL3におけるCPU資源(C34)・メモリ資源(C35)に登録する。尚、このステップ308での最適な資源量の算出処理に関しては、図5において詳述する。
【0047】
そして、自動プロビジョニング機能11は、ステップ308での処理において算出した資源量をもとに、仮想計算機の構成情報を作成する。すなわち、ステップ308での処理により算出して仮想計算機テーブルTBL3におけるCPU資源(C34)・メモリ資源(C35)に登録した資源量を読み出し、これをもとに、仮想計算機の構成情報を作成する(ステップ309)。
【0048】
そして、作成した仮想計算機の構成情報を、契約管理機能2を介して仮想計算機構成自動変更機能5に渡し(ステップ310)、仮想計算機構成自動変更機能5は、受取った情報通りに、仮想計算機7a,7bにおける資源構成を変更する(ステップ311)。
【0049】
以下、図5を用いて、自動プロビジョニング機能11の図4におけるステップ308での処理動作の詳細を説明する。
【0050】
自動プロビジョニング機能11は、ある仮想計算機のプロビジョニングが必要となったとき、まず、契約管理DB3からプロビジョンニング情報(TBL4)を取得し、プロビジョニングの設定単位(C44)を確認する(ステップ401)。
【0051】
日単位に設定されているときは、稼動情報蓄積DB10から、仮想計算機名(C33)をキーに、昨日の分単位に要約された対象仮想計算機の稼動情報を抽出し(ステップ402)、抽出した稼動情報を時単位に区分(以降、時間区分)する(ステップ404)。
【0052】
また、月単位に設定されているときは、稼動情報蓄積DB10から、仮想計算機名(C33)をキーに、前月の時間単位に要約された対象仮想計算機の稼動情報を抽出し(ステップ403)、抽出した情報を日単位に時間区分する(ステップ405)。
【0053】
次に、CPU資源のスケールアップを実施する際には(ステップ406,407)、時間区分毎に[仮想計算機テーブルのCPU資源]*[プロビジョニング情報詳細テーブルのスケールアップ閾値]の値(資源閾値)と、稼動情報から抽出した資源利用量とを比較し(ステップ408)、資源閾値以上の資源利用量を全て抽出する(ステップ413)。
【0054】
また、メモリ資源のスケールアップを実施する際には(ステップ406,407)、時間区分毎に[仮想計算機テーブルのメモリ資源]*[プロビジョニング情報詳細テーブルのスケールアップ閾値]の値(資源閾値)と稼動情報から抽出した資源利用量とを比較し(ステップ409)、資源閾値以上の資源利用量を全て抽出する(ステップ413)。
【0055】
また、CPU資源のスケールダウンを実施する際には(ステップ406,410)、時間区分毎に[仮想計算機テーブルのCPU資源]*[プロビジョニング情報詳細テーブルのスケールダウン閾値]の値(資源閾値)と、稼動情報から抽出した資源利用量とを比較し(ステップ411)、資源閾値以下の資源利用量を全て抽出する(ステップ413)。
【0056】
また、メモリ資源のスケールダウンを実施する際には(ステップ406,410)、時間区分毎に[仮想計算機テーブルのメモリ資源]*[プロビジョニング情報詳細テーブルのスケールダウン閾値]の値(資源閾値)と、稼動情報から抽出した資源利用量とを比較し(ステップ412)、資源閾値以下の資源利用量を全て抽出する(ステップ413)。
【0057】
そして、間区分毎に資源閾値から資源利用量の最大値を例えば、128MB若しくは128MHzで区分(資源区分)し、ステップ413で抽出した資源利用量の分布を抽出する(ステップ414)。
【0058】
その後、仮想計算機テーブルTBL3の仮想計算機ID(C31)をキーに、資源最適値テーブルTBL6における仮想計算機ID(C62)を検索し、以前に資源の最適値を算出したか(C31=C62)否かを確認する(ステップ415)。
【0059】
過去に資源の最適値を算出している場合(C31=C62)は、算出ID(C61,C72)と時間区分(C73)をキーに、図14における資源最適値詳細テーブルTBL7から最適値を抽出する(ステップ416)。
【0060】
このステップ416の処理で抽出した資源最適値を、資源区分毎に区分し分布を抽出する。すなわち、対象資源がCPUであれば(ステップ417)、ステップ416の処理で抽出した資源最適値を、資源区分毎にCPU最適値(C74)の分布を抽出し(ステップ418)、対象資源がメモリであれば(ステップ417)、ステップ416の処理で抽出した資源最適値を、資源区分毎にメモリ最適値(C75)の分布を抽出する(ステップ419)。
【0061】
そして、ステップ401で抽出したプロビジョニング情報から、エンドユーザが設定したプロビジョニングの範囲を抽出し、このプロビジョニング範囲内での資源利用量の分布と資源最適値の分布を抽出する(ステップ420、421、422)。
【0062】
例えば、スケールアップであれば(ステップ420)、ステップ414とステップ418で得た情報から、スケールアップ最小値(C55)〜最大値(C56)までの分布を抽出し、また、スケールダウンであれば(ステップ420)、ステップ414とステップ418で得た情報から、スケールダウン最小値(C57)〜最大値(C58)までの分布を抽出する。
【0063】
そして、資源区分毎に[資源利用量の頻度]+[資源最適値の頻度]*[重み]を算出し(ステップ423)、最頻値であった資源区分の最大値を抽出する(ステップ424)。
【0064】
さらに、[ステップ424で抽出した値]÷[プロビジョニング情報詳細テーブルのスケールアップ閾値(C53)]の算出結果を最適な資源量として抽出する(ステップ425)。そして、抽出した最適な資源量を資源最適値テーブルTBL6、資源最適値詳細テーブルTBL7に保存する(ステップ426)。
【0065】
次に、図6と図7を用いて、エンドユーザによるユーザ端末6a,6bの操作に基づくプロビジョニングの設定処理動作を説明する。
【0066】
図6におけるプロビジョニングを設定する画面501は、ユーザ端末6a,6bから操作することが可能であり、エンドユーザは、設定資源502での操作により、プロビジョニングの対象となる資源を選択する。
【0067】
また、設定単位503での操作により、プロビジョニングの設定を日単位に行うか、月単位で行うかを選択し、設定有効期間504ではプロビジョニングの有効期間を設定する。そして、表示ボタン505を押下することにより、プロビジョニングの設定をより詳細に実施する詳細画面506が表示される。
【0068】
エンドユーザは、この詳細画面506において、利用量設定ボタン507を押下することにより、詳細設定グラフ510を用いて、時間ごと(設定単位503にて月単位が選択されているとき日ごと)に資源の利用量を設定することが可能となる。この詳細設定グラフ510内では、カーソルまたはタッチペンなどにより設定が可能である。
【0069】
そして、エンドユーザが登録ボタン511を押下することにより、利用量の設定が契約管理DB3へ反映される。
【0070】
また、エンドユーザが閾値設定ボタン508を押下することにより、図7に示すように、詳細設定グラフ510において、スケールアップ閾値512、スケールダウン閾値513、スケールアップ領域514、スケールダウン領域515が表示されるようになり、これらを設定することが可能となる。
【0071】
また、エンドユーザは、図6における稼動情報表示ボタン509を押下することにより、詳細設定グラフ510内に指定した日の(設定単位503にて月単位が選択されているときは月の)稼動情報を表示させることが可能である。
【0072】
エンドユーザがこの稼動情報表示ボタン509を押下すると、図7に示すように、表示する稼動情報を選択するサブウィンドウ516が表示される。
【0073】
このサブウィンドウ516における出力形式517において、エンドユーザは、稼動情報を率で出力するか量で出力するかを選択する。また、出力日518では、出力させたい稼動情報の日付を選択する。そして、表示ボタン519を押下することにより、詳細設定グラフ510内に稼動情報が出力され、また、戻るボタン520を押下することにより、稼動情報を表示せず、元の画面501が表示される。
【0074】
以上、図1〜図14を用いて説明したように、本例では、仮想計算機の各構成要素の資源利用量を動的に変更するために、エンドユーザが視覚的に操作できるプロビジョニング設定画面と、この画面よりスケールアップ又はスケールダウンさせたいおおよその量を視覚的に設定する操作インタフェースを持ち、この画面にて設定された内容に基づき、その値の近傍においてプロビジョニングに最適な資源量を、過去の資源使用量及び閾値超え回数をもとに自動的に算出し、算出した値に基づいて、自動で仮想計算機の構成変更を行う。
【0075】
このことにより、エンドユーザの意思が仮想計算機の最適な資源決定に反映されることとなり、エンドユーザは、より希望に沿った必要最小限の資源を備える仮想計算機を利用することが可能となり、エンドユーザのIT投資効果がより一層高まることを期待できる。
【0076】
尚、本発明は、図1〜図14を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例の図1に示す構成では、契約管理システム1と稼動情報収集エージェント8a,8bのそれぞれを異なるコンピュータ装置上に設けた構成としているが、契約管理システム1と稼動情報収集エージェント8a,8bを同じ1つのコンピュータ装置上に設けた構成としても良い。
【0077】
また、本例のコンピュータ構成に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、FD(Flexible Disk)等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【符号の説明】
【0078】
1:契約管理システム、2:契約管理機能、3:契約管理DB、4:仮想計算機稼動情報収集機能、5:自動プロビジョニング機能、6:仮想化環境、6a,6b:ユーザ端末、7a,7b:仮想計算機、8a,8b:稼動情報収集エージェント、9a,9b:仮想計算機稼動情報収集エージェント機能、10a,10b:稼動情報蓄積DB、11:自動プロビジョニング機能、501:画面、502:設定資源、503:設定単位、504:設定有効期間、505:表示ボタン、506:詳細画面、507:利用量設定ボタン、508:閾値設定ボタン、509:稼動情報表示ボタン、510:詳細設定グラフ、511:登録ボタン、512:スケールアップ閾値、513:スケールダウン閾値、514:スケールアップ領域、515:スケールダウン領域、516:サブウィンドウ、517:出力形式、518:出力日、519:表示ボタン、520:戻るボタン、TBL1:契約情報テーブル、TBL2:顧客情報テーブル、TBL3:仮想計算機テーブル、TBL4:プロビジョニング情報テーブル、TBL5:プロビジョニング情報詳細テーブル、TBL6:資源最適値テーブル、TBL7:資源最適値詳細テーブル。
【技術分野】
【0001】
本発明は、仮想計算機(VM:Virtual Machine)の運用管理技術に係わり、特に、エンドユーザからの要求をもとに、動的に仮想計算機資源を再構成する技術に関するものである。
【背景技術】
【0002】
近年、仮想化技術を用いた仮想計算機を提供するクラウドサービスが増加している。仮想計算機の特徴の一つとして、計算機導入コストの低減、仮想計算機資源を容易に変更可能ということが挙げられる。これらによって、エンドユーザは、仮想計算機を利用することにより、エンドユーザのIT投資効果が高まると謳われている。
【0003】
現在、仮想計算機の資源を最適化する技術として、例えば、特許文献1がある。この技術では、仮想計算機の性能情報と閾値をもとに、仮想計算機への負荷が異常であると検知し、その旨を異常メッセージとして出力する、
【0004】
このとき、資源情報(ホスト計算機上でゲスト計算機に割り当てられた資源の数を表す情報)と性能情報(ホスト計算機上で仮想的に実現されるゲスト計算機の負荷性能を値で表す情報)をもとに、自然数と調整倍率とを複数対応付ける調整データを参照して、複数の調整倍率の中から、資源情報が表す数に対応する選択調整倍率を選択し、性能情報が表す選択調整倍率に応じて調整し、性能情報として出力する。
【0005】
しかし、この従来技術を用いた仮想計算機を提供することとなると、エンドユーザの意思が仮想計算機の最適な資源の決定に反映されることがないので、例えば、エンドユーザが資源増加の上限を決定することができない。その結果、資源が足りなければ永遠に資源が増加し続け、結果エンドユーザは必要以上の資源を利用することとなりIT投資効果は低下する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009ー205208号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
解決しようとする問題点は、従来の技術では、仮想計算機の最適な資源の決定にエンドユーザの意思が反映されることがなかったため、エンドユーザは仮想計算機に対して必要以上に投資をすることになる。
【0008】
本発明の目的は、これら従来技術の課題を解決し、エンドユーザにとってより最適な仮想計算機資源を提供することを可能とし、エンドユーザのIT投資効果を高めることである。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明では、仮想計算機の最適な資源の決定に、エンドユーザの意思を反映させることで、エンドユーザが仮想計算機に対して必要以上に投資をすることを回避し、エンドユーザのIT投資効果の低下を防ぐ。すなわち、まず、エンドユーザがプロビジョニングの設定を視覚的に操作可能な画面を用意する。この画面によりユーザは、仮想計算機資源のスケールアップ、スケールダウン、資源閾値等に対しておおよその値を設定する。尚、資源閾値とは、プロビジョニング機能が動作するトリガーである。次に、仮想計算機の過去のプロビジョニング実施結果、閾値超過回数と前述の画面にてエンドユーザにより設定された情報とをもとに、最適な資源量を算出する。そして、算出した値を仮想計算機に反映させる。これにより、エンドユーザにとって最適な仮想計算機資源を提供する。
【発明の効果】
【0010】
本発明によれば、エンドユーザの意思が仮想計算機の最適な資源決定に反映されることとなり、エンドユーザは、より希望に沿った必要最小限の資源を備える仮想計算機を利用することが可能となり、エンドユーザのIT投資効果がより一層高まることを期待できる。
【図面の簡単な説明】
【0011】
【図1】本発明に係る仮想計算機資源構成変更システムの構成例を示すブロック図である。
【図2】図1における契約管理機能の処理動作例を示すフローチャートである。
【図3】図1における稼動情報収集エージェントの処理動作例を示すフローチャートである。
【図4】図1における自動プロビジョニング機能の第1の処理動作例を示すフローチャートである。
【図5】図1における自動プロビジョニング機能の第1の処理動作例を示すフローチャートである。
【図6】図1におけるユーザ端末のプロビジョニング設定用画面の第1の構成例を示す説明図である。
【図7】図1におけるユーザ端末のプロビジョニング設定用画面の第2の構成例を示す説明図である。
【図8】図1における契約管理情報記憶部で保持する契約情報テーブルの構成例を示す説明図である。
【図9】図1における契約管理情報記憶部で保持する顧客情報テーブルの構成例を示す説明図である。
【図10】図1における契約管理情報記憶部で保持する仮想計算機テーブルの構成例を示す説明図である。
【図11】図1における契約管理情報記憶部で保持するプロビジョニング情報テーブルの第1の構成例を示す説明図である。
【図12】図1における契約管理情報記憶部で保持するプロビジョニング情報テーブルの第2の構成例を示す説明図である。
【図13】図1における自動プロビジョニング機能が生成する資源最適値テーブルの第1の構成例を示す説明図である。
【図14】図1における自動プロビジョニング機能が生成する資源最適値テーブルの第2の構成例を示す説明図である。
【発明を実施するための形態】
【0012】
以下、図を用いて本発明を実施するための形態例を説明する。図1において、1は契約管理システム、2は契約管理機能、3は契約管理DB(図中「契約管理」と記載)、4は仮想計算機稼動情報収集機能、5は仮想計算機自動構成変更機能、6は仮想化環境、6a,6bはユーザ端末(図中「ポータル・エンドユーザ」と記載)、7a,7bは仮想計算機(図中「仮想計算」と記載)、8a,8bは稼動情報収集エージェント、9a,9bは仮想計算機稼動情報収集エージェント機能、10a,10bは稼動情報蓄積DB(図中「稼動情報」と記載)である。契約管理システム1とユーザ端末6a,6bは、イントラネットやインターネット等のネットワークを介して接続されている。
【0013】
契約管理システム1とユーザ端末6a,6b、仮想化環境6、稼動情報収集エージェント8a,8bのそれぞれは、CPU(Central Processing Unit)や主メモリ、表示装置、入力装置、外部記憶装置からなるコンピュータ構成からなり、光ディスク駆動装置等を介してCDーROM等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みCPUで処理することにより、各処理部の機能を実行する。
【0014】
すなわち、プログラムされたコンピュータ処理を実行する手段として、契約管理システム1は、契約管理機能2、契約管理DB3、仮想計算機稼動情報収集機能4、仮想計算機自動構成変更機能5を有し、仮想化環境6は、仮想計算機7a,7bを有し、稼動情報収集エージェント8a,8bは、仮想計算機稼動情報収集エージェント機能9a,9bと稼動情報蓄積DB10a,10bを有する。
【0015】
このような構成により、本例の仮想計算機資源構成変更システムは、仮想計算機7a,7bの最適な資源の決定に、ユーザ端末6a,6bを介してのエンドユーザの意思を反映させることにより、エンドユーザが仮想計算機7a,7bに対して必要以上に投資をすることを回避し、エンドユーザのIT投資効果の低下を防ぐ。
【0016】
すなわち、本例の仮想計算機資源構成変更システムは、仮想計算機に割り当てる資源構成を変更する際、稼動情報収集エージェント8a,8bにおける仮想計算機稼動情報収集エージェント機能9a,9bにより、仮想計算機7a,7bの稼動中における資源の使用量を収集し、自動プロビジョニング機能11により、仮想計算機稼動情報収集エージェント機能9a,9bが収集した仮想計算機7a,7bにおける資源使用量と、当該仮想計算機7a,7bの利用者が設定した割り当て資源量とを用いて、当該仮想計算機7a,7bに最適な資源割当量を算出し、仮想計算機構成自動変更機能5により、自動プロビジョニング機能11が算出した最適資源割当量に、当該仮想計算機7a,7bに割り当てる資源量を変更する。
【0017】
また、自動プロビジョニング機能11は、仮想計算機稼動情報収集エージェント機能9a,9bが収集した仮想計算機7a,7bにおける資源利用量が、当該仮想計算機7a,7bの利用者が設定した閾値を超えた回数をカウントし、このカウントした閾値を超えた回数と、仮想計算機稼動情報収集エージェント機能9a,9bが収集した仮想計算機7a,7bにおける資源利用量および当該仮想計算機7a,7bの利用者が設定した割り当て資源量とを用いて、当該仮想計算機7a,7bに最適な資源割当量を算出する。
【0018】
また、自動プロビジョニング機能11は、仮想計算機稼動情報収集エージェント機能9a,9bが収集した仮想計算機7a,7bにおける資源利用量で、当該仮想計算機7a,7bの利用者が設定した閾値を超えた資源利用量を抽出し、抽出した資源利用量の分布を求めると共に、過去に算出した当該仮想計算機7a,7bの資源に対する最適値の分布を求め、さらに、利用者が設定したプロビジョニング範囲内での、資源利用量の分布と最適値の分布を求め、そして、最適値の頻度に予め定められた重みを乗算した値と、資源利用量の頻度とを加算し、最頻値の区分の最大値を抽出し、抽出した最大値を閾値で除算した値を、最適資源割当量として求める。
【0019】
また、仮想計算機稼動情報収集エージェント機能9a,9bは、収集した仮想計算機7a,7bの稼動中における資源の使用量を、収集した時刻を付与して記憶装置(稼動情報DB10a,10b)に記録すると共に、記録した時刻から予め定められた時間が経過した当該資源の使用量の情報を記憶装置(稼動情報DB10a,10b)から削除する。
【0020】
以下、このような本例の仮想計算機資源構成変更システムの具体的な動作説明を行う。
【0021】
契約管理システム1は、エンドユーザとの契約を、ユーザ端末6a,6bを介して、契約管理機能2にて受付け、契約管理DB3において、その契約情報を登録する。
【0022】
契約管理DB3においては、エンドユーザとの契約により、図8に示す契約情報テーブルTBL1、図9に示す顧客情報テーブルTBL2、図10に示す仮想計算機テーブルTBL3が登録される。
【0023】
契約管理機能2は、契約管理DB3において登録された契約情報から、仮想計算機7a,7bの構成情報(仮想計算機テーブルTBL3)を抽出し、仮想計算機自動構成変更機能5に、抽出した仮想計算機7a,7bの構成情報を渡す。
【0024】
仮想計算機自動構成変更機能5は、契約管理機能2から受取った情報(仮想計算機テーブルTBL3)をもとに、指定された日、指定された構成の仮想計算機7a,7bを仮想化環境6に構築する。
【0025】
稼動情報収集エージェント8a,8bの稼動情報収集エージェント機能9a,9bは、仮想化環境6内に存在する仮想計算機7a,7bの稼動情報を一定間隔で収集し、図11に示すプロビジョニング情報テーブルTBL4として、稼動情報蓄積DB10a,10bにおいて保管する。
【0026】
契約管理システム1は、稼動情報収集機能4により、全ての稼動情報収集エージェント8a,8bの稼動情報蓄積DB10a,10bから仮想計算機の稼動情報(プロビジョニング情報テーブルTBL4)を収集し、契約管理機能2へと渡す。
【0027】
契約管理機能2は、契約管理DB3から契約情報を抽出し、稼動情報収集機能4から渡された仮想計算機の稼動情報(稼動情報プロビジョニング情報テーブルTBL4)と共に自動プロビジョニング機能11へと渡す。
【0028】
自動プロビジョニング機能11は、契約管理機能2から渡された契約情報(仮想計算機テーブルTBL3)と仮想計算機の稼動情報(稼動情報プロビジョニング情報テーブルTBL4)とを用いて、最適な仮想計算機資源を算出し、算出した情報(図12におけるプロビジョニング情報詳細テーブルTBL5)を契約管理機能2へと返す。
【0029】
契約管理機能2は、受取った情報(最適な仮想計算機資源)を、契約管理DB3に登録し、また、自動プロビジョニング結果を反映した仮想計算機の構成情報(図13における資源最適値テーブルTBL6、図14における資源最適値詳細テーブルTBL7)を生成して、仮想計算機自動構成変更機能5に渡す。
【0030】
仮想計算機自動構成変更機能5は、契約管理機能2から受取った情報(資源最適値テーブルTBL6、資源最適値詳細テーブルTBL7)をもとに、指定された日、指定された構成の仮想計算機7a,7bを仮想化環境6に構築する。
【0031】
以下、図2を用いて、契約管理機能2による、エンドユーザからのによる自動プロビジョニング情報登録の処理動作を説明する。
【0032】
エンドユーザは、契約管理システム1が提供するWebサービスへ、ユーザ端末6a,6bを介して接続し、資源の割当を設定する画面(図6,7参照)へと遷移する。この遷移した画面にて必要な情報の入力を実施し(ステップ101)、画面内の登録ボタンを押下すると、契約管理システム1に情報が送信される。
【0033】
契約管理システム1は、送信されてきた情報から、必要情報の入力確認(ステップ102)、入力文字確認(ステップ103)、入力範囲確認(ステップ104)等の確認処理を実施する。
【0034】
確認の結果、異常が発生した際は、異常を示す適切なメッセージをポータル上に表示する(ステップ105)。正常であれば、契約管理DB3を用いて自動プロビジョニングの設定情報(プロビジョニング情報テーブルTBL4)を登録する(ステップ106)。この際にエンドユーザが自動プロビジョニングの設定で利用する画面については、図6,図7を用いて後に説明する。
【0035】
次に、図3を用いて、稼動情報収集エージェント8a,8bにおける仮想計算機稼動情報収集エージェント機能9a,9bの処理動作を説明する。
【0036】
稼動情報収集エージェント8a,8bは、仮想計算機稼動情報収集エージェント機能9a,9bにより、稼動情報蓄積DB10a,10bにおいて登録・管理されている仮想計算機の収集ポリシを取得し、このポリシに沿って、仮想計算機7a,7bからそれぞれの稼動情報を収集し(ステップ201)、収集した稼動情報を、稼動情報蓄積DB10a,10bにおいて保管する(ステップ202)。
【0037】
そして、稼動情報蓄積DB10a,10bにおいて保管されている稼動情報から、稼動情報収集エージェント8a,8bに設定された保管ポリシに基づいて、古い稼動情報を削除していく(ステップ203、204、205)。
【0038】
次に、図4を用いて、主に自動プロビジョニング機能11の処理動作を説明する。
【0039】
自動プロビジョニング機能11は、まず、契約管理機能2を介して、契約管理DB3から、図10に示す仮想計算機テーブルTBL3と、図11に示すプロビジョニング情報テーブルTBL4を取得し、この仮想計算機テーブルTBL3とプロビジョニング情報テーブルTBL4を、それぞれの仮想計算機ID(C31,C42)をキーに結合し、自動プロビジョニングの設定がなされている仮想計算機(7a,7b)を抽出する(ステップ301)。
【0040】
次に、抽出した仮想計算機の名称をキーに、稼動情報収集エージェント8a,8bにおける稼動情報蓄積DB10a,10bから、仮想計算機の稼動情報を取得する(ステップ302)。
【0041】
そして、プロビジョニング情報テーブルTBL4における「対象(C42)」の設定内容に基づき、自動プロビジョニングの設定対象を確認する(ステップ303)。
【0042】
自動プロビジョニングの設定対象がCPUであれば、[図10の仮想計算機テーブルTBL3におけるCPU資源(C34)]*[図12のプロビジョニング情報詳細テーブルTBL5におけるスケールアップ閾値(C53)]の値と、取得した稼動情報(稼動情報蓄積DB10a,10b内に記録したCPU利用量)とを比較し(ステップ304)、取得した稼動情報の値のほうが大きければスケールアップを実施して、ステップ308での「最適資源量の決定」処理を行う。尚、「*」は乗算演算子である。
【0043】
また、取得した稼動情報の値のほうが小さい場合には、スケールアップは実行せずに、[仮想計算機テーブルTBL3におけるCPU資源(C34)]*[プロビジョニング情報詳細テーブルTBL5におけるスケールダウン閾値(C54)]の値と、取得した稼動情報(稼動情報蓄積DB10a,10b内に記録したCPU利用量)とを比較し(ステップ305)、取得した稼動情報の値のほうが大きければスケールダウンも実行せず、小さい場合にスケールダウンを実施して、ステップ308での「最適資源量の決定」処理を行う。
【0044】
また、ステップ303の処理において、自動プロビジョニングの設定対象がメモリであれば、[図10の仮想計算機テーブルTBL3におけるメモリ資源(C35)]*[図11のプロビジョニング情報詳細テーブルTBL5におけるスケールアップ閾値(C53)]の値と、取得した稼動情報(稼動情報蓄積DB10a,10b内に記録したメモリ利用量)とを比較し(ステップ306)、取得した稼動情報の値のほうが大きければスケールアップを実施して、ステップ308での「最適資源量の決定」処理を行う。
【0045】
また、稼動情報の値のほうが小さい場合には、スケールアップは実行せずに、[仮想計算機テーブルTBL3におけるメモリ資源(C35)]*[プロビジョニング情報詳細テーブルTBL5におけるスケールダウン値(C54)]の値と、取得した稼動情報(稼動情報蓄積DB10a,10b内のメモリ利用量)とを比較し(ステップ307)、取得した稼動情報の値のほうが大きければスケールダウンも実行せず、小さい場合にスケールダウンを実施して、ステップ308での「最適資源量の決定」処理を行う。
【0046】
ステップ308の処理におけるスケールアップもしくはスケールダウンのいずれかのプロビジョニングが必要な場合、自動プロビジョニング機能11は、契約管理機能2から、契約管理DB3に格納されているプロビジョニングの設定情報と過去の資源利用量および閾値超過回数の各情報を受け取り、これらの情報をもとに、仮想計算機7a,7bにおける最適な資源量を算出し、図10の仮想計算機テーブルTBL3におけるCPU資源(C34)・メモリ資源(C35)に登録する。尚、このステップ308での最適な資源量の算出処理に関しては、図5において詳述する。
【0047】
そして、自動プロビジョニング機能11は、ステップ308での処理において算出した資源量をもとに、仮想計算機の構成情報を作成する。すなわち、ステップ308での処理により算出して仮想計算機テーブルTBL3におけるCPU資源(C34)・メモリ資源(C35)に登録した資源量を読み出し、これをもとに、仮想計算機の構成情報を作成する(ステップ309)。
【0048】
そして、作成した仮想計算機の構成情報を、契約管理機能2を介して仮想計算機構成自動変更機能5に渡し(ステップ310)、仮想計算機構成自動変更機能5は、受取った情報通りに、仮想計算機7a,7bにおける資源構成を変更する(ステップ311)。
【0049】
以下、図5を用いて、自動プロビジョニング機能11の図4におけるステップ308での処理動作の詳細を説明する。
【0050】
自動プロビジョニング機能11は、ある仮想計算機のプロビジョニングが必要となったとき、まず、契約管理DB3からプロビジョンニング情報(TBL4)を取得し、プロビジョニングの設定単位(C44)を確認する(ステップ401)。
【0051】
日単位に設定されているときは、稼動情報蓄積DB10から、仮想計算機名(C33)をキーに、昨日の分単位に要約された対象仮想計算機の稼動情報を抽出し(ステップ402)、抽出した稼動情報を時単位に区分(以降、時間区分)する(ステップ404)。
【0052】
また、月単位に設定されているときは、稼動情報蓄積DB10から、仮想計算機名(C33)をキーに、前月の時間単位に要約された対象仮想計算機の稼動情報を抽出し(ステップ403)、抽出した情報を日単位に時間区分する(ステップ405)。
【0053】
次に、CPU資源のスケールアップを実施する際には(ステップ406,407)、時間区分毎に[仮想計算機テーブルのCPU資源]*[プロビジョニング情報詳細テーブルのスケールアップ閾値]の値(資源閾値)と、稼動情報から抽出した資源利用量とを比較し(ステップ408)、資源閾値以上の資源利用量を全て抽出する(ステップ413)。
【0054】
また、メモリ資源のスケールアップを実施する際には(ステップ406,407)、時間区分毎に[仮想計算機テーブルのメモリ資源]*[プロビジョニング情報詳細テーブルのスケールアップ閾値]の値(資源閾値)と稼動情報から抽出した資源利用量とを比較し(ステップ409)、資源閾値以上の資源利用量を全て抽出する(ステップ413)。
【0055】
また、CPU資源のスケールダウンを実施する際には(ステップ406,410)、時間区分毎に[仮想計算機テーブルのCPU資源]*[プロビジョニング情報詳細テーブルのスケールダウン閾値]の値(資源閾値)と、稼動情報から抽出した資源利用量とを比較し(ステップ411)、資源閾値以下の資源利用量を全て抽出する(ステップ413)。
【0056】
また、メモリ資源のスケールダウンを実施する際には(ステップ406,410)、時間区分毎に[仮想計算機テーブルのメモリ資源]*[プロビジョニング情報詳細テーブルのスケールダウン閾値]の値(資源閾値)と、稼動情報から抽出した資源利用量とを比較し(ステップ412)、資源閾値以下の資源利用量を全て抽出する(ステップ413)。
【0057】
そして、間区分毎に資源閾値から資源利用量の最大値を例えば、128MB若しくは128MHzで区分(資源区分)し、ステップ413で抽出した資源利用量の分布を抽出する(ステップ414)。
【0058】
その後、仮想計算機テーブルTBL3の仮想計算機ID(C31)をキーに、資源最適値テーブルTBL6における仮想計算機ID(C62)を検索し、以前に資源の最適値を算出したか(C31=C62)否かを確認する(ステップ415)。
【0059】
過去に資源の最適値を算出している場合(C31=C62)は、算出ID(C61,C72)と時間区分(C73)をキーに、図14における資源最適値詳細テーブルTBL7から最適値を抽出する(ステップ416)。
【0060】
このステップ416の処理で抽出した資源最適値を、資源区分毎に区分し分布を抽出する。すなわち、対象資源がCPUであれば(ステップ417)、ステップ416の処理で抽出した資源最適値を、資源区分毎にCPU最適値(C74)の分布を抽出し(ステップ418)、対象資源がメモリであれば(ステップ417)、ステップ416の処理で抽出した資源最適値を、資源区分毎にメモリ最適値(C75)の分布を抽出する(ステップ419)。
【0061】
そして、ステップ401で抽出したプロビジョニング情報から、エンドユーザが設定したプロビジョニングの範囲を抽出し、このプロビジョニング範囲内での資源利用量の分布と資源最適値の分布を抽出する(ステップ420、421、422)。
【0062】
例えば、スケールアップであれば(ステップ420)、ステップ414とステップ418で得た情報から、スケールアップ最小値(C55)〜最大値(C56)までの分布を抽出し、また、スケールダウンであれば(ステップ420)、ステップ414とステップ418で得た情報から、スケールダウン最小値(C57)〜最大値(C58)までの分布を抽出する。
【0063】
そして、資源区分毎に[資源利用量の頻度]+[資源最適値の頻度]*[重み]を算出し(ステップ423)、最頻値であった資源区分の最大値を抽出する(ステップ424)。
【0064】
さらに、[ステップ424で抽出した値]÷[プロビジョニング情報詳細テーブルのスケールアップ閾値(C53)]の算出結果を最適な資源量として抽出する(ステップ425)。そして、抽出した最適な資源量を資源最適値テーブルTBL6、資源最適値詳細テーブルTBL7に保存する(ステップ426)。
【0065】
次に、図6と図7を用いて、エンドユーザによるユーザ端末6a,6bの操作に基づくプロビジョニングの設定処理動作を説明する。
【0066】
図6におけるプロビジョニングを設定する画面501は、ユーザ端末6a,6bから操作することが可能であり、エンドユーザは、設定資源502での操作により、プロビジョニングの対象となる資源を選択する。
【0067】
また、設定単位503での操作により、プロビジョニングの設定を日単位に行うか、月単位で行うかを選択し、設定有効期間504ではプロビジョニングの有効期間を設定する。そして、表示ボタン505を押下することにより、プロビジョニングの設定をより詳細に実施する詳細画面506が表示される。
【0068】
エンドユーザは、この詳細画面506において、利用量設定ボタン507を押下することにより、詳細設定グラフ510を用いて、時間ごと(設定単位503にて月単位が選択されているとき日ごと)に資源の利用量を設定することが可能となる。この詳細設定グラフ510内では、カーソルまたはタッチペンなどにより設定が可能である。
【0069】
そして、エンドユーザが登録ボタン511を押下することにより、利用量の設定が契約管理DB3へ反映される。
【0070】
また、エンドユーザが閾値設定ボタン508を押下することにより、図7に示すように、詳細設定グラフ510において、スケールアップ閾値512、スケールダウン閾値513、スケールアップ領域514、スケールダウン領域515が表示されるようになり、これらを設定することが可能となる。
【0071】
また、エンドユーザは、図6における稼動情報表示ボタン509を押下することにより、詳細設定グラフ510内に指定した日の(設定単位503にて月単位が選択されているときは月の)稼動情報を表示させることが可能である。
【0072】
エンドユーザがこの稼動情報表示ボタン509を押下すると、図7に示すように、表示する稼動情報を選択するサブウィンドウ516が表示される。
【0073】
このサブウィンドウ516における出力形式517において、エンドユーザは、稼動情報を率で出力するか量で出力するかを選択する。また、出力日518では、出力させたい稼動情報の日付を選択する。そして、表示ボタン519を押下することにより、詳細設定グラフ510内に稼動情報が出力され、また、戻るボタン520を押下することにより、稼動情報を表示せず、元の画面501が表示される。
【0074】
以上、図1〜図14を用いて説明したように、本例では、仮想計算機の各構成要素の資源利用量を動的に変更するために、エンドユーザが視覚的に操作できるプロビジョニング設定画面と、この画面よりスケールアップ又はスケールダウンさせたいおおよその量を視覚的に設定する操作インタフェースを持ち、この画面にて設定された内容に基づき、その値の近傍においてプロビジョニングに最適な資源量を、過去の資源使用量及び閾値超え回数をもとに自動的に算出し、算出した値に基づいて、自動で仮想計算機の構成変更を行う。
【0075】
このことにより、エンドユーザの意思が仮想計算機の最適な資源決定に反映されることとなり、エンドユーザは、より希望に沿った必要最小限の資源を備える仮想計算機を利用することが可能となり、エンドユーザのIT投資効果がより一層高まることを期待できる。
【0076】
尚、本発明は、図1〜図14を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例の図1に示す構成では、契約管理システム1と稼動情報収集エージェント8a,8bのそれぞれを異なるコンピュータ装置上に設けた構成としているが、契約管理システム1と稼動情報収集エージェント8a,8bを同じ1つのコンピュータ装置上に設けた構成としても良い。
【0077】
また、本例のコンピュータ構成に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、FD(Flexible Disk)等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【符号の説明】
【0078】
1:契約管理システム、2:契約管理機能、3:契約管理DB、4:仮想計算機稼動情報収集機能、5:自動プロビジョニング機能、6:仮想化環境、6a,6b:ユーザ端末、7a,7b:仮想計算機、8a,8b:稼動情報収集エージェント、9a,9b:仮想計算機稼動情報収集エージェント機能、10a,10b:稼動情報蓄積DB、11:自動プロビジョニング機能、501:画面、502:設定資源、503:設定単位、504:設定有効期間、505:表示ボタン、506:詳細画面、507:利用量設定ボタン、508:閾値設定ボタン、509:稼動情報表示ボタン、510:詳細設定グラフ、511:登録ボタン、512:スケールアップ閾値、513:スケールダウン閾値、514:スケールアップ領域、515:スケールダウン領域、516:サブウィンドウ、517:出力形式、518:出力日、519:表示ボタン、520:戻るボタン、TBL1:契約情報テーブル、TBL2:顧客情報テーブル、TBL3:仮想計算機テーブル、TBL4:プロビジョニング情報テーブル、TBL5:プロビジョニング情報詳細テーブル、TBL6:資源最適値テーブル、TBL7:資源最適値詳細テーブル。
【特許請求の範囲】
【請求項1】
仮想計算機に割り当てる資源構成を変更する仮想計算機資源構成変更システムであって、
プログラムされたコンピュータ処理を実行する手段として、
仮想計算機の稼動中における資源の使用量を収集する稼動情報収集手段と、
該稼動情報収集手段が収集した仮想計算機における資源使用量と、当該仮想計算機の利用者が設定した割り当て資源量とを用いて、当該仮想計算機に最適な資源割当量を算出するプロビジョニング手段と、
該プロビジョニング手段が算出した最適資源割当量に、当該仮想計算機に割り当てる資源量を変更する構成変更手段と
を有することを特徴とする仮想計算機資源構成変更システム。
【請求項2】
請求項1に記載の仮想計算機資源構成変更システムであって、
上記プロビジョニング手段は、
上記稼動情報収集手段が収集した仮想計算機における資源利用量が当該仮想計算機の利用者が設定した閾値を超えた回数をカウントする手段を具備し、
該カウントした閾値を超えた回数と、
上記稼動情報収集手段が収集した仮想計算機における資源利用量および当該仮想計算機の利用者が設定した割り当て資源量とを用いて、当該仮想計算機に最適な資源割当量を算出する
ことを特徴とする仮想計算機資源構成変更システム。
【請求項3】
請求項1に記載の仮想計算機資源構成変更システムであって、
上記プロビジョニング手段は、
上記稼動情報収集手段が収集した仮想計算機における資源利用量で、当該仮想計算機の利用者が設定した閾値を超えた資源利用量を抽出し、抽出した資源利用量の分布を求める手段と、
過去に算出した当該仮想計算機の資源に対する最適値の分布を求める手段と、
利用者が設定したプロビジョニング範囲内での、上記資源利用量の分布と上記最適値の分布を求める手段と、
上記最適値の頻度に予め定められた重みを乗算した値と、上記資源利用量の頻度とを加算する手段と、
最頻値の区分の最大値を抽出し、抽出した最大値を上記閾値で除算した値を、上記最適資源割当量として求める手段と
を有することを特徴とする仮想計算機資源構成変更システム。
【請求項4】
請求項1から請求項3のいずれかに記載の仮想計算機資源構成変更システムであって、
上記稼動情報収集手段は、収集した上記仮想計算機の稼動中における資源の使用量を、収集した時刻を付与して記憶装置に記録すると共に、記録した時刻から予め定められた時間が経過した当該資源の使用量の情報を上記記憶装置から削除する
ことを特徴とする仮想計算機資源構成変更システム。
【請求項5】
コンピュータを、請求項1から請求項4のいずれかに記載の仮想計算機資源構成変更システムにおける各手段として機能させるためのプログラム。
【請求項6】
コンピュータ装置により、仮想計算機に割り当てる資源構成を変更する仮想計算機資源構成変更方法であって、
上記コンピュータ装置は、プログラムされたコンピュータ処理を実行する手段として、稼動情報収集手段とプロビジョニング手段および構成変更手段を具備し、
上記稼動情報収集手段は、仮想計算機の稼動中における資源の使用量を収集する処理を実行し、
上記プロビジョニング手段は、上記稼動情報収集手段が収集した仮想計算機における資源使用量と、当該仮想計算機の利用者が設定した割り当て資源量とを用いて、当該仮想計算機に最適な資源割当量を算出する処理を実行し、
上記構成変更手段は、上記プロビジョニング手段が算出した最適資源割当量に、当該仮想計算機に割り当てる資源量を変更する処理を実行する
ことを特徴とする仮想計算機資源構成変更方法。
【請求項7】
請求項6に記載の仮想計算機資源構成変更方法であって、
上記プロビジョニング手段は、
上記稼動情報収集手段が収集した仮想計算機における資源利用量が当該仮想計算機の利用者が設定した閾値を超えた回数をカウントする処理を実行し、
該カウントした閾値を超えた回数と、上記稼動情報収集手段が収集した仮想計算機における資源利用量および当該仮想計算機の利用者が設定した割り当て資源量とを用いて、当該仮想計算機に最適な資源割当量を算出する
ことを特徴とする仮想計算機資源構成変更方法。
【請求項8】
請求項6に記載の仮想計算機資源構成変更方法であって、
上記プロビジョニング手段は、
上記稼動情報収集手段が収集した仮想計算機における資源利用量で、当該仮想計算機の利用者が設定した閾値を超えた資源利用量を抽出し、抽出した資源利用量の分布を求める処理と、
過去に算出した当該仮想計算機の資源に対する最適値の分布を求める処理と、
利用者が設定したプロビジョニング範囲内での、上記資源利用量の分布と上記最適値の分布を求める処理と、
上記最適値の頻度に予め定められた重みを乗算した値と、上記資源利用量の頻度とを加算する処理と、
最頻値の区分の最大値を抽出し、抽出した最大値を上記閾値で除算した値を、上記最適資源割当量として求める処理と
を実行することを特徴とする仮想計算機資源構成変更方法。
【請求項9】
請求項6から請求項8のいずれかに記載の仮想計算機資源構成変更方法であって、
上記稼動情報収集手段は、収集した上記仮想計算機の稼動中における資源の使用量を、収集した時刻を付与して記憶装置に記録すると共に、記録した時刻から予め定められた時間が経過した当該資源の使用量の情報を上記記憶装置から削除する処理を実行する
ことを特徴とする仮想計算機資源構成変更方法。
【請求項1】
仮想計算機に割り当てる資源構成を変更する仮想計算機資源構成変更システムであって、
プログラムされたコンピュータ処理を実行する手段として、
仮想計算機の稼動中における資源の使用量を収集する稼動情報収集手段と、
該稼動情報収集手段が収集した仮想計算機における資源使用量と、当該仮想計算機の利用者が設定した割り当て資源量とを用いて、当該仮想計算機に最適な資源割当量を算出するプロビジョニング手段と、
該プロビジョニング手段が算出した最適資源割当量に、当該仮想計算機に割り当てる資源量を変更する構成変更手段と
を有することを特徴とする仮想計算機資源構成変更システム。
【請求項2】
請求項1に記載の仮想計算機資源構成変更システムであって、
上記プロビジョニング手段は、
上記稼動情報収集手段が収集した仮想計算機における資源利用量が当該仮想計算機の利用者が設定した閾値を超えた回数をカウントする手段を具備し、
該カウントした閾値を超えた回数と、
上記稼動情報収集手段が収集した仮想計算機における資源利用量および当該仮想計算機の利用者が設定した割り当て資源量とを用いて、当該仮想計算機に最適な資源割当量を算出する
ことを特徴とする仮想計算機資源構成変更システム。
【請求項3】
請求項1に記載の仮想計算機資源構成変更システムであって、
上記プロビジョニング手段は、
上記稼動情報収集手段が収集した仮想計算機における資源利用量で、当該仮想計算機の利用者が設定した閾値を超えた資源利用量を抽出し、抽出した資源利用量の分布を求める手段と、
過去に算出した当該仮想計算機の資源に対する最適値の分布を求める手段と、
利用者が設定したプロビジョニング範囲内での、上記資源利用量の分布と上記最適値の分布を求める手段と、
上記最適値の頻度に予め定められた重みを乗算した値と、上記資源利用量の頻度とを加算する手段と、
最頻値の区分の最大値を抽出し、抽出した最大値を上記閾値で除算した値を、上記最適資源割当量として求める手段と
を有することを特徴とする仮想計算機資源構成変更システム。
【請求項4】
請求項1から請求項3のいずれかに記載の仮想計算機資源構成変更システムであって、
上記稼動情報収集手段は、収集した上記仮想計算機の稼動中における資源の使用量を、収集した時刻を付与して記憶装置に記録すると共に、記録した時刻から予め定められた時間が経過した当該資源の使用量の情報を上記記憶装置から削除する
ことを特徴とする仮想計算機資源構成変更システム。
【請求項5】
コンピュータを、請求項1から請求項4のいずれかに記載の仮想計算機資源構成変更システムにおける各手段として機能させるためのプログラム。
【請求項6】
コンピュータ装置により、仮想計算機に割り当てる資源構成を変更する仮想計算機資源構成変更方法であって、
上記コンピュータ装置は、プログラムされたコンピュータ処理を実行する手段として、稼動情報収集手段とプロビジョニング手段および構成変更手段を具備し、
上記稼動情報収集手段は、仮想計算機の稼動中における資源の使用量を収集する処理を実行し、
上記プロビジョニング手段は、上記稼動情報収集手段が収集した仮想計算機における資源使用量と、当該仮想計算機の利用者が設定した割り当て資源量とを用いて、当該仮想計算機に最適な資源割当量を算出する処理を実行し、
上記構成変更手段は、上記プロビジョニング手段が算出した最適資源割当量に、当該仮想計算機に割り当てる資源量を変更する処理を実行する
ことを特徴とする仮想計算機資源構成変更方法。
【請求項7】
請求項6に記載の仮想計算機資源構成変更方法であって、
上記プロビジョニング手段は、
上記稼動情報収集手段が収集した仮想計算機における資源利用量が当該仮想計算機の利用者が設定した閾値を超えた回数をカウントする処理を実行し、
該カウントした閾値を超えた回数と、上記稼動情報収集手段が収集した仮想計算機における資源利用量および当該仮想計算機の利用者が設定した割り当て資源量とを用いて、当該仮想計算機に最適な資源割当量を算出する
ことを特徴とする仮想計算機資源構成変更方法。
【請求項8】
請求項6に記載の仮想計算機資源構成変更方法であって、
上記プロビジョニング手段は、
上記稼動情報収集手段が収集した仮想計算機における資源利用量で、当該仮想計算機の利用者が設定した閾値を超えた資源利用量を抽出し、抽出した資源利用量の分布を求める処理と、
過去に算出した当該仮想計算機の資源に対する最適値の分布を求める処理と、
利用者が設定したプロビジョニング範囲内での、上記資源利用量の分布と上記最適値の分布を求める処理と、
上記最適値の頻度に予め定められた重みを乗算した値と、上記資源利用量の頻度とを加算する処理と、
最頻値の区分の最大値を抽出し、抽出した最大値を上記閾値で除算した値を、上記最適資源割当量として求める処理と
を実行することを特徴とする仮想計算機資源構成変更方法。
【請求項9】
請求項6から請求項8のいずれかに記載の仮想計算機資源構成変更方法であって、
上記稼動情報収集手段は、収集した上記仮想計算機の稼動中における資源の使用量を、収集した時刻を付与して記憶装置に記録すると共に、記録した時刻から予め定められた時間が経過した当該資源の使用量の情報を上記記憶装置から削除する処理を実行する
ことを特徴とする仮想計算機資源構成変更方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−203910(P2011−203910A)
【公開日】平成23年10月13日(2011.10.13)
【国際特許分類】
【出願番号】特願2010−69354(P2010−69354)
【出願日】平成22年3月25日(2010.3.25)
【出願人】(000152985)株式会社日立情報システムズ (409)
【公開日】平成23年10月13日(2011.10.13)
【国際特許分類】
【出願日】平成22年3月25日(2010.3.25)
【出願人】(000152985)株式会社日立情報システムズ (409)
[ Back to top ]