(57)【要約】  ＶＮＦデプロイ時にＶＮＦまたはＶＭの生成順序を制御可能とする。仮想化管理・オーケストレーション装置は、ＶＮＦ（Virtualized Network Function）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＮＳＤ（Network Service Descriptor）を読み込み、前記ＮＳＤに定義された依存関係に従って前記ＶＮＦおよび前記所定の要素を生成するＮＦＶＯ（Network Function Virtualization Orchestrator）を備え、かつ／または、ＶＭ（Virtualized Machine）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＶＮＦＤ（Virtualized Network Function Descriptor）を読み込み、前記ＶＮＦＤに定義された依存関係に従って前記ＶＭと前記所定の要素を生成するＶＮＦＭ（VNF Manager）を備えている。
2016121802.tif 000002
【特許請求の範囲】
【請求項１】
ＶＮＦ（Virtualized Network Function）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＮＳＤ（Network Service Descriptor）を読み込み、前記ＮＳＤに定義された依存関係に従って前記ＶＮＦおよび前記所定の要素を生成するＮＦＶＯ（Network Function Virtualization Orchestrator）を備え、かつ／または、
ＶＭ（Virtualized Machine）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＶＮＦＤ（Virtualized Network Function Descriptor）を読み込み、前記ＶＮＦＤに定義された依存関係に従って前記ＶＭと前記所定の要素を生成するＶＮＦＭ（VNF Manager）を備える、
ことを特徴とする仮想化管理・オーケストレーション装置。
【請求項２】
前記ＮＳＤは、前記ＶＮＦの識別子、および、前記ＶＮＦの生成前または生成後に生成すべき前記所定の要素の識別子のエントリを有する、
請求項１に記載の仮想化管理・オーケストレーション装置。
【請求項３】
前記ＶＮＦＤは、前記ＶＭの識別子、および、前記ＶＭの生成前または生成後に生成すべき前記所定の要素の識別子のエントリを有する、
請求項１または２に記載の仮想化管理・オーケストレーション装置。
【請求項４】
前記ＮＦＶＯは、前記ＮＳＤに定義された複数の依存関係の間における制約違反の有無を確認する、
請求項１ないし３のいずれか１項に記載の仮想化管理・オーケストレーション装置。
【請求項５】
前記ＶＮＦＭは、前記ＶＮＦＤに定義された複数の依存関係の間における制約違反の有無を確認する、
請求項１ないし４のいずれか１項に記載の仮想化管理・オーケストレーション装置。
【請求項６】
前記ＶＮＦＭは、前記ＶＮＦＤに定義された複数の依存関係に従ってＶＭと所定の要素を生成する順序を表す複数の生成順序を生成し、生成した複数の生成順序の間で制約違反を生じないように、該複数の生成順序における順序を調整する、
請求項５に記載の仮想化管理・オーケストレーション装置。
【請求項７】
前記ＮＳＤはＶＮＦと他のＶＮＦ、外部ＮＷおよびストレージのうちの少なくともいずれかとの間の生成順序に関する依存関係を定義するエントリを有し、かつ／または、
前記ＶＮＦＤはＶＭと他のＶＭ、外部ＮＷ、ＶＮＦＣ間ＮＷ、ストレージのうちの少なくともいずれかとの間の生成順序に関する依存関係を定義するエントリを有する、
請求項１ないし６のいずれか１項に記載の仮想化管理・オーケストレーション装置。
【請求項８】
ＶＮＦ（Virtualized Network Function）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＮＳＤ（Network Service Descriptor）、および／または、ＶＭ（Virtualized Machine）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＶＮＦＤ（Virtualized Network Function Descriptor）を読み込むステップと、
前記ＮＳＤに従って前記ＶＮＦおよび前記所定の要素を生成し、かつ／または、前記ＶＮＦＤに従って前記ＶＭと前記所定の要素を生成するステップと、を含む、
ことを特徴とする仮想化管理・オーケストレーション方法。
【請求項９】
前記ＮＳＤは、前記ＶＮＦの識別子、および、前記ＶＮＦの生成前または生成後に生成すべき前記所定の要素の識別子のエントリを有する、
請求項８に記載の仮想化管理・オーケストレーション方法。
【請求項１０】
前記ＶＮＦＤは、前記ＶＭの識別子、および、前記ＶＭの生成前または生成後に生成すべき前記所定の要素の識別子のエントリを有する、
請求項８または９に記載の仮想化管理・オーケストレーション方法。
【請求項１１】
前記ＮＳＤに定義された複数の依存関係の間における制約違反の有無を確認するステップを含む、
請求項８ないし１０のいずれか１項に記載の仮想化管理・オーケストレーション方法。
【請求項１２】
前記ＶＮＦＤに定義された複数の依存関係の間における制約違反の有無を確認するステップを含む、
請求項８ないし１１のいずれか１項に記載の仮想化管理・オーケストレーション方法。
【請求項１３】
ＶＮＦ（Virtualized Network Function）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＮＳＤ（Network Service Descriptor）、および／または、ＶＭ（Virtualized Machine）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＶＮＦＤ（Virtualized Network Function Descriptor）を読み込む処理と、
前記ＮＳＤに従って前記ＶＮＦおよび前記所定の要素を生成し、かつ／または、前記ＶＮＦＤに従って前記ＶＭと前記所定の要素を生成する処理と、をコンピュータに実行させる、
ことを特徴とするプログラム。
【請求項１４】
前記ＮＳＤは、前記ＶＮＦの識別子、および、前記ＶＮＦの生成前または生成後に生成すべき前記所定の要素の識別子のエントリを有する、
請求項１３に記載のプログラム。
【請求項１５】
前記ＶＮＦＤは、前記ＶＭの識別子、および、前記ＶＭの生成前または生成後に生成すべき前記所定の要素の識別子のエントリを有する、
請求項１３または１４に記載のプログラム。
【請求項１６】
前記ＮＳＤに定義された複数の依存関係の間における制約違反の有無を確認する処理を前記コンピュータに実行させる、
請求項１３ないし１５のいずれか１項に記載のプログラム。
【請求項１７】
前記ＶＮＦＤに定義された複数の依存関係の間における制約違反の有無を確認する処理を前記コンピュータに実行させる、
請求項１３ないし１６のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願についての記載］
本発明は、日本国特許出願：特願２０１５−０１４６１６号（２０１５年１月２８日出願）に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は仮想化管理・オーケストレーション装置、仮想化管理・オーケストレーション方法、および、プログラムに関し、特に、ネットワーク機能仮想化（Network Functions Virtualization）の管理およびオーケストレーションに適用して好適な仮想化管理・オーケストレーション装置、仮想化管理・オーケストレーション方法、および、プログラムに関する。
【背景技術】
【０００２】
サーバのコンピューティング、ストレージやネットワーク機能等を仮想化する技術として、サーバ上の、ハイパーバイザ（HyperVisor）等の仮想化レイヤ上に実装した仮想マシン（ＶＭ：Virtual Machine）によりソフトウェア的に実現するＮＦＶ（Network Functions Virtualization）等が知られている。例えばＭＡＮＯ（Management & Orchestration）アーキテクチャに基づき実現される。図１は、非特許文献１の第23頁のFigure 5.1（The NFV-MANO architectural framework with reference points）から引用した図である。【０００３】
図１を参照すると、ＶＮＦ（Virtualized Network Function）は、サーバ上の仮想マシン（ＶＭ）で動作するアプリケーション等に対応し、ネットワーク機能をソフトウェア的に実現する。ＶＮＦとして、例えばＬＴＥ（Long Term Evolution）ネットワークのコア網であるＥＰＣ（Evolved Packet Core）におけるＭＭＥ（Mobility Management Entity）やＳ−ＧＷ（Serving Gateway）、Ｐ−ＧＷ（PDN Gateway）等をソフトウェア(仮想マシン)で実現するようにしてもよい。図１の例では、例えばＶＮＦごとにＥＭ（Element Manager：要素管理）という管理機能が設けられる。【０００４】
ＶＮＦの実行基盤をなすＮＦＶＩ（Network Function Virtualization Infrastructure）は、コンピューティング、ストレージ、ネットワーク機能等、物理マシン（サーバ）のハードウェア資源をハイパーバイザ等の仮想化レイヤで仮想化した仮想化コンピューティング、仮想化ストレージ、仮想化ネットワーク等の仮想化ハードウェア資源として柔軟に扱えるようにした基盤である。【０００５】
ＮＦＶ ＭＡＮＯ（Management & Orchestration）は、NFV-Orchestrator（ＮＦＶＯ）、VNF-Manager（ＶＮＦＭ）、Virtualized Infrastructure Manager（VIM）を備えている。【０００６】
NFV-Orchestrator（ＮＦＶＯ）は、ＮＦＶＩリソースのオーケストレーション、及びＮＳ（Network Service）のライフサイクル管理（ＮＳインスタンスのInstantiation、Scaling、Termination、Update等）を行う。また、ＮＳカタログ（ＮＳＤ／ＶＬＤ／ＶＮＦＦＧＤ）、及びＶＮＦカタログ（ＶＮＦＤ／ＶＭイメージ／マニュフェストファイル等）の管理を行い、ＮＦＶインスタンスのリポジトリ、ＮＦＶＩリソースのリポジトリを持つ。【０００７】
VNF-Manager（ＶＮＦＭ）は、ＶＮＦのライフサイクル管理（instantiation、update、query、scaling、termination等）およびイベント通知を行う。【０００８】
Virtualized Infrastructure Manager（ＶＩＭ）は、仮想化レイヤを介して、ＮＦＶＩを制御する（コンピューティング、ストーレッジ、ネットワークのリソース管理、ＮＦＶの実行基盤であるＮＦＶＩの障害監視、リソース情報の監視等）。【０００９】
ＯＳＳ（Operations Support Systems）は、例えば通信事業者（キャリア）がサービスを構築し、運営していくために必要なシステム（機器やソフトウェア、仕組みなど）を総称したものである。ＢＳＳ(Business Support Systems)は、例えば通信事業者（キャリア）が利用料などの課金、請求、顧客対応などのために使う情報システム（機器やソフトウェア、仕組みなど）の総称である。【００１０】
ＮＳカタログ（NS catalog）は、ネットワークサービス（ＮＳ）のリポジトリを表している。ＮＳカタログ（NS catalog）は、ネットワークサービス（ＮＳ）デプロイメントテンプレート（Network Service Descriptor（ＮＳＤ）、Virtual Link Descriptor（ＶＬＤ）、VNF Forwarding Graph Descriptor(ＶＮＦＦＧＤ)）の生成と管理の支援を行う。デプロイメントは、例えば要求仕様等にしたがってカストマイズし実際の使用環境に配備することをいう。【００１１】
ＶＮＦカタログ（VNF catalog）は、ＶＮＦパッケージのリポジトリを表している。ＶＮＦカタログは、VNF Descriptor（ＶＮＦＤ）、ソフトウェアイメージ、マニフェストファイル等のＶＮＦパッケージの生成と管理の支援を行う。【００１２】
NFVインスタンスリポジトリ（NFV instance Repository）は、全ＶＮＦ、全ネットワークサービス（ＮＳ）のインスタンス情報を保持する。ＶＮＦインスタンス、ＮＳインスタンスはそれぞれＶＮＦ、ＮＳレコードに記述される。これらのレコードは各インスタンスのライフサイクルで、ＶＮＦライフサイクル管理操作、ＮＳライフサイクル管理操作の実行結果を反映するように更新される。【００１３】
ＮＦＶＩリソースリポジトリ（NFVI Resources Repository）は、オペレータのinfrastructure domain を超えてＶＩＭにより抽出された、利用可能な（available）/予約された（reserved）/割り付けられた（allocated）リソースの情報を保持する。【００１４】
図１において、参照ポイントOs-Ma-nfvoは、ＯＳＳ（Operation Service Systems）/ＢＳＳ(Business Service Systems)とＮＦＶＯ間の参照ポイントであり、ネットワークサービスのライフサイクル管理要求、ＶＮＦライフサイクル管理要求、ＮＦＶ関連の状態情報の転送、ポリシ管理情報の交換等に用いられる。【００１５】
参照ポイントVi-Vnfmは、ＶＮＦＭからのリソース割り当て要求、仮想化リソースの構成と状態情報の交換に用いられる。【００１６】
参照ポイントVe-Vnfm-emは、ＥＭと、ＶＮＦＭ間でＶＮＦインスタンシエーション、ＶＮＦインスタンス検索、更新、終了、スケールアウト／イン、スケールアップ／ダウン、ＥＭからＶＮＦＭへの構成、イベントの転送、ＶＮＦＭからＶＮＦへのＶＮＦの構成、イベントの通知等に用いられる。【００１７】
参照ポイントVe-Vnfm-vnfは、ＶＮＦと、ＶＮＦＭ間でVNFインスタンシエーション、ＶＮＦインスタンス検索、更新、終了、スケールアウト／イン、スケールアップ／ダウン、ＶＮＦからＶＮＦＭへの構成、イベントの転送、ＶＮＦＭからＶＮＦへのＶＮＦの構成、イベントの通知等に用いられる。【００１８】
参照ポイントNf-Viは、コンピューティング／ストレージ資源の指示とともにＶＭの割り付け、ＶＭリソース割り当ての更新、ＶＭマイグレーション、ＶＭ終了、ＶＭ間の接続の生成・削除等、リソース割り当て要求に対する仮想化リソースの割り付け、仮想化リソースの状態情報の転送、ハードウェア資源の構成と状態の情報の交換等に用いられる。【００１９】
参照ポイントVn-NfはＮＦＶＩによってＶＮＦに提供される実行環境を表している。【００２０】
参照ポイントOr-Vnfmは、VNF-Manager（ＶＮＦＭ）によるリソース関連要求（認証、予約(reservation)、割り当て等）、ＶＮＦＭへの構成情報の転送、ＶＮＦの状態情報の収集に用いられる。【００２１】
参照ポイントOr-ViはＮＦＶＯからのリソース予約、割り当て要求と仮想化リソースの構成と状態情報の交換に用いられる（詳細は非特許文献１参照）。【００２２】
図２は、非特許文献１の第40頁のFigure6.2 (Information elements in different context)を引用したものである。インスタンシエーション入力パラメータが入力される。【００２３】
図２において、ネットワークサービスディスクリプタ（Network Service Descriptor：NSD）は、ネットワークサービス（ＮＳ）の一部をなす部品を記述する他のディスクリプタを参照するネットワークサービスデプロイメントテンプレートである。【００２４】
ＶＮＦディスクリプタ（VNF Descriptor：ＶＮＦＤ）は、デプロイメントとオペレーション上の挙動の要求の観点からＶＮＦを記述するデプロイメントテンプレートである。【００２５】
VNFDは、ＶＮＦのインスタンシエーション（具現化、インスタンス化）とＶＮＦインスタンスのライフサイクル管理においてＶＮＦＭにより主に用いられる。ＶＮＦＤは、ＮＦＶＯによって、ネットワークサービス、ＮＦＶＩ上の仮想化リソースの管理とオーケストレーション（コンピュータシステム/ミドルウェア/サービスの配備/設定/管理の自動化）に用いられる。ＮＦＶＩ内のＶＮＦＣインスタンス、又は、ＶＮＦインスタンスと、他のネットワーク機能への端点間の仮想リンク構築のために、ＮＦＶＯで利用されるコネクティビティ・インターフェース・ＫＰＩ（Key Performance Indicators）要件を含む。【００２６】
VNF Forwarding Graph Descriptor（ＶＮＦＦＧＤ）は、ネットワークサービスのトポロジ、あるいは一部を、ＶＮＦ、ＰＮＦ、それらを接続するVirtual Linkを参照することで、記述したデプロイメントテンプレートである。【００２７】
仮想リンクディスクリプタ（Virtual Link Descriptor）は、ＮＦＶＩで利用可能なＶＮＦ間、ＰＮＦ間、ＮＳの端点（endpoints）間のリンクに必要なリソース要求を記述したデプロイメントテンプレートである。【００２８】
物理ネットワークファンクションディスクリプタ（Physical Network Function Descriptor：ＰＮＦＤ）は、アタッチした物理ネットワーク機能への、仮想リンクのコネクティビティ（接続性）、インターフェース、ＫＰＩ要件を記述する。ＮＳに物理デバイスが組み入れられるときに必要とされ、ネットワーク増設を容易にする。【００２９】
ＮＳＤ、ＶＮＦＦＧＤ、ＶＬＤは、ＮＳカタログに含まれ、ＶＮＦＤは、ＶＮＦパッケージとして、ＶＮＦカタログに含まれる。【００３０】
ＯＳＳ／ＢＳＳやＶＮＦＭからＮＦＶＯに対してＮＳ、またはＶＮＦのインスタンシエーション操作を実行する。インスタンシエーション操作の結果、新たに生成されたインスタンスを表すレコードが生成される。例えば、各ディスクリプタで与えられる情報、コンポーネントインスタンスに関連した追加のランタイム情報をもとに生成される各レコードは、ネットワークサービス（ＮＳ）のインスタンス状態をモデル化するためのデータを提供する。【００３１】
生成されるインスタンスレコードの種類として、例えば、
・Network Service Record (ＮＳＲ)、
・VNFFG Record (ＶＮＦＦＧＲ)、
・Virtual Link Record (ＶＬＲ)、
・VNF（Virtualized Network Function） Record (ＶＮＦＲ)、
・PNF（Physical Network Function） Record (ＰＮＦＲ)
がある。【００３２】
ＮＳＲ、ＶＮＦＲ、ＶＮＦＦＧＲ、ＶＶＬＲ情報要素はＮＳ、ＶＮＦ、ＶＮＦＦＧ、ＶＬのインスタンスの状態のモデル化に必要なデータアイテム集合を提供する。【００３３】
PNFレコードはＮＳの部分をなし前から存在するPNFに関連したインスタンスを表し、PNF情報のランタイム属性（ＮＦＶＯへのコネクティビティ）を含む。なお、以下の表１、２にＮＦＶの各要素の概要を一覧でまとめる。【００３４】
【表１】
2016121802.tif 000003
【００３５】
【表２】
2016121802.tif 000004
【先行技術文献】
【非特許文献】
【００３６】
【非特許文献１】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＞
【発明の概要】
【発明が解決しようとする課題】
【００３７】
上記非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明者によってなされたものである。【００３８】
図３は、ＮＳＤのテーブルの情報要素（非特許文献１の6.2.1.1を引用）、および、ＶＮＦＤのテーブルの情報要素（非特許文献１の6.3.1.1を引用）を示す。【００３９】
図３を参照すると、ＥＴＳＩの標準化作業で規定されたＮＳＤにはＶＮＦ間の依存関係を定義することを意図したパラメータvnf_dependencyが規定され、一方、ＶＮＦＤにはＶＤＵ間の依存関係を定義することを意図したパラメータdependencyが導入されている。【００４０】
しかしながら、これらのパラメータはいずれもLeaf型（タイプ、type）として規定されており、具体的に、どのようにしてＶＮＦ間またはＶＤＵ間の依存関係を定義すべきかが何ら規定されていない。【００４１】
ところで、ＶＮＦを提供するベンダには、ＶＮＦ、ＶＭ、ネットワーク、および、ストレージ等の生成順序を、ＶＮＦをデプロイする際に制御したいというニーズがある。しかしながら、図３に示したＮＳＤおよびＶＮＦＤによると、ＶＮＦ間またはＶＤＵ間の生成順序を定義する方法が不明であり、かかるニーズに応えることができないという問題がある。【００４２】
そこで、ＶＮＦデプロイ時にＶＮＦと他の要素またはＶＭと他の要素の生成順序を制御可能とすることが課題となる。本発明の目的は、かかる課題解決に寄与する仮想化管理・オーケストレーション装置、仮想化管理・オーケストレーション方法、および、プログラムを提供することにある。
【課題を解決するための手段】
【００４３】
本発明の第１の態様に係る仮想化管理・オーケストレーション装置は、ＶＮＦ（Virtualized Network Function）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＮＳＤ（Network Service Descriptor）を読み込み、前記ＮＳＤに定義された依存関係に従って前記ＶＮＦおよび前記所定の要素を生成するＮＦＶＯ（Network Function Virtualization Orchestrator）を備え、かつ／または、ＶＭ（Virtualized Machine）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＶＮＦＤ（Virtualized Network Function Descriptor）を読み込み、前記ＶＮＦＤに定義された依存関係に従って前記ＶＭと前記所定の要素を生成するＶＮＦＭ（VNF Manager）を備えている。【００４４】
本発明の第２の態様に係る仮想化管理・オーケストレーション方法は、ＶＮＦ（Virtualized Network Function）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＮＳＤ（Network Service Descriptor）、および／または、ＶＭ（Virtualized Machine）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＶＮＦＤ（Virtualized Network Function Descriptor）を読み込むステップと、前記ＮＳＤに従って前記ＶＮＦおよび前記所定の要素を生成し、かつ／または、前記ＶＮＦＤに従って前記ＶＭと前記所定の要素を生成するステップと、を含む。【００４５】
本発明の第３の態様に係るプログラムは、ＶＮＦ（Virtualized Network Function）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＮＳＤ（Network Service Descriptor）、および／または、ＶＭ（Virtualized Machine）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＶＮＦＤ（Virtualized Network Function Descriptor）を読み込む処理と、前記ＮＳＤに従って前記ＶＮＦおよび前記所定の要素を生成し、かつ／または、前記ＶＮＦＤに従って前記ＶＭと前記所定の要素を生成する処理と、をコンピュータに実行させる。なお、プログラムは、非一時的なコンピュータ可読記録媒体（non-transitory computer-readable storage medium）に記録されたプログラム製品として提供することもできる。
【発明の効果】
【００４６】
本発明に係る仮想化管理・オーケストレーション装置、仮想化管理・オーケストレーション方法、および、プログラムによると、ＶＮＦデプロイ時にＶＮＦと他の要素またはＶＭと他の要素の生成順序を制御することができる。
【図面の簡単な説明】
【００４７】
【図１】ＮＦＶアーキテクチャのＮＦＶ-ＭＡＮＯを説明する図である（非特許文献１のFig.5.1を引用）。
【図２】非特許文献１によるテンプレートとインスタンスレコードを説明する図である（非特許文献１のFig.6.2を引用）。
【図３】ＮＳＤのテーブルの情報要素（非特許文献１の6.2.1.1を引用）、および、ＶＮＦＤのテーブルの情報要素（非特許文献１の6.3.1.1を引用）を説明する図である。
【図４】第１の実施形態に係る仮想化管理・オーケストレーション装置の構成を例示するブロック図である。
【図５】第１の実施形態におけるＮＳＤのテーブルの情報要素、および、ＶＮＦＤのテーブルの情報要素を例示する図である。
【図６】第１の実施形態におけるＮＦＶＯによるＮＳＤの確認動作を例示するフロー図である。
【図７】第１の実施形態におけるＶＮＦＭによるＶＮＦＤの確認動作を例示するフロー図である。
【図８】第１の実施形態におけるＶＮＦＭによるＶＮＦＤの確認動作を例示するフロー図である。
【図９】図３に示したＮＳＤおよびＶＮＦＤを用いた比較例について説明する図である。
【図１０】図３に示したＮＳＤおよびＶＮＦＤを用いた比較例の動作を示すシーケンス図である。
【図１１】図３に示したＮＳＤおよびＶＮＦＤを用いた比較例の動作を示すシーケンス図である。
【図１２】第１の実施形態におけるＮＦＶＯによるＮＳＤの確認動作について説明するための図である。
【図１３】第１の実施形態におけるＶＮＦＭによるＶＮＦＤの確認動作を説明するための図である。
【図１４】第１の実施形態におけるＶＮＦＭによるＶＮＦＤの確認動作を説明するための図である。
【図１５】第１の実施形態におけるＶＮＦＭによるＶＮＦＤの確認動作を説明するための図である。
【図１６】第１の実施形態におけるＶＮＦＭによるＶＮＦＤの確認動作を説明するための図である。
【図１７】第１の実施形態におけるＶＮＦＭによるＶＮＦＤの確認動作を説明するための図である。
【図１８】第１の実施形態におけるＶＮＦＭによるＶＮＦＤの確認動作を説明するための図である。
【図１９】第１の実施形態におけるＶＮＦＭによるＶＮＦＤの確認動作を説明するための図である。
【図２０】第１の実施形態におけるＶＮＦＭによるＶＮＦＤの確認動作を説明するための図である。
【図２１】図５に示したＮＳＤおよびＶＮＦＤを用いた本実施形態の動作を例示するシーケンス図である。
【図２２】図５に示したＮＳＤおよびＶＮＦＤを用いた本実施形態の動作を例示するシーケンス図である。
【図２３】図５に示したＮＳＤおよびＶＮＦＤを用いた本実施形態の動作を例示するシーケンス図である。
【発明を実施するための形態】
【００４８】
＜実施形態１＞
第１の実施形態に係る仮想化管理・オーケストレーション装置について、図面を参照して説明する。
【００４９】
［構成］
図４は、本実施形態に係る仮想化管理・オーケストレーション装置７の構成を例示するブロック図である。図４を参照すると、仮想化管理・オーケストレーション装置７は、ＮＦＶＯ２、ＶＮＦＭ３−１、３−２、ＶＩＭ４、および、ＶＮＦ６を備えている。仮想化管理・オーケストレーション装置７は、入力としてＮＳＤおよびＶＮＦＤを受け付ける。さらに、図４には、ＮＦＶＯ２に要求（例えば、局建要求）を送出する保守端末１と、ＶＮＦ６−１、６−２、および、ＮＦＶＩ５を併せて示す。
【００５０】
ＮＦＶＯ２、ＶＮＦＭ３−１、３−２、および、ＶＩＭ４は、それぞれ、上記の表１に示した機能を有する。一方、ＶＮＦ６−１、６−２、およびＮＦＶＩ５は、それぞれ、上記の表２に示す機能を有する。特に、図４に例示した構成において、ＶＮＦＭ３−１、３−２は、それぞれ、ＶＮＦ６−１、６−２のライフサイクル管理およびイベント通知を行う。
【００５１】
なお、図４に示したＶＮＦＭ、ＶＮＦ等の個数は、例示に過ぎず、本発明は図示の態様に限定されない。また、以下では、ＶＮＦＭ３−１、３−２を区別する必要がない場合、ＶＮＦＭ３と総称し、同様に、ＶＮＦ６−１、６−２を区別する必要がない場合、ＶＮＦ６と総称する。
【００５２】
図５は、本実施形態におけるＮＳＤの情報要素、および、ＶＮＦＤの情報要素を例示する図である。図５を参照すると、ＮＳＤには、ＶＮＦと所定の要素との依存関係（dependency）を定義するエントリが新たに設けられている。具体的には、図３に示したＮＳＤのvnf_dependencyのタイプ（type）をLeafからElementに変更することで、ＶＮＦと当該ＶＮＦと依存関係を有する要素（例えば、他のＶＮＦ、外部ＮＷ、ストレージ等）を定義可能としている。さらに、nsd:vnf_depencdncyとして、依存関係を定義すべきＶＮＦ、当該ＶＮＦの生成前に生成すべきＶＮＦ、外部ＮＷ、ストレージを、それぞれ、createVNF、targetVNF、targetENW、targetSTRとして定義可能としている。
【００５３】
また、図５を参照すると、ＶＮＦＤには、ＶＭと所定の要素との依存関係（dependency）を定義するエントリが新たに設けられている。具体的には、図３に示したＶＮＦＤのdependencyのタイプ（type）をLeafからElementに変更することで、ＶＭと当該ＶＭと依存関係を有する要素（例えば、他のＶＭ、外部ＮＷ、ＶＮＦＣ間ＮＷ、ストレージ等）を定義可能としている。さらに、vnfd:depencdncyとして、依存関係を定義すべきＶＭ、当該ＶＭの生成前に生成すべきＶＭ、外部ＮＷ、ＶＮＦＣ間ＮＷ、ストレージを、それぞれ、createVM、targetVM、targetENW、targetVL、targetSTRとして定義可能としている。
【００５４】
なお、図５に示した依存関係は例示にすぎない。例えば、ＮＳＤにおいて、ＶＮＦの生成前に生成すべきＶＮＦ等を定義可能とする代わりに、ＶＮＦの生成後に生成すべきＶＮＦ等を定義可能としてもよい。また、他の要素との間の依存関係を定義可能とする要素は、図５に示したＶＮＦおよびＶＭに限定されず、その他の要素についても、他の要素との依存関係を定義可能としてもよい。すなわち、ＶＮＦと他の要素の依存関係やＶＭと他の要素の依存関係のみならず、ＶＤＵと他の要素の依存関係、ＶＮＦＣと他の要素の依存関係も定義可能としてもよい。さらに、依存関係を有する要素の組み合わせについても、図５に例示した組み合わせに限定されない。例えば、ＶＮＦまたはＶＭとの依存関係を定義可能とする要素は、ＶＮＦ、ＶＭ、外部ＮＷ、ストレージ等に限定されない。
【００５５】
ＮＦＶＯ２は、図５に示したＮＳＤを読み込み、ＮＳＤに定義された依存関係に従ってＶＮＦおよび当該ＶＮＦとの依存関係が定義された要素を生成する。また、ＮＦＶＯ２は、ＮＳＤに複数の依存関係が定義されている場合、これらの依存関係の間に制約違反がないかどうか確認する。一方、ＶＮＦＭ３は、図５に示したＶＮＦＤを読み込み、ＶＮＦＤに定義された依存関係に従ってＶＭおよび当該ＶＭとの依存関係が定義された要素を生成する。また、ＶＮＦＭ３は、ＶＮＦＤに複数の依存関係が定義されている場合、これらの依存関係の間に制約違反がないかどうか確認する。ここでは、複数の依存関係のいずれも充足させることができる（両立する）場合、「制約違反がない」といい、それ以外の場合、「制約違反がある」という。
【００５６】
［動作］
図６は、ＮＦＶＯ２がＮＳＤに定義されたvnf_dependencyを確認する動作を例示するフロー図である。図６を参照すると、ＮＦＶＯ２は、ＮＳＤに定義されたvnf_dependencyを参照し、createVNF、targetVNF、targetENW、targetSTRの内容に従って、これらの要素を生成する順序を表す順序関係を作成する（ステップＳ１）。
【００５７】
ここで、ＮＦＶＯ２は、ステップＳ１の前にすでに作成済の順序関係が存在するかどうか確認する（ステップＳ２）。
【００５８】
作成済の順序関係が存在する場合（ステップＳ２のＹ）、作成済の順序関係とステップＳ１で作成した順序関係との間に制約違反があるかどうか確認する（ステップＳ３）。
【００５９】
制約違反がある場合（ステップＳ３のＹ）、ＮＧ終了となる。一方、制約違反がない場合（ステップＳ３のＮ）、および、ステップＳ１の前に作成済の順序関係が存在しない場合（ステップＳ２のＮ）、ＮＦＶＯ２は、ＮＳＤに他のvnf_dependencyが定義されているかどうか確認する（ステップＳ４）。
【００６０】
他のvnf_dependencyが定義されている場合（ステップＳ４のＹ）、ステップＳ１に戻る。それ以外の場合（ステップＳ４のＮ）、ＮＦＶＯ２は、ＶＮＦＭ３に対して、ＶＮＦＤに定義されたdependencyにおける制約違反の有無の確認を要求する（ステップＳ５）。ＶＮＦＭ３は、ＶＮＦＤにおいて制約違反を確認した場合、ＮＦＶＯ２にＮＧを応答する。
【００６１】
ＮＦＶＯ２は、ＶＮＦＭ３から応答を確認する（ステップＳ６）。ＶＮＦＭ３からの応答がＮＧであれば（ステップＳ６のＹ）、ＮＧ終了となる。それ以外の場合（ステップＳ６のＮ）、ＮＦＶＯ２は、targetENW、targetSTRを生成する順序に関して、制約違反があるかどうか確認する（ステップＳ７）。
【００６２】
制約違反がある場合（ステップＳ７のＹ）、ＮＧ終了となる。一方、制約違反がない場合（ステップＳ７のＮ）、作成した順序関係に従って、各要素を生成する処理に移行する（ステップＳ８）。
【００６３】
図７および図８は、ＶＮＦＭ３によるＶＮＦＤの確認動作を例示するフロー図である。図７を参照すると、ＶＮＦＭ３は、ＶＮＦＤに定義されたdependencyを参照し、createVM、targetVM、targetVL、targetENW、targetSTRの内容に従って、これらの要素を生成する順序を表す順序関係を作成する（ステップＡ１）。
【００６４】
ここで、ＶＮＦＭ３は、ステップＡ１の前にすでに作成済の順序関係が存在するかどうか確認する（ステップＡ２）。
【００６５】
作成済の順序関係が存在する場合（ステップＡ２のＹ）、作成済の順序関係とステップＡ１で作成した順序関係との間に制約違反があるかどうか確認する（ステップＡ３）。ステップＡ３の処理の詳細については、図８を参照して後述する。
【００６６】
制約違反がある場合（ステップＡ３のＹ）、ＮＧ終了となる。一方、制約違反がない場合（ステップＡ３のＮ）、および、ステップＡ１の前に作成済の順序関係が存在しない場合（ステップＡ２のＮ）、ＶＮＦＭ３は、ＶＮＦＤに他のdependencyが定義されているかどうか確認する（ステップＡ４）。
【００６７】
他のdependencyが定義されている場合（ステップＡ４のＹ）、ステップＡ１に戻る。それ以外の場合（ステップＡ４のＮ）、正常終了となる。
【００６８】
図８は、図７のステップＡ３の詳細を例示するフロー図である。図８を参照すると、ＶＮＦＭ３は、すでに別のdependencyに従って順序関係が作成された要素が存在する場合、図７のステップＡ１で作成した順序関係（「後の順序関係」という。）を、ステップＡ１の前に作成済の順序関係（「先の順序関係」という）を維持したまま統合したときに、制約違反が生じるかどうかを確認する（ステップＡ３１）。
【００６９】
ＶＮＦＭ３は、先の順序関係を維持したまま、後の順序関係を先の順序関係に統合した場合に制約違反が生じない場合（ステップＡ３１のＹ）、先の順序関係を維持したまま、後の順序関係を先の順序関係に統合する（ステップＡ３２）。次に、ＶＮＦＭ３は、別のdependencyに従って順序関係が作成された要素が他にも存在するかどうか確認し（ステップＡ３３）、存在する場合（ステップＡ３３のＹ）、ステップＡ３１に戻り、それ以外の場合（ステップＡ３３のＮ）、正常終了とする。
【００７０】
一方、ＶＮＦＭ３は、先の順序関係を維持したまま、後の順序関係を先の順序関係に統合した場合に制約違反が生じる場合（ステップＡ３１のＮ）、先の順序関係を後の順序関係を反映するように調整して、制約違反を解消できるかどうか確認する（ステップＳ３４）。制約違反を解消できる場合（ステップＡ３４のＹ）、ＶＮＦＭ３は、後の順序関係を反映するように先の順序関係を調整し（ステップＡ３５）、ステップＡ３３に移行する。一方、制約違反を解消できない場合（ステップＳ３４のＮ）、ＮＧ終了となる。
【００７１】
ここで、本実施形態の動作について具体的に説明する前に、図３に示したＮＳＤおよびＶＮＦＤを用いた場合の問題点について説明する。
【００７２】
図９は、図３に示したＮＳＤおよびＶＮＦＤを用いたときに生じる問題について説明する図である。ＶＮＦを提供するベンダには、生成対象のＶＭが立ち上がり、コンフィグレーションが完了するまでは、当該ＶＭを外部ＮＷに接続したくないというニーズがある。例えば、キャリアの特性上、ＯＳ（Operating System）起動後にアプリケーション起動まで行われ、外部との通信が開始されて不具合が生じるおそれがある場合に、そのようなニーズが生じる。また、これ以外にも、一のＶＭと他のＶＭが依存関係にある場合、当該他のＶＭ内のアプリケーションを予め起動していないと、当該一のＶＭの生成後のコンフィグレーションでエラーが生じる場合も考えられる。
【００７３】
図１０および図１１は、図３に示したＮＳＤおよびＶＮＦＤを用いたときのＶＮＦデプロイ動作を示すシーケンス図である。
【００７４】
図１０を参照すると、保守端末１はＮＦＶＯ２に局建要求を送出する。
【００７５】
次に、ＮＦＶＯ２は、ＶＮＦＭ３にＶＮＦインスタンスの生成を要求する（Instantiate VNF）。すると、ＶＮＦＭ３は、ＮＦＶＯ２にＶＮＦライフサイクル動作を許可する（Grand Lifecycle Operation）。
【００７６】
次に、ＮＦＶＯ２は、ＶＩＭ４に仮想リソースの予約を要求する（Create Resource Reservation）。
【００７７】
次に、ＮＦＶＯ２は、ＶＩＭ４に外部ＮＷ（すなわち、ＶＮＦの外部のネットワーク）割り当てを要求する（Allocate Resource）。すると、ＶＩＭ４は、ＮＦＶＩ５に仮想ネットワークの生成を要求する（Create Virtual Network）。
【００７８】
次に、ＶＮＦＭ３は、ＶＩＭ４にＶＮＦＣ間ＮＷ（すなわち、ＶＮＦ内部のネットワーク）の割り当てを要求する（Allocate Resource）。すると、ＶＩＭ４は、ＮＦＶＩ５に仮想ネットワークの生成を要求する（Create Virtual Network）。なお、ＶＮＦＣ間ＮＷの割り当て要求および仮想ネットワーク生成要求は、ＶＮＦＣ間のネットワークの個数に応じて繰り返される。
【００７９】
図１１を参照すると、次に、ＶＮＦＭ３は、ＶＩＭ４にストレージの割り当てを要求する（Allocate Resource ）。すると、ＶＩＭ４は、ＮＦＶＩ５にストレージプールの生成を要求する（Create Storage Pool）。
【００８０】
次に、ＶＮＦＭ３は、ＶＩＭ４にＶＭの割り当てを要求する（Allocate Resource）。すると、ＶＩＭ４は、ＮＦＶＩ５に仮想ネットワークデバイスの生成を要求する（Create virtual network device）。さらに、ＶＩＭ４は、ＮＦＶＩ５にＶＭの生成を要求する（Create virtual machine）。すると、ＮＦＶＩ５は、ＶＮＦ６にＶＭの起動を要求する（Start VM）。次に、ＶＮＦＭ３は、ＶＮＦ６にＶＭのコンフィグレーションを要求する（Configuration）。なお、ＶＭの割り当て要求からＶＭのコンフィグレーション要求までの処理は、生成するＶＭの個数に応じて繰り返される。
【００８１】
図１０および図１１に示したＶＮＦのデプロイシーケンスによると、ＶＭが生成されて当該ＶＭのコンフィグレーションが完了する前に、外部ＮＷが生成される。すなわち、図３に示したＶＮＦＤによると、ＶＭと他の要素との依存関係を具体的に定義することができず、ＶＭと他の要素（ネットワーク、ストレージ等）の生成順序を制御することができない。したがって、図９を参照して説明したニーズに応えることができないという問題がある。
【００８２】
「本実施形態の動作」
次に、ＮＳＤおよびＶＮＦＤの具体例を用いて本実施形態の動作を説明する。
【００８３】
図１２は、ＮＦＶＯ２によるＮＳＤの確認動作について説明するための図である。図１２を参照すると、ＮＳＤのvnf_dependency（１つ目）には、ＶＮＦＢ００１を生成する前に、ＶＮＦＡ００１を生成するという依存関係（dependency）が定義されている。ＮＦＶＯ２は、かかる依存関係に従って、「（１）ＶＮＦＡ００１、（２）ＶＮＦＢ００１」という順序関係を作成する。ここでは、順序関係を括弧付数字で表す。一方、ＮＳＤのvnf_dependency（２つ目）には、ＶＮＦＣ００１を生成する前に、ＶＮＦＡ００１を生成するという依存関係（dependency）が定義されている。ＮＦＶＯ２は、かかる依存関係に従って、「（１）ＶＮＦＡ００１、（２）ＶＮＦＣ００１」という順序関係を作成する。ＮＦＶＯ２が作成したこれらの順序関係の間には制約違反がないため、ＮＦＶＯ２は、ＶＮＦの生成順序を、「（１）ＶＮＦＡ００１、（２）ＶＮＦＢ００１、ＶＮＦＣ００１」とする。なお、同一の括弧付数字に並ぶ要素の間には、順序関係はないものとする。
【００８４】
図１３ないし図２０は、ＶＮＦＭ３によるＶＮＦＤの確認動作を説明するための図である。図１３は第１の例、図１４は第２の例、図１５ないし図２０は第３の例を示す。
【００８５】
（例１）
図１３を参照すると、ＶＮＦＤのdependency（１つ目）には、ＶＭ００１Ａを生成する前に、外部ネットワークＥＮＷ００１を生成するという依存関係（dependency）が定義されている。ＶＮＦＭ３は、かかる依存関係に従って、「（１）ＥＮＷ００１、（２）ＶＭ００１Ａ」という順序関係を作成する。一方、ＶＮＦＤのdependency（２つ目）には、ＶＭ００１Ｂを生成する前に、ＶＭ００１Ａを生成するという依存関係（dependency）が定義されている。ＶＮＦＭ３は、かかる依存関係に従って、「（３）ＶＭ００１Ａ、（４）ＶＭ００１Ｂ」という順序関係を作成する。ＶＮＦＭ３が作成したこれらの順序関係の間には制約違反がないため、ＶＮＦＭ３は、ＶＭ等の生成順序を「（１）ＥＮＷ００１、（２）ＶＭ００１Ａ、（３）ＶＭ００１Ｂ」とする。また、ＶＮＦＤのdependency（３つ目）には、ＶＭ００２Ａを生成する前に、ＶＭ００１Ｂを生成するという依存関係（dependency）が定義されている。ＶＮＦＭ３は、かかる依存関係に従って「（４）ＶＭ００１Ｂ、（５）ＶＭ００２Ａ」という順序関係を作成する。ＶＮＦＭ３が作成した先の順序関係と後の順序関係の間には制約違反がないため、ＶＮＦＭ３は、ＶＭ等の生成順序を「（１）ＥＮＷ００１、（２）ＶＭ００１Ａ、（３）ＶＭ００１Ｂ、（４）ＶＭ００２Ａ」とする。さらに、ＶＮＦＤのdependency（４つ目）には、ＶＭ００３Ａを生成する前に、ＶＭ００１Ｂを生成するという依存関係（dependency）が定義されている。ＶＮＦＭ３は、かかる依存関係に従って、「（５）ＶＭ００１Ｂ、（６）ＶＭ００３Ａ」という順序関係を作成する。このとき、先の順序関係を維持したまま、後の順序関係を先の順序関係に統合しても制約違反が生じないため（図８のステップＡ３１のＹ）、先の順序関係を維持したまま、後の順序関係を先の順序関係に統合する（図８のステップＡ３２）。すなわち、ＶＮＦＭ３は、ＶＭ等の生成順序を「（１）ＥＮＷ００１、（２）ＶＭ００１Ａ、（３）ＶＭ００１Ｂ、（４）ＶＭ００２Ａ、ＶＭ００３Ａ」とする。
【００８６】
（例２）
図１４を参照すると、ＶＮＦＤのdependency（２つ目）には、ＶＭ００１Ｂを生成する前にＶＭ００２Ａを生成するという依存関係（dependency）が定義されている。ＶＮＦＭ３は、かかる依存関係に従って、「（１）ＶＭ００２Ａ、（２）ＶＭ００１Ｂ」という順序関係を作成する。一方、ＶＮＦＤのdependency（３つ目）には、ＶＭ００２Ａを生成する前に、ＶＭ００１Ｂを生成するという依存関係（dependency）が定義されている。ＶＮＦＭ３は、かかる依存関係に従って、「（３）ＶＭ００１Ｂ、（４）ＶＭ００２Ａ」という順序関係を作成する。このとき、制約違反が生じないように、先の順序関係と後の順序関係を統合することは不可能であるため（図８のステップＳ３１のＮ、ステップＳ３４のＮ）、ＶＮＦＭ３による順序関係の生成はＮＧ終了となる。
【００８７】
（例３）
図１５を参照すると、ＶＮＦＤのdependency（１つ目）には、ＶＭ＿Ａを生成する前にＶＭ＿Ｂ、ＶＭ＿Ｆ、ＶＭ＿Ｇを生成するという依存関係（dependency）が定義されている。ＶＮＦＭ３は、かかる依存関係に従って、「（１）ＶＭ＿Ｂ、ＶＭ＿Ｆ、ＶＭ＿Ｇ、（２）ＶＭ＿Ａ」という順序関係を作成する。
【００８８】
図１６を参照すると、ＶＮＦＤのdependency（２つ目）には、ＶＭ＿Ｂを生成する前にＶＭ＿Ｃを生成するという依存関係（dependency）が定義されている。ＶＮＦＭ３は、かかる依存関係に従って、「（３）ＶＭ＿Ｃ、（４）ＶＭ＿Ｂ」という順序関係を作成する。このとき、先の順序関係を維持したまま、後の順序関係を先の順序関係に統合しても制約違反が生じないため（図８のステップＡ３１のＹ）、先の順序関係を維持したまま、後の順序関係を先の順序関係に統合する（図８のステップＡ３２）。すなわち、ＶＮＦＭ３は、ＶＭの生成順序を、「（１）ＶＭ＿Ｃ、（２）ＶＭ＿Ｂ、ＶＭ＿Ｆ、ＶＭ＿Ｇ、（３）ＶＭ＿Ａ」とする。
【００８９】
図１７を参照すると、ＶＮＦＤのdependency（３つ目）には、ＶＭ＿Ｄを生成する前にＶＭ＿Ｃを生成するという依存関係（dependency）が定義されている。ＶＮＦＭ３は、かかる依存関係に従って、「（４）ＶＭ＿Ｃ、（５）ＶＭ＿Ｄ」という順序関係を作成する。このとき、先の順序関係を維持したまま、後の順序関係を先の順序関係に統合しても制約違反が生じないため（図８のステップＡ３１のＹ）、先の順序関係を維持したまま、後の順序関係を先の順序関係に統合する（図８のステップＡ３２）。すなわち、ＶＮＦＭ３は、ＶＭの生成順序を、「（１）ＶＭ＿Ｃ、（２）ＶＭ＿Ｂ、ＶＭ＿Ｆ、ＶＭ＿Ｇ、ＶＭ＿Ｄ、（３）ＶＭ＿Ａ」とする。
【００９０】
図１８を参照すると、ＶＮＦＤのdependency（４つ目）には、ＶＭ＿Ｅを生成する前にＶＭ＿Ａを生成するという依存関係（dependency）が定義されている。ＶＮＦＭ３は、かかる依存関係に従って、「（４）ＶＭ＿Ａ、（５）ＶＭ＿Ｅ」という順序関係を作成する。このとき、先の順序関係を維持したまま、後の順序関係を先の順序関係に統合しても制約違反が生じないため（図８のステップＡ３１のＹ）、先の順序関係を維持したまま、後の順序関係を先の順序関係に統合する（図８のステップＡ３２）。すなわち、ＶＮＦＭ３は、ＶＭの生成順序を「（１）ＶＭ＿Ｃ、（２）ＶＭ＿Ｂ、ＶＭ＿Ｆ、ＶＭ＿Ｇ、ＶＭ＿Ｄ、（３）ＶＭ＿Ａ、（４）ＶＭ＿Ｅ」とする。
【００９１】
図１９を参照すると、ＶＮＦＤのdependency（５つ目）には、ＶＭ＿Ｆを生成する前にＶＭ＿Ｄ、ＶＭ＿Ｇを生成するという依存関係（dependency）が定義されている。ＶＮＦＭ３は、かかる依存関係に従って、「（５）ＶＭ＿Ｄ、ＶＭ＿Ｇ、（６）ＶＭ＿Ｆ」という順序関係を作成する。このとき、先の順序関係を維持したまま、後の順序関係を先の順序関係に統合すると制約違反が生じる（図８のステップＡ３１のＮ）。そこで、ＶＮＦＭ３は、先の順序関係を後の順序関係を反映するように調整して、制約違反を解消できるかどうか確認する（図８のステップＳ３４）。ここでは、制約違反を解消できるため（図８のステップＡ３４のＹ）、ＶＮＦＭ３は、後の順序関係を反映するように先の順序関係を調整する（図８のステップＡ３５）。すなわち、ＶＮＦＭ３は、ＶＭの生成順序を、「（１）ＶＭ＿Ｃ、（２）ＶＭ＿Ｂ、ＶＭ＿Ｇ、ＶＭ＿Ｄ、（３）ＶＭ＿Ｆ、（４）ＶＭ＿Ａ、（５）ＶＭ＿Ｅ」とする。
【００９２】
図２０を参照すると、ＶＮＦＤのdependency（６つ目）には、ＶＭ＿Ｇを生成する前にＶＭ＿Ｃを生成するという依存関係（dependency）が定義されている。ＶＮＦＭ３は、かかる依存関係に従って、「（６）ＶＭ＿Ｃ、（６）ＶＭ＿Ｇ」という順序関係を作成する。このとき、先の順序関係において、後の順序関係はすでに満たされている。このとき、先の順序関係をそのまま維持することができる（図８のステップＡ３１のＹ、ステップＡ３２）。すなわち、ＶＮＦＭ３は、ＶＭの生成順序を「（１）ＶＭ＿Ｃ、（２）ＶＭ＿Ｂ、ＶＭ＿Ｇ、ＶＭ＿Ｄ、（３）ＶＭ＿Ｆ、（４）ＶＭ＿Ａ、（５）ＶＭ＿Ｅ」とする。
【００９３】
図２１ないし図２３は、図１２に示したＮＳＤおよび図１３に示したＶＮＦＤを用いて作成された生成順序（すなわち、ＶＮＦの生成順序：「（１）ＶＮＦＡ００１、（２）ＶＮＦＢ００１、ＶＮＦＣ００１」、ＶＭ等の生成順序：「（１）ＥＮＷ００１、（２）ＶＭ００１Ａ、（３）ＶＭ００１Ｂ、（４）ＶＭ００２Ａ、ＶＭ００３Ａ」）に従って、ＶＮＦをデプロイする動作を示すシーケンス図である。ただし、図２１ないし図２３には、ＶＮＦＡ００１をデプロイするまでのシーケンスを示す。
【００９４】
図２１を参照すると、保守端末１はＮＦＶＯ２に局建要求を送出する。
【００９５】
次に、ＮＦＶＯ２は、ＶＮＦＭ３にＶＮＦインスタンスの生成を要求する（Instantiate VNF）。すると、ＶＮＦＭ３は、ＮＦＶＯ２にＶＮＦライフサイクル動作を許可する（Grant Lifecycle Operation）。
【００９６】
次に、ＮＦＶＯ２は、ＶＩＭ４に仮想リソースの予約を要求する（Create Resource Reservation）。すると、ＶＮＦＭ３は、ＮＦＶＯ２に外部ＮＷとしてＥＮＷ００１を生成するように要求する。かかる要求を受けたＮＦＶＯ２は、ＶＩＭ４に外部ＮＷ（ＥＮＷ００１）の割り当てを要求する（Allocate Resource）。すると、ＶＩＭ４は、ＮＦＶＩ５に仮想ネットワークの生成を要求する（Create Virtual Network）。
【００９７】
次に、ＶＮＦＭ３は、ＶＩＭ４にＶＭ００１Ａに相当するＶＭの割り当てを要求する（Allocate Resource）。すると、ＶＩＭ４は、ＮＦＶＩ５にＶＭ００１Ａの生成を要求する（Create virtual machine）。要求を受けたＮＦＶＩ５は、ＶＮＦ６にＶＭ００１Ａの起動を要求する（Start VM001A）。図２２を参照すると、次に、ＶＮＦＭ３は、ＶＮＦ６にＶＭ００１Ａのコンフィグレーションを要求する（Configuration）。
【００９８】
次に、ＶＮＦＭ３は、ＶＩＭ４にＶＭ００１Ｂに相当するＶＭの割り当てを要求する（Allocate Resource）。すると、ＶＩＭ４は、ＮＦＶＩ５にＶＭ００１Ｂの生成を要求する（Create virtual machine）。要求を受けたＮＦＶＩ５は、ＶＮＦ６にＶＭ００１Ｂの起動を要求する（Start VM001B）。次に、ＶＮＦＭ３は、ＶＮＦ６にＶＭ００１Ｂのコンフィグレーションを要求する（Configuration）。
【００９９】
図２３を参照すると、次に、ＶＮＦＭ３は、ＶＩＭ４にＶＭ００２Ａに相当するＶＭの割り当てを要求する（Allocate Resource）。すると、ＶＩＭ４は、ＮＦＶＩ５にＶＭ００２Ａの生成を要求する（Create virtual machine）。要求を受けたＮＦＶＩ５は、ＶＮＦ６にＶＭ００２Ａの起動を要求する（Start VM002A）。次に、ＶＮＦＭ３は、ＶＮＦ６にＶＭ００２Ａのコンフィグレーションを要求する（Configuration）。
【０１００】
次に、ＶＮＦＭ３は、ＶＩＭ４にＶＭ００３Ａに相当するＶＭの割り当てを要求する（Allocate Resource）。すると、ＶＩＭ４は、ＮＦＶＩ５にＶＭ００３Ａの生成を要求する（Create virtual machine）。要求を受けたＮＦＶＩ５は、ＶＮＦ６にＶＭ００３Ａの起動を要求する（Start VM003A）。次に、ＶＮＦＭ３は、ＶＮＦ６にＶＭ００３Ａのコンフィグレーションを要求する（Configuration）。
【０１０１】
なお、図２３に示した、ＶＭ００２ＡとＶＭ００３Ａの生成およびコンフィグレーションの動作は、逐次的に実行してもよいし、複数の機能ブロック（例えば、複数のＶＮＦＭ、複数のＶＩＭ等）を用いることにより並列に実行してもよい。並列に実行することにより、ＶＮＦを高速にデプロイすることが可能となる。
【０１０２】
具体的には、ＶＮＦＭ３がＶＮＦＤに記載された依存関係とＶＮＦＤを用いて作成された生成順序とを参照し、次に生成するＶＭ等の依存関係の中に、処理を実行中のＶＭ等が記載されていない場合、次の生成処理を開始することにより、並列実行を実現することができる。
【０１０３】
本実施形態では、ＮＳＤにおいて、ＶＮＦと所定の要素との依存関係（dependency）を定義するエントリを新たに設けた。具体的には、図５に示すように、ＶＮＦと当該ＶＮＦと依存関係を有する要素（他のＶＮＦ、外部ＮＷ、ストレージ等）を定義可能とした。かかるＮＳＤによると、あるＶＮＦの生成前に生成すべき他のＶＮＦ、外部ＮＷ、ストレージを定義でき、ＶＮＦデプロイ時にＶＮＦと他の要素の生成順序を所望の順序とすることが可能となる。
【０１０４】
また、本実施形態では、ＶＮＦＤにおいて、ＶＭと所定の要素との依存関係（dependency）を定義するエントリを新たに設けた。具体的には、図５に示すように、ＶＭと当該ＶＭと依存関係を有する要素（例えば、他のＶＭ、外部ＮＷ、ＶＮＦＣ間ＮＷ、ストレージ等）を定義可能とした。かかるＶＮＦＤによると、あるＶＭの生成前に生成すべき他のＶＭ、外部ＮＷ、ＶＮＦＣ間ＮＷ、ストレージ等を定義でき、ＶＮＦデプロイ時にＶＭと他の要素の生成順序を所望の順序とすることが可能となる。したがって、本実施形態によると、例えば、図９を参照して説明したニーズに応えることが可能となる。
【０１０５】
なお、上記非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１０６】
１    保守端末
２    ＮＦＶＯ
３、３−１、３−２    ＶＮＦＭ
４    ＶＩＭ
５    ＮＦＶＩ
６、６−１、６−２    ＶＮＦ
７    仮想化管理・オーケストレーション装置
【図１】
2016121802.tif 000005
【図２】
2016121802.tif 000006
【図３】
2016121802.tif 000007
【図４】
2016121802.tif 000008
【図５】
2016121802.tif 000009
【図６】
2016121802.tif 000010
【図７】
2016121802.tif 000011
【図８】
2016121802.tif 000012
【図９】
2016121802.tif 000013
【図１０】
2016121802.tif 000014
【図１１】
2016121802.tif 000015
【図１２】
2016121802.tif 000016
【図１３】
2016121802.tif 000017
【図１４】
2016121802.tif 000018
【図１５】
2016121802.tif 000019
【図１６】
2016121802.tif 000020
【図１７】
2016121802.tif 000021
【図１８】
2016121802.tif 000022
【図１９】
2016121802.tif 000023
【図２０】
2016121802.tif 000024
【図２１】
2016121802.tif 000025
【図２２】
2016121802.tif 000026
【図２３】
2016121802.tif 000027
【手続補正書】
【提出日】平成29年7月27日(2017.7.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＶＮＦ（Virtualized Network Function）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＮＳＤ（Network Service Descriptor）を読み込み、前記ＮＳＤに定義された依存関係に従って前記ＶＮＦおよび前記所定の要素を生成するＮＦＶＯ（Network Function Virtualization Orchestrator）を備え、かつ／または、
ＶＭ（Virtualized Machine）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＶＮＦＤ（Virtualized Network Function Descriptor）を読み込み、前記ＶＮＦＤに定義された依存関係に従って前記ＶＭと前記所定の要素を生成するＶＮＦＭ（VNF Manager）を備える、
ことを特徴とする仮想化管理・オーケストレーション装置。
【請求項２】
前記ＮＳＤは、前記ＶＮＦの識別子、および、前記ＶＮＦの生成前または生成後に生成すべき前記所定の要素の識別子のエントリを有する、
請求項１に記載の仮想化管理・オーケストレーション装置。
【請求項３】
前記ＶＮＦＤは、前記ＶＭの識別子、および、前記ＶＭの生成前または生成後に生成すべき前記所定の要素の識別子のエントリを有する、
請求項１または２に記載の仮想化管理・オーケストレーション装置。
【請求項４】
前記ＮＦＶＯは、前記ＮＳＤに定義された複数の依存関係の間における制約違反の有無を確認する、
請求項１ないし３のいずれか１項に記載の仮想化管理・オーケストレーション装置。
【請求項５】
前記ＶＮＦＭは、前記ＶＮＦＤに定義された複数の依存関係の間における制約違反の有無を確認する、
請求項１ないし４のいずれか１項に記載の仮想化管理・オーケストレーション装置。
【請求項６】
前記ＶＮＦＭは、前記ＶＮＦＤに定義された複数の依存関係に従ってＶＭと所定の要素を生成する順序を表す複数の生成順序を生成し、生成した複数の生成順序の間で制約違反を生じないように、該複数の生成順序における順序を調整する、
請求項５に記載の仮想化管理・オーケストレーション装置。
【請求項７】
前記ＮＳＤはＶＮＦと他のＶＮＦ、外部ＮＷおよびストレージのうちの少なくともいずれかとの間の生成順序に関する依存関係を定義するエントリを有し、かつ／または、
前記ＶＮＦＤはＶＭと他のＶＭ、外部ＮＷ、ＶＮＦＣ間ＮＷ、ストレージのうちの少なくともいずれかとの間の生成順序に関する依存関係を定義するエントリを有する、
請求項１ないし６のいずれか１項に記載の仮想化管理・オーケストレーション装置。
【請求項８】
ＶＮＦ（Virtualized Network Function）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＮＳＤ（Network Service Descriptor）、および／または、ＶＭ（Virtualized Machine）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＶＮＦＤ（Virtualized Network Function Descriptor）を読み込むステップと、
前記ＮＳＤに従って前記ＶＮＦおよび前記所定の要素を生成し、かつ／または、前記ＶＮＦＤに従って前記ＶＭと前記所定の要素を生成するステップと、を含む、
ことを特徴とする仮想化管理・オーケストレーション方法。
【請求項９】
前記ＮＳＤは、前記ＶＮＦの識別子、および、前記ＶＮＦの生成前または生成後に生成すべき前記所定の要素の識別子のエントリを有する、
請求項８に記載の仮想化管理・オーケストレーション方法。
【請求項１０】
ＶＮＦ（Virtualized Network Function）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＮＳＤ（Network Service Descriptor）、および／または、ＶＭ（Virtualized Machine）と所定の要素との依存関係（dependency）を定義するエントリが設けられたＶＮＦＤ（Virtualized Network Function Descriptor）を読み込む処理と、
前記ＮＳＤに従って前記ＶＮＦおよび前記所定の要素を生成し、かつ／または、前記ＶＮＦＤに従って前記ＶＭと前記所定の要素を生成する処理と、をコンピュータに実行させる、
ことを特徴とするプログラム。
【国際調査報告】
2016121802.tif 000028
2016121802.tif 000029
2016121802.tif 000030
2016121802.tif 000031