(57)【特許請求の範囲】
【請求項１】
複数の物理サーバのいずれかに、少なくとも１つの仮想マシンを配置するように前記物理サーバを制御する配置制御手段と、
各物理サーバ上で動作する前記仮想マシン毎の負荷を示す負荷情報を取得する負荷情報取得手段と、
前記物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶手段と、
前記物理サーバに前記仮想マシンを配置できる制約条件として、当該物理サーバにかかる負荷が適正範囲となるように、当該物理サーバが提供できる計算機資源の量について、当該仮想マシンを配置する当該物理サーバにかかる負荷の上限しきい値が設定される制約条件情報を記憶する制約条件情報記憶手段と、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、複数の前記物理サーバのいずれかで動作させる仮想マシン毎に、前記優先順位順に、各物理サーバにかかる負荷が、前記上限しきい値以下か否かを判定し、前記上限しきい値以下と判定された物理サーバを、当該仮想マシンを配置できる物理サーバとして選択することで、複数の前記物理サーバの中から、最も優先順位の高い物理サーバを選択する選択手段と、を備え、
前記仮想マシン毎に、前記選択手段による前記物理サーバの選択、および前記配置制御手段による、選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返し、前記配置制御手段は、前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御し、
さらに、
前記負荷情報取得手段が現在および過去に取得した負荷の情報を含む負荷履歴情報を記憶する負荷履歴情報記憶手段と、
前記物理サーバの前記負荷が前記上限しきい値を超えた時間の割合を、各前記物理サーバ毎に算出し、全ての前記物理サーバで算出した前記割合の平均を示す物理サーバ平均高負荷率、または、前記負荷が前記上限しきい値を超えた物理サーバで仮想マシンがホストされた時間の割合を、各前記物理サーバ毎に算出し、全ての前記物理サーバで算出した前記割合の平均を示す仮想マシン平均高負荷率を用いた負荷評価値の目標値を示す目標値情報を記憶する目標値情報記憶手段と、
前記制約条件情報を更新する制約条件更新手段と、を備え、
前記制約条件更新手段は、
前記負荷履歴情報から前記負荷評価値を算出し、算出した前記負荷評価値と前記目標値とを比較し、
前記比較の結果に基づいて、
前記負荷評価値が前記目標値の下限を下回る場合は、前記上限しきい値を上げることにより、前記物理サーバの前記負荷が前記上限しきい値を超える時間を延ばして前記負荷評価値を上げるように、
前記負荷評価値が前記目標値の上限を上回る場合は、前記上限しきい値を下げることにより、前記物理サーバの前記負荷が前記上限しきい値を超える時間を短縮して前記負荷評価値を下げるように、
前記上限しきい値を変更し、前記制約条件情報記憶手段の前記制約条件情報を更新する制約条件更新処理を実行する制御装置。
【請求項２】
請求項１に記載の制御装置において、
前記選択手段は、前記負荷履歴情報から各前記仮想マシンが将来に必要とする計算機資源の量を見積もった結果を前記物理サーバに配置する仮想マシンの負荷として、当該仮想マシンを配置する当該物理サーバにかかる負荷を求め、前記優先順位順に、各物理サーバにかかる負荷が、前記上限しきい値以下か否かを判定し、前記上限しきい値以下と判定された物理サーバを、当該仮想マシンを配置できる物理サーバとして選択することで、複数の前記物理サーバの中から、最も優先順位の高い物理サーバを選択する制御装置。
【請求項３】
請求項１または２に記載の制御装置において、
前記仮想マシンの負荷が変動して、前記負荷情報取得手段が取得した前記負荷情報に基づく、前記物理サーバにかかる負荷が、前記上限しきい値を超えた場合、前記選択手段は、前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、複数の前記物理サーバのいずれかで動作させる仮想マシン毎に、前記優先順位順に、各物理サーバにかかる負荷が、前記上限しきい値以下か否かを判定し、前記上限しきい値を超えた前記物理サーバを除く物理サーバを、当該仮想マシンを配置できる物理サーバとして選択することで、前記上限しきい値を超えた前記物理サーバを除く複数の前記物理サーバの中から最も優先順位の高い物理サーバを選択する制御装置。
【請求項４】
請求項１乃至３いずれかに記載の制御装置において、
前記物理サーバの信頼性を示す信頼性情報を記憶する信頼性情報記憶手段と、
前記優先順位情報記憶手段の前記優先順位情報を更新する優先順位情報更新手段と、をさらに備え、
前記優先順位情報更新手段は、前記信頼性情報に基づき、前記信頼性の低い物理サーバの前記優先順位を低くし、前記信頼性の高い物理サーバの前記優先順位を高くする優先順位更新処理を実行する制御装置。
【請求項５】
請求項１乃至４いずれかに記載の制御装置において、
前記優先順位情報記憶手段は、電力効率の高い物理サーバに高い優先順位をつけるとともに、前記物理サーバどうしの相対位置を考慮して前記優先順位をつけた前記優先順位情報を記憶する制御装置。
【請求項６】
請求項１乃至５いずれかに記載の制御装置において、
前記仮想マシンが１つも動作していない物理サーバに対して、当該物理サーバの電源をオフ、または、サスペンド状態にするよう制御するとともに、
前記仮想マシンを配置する際、配置先の物理サーバの電源状態を確認し、当該物理サーバの電源がオフまたはサスペンド状態の場合、当該物理サーバの電源をオンするように制御する電源制御手段をさらに備える制御装置。
【請求項７】
制御装置のデータ処理方法であって、
前記制御装置が、
少なくとも１つの仮想マシンが動作する複数の物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶装置と、
前記物理サーバに前記仮想マシンを配置できる制約条件として、当該物理サーバにかかる負荷が適正範囲となるように、当該物理サーバが提供できる計算機資源の量について、当該仮想マシンを配置する当該物理サーバにかかる負荷の上限しきい値が設定される制約条件情報を記憶する制約条件情報記憶装置と、を備え、
前記制御装置が、
各物理サーバ上で動作する前記仮想マシン毎の負荷を示す負荷情報を取得し、
前記優先順位情報記憶装置を参照し、前記優先順位情報を取得し、
前記制約条件情報記憶装置を参照し、前記制約条件情報を取得し、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、複数の前記物理サーバのいずれかで動作させる仮想マシン毎に、前記優先順位順に、各物理サーバにかかる負荷が、前記上限しきい値以下か否かを判定し、前記上限しきい値以下と判定された物理サーバを、当該仮想マシンを配置できる物理サーバとして選択することで、複数の前記物理サーバの中から、最も優先順位の高い物理サーバを選択し、
前記仮想マシン毎に、前記物理サーバの選択、および選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返し、
前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御し、
さらに、
前記制御装置が、
現在および過去に取得した負荷の情報を含む負荷履歴情報を記憶する負荷履歴情報記憶装置と、
前記物理サーバの前記負荷が前記上限しきい値を超えた時間の割合を、各前記物理サーバ毎に算出し、全ての前記物理サーバで算出した前記割合の平均を示す物理サーバ平均高負荷率、または、前記負荷が前記上限しきい値を超えた物理サーバで仮想マシンがホストされた時間の割合を、各前記物理サーバ毎に算出し、全ての前記物理サーバで算出した前記割合の平均を示す仮想マシン平均高負荷率を用いた負荷評価値の目標値を示す目標値情報を記憶する目標値情報記憶装置と、を備え、
前記制御装置が、
前記負荷履歴情報から前記負荷評価値を算出し、算出した前記負荷評価値と前記目標値とを比較し、
前記比較の結果に基づいて、
前記負荷評価値が前記目標値の下限を下回る場合は、前記上限しきい値を上げることにより、前記物理サーバの前記負荷が前記上限しきい値を超える時間を延ばして前記負荷評価値を上げるように、
前記負荷評価値が前記目標値の上限を上回る場合は、前記上限しきい値を下げることにより、前記物理サーバの前記負荷が前記上限しきい値を超える時間を短縮して前記負荷評価値を下げるように、
前記上限しきい値を変更し、前記制約条件情報記憶装置の前記制約条件情報を更新する制約条件更新処理を実行する制御装置のデータ処理方法。
【請求項８】
請求項７に記載の制御装置のデータ処理方法において、
前記制御装置が、
前記負荷履歴情報から前記各仮想マシンが将来に必要とする計算機資源の量を見積もった結果を前記物理サーバに配置する仮想マシンの負荷として、当該仮想マシンを配置する当該物理サーバにかかる負荷を求め、前記優先順位順に、各物理サーバにかかる負荷が、前記上限しきい値以下か否かを判定し、前記上限しきい値以下と判定された物理サーバを、当該仮想マシンを配置できる物理サーバとして選択することで、複数の前記物理サーバの中から、最も優先順位の高い物理サーバを選択する制御装置のデータ処理方法。
【請求項９】
請求項７または８に記載の制御装置のデータ処理方法において、
前記制御装置は、
前記仮想マシンの負荷が変動して、取得した前記負荷情報に基づく、前記物理サーバにかかる負荷が、前記上限しきい値を超えた場合、前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、複数の前記物理サーバのいずれかで動作させる仮想マシン毎に、前記優先順位順に、各物理サーバにかかる負荷が、前記上限しきい値以下か否かを判定し、前記上限しきい値を超えた前記物理サーバを除く物理サーバを、当該仮想マシンを配置できる物理サーバとして選択することで、前記上限しきい値を超えた前記物理サーバを除く複数の前記物理サーバの中から最も優先順位の高い物理サーバを選択する制御装置のデータ処理方法。
【請求項１０】
請求項７乃至９いずれかに記載の制御装置のデータ処理方法において、
前記制御装置は、前記物理サーバの信頼性を示す信頼性情報を記憶する信頼性情報記憶装置をさらに備え、
さらに、
前記制御装置は、
前記信頼性情報記憶装置を参照し、前記信頼性情報を取得し、
前記信頼性情報に基づき、前記信頼性の低い物理サーバの前記優先順位が低く、前記信頼性の高い物理サーバの前記優先順位が高くなるように、前記優先順位情報記憶装置の前記優先順位情報を更新する制御装置のデータ処理方法。
【請求項１１】
少なくとも１つの仮想マシンが動作する複数の物理サーバと、
複数の前記物理サーバを制御する制御装置と、を備え、
前記制御装置は、
複数の前記物理サーバのいずれかに、少なくとも１つの仮想マシンを配置するように前記物理サーバを制御する配置制御手段と、
各物理サーバ上で動作する前記仮想マシン毎の負荷を示す負荷情報を取得する負荷情報取得手段と、
前記物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶手段と、
前記物理サーバに前記仮想マシンを配置できる制約条件として、当該物理サーバにかかる負荷が適正範囲となるように、当該物理サーバが提供できる計算機資源の量について、当該仮想マシンを配置する当該物理サーバにかかる負荷の上限しきい値が設定される制約条件情報を記憶する制約条件情報記憶手段と、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、複数の前記物理サーバのいずれかで動作させる仮想マシン毎に、前記優先順位順に、各物理サーバにかかる負荷が、前記上限しきい値以下か否かを判定し、前記上限しきい値以下と判定された物理サーバを、当該仮想マシンを配置できる物理サーバとして選択することで、複数の前記物理サーバの中から、最も優先順位の高い物理サーバを選択する選択手段と、を備え、
前記仮想マシン毎に、前記選択手段による前記物理サーバの選択、および前記配置制御手段による、選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返し、前記配置制御手段は、前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御し、
さらに、
前記制御装置は、
前記負荷情報取得手段が現在および過去に受信した負荷の情報を含む負荷履歴情報を記憶する負荷履歴情報記憶手段と、
前記物理サーバの前記負荷が前記上限しきい値を超えた時間の割合を、各前記物理サーバ毎に算出し、全ての前記物理サーバで算出した前記割合の平均を示す物理サーバ平均高負荷率、または、前記負荷が前記上限しきい値を超えた物理サーバで仮想マシンがホストされた時間の割合を、各前記物理サーバ毎に算出し、全ての前記物理サーバで算出した前記割合の平均を示す仮想マシン平均高負荷率を用いた負荷評価値の目標値を示す目標値情報を記憶する目標値情報記憶手段と、
前記制約条件情報を更新する制約条件更新手段と、を備え、
前記制御装置の前記制約条件更新手段は、
前記負荷履歴情報から前記負荷評価値を算出し、算出した前記負荷評価値と前記目標値とを比較し、
前記比較の結果に基づいて、
前記負荷評価値が前記目標値の下限を下回る場合は、前記上限しきい値を上げることにより、前記物理サーバの前記負荷が前記上限しきい値を超える時間を延ばして前記負荷評価値を上げるように、
前記負荷評価値が前記目標値の上限を上回る場合は、前記上限しきい値を下げることにより、前記物理サーバの前記負荷が前記上限しきい値を超える時間を短縮して前記負荷評価値を下げるように、
前記上限しきい値を変更し、前記制御装置の前記制約条件情報記憶手段の前記制約条件情報を更新する制約条件更新処理を実行する情報システム。
【請求項１２】
請求項１１に記載の情報システムにおいて、
前記制御装置の前記選択手段は、前記負荷履歴情報から各仮想マシンが将来に必要とする計算機資源の量を見積もった結果を前記物理サーバに配置する仮想マシンの負荷として、当該仮想マシンを配置する当該物理サーバにかかる負荷を求め、前記優先順位順に、各物理サーバにかかる負荷が、前記上限しきい値以下か否かを判定し、前記上限しきい値以下と判定された物理サーバを、当該仮想マシンを配置できる物理サーバとして選択することで、複数の前記物理サーバの中から、最も優先順位の高い物理サーバを選択する情報システム。
【請求項１３】
請求項１１または１２に記載の情報システムにおいて、
前記仮想マシンの負荷が変動して、前記制御装置の前記負荷情報取得手段が取得した前記負荷情報に基づく、前記物理サーバにかかる負荷が、前記上限しきい値を超えた場合、前記制御装置の前記選択手段は、前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、複数の前記物理サーバのいずれかで動作させる仮想マシン毎に、前記優先順位順に、各物理サーバにかかる負荷が、前記上限しきい値以下か否かを判定し、前記上限しきい値を超えた前記物理サーバを除く物理サーバを、当該仮想マシンを配置できる物理サーバとして選択することで、前記上限しきい値を超えた前記物理サーバを除く複数の前記物理サーバの中から最も優先順位の高い物理サーバを選択する情報システム。
【請求項１４】
請求項１１乃至１３いずれかに記載の情報システムにおいて、
前記制御装置は、
前記物理サーバの信頼性を示す信頼性情報を記憶する信頼性情報記憶手段と、
前記優先順位情報記憶手段の前記優先順位情報を更新する優先順位情報更新手段と、をさらに備え、
前記制御装置の前記優先順位情報更新手段は、前記信頼性情報に基づき、前記信頼性の低い物理サーバの前記優先順位を低くし、前記信頼性の高い物理サーバの前記優先順位を高くする優先順位更新処理を実行する情報システム。
【請求項１５】
制御装置を実現するコンピュータが、
少なくとも１つの仮想マシンが動作する複数の物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶装置と、
前記物理サーバに前記仮想マシンを配置できる制約条件として、当該物理サーバにかかる負荷が適正範囲となるように、当該物理サーバが提供できる計算機資源の量について、当該仮想マシンを配置する当該物理サーバにかかる負荷の上限しきい値が設定される制約条件情報を記憶する制約条件情報記憶装置と、を備え、
コンピュータに、
各物理サーバ上で動作する前記仮想マシン毎の負荷を示す負荷情報を取得する手順と、
前記優先順位情報記憶装置を参照し、前記優先順位情報を取得する手順と、
前記制約条件情報記憶装置を参照し、前記制約条件情報を取得する手順と、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、複数の前記物理サーバのいずれかで動作させる仮想マシン毎に、前記優先順位順に、各物理サーバにかかる負荷が、前記上限しきい値以下か否かを判定し、前記上限しきい値以下と判定された物理サーバを、当該仮想マシンを配置できる物理サーバとして選択することで、複数の前記物理サーバの中から、最も優先順位の高い物理サーバを選択する手順と、
前記仮想マシン毎に、前記物理サーバの選択、および、選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返す手順と、
前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御する手順と、を実行させ、
さらに、
コンピュータが、
現在および過去に取得した負荷の情報を含む負荷履歴情報を記憶する負荷履歴情報記憶装置と、
前記物理サーバの前記負荷が前記上限しきい値を超えた時間の割合を、各前記物理サーバ毎に算出し、全ての前記物理サーバで算出した前記割合の平均を示す物理サーバ平均高負荷率、または、前記負荷が前記上限しきい値を超えた物理サーバで仮想マシンがホストされた時間の割合を、各前記物理サーバ毎に算出し、全ての前記物理サーバで算出した前記割合の平均を示す仮想マシン平均高負荷率を用いた負荷評価値の目標値を示す目標値情報を記憶する目標値情報記憶装置と、を備え、
コンピュータに、
前記負荷履歴情報から前記負荷評価値を算出し、算出した前記負荷評価値と前記目標値とを比較する手順と、
前記比較する手順で比較した結果に基づいて、
前記負荷評価値が前記目標値の下限を下回る場合は、前記上限しきい値を上げることにより、前記物理サーバの前記負荷が前記上限しきい値を超える時間を延ばして前記負荷評価値を上げるように、
前記負荷評価値が前記目標値の上限を上回る場合は、前記上限しきい値を下げることにより、前記物理サーバの前記負荷が前記上限しきい値を超える時間を短縮して前記負荷評価値を下げるように、
前記上限しきい値を変更し、前記制約条件情報記憶装置の前記制約条件情報を更新する制約条件更新処理を実行する手順と、を実行させるためのプログラム。
【請求項１６】
請求項１５に記載のプログラムにおいて、
コンピュータに、
前記負荷履歴情報から前記各仮想マシンが将来に必要とする計算機資源の量を見積もった結果を前記物理サーバに配置する仮想マシンの負荷として、当該仮想マシンを配置する当該物理サーバにかかる負荷を求め、前記優先順位順に、各物理サーバにかかる負荷が、前記上限しきい値以下か否かを判定し、前記上限しきい値以下と判定された物理サーバを、当該仮想マシンを配置できる物理サーバとして選択することで、複数の前記物理サーバの中から、最も優先順位の高い物理サーバを選択する手順をさらに実行させるためのプログラム。
【請求項１７】
請求項１５または１６に記載のプログラムにおいて、
前記仮想マシンの負荷が変動して、取得した前記負荷情報に基づく、前記物理サーバにかかる負荷が、前記上限しきい値を超えた場合、前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、複数の前記物理サーバのいずれかで動作させる仮想マシン毎に、前記優先順位順に、各物理サーバにかかる負荷が、前記上限しきい値以下か否かを判定し、前記上限しきい値を超えた前記物理サーバを除く物理サーバを、当該仮想マシンを配置できる物理サーバとして選択することで、前記上限しきい値を超えた前記物理サーバを除く複数の前記物理サーバの中から最も優先順位の高い物理サーバを選択する手順をコンピュータにさらに実行させるためのプログラム。
【請求項１８】
請求項１５乃至１７いずれかに記載のプログラムにおいて、
前記コンピュータが、前記物理サーバの信頼性を示す信頼性情報を記憶する信頼性情報記憶装置をさらに備え、
前記コンピュータに、
前記信頼性情報記憶装置を参照し、前記信頼性情報を取得する手順と、
前記信頼性情報に基づき、前記信頼性の低い物理サーバの前記優先順位が低く、前記信頼性の高い物理サーバの前記優先順位が高くなるように、前記優先順位情報記憶装置の前記優先順位情報を更新する手順と、をさらに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システム、制御装置、そのデータ処理方法およびプログラムに関し、特に、仮想マシンが動作する複数の物理サーバを有する情報システムにおいて、仮想マシンが動作する物理サーバを制御する制御装置、そのデータ処理方法およびプログラム、ならびに、その情報システムに関する。
【背景技術】
【０００２】
サーバ仮想化は、単一の物理サーバ上で複数の仮想的なサーバを動作させる（以下、「ホストする」とも言う）技術であり、物理サーバの有効利用のために広く使われている。前記仮想的なサーバは仮想マシンと呼ばれる。サーバ仮想化では動作中の仮想マシンを停止させることなく別の物理サーバにネットワークを介して移送する機能も実現されており、当該機能はライブマイグレーションと呼ばれる。
【０００３】
複数の仮想マシンをいくつかの物理サーバに集約し、仮想マシンをホストしてない物理サーバを電源オフ状態またはサスペンド状態にすることで消費電力を削減することができる。たとえば、特許文献１では、低負荷な物理サーバがホストしている仮想マシンを別の物理サーバに移送し当該物理サーバを電源オフ状態にすることで消費電力を削減する技術が提案されている。
【０００４】
また、非特許文献１ではライブマイグレーションを用いて自律的に、低負荷な仮想マシンを集約し、高負荷な物理サーバ上の仮想マシンは別の物理サーバに移送して高負荷状態を解消する技術が提案されている。非特許文献１で提案されている技術では物理サーバと仮想マシンの負荷情報に基づき、消費電力を削減するためになるべく少ない台数の物理マシンに仮想マシンを集約できるように配置先の物理サーバを決定する。
【０００５】
また、特許文献２には、サービスの最適配置後の動的な負荷状況の変化などのサービスの実行状況に応じたサービスの再配置を確実に行うことが可能なクラスタシステムが記載されている。また、サービスを実行可能な計算機が複数あるときに優先的に割り当てられる計算機の順位を付けることが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００７−５３６６５７号公報
【特許文献２】特開２００５−１００３８７号公報
【非特許文献】
【０００７】
【非特許文献１】竹村俊徳、柳沢満、「省エネルギー実現に向けた仮想サーバの配置制御方式とその評価」、情報処理学会研究報告、２００８年、ＶＯＬ．２００８、ＮＯ．９（ＯＳ−１０７）、ｐ．７３−７８
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、技術的進歩によって物理サーバの電力効率は向上するため、世代の異なる物理サーバが混在する場合は電源オン状態の物理サーバの台数を減らすことが必ずしも消費電力の削減につながらない。たとえば、１台の旧型の物理サーバで仮想マシンをホストするよりも、２台の新型の物理サーバで仮想マシンをホストした方が、消費電力が小さくなる場合がある。また、同じ台数の物理サーバで仮想マシンをホストするときは、消費電力の小さいものを選択した方が消費電力は小さくなる。
【０００９】
また、一般的に仮想マシンをホストするためにはブレードサーバに代表される高密度型の物理サーバが使用されることが多い。仮想マシンを近接した物理マシンに集中して配置すると、当該物理マシンの発熱量が大きくなり局所的に高温になる。局所的に高温となった場所はホットスポットや熱だまりと呼ばれる。ホットスポットは物理サーバの障害の原因となり、障害を避けるために空調装置の性能を高めると空調装置の消費電力が増大する。データセンタでは、物理サーバを冷却するための空調装置の消費電力が物理サーバの消費電力を上回ることがあり、ホットスポットの発生は消費電力の大きな増大につながる。
【００１０】
このため、仮想マシンの配置先とする物理サーバを決定する際に、単に物理サーバや仮想マシンの負荷を考慮するだけでなく、各物理サーバの電力効率やホットスポットの発生可能性など、様々な要因を考慮して柔軟に決定することを可能とする技術が望まれている。
【００１１】
また、上述した特許文献２に記載のシステムは、サーバの優先順位などのポリシに従ってサービス負荷を分散させるが、サービス負荷を少数の計算機に集中させて消費電力を低減することはできない。したがって、上述した様々な要因を考慮して消費電力を低減する技術が望まれている。
【００１２】
本発明の目的は、上述した課題である消費電力の増大を解決する情報システム、制御装置、そのデータ処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明の制御装置は、複数の物理サーバのいずれかに、少なくとも１つの仮想マシンを配置するように前記物理サーバを制御する配置制御手段と、
各物理サーバ上で動作する前記仮想マシン毎の負荷を示す負荷情報を取得する負荷情報取得手段と、
前記物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶手段と、
前記物理サーバに前記仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する制約条件情報記憶手段と、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択する選択手段と、を備え、
前記仮想マシン毎に、前記選択手段による前記物理サーバの選択、および前記配置制御手段による、選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返し、前記配置制御手段は、前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御する。
【００１４】
本発明の第１の制御装置のデータ処理方法は、
前記制御装置が、
少なくとも１つの仮想マシンが動作する複数の物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶装置と、
前記物理サーバに前記仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する制約条件情報記憶装置と、を備え、
前記制御装置が、
各物理サーバ上で動作する前記仮想マシン毎の負荷を示す負荷情報を取得し、
前記優先順位情報記憶装置を参照し、前記優先順位情報を取得し、
前記制約条件情報記憶装置を参照し、前記制約条件情報を取得し、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択し、
前記仮想マシン毎に、前記物理サーバの選択、および選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返し、
前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御する。
【００１５】
本発明の第２の制御装置のデータ処理方法は、
前記制御装置が、
少なくとも１つの仮想マシンが動作する複数の物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶装置と、
前記物理サーバに前記仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する制約条件情報記憶装置と、
現在および過去に取得した負荷の情報を含む負荷情報を記憶する負荷履歴情報記憶装置と、を備え、
前記制御装置が、
前記負荷履歴情報記憶装置を参照し、各物理サーバ上で動作する前記仮想マシン毎の現在および過去の負荷を示す負荷情報を取得し、
前記優先順位情報記憶装置を参照し、前記優先順位情報を取得し、
前記制約条件情報記憶装置を参照し、前記制約条件情報を取得し、
前記負荷情報から前記各仮想マシンが将来に必要とする計算機資源の量を見積もった結果と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択し、
前記仮想マシン毎に、前記物理サーバの選択、および選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返し、
前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御する。
【００１６】
本発明の情報システムは、少なくとも１つの仮想マシンが動作する複数の物理サーバと、
複数の前記物理サーバを制御する制御装置と、を備え、
前記制御装置は、
複数の前記物理サーバのいずれかに、少なくとも１つの仮想マシンを配置するように前記物理サーバを制御する配置制御手段と、
各物理サーバ上で動作する前記仮想マシン毎の負荷を示す負荷情報を取得する負荷情報取得手段と、
前記物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶手段と、
前記物理サーバに前記仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する制約条件情報記憶手段と、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択する選択手段と、を備え、
前記仮想マシン毎に、前記選択手段による前記物理サーバの選択、および前記配置制御手段による、選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返し、前記配置制御手段は、前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御する。
【００１７】
本発明の第１のコンピュータプログラムは、制御装置を実現するコンピュータが、
少なくとも１つの仮想マシンが動作する複数の物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶装置と、
前記物理サーバに前記仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する制約条件情報記憶装置と、を備え、
コンピュータに、
各物理サーバ上で動作する前記仮想マシン毎の負荷を示す負荷情報を取得する手順と、
前記優先順位情報記憶装置を参照し、前記優先順位情報を取得する手順と、
前記制約条件情報記憶装置を参照し、前記制約条件情報を取得する手順と、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択する手順と、
前記仮想マシン毎に、前記物理サーバの選択、および、選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返す手順と、
前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御する手順と、を実行させるためのプログラムである。
【００１８】
本発明の第２のコンピュータプログラムは、制御装置を実現するコンピュータが、
少なくとも１つの仮想マシンが動作する複数の物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶装置と、
前記物理サーバに前記仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する制約条件情報記憶装置と、
現在および過去に取得した負荷の情報を含む負荷情報を記憶する負荷履歴情報記憶装置と、を備え、
コンピュータに、
前記負荷履歴情報記憶装置を参照し、各物理サーバ上で動作する前記仮想マシン毎の現在および過去の負荷を示す負荷情報を取得する手順と、
前記優先順位情報記憶装置を参照し、前記優先順位情報を取得する手順と、
前記制約条件情報記憶装置を参照し、前記制約条件情報を取得する手順と、
前記負荷情報から前記各仮想マシンが将来に必要とする計算機資源の量を見積もった結果と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択する手順と、
前記仮想マシン毎に、前記物理サーバの選択、および、選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返す手順と、
前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御する手順と、を実行させるためのプログラムである。
【００１９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００２０】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００２１】
また、本発明のデータ処理方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明のデータ処理方法およびコンピュータプログラムを実施するときには、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
【００２２】
さらに、本発明のデータ処理方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【発明の効果】
【００２３】
本発明によれば、仮想マシンの配置先の物理サーバを、様々な要因を考慮して柔軟に決定し、消費電力の低減を効率よく実現する情報システム、制御装置、そのデータ処理方法およびプログラムが提供される。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態に係る情報システムの構成を示す機能ブロック図である。
【図２】本実施形態に係る情報システムの物理サーバの配置位置の具体例を示す図である。
【図３】本実施形態に係る情報システムの物理サーバから制御装置に送られる負荷情報の一例を示す図である。
【図４】本実施形態に係る情報システムの物理サーバから制御装置に送られる負荷情報の一例を示す図である。
【図５】本実施形態に係る制御装置の負荷情報記憶部の構造の一例を示す図である。
【図６】本実施形態に係る物理サーバの優先順位の一例を示す図である。
【図７】本実施形態に係る制御装置の優先順位情報記憶部に記憶される優先順位情報の一例を示す図である。
【図８】本実施形態に係る制御装置の制約条件情報記憶部に記憶される制約条件情報の一例を示す図である。
【図９】本発明の実施の形態に係る制御装置の動作の一例を示すフローチャートである。
【図１０】本実施形態に係る制御装置において、配置制御部が１つの仮想マシンを再配置する一例を示す図である。
【図１１】本実施形態に係る制御装置において、配置制御部が１つの仮想マシンを再配置する一例を示す図である。
【図１２】本実施形態に係る制御装置において、配置制御部が１つの仮想マシンを再配置する一例を示す図である。
【図１３】本実施形態に係る物理サーバの電源状態の具体例を示す図である。
【図１４】本発明の実施の形態に係る情報システムの構成を示す機能ブロック図である。
【図１５】本実施形態に係る制御装置の負荷履歴情報記憶部に記憶される負荷履歴情報の一例を示す図である。
【図１６】本実施形態に係る制御装置の負荷履歴情報記憶部に記憶される負荷履歴情報の一部の具体例を示す図である。
【図１７】本実施形態に係る制御装置の制約条件情報記憶部に記憶される制約条件情報の一例を示す図である。
【図１８】本発明の実施の形態に係る制御装置の動作の一例を示すフローチャートである。
【図１９】本発明の実施の形態に係る情報システムの構成を示す機能ブロック図である。
【図２０】本実施形態に係る制御装置の目標値情報記憶部に記憶される目標値情報の一例を示す図である。
【図２１】本発明の実施の形態に係る制御装置の動作の一例を示すフローチャートである。
【図２２】本発明の実施の形態に係る制御装置における制約条件情報更新処理の一例を示すフローチャートである。
【図２３】本発明の実施の形態に係る情報システムの構成を示す機能ブロック図である。
【図２４】本実施形態に係る物理サーバの配置位置の一例を示す図である。
【図２５】本実施形態に係る制御装置の信頼性情報記憶部に記憶される信頼性情報の一例を示す図である。
【図２６】本発明の実施の形態に係る制御装置の動作の一例を示すフローチャートである。
【図２７】本実施形態に係る制御装置において、信頼性情報を参照して優先順位情報を更新した優先順位の一例を示す図である。
【図２８】本実施形態に係る制御装置において、信頼性情報を参照して優先順位情報を更新した優先順位の一例を示す図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００２６】
（第１の実施の形態）
図１は、本発明の実施の形態に係る情報システムの構成を示す機能ブロック図である。
本実施形態の情報システムは、少なくとも１つの仮想マシン（不図示）が動作する複数の物理サーバ１０と、複数の物理サーバ１０を制御する制御装置１００と、を備える。
【００２７】
本実施形態の制御装置１００は、複数の物理サーバ１０のいずれかに、少なくとも１つの仮想マシンを配置するように物理サーバ１０を制御する配置制御部１１４と、各物理サーバ１０上で動作する仮想マシン毎の負荷を示す負荷情報を取得する負荷情報取得部１０２と、物理サーバ１０の優先順位を示す優先順位情報を記憶する優先順位情報記憶部１０６と、物理サーバ１０に仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する制約条件情報記憶部１０８と、負荷情報と、優先順位情報と、制約条件情報と、に基づいて、物理サーバ１０上で動作させる仮想マシン毎に、当該仮想マシンの制約条件を満足する最も優先順位の高い物理サーバ１０を選択する選択部１１０と、を備え、仮想マシン毎に、選択部１１０による物理サーバ１０の選択、および配置制御部１１４による、選択された物理サーバ１０への仮想マシンの配置を順に繰り返し、配置制御部１１４は、仮想マシン毎に、当該仮想マシンを選択された最も優先順位の高い物理サーバ１０に配置するように制御し、すべての仮想マシンを物理サーバ１０に配置制御する。
【００２８】
制御装置１００は、図示されないインタフェースを介して、ネットワーク３上の複数の物理サーバ１０に接続され、複数の物理サーバ１０の動作および物理サーバ１０上で動作する少なくとも１つの仮想マシンの動作を制御する。たとえば、制御装置１００は、ある物理サーバ１０がホストする仮想サーバを他の物理サーバ１０に移送するコマンドを物理サーバ１０に送信することで、仮想マシンの再配置を制御するとともに、移送先の物理サーバ１０が電源オフ状態であれば、物理サーバ１０の電源をオンに制御するコマンドを物理サーバ１０に送信し、１台も仮想サーバをホストしなくなった物理サーバ１０の電源をオフ、または、サスペンド状態に制御するコマンドを物理サーバ１０に送信する。ネットワーク３は、たとえば、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などである。
【００２９】
図２は、図１の物理サーバ群１１を構成する複数の物理サーバ１０の物理的な配置位置の一例を示したものである。同図に示すとおり、収容筐体２０には、物理サーバ群１１に属する複数の物理サーバ１０（図では、１５台の物理サーバ１０を含み、Ｓ１〜Ｓ１５と示す）が、５列３段に収容されている。最上段の破線で囲まれた５つの物理サーバＳ１からＳ５は省電力型であり、物理サーバＳ６からＳ１５よりも高い電力効率をもつ。図２は、配置位置の一例であり、収容筐体２０は複数あってもよい。また、物理サーバ１０は収容筐体２０に収容されず、棚や床に置かれてもよい。また、図２は二次元に物理サーバ１０を配置した例であるが、これに限定されない。物理サーバ１０の配置は、一列に物理サーバ１０を並べた一次元の配置でもよく、あるいは、縦横方向に加え、奥行き方向にも物理サーバ１０を配置した三次元の配置でもよい。また、図では上下に垂直方向に並べて配置されているが、左右または前後に水平方向に並べて配置されても、他の方向でも、あるいは、それらの組み合わせでもよい。
【００３０】
制御装置１００は、図示しないＣＰＵやメモリ、ハードディスク、および通信装置を備え、キーボードやマウス等の入力装置やディスプレイやプリンタ等の出力装置と接続されるサーバコンピュータやパーソナルコンピュータ、またはそれらに相当する装置により実現することができる。そして、ＣＰＵが、ハードディスクに記憶されるプログラムをメモリに読み出して実行することにより、後述する各ユニットの各機能を実現することができる。
【００３１】
また、本実施形態の情報システムの各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。
【００３２】
具体的には、制御装置１００は、負荷情報取得部１０２と、負荷情報記憶部１０４と、優先順位情報記憶部１０６と、制約条件情報記憶部１０８と、選択部１１０と、物理サーバ制御部１１２と、配置制御部１１４と、を備える。物理サーバ１０は、負荷情報送信部１２と、仮想マシン制御部１４と、電源制御部１６と、を備える。
【００３３】
物理サーバ１０において、負荷情報送信部１２は、たとえば、仮想化ソフトウェアまたは仮想化ハードウェアから仮想マシンのＣＰＵクロック使用量および物理サーバ１０のＣＰＵクロックを取得し、ネットワーク３を介して負荷情報３０を制御装置１００に送信する。負荷情報送信部１２は、たとえば、ＳＮＭＰ（Simple Network Management Protocol）のような汎用的なプロトコル、または、前記仮想化ソフトウェアや仮想化ハードウェアが提供する独自のプロトコルにしたがって、制御装置１００からの問合せに対して応答し、物理サーバ１０から制御装置１００に負荷情報３０を送信することができる。
【００３４】
図３は、１つの物理サーバ１０の負荷情報送信部１２から制御装置１００の負荷情報取得部１０２に送られる負荷情報３０の一例である。図３に示すように負荷情報３０は、たとえば、当該物理サーバ１０がホストしている各仮想マシン（不図示）のＣＰＵクロック使用量と、当該物理サーバ１０のＣＰＵクロックとを含む。負荷情報３０には、ＣＰＵクロックに限らず他の計算機資源、たとえば、ＣＰＵコア数、メモリ容量、ストレージ容量、ネットワーク帯域、接続されているデバイスの数などの仮想マシンの使用量、および、物理サーバ１０が提供できる量を含めてもよい。
【００３５】
また、図４に示すように、負荷情報３０には、仮想マシンの使用量を物理サーバ１０が提供できる量で割った使用率を含めてもよい。また、負荷情報３０には物理サーバ１０がホストしている仮想マシンの数を含めてもよい。また各物理サーバ１０が提供できる計算機資源の量は、送信せずにあらかじめ制御装置１００に記憶しておいてもよい。
【００３６】
図１に戻り、仮想マシン制御部１４は、仮想マシンの稼働やライブマイグレーションを制御する。電源制御部１６は、物理サーバ１０の電源の状態を制御する。すなわち、物理サーバ１０の電源をオン、オフ、または、サスペンド状態に制御する。本実施形態では、電源制御部１６は、制御装置１００からのコマンドをネットワーク３を介して受信し、コマンドにしたがって物理サーバ１０の電源の制御を行うことができる。
【００３７】
制御装置１００において、負荷情報取得部１０２は、物理サーバ１０からネットワーク３を介して負荷情報３０を受信し、負荷情報記憶部１０４に保存する。負荷情報記憶部１０４は、各物理サーバ１０の負荷情報３０を記憶する。図５に負荷情報記憶部１０４の構造の一例を示す。優先順位情報記憶部１０６は、予め設定された物理サーバ１０の優先順位情報を記憶する。制約条件情報記憶部１０８は、物理サーバ１０に仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する。
【００３８】
図６は、図２のように配置された物理サーバ１０の優先順位の一例を示す図である。ここでは、図２に示した物理サーバ群１１の各物理サーバ１０に優先順位をつけた一例を示してあり、「＃」記号に続く数値は物理サーバの優先順位を表している。なお、図６では物理サーバ１０の符号１０は図示していない。物理サーバ１０の優先順位とは、物理サーバ群１１の中で、どの物理サーバ１０を優先して稼働させるかを示す順位である。本実施形態では、数値が小さいほど優先順位は高く、すなわち、優先して稼働させるが、これに限定されない。優先順位は、物理サーバ群１１の中で一意に順番が決まるように、各物理サーバ１０、すなわち、制御対象の機器毎に必ず異なる数値が割り当てられる。優先順位を示す数値は連番でなくてもよく、小数でもよいし、数値を表記する文字列、あるいは、アルファベット順などでもよい。要は、物理サーバ群１１の中で各物理サーバ１０の優先順位が一意に決まればよい。
【００３９】
上述したように、省電力型の電力効率の高い物理サーバＳ１からＳ５を最優先し、隣接した物理サーバ１０になるべく連続しない優先順位をつけると、たとえば、図６に示すとおりになる。このように優先順位をつけることで、ホットスポットの発生を回避して空調装置の出力を下げ、空調装置を含めた消費電力を削減することができる。信頼性の低い物理サーバに低い優先順位をつけてシステムの信頼性を向上させるなど、システムの運用方針に合わせて電力効率と配置位置以外の基準を用いてもよい。
【００４０】
図７は、優先順位情報記憶部１０６に記憶される優先順位情報の一例であり、図６の優先順位の例に対応している。本実施形態において、優先順位情報記憶部１０６は、電力効率の高い物理サーバ１０に高い優先順位をつけるとともに、物理サーバ１０どうしの相対位置を考慮して優先順位をつけた優先順位情報を記憶する。優先順位は、必ずしも図７に示すように明示的に数値として優先順位情報記憶部１０６に記憶する必要はなく、たとえば、物理サーバ１０のリストを優先順位に従ってソートしておき、先頭の物理サーバ１０から使用してもよい。また、優先順位に従って物理サーバ１０のＩＰアドレスなどの識別番号を設定し、識別番号を優先順位情報としてもよい。
【００４１】
図１には図示していないが、制御装置１００の操作画面で操作部を用いてユーザが設定した優先順位を優先順位情報記憶部１０６に記憶してもよいし、記録媒体や外部の他の装置から、優先順位情報が設定されたファイルを受け付け、優先順位情報記憶部１０６に記憶してもよい。また、優先順位情報記憶部１０６に記憶されている優先順位情報は、制御装置１００や他の装置に出力可能であり、設定一覧を転送したり、印字出力したり、画面表示したりすることでユーザに提示することができる。ユーザは、提出された設定一覧を確認し、設定されている優先順位の変更画面で操作部を用いて変更することもできるものとする。
【００４２】
図８は、制約条件情報記憶部１０８に記憶される制約条件情報の一例である。一般的に、物理サーバ１０は極度に高負荷な状態になると性能が低下する。そこで、物理サーバ１０の性能が低下しない程度の負荷を予め制約条件として物理サーバ１０毎に設定する。制約条件としては、たとえば、ＣＰＵクロック使用率、メモリ容量使用率、または、ネットワーク帯域使用率、およびこれらの組み合わせ等が含まれる。図８の例では、後述する配置制御部１１４が物理サーバ１０に仮想マシンを配置するとき、物理サーバ１０のＣＰＵクロック使用率は８０％まで、メモリ容量使用率は８０％まで、ネットワーク帯域使用率は５０％までとしている。
【００４３】
図１に戻り、選択部１１０は、負荷情報と優先順位情報に基づいて、物理サーバ１０に仮想マシンを再配置する。すなわち、選択部１１０は、負荷情報と、優先順位情報と、制約条件情報と、に基づいて、物理サーバ１０上で動作させる仮想マシン毎に、当該仮想マシンの制約条件を満足する最も優先順位の高い物理サーバ１０を選択する。選択された物理サーバ１０が、仮想マシンの移送先に決定される。選択部１１０は、仮想マシン毎に、物理サーバ１０の選択、および選択された物理サーバ１０への仮想マシンの配置を順に繰り返し、すべての仮想マシンを物理サーバ１０に配置制御する。
【００４４】
本実施形態において、上述した制約条件情報記憶部１０８は、物理サーバ１０が仮想マシンの移送先または移送元となるときの制約条件を含む制約条件情報をさらに記憶し、選択部１１０は、制約条件情報に基づいて制約条件を満足しない物理サーバ１０を移送先または移送元の候補として選択しない。
【００４５】
具体的には、選択部１１０は、上述した制約条件情報記憶部１０８に記憶される制約条件情報に含まれる制約条件のいずれか１つ以上を満たさない場合、当該物理サーバ１０に仮想マシンを配置しない。すなわち、当該物理サーバ１０を移送先として選択しない。また、仮想マシンの負荷が変動してこれら制約条件のいずれか１つ以上が満たされなくなった場合、選択部１１０は、当該物理サーバ１０上の仮想マシンを別の物理サーバ１０に移送して制約条件を満たすように仮想マシンの移送先の物理サーバ１０を選択する。仮想マシンの再配置制御では上記のように複数の計算機資源を考慮すべきであるが、以下では説明を簡単にするためにＣＰＵ使用率を考慮する例を説明する。
【００４６】
物理サーバ制御部１１２は、仮想マシンが１つも動作していない、すなわち、仮想マシンを１つもホストしていない物理サーバ１０に対して、当該物理サーバ１０の電源をオフ、または、サスペンド状態にするよう制御するとともに、仮想マシンを移送する際、移送先の物理サーバ１０の電源状態を確認し、当該物理サーバ１０の電源がオフまたはサスペンド状態の場合、当該物理サーバ１０の電源をオンするように制御する。
【００４７】
配置制御部１１４は、少なくとも１つの仮想マシン（不図示）が動作する複数の物理サーバ１０間で、仮想マシンを移送させるように物理サーバ１０を制御する。仮想マシン毎に、選択部１１０による物理サーバ１０の選択、および配置制御部１１４による、選択された物理サーバ１０への仮想マシンの配置を順に繰り返すことで、配置制御部１１４は、仮想マシン毎に、当該仮想マシンを選択された最も優先順位の高い物理サーバ１０に移送させるように制御し、すべての仮想マシンを物理サーバ１０に配置制御する。ここで、配置制御部１１４は、選択された移送対象の仮想マシンを移送先の物理サーバ１０に移送するコマンドをネットワーク３を介して物理サーバ１０に送信する。
【００４８】
本実施形態のコンピュータプログラムは、制御装置１００を実現するコンピュータに、各物理サーバ１０上で動作する仮想マシン毎の負荷を示す負荷情報を取得する手順と、優先順位情報記憶部１０６を参照し、優先順位情報を取得する手順と、制約条件情報記憶部１０８を参照し、制約条件情報を取得する手順と、負荷情報と、優先順位情報と、制約条件情報と、に基づいて、物理サーバ１０上で動作させる仮想マシン毎に、当該仮想マシンの制約条件を満足する最も優先順位の高い物理サーバを選択する手順と、仮想マシン毎に、物理サーバ１０の選択、および選択された物理サーバ１０への仮想マシンの配置を順に繰り返す手順と、仮想マシン毎に、当該仮想マシンを選択された最も優先順位の高い物理サーバ１０に配置するように制御し、すべての仮想マシンを物理サーバ１０に配置制御する手順と、を実行させるように記述されている。
本実施形態のコンピュータプログラムは、コンピュータで読み取り可能な記憶媒体に記録されてもよい。
【００４９】
このように構成された本実施形態の情報システムの動作について以下に説明する。図９は、本発明の実施の形態に係る制御装置１００の動作の一例を示すフローチャートである。以下、図１乃至図９を用いて説明する。
【００５０】
本実施形態の制御装置１００のデータ処理方法は、制御装置１００が、各物理サーバ１０上で動作する仮想マシン毎の負荷を示す負荷情報３０を取得し（ステップＳ１０１）、優先順位情報記憶部１０６を参照し、優先順位情報を取得し、制約条件情報記憶部１０８を参照し、制約条件情報を取得し、負荷情報３０と、優先順位情報と、制約条件情報と、に基づいて、物理サーバ１０上で動作させる仮想マシン毎に、当該仮想マシンの制約条件を満足する最も優先順位の高い物理サーバ１０を選択し（ステップＳ１０３、Ｓ１０４）、仮想マシン毎に、物理サーバ１０の選択および、選択された物理サーバ１０への仮想マシンの配置を順に繰り返し（ステップＳ１０２：ループＡ）、仮想マシン毎に、当該仮想マシンを選択された最も優先順位の高い物理サーバ１０に配置するように制御し（ステップＳ１０３：ループＢ）、すべての仮想マシンを物理サーバ１０に配置制御する。
【００５１】
具体的には、制御装置１００において、負荷情報取得部１０２が、各物理サーバ１０の負荷情報送信部１２から各物理サーバ１０の電源状態を含む負荷情報３０を受信して収集する（ステップＳ１０１）。ここで、負荷情報３０が受信できなかった場合は、当該物理サーバ１０は電源オフ状態またはサスペンド状態であると判定してもよい。負荷情報取得部１０２が受信した負荷情報３０は負荷情報記憶部１０４に格納される。なお、負荷情報記憶部１０４は必ずしも必要なく、負荷情報取得部１０２が取得した負荷情報３０を直接選択部１１０に受け渡してもよい。
【００５２】
そして、選択部１１０が、物理サーバ１０がホストしているすべての仮想サーバについて、仮想マシン毎にループＡの処理を繰り返す（ステップＳ１０２）。ループＡでは、選択部１１０が、優先順位情報記憶部１０６を参照し、物理サーバ１０の優先順位に従って、優先順位の順に、すべての物理サーバ１０について、ループＢの処理を繰り返す（ステップＳ１０３）。ループＢでは、物理サーバ１０毎に以下の処理を繰り返す。
【００５３】
すなわち、選択部１１０が、負荷情報記憶部１０４を参照し、負荷情報を取得し、さらに、制約条件情報記憶部１０８を参照し、制約条件情報を取得する。そして、選択部１１０が、負荷情報と制約条件情報に基づいて、当該仮想マシンを当該物理サーバ１０に配置可能か否かを判定する。すなわち、当該物理サーバ１０の制約条件を、当該物理サーバ１０に当該仮想マシンが配置された時、当該物理サーバ１０が満足するかを判定する（ステップＳ１０４）。
【００５４】
ここで、電源オフ状態またはサスペンド状態の物理サーバ１０であっても、電源オン状態にすることで制約条件を満足する場合は満足すると判定する（ステップＳ１０４のＹＥＳ）。制約条件を満たさない場合（ステップＳ１０４のＮＯ）、ステップＳ１０３に戻り、次の優先順位の物理サーバ１０について、ループＢを繰り返す。制約条件を満足した場合（ステップＳ１０４のＹＥＳ）、選択部１１０が、当該物理サーバ１０を当該仮想マシンの移送先に決定してステップＳ１０５からステップＳ１０８の処理に移り、ループＢの繰り返しを終了する。
【００５５】
そして、ステップＳ１０４で制約条件を満たすと判定したとき（ＹＥＳ）、選択部１１０が、当該仮想マシンは当該物理サーバ１０で既にホストされているかを判定する（ステップＳ１０５）。ホストされていれば（ステップＳ１０５のＹＥＳ）、ステップＳ１０６からステップＳ１０８を実行しない。すなわち、移送先と移送元が同一の物理サーバ１０であれば移送ステップをスキップする。
【００５６】
移送先と移送元の物理サーバ１０が異なれば（ステップＳ１０５のＮＯ）、選択部１１０が、負荷情報記憶部１０４を参照し、物理サーバ１０が電源オン状態であるかを判定する（ステップＳ１０６）。電源オン状態でなければ（ステップＳ１０６のＮＯ）、物理サーバ制御部１１２が、物理サーバ１０の電源制御部１６に当該物理サーバ１０を電源オン状態にするコマンドをネットワーク３を介して送信する（ステップＳ１０７）。その後、すなわち、当該物理サーバ１０が電源オンされて、制御装置１００からのコマンドを受信して実行可能な状態になってから、配置制御部１１４が、当該仮想マシンを当該物理サーバ１０に移送するコマンドをネットワーク３を介して送信する（ステップＳ１０８）。そして、次の仮想サーバについて、ループＡを繰り返す。
【００５７】
すべての仮想マシンについて、ループＡの繰り返しが完了すると、物理サーバ制御部１１２が、仮想マシンを１台もホストしていない物理サーバ１０の電源制御部１６に当該物理サーバ１０を電源オフ状態にするコマンドをネットワーク３を介して送信する（ステップＳ１０９）。
【００５８】
このステップＳ１０９において、対象となるすべての物理サーバ１０を電源オフ状態にせず、優先順位の高いいくつかの物理サーバ１０を電源オン状態またはサスペンド状態にしておくことで、負荷上昇時に、仮想サーバの移送先となる物理サーバ１０を起動して電源オン状態にする時間を短縮でき、高負荷状態を早く解消することができる。
【００５９】
以下、具体的な例を用いて説明する。
図１０では、制御装置１００において、配置制御部１１４が、１つの仮想マシンを再配置する一例を示している。同図に示すように、優先順位＃１から＃５をもつ物理サーバＳ１とＳ５とＳ３とＳ２とＳ４は電源オン状態であり、それぞれが１つから３つの仮想マシンをホストしている。それ以外の物理サーバ１０は仮想マシンをホストしておらず電源オフ状態である。
【００６０】
たとえば、物理サーバＳ４がホストしている仮想マシンをホスト可能な物理サーバは、優先順位＃５から＃１５をもつ物理サーバである。優先順位＃１から＃４をもつ物理サーバは、制約条件であるＣＰＵ使用率の配置上限しきい値ＵHを超えてしまうため、これらの物理サーバ１０には前記仮想マシンを配置することはできない。前記仮想マシンをホスト可能な物理サーバのうち最も高い優先順位を持つ物理サーバは優先順位＃５をもつ物理サーバＳ４であるが、前記仮想マシンは当該物理サーバですでにホストされているため配置制御部１１４は前記仮想マシンを移送しない。
【００６１】
図１１は、制御装置１００において、配置制御部１１４が、１つの仮想マシンを再配置する他の一例を示している。同図に示すように、優先順位＃１から＃５をもつ物理サーバＳ１とＳ５とＳ３とＳ２とＳ４は電源オン状態であり、それぞれが１つから３つの仮想マシンをホストしている。それ以外の物理サーバは仮想マシンをホストしておらず電源オフ状態である。たとえば、物理サーバＳ４がホストしている仮想マシンをホスト可能な物理サーバ１０は、優先順位＃４から＃１５をもつ物理サーバ１０である。優先順位＃１から＃３をもつ物理サーバ１０は、物理サーバＳ４がホストしている仮想マシンを移送すると、制約条件であるＣＰＵ使用率の配置上限しきい値ＵHを超えてしまうため、これらの物理サーバ１０には前記仮想マシンを配置することはできない。
【００６２】
選択部１１０は、前記仮想マシンをホスト可能な物理サーバ１０のうち最も高い優先順位＃４をもつ物理サーバＳ２を、前記仮想マシンの移送先に決定する。物理サーバＳ２は電源オン状態なので、そのまま、配置制御部１１４は物理サーバＳ４の仮想マシン制御部１４に、当該仮想マシンを物理サーバＳ２に移送するコマンドをネットワーク３を介して送信する。移送が完了すると物理サーバＳ４がホストする仮想マシンはなくなり、当該物理サーバを電源オフ状態にすることができる。物理サーバ制御部１１２は、物理サーバＳ４の電源制御部１６に当該物理サーバを電源オフ状態にするコマンドをネットワーク３を介して送信する。このように、図１１の例では、優先順位の高い物理サーバ１０に対象の仮想マシンを集約し、これにより、消費電力を削減することができる。
【００６３】
図１２は、制御装置１００において、配置制御部１１４が、１つの仮想マシンを再配置する一例を示している。同図に示すように、優先順位＃１から＃４をもつ物理サーバＳ１とＳ５とＳ３とＳ２は電源オン状態であり、それぞれが１つから３つの仮想マシンをホストしている。それ以外の物理サーバは仮想マシンをホストしておらず電源オフ状態である。たとえば、優先順位＃１をもつ物理サーバＳ１がホストしているＣＰＵ使用率の大きい方の仮想マシンをホスト可能な物理サーバは、優先順位＃５から＃１５をもつ物理サーバである。優先順位＃１から＃４をもつ物理サーバはＣＰＵ使用率の配置上限しきい値ＵHを超えてしまうため、前記仮想マシンを配置できない。
【００６４】
選択部１１０は、前記仮想マシンをホスト可能な物理サーバのうち最も高い優先順位＃５をもつ物理サーバＳ４を移送先に決定する。物理サーバ制御部１１２は物理サーバＳ４の電源制御部１６に電源オン状態にするコマンドをネットワーク３を介して送信する。その後、物理サーバＳ１の仮想マシン制御部１４に当該仮想マシンを物理サーバＳ４に移送するコマンドをネットワーク３を介して送信する。このように、図１２の例では、対象の仮想マシンを優先順位の高い物理サーバ１０に移動することで、仮想マシンを分散させ、これにより、物理サーバＳ１のＣＰＵ使用率が配置上限しきい値ＵHを超えている状態を解消することができる。
【００６５】
前記再配置を各仮想マシンに対して繰り返すことによって優先順位の高い物理サーバに仮想マシンを集約することができ、仮想マシンをホストしていない優先順位の低い物理サーバを電源オフ状態またはサスペンド状態にすることで消費電力を削減することができる。
【００６６】
前記再配置を各仮想マシンに対して実行するとき、仮想マシンを選択する順序は任意で良い。ただし、負荷の高い仮想マシンから選択することで、少ない数の物理サーバに仮想マシンを集めることができる。また、メモリ使用量の小さい仮想マシンから選択することで、ライブマイグレーションにかかるネットワークの負荷を低減することができる。
【００６７】
図１３は、図６で示した優先順位の例に従って優先順位の高い１０台の物理サーバを電源オン状態にした物理サーバの配置を示している。なお、図１３では物理サーバ１０の符号１０は図示していない。最上段の電力効率の良い物理サーバが優先的に使用され、それ以外の物理サーバは隣り合った物理サーバが電源オン状態にならないように使用されている。これによって、ホットスポットの発生を防止し消費電力を削減することができる。
【００６８】
以上説明したように、本実施形態の制御装置１００によれば、電力効率の高い物理サーバを優先し、また、隣接する物理サーバがなるべく連続する優先順位を持たないように付けられた物理サーバの優先順位に基づき、各仮想マシンを当該仮想マシンをホスト可能な最も優先順位の高い物理サーバに移送するステップを繰り返すことで、優先順位の高い物理サーバに仮想マシンを集め、仮想マシンをホストしていない物理サーバを電源オフ状態にすることで消費電力を削減することができる。
【００６９】
本実施形態では、各物理サーバ１０に重複しない一意に決められた優先順位を用いることで、仮想マシンをその仮想マシンを配置可能な最も優先順位の高い物理サーバに移送させるという処理を繰り返すだけで、仮想マシンをできる限り少ない台数の物理サーバに効率よく集約することができる。このように、シンプルな構成で、高効率な再配置を実現することができる。
【００７０】
（第２の実施の形態）
本発明の実施の形態に係る情報システムは、上記実施形態とは、各仮想マシンの最新の負荷だけでなく過去に受信した負荷を含む負荷履歴情報に基づいて、再配置を行う点で相違する。本実施形態は、上記実施形態の仮想マシンの移送頻度を低くしたものである。
【００７１】
ライブマイグレーションによる仮想マシンの移送では、仮想マシンが使用している全てのメモリの内容がネットワーク３を介して転送される。また、移送元と移送先の双方でＣＰＵに負荷がかかる。このために、移送の頻度が高いとネットワークとＣＰＵが高負荷になりシステムの性能が低下する。システムの性能を低下させないためには、効果の低い、または、逆効果の移送を避け効果的な再配置をする必要がある。
【００７２】
効果の高い移送をするためには、仮想マシンが近い将来に必要とするＣＰＵクロックなどを正確に見積もる必要がある。たとえば、５分おきに再配置する場合、将来１５分から３０分程度の負荷変動を見込んで仮想マシンが必要とするＣＰＵクロックなどを見積もり、見積もった量に基づいて仮想マシンを配置することで仮想マシンの移送頻度を低くすることができる。
【００７３】
図１４は、本発明の実施の形態に係る情報システムの構成を示す機能ブロック図である。同図に示すように、本実施形態の制御装置２００は、上記実施形態の制御装置１００と同じ、負荷情報取得部１０２と、優先順位情報記憶部１０６と、制約条件情報記憶部１０８と、物理サーバ制御部１１２と、配置制御部１１４と、を備えるとともに、さらに、負荷履歴情報記憶部２０２と、負荷推定部２０４と、選択部２０６と、を備える。図１の上記実施形態の制御装置１００と同様の構成要素については図１の制御装置１００と同一の符号を付し、詳細な説明を省略する。
【００７４】
本実施形態の制御装置２００は、負荷情報取得部１０２が現在および過去に取得した負荷の情報を含む負荷情報（負荷履歴情報）を記憶する負荷履歴情報記憶部２０２と、負荷情報（負荷履歴情報）から各仮想マシンが将来に必要とする計算機資源の量を見積もる負荷推定部２０４と、見積もった結果と、優先順位情報と、制約条件情報と、に基づいて、物理サーバを選択する選択部２０６と、をさらに備える。
【００７５】
負荷履歴情報記憶部２０２は、たとえば、各仮想マシンが将来に必要とする計算機資源の量として、仮想マシンが将来必要とするＣＰＵクロックなどを見積もれるようにするために、最新の負荷だけでなく過去の負荷を含む負荷履歴情報を記憶する。負荷推定部２０４は、負荷履歴情報を負荷履歴情報記憶部２０２から取得し、各仮想マシンが将来必要とするＣＰＵクロックなどを見積もる。各仮想マシンが将来に必要とする計算機資源の量として、ＣＰＵクロックに限らず他の計算機資源、たとえば、ＣＰＵコア数、メモリ容量、ストレージ容量、ネットワーク帯域、接続されているデバイスの数などの仮想マシンの使用量、および、物理サーバ１０が提供できる量を含めてもよい。
【００７６】
負荷履歴情報記憶部２０２に記憶される負荷履歴情報の一例を図１５に示す。同図に示すように、負荷履歴情報は時系列データとして記憶することができる。
【００７７】
図１５に示した負荷履歴情報から、仮想マシンＩＤがＶＭ０３３である行のうち新しいものから１１件を抽出した例を図１６に示す。同図に示すとおり、仮想マシンをホストする物理サーバは当該仮想マシンの移送によって変化することがある。
【００７８】
図１６に示すとおり、当該仮想マシンの最新のＣＰＵクロック使用量は１３６２ＭＨｚであるが、過去のＣＰＵクロック使用量によると１分後にも大きくＣＰＵクロック使用量が変化する可能性が高いことは明らかであり、このように変動の大きい負荷に対して最新のＣＰＵクロック使用量が当該仮想マシンが必要とするＣＰＵクロックであると見積もることは不適切である。最新のＣＰＵクロック使用量だけに基づいて移送して移送後にＣＰＵクロック使用量が大きく変動すると、再度移送の対象となり移送頻度が高くなってネットワークとＣＰＵの負荷が増大する。
【００７９】
変動の大きい負荷に対して仮想マシンが必要とするＣＰＵクロックなどを適切に見積もるためには、たとえば、負荷履歴情報のパーセンタイル値や移動平均を使うことができる。図１６に示した例で、たとえば、９５パーセンタイル値を１１個の数値の最大の数と二番目に大きい数の相加平均であると定義すると、９５パーセンタイル値は１８９９ＭＨｚと計算できる。また、負荷の変動パターンがモデル化されている場合、モデルを用いた予測を行ってもよい。たとえば、午前３時にバックアップ処理のため負荷が高くなると分かっている仮想マシンに対して、午前３時前後に多くの見積もりをすることができる。
【００８０】
本実施形態では、負荷履歴情報のパーセンタイル値や移動平均を使った例を説明したが、これに限定されるものではなく、たとえば、パーセンタイル値や移動平均にマージンを加えたり、負荷変動を一次関数やその他の関数にあてはめて予測したりしてもよい。
なお、前記見積もりは負荷推定部２０４ではなく物理サーバで行って、見積もった結果を負荷情報（負荷履歴情報）として制御装置１００に送信してもよい。このようにすれば、大規模なシステムにおいて制御装置１００の計算量が増大することを防ぐことができる。
【００８１】
さらに移送頻度を低くし、ネットワークとＣＰＵの負荷を低減するためには、効果の低い移送は行わないようにする。具体的には、物理サーバに対して適切な負荷の範囲を設定しておき、すでに適切な負荷の物理サーバからは仮想マシンを移送しない。たとえば、３０％から７０％までを適切な負荷の範囲とすれば、５０％の負荷の物理サーバからは仮想マシンを移送しない。ただし、常にこのようにすると優先順位が守られる保証がなくなるため、ネットワーク帯域およびＣＰＵ使用率に余裕があるときは移送を行ってもよい。あるいは、移送時間や時刻を制限してもよい。
【００８２】
本実施形態の制約条件情報記憶部１０８が記憶する制約条件情報の一例を図１７に示す。図１７に示すとおり、ＣＰＵクロックとメモリ容量については、４０％から７０％までが適切な負荷の範囲である。ネットワーク帯域については、１０％から４０％までが適切な負荷の範囲である。図１７の制約条件情報は一例であり、たとえば、適正負荷は５５％±１５％など中央値と中央値からの許容範囲の組み合わせでもよい。
【００８３】
本実施形態のコンピュータプログラムは、制御装置２００を実現するコンピュータに、負荷履歴情報記憶部２０２を参照し、各物理サーバ１０上で動作する仮想マシン毎の現在および過去の負荷を示す負荷情報（負荷履歴情報）を取得する手順と、優先順位情報記憶部１０６を参照し、優先順位情報を取得する手順と、制約条件情報記憶部１０８を参照し、制約条件情報を取得する手順と、負荷情報（負荷履歴情報）から各仮想マシンが将来に必要とする計算機資源の量を見積もった結果と、優先順位情報と、制約条件情報と、に基づいて、物理サーバ１０上で動作させる仮想マシン毎に、当該仮想マシンの制約条件を満足する最も優先順位の高い物理サーバ１０を選択する手順と、仮想マシン毎に、物理サーバ１０の選択、および、選択された物理サーバ１０への仮想マシンの配置を順に繰り返す手順と、仮想マシン毎に、当該仮想マシンを選択された最も優先順位の高い物理サーバ１０に配置するように制御し、すべての仮想マシンを物理サーバ１０に配置制御する手順と、を実行させるように記述されている。
本実施形態のコンピュータプログラムは、コンピュータで読み取り可能な記憶媒体に記録されてもよい。
【００８４】
このように構成された本実施形態の情報システムの動作について説明する。図１８は、本発明の実施の形態に係る制御装置２００の動作の一例を示すフローチャートである。以下、図１４乃至図１８を用いて説明する。
【００８５】
本実施形態の制御装置２００のデータ処理方法は、制御装置２００が、負荷履歴情報記憶部２０２を参照し、各物理サーバ１０上で動作する仮想マシン毎の現在および過去の負荷を示す負荷情報（負荷履歴情報）を取得し（ステップＳ１０１）、優先順位情報記憶部１０６を参照し、優先順位情報を取得し、制約条件情報記憶部１０８を参照し、制約条件情報を取得し、負荷情報（負荷履歴情報）から各仮想マシンが将来に必要とする計算機資源の量を見積もった結果と（ステップＳ２０２）、優先順位情報と、制約条件情報と、に基づいて、物理サーバ１０上で動作させる仮想マシン毎に、当該仮想マシンの制約条件を満足する最も優先順位の高い物理サーバ１０を選択し（ステップＳ２０３〜Ｓ２０５）、仮想マシン毎に、物理サーバ１０の選択、および選択された物理サーバ１０への仮想マシンの配置を順に繰り返し（ループＣ）、仮想マシン毎に、当該仮想マシンを選択された最も優先順位の高い物理サーバ１０に配置するように制御し（ループＤ）、すべての仮想マシンを物理サーバ１０に配置制御する。
【００８６】
具体的には、本実施形態の制御装置２００は、上記実施形態の制御装置１００の図９のフローチャートと同様なステップＳ１０１と、ステップＳ１０５〜Ｓ１０９と、を有するとともに、さらに、以下に説明するステップＳ２０１およびＳ２０２を有する。
【００８７】
まず、制御装置２００において、負荷情報取得部１０２が、各物理サーバ１０の負荷情報送信部１２から各物理サーバ１０の電源状態を含む負荷情報３０を受信して収集する（ステップＳ１０１）。ここで、負荷情報３０が受信できなかった場合は、当該物理サーバ１０は電源オフ状態またはサスペンド状態であると判定してもよい。負荷情報取得部１０２が受信した負荷情報３０は負荷履歴情報記憶部２０２に格納される。
【００８８】
そして、選択部２０６が、物理サーバ１０がホストしているすべての仮想サーバについて、仮想マシン毎にループＣの処理を繰り返す（ステップＳ２０１）。ループＣでは、負荷推定部２０４が、負荷履歴情報記憶部２０２を参照し、負荷履歴情報を取得し、負荷履歴情報から各仮想マシンが将来に必要とする計算機資源の量を見積もる（ステップＳ２０２）。そして、選択部２０６が、制約条件情報記憶部１０８を参照し、制約条件情報を取得する。そして、選択部２０６が、仮想マシンをホストしている物理サーバが適正負荷であるかを制約条件情報に基づいて判定する（ステップＳ２０３）。前記判定で物理サーバが適正負荷であれば（ステップＳ２０３のＹＥＳ）、ステップＳ２０４のループＤを実行せずにステップ２０１のループＣの繰り返しを続行する。
【００８９】
前記判定で物理サーバが適正負荷でない場合（ステップＳ２０３のＮＯ）、選択部２０６が、優先順位情報記憶部１０６を参照し、物理サーバ１０の優先順位に従って、優先順位の順に、すべての物理サーバ１０について、ループＤの処理を繰り返す（ステップＳ２０４）。ループＤでは、物理サーバ１０毎に以下の処理を繰り返す。
【００９０】
すなわち、選択部２０６が、負荷履歴情報と制約条件情報に基づいて、当該仮想マシンを当該物理サーバ１０に配置可能か否かを判定する。すなわち、当該物理サーバ１０に当該仮想マシンが配置された時、当該物理サーバ１０の制約条件を、当該物理サーバ１０が満足するかを負荷履歴情報に基づいて判定する（ステップＳ２０５）。
【００９１】
ここで、電源オフ状態またはサスペンド状態の物理サーバ１０であっても、電源オン状態にすることで制約条件を満足する場合は満足すると判定する（ステップＳ２０５のＹＥＳ）。制約条件を満たさない場合（ステップＳ２０５のＮＯ）、ステップＳ２０４に戻り、次の優先順位の物理サーバ１０について、ループＤを繰り返す。制約条件を満足した場合（ステップＳ２０５のＹＥＳ）、選択部２０６が、当該物理サーバ１０を当該仮想マシンの移送先に決定してステップＳ１０５からステップＳ１０８の処理に移り、ループＤの繰り返しを終了する。
【００９２】
そして、ステップＳ２０５で制約条件を満たすと判定したとき（ＹＥＳ）、選択部２０６が、当該仮想マシンは当該物理サーバ１０で既にホストされているかを判定する（ステップＳ１０５）。ホストされていれば（ステップＳ１０５のＹＥＳ）、ステップＳ１０６からステップＳ１０８を実行しない。すなわち、移送先と移送元が同一の物理サーバ１０であれば移送ステップをスキップする。
【００９３】
移送先と移送元の物理サーバ１０が異なれば（ステップＳ１０５のＮＯ）、選択部１１０が、負荷履歴情報記憶部２０２を参照し、物理サーバ１０が電源オン状態であるかを判定する（ステップＳ１０６）。電源オン状態でなければ（ステップＳ１０６のＮＯ）、物理サーバ制御部１１２が、物理サーバ１０の電源制御部１６に当該物理サーバ１０を電源オン状態にするコマンドをネットワーク３を介して送信する（ステップＳ１０７）。その後、すなわち、当該物理サーバ１０が電源オンされて、制御装置２００からのコマンドを受信して実行可能な状態になってから、配置制御部１１４が、当該仮想マシンを当該物理サーバ１０に移送するコマンドをネットワーク３を介して送信する（ステップＳ１０８）。そして、次の仮想サーバについて、ループＣを繰り返す。
【００９４】
すべての仮想マシンについて、ループＣの繰り返しが完了すると、物理サーバ制御部１１２が、仮想マシンを１台もホストしていない物理サーバ１０の電源制御部１６に当該物理サーバ１０を電源オフ状態にするコマンドをネットワーク３を介して送信する（ステップＳ１０９）。
【００９５】
上述したように、本実施形態では、ステップＳ２０２とステップＳ２０５の判定では、最新の負荷情報だけに基づいて判定するのではなく、負荷履歴情報記憶部２０２に記憶された負荷履歴情報を用いて見積もった仮想マシンが必要とするＣＰＵクロックなどに基づいて判定する。
【００９６】
以上説明したように、本実施形態の制御装置２００によれば、図１の上記実施形態と同様な効果を奏するとともに、負荷履歴情報から仮想マシンが近い将来必要とするＣＰＵクロックなどを見積もって配置することと、制約条件情報に基づいて適正負荷の物理サーバからは仮想マシンを移送しないことで、仮想マシンの移送頻度を低くしネットワークとＣＰＵの負荷を低減することができる。
【００９７】
（第３の実施の形態）
本発明の実施の形態に係る情報システムは、上記実施形態とは、上記実施形態の制約条件情報を自動的に調節する点で相違する。
【００９８】
図１および図１４のいずれの上記実施形態においても、制約条件情報は固定されていたが、適切な制約条件をあらかじめ設定しておくことは難しい。なぜなら、適切な制約条件は負荷の変動パターンによって異なり、負荷の変動パターンは未知であることが多いためである。本実施形態では、物理サーバの負荷が配置上限しきい値を超過した時間に応じて配置上限しきい値を自動的に調節し、システムが提供するサービスの品質を一定に保つ例を説明する。
【００９９】
図１９は、本発明の実施の形態に係る情報システムの構成を示す機能ブロック図である。同図に示すように、本実施形態の制御装置３００は、図１４の上記実施形態の制御装置２００と同じ、負荷情報取得部１０２と、優先順位情報記憶部１０６と、制約条件情報記憶部１０８と、物理サーバ制御部１１２と、配置制御部１１４と、負荷履歴情報記憶部２０２と、負荷推定部２０４と、選択部２０６と、を備えるとともに、さらに、制約条件情報更新部３０２と、目標値情報記憶部３０４と、を備える。図１４の上記実施形態の制御装置２００と同様の構成要素については図１４の制御装置２００と同一の符号を付し、詳細な説明を省略する。
【０１００】
なお、本実施形態は、図１４の上記実施形態の制御装置２００の構成の拡張として説明しているが、これに限定されない。たとえば、図１の上記実施形態の制御装置１００の構成の拡張とすることもできる。
【０１０１】
本実施形態の制御装置３００は、システムの評価値の目標値を示す目標値情報を記憶する目標値情報記憶部３０４と、制約条件情報を更新する制約条件情報更新部３０２と、をさらに備え、負荷履歴情報記憶部２０２は、現在および過去に取得した負荷の情報を含む負荷情報（負荷履歴情報）をさらに記憶し、制約条件情報更新部３０２は、負荷情報（負荷履歴情報）から評価値を算出し、算出した評価値と目標値を比較し、評価値が目標値に近づくように制約条件情報記憶部１０８の制約条件情報を更新する制約条件更新処理を繰り返し実行する。
【０１０２】
目標値情報記憶部３０４は、達成すべき目標値を示す目標値情報を記憶する。制約条件情報更新部３０２は、負荷履歴情報と目標値情報に基づいて制約条件情報を更新する。
【０１０３】
図２０に、目標値情報記憶部３０４に記憶される目標値情報の一例を示す。同図に示すように、目標値情報には、たとえば、物理サーバの負荷が配置上限しきい値を超えた時間の割合の平均を示す物理サーバ平均高負荷率を含めることができる。図の例では、物理サーバ平均高負荷率は、上限が６％、下限が４％である。物理サーバ平均高負荷率は、たとえば、過去１時間に物理サーバの負荷が配置上限しきい値を超過した時間を１時間で割って物理サーバ高負荷率を算出し、全ての物理サーバで物理サーバ高負荷率を相加平均することで求められる。たとえば、過去１時間に物理サーバの負荷が配置上限しきい値を超えた時間が合計３分であれば、当該物理サーバの物理サーバ高負荷率は５％である。また、負荷が配置上限しきい値を超えた物理サーバで仮想マシンがホストされた時間の割合の平均を示す仮想マシン平均高負荷率を用いてもよい。あるいは、評価値としては、物理サーバ平均高負荷率や仮想マシン平均高負荷率など以外に、ウェブサーバの応答速度などを用いることもできる。
【０１０４】
本実施形態のコンピュータプログラムは、制御装置３００を実現するコンピュータに、上記実施形態の手順に加え、目標値情報記憶部３０４を参照し、目標値情報を取得する手順と、負荷情報（負荷履歴情報）から評価値を算出する手順と、参照した評価値と目標値を比較する手順と、比較の結果に基づいて、評価値が目標値に近づくように、制約条件情報記憶部１０８の制約条件情報を更新する手順と、をさらに実行させるように記述されている。
本実施形態のコンピュータプログラムは、コンピュータで読み取り可能な記憶媒体に記録されてもよい。
【０１０５】
このように構成された本実施形態の情報システムの動作について説明する。図２１は、本発明の実施の形態に係る制御装置３００の動作の一例を示すフローチャートである。以下、図１９乃至図２１を用いて説明する。
【０１０６】
本実施形態の制御装置３００のデータ処理方法は、制御装置３００が、上記実施形態の処理に加え、目標値情報記憶部３０４を参照し、目標値情報を取得し、負荷情報（負荷履歴情報）から評価値を算出し、参照した評価値と目標値を比較し、比較の結果に基づいて、評価値が目標値に近づくように、制約条件情報記憶部１０８の制約条件情報を更新する（ステップＳ３０１）。
【０１０７】
具体的には、まず、制約条件情報更新部３０２が、負荷履歴情報記憶部２０２の負荷履歴情報と目標値情報記憶部３０４の目標値情報に基づいて、制約条件情報記憶部１０８の制約条件情報を更新する（ステップＳ３０１）。次に、選択部２０６により、負荷履歴情報記憶部２０２の負荷履歴情報と制約条件情報記憶部１０８の制約条件情報に基づいて選択された仮想マシンの再配置を配置制御部１１４が行う（ステップＳ３０２）。ステップＳ３０２は上記実施形態の図１８のフローチャートに示す動作と同等であるため詳細な説明は省略する。
【０１０８】
次に、図２２を用いて、図２１のステップ３０１の具体的な動作例を説明する。まず、制約条件情報更新部３０２が、負荷履歴情報記憶部２０２から負荷履歴情報を取得し（ステップＳ４０１）、負荷履歴情報からたとえば、物理サーバ平均高負荷率などの評価値を算出する（ステップＳ４０２）。制約条件情報更新部３０２が、目標値情報記憶部３０４から目標値情報に含まれる目標値を取得する（ステップＳ４０３）。次に、前記評価値が前記目標値の下限を下回るかを判定する（ステップＳ４０４）。下回る場合は（ステップＳ４０４のＹＥＳ）、評価値を上げるように制約条件情報を更新して（ステップＳ４０５）、処理を終了する。
【０１０９】
具体的には、たとえば、物理サーバ平均高負荷率の目標値の下限が４％で負荷履歴情報から算出した評価値が３％であれば、高負荷率を上げるために配置上限しきい値に１％を加算する。
【０１１０】
前記判定の結果評価値が目標値を下回らなかった場合は（ステップＳ４０４のＮＯ）、評価値が目標値の上限を上回るかを判定する（ステップＳ４０６）。上回る場合は（ステップＳ４０６のＹＥＳ）、評価値を下げるように制約条件情報を更新して（ステップＳ４０７）、処理を終了する。
【０１１１】
具体的には、たとえば、物理サーバ平均高負荷率の目標値の上限が６％で負荷履歴情報から算出した評価値が７％であれば、高負荷率を下げるために配置上限しきい値から１％を減算する。これにより、負荷の変動パターンが未知であっても物理サーバ平均高負荷率を目標値前後に制御することができる。
一方、前記判定の結果評価値が目標値を上回らなかった場合は（ステップＳ４０６のＮＯ）、処理を終了する。
【０１１２】
以上説明したように、本実施形態の制御装置３００によれば、図１および図１４の上記実施形態と同様な効果を奏するとともに、システムの評価値が目標値に達しているかを判定して達していなければ達するように制約条件情報を自動的に更新することで、仮想マシンの負荷変動のパターンが未知の場合でも本装置を適用可能にする。
【０１１３】
（第４の実施の形態）
本発明の実施の形態に係る情報システムは、上記実施形態とは、システムの運用中に自動的に優先順位情報を更新する点で相違する。本実施形態は、図１の上記実施形態の信頼性を高めたものである。
【０１１４】
優先順位が固定されていると、電源状態の切り替えが一部の物理サーバで頻繁に行われることがある。たとえば、平均３０台の物理サーバが電源オン状態にされるシステムにおいては、３０番目付近の優先順位を持つ物理サーバの電源状態が頻繁に切り替わる可能性が高い。電源状態の頻繁な切り替えは、物理サーバの故障につながる場合がある。たとえば、一般的にハードディスク装置は電源状態の切り替えによって寿命が縮む。
【０１１５】
第４の実施の形態では、優先順位情報を定期的に更新することで一部の物理サーバで電源状態の切り替えが頻繁に発生することを防止する。また、物理サーバの信頼性情報を参照し信頼性の低い物理サーバに低い優先順位をつける。これらにより、システムの信頼性を高める。
【０１１６】
図２３は、本発明の実施の形態に係る情報システムの構成を示す機能ブロック図である。同図に示すように、本実施形態の制御装置４００は、図１の上記実施形態の制御装置１００と同じ、負荷情報取得部１０２と、負荷情報記憶部１０４と、優先順位情報記憶部１０６と、制約条件情報記憶部１０８と、選択部１１０と、物理サーバ制御部１１２と、配置制御部１１４と、を備えるとともに、さらに、信頼性情報記憶部４０２と、優先順位情報更新部４０４と、を備える。図１の上記実施形態の制御装置１００と同様の構成要素については図１の制御装置１００と同一の符号を付し、詳細な説明を省略する。
【０１１７】
なお、本実施形態は、図１の上記実施形態の制御装置１００の構成の拡張として説明しているが、これに限定されない。たとえば、図１４の上記実施形態の制御装置２００または図１９の上記実施形態の制御装置３００の構成の拡張とすることもできる。
【０１１８】
本実施形態の制御装置４００は、本実施形態の物理サーバ４０の信頼性を示す信頼性情報を記憶する信頼性情報記憶部４０２と、優先順位情報を更新する優先順位情報更新部４０４と、をさらに備え、優先順位情報更新部４０４は、信頼性情報に基づき、信頼性の低い物理サーバの優先順位を低くし、信頼性の高い物理サーバの優先順位を高くする優先順位更新処理を繰り返し実行する。
【０１１９】
優先順位情報更新部４０４は、優先順位情報を更新する。信頼性情報記憶部４０２は、物理サーバの信頼性を示す信頼性情報を記憶する。
【０１２０】
図２４に、本実施形態の物理サーバ群４２の物理サーバ４０の配置位置の一例を示す。同図に示すとおり、収容筐体５０には物理サーバＳ２１からＳ３５が５列３段に配置されており、各物理サーバ４０の電力効率は同じとする。物理サーバに付けられた「＃」に続く数値は優先順位を示しており、数値が小さいほど優先順位は高い。図２４に示すとおり、隣り合った物理サーバ同士は連続した優先順位をもたず、これによりホットスポットの発生を防止する。
【０１２１】
図２５は、信頼性情報記憶部４０２に記憶される信頼性情報の一例である。システム管理者などのユーザは、システムの過去の障害履歴やハードウェアの診断情報などから各物理サーバの信頼性を判断し、信頼性が高いか低いかを設定することができる。すなわち、ユーザの設定を受け付ける受付部（不図示）と、信頼性情報記憶部４０２の信頼性情報の設定の変更を行うことができる。あるいは、物理サーバの信頼性を自動的に評価するハードウェアおよびソフトウェアがあれば、前記評価の結果を自動的に信頼性情報記憶部４０２に反映してもよい。
【０１２２】
本実施形態のコンピュータプログラムは、制御装置４００を実現するコンピュータに、上記実施形態の手順に加え、信頼性情報記憶部４０２を参照し、信頼性情報を取得する手順と、信頼性情報に基づき、信頼性の低い物理サーバ１０の優先順位が低く、信頼性の高い物理サーバ１０の優先順位が高くなるように、優先順位情報記憶部１０６の優先順位情報を更新する手順と、を実行させるように記述されている。
本実施形態のコンピュータプログラムは、コンピュータで読み取り可能な記憶媒体に記録されてもよい。
【０１２３】
このように構成された本実施形態の情報システムの動作について説明する。図２６は、本発明の実施の形態に係る制御装置４００の動作の一例を示すフローチャートである。以下、図２３乃至図２６を用いて説明する。
【０１２４】
本実施形態の制御装置４００のデータ処理方法は、制御装置４００が、上記実施形態のデータ処理に加え、さらに、信頼性情報記憶部４０２を参照し、信頼性情報を取得し（ステップＳ５０１）、信頼性情報に基づき、信頼性の低い物理サーバ１０の優先順位が低く（ステップＳ５０４）、信頼性の高い物理サーバ１０の優先順位が高くなるように（ステップＳ５０３）、優先順位情報記憶部１０６の優先順位情報を更新する（ステップＳ５０８）。
【０１２５】
具体的には、優先順位情報更新部４０４が、まず信頼性情報を信頼性情報記憶部４０２から取得し（ステップＳ５０１）、優先順位情報記憶部１０６から優先順位情報を取得する（ステップＳ５０２）。次に、優先順位情報更新部４０４が、信頼性情報を参照し、信頼性が高い物理サーバの優先順位の百の位を０にする（ステップＳ５０３）。また同様に、信頼性が低い物理サーバの優先順位の百の位を１にする（ステップＳ５０４）。
【０１２６】
そして、優先順位情報更新部４０４が、全ての物理サーバの優先順位に１を加算する（ステップＳ５０５）。このとき、優先順位が１６の物理サーバがあれば優先順位を１に変更する（ステップＳ５０６）。また、優先順位が１１６の物理サーバがあれば優先順位を１０１に変更する（ステップＳ５０７）。そして、優先順位情報記憶部１０６の優先順位情報を更新する（ステップＳ５０８）。上記の動作は、たとえば、１時間おきに行われる。更新のタイミングは、特に限定されない。予め決められた時間おきに実行されてもよいし、予めスケジュールされた日時に実行されてもよいし、システム管理者などのユーザの更新要求を受け付けた時に実行されてもよい。
【０１２７】
図２７は、図２４の優先順位を、図２５の信頼性情報を参照して更新した例を示す。一部の物理サーバの電源状態が頻繁に切り替わらないように優先順位が変更され、信頼性の低い物理サーバＳ２６に低い優先順位、図では、♯１１３をつけることで、信頼性の低い物理サーバＳ２６は優先的に選ばれ難くなるため、システムの安定性が高まる。図２８に、図２７の優先順位をさらに図２５の信頼性情報を参照して更新した例を示す。このように、優先順位をずらしながら変更することで優先順位を更新してもホットスポットの発生を防止できる。
【０１２８】
優先順位のローテーションの仕方は、これに限定されるものではなく、様々な態様が考えられる。たとえば、新しい物理サーバ１０や電力効率のよい物理サーバ１０は、高い優先順位に固定しておき、古い物理サーバ１０や電力効率の悪い物理サーバ１０など、優先順位が低いものの中で、優先順位のローテーションを行ってもよい。あるいは、優先順位が一番高いものの優先順位を一番低くしてもよいし、逆に一番低いものを一番高くするようにローテーションしてもよい。さらに、物理サーバ１０の電源のオンオフ回数を記録して、上限を超えた物理サーバ１０の優先順位を低くするようにしてもよい。あるいは、ハードディスクのエラー回数を検出し、上限を超えた物理サーバ１０の優先順位を低くするようにしてもよい。
【０１２９】
本実施形態の制御装置４００によれば、上記実施形態の効果を奏するとともに、優先順位情報を定期的に更新することで一部の物理サーバで電源状態の切り替えが頻繁に発生することを防止し、物理サーバの信頼性情報を参照し信頼性の低い物理サーバに低い優先順位をつけることで、システムの信頼性を高めることができる。
【０１３０】
以上、説明したように、本発明の実施の形態によれば、仮想マシンの配置先とする物理サーバを、様々な要因を考慮して柔軟に決定することが可能となる。
たとえば、物理サーバと仮想マシンの負荷だけでなく、各物理サーバの電力効率も考慮して仮想マシンの配置先とする物理サーバを決定することが可能となる。これにより、情報システムの消費電力を全体として最適化することが可能となる。
【０１３１】
また、たとえば、物理サーバと仮想マシンの負荷だけでなく、各物理サーバの配置位置も考慮して仮想マシンの配置先とする物理サーバを決定することが可能となる。これにより、空調装置までも含めた全体の消費電力を最適化することが可能となる。また、たとえば、物理サーバと仮想マシンの負荷だけでなく、各物理サーバの信頼性も考慮して仮想マシンの配置先とする物理サーバを決定することが可能となる。これにより、システムの信頼性を高めることが可能となる。
本発明は、高密度に配置された物理サーバに仮想マシンを自律的に集約して消費電力を削減する制御装置の実現といった用途に適用できる。
【０１３２】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
以下、参考形態の例を付記する。
１．  複数の物理サーバのいずれかに、少なくとも１つの仮想マシンを配置するように前記物理サーバを制御する配置制御手段と、
各物理サーバ上で動作する前記仮想マシン毎の負荷を示す負荷情報を取得する負荷情報取得手段と、
前記物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶手段と、
前記物理サーバに前記仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する制約条件情報記憶手段と、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択する選択手段と、を備え、
前記仮想マシン毎に、前記選択手段による前記物理サーバの選択、および前記配置制御手段による、選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返し、前記配置制御手段は、前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御する制御装置。
２．  １．に記載の制御装置において、
前記負荷情報取得手段が現在および過去に取得した負荷の情報を含む負荷情報を記憶する負荷情報記憶手段をさらに備え、
前記選択手段は、前記負荷情報から各前記仮想マシンが将来に必要とする計算機資源の量を見積もった結果と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバを選択する制御装置。
３．  ２．に記載の制御装置において、
システムの評価値の目標値を示す目標値情報を記憶する目標値情報記憶手段と、
前記制約条件情報を更新する制約条件更新手段と、をさらに備え、
前記制約条件更新手段は、前記負荷情報から評価値を算出し、算出した前記評価値と前記目標値を比較し、前記評価値が前記目標値に近づくように、前記制約条件情報記憶手段の前記制約条件情報を更新する制約条件更新処理を繰り返し実行する制御装置。
４．  １．乃至３．いずれかに記載の制御装置において、
前記制約条件情報記憶手段は、前記物理サーバが前記仮想マシンの移送先または移送元となるときの制約条件を含む制約条件情報をさらに記憶し、
前記選択手段は、前記制約条件情報に基づいて制約条件を満足しない物理サーバを移送先または移送元の候補として選択しない制御装置。
５．  １．乃至４．いずれかに記載の制御装置において、
前記物理サーバの信頼性を示す信頼性情報を記憶する信頼性情報記憶手段と、
前記優先順位情報記憶手段の前記優先順位情報を更新する優先順位情報更新手段と、をさらに備え、
前記優先順位情報更新手段は、前記信頼性情報に基づき、前記信頼性の低い物理サーバの前記優先順位を低くし、前記信頼性の高い物理サーバの前記優先順位を高くする優先順位更新処理を繰り返し実行する制御装置。
６．  １．乃至５．いずれかに記載の制御装置において、
前記優先順位情報記憶手段は、電力効率の高い物理サーバに高い優先順位をつけるとともに、前記物理サーバどうしの相対位置を考慮して前記優先順位をつけた前記優先順位情報を記憶する制御装置。
７．  １．乃至６．いずれかに記載の制御装置において、
前記仮想マシンが１つも動作していない物理サーバに対して、当該物理サーバの電源をオフ、または、サスペンド状態にするよう制御するとともに、
前記仮想マシンを配置する際、配置先の物理サーバの電源状態を確認し、当該物理サーバの電源がオフまたはサスペンド状態の場合、当該物理サーバの電源をオンするように制御する電源制御手段をさらに備える制御装置。
８．  制御装置のデータ処理方法であって、
前記制御装置が、
少なくとも１つの仮想マシンが動作する複数の物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶装置と、
前記物理サーバに前記仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する制約条件情報記憶装置と、を備え、
前記制御装置が、
各物理サーバ上で動作する前記仮想マシン毎の負荷を示す負荷情報を取得し、
前記優先順位情報記憶装置を参照し、前記優先順位情報を取得し、
前記制約条件情報記憶装置を参照し、前記制約条件情報を取得し、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択し、
前記仮想マシン毎に、前記物理サーバの選択、および選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返し、
前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御する制御装置のデータ処理方法。
９．  制御装置のデータ処理方法であって、
前記制御装置が、
少なくとも１つの仮想マシンが動作する複数の物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶装置と、
前記物理サーバに前記仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する制約条件情報記憶装置と、
現在および過去に取得した負荷の情報を含む負荷情報を記憶する負荷履歴情報記憶装置と、を備え、
前記制御装置が、
前記負荷履歴情報記憶装置を参照し、各物理サーバ上で動作する前記仮想マシン毎の現在および過去の負荷を示す負荷情報を取得し、
前記優先順位情報記憶装置を参照し、前記優先順位情報を取得し、
前記制約条件情報記憶装置を参照し、前記制約条件情報を取得し、
前記負荷情報から前記各仮想マシンが将来に必要とする計算機資源の量を見積もった結果と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択し、
前記仮想マシン毎に、前記物理サーバの選択、および選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返し、
前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御する制御装置のデータ処理方法。
１０．  ９．に記載の制御装置のデータ処理方法において、
前記制御装置は、システムの評価値の目標値を示す目標値情報を記憶する目標値情報記憶装置をさらに備え、
前記制御装置は、
前記目標値情報記憶装置を参照し、前記目標値情報を取得し、
前記負荷情報から評価値を算出し、
参照した前記評価値と前記目標値を比較し、
前記比較の結果に基づいて、前記評価値が前記目標値に近づくように、前記制約条件情報記憶装置の前記制約条件情報を更新する制御装置のデータ処理方法。
１１．  ８．乃至１０．いずれかに記載の制御装置のデータ処理方法において、
前記制御装置の前記制約条件情報記憶装置は、前記物理サーバに仮想マシンの移送先または移送元となるときの制約条件を示す制約条件情報をさらに記憶し、
前記制御装置は、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記各仮想マシンをホストする物理サーバが前記制約条件を満足する場合に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択し、
移送先の物理サーバが選択された前記仮想マシンを、選択された前記物理サーバに移送させるように前記物理サーバを制御させる再配置処理を繰り返し実行する制御装置のデータ処理方法。
１２．  ８．乃至１１．いずれかに記載の制御装置のデータ処理方法において、
前記制御装置は、前記物理サーバの信頼性を示す信頼性情報を記憶する信頼性情報記憶装置をさらに備え、
さらに、
前記制御装置は、
前記信頼性情報記憶装置を参照し、前記信頼性情報を取得し、
前記信頼性情報に基づき、前記信頼性の低い物理サーバの前記優先順位が低く、前記信頼性の高い物理サーバの前記優先順位が高くなるように、前記優先順位情報記憶装置の前記優先順位情報を更新する制御装置のデータ処理方法。
１３．  少なくとも１つの仮想マシンが動作する複数の物理サーバと、
複数の前記物理サーバを制御する制御装置と、を備え、
前記制御装置は、
複数の前記物理サーバのいずれかに、少なくとも１つの仮想マシンを配置するように前記物理サーバを制御する配置制御手段と、
各物理サーバ上で動作する前記仮想マシン毎の負荷を示す負荷情報を取得する負荷情報取得手段と、
前記物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶手段と、
前記物理サーバに前記仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する制約条件情報記憶手段と、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択する選択手段と、を備え、
前記仮想マシン毎に、前記選択手段による前記物理サーバの選択、および前記配置制御手段による、選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返し、前記配置制御手段は、前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御する情報システム。
１４．  １３．に記載の情報システムにおいて、
前記制御装置は、現在および過去に受信した負荷の情報を含む負荷情報を記憶する負荷情報記憶手段をさらに備え、
前記制御装置の前記選択手段は、前記負荷情報から各仮想マシンが将来に必要とする計算機資源の量を見積もった結果と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバを選択する情報システム。
１５．  １４．に記載の情報システムにおいて、
前記制御装置が、
システムの評価値の目標値を示す目標値情報を記憶する目標値情報記憶手段と、
前記制約条件情報を更新する制約条件更新手段と、をさらに備え、
前記制御装置の前記負荷情報記憶手段は、現在および過去に受信した負荷の情報を含む負荷情報をさらに記憶し、
前記制御装置の前記制約条件更新手段は、前記負荷情報から評価値を算出し、算出した前記評価値と前記目標値を比較し、前記評価値が前記目標値に近づくように前記制約条件情報記憶手段の前記制約条件情報を更新する制約条件更新処理を繰り返し実行する情報システム。
１６．  １３．乃至１５．いずれかに記載の情報システムにおいて、
前記制御装置の前記制約条件情報記憶手段は、前記物理サーバが前記仮想マシンの移送先または移送元となるときの制約条件を含む制約条件情報をさらに記憶し、
前記制御装置の前記選択手段は、前記制約条件情報に基づいて制約条件を満足しない物理サーバを移送先または移送元の候補として選択しない情報システム。
１７．  １３．乃至１６．いずれかに記載の情報システムにおいて、
前記制御装置は、
前記物理サーバの信頼性を示す信頼性情報を記憶する信頼性情報記憶手段と、
前記優先順位情報記憶手段の前記優先順位情報を更新する優先順位情報更新手段と、をさらに備え、
前記制御装置の前記優先順位情報更新手段は、前記信頼性情報に基づき、前記信頼性の低い物理サーバの前記優先順位を低くし、前記信頼性の高い物理サーバの前記優先順位を高くする優先順位更新処理を繰り返し実行する情報システム。
１８．  制御装置を実現するコンピュータが、
少なくとも１つの仮想マシンが動作する複数の物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶装置と、
前記物理サーバに前記仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する制約条件情報記憶装置と、を備え、
コンピュータに、
各物理サーバ上で動作する前記仮想マシン毎の負荷を示す負荷情報を取得する手順と、
前記優先順位情報記憶装置を参照し、前記優先順位情報を取得する手順と、
前記制約条件情報記憶装置を参照し、前記制約条件情報を取得する手順と、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択する手順と、
前記仮想マシン毎に、前記物理サーバの選択、および、選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返す手順と、
前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御する手順と、を実行させるためのプログラム。
１９．  制御装置を実現するコンピュータが、
少なくとも１つの仮想マシンが動作する複数の物理サーバの優先順位を示す優先順位情報を記憶する優先順位情報記憶装置と、
前記物理サーバに前記仮想マシンを配置するときの制約条件を示す制約条件情報を記憶する制約条件情報記憶装置と、
現在および過去に取得した負荷の情報を含む負荷情報を記憶する負荷履歴情報記憶装置と、を備え、
コンピュータに、
前記負荷履歴情報記憶装置を参照し、各物理サーバ上で動作する前記仮想マシン毎の現在および過去の負荷を示す負荷情報を取得する手順と、
前記優先順位情報記憶装置を参照し、前記優先順位情報を取得する手順と、
前記制約条件情報記憶装置を参照し、前記制約条件情報を取得する手順と、
前記負荷情報から前記各仮想マシンが将来に必要とする計算機資源の量を見積もった結果と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記物理サーバ上で動作させる仮想マシン毎に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択する手順と、
前記仮想マシン毎に、前記物理サーバの選択、および、選択された前記物理サーバへの前記仮想マシンの配置を順に繰り返す手順と、
前記仮想マシン毎に、当該仮想マシンを選択された前記最も優先順位の高い物理サーバに配置するように制御し、すべての仮想マシンを前記物理サーバに配置制御する手順と、を実行させるためのプログラム。
２０．  １９．に記載のプログラムにおいて、
前記コンピュータが、システムの評価値の目標値を示す目標値情報を記憶する目標値情報記憶装置をさらに備え、
前記コンピュータに、
前記目標値情報記憶装置を参照し、前記目標値情報を取得する手順と、
前記負荷情報から評価値を算出する手順と、
参照した前記評価値と前記目標値を比較する手順と、
前記比較の結果に基づいて、前記評価値が前記目標値に近づくように、前記制約条件情報記憶装置の前記制約条件情報を更新する手順と、をさらに実行させるためのプログラム。
２１．  １８．乃至２０．いずれかに記載のプログラムにおいて、
前記物理サーバに仮想マシンの移送先または移送元となるときの制約条件を示す制約条件情報をさらに前記制約条件情報記憶装置に記憶する手順と、
前記負荷情報と、前記優先順位情報と、前記制約条件情報と、に基づいて、前記各仮想マシンをホストする物理サーバが前記制約条件を満足する場合に、当該仮想マシンの前記制約条件を満足する最も優先順位の高い物理サーバを選択する手順と、
移送先の物理サーバが選択された前記仮想マシンを、選択された前記物理サーバに移送させるように前記物理サーバを制御させる再配置処理を繰り返し実行する手順と、をコンピュータにさらに実行させるためのプログラム。
２２．  １８．乃至２１．いずれかに記載のプログラムにおいて、
前記コンピュータが、前記物理サーバの信頼性を示す信頼性情報を記憶する信頼性情報記憶装置をさらに備え、
前記コンピュータに、
前記信頼性情報記憶装置を参照し、前記信頼性情報を取得する手順と、
前記信頼性情報に基づき、前記信頼性の低い物理サーバの前記優先順位が低く、前記信頼性の高い物理サーバの前記優先順位が高くなるように、前記優先順位情報記憶装置の前記優先順位情報を更新する手順と、をさらに実行させるためのプログラム。
【符号の説明】
【０１３３】
３  ネットワーク
１０  物理サーバ
１１  物理サーバ群
１２  負荷情報送信部
１４  仮想マシン制御部
１６  電源制御部
２０  収容筐体
３０  負荷情報
１００  制御装置
１０２  負荷情報取得部
１０４  負荷情報記憶部
１０６  優先順位情報記憶部
１０８  制約条件情報記憶部
１１０  選択部
１１２  物理サーバ制御部
１１４  配置制御部
２００  制御装置
２０２  負荷履歴情報記憶部
２０４  負荷推定部
２０６  選択部
３００  制御装置
３０２  制約条件情報更新部
３０４  目標値情報記憶部
４０  物理サーバ
４２  物理サーバ群
５０  収容筐体
４００  制御装置
４０２  信頼性情報記憶部
４０４  優先順位情報更新部
【図１】
0005471080.tif 000002
【図２】
0005471080.tif 000003
【図３】
0005471080.tif 000004
【図４】
0005471080.tif 000005
【図５】
0005471080.tif 000006
【図６】
0005471080.tif 000007
【図７】
0005471080.tif 000008
【図８】
0005471080.tif 000009
【図９】
0005471080.tif 000010
【図１０】
0005471080.tif 000011
【図１１】
0005471080.tif 000012
【図１２】
0005471080.tif 000013
【図１３】
0005471080.tif 000014
【図１４】
0005471080.tif 000015
【図１５】
0005471080.tif 000016
【図１６】
0005471080.tif 000017
【図１７】
0005471080.tif 000018
【図１８】
0005471080.tif 000019
【図１９】
0005471080.tif 000020
【図２０】
0005471080.tif 000021
【図２１】
0005471080.tif 000022
【図２２】
0005471080.tif 000023
【図２３】
0005471080.tif 000024
【図２４】
0005471080.tif 000025
【図２５】
0005471080.tif 000026
【図２６】
0005471080.tif 000027
【図２７】
0005471080.tif 000028
【図２８】
0005471080.tif 000029