(57)【要約】  本発明は、仮想ネットワーク上のサービスを、物理ＮＷ上で実現する制御装置、サービスの提供方法及びプログラムを提供する。制御装置は、ネットワークノードの機能を提供可能な仮想マシンを特定する第１の手段と、前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する第２の手段と、前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する第３の手段と、を備える。
2016159057.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークノードの機能を提供可能な仮想マシンを特定する第１の手段と、 
前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する第２の手段と、
前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する第３の手段と、 
を備える制御装置。
【請求項２】
前記第１の手段は、前記ネットワークノードの機能を提供可能な複数の仮想マシンを特定し、
前記第３の手段は、前記ネットワークノードの機能を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記第１の手段は、前記ネットワークノードに含まれる複数の機能の各々を提供可能な仮想マシンを、当該複数の機能ごとに特定する
ことを特徴とする請求項１又は２に記載の制御装置。
【請求項４】
前記第１の手段は、前記複数の機能を選択的に提供可能な、複数の仮想マシンを特定する
ことを特徴とする請求項３に記載の制御装置。
【請求項５】
前記第１の手段は、前記複数の機能を順番に接続した通信サービスに含まれる、当該複数の機能を提供可能な複数の仮想マシンを特定し、
前記第３の手段は、前記順番を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する
ことを特徴とする請求項３又は４に記載の制御装置。
【請求項６】
前記第１の手段は、複数の通信サービスごとに、当該複数の通信サービスの各々に含まれるネットワークノードの機能を提供可能な仮想マシンを特定し、
前記第３の手段は、前記複数の通信サービスごとに、前記物理ネットワーク上に当該複数の通信サービスの各々を実現するデータパスを設定する
ことを特徴とする請求項１乃至５のいずれかに記載の制御装置。
【請求項７】
ネットワークノードの機能を提供可能な仮想マシンを特定し、 
前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定し、
前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する
ことを特徴とする制御方法。
【請求項８】
前記ネットワークノードの機能を提供可能な複数の仮想マシンを特定し、
前記ネットワークノードの機能を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する
ことを特徴とする請求項７に記載の制御方法。
【請求項９】
前記ネットワークノードに含まれる複数の機能の各々を提供可能な仮想マシンを、当該複数の機能ごとに特定する
ことを特徴とする請求項７又は８に記載の制御方法。
【請求項１０】
前記複数の機能を選択的に提供可能な、複数の仮想マシンを特定する
ことを特徴とする請求項９に記載の制御方法。
【請求項１１】
前記複数の機能を順番に接続した通信サービスに含まれる、当該複数の機能を提供可能な複数の仮想マシンを特定し、
前記順番を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する
ことを特徴とする請求項９又は１０に記載の制御方法。
【請求項１２】
複数の通信サービスごとに、当該複数の通信サービスの各々に含まれるネットワークノードの機能を提供可能な仮想マシンを特定し、
前記複数の通信サービスごとに、前記物理ネットワーク上に当該複数の通信サービスの各々を実現するデータパスを設定する
ことを特徴とする請求項７乃至１１のいずれかに記載の制御方法。
【請求項１３】
物理ネットワークを制御する制御装置と、
前記制御装置によって管理される仮想マシンと、を含み、
前記制御装置は、
ネットワークノードの機能を提供可能な仮想マシンを特定する第１の手段と、 
前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する第２の手段と、
前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する第３の手段と、 
を備えることを特徴とする通信システム。
【請求項１４】
前記第１の手段は、前記ネットワークノードの機能を提供可能な複数の仮想マシンを特定し、
前記第３の手段は、前記ネットワークノードの機能を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する
ことを特徴とする請求項１３に記載の通信システム。
【請求項１５】
前記第１の手段は、前記ネットワークノードに含まれる複数の機能の各々を提供可能な仮想マシンを、当該複数の機能ごとに特定する
ことを特徴とする請求項１３又は１４に記載の通信システム。
【請求項１６】
前記第１の手段は、前記複数の機能を選択的に提供可能な、複数の仮想マシンを特定する
ことを特徴とする請求項１５に記載の通信システム。
【請求項１７】
前記第１の手段は、前記複数の機能を順番に接続した通信サービスに含まれる、当該複数の機能を提供可能な複数の仮想マシンを特定し、
前記第３の手段は、前記順番を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する
ことを特徴とする請求項１５又は１６に記載の通信システム。
【請求項１８】
前記第１の手段は、複数の通信サービスごとに、当該複数の通信サービスの各々に含まれるネットワークノードの機能を提供可能な仮想マシンを特定し、
前記第３の手段は、前記複数の通信サービスごとに、前記物理ネットワーク上に当該複数の通信サービスの各々を実現するデータパスを設定する
ことを特徴とする請求項１３乃至１７のいずれかに記載の通信システム。
【請求項１９】
ネットワークノードの機能を提供可能な仮想マシンを特定する処理と、 
前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する処理と、
前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する処理と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１５−０７３８８９号（２０１５年３月３１日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、制御装置、制御方法及びプログラムに関し、特に、物理ネットワークのリソースを用いて各種のサービスを提供する制御装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１にネットワーク仮想化システムの一運用方法が開示されている。同文献の段落００４８以下には、ネットワーク仮想化システム１が、設定端末３１からの指示を受け取り、物理ノード（物理ノード２１乃至物理ノード２６）及び物理リンク５１のリソースを用いて、仮想ノード及び仮想リンクを含む仮想ネットワーク（仮想ネットワーク２及び仮想ネットワーク３）を構築することが記載されている（例えば、段落０１３１〜０１４１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１４−５０１４５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下の分析は、本発明によって与えられたものである。特許文献１に代表されるネットワーク仮想化技術を用いて、ユーザにサービス（例えば、あるネットワークに仮想マシン（以下「ＶＭ：Virtual Machine」）を立ち上げ、外部から利用したい等）を提供するには、当該サービスを実現するために必要な物理リソースを用意し、必要な設定（例えば、特許文献１の図１６、図１３参照）を矛盾なく行う必要がある。【０００５】
しかしながら、特許文献１には、ユーザから要求された仮想ネットワーク上のサービスをどのようにして実現するか、とりわけ、ユーザからあるサービスの提供を求められたときに、そのために必要な物理的なリソースの配置や接続をどのようにして実現するかについては開示されていない。【０００６】
本発明は、仮想ネットワーク上のサービスを、物理ＮＷ上で実現する制御装置、制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の視点によれば、ネットワークノードの機能を提供可能な仮想マシンを特定する第１の手段と、前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する第２の手段と、前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する第３の手段と、を備える制御装置が提供される。【０００８】
第２の視点によれば、物理ネットワークを制御する制御装置と、前記制御装置によって管理される仮想マシンと、を含む通信システムが提供される。前記制御装置は、ネットワークノードの機能を提供可能な仮想マシンを特定する第１の手段と、前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する第２の手段と、前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する第３の手段と、を備える。【０００９】
第３の視点によれば、ネットワークノードの機能を提供可能な仮想マシンを特定し、 
前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定し、
前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する制御方法が提供される。
本方法は、上記した第１〜第３の手段を備える制御装置という、特定の機械に結びつけられている。【００１０】
第４の視点によれば、ネットワークノードの機能を提供可能な仮想マシンを特定する処理と、前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する処理と、前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する処理とをコンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１１】
本発明の制御装置、制御方法及びプログラムによれば、仮想ネットワーク上のサービスを物理ネットワーク上で実現できる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態のシステムの構成例を示す図である。
【図２】本発明の第１の実施形態の制御装置の構成例を示す図である。
【図３】本発明の第１の実施形態の制御部が実行する処理例を示す図である。
【図４】本発明の第１の実施形態の制御装置が保持するテーブルの一例を示す図である。
【図５】本発明の第１の実施形態の制御装置の動作例を示すフローチャートである。
【図６】本発明の第１の実施形態のシステムの他の構成例を示す図である。
【図７】本発明の第２の実施形態のシステムの構成例を示す図である。
【図８】本発明の第２の実施形態の制御装置が保持するテーブルの一例を示す図である。
【図９】本発明の第２の実施形態の制御装置の動作例を示すフローチャートである。
【図１０】本発明の第２の実施形態の制御装置の他の構成を示す図である。
【図１１】本発明の第３の実施形態の制御装置の構成を示す図である。
【図１２】本発明の第３の実施形態のシステムの構成例を示す図である。
【図１３】本発明の第３の実施形態の制御装置の動作例を示すフローチャートである。
【図１４】本発明の第４の実施形態のシステムの構成例を示す図である。
【図１５】本発明の第４の実施形態の制御装置が保持するテーブルの別の一例を示す図である。
【図１６】本発明の第４の実施形態のシステムの他の構成例を示す図である。
【図１７】本発明の第５の実施形態のシステムの構成例を示す図である。
【図１８】本発明の第５の実施形態の制御装置の構成例を示す図である。
【図１９】本発明の第５の実施形態の制御装置と連携動作する物理ノードの一例を説明するための図である。
【図２０】本発明の第５の実施形態の制御装置と連携動作する物理ノードによるＶＮＦの構成例を説明するための図である。
【図２１】本発明の第５の実施形態のシステムの構成例を示す図である。
【図２２】本発明の第５の実施形態の制御装置の動作例を示すフローチャートである。
【図２３】本発明の第５の実施形態の制御装置と連携動作する物理ノードに設定されるデータパスの一例を説明するための図である。
【図２４】本発明の第６の実施形態のシステムの構成例を示す図である。
【図２５】本発明の第６の実施形態の制御装置が保持するテーブルの別の一例を示す図である。
【図２６】本発明の第６の実施形態の制御装置の動作例を示すフローチャートである。
【図２７】本発明の第７の実施形態のシステムの構成例を示す図である。
【図２８】本発明の第７の実施形態の制御装置が保持するテーブルの別の一例を示す図である。
【図２９】本発明の第８の実施形態のシステムの構成例を示す図である。
【図３０】本発明の第８の実施形態の制御装置が保持するテーブルの一例を示す図である。
【図３１】本発明の第８の実施形態のシステムの他の構成例を示す図である。
【図３２】本発明の第８の実施形態のシステムの他の構成例を示す図である。
【発明を実施するための形態】
【００１３】
［第１の実施形態］
本発明の第１の実施形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施形態のシステムの構成例を示す図である。図１を参照すると、物理ノード２００Ａ、２００Ｂ、２１０（以下、物理ノード２００Ａ、２００Ｂを特に区別しない場合、「物理ノード２００」と記す。）が配置された物理ネットワーク（以下、「物理ＮＷ」）と、この物理ノード２００、２１０と接続された制御装置１００とを含む構成が示されている。
【００１４】
物理ノード２００、２１０のうち、物理ノード２００は仮想ネットワーク（以下、「仮想ＮＷ」）上で仮想マシン（以下、「ＶＭ」）３００を提供する機能を備えている。この様な物理ノード２００としては、仮想マシン環境構築用サーバ等があげられる。また、図１の例では、ＶＭ３００を動作させている例を挙げているが、アプリケーションプログラム等が導入され特定の機能を提供可能な状態になっている仮想アプライアンスであってもよい。
【００１５】
物理ノード２１０は、制御装置１００から指示された経路に従って物理ノード２００間の通信を実現する。この様な物理ノード２１０としては、オープンフロースイッチやレイヤ３スイッチ等が挙げられる。また、物理ノード２１０に代えて、物理ノード２００によって構成される仮想スイッチを用いてもよい。
【００１６】
ここで、仮想ＮＷが複数の通信ノード（例えば、ＶＭ３００など）で運用されている場合、仮想ＮＷ上の通信を実現するためには、複数の通信ノード（例えば、ＶＭ３００など）間にデータパスを設定し、当該仮想ＮＷ上の通信に対応する物理ＮＷ上の通信を可能にする必要がある。そこで、第１の実施形態では、仮想ＮＷに含まれる複数の通信ノード（例えば、ＶＭ３００）間にデータパスを設定する。
【００１７】
また、仮想ＮＷに含まれる複数の通信ノード（例えば、ＶＭ３００など）が互いに異なる複数の物理ノード２００（例えば、物理サーバなど）で運用された場合、物理ＮＷ上における複数の通信ノード（例えば、ＶＭ３００など）間のデータパスの設定には、当該複数の物理ノード２００間にもデータパスを設定する必要がある。例えば、図１の例では、仮想ＮＷに含まれるＶＭ３００の各々が物理ノード２００Ａと物理ノード２００Ｂとで運用されており、ＶＭ３００間にデータパスを設定するためには、物理ノード２００Ａと物理ノード２００Ｂとの間にもデータパスを設定する必要がある。そこで、第１の実施形態では、仮想ＮＷに含まれる複数の通信ノード（例えば、ＶＭ３００）を実現する複数の物理ノード２００間にもデータパスを設定する。
【００１８】
上記の通り、第１の実施形態において、制御装置１００は、ユーザが要求するサービスを実現するために、当該ユーザが要求するサービスに対応するＶＭ等の通信ノードを特定し、その通信ノードを物理ＮＷ上の位置情報に落とし込み、当該通信ノード間の物理ＮＷ上のデータパスを設定する。
【００１９】
図２は、第１の実施形態における制御装置１００の構成例を示す図である。図２を参照すると、制御装置１００は、制御部１１０と通信部１２０とを含む。
【００２０】
通信部１２０は、物理ノード２００や物理ノード２１０などの他装置と通信可能なインターフェースである。通信部１２０は、例えば、物理ノード２００に所定の制御信号を送信可能である。通信部１２０は、例えば、物理ノード２１０に処理規則や転送情報を送信可能である。
【００２１】
制御部１１０は、所定の処理を実行可能な機能を備える。制御部１１０が実行する所定の処理は、例えば、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro Processing Unit）により実行される。
【００２２】
図３は、第１の実施形態における制御部１１０が実行する処理例を示す図である。図３を参照すると、制御部１１０は、ノード特定手段１０１（第１の手段）と、位置特定手段１０２（第２の手段）と、パス設定手段１０３（第３の手段）の各々が行う処理を実行可能である。
【００２３】
ノード特定手段１０１は、ユーザが要求するサービスに対応する通信ノードを特定する。ここで、「ユーザが要求するサービス」は、例えば、仮想リソースを用いて論理的に構成され仮想ネットワーク（例えば、ｖＥＰＣなど）や、当該ユーザに対応するテナントに含まれる仮想リソースや物理リソースを用いたサービスである。また、「ユーザが要求するサービス」は、例えば、ある（仮想）ネットワークにサーバリソース（ＶＭでもよいし物理サーバでもよい）を配置したい、そのネットワークを外部ネットワークに繋げたい、といった既存の仮想ＮＷ等に対するユーザの要求であってもよい。また、「ユーザが要求するサービス」は、例えば、仮想ネットワーク機能（ＶＮＦ：Virtual Network Function）や、サービスチェイン（Service Chain）であってもよい。
【００２４】
ノード特定手段１０１は、このようなサービスを提供可能な１つ以上の通信ノードを特定する役割を果たす。また、「通信ノード」は、例えば、前述のサーバリソース（ＶＭでもよいし物理サーバでもよい）に相当する。図１のノード特定手段１０１から延びる矢線は、ノード特定手段１０１が、上段の仮想ネットワーク（ユーザが要求するサービスを表す）に対応するＶＭ３００を特定する動作を表している。
【００２５】
位置特定手段１０２は、ノード特定手段１０１によって特定された通信ノードの物理ネットワークにおける位置に関する情報を特定する。ここで、「物理ネットワークにおける位置」としては、ノード特定手段１０１によって特定された通信ノードに対応する物理ＮＷ上の端点情報を用いることができる。端点情報は、例えば、ノード特定手段１０１によって特定された通信ノードのアドレス（例えば、ＩＰ（Internet Protocol）アドレス、ＭＡＣ（Media Access Control）アドレス）である。
【００２６】
また、端点情報は、例えば、ノード特定手段１０１によって特定された通信ノードが接続する仮想スイッチのアドレス（例えば、ＩＰアドレス、ＭＡＣアドレス）であってもよい。端点情報は、例えば、ノード特定手段１０１によって特定された通信ノードが接続する仮想スイッチにおいて、当該通信ノードが使用するポートのポート番号であってもよい。また、端点情報は、例えば、ノード特定手段１０１によって特定された通信ノードを実現する物理ノード２００のアドレス（例えば、ＩＰアドレス、ＭＡＣアドレス）であってもよい。さらに、端点情報は、例えば、ノード特定手段１０１によって特定された通信ノードに対応する物理スイッチ（例えば、物理ノード２１０など）のアドレス（例えば、ＩＰアドレス、ＭＡＣアドレス）であってもよい。
【００２７】
図１の位置特定手段１０２から延びる矢線は、位置特定手段１０２が、ノード特定手段１０１によって特定されたＶＭ３００の端点情報、または、当該ＶＭ３００に対応する物理ノード２００の端点情報を特定する動作を表している。
【００２８】
パス設定手段１０３は、前記位置特定手段１０２によって特定された通信ノードの物理ネットワークにおける位置に関する情報を用いて、物理ＮＷ上にユーザが要求するサービスを実現するために必要なデータパスを設定する。ここで「データパスを設定する」処理は、物理ノード２１０にフローエントリや経路情報を設定することによって実現される。フローエントリは、物理ノード２１０がフローに属するパケットを処理するための処理規則である。経路情報は、例えば、物理ノード２１０がパケットを転送するために用いる転送情報である。図１のパス設定手段１０３から延びる矢線は、例えば、パス設定手段１０３が、位置特定手段１０２によって特定された物理ノード２００を、物理ノード２１０を介して互いに接続し、データパスを設定する動作を表している。
【００２９】
図４は、第１の実施形態における制御装置が保持するテーブルの一例を示す図である。図４の上段は、サービスと、通信ノードと、物理ノードの位置情報とを対応付けたテーブルである。ノード特定手段１０１は、サービスＡを実現するためにどのようなリソースが必要かを割出す。例えば、図４の例では、サービスＡを実現するために必要なリソースとして、ＶＭ１〜ＶＭ３が特定されている。そして、位置特定手段１０２は、ＶＭ１〜ＶＭ３の物理ＮＷにおける位置に関する情報（物理ＮＷ上でどの物理ノードの端点に繋がっているか）を割り出す。図４の例では、ＶＭ１〜ＶＭ３を実現する物理ノードのアドレスとポートが特定されている。このような動作を行うノード特定手段１０１及び位置特定手段１０２としては、エージェントと呼ばれるネットワークのリソース管理機能を用いることができる。
【００３０】
また、図４に示したテーブルを、サービス定義記憶部及びマッピング情報記憶部として制御装置１００に保持させることも可能である。このようにすることで、ノード特定手段１０１、位置特定手段１０２における特定処理を高速化することができる。図４の例では、１つのテーブルで、サービス定義記憶部及びマッピング情報記憶部を実現しているが、サービスと通信ノードの対応関係を格納するテーブル（サービス定義記憶部に相当）と、通信ノードと物理ＮＷ上の位置情報の対応関係を格納するテーブル（マッピング情報記憶部に相当）に分けることも可能である。
【００３１】
パス設定手段１０３は、物理ＮＷのトポロジ情報と、特定された物理ノード２００のアドレスとポート（ポート番号）を用いて、ＶＭ１〜ＶＭ３間にデータパスを設定する。例えば、図４の下段に示すように、ＶＭ１〜ＶＭ３に対応する物理ノード２００のポート間にデータパスを設定することで、例えば、ＶＭ１〜ＶＭ３がリング状に接続されたトポロジを持つ仮想ネットワークを実現することができる。なお、下段の矢線中、物理ノード２００Ａと物理２００Ｂ間のデータパスは、物理ノード２１０にフローエントリや経路情報を設定することで実現される。また、前記トポロジ情報は、トポロジ情報を記憶するトポロジ情報記憶部から取得することができる。
【００３２】
図５は、第１の実施形態の制御装置１００の動作例を示すフローチャートである。
【００３３】
まず、制御装置１００のノード特定手段１０１は、ユーザが要求するサービスを提供可能な１つ以上の通信ノードを特定する（Ｓ１−１）。図１の例では、ノード特定手段１０１は、ユーザが要求するサービス（仮想ＮＷ）として、複数のＶＭ３００を特定する。
【００３４】
次に、制御装置１００の位置特定手段１０２は、ノード特定手段１０１によって特定された通信ノードの物理ＮＷにおける位置に関する情報を特定する（Ｓ１−２）。図１の例では、位置特定手段１０２は、ノード特定手段１０１が特定した複数のＶＭ３００の各々について、物理ＮＷ上の端点情報を特定する。位置特定手段１０２は、例えば、複数のＶＭ３００の各々について、当該ＶＭ３００の各々を運用する物理ノード２００の物理ＮＷ上のアドレスと、当該物理ノード２００のポートのうち当該ＶＭ３００の各々に対応するポートのポート番号とを特定する。
【００３５】
続いて、パス設定手段１０３は、位置特定手段１０２によって特定された通信ノードの物理ＮＷにおける位置に関する情報を用いて、物理ＮＷ上において通信ノード間のデータパスを設定する（Ｓ１−３）。図１の例では、パス設定手段１０３は、物理ＮＷのトポロジ情報と、位置特定手段１０２によって特定された物理ノード２００のアドレスとポート（ポート番号）を用いて、複数のＶＭ３００間にデータパスを設定する。なお、図１の例では、複数のＶＭ３００が異なる物理ノード２００で運用されているので、パス設定手段１０３は、物理ノード２０１に対して、物理ノード２００間を互いに通信可能とするためのフローエントリや経路情報を設定して、物理ノード２００間にもデータパスを設定する。
【００３６】
上記説明からも理解されるように、本発明は、物理ネットワーク（物理ＮＷ）が異なるトンネリングプロトコル（一例としてＶＸＬＡＮ／ＮｖＧＲＥ）で構築されているような場合でも好ましく適用できる。図６は、本発明の第１の実施形態のシステムの他の構成例を示す図である。
【００３７】
図６を参照すると、ＶＸＬＡＮ（Virtual eXtensible Local Area Network）で構築された物理ＮＷ１と、ＮＶＧＲＥ（Network Virtualization using Generic Routing Encapsulation）で物理ＮＷ２がゲートウェイ（ＧＷ：Gateway）で接続されている構成が示されている。
【００３８】
例えば、「ユーザが要求するサービス」として、図６に示す４つのＶＭが配置された仮想ネットワークの情報が入力されたものとする（図６の「（Ａ）サービス定義」参照）。ここでのユーザは、上述の物理ネットワークの構成を知らなくてもよい。
【００３９】
ノード特定手段１０１は、ユーザの要求するサービスに対応する通信ノードを特定する。図６の例では、ノード特定手段１０１は、３つの物理サーバ２００ａ〜２００ｃ上で動作する４つのＶＭを特定している（図６の「（Ｂ）マッピング」参照）。この段階においても、ＶＭがどのような物理ネットワーク上で動作しているかを知る必要はない。
【００４０】
次に、位置特定手段１０２が、ノード特定手段１０１によって特定された４つのＶＭの物理ネットワークにおける位置に関する情報を特定する。図６の例では、物理ネットワークにおける位置に関する情報として、４つのＶＭに対応する物理ＮＷ上の端点情報が特定される。例えば、位置特定手段１０２は、４つのＶＭが動作する物理サーバ２００ａ〜２００ｃのアドレスが特定される。
【００４１】
次に、パス設定手段１０３が、特定された端点情報と、物理ＮＷ１、物理ＮＷ２のトポロジ情報を用いて、物理ＮＷ１、ＮＷ２上にユーザが要求するサービスを実現するデータパスを設定する。図６の例では、図６下段に示すように、物理ＮＷ１側にある物理サーバ２００Ａ、物理スイッチ２１０Ａ及び物理サーバ２００Ｂと、物理ＮＷ２側にある物理スイッチ２１０Ｂ及び物理サーバ２００Ｃを、ゲートウェイ（ＧＷ）を介して接続するようなデータパスが設定されている。
【００４２】
以上のように、第１の実施形態によれば、制御装置１００は、ユーザが要求するサービスを実現するために、当該ユーザが要求するサービスに対応するＶＭ等の通信ノードを特定し、その通信ノードを物理ＮＷ上の位置情報に落とし込み、当該通信ノード間の物理ＮＷ上のデータパスを設定する。したがって、ユーザが要求する仮想ネットワーク上のサービスを、その機能実現手段と、その物理ネットワーク上の位置情報に落としこんだ後、これらを接続することで、仮想ネットワーク上のサービスを物理ネットワーク上で実現できる。
【００４３】
［第２の実施形態］
続いて、ユーザに対応するテナントに含まれるネットワークリソースを使用させることを想定した本発明の第２の実施形態について図面を参照して詳細に説明する。第２の実施形態では、ユーザからサービスに関する要求を受けた場合に、当該ユーザに対応するテナントに含まれるＶＭ等の通信ノードを特定し、その通信ノードを物理ＮＷ上の位置情報に落とし込み、物理ＮＷ上のデータパスを設定することで、当該ユーザが要求するサービスが実現される。
【００４４】
図７は、本発明の第２の実施形態におけるシステムの構成例を示す図である。制御装置１００Ａは、第１の実施形態の制御装置とほぼ同様の構成であり、ノード特定手段１０１〜パス設定手段１０３を備えている。以下、第１の実施形態との相違点を中心に説明する。
【００４５】
図８は、本実施形態の制御装置１００Ａが保持するテーブル（テナント定義記憶部及びマッピング情報記憶部に相当）の一例を示す図である。図８を参照すると、テナントと、通信ノード（例えば、ＶＭ）と、当該通信ノードを運用する物理ノードの位置情報とを対応付けたテーブルが示されている。
【００４６】
ノード特定手段１０１は、例えば、ユーザから要求されたサービスを実現するためにどのようなリソースが必要かを割り出す。ノード特定手段１０１は、例えば、ユーザから要求されたサービスを実現するために必要なリソースの種類を割り出す。ノード特定手段１０１は、ユーザから要求されたサービスに必要なリソースを、当該ユーザに対応するテナントに含まれるリソースから特定する。ノード特定手段１０１は、リソースの種類に加え、必要なリソース量を割出してもよい。例えば、図８の例では、ユーザから要求されたサービスに必要なリソースとして、当該ユーザに対応するテナントに含まれるＶＭのうち、図７に示すＶＭ１〜ＶＭ４が特定されている。ノード特定手段１０１は、例えば、テナント１と、当該ユーザから要求されたサービスに必要なＶＭ１〜ＶＭ４の各々を一意に識別可能なＶＭ識別子とを対応付ける。なお、ユーザから要求されたサービスに必要なリソースは、例えば、サーバやストレージ、ネットワークノードなどのＩＣＴ（Information and Communication Technology）リソースであり、ＶＭを用いて仮想的に実現される仮想リソースであってもよいし、物理リソースであってもよい。なお、ネットワークノードは、例えば、スイッチやルータ、ファイヤウォール、ロードバランサなどの、ネットワークの構築に必要な機能を提供する装置である。
【００４７】
位置特定手段１０２は、ＶＭ１〜ＶＭ４の物理ＮＷ上の位置に関する情報を割り出す。位置特定手段１０２は、例えば、ＶＭ１〜ＶＭ４の各々を実現する物理ノード２００のアドレスと、当該物理ノード２００のポートのうちＶＭ１〜ＶＭ４に対応するポートのポート番号とを割り出す。なお、位置特定手段１０２は、ＶＭ１〜ＶＭ４の物理ＮＷ上の位置に関する情報として、当該ＶＭ１〜ＶＭ４の各々のアドレスや、ＶＭ１〜ＶＭ４の各々が接続する仮想スイッチのアドレスやポート番号、などを特定してもよい。
【００４８】
図８に示すように、位置特定手段１０２は、例えば、ＶＭ１〜ＶＭ４のＶＭ識別子と、当該ＶＭ１〜ＶＭ４の各々を実現する物理ノード２００のアドレスと、当該ＶＭ１〜ＶＭ４の各々に対応する物理ノード２００のポートのポート番号とを対応付ける。
【００４９】
パス設定手段１０３は、物理ＮＷのトポロジ情報と、特定された物理ノード２００のアドレスとポートを用いて、ＶＭ１〜ＶＭ４間にデータパスを設定する。例えば、図７の下段に示すように、ＶＭ１〜ＶＭ４に対応する物理ノード２００のポート間にデータパスを設定することで、ＶＭ１〜ＶＭ４同士が通信できるようにすることができる。
【００５０】
なお、図７の例では、パス設定手段１０３は、ＶＭ１とＶＭ２とを運用する物理ノード２００Ａと、ＶＭ３とＶＭ４とを運用する物理ノード２００Ｂ間にもデータパスを設定する。これにより、ユーザから要求されたサービスに含まれるＶＭ１〜ＶＭ４の一部又は全部が互いに異なる物理ノード２００上で動作する場合でも、ＶＭ１〜ＶＭ４間の通信が可能になる。
【００５１】
図９は、第２の実施形態の制御装置１００Ａの動作例を示すフローチャートである。
【００５２】
まず、制御装置１００Ａのノード特定手段１０１は、ユーザが要求するサービスを実現するために必要な１つ以上の通信ノードを特定する（Ｓ２−１）。図７の例では、ノード特定手段１０１は、ユーザが要求するサービスに必要なリソースとして、当該ユーザに対応するテナントに含まれるＶＭ１〜ＶＭ４を特定する。
【００５３】
次に、制御装置１００Ａの位置特定手段１０２は、ノード特定手段１０１によって特定された通信ノードの物理ＮＷにおける位置に関する情報を特定する（Ｓ２−２）。図７の例では、位置特定手段１０２は、ノード特定手段１０１が特定したＶＭ１〜ＶＭ４の各々を実転する物理ノード２００のアドレスと、当該物理ノード２００のポートのうち当該ＶＭ１〜ＶＭ４の各々に対応するポートのポート番号とを特定する。
【００５４】
続いて、制御装置１００Ａのパス設定手段１０３は、位置特定手段１０２によって特定された通信ノードの物理ＮＷにおける位置に関する情報を用いて、物理ＮＷにおいて通信ノード間にデータパスを設定する（Ｓ２−３）。図７の例では、パス設定手段１０３は、物理ＮＷのトポロジ情報と、位置特定手段１０２によって特定された物理ノード２００のアドレスとポート（ポート番号）を用いて、ＶＭ１〜ＶＭ４間のデータパスを設定する。その際に、パス設定手段１０３は、例えば、物理ノード２００Ａと物理ノード２００Ｂとを互いに通信可能とするためのフローエントリや経路情報を物理ノード２１０に設定して、物理ノード２００間にもデータパスを設定する。
【００５５】
図１０は、制御装置１００Ａが複数のリソースを管理する場合における、当該制御装置１００Ａの構成例である。図１０に示すように、制御装置１００Ａは、複数のリソースを管理しており、当該管理するリソースの一部を利用して、ユーザが要求するサービスを提供する。例えば、制御装置１００Ａは、複数のリソースをプールしておき、プールしておいたリソースからユーザが要求するサービスに必要なリソースを選択する。
【００５６】
制御装置１００Ａのノード特定手段１０１は、ユーザから要求を受けたサービスに必要なリソースを割出し、管理する複数のリソースのうち当該ユーザに対応するテナントに含まれるリソースから、当該割出したリソースを選択する。ノード特定手段１０１は、例えば、複数のＶＭを管理しており、管理する複数のＶＭのうち、ユーザから要求を受けたサービスに必要なＶＭを選択する。なお、ノード特定手段が管理する複数のリソースは、物理リソースを含んでいてもよい。
【００５７】
ノード特定手段１０１は、例えば、ＶＭを用いて実現される機能ごとに、複数のＶＭを管理する。ＶＭを用いて実現される機能は、例えば、スイッチやルータ、ファイヤウォール、ロードバランサなどのネットワーク機能である。ノード特定手段は、例えば、ネットワーク機能がＶＭにより仮想的に実現された、仮想スイッチや仮想ルータ、仮想ファイヤウォール、仮想ロードバランサを管理する。また、ＶＭを用いて実現される機能は、ストレージであってもよい。ノード特定手段１０１は、例えば、物理サーバ内のディスクやドライブを抽象化し、仮想的に実現したストレージプールとして管理する。また、ＶＭを用いて実現される機能は、例えば、種々のアプリケーションやディスクトップであってもよい。ノード特定手段は、例えば、ＶＭを用いて仮想的に実現された種々のアプリケーションやディスクトップを管理してもよい。
【００５８】
ノード特定手段１０１は、例えば、ユーザから要求を受けたサービスにロードバランサが必要であると割出した場合、管理している仮想ロードバランサであって当該ユーザに対応するテナントに含まれる仮想ロードバランサを、当該テナント向けに選択する。
【００５９】
なお、ノード特定手段１０１がユーザから要求を受けたサービスに必要なリソースを、予めプールしておいたリソースから特定した後の位置特定手段１０２及びパス設定手段１０３の処理は、図７の位置特定手段１０２及びパス設定手段１０３の処理と同様であるため、詳細な説明は省略される。
【００６０】
以上のように、本実施形態によれば、制御装置１００Ａは、ユーザが要求するサービスを実現するために、当該ユーザが要求するサービスに対応するＶＭ等の通信ノードを特定し、その通信ノードを物理ＮＷ上の位置情報に落とし込み、当該通信ノード間の物理ＮＷ上のデータパスを設定する。したがって、ユーザが要求する仮想ネットワーク上のサービスを、その機能実現手段と、その物理ネットワーク上の位置情報に落としこんだ後、これらを接続することで、仮想ネットワーク上のサービスを物理ネットワーク上で実現できる。
【００６１】
［第３の実施形態］
続いて、上記第１、第２の実施形態の制御装置１００、１００ＡにＶＭ管理機能を追加した第３の実施形態について図面を参照して詳細に説明する。
【００６２】
第３の実施形態では、制御装置１００がＶＭ管理機能を備えるので、ユーザから要求されたサービスに対する所定のリソースの追加の要求を受けた場合に、当該所定のリソースに対応するＶＭを起動することができる。そして、制御装置１００は、ノード特定手段〜パス設定手段により、第４手段により新たに起動したＶＭの通信ノードを特定し、その通信ノードを物理ＮＷ上の位置情報に落とし込み、物理ＮＷ上のデータパスを設定する。したがって、第３の実施形態では、ユーザがリソースの追加を要求した場合に、当該リソースの追加を実現するためにＶＭを追加し、当該ＶＭの追加によって必要となる物理ＮＷにおける設定等を行うことができる。
【００６３】
図１１は、本発明の第３の実施形態の制御装置の構成を示す図である。図１１を参照すると、制御装置１００Ｆの制御部１１０は、ノード特定手段１０１、位置特定手段１０２及びパス設定手段１０３に加えて、ノード要求手段１０４（第４の手段）を備えた制御装置１００Ｆが示されている。以下、第１、第２の実施形態との相違点を中心に説明する。
【００６４】
ノード要求手段１０４は、ノード特定手段１０１からの要求に応じて、サービスの提供に必要なＶＭを起動し、そのＶＭの情報をノード特定手段１０１に提供する。このようなノード要求手段１０４としては、物理サーバ２００側でＶＭを管理するハイパーバイザやＶＭＭ（ＶＭマネージャ）といった制御プログラムに必要な指示を与えるインターフェースにより実現することができる。また、本実施形態では、ノード要求手段１０４がＶＭを起動するものとして説明するが、ノード要求手段１０４が起動する通信ノードはＶＭに限られない。例えば、ノード要求手段１０４がスリープ状態にある物理サーバを起動することで、サービスの提供に必要なリソースを確保する構成も採用可能である。なお、ノード要求手段１０４は、ユーザからの要求に応じて、所定のＶＭを終了させる機能を備えていても良い。また、ノード要求手段１０４は、使用されていないＶＭを終了させ、リソースを解放させる機能を持たせてもよい。
【００６５】
図１２は、第３の実施形態のシステムの構成例を示す図である。図１２に示すように、ユーザからリソースの追加を要求され、かつ、それに対応する通信ノードが存在しない場合、ノード特定手段１０１は、ノード要求手段１０４に対して、当該追加リソースに対応するＶＭの起動を要求する。例えば、ノード特定手段１０１は、テナントに対応するユーザから所定のリソース（例えば、ストレージなど）の追加を要求された場合に、ノード要求手段に対して、当該所定のリソースを実現するためのＶＭの起動を要求する。
【００６６】
要求を受けたノード要求手段１０４は、例えば、図１２の中断右端に示す物理サーバ上で、新たにＶＭ（図１２のＶＭ５参照）を立ち上げて、ノード特定手段１０１に通知する。ノード要求手段は、例えば、新たなＶＭの起動が完了したことに応じて、ノード特定手段に対して起動の完了を通知する。ノード要求手段１０４は、ノード特定手段１０１に対して、ＶＭの起動の完了とともに、起動したＶＭに関する情報（例えば、起動したＶＭの識別子など）を通知してもよい。ノード特定手段１０１は、ユーザが要求するサービスに含まれる仮想ノードとして、新たに立ち上げられたＶＭを特定する。例えば、ノード特定手段１０１は、新たに立ち上げられたＶＭ５を、所定のテナント（当該ユーザに対応するテナント）に関連付ける。
【００６７】
位置特定手段１０２は、ノード要求手段１０４によって追加されたＶＭ５の物理ＮＷにおける位置に関する情報（例えば、物理ＮＷ上の端点情報）を特定する。位置特定手段１０２は、例えば、ＶＭ５が動作する物理ノード２００Ｃのアドレスと、物理ノード２００Ｃのポートのうち当該ＶＭ５に対応するポートとを特定する。
【００６８】
パス設定手段１０３は、ＶＭ１〜ＶＭ５間に、データパスを設定する。また、パス設定手段１０３は、物理ノード２００Ａと物理ノード２００Ｃ間の通信と、物理ノード２００Ｂと物理ノード２００Ｃ間の通信とを可能にするためのフローエントリや転送情報を、物理ノード２１０に対して設定する。これにより、ＶＭ１〜ＶＭ５間の通信を実現するために必要な“物理ＮＷ上の通信”が可能となる。
【００６９】
図１３は、第３の実施形態の制御装置１００Ｆの動作例を示すフローチャートである。
【００７０】
まず、制御装置１００Ｆのノード特定手段１０１は、ユーザから所定のリソース（例えば、ストレージなど）の追加を要求された場合に、ノード要求手段に対して、当該所定のリソースを実現するためのＶＭの起動を要求する（Ｓ３−１）。図１２の例では、ノード特定手段は、ユーザからストレージの追加を要求された場合に、ノード要求手段に対して、ストレージの機能を提供するＶＭの起動を要求する。
【００７１】
次に、ノード要求手段１０４は、ノード特定手段１０１からの要求に応じて、要求された所定のリソースを実現するためのＶＭを起動し、起動が完了した旨をノード特定手段１０１に通知する（Ｓ３−２）。図１２の例では、ノード要求手段１０４は、ノード特定手段１０１からストレージの追加を要求されたことに応じて、ストレージの機能を提供可能なＶＭを起動し、起動が完了した旨を通知する。
【００７２】
ノード特定手段１０１は、ノード要求手段１０４から通知を受けた場合に、新たに追加されたＶＭを特定する（Ｓ３−３）。図１２の例では、ノード特定手段１０１は、新たに立ち上げられたＶＭ５を、所定のテナント（当該ユーザに対応するテナント）に関連付ける。
【００７３】
位置特定手段１０２は、ノード要求手段によって追加されたＶＭの物理ＮＷにおける位置に関する情報（例えば、物理ＮＷ上の端点情報）を特定する（Ｓ３−４）。図１２の例では、位置特定手段１０２は、例えば、ＶＭ５が動作する物理ノード２００Ｃのアドレスと、物理ノード２００Ｃのポートのうち当該ＶＭ５に対応するポートとを特定する。
【００７４】
パス設定手段１０３は、既存のＶＭ１〜４と、新たに起動されたＶＭ５との間に、データパスを設定する（Ｓ３−５）。
【００７５】
以上のように、第３の実施形態の制御装置は、通信ノード（例えば、ＶＭ）の追加や削除等を実行可能なＶＭ管理機能（ノード要求手段）を備える。したがって、ユーザからリソースの追加等を要求された場合にも、ユーザが要求する仮想ネットワーク上のサービスを、その機能実現手段と、その物理ネットワーク上の位置情報に落としこんだ後、これらを接続することで、仮想ネットワーク上のサービスを物理ネットワーク上で実現できる。
【００７６】
［第４の実施形態］
続いて、マルチテナント環境に本発明を適用した第４の実施形態について図面を参照して詳細に説明する。図１４は、本発明の第４の実施形態のシステムの構成例を示す図である。図１４を参照すると、制御装置１００Ｂが、複数のテナント（テナント１、テナント２）を管理する構成が示されている。制御装置１００Ｂの基本的な構成は、上記第２又は第３の実施形態の同様であるので、以下、相違点を中心に説明する。
【００７７】
制御装置１００Ｂは、図１１に示す第３の実施形態の制御装置１００Ｆと同様の構成であり、ノード特定手段１０１、情報特定手段１０２及びパス設定手段１０３を備えている。
【００７８】
図１５は、本実施形態の制御装置１００Ｂが保持するテーブルの一例を示す図である。図１５を参照すると、複数のテナントと、通信ノードと、物理ノードの位置情報とを対応付けたテーブルが示されている。ノード特定手段１０１は、ユーザからの要求に応じて、当該ユーザから要求されたサービスを実現するためにどのようなリソースが必要かを割出す。ノード特定手段は、例えば、ユーザＡから要求されたサービスに対して、ファイヤウォールとストレージとスイッチが必要であり、テナント２に対して、ロードバランサとストレージとルータとが必要であると割出す。ノード特定手段１０１は、例えば、ユーザＡからサービスＡに関する要求を受け、ユーザＢからサービスＢに関する要求を受ける。なお、ノード特定手段１０１は、同じユーザから、サービスＡ及びサービスＢに関する要求を受けてもよい。ノード特定手段１０１がサービスＡ及びサービスＢに関する要求を受けるタイミングは、当該サービスＡ及びサービスＢとで異なるタイミングであってもよい。
【００７９】
図１５の例において、ノード特定手段１０１は、サービスＡに対して、ユーザＡに対応するテナント１に含まれるＶＭから、図１４に示すＶＭ１、ＶＭ３、ＶＭ４を特定する。また、ノード特定手段１０１は、サービスＢに対して、ユーザＢに対応するテナント２に含まれるＶＭから、図１４に示すＶＭ２、ＶＭ５、ＶＭ６を特定する。具体的には、ノード特定手段１０１は、サービスＡに対して、ＶＭ１、ＶＭ３、ＶＭ４の各々の識別子とテナント１とを対応付け、サービスＢに対して、ＶＭ２、ＶＭ５、ＶＭ６の各々の識別子とテナント２とを対応付ける。
【００８０】
位置特定手段１０２は、ノード特定手段１０１が特定したＶＭ１〜ＶＭ６がそれぞれ物理ＮＷ上でどの物理ノードの端点に繋がっているかを割り出す。図１５の例では、位置特定手段１０２は、例えば、ＶＭ１〜ＶＭ６の各々を運用する物理ノード２００のアドレスと、当該物理ノード２００のポートのうちＶＭ１〜ＶＭ６に対応するポートのポート番号とを割り出す。
【００８１】
パス設定手段１０３は、物理ＮＷのトポロジ情報と、位置特定手段１０２により特定された物理ノード２００のアドレスとポートを用いて、ＶＭ１、ＶＭ３、ＶＭ４の各々が起動された物理ノード２００間、及び、ＶＭ２、ＶＭ５、ＶＭ６間にそれぞれデータパスを設定する。例えば、図１４の下段に示すように、ＶＭ１、ＶＭ３、ＶＭ４間にデータパスを設定することで、テナント１に含まれるＶＭ１、ＶＭ３、ＶＭ４同士が通信できるようにすることができる。同様に、ＶＭ２、ＶＭ５、ＶＭ６間にデータパスを設定することで、テナント２に含まれるＶＭ２、ＶＭ５、ＶＭ６同士が通信できるようにすることができる。
【００８２】
なお、第４の実施形態の制御装置１００Ｂは、第３の実施形態の制御装置と同様に、ノード要求手段１０４を含んでいてもよい。ノード要求手段１０４は、第３の実施形態と同様に、ノード特定手段１０１からの要求があった場合、サービスの提供に必要なＶＭを起動し、そのＶＭの情報をノード特定手段１０１に提供する。ノード要求手段１０４の処理は、図１１に示す第３の実施形態のノード要求手段１０４と同様であるため、詳細な説明は省略される。
【００８３】
以上のように、本発明は、マルチテナント環境におけるテナントの構築にも適用することができる。なお、図１４の例では、１つの物理ＮＷ上に２つのテナントを構築しているが、図１６に示すような物理ネットワークとテナントが１対１で対応しているようなマルチテナント環境にも適用することができる。
【００８４】
図１６は、第４の実施形態の他の構成例を示す図である。図１６において、制御装置１００Ｃのノード特定手段１０１は、ユーザから要求されたサービス１に対して、テナント１に含まれるＶＭであって、物理ＮＷ１内のＶＭ１〜ＶＭ３を特定する。また、ノード特定手段１０１は、ユーザから要求されたサービス２に対して、テナント２に含まれるＶＭであって、物理ＮＷ２内のＶＭ４〜ＶＭ６を特定する。具体的には、ノード特定手段１０１は、ユーザから要求されたサービス１に対して、ＶＭ１〜ＶＭ３の各々の識別子とテナント１とを対応付け、ユーザから要求されたサービス２に対して、ＶＭ４〜ＶＭ６の各々の識別子とテナント２とを対応付ける。
【００８５】
位置特定手段１０２は、ノード特定手段１０１が特定したＶＭ１〜ＶＭ３の各々を実現する物理ノード２００のアドレスと、当該物理ノード２００のポートのうちＶＭ１〜ＶＭ３に対応するポートのポート番号とを割り出す。同様に、位置特定手段１０２は、ノード特定手段１０１が特定したＶＭ４〜ＶＭ６の各々を実現する物理ノード２００のアドレスと、当該物理ノード２００のポートのうちＶＭ４〜ＶＭ６に対応するポートのポート番号とを割り出す。
【００８６】
パス設定手段１０３は、物理ＮＷ１のトポロジと、位置特定手段１０２により特定された物理ノード２００のアドレスとポートを用いて、ＶＭ１〜ＶＭ３の各々が起動された物理ノード２００間にデータパスを設定する。また、パス設定手段１０３は、物理ＮＷ２のトポロジと、位置特定手段１０２により特定された物理ノード２００のアドレスとポートを用いて、ＶＭ４〜ＶＭ６の各々が起動された物理ノード２００間にデータパスを設定する。
【００８７】
以上のように、本発明は、マルチテナント環境におけるテナントの構築にも適用することができる。
【００８８】
［第５の実施形態］
続いて、ユーザから要求された仮想ネットワーク機能（ＶＮＦ：Virtual Network Function）を構築する本発明の第５の実施形態について図面を参照して詳細に説明する。図１７は、本発明の第５の実施形態のシステムの構成例を示す図である。図１８は、本発明の第５の実施形態の制御装置の構成例を示す図である。図１７、図１８を参照すると、制御装置１００Ｄは、第３の実施形態の制御装置と同様の構成であり、制御装置１００Ｄの制御部１１０Ｄは、ノード特定手段１０１Ｄ、位置特定手段１０２Ｄ、パス設定手段１０３Ｄ及びノード要求手段１０４Ｄを備えている。
【００８９】
ノード特定手段１０１Ｄは、ユーザからＶＮＦの提供要求を受けると、ＶＮＦに対応するＶＭを特定する。このとき、ユーザから要求されたＶＮＦを実現可能なＶＭが起動していない場合、ノード要求手段１０４Ｄに対し、必要なＶＭの起動を要求する。
【００９０】
位置特定手段１０２Ｄは、前記ノード特定手段１０１Ｄによって特定されたＶＭ３００の物理ＮＷにおける位置に関する情報を特定する。位置特定手段１０２Ｄは、例えば、ＶＭ１〜ＶＭ３の各々が動作する物理ノード２００のアドレスと、物理ノード２００のポートのうちＶＭ１〜ＶＭ３に対応するポートのポート番号とを特定する。
【００９１】
パス設定手段１０３Ｄは、物理ＮＷのトポロジ情報と、位置特定手段１０２Ｄによって特定されたＶＭの物理ネットワークにおける位置に関する情報を用いて、物理ＮＷ上にユーザが要求するＶＮＦを実現するためのデータパスを設定する。
【００９２】
ノード要求手段１０４Ｄは、ノード特定手段１０１Ｄからの要求に応じて、物理サーバ２００上に、ＶＮＦの提供に必要なＶＭを起動し、そのＶＭの情報をノード特定手段１０１Ｄに提供する。ノード要求手段１０４Ｄは、例えば、起動したＶＭの識別子を、ノード特定手段１０１Ｄに提供する。
【００９３】
ここで、ノード要求手段１０４ＤがＶＭを起動させる仕組みについて説明する。図１９は、図１７に示された物理ノード２００の細部構成を示す図である。物理ノード２００は、仮想ネットワーク機能の機能を提供する仮想マシンを運用する。ここで、仮想ネットワーク機能としては、ファイヤウォール（ＦＷ：Firewall）、ディープ  パケット  インスペクション（ＤＰＩ：Deep Packet Inspection）、ロードバランサ（ＬＢ：Load Balancer）等が挙げられる。
【００９４】
通信ノード２００は、例えば、サーバ、スイッチ、ルータ等である。通信ノード２００は、仮想ネットワークにおける仮想ネットワークノード（例えば、仮想ＳＧＷ（Serving Gateway）、仮想ＰＧＷ（Packet data network Gateway）、仮想ＭＭＥ（Mobility Management Entity）等）の機能を提供する仮想マシンを運用する。
【００９５】
仮想ネットワークノードの各々は、例えば以下の機能を有する。仮想ＰＧＷ：パケットを処理する機能（User-Plane機能）、通信に応じた課金状態を管理する機能（ＰＣＥＦ：Policy and Charging Enforcement Function）、ＱｏＳ（Quality of Service）等のポリシーを制御する機能（ＰＣＲＦ：Policy and Charging Rule Function）、仮想ＳＧＷ：パケットを処理する機能（User-Plane機能）、制御シグナリングを処理する機能（C-Plane機能）、通信を傍受するための合法的傍受（ＬＩ：Lawful Interception） 機能、仮想ＭＭＥ：制御シグナリングを処理する機能（C-Plane機能）、ＨＳＳ（Home Subscriber Server）と連携して、通信システムの加入者情報を管理する機能。
【００９６】
物理ノード２００は、仮想ネットワーク機能（ＶＮＦ：Virtual Network Function）２２０を構築可能な制御部１１０を含む。制御部１１０は、ＶＮＦ２２０を仮想マシン上で運用することで、仮想ネットワークノードの機能を提供する。このような制御部１１０は、例えば、ハイパーバイザ（Hypervisor）等、コンピュータの仮想化を実行可能な制御プログラムにより構成されてもよい。
【００９７】
制御部１１０は、上述のノード要求手段１０４Ｄからの指示を受けて、ＶＮＦ２２０を運用する仮想マシンの起動、停止、移行（仮想マシンを他の通信装置１００に移行する）等を実行できる。
【００９８】
なお、ＶＮＦ２２０とＶＭは必ずしも１対１に対応するものではない。例えば、仮想ＰＧＷを実現しようとする場合、図２０の左図に示すように、ＰＧＷの機能に含まれる課金に関する機能を持つＶＭ１と、ＰＧＷの機能に含まれるＱｏＳ（Quality of Service）等のポリシー制御を行うＶＭ２とを別々に起動することができる（機能別ＶＭ）。もちろん、図２０の右図に示すように、仮想ＰＧＷの機能を持つＶＭ３により仮想ＰＧＷを実現することもできる（アプライアンス型ＶＭ）。
【００９９】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図２１は、本発明の第５の実施形態のシステムの構成例を示す図である。また、図２２は、本発明の第５の実施形態の動作例を示すフローチャートである。例えば、ユーザからＶＮＦ１、ＶＮＦ２を繋げて構築されたサービスチェインの構築が要求されたものとする。また初期状態としてＶＭが一つも起動されていないものとする。ここでのユーザは、上述の実施形態と同様に、物理ネットワークやＶＭの起動状況の構成を知らなくてもよい。
【０１００】
ノード特定手段１０１Ｄは、ノード要求手段１０４Ｄに対して、前記ユーザが要求するＶＮＦ１、ＶＮＦ２に対応するＶＭの起動を要求する（Ｓ４−１）。ノード要求手段１０４Ｄは、ノード特定手段１０１Ｄからの要求に基づいて、物理ノードにＶＭの立ち上げを要求する(図２１の「ＶＭ立ち上げ」、図２２のＳ４−１)。
【０１０１】
これにより、図２１の下段に示すように、ＶＭ１〜ＶＭ３が立ち上げられる。ノード要求手段１０４Ｄは、ＶＭが起動されたことに応じて、当該ＶＭの起動の完了を、ノード特定手段１０１Ｄに通知する（Ｓ４−２）。ノード特定手段１０１Ｄは、ノード要求手段１０４ＤからのＶＭ起動の完了通知を受け、起動されたＶＭ１〜ＶＭ３を特定する（Ｓ４−３）。次に、位置特定手段１０２Ｄが、前記ノード特定手段１０１Ｄよって特定された３つのＶＭ１〜３の物理ネットワークにおける位置に関する情報を特定する（Ｓ４−４）。
【０１０２】
次に、パス設定手段１０３Ｄが、ＶＭ１〜３の物理ネットワークにおける位置に関する情報と、物理ＮＷのトポロジ情報を用いて、ＶＭ１〜ＶＭ３間にデータパスを設定する（Ｓ４−５）。また、パス設定手段１０３Ｄは、ＶＭ１〜ＶＭ３の各々が起動している物理ノード２００間を互いに通信可能とするためのフローエントリや経路情報を物理ノード２１０に設定する。これによって、ユーザが要求するＶＮＦ及びサービスチェインを実現するために必要な物理ＮＷ上のデータパスが設定される。
【０１０３】
以上のように、本実施形態によれば、具体のアドレスやリソースの指定のない、ユーザの要求したサービスチェイン乃至ＶＮＦを、その機能実現手段（ＶＭ）と、その物理ネットワーク上の位置情報に落としこんだ後、これらを接続することで、図２１の下段に示したサービスチェインが実現される。
【０１０４】
なお、同一の物理ノード上で動作しているＶＮＦ（ＶＭ）間のデータパスは、物理ノード２００内の制御部１１０に内蔵されたパス制御部２１０１に指示することで実現することができる。
【０１０５】
図２３は、本発明の第５の実施形態の制御装置１００Ｄと連携動作する物理ノード２００に設定されるデータパスの一例を説明するための図である。図２３の例では、制御部１１０は、信号（１）に対して、ＶＮＦ（Ａ）、（Ｂ）および（Ｃ）を経由するＶＮＦパスを設定し、信号（２）に対して、ＶＮＦ（Ａ）および（Ｂ）を経由するＶＮＦパスを設定している。
【０１０６】
具体的には、制御部１１０のパス制御部２１０１は、前記設定に従い、図２３で例示したように、信号の種別に応じて経路で信号を転送する。
【０１０７】
前記信号の種別は、例えば、ＶＮＦ２００に割り当てられたＭＡＣアドレスやＩＰアドレスに基づいて、パケットを転送するようにすることができる。また例えば、パケットを伝送する仮想的なコネクションである“ベアラ”の種別や、パケット内の情報に基づいて識別されるパケットの属性等を用いて転送経路を変えることもできる。
【０１０８】
さらに、パス制御部２１０１に、例えば、ユーザ（端末１）の通信量、通信システムの通信負荷・通信量、サーバ２０の負荷状況等に基づいて、ＶＮＦパスを制御させることもできる。同様に、ベアラの通信量に応じて、当該ベアラに属するパケットのＶＮＦパスを制御させることもできる。また例えば、通信量が所定の閾値を超えたことに応じて、ＶＮＦパスを変更させることができる。
【０１０９】
パス制御部２１０１に、ＶＭの負荷状況に応じて、ＶＮＦパスを構成するＶＮＦ２００を選択させることもできる。また例えば、パス制御部２１０１に、同じ機能を含む複数のＶＮＦ２００のうち、仮想マシンの負荷が低いＶＮＦ２００を優先的に選択し、ＶＮＦパスを切り替えさせることもできる。
【０１１０】
このようなパス制御部２１０１は、例えば、ソフトウェアにより構成される仮想的なスイッチ（ｖＳｗｉｔｃｈ：Virtual Switch）で構成されてもよい。この場合、上述のパス設定手段１０３Ｄは、パス制御部２１０１として機能するスイッチに、経路情報やフローエントリを設定することになる。
【０１１１】
以上のように、本発明は、ネットワーク機能の仮想化を実現するシステムにも好適に適用することができる。
【０１１２】
［第６の実施形態］
続いて、ユーザから要求されたサービスチェインを構築する本発明の第６の実施形態について図面を参照して詳細に説明する。図２４は、本発明の第６の実施形態のシステムの構成例を示す図である。また、図２５は、本実施形態の制御装置１００Ａが保持するテーブル（テナント定義記憶部及びマッピング情報記憶部に相当）の一例を示す図である。図２５を参照すると、サービスチェインと、当該サービスチェインに必要なＶＮＦと、当該ＶＮＦに対応するＶＭと、当該ＶＭを運用する物理ノードの位置情報とを対応付けたテーブルが示されている。本実施形態は、ＶＮＦの提供を行う第５の実施形態と同様の構成で実現可能であるため、以下、その相違点を中心に説明する。
【０１１３】
本実施形態の制御装置は、第５の実施形態の制御装置１００Ｄと同様の構成であり、ノード特定手段１０１Ｄ〜ノード要求手段１０４Ｄを備えている（図１８参照）。なお、制御装置１００Ｄは、ノード要求手段１０４Ｄを備えていなくてもよい。
【０１１４】
ノード特定手段１０１Ｄは、ユーザからサービスチェインの提供要求を受けると、サービスチェインに対応するＶＭを特定する（図２４のＶＮＦ１、ＶＮＦ２から延びる矢線参照）。なお、ノード特定手段１０１Ｄは、ユーザから要求されたサービスチェインに必要なＶＮＦを特定し、当該ＶＮＦに対応するＶＭを特定してもよい。図２５に例示するように、ノード特定手段１０１Ｄは、サービスチェイン１とＶＮＦ１（１）及びＶＮＦ１（２）とを対応付け、さらに、ＶＮＦ１（１）とＶＭ１及びＶＮＦ１（２）とＶＭ３とを対応付ける。また、ノード特定手段１０１Ｄは、サービスチェイン２とＶＮＦ１（２）及びＶＮＦ２（２）とを対応付け、さらに、ＶＮＦ１（２）とＶＭ２及びＶＮＦ２（２）とＶＭ４とを対応付ける。
【０１１５】
ユーザから要求されたサービスチェインを実現可能なＶＮＦが起動していない場合、ノード特定手段１０１Ｄは、ノード要求手段１０４Ｄに対し、必要なＶＮＦの構築を要求する。
【０１１６】
位置特定手段１０２Ｄは、前記ノード特定手段１０１Ｄによって特定された通信ノードの物理ネットワークにおける位置に関する情報を特定する（図２４のＶＭ１〜ＶＭ４から物理ノードに延びる矢線参照）。位置特定手段１０２Ｄは、例えば、複数のＶＭ１〜ＶＭ４の各々について、当該ＶＭ１〜ＶＭ４の各々を実現する物理ノード２００の物理ＮＷ上のアドレスと、当該物理ノード２００のポートのうち当該ＶＭ１〜ＶＭ４に対応するポートのポート番号とを特定する。図２５に例示するように、位置特定手段１０２Ｄは、ＶＭ１と、物理ノード２００のアドレスと、ポート番号＃１とを対応付ける。
【０１１７】
パス設定手段１０３Ｄは、物理ＮＷのトポロジ情報と、位置特定手段１０２Ｄによって特定されたＶＭの物理ネットワークにおける位置に関する情報を用いて、物理ＮＷ上にユーザが要求するサービスチェインを実現するためのデータパスを設定する（Service Chain１、２に対するデータパス参照）。
【０１１８】
ノード要求手段１０４Ｄは、ノード特定手段１０１Ｄからの要求に応じて、物理サーバ２００上に、ＶＮＦの提供に必要なＶＭを起動し、そのＶＭの情報をノード特定手段１０１Ｄに提供する。
【０１１９】
図２６は、本発明の第６の実施形態における制御装置１００Ｄの動作例を示すフローチャートである。
【０１２０】
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下の説明では、ユーザから、図２４に示す２つのサービスチェインの構築が要求されたものとする。ここでのユーザは、上述の物理ネットワークの構成を知らなくてもよい。
【０１２１】
ノード特定手段１０１Ｄは、まずユーザが要求するサービスチェインに対応するＶＮＦを特定し（Ｓ５−１）、次に、ＶＮＦに対応するＶＭを特定する（Ｓ５−２）。図２５の例では、ノード特定手段１１０は、サービスチェイン１がＶＮＦ１、ＶＮＦ２を経由し、ＶＮＦ１、ＶＮＦ２は、それぞれＶＭ１、ＶＭ３に対応することを特定する。同様に、ノード特定手段１１０は、サービスチェイン２がＶＮＦ１、ＶＮＦ２を経由し、ＶＮＦ１、ＶＮＦ２は、それぞれＶＭ２、ＶＭ４に対応することを特定する。なお、図２５のテーブルがサービスチェイン定義記憶部及びマッピング情報記憶部に相当する。
【０１２２】
次に、位置特定手段１０２が、前記ノード特定手段１０１によって特定された４つのＶＭの物理ネットワークにおける位置に関する情報を特定する（図２５の物理ノードの位置情報参照、図２６のＳ５−３）。
【０１２３】
次に、パス設定手段１０３が、２組のＶＭの物理ネットワークにおける位置に関する情報と、物理ＮＷのトポロジ情報を用いて、物理ＮＷ上にユーザが要求するサービスチェインを実現するためのデータパスを設定する（Ｓ５−４）。図２４の例では、サービスチェイン１に対応するＶＭ１、ＶＭ４間にデータパスが設定され、サービスチェイン２に対応するＶＭ２、ＶＭ３間にデータパスが設定される。なお、サービスチェインの場合、図２４においても明らかにしたように、同じサービスを提供するサービスチェインであっても、当該サービスチェインに対応するＶＭが異なるため、物理ネットワーク上のデータパスは異なることがある。また、図２４の例では、同じサービスを提供するサービスチェインが同一のＶＮＦを用いて構築されているが必ずしも同一のＶＮＦを用いる必要は無い。
【０１２４】
以上のように、本実施形態によれば、制御装置１００は、ユーザが要求するサービスチェインを実現するために、当該ユーザが要求するサービスチェインに対応するＶＭ等の通信ノードを特定し、その通信ノードを物理ＮＷ上の位置情報に落とし込み、当該通信ノード間の物理ＮＷ上のデータパスを設定する。したがって、ユーザの要求する仮想ネットワーク上のサービスチェインを、その機能実現手段と、その物理ネットワーク上の位置情報に落としこんだ後、これらを接続することで、仮想ネットワーク上のサービスチェインを物理ネットワーク上で実現できる。
【０１２５】
［第７の実施形態］
続いて、本発明の第７の実施形態について図面を参照して説明する。制御装置の機能等は第３の実施形態と同様であるので、以下その相違点を中心に説明する。
【０１２６】
図２７に示すように、本発明の第７の実施形態では、物理ＮＷ毎に制御装置が配置されている構成を採ることができる。例えば、一つのデータセンタ内に異なる物理ＮＷが存在し、当該物理ＮＷ毎に制御装置を配置する構成である。各制御装置は、それぞれに割り当てられた物理ＮＷを管理する。そして、ユーザが要求するサービスは、異なる物理ＮＷにまたがって構築することが可能である。この場合、各制御装置は、それぞれのノード特定手段１０１及び位置特定手段１０２で収集及び特定した情報を共有し、異なる物理ＮＷをまたがったデータパスを設定することにより、ユーザから要求されたサービスを実現することが可能となる。以下の例では、ユーザから要求されたサービスを、当該ユーザに対応するテナントに含まれる通信ノードから特定する場合を例にして説明するが、当該サービスはサービスチェイン等であってよい。
【０１２７】
図２８は、本実施形態の制御装置１及び２が、それぞれ情報を交換することにより作成するテーブル（テナント定義記憶部及びマッピング情報記憶部に相当）の一例を示す図である。図２８を参照すると、ユーザから要求されたサービスに対して、当該ユーザに対応するテナントと、当該サービスを実現するためのＶＭの識別子と（ＶＭ１〜ＶＭ４）、当該ＶＭ１〜ＶＭ４の各々を管理する制御装置（制御装置１又は制御装置２）と、当該ＶＭ１〜ＶＭ４の物理ＮＷ上の位置情報とが、対応付けて記憶されている。
【０１２８】
図２８において、制御装置１が管理するＶＭ１及びＶＭ２に関する情報（ＶＭの識別子と、物理ノードの位置情報）は、当該制御装置１によって特定される。また、制御装置２が管理するＶＭ３及びＶＭ４に関する情報（ＶＭの識別子と、物理ノードの位置情報）は、当該制御装置２によって特定される。
【０１２９】
制御装置１及び制御装置２は、自装置が特定した情報（自装置が管理するＶＭの識別子と、物理ノードの位置情報）を共有する。制御装置１及び制御装置２は、例えば、ＢＧＰ（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ）により、当該情報を交換する。なお、制御装置１及び制御装置２は、これらＶＭと物理ＮＷ上の位置情報の交換を、図２８に示すテーブルの交換で実現することもできる。制御装置１は、図２８に示すテーブルの上段（制御装置１が特定する部分）を、制御装置２に送信する。一方、制御装置２は、図２８に示すテーブルの下段（制御装置２が特定する部分）を、制御装置１に送信する。これにより、制御装置１及び制御装置２は、図２８に示すテーブルを交換可能である。
【０１３０】
なお、制御装置１及び制御装置２が交換する情報は、例えば、物理ＮＷのトポロジ情報等を含んでいてもよい。
【０１３１】
制御装置１及び制御装置２のパス設定手段１０３は、特定された物理ＮＷ上の位置情報を用いて、ユーザから要求されたサービスを実現するために必要な物理ＮＷ上のデータパスを設定する。あるいは、制御装置１又は制御装置２のいずれか一方が、他方の制御装置に代わって、共有した情報（例えば、図２８に示すテーブル）に基づいて、全体のデータパスを設定するようにしてもよい。
【０１３２】
制御装置１は、物理ノード２１０Ａに対して、ＶＭ１又はＶＭ２からのパケットを、物理ノード２１０Ｂに転送するための処理規則や転送情報を設定する。また、制御装置１は、物理ノード２１０Ａに対して、物理ノード２１０Ｂから転送されてきたＶＭ３又はＶＭ４からのパケットを、ＶＭ１又はＶＭ２に転送するための処理規則や転送情報を設定する。
【０１３３】
同様に、制御装置２は、物理ノード２１０Ｂに対して、ＶＭ３又はＶＭ４からのパケットを、物理ノード２１０Ａに転送するための処理規則や転送情報を設定する。また、制御装置２は、物理ノード２１０Ｂに対して、物理ノード２１０Ａから転送されてきたＶＭ１又はＶＭ２からのパケットを、ＶＭ３又はＶＭ４に転送するための処理規則や転送情報を設定する。
【０１３４】
これにより、制御装置１及び制御装置２は、物理ＮＷにおけるＶＭ１〜ＶＭ４間のデータパスが設定することができ、ユーザから要求されたサービスを実現することが可能となる。
【０１３５】
以上のように、本発明は、物理的に離れたネットワーク間、例えば異なるＤＣ内のネットワーク間でのテナントやサービスチェイン等の実現にも適用することができる。
【０１３６】
［第８の実施形態］
続いて、上記第７の実施形態に変更を加えた第８の実施形態について図面を参照して説明する。図２９は、本発明の第８の実施形態の構成を示す図である。基本的な構成は図２７に示した第７の実施形態と同様であるが、本実施形態では、例えば、物理ＮＷ１と、物理ＮＷ２とで通信プロトコル（トンネリングプロトコル）が異なっており、そのままではデータパスを設定できないという点で異なっている。以下、その相違点を中心に説明する。
【０１３７】
図２９に例示するように、第８の実施形態では、物理ネットワーク（物理ＮＷ）が異なるトンネリングプロトコル（一例としてＶＸＬＡＮ／ＮｖＧＲＥ）で構築されている。例えば、第８の実施形態の通信システムは、ＶＸＬＡＮ（Virtual eXtensible Local Area Network）で構築された物理ＮＷ１と、ＮＶＧＲＥ（Network Virtualization using Generic Routing Encapsulation）で構築された物理ＮＷ２が、インターネットを介して、ゲートウェイ（ＧＷ１及びＧＷ２）で接続されている構成が示されている。なお、物理ＮＷ１及び物理ＮＷ２の間は、ＷＡＮ（Wide Area Network）等であってもよい。
【０１３８】
制御装置１００Ｅ１及び制御装置１００Ｅ２の制御部１１０は、例えば、通信部１２０を介して、物理ＮＷ１及び物理ＮＷ２のトポロジ情報を交換する。制御装置１００Ｅ１及び制御装置１００Ｅ２は、例えば、ＢＧＰにより、当該トポロジ情報を交換する。
【０１３９】
制御装置１００Ｅ１及び制御装置１００Ｅ２のノード特定手段１０１は、ユーザから要求されたサービスを実現するために必要なＶＭを、当該ユーザに対応するテナントに含まれるＶＭから特定する。図２９の例では、制御装置１００Ｅ１及び制御装置１００Ｅ２のノード特定手段１０１は、ユーザから要求されたサービスが、当該ユーザに対応するテナントに含まれるＶＭのうちのＶＭ１〜ＶＭ４が必要であると特定する。各ノード特定手段１０１は、例えば、ユーザから要求されたサービスに対して、当該ユーザに対応するテナントと、当該ユーザが要求するサービスに必要なＶＭ１〜ＶＭ４の各々を一意に識別可能なＶＭ識別子とを対応付ける。
【０１４０】
制御装置１００Ｅ１及び制御装置１００Ｅ２の位置特定手段１０２は、ノード特定手段１０１が特定したＶＭ１〜ＶＭ４の物理ＮＷ上の位置に関する情報を特定する。制御装置１００Ｅ１の位置特定手段１０２は、当該制御装置Ｅ１が管理する物理ＮＷ１内のＶＭ１及びＶＭ２について、物理ＮＷ１上の位置に関する情報を特定する。具体的には、制御装置１００Ｅ１の位置特定手段１０２は、ＶＭ１及びＶＭ２の物理ＮＷ１上の位置に関する情報として、当該ＶＭ１及びＶＭ２の各々のアドレスや、ＶＭ１及びＶＭ２の各々が接続する仮想スイッチのアドレスやポート番号、などを特定する。一方、制御装置１００Ｅ２の位置特定手段１０２は、当該制御装置Ｅ２が管理する物理ＮＷ２内のＶＭ３及びＶＭ４について、物理ＮＷ２上の位置に関する情報を特定する。具体的には、制御装置１００Ｅ２の位置特定手段１０２は、ＶＭ３及びＶＭ４の物理ＮＷ１上の位置に関する情報として、当該ＶＭ３及びＶＭ４の各々のアドレスや、ＶＭ３及びＶＭ４の各々が接続する仮想スイッチのアドレスやポート番号、などを特定する。
【０１４１】
図３０は、第８の実施形態の制御装置１００Ｅ１、１００Ｅ２が保持するテーブルの一例を示す図である。図２８に例示する第７の実施形態の制御装置が保持するテーブルと異なっているのは、プロトコル格納領域が追加されている点である。
【０１４２】
図３０に例示するように、ユーザが要求するサービスに対して、当該ユーザに対応するテナントと、当該ユーザが要求するサービスを実現するためのＶＭの識別子と（ＶＭ１〜ＶＭ４）、当該ＶＭ１〜ＶＭ４の各々を管理する制御装置（制御装置１又は制御装置２）と、当該ＶＭ１〜ＶＭ４を実現する物理ノードの位置情報と、当該ＶＭ１〜ＶＭ２を含む物理ＮＷにおけるプロトコルとが、対応付けて記憶されている。例えば、物理ＮＷ１内のＶＭ１及びＶＭ２の各々には、物理ＮＷ１におけるプロトコルであるＶＸＬＡＮが対応付けられている。一方、物理ＮＷ２内のＶＭ３及びＶＭ４の各々には、物理ＮＷ２におけるプロトコルであるＮｖＧＲＥが対応付けられている。また、制御装置１００Ｅ１及び制御装置１００Ｅ２の制御部１１０は、例えば、通信部１２０を介して、管理するＮＷにおけるトンネリングプロトコル（ＶＸＬＡＮ／ＮｖＧＲＥ）に関する情報を交換する。
【０１４３】
制御装置１００Ｅ１及び制御装置１００Ｅ２の制御部１１０は、自装置が特定したＶＭの位置情報（自装置が管理するＶＭの識別子と、物理ノードの位置情報）を共有する。制御装置１００Ｅ１及び制御装置１００Ｅ２は、例えば、ＢＧＰにより、当該ＶＭの位置情報を交換する。
【０１４４】
制御装置１００Ｅ１及び制御装置１００Ｅ２のパス設定手段１０３は、自装置が特定したＶＭの位置情報と、共有したＶＭの位置情報とに基づいて、ユーザが要求するサービスを実現するために必要な物理ＮＷ上のデータパスを設定する。
【０１４５】
制御装置１００Ｅ１のパス設定手段１０３は、例えば、物理ＮＷ１内のＶＭ１とＶＭ２との間にデータパスを設定する。また、制御装置１００Ｅ１のパス設定手段１０３は、物理ノード２１０Ａに対して、ＶＭ１又はＶＭ２からのパケットを、ＧＷ１に転送するための処理規則や転送情報を設定する。また、制御装置１００Ｅ１は、物理ノード２１０Ａに対して、ＧＷ１から転送されてきたＶＭ３又はＶＭ４からのパケットを、ＶＭ１又はＶＭ２に転送するための処理規則や転送情報を設定する。
【０１４６】
ここで、物理ＮＷ１のトンネリングプロトコルはＶＸＬＡＮであり、インターネットにおける通信プロトコルと異なる場合がある。この場合、制御装置１００Ｅ１のパス設定手段１０３は、例えば、ＧＷ１に対して、ＶＭ１及びＶＭ２からＶＸＬＡＮに基づいて転送されてきたパケットを、インターネットにおける通信プロトコルに変換して、当該インターネットに転送するための処理規則や転送情報を設定する。具体的には、制御装置１００Ｅ１のパス設定手段１０３は、ＧＷ１に対して、物理ノード２１０Ａから受信したパケットからＶＸＬＡＮに基づいた転送情報（アドレス等）をデカプセル化し、当該パケットにインターネット上の通信プロトコルに準拠した転送情報（アドレス等）をカプセル化する旨を指示する。
【０１４７】
一方、制御装置１００Ｅ１のパス設定手段１０３は、例えば、ＧＷ１に対して、インターネットにおける通信プロトコルに基づいて転送されてきたパケットを、物理ＮＷ１のトンネリングプロトコルであるＶＸＬＡＮに変換して、物理ノード２１０Ａに転送するための処理規則や転送情報を設定する。具体的には、制御装置１００Ｅ１のパス設定手段１０３は、ＧＷ１に対して、受信したパケットからインターネット上の通信プロトコルに基づいた転送情報（アドレス等）をデカプセル化し、当該パケットにＶＸＬＡＮに準拠した転送情報（アドレス等）をカプセル化する旨を指示する。
【０１４８】
同様に、制御装置１００Ｅ２のパス設定手段１０３は、例えば、物理ＮＷ２内のＶＭ３とＶＭ４との間にデータパスを設定する。具体的には、制御装置１００Ｅ２のパス設定手段１０３は、ＶＭ３が起動されている物理ノード２００Ｂと、ＶＭ４が起動されている物理ノード２００Ｃとの間にデータパスを設定するため、物理ノード２１０Ｂに対して、当該物理ノード２００Ｂと物理ノード２００Ｃ間を通信可能にするための処理規則や転送情報を設定する。また、制御装置１００Ｅ１のパス設定手段１０３は、物理ノード２１０Ａに対して、ＶＭ１又はＶＭ２からのパケットを、ＧＷ１に転送するための処理規則や転送情報を設定する。また、制御装置１は、物理ノード２１０Ａに対して、ＧＷ１から転送されてきたＶＭ３又はＶＭ４からのパケットを、ＶＭ１又はＶＭ２に転送するための処理規則や転送情報を設定する。
【０１４９】
また、物理ＮＷ２のトンネリングプロトコルはＮｖＧＲＥであり、インターネットにおける通信プロトコルと異なる場合がある。この場合、制御装置１００Ｅ２のパス設定手段１０３は、例えば、ＧＷ２に対して、ＶＭ３及びＶＭ４からＮｖＧＲＥに基づいて転送されてきたパケットを、インターネットにおける通信プロトコルに変換して、当該インターネットに転送するための処理規則や転送情報を設定する。具体的には、制御装置１００Ｅ２のパス設定手段１０３は、例えば、ＧＷ２に対して、物理ノード２１０Ｂから受信したパケットからＮｖＧＲＥに基づいた転送情報（アドレス等）をデカプセル化し、当該パケットにインターネット上の通信プロトコルに準拠した転送情報（アドレス等）をカプセル化する旨を指示する。
【０１５０】
一方、制御装置１００Ｅ２のパス設定手段１０３は、例えば、ＧＷ２に対して、インターネットにおける通信プロトコルに基づいて転送されてきたパケットを、物理ＮＷ２のトンネリングプロトコルであるＮｖＧＲＥに変換して、物理ノード２１０Ｂに転送するための処理規則や転送情報を設定する。具体的には、制御装置１００Ｅ２のパス設定手段１０３は、ＧＷ２に対して、受信したパケットからインターネット上の通信プロトコルに基づいた転送情報（アドレス等）をデカプセル化し、にＮｖＧＲＥに準拠した転送情報（アドレス等）をカプセル化する旨を指示する。
【０１５１】
これにより、制御装置１００Ｅ１及び制御装置１００Ｅ２は、物理ＮＷにおけるＶＭ１〜ＶＭ４間のデータパスが設定することができ、ユーザが要求するサービスを実現することが可能となる。
【０１５２】
図３１は、第８の実施形態におけるシステムの他の構成例を示す図である。図３１に示すように、第８の実施形態において、例えば、物理ＮＷ１がパブリッククラウドを提供するデータセンタ（データセンタ（ＤＣ）１）であり、物理ＮＷ２がオンプレミス（ＤＣ２）の場合が考えられる。すなわちパブリッククラウドから提供されるＶＭと、オンプレミス（on-premises）で準備するＶＭとを用いて、一つのテナントを構築する形態であり、例えばハイブリッドクラウドと呼ばれる形態である。このような形態では、パブリッククラウドを提供するＤＣ１内の物理ＮＷ１を管理する制御装置１と、オンプレミス（ＤＣ２）内の物理ＮＷ２を管理する制御装置２とが異なる。したがって、一つのテナントを構築しようとした場合、当該テナントに含まれる通信ノード用いて所定のサービスを実現するために必要な物理ＮＷ上のデータパスを設定するためには、制御装置１及び制御装置２間で情報を交換する必要がある。
【０１５３】
また、パブリッククラウドを提供するＤＣ１内の物理ＮＷ１と、オンプレミス（ＤＣ２）内の物理ＮＷ２とではトンネリングプロトコルが異なる場合がある。例えば、パブリッククラウドを提供するＤＣ１内の物理ＮＷ１のトンネリングプロトコルがＶＸＬＡＮであり、オンプレミス（ＤＣ２）内の物理ＮＷ２のトンネリングプロトコルがＮｖＧＲＥの場合である。
【０１５４】
図３１の制御装置１及び制御装置２は、ユーザから要求されたサービスを実現するために必要な通信ノードを特定し、当該特定した通信ノードの物理ＮＷ上の位置情報を特定し、当該特定した位置情報に基づいて通信ノード間にデータパスを設定する。
【０１５５】
図３１の例では、制御装置１及び制御装置２のノード特定手段１０１は、ユーザから要求されたサービスを実現するために必要な通信ノードを、ＶＭ１〜ＶＭ３と特定する。
【０１５６】
次に、制御装置１及び制御装置２の位置特定手段１０２は、ＶＭ１〜ＶＭ３の各々の物理ＮＷ上の位置情報を特定する。制御装置１は、管理するパブリッククラウドを提供するＤＣ１内の物理ＮＷ１において、ＶＭ１及びＶＭ２の位置情報を特定する。また、制御装置２は、管理するオンプレミス（ＤＣ２）内の物理ＮＷ２において、ＶＭ３の位置情報を特定する。
【０１５７】
続いて、制御装置１及び制御装置２のパス設定手段１０３は、特定された位置情報に基づき、ＶＭ１〜ＶＭ３間にデータパスを設定する。ここで、パブリッククラウドを提供するＤＣ１内の物理ＮＷ１と、オンプレミス（ＤＣ２）内の物理ＮＷ２と、インターネットとでは、通信プロトコルが異なる場合がある。この場合、制御装置１のパス設定手段１０３は、例えば、ＧＷ１に対して、物理ＮＷ１における通信プロトコルと、インターネットにおける通信プロトコルとを互いに変換するための処理規則や転送情報を設定する。また、制御装置２のパス設定手段１０３は、例えば、ＧＷ２に対して、物理ＮＷ２における通信プロトコルと、インターネットにおける通信プロトコルとを互いに変換するための処理規則や転送情報を設定する。なお、制御装置１及び制御装置２のパス設定手段１０３の具体的な処理は、図２９に例示する制御装置１００Ｅ１と制御装置１００Ｅ２のパス設定手段１０３と同様であるため、詳細な説明は省略される。これにより、制御装置１及び制御装置２は、異なるＤＣ内に存在するＶＭ１・ＶＭ２と、ＶＭ３との間のデータパスを設定することができ、ユーザから要求されたサービスを実現することが可能となる。
【０１５８】
なお、制御装置１及び制御装置２のいずれか一方が、他の制御装置から取得した情報（当該他の制御装置が管理する物理ＮＷのトポロジ情報など）に基づいて、ＶＭ１〜ＶＭ３の位置情報の特定や、ＶＭ１〜ＶＭ３間のデータパスの設定を実行してもよい。例えば、オンプレミス（ＤＣ２）内の制御装置２が、パブリッククラウドを提供するＤＣ１内の制御装置１から取得した物理ＮＷ１のトポロジ情報などに基づいて、ＶＭ１〜ＶＭ３の位置情報の特定と、ＶＭ１〜ＶＭ３間のデータパスの設定を実行する。この場合、制御装置２は、ＤＣ１の物理ＮＷ１内のＶＭ１及びＶＭ２間のデータパスの設定と、ＧＷ１に対する処理規則や転送情報の設定を、制御装置１に対して要求することにより、当該ＶＭ１〜ＶＭ３間のデータパスの設定を実行してもよい。
【０１５９】
図３２は、第８の実施形態におけるシステムの他の構成例を示す図である。図３２に示すように、第８の実施形態におけるシステムは、例えば、ユーザＡのオンプレミスのＤＣ１と、パブリッククラウドのＤＣ２と、パブリッククラウドのＤＣ３と、ユーザＢのオンプレミスのＤＣ４とを含む。
【０１６０】
図３２に示すように、第８の実施形態におけるシステムは、ユーザＡに対応するテナント１と、ユーザＢに対応するテナント２とを含み、複数のＤＣによりマルチテナントが提供されている。ユーザＡに対応するテナント１は、ＤＣ１内のＶＭ１と、ＤＣ２内のＶＭ２及びＶＭ３と、ＤＣ３内のＶＭ４とを含む。一方、ユーザＢに対応するテナント２は、ＤＣ３内のＶＭ５と、ＤＣ４内のＶＭ６とを含む。
【０１６１】
制御装置１、制御装置２及び制御装置３のノード特定手段１０１は、ユーザＡから要求されたサービスを実現するＶＭとして、当該ユーザＡに対応するテナント１に含まれるＶＭ１〜ＶＭ４を特定する。次に、制御装置１、制御装置２及び制御装置３の位置特定手段１０２は、ＶＭ１〜ＶＭ４の物理ＮＷ上の位置情報を特定する。制御装置１の位置特定手段１０２は、自装置が管理するＤＣ１内のＶＭ１の物理ＮＷ上の位置情報を特定する。同様に、制御装置２及び制御装置３の位置特定手段１０２も、それぞれ、ＤＣ２内のＶＭ２及びＶＭ３と、ＤＣ３内のＶＭ４との物理ＮＷ上の位置情報を特定する。続いて、制御装置１、制御装置２及び制御装置３のパス設定手段１０３は、ＶＭ１〜ＶＭ４間のデータパスを設定する。ここで、ＤＣ１〜ＤＣ３の各々と、インターネットとでは、通信プロトコルが異なる場合がある。この場合、制御装置１、制御装置２及び制御装置３のパス設定手段１０３は、それぞれ、ＧＷ１〜ＧＷ３の各々に、ＤＣ１〜ＤＣ３の各々の通信プロトコルと、インターネットの通信プロトコルを互いに変更するための処理規則や転送情報を設定する。なお、制御装置１、制御装置２及び制御装置３のパス設定手段１０３の具体的な処理は、図２９に例示する制御装置１００Ｅ１と制御装置１００Ｅ２のパス設定手段１０３と同様であるため、詳細な説明は省略される。これにより、制御装置１、制御装置２及び制御装置３のパス設定手段１０３は、異なるＤＣ内に存在するＶＭ１〜ＶＭ４の各々の間のデータパスを設定することができ、ユーザＡが要求するサービスを実現することが可能となる。
【０１６２】
なお、制御装置１、制御装置２及び制御装置３のいずれかが、他の制御装置から取得した情報（当該他の制御装置が管理する物理ＮＷのトポロジ情報など）に基づいて、ＶＭ１〜ＶＭ４の位置情報の特定や、ＶＭ１〜ＶＭ４間のデータパスの設定を実行してもよい。例えば、オンプレミス（ＤＣ１）内の制御装置１が、他の制御装置２及び制御装置３から取得したＤＣ２及びＤＣ３内の物理ＮＷのトポロジ情報などに基づいて、ＶＭ１〜ＶＭ４の位置情報の特定と、ＶＭ１〜ＶＭ４間のデータパスの設定を実行する。この場合、制御装置１は、制御装置２及び制御装置３に対して、ＤＣ２及びＤＣ３内の物理ＮＷ上のデータパスの設定や、ＤＣ２のＧＷ２やＤＣ３のＧＷ３に対する設定を要求することにより、当該ＶＭ１〜ＶＭ４間のデータパスの設定を実行してもよい。
【０１６３】
同様にして、制御装置３及び制御装置４のノード特定手段１０１は、ユーザＢから要求されたサービスを実現するＶＭとして、当該ユーザＡに対応するテナント２に含まれるＶＭ５とＶＭ６を特定する。次に、制御装置３及び制御装置４の位置特定手段１０２は、ＶＭ５とＶＭ６の物理ＮＷ上の位置情報を特定する。制御装置３の位置特定手段１０２は、自装置が管理するＤＣ３内のＶＭ５の物理ＮＷ上の位置情報を特定する。同様に、制御装置４の位置特定手段１０２も、ＤＣ４内のＶＭ６の物理ＮＷ上の位置情報を特定する。続いて、制御装置３及び制御装置４のパス設定手段１０３は、ＶＭ５及びＶＭ６間のデータパスを設定する。ここで、ＤＣ３と、ＤＣ４と、インターネットとでは、通信プロトコルが異なる場合がある。この場合、制御装置３及び制御装置４のパス設定手段１０３は、それぞれ、ＧＷ３及びＧＷ４の各々に、ＤＣ３及びＤＣ４の各々の通信プロトコルと、インターネットの通信プロトコルを互いに変更するための処理規則や転送情報を設定する。なお、制御装置３及び制御装置４のパス設定手段１０３の具体的な処理は、図２９に例示する制御装置１００Ｅ１と制御装置１００Ｅ２のパス設定手段１０３と同様であるため、詳細な説明は省略される。これにより、制御装置３及び制御装置４のパス設定手段１０３は、異なるＤＣ内に存在するＶＭ５及びＶＭ６の各々の間のデータパスを設定することができ、ユーザＢが要求するサービスを実現することが可能となる。
【０１６４】
なお、ユーザＡの場合と同様に、制御装置３及び制御装置４のいずれか一方が、他の制御装置から取得した情報（当該他の制御装置が管理する物理ＮＷのトポロジ情報など）に基づいて、ＶＭ１〜ＶＭ３の位置情報の特定や、ＶＭ１〜ＶＭ３間のデータパスの設定を実行してもよい。
【０１６５】
以上のように、本発明は、物理的に別のネットワークであり、しかも通信プロトコルが異なっている場合においても、適用することが可能である。
【０１６６】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【０１６７】
なお、上記した各実施形態の制御装置の各要求手段は、制御装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【０１６８】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による制御装置参照）
［第２の形態］
第１の形態の制御装置において、
前記第１の手段は、前記ネットワークノードの機能を提供可能な複数の仮想マシンを特定し、
前記第３の手段は、前記ネットワークノードの機能を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する制御装置。
［第３の形態］
第１又は第２の形態の制御装置において、
前記第１の手段は、前記ネットワークノードに含まれる複数の機能の各々を提供可能な仮想マシンを、当該複数の機能ごとに特定する制御装置。
［第４の形態］
第３の形態の制御装置において、
前記第１の手段は、前記複数の機能を選択的に提供可能な、複数の仮想マシンを特定する制御装置。
［第５の形態］
第３又は第４の形態の制御装置において、
前記第１の手段は、前記複数の機能を順番に接続した通信サービスに含まれる、当該複数の機能を提供可能な複数の仮想マシンを特定し、
前記第３の手段は、前記順番を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する制御装置。
［第６の形態］
第１から第５いずれか一の形態の制御装置において、
前記第１の手段は、複数の通信サービスごとに、当該複数の通信サービスの各々に含まれるネットワークノードの機能を提供可能な仮想マシンを特定し、
前記第３の手段は、前記複数の通信サービスごとに、前記物理ネットワーク上に当該複数の通信サービスの各々を実現するデータパスを設定する制御装置。
［第７の形態］
（上記第２の視点による通信システム参照）
［第８の形態］
（上記第３の視点による制御方法参照）
［第９の形態］
（上記第４の視点によるコンピュータプログラム参照）
なお、上記第７〜９の形態は、第１の形態と同様に、第２〜第６の形態に展開することが可能である。
【０１６９】
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１７０】
１００、１００Ａ〜１００Ｆ、１００Ｅ１、１００Ｅ２  制御装置
１０１、１０１Ｄ  ノード特定手段
１０２、１０２Ｄ  位置特定手段
１０３、１０３Ｄ  パス設定手段
１０４、１０４Ｄ  ノード要求手段
１１０、１１０Ｄ  制御部
１２０  通信部
２００、２００ａ〜２００ｄ、２００Ａ〜２００Ｄ、２１０、２１０Ａ、２１０Ｂ  物理ノード（物理スイッチ）
２２０  仮想ネットワーク機能（ＶＮＦ）
３００  ＶＭ
２１０１  パス制御部
【図１】
2016159057.tif 000003
【図２】
2016159057.tif 000004
【図３】
2016159057.tif 000005
【図４】
2016159057.tif 000006
【図５】
2016159057.tif 000007
【図６】
2016159057.tif 000008
【図７】
2016159057.tif 000009
【図８】
2016159057.tif 000010
【図９】
2016159057.tif 000011
【図１０】
2016159057.tif 000012
【図１１】
2016159057.tif 000013
【図１２】
2016159057.tif 000014
【図１３】
2016159057.tif 000015
【図１４】
2016159057.tif 000016
【図１５】
2016159057.tif 000017
【図１６】
2016159057.tif 000018
【図１７】
2016159057.tif 000019
【図１８】
2016159057.tif 000020
【図１９】
2016159057.tif 000021
【図２０】
2016159057.tif 000022
【図２１】
2016159057.tif 000023
【図２２】
2016159057.tif 000024
【図２３】
2016159057.tif 000025
【図２４】
2016159057.tif 000026
【図２５】
2016159057.tif 000027
【図２６】
2016159057.tif 000028
【図２７】
2016159057.tif 000029
【図２８】
2016159057.tif 000030
【図２９】
2016159057.tif 000031
【図３０】
2016159057.tif 000032
【図３１】
2016159057.tif 000033
【図３２】
2016159057.tif 000034
【国際調査報告】
2016159057.tif 000035
2016159057.tif 000036