(57)【要約】【課題】  サービスチェインの情報に基づいて仮想マシンを、適したサーバにマイグレーションする、及び追加する。【解決手段】  本発明は、VM配置判断手段、パターン検出手段、パターンテーブルを有し、NW機能のサービスチェイン情報が格納されているサービスチェイン情報テーブルからサービスチェインのパターンを抽出し、該パターンと該パターンの出現回数をパターンテーブルに格納するパターン検出手段と、パターンテーブルを参照して、所定の閾値以上出現するサービスチェインの高頻度パターンに該当するNW機能のみに対し、該NW機能が一つのサーバに存在するように、マイグレーション先のサーバを選択するVM配置判断手段と、を有する。【選択図】  図３
2015153330.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク（NW）機能がサーバ上の仮想マシン(VM)として稼動し、ユーザトラヒックが複数のVMを経由して通信を行うネットワークにおいて、VMを配置するための仮想マシン配置システムであって、
サーバ上のVMとして配置された複数のNW機能を経由する通信経路を制御する技術であるサービスチェイニング技術を有し、
VM配置判断手段、パターン検出手段、パターンテーブルを有するネットワーク・仮想マシン（NW・VM）制御装置と、
前記NW機能のサービスチェイン情報が格納されているサービスチェイン情報テーブルを有するデータ管理サーバと、
VMを有するサーバと、
からなるシステムにおいて、
前記NW・VM制御装置は、
前記サービスチェイン情報テーブルからサービスチェインのパターンを抽出し、該パターンと該パターンの出現回数を前記パターンテーブルに格納するパターン検出手段と、
前記パターンテーブルを参照して、所定の閾値以上出現するサービスチェインの高頻度パターンに該当するNW機能のみに対し、該NW機能が一つのサーバに存在するように、マイグレーション先のサーバを選択するVM配置判断手段と、
を有することを特徴とする仮想マシン配置システム。
【請求項２】
前記VM配置判断手段は、
前記高頻度パターンに該当するNW機能に基づいて、NW機能のIDと該NW機能の仮想マシンが格納されているサーバの識別子が対応付けられている機能配置情報テーブルを参照し、２つのNW機能を１つのサーバに集約するためのVMマイグレーション数を計算し、最もマイグレーション数が少ないサーバを選択するサーバ選択手段を含み、
前記サーバ選択手段は、
前記２つのNW機能を、NW機能A、NＷ機能Bとした場合に、該NW機能AのVMがn番目に多く存在するサーバと、該NW機能BのVMがm番目に多く存在するサーバのいずれかから選択する手段を含む
請求項１記載の仮想マシン配置システム。
【請求項３】
ネットワーク（NW）機能がサーバ上の仮想マシン(VM)として稼動し、ユーザトラヒックが複数のVMを経由して通信を行うネットワークにおいて、サービスチェイニング技術により経路制御が行われる場合に、VMを配置するための仮想マシン配置システムであって、
VM配置判断手段、パターン検出手段、パターンテーブルを有するネットワーク・仮想マシン（NW・VM）制御装置と、
前記NW機能のサービスチェイン情報が格納されているサービスチェイン情報テーブルを有するデータ管理サーバと、
VMを有するサーバと、
からなるシステムにおいて、
前記NW・VM制御装置は、
前記サービスチェイン情報テーブルからサービスチェインのパターンを抽出し、該パターンと該パターンの出現回数を前記パターンテーブルに格納するパターン検出手段と、
前記パターンテーブルを参照して、所定の閾値以上出現するサービスチェインの高頻度パターンに含まれるNW機能が一つのサーバに存在するもしくは複数のサーバに集約されるように、追加先のサーバを選択するVM配置判断手段と、
を有することを特徴とする仮想マシン配置システム。
【請求項４】
前記VM配置判断手段は、
前記所定の閾値以上出現するサービスチェインの高頻度パターンが検出された場合には、n番目の高頻度パターンについて、該n番目の高頻度パターンに含まれる機能Aとチェインする機能Bに基づいて、NW機能のIDと該NW機能の仮想マシンが格納されているサーバの識別子が対応付けられている機能配置情報テーブルを参照し、サーバ配置状況に基づいて、該機能BのVMをｍ番目に多く収容するサーバをVM追加先として選択する第１の選択手段と、
前記所定の閾値以上出現するサービスチェインの高頻度パターンが検出されなかった場合には、最もリソースのあるサーバを選択する第２の選択手段と、
を含む請求項３記載の仮想マシン配置システム。
【請求項５】
ネットワーク（NW）機能がサーバ上の仮想マシン(VM)として稼動し、ユーザトラヒックが複数のVMを経由して通信を行うネットワークにおいて、サービスチェイニング技術により経路制御が行われる場合に、NW・VM制御装置がVMを配置するための仮想マシン配置方法であって、
前記NW機能のサービスチェイン情報が格納されているサービスチェイン情報テーブルからサービスチェインのパターンを抽出し、該パターンと該パターンの出現回数をパターンテーブルに格納するパターン検出ステップと、
前記パターンテーブルを参照して、所定の閾値以上出現するサービスチェインの高頻度パターンに該当するNW機能のみに対し、該NW機能が一つのサーバに存在するように、マイグレーション先のサーバを選択するVM配置判断ステップと、
を行うことを特徴とする仮想マシン配置方法。
【請求項６】
前記VM配置判断ステップにおいて、
前記高頻度パターンに該当するNW機能に基づいて、NW機能のIDと該NW機能の仮想マシンが格納されているサーバの識別子が対応付けられている機能配置情報テーブルを参照し、２つのNW機能を１つのサーバに集約するためのVMマイグレーション数を計算し、最もマイグレーション数が少ないサーバを選択するサーバ選択ステップを含み、
前記サーバ選択ステップにおいて、
前記２つのNW機能を、NW機能A、NＷ機能Bとした場合に、該NW機能AのVMがn番目に多く存在するサーバと、該NW機能BのVMがm番目に多く存在するサーバのいずれかから選択する
請求項５記載の仮想マシン配置方法。
【請求項７】
ネットワーク（NW）機能がサーバ上の仮想マシン(VM)として稼動し、ユーザトラヒックが複数のVMを経由して通信を行うネットワークにおいて、サービスチェイニング技術により経路制御が行われる場合に、NW・VM制御装置がVMを配置するための仮想マシン配置方法であって、
NW機能のVM追加が必要となった際に、NW機能のサービスチェイン情報が格納されているサービスチェイン情報テーブルからサービスチェインのパターンを抽出し、該パターンと該パターンの出現回数をパターンテーブルに格納するパターン検出ステップと、
前記パターンテーブルを参照して、所定の閾値以上出現するサービスチェインの高頻度パターンに含まれるNW機能が一つのサーバに存在するもしくは複数のサーバに集約されるように、追加先のサーバを選択する
VM配置判断ステップと、
を行うことを特徴とする仮想マシン配置方法。
【請求項８】
前記VM配置判断ステップにおいて、
前記所定の閾値以上出現するサービスチェインの高頻度パターンが検出された場合には、n番目の高頻度パターンについて、該n番目の高頻度パターンに含まれる機能Aとチェインする機能Bに基づいて、NW機能のIDと該NW機能の仮想マシンが格納されているサーバの識別子が対応付けられている機能配置情報テーブルを参照し、サーバ配置状況に基づいて、該機能BのVMをｍ番目に多く収容するサーバをVM追加先として選択する第１の選択ステップと、
前記所定の閾値以上出現するサービスチェインの高頻度パターンが検出されなかった場合には、最もリソースのあるサーバを選択する第２の選択ステップと、
を含む請求項７記載の仮想マシン配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン配置システム及び方法に係り、特に、通信経路が複数の仮想マシンを経由する環境における、サービスチェインの情報を考慮した仮想マシンのマイグレーション及び追加を行うための仮想マシン配置システム及び方法に関する。
【背景技術】
【０００２】
近年、ネットワーク(NW)仮想化技術として、SDN(Software Defined Network)/NFV(Network Functions Virtualization)技術が注目されている。
【０００３】
SDN/NFV技術により、設備コストの削減・リソースの最適化・運用の自動化と効率化を実現することで、CAPEX（Capital Expenditure）/OPEX（Operating Expenditure）削減ができることが期待されている。さらに、NWソフトウェアでより柔軟に制御が可能となり、今までは出来なかったNWサービスの実現も期待される。
【０００４】
このような新たなNW制御方式として、サービスチェイニング技術が注目されている。サービスチェイニング技術は、仮想化によりサーバ上の仮想マシン（VM）として配置された複数のNW機能を経由する通信経路を可能にする技術であり、ユーザが必要な複数のNW機能が仮想化され別々のサーバに格納されていてもユーザにNW機能を提供することが可能となる。
【０００５】
キャリアネットワークのような何万単位の加入者がいるようなネットワークでは、加入者に対して仮想マシンとして仮想化されたネットワーク機能を提供する際に、キャパシティと信頼性の観点から、一つのデータセンタではなく複数のデータセンタにネットワーク機能の仮想マシンを配備するといった形態が考えられる。この場合、図１に示すように、サービスチェインと仮想マシンの配置によっては、物理的に距離の離れたサーバ間を何往復もしてしまい、非効率な通信経路が形成されてしまう可能性がある。
【０００６】
この問題を解決する方法として、サービスチェインの情報に基づいて仮想マシンを適したサーバにマイグレーション及び追加するという方法を考える。
【０００７】
一方で、仮想マシンサーバが複数台存在する環境において、仮想マシンを配置する場所を選択する方法としては、特許文献１のような物理マシンのリソースの状況によりマイグレーション先を決定する方法がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開2005-115653号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記の特許文献１の方法では、サービスチェインの情報に基づいて仮想マシンを適したサーバに配置する方法については検討されていない。
【００１０】
サービスチェインの情報に基づいて適したサーバに仮想マシンを配置する方法として、すべてのサービスチェインのパターンの情報に基づいて仮想マシンの最適な配置を行うということが容易に考えられるが、キャリアネットワークのような何万人単位のユーザが加入しそれぞれのユーザごとにサービスチェイニングの情報を持っているような環境では、最適な配置を計算するための計算処理量が膨大になってしまい、また、あるサービスチェインにおける最適な仮想マシンの配置が、他のサービスチェインでは適さない可能性があり、すべてのサービスチェインにとって最適な配置を計算することはほぼ不可能である。
【００１１】
そのため、キャリアネットワークのような大規模NWにおいてもスケールできる計算量で、かつ帯域と遅延が全体としてできるだけ最適に近い仮想マシンの配置になるような配置方法を検討する必要がある。
【００１２】
本発明は、上記の点に鑑みなされたもので、サービスチェインの情報に基づいて仮想マシンを、適したサーバにマイグレーション及び追加することが可能な仮想マシン配置システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
一態様によれば、ネットワーク（NW）機能がサーバ上の仮想マシン(VM)として稼動し、ユーザトラヒックが複数のVMを経由して通信を行うネットワークにおいて、サービスチェイニング技術により経路制御が行われる場合に、該VMを配置するための仮想マシン配置システムであって、
VM配置判断手段、パターン検出手段、パターンテーブルを有するネットワーク・仮想マシン（NW・VM）制御装置と、
前記NW機能のサービスチェイン情報が格納されているサービスチェイン情報テーブルを有するデータ管理サーバと、
VMを有するサーバと、
からなるシステムにおいて、
前記NW・VM制御装置は、
前記サービスチェイン情報テーブルからサービスチェインのパターンを抽出し、該パターンと該パターンの出現回数を前記パターンテーブルに格納するパターン検出手段と、
前記パターンテーブルを参照して、所定の閾値以上出現するサービスチェインの高頻度パターンに該当するNW機能のみに対し、該NW機能が一つのサーバに存在するように、マイグレーション先のサーバを選択するVM配置判断手段と、を有する仮想マシン配置システムが提供される。
【発明の効果】
【００１４】
一態様によれば、ネットワークプロバイダにとっては、サービスチェインによって物理的な距離が離れたサーバを往復するような非効率な通信経路が減少することによるネットワークの利用帯域の削減ができ、ネットワークでサービスチェインに基づく通信を行うユーザにとっては、通信の遅延が減少する。さらに、キャリアネットワークのような多数のユーザ・サービスチェイン情報をもつネットワークにおいても上述のサービスチェインに基づいた仮想マシンの配置方法の実装が可能となる。
【図面の簡単な説明】
【００１５】
【図１】サービスチェインに基づいた仮想マシンの最適配置における課題例である。
【図２】本発明の概要を示す図である。
【図３】本発明の一実施の形態におけるネットワーク構成例である。
【図４】本発明の第１の実施の形態の処理イメージである。
【図５】本発明の第１の実施の形態における定期的にパターンを検出しVMをマイグレーションする場合のフローチャートである。
【図６】本発明の第１の実施の形態における定期的にパターンを検出しVMをマイグレーションする場合のシーケンスである。
【図７】本発明の第１の実施の形態における具体的な処理の例（その１）である。
【図８】本発明の第１の実施の形態における具体的な処理の例（その２）である。
【図９】本発明の第１の実施の形態における処理の例である。
【図１０】本発明の第２の実施の形態の処理イメージである。
【図１１】本発明の第２の実施の形態におけるVMの追加が必要な追加先を選択する場合のフローチャートである。
【図１２】本発明の第２の実施の形態におけるVMの追加が必要な追加先を選択する場合のシーケンスである。
【図１３】本発明の第２の実施の形態における具体的な処理の例（その１）である。
【図１４】本発明の第２の実施の形態における具体的な処理の例（その２）である。
【発明を実施するための形態】
【００１６】
以下、図面と共に本発明の実施の形態を説明する。
【００１７】
本発明では、図２に示すように、ネットワーク(NW)機能のサービスチェインの情報が格納されているテーブル（以下、サービスチェイン情報テーブル）からサービスチェインのパターンを抽出し、高頻度パターンに該当するネットワーク機能のみに対し、それらの機能が一つのサーバ内に存在するようにマイグレーション先のサーバを選択し、また、あるネットワーク機能のVM追加が必要になった際、同様にその機能に関わるサービスチェインのパターンを抽出し、高頻度パターンが存在すれば、それらの機能が一つのサーバ内の存在するように追加先のサーバを選択する。
【００１８】
高頻度パターンに該当するネットワーク機能のみに対して、仮想マシンのマイグレーション・追加を行うことで、計算処理量が大幅に減少しキャリアネットワークで適用できるスケーラビリティを確保するとともに、多くのユーザにとって効果の高い仮想マシンの配置を実現する。
【００１９】
図３は、本発明の一実施の形態におけるネットワーク構成の一例を示す。
【００２０】
同図に示すネットワークは、NW・VM制御装置１００、データ管理サーバ２００、スイッチ３００、複数のサーバ４００、クライアント端末５００を有する。
【００２１】
NW・VM制御装置１００は、NW・VM制御部１１０、VM状態監視部１２０、および本発明を実装する部であるVM配置判断部１３０、パターン検出部１４０、パターンテーブル１５０を有する。
【００２２】
NW・VM制御部１１０は、VM仮想マシンの生成・削除部１１１、VMマイグレーション部１１２と、それに伴いスイッチ３００のネットワークの経路情報を変更できるNW制御部１１３を有している。
【００２３】
VM状態監視部１２０は、VMとサーバのCPU、メモリ、ハードディスク容量などのリソース情報を要求・取得できるVM・サーバリソース情報送受信部１２１を有している。
【００２４】
VM配置判断部１３０は、仮想マシンの配置判断を定期的に行うためのタイマ１３２、パターンテーブル１５０から得たサービスチェインのパターンの情報をもとにどのサーバ４００に仮想マシン(VM)をマイグレーション・追加するかを決定するVMマイグレーション先/追加先選択部１３１、また、VM状態監視部から得たリソース情報をもとに、VMのマイグレーション及び追加の可否判断を行うVMマイグレーション・追加可否判断部１３３を有している。
【００２５】
パターン検出部１４０は、データ管理サーバ２００に格納されている、サービスチェイン情報テーブル２１０からパターンを検出し、パターンとその出現回数を、パターンテーブル１５０に記述する。
【００２６】
VM配置判断部１３０、パターン検出部１４０、パターンテーブル１５０が本発明の特徴となる構成要素である。
【００２７】
データ管理サーバ２００は、表１に示すようなサービスチェイン情報テーブル２１０と、表２に示すような機能配置情報テーブル２２０が格納されている。
【００２８】
【表１】
2015153330.tif 000003
【００２９】
【表２】
2015153330.tif 000004
サービスチェイン情報テーブル２１０には、サービスチェインごとの識別子（以下、サービスチェインID）と、サービスチェインIDごとの経由するネットワーク機能（NW機能）の識別子（以下、機能ID)とその順番が格納されている。
【００３０】
機能配置情報テーブル２２０には、機能IDと、そのNW機能のVMが格納されているサーバの識別子（以下、サーバID。サーバIDはサーバのIPアドレス、MACアドレス等が考えられる）
スイッチ３００は、フロー転送部３１０を有している。フロー転送部３１０は、NW・VM制御装置１００のNW・VM制御部１１０により設定された経路情報に基づき、データフローを転送する。
【００３１】
サーバ４００１，４００２は、VM４１０を格納し、またVM制御部４２０を持つ。VM制御部４２０は、サーバ４００内にVM４１０を生成・削除し、またVM４１０やサーバ４００のリソースのデータ・アラートを収集し、NW・VM制御装置１００のVM状態監視部１２０に送信する。
【００３２】
以下に上記の構成における２つの実施の形態を説明する。
【００３３】
第１の実施の形態では、定期的にパターンを検出し、仮想マシンをマイグレーションする場合を示し、第２の実施の形態では、NW機能のリソース追加時にサービスチェイン情報に基づき仮想マシンを配置する場合を示す。
【００３４】
［第１の実施の形態］
本実施の形態では、定期的なチェックによるサービスチェイン情報に基づいて、VMマイグレーションを行う場合について説明する。図４に本実施の形態の処理イメージを示す。
【００３５】
想定される状況としては、新しいNW機能を立ち上げたときや、または、ユーザに新たなトレンドが発生し、新しいサービスチェインのパターンの傾向が発生または変化することが想定される。
【００３６】
ユースケースとして、NW・VM制御装置１００は、一定時間ごとにデータ管理サーバ２００にアクセスして、サービスチェイン情報テーブル２１０を参照してサービスチェイン情報を確認する。新しい高頻度パターンを検出した場合には（a）、データ管理サーバ２００から機能配置情報を取得し（B）、VMマイグレーション先を選択する（ｃ）。VMマイグレーションを行うサーバリソースを確認し（ｄ）、その高頻度パターンに該当する機能のVMの配置を最適化する（ｅ）。
【００３７】
本実施の形態では、NW・VM制御装置１００が定期的にサービスチェイン情報テーブル２１０からパターンを検出し、自動的にVMのマイグレーションを行う場合のマイグレーションの手順を示す。以下の手順を簡単に示すため、フローチャートを図５に、シーケンス図を図６に示し、具体的な処理の例を図７，８に示す。
【００３８】
まず、VM配置判断部１３０により、高頻度パターンの閾値αと、マイグレーションを行ってから次にマイグレーションを行うまでの時間Tが設定されているものとする（ステップ１０１）。
（１）  前回のマイグレーション完了時からタイマ１３２の時間がT経過すると（ステップ１０２）、VM配置判断部１３０のVMマイグレーション先／追加先選択部１３１は、パターン検出部１４０に対し、パターン情報更新要求を行う（ステップ１０３）。
【００３９】
（２）パターン情報更新要求を受けたパターン検出部１４０は、データ管理サーバ２００にアクセスし、サービスチェイン情報テーブル２１０からパターンを抽出し、パターンとその出現頻度をパターンテーブル１５０に記述する（ステップ１０４）。図７の例では、高頻度パターンの閾値（α）を『３回』とした場合、パターンテーブル１５０からパターン『A→C』を新たな高頻度パターンとして取得する（図７ａ）。
【００４０】
（３）パターンテーブル１５０からVM配置判断部１３０にデータが送信され、VM配置判断部１３０のVMマイグレーション先／追加先選択部１３１は、出現頻度が閾値α以上のパターンを高頻度パターンとして保持する（ステップ１０５,yes）。図７の例では、NW/VM制御装置が（２）で取得した機能A（機能ID=A）と機能C(機能ID=C)の配置情報として機能配置情報テーブル２２０の配置情報を取得する（図７B）。
【００４１】
（４）VM配置判定部１３０のVMマイグレーション先／追加先選択部１３１は、高頻度パターンの中に、新しく出現したパターンがある場合は（ステップ１０６,Yes）、マイグレーションが必要と判断し、データ管理サーバ２００にアクセスし、機能配置情報テーブル２２０から新しく出現したパターンの2つの仮想マシン４１０１，４０１２の機能配置情報を取得する（ステップ１０７）。新しいパターンがなければ、タイマ１３２を0にリセットし、終了する。
【００４２】
（５）変数n=1、m=1をセットする（ステップ１０８）
（６）VM配置判断部１３０のVMマイグレーション先／追加先選択部１３１は、以下の2種類のサーバ４００１，４００２から、２つの機能を一つのサーバに集約するために必要なVM４１０のマイグレーション数を計算し、最もマイグレーション数が少ないサーバをマイグレーション先サーバとして選択する（ステップ１０９）。２つの機能のVM４１０のうち、同一サーバ４００に配置されている仮想マシンに関しては、VM移行数計算からは除外し、それ以外のVMをマイグレーション対象とする。例えば、２つのサービスのVMそれぞれを最も多く収容するサーバから、移行回数が少なくて済む方をVMマイグレーション先サーバとして選択する場合、図７の例では、機能ID＝Aについて、VMが最も多く収容されているサーバは『サーバa』であり、全て移行するために必要な移行回数は、『サーバa』が『２回』であり、『サーバb、ｃ』は『３回』であるので、少ない方の『サーバa』をマイグレーション先に決定する（図７ｃ）。
【００４３】
(i)2機能をそれぞれA、Bとして、Aの仮想マシンがn番目に多く存在するサーバ；
(ii)Bの仮想マシンがm番目に多く存在するサーバ：
このサーバ選択方法を、本例では、「VMマイグレーション先選択方法」と呼ぶ。
【００４４】
上記で選択したサーバは、VM移行先選択方法の(i)である場合には（ステップ１１０,Yes)、(i)のサーバを移行先に選択し（ステップ１１１）、(i)でない場合には（ステップ１１０,No）、(ii)のサーバを移行先に選択する（ステップ１１２）。
【００４５】
（７）VM配置判断部１３０のVMマイグレーション・追加可否判断部１３３は、上記で選択したサーバ４００に対して、1つのVMを収容するリソース（CPU、メモリ、容量）が十分であるか確認するために、VM状態監視部１２０にリソース確認要求を送信する。
【００４６】
（８）リソース確認要求を受けたVM状態監視部１２０は、該当のサーバ４００に対し、リソース状態要求を送信する。図８の例では、VM配置判断部１３０からVM状態監視部１２０を介してサーバaに対してリソース状態要求を送信する(図８ｄ)。
【００４７】
（９）サーバ４００のVM制御部４２０は、リソース状態要求を受信し、サーバのリソース状態をVM状態監視部１２０に送信する（ステップ１１３）。
【００４８】
（１０）サーバ４００のリソース状態を受信したVM状態監視部１２０は、その情報をVM配置判断部１３０に送信する。
【００４９】
（１１）VM配置判断部１３０のVMマイグレーション・追加可否判断部１３３は、受信したサーバ４００のリソース状態の情報をもとに、サーバ４００のリソースが十分か判断する（ステップ１１４）。リソースが十分と判断した場合（ステップ１１４,Yes）、NW・VM制御部１１０に仮想マシン４１０のマイグレーション実行要求を送信する。図８の例では、VM配置判断部１３０において、取得したリソース状態の情報から、『サーバａ』へのマイグレーションが可能と判断し（図８ｄ）、『サーバb』の機能CのVMを『サーバａ』にマイグレーションするマイグレーション実行要求をNW・VM制御部１１０に送出する（図８ｅ）。
【００５０】
そうでない場合、（６）（ステップ１０９）にて(i)を選択した場合は（ステップ１１６,Yes）、n=n+1とし（ステップ１１７）、(ii)を選択した場合は（ステップ１１６,No）m=m+1として（ステップ１１８）、(６)（ステップ１０９）に戻る。
【００５１】
（１２）マイグレーション実行要求を受信したNW・VM制御部１１０のVMマイグレーション部１２１は、マイグレーション先のサーバ４００に２つの機能のVMが集約されるように、仮想マシン４１０のマイグレーションを実行する（ステップ１１５）。
【００５２】
（１３）NW・VM制御部１１０は、マイグレーション実行後、マイグレーションするVMが残っていれば（ステップ１１９,Yes）、（７）（ステップ１１３）に戻り、そうでなければ（ステップ１１０,No）終了する。
この手順で本発明の特徴を示す部分は、（１）〜（６）である。
【００５３】
図９に、本実施の形態の処理の例を示す。
【００５４】
データ管理サーバ２００は、サービスチェイン情報テーブル２１０に格納されたサービスチェインの情報を、NW・VM制御装置１００のパターン検出部１４０からの要求に応じて送信する。
NW・VM制御装置１００のパターン検出部１４０は、サービスチェインの情報からサービスチェインID毎に前後２つのNW機能の組み合わせとその出現頻度を取得し、パターンテーブル１５０に書き込む。図９の例では、サービスチェイン情報のパターンA→Bの出現頻度が１回、A→Cの出現頻度が２回、B→Cの出現頻度が１回、C→Dの出現頻度が３回、…という情報を、パターンテーブル１５０に書き込む。ここで、VM配置判断部１３０は、閾値が３回（α=3）以上のパターンとして、「C→D」を抽出し、VM移行先と追加先のアルゴリズムを実行することにより、移行するVMと追加先のVMを選択し、NW・VM制御部１１０でスイッチ３００を介してマイグレーションを実行する。
【００５５】
[第２の実施の形態]
本実施の形態では、NW機能のリソース追加時にサービスチェイン情報に基づき仮想マシンを配置する場合について説明する。図１０に本実施の形態の処理のイメージを示す。想定される状況としては、NW機能のリソースが不足した場合、その機能のVMを、リソースが十分なサーバに追加し、自動的にスケールさせるものである。ユースケースとしては、NW/VM制御装置１００が、VMのリソース不足のアラートを検出したとき（図１０ａ）、VMのNW機能についてサービスチェイン情報の確認とパターン検出を行い（図１０ｂ）、高頻度パターンが存在すれば、そのパターンに基づいて機能配置情報を管理サーバ２００から取得して（図１０ｃ）、VMの追加先を選択する（図１０ｄ）。NW/VM制御装置１００はサーバリソースを確認し（図１０ｅ）、VMの追加を実行する（図１０ｆ）。
【００５６】
ここでは、実施形態の一例として、あるNW機能の仮想マシンのリソースが逼迫し、そのアラートを検出し、VMの追加を行う際に、サービスチェイン情報に基づいて追加先サーバを決定し配置する場合の手順を示す。以下の手順を簡単に示すため、フローチャートを図１１に、シーケンス図を図１２に示す。図１２では、以下の手順における（１０）、（１１）のフローについては割愛している。具体的な処理を図１３、図１４に示す。
【００５７】
まず、VM配置判断機能により、高頻度パターンの閾値αが設定されているものとする。
【００５８】
（１）仮想マシン４１０のリソース不足により、サーバ４００のVM制御部４２０はNW・VM制御装置１００のVM状態監視部１２０に対し、リソース状態をアラートする。図１３の例では、サーバaがVMリソース（NW機能B）の状態をアラートする（図１３ａ）。
【００５９】
（２）アラートを受信したVM状態監視部１２０は、VM配置判断部１３０に対して仮想マシンの追加要求を行う（ステップ２０１）。図１３の例では、『NW機能B』のVMの追加が必要であると判断する（図１３ａ）。
【００６０】
（３）VM４１０の追加要求を受けたVM配置判断部１３０のVMマイグレーション・追加可否判断部１３３は、パターンテーブル１５０に対し、該当するNW機能に関するパターン情報要求を行う（ステップ２０２）。
【００６１】
（４）パターン情報要求を受けたパターンテーブル１５０は、VMマイグレーション・追加可否判断部１３３にデータを送信する（ステップ２０３）。
【００６２】
（５）パターンのデータを受信したVMマイグレーション・追加可否判断部１３３は、該当のNW機能を含むサービスチェインのパターンの中で出現頻度が閾値α以上のパターンを高頻度パターンとして保持する（ステップ２０４,Yes、３００）。高頻度パターンがなければ（ステップ２０４,No）、（１０）（ステップ４００）に進む。図１３の例では、高頻度パターンの閾値（α）が３回であるとした場合、NW機能Bに関連する高頻度パターンとして、「A→B」を検出する（図１３ｂ）。なお、本実施の形態では、サーバ４００でのアラート検出をトリガとして検出を行うため、一定時間（単位時間T）毎にパターンテーブル１５０を参照しない。
【００６３】
（６）変数n=1をセットする（ステップ３０１）。
【００６４】
（７）VM配置判断部１３０のVMマイグレーション先／追加先選択部１３１は、高頻度パターンから、n番目に出現頻度の高い高頻度パターンを選択し（ステップ３０２）、該当のNW機能ではない方のNW機能（機能AのVM追加要求を受け、高頻度パターンがA→Bである場合は、機能Bとする）の機能配置情報を、機能配置情報テーブル２２０から取得する（ステップ３０３）。図１３の例では、NW機能Bに関連する高頻度パターンとして「A→B」を検出した場合、NW機能「A」の機能配置情報を取得する（図１３ｃ）。
【００６５】
（８）変数m=1をセットする（ステップ３０４）。
【００６６】
（９）VM配置判断部１３０の VMマイグレーション先／追加先選択部１３１は、機能BのVMをm番目に多く収容するサーバをVMの追加先サーバとして選択し（ステップ３０５）、（１２）に進む。このサーバ選択方法を、図６において「VM追加先選択方法１」と呼ぶ。図１４の例では、選択した機能(機能ID=A)のVMを最も多く収容するサーバを追加先サーバ（サーバa）とする（図１４ｄ）。
【００６７】
（１０）VM配置判断部１３０のVMマイグレーション・追加可否判断部１３３は、リソースのあるサーバが存在するかVM状態監視部１２０に問い合わせる。VM状態監視部１２０は、各サーバ４００のリソース状態を確認したのち、その情報をVM配置判断部１３０に送信する（ステップ４０１）。
【００６８】
（１１）各サーバ４００のリソース状態を受信したVM配置判断部１３０のVMマイグレーション・追加可否判断部１３３は、当該リソース状態に基づいてVM追加の可否判断を行う（ステップ４０２）。可の場合、その中で最もリソースが十分であるサーバを、VMの追加先サーバとして選択し、NW・VM制御部１１０に仮想マシン追加実行要求を送信し、（１７）に進む（ステップ４０３）。このサーバ選択方法を、図６において「VM追加先選択方法2」と呼ぶ。否の場合、終了する。図１４の例では、VM配置判断部１３０は、VM状態監視部１２０から取得したリソース状態により、「サーバa」への追加が可能であると判断する（図１４ｅ）。
【００６９】
（１２）VM配置判断部１３０のVMマイグレーション・追加可否判断部１３３は、選択した仮想マシン追加先サーバ４００に対して、１つのVMを収容するリソース（CPU、メモリ、容量）が十分であるか確認するために、VM状態監視部１２０にリソース確認要求を送信する（ステップ３０６）。
【００７０】
（１３）リソース確認要求を受けたVM状態監視部１２０は、該当のサーバ４００に対し、リソース状態要求を送信する（ステップ３０６）。
【００７１】
（１４）サーバ４００のVM制御部４２０は、リソース状態要求を受信し、サーバ４００のリソース状態をVM状態監視部１２０に送信する（ステップ３０６）。
【００７２】
（１５）サーバ４００のリソース状態を受信したサーバのVM状態監視部１２０は、その情報をVM配置判断部１３０に送信する（ステップ３０６）。
【００７３】
（１６）VM配置判断部１３０のVMマイグレーション・追加可否判断部１３３は、受信したサーバ４００のリソース状態の情報をもとに、サーバ４００のリソースが十分か判断する（ステップ３０７）。リソースが十分と判断した場合（ステップ２１４,Yes）、NW・VM制御部１１０に仮想マシン追加実行要求を送信する。そうでない場合は、選択したNW機能のVMを収容するサーバ４００の中でリソースのあるサーバがあるかを判定し（ステップ３０８）、ある場合は（ステップ３０８、Yes）m=m+1として（ステップ３０９）、（９）（ステップ３０５）に戻る。また、機能BのVMを収容するどのサーバもリソースが不足している場合は（ステップ３０８,No）、n=n+1として（ステップ３１９）、（７）（ステップ３０２）に戻る。
【００７４】
（１７）追加実行要求を受信したNW・VM制御部１１０のVMマイグレーション部１１２は、追加先のサーバに対してVMの追加を実行し、終了する。VM状態監視部１２０がアラートを受信するまで待機する（ステップ２０５）。
【００７５】
上記の手順で本発明の新規性を示す部分は、（２）〜（９）である。
【００７６】
なお、上記の図３に示すネットワーク中の各装置の動作をプログラムとして構築し、各装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００７７】
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【符号の説明】
【００７８】
１００  NW・VM制御装置
１１０  NW・VM制御部
１１１  VM生成・削除部
１１２  VMマイグレーション部
１１３  NW制御部
１２０  VM状態監視部
１２１  VM・サーバリソース情報受信部
１３０  VM配置判断部
１３１  VMマイグレーション先／追加先選択部
１３２  タイマ
１３３  VMマイグレーション・追加可否判断部
１４０  パターン検出部
１５０  パターンテーブル
２００  データ管理サーバ
２１０  サービスチェイン情報テーブル
２２０  機能配置情報テーブル
３００  スイッチ
３１０  フロー転送部
４００  サーバ
４１０  仮想マシン(VM)
４２０  VM制御部
５００  クライアント端末
【図３】
2015153330.tif 000005
【図５】
2015153330.tif 000006
【図６】
2015153330.tif 000007
【図７】
2015153330.tif 000008
【図８】
2015153330.tif 000009
【図９】
2015153330.tif 000010
【図１１】
2015153330.tif 000011
【図１２】
2015153330.tif 000012
【図１３】
2015153330.tif 000013
【図１４】
2015153330.tif 000014
【図１】
2015153330.tif 000015
【図２】
2015153330.tif 000016
【図４】
2015153330.tif 000017
【図１０】
2015153330.tif 000018