(57)【特許請求の範囲】
【請求項１】
仮想マシンを、前記仮想マシンを実行する物理サーバに配置する仮想マシン配置装置であって、
処理部と、前記物理サーバの使用リソース量に対する上限閾値および下限閾値と、前記仮想マシンを配置元の物理サーバから移動先の物理サーバに移動したときに発生するサービス中断時間と、前記サービス中断時間に対して許容できる限界を示す許容サービス中断時間閾値と、を記憶している記憶部と、を備え、
前記処理部は、
（１）前記配置元の物理サーバの使用リソース量が前記上限閾値を超えるか否かを判定し、
（２）前記配置元の物理サーバの使用リソース量が前記上限閾値を超えると判定した場合、前記配置元の物理サーバの使用リソース量が前記上限閾値を下回るように、移動対象の仮想マシンを抽出し、前記サービス中断時間が前記許容サービス中断時間閾値以内と判定される前記物理サーバを移動先の物理サーバとして抽出し、
（２ａ）前記移動先の物理サーバが抽出された場合、前記移動先の物理サーバを選択する優先順位の決定に用いる物理サーバスコアを、リソースの余裕を測る物差しである評価要素で示された前記使用リソース量により演算し、当該物理サーバスコアの大小関係に基づいて優先順位を付け、当該優先順位の最も高い前記移動先の物理サーバに前記移動対象の仮想マシンを移動し、
（２ｂ）前記移動先の物理サーバがない場合、前記サービス中断時間が前記許容サービス中断時間閾値以内と判定される前記物理サーバを増加して、（２ａ）の処理を実行し、
（３）前記配置元の物理サーバの使用リソース量が前記上限閾値以下と判定した場合、前記配置元の物理サーバの使用リソース量が前記下限閾値を所定時間下回るか否かを判定し、前記配置元の物理サーバの使用リソース量が前記下限閾値を所定時間下回ると判定した場合、前記サービス中断時間が前記許容サービス中断時間閾値以内と判定される前記物理サーバを第２の移動先の物理サーバとして抽出し、
前記第２の移動先の物理サーバが抽出された場合、前記第２の移動先の物理サーバを選択する優先順位の決定に用いる前記物理サーバスコアを、前記評価要素で示された前記使用リソース量により演算し、当該物理サーバスコアの大小関係に基づいて優先順位を付け、当該優先順位の最も高い前記第２の移動先の物理サーバに、前記配置元の物理サーバから前記仮想マシンを移動する設定をし、
前記配置元の物理サーバから前記仮想マシンすべてについて移動する設定が終了した場合、移動する設定をした前記仮想マシンを前記第２の移動先の物理サーバへ移動する
ことを特徴とする仮想マシン配置装置。
【請求項２】
前記処理部は、
リソースの前記評価要素が１種類の場合には、前記仮想マシンの実行スケジュールの所定期間に亘って、前記物理サーバの空きリソース量の合計値を前記物理サーバスコアとして算出し、前記空きリソース量の合計値が大きいほど、優先順位を高く設定する
ことを特徴とする請求項１に記載の仮想マシン配置装置。
【請求項３】
前記処理部は、
前記仮想マシンの実行スケジュールを作成する際に、リソース量を切替えるタイミングを示すリソース割当タイミングをスケジュールの区切りとし、
リソースの前記評価要素が複数種類の場合には、
前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して評価尺度値として算出し、前記リソース割当タイミングに挟まれた期間内で複数の前記評価要素の前記評価尺度値の偏りを算出し、さらに前記算出した評価尺度値の偏りについて前記実行スケジュールの所定期間に亘って平均して求めた平均値を前記物理サーバスコアとして算出し、前記平均値が小さいほど、優先順位を高く設定する
ことを特徴とする請求項１に記載の仮想マシン配置装置。
【請求項４】
前記処理部は、
前記仮想マシンの実行スケジュールを作成する際に、リソース量を切替えるタイミングを示すリソース割当タイミングをスケジュールの区切りとし、
リソースの前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して評価尺度値として算出し、前記実行スケジュールの所定期間に亘って前記評価尺度値すべての中で最大の評価尺度値を前記物理サーバごとに抽出し、抽出した前記最大の評価尺度値を前記物理サーバスコアとし、抽出した前記最大の評価尺度値の中で小さい評価尺度値を有する物理サーバほど、優先順位を高く設定する
ことを特徴とする請求項１に記載の仮想マシン配置装置。
【請求項５】
前記処理部は、
前記仮想マシンの実行スケジュールを作成する際に、リソース量を切替えるタイミングを示すリソース割当タイミングをスケジュールの区切りとし、
リソースの前記評価要素が複数種類の場合には、
前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して評価尺度値として算出し、前記リソース割当タイミングに挟まれた期間内で複数の前記評価要素の前記評価尺度値の偏りを算出し、さらに前記算出した評価尺度値の偏りについて前記実行スケジュールの所定期間に亘って平均して求めた平均値を第１の物理サーバスコアとして算出し、前記平均値が小さいほど、優先順位を高く設定し、
前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して前記評価尺度値として算出し、前記実行スケジュールの所定期間に亘って前記評価尺度値すべての中で最大の評価尺度値を前記物理サーバごとに抽出し、抽出した前記最大の評価尺度値を前記物理サーバの第２の物理サーバスコアとし、抽出した前記最大の評価尺度値の中で小さい評価尺度値を有する物理サーバほど、優先順位を高く設定し、
前記第１の物理サーバスコアおよび前記第２の物理サーバスコアそれぞれに重み計数を乗算し、両者を合計した合計値を前記物理サーバスコアとして設定する
ことを特徴とする請求項１に記載の仮想マシン配置装置。
【請求項６】
前記処理部は、
前記仮想マシンの実行スケジュールを作成する際に、リソース量を切替えるタイミングを示すリソース割当タイミングをスケジュールの区切りとし、
リソースの前記評価要素が複数種類の場合には、
前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して評価尺度値として算出し、前記リソース割当タイミングに挟まれた期間内で複数の前記評価要素の前記評価尺度値の偏りを算出し、さらに前記算出した評価尺度値の偏りについて前記実行スケジュールの所定期間に亘って平均して求めた平均値を前記物理サーバスコアとして算出し、前記平均値が小さいほど、優先順位を高く設定し、
前記物理サーバスコアを複数の段階で表現し、前記物理サーバスコアが同じ段階で表されるときには、
前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して前記評価尺度値として算出し、前記実行スケジュールの所定期間に亘って前記評価尺度値すべての中で最大の評価尺度値を前記物理サーバごとに抽出し、抽出した前記最大の評価尺度値を前記物理サーバスコアとし、抽出した前記最大の評価尺度値の中で小さい評価尺度値を有する物理サーバほど、優先順位を高く設定する
ことを特徴とする請求項１に記載の仮想マシン配置装置。
【請求項７】
前記処理部は、
前記仮想マシンの実行スケジュールを作成する際に、リソース量を切替えるタイミングを示すリソース割当タイミングをスケジュールの区切りとし、
リソースの前記評価要素が複数種類の場合には、
前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して評価尺度値として算出し、前記実行スケジュールの所定期間に亘って前記評価尺度値すべての中で最大の評価尺度値を前記物理サーバごとに抽出し、抽出した前記最大の評価尺度値を前記物理サーバスコアとし、抽出した前記最大の評価尺度値の中で小さい評価尺度値を有する物理サーバほど、優先順位を高く設定し、
前記物理サーバスコアを複数の段階で表現し、前記物理サーバスコアが同じ段階で表されるときには、
前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して前記評価尺度値として算出し、前記リソース割当タイミングに挟まれた期間内で複数の前記評価要素の前記評価尺度値の偏りを算出し、さらに前記算出した評価尺度値の偏りについて前記実行スケジュールの所定期間に亘って平均して求めた平均値を前記物理サーバスコアとして算出し、前記平均値が小さいほど、優先順位を高く設定する
ことを特徴とする請求項１に記載の仮想マシン配置装置。
【請求項８】
仮想マシンを、前記仮想マシンを実行する物理サーバに配置する仮想マシン配置装置の仮想マシン配置方法であって、
前記仮想マシン配置装置は、
処理部と、前記物理サーバの使用リソース量に対する上限閾値および下限閾値と、前記仮想マシンを配置元の物理サーバから移動先の物理サーバに移動したときに発生するサービス中断時間と、前記サービス中断時間に対して許容できる限界を示す許容サービス中断時間閾値と、を記憶している記憶部と、を備え、
前記処理部は、
（１）前記配置元の物理サーバの使用リソース量が前記上限閾値を超えるか否かを判定するステップ、
（２）前記配置元の物理サーバの使用リソース量が前記上限閾値を超えると判定した場合、前記配置元の物理サーバの使用リソース量が前記上限閾値を下回るように、移動対象の仮想マシンを抽出し、前記サービス中断時間が前記許容サービス中断時間閾値以内と判定される前記物理サーバを移動先の物理サーバとして抽出するステップ、
（２ａ）前記移動先の物理サーバが抽出された場合、前記移動先の物理サーバを選択する優先順位の決定に用いる物理サーバスコアを、リソースの余裕を測る物差しである評価要素で示された前記使用リソース量により演算し、当該物理サーバスコアの大小関係に基づいて優先順位を付け、当該優先順位の最も高い前記移動先の物理サーバに前記移動対象の仮想マシンを移動するステップ、
（２ｂ）前記移動先の物理サーバがない場合、前記サービス中断時間が前記許容サービス中断時間閾値以内と判定される前記物理サーバを増加して、（２ａ）の処理を実行するステップ、
（３）前記配置元の物理サーバの使用リソース量が前記上限閾値以下と判定した場合、前記配置元の物理サーバの使用リソース量が前記下限閾値を所定時間下回るか否かを判定し、前記配置元の物理サーバの使用リソース量が前記下限閾値を所定時間下回ると判定した場合、前記サービス中断時間が前記許容サービス中断時間閾値以内と判定される前記物理サーバを第２の移動先の物理サーバとして抽出するステップ、
前記第２の移動先の物理サーバが抽出された場合、前記第２の移動先の物理サーバを選択する優先順位の決定に用いる前記物理サーバスコアを、前記評価要素で示された前記使用リソース量により演算し、当該物理サーバスコアの大小関係に基づいて優先順位を付け、当該優先順位の最も高い前記第２の移動先の物理サーバに、前記配置元の物理サーバから前記仮想マシンを移動する設定を行うステップ、
前記配置元の物理サーバから前記仮想マシンすべてについて移動する設定が終了した場合、移動する設定をした前記仮想マシンを前記第２の移動先の物理サーバへ移動するステップ
を実行することを特徴とする仮想マシン配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理サーバで構成される物理サーバ群の中から、アプリケーションを搭載した仮想マシンを実行させる物理サーバを決定する技術に関する。
【背景技術】
【０００２】
複数の仮想マシンを１台の物理サーバ上に配置して実行することで、１つの仮想マシンを１台の物理サーバで実行する場合に比べて、物理サーバの台数を削減する仮想化技術の検討が進んでいる。例えば、下記に示す特許文献１には、アプリケーションの過去のリソース使用状況に基づいて、今後のリソース使用状況を予測し、各物理サーバへ配置する仮想マシンの組み合わせを決定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１７０７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術は、アプリケーションのリソース使用傾向が不規則に変化するような環境では、適切に予測ができないため、物理サーバにおいて、リソース競合が発生したり、仮想マシンの集約効率が低下したり、集約効率の低い物理サーバが多数散在することになったりして、物理サーバで構成される物理サーバ群を効率的に使用できないという問題がある。
【０００５】
そこで、本発明は、仮想マシンを物理サーバへ配置するときに、集約効率を向上し、リソース競合を防止し、物理サーバの稼動台数を低減することを満足させるように制御する仮想マシン配置装置および仮想マシン配置方法を提供することを課題とする。
【課題を解決するための手段】
【０００６】
本発明は、仮想マシンを、前記仮想マシンを実行する物理サーバに配置する仮想マシン配置装置であって、処理部と、前記物理サーバの使用リソース量に対する上限閾値および下限閾値と、前記仮想マシンを配置元の物理サーバから移動先の物理サーバに移動したときに発生するサービス中断時間と、前記サービス中断時間に対して許容できる限界を示す許容サービス中断時間閾値と、を記憶している記憶部と、を備え、前記処理部が、（１）前記配置元の物理サーバの使用リソース量が前記上限閾値を超えるか否かを判定し、（２）前記配置元の物理サーバの使用リソース量が前記上限閾値を超えると判定した場合、前記配置元の物理サーバの使用リソース量が前記上限閾値を下回るように、移動対象の仮想マシンを抽出し、前記サービス中断時間が前記許容サービス中断時間閾値以内と判定される前記物理サーバを移動先の物理サーバとして抽出し、（２ａ）前記移動先の物理サーバが抽出された場合、前記移動先の物理サーバを選択する優先順位の決定に用いる物理サーバスコアを、リソースの余裕を測る物差しである評価要素で示された前記使用リソース量により演算し、当該物理サーバスコアの大小関係に基づいて優先順位を付け、当該優先順位の最も高い前記移動先の物理サーバに前記移動対象の仮想マシンを移動し、（２ｂ）前記移動先の物理サーバがない場合、前記サービス中断時間が前記許容サービス中断時間閾値以内と判定される前記物理サーバを増加して、（２ａ）の処理を実行し、（３）前記配置元の物理サーバの使用リソース量が前記上限閾値以下と判定した場合、前記配置元の物理サーバの使用リソース量が前記下限閾値を所定時間下回るか否かを判定し、前記配置元の物理サーバの使用リソース量が前記下限閾値を所定時間下回ると判定した場合、前記サービス中断時間が前記許容サービス中断時間閾値以内と判定される前記物理サーバを第２の移動先の物理サーバとして抽出し、前記第２の移動先の物理サーバが抽出された場合、前記第２の移動先の物理サーバを選択する優先順位の決定に用いる前記物理サーバスコアを、前記評価要素で示された前記使用リソース量により演算し、当該物理サーバスコアの大小関係に基づいて優先順位を付け、当該優先順位の最も高い前記第２の移動先の物理サーバに、前記配置元の物理サーバから前記仮想マシンを移動する設定をし、前記配置元の物理サーバから前記仮想マシンすべてについて移動する設定が終了した場合、移動する設定をした前記仮想マシンを前記第２の移動先の物理サーバへ移動することを特徴とする。
【０００７】
また、本発明は、仮想マシンを、前記仮想マシンを実行する物理サーバに配置する仮想マシン配置装置の仮想マシン配置方法であって、前記仮想マシン配置装置が、処理部と、前記物理サーバの使用リソース量に対する上限閾値および下限閾値と、前記仮想マシンを配置元の物理サーバから移動先の物理サーバに移動したときに発生するサービス中断時間と、前記サービス中断時間に対して許容できる限界を示す許容サービス中断時間閾値と、を記憶している記憶部と、を備え、前記処理部が、（１）前記配置元の物理サーバの使用リソース量が前記上限閾値を超えるか否かを判定するステップ、（２）前記配置元の物理サーバの使用リソース量が前記上限閾値を超えると判定した場合、前記配置元の物理サーバの使用リソース量が前記上限閾値を下回るように、移動対象の仮想マシンを抽出し、前記サービス中断時間が前記許容サービス中断時間閾値以内と判定される前記物理サーバを移動先の物理サーバとして抽出するステップ、（２ａ）前記移動先の物理サーバが抽出された場合、前記移動先の物理サーバを選択する優先順位の決定に用いる物理サーバスコアを、リソースの余裕を測る物差しである評価要素で示された前記使用リソース量により演算し、当該物理サーバスコアの大小関係に基づいて優先順位を付け、当該優先順位の最も高い前記移動先の物理サーバに前記移動対象の仮想マシンを移動するステップ、（２ｂ）前記移動先の物理サーバがない場合、前記サービス中断時間が前記許容サービス中断時間閾値以内と判定される前記物理サーバを増加して、（２ａ）の処理を実行するステップ、（３）前記配置元の物理サーバの使用リソース量が前記上限閾値以下と判定した場合、前記配置元の物理サーバの使用リソース量が前記下限閾値を所定時間下回るか否かを判定し、前記配置元の物理サーバの使用リソース量が前記下限閾値を所定時間下回ると判定した場合、前記サービス中断時間が前記許容サービス中断時間閾値以内と判定される前記物理サーバを第２の移動先の物理サーバとして抽出するステップ、前記第２の移動先の物理サーバが抽出された場合、前記第２の移動先の物理サーバを選択する優先順位の決定に用いる前記物理サーバスコアを、前記評価要素で示された前記使用リソース量により演算し、当該物理サーバスコアの大小関係に基づいて優先順位を付け、当該優先順位の最も高い前記第２の移動先の物理サーバに、前記配置元の物理サーバから前記仮想マシンを移動する設定を行うステップ、前記配置元の物理サーバから前記仮想マシンすべてについて移動する設定が終了した場合、移動する設定をした前記仮想マシンを前記第２の移動先の物理サーバへ移動するステップを実行することを特徴とする。
【０００８】
このような構成によれば、マシン配置装置は、構成（２ａ）（２ｂ）を備えて、物理サーバの増加を極力抑えることによって、仮想マシンの集約効率を向上することができる。また、マシン配置装置は、構成（２）を備えることによって、リソース競合を防止し、リソース使用効率を向上することができる。また、マシン配置装置は、構成（３）を備えることによって、集約効率の低い物理サーバを無くすことができるため、物理サーバの稼動台数を低減する（電力使用効率を向上する）ことができる。
【０００９】
また、本発明は、前記処理部が、リソースの前記評価要素が１種類の場合には、前記仮想マシンの実行スケジュールの所定期間に亘って、前記物理サーバの空きリソース量の合計値を前記物理サーバスコアとして算出し、前記空きリソース量の合計値が大きいほど、優先順位を高く設定することを特徴とする。
【００１０】
このような構成によれば、物理サーバの空きリソース量が大きいほど仮想マシンを移動しやすいので、集約効率の向上、リソース競合の防止および物理サーバの稼動台数の低減（電力使用効率の向上）を満足した上で、容易に移動先の物理サーバを見つけることができる。
【００１１】
また、本発明は、前記処理部が、前記仮想マシンの実行スケジュールを作成する際に、リソース量を切替えるタイミングを示すリソース割当タイミングをスケジュールの区切りとし、リソースの前記評価要素が複数種類の場合には、前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して評価尺度値として算出し、前記リソース割当タイミングに挟まれた期間内で複数の前記評価要素の前記評価尺度値の偏りを算出し、さらに前記算出した評価尺度値の偏りについて前記実行スケジュールの所定期間に亘って平均して求めた平均値を前記物理サーバスコアとして算出し、前記平均値が小さいほど、優先順位を高く設定することを特徴とする。
【００１２】
このような構成によれば、リソースの評価要素が複数種類（例えば、ＣＰＵ（Central Processing Unit）使用率、メモリ使用率等）の場合には、異なる評価要素間で比較ができるように、１つの評価軸に射影して求めた評価尺度値を算出し、その評価尺度値の偏りの平均値が、実行スケジュールの所定期間に亘って小さいほど仮想マシンを移動しやすいので、集約効率の向上、リソース競合の防止および物理サーバの稼動台数の低減（電力使用効率の向上）を満足した上で、容易に移動先の物理サーバを見つけることができる。
【００１３】
また、本発明は、前記処理部が、前記仮想マシンの実行スケジュールを作成する際に、リソース量を切替えるタイミングを示すリソース割当タイミングをスケジュールの区切りとし、リソースの前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して評価尺度値として算出し、前記実行スケジュールの所定期間に亘って前記評価尺度値すべての中で最大の評価尺度値を前記物理サーバごとに抽出し、抽出した前記最大の評価尺度値を前記物理サーバスコアとし、抽出した前記最大の評価尺度値の中で小さい評価尺度値を有する物理サーバほど、優先順位を高く設定することを特徴とする。
【００１４】
このような構成によれば、リソースの評価要素が複数種類の場合には、異なる評価要素間で比較ができるように、１つの評価軸に射影して求めた評価尺度値を算出し、その評価尺度値の最大値が、実行スケジュールの所定期間に亘って小さいほど仮想マシンを移動しやすいので、集約効率の向上、リソース競合の防止および物理サーバの稼動台数の低減（電力使用効率の向上）を満足した上で、容易に移動先の物理サーバを見つけることができる。
【００１５】
また、本発明は、前記処理部が、前記仮想マシンの実行スケジュールを作成する際に、リソース量を切替えるタイミングを示すリソース割当タイミングをスケジュールの区切りとし、リソースの前記評価要素が複数種類の場合には、前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して評価尺度値として算出し、前記リソース割当タイミングに挟まれた期間内で複数の前記評価要素の前記評価尺度値の偏りを算出し、さらに前記算出した評価尺度値の偏りについて前記実行スケジュールの所定期間に亘って平均して求めた平均値を第１の物理サーバスコアとして算出し、前記平均値が小さいほど、優先順位を高く設定し、前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して前記評価尺度値として算出し、前記実行スケジュールの所定期間に亘って前記評価尺度値すべての中で最大の評価尺度値を前記物理サーバごとに抽出し、抽出した前記最大の評価尺度値を前記物理サーバの第２の物理サーバスコアとし、抽出した前記最大の評価尺度値の中で小さい評価尺度値を有する物理サーバほど、優先順位を高く設定し、前記第１の物理サーバスコアおよび前記第２の物理サーバスコアそれぞれに重み計数を乗算し、両者を合計した合計値を前記物理サーバスコアとして設定することを特徴とする。
【００１６】
このような構成によれば、２つの異なる方法によって算出した物理サーバスコアに重み付けをして物理サーバスコアを算出するので、２つの異なる方法双方を加味して、集約効率の向上、リソース競合の防止および物理サーバの稼動台数の低減（電力使用効率の向上）を満足した上で、容易に移動先の物理サーバを見つけることができる。
【００１７】
また、本発明は、前記処理部が、前記仮想マシンの実行スケジュールを作成する際に、リソース量を切替えるタイミングを示すリソース割当タイミングをスケジュールの区切りとし、リソースの前記評価要素が複数種類の場合には、前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して評価尺度値として算出し、前記リソース割当タイミングに挟まれた期間内で複数の前記評価要素の前記評価尺度値の偏りを算出し、さらに前記算出した評価尺度値の偏りについて前記実行スケジュールの所定期間に亘って平均して求めた平均値を前記物理サーバスコアとして算出し、前記平均値が小さいほど、優先順位を高く設定し、前記物理サーバスコアを複数の段階で表現し、前記物理サーバスコアが同じ段階で表されるときには、前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して前記評価尺度値として算出し、前記実行スケジュールの所定期間に亘って前記評価尺度値すべての中で最大の評価尺度値を前記物理サーバごとに抽出し、抽出した前記最大の評価尺度値を前記物理サーバスコアとし、抽出した前記最大の評価尺度値の中で小さい評価尺度値を有する物理サーバほど、優先順位を高く設定することを特徴とする。
【００１８】
また、本発明は、前記処理部が、前記仮想マシンの実行スケジュールを作成する際に、リソース量を切替えるタイミングを示すリソース割当タイミングをスケジュールの区切りとし、リソースの前記評価要素が複数種類の場合には、前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して評価尺度値として算出し、前記実行スケジュールの所定期間に亘って前記評価尺度値すべての中で最大の評価尺度値を前記物理サーバごとに抽出し、抽出した前記最大の評価尺度値を前記物理サーバスコアとし、抽出した前記最大の評価尺度値の中で小さい評価尺度値を有する物理サーバほど、優先順位を高く設定し、前記物理サーバスコアを複数の段階で表現し、前記物理サーバスコアが同じ段階で表されるときには、前記評価要素それぞれにおける前記使用リソース量を、前記リソース割当タイミングに挟まれた期間ごとに１つの評価軸に射影して前記評価尺度値として算出し、前記リソース割当タイミングに挟まれた期間内で複数の前記評価要素の前記評価尺度値の偏りを算出し、さらに前記算出した評価尺度値の偏りについて前記実行スケジュールの所定期間に亘って平均して求めた平均値を前記物理サーバスコアとして算出し、前記平均値が小さいほど、優先順位を高く設定することを特徴とする。
【００１９】
このような構成によれば、２つの異なる方法によって算出した物理サーバスコアのうち、一方の方法によって算出した物理サーバスコアがほぼ等しい場合であっても、他方の方法によって算出した物理サーバスコアの違いによって優先順位を付けることができるので、集約効率の向上、リソース競合の防止および物理サーバの稼動台数の低減（電力使用効率の向上）を満足した上で、容易に移動先の物理サーバを見つけることができる。
【発明の効果】
【００２０】
本発明によれば、仮想マシンを物理サーバへ配置するときに、集約効率を向上し、リソース競合を防止し、物理サーバの稼動台数を低減することを満足させることができる。
【図面の簡単な説明】
【００２１】
【図１】仮想マシン実行システムの構成例を示す図である。
【図２】仮想マシンの必要リソース量を示す図である。
【図３】仮想マシン配置装置の機能例を示す図である。
【図４】仮想マシンの初期配置を決定するための初期配置処理フロー例を示す図である。
【図５】仮想マシンを再配置するための再配置処理フロー例を示す図である。
【図６】仮想マシンを再配置するための再配置処理フロー例（つづき）を示す図である。
【図７】記憶部に記憶される情報例を示す図であり、（ａ）はアプリケーションの処理スケジュールの一例を表し、（ｂ）は仮想マシン必要リソース量情報の一例を表し、（ｃ）は物理サーバリソース情報の一例を表し、（ｄ）は許容サービス中断時間閾値情報の一例を表し、（ｅ）は仮想マシンの移行時間情報の一例を表し、（ｆ）は物理サーバスコア情報の一例を表し、（ｇ）は仮想マシン配置情報の一例を表す。
【発明を実施するための形態】
【００２２】
本発明を実施するための形態（以降、「本実施形態」と称す。）について、適宜図面を参照しながら詳細に説明する。
【００２３】
（仮想マシン実行システム）
はじめに、本実施形態における仮想マシン実行システムの構成例について、図１を用いて説明する。
図１に示すように、仮想マシン実行システム５０は、仮想マシン配置装置１０、１台以上の物理サーバ２０（２０ａ，２０ｂ，・・２０ｍ）で構成される物理サーバ群２１および記憶装置３１を備える。仮想マシン配置装置１０、物理サーバ２０および記憶装置３１は、ネットワーク４０を介して、通信可能に接続されている。なお、図１では、記憶装置３１は、１台しか記載していないが、２台以上であっても構わない。
【００２４】
記憶装置３１は、ネットワーク４０を介して仮想マシンＡ（ＶＭ（Virtual Machine）プログラム）３０ａ〜仮想マシンＥ（ＶＭプログラム）３０ｅを読み書きする機能を有する。なお、以降の説明では、仮想マシンＡ（３０ａ）〜仮想マシンＥ（３０ｅ）を区別する必要がない場合には、仮想マシン３０と表記することとする。また、図１には、５つの仮想マシン３０が記載されているが、５つに限られることはなく、４以下または６以上であっても構わない。また、本実施形態では、１つの仮想マシン３０は、１つのアプリケーションを実行するものとして説明する。
【００２５】
仮想マシン配置装置１０は、記憶装置３１に記憶されている仮想マシン３０を物理サーバ２０に配置する機能を有する。仮想マシン配置装置１０は、物理サーバ２０に仮想マシン３０を配置するとき、物理サーバ２０の集約効率を向上しつつリソース競合を防止するとともに、物理サーバ２０の稼動台数を低減する（電力使用効率を向上する）ように制御を行う。なお、仮想マシン配置装置１０の機能例の詳細については後記する。
【００２６】
物理サーバ２０は、仮想マシン配置装置１０によって配置された仮想マシン３０を実行する機能を有する。例えば、図１では、物理サーバ２０ａは、配置された仮想マシンＡ（３０ａ）および仮想マシンＣ（３０ｃ）を実行する。また、物理サーバ２０ｂは、配置された仮想マシンＢ（３０ｂ）、仮想マシンＤ（３０ｄ）、仮想マシンＥ（３０ｅ）を実行する。また、物理サーバ２０ｍは、仮想マシン３０が配置されていないため、電源がＯＦＦされるかまたは低電力消費モードに移行される。そのため、仮想マシン実行システム５０全体の電力消費効率が向上する。
【００２７】
（仮想マシンを配置するときに考慮する３条件）
本発明では、仮想マシン配置装置１０は、下記３条件を満足するようにして、仮想マシン３０の配置を決定する。
条件１：物理サーバ２０において、仮想マシン３０の集約効率を高くすること
条件２：１台の物理サーバ２０に配置された仮想マシン３０間で、リソース競合が起きない範囲において、リソース使用効率を高くすること
条件３：リソース使用効率が低い物理サーバ２０に配置されている仮想マシン３０すべてを他の物理サーバ２０に移動し、仮想マシン３０が配置されていない物理サーバ２０を電源ＯＦＦまたは低電力消費モードに移行させ、電力使用効率を高くすること
【００２８】
（仮想マシンの必要リソース量の算出）
条件１〜３を満たすように、仮想マシン３０をどの物理サーバ２０に配置するかを決定するためには、まず、仮想マシン３０（アプリケーション）の必要リソース量が明らかになっている必要がある。
【００２９】
そこで、アプリケーションの処理を、事前に処理の実行期間をスケジューリング可能な処理と、不定期に突発的に発生する処理等のように事前に処理の実行期間をスケジューリングできない処理とに分類する。そして、スケジューリング可能な処理に対しては、処理の発生期間に対して必要なリソース量を割り当てる。また、スケジューリングできない処理に対しては、いつ処理が発生しても処理性能を確保できるように、常時リソースを割り当てる。このようにして、仮想マシン３０の必要リソース量を決定する。
【００３０】
仮想マシン３０の必要リソース量の決定方法について、図２を用いて具体的に説明する。
図２の上段は、１つのアプリケーション（仮想マシン３０）を、そのアプリケーションを構成する処理ａ，ｂ，ｃに分解できたものとし、第１期間〜第Ｎ期間までの各処理の必要リソース量を決定する場面を示している。
第１期間〜第Ｎ期間は、リソース量を切替えるタイミングを示すリソース割当タイミング（縦方向の破線）に挟まれた期間であって、この期間の間は、必要リソース量は一定とする。本来は、処理の発生期間中にのみ必要リソース量を割り当てることが望ましいが、処理の発生が頻繁に変化する場合には、仮想マシン３０の配置先の物理サーバ２０を決定するための計算量が増加してしまう。したがって、リソース割当タイミングを所定期間ごとに設定して揃えることによって、計算量を低減させている。
【００３１】
図２の上段に示すように、処理ａはスケジューリングできる処理であり、第１期間内および第Ｎ期間内に、両端矢印線とドットの付された矩形が表示されている。両端矢印線は、処理発生期間を表している。また、矩形は、割り当てた必要リソース量を表し、処理発生期間を含む第１期間および第Ｎ期間に示される。
【００３２】
処理ｂはスケジューリングできる処理であり、第１期間から第２期間にまたがって、両端矢印線（処理発生期間）が表示されている。この場合には、第１期間および第２期間に斜め線のハッチングが付された矩形で示すように必要リソース量が割り当てられる。また、第Ｎ−１期間から第Ｎ期間にまたがる両端矢印線（処理発生期間）に対して、第Ｎ−１期間および第Ｎ期間に斜め線の付された矩形で示すように必要リソース量が割り当てられる。
【００３３】
処理ｃはスケジューリングできない処理である。この場合、いつ処理が発生しても処理性能を確保できるように、常に、縦線のハッチングが付された矩形で示すように必要リソース量が割り当てられる。
余裕分はアプリケーションを構成する処理ａ，ｂ，ｃ以外に、突発的に発生する処理に対応するため、リソース量が割り当てられる。
【００３４】
上記のようにして、仮想マシン３０の必要リソース量は、図２の下段に示すように、処理ａ，ｂ，ｃと余裕分とを合計して、期間ごとに算出される。そして、仮想マシン３０の必要リソース量の変更は、リソース割当タイミングのときに行われる。
【００３５】
（仮想マシン配置装置の機能）
次に、仮想マシン配置装置１０の機能例について、図３を用いて説明する（適宜、図１参照）。
仮想マシン配置装置１０は、処理部１００、記憶部１１０および通信部１２０を備える。
通信部１２０は、通信インタフェースであり、ネットワーク４０を介して物理サーバ２０や記憶装置３１と情報を送受信する。
【００３６】
処理部１００は、必要リソース量演算部１０１、初期配置決定部１０２および再配置決定部１０３を備える。処理部１００は、図示しないＣＰＵ（Central Processing Unit）およびメインメモリによって構成され、処理部１００の各部は、記憶部１１０に記憶されているアプリケーションプログラムをメインメモリに展開して具現化される。
【００３７】
必要リソース量演算部１０１は、図２を用いて説明したように、仮想マシン３０の必要リソース量を第１期間〜第Ｎ期間について算出する。
【００３８】
初期配置決定部１０２は、必要リソース量演算部１０１によって算出された必要リソース量を用いて、前記条件１（集約効率）および条件２（リソース使用効率）を満足するように、仮想マシン３０を物理サーバ２０に初期配置して、物理サーバ２０の初期台数を決定する。
【００３９】
再配置決定部１０３は、前記条件１（集約効率）、条件２（リソース使用効率）および条件３（電力使用効率）を満足するように、既に配置済の仮想マシン３０を再配置（配置換え）する移動先の物理サーバ２０を決定する。再配置の処理は、物理サーバ２０が仮想マシン３０の初期配置の状態から処理を実行している間に、使用リソース量が上限閾値を超えてリソース競合が起きそうになった場合や、使用リソース量が所定期間常に下限閾値を下回ると予想される場合に実行される。なお、使用リソース量とは、実際に処理に使用されているリソース量のことであって、前記した必要リソース量とは言葉の定義が異なる。ただし、使用リソース量の大きさおよび必要リソース量の大きさは一致する場合もあるし、異なる場合もある。
【００４０】
記憶部１１０は、メモリやハードディスク等の記憶媒体である。記憶部１１０には、アプリケーションの処理スケジュール１１１、仮想マシン必要リソース量情報１１２、物理サーバリソース情報１１３、許容サービス中断時間閾値情報１１４、仮想マシンの移行時間情報１１５、物理サーバスコア情報１１６および仮想マシン配置情報１１７が記憶される。記憶部１１０に記憶されている情報は、処理部１００によって読み書きされる。記憶部１１０に記憶される各情報の一例については、図７に示した。
【００４１】
アプリケーションの処理スケジュール１１１は、図２の上段で説明した、第１期間から第Ｎ期間までの間で発生する処理発生期間を、アプリケーション（仮想マシン３０）ごとに関連付けた情報である（図７（ａ）参照）。
仮想マシン必要リソース量情報１１２は、図２の下段で説明した、仮想マシン３０の必要リソース量の情報であり、仮想マシン３０と必要リソース量とを関連付けた情報である（図７（ｂ）参照）。なお、必要リソース量は、期間と関連付けて記憶される。
物理サーバリソース情報１１３は、リソース競合が起きないようにするための物理サーバ２０の使用リソース量の上限閾値、およびリソース使用効率が低いか否かを判定するための使用リソース量の下限閾値を物理サーバ２０と関連付けた情報である（図７（ｃ）参照）。なお、図７（ｃ）中の「評価要素」欄において、「評価要素１」「評価要素２」とは、例えば、空き容量、ＣＰＵ使用率、メモリ使用率等であって、物理サーバ２０の余裕を測る物差しを意味している。この評価要素の詳細については、後記する。また、図７（ｃ）中の「リソース量」は、評価要素ごとのリソース量を意味している。
【００４２】
許容サービス中断時間閾値情報１１４は、アプリケーションの処理が中断しても許容できるサービスの中断時間の閾値であり、仮想マシン３０とサービス中断時間閾値とを関連付けた情報である（図７（ｄ）参照）。
仮想マシンの移行時間情報１１５は、既に物理サーバ２０に配置済の仮想マシン３０を再配置して移動先の物理サーバ２０に移動させる際に発生するサービス中断時間を、仮想マシン３０と配置元の物理サーバ２０と移動先の物理サーバ２０と関連付けた情報である（図７（ｅ）参照）。サービス中断時間は、例えば、再配置に係る物理サーバ２０間の距離（経由するハブ等のノードの台数）によって異なる。
【００４３】
物理サーバスコア情報１１６は、物理サーバ２０ごとに算出される物理サーバスコアに関する情報である（図７（ｆ）参照）。本実施形態では、物理サーバスコアの最も大きな物理サーバ２０に仮想マシン３０が割り当てられるものとして説明するが、その逆であっても構わない。なお、物理サーバスコアの算出方法については後記する。
仮想マシン配置情報１１７は、仮想マシン３０とその仮想マシン３０が配置されている物理サーバ２０とを関連付けた情報である（図７（ｇ）参照）。
【００４４】
ここで、処理部１００における必要リソース量演算部１０１、初期配置決定部１０２および再配置決定部１０３の各処理と、記憶部１１０に記憶される情報との入出力関係について、説明する。
【００４５】
必要リソース量演算部１０１は、アプリケーションの処理スケジュール１１１を入力とし、仮想マシン必要リソース量情報１１２を出力する。
【００４６】
初期配置決定部１０２は、仮想マシン必要リソース量情報１１２を入力とし、物理サーバスコア情報１１６を参照して、仮想マシン３０の初期配置の状態を仮想マシン配置情報１１７に出力する。なお、初期配置決定部１０２は、物理サーバ２０のリソース状態を入力とし、物理サーバスコアを演算するとともに、物理サーバスコア情報１１６に対して物理サーバスコアを読み書きする。
【００４７】
再配置決定部１０３は、仮想マシン配置情報１１７に記憶されている仮想マシン３０の初期配置の状態を入力とし、物理サーバリソース情報１１３を参照して、使用リソース量が上限閾値を超えるかまたは下限閾値を下回るかを判定し、再配置対象とする仮想マシン候補を抽出する。次に、再配置決定部１０３は、仮想マシン候補を再配置する場合、仮想マシンの移動時間情報１１５および許容サービス中断時間閾値情報１１４を参照して、サービス中断時間が許容サービス中断時間閾値を満足する移動先の物理サーバ２０を抽出する。そして、再配置決定部１０３は、物理サーバスコア情報１１６を参照して、仮想マシン３０の再配置の状態を仮想マシン配置情報１１７に出力する。なお、再配置決定部１０３は、物理サーバ２０のリソース状態を入力とし、物理サーバスコアを演算するとともに、物理サーバスコア情報１１６に対して物理サーバスコアを読み書きする。
【００４８】
（初期配置処理フロー）
次に、仮想マシン３０の初期配置を決定するための初期配置処理フロー例について、図４を用いて説明する（適宜、図１，２参照）。
ステップＳ４０１では、初期配置決定部１０２は、物理サーバ台数設定ルールに従って物理サーバ２０の初期台数を決定する。
物理サーバ台数設定ルールとは、第１期間から第Ｎ期間までの間で、期間ごとに配置予定の仮想マシン３０の必要リソース量の合計値を算出し、最も大きな合計値の必要リソース量を配置可能な物理サーバ２０の台数を求めることである。
【００４９】
ステップＳ４０２では、初期配置決定部１０２は、配置予定の仮想マシン３０の中から、必要リソース量の大きい順に１つ選択する。ただし、当該必要リソース量とは、第１期間から第Ｎ期間までの間で必要リソース量を合計した合計値のことである。
【００５０】
ステップＳ４０３では、初期配置決定部１０２は、物理サーバ選定ルールに従って、配置先の物理サーバ２０を決定する。ただし、ステップＳ４０３の時点で決定する配置先の物理サーバ２０は、配置先の候補であるので、複数であっても構わない。
物理サーバ選定ルールとは、配置予定の仮想マシン３０の必要リソース量と、物理サーバ２０に既に割当済のリソース量との合計値が、第１期間〜第Ｎ期間に亘って、物理サーバ２０に設定した使用リソース量の上限閾値以下となる条件を満たすように、物理サーバ２０を選ぶことである。なお、使用リソース量が上限閾値以下になるとは、リソースの評価要素が複数の場合には、リソースの評価要素それぞれについて、上限閾値以下となることを意味している。ただし、リソースの評価要素については後記する。また、上限閾値は、物理サーバリソース情報１１３に記憶されている。
【００５１】
一般的な仮想マシン３０のリソースの使用方法は、予約モードと制限モードの２種類が知られている。予約モードでは、仮想マシン３０は、その仮想マシン３０が使用する最低限のリソース量を保証され、空きリソースが存在する場合には、最低限のリソース量を超えて空きリソースを使用できる。制限モードでは、仮想マシン３０は、使用可能なリソース量の上限値を設定され、設定された上限値を超えてリソースを使用できない。本実施形態では、仮想マシン３０が、制限モードでリソースを使用するものとする。
【００５２】
ステップＳ４０４では、初期配置決定部１０２は、配置先の物理サーバ２０があるか否かを判定する。
配置先の物理サーバ２０がある場合（ステップＳ４０４でＹｅｓ）、処理はステップＳ４０５へ進み、配置先の物理サーバ２０がない場合（ステップＳ４０４でＮｏ）、処理はステップＳ４０８へ進む。
【００５３】
ステップＳ４０５では、初期配置決定部１０２は、配置先の物理サーバ２０のリソース状態に基づいて優先順位を示す物理サーバスコアを算出し、優先順位の最も高い物理サーバ２０に仮想マシン３０を配置する。
【００５４】
ここで、物理サーバスコアの算出方法について説明する。物理サーバスコアの算出方法は、リソースの評価要素の数によって異なる。
リソースの評価要素として、例えば、ＣＰＵ使用率、メモリ使用率等がある。ＣＰＵ使用率は、実行中のアプリケーションがＣＰＵを占有している時間の割合を表す。メモリ使用率は、実行中のアプリケーションがメモリを占有している割合を表す。
【００５５】
ここで、リソースの評価要素を１種類だけ（例えば、ＣＰＵ使用率だけ）で考えた場合、初期配置決定部１０２は、第１期間〜第Ｎ期間（仮想マシン３０の実行スケジュールの所定期間）に亘って、物理サーバ２０の空きリソース量の合計値を算出し、空きリソース量の合計値が大きいほど、優先順位を高くするように物理サーバスコアを設定する。なお、優先順位が高いとは、物理サーバ２０が選択されやすいことを意味している。つまり、物理サーバスコアは、リソース状態（空きリソース量の合計値）の違いによって異なる。
【００５６】
また、リソースの評価要素が複数の場合（ＣＰＵ使用率、メモリ使用率等）、初期配置決定部１０２は、リソースの評価要素それぞれの評価尺度値を算出する。評価尺度値とは、ＣＰＵ使用率の場合には、ＣＰＵ使用率の最大値が１００％で、使用時には８０％であれば、０．８（＝８０÷１００）と算出し、その算出した値を１つの評価軸に射影して求めた評価値である。また、メモリ使用率の場合には、評価尺度値は、最大メモリ容量が１ＧＢで、使用時には７００ＭＢであれば、０．７（＝７００÷１０００）と算出し、その算出した値を１つの評価軸に射影して求めた評価値である。ここで、１つの評価尺度に射影するとは、例えば、リソースの評価要素ごとに所定の重み係数を乗算することであっても構わない。つまり、ＣＰＵ使用率の評価尺度値およびメモリ使用率の評価尺度値は、１つの評価軸（１次元）の評価値で表現されているため、その評価値の大きさを直接比較することができる。
そこで、初期配置決定部１０２は、まず、一つの期間（期間とは図２に示す第〇期間のこと）内において評価要素の種類を問わずこれらの評価尺度値の偏りを個別期間値として算出し、次に個別期間値をさらに第１期間〜第Ｎ期間に亘って平均して求めた平均値を全期間平均値として算出し、全期間平均値が小さいほど、優先順位を高くするように物理サーバスコアを設定する。つまり、物理サーバスコアは、リソース状態（評価尺度値の偏りの平均値）の違いによって異なる。
【００５７】
ステップＳ４０６では、初期配置決定部１０２は、未配置の仮想マシン３０が残っているか否かを判定する。
未配置の仮想マシン３０が残っている場合（ステップＳ４０６でＹｅｓ）、処理はステップＳ４０２へ戻り、未配置の仮想マシンが残っていない場合（ステップＳ４０６でＮｏ）、処理はステップＳ４０７へ進む。
【００５８】
ステップＳ４０７では、初期配置決定部１０２は、物理サーバ台数を決定する。具体的には、物理サーバ２０の台数は、配置予定の仮想マシン３０が配置された物理サーバ２０の台数となる。そして、初期配置の処理は終了する。
ステップＳ４０８では、初期配置決定部１０２は、物理サーバ２０を増加する。そして、処理はステップＳ４０３へ戻る。
【００５９】
以上、図４に示す初期配置処理フローでは、初期配置決定部１０２は、ステップＳ４０１において、物理サーバ台数設定ルールに従って理論上の物理サーバ２０の初期台数（理論上の最小台数）を設定することにより、条件１（集約効率）を満たすための初期状態を設定することができる。また、初期配置決定部１０２は、ステップＳ４０３において、物理サーバ選定ルールに従って配置先の物理サーバ２０を決定することにより、条件２（リソース使用効率）を満たすための初期状態を設定することができる。また、初期配置決定部１０２は、必要リソース量の大きい順に仮想マシン３０を選択し（ステップＳ４０２）、優先順位の最も高い物理サーバ２０に当該仮想マシン３０を配置する（ステップＳ４０５）ことにより、ランダムに仮想マシン３０を配置する場合に比べて、物理サーバ２０の台数を少なくすることができる。
【００６０】
（再配置処理フロー）
次に、配置済の仮想マシン３０を他の物理サーバ２０に再配置するための再配置処理フロー例について、図５，６を用いて説明する（適宜、図１，３参照）。なお、以下の説明では、再配置と移動とを同じ意味で用いている。また、再配置（移動）は、図２で説明したリソース割当タイミングに実行されるものとする。
【００６１】
図５において、ステップＳ５０１では、再配置決定部１０３は、次の期間（期間とは図２に示す第〇期間のこと）において、物理サーバ２０の使用リソース量が上限閾値を超えるか否かを判定する。
具体的には、再配置決定部１０３は、物理サーバリソース情報１１３を参照して、上限閾値とリソース量とを取得して、物理サーバ２０の使用リソース量が上限閾値を超えるか否かを判定する。
上限閾値を超えると判定した場合（ステップＳ５０１でＹｅｓ）、処理はステップＳ５０２へ進み、上限閾値以下と判定した場合（ステップＳ５０１でＮｏ）、処理は図６の丸Ａに進む。
【００６２】
ステップＳ５０２では、再配置決定部１０３は、移動対象仮想マシン選定ルールに従って、移動する仮想マシン候補を抽出する。
移動対象仮想マシン選定ルールとは、物理サーバ２０の使用リソース量が上限閾値を超えると予想される場合、物理サーバ２０の使用リソース量が上限閾値を下回るように、使用リソース量の大きい仮想マシン３０から順に、移動対象の仮想マシン候補として抽出することである。なお、移動対象の仮想マシン候補の台数は、物理サーバ２０の使用リソース量と上限閾値との差分に基づいて、再配置決定部１０３によって決定される。このようにすることによって、計算量を低減することができる。また、使用リソース量が上限閾値を下回るとは、リソースの評価要素が複数の場合には、リソースの評価要素それぞれについて、上限閾値を下回ることを意味している。
【００６３】
ステップＳ５０３では、再配置決定部１０３は、仮想マシン候補の中から、任意に仮想マシン３０を選択し、移動先物理サーバ選定ルールに従って、移動先の物理サーバ２０を抽出する。
【００６４】
移動先物理サーバ選定ルールとは、前記した物理サーバ選定ルールに従って抽出された物理サーバ２０の中で、配置予定の仮想マシン３０を物理サーバ２０へ移動する際のサービス中断時間が許容サービス中断時間以内である物理サーバ２０を選ぶことである。具体的には、再配置決定部１０３は、記憶部１１０に記憶されている仮想マシンの移動時間情報１１６および許容サービス中断時間閾値情報１１４を参照して、サービス中断時間が許容サービス中断時間以内と判定される物理サーバ２０を移動先の物理サーバ２０として選ぶ。
【００６５】
ステップＳ５０４では、再配置決定部１０３は、移動先の物理サーバ２０があるか否かを判定する。
移動先の物理サーバ２０がある場合（ステップＳ５０４でＹｅｓ）、処理はステップＳ５０５に進み、移動先の物理サーバ２０がない場合（ステップＳ５０４でＮｏ）、処理はステップＳ５０７へ進む。
【００６６】
ステップＳ５０５では、再配置決定部１０３は、移動先の物理サーバ２０のリソース状態に基づいて優先順位を示す物理サーバスコアを演算し、優先順位の最も高い物理サーバ２０に仮想マシン３０を移動する。なお、物理サーバスコアの算出方法は、前記した通りである。
【００６７】
ステップＳ５０６では、再配置決定部１０３は、未移動の仮想マシン候補が残っているか否かを判定する。
未移動の仮想マシン候補が残っていると判定した場合（ステップＳ５０６でＹｅｓ）、処理はステップＳ５０３へ戻り、未移動の仮想マシン候補が残っていないと判定した場合（ステップＳ５０６でＮｏ）、処理は終了する。
【００６８】
ステップＳ５０７では、再配置決定部１０３は、移動先物理サーバ選定ルールに従う物理サーバ２０を増加する。そして、処理はステップＳ５０３へ戻る。
【００６９】
次に、図６の丸Ａから処理を開始して、ステップＳ６０１では、再配置決定部１０３は、次の期間（期間とは図２に示す第〇期間のこと）において、物理サーバ２０の使用リソース量が下限閾値を所定時間下回るか否かを判定する。なお、使用リソース量が下限閾値を下回るとは、リソースの評価要素が複数の場合には、リソースの評価要素それぞれについて、下限閾値を下回ることを意味している。
具体的には、再配置決定部１０３は、物理サーバリソース情報１１３を参照して、下限閾値とリソース量とを取得して、物理サーバ２０の使用リソース量が下限閾値を所定時間下回るか否かを判定する。
下限閾値を所定時間下回ると判定した場合（ステップＳ６０１でＹｅｓ）、処理はステップＳ６０２へ進み、下限閾値を所定時間下回らないと判定した場合（ステップＳ６０１でＮｏ）、処理はステップＳ６０７に進む。
【００７０】
ステップＳ６０２では、再配置決定部１０３は、物理サーバ２０上の仮想マシン３０すべての中から、任意に１つの仮想マシン３０を選択し、移動先物理サーバ選定ルールに従って、移動先の物理サーバ２０を抽出する。
【００７１】
ステップＳ６０３では、再配置決定部１０３は、移動先の物理サーバ２０があるか否かを判定する。
移動先の物理サーバ２０があると判定した場合（ステップＳ６０３でＹｅｓ）、処理はステップＳ６０４に進み、移動先の物理サーバ２０がないと判定した場合（ステップＳ６０３でＮｏ）、処理はステップＳ６０８へ進む。
【００７２】
ステップＳ６０４では、再配置決定部１０３は、移動先の物理サーバ２０のリソース状態に基づいて優先順位を示す物理サーバスコアを演算し、優先順位の最も高い物理サーバ２０に仮想マシン３０を仮移動する。なお、物理サーバスコアの算出方法は、前記した通りである。
【００７３】
ステップＳ６０５では、再配置決定部１０３は、仮移動していない仮想マシン３０が残っているか否かを判定する。
仮移動していない仮想マシン３０が残っていると判定した場合（ステップＳ６０５でＹｅｓ）、処理はステップＳ６０２へ戻り、仮移動していない仮想マシン３０が残っていないと判定した場合（ステップＳ６０５でＮｏ）、処理はステップＳ６０６へ進む。
【００７４】
ステップＳ６０６では、再配置決定部１０３は、仮想マシン３０を仮移動先の物理サーバ２０へ移動する。そして、仮想マシン配置装置１０は、仮想マシン３０が配置されていない物理サーバ２０を電源ＯＦＦまたは低消費電力モードに移行することで、電力使用効率を向上させることができる。
【００７５】
ステップＳ６０７では、再配置決定部１０３は、仮想マシン３０の再配置を中止する。そして、処理は終了する。
【００７６】
ステップＳ６０８では、再配置決定部１０３は、仮想マシン３０の移動を中止する。そして、処理は終了する。
【００７７】
以上、図５に示す再配置処理フローでは、再配置決定部１０３は、移動対象仮想マシン選定ルールに従って移動する仮想マシン候補を抽出する（ステップＳ５０２）ことによって、条件２（リソース使用効率）を満たすことができる。また、再配置決定部１０３は、移動先物理サーバ選定ルールに従って、移動先の物理サーバ２０を抽出する（ステップＳ５０３）ことによって、条件１（集約効率）を満たすことができる。また、再配置決定部１０３は、図６に示す処理を実行することによって、条件３（電力使用効率）を満たすことができる。
【００７８】
以上、本実施形態の仮想マシン実行システム５０は、移動先物理サーバ選定ルール（サービス中断時間が許容サービス中断時間以内と判定される物理サーバ２０を移動先の物理サーバ２０として抽出する）を用いる（ステップＳ５０３）ことによって、条件１（集約効率）を満たすことができる。また、仮想マシン実行システム５０は、移動対象仮想マシン選定ルール（物理サーバ２０の使用リソース量が上限閾値を超えると予想される場合、物理サーバ２０の使用リソース量が上限閾値を下回るように、使用リソース量の大きい仮想マシン３０から順に、移動対象の仮想マシン候補を抽出する）を用いる（ステップＳ５０２）ことによって、条件２（リソース使用効率）を満たすことができる。また、仮想マシン実行システム５０は、物理サーバ２０の使用リソース量が下限閾値を所定時間下回る場合、当該物理サーバ２０に配置されている仮想マシン３０を他の物理サーバ２０に移動する（図６に示す処理）ことによって、条件３（電力使用効率）を満たすことができる。
【００７９】
なお、本実施形態に記載した物理サーバ台数設定ルールの変形例として、第１期間において、配置予定の仮想マシン３０の必要リソース量の合計値を算出し、その合計値の必要リソース量を配置可能な物理サーバ２０の台数を求めるようにしても構わない。
【００８０】
また、物理サーバスコアの算出において、リソースの評価要素が複数の場合の変形例として、本実施形態に記載した方法以外に、４つの変形パターンについて説明する。
第１の変形パターンは、第１期間〜第Ｎ期間に亘って、リソースの評価要素の違いを問わず、リソースの評価要素すべての評価尺度値の中で最大の評価尺度値を物理サーバ２０ごとに抽出し、次に、抽出した最大の評価尺度値を物理サーバ２０間で比較して、比較した最大の評価尺度値の中で小さい評価尺度値を有する物理サーバ２０ほど、優先順位が高くなるように設定する。つまり、余裕のある物理サーバ２０ほど、優先順位が高くなるように設定する。
【００８１】
第２の変形パターンは、本実施形態で説明した物理サーバスコアに重み係数αを乗算し、第１の変形パターンで説明した物理サーバスコアに重み係数βを乗算し、両者を加算して加算値を物理サーバスコアとして設定する。ただし、α＋β＝１である。
【００８２】
第３の変形パターンは、物理サーバスコアを、例えば、複数の段階で表現したとき、本実施形態で説明した物理サーバスコアが同じ段階に属していた場合、次に第１の変形パターンの方法で求めた物理サーバスコアの大小に基づいて物理サーバスコアを設定する。
【００８３】
第４の変形パターンは、物理サーバスコアを、例えば、複数の段階で表現したとき、第１の変形パターンの方法で求めた物理サーバスコアが同じ段階に属していた場合、本実施形態で説明した方法で説明した物理サーバスコアの大小に基づいて物理サーバスコアを設定する。
【符号の説明】
【００８４】
１０  仮想マシン配置装置
２０  物理サーバ
２１  物理サーバ群
３０  仮想マシン
３１  記憶装置
５０  仮想マシン実行システム
１００  処理部
１０１  必要リソース量演算部
１０２  初期配置決定部
１０３  再配置決定部
１１０  記憶部
１１１  アプリケーションの処理スケジュール
１１２  仮想マシン必要リソース量情報
１１３  物理サーバリソース情報
１１４  許容サービス中断時間閾値情報
１１５  仮想マシンの移行時間情報
１１６  物理サーバスコア情報
１１７  仮想マシン配置情報
【図１】
0005827594.tif 000002
【図２】
0005827594.tif 000003
【図３】
0005827594.tif 000004
【図４】
0005827594.tif 000005
【図５】
0005827594.tif 000006
【図６】
0005827594.tif 000007
【図７】
0005827594.tif 000008