(57)【特許請求の範囲】
【請求項１】
仮想計算機に割り当てる資源構成を変更する仮想計算機資源構成変更システムであって、
プログラムされたコンピュータ処理を実行する手段として、
仮想計算機の稼動中における資源の使用量を収集する稼動情報収集手段と、
該稼動情報収集手段が収集した仮想計算機における資源使用量と、当該仮想計算機の利用者が設定した割り当て資源量とを用いて、当該仮想計算機に最適な資源割当量を算出するプロビジョニング手段と、
該プロビジョニング手段が算出した最適資源割当量に、当該仮想計算機に割り当てる資源量を変更する構成変更手段と
を有し、
上記プロビジョニング手段は、
上記稼動情報収集手段が収集した仮想計算機における資源利用量で、当該仮想計算機の利用者が設定した閾値を超えた資源利用量を抽出し、閾値から資源利用量の最大値を所定の容量で区分（資源区分）し、抽出した資源利用量の分布を求める手段と、
過去に算出した当該仮想計算機の資源に対する、資源最適値詳細テーブルから抽出した最適値を資源区分毎に区分し、分布を抽出し、最適値の分布を求める手段と、
利用者が設定したプロビジョニング範囲内での、上記資源利用量の分布と上記最適値の分布を求める手段と、
上記最適値の分布における上記最適値の頻度に予め定められた重みを乗算した値と、上記資源利用量の分布における上記資源利用量の頻度とを加算する手段と、
最頻値の上記資源区分の最大値を抽出し、抽出した最大値を上記閾値で除算した値を、上記最適資源割当量として求める手段と
を有することを特徴とする仮想計算機資源構成変更システム。
【請求項２】
請求項１に記載の仮想計算機資源構成変更システムであって、
上記プロビジョニング手段は、
上記稼動情報収集手段が収集した仮想計算機における資源利用量が当該仮想計算機の利用者が設定した閾値を超えた回数をカウントする手段を具備し、
該カウントした閾値を超えた回数と、
上記稼動情報収集手段が収集した仮想計算機における資源利用量および当該仮想計算機の利用者が設定した割り当て資源量とを用いて、当該仮想計算機に最適な資源割当量を算出する
ことを特徴とする仮想計算機資源構成変更システム。
【請求項３】
請求項１または請求項２のいずれかに記載の仮想計算機資源構成変更システムであって、
上記稼動情報収集手段は、収集した上記仮想計算機の稼動中における資源の使用量を、収集した時刻を付与して記憶装置に記録すると共に、記録した時刻から予め定められた時間が経過した当該資源の使用量の情報を上記記憶装置から削除する
ことを特徴とする仮想計算機資源構成変更システム。
【請求項４】
コンピュータを、請求項１から請求項３のいずれかに記載の仮想計算機資源構成変更システムにおける各手段として機能させるためのプログラム。
【請求項５】
コンピュータ装置により、仮想計算機に割り当てる資源構成を変更する仮想計算機資源構成変更方法であって、
上記コンピュータ装置は、プログラムされたコンピュータ処理を実行する手段として、稼動情報収集手段とプロビジョニング手段および構成変更手段を具備し、
上記稼動情報収集手段は、仮想計算機の稼動中における資源の使用量を収集する処理を実行し、
上記プロビジョニング手段は、上記稼動情報収集手段が収集した仮想計算機における資源使用量と、当該仮想計算機の利用者が設定した割り当て資源量とを用いて、当該仮想計算機に最適な資源割当量を算出する処理を実行し、
上記構成変更手段は、上記プロビジョニング手段が算出した最適資源割当量に、当該仮想計算機に割り当てる資源量を変更する処理を実行し、
上記プロビジョニング手段は、
上記稼動情報収集手段が収集した仮想計算機における資源利用量で、当該仮想計算機の利用者が設定した閾値を超えた資源利用量を抽出し、閾値から資源利用量の最大値を所定の容量で区分（資源区分）し、抽出した資源利用量の分布を求める処理と、
過去に算出した当該仮想計算機の資源に対する、資源最適値詳細テーブルから抽出した最適値を資源区分毎に区分し、分布を抽出し、最適値の分布を求める処理と、
利用者が設定したプロビジョニング範囲内での、上記資源利用量の分布と上記最適値の分布を求める処理と、
上記最適値の分布における上記最適値の頻度に予め定められた重みを乗算した値と、上記資源利用量の分布における上記資源利用量の頻度とを加算する処理と、
最頻値の区分の最大値を抽出し、抽出した最大値を上記閾値で除算した値を、上記最適資源割当量として求める処理と
を実行することを特徴とする仮想計算機資源構成変更方法。
【請求項６】
請求項５に記載の仮想計算機資源構成変更方法であって、
上記プロビジョニング手段は、
上記稼動情報収集手段が収集した仮想計算機における資源利用量が当該仮想計算機の利用者が設定した閾値を超えた回数をカウントする処理を実行し、
該カウントした閾値を超えた回数と、上記稼動情報収集手段が収集した仮想計算機における資源利用量および当該仮想計算機の利用者が設定した割り当て資源量とを用いて、当該仮想計算機に最適な資源割当量を算出する
ことを特徴とする仮想計算機資源構成変更方法。
【請求項７】
請求項５または請求項６のいずれかに記載の仮想計算機資源構成変更方法であって、
上記稼動情報収集手段は、収集した上記仮想計算機の稼動中における資源の使用量を、収集した時刻を付与して記憶装置に記録すると共に、記録した時刻から予め定められた時間が経過した当該資源の使用量の情報を上記記憶装置から削除する処理を実行することを特徴とする仮想計算機資源構成変更方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機(VM：Virtual Machine)の運用管理技術に係わり、特に、エンドユーザからの要求をもとに、動的に仮想計算機資源を再構成する技術に関するものである。
【背景技術】
【０００２】
近年、仮想化技術を用いた仮想計算機を提供するクラウドサービスが増加している。仮想計算機の特徴の一つとして、計算機導入コストの低減、仮想計算機資源を容易に変更可能ということが挙げられる。これらによって、エンドユーザは、仮想計算機を利用することにより、エンドユーザのIT投資効果が高まると謳われている。
【０００３】
現在、仮想計算機の資源を最適化する技術として、例えば、特許文献１がある。この技術では、仮想計算機の性能情報と閾値をもとに、仮想計算機への負荷が異常であると検知し、その旨を異常メッセージとして出力する、
【０００４】
このとき、資源情報(ホスト計算機上でゲスト計算機に割り当てられた資源の数を表す情報)と性能情報(ホスト計算機上で仮想的に実現されるゲスト計算機の負荷性能を値で表す情報)をもとに、自然数と調整倍率とを複数対応付ける調整データを参照して、複数の調整倍率の中から、資源情報が表す数に対応する選択調整倍率を選択し、性能情報が表す選択調整倍率に応じて調整し、性能情報として出力する。
【０００５】
しかし、この従来技術を用いた仮想計算機を提供することとなると、エンドユーザの意思が仮想計算機の最適な資源の決定に反映されることがないので、例えば、エンドユーザが資源増加の上限を決定することができない。その結果、資源が足りなければ永遠に資源が増加し続け、結果エンドユーザは必要以上の資源を利用することとなりIT投資効果は低下する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９ー２０５２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
解決しようとする問題点は、従来の技術では、仮想計算機の最適な資源の決定にエンドユーザの意思が反映されることがなかったため、エンドユーザは仮想計算機に対して必要以上に投資をすることになる。
【０００８】
本発明の目的は、これら従来技術の課題を解決し、エンドユーザにとってより最適な仮想計算機資源を提供することを可能とし、エンドユーザのIT投資効果を高めることである。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明では、仮想計算機の最適な資源の決定に、エンドユーザの意思を反映させることで、エンドユーザが仮想計算機に対して必要以上に投資をすることを回避し、エンドユーザのIT投資効果の低下を防ぐ。すなわち、まず、エンドユーザがプロビジョニングの設定を視覚的に操作可能な画面を用意する。この画面によりユーザは、仮想計算機資源のスケールアップ、スケールダウン、資源閾値等に対しておおよその値を設定する。尚、資源閾値とは、プロビジョニング機能が動作するトリガーである。次に、仮想計算機の過去のプロビジョニング実施結果、閾値超過回数と前述の画面にてエンドユーザにより設定された情報とをもとに、最適な資源量を算出する。そして、算出した値を仮想計算機に反映させる。これにより、エンドユーザにとって最適な仮想計算機資源を提供する。
【発明の効果】
【００１０】
本発明によれば、エンドユーザの意思が仮想計算機の最適な資源決定に反映されることとなり、エンドユーザは、より希望に沿った必要最小限の資源を備える仮想計算機を利用することが可能となり、エンドユーザのIT投資効果がより一層高まることを期待できる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係る仮想計算機資源構成変更システムの構成例を示すブロック図である。
【図２】図１における契約管理機能の処理動作例を示すフローチャートである。
【図３】図１における稼動情報収集エージェントの処理動作例を示すフローチャートである。
【図４】図１における自動プロビジョニング機能の第１の処理動作例を示すフローチャートである。
【図５】図１における自動プロビジョニング機能の第１の処理動作例を示すフローチャートである。
【図６】図１におけるユーザ端末のプロビジョニング設定用画面の第１の構成例を示す説明図である。
【図７】図１におけるユーザ端末のプロビジョニング設定用画面の第２の構成例を示す説明図である。
【図８】図１における契約管理情報記憶部で保持する契約情報テーブルの構成例を示す説明図である。
【図９】図１における契約管理情報記憶部で保持する顧客情報テーブルの構成例を示す説明図である。
【図１０】図１における契約管理情報記憶部で保持する仮想計算機テーブルの構成例を示す説明図である。
【図１１】図１における契約管理情報記憶部で保持するプロビジョニング情報テーブルの第１の構成例を示す説明図である。
【図１２】図１における契約管理情報記憶部で保持するプロビジョニング情報テーブルの第２の構成例を示す説明図である。
【図１３】図１における自動プロビジョニング機能が生成する資源最適値テーブルの第１の構成例を示す説明図である。
【図１４】図１における自動プロビジョニング機能が生成する資源最適値テーブルの第２の構成例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、図を用いて本発明を実施するための形態例を説明する。図１において、１は契約管理システム、２は契約管理機能、３は契約管理ＤＢ（図中「契約管理」と記載）、４は仮想計算機稼動情報収集機能、５は仮想計算機自動構成変更機能、６は仮想化環境、６ａ，６ｂはユーザ端末（図中「ポータル・エンドユーザ」と記載）、７ａ，７ｂは仮想計算機（図中「仮想計算」と記載）、８ａ，８ｂは稼動情報収集エージェント、９ａ，９ｂは仮想計算機稼動情報収集エージェント機能、１０ａ，１０ｂは稼動情報蓄積ＤＢ（図中「稼動情報」と記載）である。契約管理システム１とユーザ端末６ａ，６ｂは、イントラネットやインターネット等のネットワークを介して接続されている。
【００１３】
契約管理システム１とユーザ端末６ａ，６ｂ、仮想化環境６、稼動情報収集エージェント８ａ，８ｂのそれぞれは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や主メモリ、表示装置、入力装置、外部記憶装置からなるコンピュータ構成からなり、光ディスク駆動装置等を介してＣＤーＲＯＭ等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みＣＰＵで処理することにより、各処理部の機能を実行する。
【００１４】
すなわち、プログラムされたコンピュータ処理を実行する手段として、契約管理システム１は、契約管理機能２、契約管理ＤＢ３、仮想計算機稼動情報収集機能４、仮想計算機自動構成変更機能５を有し、仮想化環境６は、仮想計算機７ａ，７ｂを有し、稼動情報収集エージェント８ａ，８ｂは、仮想計算機稼動情報収集エージェント機能９ａ，９ｂと稼動情報蓄積ＤＢ１０ａ，１０ｂを有する。
【００１５】
このような構成により、本例の仮想計算機資源構成変更システムは、仮想計算機７ａ，７ｂの最適な資源の決定に、ユーザ端末６ａ，６ｂを介してのエンドユーザの意思を反映させることにより、エンドユーザが仮想計算機７ａ，７ｂに対して必要以上に投資をすることを回避し、エンドユーザのIT投資効果の低下を防ぐ。
【００１６】
すなわち、本例の仮想計算機資源構成変更システムは、仮想計算機に割り当てる資源構成を変更する際、稼動情報収集エージェント８ａ，８ｂにおける仮想計算機稼動情報収集エージェント機能９ａ，９ｂにより、仮想計算機７ａ，７ｂの稼動中における資源の使用量を収集し、自動プロビジョニング機能１１により、仮想計算機稼動情報収集エージェント機能９ａ，９ｂが収集した仮想計算機７ａ，７ｂにおける資源使用量と、当該仮想計算機７ａ，７ｂの利用者が設定した割り当て資源量とを用いて、当該仮想計算機７ａ，７ｂに最適な資源割当量を算出し、仮想計算機構成自動変更機能５により、自動プロビジョニング機能１１が算出した最適資源割当量に、当該仮想計算機７ａ，７ｂに割り当てる資源量を変更する。
【００１７】
また、自動プロビジョニング機能１１は、仮想計算機稼動情報収集エージェント機能９ａ，９ｂが収集した仮想計算機７ａ，７ｂにおける資源利用量が、当該仮想計算機７ａ，７ｂの利用者が設定した閾値を超えた回数をカウントし、このカウントした閾値を超えた回数と、仮想計算機稼動情報収集エージェント機能９ａ，９ｂが収集した仮想計算機７ａ，７ｂにおける資源利用量および当該仮想計算機７ａ，７ｂの利用者が設定した割り当て資源量とを用いて、当該仮想計算機７ａ，７ｂに最適な資源割当量を算出する。
【００１８】
また、自動プロビジョニング機能１１は、仮想計算機稼動情報収集エージェント機能９ａ，９ｂが収集した仮想計算機７ａ，７ｂにおける資源利用量で、当該仮想計算機７ａ，７ｂの利用者が設定した閾値を超えた資源利用量を抽出し、抽出した資源利用量の分布を求めると共に、過去に算出した当該仮想計算機７ａ，７ｂの資源に対する最適値の分布を求め、さらに、利用者が設定したプロビジョニング範囲内での、資源利用量の分布と最適値の分布を求め、そして、最適値の頻度に予め定められた重みを乗算した値と、資源利用量の頻度とを加算し、最頻値の区分の最大値を抽出し、抽出した最大値を閾値で除算した値を、最適資源割当量として求める。
【００１９】
また、仮想計算機稼動情報収集エージェント機能９ａ，９ｂは、収集した仮想計算機７ａ，７ｂの稼動中における資源の使用量を、収集した時刻を付与して記憶装置（稼動情報ＤＢ１０ａ，１０ｂ）に記録すると共に、記録した時刻から予め定められた時間が経過した当該資源の使用量の情報を記憶装置（稼動情報ＤＢ１０ａ，１０ｂ）から削除する。
【００２０】
以下、このような本例の仮想計算機資源構成変更システムの具体的な動作説明を行う。
【００２１】
契約管理システム１は、エンドユーザとの契約を、ユーザ端末６ａ，６ｂを介して、契約管理機能２にて受付け、契約管理ＤＢ３において、その契約情報を登録する。
【００２２】
契約管理ＤＢ３においては、エンドユーザとの契約により、図８に示す契約情報テーブルTBL1、図９に示す顧客情報テーブルTBL2、図１０に示す仮想計算機テーブルTBL3が登録される。
【００２３】
契約管理機能２は、契約管理ＤＢ３において登録された契約情報から、仮想計算機７ａ，７ｂの構成情報（仮想計算機テーブルTBL3）を抽出し、仮想計算機自動構成変更機能５に、抽出した仮想計算機７ａ，７ｂの構成情報を渡す。
【００２４】
仮想計算機自動構成変更機能５は、契約管理機能２から受取った情報（仮想計算機テーブルTBL3）をもとに、指定された日、指定された構成の仮想計算機７ａ，７ｂを仮想化環境６に構築する。
【００２５】
稼動情報収集エージェント８ａ，８ｂの稼動情報収集エージェント機能９ａ，９ｂは、仮想化環境６内に存在する仮想計算機７ａ，７ｂの稼動情報を一定間隔で収集し、図１１に示すプロビジョニング情報テーブルTBL4として、稼動情報蓄積ＤＢ１０ａ，１０ｂにおいて保管する。
【００２６】
契約管理システム１は、稼動情報収集機能４により、全ての稼動情報収集エージェント８ａ，８ｂの稼動情報蓄積ＤＢ１０ａ，１０ｂから仮想計算機の稼動情報（プロビジョニング情報テーブルTBL4）を収集し、契約管理機能２へと渡す。
【００２７】
契約管理機能２は、契約管理ＤＢ３から契約情報を抽出し、稼動情報収集機能４から渡された仮想計算機の稼動情報（稼動情報プロビジョニング情報テーブルTBL4）と共に自動プロビジョニング機能１１へと渡す。
【００２８】
自動プロビジョニング機能１１は、契約管理機能２から渡された契約情報（仮想計算機テーブルTBL3）と仮想計算機の稼動情報（稼動情報プロビジョニング情報テーブルTBL4）とを用いて、最適な仮想計算機資源を算出し、算出した情報（図１２におけるプロビジョニング情報詳細テーブルTBL5）を契約管理機能２へと返す。
【００２９】
契約管理機能２は、受取った情報（最適な仮想計算機資源）を、契約管理ＤＢ３に登録し、また、自動プロビジョニング結果を反映した仮想計算機の構成情報（図１３における資源最適値テーブルTBL6、図１４における資源最適値詳細テーブルTBL7）を生成して、仮想計算機自動構成変更機能５に渡す。
【００３０】
仮想計算機自動構成変更機能５は、契約管理機能２から受取った情報（資源最適値テーブルTBL6、資源最適値詳細テーブルTBL7）をもとに、指定された日、指定された構成の仮想計算機７ａ，７ｂを仮想化環境６に構築する。
【００３１】
以下、図２を用いて、契約管理機能２による、エンドユーザからのによる自動プロビジョニング情報登録の処理動作を説明する。
【００３２】
エンドユーザは、契約管理システム１が提供するWebサービスへ、ユーザ端末６ａ，６ｂを介して接続し、資源の割当を設定する画面（図６，７参照）へと遷移する。この遷移した画面にて必要な情報の入力を実施し(ステップ１０１)、画面内の登録ボタンを押下すると、契約管理システム１に情報が送信される。
【００３３】
契約管理システム１は、送信されてきた情報から、必要情報の入力確認(ステップ１０２)、入力文字確認(ステップ１０３)、入力範囲確認(ステップ１０４)等の確認処理を実施する。
【００３４】
確認の結果、異常が発生した際は、異常を示す適切なメッセージをポータル上に表示する(ステップ１０５)。正常であれば、契約管理ＤＢ３を用いて自動プロビジョニングの設定情報（プロビジョニング情報テーブルTBL4）を登録する(ステップ１０６)。この際にエンドユーザが自動プロビジョニングの設定で利用する画面については、図６，図７を用いて後に説明する。
【００３５】
次に、図３を用いて、稼動情報収集エージェント８ａ，８ｂにおける仮想計算機稼動情報収集エージェント機能９ａ，９ｂの処理動作を説明する。
【００３６】
稼動情報収集エージェント８ａ，８ｂは、仮想計算機稼動情報収集エージェント機能９ａ，９ｂにより、稼動情報蓄積ＤＢ１０ａ，１０ｂにおいて登録・管理されている仮想計算機の収集ポリシを取得し、このポリシに沿って、仮想計算機７ａ，７ｂからそれぞれの稼動情報を収集し（ステップ２０１）、収集した稼動情報を、稼動情報蓄積ＤＢ１０ａ，１０ｂにおいて保管する(ステップ２０２)。
【００３７】
そして、稼動情報蓄積ＤＢ１０ａ，１０ｂにおいて保管されている稼動情報から、稼動情報収集エージェント８ａ，８ｂに設定された保管ポリシに基づいて、古い稼動情報を削除していく（ステップ２０３、２０４、２０５）。
【００３８】
次に、図４を用いて、主に自動プロビジョニング機能１１の処理動作を説明する。
【００３９】
自動プロビジョニング機能１１は、まず、契約管理機能２を介して、契約管理ＤＢ３から、図１０に示す仮想計算機テーブルTBL3と、図１１に示すプロビジョニング情報テーブルTBL4を取得し、この仮想計算機テーブルTBL3とプロビジョニング情報テーブルTBL4を、それぞれの仮想計算機ID（Ｃ３１，Ｃ４２）をキーに結合し、自動プロビジョニングの設定がなされている仮想計算機（７ａ，７ｂ）を抽出する(ステップ３０１)。
【００４０】
次に、抽出した仮想計算機の名称をキーに、稼動情報収集エージェント８ａ，８ｂにおける稼動情報蓄積ＤＢ１０ａ，１０ｂから、仮想計算機の稼動情報を取得する(ステップ３０２)。
【００４１】
そして、プロビジョニング情報テーブルTBL4における「対象（Ｃ４２）」の設定内容に基づき、自動プロビジョニングの設定対象を確認する(ステップ３０３)。
【００４２】
自動プロビジョニングの設定対象がＣＰＵであれば、[図１０の仮想計算機テーブルTBL3におけるCPU資源（Ｃ３４）]*[図１２のプロビジョニング情報詳細テーブルTBL5におけるスケールアップ閾値（Ｃ５３）]の値と、取得した稼動情報（稼動情報蓄積ＤＢ１０ａ，１０ｂ内に記録したＣＰＵ利用量）とを比較し（ステップ３０４）、取得した稼動情報の値のほうが大きければスケールアップを実施して、ステップ３０８での「最適資源量の決定」処理を行う。尚、「＊」は乗算演算子である。
【００４３】
また、取得した稼動情報の値のほうが小さい場合には、スケールアップは実行せずに、[仮想計算機テーブルTBL3におけるCPU資源（Ｃ３４）]*[プロビジョニング情報詳細テーブルTBL5におけるスケールダウン閾値（Ｃ５４）]の値と、取得した稼動情報（稼動情報蓄積ＤＢ１０ａ，１０ｂ内に記録したＣＰＵ利用量）とを比較し（ステップ３０５）、取得した稼動情報の値のほうが大きければスケールダウンも実行せず、小さい場合にスケールダウンを実施して、ステップ３０８での「最適資源量の決定」処理を行う。
【００４４】
また、ステップ３０３の処理において、自動プロビジョニングの設定対象がメモリであれば、[図１０の仮想計算機テーブルTBL3におけるメモリ資源（Ｃ３５）]*[図１１のプロビジョニング情報詳細テーブルTBL5におけるスケールアップ閾値（Ｃ５３）]の値と、取得した稼動情報（稼動情報蓄積ＤＢ１０ａ，１０ｂ内に記録したメモリ利用量）とを比較し（ステップ３０６）、取得した稼動情報の値のほうが大きければスケールアップを実施して、ステップ３０８での「最適資源量の決定」処理を行う。
【００４５】
また、稼動情報の値のほうが小さい場合には、スケールアップは実行せずに、[仮想計算機テーブルTBL3におけるメモリ資源（Ｃ３５）]*[プロビジョニング情報詳細テーブルTBL5におけるスケールダウン値（Ｃ５４）]の値と、取得した稼動情報（稼動情報蓄積ＤＢ１０ａ，１０ｂ内のメモリ利用量）とを比較し（ステップ３０７）、取得した稼動情報の値のほうが大きければスケールダウンも実行せず、小さい場合にスケールダウンを実施して、ステップ３０８での「最適資源量の決定」処理を行う。
【００４６】
ステップ３０８の処理におけるスケールアップもしくはスケールダウンのいずれかのプロビジョニングが必要な場合、自動プロビジョニング機能１１は、契約管理機能２から、契約管理ＤＢ３に格納されているプロビジョニングの設定情報と過去の資源利用量および閾値超過回数の各情報を受け取り、これらの情報をもとに、仮想計算機７ａ，７ｂにおける最適な資源量を算出し、図１０の仮想計算機テーブルTBL3におけるCPU資源（Ｃ３４）・メモリ資源（Ｃ３５）に登録する。尚、このステップ３０８での最適な資源量の算出処理に関しては、図５において詳述する。
【００４７】
そして、自動プロビジョニング機能１１は、ステップ３０８での処理において算出した資源量をもとに、仮想計算機の構成情報を作成する。すなわち、ステップ３０８での処理により算出して仮想計算機テーブルTBL3におけるCPU資源（Ｃ３４）・メモリ資源（Ｃ３５）に登録した資源量を読み出し、これをもとに、仮想計算機の構成情報を作成する(ステップ３０９)。
【００４８】
そして、作成した仮想計算機の構成情報を、契約管理機能２を介して仮想計算機構成自動変更機能５に渡し(ステップ３１０)、仮想計算機構成自動変更機能５は、受取った情報通りに、仮想計算機７ａ，７ｂにおける資源構成を変更する(ステップ３１１)。
【００４９】
以下、図５を用いて、自動プロビジョニング機能１１の図４におけるステップ３０８での処理動作の詳細を説明する。
【００５０】
自動プロビジョニング機能１１は、ある仮想計算機のプロビジョニングが必要となったとき、まず、契約管理ＤＢ３からプロビジョンニング情報（TBL4）を取得し、プロビジョニングの設定単位（Ｃ４４）を確認する(ステップ４０１)。
【００５１】
日単位に設定されているときは、稼動情報蓄積ＤＢ１０から、仮想計算機名（Ｃ３３）をキーに、昨日の分単位に要約された対象仮想計算機の稼動情報を抽出し(ステップ４０２)、抽出した稼動情報を時単位に区分（以降、時間区分）する(ステップ４０４)。
【００５２】
また、月単位に設定されているときは、稼動情報蓄積ＤＢ１０から、仮想計算機名（Ｃ３３）をキーに、前月の時間単位に要約された対象仮想計算機の稼動情報を抽出し(ステップ４０３)、抽出した情報を日単位に時間区分する(ステップ４０５)。
【００５３】
次に、CPU資源のスケールアップを実施する際には（ステップ４０６，４０７）、時間区分毎に[仮想計算機テーブルのCPU資源]*[プロビジョニング情報詳細テーブルのスケールアップ閾値]の値(資源閾値)と、稼動情報から抽出した資源利用量とを比較し（ステップ４０８）、資源閾値以上の資源利用量を全て抽出する（ステップ４１３）。
【００５４】
また、メモリ資源のスケールアップを実施する際には（ステップ４０６，４０７）、時間区分毎に[仮想計算機テーブルのメモリ資源]*[プロビジョニング情報詳細テーブルのスケールアップ閾値]の値(資源閾値)と稼動情報から抽出した資源利用量とを比較し（ステップ４０９）、資源閾値以上の資源利用量を全て抽出する（ステップ４１３）。
【００５５】
また、CPU資源のスケールダウンを実施する際には（ステップ４０６，４１０）、時間区分毎に[仮想計算機テーブルのCPU資源]*[プロビジョニング情報詳細テーブルのスケールダウン閾値]の値(資源閾値)と、稼動情報から抽出した資源利用量とを比較し（ステップ４１１）、資源閾値以下の資源利用量を全て抽出する（ステップ４１３）。
【００５６】
また、メモリ資源のスケールダウンを実施する際には（ステップ４０６，４１０）、時間区分毎に[仮想計算機テーブルのメモリ資源]*[プロビジョニング情報詳細テーブルのスケールダウン閾値]の値(資源閾値)と、稼動情報から抽出した資源利用量とを比較し（ステップ４１２）、資源閾値以下の資源利用量を全て抽出する（ステップ４１３）。
【００５７】
そして、間区分毎に資源閾値から資源利用量の最大値を例えば、１２８MB若しくは１２８MHzで区分(資源区分)し、ステップ４１３で抽出した資源利用量の分布を抽出する(ステップ４１４)。
【００５８】
その後、仮想計算機テーブルTBL3の仮想計算機ID（Ｃ３１）をキーに、資源最適値テーブルTBL6における仮想計算機ID（Ｃ６２）を検索し、以前に資源の最適値を算出したか（Ｃ３１＝Ｃ６２）否かを確認する(ステップ４１５)。
【００５９】
過去に資源の最適値を算出している場合（Ｃ３１＝Ｃ６２）は、算出ID（Ｃ６１，Ｃ７２）と時間区分（Ｃ７３）をキーに、図１４における資源最適値詳細テーブルTBL7から最適値を抽出する(ステップ４１６)。
【００６０】
このステップ４１６の処理で抽出した資源最適値を、資源区分毎に区分し分布を抽出する。すなわち、対象資源がCPUであれば（ステップ４１７）、ステップ４１６の処理で抽出した資源最適値を、資源区分毎にCPU最適値（Ｃ７４）の分布を抽出し（ステップ４１８）、対象資源がメモリであれば（ステップ４１７）、ステップ４１６の処理で抽出した資源最適値を、資源区分毎にメモリ最適値（Ｃ７５）の分布を抽出する（ステップ４１９）。
【００６１】
そして、ステップ４０１で抽出したプロビジョニング情報から、エンドユーザが設定したプロビジョニングの範囲を抽出し、このプロビジョニング範囲内での資源利用量の分布と資源最適値の分布を抽出する（ステップ４２０、４２１、４２２）。
【００６２】
例えば、スケールアップであれば（ステップ４２０）、ステップ４１４とステップ４１８で得た情報から、スケールアップ最小値（Ｃ５５）〜最大値（Ｃ５６）までの分布を抽出し、また、スケールダウンであれば（ステップ４２０）、ステップ４１４とステップ４１８で得た情報から、スケールダウン最小値（Ｃ５７）〜最大値（Ｃ５８）までの分布を抽出する。
【００６３】
そして、資源区分毎に[資源利用量の頻度]+[資源最適値の頻度]*[重み]を算出し(ステップ４２３)、最頻値であった資源区分の最大値を抽出する(ステップ４２４)。
【００６４】
さらに、[ステップ４２４で抽出した値]÷[プロビジョニング情報詳細テーブルのスケールアップ閾値（Ｃ５３）]の算出結果を最適な資源量として抽出する(ステップ４２５)。そして、抽出した最適な資源量を資源最適値テーブルTBL6、資源最適値詳細テーブルTBL7に保存する(ステップ４２６)。
【００６５】
次に、図６と図７を用いて、エンドユーザによるユーザ端末６ａ，６ｂの操作に基づくプロビジョニングの設定処理動作を説明する。
【００６６】
図６におけるプロビジョニングを設定する画面５０１は、ユーザ端末６ａ，６ｂから操作することが可能であり、エンドユーザは、設定資源５０２での操作により、プロビジョニングの対象となる資源を選択する。
【００６７】
また、設定単位５０３での操作により、プロビジョニングの設定を日単位に行うか、月単位で行うかを選択し、設定有効期間５０４ではプロビジョニングの有効期間を設定する。そして、表示ボタン５０５を押下することにより、プロビジョニングの設定をより詳細に実施する詳細画面５０６が表示される。
【００６８】
エンドユーザは、この詳細画面５０６において、利用量設定ボタン５０７を押下することにより、詳細設定グラフ５１０を用いて、時間ごと(設定単位５０３にて月単位が選択されているとき日ごと)に資源の利用量を設定することが可能となる。この詳細設定グラフ５１０内では、カーソルまたはタッチペンなどにより設定が可能である。
【００６９】
そして、エンドユーザが登録ボタン５１１を押下することにより、利用量の設定が契約管理ＤＢ３へ反映される。
【００７０】
また、エンドユーザが閾値設定ボタン５０８を押下することにより、図７に示すように、詳細設定グラフ５１０において、スケールアップ閾値５１２、スケールダウン閾値５１３、スケールアップ領域５１４、スケールダウン領域５１５が表示されるようになり、これらを設定することが可能となる。
【００７１】
また、エンドユーザは、図６における稼動情報表示ボタン５０９を押下することにより、詳細設定グラフ５１０内に指定した日の(設定単位５０３にて月単位が選択されているときは月の)稼動情報を表示させることが可能である。
【００７２】
エンドユーザがこの稼動情報表示ボタン５０９を押下すると、図７に示すように、表示する稼動情報を選択するサブウィンドウ５１６が表示される。
【００７３】
このサブウィンドウ５１６における出力形式５１７において、エンドユーザは、稼動情報を率で出力するか量で出力するかを選択する。また、出力日５１８では、出力させたい稼動情報の日付を選択する。そして、表示ボタン５１９を押下することにより、詳細設定グラフ５１０内に稼動情報が出力され、また、戻るボタン５２０を押下することにより、稼動情報を表示せず、元の画面５０１が表示される。
【００７４】
以上、図１〜図１４を用いて説明したように、本例では、仮想計算機の各構成要素の資源利用量を動的に変更するために、エンドユーザが視覚的に操作できるプロビジョニング設定画面と、この画面よりスケールアップ又はスケールダウンさせたいおおよその量を視覚的に設定する操作インタフェースを持ち、この画面にて設定された内容に基づき、その値の近傍においてプロビジョニングに最適な資源量を、過去の資源使用量及び閾値超え回数をもとに自動的に算出し、算出した値に基づいて、自動で仮想計算機の構成変更を行う。
【００７５】
このことにより、エンドユーザの意思が仮想計算機の最適な資源決定に反映されることとなり、エンドユーザは、より希望に沿った必要最小限の資源を備える仮想計算機を利用することが可能となり、エンドユーザのIT投資効果がより一層高まることを期待できる。
【００７６】
尚、本発明は、図１〜図１４を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例の図１に示す構成では、契約管理システム１と稼動情報収集エージェント８ａ，８ｂのそれぞれを異なるコンピュータ装置上に設けた構成としているが、契約管理システム１と稼動情報収集エージェント８ａ，８ｂを同じ１つのコンピュータ装置上に設けた構成としても良い。
【００７７】
また、本例のコンピュータ構成に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【符号の説明】
【００７８】
１：契約管理システム、２：契約管理機能、３：契約管理ＤＢ、４：仮想計算機稼動情報収集機能、５：自動プロビジョニング機能、６：仮想化環境、６ａ，６ｂ：ユーザ端末、７ａ，７ｂ：仮想計算機、８ａ，８ｂ：稼動情報収集エージェント、９ａ，９ｂ：仮想計算機稼動情報収集エージェント機能、１０ａ，１０ｂ：稼動情報蓄積ＤＢ、１１：自動プロビジョニング機能、５０１：画面、５０２：設定資源、５０３：設定単位、５０４：設定有効期間、５０５：表示ボタン、５０６：詳細画面、５０７：利用量設定ボタン、５０８：閾値設定ボタン、５０９：稼動情報表示ボタン、５１０：詳細設定グラフ、５１１：登録ボタン、５１２：スケールアップ閾値、５１３：スケールダウン閾値、５１４：スケールアップ領域、５１５：スケールダウン領域、５１６：サブウィンドウ、５１７：出力形式、５１８：出力日、５１９：表示ボタン、５２０：戻るボタン、TBL1：契約情報テーブル、TBL2：顧客情報テーブル、TBL3：仮想計算機テーブル、TBL4：プロビジョニング情報テーブル、TBL5：プロビジョニング情報詳細テーブル、TBL6：資源最適値テーブル、TBL7：資源最適値詳細テーブル。
【図１】
0005559582.tif 000002
【図２】
0005559582.tif 000003
【図３】
0005559582.tif 000004
【図４】
0005559582.tif 000005
【図５】
0005559582.tif 000006
【図６】
0005559582.tif 000007
【図７】
0005559582.tif 000008
【図８】
0005559582.tif 000009
【図９】
0005559582.tif 000010
【図１０】
0005559582.tif 000011
【図１１】
0005559582.tif 000012
【図１２】
0005559582.tif 000013
【図１３】
0005559582.tif 000014
【図１４】
0005559582.tif 000015