(57)【要約】  リソース制約を満たす仮想マシン配置案を探索して列挙する仮想マシン配置案探索部１と、各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションが稼働状態にある確率を示す可用性を求めるための可用性モデルを生成する可用性モデル合成部２と、可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算するアプリケーション可用性評価部３と、可用性評価値に基づいて各仮想マシン配置案を順位付けして、アプリケーションに適用する仮想マシン配置案を決定する仮想マシン配置ランキング部４とを含む。
2014181495.tif 000002
【特許請求の範囲】
【請求項１】
リソース制約を満たす仮想マシン配置案を探索して列挙する仮想マシン配置案探索部と、
各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションが稼働状態にある確率を示す可用性を求めるための可用性モデルを生成する可用性モデル合成部と、
前記可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算するアプリケーション可用性評価部と、
前記可用性評価値に基づいて各仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定する仮想マシン配置ランキング部とを含む
ことを特徴とする仮想マシン配置決定装置。
【請求項２】
可用性モデル合成部は、
アプリケーションの構成情報に基づいて、未確定の構成要素を含む可用性モデルのひな形を生成する可用性モデルひな形生成部と、
仮想マシン配置案をもとに仮想マシンを配置するホストを特定し、当該ホストに関する情報を可用性モデルのひな形に代入する配置ホスト代入部とを含む
請求項１に記載の仮想マシン配置決定装置。
【請求項３】
可用性モデルひな形生成部は、どの仮想マシンを稼働させるかが未定であるホストを表す未定ホストブロックを用いて、信頼性ブロック図のひな形を生成する
請求項２に記載の仮想マシン配置決定装置。
【請求項４】
可用性モデルひな形生成部は、どの仮想マシンを稼働させるかが未定であるホストの障害イベントを表す未定ホスト障害イベントを用いて、故障木のひな形を生成する
請求項２に記載の仮想マシン配置決定装置。
【請求項５】
可用性モデルひな形生成部は、どの仮想マシンを稼働させるかが未定であるホストの障害／復旧状態遷移モデルを用いて、アプリケーションシステムの障害／復旧状態遷移モデルのひな形を生成する
請求項２に記載の仮想マシン配置決定装置。
【請求項６】
各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションの性能特性を評価するための性能モデルを生成する性能モデル合成部と、
前記性能モデルを解析して、各仮想マシン配置案により構築されるアプリケーションシステムの性能特性を示す性能特性評価値を計算するアプリケーション性能評価部とを含み、
仮想マシン配置ランキング部は、効用関数を用いて、可用性評価値と前記性能特性評価値とから効用値を計算し、前記効用値に基づいて仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定する
請求項１から請求項５のうちのいずれか１項に記載の仮想マシン配置決定装置。
【請求項７】
一定の条件に基づいて、仮想マシン配置案探索部における探索処理を打ち切る探索打ち切り部を含み、
アプリケーション可用性評価部は、前記探索処理が打ち切られた時点で得られた仮想マシン配置案を対象として可用性評価をする
請求項１から請求項６のうちのいずれか１項に記載の仮想マシン配置決定装置。
【請求項８】
一定の条件に基づいて、アプリケーション可用性評価部における評価処理を打ち切る評価打ち切り部を含み、
仮想マシン配置ランキング部は、前記評価処理が打ち切られた時点で得られた評価結果に基づいて仮想マシン配置案を順位付けする
請求項１から請求項７のうちのいずれか１項に記載の仮想マシン配置決定装置。
【請求項９】
リソース制約を満たす仮想マシン配置案を探索して列挙し、
各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションが稼働状態にある確率を示す可用性を求めるための可用性モデルを生成し、
前記可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算し、
前記可用性評価値に基づいて各仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定する
ことを特徴とする仮想マシン配置決定方法。
【請求項１０】
コンピュータに、
リソース制約を満たす仮想マシン配置案を探索して列挙する処理と、
各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションが稼働状態にある確率を示す可用性を求めるための可用性モデルを生成する処理と、
前記可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算する処理と、
前記可用性評価値に基づいて各仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定する処理とを実行させる
ための仮想マシン配置決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン配置決定装置、仮想マシン配置決定方法および仮想マシン配置決定プログラムに関し、特に仮想マシンによって構成されるアプリケーションシステムの可用性を高める仮想マシン配置を決定できる仮想マシン配置決定装置、仮想マシン配置決定方法および仮想マシン配置決定プログラムに関する。
【背景技術】
【０００２】
近年、仮想マシンを用いたアプリケーションシステムの構築例が増えている。仮想マシンの利用によってシステムの柔軟性や効率が高まる一方で、可用性や信頼性の低下が懸念されている。ミッションクリティカルなアプリケーションシステムでは、仮想マシンを用いた場合でも従来システムと同等の可用性が求められる。ここで可用性とは、システムが利用可能である確率を表している。例えば、アプリケーションシステムが９９．９９％の可用性を実現するとき、１年間でシステムを利用できない確率は０．０１％であり、年間で約５２分（＝６０分＊２４＊３６５＊０．０００１）のダウンタイムに相当する。一般的に、システムの可用性は、システムの平均故障間隔（ＭＴＴＦ）と、故障時の平均復旧間隔（ＭＴＴＲ）とを用いて以下の式で算出される。【０００３】
可用性＝ＭＴＴＦ／（ＭＴＴＦ＋ＭＴＴＲ）  ・・・（式１）【０００４】
平均故障間隔と平均復旧間隔は、アプリケーションシステムを構成するコンポーネントの壊れやすさや交換のしやすさなどによって決まる。そのため、可用性を評価する上では、アプリケーションシステムの構成を把握することが重要となる。【０００５】
仮想マシンを用いてアプリケーションシステムを構成する場合、アプリケーションシステムの可用性は、仮想マシンの配置方法に大きく依存する。仮想マシンの配置方法とは、アプリケーションシステムを構成する各仮想マシンを、どの物理サーバ上で動かすかを決定する方法のことである。例えば、２台の仮想マシンで冗長構成をとるアプリケーションシステムでは、２台の仮想マシンを同じ物理サーバに配置する方法と、異なる物理サーバに配置する方法がある。配置方法の違いは、アプリケーションシステムの可用性に影響を与える。一般的には、１つの物理サーバ障害によって複数の仮想マシンが同時故障した場合にもアプリケーションシステムの可用性が維持されるように、異なる物理サーバ上に仮想マシンを分散配置する方法がとられる。特許文献１には、冗長化した仮想サーバを異なる物理サーバ上に配置するという制約を与えて仮想サーバ配置を決定することにより、アプリケーションシステムの高可用性を実現する方法が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５０３５０１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、冗長化された仮想サーバ（仮想マシン）が３台以上ある場合や、物理サーバの信頼性がそれぞれ異なる場合には、特許文献１に記載されているような単純な配置ルールだけではアプリケーションシステムの高可用性を実現できない可能性がある。例えば、非常に信頼性の高い物理サーバと信頼性の低い物理サーバがあった場合に、仮想サーバを分散配置する方法が、アプリケーションシステムの可用性を必ずしも向上させるとは限らない。また、例えば、６台の仮想マシンで冗長化されているアプリケーションシステムにおいて、仮想マシンを２台ずつ３台の物理サーバに配置する場合と、仮想マシンを３台ずつ２台の物理サーバに配置する場合とで、どちらの場合に可用性が高くなるかを判断することは難しい。さらに、アプリケーションシステムを構成する要素が、呼び出し関係や補完関係（冗長化）を持って互いに依存して構成されている場合に、どの構成要素を組み合わせて物理サーバへ配置すれば可用性を最大化できるかを判断することは難しい。【０００８】
つまり、仮想マシンを用いてアプリケーションシステムを構成する場合には、以下のような問題がある。【０００９】
第１の問題点は、冗長化された仮想マシンを分散配置するという単純なルールでは、仮想マシンを用いて構成されるアプリケーションシステムの可用性の観点で最適な配置を決定できないことである。その理由は、冗長な仮想サーバが３台以上の場合や配置先の物理サーバの信頼性が異なる場合、アプリケーションシステムの可用性が、分散配置によって必ずしも最大化されるとは限らないためである。【００１０】
第２の問題点は、複数のコンポーネントの組み合わせで構成されるアプリケーションシステムに対して、アプリケーションシステム全体の可用性の観点で最適な仮想マシン配置を決定することが難しいことである。その理由は、冗長構成のみを考慮した配置方式では、各アプリケーションコンポーネントの信頼性やコンポーネント間の接続関係が信頼性に与える影響が考慮されないためである。【００１１】
そこで、本発明は、仮想マシンを用いて構成されるアプリケーションシステムの可用性をより向上させることができる仮想マシン配置を決定する仮想マシン配置決定装置、仮想マシン配置決定方法および仮想マシン配置決定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明による仮想マシン配置決定装置は、リソース制約を満たす仮想マシン配置案を探索して列挙する仮想マシン配置案探索部と、各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションが稼働状態にある確率を示す可用性を求めるための可用性モデルを生成する可用性モデル合成部と、可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算するアプリケーション可用性評価部と、可用性評価値に基づいて各仮想マシン配置案を順位付けして、アプリケーションに適用する仮想マシン配置案を決定する仮想マシン配置ランキング部とを含むことを特徴とする。【００１３】
本発明による仮想マシン配置決定方法は、リソース制約を満たす仮想マシン配置案を探索して列挙し、各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションが稼働状態にある確率を示す可用性を求めるための可用性モデルを生成し、可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算し、可用性評価値に基づいて各仮想マシン配置案を順位付けして、アプリケーションに適用する仮想マシン配置案を決定することを特徴とする。【００１４】
本発明による仮想マシン配置決定プログラムは、コンピュータに、リソース制約を満たす仮想マシン配置案を探索して列挙する処理と、各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションが稼働状態にある確率を示す可用性を求めるための可用性モデルを生成する処理と、可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算する処理と、可用性評価値に基づいて各仮想マシン配置案を順位付けして、アプリケーションに適用する仮想マシン配置案を決定する処理とを実行させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、仮想マシンを用いて構成されるアプリケーションシステムの可用性をより向上させることができる仮想マシン配置を決定することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明による仮想マシン配置決定装置の第１の実施形態の構成を示すブロック図である。
【図２】第１の実施形態における可用性モデル合成部の内部構成を示すブロック図である。
【図３】仮想マシン配置決定装置の第１の実施形態の動作を示すフローチャートである。
【図４】第１の実施形態における可用性モデルのひな形の一例を示す説明図である。
【図５】アプリケーションシステムの構成の一例を示す説明図である。
【図６】仮想マシン配置対象のホストマシンの情報の一例を示す説明図である。
【図７】仮想マシン配置案の一例を示す説明図である。
【図８】Ｗｅｂアプリケーションシステムの構成から導出された信頼性ブロック図のひな形の一例を示す説明図である。
【図９】仮想マシン配置案に対応して合成された可用性モデルの一例を示す説明図である。
【図１０】可用性評価のためのパラメタ情報の一例を示す説明図である。
【図１１】各仮想マシン配置案に対する可用性評価結果の一例を示す説明図である。
【図１２】本発明による仮想マシン配置決定装置の第２の実施形態の構成を示すブロック図である。
【図１３】仮想マシン配置決定装置の第２の実施形態の動作を示すフローチャートである。
【図１４】第２の実施形態における待ち行列ネットワークによる性能モデルの一例を示す説明図である。
【図１５】本発明による仮想マシン配置決定装置の第３の実施形態の構成を示すブロック図である。
【図１６】本発明による仮想マシン配置決定装置の概要を示すブロック図である。
【発明を実施するための形態】
【００１７】
実施形態１．
以下、本発明の第１の実施形態を図面を参照して説明する。
【００１８】
図１は、本発明による仮想マシン配置決定装置の第１の実施形態の構成を示すブロック図である。図１に示すように、第１の実施形態における仮想マシン配置決定装置（仮想マシン配置決定装置１００）は、仮想マシン配置案探索部１０１と、可用性モデル合成部１０２と、アプリケーション可用性評価部１０３と、仮想マシン配置ランキング部１０４と、リソース制約格納部１０５と、アプリケーション構成情報格納部１０６と、可用性評価パラメタ格納部１０７とを含む。
【００１９】
仮想マシン配置案探索部１０１は、コンピュータの入力装置によって入力された仮想マシン配置要求を受け取り、リソース制約格納部１０５に格納されたリソース制約を参照して、仮想マシン配置案、すなわち仮想マシン配置の候補を探索して列挙する。
【００２０】
可用性モデル合成部１０２は、アプリケーション構成情報格納部１０６に格納されたアプリケーションシステムの構成情報（以下、アプリケーション構成情報という。）を参照して、与えられた仮想マシン配置案に対する可用性モデルを合成する。なお、可用性モデルを合成することは、可用性モデルを生成するとも言える。
【００２１】
図２は、第１の実施形態における可用性モデル合成部１０２の内部構成を示すブロック図である。図２に示すように、可用性モデル合成部１０２は、アプリケーション構成情報取得部１１１と、可用性モデルひな形生成部１１２と、可用性モデルひな形格納部１１３と、配置ホスト代入部１１４とを含む。
【００２２】
アプリケーション構成情報取得部１１１は、アプリケーション構成情報格納部１０６に格納されたアプリケーション構成情報を取得する。
【００２３】
可用性モデルひな形生成部１１２は、アプリケーションシステムの構成のみに基づいた可用性モデルのひな形（以下、可用性モデルひな形という。）を作成して、可用性モデルひな形格納部１１３に格納する。
【００２４】
可用性モデルひな形格納部１１３は、可用性モデルひな形を記憶する。
【００２５】
配置ホスト代入部１１４は、仮想マシン配置案から各仮想マシンに対するホストマシン（以下、単にホストという。）を特定して、可用性モデルのひな形にホスト情報を与える。ホスト情報は、仮想マシンと、当該仮想マシンの配置対象のホストとの対応を示す情報である。
【００２６】
アプリケーション可用性評価部１０３は、可用性評価パラメタ格納部１０７に格納された可用性評価のためのパラメタ情報（以下、可用性評価パラメタ情報という。）を参照して、与えられた可用性モデルを評価してアプリケーションシステムの可用性を計算する。
【００２７】
仮想マシン配置ランキング部１０４は、各仮想マシン配置案を、算出された可用性の値（以下、可用性評価値という。）でスコアづけして順位付け（ランキング）し、最も高いスコアを達成した仮想マシン配置案を出力する。
【００２８】
リソース制約格納部１０５は、リソース制約情報を記憶する。リソース制約情報は、例えば、仮想マシンが必要とするリソース量や、物理サーバが搭載するリソース量を示す情報を含む。
【００２９】
アプリケーション構成情報格納部１０６は、アプリケーション構成情報を記憶する。
【００３０】
可用性評価パラメタ格納部１０７は、可用性評価パラメタ情報を記憶する。
【００３１】
このような構成により、仮想マシン配置決定装置１００は、仮想マシン配置案に対して可用性モデルを合成して可用性を評価し、最も可用性評価値が高い仮想マシン配置案を選択する。それにより、仮想マシン配置決定装置１００は、３台以上の冗長仮想マシンがある場合やホストの信頼性が異なる場合にも、アプリケーションシステムの可用性をより向上させることができる仮想マシン配置を決定することができる。
【００３２】
なお、仮想マシン配置案探索部１０１、可用性モデル合成部１０２（アプリケーション構成情報取得部１１１、可用性モデルひな形生成部１１２および配置ホスト代入部１１４）、アプリケーション可用性評価部１０３および仮想マシン配置ランキング部１０４は、例えば、仮想マシン配置決定プログラムに従って動作するコンピュータによって実現される。この場合、ＣＰＵが仮想マシン配置決定プログラムを読み込み、そのプログラムに従って、仮想マシン配置案探索部１０１、可用性モデル合成部１０２（アプリケーション構成情報取得部１１１、可用性モデルひな形生成部１１２および配置ホスト代入部１１４）、アプリケーション可用性評価部１０３および仮想マシン配置ランキング部１０４として動作する。また、仮想マシン配置案探索部１０１、可用性モデル合成部１０２（アプリケーション構成情報取得部１１１、可用性モデルひな形生成部１１２および配置ホスト代入部１１４）、アプリケーション可用性評価部１０３および仮想マシン配置ランキング部１０４が別々のハードウェアで実現されていてもよい。
【００３３】
リソース制約格納部１０５、アプリケーション構成情報格納部１０６、可用性評価パラメタ格納部１０７および可用性モデル合成部１０２における可用性モデルひな形格納部１１３は、具体的には、仮想マシン配置決定装置１００が備える光ディスク装置や磁気ディスク装置、メモリ等の記憶装置によって実現される。
【００３４】
次に、本実施形態の動作を説明する。
【００３５】
図３は、仮想マシン配置決定装置の第１の実施形態の動作を示すフローチャートである。
【００３６】
まず、仮想マシン配置案探索部１０１は、仮想マシン配置要求を入力する（ステップＡ１）。本実施形態では、仮想マシン配置要求として、利用者が配置を決定したい仮想マシンのリストおよび配置対象となるホストのリストを入力する。ここでは、ホストがサーバ装置である場合を例にする。
【００３７】
仮想マシン配置案探索部１０１は、リソース制約格納部１０５に格納されたリソース制約情報を参照し、各仮想マシンが必要とするリソース量と、各ホストに搭載されているリソース量とを取得する（ステップＡ２）。なお、これらの情報は、仮想マシン配置要求の一部であってもよい。すなわち、ステップＡ１において、仮想マシン配置案探索部１０１が、これらの情報を含む仮想マシン配置要求を入力するようにしてもよい。
【００３８】
仮想マシン配置案探索部１０１は、取得したリソースの情報に基づき、各仮想マシンにより要求されるリソースがホストサーバへの配置によって全て満たされるように、仮想マシン配置案を探索する（ステップＡ３）。ここで、探索の結果得られた仮想マシン配置案をＰ＝｛ｐ０，ｐ１，…，ｐｎ｝とする。仮想マシン配置案探索部１０１は、仮想マシン配置案を可用性モデル合成部１０２に出力する。
【００３９】
可用性モデル合成部１０２は、各仮想マシン配置案ｐｉ（０≦ｉ≦ｎ）に対して、ステップＡ５〜Ａ８の処理を実行して、可用性モデルを合成する（ステップＡ４）。
【００４０】
まず、可用性モデル合成部１０２のアプリケーション構成情報取得部１１１は、アプリケーション構成情報格納部１０６に格納されたアプリケーション構成情報を取得する（ステップＡ５）。アプリケーション構成情報には、例えば、仮想マシンとして稼働させる必要があるアプリケーションのコンポーネントと、コンポーネント間の接続関係を示す情報が含まれる。
【００４１】
コンポーネント間の接続関係は、例えば、呼び出し関係や、冗長化関係である。可用性モデルひな形生成部１１２は、アプリケーション構成情報に基づき、可用性モデルのひな形を生成して、可用性モデルひな形格納部１１３に格納する。図４は、第１の実施形態における可用性モデルひな形の一例を示す説明図である。
【００４２】
図４に示す例では、アプリケーションは、コンポーネントＡ、コンポーネントＢ、コンポーネントＣから構成されている。そして、コンポーネントＡとコンポーネントＢとが冗長化関係にあり、コンポーネントＡとコンポーネントＢのペアに対してコンポーネントＣが呼び出し関係にある。各コンポーネントは、仮想マシンとして何れかのホストに配置される必要がある。しかし、各コンポーネントをどのホストに配置するかは未定である。このように、ホストの割り当てが定まっていないアプリケーションの可用性モデルを、ひな形と定義する。図４に示すように、本実施形態では、ホストの割り当てが定まっていない部分（以下、未定ホストブロックという。）、つまり未確定の構成要素を点線で表す。
【００４３】
配置ホスト代入部１１４は、仮想マシン配置案ｐｉに対する可用性モデルを合成する（ステップＡ６）。具体的には、配置ホスト代入部１１４は、各仮想マシン配置案から仮想マシンの配置対象のホストを特定し、可用性モデルひな形の中の未定ホストブロックにホスト情報を代入する。
【００４４】
次に、アプリケーション可用性評価部１０３は、可用性評価パラメタ格納部１０７から可用性評価パラメタ情報を取得する（ステップＡ７）。可用性評価パラメタ情報は、少なくとも各コンポーネントおよび各ホストの平均故障間隔と平均復旧時間を示す情報を含む。アプリケーション可用性評価部１０３は、可用性評価パラメタ情報を入力として、仮想マシン配置案ｐｉに対する可用性モデルを評価し、可用性評価値を算出する（ステップＡ８）。このとき、アプリケーション可用性評価部１０３は、ステップＡ６で合成した可用性モデルに対する一般的な評価手段を用いる。例えば、図４に示すモデルは信頼性ブロック図（ＲＢＤ）として構成されているため、アプリケーション可用性評価部１０３は、信頼性ブロック図によってシステム全体の可用性を求めるための計算手法（確率の掛け算）を評価手段として用いればよい。
【００４５】
仮想マシン配置決定装置１００は、ステップＡ５〜Ａ８の可用性モデルの合成と評価を全ての仮想マシン配置案に対して実行する（ステップＡ９）。その後、仮想マシン配置ランキング部１０４は、算出された各可用性評価値に基づいて、仮想マシン配置案をランキングする（ステップＡ１０）。仮想マシン配置ランキング部１０４は、ランキングの結果に基づいて、最も可用性評価値が高い仮想マシン配置案を出力する（ステップＡ１１）。
【００４６】
次に、具体例を用いて、本実施形態の動作を説明する。
【００４７】
図５は、アプリケーション構成情報、具体的には、Ｗｅｂアプリケーションの構成情報の一例を示す説明図である。ここでは、仮想マシン配置決定装置１００が、仮想マシン配置案に基づいて、図５に示すＷｅｂアプリケーションの各コンポーネント（サーバ）を複数のホスト（物理サーバ）に配置して、Ｗｅｂアプリケーションシステムを構築する場合を例にする。
【００４８】
Ｗｅｂアプリケーション（Ｗｅｂアプリケーションシステム）は、２つのＷｅｂアプリケーションサーバ（Ｗｅｂ／ＡＰ１およびＷｅｂ／ＡＰ２）と、２つのデータベース（ＤＢ）サーバ（ＤＢ１およびＤＢ２）とを含む。また、Ｗｅｂアプリケーションシステムを稼働させるためには、少なくとも１つのＷｅｂアプリケーションサーバとＤＢサーバが稼働している必要があるとする。
【００４９】
ここで、これらのサーバを仮想マシンとして稼働させて、物理サーバに配置する方法を検討する。
【００５０】
図６は、仮想マシンの配置対象として利用可能な物理サーバのリストの一例を示す説明図である。図６には、４台の物理サーバ（ｈｏｓｔ１〜４）が例示されている。ｈｏｓｔ１とｈｏｓｔ２は、高信頼サーバであって、サーバ装置としての信頼性が高い。ｈｏｓｔ３とｈｏｓｔ４は、標準的な物理サーバである。これらの情報は、例えば、利用者等により、仮想マシン配置要求の一部として、仮想マシン配置決定装置１００、具体的には、仮想マシン配置決定装置１００の仮想マシン配置案探索部１０１に入力される。
【００５１】
仮想マシン配置案探索部１０１は、仮想マシン配置要求を入力すると、図６に示すリストと、リソース制約情報とに基づいて、仮想マシン配置案を探索する。ここでは、リソース制約として、「物理サーバに配置可能な仮想マシンは最大２つまで」という制約が与えられているとする。図７は、この制約に基づく探索の結果得られた仮想マシン配置案の一例を示す説明図である。例えば、図７に示す配置案１は、ＤＢ１をｈｏｓｔ１に、ＤＢ２をｈｏｓｔ２に、Ｗｅｂ／ＡＰ１をｈｏｓｔ３に、Ｗｅｂ／ＡＰ２をｈｏｓｔ４に配置する案を表す。
【００５２】
次に、仮想マシン配置決定装置１００は、得られた仮想マシン配置案に対して可用性モデルを合成する。
【００５３】
まず、可用性モデル合成部１０２は、アプリケーション構成情報に基づいて、可用性モデルのひな形を作成する。可用性モデル合成部１０２は、例えば、図５に示すＷｅｂアプリケーションシステムの構成を、図８に示すような信頼性ブロック図のひな形として表現する。図８は、Ｗｅｂアプリケーションシステムの構成から導出された信頼性ブロック図のひな形の一例を示す説明図である。図８に示す信頼性ブロック図では、Ｗｅｂ／ＡＰサーバクラスタとＤＢクラスタとが呼び出し構造にあり、各クラスタが２台の仮想サーバで構成されている。各仮想サーバは、何れかの物理サーバ（ホスト）上で動作する。しかし、各仮想サーバをどのホスト上で稼働するかは未定である。
【００５４】
可用性モデル合成部１０２の配置ホスト代入部１１４は、仮想マシン配置案に基づいて、可用性モデルを合成する。具体的には、配置ホスト代入部１１４は、仮想マシン配置案ごとに、未定のホスト（どの仮想サーバを稼働させるかが未定であるホスト）に配置する仮想サーバを決定する。図７に示す各仮想マシン配置案に対応して得られる信頼性ブロック図（合成された可用性モデル）を、図９に示す。図９は、仮想マシン配置案に対応して合成された可用性モデルの一例を示す説明図である。
【００５５】
配置案２に対する信頼性ブロック図では、図９に示すように、ｈｏｓｔ２のブロックが２つ現れる。この２つのブロックは、同一のシステム構成要素、すなわちｈｏｓｔ２に対応していて、ミラーブロックと呼ばれる。ミラーブロックは、可用性計算の際に１つの構成要素として扱う必要がある。つまり、アプリケーション可用性評価部１０３は、ｈｏｓｔ２が故障するときに２つのブロックが同時に失われることを考慮して、Ｗｅｂアプリケーションシステムの可用性を計算する。
【００５６】
仮想マシン配置案に対する可用性モデルが合成されると、アプリケーション可用性評価部１０３は、可用性評価を行う。この際、可用性評価パラメタ格納部１０７に格納された可用性評価パラメタ情報が必要となる。図１０は、可用性評価パラメタ情報の一例を示す説明図である。図１０に示す可用性評価パラメタ情報は、各構成要素に対応する平均故障時間（ＭＴＴＦ）と平均復旧時間（ＭＴＴＲ）を表す。
【００５７】
アプリケーション可用性評価部１０３は、平均故障時間と平均復旧時間の値をもとに、式１から各コンポーネント（Ｗｅｂ／ＡＰ１，Ｗｅｂ／ＡＰ２，ＤＢ１，ＤＢ２）の可用性を算出する。アプリケーション可用性評価部１０３は、算出した各コンポーネントの可用性を示す値（可用性評価値）を可用性モデルに与え、可用性モデルを解析することにより、Ｗｅｂアプリケーションシステム全体の可用性を算出する。可用性モデルが信頼性ブロック図である場合は、アプリケーション可用性評価部１０３は、信頼性ブロック図を解析する標準的な手段に従って、Ｗｅｂアプリケーションシステム全体の可用性を計算すればよい。例えば、図９に示す配置案１に対する信頼性ブロック図から、Ｗｅｂアプリケーションシステム全体の可用性Ａ＿ｓｙｓを求める場合、Ａ＿ｓｙｓは、以下の式により算出される。
【００５８】
Ａ＿ｓｙｓ＝｛１−（１−Ａ＿ｗ１＊Ａ＿ｈ３）＊（１−Ａ＿ｗ２＊Ａ＿ｈ４）｝＊｛１−（１−Ａ＿ｄ１＊Ａ＿ｈ１）＊（１−Ａ＿ｄ２＊Ａ＿ｈ２）｝
【００５９】
ただし、Ａ＿ｗ１，Ａ＿ｗ２，Ａ＿ｄ１，Ａ＿ｄ２，Ａ＿ｈ１，Ａ＿ｈ２，Ａ＿ｈ３，Ａ＿ｈ４は、Ｗｅｂ／ＡＰ１，Ｗｅｂ／ＡＰ２，ＤＢ１，ＤＢ２，ｈｏｓｔ１，ｈｏｓｔ２，ｈｏｓｔ３，ｈｏｓｔ４の可用性をそれぞれ表す。
【００６０】
このように可用性モデルを評価することにより、仮想マシン配置案毎に異なるアプリケーションシステムの可用性を定量的に求めることができる。図１１は、図７に示す各配置案に対応する可用性評価結果の一例を示す説明図である。図１１に示す結果から、３つの配置案の中では配置案３がアプリケーションシステムの可用性を最大化することが確かめられる。従来の分散配置法、すなわち異なる物理サーバ上に仮想マシンを分散配置する方法を用いた場合には、配置案１が選択されてしまうため、可用性の観点で最も良い配置案を選ぶことができない。これに対し、本実施形態では、仮想マシン配置ランキング部１０４が可用性評価結果に基づいて仮想マシン配置案をランキングするため、最終的に最も高い可用性を達成する仮想マシン配置案を選ぶことができる。
【００６１】
以上に説明したように、本実施形態では、仮想マシン配置案探索部が、仮想マシン配置要求に対してリソースの制約を満たす仮想マシン配置案を探索して列挙する。そして、可用性モデル合成部が、各仮想マシン配置案に対して可用性モデルを合成して、アプリケーション可用性評価部が、合成された可用性モデルを評価する。そして、仮想マシン配置ランキング部が、可用性評価値が最も高い仮想マシン配置案を出力する。そのような構成により、アプリケーションシステムの可用性をより向上させることができる仮想マシン配置案を決定し、出力することができる。すなわち、可用性の観点で最適ではない配置案を出力することを回避することができる。
【００６２】
それに対して、特許文献１に記載されているような分散配置法に従って仮想マシン配置を決定するシステムでは、可用性の観点で最適ではない配置案が出力される可能性がある。
【００６３】
なお、本実施形態では、可用性モデルひな形生成部１１２が信頼性ブロック図のひな形を構成する場合、つまり、稼働しているコンポーネントに着目してシステム（アプリケーションシステム）の可用性を算出する場合について説明した。一方、可用性モデルひな形生成部１１２は、どの仮想マシンを稼働させるかが未定であるホストの障害イベントを表す未定ホスト障害イベントを入力要素として、故障木のひな形を構成するようにしてもよい。
【００６４】
故障木は、システムを構成するコンポーネントの故障イベントを入力として、システム全体が故障に至る故障イベントの組み合わせをＡＮＤ（論理積）やＯＲ（論理和）などの論理ゲートを用いて記述する信頼性モデルの方式の１つである。各故障イベントに、故障が発生する確率を割り当てることで、システム全体が故障する確率を、故障木で定義される論理式に従って計算することができる。各故障イベントに割り当てる確率、すなわち故障木の入力に与える確率を、各コンポーネントの非可用性（＝１−“コンポーネントの可用性”）とすれば、システム全体の非可用性を故障木によって計算することができる。このとき、システムの可用性は、１−“システム全体の非可用性”として算出される。そのような形態によれば、故障イベントに着目して、システムの可用性を定量的に算出することができる。
【００６５】
また、可用性モデルひな形生成部１１２は、どの仮想マシンを稼働させるかが未定であるホストの障害／復旧状態遷移を表す状態遷移モデル（以下、障害／復旧状態遷移モデルという。）を入力要素として、システムの障害／復旧状態遷移モデルのひな形を構成するようにしてもよい。
【００６６】
ここで、可用性解析において、状態遷移モデルとは、確率過程によってシステムの状態遷移を記述し、確率過程の解析によって可用性指標を求めるためのモデルである。最も基本的な確率過程として、連続時間マルコフ連鎖がある。また、その応用としてペトリネットを用いたモデルなどがある。状態遷移モデルにおいて可用性を計算する場合には、まず、状態遷移モデルにおいてシステムが稼働している状態を定義する。次に、状態遷移モデル（確率過程）の定常状態解析によって、長時間経過後にシステムが稼働状態にある確率を計算する。このとき算出された確率が、システムの可用性を表す。そのような形態によれば、システムの可用性を求める際に、信頼性ブロック図や故障木などの組み合わせモデルではモデル化が難しいシステム内の複雑な依存関係（例えば、故障の検出にかかる時間や復旧処理の順序）を考慮することができる。
【００６７】
実施形態２．
以下、本発明の第２の実施形態を図面を参照して説明する。
【００６８】
図１２は、本発明による仮想マシン配置決定装置の第２の実施形態の構成を示すブロック図である。
【００６９】
図１２に示すように、第２の実施形態における仮想マシン配置決定装置（仮想マシン配置決定装置２００）は、第１の実施形態の構成に加えて、性能モデル合成部１２１と、アプリケーション性能評価部１２２と、性能評価パラメタ格納部１２３と、効用関数格納部１２４とを含む。
【００７０】
性能モデル合成部１２１は、アプリケーション構成情報格納部１０６に格納されたアプリケーション構成情報を参照して、与えられた仮想マシン配置案に対する性能モデルを合成する。
【００７１】
アプリケーション性能評価部１２２は、性能評価パラメタ格納部１２３に格納された性能評価のためのパラメタ情報（以下、性能評価パラメタ情報という。）を参照して、与えられた仮想マシン配置案に対する性能モデルを評価して、アプリケーションシステムの性能特性を示す性能特性評価値を計算する。
【００７２】
性能評価パラメタ格納部１２３は、性能評価パラメタ情報を記憶する。
【００７３】
効用関数格納部１２４は、効用関数を記憶する。
【００７４】
仮想マシン配置ランキング部１０４は、効用関数格納部１２４に格納された効用関数を参照し、各仮想マシン配置案に対する可用性評価値と性能特性評価値から効用値を計算し、最も高い効用値を実現する仮想マシン配置案を出力する。
【００７５】
このような構成により、仮想マシン配置決定装置２００は、仮想マシン配置案に対して可用性と性能特性の両面を評価し、効用関数を用いて最も効用値が高い仮想マシン配置案を決定することができる。それにより、仮想マシン配置決定装置２００は、可用性が高くかつ性能特性に優れた仮想マシン配置案を決定することができる。
【００７６】
なお、性能モデル合成部１２１およびアプリケーション性能評価部１２２は、例えば、仮想マシン配置決定プログラムに従って動作するコンピュータによって実現される。この場合、ＣＰＵが仮想マシン配置決定プログラムを読み込み、そのプログラムに従って、性能モデル合成部１２１およびアプリケーション性能評価部１２２として動作する。また、性能モデル合成部１２１およびアプリケーション性能評価部１２２が別々のハードウェアで実現されていてもよい。
【００７７】
性能評価パラメタ格納部１２３および効用関数格納部１２４は、具体的には、仮想マシン配置決定装置２００が備える光ディスク装置や磁気ディスク装置、メモリ等の記憶装置によって実現される。
【００７８】
次に、本実施形態の動作を説明する。
【００７９】
図１３は、仮想マシン配置決定装置の第２の実施形態の動作を示すフローチャートである。
【００８０】
まず、仮想マシン配置案探索部１０１は、第１の実施形態と同様に、図３に示すステップＡ１〜Ａ３の処理を実行し、仮想マシン配置案を探索する。ここで、探索の結果得られた仮想マシン配置案をＰ＝｛ｐ０，ｐ１，…，ｐｎ｝とする。
【００８１】
可用性モデル合成部１０２および性能モデル合成部１２１は、それぞれ、仮想マシン配置案探索部１０１から仮想マシン配置案を入力する（ステップＢ１）。
【００８２】
可用性モデル合成部１０２および性能モデル合成部１２１は、入力した各仮想マシン配置案ｐｉ（０≦ｉ≦ｎ）に対して、以下に示す効用値計算処理（ステップＢ３〜Ｂ１０の処理）を実行する（ステップＢ２）。
【００８３】
まず、可用性モデル合成部１０２および性能モデル合成部１２１は、アプリケーション構成情報格納部１０６に格納されたアプリケーション構成情報を取得する（ステップＢ３）。
【００８４】
可用性モデル合成部１０２は、ステップＢ３の後、仮想マシン配置案ｐｉに対する可用性モデルを合成する（ステップＢ４）。次に、アプリケーション可用性評価部１０３は、可用性評価パラメタ格納部１０７に格納された可用性評価パラメタ情報を参照し（ステップＢ５）、可用性モデルの形式に合わせた評価手法を用いて可用性を評価する（ステップＢ６）。
【００８５】
性能モデル合成部１２１は、ステップＢ３の後、仮想マシン配置案ｐｉに対する性能モデルを合成する（ステップＢ７）。例えば、性能モデルは、図１４に示すような待ち行列ネットワークとしてモデル化できる。待ち行列ネットワークでは、各コンポーネントとホストを待ち行列で表現し、仮想マシンの配置構成とアプリケーションの呼び出し構造に基づいてネットワークをモデル化する。待ち行列ネットワークは、シミュレーションなどの手法によって解析することができ、アプリケーションの応答時間やスループットなどの性能特性を見積もることができる。
【００８６】
次に、アプリケーション性能評価部１２２は、性能評価パラメタ情報を参照し（ステップＢ８）、性能モデルの形式に合わせた評価手法を用いて性能特性を評価する（ステップＢ９）。図１４に示すような待ち行列ネットワークについては、例えば、シミュレーションによって評価することができる。その際、アプリケーション性能評価部１２２は、各コンポーネントを動作させる仮想マシンおよびホストのサービス時間、性能評価で想定するリクエストの到着率などを、パラメタ情報として必要とする。これらのパラメタ情報は、性能評価パラメタ情報として性能評価パラメタ格納部１２３に事前に格納される。
【００８７】
可用性モデル合成部１０２および性能モデル合成部１２１が、可用性評価および性能評価を終えると、仮想マシン配置ランキング部１０４は、効用関数格納部１２４に格納された効用関数を参照し、当該効用関数に基づいて仮想マシン配置案の効用値を計算する（ステップＢ１０）。効用関数は、可用性評価による可用性評価値と性能評価による性能特性評価値（例えば応答時間）の関数として与えられる。仮想マシン配置ランキング部１０４は、例えば、以下のような効用関数Ｆを利用することができる。ただし、ｃ０、ｃ１は、係数であり、アプリケーションの用途に応じて利用者が事前に決定する。
【００８８】
Ｆ＝ｃ０＊［可用性評価値］＋ｃ１＊［性能特性評価値（応答時間）］
【００８９】
仮想マシン配置決定装置２００は、ステップＢ３〜Ｂ１０の処理を全ての仮想マシン配置案ｐｉに対して実行する（ステップＢ１１）。
【００９０】
最後に、仮想マシン配置ランキング部１０４は、算出された効用値に基づいて仮想マシン配置案をランキングする（ステップＢ１２）。仮想マシン配置ランキング部１０４は、ランキングの結果に基づいて、最も効用値が高い仮想マシン配置案を出力する（ステップＢ１３）。
【００９１】
以上に説明したように、本実施形態では、仮想マシン配置決定装置が、各仮想マシン配置案に対して、可用性モデルを用いた評価と同時に性能モデルを用いた性能特性の評価を行う。また、仮想マシン配置決定装置が、効用関数を用いて、可用性評価値と性能特性評価値から効用値を計算し、最も効用値が高い仮想マシン配置案を出力する。従って、可用性と性能特性の双方を考慮して仮想マシン配置案をランキングすることができる。そのため、可用性と性能特性の双方に優れた仮想マシン配置案を決定することができる。
【００９２】
実施形態３．
以下、本発明の第３の実施形態を図面を参照して説明する。
【００９３】
図１５は、本発明による仮想マシン配置決定装置の第３の実施形態の構成を示すブロック図である。
【００９４】
第３の実施形態における仮想マシン配置決定装置（仮想マシン配置決定装置３００）は、第１の実施形態の構成に加えて、探索打ち切り部１３１と、評価打ち切り部１３２とを含む。
【００９５】
探索打ち切り部１３１は、事前に指定された条件に従って、仮想マシン配置案探索部１０１における仮想マシン配置案の探索処理を終了させて、その時点で得られた仮想マシン配置案を可用性モデル合成部１０２に入力する。
【００９６】
評価打ち切り部１３２は、事前に指定された条件に従って、アプリケーション可用性評価部１０３における評価処理を終了させて、その時点で得られた評価結果を取得する。
【００９７】
このような構成により、仮想マシン配置決定装置３００は、事前に指定された条件に従って、探索処理や評価処理を終了し、終了した時点で得られた結果を用いて仮想マシン配置案を選択する。それにより、仮想マシン配置決定装置３００は、探索処理や評価処理に時間がかかる場合においても、短時間で、可用性が高い仮想マシン配置案を決定することができる。
【００９８】
次に、本実施形態の動作を説明する。
【００９９】
仮想マシン配置決定装置３００の動作は、図３に示す第１の実施形態の動作と同様である。しかし、ステップＡ３とステップＡ８における処理が第１の実施形態と異なる。以下、第１の実施形態と異なる点について説明する。
【０１００】
ステップＡ３において、仮想マシン配置案探索部１０１が、リソース制約を満たす仮想マシン配置の候補を探索する際に、与えられた仮想マシン配置要求の規模によっては配置案が非常に多数になる場合や、全ての配置案を探索するのに非常に時間がかかる場合がある。
【０１０１】
そのような場合に、探索打ち切り部１３１が、事前に設定された、探索を打ち切るための条件に基づいて、仮想マシン配置案探索部１０１における探索処理を終了させる。例えば、探索打ち切り部１３１は、仮想マシン配置案探索部１０１が探索する配置案の数を一定数（例えば、１０００）に制限させる条件に基づいて、探索処理を打ち切るようにしてもよい。つまり、探索打ち切り部１３１は、配置案が一定数を超えたら、探索処理を打ち切るようにしてもよい。
【０１０２】
また、例えば、探索打ち切り部１３１は、探索時間を一定時間（例えば、５分）に制限させる条件に基づいて、探索処理を打ち切るようにしてもよい。つまり、探索打ち切り部１３１は、探索時間が一定時間を経過したら、探索処理を打ち切るようにしてもよい。
【０１０３】
仮想マシン配置案探索部１０１は、探索打ち切り部１３１により探索が打ち切られた場合、その時点で得られた全ての配置案Ｐ＝｛ｐ０，ｐ１，…，ｐｎ｝を、仮想マシン配置の候補として出力する。
【０１０４】
また、ステップＡ８において、アプリケーション可用性評価部１０３が可用性評価を行う際に、可用性モデルの規模によっては評価に非常に時間がかかる場合がある。
【０１０５】
そのような場合に、評価打ち切り部１３２が、事前に設定された、評価を打ち切るための条件に基づいて、アプリケーション可用性評価部１０３における評価処理を終了させる。例えば、評価打ち切り部１３２は、評価時間を一定時間に制限させる条件に基づいて、評価処理を打ち切るようにしてもよい。つまり、評価打ち切り部１３２は、評価時間が一定時間経過したら、評価処理を打ち切るようにしてもよい。
【０１０６】
アプリケーション可用性評価部１０３は、評価打ち切り部１３２により評価が打ち切られた場合、その時点で得られた評価値があれば、その評価値（中間結果）を出力する。そのような中間結果が存在しない場合は、アプリケーション可用性評価部１０３は、評価を打ち切った配置案（仮想マシン配置案ｐｉ）を、仮想マシン配置の候補から外す。
【０１０７】
仮想マシン配置決定装置３００は、第１の実施形態と同様に、全ての仮想マシン配置案に対して可用性評価（ステップＡ５〜Ａ８）を実施した後に、可用性評価結果に基づいて仮想マシン配置案をランキングし、ランキングの結果、最も高い可用性を達成する仮想マシン配置案を出力する。
【０１０８】
以上に説明したように、本実施形態では、探索打ち切り部が、与えられた条件に基づいて仮想マシン配置案の探索処理を打ち切る。また、評価打ち切り部が、与えられた条件に基づいて可用性モデルの評価処理を打ち切る。そして、仮想マシン配置ランキング部が、各処理が打ち切られた時点で得られた結果に基づいて可用性の高い仮想マシン配置案を選択する。そのため、仮想マシン配置の候補が非常に多い場合や可用性評価に時間がかかる場合にも、計算可能な範囲で可用性を最も向上させる仮想マシン配置案を決定することができる。
【０１０９】
なお、本発明は、サーバ仮想化を用いるデータセンタの運用管理ソフトウェアといった用途に適用することができる。また、本発明は、サーバ仮想化を用いるシステムの構成を設計する設計支援ツールといった用途にも適用することができる。
【０１１０】
次に、本発明の概要を説明する。図１６は、本発明による仮想マシン配置決定装置の概要を示すブロック図である。本発明による仮想マシン配置決定装置は、リソース制約を満たす仮想マシン配置案を探索して列挙する仮想マシン配置案探索部１（図１に示す仮想マシン配置案探索部１０１に相当。）と、各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションが稼働状態にある確率を示す可用性を求めるための可用性モデルを生成する可用性モデル合成部２（図１に示す可用性モデル合成部１０２に相当。）と、可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算するアプリケーション可用性評価部３（図１に示すアプリケーション可用性評価部１０３に相当。）と、可用性評価値に基づいて各仮想マシン配置案を順位付けして、アプリケーションに適用する仮想マシン配置案を決定する仮想マシン配置ランキング部４（図１に示す仮想マシン配置ランキング部１０４に相当。）とを含む。
【０１１１】
そのような構成によれば、アプリケーションシステムの可用性をより向上させることができる仮想マシン配置案を決定することができる。すなわち、可用性の観点で最適ではない配置案を出力することを回避することができる。
【０１１２】
また、可用性モデル合成部２は、アプリケーションの構成情報に基づいて、未確定の構成要素を含む可用性モデルのひな形を生成する可用性モデルひな形生成部２１（図２に示す可用性モデル合成部１０２における可用性モデルひな形生成部１１２に相当。）と、仮想マシン配置案をもとに仮想マシンを配置するホストを特定し、当該ホストに関する情報を可用性モデルのひな形に代入する配置ホスト代入部２２（図２に示す可用性モデル合成部２における配置ホスト代入部１１４に相当。）とを含んでいてもよい。そのような構成によれば、仮想マシン配置案毎に異なるアプリケーションシステムの可用性を定量的に求めることができる。
【０１１３】
また、可用性モデルひな形生成部２１は、どの仮想マシンを稼働させるかが未定であるホストを表す未定ホストブロックを用いて、信頼性ブロック図のひな形を生成してもよい。そのような構成によれば、一般的な評価手段、例えば確率の掛け算を用いて、可用性モデルを評価することができる。
【０１１４】
また、可用性モデルひな形生成部２１は、どの仮想マシンを稼働させるかが未定であるホストの障害イベントを表す未定ホスト障害イベントを用いて、故障木のひな形を生成してもよい。そのような構成によれば、故障イベントに着目して、システムの可用性を定量的に算出することができる。
【０１１５】
また、可用性モデルひな形生成部２１は、どの仮想マシンを稼働させるかが未定であるホストの障害／復旧状態遷移モデルを用いて、アプリケーションシステムの障害／復旧状態遷移モデルのひな形を生成してもよい。そのような構成によれば、システムの可用性を求める際に、信頼性ブロック図や故障木などの組み合わせモデルではモデル化が難しいシステム内の複雑な依存関係（例えば、故障の検出にかかる時間や復旧処理の順序）を考慮することができる。
【０１１６】
また、各仮想マシン配置案に対してアプリケーションの構成を反映して当該アプリケーションの性能特性を評価するための性能モデルを生成する性能モデル合成部５（図１２に示す仮想マシン配置決定装置２００における性能モデル合成部１２１に相当。）と、性能モデルを解析して、各仮想マシン配置案により構築されるアプリケーションシステムの性能特性を示す性能特性評価値を計算するアプリケーション性能評価部６（図１２に示す仮想マシン配置決定装置２００におけるアプリケーション性能評価部１２２に相当。）とを含み、仮想マシン配置ランキング部４は、効用関数を用いて、可用性評価値と性能特性評価値とから効用値を計算し、効用値に基づいて仮想マシン配置案を順位付けして、アプリケーションに適用する仮想マシン配置案を決定してもよい。そのような構成によれば、可用性と性能特性の双方を考慮して仮想マシン配置案をランキングすることができる。そのため、可用性と性能特性の双方に優れた仮想マシン配置案を決定することができる。
【０１１７】
また、一定の条件に基づいて、仮想マシン配置案探索部１における探索処理を打ち切る探索打ち切り部７（図１５に示す仮想マシン配置決定装置３００における探索打ち切り部１３１に相当。）を含み、アプリケーション可用性評価部３は、探索処理が打ち切られた時点で得られた仮想マシン配置案を対象として可用性評価をしてもよい。そのような構成によれば、仮想マシン配置の候補が非常に多い場合に、計算可能な範囲で可用性を最も向上させる仮想マシン配置案を決定することができる。
【０１１８】
また、一定の条件に基づいて、アプリケーション可用性評価部３における評価処理を打ち切る評価打ち切り部８（図１５に示す仮想マシン配置決定装置３００における評価打ち切り部１３２に相当。）を含み、仮想マシン配置ランキング部４は、評価処理が打ち切られた時点で得られた評価結果に基づいて仮想マシン配置案を順位付けしてもよい。そのような構成によれば、可用性評価に時間がかかる場合に、計算可能な範囲で可用性を最も向上させる仮想マシン配置案を決定することができる。
【０１１９】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限られない。
【０１２０】
（付記１）リソース制約を満たす仮想マシン配置案を探索して列挙する仮想マシン配置案探索部と、各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションが稼働状態にある確率を示す可用性を求めるための可用性モデルを生成する可用性モデル合成部と、前記可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算するアプリケーション可用性評価部と、前記可用性評価値に基づいて各仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定する仮想マシン配置ランキング部とを含むことを特徴とする仮想マシン配置決定装置。
【０１２１】
（付記２）可用性モデル合成部は、アプリケーションの構成情報に基づいて、未確定の構成要素を含む可用性モデルのひな形を生成する可用性モデルひな形生成部と、仮想マシン配置案をもとに仮想マシンを配置するホストを特定し、当該ホストに関する情報を可用性モデルのひな形に代入する配置ホスト代入部とを含む付記１に記載の仮想マシン配置決定装置。
【０１２２】
（付記３）可用性モデルひな形生成部は、どの仮想マシンを稼働させるかが未定であるホストを表す未定ホストブロックを用いて、信頼性ブロック図のひな形を生成する付記２に記載の仮想マシン配置決定装置。
【０１２３】
（付記４）可用性モデルひな形生成部は、どの仮想マシンを稼働させるかが未定であるホストの障害イベントを表す未定ホスト障害イベントを用いて、故障木のひな形を生成する付記２に記載の仮想マシン配置決定装置。
【０１２４】
（付記５）可用性モデルひな形生成部は、どの仮想マシンを稼働させるかが未定であるホストの障害／復旧状態遷移モデルを用いて、アプリケーションシステムの障害／復旧状態遷移モデルのひな形を生成する付記２に記載の仮想マシン配置決定装置。
【０１２５】
（付記６）各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションの性能特性を評価するための性能モデルを生成する性能モデル合成部と、前記性能モデルを解析して、各仮想マシン配置案により構築されるアプリケーションシステムの性能特性を示す性能特性評価値を計算するアプリケーション性能評価部とを含み、仮想マシン配置ランキング部は、効用関数を用いて、可用性評価値と前記性能特性評価値とから効用値を計算し、前記効用値に基づいて仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定する付記１から付記５のうちのいずれか１つに記載の仮想マシン配置決定装置。
【０１２６】
（付記７）一定の条件に基づいて、仮想マシン配置案探索部における探索処理を打ち切る探索打ち切り部を含み、アプリケーション可用性評価部は、前記探索処理が打ち切られた時点で得られた仮想マシン配置案を対象として可用性評価をする付記１から付記６のうちのいずれか１つに記載の仮想マシン配置決定装置。
【０１２７】
（付記８）一定の条件に基づいて、アプリケーション可用性評価部における評価処理を打ち切る評価打ち切り部を含み、仮想マシン配置ランキング部は、前記評価処理が打ち切られた時点で得られた評価結果に基づいて仮想マシン配置案を順位付けする付記１から付記７のうちのいずれか１つに記載の仮想マシン配置決定装置。
【０１２８】
（付記９）リソース制約を満たす仮想マシン配置案を探索して列挙し、各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションが稼働状態にある確率を示す可用性を求めるための可用性モデルを生成し、前記可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算し、前記可用性評価値に基づいて各仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定することを特徴とする仮想マシン配置決定方法。
【０１２９】
（付記１０）アプリケーションの構成情報に基づいて、未確定の構成要素を含む可用性モデルのひな形を生成し、仮想マシン配置案をもとに仮想マシンを配置するホストを特定し、当該ホストに関する情報を可用性モデルのひな形に代入する付記９に記載の仮想マシン配置決定方法。
【０１３０】
（付記１１）どの仮想マシンを稼働させるかが未定であるホストを表す未定ホストブロックを用いて、信頼性ブロック図のひな形を生成する付記１０に記載の仮想マシン配置決定方法。
【０１３１】
（付記１２）どの仮想マシンを稼働させるかが未定であるホストの障害イベントを表す未定ホスト障害イベントを用いて、故障木のひな形を生成する付記１０に記載の仮想マシン配置決定方法。
【０１３２】
（付記１３）どの仮想マシンを稼働させるかが未定であるホストの障害／復旧状態遷移モデルを用いて、アプリケーションシステムの障害／復旧状態遷移モデルのひな形を生成する付記１０に記載の仮想マシン配置決定方法。
【０１３３】
（付記１４）各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションの性能特性を評価するための性能モデルを生成し、前記性能モデルを解析して、各仮想マシン配置案により構築されるアプリケーションシステムの性能特性を示す性能特性評価値を計算し、効用関数を用いて、可用性評価値と前記性能特性評価値に基づいて効用値を計算し、前記効用値に基づいて仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定する付記９から付記１３のうちのいずれか１つに記載の仮想マシン配置決定方法。
【０１３４】
（付記１５）一定の条件に基づいて、仮想マシン配置案の探索処理を打ち切り、その時点で得られた仮想マシン配置案を対象として可用性評価をする付記９から付記１４のうちのいずれか１つに記載の仮想マシン配置決定方法。
【０１３５】
（付記１６）一定の条件に基づいて、アプリケーションシステムの可用性の評価処理を打ち切り、その時点で得られた評価結果に基づいて仮想マシン配置案の順位付けをする付記９から付記１５のうちのいずれか１つに記載の仮想マシン配置決定方法。
【０１３６】
（付記１７）コンピュータに、リソース制約を満たす仮想マシン配置案を探索して列挙する処理と、各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションが稼働状態にある確率を示す可用性を求めるための可用性モデルを生成する処理と、前記可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算する処理と、前記可用性評価値に基づいて各仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定する処理とを実行させるための仮想マシン配置決定プログラム。
【０１３７】
（付記１８）コンピュータに、アプリケーションの構成情報に基づいて、未確定の構成要素を含む可用性モデルのひな形を生成する処理と、仮想マシン配置案をもとに仮想マシンを配置するホストを特定し、当該ホストに関する情報を可用性モデルのひな形に代入する処理とを実行させる付記１７に記載の仮想マシン配置決定プログラム。
【０１３８】
（付記１９）コンピュータに、どの仮想マシンを稼働させるかが未定であるホストを表す未定ホストブロックを用いて、信頼性ブロック図のひな形を生成する処理を実行させる付記１８に記載の仮想マシン配置決定プログラム。
【０１３９】
（付記２０）コンピュータに、どの仮想マシンを稼働させるかが未定であるホストの障害イベントを表す未定ホスト障害イベントを用いて、故障木のひな形を生成する処理を実行させる付記１８に記載の仮想マシン配置決定プログラム。
【０１４０】
（付記２１）コンピュータに、どの仮想マシンを稼働させるかが未定であるホストの障害／復旧状態遷移モデルを用いて、アプリケーションシステムの障害／復旧状態遷移モデルのひな形を生成する処理を実行させる付記１８に記載の仮想マシン配置決定プログラム。
【０１４１】
（付記２２）コンピュータに、各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションの性能特性を評価するための性能モデルを生成する処理と、前記性能モデルを解析して、各仮想マシン配置案により構築されるアプリケーションシステムの性能特性を示す性能特性評価値を計算する処理と、効用関数を用いて、可用性評価値と前記性能特性評価値に基づいて効用値を計算し、前記効用値に基づいて仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定する処理と実行させる付記１７から付記２１のうちのいずれか１つに記載の仮想マシン配置決定プログラム。
【０１４２】
（付記２３）コンピュータに、一定の条件に基づいて、仮想マシン配置案の探索処理を打ち切り、その時点で得られた仮想マシン配置案を対象として可用性評価をする処理をコンピュータにさらに実行させる付記１７から付記２２のうちのいずれか１つに記載の仮想マシン配置決定プログラム。
【０１４３】
（付記２４）コンピュータに、一定の条件に基づいて、アプリケーションシステムの可用性の評価処理を打ち切り、その時点で得られた評価結果に基づいて仮想マシン配置案の順位付けをする処理を実行させる付記１７から付記２３のうちのいずれか１つに記載の仮想マシン配置決定プログラム。
【０１４４】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１４５】
この出願は、２０１３年５月９日に出願された日本特許出願２０１３−０９９４９２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１４６】
１、１０１  仮想マシン配置案探索部
２、１０２  可用性モデル合成部
３、１０３  アプリケーション可用性評価部
４、１０４  仮想マシン配置ランキング部
５、１２１  性能モデル合成部
６、１２２  アプリケーション性能評価部
７、１３１  探索打ち切り部
８、１３２  評価打ち切り部
２１、１１２  可用性モデルひな形生成部
２２、１１４  配置ホスト代入部
１００、２００、３００  仮想マシン配置決定装置
１０５  リソース制約格納部
１０６  アプリケーション構成情報格納部
１０７  可用性評価パラメタ格納部
１１１  アプリケーション構成情報取得部
１１３  可用性モデルひな形格納部
１２３  性能評価パラメタ格納部
１２４  効用関数格納部
【図１】
2014181495.tif 000003
【図２】
2014181495.tif 000004
【図３】
2014181495.tif 000005
【図４】
2014181495.tif 000006
【図５】
2014181495.tif 000007
【図６】
2014181495.tif 000008
【図７】
2014181495.tif 000009
【図８】
2014181495.tif 000010
【図９】
2014181495.tif 000011
【図１０】
2014181495.tif 000012
【図１１】
2014181495.tif 000013
【図１２】
2014181495.tif 000014
【図１３】
2014181495.tif 000015
【図１４】
2014181495.tif 000016
【図１５】
2014181495.tif 000017
【図１６】
2014181495.tif 000018
【手続補正書】
【提出日】平成26年8月21日(2014.8.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
リソース制約を満たす仮想マシン配置案を探索して列挙する仮想マシン配置案探索部と、
アプリケーションの構成を示すブロック図、アプリケーションの故障イベントの組合せを示す論理式、および、アプリケーションの状態遷移を示す確率過程のうちの少なくとも１つにより記述され、前記アプリケーションが稼働状態にある確率を示す可用性の算出に用いられる可用性モデルを前記仮想マシン配置案ごとに生成する可用性モデル合成部と、
前記可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算するアプリケーション可用性評価部と、
前記可用性評価値に基づいて各仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定する仮想マシン配置ランキング部とを含む
ことを特徴とする仮想マシン配置決定装置。
【請求項２】
可用性モデル合成部は、
アプリケーションの構成情報に基づいて、未確定の構成要素を含む可用性モデルのひな形を生成する可用性モデルひな形生成部と、
仮想マシン配置案をもとに仮想マシンを配置するホストを特定し、当該ホストに関する情報を可用性モデルのひな形に代入する配置ホスト代入部とを含む
請求項１に記載の仮想マシン配置決定装置。
【請求項３】
可用性モデルひな形生成部は、どの仮想マシンを稼働させるかが未定であるホストを表す未定ホストブロックを用いて、信頼性ブロック図のひな形を生成する
請求項２に記載の仮想マシン配置決定装置。
【請求項４】
可用性モデルひな形生成部は、どの仮想マシンを稼働させるかが未定であるホストの障害イベントを表す未定ホスト障害イベントを用いて、故障木のひな形を生成する
請求項２に記載の仮想マシン配置決定装置。
【請求項５】
可用性モデルひな形生成部は、どの仮想マシンを稼働させるかが未定であるホストの障害／復旧状態遷移モデルを用いて、アプリケーションシステムの障害／復旧状態遷移モデルのひな形を生成する
請求項２に記載の仮想マシン配置決定装置。
【請求項６】
各仮想マシン配置案に対してアプリケーションの構成を反映して、当該アプリケーションの性能特性を評価するための性能モデルを生成する性能モデル合成部と、
前記性能モデルを解析して、各仮想マシン配置案により構築されるアプリケーションシステムの性能特性を示す性能特性評価値を計算するアプリケーション性能評価部とを含み、
仮想マシン配置ランキング部は、効用関数を用いて、可用性評価値と前記性能特性評価値とから効用値を計算し、前記効用値に基づいて仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定する
請求項１から請求項５のうちのいずれか１項に記載の仮想マシン配置決定装置。
【請求項７】
一定の条件に基づいて、仮想マシン配置案探索部における探索処理を打ち切る探索打ち切り部を含み、
アプリケーション可用性評価部は、前記探索処理が打ち切られた時点で得られた仮想マシン配置案を対象として可用性評価をする
請求項１から請求項６のうちのいずれか１項に記載の仮想マシン配置決定装置。
【請求項８】
一定の条件に基づいて、アプリケーション可用性評価部における評価処理を打ち切る評価打ち切り部を含み、
仮想マシン配置ランキング部は、前記評価処理が打ち切られた時点で得られた評価結果に基づいて仮想マシン配置案を順位付けする
請求項１から請求項７のうちのいずれか１項に記載の仮想マシン配置決定装置。
【請求項９】
リソース制約を満たす仮想マシン配置案を探索して列挙し、
アプリケーションの構成を示すブロック図、アプリケーションの故障イベントの組合せを示す論理式、および、アプリケーションの状態遷移を示す確率過程のうちの少なくとも１つにより記述され、前記アプリケーションが稼働状態にある確率を示す可用性の算出に用いられる可用性モデルを仮想マシン配置案ごとに生成し、
前記可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算し、
前記可用性評価値に基づいて各仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定する
ことを特徴とする仮想マシン配置決定方法。
【請求項１０】
コンピュータに、
リソース制約を満たす仮想マシン配置案を探索して列挙する処理と、
アプリケーションの構成を示すブロック図、アプリケーションの故障イベントの組合せを示す論理式、および、アプリケーションの状態遷移を示す確率過程のうちの少なくとも１つにより記述され、前記アプリケーションが稼働状態にある確率を示す可用性の算出に用いられる可用性モデルを仮想マシン配置案ごとに生成する処理と、
前記可用性モデルを解析して、仮想マシン配置案により構築されるアプリケーションシステムの可用性を示す可用性評価値を計算する処理と、
前記可用性評価値に基づいて各仮想マシン配置案を順位付けして、前記アプリケーションに適用する仮想マシン配置案を決定する処理とを実行させる
ための仮想マシン配置決定プログラム。
【国際調査報告】
2014181495.tif 000019
2014181495.tif 000020
2014181495.tif 000021
2014181495.tif 000022