(57)【特許請求の範囲】
【請求項１】
プログラムされたコンピュータ処理によって、仮想サーバに割り当てるリソースを削減するスケールダウンを行う仮想サーバスケールダウン制御システムであって、
プログラムされたコンピュータ処理を実行する手段として、
外部から指示されたスケールダウン後のリソース値ｍとスケールダウン実行回数ｎを記憶装置に記録する指示情報登録手段と、
記憶装置に記録された上記リソース値ｍとスケールダウン実行回数ｎを読み出し、読み出したスケールダウン実行回数ｎで、現在割当済みのリソース値Ｍを上記リソース値ｍまで削減する段階的スケールダウン処理手段と
を有することを特徴とする仮想サーバスケールダウン制御システム。
【請求項２】
請求項１に記載の仮想サーバスケールダウン制御システムであって、
上記段階的スケールダウン処理手段は、
現在割当済みのリソース値Ｍから上記リソース値ｍを差し引いてリソース削減量Ｐ（Ｐ＝Ｍ−ｍ）を求め、求めた削減量Ｐを上記スケールダウン実行回数ｎで除算して、１回当たりの固定リソース削減量Ｑ（＝Ｐ÷ｎ）を算出する手段と、
予め定められたスケジュール間隔で、上記スケールダウン実行回数ｎだけ、上記算出した固定リソース削減量Ｑ分の上記現在割当済みのリソース値Ｍからの削減を繰り返す手段と
を有することを特徴とする仮想サーバスケールダウン制御システム。
【請求項３】
請求項１に記載の仮想サーバスケールダウン制御システムであって、
プログラムされたコンピュータ処理を実行する手段として、
スケールダウンを実行する毎に、当該時点の各仮想サーバのリソース量（過去リソース量）を収集して記憶装置に記録する稼動情報収集手段を有し、
上記段階的スケールダウン処理手段は、
現在割当済みのリソース値Ｍから上記リソース値ｍを差し引いてリソース削減量Ｐ（Ｐ＝Ｍ−ｍ）を求め、求めた削減量Ｐを上記スケールダウン実行回数ｎで除算して、１回当たりの固定リソース削減量Ｑ（＝Ｐ÷ｎ）を算出する手段と、
ｎ回のスケールダウンを実行する毎に、上記稼動情報収集手段が収集した過去リソース量と上記算出した固定リソース削減量Ｑとを比較する手段と、
該比較の結果、過去リソース量の方が固定リソース削減量Ｑより大きければ、過去リソース量×（１÷ｎ）を、当該回のスケールダウンの削減量として算出し、
過去リソース量の方が固定リソース削減量Ｑより小さければ、過去リソース量を、当該回のスケールダウンの削減量として算出する手段と、
予め定められたスケジュール間隔で、上記スケールダウン実行回数ｎだけ、上記現在割当済みのリソース値Ｍからの、上記算出した当該回のスケールダウンの削減量分の削減を繰り返す手段と
を有することを特徴とする仮想サーバスケールダウン制御システム。
【請求項４】
請求項１に記載の仮想サーバスケールダウン制御システムであって、
プログラムされたコンピュータ処理を実行する手段として、
スケールダウンを実行する毎に、当該時点の各仮想サーバのリソース量（過去リソース量）を収集して記憶装置に記録する稼動情報収集手段を有し、
上記段階的スケールダウン処理手段は、
現在割当済みのリソース値Ｍから上記リソース値ｍを差し引いてリソース削減量Ｐ（Ｐ＝Ｍ−ｍ）を求め、求めた削減量Ｐを上記スケールダウン実行回数ｎで除算して、１回当たりの固定リソース削減量Ｑ（＝Ｐ÷ｎ）を算出し、
予め定められたスケジュール間隔で、上記スケールダウン実行回数ｎだけ、上記算出した固定リソース削減量Ｑ分の上記現在割当済みのリソース値Ｍからの削減を繰り返す基本パターン処理手段と、
ｎ回のスケールダウンを実行する毎に、上記稼動情報収集手段が収集した過去リソース量と上記算出した固定リソース削減量Ｑとを比較し、
該比較の結果、過去リソース量の方が固定リソース削減量Ｑより大きければ、過去リソース量×（１÷ｎ）を、当該回のスケールダウンの削減量として算出し、過去リソース量の方が固定リソース削減量Ｑより小さければ、過去リソース量を、当該回のスケールダウンの削減量として算出し、
予め定められたスケジュール間隔で、上記スケールダウン実行回数ｎだけ、上記現在割当済みのリソース値Ｍからの、上記算出した当該回のスケールダウンの削減量分の削減を繰り返す拡張パターン処理手段と、
外部から指示され上記指示情報登録手段が記憶装置に記録した選択情報に応じ、仮想サーバのスケールダウンに用いる手段として、上記基本パターン処理手段と上記拡張パターン処理手段のいずれか一方を選択する手段と
を有することを特徴とする仮想サーバスケールダウン制御システム。
【請求項５】
コンピュータを、請求項１から請求項４のいずれかに記載の仮想サーバスケールダウン制御システムにおける各手段として機能させるためのプログラム。
【請求項６】
コンピュータ装置のプログラムされた処理によって、仮想サーバに割り当てるリソースを削減するスケールダウンを行う仮想サーバスケールダウン制御方法であって、
上記コンピュータ装置は、プログラムされたコンピュータ処理を実行する手段として、指示情報登録手段と段階的スケールダウン処理手段を具備し、
指示情報登録手段は、外部から指示されたスケールダウン後のリソース値ｍとスケールダウン実行回数ｎを記憶装置に記録する処理を実行し、
段階的スケールダウン処理手段は、記憶装置に記録された上記リソース値ｍとスケールダウン実行回数ｎを読み出し、読み出したスケールダウン実行回数ｎで、現在割当済みのリソース値Ｍを上記リソース値ｍまで削減する処理を実行する
ことを特徴とする仮想サーバスケールダウン制御方法。
【請求項７】
請求項６に記載の仮想サーバスケールダウン制御方法であって、
上記段階的スケールダウン処理手段は、
現在割当済みのリソース値Ｍから上記リソース値ｍを差し引いてリソース削減量Ｐ（Ｐ＝Ｍ−ｍ）を求め、求めた削減量Ｐを上記スケールダウン実行回数ｎで除算して、１回当たりの固定リソース削減量Ｑ（＝Ｐ÷ｎ）を算出する処理と、
予め定められたスケジュール間隔で、上記スケールダウン実行回数ｎだけ、上記算出した固定リソース削減量Ｑ分の上記現在割当済みのリソース値Ｍからの削減を繰り返す処理を実行する
ことを特徴とする仮想サーバスケールダウン制御方法。
【請求項８】
請求項６に記載の仮想サーバスケールダウン制御方法であって、
上記コンピュータ装置は、プログラムされたコンピュータ処理を実行する手段として、稼動情報収集手段を具備し、
該稼動情報収集手段は、スケールダウンを実行する毎に、当該時点の各仮想サーバのリソース量（過去リソース量）を収集して記憶装置に記録する処理を実行し、
上記段階的スケールダウン処理手段は、
現在割当済みのリソース値Ｍから上記リソース値ｍを差し引いてリソース削減量Ｐ（Ｐ＝Ｍ−ｍ）を求め、求めた削減量Ｐを上記スケールダウン実行回数ｎで除算して、１回当たりの固定リソース削減量Ｑ（＝Ｐ÷ｎ）を算出する処理と、
ｎ回のスケールダウンを実行する毎に、上記稼動情報収集手段が収集した過去リソース量と上記算出した固定リソース削減量Ｑとを比較する処理と、
該比較の結果、過去リソース量の方が固定リソース削減量Ｑより大きければ、過去リソース量×（１÷ｎ）を、当該回のスケールダウンの削減量として算出し、
過去リソース量の方が固定リソース削減量Ｑより小さければ、過去リソース量を、当該回のスケールダウンの削減量として算出する処理と、
予め定められたスケジュール間隔で、上記スケールダウン実行回数ｎだけ、上記現在割当済みのリソース値Ｍからの、上記算出した当該回のスケールダウンの削減量分の削減を繰り返す処理とを実行する
ことを特徴とする仮想サーバスケールダウン制御方法。
【請求項９】
請求項６に記載の仮想サーバスケールダウン制御方法であって、
上記コンピュータ装置は、プログラムされたコンピュータ処理を実行する手段として、稼動情報収集手段を具備し、
該稼動情報収集手段は、スケールダウンを実行する毎に、当該時点の各仮想サーバのリソース量（過去リソース量）を収集して記憶装置に記録する処理を実行し、
上記段階的スケールダウン処理手段は、
現在割当済みのリソース値Ｍから上記リソース値ｍを差し引いてリソース削減量Ｐ（Ｐ＝Ｍ−ｍ）を求め、求めた削減量Ｐを上記スケールダウン実行回数ｎで除算して、１回当たりの固定リソース削減量Ｑ（＝Ｐ÷ｎ）を算出する処理を実行すると共に、
外部から指示され上記指示情報登録手段が記憶装置に記録した選択情報に応じ、仮想サーバのスケールダウンに用いる処理として、
予め定められたスケジュール間隔で、上記スケールダウン実行回数ｎだけ、上記算出した固定リソース削減量Ｑ分の上記現在割当済みのリソース値Ｍからの削減を繰り返す基本パターン処理と、
ｎ回のスケールダウンを実行する毎に、上記稼動情報収集手段が収集した過去リソース量と上記算出した固定リソース削減量Ｑとを比較して、該比較の結果、過去リソース量の方が固定リソース削減量Ｑより大きければ、過去リソース量×（１÷ｎ）を、当該回のスケールダウンの削減量として算出し、過去リソース量の方が固定リソース削減量Ｑより小さければ、過去リソース量を、当該回のスケールダウンの削減量として算出し、予め定められたスケジュール間隔で、上記スケールダウン実行回数ｎだけ、上記現在割当済みのリソース値Ｍからの、上記算出した当該回のスケールダウンの削減量分の削減を繰り返す拡張パターン処理と
のいずれか一方の処理を選択する処理を実行することを特徴とする仮想サーバスケールダウン制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムにおける仮想化技術を利用した仮想サーバの割当てリソース量を変更する技術に係り、特に、仮想サーバに対する割当てリソースの縮小（スケールダウン）を、当該仮想サーバ上で稼動するシステムへの影響を抑えながら行うのに好適な技術に関するものである。
【背景技術】
【０００２】
仮想化技術を利用したコンピュータシステム環境では、仮想サーバに対するＣＰＵ（Central Processing Unit；中央処理装置）、メモリ等のリソース割当量を柔軟に変更できる。この技術により、仮想サーバ上で稼動するシステムの処理量に応じて、割当てリソースを拡大または縮小することで、物理的なリソースを効率よく利用することが可能となる。
【０００３】
仮想サーバに対するリソースの割り当て量を、稼動システムの処理量に応じて変更する場合には、定期的に、システムの稼動状況を捕捉し、定期的に、割当てリソースの変更を検討するといった技術が考えられるが、これを効率的に行う技術として、例えば特許文献１に記載の技術がある。
【０００４】
この特許文献１においては、システムのビジネスプロセス定義から、必要とするリソース利用量を予測し、リソース不足が考えられるサーバに対して、予め割り当てリソースを追加するといった技術が記載されている。
【０００５】
このような技術により、仮想サーバに対する割り当てリソース量を追加し、稼動システムの処理能力を確保する技術の効率化が図られている。
【０００６】
しかし、これらの従来技術を、稼動システムの処理量低下により、割当てリソースを縮小（スケールダウン）する場合に適用した際、１回の変更作業で割当てリソースが縮小されるため、予期しないリソース不足等が発生し、仮想サーバ上で稼動するシステムに影響が出ることが懸念される。
【０００７】
また、人手により段階的に縮小する技術が考えられるが、この場合、運用コストが高くなるという問題が発生する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７-１４８４６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
解決しようとする問題点は、従来の技術を、仮想サーバのスケールダウンに適用した場合、仮想サーバに対するリソース量の変更を即座に実施してしまうため、仮想サーバ上で稼動するシステムの性能に影響を与えてしまう点である。
【００１０】
本発明の目的は、これら従来技術の課題を解決し、仮想サーバに対して、現在動作中の構成よりも、リソース使用量の少ない契約に変更した場合に、稼動システムへの影響を抑えるためのスケールダウンの技術を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明は、仮想化技術を用いた仮想サーバに対して段階的にスケールダウンを行うシステムであり、仮想サーバ毎の稼働状況を収集・蓄積し、これを過去リソースとして扱い、計画的な削減量と過去リソースを比較し、スケールダウンを実行する際に削減量を動的に変更することを特徴とする。具体的には、プログラムされたコンピュータ処理によって、仮想サーバに割り当てるリソースを削減するスケールダウンを行う仮想サーバスケールダウン制御システムであって、プログラムされたコンピュータ処理を実行する機能として、外部から指示されたスケールダウン後のリソース値ｍとスケールダウン実行回数ｎを記憶装置に記録する指示情報登録機能と、記憶装置に記録されたリソース値ｍとスケールダウン実行回数ｎを読み出し、読み出したスケールダウン実行回数ｎで、現在割当済みのリソース値Ｍをリソース値ｍまで削減する段階的スケールダウン処理機能とを有し、仮想サーバに対するスケールダウンを段階的に行うために、段階的なスケールダウンを、以下の２パターンに分類して、最適な技術を選択させる。第１の技術は、基本パターン処理技術で、リソース容量削減量を固定して、段階的にスケールダウンする技術であり、第２の技術は、拡張パターン処理技術であり、過去のリソース使用量をもとに、リソース容量削減比率を動的に変更する技術である。この拡張パターン処理技術では、「過去のリソース使用量＞固定削減量」であれば、過去のリソース使用量×（１/ｎ）を削減量とし、また、「過去のリソース使用量＜固定削減量」でれば、過去のリソース使用量を削減量とする。この拡張パターン処理技術では、仮想サーバ毎の稼動情報を予め収集・蓄積し、スケールダウンを行う際に、過去のリソース使用量と固定削減量の比較結果から、１回当たりの削減量を動的に算出して、割当てリソースの変更を行うものであり、このことにより、仮想サーバ上で稼動するシステムの処理量に応じて、最適な削減量を動的に決定することができ、処理量の多い仮想サーバは、削減量を小さくして削減することが実現でき、また、処理量の少ない仮想サーバは、削減量を大きくして削減することが実現できるので、稼動システムへの影響を極力抑えることができる。
【発明の効果】
【００１２】
本発明によれば、仮想サーバの段階的なスケールダウンを実現するための複数のパターンを用意し、これを選択することで、稼動システムへの影響を抑えかつ人手による工数を必要としない、スケールダウンが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明に係る仮想サーバのスケールダウン制御システムの構成例を示すブロック図である。
【図２】図１における段階的スケールダウン処理機能の動作例を示すフローチャートである。
【図３】図１における稼働情報収集機能の動作例を示すフローチャートである。
【図４】図１における作業実行機能の動作例を示すフローチャートである。
【図５】図１における自動プロビジョニング機能の動作例を示すフローチャートである。
【図６】図１における契約管理ＤＢの契約情報テーブルの構成例を示す説明図である。
【図７】図１における契約管理ＤＢの契約変更指示登録テーブルの構成例を示す説明図である。
【図８】図１における稼働情報ＤＢの構成例を示す説明図である。
【図９】本発明に係る仮想サーバのスケールダウン制御システムによる基本パターンでの処理結果例を示す説明図である。
【図１０】本発明に係る仮想サーバのスケールダウン制御システムによる拡張パターンでの処理結果例を示す説明図である。
【発明を実施するための形態】
【００１４】
以下、図を用いて本発明を実施するための形態例を説明する。図１においては、本発明に係る仮想サーバスケールダウン制御システムの構成を示しており、この図１において、１は本発明に係る仮想サーバのスケールダウン制御を実行する構成変更システムであり、２は構成変更システム１による処理対象となる仮想環境、１０はパーソナルコンピュータ等で起動された入出力処理システム（図中および以下「ＧＵＩ」と記載）である。尚、構成変更システム１と仮想環境２およびＧＵＩ１０のそれぞれは図示していないネットワークにより接続されている。
【００１５】
図１における構成変更システム１は、ＣＰＵや主メモリ、表示装置、入力装置、外部記憶装置等を具備したコンピュータ構成からなり、光ディスク駆動装置等を介してＣＤ−ＲＯＭ等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みＣＰＵで処理することにより、各機能の処理を実行する。
【００１６】
すなわち、構成変更システム１は、プログラムされたコンピュータ処理を実行する機能（手段）として、契約管理ＤＢ１１と稼働情報ＤＢ１２および段階的スケールダウン処理機能１３を有し、この段階的スケールダウン処理機能１３は、作業実行機能１３１、自動プオロビジョニング機能１３２、稼働情報収集機能１３３等からなる。
【００１７】
このような構成により、本例の構成変更システム１は、仮想環境２上で動作する各仮想サーバ２ａ〜２ｃに対する割り当てリソースの変更を行う。
【００１８】
すなわち、本例の仮想サーバスケールダウン制御システムは、仮想サーバ２ａ〜２ｃに割り当てるリソースを削減するスケールダウンを行う際、構成変更システム１において、ＧＵＩ１０からのスケールダウン登録情報１０ｂとして指示されたスケールダウン後のリソース値ｍとスケールダウン実行回数ｎを、契約管理ＤＢ１１を介して入力し、契約変更指示登録テーブル１１ｂに記録する。尚、契約管理ＤＢ１１においては、ＧＵＩ１０から指示された契約リソース量等を含む契約情報１０ａが契約情報テーブル１１ａとして記録されている。
【００１９】
そして、構成変更システム１は、段階的スケールダウン処理機能１３により、契約管理ＤＢ１１が契約変更指示登録テーブル１１ｂにおいて記録したリソース値ｍとスケールダウン実行回数ｎを読み出し、読み出したスケールダウン実行回数ｎで、現在割当済みのリソース値Ｍを上記リソース値ｍまで削減する処理を実行する。
【００２０】
例えば、段階的スケールダウン処理機能１３は、作業実行機能１３１の基本パターン処理機能（図中「基本パターン」と記載）１３１ｂにより、現在割当済みのリソース値Ｍからリソース値ｍを差し引いてリソース削減量Ｐ（Ｐ＝Ｍ−ｍ）を求め、求めた削減量Ｐをスケールダウン実行回数ｎで除算して、１回当たりの固定リソース削減量Ｑ（＝Ｐ÷ｎ）を算出し、自動プロビジョニング機能１３２により、予め定められたスケジュール間隔で、スケールダウン実行回数ｎだけ、作業実行機能１３１において算出した固定リソース削減量Ｑ分の現在割当済みのリソース値Ｍからの削減を繰り返す処理を実行する。
【００２１】
あるいは、段階的スケールダウン処理機能１３は、稼動情報収集機能１３３により、スケールダウンを実行する毎に、当該時点の各仮想サーバ２ａ〜２ｃのリソース量（過去リソース量）を収集して稼動情報ＤＢ１２を介して記録する。
【００２２】
そして、作業実行機能１３１の拡張パターン処理機能（図中「拡張パターン」と記載）１３１ｃにより、現在割当済みのリソース値Ｍからリソース値ｍを差し引いてリソース削減量Ｐ（Ｐ＝Ｍ−ｍ）を求め、求めた削減量Ｐをスケールダウン実行回数ｎで除算して、１回当たりの固定リソース削減量Ｑ（＝Ｐ÷ｎ）を算出すると共に、ｎ回のスケールダウンを実行する毎に、稼動情報収集機能１３３において収集した過去リソース量と、算出した固定リソース削減量Ｑとを比較し、比較の結果、過去リソース量の方が固定リソース削減量Ｑより大きければ、過去リソース量×（１÷ｎ）を、当該回のスケールダウンの削減量として算出し、また、過去リソース量の方が固定リソース削減量Ｑより小さければ、過去リソース量を、当該回のスケールダウンの削減量として算出して、予め定められたスケジュール間隔で、スケールダウン実行回数ｎだけ、現在各仮想サーバ２ａ〜２ｃに割当済みのリソース値Ｍからの、算出した当該回のスケールダウンの削減量分の削減を繰り返す処理を実行する。
【００２３】
尚、段階的スケールダウン処理機能１３は、作業実行機能１３１における基本パターン処理機能１３１ｂと拡張パターン処理機能１３１ｃのいずれの機能を用いるかは、ＧＵＩ１０からのスケールダウン登録情報１０ｂにおいて指示され、契約管理ＤＢ１１の契約変更指示登録テーブル１１ｂにおいて記録された情報に応じて選択し決定する。
【００２４】
以下、このような仮想サーバスケールダウン制御システムの具体的な動作説明を行う。
【００２５】
図１における構成変更システム１には、段階的スケールダウン処理機能１３が稼動しており、割当てリソースの段階的なスケールダウンを実現するため、変更作業のスケジュールと作業指示情報を生成する作業実行機能１３１と、作業実行機能１３１の指示により仮想サーバ２ａ〜２ｃのリソース変更を行う自動プロビジョニング機能１３２、さらには、段階的なスケールダウンを行うため、過去のリソース量を収集・蓄積するための稼動情報収集機能１３３を設けている。
【００２６】
顧客との契約リソース量は、ＧＵＩ１０により契約管理ＤＢ１１の契約情報テーブル１１ａに格納されている。
【００２７】
顧客の要求等によりスケールダウンが必要になった場合、ＧＵＩ１０によりリソース種別、変更前後容量、削減回数、削減間隔、削減パターンを登録する。登録した情報は、契約管理ＤＢ１１の契約変更指示登録テーブル１１ｂに格納される。
【００２８】
格納された契約変更指示登録テーブル１１ｂの内容は、作業実行機能１３１により読み取られ、削減回数および削減間隔により、実行スケジューラ１３１ａが変更作業の実施日時を確定する。
【００２９】
この際、作業実行機能１３１は、契約管理ＤＢ１１の契約変更指示登録テーブル１１ｂに格納された削減パターンにより、基本パターンと拡張パターンのいずれであるかを読み取り、パターンに応じて、基本パターン処理機能１３１ｂと拡張パターン処理機能１３１ｃのいずれかを選択して、１回当たりの削減量を決定する。
【００３０】
基本パターンは、削減量を固定にするが、拡張パターンの場合は、作業実施の都度、稼動情報収集機能１３３が収集した稼動情報ＤＢ１２の内容から削減量を自動的に決定する。
【００３１】
この機能により、リソース変更の対象となる仮想サーバの削減量を動的に変更することで、仮想サーバ２ａ〜２ｃ上で稼動するシステムへの影響を極力抑えることが可能となる。
【００３２】
自動プロビジョニング機能１３２は、作業実行機能１３１からの作業指示情報に基づき、対象となる仮想サーバ２ａ〜２ｃに対し、リソース変更作業を実行する。
【００３３】
また、稼動情報収集機能１３３は、ＧＵＩ１０を介して予め契約管理ＤＢ１１の契約情報テーブル１１ａに登録された各仮想サーバ２ａ〜２ｃのリソース使用量を定期的に収集し、収集した情報を、稼動情報ＤＢ１２に蓄積する機能を有する。
【００３４】
図２を用いて、段階的スケールダウン処理機能１３の動作例を説明する。
【００３５】
顧客との契約情報と契約変更を図１のＧＵＩ１０で受付し、夫々、ステップ２０１，２０２での契約情報登録受付と契約変更受付の処理を行い、契約管理ＤＢ１１を更新する。
【００３６】
ステップ２０３の処理では、新規契約か否かを判定し、新規契約の場合は、ステップ２０４において、稼動情報収集機能１３３による稼動情報の収集と蓄積が開始される。
【００３７】
ステップ２０５の処理では、割当てリソースの契約に変更があるか否かを判断し、リソース量の変更がある場合、ステップ２０６において作業実行機能１３１を起動する。
【００３８】
次に、図３を用いて、稼動情報収集機能１３３の処理動作例を説明する。
【００３９】
稼動情報収集機能１３３は、段階的スケールダウン処理機能１３から起動され、まず、ステップ３０１の処理では、新規契約サーバの有無を判定し、新規契約がある場合には、ステップ３０２において、収集対象の仮想サーバとして追加する。
【００４０】
ステップ３０３の処理では、稼動情報収集機能１３３が対象とする仮想サーバ数分、ステップ３０４，３０５における、CPU、メモリ等のリソース利用量の収集・蓄積を定期的に行う。
【００４１】
ステップ３０６での判断処理において、稼動情報収集機能１３３の終了指示がない場合は、一定時間待機した後（ステップ３０７）、再度収集対象の仮想サーバのリソース使用量を収集・蓄積する処理を繰返す。
【００４２】
次に、図４を用いて、作業実行機能１３１の処理動作例を説明する。
【００４３】
作業実行機能１３１は、段階的スケールダウン処理機能１３から起動され、契約管理ＤＢ１１の契約変更指示登録テーブル１１ｂに登録されている変更指示分だけ、ステップ４０２〜４１３の処理を繰り返し実行する（ステップＳ４０１）。
【００４４】
ステップ４０２での判別処理において、契約変更指示がスケールアップの場合は、１回の作業でリソース割り当て変更を行うため、ステップ４０３での処理によって自動プロビジョニング機能１３２を実行し、次の契約変更指示を処理する。
【００４５】
また、契約変更指示がスケールダウンの場合は、ステップ４０４での処理により、変更前後のリソース量と削減回数から、１回の作業毎の固定削減量を算出する。以降は、削減回数分、ステップ４０６〜４１３のループ処理を実行する（ステップ４０５）。
【００４６】
ステップ４０６の処理では、契約変更指示が基本パターンであるか否（拡張パターン）かを判別し、契約変更指示が基本パターンの場合は、毎回固定量を削減する処理となるため、ステップ４０７での処理により、削減量を、ステップ４０５で算出した削減量に設定する。
【００４７】
契約変更指示が拡張パターンの場合は、ステップ４０８での処理により、稼動情報ＤＢ１２に蓄積された過去リソース量を取得する。
【００４８】
そして、取得した過去リソース量と、ステップ４０５の処理で算出したループ回数に該当するｎ回目の予定リソース量（変更前の契約リソース量−（ｎ×ステップ４０４で算出した１回当たりの固定削減量））を算出し、過去リソース量とｎ回目の予定リソース量を比較する（ステップ４０９）。
【００４９】
この比較結果において、過去リソース量が多い場合には、予定リソース量を削減すると、稼動するシステムに影響があることが考えられるため、「（過去リソース量−ｎ回目の予定リソース量）×（ｎ回目／削減回数）」の計算式を用いて削減量を決定する（ステップＳ４１０）。
【００５０】
これにより、過去リソース量とｎ回目の予定リソース量の差を、更に削減回数により削減比率を下げる事で、１回当たりの削減量を低減することが可能となる。
【００５１】
逆に、過去リソース量が、ｎ回目の予定リソース量を下回っている場合、ステップ４１１での処理により、削減量を過去リソース量に設定する。これにより、既にリソースを利用しない状況にあった場合は、１回当たりの削減量を拡大する。
【００５２】
以上の処理により得られた削減量を元に、自動プロビジョニング機能１３２を起動し、次回の削減時間まで待機する（ステップ４１３）ことで、段階的にスケールダウンを行う。
【００５３】
この処理により、過去のリソース利用状況に応じて、初期段階にリソースを多く削減するパターンと少なく削減するパターンを動的に作成し、稼動システムの負荷に応じたスケールダウンが可能となる。
【００５４】
次に、図５を用いて、自動プロビジョニング機能１３２の処理動作例を説明する。
【００５５】
自動プロビジョニング機能１３２は、作業実行機能１３から起動されると、仮想サーバ名、リソース種別、変更後のリソース量を保持し（ステップ５０１）、仮想機構２における図示していない管理システムに対して変更要求を送信し、変更作業を実行させる（ステップ５０２）。
【００５６】
図６においては、契約管理ＤＢ１１における契約情報テーブル１１ａの構成例を示しており、本例の契約管理ＤＢ契約情報テーブル６０では、契約情報は、顧客名６０１と顧客ＩＤ６０２および仮想サーバ名６０３と仮想サーバＩＤ６０４で関連付けられ、夫々の仮想サーバのリソースをＣＰＵ割当て６０５、メモリ割当て６０６で管理する。
【００５７】
図７においては、契約管理ＤＢ１１における契約変更指示登録テーブル１１ｂの構成例を示しており、本例の契約管理ＤＢ１１契約変更指示登録テーブル７０では、契約情報テーブル１１ａとの関連を持たせるための顧客ＩＤ７０１、仮想サーバＩＤ７０２の項目を有する。
【００５８】
また、ＧＵＩ１０から指定された変更内容を登録するための、リソース種別７０３、現在割当量７０４、変更後の割当て量７０５、削減回数７０６、削減間隔７０７、削減パターン７０８の項目を有している。
【００５９】
ここで定義された削減回数と削減間隔および削減パターンによって、段階的スケールダウンの期間とスケールダウンの実行動作を制御することとなる。
【００６０】
尚、スケールアップする場合には、削減回数７０６は、１固定、削減間隔、削減パターンは、指定できないこととなる。
【００６１】
図８においては、稼動情報ＤＢ１２における稼動情報の構成例を示しており、仮想サーバを識別する仮想サーバＩＤ８０１と、２４時間平均の過去リソース量を示す２４時間平均８０２、５分平均の過去リソース量を示す５分平均８０３等の項目を有する。尚、２４時間平均８０２や５分平均８０３以外に、１分平均や１０分平均などのデータを蓄積することも可能である。
【００６２】
図９においては、本例の仮想サーバのスケールダウン制御システムによる基本パターンでの処理結果例を示し、図１０においては、本例の仮想サーバのスケールダウン制御システムによる拡張パターンでの処理結果例を示している。
【００６３】
図９（ａ）のテーブル９０１においては、ＧＵＩ１０から指定したリソース種別と、現在割当て、変更後割当て、削減回数等が示され、さらに、指定された数値からの１回当たり削減量と１回の固定削減比率とが付加情報として例示されている。
【００６４】
そして、図９（ｂ）のテーブル９０２においては、テーブル９０１で指定された情報を基本パターンでスケールダウンした場合の実施結果の例を示しており、削減リソース量、削減比率が、均等に割り振られた例が示されており、グラフ９０２ａにおいては、削減後の変更後リソース量と削減リソース量も一定の値を示している。
【００６５】
図１０（ａ）のテーブル９０３においては、変更時全てにおいて、過去リソース量が、図９（ｂ）のテーブル９０２で示したｎ回目の削減後リソース量を上回っている場合であり、稼動システムの処理量が高く、スケールダウンの実行により稼動システムへの影響が懸念されるケースを想定した例である。グラフ９０３ａにおいては、削減リソース量が、段階的に増加していることで、動的に削減量を決定していることが分かる。
【００６６】
図１０（ｂ）のテーブル９０４においては、変更時全てにおいて、過去リソース量が、図９（ｂ）のテーブル９０２で示したｎ回目の削減後リソース量を下回っている場合であり、稼動システムの処理量が低く、１回当りの削減リソース量が基本パターンより大きくなっているケースを想定した例である。グラフ９０４ａにおいて示すように、早い段階で、リソース量の削減処理が完了していることが分かる。
【００６７】
図１０（ｃ）のテーブル９０５とグラフ９０５ａにおいては、上述のテーブル９０３，９０４の状態を混在した場合を想定したケースを示しており、変更作業毎に削減量が大きく変化し、過去リソースの状況に応じて、最適な削減リソース量を決定している例である。
【００６８】
以上、図１〜図１０を用いて説明したように、本例の仮想サーバスケールダウン制御技術は、仮想化技術を用いた仮想サーバに対して段階的にスケールダウンを行う際に、仮想サーバ毎の稼働状況を収集・蓄積し、これを過去リソースとして扱い、計画的な削減量と過去リソースを比較し、スケールダウンを実行する際に削減量を動的に変更する。
【００６９】
具体的には、プログラムされたコンピュータ処理によって、仮想サーバに割り当てるリソースを削減するスケールダウンを行う仮想サーバスケールダウン制御システムであって、プログラムされたコンピュータ処理を実行する機能として、外部から指示されたスケールダウン後のリソース値ｍとスケールダウン実行回数ｎを記憶装置に記録する機能（契約管理ＤＢ１１）と、記憶装置に記録されたリソース値ｍとスケールダウン実行回数ｎを読み出し、読み出したスケールダウン実行回数ｎで、現在割当済みのリソース値Ｍをリソース値ｍまで削減する段階的スケールダウン処理機能１３とを有し、仮想環境２における仮想サーバ２ａ〜２ｃに対するスケールダウンを段階的に行うために、段階的なスケールダウンを、以下の２パターンに分類して、最適な技術を選択させる。
【００７０】
第１の技術は、基本パターン処理技術で、リソース容量削減量を固定して、段階的にスケールダウンする技術であり、第２の技術は、拡張パターン処理技術であり、過去のリソース使用量をもとに、リソース容量削減比率を動的に変更する技術である。
【００７１】
この拡張パターン処理技術では、「過去のリソース使用量＞固定削減量」であれば、過去のリソース使用量×（１/ｎ）を、また、「過去のリソース使用量＜固定削減量」でれば、過去のリソース使用量を、それぞれ削減量とする。
【００７２】
この拡張パターン処理技術では、仮想サーバ毎の稼動情報を予め収集・蓄積し、スケールダウンを行う際に、過去のリソース使用量と固定削減量の比較結果から、１回当たりの削減量を動的に算出して、割当てリソースの変更を行うものであり、このことにより、仮想サーバ上で稼動するシステムの処理量に応じて、最適な削減量を動的に決定することができ、処理量の多い仮想サーバは、削減量を小さくして削減することが実現でき、また、処理量の少ない仮想サーバは、削減量を大きくして削減することが実現できるので、稼動システムへの影響を極力抑えることができる。
【００７３】
このように、本例では、仮想サーバの段階的なスケールダウンを実現するための複数のパターンを用意し、これを選択することで、稼動システムへの影響を抑えかつ人手による工数を必要としない、スケールダウンが可能となる。特に、段階的にスケールダウンを行う際に、拡張パターンにより、過去リソース量から削減量を動的に変化させることで、仮想サーバ上で稼動するシステムの処理量に応じた最適なスケールダウンを実現することが可能となる。
【００７４】
尚、本発明は、図１〜図１０を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、契約管理ＤＢ１１と段階的スケールダウン処理機能１３を構成変更システム１として同じコンピュータ装置内に設けた構成としているが、契約管理ＤＢ１１と段階的スケールダウン処理機能１３のそれぞれＬＡＮ（Local Area Network）等で接続された異なるコンピュータ装置に設けた構成としても良い。また、仮想環境２を構成する仮想サーバ２ａ〜２ｃに関してもその数の増減が可能である。
【００７５】
また、本例の仮想サーバスケールダウン制御技術を、アウトソーシングサービスにおける仮想化ホスティングサービスの運用業務、および仮想化技術を利用して構築された仮想サーバの構成変更業務に利用することができる。
【００７６】
また、本例のコンピュータ装置の構成に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【符号の説明】
【００７７】
１：構成変更サーバ、２：仮想環境、２ａ〜２ｃ：仮想サーバ、１０：入出力処理システム（「ＤＵＩ」）、１０ａ：契約情報、１０ｂ：スケールダウン登録情報、１１：契約管理ＤＢ、１１ａ：契約情報テーブル、１１ｂ：契約変更指示登録テーブル、１２：稼動情報ＤＢ、１３：段階的スケールダウン処理機能、６０：テーブル（契約管理ＤＢ契約情報テーブル）、７０：テーブル（契約管理ＤＢ契約変更指示登録テーブル）、８０：テーブル、１３１：作業実行機能、１３１ａ：実行スケジューラ、１３１ｂ：基本パターン処理機能、１３１ｃ：拡張パターン処理機能、１３２：自動プロビジョニング機能、１３３：稼動情報収集機能、１３４，１３５：作業指示情報、６０１：項目（顧客名）、６０２：項目（顧客ＩＤ）、６０３：項目（仮想サーバ名）、６０４：項目（仮想サーバＩＤ）、６０５：項目（ＣＰＵ割当て）、６０６：項目（メモリ割当て）、７０１：項目（顧客ＩＤ）、７０２：項目（仮想サーバＩＤ）、７０３：項目（リソース種別）、７０４：項目（現在割当て）、７０５：項目（変更後割当て）、７０６：項目（削減回数）、７０７：項目（削減間隔）、７０８：項目（削減パターン）、８０１：項目（仮想サーバＩＤ）、８０２：項目（２４時間平均）、８０３：項目（５分平均）、９０１：テーブル（契約情報）、９０２：テーブル（基本パターン）、９０２ａ：グラフ、９０３：テーブル（拡張パターン）、９０３ａ：グラフ、９０４：テーブル（拡張パターン）、９０４ａ：グラフ、９０５：テーブル（拡張パターン）、９０５ａ：グラフ。
【図１】
0005444055.tif 000002
【図２】
0005444055.tif 000003
【図３】
0005444055.tif 000004
【図４】
0005444055.tif 000005
【図５】
0005444055.tif 000006
【図６】
0005444055.tif 000007
【図７】
0005444055.tif 000008
【図８】
0005444055.tif 000009
【図９】
0005444055.tif 000010
【図１０】
0005444055.tif 000011