(57)【要約】【課題】ユーザの体感性能に基づいた要求に応じて仮想マシンを再配置する。【解決手段】仮想マシン２、仮想マシン２が配置されているホスト３、および仮想マシン２を操作するユーザ端末４と通信可能な管理サーバであって、仮想マシン２の体感性能を変更する要求を示す入力信号をユーザ端末４から取得し、仮想マシン２およびホスト３の性能を示すシステム情報を仮想マシン２およびホスト３から取得する取得部５と、取得部５によって取得された入力信号に応じて、仮想マシン２に必要なリソースの割り当てを算出するリソース算出部６と、リソース算出部６によって算出されたリソースの割り当てと、取得部５によって取得されたシステム情報とに基づいて、仮想マシン２の配置構成を決定する決定部７と、決定部７による決定に従って、仮想マシン２の配置を指示する指示部８とを備える。【選択図】図４
2011210134.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシン、仮想マシンが配置されているホスト、および前記仮想マシンを操作するユーザ端末と通信可能な管理サーバであって、
前記仮想マシンの体感性能を変更する要求を示す入力信号を前記ユーザ端末から取得し、前記仮想マシンおよび前記ホストの性能を示すシステム情報を仮想マシンおよびホストから取得する取得部と、
前記取得部によって取得された入力信号に応じて、前記仮想マシンに必要なリソースの割り当てを算出するリソース算出部と、
前記リソース算出部によって算出されたリソースの割り当てと、前記取得部によって取得されたシステム情報とに基づいて、仮想マシンの配置構成を決定する決定部と、
前記決定部による決定に従って、前記仮想マシンの配置を指示する指示部とを備えた
ことを特徴とする管理サーバ。
【請求項２】
取得部は、通信可能な全ての仮想マシンおよびホストの性能を示すシステム情報を取得し、
決定部は、リソース算出部によって算出されたリソースの割り当てと、前記取得部によって取得されたシステム情報とに基づいて、前記全てのホストを候補とした仮想マシンの配置構成を決定する
請求項１記載の管理サーバ。
【請求項３】
リソース算出部は、仮想マシンに割り当てるリソースの優先度を算出する
請求項１または請求項２記載の管理サーバ。
【請求項４】
リソース算出部は、仮想マシンに割り当てるメモリのシェア値を算出する
請求項１から請求項３のうちのいずれか１項に記載の管理サーバ。
【請求項５】
仮想マシンによって使用されたリソース量に基づいて前記仮想マシンに対する課金額を算出する課金部を備えた
請求項１から請求項４のうちのいずれか１項に記載の管理サーバ。
【請求項６】
仮想マシン、仮想マシンが配置されているホスト、および前記仮想マシンを操作するユーザ端末と通信可能な管理サーバにおける仮想マシン管理方法であって、
前記仮想マシンの体感性能を変更する要求を示す入力信号を前記ユーザ端末から取得し、
前記仮想マシンおよび前記ホストの性能を示すシステム情報を仮想マシンおよびホストから取得し、
前記取得された入力信号に応じて、前記仮想マシンに必要なリソースの割り当てを算出し、
前記算出されたリソースの割り当てと、前記取得されたシステム情報とに基づいて、仮想マシンの配置構成を決定し、
前記決定された配置構成に従って、前記仮想マシンの配置を指示する
ことを特徴とする仮想マシン管理方法。
【請求項７】
通信可能な全ての仮想マシンおよびホストの性能を示すシステム情報を取得し、
仮想マシンに必要なリソースの割り当てと、前記取得されたシステム情報とに基づいて、前記全てのホストを候補とした仮想マシンの配置構成を決定する
請求項６記載の仮想マシン管理方法。
【請求項８】
仮想マシン、仮想マシンが配置されているホスト、および前記仮想マシンを操作するユーザ端末と通信可能な管理サーバに、
前記仮想マシンの体感性能を変更する要求を示す入力信号を前記ユーザ端末から取得する処理と、
前記仮想マシンおよび前記ホストの性能を示すシステム情報を仮想マシンおよびホストから取得する処理と、
前記取得された入力信号に応じて、前記仮想マシンに必要なリソースの割り当てを算出する処理と、
前記算出されたリソースの割り当てと、前記取得されたシステム情報とに基づいて、仮想マシンの配置構成を決定する処理と、
前記決定された配置構成に従って、前記仮想マシンの配置を指示する処理とを実行させるための
仮想マシン管理プログラム。
【請求項９】
管理サーバに、
通信可能な全ての仮想マシンおよびホストの性能を示すシステム情報を取得する処理と、
仮想マシンに必要なリソースの割り当てと、前記取得されたシステム情報とに基づいて、前記全てのホストを候補とした仮想マシンの配置構成を決定する処理とを実行させるための
請求項８記載の仮想マシン管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンの配置構成を管理する管理サーバ、仮想マシン管理方法および仮想マシン管理プログラムに関する。
【背景技術】
【０００２】
サーバのマシン資源（リソース）をソフトウェアを使って複数に分割して独立させ、１つのサーバに複数の仮想マシンを同時に稼働させる仮想マシン技術が知られている。そして、仮想マシンシステムをより効率的に稼働させるために、仮想マシンをサーバ上に最適に配置する技術が考案されている。
【０００３】
例えば、ＣＰＵ使用率やメモリ使用率といった仮想マシンの性能情報および仮想マシンのホストのハードウェアスペックに基づいて、ハードウェアのリソースを有効に利用できるようにリソースの割り当てを算出し、算出結果に従って仮想マシンをサーバ上に配置することによって、仮想マシンの処理性能を最適化することができる。そして、仮想マシンシステムを提供する事業者は、仮想マシンに割り当てられたリソース量に応じて、仮想マシンを利用するユーザに課金する。
【０００４】
特許文献１には、複数のサーバにまたがって複数の仮想マシンを最適に配置する管理サーバが記載されている。特許文献１に記載された管理サーバは、仮想マシンのパフォーマンスを示す実測データ（例えば、ＣＰＵ使用率）に基づいて、各仮想マシンを複数のサーバのいずれかで稼働させた場合のパフォーマンス値の合計値が最大となる組み合わせを実現するように、複数のサーバにまたがって複数の仮想マシンを最適に配置する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１１５６５３号公報（段落０００６，００３１）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載された管理サーバでは、実測データに基づいて、全ての仮想マシンが最適なパフォーマンス値を実現するようにリソースが割り当てられるが、必ずしもユーザが希望するリソース量が割り当てられるとは限らない。例えば、仮想マシンに割り当てられたリソース量に応じて課金されるユーザにとっては、「仮想マシンの処理速度が少し遅くなってもよいので課金額を下げたい」といった要求も考えられるが、特許文献１に記載された管理サーバでは、このようなユーザの要求に応じることはできない。
【０００７】
そこで、本発明は、ユーザの体感性能に基づいた要求に応じて仮想マシンを再配置する管理サーバ、仮想マシン管理方法および仮想マシン管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明による管理サーバは、仮想マシン、仮想マシンが配置されているホスト、および仮想マシンを操作するユーザ端末と通信可能な管理サーバであって、仮想マシンの体感性能を変更する要求を示す入力信号をユーザ端末から取得し、仮想マシンおよびホストの性能を示すシステム情報を仮想マシンおよびホストから取得する取得部と、取得部によって取得された入力信号に応じて、仮想マシンに必要なリソースの割り当てを算出するリソース算出部と、リソース算出部によって算出されたリソースの割り当てと、取得部によって取得されたシステム情報とに基づいて、仮想マシンの配置構成を決定する決定部と、決定部による決定に従って、仮想マシンの配置を指示する指示部とを備えたことを特徴とする。
【０００９】
本発明による仮想マシン管理方法は、仮想マシン、仮想マシンが配置されているホスト、および仮想マシンを操作するユーザ端末と通信可能な管理サーバにおける仮想マシン管理方法であって、仮想マシンの体感性能を変更する要求を示す入力信号をユーザ端末から取得し、仮想マシンおよびホストの性能を示すシステム情報を仮想マシンおよびホストから取得し、取得された入力信号に応じて、仮想マシンに必要なリソースの割り当てを算出し、算出されたリソースの割り当てと、取得されたシステム情報とに基づいて、仮想マシンの配置構成を決定し、決定された配置構成に従って、仮想マシンの配置を指示することを特徴とする。
【００１０】
本発明による仮想マシン管理プログラムは、仮想マシン、仮想マシンが配置されているホスト、および仮想マシンを操作するユーザ端末と通信可能な管理サーバに、仮想マシンの体感性能を変更する要求を示す入力信号をユーザ端末から取得する処理と、仮想マシンおよびホストの性能を示すシステム情報を仮想マシンおよびホストから取得する処理と、取得された入力信号に応じて、仮想マシンに必要なリソースの割り当てを算出する処理と、算出されたリソースの割り当てと、取得されたシステム情報とに基づいて、仮想マシンの配置構成を決定する処理と、決定された配置構成に従って、仮想マシンの配置を指示する処理とを実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザの体感性能に基づいた要求に応じて、仮想マシンを再配置することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明による第１の実施形態の管理サーバを含む仮想マシンシステムの構成を示すブロック図である。
【図２】ユーザ端末のブラウザに表示される操作用画面の一例を示す説明図である。
【図３】図１に示す仮想マシンシステムの動作の一例を示すフローチャートである。
【図４】本発明による管理サーバの主要部を示すブロック図である。
【発明を実施するための形態】
【００１３】
実施形態１． 
図１は、本発明による第１の実施形態（実施形態１）の管理サーバを含む仮想マシンシステムの構成を示すブロック図である。図１を参照して、本発明による第１の実施形態の管理サーバ１０を含む仮想マシンシステムの構成を説明する。
【００１４】
管理サーバ１０は、ホスト２０，３０およびユーザ端末４０と通信可能に接続される。管理サーバ１０には、サーバ、ストレージおよびネットワークなどのリソースを管理する運用管理ソフトウェアがインストールされている。管理サーバ１０は、取得部１１、格納部１２および制御部１３を備える。
【００１５】
取得部１１は、ホスト２０，３０およびユーザ端末４０と通信を行う。取得部１１は、例えば、ホスト２０を介して、ホスト２０に配置されている仮想マシン２１，２２とも通信を行うことができてもよい。
【００１６】
取得部は、ホスト２０，３０との通信によって、仮想マシン２１，２２，３１，３２およびホスト２０，３０のそれぞれの性能を示すシステム情報を取得する。具体的には、例えば、ホスト２０について、ホスト２０のＣＰＵ数、クロック周波数、メモリ容量、ＣＰＵ使用量およびメモリ使用量などを取得し、仮想マシン２１について、仮想マシン２１のＣＰＵ使用量やメモリ使用量などを取得する。
【００１７】
また、取得部１１は、ユーザ端末４０との通信によって、ユーザ端末４０に仮想マシン２１の体感性能を変更する要求操作が行われた場合に、ユーザ端末４０が要求操作に応じて出力する所定の入力信号を取得する。
【００１８】
格納部１２は、取得部１１によって取得された情報や、制御部１３によって算出されたデータなどを格納する。
【００１９】
制御部１３は、管理サーバ１０の全体を制御するほか、運用管理ソフトウェアの動作に従って、ホスト２０，３０およびその内部に配置された仮想マシン２１，２２，３１，３２を管理する。例えば、制御部１３は、ホスト２０，３０および仮想マシン２１，２２に対してデプロイメントや死活監視を行う。また、制御部１３は、ホスト２０，３０に配置されている仮想マシン２１，２２，３１，３２に割り当てるリソース（例えば、ＣＰＵ数やメモリ容量）を管理する。さらに、制御部１３は、仮想マシン２１とユーザ端末４０を結び付けてセッション管理を行うこともできる。
【００２０】
ホスト２０は、１台以上の仮想マシンにリソースを割り当てて配置することができ、例えば、仮想マシン２１，２２を含む。
【００２１】
ホスト３０は、１台以上の仮想マシンにリソースを割り当てて配置することができ、例えば、仮想マシン３１，３２を含む。なお、ホスト３０は、仮想マシンのプロビジョニングのために予め用意されているホストであってもよい。
【００２２】
ユーザ端末４０は、仮想マシン２１を利用するために、ユーザによって操作される処理端末である。ユーザ端末４０は、管理サーバ１０および仮想マシン２１に接続される。ユーザが、ユーザ端末４０を介して仮想マシン２１を利用する場合には、例えば、ユーザ端末４０のブラウザ（図示せず）に、所定の操作用画面が表示される。
【００２３】
図２は、ユーザ端末のブラウザに表示される操作用画面の一例を示す説明図である。図２のＡに示す領域には、プルダウン方式の入力リストであるプルダウン４１が埋め込まれている。プルダウン４１は、例えば、「非常に重い」「やや重い」「ちょうど良い」「やや軽い」の４つの選択肢を有する。なお、プルダウン４１のそれぞれの選択肢には、対応する所定のパラメータ値が設定されている。
【００２４】
図３は、図１に示す仮想マシンシステムの動作の一例を示すフローチャートである。図３を参照して、図１に示すユーザ端末４０から仮想マシン２１の体感性能を変更する場合に、仮想マシンシステムが行う動作の一例を説明する。
【００２５】
まず、ユーザ端末４０を介して仮想マシン２１を利用するユーザは、仮想マシン２１の処理速度に関して、仮想マシン２１の体感性能を変更するために、プルダウン４１の選択肢のうち、ユーザが体感した感覚に近い選択肢を選択する操作を行う。
【００２６】
例えば、ユーザが、仮想マシン２１の処理速度を速めたいと考える場合には、仮想マシン２１の処理速度が遅い、すなわち、反応が重いと感じていることになるので、「非常に重い」または「やや重い」を示す選択肢を選択する操作を行う。
【００２７】
また、例えば、ユーザが、使用リソース量に応じて課金される場合に、必要以上に課金額が高くなることを避けるために仮想マシン２１の処理速度を遅くしたいと考えるときには、ユーザは、必要以上に仮想マシン２１の処理速度が速い、すなわち、反応が軽すぎると感じていることになるので、「やや軽い」を示す選択肢を選択する操作を行う。
【００２８】
また、例えば、ユーザが、仮想マシン２１の処理速度を変更する必要がないと考える場合には、「ちょうど良い」を示す選択肢を選択する操作を行う。「ちょうど良い」が選択された場合には、変更する必要がないので、管理サーバ１０は、後述の処理を行わない。
【００２９】
ステップＳ１１においてユーザが「非常に重い」を示す選択肢を選択したとする。ユーザ端末４０は、ユーザによるブラウザへの入力操作に対応する所定のパラメータ値を示す入力信号を出力する（ステップＳ１１）。管理サーバ１０の取得部１１は、ユーザ端末４０から入力信号を取得する（ステップＳ１２）。
【００３０】
なお、取得部１１は、制御部１３の制御によって、ホスト２０，３０から仮想マシン２１，２２，３１，３２およびホスト２０，３０のシステム情報を予め取得している。取得部１１が取得したシステム情報は、格納部１２に格納されている。
【００３１】
管理サーバ１０の制御部１３は、取得部１１がユーザ端末４０から取得した入力信号に応じて、仮想マシン２１に必要なリソースの割り当てを算出する（ステップＳ１３）。具体的には例えば、「非常に重い」を示す選択肢に対応した入力信号の場合には、仮想マシン２１に割り当てるリソース量を増やしたり、仮想マシン２１に割り当てるリソースの割り当ての優先度を上げたり、仮想マシン２１が利用可能なメモリのシェア値を上げたりすることが考えられる。リソースの割り当ての算出における具体的な実行内容は、仮想マシン２１が構築されている仮想化基盤によって、効果的な実行方法が設定される。
【００３２】
次に、制御部１３は、算出したリソースの割り当てと、取得部１１によって予め取得されて格納部１２に格納されているシステム情報とに基づいて、リソースを最適に活用できるような仮想マシンの配置構成を決定する（ステップＳ１４）。例えば、仮想マシン２１の再配置先は、仮想マシン２１が現在配置されているホスト２０とすることを優先し、仮想マシン２１に対して算出されたリソースの割り当てをホスト２０に確保できない場合には、ホスト３０のリソースを仮想マシン２１に割り当てる、といった所定の処理基準に従って、仮想マシンの配置構成を決定する。
【００３３】
なお、管理サーバ１０が複数の仮想マシンを管理している場合には、仮想マシン２１の配置先を決定するときに、仮想マシン２１以外の仮想マシンの配置先を変更してもよい。さらに、仮想マシン２１以外の仮想マシンに割り当てるリソース量を変更してもよい。このような管理サーバ１０では、仮想マシン２１に対する体感性能の変更要求に応えるだけでなく、他の仮想マシンの配置も調整することによって、例えば、リソース割り当てが過大な仮想マシンのリソースを削減して、リソース割り当てが不足している仮想マシンに割り当てるといったこともでき、仮想マシンシステム全体で、リソースを有効に活用することが期待できる。
【００３４】
ステップＳ１４においてリソースを最適に活用できるような仮想マシンの配置構成が決定されると、ホスト２０，３０は、制御部１３による指示に従って、決定された新しい配置先に仮想マシン２１を再配置する（ステップＳ１５）。新しい配置先に再配置された仮想マシン２１は、リソースの割り当てが変更されたことによって処理速度が向上し、ユーザに、「処理速度が速くなった」という体感性能の変更を感じさせることができる。
【００３５】
したがって、管理サーバ１０は、ユーザによる体感性能の変更の要求をリアルタイムで取得し、ユーザの要求に応えられるだけのリソースを仮想マシン２１に割り当てて再配置するので、ユーザの仮想マシンシステムの使用満足度を向上させることができる。
【００３６】
また、このような管理サーバは、ユーザ端末４０からの入力信号を取得すると自動で仮想マシン２１の再配置を行うことができるので、サーバ管理者の負担を軽減することができる。
【００３７】
また、このような管理サーバは、ユーザに数値を指定または選択させることなく、体感的な選択肢を選ばせるだけで、リソースの割り当てのチューニングを行うことができるので、ユーザにとって操作性の向上が期待できる。さらに、選択肢を増やせば、選択肢に対応してリソースの割り当ての細やかな設定パターンを増やすこともできるので、仮想マシンシステムにとってのリソースの割り当て効率も向上させることができる。
【００３８】
実施形態２．
本発明における管理サーバの第２の実施形態（実施形態２）について説明する。第２の実施形態の管理サーバでは、図１に示す管理サーバ１０の構成に課金部（図示せず）が追加される。
【００３９】
課金部は、ユーザがユーザ端末４０を操作して仮想マシン２１を使用した場合に、仮想マシン２１で使用されたリソース量を記録する。課金部は、記録したリソース量を仮想マシン２１に対する課金データとして格納部１２に格納する。
【００４０】
格納部１２に格納された課金データは、仮想マシンシステムをサービスとして提供するサービス提供者によって、ユーザに対する課金に利用される。
【００４１】
このような管理サーバでは、ユーザは使用リソース量に応じて課金されるので、仮想マシンに対する体感性能について、ユーザに注目を促すことができる。例えば、ユーザは、仮想マシン２１の処理速度が速いと感じる場合には、使用リソース量を減らして課金額を下げるために、プルダウン４１から「やや軽い」という選択肢を選択することも考えられる。その結果、割り当てを減らしたリソースを他の仮想マシンに割り当てることもできるので、仮想マシンシステム全体でリソースを有効に活用することが期待できる。
【００４２】
図４は、本発明による管理サーバの主要部を示すブロック図である。図４に示すように、管理サーバ１（例えば、図１に示す管理サーバ１０に相当）は、仮想マシン２（例えば、図１に示す仮想マシン２１に相当）、仮想マシン２が配置されているホスト３（例えば、図１に示すホスト２０に相当）、および仮想マシン２を操作するユーザ端末４（例えば、図１に示すユーザ端末４０に相当）と通信可能な管理サーバであって、仮想マシン２の体感性能を変更する要求を示す入力信号をユーザ端末４から取得し、仮想マシン２およびホスト３の性能を示すシステム情報を仮想マシン２およびホスト３から取得する取得部５（例えば、図１に示す取得部１１に相当）と、取得部５によって取得された入力信号に応じて、仮想マシン２に必要なリソースの割り当てを算出するリソース算出部６（例えば、図１に示す制御部１３に相当）と、リソース算出部６によって算出されたリソースの割り当てと、取得部５によって取得されたシステム情報とに基づいて、仮想マシン２の配置構成を決定する決定部７（例えば、図１に示す制御部１３に相当）と、決定部７による決定に従って、仮想マシン２の配置を指示する指示部８（例えば、図１に示す制御部１３に相当）とを備えるように構成されている。
【００４３】
また、上記の各実施形態の管理サーバには、以下の（１）〜（４）に示すような管理サーバも開示されている。
【００４４】
（１）取得部は、通信可能な全ての仮想マシンおよびホストの性能を示すシステム情報を取得し、決定部は、リソース算出部によって算出されたリソースの割り当てと、取得部によって取得されたシステム情報とに基づいて、全てのホストを候補とした仮想マシンの配置構成を決定する管理サーバ。
【００４５】
（２）リソース算出部は、仮想マシンに割り当てるリソースの優先度を算出する管理サーバ。
【００４６】
（３）リソース算出部は、仮想マシンに割り当てるメモリのシェア値を算出する管理サーバ。
【００４７】
（４）仮想マシンによって使用されたリソース量に基づいて仮想マシンに対する課金額を算出する課金部を備えた管理サーバ（例えば、第２の実施形態の管理サーバによって実現できる。）。
【産業上の利用可能性】
【００４８】
本発明によれば、仮想マシンを含むコンピュータリソースなどを管理するための運用管理システムといった用途に適用できる。また、運用管理システムを用いたクラウドコンピューティングのシステムといった用途にも適用可能である。
【符号の説明】
【００４９】
１    管理サーバ
２    仮想マシン
３    ホスト
４    ユーザ端末
５    取得部
６    リソース算出部
７    決定部
８    指示部
１０  管理サーバ
１１  取得部
１２  格納部
１３  制御部
２０，３０  ホスト
２１，２２，３１，３２  仮想マシン
４０  ユーザ端末
４１  プルダウン
【図１】
2011210134.tif 000003
【図２】
2011210134.tif 000004
【図３】
2011210134.tif 000005
【図４】
2011210134.tif 000006