(57)【特許請求の範囲】
【請求項１】
仮想マシン上で動作するソフトウェアによって実装され仮想されたＶＮＦ（Virtual Network Function）の実行基盤を提供するＮＦＶＩ（Network Function Virtualization Infrastructure）のリソース管理と制御を行うＶＩＭ（Virtualized Infrastructure Manager）と、
前記ＶＩＭの上位エンティティとして、前記ＮＦＶＩ上にて、ネットワークサービスを実現するＮＦＶＯ（Network-Orchestrator）と、前記ＶＮＦのライフサイクルを管理するＶＮＦＭ（VNF-Manager）をさらに含み、
新しい仮想マシンを前記ＶＮＦに配置する場合、
前記ＮＦＶＯは、前記ＶＩＭから、前記ＮＦＶＩのリソース情報を収集し、
前記ＮＦＶＯは、前記収集したＮＦＶＩのリソース情報に基づいて、仮想マシンの配置先を決定し、
前記ＮＦＶＯは、前記ＶＮＦＭに対してＶＮＦ生成許可を送信し、
前記ＶＮＦＭは、前記ＶＩＭに対してＮＦＶＩリソース割当要求を行い、
前記ＶＩＭは、前記ＮＦＶＩリソース割当要求に応じて仮想マシンを生成する、
ネットワーク機能仮想化管理オーケストレーション装置。
【請求項２】
前記ＮＦＶＯは、前記収集したＮＦＶＩのリソース情報に基づいて、仮想マシンの配置先を決定する際に、ＶＭ配置先ＩＤを決定し、
前記ＶＮＦＭは、前記ＶＩＭに対して、前記ＶＭ配置先ＩＤに適合するＮＦＶＩリソース割当要求を行う、
請求項１に記載のネットワーク機能仮想化管理オーケストレーション装置。
【請求項３】
前記ＶＭ配置先ＩＤは、ＡＺ＿ＩＤ及び／またはｈｏｓｔｎａｍｅを含む、
請求項２に記載のネットワーク機能仮想化管理オーケストレーション装置。
【請求項４】
仮想マシン上で動作するソフトウェアによって実装され仮想されたＶＮＦ（Virtual Network Function）の実行基盤を提供するＮＦＶＩ（Network Function Virtualization Infrastructure）のリソース管理と制御を行うＶＩＭ（Virtualized Infrastructure Manager）と、
前記ＶＩＭの上位エンティティとして、前記ＮＦＶＩ上にて、ネットワークサービスを実現するＮＦＶＯ（Network-Orchestrator）と、前記ＶＮＦのライフサイクルを管理するＶＮＦＭ（VNF-Manager）をさらに含み、
新しい仮想マシンを前記ＶＮＦに配置する場合、
前記ＶＮＦＭは、前記ＶＩＭから、前記ＮＦＶＩのリソース情報を収集し、
前記ＶＮＦＭは、前記収集したＮＦＶＩのリソース情報に基づいて、仮想マシンの配置先を決定し、
前記ＶＮＦＭは、前記ＶＩＭに対してＮＦＶＩリソース割当要求を行い、
前記ＶＩＭは、前記ＮＦＶＩリソース割当要求に応じて仮想マシンを生成する、
ネットワーク機能仮想化管理オーケストレーション装置。
【請求項５】
前記ＶＮＦＭは、前記収集したＮＦＶＩのリソース情報に基づいて、仮想マシンの配置先を決定する際に、ＶＭ配置先ＩＤを決定し、
前記ＶＩＭは決定された仮想マシンの配置先に前記ＶＭ配置先ＩＤに適合した仮想マシンを生成する、
請求項４に記載のネットワーク機能仮想化管理オーケストレーション装置。
【請求項６】
前記ＶＮＦＭは、前記ＶＮＦが動作する環境を保持する物理実行マシンのリソース上限情報を有し、
前記ＶＮＦＭは、前記物理実行マシンの前記リソース上限情報と、前記収集したＮＦＶＩのリソース情報に基づいて、空いている物理マシンリソースを算出した結果に基づき、仮想マシンの配置先を決定する、
請求項４に記載のネットワーク機能仮想化管理オーケストレーション装置。
【請求項７】
仮想マシン上で動作するソフトウェアによって実装され仮想されたＶＮＦ（Virtual Network Function）の実行基盤を提供するＮＦＶＩ（Network Function Virtualization Infrastructure）のリソース管理と制御を行うＶＩＭ（Virtualized Infrastructure Manager）と、
前記ＶＩＭの上位エンティティとして、前記ＮＦＶＩ上にて、ネットワークサービスを実現するＮＦＶＯ（Network-Orchestrator）と、前記ＶＮＦのライフサイクルを管理するＶＮＦＭ（VNF-Manager）をさらに含み、
前記ＮＦＶＯは、仮想マシンの配置先として複数の候補を算出し、前記算出された複数の候補それぞれに対応するＶＭ配置先ＩＤを前記ＶＮＦＭに送信し、
前記ＶＮＦＭは、前記送信された複数の前記ＶＭ配置先ＩＤから前記ＶＩＭに送信する１つの前記ＶＭ配置先ＩＤを選択し、選択された前記ＶＭ配置先ＩＤを含む、仮想マシンの割当要求を前記ＶＩＭに送信し、
ＶＩＭは、決定された仮想マシンの配置先に仮想マシンを生成する、
ネットワーク機能仮想化管理オーケストレーション装置。
【請求項８】
仮想マシン上で動作するソフトウェアによって実装され仮想されたＶＮＦ（Virtual Network Function）の実行基盤を提供するＮＦＶＩ（Network Function Virtualization Infrastructure）のリソース管理と制御を行うＶＩＭ（Virtualized Infrastructure Manager）と、
前記ＶＩＭの上位エンティティとして、前記ＮＦＶＩ上にて、ネットワークサービスを実現するＮＦＶＯ（Network-Orchestrator）と、前記ＶＮＦのライフサイクルを管理するＶＮＦＭ（VNF-Manager）をさらに含み、
前記ＶＩＭがＯｐｅｎＳｔａｃｋによるＰｒｏｍｉｓｅ機能が実装されていないと判断される際に、新しい仮想マシンを前記ＶＮＦに配置する場合、前記ＮＦＶＯは、前記ＮＦＶＩのリソース情報を前記ＶＩＭから収集し、前記ＮＦＶＯは、前記収集したＮＦＶＩのリソース情報に基づいて、仮想マシンの配置先を決定し、前記ＶＩＭは決定された仮想マシンの配置先に仮想マシンを生成し、
前記ＶＩＭがＯｐｅｎＳｔａｃｋによるＰｒｏｍｉｓｅ機能が実装されていると判断される際に、新しい仮想マシンを前記ＶＮＦに配置する場合、前記ＮＦＶＯは、前記ＶＩＭに新しい仮想環境配置を依頼する、
ネットワーク機能仮想化管理オーケストレーション装置。
【請求項９】
仮想マシン上で動作するソフトウェアによって実装され仮想されたＶＮＦ（Virtual Network Function）の実行基盤を提供するＮＦＶＩ（Network Function Virtualization Infrastructure）のリソース管理と制御を行うＶＩＭ（Virtualized Infrastructure Manager）と、
前記ＶＩＭの上位エンティティとして、前記ＮＦＶＩ上にて、ネットワークサービスを実現するＮＦＶＯ（Network-Orchestrator）と、前記ＶＮＦのライフサイクルを管理するＶＮＦＭ（VNF-Manager）をさらに含む、ネットワークオーケストレーション装置において、
前記ＮＦＶＯにおける、前記ＮＦＶＩのリソース情報を前記ＶＩＭから、収集するステップと、
前記ＮＦＶＯにおける、前記収集したＮＦＶＩのリソース情報に基づいて、仮想マシンの配置先を決定するステップと、
前記ＶＮＦＭは、前記ＶＩＭに対してＮＦＶＩリソース割当要求を行うステップと、
前記ＶＩＭは、前記ＮＦＶＩリソース割当要求に応じて仮想マシンを生成するステップと、
を含む、ネットワーク機能仮想化管理オーケストレーション方法。
【請求項１０】
仮想マシン上で動作するソフトウェアによって実装され仮想されたＶＮＦ（Virtual Network Function）の実行基盤を提供するＮＦＶＩ（Network Function Virtualization Infrastructure）のリソース管理と制御を行うＶＩＭ（Virtualized Infrastructure Manager）と、
前記ＶＩＭの上位エンティティとして、前記ＮＦＶＩ上にて、ネットワークサービスを実現するＮＦＶＯ（Network-Orchestrator）と、前記ＶＮＦのライフサイクルを管理するＶＮＦＭをさらに含む、ネットワークオーケストレーション装置において、
前記ＮＦＶＯにおける、前記ＮＦＶＩのリソース情報を前記ＶＩＭから収集する処理と、
前記ＮＦＶＯにおける、前記収集したＮＦＶＩのリソース情報に基づいて、仮想マシンの配置先を決定する処理と、
前記ＶＮＦＭは、前記ＶＩＭに対してＮＦＶＩリソース割当要求を行う処理と、
前記ＶＩＭは、前記ＮＦＶＩリソース割当要求に応じて仮想マシンを生成する処理と、
前記ＶＩＭにおける、決定された仮想マシンの配置先に仮想マシンを生成する処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１６−０９０７３５号（２０１６年  ４月２８日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、ネットワーク機能仮想化管理オーケストレーション装置と方法とプログラムに関する。
【背景技術】
【０００２】
サーバ上のハイパーバイザ（ＨｙｐｅｒＶｉｓｏｒ：ＨＶ）等の仮想化レイヤ（Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  Ｌａｙｅｒ）上に実装した仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：ＶＭ）によりネットワーク機器等の機能をソフトウェア的に実現するＮＦＶ（Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎｓ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）が知られている。【０００３】
ネットワーク仮想化における共通の要求条件等に関する議論が、欧州電気通信標準化機構（ＥＴＳＩ：European Telecommunications Standards Institute）にて進められている。出願時にて、ＥＴＳＩでの議論はフェーズ１が完了し、フェーズ２が進行している。フェーズ１での成果は、非特許文献１を含む文献として公開されている。【０００４】
図９は、非特許文献１の第２３頁のFigure 5.1(The NFV-MANO architectural framework with reference points)から引用した図である。【０００５】
ＶＮＦ（Ｖｉｒｔｕａｌｉｚｅｄ  Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ）２２はサーバ上の仮想マシン（ＶＭ）で動作するアプリケーション等に対応し、ネットワーク機能をソフトウェア的に実現する。ＶＮＦ２２ごとにＥＭ（Ｅｌｅｍｅｎｔ  Ｍａｎａｇｅｒ：要素管理）２３（ＥＭＳ（Ｅｌｅｍｅｎｔ  Ｍａｎａｇｅ  Ｓｙｓｔｅｍ）ともいう）という管理機能が設けられる。ＮＦＶＩ（Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎｓ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）２１は、コンピューティング、ストレージ、ネットワーク機能等、物理マシン（サーバ）のハードウェア資源をハイパーバイザ等の仮想化レイヤで仮想化した仮想化コンピューティング、仮想化ストレージ、仮想化ネットワーク等の仮想化ハードウェア資源として柔軟に扱えるようにした基盤である。【０００６】
ＮＦＶ−ＭＡＮＯ（ＮＦＶ  Ｍａｎａｇｅｍｅｎｔ  ＆  Ｏｒｃｈｅｓｔｒａｔｉｏｎ）１０のＮＦＶオーケストレータ（ＮＦＶ  Ｏｒｃｈｅｓｔｒａｔｏｒ：ＮＦＶＯ）１１は、ＮＦＶＩ２１のリソースのオーケストレーション、及び、ネットワークサービス（Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ：ＮＳ）インスタンスのライフサイクル管理（ＮＳインスタンスのインスタンシエーション（Ｉｎｓｔａｎｔｉａｔｉｏｎ）、スケーリング（Ｓｃａｌｉｎｇ）、ターミネーション（Ｔｅｒｍｉｎａｔｉｏｎ）、更新（Ｕｐｄａｔｅ）等）を行う。また、ＮＳカタログ１４（ＮＳＤ／ＶＬＤ／ＶＮＦＦＧＤ）、及びＶＮＦカタログ１５（ＶＮＦＤ（ＶＮＦ／ＰＮＦＤ））の管理を行い、ＮＦＶインスタンスのリポジトリ１６、ＮＦＶＩリソースのリポジトリ１７を持つ。【０００７】
ＶＮＦマネージャ（ＶＮＦ  Ｍａｎａｇｅｒ：ＶＮＦＭ）１２は、ＶＮＦインスタンスのライフサイクル管理（例えばインスタンシエーション（ｉｎｓｔａｎｔｉａｔｉｏｎ）、更新（ｕｐｄａｔｅ）、クエリ（ｑｕｅｒｙ）、スケーリング（ｓｃａｌｉｎｇ）、停止（ｔｅｒｍｉｎａｔｉｏｎ）等）およびイベント通知を行う。【０００８】
仮想化インフラストラクチャマネージャ（Ｖｉｒｔｕａｌｉｚｅｄ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  Ｍａｎａｇｅｒ：ＶＩＭ）１３は、ＮＦＶＩ２１のコンピューティング、ストレージ、ネットワークのリソース管理、ＮＦＶＩ２１の障害監視、ＮＦＶＩ２１のリソース監視等を行う。【０００９】
ＯＳＳ／ＢＳＳ３０のうちＯＳＳ（Ｏｐｅｒａｔｉｏｎｓ  Ｓｕｐｐｏｒｔ  Ｓｙｓｔｅｍｓ）は、例えば通信事業者（キャリア）がサービスを構築し、運営していくために必要なシステム（機器やソフトウェア、仕組みなど）を総称したものである。ＢＳＳ（Ｂｕｓｉｎｅｓｓ  Ｓｕｐｐｏｒｔ  ｓｙｓｔｅｍｓ）は、例えば通信事業者（キャリア）が利用料などの課金、請求、顧客対応などのために使う情報システム（機器やソフトウェア、仕組みなど）の総称である。【００１０】
ＮＳカタログ（ＮＳ  ｃａｔａｌｏｇ）１４は、ネットワークサービス（ＮＳ）のリポジトリを表している。ＮＳカタログ（ＮＳ  ｃａｔａｌｏｇ）は、ネットワークサービス（ＮＳ）ディプロイメントテンプレート（Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ  Ｄｅｓｃｒｉｐｔｏｒ：ＮＳＤ）、仮想リンクディスクリプタ（Ｖｉｒｔｕａｌ  Ｌｉｎｋ  Ｄｅｓｃｒｉｐｔｏｒ：ＶＬＤ）、ＶＮＦフォアワーディンググラフディスクリプタ（ＶＮＦ  Ｆｏｒｗａｒｄｉｎｇ  Ｇｒａｐｈ  Ｄｅｓｃｒｉｐｔｏｒ：ＶＮＦＦＧＤ）の生成と管理の支援を行う。【００１１】
ＶＮＦカタログ（ＶＮＦ  ｃａｔａｌｏｇ）１５は例えばオンボードされたＶＮＦパッケージ（ｏｎ−ｂｏａｒｄｅｄ  ＶＮＦ  ｐａｃｋａｇｅ）のリポジトリを表している。ＶＮＦカタログ（ＶＮＦ  ｃａｔａｌｏｇ）１５はＶＮＦＤ（ＶＮＦ  Ｄｅｓｃｒｉｐｔｏｒ）、ＰＮＦＤ（ＰＮＦ  Ｄｅｓｃｒｉｐｔｏｒ）等を有する。【００１２】
ＮＦＶインスタンスリポジトリ（ＮＦＶ  ｉｎｓｔａｎｃｅ  Ｒｅｐｏｓｉｔｏｒｙ）１６は、全ＶＮＦ、全ネットワークサービス（ＮＳ）のインスタンス情報を保持する。ＶＮＦインスタンス、ＮＳインスタンスはそれぞれＶＮＦ、ＮＳレコードに記述される。これらのレコードは、各インスタンスのライフサイクルで、ＶＮＦライフサイクル管理操作、ＮＳライフサイクル管理操作の実行結果を反映するように更新される。【００１３】
ＮＦＶＩリソースリポジトリ（ＮＦＶＩ  Ｒｅｓｏｕｒｃｅｓ  Ｒｅｐｏｓｉｔｏｒｙ）１７はＶＩＭ１３により抽出された、利用可能な（ａｖａｉｌａｂｌｅ）／予約された（ｒｅｓｅｒｖｅｄ）／割り付けられた（ａｌｌｏｃａｔｅｄ）ＮＦＶＩ２１のリソースの情報を保持し、リソースの予約、割り当て、モニタ等に役立つ情報を提供する。ＮＦＶＩリソースリポジトリ１７は、ＮＦＶＩ２１の予約／割り当て済みリソースを、これらのリソース（ＶＮＦ２２のライフサイクル中の任意の時点での該ＶＮＦ２２によって使用される仮想マシンの個数等）に関連したＮＳ及びＶＮＦインスタンスに対して追跡可能であるため、ＮＦＶＯ１１のリソースオーケストレーション等に重要である。【００１４】
図９において、参照ポイントＯｓ−Ｍａ−ｎｆｖｏは、ＯＳＳ／ＢＳＳ３０とＮＦＶＯ１１間の参照ポイントであり、
・ネットワークサービスのライフサイクル管理要求（Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ  Ｌｉｆｅｃｙｃｌｅ  ｍａｎａｇｅｍｅｎｔ）、
・ＶＮＦライフサイクル管理要求（ＶＮＦ  Ｌｉｆｅｃｙｃｌｅ  ｍａｎａｇｅｍｅｎｔ  ｒｅｑｕｅｓｔ）、
・ＮＦＶ関連の状態情報の転送、ポリシ管理情報の交換等に用いられる。【００１５】
参照ポイントＶｉ−Ｖｎｆｍは、
・ＶＮＦＭ１２からＶＩＭ１３へのリソース割り当て要求、
・仮想化リソースの構成と状態情報の交換に用いられる。【００１６】
参照ポイントＶｅ−Ｖｎｆｍ−ｅｍは、ＥＭＳ２３とＶＮＦＭ１２間で、
・ＶＮＦのインスタンシエーション、ＶＮＦインスタンス検索、更新、終了、スケールアウト／イン、スケールアップ／ダウン、
・ＥＭ（ＥＭＳ）２３からＶＮＦＭ１２への構成、イベントの転送、ＶＮＦＭ１２からＶＮＦ２２へのＶＮＦ構成、イベントの通知等に用いられる。【００１７】
参照ポイントＶｅ−Ｖｎｆｍ−ｖｎｆは、ＶＮＦ２２とＶＮＦＭ１２間で、
・ＶＮＦのインスタンシエーション、ＶＮＦインスタンス検索、更新、終了、スケールアウト／イン、スケールアップ／ダウン、ＶＮＦからＶＮＦＭへの構成、イベントの転送、ＶＮＦＭ１２からＶＮＦ２２へのＶＮＦの構成、イベントの通知等に用いられる。【００１８】
参照ポイントＮｆ−Ｖｉは、コンピューティング／ストレージ資源の指示とともに、仮想マシン（ＶＭ）の割り付け、ＶＭリソース割り当ての更新、ＶＭマイグレーション、ＶＭの終了、ＶＭ間の接続の生成・削除等、リソース割り当て要求に対する仮想化リソースの割り付け、仮想化リソースの状態情報の転送、ハードウェア資源の構成と状態の情報の交換等に用いられる。【００１９】
参照ポイントＶｎ−Ｎｆは、ＮＦＶＩ２１によってＶＮＦ２２に提供される実行環境を表している。【００２０】
参照ポイントＯｒ−Ｖｎｆｍは、
・ＶＮＦＭ１２によるリソース関連要求（認証、予約（ｒｅｓｅｒｖａｔｉｏｎ）、割り当て等）、ＶＮＦＭ１２への構成情報の転送、ＶＮＦの状態情報の収集に用いられる。【００２１】
参照ポイントＯｒ−Ｖｉは、
・ＮＦＶＯ１１からのＶＩＭ１３ヘのリソース予約要求（ｒｅｓｅｒｖｅ  ｒｅｓｏｕｒｃｅ  ｒｅｑｕｅｓｔ）、リソース割り当て要求（ａｌｌｏｃａｔｅ  ｒｅｓｏｕｒｃｅ  ｒｅｑｕｅｓｔ）と仮想化リソースの構成と状態情報の交換に用いられる（詳細は非特許文献１参照）。【００２２】
なお、ＮＳカタログ１４のＮＳＤ（Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ  Ｄｅｓｃｒｉｐｔｏｒ）は、ネットワークサービス・ディプロイメント・テンプレート（Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ  Ｄｅｐｌｏｙｍｅｎｔ  Ｔｅｍｐｌａｔｅ）であり、特定のライフサイクルイベント（インスタンシエーション、ターミネーション、スケーリング等）のネットワークファンクションのスクリプト／ワークフローを定義するエンティティを有する。【００２３】
ＶＮＦＦＧＤ（ＶＮＦ  Ｆｏｒｗａｒｄｉｎｇ  Ｇｒａｐｈ  Ｄｅｓｃｒｉｐｔｏｒ）は、ネットワークサービスのトポロジ、あるいは一部を、ＶＮＦ、ＰＮＦ、それらを接続する仮想リンク（Ｖｉｒｔｕａｌ  Ｌｉｎｋ）を参照することで記述したディプロイメントテンプレートである。【００２４】
ＶＬＤ（Ｖｉｒｔｕａｌ  Ｌｉｎｋ  Ｄｅｓｃｒｉｐｔｏｒ）は、ＮＦＶＩ２１で利用可能なＶＮＦ間、ＰＮＦ間、ＮＳのエンドポイント（端点）（ｅｎｄｐｏｉｎｔｓ）間のリンクに必要なリソース要求を記述したディプロイメントテンプレートである。【００２５】
ＶＮＦカタログ１５のＶＮＦＤ（ＶＮＦ  Ｄｅｓｃｒｉｐｔｏｒ）は、ディプロイメントとオペレーション上の挙動の要求（ｄｅｐｌｏｙｍｅｎｔ  ａｎｄ  ｏｐｅｒａｔｉｏｎａｌ  ｂｅｈａｖｉｏｒ  ｒｅｑｕｉｒｅｍｅｎｔｓ）の観点からＶＮＦを記述するディプロイメントテンプレートである。ＶＮＦＤは、ＶＮＦのインスタンシエーション（インスタンス化）とＶＮＦインスタンスのライフサイクル管理においてＶＮＦＭ１２により主に用いられる。ＶＮＦＤは、ＮＦＶＯ１１によって、ネットワークサービス、ＮＦＶＩ２１上の仮想化リソースの管理とオーケストレーション（コンピュータシステム／ミドルウェア／サービスの配備／設定／管理の自動化）に用いられる。ＮＦＶＩ２１のＶＮＦＣインスタンス、又は、ＶＮＦインスタンスと、他のネットワーク機能への端点間の仮想リンク構築のために、ＮＦＶＯ１１で利用されるコネクティビティ・インターフェイス・ＫＰＩ（Ｋｅｙ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｉｎｄｉｃａｔｏｒｓ）要件を含む。【００２６】
ＶＮＦカタログ１５のＰＮＦＤ（Ｐｈｙｓｉｃａｌ  Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ  Ｄｅｓｃｒｉｐｔｏｒ：ＰＮＦＤ）は、アタッチした物理ネットワーク機能への、仮想リンクのコネクティビティ（接続性）、インターフェイス、ＫＰＩ要件を記述する。ＮＳに物理デバイスが組み入れられるときに必要とされ、ネットワーク増設を容易にする。【００２７】
ＯＳＳ／ＢＳＳ３０やＶＮＦＭ１２から、ＮＦＶＯ１１に対して、ＮＳまたはＶＮＦのインスタンシエーション操作を実行する。インスタンシエーション操作の結果、新たに生成されたインスタンスを表すレコードが生成される。例えば、各ディスクリプタで与えられる情報、コンポーネントインスタンスに関連した追加のランタイム情報をもとに生成される各レコードは、ネットワークサービス（ＮＳ）のインスタンス状態をモデル化するためのデータを提供する。生成されるインスタンスレコードの種類として、例えば、
・ネットワークサービスレコード（Network Service Record：ＮＳＲ）、
・ＶＮＦＦＧレコード（VNFFG Record ：ＶＮＦＦＧＲ）、
・仮想リンクレコード（Virtual Link Record ：ＶＬＲ）、
・ＶＮＦレコード（Virtualized Network Function Record：ＶＮＦＲ）、
・ＰＮＦレコード（Physical Network Function Record：ＰＮＦＲ）
がある。ＮＳＲ、ＶＮＦＲ、ＶＮＦＦＧＲ、ＶＬＲ情報要素はＮＳ、ＶＮＦ、ＶＮＦＦＧ、ＶＬのインスタンスの状態のモデル化に必要なデータアイテム集合を提供する。ＰＮＦレコードはＮＳの部分をなし前から存在するＰＮＦに関連したインスタンスを表し、ＰＮＦ情報のランタイム属性（ＮＦＶＯへのコネクティビティ）を含む。
【先行技術文献】
【非特許文献】
【００２８】
【非特許文献１】ETSI GS NFV-MAN 001 V1.1.1 (2014-12)  Network Functions Virtualisation (NFV); Management and Orchestration （２０１６年４月１２日検索）＜http://www.etsi.org/deliver/etsi_gs/NFV-MAN/001_099/001/01.01.01_60/gs_NFV-MAN001v010101p.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【００２９】
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。【００３０】
フェーズ１におけるＮＦＶ標準アーキテクチャでは、仮想マシン（ＶＭ）の配置はＶＩＭ１３が行う機能分担となっている。また、上述のＶＩＭ１３は多くの場合、ＯｐｅｎＳｔａｃｋをベースに実装されているのが現状であるが、ＯｐｅｎＳｔａｃｋによるＶＩＭ１３では上記仮想マシン（ＶＭ）の配置は実現できていない。そのため、オープンソースでＮＦＶを実装するＯＰＮＦＶ（Open Platform for NFV）では、Ｐｒｏｍｉｓｅ  ＷＧにおいて、ＶＩＭ１３に仮想マシン（ＶＭ）の最適配置ロジックを具備する検討が進められているが、当該機能が組み込まれるか未確定な状況にある。【００３１】
このように、ＮＦＶ標準アーキテクチャにより要求されるＶＩＭ１３の機能は、ＯｐｅｎＳｔａｃｋをベースに実装されたＶＩＭ１３では実現できていないという実情がある。そのため、ＶＮＦライフサイクル実行の際に仮想マシン（ＶＭ）の生成が必要になると、ＶＮＦＭ１２がＶＩＭ１３に対して仮想マシン（ＶＭ）生成要求を送信すると共に、仮想マシン（ＶＭ）生成時の配置ルール（ＡＺ（Availability Zone）選択、ＰＭ（Physical Machine）選択、Ａｎｔｉ−Ａｆｆｉｎｉｔｙルール指定、Ｄｉｆｆｅｒｅｎｔ  Ｈｏｓｔ  Ｆｉｌｔｅｒ指定等）をＶＩＭ１３に対して指定している。つまり、出願時におけるＯｐｅｎＳｔａｃｋによるＶＩＭ１３には仮想マシン（ＶＭ）の最適配置機能はサポートされておらず、ＶＮＦＭ１２から仮想マシン（ＶＭ）生成時の仮想マシン（ＶＭ）配置ルールをＶＩＭ１３に送信することで、ＶＮＦＭ１２から間接的に仮想マシン（ＶＭ）の配置先を指示している。従って、場合によってはＮＦＶＯ１１やＶＮＦＭ１２が意図しない配置先に仮想マシン（ＶＭ）が配置されることがあり得る。【００３２】
本発明は、仮想マシン（ＶＭ）の配置先決定機能を具備しないＶＩＭを利用しつつ、仮想マシンの最適配置を実現可能とすることに寄与する、ネットワーク機能仮想化管理オーケストレーション装置と方法とプログラムを提供することを目的とする。
【課題を解決するための手段】
【００３３】
本発明の第１の視点によれば、仮想マシン上で動作するソフトウェアによって実装され仮想されたＶＮＦ（Virtual Network Function）の実行基盤を提供するＮＦＶＩ（Network Function Virtualization Infrastructure）のリソース管理と制御を行うＶＩＭ（Virtualized Infrastructure Manager）と、前記ＶＩＭの上位エンティティとして、前記ＮＦＶＩ上にて、ネットワークサービスを実現するＮＦＶＯ（Network-Orchestrator）と、前記ＶＮＦのライフサイクルを管理するＶＮＦＭ（VNF-Manager）をさらに含み、新しい仮想マシンを前記ＶＮＦに配置する場合、前記ＮＦＶＯは、前記ＶＩＭから、前記ＮＦＶＩのリソース情報を収集し、前記ＮＦＶＯは、前記収集したＮＦＶＩのリソース情報に基づいて、仮想マシンの配置先を決定し、前記ＮＦＶＯは、前記ＶＮＦＭに対してＶＮＦ生成許可を送信し、前記ＶＮＦＭは、前記ＶＩＭに対してＮＦＶＩリソース割当要求を行い、前記ＶＩＭは、前記ＮＦＶＩリソース割当要求に応じて仮想マシンを生成する、ネットワーク機能仮想化管理オーケストレーション装置が提供される。
【００３４】
本発明の第２の視点によれば、仮想マシン上で動作するソフトウェアによって実装され仮想されたＶＮＦ（Virtual Network Function）の実行基盤を提供するＮＦＶＩ（Network Function Virtualization Infrastructure）のリソース管理と制御を行うＶＩＭ（Virtualized Infrastructure Manager）と、前記ＶＩＭの上位エンティティとして、前記ＮＦＶＩ上にて、ネットワークサービスを実現するＮＦＶＯ（Network-Orchestrator）と、前記ＶＮＦのライフサイクルを管理するＶＮＦＭ（VNF-Manager）をさらに含む、ネットワークオーケストレーション装置において、前記ＮＦＶＯにおける、前記ＮＦＶＩのリソース情報を前記ＶＩＭから、収集するステップと、前記ＮＦＶＯにおける、前記収集したＮＦＶＩのリソース情報に基づいて、仮想マシンの配置先を決定するステップと、前記ＶＮＦＭは、前記ＶＩＭに対してＮＦＶＩリソース割当要求を行うステップと、前記ＶＩＭは、前記ＮＦＶＩリソース割当要求に応じて仮想マシンを生成するステップと、を含む、ネットワーク機能仮想化管理オーケストレーション方法が提供される。
【００３５】
本発明の第３の視点によれば、仮想マシン上で動作するソフトウェアによって実装され仮想されたＶＮＦ（Virtual Network Function）の実行基盤を提供するＮＦＶＩ（Network Function Virtualization Infrastructure）のリソース管理と制御を行うＶＩＭ（Virtualized Infrastructure Manager）と、前記ＶＩＭの上位エンティティとして、前記ＮＦＶＩ上にて、ネットワークサービスを実現するＮＦＶＯ（Network-Orchestrator）と、前記ＶＮＦのライフサイクルを管理するＶＮＦＭをさらに含む、ネットワークオーケストレーション装置において、前記ＮＦＶＯにおける、前記ＮＦＶＩのリソース情報を前記ＶＩＭから収集する処理と、前記ＮＦＶＯにおける、前記収集したＮＦＶＩのリソース情報に基づいて、仮想マシンの配置先を決定する処理と、前記ＶＮＦＭは、前記ＶＩＭに対してＮＦＶＩリソース割当要求を行う処理と、前記ＶＩＭは、前記ＮＦＶＩリソース割当要求に応じて仮想マシンを生成する処理と、前記ＶＩＭにおける、決定された仮想マシンの配置先に仮想マシンを生成する処理と、をコンピュータに実行させるプログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（non-transient）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００３６】
本発明の各視点によれば、仮想マシン（ＶＭ）の配置先決定機能を具備しないＶＩＭを利用しつつ、仮想マシンの最適配置を実現可能とすることに寄与する、ネットワーク機能仮想化管理オーケストレーション装置と方法とプログラムが、提供される。
【図面の簡単な説明】
【００３７】
【図１】一実施形態の概要を説明するための図である。
【図２】第１の実施形態に係るネットワークシステム構成の一例を示す図である。
【図３】第１の実施形態に係る物理マシン（ＰＭ）のハードウェア構成の一例を示すブロック図である。
【図４】第１の実施形態に係るＮＦＶ−ＭＡＮＯを機能の点で説明するための図である。
【図５】第１の実施形態に係るネットワークシステムの動作の一例を示すシーケンス図である。
【図６】第２の実施形態に係るＮＦＶ−ＭＡＮＯを機能の点で説明するための図である。
【図７】第２の実施形態に係るネットワークシステムの動作の一例を示すシーケンス図である。
【図８】第２の実施形態に係る変形例の動作を示すシーケンス図である。
【図９】非特許文献１の第２３頁のFigure 5.1から引用した図である。
【発明を実施するための形態】
【００３８】
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【００３９】
一実施形態に係るネットワーク機能仮想化管理オーケストレーション装置（ＮＦＶ−ＭＡＮＯ）１００は、ＶＩＭ１０１と、ＶＩＭ１０１の上位エンティティ１０２と、を含む。ＶＩＭ１０１は、仮想マシン上で動作するソフトウェアによって実装され仮想されたＶＮＦ（Virtual Network Function）の実行基盤を提供するＮＦＶＩ（Network Function Virtualization Infrastructure）のリソース管理と制御を行う。上位エンティティ１０２は、ＮＦＶＩのリソース情報をＶＩＭ１０１から収集し、収集したＮＦＶＩのリソース情報に基づいて、仮想マシンの配置先を決定する。ＶＩＭ１０１は、当該決定された仮想マシンの配置先に仮想マシンを生成する。
【００４０】
一実施形態に係るネットワーク機能仮想化管理オーケストレーション装置（ＮＦＶ−ＭＡＮＯ）１００では、図１に示すようなＮＦＶアーキテクチャにおいて、ＶＩＭ１０１の上位エンティティ（上位ノード；例えば、ＮＦＶＯ、ＶＮＦＭ）が主導して、ＮＦＶＩのリソース情報を考慮しつつ仮想マシン（ＶＭ）の配置先を決定する。その結果、ＮＦＶが適用されたネットワークシステムにおいて、仮想マシン（ＶＭ）の配置先決定機能を具備しないＶＩＭを利用しつつ、仮想マシン（ＶＭ）の最適化が実現され得る。
【００４１】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、同一構成要素には同一の符号を付し、その説明を省略する。
【００４２】
［第１の実施形態］
第１の実施形態について、図面を用いてより詳細に説明する。
【００４３】
図２は、第１の実施形態に係るネットワークシステム構成の一例を示す図である。図２を参照すると、ネットワークシステムは、ＮＦＶオーケストレータ（ＮＦＶＯ）１１と、ＶＮＦマネージャ（ＶＮＦＭ）１２と、仮想化インフラストラクチャマネージャ（ＶＩＭ）１３と、からなるネットワーク機能仮想化管理オーケストレーション装置（ＮＦＶ−ＭＡＮＯ）１０を含む。
【００４４】
ＮＦＶＯ１１、ＶＮＦＭ１２及びＶＩＭ１３は、ネットワークシステムの管理を行う機能エンティティである。ＶＩＭ１３はＮＦＶＯ１１、ＶＮＦＭ１２からの制御により物理マシン（ＰＭ）上に仮想マシン（ＶＭ）及びＶＮＦを生成するエンティティであり、ＮＦＶＯ１１、ＶＮＦＭ１２は、ＶＩＭ１３の上位エンティティとして機能する。
【００４５】
また、ネットワークシステムは、物理マシン（ＰＭ）２０とＯＳＳ／ＢＳＳ３０を含み、物理マシン２０には、ＮＦＶＩ２１が含まれ、ＮＦＶＩ２１上にはＶＮＦ２２、ＥＭＳ２３が構成される。図２に示すネットワークシステムは、物理マシン２０上に構成される仮想マシン（ＶＭ）においてソフトウェア的に実現される仮想サーバ（ＶＮＦ２２）により通信機能を提供するものである。なお、図２には１台の物理マシン２０を図示しているが、実際には複数の物理マシン２０がネットワークシステムに含まれる。
【００４６】
図３は、第１の実施形態に係る物理マシン２０のハードウェア構成の一例を示すブロック図である。物理マシン２０は、所謂、情報処理装置（コンピュータ）であり、図３に例示する構成を備える。例えば、物理マシン２０は、内部バスにより相互に接続される、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５１、メモリ５２、入出力インターフェイス５３及び通信手段であるＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）５４等を備える。
【００４７】
なお、図３に示す構成は、物理マシン２０のハードウェア構成を限定する趣旨ではない。物理マシン２０は、図示しないハードウェアを含んでもよい。あるいは、物理マシン２０に含まれるＣＰＵ等の数も図３の例示に限定する趣旨ではなく、例えば、複数のＣＰＵが物理マシン２０に含まれていてもよい。
【００４８】
メモリ５２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、補助記憶装置（ハードディスク等）である。入出力インターフェイス５３は、図示しない表示装置や入力装置のインターフェイスとなる手段である。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置である。
【００４９】
なお、ＮＦＶＯ１１、ＶＮＦＭ１２、ＶＩＭ１３、ＯＳＳ／ＢＳＳ３０をなす各サーバ装置のハードウェア構成も上記物理マシン２０の構成と基本的に同じであり、当業者にとって明らかなものであるため、その説明を省略する。
【００５０】
図４は、第１の実施形態に係るＮＦＶ−ＭＡＮＯ１０を機能の点で説明するための図である。
【００５１】
図４に示すように、ＮＦＶＯ１１は、ＶＮＦ生成制御部２０１と、ＮＦＶＩリソース取得部２０２と、仮想マシン配置先決定部２０３と、を含んで構成される。
【００５２】
ＶＮＦ生成制御部２０１は、ＶＮＦの生成に関する制御を担う手段である。具体的には、ＶＮＦ生成制御部２０１は、送信元（Ｓｅｎｄｅｒ；保守者又は上位の装置）からＶＮＦ生成に関する要求を受け付ける。当該要求を受け付けたＶＮＦ生成制御部２０１は、ＶＮＦＭ１２に対してＶＮＦ生成を要求する。
【００５３】
ＮＦＶＩリソース取得部２０２は、ＮＦＶＩリソース情報を取得する手段である。具体的には、ＮＦＶＩリソース取得部２０２は、ＶＩＭ１３に対してＮＦＶＩリソース情報を提供するように要求する。なお、ＮＦＶＩリソース取得部２０２は、ＮＦＶＩリソース情報として、ＡＺ（Availability Zone）リソース情報やＰＭリソース情報をＶＩＭ１３から取得する。ＡＺリソース情報は、各アベイラビリティゾーンを構成するＰＭに関する情報を含む。ＰＭリソース情報は、各物理マシンに配置済みの仮想マシン（ＶＭ）に関する情報を含む。
【００５４】
仮想マシン配置先決定部２０３は、ＶＩＭ１３から取得（収集）したＮＦＶＩリソース情報に基づいて仮想マシン（ＶＭ）の配置先を決定する手段である。具体的には、仮想マシン配置先決定部２０３は、ＮＦＶＩリソース情報に基づいて、仮想マシンが１つのゾーン（ＡＺ）や物理マシン（ＰＭ）に集中的に配置されるように仮想マシン（ＶＭ）の配置先を決定したり、仮想マシンがゾーンや物理マシン（ＰＭ）に分散されて配置されるように仮想マシン（ＶＭ）の配置先を決定したりする。なお、仮想マシン配置先決定部２０３による仮想マシン（ＶＭ）の配置先決定（ＶＭの最適な配置決定）は、上記に限らず種々のものが考えられる。
【００５５】
仮想マシン配置先決定部２０３は、決定した仮想マシン（ＶＭ）の配置先をＶＮＦＭ１２に通知する。具体的には、仮想マシン配置先決定部２０３は、後述するＶＮＦＭ１２からのＶＮＦ生成許可要求に対する応答（ＶＮＦ生成許可）を送信する際、当該応答のパラメータに仮想マシンの配置先を指定する識別子（以下、ＶＭ配置先ＩＤ（Identifier）と表記する）を含めることで、仮想マシンの配置先を指定する。なお、仮想マシン（ＶＭ）の配置先を示すＶＭ配置先ＩＤは、ＡＺ  ＩＤやｈｏｓｔｎａｍｅ等、現在のＯｐｅｎＳｔａｃｋで使用できる識別子を使用するのが望ましい。
【００５６】
ＶＮＦＭ１２は、ＶＮＦ生成部２１１と、リソース割り当て要求部２１２と、を含んで構成される。
【００５７】
ＶＮＦ生成部２１１は、物理マシン２０にＶＮＦ２２を生成する手段である。具体的には、ＶＮＦ生成部２１１は、ＮＦＶＯ１１からＶＮＦ生成に係る要求を受け付けると、ＮＦＶＯ１１に対してＶＮＦ生成許可要求を送信する。また、ＶＮＦ生成部２１１は、ＶＩＭ１３から仮想マシン（ＶＭ）のリソース割り当てが完了した旨の応答を取得すると、ＶＭ配置先ＩＤに対応する物理マシン２０にＶＮＦ２２を生成する（ＶＮＦ配置に必要な設定を行う）。
【００５８】
リソース割り当て要求部２１２は、ＶＩＭ１３に対してＮＦＶＩリソースの割り当て要求（Ａｌｌｏｃａｔｅ  Ｒｅｓｏｕｒｃｅｓ）を行う手段である。その際、リソース割り当て要求部２１２は、ＮＦＶＯ１１から取得したＶＭ配置先ＩＤを含むリソース割り当て要求をＶＩＭ１３に送信する。
【００５９】
ＶＩＭ１３は、ＮＦＶＩリソース情報提供部２２１と、リソース割り当て部２２２と、を含んで構成される。
【００６０】
ＮＦＶＩリソース情報提供部２２１は、ＮＦＶＯ１１からのＮＦＶＩリソース情報提供に係る要求を処理する手段である。具体的には、ＮＦＶＩリソース情報提供部２２１は、ＮＦＶＯ１１から上記要求を受け付けると、当該要求に対する応答に自身が管理しているＮＦＶＩリソース情報を含める。
【００６１】
リソース割り当て部２２２は、ＶＮＦＭ１２からのリソース割り当て要求を処理する手段である。具体的には、リソース割り当て部２２２は、ＶＮＦＭ１２から取得したリソース割り当て要求に含まれる「ＶＭ配置先ＩＤ」に応じた物理マシンに、指定された仮想マシン（ＶＭ）と関連するネットワークリソースを生成、起動する。リソースの割り当てが完了すると、リソース割り当て部２２２は、ＶＮＦＭ１２に対してＶＭ配置先ＩＤにおいて仮想マシン（ＶＭ）の配置が完了した旨を応答する。
【００６２】
次に、図面を参照しつつ、第１の実施形態に係るネットワークシステムの動作を説明する。図５は、第１の実施形態に係るネットワークシステムの動作の一例を示すシーケンス図である。図５を参照しつつ、ＶＮＦライフサイクルにおけるＶＮＦのインスタンシエーション（Ｉｎｓｔａｎｔｉａｔｉｏｎ）時の実行されるＶＭ配置の動作を説明する。
【００６３】
ステップＳ１０１において、送信元（保守者又は上位装置）は、ＮＦＶＯ１１に対してＶＮＦ生成を指示する。
【００６４】
ステップＳ１０２において、当該指示を受けたＮＦＶＯ１１は、ＶＮＦＭ１２に対してＶＮＦ生成に係る指示（要求）を行う。
【００６５】
ステップＳ１０３において、ＶＮＦＭ１２は、ＮＦＶＯ１１に対してＶＮＦ生成許可要求を送信する。具体的には、ＶＮＦＭ１２は、グラント・ライフサイクル・オペレーション（Ｇｒａｎｔ  Ｌｉｆｅｃｙｃｌｅ  Ｏｐｅｒａｔｉｏｎ）を用いて、ＶＮＦを指定し、そのインスタンシエーションの許可をＮＦＶＯ１１に要求する。
【００６６】
ステップＳ１０４において、ＮＦＶＯ１１は、ＶＩＭ１３に対してＮＦＶＩリソース情報の要求を行う。
【００６７】
ステップＳ１０５において、ＶＩＭ１３は、上記ＮＦＶＯ１１からの要求に応答することで、自身で管理しているＮＦＶＩリソース情報をＮＦＶＯ１１に送信する。
【００６８】
ステップＳ１０６において、ＮＦＶＯ１１は、ＶＩＭ１３から取得したＮＦＶＩリソース情報に基づき、仮想マシン（ＶＭ）の配置先を決定する。
【００６９】
ステップＳ１０７において、ＮＦＶＯ１１は、上記決定した仮想マシン（ＶＭ）の配置先（ＶＭ配置先ＩＤ）と配置先のＶＩＭの識別子（ＶＩＭ  ＩＤ）を設定したＶＮＦ生成許可を、ステップＳ１０３におけるＶＮＦＭ１２からのＶＮＦ生成許可要求に対する肯定応答（ＡＣＫ）として送信する。
【００７０】
ステップＳ１０８において、ＶＮＦＭ１２は、ＶＩＭ１３にリソース割り当て（Ａｌｌｏｃａｔｅ  Ｒｅｓｏｕｒｃｅｓ）を要求する。その際、ＶＮＦＭ１２は、ＮＦＶＯ１１から指定された配置先（ＶＭ配置先ＩＤによる配置先）に仮想マシン（ＶＭ）が生成、起動されるようにＶＩＭ１３に要求する。
【００７１】
ステップＳ１０９において、ＶＩＭ１３は、指定された配置先において、仮想マシン（ＶＭ）と関連するネットワークリソースを生成、起動し、ＶＮＦＭ１２に肯定応答（ＡＣＫ）を送信する。
【００７２】
ステップＳ１１０において、ＶＮＦＭ１２は、ディプロイメントに固有のパラメータを設定することで、ＶＮＦ２２の設定を行う。
【００７３】
ステップＳ１１１において、ＶＮＦＭ１２は、ＥＭＳ２３にＶＮＦ２２がインスタンシエーションされたことを、ＶＮＦライフサイクル変更通知インターフェイス（ＶＮＦ  Ｌｉｆｅｃｙｃｌｅ  Ｃｈａｎｇｅ  Ｎｏｔｉｆｉｃａｔｉｏｎ  ｉｎｔｅｒｆａｃｅ）を用いて通知する。
【００７４】
ステップＳ１１２において、ＥＭＳ２３とＶＮＦＭ１２は、インスタンシエーションされたＶＮＦ２２を管理されたデバイス（Managed Device）として追加する。
【００７５】
ステップＳ１１３において、ＥＭＳ２３は、アプリケーション固有のパラメータでＶＮＦ２２の設定を行う。
【００７６】
ステップＳ１１４において、ＶＮＦＭ１２は、ＶＮＦ２２のインスタンシエーション成功を、ＮＦＶＯ１１に、ＶＮＦライフサイクル変更通知インターフェイス（ＶＮＦ  Ｌｉｆｅｃｙｃｌｅ  Ｃｈａｎｇｅ  Ｎｏｔｉｆｉｃａｔｉｏｎ  ｉｎｔｅｒｆａｃｅ）により通知する。
【００７７】
ステップＳ１１５において、ＮＦＶＯ１１は、インスタンシエーションされたＶＮＦ２２をＶＩＭ１３及びリソースプールにマップする（ＶＮＦ２２の位置づけを行う）。
【００７８】
以上のように、第１の実施形態に係るＮＦＶ−ＭＡＮＯ１０において、ＮＦＶＯ１１とＶＩＭ１３の間でＮＦＶＯ１１がＮＦＶＩリソース情報の収集を行う（図５のステップＳ１０４、Ｓ１０５）。その上で、ＮＦＶＯ１１が、当該収集したＮＦＶＩリソース情報に基づいて、最適な仮想マシン（ＶＭ）の配置先を決定する（ステップＳ１０６）。その後、ＮＦＶＯ１１とＶＮＦＭ１２の間で、仮想マシンの配置先を示す識別子（ＶＭ配置先ＩＤ）を通知し、ＶＮＦＭ１２は、当該通知された識別子を用いてＶＩＭ１３に対して仮想マシン（ＶＭ）の生成要求を行う（ステップＳ１０７、Ｓ１０８）。ＶＩＭ１３は、ＮＦＶＯ１１が決定した仮想マシンの配置先に仮想マシン（ＶＭ）を生成する（ステップＳ１０９）。
【００７９】
その結果、ＯｐｅｎＳｔａｃｋにより実装されたＶＩＭ（Ｐｒｏｍｉｓｅ機能を備えていないＶＩＭ）１３がネットワークシステムに含まれる場合であっても、ＮＦＶＯ１１が仮想マシン（ＶＭ）の配置先決定を行う機能を具備することで、ＮＦＶ環境における最適な仮想マシン（ＶＭ）の配置が可能となる。つまり、Ｐｒｏｍｉｓｅ機能を具備していないＶＩＭ（ＯｐｅｎＳｔａｃｋによるＶＩＭ）１３は、ＶＮＦライフサイクル実行時に事前（ＶＮＦＭ１２がＶＭ生成要求する前）に仮想マシン配置予約を行いＯｒ−Ｖｉインターフェイスにて予約ＩＤを通知することが出来ない。しかしながら、上記Ｐｒｏｍｉｓｅ機能を具備していないＶＩＭ１３であっても、ＶＩＭ１３が管理するＮＦＶＩリソース情報をＮＦＶＯ１１に提供することはできる。そこで、ＮＦＶＯ１１とＶＩＭ１３の間の予約シーケンス（予約ＩＤの通知）に変えて、ＮＦＶＯ１１がＮＦＶＩリソース情報の収集し、仮想マシン（ＶＭ）の配置先を決定するようにしている。
【００８０】
［第２の実施形態］
続いて、第２の実施形態について図面を参照して詳細に説明する。
【００８１】
第１の実施形態では、ＮＦＶＯ１１が仮想マシン（ＶＭ）の配置先を決定することを説明した。しかし、ＮＦＶＯ１１（又は、Ｐｒｏｍｉｓｅ機能が実装されたＶＩＭ１３）が仮想マシン（ＶＭ）の配置先を単独で決定すると、ＶＮＦ構成に応じた柔軟な配置ルールをＶＮＦＭ１２が指定できず不都合が生じる可能性がある。そのため、第２の実施形態では、現ＯｐｅｎＳｔａｃｋにより実装されたＶＩＭ１３の使用を前提に最適な仮想マシン（ＶＭ）の配置を行うＶＮＦＭ１２を説明する。
【００８２】
なお、第２の実施形態におけるネットワークシステム構成（図２）やハードウェア構成（図３）は、第１の実施形態における構成と相違する点は存在しないので、これらに関する説明を省略する。
【００８３】
図６は、第２の実施形態に係るＮＦＶ−ＭＡＮＯ１０を機能の点で説明するための図である。図４と図６の相違点は、ＮＦＶＯ１１に含まれるＮＦＶＩリソース取得部２０２と仮想マシン配置先決定部２０３による処理ブロックが、ＮＦＶＩリソース取得部２１３と仮想マシン配置先決定部２１４としてＶＮＦＭ１２に含まれる点である。なお、図４と図６に記載された各処理ブロックの基本的な動作は同一とすることができるので、各処理ブロックの詳細な説明は省略する。
【００８４】
次に、図面を参照しつつ、第２の実施形態に係るネットワークシステムの動作を説明する。図７は、第２の実施形態に係るネットワークシステムの動作の一例を示すシーケンス図である。図７を参照しつつ、ＶＮＦライフサイクルにおけるＶＮＦのインスタンシエーション（Ｉｎｓｔａｎｔｉａｔｉｏｎ）時の実行されるＶＭ配置の動作を説明する。なお、図７は、第１の実施形態にて説明した図５に対応する図であり、図５に示すステップＳ１０１〜Ｓ１０３と図７に示すステップＳ２０１〜Ｓ２０３、及び、図５に示すステップＳ１０８〜Ｓ１１５と図７に示すステップＳ２０８〜Ｓ２１５はそれぞれ同一の動作である。そのため、図７に示す上記ステップの説明は省略する。
【００８５】
ステップＳ２０４において、ＶＮＦ生成許可要求を受信したＮＦＶＯ１１は、当該要求に対してＶＩＭ識別子を含む肯定応答（ＡＣＫ）をＶＮＦＭ１２に送信する。
【００８６】
ステップＳ２０５において、ＶＮＦＭ１２は、ＶＩＭ１３に対してＮＦＶＩリソース情報の要求を行う。
【００８７】
ステップＳ２０６において、ＶＩＭ１３は、上記ＶＮＦＭ１２からの要求に応答することで、自身で管理しているＮＦＶＩリソース情報をＶＮＦＭ１２に送信する。
【００８８】
ステップＳ２０７において、ＶＮＦＭ１２は、ＶＩＭ１３から取得したＮＦＶＩリソース情報に基づき、仮想マシン（ＶＭ）の配置先を決定する。その後、ＶＮＦＭ１２は、決定した仮想マシン（ＶＭ）の配置先を指定する識別子（ＶＭ配置先ＩＤ）を含む、リソース割り当て要求をＶＩＭ１３に対して行う（ステップＳ２０８）。
【００８９】
［第２の実施形態の変形例］
次に、第２の実施形態に係る変形例を説明する。
【００９０】
第１、第２の実施形態では共に、ＮＦＶＩリソース情報が、ＶＩＭ１３から上位エンティティ（ＮＦＶＯ１１、ＶＮＦＭ１２）に提供されるが、現ＯｐｅｎＳｔａｃｋの情報粒度では、収集できるリソース情報に限りがある。具体的には、上述のＡＺリソース情報やＰＭリソース情報が収集、提供されるにとどまっており、物理マシン（ＰＭ）にて利用可能なリソース情報（残リソース情報）を正確に収集することができない。そのため、ＶＮＦＭ１２は、各物理マシン（ＰＭ）における残リソース情報を意識した厳密な仮想マシン（ＶＭ）の最適配置を行うことができない。そこで、第２の実施形態に係る変形例として、物理マシン（ＰＭ）における残リソース情報を意識した仮想マシン（ＶＭ）の最適配置を説明する。
【００９１】
上記仮想マシン（ＶＭ）の最適配置を実現するため、ＶＮＦＭ１２には予め物理マシン２０ごとのリソースの上限（リソースに関する上限情報）を登録しておく。当該登録されたリソース上限は、ＮＦＶＩリソース情報における静的情報として扱われる。また、ＶＩＭ１３から収集したＮＦＶＩリソース情報は、物理マシン（ＰＭ）に仮想マシン（ＶＭ）が生成されることにより変化することから、ＮＦＶＩリソース情報における動的情報として扱われる。
【００９２】
図６に示す仮想マシン配置先決定部２１４は、ＮＦＶＩリソース情報における上記２つの情報（静的情報、動的情報）を組み合わせて、最適な仮想マシン（ＶＭ）の配置先を決定する。例えば、仮想マシン配置先決定部２１４は、ＮＦＶＩリソース情報の静的情報（物理マシンのリソース上限）から動的情報（仮想マシンに割り当てられたリソース量）を減算することで、残リソース情報を計算し、残リソースの多い物理マシン（ＰＭ）に優先して仮想マシン（ＶＭ）を割り当てる等の対応が可能となる。
【００９３】
なお、図８は、第２の実施形態に係る変形例の動作を示すシーケンス図である。図７と図８の相違点は、上記仮想マシン配置先決定部２１４の機能の相違に起因するステップＳ２０７、Ｓ２０７ａに限られるため、図８に関する説明は省略する。また、上記第２の実施形態の変形例に係るＶＮＦＭ１２における仮想マシン配置先決定部２１４の動作を、第１の実施形態に係るＮＦＶＯ１１における仮想マシン配置先決定部２０３に適用することも勿論可能である。つまり、ＮＦＶＯ１１が、ＮＦＶＩリソース情報の静的情報と動的情報に基づいて、仮想マシン（ＶＭ）の配置先を決定してもよい。
【００９４】
以上のように、第２の実施形態では、仮想マシン（ＶＭ）の配置先決定をＶＮＦＭ１２が行う。その際、ＶＮＦＭ１２がＮＦＶＩリソース情報を収集（ステップＳ２０５、Ｓ２０６）し、当該収集したＮＦＶＩリソース情報（又は、物理マシンのリソース上限；変形例）を用いて最適な仮想マシン（ＶＭ）の配置先を決定する。
【００９５】
その結果、ＯｐｅｎＳｔａｃｋにより実装されたＶＩＭ（Ｐｒｏｍｉｓｅ機能を備えていないＶＩＭ）１３がネットワークシステムに含まれる場合であっても、ＶＮＦＭ１２によるＮＦＶ環境における柔軟な仮想マシン（ＶＭ）の配置が可能となる。
【００９６】
なお、第１、第２の実施形態にて説明したネットワークシステムは例示であって、構成や動作を限定する趣旨ではない。例えば、図５、図７、図８では、ＶＮＦＭ１２からのＮＦＶＩリソース割り当てを行うＳｃａｌｅＯｕｔ、Ｈｅａｌｉｎｇにも第１、第２の実施形態にて説明した仮想マシン（ＶＭ）の配置先決定手法は適用可能である。
【００９７】
また、第１の実施形態では、ＶＩＭ１３はリソース予約を行わないことが前提であり、リソースの割り当てタイミングによっては、ＮＦＶＯ１１が選択したリソース（仮想マシンの配置先）が、ステップＳ１０８の仮想マシン（ＶＭ）生成時に割り当てできない可能性がある。このような不都合を解消するため、ＶＮＦＭ１２が、別リソースを指定して仮想マシン（ＶＭ）生成要求のリトライができるように、ステップＳ１０７のＶＭ配置先ＩＤの通知において複数の識別子を通知してもよい。つまり、ＮＦＶＯ１１は、ＮＦＶＩリソース情報に基づいて仮想マシンの配置先となり得る複数の候補を算出する。その後、ＮＦＶＯ１１は、算出した複数の候補（仮想マシンの配置先候補）に対応するＶＭ配置先ＩＤをＶＮＦＭ１２に送信する。ＶＮＦＭ１２は、取得した複数のＶＭ配置先ＩＤのなかから、１つを選択し、ＶＩＭ１３に仮想マシン（ＶＭ）の生成要求を行う。ＶＩＭ１３にて当該要求が正常に処理出来ない場合には、上記取得した複数のＶＭ配置先ＩＤの中から他のＶＭ配置先ＩＤを選択し、ＶＩＭ１３に送信することで仮想マシン（ＶＭ）の生成要求をリトライする。あるいは、複数の識別子のなかからＶＮＦＭ１２が選択する際の優先順位がＮＦＶＯ１１からＶＮＦＭ１２に通知されてもよい。
【００９８】
あるいは、上記実施形態にて説明した上位エンティティによる仮想マシン（ＶＭ）の配置先決定と、ＶＮＦＭ１２からＶＩＭ１３に送られる配置ルールによる仮想マシン（ＶＭ）の配置先決定と、を組み合わせてもよい。例えば、ＶＮＦＭ１２からＶＩＭ１３に対し、ＶＭ配置先ＩＤと配置ルールを共に送信（同じ信号上でＮＦＶＯ１１からＶＮＦＭ１２にＶＭ配置先ＩＤと配置ルールを通知）し、ＶＩＭ１３では、当該ＶＭ配置先ＩＤによる配置先に仮想マシン（ＶＭ）を生成できない場合に、配置ルールに従った仮想マシン（ＶＭ）の生成を行ってもよい。このように、仮想マシン（ＶＭ）の配置先をフィリタリングするようなルール（Ｆｉｌｔｅｒルール）を含むような配置ルールをＶＩＭ１３に送信し、当該ルールとＶＩＭ１３に対する上位エンティティからの仮想マシン（ＶＭ）配置先の指定を組み合わせることで、詳細な仮想マシン（ＶＭ）の配置を指示することが可能となる。即ち、ＶＭ配置先ＩＤと配置ルールの併用により、仮想マシン（ＶＭ）生成時の配置ルールとの連携に基づく仮想マシン（ＶＭ）配置の最適化が達成可能である。
【００９９】
上記実施形態では、ＯｐｅｎＳｔａｃｋによるＰｒｏｍｉｓｅ機能が実装されていないＶＩＭ１３がＮＦＶＯ１１、ＶＮＦＭ１２に接続されていることが前提であった。しかし、実際には、ＮＦＶＯ１１等に複数のＶＩＭが接続され、且つ、当該複数のＶＩＭのなかにＰｒｏｍｉｓｅ機能を備えたＶＩＭとＰｒｏｍｉｓｅ機能を備えていないＶＩＭが混在する状況が考え得る。このような状況に対応するため、ＮＦＶＯ１１は、ＶＩＭ１３のスペック（Ｐｒｏｍｉｓｅ機能の有無）を判断し、必要な処理を切り替える（選択する）ことが望ましい。具体的には、ＶＩＭ１３がＰｒｏｍｉｓｅ機能を備えていない場合には、ＮＦＶＯ１１は、上記実施形態にて説明した制御、処理を行う。対して、ＶＩＭ１３がＰｒｏｍｉｓｅ機能を備えている場合には、ＮＦＶＯ１１は、仮想マシン（ＶＭ）の配置をＶＩＭ１３に委託すればよい。なお、ＶＩＭ１３が具備している機能の判定（Ｐｒｏｍｉｓｅ機能の有無の判定）には、種々の方法が考えられる。例えば、複数のＶＩＭ１３それぞれが具備する機能を事前にＮＦＶＯ１１に登録しておく方式や、ＮＦＶＯ１１とＶＩＭ１３の間で情報交換（Ｃａｐａｂｉｌｉｔｙ交換）を行う方式等を用いることができる。
【０１００】
図４、図６に例示した各装置が行う処理は、各装置に搭載されたコンピュータに、そのハードウェアを用いて、上述した各処理を実行させるコンピュータプログラムにより実現できる。即ち、各手段の一部又は全ては、コンピュータ（プロセッサ等）で実行されるプログラムにより実現するようにしてもよく、上述の各処理モジュールが行う機能を何らかのハードウェア、及び／又は、ソフトウェアで実行する手段があればよい。
【０１０１】
上記の実施形態の一部又は全部は、以下のようにも記載され得るが、以下には限られない。
［形態１］
上述の第１の視点に係るネットワーク機能仮想化管理オーケストレーション装置のとおりである。
［形態２］
前記上位エンティティは、前記ＶＩＭに対して前記ＮＦＶＩのリソース情報の提供を要求し、
前記ＶＩＭは、前記要求に対する応答により前記ＮＦＶＩのリソース情報を前記上位エンティティに提供する、好ましくは形態１のネットワーク機能仮想化管理オーケストレーション装置。
［形態３］
前記上位エンティティは、仮想マシンの配置先となる物理マシンのリソースに関する上限情報を予め保持すると共に、前記上限情報と前記ＮＦＶＩのリソース情報に基づいて仮想マシンの配置先を決定する、好ましくは形態１又は２のネットワーク機能仮想化管理オーケストレーション装置。
［形態４］
前記上位エンティティは、前記決定された仮想マシンの配置先を指定する識別子を前記ＶＩＭに通知する、好ましくは形態１乃至３のいずれか一に記載のネットワーク機能仮想化管理オーケストレーション装置。
［形態５］
前記上位エンティティは、前記ＮＦＶＩ上にて、ネットワークサービスを実現するＮＦＶＯ（NFV-Orchestrator）である、好ましくは形態１のネットワーク機能仮想化管理オーケストレーション装置。
［形態６］
前記ＶＮＦのライフサイクルを管理するＶＮＦＭ（VNF Manager）をさらに含み、
前記ＮＦＶＯは、前記決定された仮想マシンの配置先を指定する識別子を前記ＶＮＦＭに送信し、
前記ＶＮＦＭは、前記送信された識別子を含む、仮想マシンのリソース割り当て要求を前記ＶＩＭに送信する、好ましくは形態５のネットワーク機能仮想化管理オーケストレーション装置。
［形態７］
前記ＮＦＶＯは、仮想マシンの配置先として複数の候補を算出し、前記算出された複数の候補それぞれに対応する前記識別子を前記ＶＮＦＭに送信し、
前記ＶＮＦＭは、前記送信された複数の識別子から前記ＶＩＭに送信する識別子を選択する、好ましくは形態６のネットワーク機能仮想化管理オーケストレーション装置。
［形態８］
前記上位エンティティは、前記ＶＮＦのライフサイクルを管理するＶＮＦＭ（VNF Manager）である、好ましくは形態１のネットワーク機能仮想化管理オーケストレーション装置。
［形態９］
上述の第２の視点に係るネットワーク機能仮想化管理オーケストレーション方法のとおりである。
［形態１０］
上述の第３の視点に係るプログラムのとおりである。
なお、形態９及び形態１０は、形態１と同様に、形態２〜形態８に展開することが可能である。
【０１０２】
なお、引用した上記の非特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１０３】
１０、１００  ＮＦＶ−ＭＡＮＯ
１１  ＮＦＶＯ（ＮＦＶ  Ｏｒｃｈｅｓｔｒａｔｏｒ）
１２  ＶＮＦＭ（ＶＮＦ  Ｍａｎａｇｅｒ）
１３、１０１  ＶＩＭ（Ｖｉｒｔｕａｌｉｚｅｄ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  Ｍａｎａｇｅｒ）
１４  ＮＳカタログ
１５  ＶＮＦカタログ
１６  ＮＦＶインスタンスリポジトリ
１７  ＮＦＶＩリソースリポジトリ
２０  物理マシン
２１  ＮＦＶＩ
２２  ＶＮＦ
２３  ＥＭ（ＥＭＳ）
３０  ＯＳＳ／ＢＳＳ
５１  ＣＰＵ
５２  メモリ
５３  入出力インターフェイス
５４  ＮＩＣ
１０２  上位エンティティ
２０１  ＶＮＦ生成制御部
２０２、２１３  ＮＦＶＩリソース取得部
２０３、２１４  仮想マシン配置先決定部
２１１  ＶＮＦ生成部
２１２  リソース割り当て要求部
２２１  ＮＦＶＩリソース情報提供部
２２２  リソース割り当て部
【図１】
0006614340.tif 000002
【図２】
0006614340.tif 000003
【図３】
0006614340.tif 000004
【図４】
0006614340.tif 000005
【図５】
0006614340.tif 000006
【図６】
0006614340.tif 000007
【図７】
0006614340.tif 000008
【図８】
0006614340.tif 000009
【図９】
0006614340.tif 000010