(57)【特許請求の範囲】
【請求項１】
送信される仮想マシンの起動要求に応じて、複数の物理マシンのいずれかに仮想マシンを起動させる仮想マシン配置装置であって、
前記物理マシンにおいて前記仮想マシンが動作する際の処理負荷が高いハードウェア処理の種別を示す処理特性が記憶されている処理特性記憶部と、
前記起動要求を受信する通信部と、
前記通信部が前記起動要求を受信すると、前記処理特性記憶部から前記処理特性を読み出し、同一種別の処理負荷が高い複数の仮想マシンが同一の物理マシンに起動しないように、前記複数の物理マシンのうちいずれかの物理マシンに、起動要求に応じた仮想マシンを起動させる仮想マシン配置部と、
を備えることを特徴とする仮想マシン配置装置。
【請求項２】
前記ハードウェア処理の種別には、ディスクＩ／ＯとネットワークＩ／Ｏとのいずれかまたは双方が含まれる
ことを特徴とする請求項１に記載の仮想マシン配置装置。
【請求項３】
前記複数の物理マシン毎に、当該物理マシンにおいて起動している前記仮想マシンを識別する仮想マシン識別情報が対応付けられた仮想マシン配置情報が記憶される仮想マシン配置情報記憶部を備え、
前記処理特性記憶部には、前記仮想マシンを識別する仮想マシン識別情報に対応付けて、前記処理特性が記憶され、
前記通信部は、前記仮想マシン識別情報が含まれる前記起動要求を受信し、
前記仮想マシン配置部は、前記通信部が受信した前記起動要求に含まれる前記仮想マシン識別情報に対応する処理特性を前記処理特性記憶部から読み出し、読み出した前記処理特性が示す種別と同一種別の処理負荷が高い他の仮想マシンが起動していない物理マシンを、前記仮想マシン配置記憶情報記憶部に記憶された前記仮想マシン配置情報から抽出し、当該物理マシンに前記仮想マシンを起動させる
ことを特徴とする請求項１または請求項２のいずれか１項に記載の仮想マシン配置装置。
【請求項４】
前記物理マシンにおいて起動している前記仮想マシンのハードウェア処理の処理負荷を計測し、計測結果に基づいた処理特性を前記処理特性記憶部に記憶させる処理特性計測部と、
を備えることを特徴とする請求項１から請求項３までのいずれか１項に記載の仮想マシン配置装置。
【請求項５】
前記処理特性記憶部には、定められた時間帯毎に変化する前記処理特性が記憶され、
前記仮想マシン配置部は、前記時間帯毎に変化する前記処理特性に応じて、同一種別の処理負荷が高い複数の仮想マシンが同一時間帯に同一の物理マシンに起動しないように、前記物理マシンに起動している前記仮想マシンを、複数の前記物理マシンのうち他の物理マシンに移動させる
ことを特徴とする請求項１から請求項４までのいずれか１項に記載の仮想マシン配置装置。
【請求項６】
送信される仮想マシンの起動要求に応じて、複数の物理マシンのいずれかに仮想マシンを起動させ、前記物理マシンにおいて前記仮想マシンが動作する際の処理負荷が高いハードウェア処理の種別を示す処理特性が記憶されている処理特性記憶部を備えた仮想マシン配置装置の仮想マシン配置方法であって、
前記起動要求を受信するステップと、
前記起動要求を受信すると、前記処理特性記憶部から前記処理特性を読み出し、同一種別の処理負荷が高い複数の仮想マシンが同一の物理マシンに起動しないように、前記複数の物理マシンのうちいずれかの物理マシンに、起動要求に応じた仮想マシンを起動させるステップと、
を備えることを特徴とする仮想マシン配置方法。
【請求項７】
送信される仮想マシンの起動要求に応じて、複数の物理マシンのいずれかに仮想マシンを起動させ、前記物理マシンにおいて前記仮想マシンが動作する際の処理負荷が高いハードウェア処理の種別を示す処理特性が記憶されている処理特性記憶部を備えた仮想マシン配置装置のコンピュータに、
前記起動要求を受信するステップと、
前記起動要求を受信すると、前記処理特性記憶部から前記処理特性を読み出し、同一種別の処理負荷が高い複数の仮想マシンが同一の物理マシンに起動しないように、前記複数の物理マシンのうちいずれかの物理マシンに、起動要求に応じた仮想マシンを起動させるステップと、
を実行させる仮想マシン配置プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の物理マシンのいずれかに仮想マシンを配置する技術に関する。
【背景技術】
【０００２】
ユーザ端末からの要求を受けて、予め用意した物理マシンにより構成される仮想環境に仮想マシンを起動させ、起動した仮想マシンをユーザに利用させるコンピュータリソースの利用形態が一般的になりつつある。このようにすれば、ユーザが例えば何らかのウェブサービスを提供したい場合、自身で物理マシンを用意しなくとも、仮想環境における仮想マシンをウェブサーバ等として起動し、ウェブサービスを提供することができる。
特許文献１には、このような仮想環境における消費電力を低減することが記載されている。特許文献２には、このような仮想環境において起動された仮想マシンのパフォーマンスの実測データに基づいて仮想マシンを再配置することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１３８２２号公報
【特許文献２】特開２００５−１１５６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、仮想化技術により１台の物理マシンに複数の仮想マシンを起動させる場合、複数の仮想マシンが同一のハードウェアリソースを利用することになるため、ある仮想マシンの処理性能が、同一の物理マシンに起動された他の仮想マシンの稼働状況に影響を受ける場合があると考えられる。例えば、仮想マシンが頻繁にディスクＩ／Ｏ（Input/Output）を行えば、同一の物理マシンに起動している他の仮想マシンのディスクＩ／Ｏの処理性能が低下する場合があると考えられる。ここで、このような仮想環境において起動する仮想マシンは、同一物理マシンに起動している他の仮想マシンの影響をできるだけ受けずに稼働することが望ましい。
【０００５】
本発明は、このような状況に鑑みてなされたもので、１台の物理マシンに複数の仮想マシンが起動する仮想環境において、同一の物理マシンに起動している仮想マシンに対する他の仮想マシンの影響を低減する仮想マシン配置装置、仮想マシン配置方法、仮想マシン配置プログラムを提供する。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、本発明は、送信される仮想マシンの起動要求に応じて、複数の物理マシンのいずれかに仮想マシンを起動させる仮想マシン配置装置であって、物理マシンにおいて仮想マシンが動作する際の処理負荷が高いハードウェア処理の種別を示す処理特性が記憶されている処理特性記憶部と、起動要求を受信する通信部と、通信部が起動要求を受信すると、処理特性記憶部から処理特性を読み出し、同一種別の処理負荷が高い複数の仮想マシンが同一の物理マシンに起動しないように、複数の物理マシンのうちいずれかの物理マシンに、起動要求に応じた仮想マシンを起動させる仮想マシン配置部と、を備えることを特徴とする。
【０００７】
また、本発明は、ハードウェア処理の種別には、ディスクＩ／ＯとネットワークＩ／Ｏとのいずれかまたは方が含まれることを特徴とする。
【０００８】
また、本発明は、複数の物理マシン毎に、物理マシンにおいて起動している仮想マシンを識別する仮想マシン識別情報が対応付けられた仮想マシン配置情報が記憶される仮想マシン配置情報記憶部を備え、処理特性記憶部には、仮想マシンを識別する仮想マシン識別情報に対応付けて、処理特性が記憶され、通信部は、仮想マシン識別情報が含まれる起動要求を受信し、仮想マシン配置部は、通信部が受信した起動要求に含まれる仮想マシン識別情報に対応する処理特性を処理特性記憶部から読み出し、読み出した処理特性が示す種別と同一種別の処理負荷が高い他の仮想マシンが起動していない物理マシンを、仮想マシン配置記憶情報記憶部に記憶された仮想マシン配置情報から抽出し、物理マシンに仮想マシンを起動させることを特徴とする。
【０００９】
また、本発明は、物理マシンにおいて起動している仮想マシンのハードウェア処理の処理負荷を計測し、計測結果に基づいた処理特性を処理特性記憶部に記憶させる処理特性計測部と、を備えることを特徴とする。
【００１０】
また、本発明は、処理特性記憶部には、定められた時間帯毎に変化する処理特性が記憶され、仮想マシン配置部は、時間帯毎に変化する処理特性に応じて、同一種別の処理負荷が高い複数の仮想マシンが同一時間帯に同一の物理マシンに起動しないように、物理マシンに起動している仮想マシンを、複数の物理マシンのうち他の物理マシンに移動させることを特徴とする。
【００１１】
また、本発明は、送信される仮想マシンの起動要求に応じて、複数の物理マシンのいずれかに仮想マシンを起動させ、物理マシンにおいて仮想マシンが動作する際の処理負荷が高いハードウェア処理の種別を示す処理特性が記憶されている処理特性記憶部を備えた仮想マシン配置装置の仮想マシン配置方法であって、起動要求を受信するステップと、起動要求を受信すると、処理特性記憶部から処理特性を読み出し、同一種別の処理負荷が高い複数の仮想マシンが同一の物理マシンに起動しないように、複数の物理マシンのうちいずれかの物理マシンに、起動要求に応じた仮想マシンを起動させるステップと、を備えることを特徴とする。
【００１２】
また、本発明は、送信される仮想マシンの起動要求に応じて、複数の物理マシンのいずれかに仮想マシンを起動させ、物理マシンにおいて仮想マシンが動作する際の処理負荷が高いハードウェア処理の種別を示す処理特性が記憶されている処理特性記憶部を備えた仮想マシン配置装置のコンピュータに、起動要求を受信するステップと、起動要求を受信すると、処理特性記憶部から処理特性を読み出し、同一種別の処理負荷が高い複数の仮想マシンが同一の物理マシンに起動しないように、複数の物理マシンのうちいずれかの物理マシンに、起動要求に応じた仮想マシンを起動させるステップと、を実行させる仮想マシン配置プログラムである。
【発明の効果】
【００１３】
以上説明したように、本発明によれば、送信される仮想マシンの起動要求に応じて、複数の物理マシンのいずれかに仮想マシンを起動させる仮想マシン配置装置であって、物理マシンにおいて仮想マシンが動作する際の処理負荷が高いハードウェア処理の種別を示す処理特性が記憶されている処理特性記憶部と、起動要求を受信する通信部と、通信部が起動要求を受信すると、処理特性記憶部から処理特性を読み出し、同一種別の処理負荷が高い複数の仮想マシンが同一の物理マシンに起動しないように、複数の物理マシンのうちいずれかの物理マシンに、起動要求に応じた仮想マシンを起動させる仮想マシン配置部と、を備えるようにしたので、１台の物理マシンに複数の仮想マシンが起動する仮想環境において、同一の物理マシンに起動している仮想マシンに対する他の仮想マシンの影響を低減することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態による仮想マシン提供システムの構成例を示すブロック図である。
【図２】本発明の一実施形態により起動する仮想マシンの構成例を示す図である。
【図３】本発明の一実施形態による処理特性のデータ例を示す図である。
【図４】本発明の一実施形態による仮想マシン配置情報のデータ例を示す図である。
【図５】本発明の一実施形態による仮想マシン配置装置の動作例を示すフローチャートである。
【図６】本発明の一実施形態による処理特性のデータ例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について、図面を参照して説明する。
図１は、本実施形態による仮想マシン配置装置２０を備えた仮想マシン提供システム１の構成を示すブロック図である。仮想マシン提供システム１は、仮想マシン配置装置２０の他に、ユーザ端末１０と、物理マシン３０−１、物理マシン３０−２、物理マシン３０−３、・・・とのコンピュータ装置を備えており、これらのコンピュータ装置はネットワークを介して接続されている。複数の物理マシン３０は同様の構成であり、特に区別しない場合には「−１」、「−２」等を省略して物理マシン３０として説明する。
【００１６】
仮想マシン提供システム１は、ユーザ端末１０からの仮想マシンの起動要求に応じて、複数の物理マシン３０によって構成される仮想環境に仮想マシンを起動させ、ユーザ端末１０に利用させるリソース提供サービスを提供する。このようなサービスはクラウドサービスなどとも呼ばれるものである。
【００１７】
ユーザ端末１０は、仮想マシン提供システム１によって提供される仮想マシンを利用するユーザのコンピュータ装置である。ユーザ端末１０は、ユーザからの入力に応じて、仮想マシンの起動要求を仮想マシン配置装置２０に送信する。ユーザ端末１０は、起動された仮想マシンにネットワークを介して接続し、利用することができる。図２は、本実施形態においてユーザ端末１０からの起動要求によって起動される複数の仮想マシンの例を示す図である。ここでは、ＷＥＢサーバである仮想マシンＡと、ＷＥＢサーバである仮想マシンＢと、ＡＰ（Application）サーバである仮想マシンＣと、ＡＰサーバである仮想マシンＤと、ＤＢ（DataBase）サーバである仮想マシンＥとの５台の仮想マシンが起動され、このような三層構造の仮想マシンが互いに協調して動作するウェブサービスを提供する。また、ここでは、１台のユーザ端末１０を示して説明するが、仮想マシン提供システム１には複数のユーザの複数のユーザ端末１０が接続されていて良い。
【００１８】
仮想マシン配置装置２０は、ユーザ端末１０からの仮想マシンの起動要求に応じて、複数の物理マシン３０のいずれかに仮想マシンを起動させるクラウド管理装置である。仮想マシン配置装置２０は、通信部２１と、処理特性記憶部２２と、仮想マシン配置情報記憶部２３と、仮想マシン配置部２４と、処理特性計測部２５とを備えている。
通信部２１は、ネットワークを介して接続された他のコンピュータ装置と通信を行う。例えば、通信部２１は、ユーザ端末１０から送信される、起動したい仮想マシンを識別する仮想マシン識別情報（仮想マシンＩＤ）が含まれる起動要求や、その仮想マシンの処理特性等の情報を受信する。
【００１９】
処理特性記憶部２２には、物理マシン３０において仮想マシンが動作する際の処理負荷が高いハードウェア処理の種別を示す処理特性が記憶されている。ハードウェア処理の種別には、ＣＰＵ（Central Processing Unit）とディスクＩ／ＯとネットワークＩ／Ｏ（Input/Output）とのいずれかまたは複数が含まれる。ディスクＩ／Ｏは、ハードディスクの読み書き処理であり、ネットワークＩ／Ｏは、ネットワークを介した他のコンピュータ装置との通信処理である。
【００２０】
図３は、処理特性記憶部２２に記憶される処理特性のデータ例を示す図である。ここでは、処理特性記憶部２２には、仮想マシンを識別する仮想マシンＩＤに対応付けて、役割と、処理特性とが記憶される。さらに、依存関係を示す情報が付加されていても良い。役割は、例えば、三層構造のウェブサービスにおけるその仮想マシンの役割を示す情報であり、ＷＥＢサーバ、ＡＰサーバ、ＤＢサーバなどが存在する。あるいは、例えば、ファイアウォールなどの役割であっても良い。処理特性は、仮想マシンの役割に応じた処理負荷が高いことが予想されるハードウェア処理の種別を示す。ハードウェア処理には、例えば、ＣＰＵ動作、ディスクＩ／Ｏ、ネットワークＩ／Ｏなどがある。例えば、ＷＥＢサーバであればＣＰＵとネットワークＩ／Ｏの処理負荷が高く、ＡＰサーバであればＣＰＵの処理負荷が高く、ＤＢサーバであればディスクＩ／Ｏの処理負荷が高いことなどが考えられる。このように、仮想マシンＩＤには処理負荷の高い複数の処理特性が対応付けられても良い。特に処理負荷の高いハードウェア処理が存在しない場合は、処理特性は対応付けられないようにしても良い。
【００２１】
ここで、同一の役割を持つ仮想マシンが同一の物理マシンに起動されると、特定の種別のハードウェア処理の処理負荷が過剰になり、仮想マシンの動作が、同一の物理マシンで動作する他の仮想マシンの動作に影響を与えることが考えられる。そこで、例えば、ＷＥＢサーバである仮想マシンＡは、同様のハードウェア処理の処理負荷が高いＷＥＢサーバである仮想マシンＢとは異なる物理マシンに起動されることが望ましい。依存関係は、このような仮想マシン間の関係を示している。このような依存関係を参照すれば、システム構成、仮想マシン間の通信の有無や頻度等に応じた仮想マシンの配置を行うことができる。例えば、ＷＥＢサーバである仮想マシンＡと仮想マシンＢとは、冗長化や負荷分散等を考慮し、異なる物理マシン３０上に配置されることが望ましい。また、通信を行う仮想マシンを同一の物理マシン３０に配置すれば、ネットワークリソースを効率化することができるため、仮想マシンＡと仮想マシンＣまたは仮想マシンＤ、仮想マシンＢと仮想マシンＣまたは仮想マシンＤは同一の物理マシン３０上に配置されることが望ましい。また、処理特性がＣＰＵまたはネットワークＩ／ＯであるＷＥＢサーバまたはＡＰサーバは、処理特性がディスクＩ／ＯであるＤサーバとは利用するコンピュータリソースが競合しないと思われるため、同一の物理マシン３０上に配置することができる。
このような処理特性記憶部２２に記憶されるデータは、ユーザによってユーザ端末１０に入力されて送信されるようにしても良いし、仮想マシン配置装置２０が役割に応じた処理特性を予め記憶しておき、ユーザ端末１０からは仮想マシンの役割を示す情報を受信し、その役割に応じた処理特性を記憶させるようにしても良い。あるいは、処理特性計測部２５により、稼働中の物理マシン３０から計測された処理負荷に基づいて処理特性が記憶されるようにしても良い。
【００２２】
仮想マシン配置情報記憶部２３には、複数の物理マシン３０毎に、その物理マシン３０において起動している仮想マシンを識別する仮想マシンＩＤが対応付けられた仮想マシン配置情報が記憶される。図４は、仮想マシン配置情報記憶部２３に記憶される仮想マシン配置情報のデータ例を示す図である。例えば、物理マシンＩＤが「１」である物理マシン３０上に、仮想マシンＩＤが「Ａ」である仮想マシンと、仮想マシンＩＤが「Ｃ」である仮想マシンとが起動されていることが示されている。このような仮想マシン配置情報は、仮想マシン配置部２４によって仮想マシンが起動された際、または移動された際に、仮想マシン配置部２４によって書き込まれる。
【００２３】
仮想マシン配置部２４は、通信部２１が、ユーザ端末１０から送信された起動要求を受信すると、処理特性記憶部２２から処理特性を読み出し、同一種別の処理負荷が高い複数の仮想マシンが同一の物理マシン３０に起動しないように、複数の物理マシン３０のうちいずれかの物理マシン３０に、起動要求に応じた仮想マシンを起動させる。具体的には、仮想マシン配置部２４は、通信部２１が受信した起動要求に含まれる仮想マシンＩＤに対応する処理特性を処理特性記憶部２２から読み出し、読み出した処理特性が示す種別と同一種別の処理負荷が高い他の仮想マシンが起動していない物理マシン３０の物理マシンＩＤを、仮想マシン配置情報記憶部２３に記憶された仮想マシン配置情報から抽出し、抽出した仮想マシンＩＤが示す物理マシン３０に仮想マシンを起動させる。このようにすれば、同一のハードウェア処理の処理負荷が高い複数の仮想マシンが、同一の物理マシン３０において起動されないようにすることができ、同一の物理マシン３０に起動している仮想マシンに対する他の仮想マシンの影響を低減することができる。また、仮想マシン配置部２４は、仮想マシン間の通信の有無の情報や通信の頻度に応じた仮想マシンの配置を行うこともできる。すなわち、通信を行う仮想マシンを同一の物理マシン３０に配置すれば、ネットワークリソースを効率化することができる。
【００２４】
また、仮想マシン配置部２４は、物理マシン３０に起動された仮想マシンを他の物理マシン３０に移動させる移動処理を行う。ここでは、仮想マシン配置装置２０は、物理マシン上で稼働している仮想マシンを停止させずに他の物理マシン上に移動させるマイグレーション（ホットマイグレーション）の処理を行う。例えば、物理マシン３０−１上に起動された仮想マシンａ、仮想マシンｃ、仮想マシンｆのうち、仮想マシンｆを、物理マシン３０−１から物理マシン３０−２に移動させる処理を行う（仮想マシンｆ´）。このような移動処理は、仮想マシン配置部２４が送信する移動要求に応じて、物理マシン３０の仮想化機能により行われる。
【００２５】
処理特性計測部２５は、物理マシン３０において起動された仮想マシンのハードウェア処理の処理負荷を計測し、計測結果に基づいた処理特性を処理特性記憶部２２に記憶させる。例えば、処理特性計測部２５は、複数の物理マシン３０のそれぞれから、その物理マシン３０において稼働している仮想マシンのハードウェア処理の種別毎の稼働状況を収集する。稼働状況とは、例えば、単位時間当たりのＣＰＵ稼働率、ディスクＩ／Ｏ（Ｍｂｐｓ）、ネットワークＩ／Ｏ（Ｍｂｐｓ）などの値である。例えば、処理特性計測部２５は、このようなハードウェア処理の種別毎の値の閾値を自身の記憶領域に予め記憶しておき、閾値と比較することにより処理負荷が高いか否かを判定する。収集したハードウェア処理の稼働状況の値が閾値を超えていれば、処理負荷が高いと判定し、そのハードウェア処理の種別を処理特性として処理特性記憶部２２に記憶させる。収集したハードウェア処理の稼働状況の値が閾値を超えていなければ、処理負荷は高くないと判定する。
【００２６】
物理マシン３０は、コンピュータリソースを仮想化し、複数の仮想マシンを起動させる仮想化機能を備えるコンピュータ装置である。物理マシン３０は、仮想マシン配置装置２０からの起動要求に応じて、自身のコンピュータリソースに仮想マシンを起動する。また、仮想マシン配置装置２０からの仮想マシンの移動要求に応じて、自身のコンピュータリソース上に起動した仮想マシンを、他の仮想マシンに移動させるマイグレーションの処理を行う。
【００２７】
次に、本実施形態による仮想マシン配置装置２０を備えた仮想マシン提供システム１の動作例を説明する。
図５は、仮想マシン配置装置２０が処理特性に応じて仮想マシンを起動させる動作例を示すフローチャートである。
ユーザ端末１０に、起動したい仮想マシンが選択されて仮想マシンＩＤが入力され、その仮想マシンの処理特性が入力されると、ユーザ端末１０は、入力された仮想マシンＩＤが含まれる起動要求と、処理特性とを仮想マシン配置装置２０に送信する。仮想マシン配置装置２０の通信部２１は、ユーザ端末１０から送信された起動要求と処理特性とを受信し（ステップＳ１）、受信した処理特性を処理特性記憶部２２に記憶させる（ステップＳ２）。
【００２８】
仮想マシン配置装置２０の仮想マシン配置部２４は、仮想マシン配置情報記憶部２３に記憶された仮想マシン配置情報を読み出し、通信部２１が受信した起動要求に対応する処理特性が示す種別と同一の種別の処理特性に対応する仮想マシンＩＤが対応付けられていない物理マシンＩＤを、仮想マシン配置情報記憶部２３から抽出する（ステップＳ３）。そして、抽出した物理マシンＩＤが示す物理マシン３０に、仮想マシンの起動要求を送信し、物理マシン３０に仮想マシンを起動させる（ステップＳ４）。
【００２９】
なお、仮想マシン配置装置２０の処理特性記憶部２２には、定められた時間帯毎に変化する処理特性が記憶されるようにしても良い。図６は、このような処理特性のデータ例を示す図である。ここでは、昼と夜との時間帯毎に、当該時間帯の処理特性が対応付けられて記憶される。例えば、昼は７時から１９時、夜は１９時から７時までの時間帯を示す。例えば、仮想マシンは、昼間は処理負荷が高いが、夜間は処理負荷が低いなどの傾向が存在する場合がある。そこで、このような傾向に応じて、物理マシン３０上に起動している仮想マシンを他の物理マシン３０に移動させ、同一の処理特性の仮想マシンが同一の物理マシン３０に起動しないようにしても良い。
【００３０】
このとき、仮想マシン配置部２４は、時間帯毎に変化する処理特性に応じて、同一種別の処理負荷が高い複数の仮想マシンが同一時間帯に同一の物理マシンに起動しないように、物理マシン３０に起動している仮想マシンを、複数の物理マシン３０のうち他の物理マシン３０に移動させる。例えば、仮想マシンＩＤが「Ａ」である仮想マシンは、昼の時間帯はＣＰＵとネットワークＩ／Ｏの処理負荷が高く、夜の時間帯はネットワークＩ／Ｏのみの処理負荷が高いとする。一方、仮想マシンＩＤが「Ｆ」である仮想マシンは、昼の時間帯は処理負荷が高いハードウェア処理がなく、夜の時間帯はＣＰＵとネットワークＩ／Ｏのみの処理負荷が高いとする。このとき、昼の時間帯には、仮想マシンＡと仮想マシンＦとが同一の物理マシン３０に起動していても良いが、夜の時間帯には、ネットワークＩ／Ｏの処理負荷が過剰になる可能性があるため、夜の時間帯には仮想マシンＦを他の物理マシン３０に移動させる。このようにすれば、仮想環境の物理マシン３０のハードウェアリソースを、効率良く利用することができる。
以上説明したように、本実施形態によれば、仮想環境で稼働する複数の仮想マシンの役割や処理特性に応じて、仮想マシンを物理マシン３０上に効率良く配置することができる。
【００３１】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより仮想マシンの配置を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００３２】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００３３】
１  仮想マシン提供システム
１０  ユーザ端末
２０  仮想マシン配置装置
２１  通信部
２２  処理特性記憶部
２３  仮想マシン配置情報記憶部
２４  仮想マシン配置部
２５  処理特性計測部
３０  物理マシン
【図１】
0005501276.tif 000002
【図２】
0005501276.tif 000003
【図３】
0005501276.tif 000004
【図４】
0005501276.tif 000005
【図５】
0005501276.tif 000006
【図６】
0005501276.tif 000007