(57)【要約】  仮想ミドルボックス管理システム１０は、仮想ミドルボックスの機能ルール数と仮想リソース量、入力状態、パフォーマンスの相関関係を抽象化した仮想ミドルボックスの性能モデルを生成する仮想ミドルボックスモデル生成手段１１を備える。仮想ミドルボックス管理システム１０は、仮想ミドルボックスへの仮想マシン割り当て案を、仮想ミドルボックスの特性に合わせて生成する仮想ミドルボックスチェーン導出手段を備えていてもよい。仮想ミドルボックスチェーン導出手段は、通信ネットワーク機能要件と性能要件とを入力として、総リソース割り当て量を最小化した仮想ミドルボックスチェーンインスタンスを生成してもよい。
2015079612.tif 000002
【特許請求の範囲】
【請求項１】
仮想ミドルボックスの機能ルール数と仮想リソース量、入力状態、パフォーマンスの相関関係を抽象化した前記仮想ミドルボックスの性能モデルを生成する仮想ミドルボックスモデル生成手段を備える
ことを特徴とする仮想ミドルボックス管理システム。
【請求項２】
仮想ミドルボックスへの仮想マシン割り当て案を、前記仮想ミドルボックスの特性に合わせて生成する仮想ミドルボックスチェーン導出手段を備える
請求項１記載の仮想ミドルボックス管理システム。
【請求項３】
仮想ミドルボックスチェーン導出手段は、通信ネットワーク機能要件と性能要件とを入力として、総リソース割り当て量を最小化した仮想ミドルボックスチェーンインスタンスを生成する
請求項２記載の仮想ミドルボックス管理システム。
【請求項４】
仮想ミドルボックスモデル生成手段は、仮想ミドルボックスの機能ルール数と仮想リソース量、入力状態、パフォーマンスの相関関係を多変量解析により定式化することで前記仮想ミドルボックスの性能モデルを生成し、
仮想ミドルボックスチェーン導出手段は、生成された前記性能モデルを用いて、仮想ミドルボックスチェーンインスタンスへの仮想リソース量割り当ての最適化を行う
請求項２または請求項３記載の仮想ミドルボックス管理システム。
【請求項５】
仮想ミドルボックスの機能ルール数と仮想リソース量、入力状態、パフォーマンスの相関関係を抽象化した前記仮想ミドルボックスの性能モデルを生成する
ことを特徴とする仮想ミドルボックス管理方法。
【請求項６】
仮想ミドルボックスへの仮想マシン割り当て案を、前記仮想ミドルボックスの特性に合わせて生成する
請求項５記載の仮想ミドルボックス管理方法。
【請求項７】
通信ネットワーク機能要件と性能要件とを入力として、総リソース割り当て量を最小化した仮想ミドルボックスチェーンインスタンスを生成する
請求項６記載の仮想ミドルボックス管理方法。
【請求項８】
コンピュータに、
仮想ミドルボックスの機能ルール数と仮想リソース量、入力状態、パフォーマンスの相関関係を抽象化した前記仮想ミドルボックスの性能モデルを生成する仮想ミドルボックスモデル生成処理
を実行させるための仮想ミドルボックス管理プログラム。
【請求項９】
コンピュータに、
仮想ミドルボックスへの仮想マシン割り当て案を、前記仮想ミドルボックスの特性に合わせて生成する仮想ミドルボックスチェーン導出処理を実行させる
請求項８記載の仮想ミドルボックス管理プログラム。
【請求項１０】
コンピュータに、
通信ネットワーク機能要件と性能要件とを入力として、総リソース割り当て量を最小化した仮想ミドルボックスチェーンインスタンスを生成する仮想ミドルボックスチェーン導出処理を実行させる
請求項９記載の仮想ミドルボックス管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ミドルボックス管理システム、方法および仮想ミドルボックス管理用プログラムに関し、特に仮想ミドルボックスの特性に合わせたパフォーマンス・リソースモデルと、消費リソースの総量を最小化した仮想ミドルボックスチェーンインスタンスの生成を特徴とする仮想ミドルボックス管理システム、方法および仮想ミドルボックス管理用プログラムに関する。
【背景技術】
【０００２】
企業システムでは、通信ネットワーク（ＮＷ）機能（例えば、ファイアウォール、ロードバランサ）の要件として高性能であることや、高機能であることが求められる。これらの要件を実現するため、ＮＷ機能は、専用ＮＷハードウェアアプライアンス（ＨＷミドルボックス）により提供されることが多い。このようなＨＷミドルボックスには、高価である、またスケール性に欠けるという短所がある。【０００３】
ＩａａＳ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）等のクラウドデータセンタにおいては、小規模な企業システムから大規模な企業システムまで多様なシステムが稼動している。そして、稼働しているシステムごとにＮＷ要件が異なる。このような多様なＮＷ要件に対応するために、仮想ミドルボックスの普及が進んでいる。【０００４】
仮想ミドルボックス（以下、仮想ＭＢという。）を使用して、ユーザは、汎用サーバにおいて仮想マシンとしてファイアウォールやロードバランサ等のミドルボックスを動作させる。すなわち、仮想ＭＢは、必要なときに必要な性能を提供できる。このように、仮想ＭＢは、ＨＷミドルボックスと比べて高いスケール性を備えている。【０００５】
ＨＷミドルボックスは、１台で複数種類のＮＷ機能を兼ね備えていることが多い。これに対して、仮想ＭＢは、単一のＮＷ機能のみ備えていることが多い。ユーザは、多種の仮想ＭＢを連結させて仮想ＭＢチェーンを構成させることで、仮想ＭＢを使用した場合でも、企業システムのＮＷ要件を満たすことができる。【０００６】
ここで、仮想ＭＢおよび仮想ＭＢチェーンを説明する。仮想ＭＢには、ＮＷ要件に合わせた機能を提供することが求められる。ユーザは、仮想ＭＢに機能ルールを記述して設定することで、仮想ＭＢのＮＷ機能を調節する。この機能ルールは、非特許文献１に記載されているように、複数種類の仮想ＭＢにおいて統一されたルール記法で記述される。【０００７】
例として、ロードバランサの仮想ＭＢにおいて、コネクション数が少ないサーバにアクセスを振り分けるｎｕｍｂｅｒ  ｏｆ  ａｃｔｉｖｅ  ｃｏｎｎｅｃｔｉｏｎｓ機能を利用したい場合、ユーザは、以下のように４つの機能ルールを仮想ＭＢに記述する。【０００８】
[機能] number of active connections <ルール数:4>
[ルール] i)Zone[internet(入力元)]^Input[http(入力タイプ)]^Condition[any(条件1)] => Zone[DMZ(出力先)]^State Option[the lowest connection server ] 
ii) … 
iii) …
iv) Zone[intranet](入力元)^Input[http(入力タイプ)]^Condition[any(条件1)] => Zone[internal network(出力先)]^State Option[the lowest connection server ]【０００９】
このように、ユーザは、ルールを記述することで、仮想ＭＢの機能を指定できる。すなわち、１種類の仮想ＭＢが複数種類の機能を備えることも可能である。例えば、ロードバランサの仮想ＭＢは、ｎｕｍｂｅｒ  ｏｆ  ａｃｔｉｖｅ  ｃｏｎｎｅｃｔｉｏｎｓという機能以外に、ｒｏｕｎｄ  ｒｏｂｉｎ、ｒａｎｄｏｍ  ｃｈｏｉｃｅといった機能を備えることもできる。その場合、ロードバランサの仮想ＭＢには、それぞれの機能ごとにルールが記述される。【００１０】
上記の仮想ＭＢの機能を連結することによって構成される仮想ＭＢチェーンは、企業システムの要件を満たすＮＷ機能を提供する。図２０は、仮想ＭＢを連結した仮想ＭＢチェーンの一例を示す説明図である。企業システムの要件を満たすＮＷ機能として、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）機能、ファイアウォールおよびロードバランサが求められている場合、ユーザは、図２０に示すように仮想ＭＢを連結させて、仮想ＭＢチェーンを構成する。【００１１】
図２０に示す仮想ＭＢチェーンは、以下のように使用される。例として、ある企業が製品情報提供用のＷｅｂサーバ（Ｗｅｂ１）と、発注などの電子商取引を行うＷｅｂアプリケーションサーバ（Ａｐｐ１）を保持しているとする。Ｗｅｂ１はアクセス数が多いため、ｎ個のクローンによりＷｅｂ１サーバ群が構成されているとする。【００１２】
ＮＡＴ（Ｓｙｍｍｅｔｒｉｃ  ＮＡＴ）→ＦＷ（Ｄｙｎａｍｉｃ  Ｆｉｌｔｅｒ）→ＬＢ（Ｎｕｍｂｅｒ  ｏｆ  ｃｏｎｎ．）の仮想ＭＢチェーンは、Ｗｅｂ１用のチェーンとして使用される。この仮想ＭＢチェーンは、ＮＡＴ機能の中でも防御性能の高いＳｙｍｍｅｔｒｉｃ  ＮＡＴと、ＦＷ機能の中でも防御性能の高いＤｙｎａｍｉｃ  Ｆｉｌｔｅｒを組み合わせることで耐攻撃力を高めつつ、さらに、ＬＢ（Ｎｕｍｂｅｒ  ｏｆ  ｃｏｎｎ．）でＷｅｂ１サーバ群へのアクセスを平準化する機能を提供する。なお、Ｎｕｍｂｅｒ  ｏｆ  ｃｏｎｎ．は、上記のｎｕｍｂｅｒ  ｏｆ  ａｃｔｉｖｅ  ｃｏｎｎｅｃｔｉｏｎｓ機能を意味する。【００１３】
ＮＡＴ（Ｓｙｍｍｅｔｒｉｃ  ＮＡＴ）→ＦＷ（ＷＡＦ）の仮想ＭＢチェーンは、Ａｐｐ１用のチェーンとして使用される。ＦＷ機能としてＷＡＦ（Ｗｅｂ  Ａｐｐｌｉｃａｔｉｏｎ  Ｆｉｒｅｗａｌｌ）を配置することによって、この仮想ＭＢチェーンは、もしＡｐｐ１に未対応の脆弱性が残っている場合も、その脆弱性が晒される危険性を防ぐことができる。【００１４】
ここで、仮想ＭＢチェーンの構成のみの定義を仮想ＭＢチェーン定義と呼称する。また、仮想ＭＢチェーンの構成に仮想マシンを割り当てた装置構成を仮想ＭＢチェーンインスタンスと呼称する。【００１５】
このとき、仮想ＭＢチェーンインスタンスのパフォーマンスに影響する要因が２つある。１つ目の要因は、仮想ＭＢが稼動する仮想マシンのＣＰＵリソース量（例えば、仮想ＣＰＵコア数）である。仮想ＭＢは主にＣＰＵリソースを消費し、機能ルールが多いほどリソースを消費する。すなわち、仮想ＭＢでの処理遅延時間（パフォーマンス）とＣＰＵリソース量、機能ルール数の間にはそれぞれ相関がある。【００１６】
２つ目の要因は、仮想ＭＢの仮想マシンへの割り当てである。仮想マシンは、複数種類の仮想ＭＢを搭載できる。その場合、１つの仮想マシンに共存する仮想ＭＢ間の通信は高速になるため、通信遅延の低減が期待される。しかし、仮想ＭＢ同士で同じ仮想マシンのＣＰＵリソースを共用するため、互いにパフォーマンスの悪化が起こる可能性がある。【００１７】
企業システムの要件を満たすＮＷ機能を提供しつつ、かつ消費リソースが最小化された仮想ＭＢチェーンインスタンスを構成するためには、仮想ＭＢチェーンを構成する仮想ＭＢの機能ルール数を考慮した上で、仮想マシンへのＣＰＵリソース量割り当てと、仮想ＭＢの仮想マシンへの配備を最適にすることが求められる。【００１８】
特許文献１には、一般的なミドルボックス管理システムの一例が記載されている。図２１は、特許文献１に記載されているミドルボックス管理システムを示す説明図である。図２１に示すように、このミドルボックス管理システムは、アドレス変換装置とトラヒック分離統合装置、統合ＡＡＡ装置、集合仮想ルータから構成されている。【００１９】
このような構成を有するミドルボックス管理システムは、ＭＢに相当するアドレス変換装置の動作状況とトラフィック量を考慮し、帯域幅と通信経路を制御する。しかし、このミドルボックス管理システムは、リソースとして帯域幅のみを考慮しており、制御ルール数やＣＰＵリソースを考慮したアドレス変換装置の性能の制御を考慮していない。従って、このミドルボックス管理システムは、ＮＷ機能のパフォーマンスを管理できない。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】特開２０１１−２２８８６４号公報
【非特許文献】
【００２１】
【非特許文献１】Ｍｏｄｅｌｉｎｇ Ｍｉｄｄｌｅｂｏｘｅｓ、ＮＥＴＷＯＲＫ, ＩＥＥＥ（Ｖｏｌｕｍｅ：２２，Ｉｓｓｕｅ：５）、２０−２５ページ
【発明の概要】
【発明が解決しようとする課題】
【００２２】
第１の問題点は、仮想ＭＢのパフォーマンスを制御するための仮想マシンへのＣＰＵリソース割り当てが困難なことである。その理由は、仮想ＭＢの機能ルール数とＣＰＵリソース量、パフォーマンスの相関を考慮した上でＣＰＵリソース割り当てを制御する仕組みが無いためである。【００２３】
第２の問題点は、消費リソースが最小化された仮想ＭＢチェーンインスタンスの構成が困難なことである。その理由は、仮想ＭＢの仮想マシンへの割り当てと、仮想マシンへのＣＰＵリソース割り当ての影響を考慮した上で、仮想ＭＢチェーンインスタンスへのＣＰＵリソースの総割り当て量を最小化する仕組みが無いためである。【００２４】
そこで、本発明は、仮想ミドルボックスの機能ルール数とＣＰＵリソース量、パフォーマンスの相関を考慮した仮想ミドルボックスの性能モデルを生成できる仮想ミドルボックス管理システム、仮想ミドルボックス管理方法および仮想ミドルボックス管理用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２５】
本発明による仮想ミドルボックス管理システムは、仮想ミドルボックスの機能ルール数と仮想リソース量、入力状態、パフォーマンスの相関関係を抽象化した仮想ミドルボックスの性能モデルを生成する仮想ミドルボックスモデル生成手段を備えることを特徴とする。【００２６】
本発明による仮想ミドルボックス管理方法は、仮想ミドルボックスの機能ルール数と仮想リソース量、入力状態、パフォーマンスの相関関係を抽象化した仮想ミドルボックスの性能モデルを生成することを特徴とする。【００２７】
本発明による仮想ミドルボックス管理プログラムは、コンピュータに、仮想ミドルボックスの機能ルール数と仮想リソース量、入力状態、パフォーマンスの相関関係を抽象化した仮想ミドルボックスの性能モデルを生成する仮想ミドルボックスモデル生成処理を実行させることを特徴とする。
【発明の効果】
【００２８】
本発明によれば、仮想ミドルボックスの機能ルール数とＣＰＵリソース量、パフォーマンスの相関を考慮した仮想ミドルボックスの性能モデルを生成できる。
【図面の簡単な説明】
【００２９】
【図１】仮想ＭＢ管理システム１０の構成例を示すブロック図である。
【図２】仮想ＭＢモデル生成用情報の一例を示す説明図である。
【図３】仮想ＭＢモデル情報の一例を示す説明図である。
【図４】インスタンス候補情報の一例を示す説明図である。
【図５】仮想ＭＢチェーンインスタンス情報の一例を示す説明図である。
【図６】仮想ＭＢ機能情報の一例を示す説明図である。
【図７】機能ルール情報の一例を示す説明図である。
【図８】要件・制約情報の一例を示す説明図である。
【図９】仮想ＭＢチェーン定義情報の一例を示す説明図である。
【図１０】モニタリング情報の一例を示す説明図である。
【図１１】仮想システムの一例を示す説明図である。
【図１２】仮想ＭＢ管理システム１０の仮想ＭＢモデル生成の動作を示すフローチャートである。
【図１３】仮想ＭＢ管理システム１０の仮想ＭＢチェーンインスタンス候補生成の動作を示すフローチャートである。
【図１４】仮想ＭＢ管理システム１０の仮想ＭＢチェーンインスタンス選定の動作を示すフローチャートである。
【図１５】仮想ＭＢチェーンインスタンス候補の生成例を示す説明図である。
【図１６】仮想ＭＢチェーンインスタンス候補の生成例を示す説明図である。
【図１７】仮想ＭＢチェーンインスタンスの一例を示す説明図である。
【図１８】仮想ＭＢチェーンインスタンスの一例を示す説明図である。
【図１９】本発明による仮想ミドルボックス管理システムの概要を示すブロック図である。
【図２０】仮想ＭＢを連結した仮想ＭＢチェーンの一例を示す説明図である。
【図２１】特許文献１に記載されているミドルボックス管理システムを示す説明図である。
【発明を実施するための形態】
【００３０】
以下、本発明の実施形態を図面を参照して説明する。図１は、仮想ＭＢ管理システム１０の構成例を示すブロック図である。図１に示す仮想ＭＢ管理システム１０は、仮想ＭＢチェーン管理システム１００と、仮想システム管理装置３００と、ＭＢ機能ルール記憶装置２０１と、要件・制約記憶装置２０２と、仮想ＭＢチェーン定義記憶装置２０３とを含む。
【００３１】
本実施形態において、仮想ＭＢ管理システム１０は、仮想システム４００〜４０ｎで稼働するサービスシステムにおける仮想ＭＢを対象に、仮想ＭＢモデルの生成、仮想ＭＢチェーンインスタンス候補の生成、および仮想ＭＢチェーンインスタンスの選定を行う。
【００３２】
仮想ＭＢチェーン管理システム１００は、仮想ＭＢモデル生成手段１１０と、仮想ＭＢチェーン導出手段１２０と、仮想ＭＢチェーンインスタンス記憶装置１０１とを含む。
【００３３】
仮想ＭＢモデル生成手段１１０は、仮想ＭＢのパフォーマンスを予測する仮想ＭＢモデルを作成する機能を有する。仮想ＭＢモデル生成手段１１０は、仮想ＭＢモデル生成部１１１と、モデル生成用記憶装置１１２と、仮想ＭＢモデル記憶装置１１３とを有する。
【００３４】
仮想ＭＢモデル生成部１１１は、モデル生成用記憶装置１１２、ＭＢ機能ルール記憶装置２０１およびモニタリング情報記憶装置３０２から必要な情報をそれぞれ取得し、多変量解析により、処理時間を目的変数、その他を説明変数として仮想ＭＢモデルを定式化する機能を有する。
【００３５】
モデル生成用記憶装置１１２は、仮想ＭＢモデルを生成するための仮想ＭＢへの入力頻度、仮想ＭＢの処理時間、仮想ＭＢが稼動する仮想マシンへのＣＰＵリソース割り当て量、仮想ＭＢが稼動する仮想マシン内の全ての仮想ＭＢの機能ルールの総数を記憶する機能を有する。
【００３６】
モデル生成用記憶装置１１２に記憶される仮想ＭＢモデル生成用情報の例を図２に示す。図２は、仮想ＭＢモデル生成用情報の一例を示す説明図である。
【００３７】
図２に示す仮想ＭＢモデル生成用情報は、ＩＤと、ＭＢＩＤと、処理時間と、入力頻度と、仮想ＣＰＵコア数と、仮想マシン内機能ルール数とで構成される。ＩＤは、生成された仮想ＭＢモデル生成用情報を一意に識別するための識別情報である。ＭＢＩＤは、ＩＤに対応する仮想ＭＢモデル生成用情報の生成対象となった仮想ＭＢを識別するための識別情報である。
【００３８】
処理時間は、仮想ＭＢモデル生成用情報の生成対象となった仮想ＭＢが処理の開始から終了までに要した時間であり、単位はｍｓｅｃである。入力頻度は、仮想ＭＢへの入力の頻度であり、単位はアクセス／秒である。
【００３９】
仮想ＣＰＵコア数は、仮想ＭＢモデル生成用情報の生成対象の仮想ＭＢが稼動する仮想マシンに搭載されている仮想ＣＰＵコアの数である。仮想マシン内機能ルール数は、対象の仮想ＭＢが稼動する仮想マシン内で稼動する、全ての仮想ＭＢの機能ルール数の総数である。
【００４０】
なお仮想ＭＢモデル生成用情報は、後述のように、モニタリング情報記憶装置３０２に記憶されているモニタリング情報を基に仮想ＭＢモデル生成部１１１により生成される。
【００４１】
仮想ＭＢモデル記憶装置１１３は、仮想ＭＢモデル生成部１１１により作成された仮想ＭＢモデルを記憶する機能を有する。
【００４２】
仮想ＭＢモデル記憶装置１１３に記憶される仮想ＭＢモデル情報の例を図３に示す。図３は、仮想ＭＢモデル情報の一例を示す説明図である。
【００４３】
図３に示す仮想ＭＢモデル情報は、ＭＢＩＤと、予測式モデルとで構成される。ＭＢＩＤは、仮想ＭＢモデルを生成する際に、仮想ＭＢモデル生成部１１１が生成対象とした仮想ＭＢを示す。予測式モデルは、ＭＢＩＤに対応する、仮想ＭＢモデル生成部１１１により生成された仮想ＭＢモデルである。
【００４４】
仮想ＭＢチェーン導出手段１２０は、最適化された仮想ＭＢチェーンインスタンスを導出する機能を有する。仮想ＭＢチェーン導出手段１２０は、インスタンス候補生成部１２１と、インスタンス候補記憶装置１２２と、インスタンス選定部１２３とを有する。
【００４５】
インスタンス候補生成部１２１は、仮想ＭＢチェーン定義記憶装置２０３から取得した仮想ＭＢチェーン定義を基に、仮想マシンを割り当てた仮想ＭＢチェーンインスタンス候補を複数生成する機能を有する。
【００４６】
インスタンス候補記憶装置１２２は、インスタンス候補生成部１２１によって生成された仮想ＭＢチェーンインスタンス候補を記憶する機能を有する。
【００４７】
インスタンス候補記憶装置１２２に記憶されるインスタンス候補情報の例を図４に示す。図４は、インスタンス候補情報の一例を示す説明図である。
【００４８】
図４に示すインスタンス候補情報は、候補ＩＤと、インスタンス候補とで構成される。候補ＩＤは、生成されたインスタンス候補を一意に識別するための識別情報である。インスタンス候補は、候補ＩＤに対応する、インスタンス候補生成部１２１により生成された仮想ＭＢチェーンインスタンス候補である。なお、候補ＩＤ“１”、候補ＩＤ“２”に対応する仮想ＭＢチェーンインスタンス候補は、それぞれ仮想ＭＢ１〜６を含む。
【００４９】
インスタンス選定部１２３は、仮想ＭＢモデル記憶装置１１３および要件・制約記憶装置２０２から必要な情報を取得し、インスタンス候補記憶装置１２２に記憶されている仮想ＭＢチェーンインスタンス候補への、パフォーマンス要件を満たす最小限の仮想ＣＰＵリソース配分を推定する機能を有する。インスタンス選定部１２３は、さらに、仮想ＣＰＵリソースの総和が最小になる仮想ＭＢチェーンインスタンスを選定する。
【００５０】
仮想ＭＢチェーンインスタンス記憶装置１０１は、インスタンス選定部１２３が選定した仮想ＭＢチェーンインスタンスを記憶する機能を有する。
【００５１】
仮想ＭＢチェーンインスタンス記憶装置１０１に記憶される仮想ＭＢチェーンインスタンス情報の例を図５に示す。図５は、仮想ＭＢチェーンインスタンス情報の一例を示す説明図である。
【００５２】
図５に示す仮想ＭＢチェーンインスタンス情報は、インスタンスＩＤと、候補ＩＤと、総リソース量と、仮想ＭＢチェーンインスタンスとで構成される。インスタンスＩＤは、選定された仮想ＭＢチェーンインスタンスを一意に識別するための識別情報である。候補ＩＤは、インスタンスＩＤに対応する仮想ＭＢチェーンインスタンスが記憶されているインスタンス候補情報を示す。
【００５３】
総リソース量は、インスタンス選定部１２３により推定された、インスタンスＩＤに対応する仮想ＭＢチェーンインスタンスのパフォーマンス要件を満たす最小限の仮想ＣＰＵリソース配分における、仮想ＣＰＵコア数の総和である。仮想ＭＢチェーンインスタンスは、インスタンスＩＤに対応する、インスタンス選定部１２３により選定された仮想ＭＢチェーンインスタンスである。
【００５４】
ＭＢ機能ルール記憶装置２０１は、仮想ＭＢの機能ルール定義と仮想ＭＢのルール数の情報を記憶する機能を有する。
【００５５】
ＭＢ機能ルール記憶装置２０１に記憶される仮想ＭＢ機能情報の例を図６に示す。図６は、仮想ＭＢ機能情報の一例を示す説明図である。
【００５６】
仮想ＭＢ機能情報は、ＭＢＩＤと、ＭＢ名と、機能概要とで構成される。ＭＢＩＤは、対応する仮想ＭＢ機能情報の対象である仮想ＭＢを示す。ＭＢ名は、ＭＢＩＤに対応する仮想ＭＢの名称である。機能概要は、ＭＢＩＤに対応する仮想ＭＢに設定された機能の概要である。
【００５７】
ＭＢ機能ルール記憶装置２０１に記憶される機能ルール情報の例を図７に示す。図７は、機能ルール情報の一例を示す説明図である。
【００５８】
機能ルール情報は、機能ルールＩＤと、ＭＢＩＤと、名称と、機能ルール数と、機能ルール定義とで構成される。機能ルールＩＤは、対応する機能ルール情報の対象である機能ルールを一意に識別する識別情報である。ＭＢＩＤは、機能ルールＩＤに対応する機能ルールが設定されている仮想ＭＢを示す。
【００５９】
名称は、機能ルールＩＤに対応する機能ルールの名称である。機能ルール数は、機能ルールＩＤに対応する機能ルールに設定されているルールの数である。機能ルール定義は、機能ルールＩＤに対応する機能ルールの定義である。
【００６０】
要件・制約記憶装置２０２は、仮想ＭＢチェーンインスタンスを生成する際の条件として、求める仮想ＭＢチェーンインスタンス全体の処理時間の上限値と、仮想マシンに割り当て可能な仮想ＣＰＵコアの上限値を記憶する機能を有する。
【００６１】
要件・制約記憶装置２０２に記憶される要件・制約情報の例を図８に示す。図８は、要件・制約情報の一例を示す説明図である。
【００６２】
要件・制約情報は、要件ＩＤと、パフォーマンス上限値と、入力頻度と、仮想ＣＰＵコア数上限値と、チェーン定義ＩＤとで構成される。要件ＩＤは、対応する要件・制約情報の対象である要件・制約を一意に識別する識別情報である。パフォーマンス上限値は、要件ＩＤに対応する、許容可能である処理時間の最大値を示す要件情報であり、単位はｍｓｅｃである。
【００６３】
入力頻度は、要件ＩＤに対応する、想定される入力の頻度を示す要件情報であり、単位はアクセス／秒である。仮想ＣＰＵコア数上限値は、要件ＩＤに対応する、仮想マシンに割り当て可能な仮想ＣＰＵコア数の最大値を示す制約情報である。チェーン定義ＩＤは、要件ＩＤに対応する要件・制約情報が適用される仮想ＭＢチェーンのチェーン定義ＩＤである。
【００６４】
仮想ＭＢチェーン定義記憶装置２０３は、仮想システム内における仮想ＭＢチェーンの構成情報を記憶する機能を有する。
【００６５】
仮想ＭＢチェーン定義記憶装置２０３に記憶される仮想ＭＢチェーン定義情報の例を図９に示す。図９は、仮想ＭＢチェーン定義情報の一例を示す説明図である。
【００６６】
仮想ＭＢチェーン定義情報は、チェーン定義ＩＤと、チェーン定義（グラフ構造）とで構成される。チェーン定義ＩＤは、対応する仮想ＭＢチェーン定義情報の対象である仮想ＭＢチェーン定義を一意に識別する識別情報である。チェーン定義（グラフ構造）は、チェーン定義ＩＤに対応する、グラフ構造で示される仮想ＭＢチェーンの定義である。
【００６７】
仮想システム管理装置３００は、仮想システムモニタリング手段３０１と、モニタリング情報記憶装置３０２と、仮想ＭＢ制御手段３０３とを含む。
【００６８】
仮想システムモニタリング手段３０１は、仮想ＭＢにて処理が行われる毎に仮想ＭＢの処理時間、処理が行われる時点の仮想ＭＢへの入力頻度、仮想ＭＢが稼動する仮想マシンへのＣＰＵリソース割り当て量等を測定する機能を有する。
【００６９】
モニタリング情報記憶装置３０２は、仮想システムモニタリング手段３０１が測定したモニタリング情報を記憶する機能を有する。
【００７０】
モニタリング情報記憶装置３０２に記憶されるモニタリング情報の例を図１０に示す。図１０は、モニタリング情報の一例を示す説明図である。
【００７１】
モニタリング情報は、ＬｏｇＩＤと、仮想マシンＩＤと、処理開始時刻と、処理時間と、入力頻度と、ＭＢＩＤと、機能ルールＩＤと、仮想ＣＰＵコア数とで構成される。ＬｏｇＩＤは、格納したモニタリング情報を一意に識別する識別情報である。仮想マシンＩＤは、ＬｏｇＩＤに対応するモニタリング情報の取得対象となった仮想マシンを示す。
【００７２】
処理開始時刻は、ＬｏｇＩＤに対応するモニタリング情報の対象である処理が開始された時刻である。処理時間は、対象である処理の開始から終了までに要した時間であり、単位はｍｓｅｃである。入力頻度は、対象である処理が行われている仮想ＭＢへの入力の頻度であり、単位はアクセス／秒である。入力頻度は、例えば、直近の過去のアクセス情報から算出可能である。
【００７３】
ＭＢＩＤは、ＬｏｇＩＤに対応するモニタリング情報の対象である処理が行われている仮想ＭＢを示す。機能ルールＩＤは、ＭＢＩＤに対応する仮想ＭＢに設定されている機能ルールを示す。仮想ＣＰＵコア数は、仮想マシンＩＤに対応する仮想マシンに搭載されている仮想ＣＰＵコアの数である。
【００７４】
仮想ＭＢ制御手段３０３は、仮想ＭＢチェーンインスタンスの生成、および仮想ＭＢチェーンインスタンス記憶装置１０１に記憶されている仮想ＭＢチェーンインスタンスの変更または削除を行う機能を有する。
【００７５】
仮想システム４００〜４０ｎは、図１１に示すような仮想ＭＢと仮想サーバを構成要素とするサービスシステムが稼働する環境を提供する。図１１は、仮想システムの一例を示す説明図である。
【００７６】
なお、本実施形態における仮想ＭＢ管理システム１０において、仮想ＭＢチェーン管理システム１００、仮想システム管理装置３００、および仮想システム４００〜４０ｎは、例えば、ＣＰＵによって実現される。また、仮想ＭＢチェーン管理システム１００、仮想システム管理装置３００、および仮想システム４００〜４０ｎは、ハードウェアによって実現されてもよい。
【００７７】
また、仮想ＭＢモデル生成部１１１、インスタンス候補生成部１２１、インスタンス選定部１２３、仮想システムモニタリング手段３０１、および仮想ＭＢ制御手段３０３は、例えば、プログラム制御に従って処理を実行するＣＰＵによって実現される。
【００７８】
また、本実施形態における仮想ＭＢ管理システム１０において、ＭＢ機能ルール記憶装置２０１、要件・制約記憶装置２０２、および仮想ＭＢチェーン定義記憶装置２０３は、例えば、半導体メモリ、またはハードディスクドライブによって実現される。
【００７９】
また、仮想ＭＢチェーンインスタンス記憶装置１０１、モデル生成用記憶装置１１２、仮想ＭＢモデル記憶装置１１３、インスタンス候補記憶装置１２２、およびモニタリング情報記憶装置３０２は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で実現される。
【００８０】
以下、本実施形態の仮想ＭＢ管理システムの動作を説明する。
【００８１】
まず、仮想ＭＢモデル生成の動作を図１２のフローチャートを参照して説明する。図１２は、仮想ＭＢ管理システム１０の仮想ＭＢモデル生成の動作を示すフローチャートである。
【００８２】
［仮想ＭＢモデル生成］
仮想ＭＢモデル生成部１１１は、モニタリング情報記憶装置３０２から、図１０に示すようなモニタリング情報を取り出す。仮想ＭＢモデル生成部１１１は、取り出したモニタリング情報を仮想マシンＩＤでソートすることで、モニタリング情報に記録された仮想マシン毎にモニタリング情報を組分ける（ステップＡ１）。
【００８３】
仮想ＭＢモデル生成部１１１は、ある仮想マシンに関するモニタリング情報の仮想ＭＢのＩＤ“ＭＢＩＤ”と、ＭＢ機能ルール記憶装置２０１の仮想ＭＢ機能情報を結合することで、仮想マシン内で稼動する仮想ＭＢを特定する（ステップＡ２）。
【００８４】
仮想ＭＢモデル生成部１１１は、特定した仮想ＭＢの機能ルール数の和を、ＭＢ機能ルール記憶装置２０１の機能ルール情報を用いて算出する。仮想ＭＢモデル生成部１１１は、算出した機能ルール数の和を、仮想ＭＢの処理時間とアクセス入力頻度、ＣＰＵリソース量と共にモデル生成用記憶装置１１２に格納する（ステップＡ３）。
【００８５】
仮想ＭＢモデル生成部１１１は、ステップＡ２の処理、ステップＡ３の処理を仮想マシン毎に行う（ステップＡ４）。
【００８６】
各仮想マシンの機能ルール数の和の算出が全て終了した後、仮想ＭＢモデル生成部１１１は、モデル生成用記憶装置１１２に記憶された仮想ＭＢモデル生成用情報から、仮想ＭＢ毎に仮想ＭＢモデルを生成する（ステップＡ５）。
【００８７】
仮想ＭＢモデル生成部１１１は、仮想ＭＢの処理時間、仮想ＭＢへの入力頻度、仮想ＭＢが稼動する仮想マシンの仮想ＣＰＵコア数、仮想ＭＢが稼動する仮想マシン内で稼動する全ての仮想ＭＢの機能ルール数の総数を一組にした情報を、仮想ＭＢ毎に取り出す（ステップＡ６）。
【００８８】
このような形式で情報を取り出す理由は、入力頻度、稼動する仮想マシンの仮想ＣＰＵコア数、仮想マシン内で稼動する全ての仮想ＭＢの機能ルール数の総数が仮想ＭＢの処理時間に対して影響を及ぼすためである。１つの仮想マシンに複数の仮想ＭＢが割り当てられている場合は、仮想ＭＢ間の相互作用として互いに処理時間の遅延が起こりうるため、仮想ＭＢモデルの生成に際して機能ルールの総数が考慮される。
【００８９】
そして、仮想ＭＢモデル生成部１１１は、仮想ＭＢの処理時間を目的変数、仮想ＭＢへの入力頻度、仮想ＭＢが稼動する仮想マシンの仮想ＣＰＵコア数、仮想ＭＢが稼動する仮想マシン内で稼動する全ての仮想ＭＢの機能ルール数の総数を説明変数とした多変量解析を行い、以下に示すような仮想ＭＢモデルを生成する（ステップＡ７）。
【００９０】
【数１】
2015079612.tif 000003
【００９１】
式（１）において、ＡとＢは係数、Ｃは切片である。また、処理時間がｙ、入力頻度がλ、機能ルール数がｒｕｌｅ、ＣＰＵコア数がｒにそれぞれ対応している。この作成された仮想ＭＢモデルは、仮想ＭＢモデル記憶装置１１３に記憶される。
【００９２】
仮想ＭＢモデル生成部１１１は、ステップＡ６の処理、ステップＡ７の処理を仮想ＭＢ毎に行う（ステップＡ８）。各仮想ＭＢの仮想ＭＢモデルの生成が全て終了した後、仮想ＭＢモデル生成部１１１は、処理を終了する。
【００９３】
次に、本実施形態の仮想ＭＢチェーンインスタンス候補生成の動作を図１３のフローチャートを参照して説明する。図１３は、仮想ＭＢ管理システム１０の仮想ＭＢチェーンインスタンス候補生成の動作を示すフローチャートである。
【００９４】
［仮想ＭＢチェーンインスタンス候補生成］
仮想システムの運用管理者は、図９に示すような、構成したい仮想ＭＢチェーンの仮想ＭＢチェーン定義を、仮想ＭＢチェーン定義記憶装置２０３に格納する。図８に示すような、運用管理者が構成したい仮想ＭＢチェーンのパフォーマンス要件と制約内容（仮想マシンの仮想ＣＰＵコア上限値）は、予め要件・制約記憶装置２０２に記憶されているとする。
【００９５】
仮想ＭＢチェーン導出手段１２０のインスタンス候補生成部１２１は、仮想ＭＢチェーン定義記憶装置２０３より仮想ＭＢチェーン定義を読み出す。インスタンス候補生成部１２１は、読み出した仮想ＭＢチェーン定義による仮想ＭＢチェーンに対して、深さ優先探索アルゴリズムで仮想ＭＢチェーン内の各仮想ＭＢを順序付けする（ステップＢ１）。
【００９６】
ここで、読み出した仮想ＭＢチェーン定義による仮想ＭＢチェーンの最大の深さがｎである場合、インスタンス候補生成部１２１は、仮想マシンに配置できる仮想ＭＢの最大数をｎとする（ステップＢ２）。
【００９７】
インスタンス候補生成部１２１は、仮想マシンに１台の仮想ＭＢを割り当てるとして、仮想ＭＢチェーンインスタンス候補を生成する。インスタンス候補生成部１２１は、生成した仮想ＭＢチェーンインスタンス候補をインスタンス候補記憶装置１２２に格納する（ステップＢ３）。
【００９８】
インスタンス候補生成部１２１は、仮想マシンへの仮想ＭＢの割り当て数を１つずつ増やしながら昇順に割り当てる（ステップＢ４）。インスタンス候補生成部１２１は、例えば、１台の仮想マシンに２台の仮想ＭＢを割り当てる場合、仮想ＭＢをソートし、番号の小さい方から大きい方へ仮想マシンを割り当てる。
【００９９】
最終的に、インスタンス候補生成部１２１は、ｎ種類の仮想ＭＢチェーンインスタンス候補を生成し、インスタンス候補記憶装置１２２に格納する。ｎ種類の仮想ＭＢチェーンインスタンス候補を生成した後、インスタンス候補生成部１２１は、処理を終了する。
【０１００】
このような手法を使用することによって、インスタンス候補生成部１２１は、複数の仮想マシンへの仮想ＭＢの割り当てパターンを生成できる。仮想ＭＢチェーンでは上から下へ向かって連続した処理が行われるため、インスタンス候補生成部１２１は、左右よりも上下を優先して仮想マシンへ仮想ＭＢを割り当てるように設定されている。
【０１０１】
次に、本実施形態の仮想ＭＢチェーンインスタンス選定の動作を図１４のフローチャートを参照して説明する。図１４は、仮想ＭＢ管理システム１０の仮想ＭＢチェーンインスタンス選定の動作を示すフローチャートである。
【０１０２】
［仮想ＭＢチェーンインスタンス選定］
インスタンス選定部１２３は、インスタンス候補記憶装置１２２から仮想ＭＢチェーンインスタンス候補を読み出す。また、インスタンス選定部１２３は、仮想ＭＢモデル記憶装置１１３から仮想ＭＢモデルを読み出す。また、インスタンス選定部１２３は、要件・制約記憶装置２０２からパフォーマンス要件と制約内容（仮想マシンの仮想ＣＰＵコア上限値）を読み出す（ステップＣ１）。ステップＣ１とステップＣ２との間の二重線は、各読み出し処理が並列で行われることを意味する。
【０１０３】
次いで、インスタンス選定部１２３は、仮想ＭＢモデルの入力頻度をパフォーマンス要件から代入する。また、インスタンス選定部１２３は、機能ルール数を、仮想ＭＢチェーンインスタンス候補から共存する仮想ＭＢを特定して算出し、代入する。
【０１０４】
そして、インスタンス選定部１２３は、仮想ＭＢチェーンインスタンス候補内の仮想ＭＢモデルの集合と、仮想ＭＢチェーンの処理時間Ｙの最大値と、仮想ＣＰＵコア上限値とを入力し、仮想ＣＰＵコアの最小値を推定対象としてＰａｒｔｉｃｌｅ  Ｓｗａｒｍ  Ｏｐｔｉｍｉｚａｔｉｏｎ（ＰＳＯ）アルゴリズムを適用する。適用した結果、インスタンス選定部１２３は、対象の仮想ＭＢチェーンインスタンス候補のパフォーマンス要件を満たす、最小の仮想ＣＰＵコア数を推定できる（ステップＣ２）。
【０１０５】
インスタンス選定部１２３は、この最小の仮想ＣＰＵコア数の推定処理を、仮想ＭＢチェーンインスタンス候補毎に並列で行う。ステップＣ２とステップＣ３との間の二重線は、最小の仮想ＣＰＵコア数の推定処理が仮想ＭＢチェーンインスタンス候補毎に並列で行われることを意味する。
【０１０６】
インスタンス選定部１２３は、さらに、推定した各仮想ＭＢチェーンインスタンス候補の仮想ＣＰＵコアの総和を比較し、仮想ＣＰＵリソース消費量が最小になるように仮想マシン、および仮想ＣＰＵコアが割り当てられた最良の仮想ＭＢチェーンインスタンスを選定する（ステップＣ３）。選定した後、インスタンス選定部１２３は、処理を終了する。
【０１０７】
仮想システムの運用管理者は、仮想ＭＢチェーンインスタンス記憶装置１０１に格納された仮想ＭＢチェーンインスタンス候補の情報を確認する。そして、運用管理者は、仮想ＣＰＵリソース消費量が最小になる仮想ＭＢチェーンインスタンスの構成情報を仮想ＭＢ制御手段３０３に入力し、仮想システム内の仮想ＭＢチェーンインスタンスの構成を変更する。
【０１０８】
以下、本実施形態の動作を、具体例を用いて説明する。仮想システム管理装置３００の仮想システムモニタリング手段３０１は、図１０に示すようなモニタリング情報を、仮想ＭＢへのアクセスがある毎に１行ずつモニタリング情報記憶装置３０２に記録する。このとき、入力頻度は、直近の過去のアクセス情報より算出されているとする。
【０１０９】
［仮想ＭＢモデル生成］
仮想ＭＢチェーン管理システム１００の仮想ＭＢモデル生成手段１１０は、仮想ＭＢモデル生成部１１１によって、モニタリング情報記憶装置３０２からモニタリング情報を取り出す。仮想ＭＢモデル生成部１１１は、取り出したモニタリング情報を仮想マシンＩＤでソートすることで、モニタリング情報に記録された仮想マシン毎にモニタリング情報を組分ける（ステップＡ２）。
【０１１０】
図１０に示すモニタリング情報から、仮想マシンＩＤ“ＶＭ１”の仮想マシンでは、ＭＢＩＤ“１”のファイアウォール（機能ルールＩＤはＦＷ１）と、ＭＢＩＤ“２”のロードバランサ（機能ルールＩＤはＬＢ１）が動作していると推定される。このとき、図７に示すＭＢ機能ルール記憶装置２０１に記憶されている機能ルール情報によると、ＦＷ１の機能ルール数は５で、ＬＢ１の機能ルール数は４である。
【０１１１】
そこで、図２に示すように、仮想ＭＢモデル生成部１１１は、組分け処理の結果としてモデル生成用記憶装置１１２に、ＭＢＩＤごとにモニタリング情報の仮想ＭＢの処理時間とアクセス入力頻度、ＣＰＵリソース量と共に、仮想マシン内機能ルール数として合計値の９を格納する（ステップＡ３）。仮想ＭＢモデル生成部１１１は、この機能ルール数算出処理を、仮想マシン毎に行う（ステップＡ４）。
【０１１２】
次いで、仮想ＭＢモデル生成部１１１は、モデル生成用記憶装置１１２に記憶された情報から、仮想ＭＢの処理時間を目的変数とし、仮想ＭＢへの入力頻度、仮想ＭＢが稼動する仮想マシンの仮想ＣＰＵコア数、その仮想マシン内で稼動する仮想ＭＢの機能ルール数の総数を説明変数とした多変量解析を行う（ステップＡ６〜ステップＡ７）。
【０１１３】
仮想ＭＢモデル生成部１１１は、図３に示すような仮想ＭＢモデルを仮想ＭＢ毎に生成し、生成した仮想ＭＢモデルを仮想ＭＢモデル記憶装置１１３に格納する（ステップＡ８）。生成された仮想ＭＢモデルに仮想ＭＢへの入力頻度を入力すると、仮想ＭＢでの処理時間が推定される。
【０１１４】
［仮想ＭＢチェーンインスタンス候補選定］
仮想システムの管理者が、図９におけるチェーン定義ＩＤ“１”に対応する仮想ＭＢチェーン定義に示されるような、ＮＡＴ、ファイアウォール、ロードバランサ、プロキシサーバといった仮想ＭＢを用いた仮想ＭＢチェーンを求めているとする。本具体例において、求められる仮想ＭＢチェーンのパフォーマンス要件と制約内容は、図８における要件ＩＤ“１”に対応する要件・制約情報に示されるように、最大処理時間が５０ｍｓｅｃ、入力頻度が１００アクセス／秒、仮想マシンへの仮想ＣＰＵコア割り当て上限値が８であるとする。
【０１１５】
ここで、仮想ＭＢチェーン導出手段１２０のインスタンス候補生成部１２１による仮想ＭＢチェーンインスタンス候補の生成方法を、図１５と図１６を参照して説明する。図１５と図１６は、仮想ＭＢチェーンインスタンス候補の生成例を示す説明図である。
【０１１６】
仮想ＭＢチェーン導出手段１２０のインスタンス候補生成部１２１は、深さ優先探索でチェーンを直列化する（ステップＢ１）。インスタンス候補生成部１２１は、図１５に示すように、１つの仮想マシンに１つの仮想ＭＢを割り当てるようにして仮想ＭＢチェーンインスタンス候補を生成する。インスタンス候補生成部１２１は、図４の候補ＩＤ“１”に対応するインスタンス候補に示すように、生成した仮想ＭＢチェーンインスタンス候補をインスタンス候補記憶装置１２２に格納する（ステップＢ３）。
【０１１７】
次いで、インスタンス候補生成部１２１は、図１６に示すように、１つの仮想マシンに２つの仮想ＭＢをチェーンの上位側から割り当てるようにして仮想ＭＢチェーンインスタンス候補を生成する。インスタンス候補生成部１２１は、図４における候補ＩＤ“２”に対応するインスタンス候補に示すように、生成した仮想ＭＢチェーンインスタンス候補をインスタンス候補記憶装置１２２に格納する（ステップＢ３）。この仮想ＭＢチェーン定義に対応するチェーンの深さは４なので、インスタンス候補生成部１２１は上記の処理を繰り返すことで、４種類の仮想ＭＢチェーンインスタンス候補を生成する（ステップＢ４）。
【０１１８】
［仮想ＭＢチェーンインスタンス選定］
インスタンス選定部１２３は、インスタンス候補記憶装置１２２から、図４に示すような仮想ＭＢチェーンインスタンス候補を読み出す。また、インスタンス選定部１２３は、仮想ＭＢモデル記憶装置１１３から、図３に示すような仮想ＭＢモデルを読み出す。また、インスタンス選定部１２３は、要件・制約記憶装置２０２から、図８に示すようなパフォーマンス要件と、制約内容としての仮想マシンの仮想ＣＰＵコア上限値を読み出す（ステップＣ１）。
【０１１９】
ここで、インスタンス選定部１２３は、仮想ＭＢチェーンに含まれる仮想ＭＢの仮想ＭＢモデルの入力頻度を、パフォーマンス要件から代入する。チェーンが分岐している場合は、その分岐による入力頻度の変化が予め機能ルールに記載されているとする。本具体例では、分岐にて入力頻度の流量が等分割されるとする。
【０１２０】
図８に示すように、仮想ＭＢチェーンの処理時間Ｙの最大値として５０ｍｓｅｃ、仮想ＣＰＵコア上限値として８をそれぞれ指定し、仮想ＣＰＵコアの最小値を推定対象としてＰＳＯアルゴリズムを適用することで、インスタンス選定部１２３は、図１７および図１８に示すような、パフォーマンス要件を満たす最小の仮想ＣＰＵコア数を推定できる（ステップＣ２）。図１７と図１８は、仮想ＭＢチェーンインスタンスの一例を示す説明図である。
【０１２１】
インスタンス選定部１２３は、この推定した仮想ＭＢチェーンインスタンスを、図５に示すように、仮想ＭＢチェーンインスタンス記憶装置１０１に格納する。そして、推定された各インスタンスの仮想ＣＰＵコアの総和を比較することによって、インスタンス選定部１２３は、最良の仮想ＭＢチェーンインスタンスを選定できる。インスタンス選定部１２３が各インスタンスの仮想ＣＰＵコアの総和を比較した結果、仮想ＣＰＵコアの総和の最小値が“１０”の場合、インスタンスＩＤ“２”の仮想ＭＢチェーンインスタンスが最適案として選定される（ステップＣ３）。
【０１２２】
仮想システムの運用管理者は、仮想ＭＢチェーンインスタンス記憶装置１０１に格納された、図５に示すような仮想ＭＢチェーンインスタンスの情報を参照する。そして、運用管理者は、インスタンスＩＤ“２”の仮想ＣＰＵリソース消費量“１０”が最小であることを確認する。
【０１２３】
仮想システムの運用管理者は、インスタンスＩＤ“２”の仮想ＭＢチェーンインスタンス構成情報を仮想ＭＢチェーンインスタンス記憶装置１０１から取り出して仮想ＭＢ制御手段３０３に入力し、仮想システム内の仮想ＭＢチェーンインスタンスの構成を変更する。
【０１２４】
本発明による仮想ＭＢ管理システムは、図１に示すように、仮想ＭＢのパフォーマンスを再現する仮想ＭＢモデルを生成する仮想ＭＢモデル生成手段１１０と、仮想ＭＢチェーン定義に最適化された仮想マシン割り当てとＣＰＵリソース量指定を加えた仮想ＭＢチェーンインスタンスを導出する仮想ＭＢチェーン導出手段１２０とを備える。
【０１２５】
このような構成を採用すると、仮想ＭＢモデル生成手段１１０が仮想ＭＢの機能ルール数とＣＰＵリソース量、パフォーマンスの相関関係を考慮してパフォーマンスを推定する仮想ＭＢモデルを生成することで、仮想ＭＢ管理システムは、第１の問題点を解決できる。
【０１２６】
さらに、仮想ＭＢチェーン導出手段１２０が、仮想ＭＢチェーン定義情報から、仮想ＭＢの仮想マシンへの割り当てと仮想マシンへのＣＰＵリソースの割り当ての影響を考慮し、ＣＰＵリソースの総量を最小化した仮想ＭＢチェーンインスタンスを生成することで、仮想ＭＢ管理システムは、第２の問題点を解決できる。
【０１２７】
本実施形態の仮想ＭＢ管理システムを使用した場合、仮想ＭＢモデル生成手段１１０が機能ルール数と仮想ＣＰＵリソース量、処理時間、入力頻度の相関関係を考慮した仮想ＭＢの性能モデルを生成し、さらに、仮想ＭＢチェーン導出手段１２０が仮想ＭＢの仮想マシンへの割り当てと、仮想マシンへの仮想ＣＰＵリソースの割り当ての影響を考慮した仮想ＭＢチェーンインスタンスを導出するため、ユーザは、求めるＮＷ要件（機能ルール）と求める性能（パフォーマンス）を指定するだけで、総リソース割り当て量が最小化された仮想ＭＢチェーンインスタンスの構成を生成できる。
【０１２８】
次に、本発明の概要を説明する。図１９は、本発明による仮想ミドルボックス管理システムの概要を示すブロック図である。仮想ミドルボックス管理システム１０は、仮想ミドルボックスの機能ルール数と仮想リソース量、入力状態、パフォーマンスの相関関係を抽象化した仮想ミドルボックスの性能モデルを生成する仮想ミドルボックスモデル生成手段１１（例えば、仮想ＭＢモデル生成手段１１０）を備える。
【０１２９】
そのような構成により、仮想ミドルボックス管理システムは、仮想ミドルボックスの機能ルール数とＣＰＵリソース量、パフォーマンスの相関を考慮した仮想ミドルボックスの性能モデルを生成できる。
【０１３０】
また、仮想ミドルボックス管理システム１０は、仮想ミドルボックスへの仮想マシン割り当て案を、仮想ミドルボックスの特性に合わせて生成する仮想ミドルボックスチェーン導出手段（例えば、仮想ＭＢチェーン導出手段１２０）を備えていてもよい。
【０１３１】
そのような構成により、仮想ミドルボックス管理システムは、仮想ミドルボックスの機能ルール数を考慮した上で、仮想ミドルボックスの仮想マシンへの配備を最適にできる。
【０１３２】
また、仮想ミドルボックスチェーン導出手段は、通信ネットワーク機能要件と性能要件とを入力として、総リソース割り当て量を最小化した仮想ミドルボックスチェーンインスタンスを生成してもよい。
【０１３３】
そのような構成により、仮想ミドルボックス管理システムは、仮想ミドルボックスの仮想マシンへの割り当てと、仮想マシンへのＣＰＵリソースの割り当ての影響を考慮することで、ＣＰＵリソースの総割り当て量を最小化した仮想ミドルボックスチェーンインスタンスを生成できる。
【０１３４】
また、仮想ミドルボックスモデル生成手段１１は、仮想ミドルボックスの機能ルール数と仮想リソース量、入力状態、パフォーマンスの相関関係を多変量解析により定式化することで仮想ミドルボックスの性能モデルを生成し、仮想ミドルボックスチェーン導出手段は、生成された性能モデルを用いて、仮想ミドルボックスチェーンインスタンスへの仮想リソース量割り当ての最適化を行ってもよい。
【０１３５】
そのような構成により、仮想ミドルボックス管理システムは、多変量解析により定式化された仮想ミドルボックス性能モデルを用いて、最適な仮想リソース量割り当てを実施できる。
【０１３６】
また、仮想ミドルボックスチェーン導出手段は、生成された仮想ミドルボックスチェーンインスタンスの中で、総リソース割り当て量が最小な仮想ミドルボックスチェーンインスタンスを選定するインスタンス選定手段（例えば、インスタンス選定部１２３）を備えていてもよい。
【０１３７】
そのような構成により、仮想ミドルボックス管理システムは、各インスタンスの仮想ＣＰＵコアの総和を比較することによって、最良の仮想ミドルボックスチェーンインスタンスを選定できる。
【０１３８】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１３９】
この出願は、２０１３年１１月２６日に出願された日本特許出願２０１３−２４３４７０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【０１４０】
本発明は、サービスシステムを構成するノードの仮想マシンへの配置と、仮想マシンのリソース量を同時に最適化する用途等に好適に適用される。
【符号の説明】
【０１４１】
１〜６  仮想ＭＢ
１０  仮想ミドルボックス（ＭＢ）管理システム
１１、１１０  仮想ミドルボックス（ＭＢ）モデル生成手段
１００  仮想ＭＢチェーン管理システム
１０１  仮想ＭＢチェーンインスタンス記憶装置
１１１  仮想ＭＢモデル生成部
１１２  モデル生成用記憶装置
１１３  仮想ＭＢモデル記憶装置
１２０  仮想ＭＢチェーン導出手段
１２１  インスタンス候補生成部
１２２  インスタンス候補記憶装置
１２３  インスタンス選定部
２０１  ＭＢ機能ルール記憶装置
２０２  要件・制約記憶装置
２０３  仮想ＭＢチェーン定義記憶装置
３００  仮想システム管理装置
３０１  仮想システムモニタリング手段
３０２  モニタリング情報記憶装置
３０３  仮想ＭＢ制御手段
４００〜４０ｎ  仮想システム
【図１】
2015079612.tif 000004
【図２】
2015079612.tif 000005
【図３】
2015079612.tif 000006
【図４】
2015079612.tif 000007
【図５】
2015079612.tif 000008
【図６】
2015079612.tif 000009
【図７】
2015079612.tif 000010
【図８】
2015079612.tif 000011
【図９】
2015079612.tif 000012
【図１０】
2015079612.tif 000013
【図１１】
2015079612.tif 000014
【図１２】
2015079612.tif 000015
【図１３】
2015079612.tif 000016
【図１４】
2015079612.tif 000017
【図１５】
2015079612.tif 000018
【図１６】
2015079612.tif 000019
【図１７】
2015079612.tif 000020
【図１８】
2015079612.tif 000021
【図１９】
2015079612.tif 000022
【図２０】
2015079612.tif 000023
【図２１】
2015079612.tif 000024
【国際調査報告】
2015079612.tif 000025
2015079612.tif 000026
2015079612.tif 000027
2015079612.tif 000028