(57)【要約】【課題】複数の仮想マシン（ＶＭ）をサーバ上で稼働したときに、各ＶＭに性能上の問題が発生しないかどうかを判定する仮想マシン組合せ判定装置を提供する。【解決手段】本発明の仮想マシン組合せ判定装置は、処理手段と記憶手段とを有し、前記記憶手段は、１個以上のＶＭの１個以上の時間帯の負荷を表すＶＭ負荷テーブルと、１個以上の前記ＶＭの１個以上の前記時間帯の接続確率を表すＶＭ接続確率テーブルとを有し、前記処理手段は、与えられたＶＭ群の合計負荷を前記ＶＭ負荷テーブルに基づいて前記時間帯毎に算出する負荷合計部と、前記ＶＭ群に対してユーザが同時に接続する確率を表す同時接続確率を前記ＶＭ接続確率テーブルに基づいて前記時間帯毎に算出する同時接続確率算出部と、前記合計負荷と前記同時接続確率とを前記時間帯の等しさに基づいて結合することで、前記時間帯毎の前記合計負荷の大きさと負荷上昇確率とを表す負荷上昇確率テーブルを生成する負荷上昇確率テーブル生成部とを有する。【選択図】      図１
2015207180.tif 000002
【特許請求の範囲】
【請求項１】
処理手段と記憶手段とを有し、
前記記憶手段は、
１個以上の仮想マシン（以下、ＶＭと略す）の１個以上の時間帯の負荷を表すＶＭ負荷テーブルと、
１個以上の前記ＶＭの１個以上の前記時間帯の接続確率を表すＶＭ接続確率テーブルと、を有し、
前記処理手段は、
与えられたＶＭ群の合計負荷を、前記ＶＭ負荷テーブルに基づいて前記時間帯毎に算出する負荷合計部と、
前記ＶＭ群に対してユーザが同時に接続する確率を表す同時接続確率を、前記ＶＭ接続確率テーブルに基づいて前記時間帯毎に算出する同時接続確率算出部と、
前記合計負荷と前記同時接続確率とを前記時間帯の等しさに基づいて結合することで、前記時間帯毎の前記合計負荷の大きさと負荷上昇確率とを表す負荷上昇確率テーブルを生成する負荷上昇確率テーブル生成部と、を有する、
仮想マシン組合せ判定装置。
【請求項２】
前記負荷上昇確率と前記同時接続確率とは同じである、請求項１記載の仮想マシン組合せ判定装置。
【請求項３】
前記負荷上昇確率テーブルの前記時間帯毎における前記合計負荷の前記負荷上昇確率が、前記合計負荷が一定以上の大きさとなる前記同時接続確率が一定以下となることを規定したサービスレベル契約（ＳＬＡと略す）を、満たしているか否かを判定するＳＬＡ判定部を有する、請求項１または２記載の仮想マシン組合せ判定装置。
【請求項４】
未配置の前記ＶＭを１つ選択し、前記選択したＶＭの配置先サーバを１つ選択し、前記選択したＶＭと前記配置先サーバ上に既に配置されているＶＭとを併せたＶＭ群が前記ＳＬＡを満たすか否かを判定し、満たすと判定した場合、前記選択したＶＭの前記配置先サーバへの配置を決定する配置制御部を有する、請求項３記載の仮想マシン組合せ判定装置。
【請求項５】
前記負荷は、ＣＰＵ使用率である、請求項１から４の内の１項記載の仮想マシン組合せ判定装置。
【請求項６】
与えられたＶＭ群の合計負荷を、１個以上のＶＭの１個以上の時間帯の負荷を表すＶＭ負荷テーブルに基づいて前記時間帯毎に算出し、
前記ＶＭ群に対してユーザが同時に接続する確率を表す同時接続確率を、１個以上の前記ＶＭの１個以上の前記時間帯の接続確率を表すＶＭ接続確率テーブルに基づいて前記時間帯毎に算出し、
前記合計負荷と前記同時接続確率とを、前記時間帯の等しさに基づいて結合することで、前記時間帯毎の負荷の大きさと負荷上昇確率とを表す負荷上昇確率テーブルを生成する、仮想マシン組合せ判定方法。
【請求項７】
前記負荷上昇確率テーブルの前記時間帯毎における前記合計負荷の前記負荷上昇確率が、前記合計負荷が一定以上の大きさとなる前記同時接続確率が一定以下となることを規定したサービスレベル契約（ＳＬＡ）を、満たしているか否かを判定する、請求項６記載の仮想マシン組合せ判定方法。
【請求項８】
未配置の前記ＶＭを１つ選択し、前記選択したＶＭの配置先サーバを１つ選択し、前記選択したＶＭと前記配置先サーバ上に既に配置されているＶＭとを併せたＶＭ群が前記ＳＬＡを満たすか否かを判定し、満たすと判定した場合、前記選択したＶＭの前記配置先サーバへの配置を決定する、請求項７記載の仮想マシン組合せ判定方法。
【請求項９】
与えられたＶＭ群の合計負荷を、１個以上のＶＭの１個以上の時間帯の負荷を表すＶＭ負荷テーブルに基づいて前記時間帯毎に算出する処理と、
前記ＶＭ群に対してユーザが同時に接続する確率を表す同時接続確率を、１個以上の前記ＶＭの１個以上の前記時間帯の接続確率を表すＶＭ接続確率テーブルに基づいて前記時間帯毎に算出する処理と、
前記合計負荷と前記同時接続確率とを、前記時間帯の等しさに基づいて結合することで、前記時間帯毎の負荷の大きさと負荷上昇確率とを表す負荷上昇確率テーブルを生成する処理と、を実行させる、仮想マシン組合せ判定用プログラム。
【請求項１０】
前記負荷上昇確率テーブルの前記時間帯毎における前記合計負荷の前記負荷上昇確率が、前記合計負荷が一定以上の大きさとなる前記同時接続確率が一定以下となることを規定したサービスレベル契約（ＳＬＡ）を、満たしているか否かを判定する処理を実行させる、請求項９記載の仮想マシン組合せ判定用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想環境において複数の仮想マシンをサーバ上で動作させる際の動作性能を判定する技術に関する。
【背景技術】
【０００２】
仮想環境では、複数の仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ、以下、ＶＭと略す）がリソースであるサーバを共有する。このため、あるＶＭのリソース使用量の増加が他のＶＭの性能に影響を与える場合が生じる。
【０００３】
特許文献１には、ＶＭの要求リソースを確保するための仮想マシン管理システムが開示されている。特許文献１の仮想マシン管理システムによれば、第１情報取得部は、各サーバの利用リソース量の時系列データを取得する。第２情報取得部は、各ＶＭの要求リソース量と、要求リソース量を平均化するための移動平均幅とを取得する。分析部は、時系列データを移動平均幅で平均化して、リソース使用量の確率密度分布である負荷特性データを生成する。最後に選択部は、生成された負荷特性データとＶＭの要求リソース量とから、ＶＭの配置先として複数のサーバの中から少なくとも１つを選択する。以上により、ＶＭの要求リソースを確保する可能性が高められる。
【０００４】
特許文献２には、サーバのリソースを有効活用するための仮想マシン管理装置が開示されている。特許文献２の仮想マシン管理装置によれば、負荷算出部は、複数のＶＭが複数のサーバに対して要求しているリソースの総量を算出する。傾向決定部は、この要求リソース量の増加や減少といった変動の傾向を決定する。接続状況管理部は、複数のＶＭのうち、クライアント装置との接続が確立されていない未接続状態のＶＭを特定する。配置決定部は、要求リソース量の変動の傾向に応じて、未接続状態のＶＭの移動先となるサーバを決定する。このような仕組みに基づいて、負荷が増加傾向のときは未接続状態のＶＭを他のサーバに分散させ、逆に負荷が減少傾向のときには、未接続状態のＶＭを少数のサーバに集約する。以上により、サーバのリソースが有効活用される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１３／０１１６２４号
【特許文献２】国際公開第２０１３／１０２９７５号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の仮想マシン管理システムは、ＶＭを配置するにあたり、サーバのリソース使用量に関する履歴を必要とするため、一度にサーバに配置できるＶＭの数が１つ乃至少数に限られている。また、特許文献２の仮想マシン管理装置は、負荷の周期性を考慮していないため、ＶＭの分散や集約に伴うサーバ間での移動が頻発し、移動に伴うオーバヘッドのためにＶＭの集約率が低下している。
【０００７】
このような状況にあって、複数のＶＭがリソースであるサーバを共有する仮想環境では、ＶＭが使用するリソース量をサーバが過不足なく提供し、かつ、サーバのリソース負荷が許容量を超えないように管理する技術が求められている。
【０００８】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、複数のＶＭをサーバ上で稼働したときに、各ＶＭに性能上の問題が発生しないかどうかを判定する情報を提供する仮想マシン組合せ判定装置を実現することにある。
【課題を解決するための手段】
【０００９】
本発明による仮想マシン組合せ判定装置は、処理手段と記憶手段とを有し、前記記憶手段は、１個以上のＶＭの１個以上の時間帯の負荷を表すＶＭ負荷テーブルと、１個以上の前記ＶＭの１個以上の前記時間帯の接続確率を表すＶＭ接続確率テーブルとを有し、前記処理手段は、与えられたＶＭ群の合計負荷を前記ＶＭ負荷テーブルに基づいて前記時間帯毎に算出する負荷合計部と、前記ＶＭ群に対してユーザが同時に接続する確率を表す同時接続確率を前記ＶＭ接続確率テーブルに基づいて前記時間帯毎に算出する同時接続確率算出部と、前記合計負荷と前記同時接続確率とを前記時間帯の等しさに基づいて結合することで、前記時間帯毎の前記合計負荷の大きさと負荷上昇確率とを表す負荷上昇確率テーブルを生成する負荷上昇確率テーブル生成部とを有する。
【００１０】
本発明による仮想マシン組合せ判定方法は、与えられたＶＭ群の合計負荷を、１個以上のＶＭの１個以上の時間帯の負荷を表すＶＭ負荷テーブルに基づいて前記時間帯毎に算出し、前記ＶＭ群に対してユーザが同時に接続する確率を表す同時接続確率を、１個以上の前記ＶＭの１個以上の前記時間帯の接続確率を表すＶＭ接続確率テーブルに基づいて前記時間帯毎に算出し、前記合計負荷と前記同時接続確率とを、前記時間帯の等しさに基づいて結合することで、前記時間帯毎の負荷の大きさと負荷上昇確率とを表す負荷上昇確率テーブルを生成する。
【００１１】
本発明による仮想マシン組合せ判定用プログラムは、与えられたＶＭ群の合計負荷を、１個以上のＶＭの１個以上の時間帯の負荷を表すＶＭ負荷テーブルに基づいて前記時間帯毎に算出する処理と、前記ＶＭ群に対してユーザが同時に接続する確率を表す同時接続確率を、１個以上の前記ＶＭの１個以上の前記時間帯の接続確率を表すＶＭ接続確率テーブルに基づいて前記時間帯毎に算出する処理と、前記合計負荷と前記同時接続確率とを、前記時間帯の等しさに基づいて結合することで、前記時間帯毎の負荷の大きさと負荷上昇確率とを表す負荷上昇確率テーブルを生成する処理とを実行させる。
【発明の効果】
【００１２】
本発明によれば、複数のＶＭをサーバ上で稼働したときに、各ＶＭに性能上の問題が発生しないかどうかを判定する情報を提供する仮想マシン組合せ判定装置を実現することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態の仮想マシン組合せ判定装置を示すブロック図である。
【図２】本発明の第１の実施形態の仮想マシン組合せ判定装置を示すブロック図である。
【図３】本発明の第１の実施形態の仮想マシン組合せ判定装置の処理を示すフローチャートである。
【図４】本発明の第２の実施形態の仮想マシン組合せ判定装置を示すブロック図である。
【図５】本発明の第２の実施形態の仮想マシン組合せ判定装置の処理を示すフローチャートである。
【図６】本発明の第３の実施形態の仮想マシン組合せ判定装置を示すブロック図である。
【図７】本発明の第３の実施形態の仮想マシン組合せ判定装置の処理を示すフローチャートである。
【図８】本発明の第１〜３の実施形態の仮想マシン組合せ判定装置のＶＭ負荷テーブルの例である。
【図９】本発明の第１〜３の実施形態の仮想マシン組合せ判定装置のＶＭ接続確率テーブルの例である。
【図１０】本発明の第１〜３の実施形態の仮想マシン組合せ判定装置の負荷上昇確率テーブルの例である。
【発明を実施するための形態】
【００１４】
以下、図を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
（第１の実施形態）
図１は、本発明の第１の実施形態の仮想マシン組合せ判定装置を示すブロック図である。本実施形態の仮想マシン組合せ判定装置１は、処理手段２と記憶手段３とを有する。前記記憶手段３は、１個以上の仮想マシン（ＶＭ）の１個以上の時間帯の負荷を表すＶＭ負荷テーブル３１と、１個以上の前記ＶＭの１個以上の前記時間帯の接続確率を表すＶＭ接続確率テーブル３２とを有する。前記処理手段２は、与えられたＶＭ群の合計負荷を前記ＶＭ負荷テーブル３１に基づいて前記時間帯毎に算出する負荷合計部２２と、前記ＶＭ群に対してユーザが同時に接続する確率を表す同時接続確率を前記ＶＭ接続確率テーブル３２に基づいて前記時間帯毎に算出する同時接続確率算出部２３とを有する。さらに、前記合計負荷と前記同時接続確率とを前記時間帯の等しさに基づいて結合することで、前記時間帯毎の前記合計負荷の大きさと負荷上昇確率とを表す負荷上昇確率テーブルを生成する負荷上昇確率テーブル生成部２４を有する。
【００１５】
本発明によれば、複数のＶＭをサーバ上で稼働したときに、各ＶＭに性能上の問題が発生しないかどうかを判定する情報を提供する仮想マシン組合せ判定装置を実現することができる。
【００１６】
以下、本実施形態についてさらに詳しく説明する。
【００１７】
図２は、本発明の第１の実施形態の仮想マシン組合せ判定装置を示すブロック図である。本実施形態の仮想マシン組合せ判定装置１は、処理手段２と記憶手段３とを有するコンピュータである。処理手段２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を有する。記憶手段３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）を有する。記憶手段３には、ＶＭ負荷テーブル３１やＶＭ接続確率テーブル３２が格納される。
【００１８】
ＶＭ負荷テーブル３１は、複数のＶＭに関し、各ＶＭの時間帯別の負荷を表すテーブルである。負荷は、ＣＰＵやメモリといったコンピュータリソースの使用量によって表現される。
【００１９】
図８は、本実施形態のＶＭ負荷テーブル３１の例である。図８は、Ａ、Ｂ、Ｃ、Ｄ、…をＩＤ（ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）とする管理対象のＶＭが、３つの時間帯、８時〜１２時、１２時〜１７時、１７時〜２２時に消費するＣＰＵの使用率を示す。なお、時間帯を特に区別せず、時間帯を１つだけとすることもできる。
【００２０】
本実施形態におけるＶＭは、デスクトップ仮想化やシンクライアントサービスにおいて、ユーザがネットワークを通じて接続し、仮想的なＰＣとして利用されることを想定している。また、仮想デスクトップと同様、スマートフォンのような携帯端末をＶＭとしてサーバ上に稼働させ、これをユーザの手もとの携帯端末から接続して利用する、仮想的なスマートフォンであってもよい。
【００２１】
ＶＭの負荷は、過去の履歴やユーザの行動分析等をもとに算出される。ある１つのＶＭを利用するのは、１人かあるいは少数の限られたユーザであり、ユーザの行動は一定の周期性を持つことを想定している。
【００２２】
例えば、あるＶＭを利用するユーザが１０時から１１時の時間帯に主に利用するアプリケーションが存在し、そのアプリケーションを利用した際のＣＰＵ使用率が３５％と事前にわかっている場合、ＶＭ負荷テーブル３１には、このＶＭの１０時から１１時のＣＰＵ使用率が３５％と記録されている。
【００２３】
また、例えば、ＶＭのＣＰＵ使用率に関する過去の履歴から、ユーザがＶＭを利用している際のＣＰＵ使用率の平均値が算出され、ＶＭ負荷テーブル３１に記録されていてもよい。なお、平均値に代えて、中央値やパーセンタイル値等の統計値を用いることもできる。
【００２４】
次に、ＶＭ接続確率テーブル３２は、各ＶＭの時間帯別の接続確率を表すテーブルである。ＶＭの接続確率も、負荷と同様、過去の履歴やユーザの行動分析等によって算出される。
【００２５】
例えば、あるＶＭの過去の履歴から、このＶＭを利用するユーザが１０時から１１時の間に接続する頻度が５日に１日であることが判明した場合、このＶＭの１０時から１１時の接続確率は１／５＝２０％と算出され、ＶＭ接続確率テーブル３２に記録される。
【００２６】
図９は、本実施形態のＶＭ接続確率テーブル３２の例である。図９は、管理対象のＶＭであるＡ、Ｂ、Ｃ、Ｄ、…に対して、３つの時間帯、８時〜１２時、１２時〜１７時、１７時〜２２時の間に、各ＶＭのユーザが接続してくる確率を示している。
【００２７】
図２に示すように、処理手段２は、ＶＭリスト取得部２１、負荷合計部２２、同時接続確率算出部２３、負荷上昇確率テーブル生成部２４、出力部２５を有する。処理手段２が有する各部は、それぞれ特定の機能を提供する構成要素であり、処理手段２のＣＰＵがプログラムを実行することにより実現される。プログラムは、典型的には、コンピュータの読み取り可能な記録媒体に記録されている。プログラムは、仮想マシン組合せ判定装置１に次の処理を実行させる。
【００２８】
図３は、本実施形態の仮想マシン組合せ判定装置１の処理を示すフローチャートである。図２及び図３を参照して、本実施形態の仮想マシン組合せ判定方法を説明する。
【００２９】
ＶＭリスト取得部２１は、組合せ対象となるＶＭのリストを外部から取得する（ステップＳ０１）。本実施形態の利用者は、サーバやＶＭ、データセンター等を管理する管理者である。リスト中のＶＭとしては、管理者が管理するＶＭ群の中から、その一部が選択される。ＶＭリスト取得部２１は、ネットワークやケーブルを通じて、前記管理者が係るサーバなどの装置からＶＭリストを取得することができる。
【００３０】
負荷合計部２２は、ＶＭ負荷テーブル３１に格納された管理対象のＶＭ群の中から、ＶＭリストに含まれるＶＭを選択し、選択したＶＭの負荷を合計する（ステップＳ０２）。ＶＭ負荷テーブル３１が複数の時間帯を持つ場合、合計値は時間帯別に算出される。
【００３１】
同時接続確率算出部２３は、ＶＭ接続確率テーブル３２に格納された管理対象のＶＭ群の中から、ＶＭリストに含まれるＶＭを選択し、選択したＶＭの同時接続確率を算出する（ステップＳ０３）。ＶＭ接続確率テーブル３２が複数の時間帯を持つ場合、同時接続確率も時間帯別に算出される。
【００３２】
例えば、あるＶＭ１と別のＶＭ２とを組み合わせる場合、ある時間帯のＶＭ１の接続確率が５０％であり、ＶＭ２の接続確率が３０％であったとすると、これらのＶＭが当該時間帯に同時に接続される確率は接続確率の積、すなわち０．５×０．３＝１５％と算出される。ＶＭが３つ以上の場合も同様である。
【００３３】
負荷上昇確率テーブル生成部２４は、負荷合計部２２が算出した時間帯別の負荷の合計値と、同時接続確率算出部２３が算出した時間帯別の同時接続確率とを、時間帯の等しさに基づいて結合することで、負荷上昇確率テーブルを生成する（ステップＳ０４）。
【００３４】
最後に出力部２５は、生成された負荷上昇確率テーブルを外部の出力装置４に出力する。
【００３５】
次に、さらに具体的に本実施形態を説明する。ＶＭ負荷テーブル３１として図８に示すテーブルと、ＶＭ接続確率テーブル３２として図９に示すテーブルとが、それぞれ記憶手段３に格納されているとする。
【００３６】
まず、ＶＭリスト取得部２１に、組合せ対象のＶＭとして、Ａ、Ｂ、Ｄが与えられるとする。
【００３７】
次に、負荷合計部２２は、図８のＶＭ負荷テーブル３１からＡ、Ｂ、Ｄの負荷データを選択し、時間帯ごとにＡ、Ｂ、Ｄの負荷を合計する。この場合、時間帯８時〜１２時の合計負荷（ＣＰＵ使用率）は、４０＋２０＋１５＝７５％となる。同様に、時間帯１２時〜１７時の合計負荷は６５％、時間帯１７時〜２２時の合計負荷は４０％と算出される。
【００３８】
一方、同時接続確率算出部２３は、図９のＶＭ接続確率テーブル３２からＡ、Ｂ、Ｄの接続確率データを選択し、時間帯ごとに同時接続確率を算出する。時間帯８時〜１２時のＡ、Ｂ、Ｄの同時接続確率は、０．５×０．１×０．３＝１．５％のように算出される。同様に、時間帯１２時〜１７時の同時接続確率は３２％、時間帯１７時〜２２時の同時接続確率は１．０％と算出される。
【００３９】
次に、負荷上昇確率テーブル生成部２４が、合計負荷と同時接続確率を時間帯ごとに結合する。図１０はその結合の結果である時間帯別負荷上昇確率を表すテーブルである。図１０のテーブルの上昇確率は、前記の同時接続確率と同じである。たとえば、時間帯８時〜１２時の列は、あるサーバ上でＶＭのＡ、Ｂ、Ｄを稼働させた場合、８時〜１２時の間にサーバのＣＰＵ使用率が７５％に上昇する確率が１．５％であることを意味している。
【００４０】
合計負荷と同時接続確率の時間帯は、必ずしも同一でなくてもよい。例えば、ＣＰＵ使用率の時間帯は区別されておらず、すなわち単一の時間帯の０時〜２４時とみなし、同時接続確率の時間帯は８時〜１２時、１２時〜１７時、１７時〜２２時の３つに区別されている場合、負荷上昇確率テーブルにおけるＣＰＵ使用率の行はすべて同じ値となる。一方で、負荷上昇確率は時間帯ごとの値となる。
【００４１】
最後に出力部２５が、生成した負荷上昇確率テーブルを、ディスプレイ等の外部の出力装置４に出力する。
【００４２】
以上のように、本実施形態によれば、複数のＶＭを組み合わせて同一のサーバ上で稼働する場合の負荷の大きさと負荷上昇確率の情報が提供される。これら負荷の大きさと上昇確率とを参照することにより、サーバやＶＭの管理者は、組み合わせたＶＭが性能問題を引き起こさないか、引き起こす場合の影響はどの程度かを判断することが可能となる。
【００４３】
すなわち、本実施形態によれば、複数のＶＭをサーバ上で稼働したときに、各ＶＭに性能上の問題が発生しないかどうかを判定する情報を提供する仮想マシン組合せ判定装置を実現することができる。
（第２の実施形態）
図４は、本発明の第２の実施形態の仮想マシン組合せ判定装置を示すブロック図である。本実施形態の仮想マシン組合せ判定装置１０は、第１の実施形態の仮想マシン組合せ判定装置１に、さらにＳＬＡ取得部２０６（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ）と、ＳＬＡ判定部２０７とを有する。他の構成要素は第１の実施形態と同じである。
【００４４】
すなわち、処理手段２０、記憶手段３０、ＶＭリスト取得部２０１、負荷合計部２０２、同時接続確率算出部２０３、負荷上昇確率テーブル生成部２０４、出力部２０５、ＶＭ負荷テーブル３０１、ＶＭ接続確率テーブル３０２は、各々、第１の実施形態の処理手段２、記憶手段３、ＶＭリスト取得部２１、負荷合計部２２、同時接続確率算出部２３、負荷上昇確率テーブル生成部２４、出力部２５、ＶＭ負荷テーブル３１、ＶＭ接続確率テーブル３２に相当する。
【００４５】
図５は、本実施形態の仮想マシン組合せ判定装置１０の処理を示すフローチャートである。ステップＳ１１〜ステップＳ１４は、図３の第１の実施形態のステップＳ０１〜ステップＳ０４と同じである。
【００４６】
ＳＬＡ取得部２０６は、サービスレベル契約（Ｓｅｒｖｉｃｅ  Ｌｅｖｅｌ  Ａｇｒｅｅｍｅｎｔ、ＳＬＡと略す）を外部から取得する（ステップＳ１５）。ＳＬＡ取得部２０６は、ネットワークやケーブルを通じて、他のサーバなどの装置からＳＬＡを取得することができる。ＳＬＡは、負荷の大きさと確率によって規定される。具体的には、時間帯Ｔ、リソースＲ、数値Ｂ、確率Ｐに対し、「時間帯Ｔにおいて、リソースＲの使用量がＢ以上となる確率がＰ以下であること」のような形式でＳＬＡが規定される。
【００４７】
さらに、ＳＬＡ判定部２０７が負荷上昇確率テーブルを参照し、組合せ対象であるＶＭがＳＬＡを満たすか否かを判定する（ステップＳ１６）。
【００４８】
最後に出力部２０５が判定結果を外部の出力装置４０に出力する。
【００４９】
次に、さらに具体的に本実施形態を説明する。本実施形態の処理では、第１の実施形態に加えて、さらに、ＳＬＡが「任意の時間帯において、ＣＰＵ使用率が７０％以上となる確率が２％以下」のように規定され、このＳＬＡをＳＬＡ取得部２０６が取得したとする。
【００５０】
ＳＬＡを取得すると、次にＳＬＡ判定部２０７が、図１０の時間帯別負荷上昇確率を参照しながら、ＶＭのＡ、Ｂ、Ｄの組合せがＳＬＡを満たすか否かを判定する。
【００５１】
まず、図１０のＣＰＵ使用率の行をみると、ＣＰＵ使用率が７０％を超える可能性があるのは、８時〜１２時の間だけとわかる。次にその上昇確率をみると、値は１．５％であり、ＳＬＡの２％を下回ることがわかる。これらの比較手続きにより、ＶＭのＡ、Ｂ、Ｄの組合せはＳＬＡを満たすと判定される。
【００５２】
もしここで、仮にＳＬＡが「ＣＰＵ使用率が７０％以上となる確率が１％以下」と規定されていれば、当該の組合せはＳＬＡに違反すると判定される。
【００５３】
出力部２０５は、判定結果をディスプレイ等の外部の出力装置４０に出力する。
【００５４】
以上のように、事前に規定されたＳＬＡに基づいてＶＭの組合せの可否を判定し、サーバやＶＭの管理者に判定結果を提供することにより、組み合わせたＶＭがＳＬＡを違反しないかどうかを判断することが可能となる。
【００５５】
すなわち、本実施形態によれば、複数のＶＭをサーバ上で稼働したときに、各ＶＭに性能上の問題が発生しないかどうかを判定する情報を提供する仮想マシン組合せ判定装置を実現することができる。
（第３の実施形態）
図６は、本発明の第３の実施形態の仮想マシン組合せ判定装置を示すブロック図である。本実施形態の仮想マシン組合せ判定装置１００は、第２の実施形態の仮想マシン組合せ判定装置１０の機能を有し、さらに、複数のＶＭと複数のサーバとが与えられたときに、各ＶＭの配置先サーバを決定するＶＭ配置機能を有する。
【００５６】
仮想マシン組合せ判定装置１００は、処理手段２００と記憶手段３００とを有する。処理手段２００は、配置対象ＶＭ取得部２００１、配置制御部２００２、出力部２００５を有する。配置制御部２００２は、その機能のひとつとしてＶＭ組合せ判定手段２００３を有する。
【００５７】
ＶＭ組合せ判定手段２００３は、第２の実施形態のＶＭリスト取得部２０１、負荷合計部２０２、同時接続確率算出部２０３、負荷上昇確率テーブル生成部２０４、ＳＬＡ取得部２０６、ＳＬＡ判定部２０７をモジュール化してこれらの機能を実現したものである。すなわち、ＶＭ組合せ判定手段２００３は、与えられたＶＭの組合せがＳＬＡを満たすか否かを判定する機能を有する。
【００５８】
記憶手段３００は、ＶＭ負荷テーブル３００１、ＶＭ接続確率テーブル３００２、さらにサーバ・ＶＭ対応表３００３を格納する。サーバ・ＶＭ対応表３００３は、管理対象のＶＭのそれぞれがどのサーバに配置されているか、または配置される予定かを示すＶＭとサーバとの対応を表す。
【００５９】
図７は、本実施形態の仮想マシン組合せ判定装置１００の処理を示すフローチャートである。図６及び図７を参照して、本実施形態の仮想マシン組合せ判定方法を説明する。
【００６０】
まず、配置対象ＶＭ取得部２００１は、配置対象となる１個以上のＶＭのリストを取得する（ステップＳ２１）。配置対象ＶＭ取得部２００１は、ネットワークやケーブルを通じて、外部のサーバなどの装置から配置対象のＶＭを特定するＩＤなどを取得することができる。
【００６１】
次に、配置制御部２００２は、配置対象のＶＭの配置先のサーバを１つずつ決定する。この手順は以下の通りである。
【００６２】
まず、配置制御部２００２は、取得した配置対象のＶＭのリストに、未配置のＶＭがあるか否かを判定する（ステップＳ２２）。未配置のＶＭがなければ（ステップＳ２２のＮｏ）、出力部２００５がその時点でのサーバ・ＶＭ対応表３００３を出力装置４００に出力し、処理を終了する（ステップＳ２７）。出力されるサーバ・ＶＭ対応表３００３は、配置結果や配置案、配置計画等と呼ぶことができる。
【００６３】
未配置のＶＭが存在する場合（ステップＳ２２のＹｅｓ）、配置制御部２００２は、未配置のＶＭの中から優先順位の高いＶＭを１つ選択する。このとき、ＶＭを選択する順序を事前に定めておいてもよい。例えば、リソース使用量や接続確率の大きなＶＭをそうでないＶＭよりも優先するとしておくことで、ＶＭの順序付けが可能となる。リソース使用量や接続確率は、ＶＭ負荷テーブル３００１やＶＭ接続確率テーブル３００２を参照することができる。便宜上、ここで選択した未配置のＶＭを「選択ＶＭ」と呼ぶ。
【００６４】
次に、選択ＶＭの配置先となるサーバを以下の処理で決定する。
【００６５】
まず、配置制御部２００２は、選択ＶＭの配置先として検討されていないサーバが存在するか否かを判定する（ステップＳ２３）。未検討のサーバが存在する場合（ステップＳ２３のＹｅｓ）、未検討サーバの内の１つを選択する。便宜上、ここで選択した未検討のサーバを「選択サーバ」と呼ぶ。なお、サーバの選択は任意でも良いが、例えば、サーバの負荷の状況に基づいて選択することもできる。
【００６６】
次に、配置制御部２００２は、選択サーバ上に配置された、または配置される予定の全ＶＭと、選択ＶＭとを併せて「ＶＭリスト」を作成する（ステップＳ２４）。
【００６７】
次に、ＶＭ組合せ判定手段２００３は、ＶＭリスト中のＶＭが組合せ可能か否かを判定する（ステップＳ２５）。ＶＭ組合せ判定手段２００３の判定処理は、第２の実施形態の仮想マシン組合せ判定装置１０の動作を行う。すなわち、ＶＭ組合せ判定手段２００３は、与えられたＶＭの組合せがＳＬＡを満たすか否かを判定する。
【００６８】
ＶＭリスト中のＶＭが、ＳＬＡに基づいて組合せ可能と判定されると（ステップＳ２５のＹｅｓ）、配置制御部２００２は、選択ＶＭを選択サーバに配置することを決定し、サーバ・ＶＭ対応表をそのように更新する（ステップＳ２６）。
【００６９】
他方、ＶＭリスト中のＶＭが、ＳＬＡに基づいて組合せ不可能と判定されると（ステップＳ２５のＮｏ）、ステップＳ２３に戻り、配置先として検討されていない別のサーバを選択し、以降を繰り返す。
【００７０】
別のサーバがない場合、すなわち既存のどのサーバにも選択ＶＭを配置できない場合は（ステップＳ２３のＮｏ）、新しいサーバを追加して、その新しいサーバへの選択ＶＭの配置を決定し、サーバ・ＶＭ対応表を更新する（ステップＳ２８）。このとき、前提として新しいサーバの追加が許されない場合は、配置に失敗した旨を出力して、全体の処理を終了してもよい。
【００７１】
以上に説明したように、本実施形態によれば、多数のＶＭをサーバ上に配置する際に、リソース使用量や接続確率の観点からＳＬＡを満たすＶＭとサーバの対応表が提供される。これより、集約効率の高いＶＭの配置計画を作成することが可能となる。
【００７２】
すなわち、本実施形態によれば、複数のＶＭをサーバ上で稼働したときに、各ＶＭに性能上の問題が発生しないかどうかを判定する情報を提供する仮想マシン組合せ判定装置を実現することができる。
【００７３】
本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で種々の変形が可能であり、それらも本発明の範囲内に含まれるものである。
【００７４】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００７５】
付記
（付記１）
処理手段と記憶手段とを有し、前記記憶手段は、１個以上の仮想マシン（以下、ＶＭと略す）の１個以上の時間帯の負荷を表すＶＭ負荷テーブルと、１個以上の前記ＶＭの１個以上の前記時間帯の接続確率を表すＶＭ接続確率テーブルと、を有し、前記処理手段は、与えられたＶＭ群の合計負荷を、前記ＶＭ負荷テーブルに基づいて前記時間帯毎に算出する負荷合計部と、前記ＶＭ群に対してユーザが同時に接続する確率を表す同時接続確率を、前記ＶＭ接続確率テーブルに基づいて前記時間帯毎に算出する同時接続確率算出部と、前記合計負荷と前記同時接続確率とを前記時間帯の等しさに基づいて結合することで、前記時間帯毎の前記合計負荷の大きさと負荷上昇確率とを表す負荷上昇確率テーブルを生成する負荷上昇確率テーブル生成部とを有する、仮想マシン組合せ判定装置。
（付記２）
前記負荷上昇確率と前記同時接続確率とは同じである、付記１記載の仮想マシン組合せ判定装置。
（付記３）
前記負荷上昇確率テーブルの前記時間帯毎における前記合計負荷の前記負荷上昇確率が、前記合計負荷が一定以上の大きさとなる前記同時接続確率が一定以下となることを規定したサービスレベル契約（ＳＬＡと略す）を、満たしているか否かを判定するＳＬＡ判定部を有する、付記１または２記載の仮想マシン組合せ判定装置。
（付記４）
未配置の前記ＶＭを１つ選択し、前記選択したＶＭの配置先サーバを１つ選択し、前記選択したＶＭと前記配置先サーバ上に既に配置されているＶＭとを併せたＶＭ群が前記ＳＬＡを満たすか否かを判定し、満たすと判定した場合、前記選択したＶＭの前記配置先サーバへの配置を決定する配置制御部を有する、付記３記載の仮想マシン組合せ判定装置。
（付記５）
前記負荷は、コンピュータリソースの使用量である、付記１から４の内の１項記載の仮想マシン組合せ判定装置。
（付記６）
前記負荷は、ＣＰＵ使用率である、付記１から５の内の１項記載の仮想マシン組合せ判定装置。
（付記７）
与えられたＶＭ群の合計負荷を、１個以上のＶＭの１個以上の時間帯の負荷を表すＶＭ負荷テーブルに基づいて前記時間帯毎に算出し、前記ＶＭ群に対してユーザが同時に接続する確率を表す同時接続確率を、１個以上の前記ＶＭの１個以上の前記時間帯の接続確率を表すＶＭ接続確率テーブルに基づいて前記時間帯毎に算出し、前記合計負荷と前記同時接続確率とを、前記時間帯の等しさに基づいて結合することで、前記時間帯毎の負荷の大きさと負荷上昇確率とを表す負荷上昇確率テーブルを生成する、仮想マシン組合せ判定方法。
（付記８）
前記負荷上昇確率と前記同時接続確率とは同じである、付記８記載の仮想マシン組合せ判定方法。
（付記９）
前記負荷上昇確率テーブルの前記時間帯毎における前記合計負荷の前記負荷上昇確率が、前記合計負荷が一定以上の大きさとなる前記同時接続確率が一定以下となることを規定したサービスレベル契約（ＳＬＡ）を、満たしているか否かを判定する、付記７または８記載の仮想マシン組合せ判定方法。
（付記１０）
未配置の前記ＶＭを１つ選択し、前記選択したＶＭの配置先サーバを１つ選択し、前記選択したＶＭと前記配置先サーバ上に既に配置されているＶＭとを併せたＶＭ群が前記ＳＬＡを満たすか否かを判定し、満たすと判定した場合、前記選択したＶＭの前記配置先サーバへの配置を決定する、付記９記載の仮想マシン組合せ判定方法。
（付記１１）
前記負荷は、コンピュータリソースの使用量である、付記７から１０の内の１項記載の仮想マシン組合せ判定方法。
（付記１２）
前記負荷は、ＣＰＵ使用率である、付記７から１１の内の１項記載の仮想マシン組合せ判定方法。
（付記１３）
与えられたＶＭ群の合計負荷を、１個以上のＶＭの１個以上の時間帯の負荷を表すＶＭ負荷テーブルに基づいて前記時間帯毎に算出する処理と、前記ＶＭ群に対してユーザが同時に接続する確率を表す同時接続確率を、１個以上の前記ＶＭの１個以上の前記時間帯の接続確率を表すＶＭ接続確率テーブルに基づいて前記時間帯毎に算出する処理と、前記合計負荷と前記同時接続確率とを、前記時間帯の等しさに基づいて結合することで、前記時間帯毎の負荷の大きさと負荷上昇確率とを表す負荷上昇確率テーブルを生成する処理と、を実行させる、仮想マシン組合せ判定用プログラム。
（付記１４）
前記負荷上昇確率と前記同時接続確率とは同じである、付記１３記載の仮想マシン組合せ判定用プログラム。
（付記１５）
前記負荷上昇確率テーブルの前記時間帯毎における前記合計負荷の前記負荷上昇確率が、前記合計負荷が一定以上の大きさとなる前記同時接続確率が一定以下となることを規定したサービスレベル契約（ＳＬＡ）を、満たしているか否かを判定する処理を実行させる、付記１３または１４記載の仮想マシン組合せ判定用プログラム。
（付記１６）
未配置の前記ＶＭを１つ選択し、前記選択したＶＭの配置先サーバを１つ選択し、前記選択したＶＭと前記配置先サーバ上に既に配置されているＶＭとを併せたＶＭ群が前記ＳＬＡを満たすか否かを判定し、満たすと判定した場合、前記選択したＶＭの前記配置先サーバへの配置を決定する処理を実行させる、付記１５記載の仮想マシン組合せ判定用プログラム。
（付記１７）
前記負荷は、コンピュータリソースの使用量である、付記１３から１６の内の１項記載の仮想マシン組合せ判定用プログラム。
（付記１８）
前記負荷は、ＣＰＵ使用率である、付記１３から１７の内の１項記載の仮想マシン組合せ判定用プログラム。
【符号の説明】
【００７６】
１、１０、１００    仮想マシン組合せ判定装置
２、２０、２００    処理手段
２１、２０１    ＶＭリスト取得部
２２、２０２    負荷合計部
２３、２０３    同時接続確率算出部
２４、２０４    負荷上昇確率テーブル生成部
２５、２０５、２００５    出力部
２０６    ＳＬＡ取得部
２０７    ＳＬＡ判定部
２００１    配置対象ＶＭ取得部
２００２    配置制御部
２００３    ＶＭ組合せ判定手段
３、３０、３００    記憶手段
３１、３０１、３００１    ＶＭ負荷テーブル
３２、３０２、３００２    ＶＭ接続確率テーブル
３００３    サーバ・ＶＭ対応表
４、４０、４００    出力装置
【図１】
2015207180.tif 000003
【図２】
2015207180.tif 000004
【図３】
2015207180.tif 000005
【図４】
2015207180.tif 000006
【図５】
2015207180.tif 000007
【図６】
2015207180.tif 000008
【図７】
2015207180.tif 000009
【図８】
2015207180.tif 000010
【図９】
2015207180.tif 000011
【図１０】
2015207180.tif 000012