(57)【特許請求の範囲】
【請求項１】
ＶＮＦ（Ｖｉｒｔｕａｌｉｚｅｄ  Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ）に必要なハードウェアアクセラレータの条件を示すハードウェアアクセラレータ要件を保持する第１の手段と、
使用可能な複数のハードウェアアクセラレータそれぞれの構成情報を示すハードウェアアクセラレータ構成情報を保持する第２の手段と、
前記ハードウェアアクセラレータ要件と前記ハードウェアアクセラレータ構成情報を参照して、前記複数のハードウェアアクセラレータのうち、ＶＮＦに割り当てるハードウェアアクセラレータを選択する第３の手段と、
を備え、
前記ハードウェアアクセラレータ要件は、ハードウェアアクセラレータを使用する際のプログラムを識別するプログラムＩＤ及びハードウェアアクセラレータの共有が可能か否かを示す第１共有設定を含み、
前記ハードウェアアクセラレータ構成情報は、ハードウェアアクセラレータが利用されているか否かを示す利用状況、ハードウェアアクセラレータにロードされているプログラムを示すローディングＩＤ、ハードウェアアクセラレータにロード可能なプログラムを示すローダブルＩＤ及びハードウェアアクセラレータの共有が可能か否かを示す第２共有設定を含み、
前記第３の手段は、前記第１及び第２共有設定の両方に共有不可が設定されておらず、且つ、少なくともいずれか一方に条件付で共有可能が設定されている場合に、前記ローディングＩＤが、前記プログラムＩＤに一致するハードウェアアクセラレータのなかから、ＶＮＦに割り当てるハードウェアアクセラレータを選択する、制御装置。
【請求項２】
前記ハードウェアアクセラレータ要件は、ＶＮＦがハードウェアアクセラレータに要求する要件を少なくとも含む、請求項１の制御装置。
【請求項３】
前記ＶＮＦがハードウェアアクセラレータに要求する要件は、ＶＮＦがハードウェアアクセラレータの使用を必要とするか否かを示す利用要否、ハードウェアアクセラレータを使用する際のプログラムを識別する情報及びハードウェアアクセラレータの共有が可能か否かを示す共有設定のうち少なくとも１つを含む、請求項２の制御装置。
【請求項４】
前記ハードウェアアクセラレータ構成情報は、ハードウェアアクセラレータを識別するための情報と、ハードウェアアクセラレータの利用状況を示すリソース情報と、を含む、請求項１乃至３のいずれか一項に記載の制御装置。
【請求項５】
前記リソース情報は、ハードウェアアクセラレータが利用されているか否かを示す利用状況、ハードウェアアクセラレータにロードされているプログラムを示す情報、ハードウェアアクセラレータにロード可能なプログラムを示す情報及びハードウェアアクセラレータの共有が可能か否かを示す共有設定のうち少なくとも１つを含む、請求項４の制御装置。
【請求項６】
前記ハードウェアアクセラレータを識別するための情報は、ハードウェアアクセラレータのベンダを識別する情報、デバイスの種別を示す情報及びデバイスを識別するため情報のうち少なくとも１つを含む、請求項４又は５の制御装置。
【請求項７】
前記第３の手段は、前記ハードウェアアクセラレータ要件に含まれる情報の一部を用いて、前記ＶＮＦに割り当てるハードウェアアクセラレータを選択する、請求項１乃至６のいずれか一項に記載の制御装置。
【請求項８】
前記第３の手段が、ＶＮＦに割り当てるハードウェアアクセラレータを複数選択した場合に、前記選択された複数のハードウェアアクセラレータのなかから、選択ポリシに基づいて、ＶＮＦに割り当てるハードウェアアクセラレータを決定する、決定手段をさらに備える、請求項１乃至７のいずれか一項に記載の制御装置。
【請求項９】
前記第３の手段は、前記第１及び第２共有設定の少なくとも一方が共有不可に設定されている場合には、前記共有不可に設定されたハードウェアアクセラレータをＶＮＦに割り当てるハードウェアアクセラレータとして非選択とする、請求項１の制御装置。
【請求項１０】
前記第３の手段は、前記第１及び第２共有設定の両方に共有可が設定されている場合には、前記共有可に設定されているハードウェアアクセラレータのなかから、ＶＮＦに割り当てるハードウェアアクセラレータを選択する、請求項１又は９の制御装置。
【請求項１１】
前記第３の手段は、ＶＮＦをインスタンシエーションする際、又は、ＶＮＦのスケーリングを行う際に、ＶＮＦに割り当てるハードウェアアクセラレータの選択動作を開始する、請求項１乃至１０のいずれか一項に記載の制御装置。
【請求項１２】
ＶＮＦ（Ｖｉｒｔｕａｌｉｚｅｄ  Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ）に必要なハードウェアアクセラレータの条件を示すハードウェアアクセラレータ要件を保持する第１の手段と、
使用可能な複数のハードウェアアクセラレータそれぞれの構成情報を示すハードウェアアクセラレータ構成情報を保持する第２の手段と、
を備える制御装置において、
前記ハードウェアアクセラレータ要件は、ハードウェアアクセラレータを使用する際のプログラムを識別するプログラムＩＤ及びハードウェアアクセラレータの共有が可能か否かを示す第１共有設定を含み、
前記ハードウェアアクセラレータ構成情報は、ハードウェアアクセラレータが利用されているか否かを示す利用状況、ハードウェアアクセラレータにロードされているプログラムを示すローディングＩＤ、ハードウェアアクセラレータにロード可能なプログラムを示すローダブルＩＤ及びハードウェアアクセラレータの共有が可能か否かを示す第２共有設定を含み、
前記ハードウェアアクセラレータ要件と前記ハードウェアアクセラレータ構成情報を参照するステップと、
前記第１及び第２共有設定の両方に共有不可が設定されておらず、且つ、少なくともいずれか一方に条件付で共有可能が設定されている場合に、前記ローディングＩＤが、前記プログラムＩＤに一致するハードウェアアクセラレータのなかから、ＶＮＦに割り当てるハードウェアアクセラレータを選択するステップと、
を含む、ＶＮＦ配置先選択方法。
【請求項１３】
ＶＮＦ（Ｖｉｒｔｕａｌｉｚｅｄ  Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ）に必要なハードウェアアクセラレータの条件を示すハードウェアアクセラレータ要件を保持する第１の手段と、
使用可能な複数のハードウェアアクセラレータそれぞれの構成情報を示すハードウェアアクセラレータ構成情報を保持する第２の手段と、
を備える制御装置を制御するコンピュータに実行させるプログラムであって、
前記ハードウェアアクセラレータ要件は、ハードウェアアクセラレータを使用する際のプログラムを識別するプログラムＩＤ及びハードウェアアクセラレータの共有が可能か否かを示す第１共有設定を含み、
前記ハードウェアアクセラレータ構成情報は、ハードウェアアクセラレータが利用されているか否かを示す利用状況、ハードウェアアクセラレータにロードされているプログラムを示すローディングＩＤ、ハードウェアアクセラレータにロード可能なプログラムを示すローダブルＩＤ及びハードウェアアクセラレータの共有が可能か否かを示す第２共有設定を含み、
前記ハードウェアアクセラレータ要件と前記ハードウェアアクセラレータ構成情報を参照する処理と、
前記第１及び第２共有設定の両方に共有不可が設定されておらず、且つ、少なくともいずれか一方に条件付で共有可能が設定されている場合に、前記ローディングＩＤが、前記プログラムＩＤに一致するハードウェアアクセラレータのなかから、ＶＮＦに割り当てるハードウェアアクセラレータを選択する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ＶＮＦ配置先選択方法及びプログラムに関する。特に、ネットワーク機能仮想化管理オーケストレーションに係る制御装置、ＶＮＦ配置先選択方法及びプログラムに関する。
【背景技術】
【０００２】
サーバ上のハイパーバイザ（ＨｙｐｅｒＶｉｓｏｒ：ＨＶ）等の仮想化レイヤ（Ｖｉｒｔｕａｌｉｚａｔｉｏｎ  Ｌａｙｅｒ）上に実装した仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：ＶＭ）によりネットワーク機器等の機能をソフトウェア的に実現するＮＦＶ（Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎｓ  Ｖｉｒｔｕａｌｉｚａｔｉｏｎ）が知られている（例えば、非特許文献１、２参照）。【０００３】
図２０は、非特許文献１の第２３頁の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 （2016年6月9日検索）＜http://www.etsi.org/deliver/etsi_gs/NFV-MAN/001_099/001/01.01.01_60/gs_NFV-MAN001v010101p.pdf＞
【非特許文献２】ETSI GS NFV-INF 003 V1.1.1 (2014-12)  Network Functions Virtualisation (NFV); Infrastructure; Compute Domain （2016年6月9日検索）＜http://www.etsi.org/deliver/etsi_gs/NFV-INF/001_099/003/01.01.01_60/gs_nfv-inf003v010101p.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【００２９】
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。【００３０】
ＮＦＶの一部機能について、各国の通信事業者（キャリア）での実用化が始まっている。ＮＦＶを導入することで、キャリアネットワーク機能を仮想化し、専用サーバを汎用サーバに置き替えることで各通信キャリアでのコストダウンが期待できる。【００３１】
このような状況の下、欧州電気通信標準化機構（ＥＴＳＩ：European Telecommunications Standards Institute）を中心に、ＮＦＶの本格導入に向けた詳細仕様の検討、即ち、ＮＦＶの標準化が進められている。しかし、ＥＴＳＩによるＮＦＶの標準化では議論が進んでいない領域が存在する。例えば、仮想化環境のネットワークにおいて使用されるサーバ辺りの性能向上（Performance/Powerの向上）を目的として、サーバが担う高負荷処理をハードウェアアクセラレータ（以下、ＨＷＡ（Hardware Accelerator）とも称する）にオフロード（代替処理）する技術の研究開発が進められている。具体的には、非特許文献２の「7.2 Network Interface & Accelerators」においてハードウェアアクセラレータをＮＦＶＩリソースとして扱いうることが記載されている。【００３２】
しかし、非特許文献１及び２では、ハードウェアアクセラレータを利用する際、どのようにしてＨＷＡの仕様を把握するか、どのようしてＨＷＡを管理するかに関する具体的開示がない。そのため、ＮＦＶ環境において、リソースとしてのハードウェアアクセラレータを認識する方法がなく、ハードウェアアクセラレータをＶＮＦの要件として考慮したリソースの割り当て（アサイン）ができないという問題が生じる。【００３３】
本発明は、ハードウェアアクセラレータを使用する仮想化環境ネットワークを提供することに寄与する、制御装置、ＶＮＦ配置先選択方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００３４】
本発明の第１の視点によれば、ＶＮＦ（Ｖｉｒｔｕａｌｉｚｅｄ  Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ）に必要なハードウェアアクセラレータの条件を示すハードウェアアクセラレータ要件を保持する第１の手段と、使用可能な複数のハードウェアアクセラレータそれぞれの構成情報を示すハードウェアアクセラレータ構成情報を保持する第２の手段と、前記ハードウェアアクセラレータ要件と前記ハードウェアアクセラレータ構成情報を参照して、前記複数のハードウェアアクセラレータのうち、ＶＮＦに割り当てるハードウェアアクセラレータを選択する第３の手段と、を備える、制御装置が提供される。【００３５】
本発明の第２の視点によれば、ＶＮＦ（Ｖｉｒｔｕａｌｉｚｅｄ  Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ）に必要なハードウェアアクセラレータの条件を示すハードウェアアクセラレータ要件を保持する第１の手段と、使用可能な複数のハードウェアアクセラレータそれぞれの構成情報を示すハードウェアアクセラレータ構成情報を保持する第２の手段と、を備える制御装置において、前記ハードウェアアクセラレータ要件と前記ハードウェアアクセラレータ構成情報を参照するステップと、前記複数のハードウェアアクセラレータのうち、ＶＮＦに割り当てるハードウェアアクセラレータを選択するステップと、を含む、ＶＮＦ配置先選択方法が提供される。【００３６】
本発明の第３の視点によれば、ＶＮＦ（Ｖｉｒｔｕａｌｉｚｅｄ  Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ）に必要なハードウェアアクセラレータの条件を示すハードウェアアクセラレータ要件を保持する第１の手段と、使用可能な複数のハードウェアアクセラレータそれぞれの構成情報を示すハードウェアアクセラレータ構成情報を保持する第２の手段と、を備える制御装置を制御するコンピュータに実行させるプログラムであって、前記ハードウェアアクセラレータ要件と前記ハードウェアアクセラレータ構成情報を参照する処理と、前記複数のハードウェアアクセラレータのうち、ＶＮＦに割り当てるハードウェアアクセラレータを選択する処理と、を実行させるプログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（non-transient）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００３７】
本発明の各視点によれば、ハードウェアアクセラレータを使用する仮想化環境ネットワークを提供することに寄与する、制御装置、ＶＮＦ配置先選択方法及びプログラムが、提供される。
【図面の簡単な説明】
【００３８】
【図１】第１の実施形態に係る制御装置の構成の一例を示す図である。
【図２】第１の実施形態に係る制御装置の動作の一例を示すフローチャートである。
【図３】第２の実施形態に係るネットワークシステム構成の一例を示す図である。
【図４】第２の実施形態に係るＮＦＶ−ＭＡＮＯを機能の点で説明するための図である。
【図５】ＨＷＡ要件の一例を示す図である。
【図６】ＨＷＡ構成情報の一例を示す図である。
【図７】ＮＦＶ−ＭＡＮＯの動作の一例を示すフローチャートである。
【図８】ＨＷＡ選択部によるハードウェアアクセラレータの利用可否の判断についての動作の一例を示すフローチャートである。
【図９】第２の実施形態の動作を説明するための図である。
【図１０】第２の実施形態に係るＮＦＶ−ＭＡＮＯのハードウェア構成の一例を示すブロック図である。
【図１１】第３の実施形態に係るＨＷＡ要件の一例を示す図である。
【図１２】第３の実施形態に係るＮＦＶ−ＭＡＮＯの動作の一例を示すフローチャートである。
【図１３】第３の実施形態の動作を説明するための図である。
【図１４】第４の実施形態に係るＮＦＶ−ＭＡＮＯを機能の点で説明するための図である。
【図１５】第４の実施形態に係るＨＷＡ要件の一例を示す図である。
【図１６】非特許文献１の「B.3.1.1 VNF Check Feasibility」の「Figure B.8: VNF check feasibility message flow」に本願開示を適用した図である。
【図１７】非特許文献１の「B.4.3 Scaling flow with resource allocation done by NFVO」の「Figure B.12: VNF instance scaling message flow」に本願開示を適用した図である。
【図１８】非特許文献１の「B.4.4.1 Automatic VNF expansion triggered by VNF performance measurement results」の「Figure B.13: Automatic VNF expansion flow triggered by VNF performance measurement results」に、本願開示を適用した図である。
【図１９】非特許文献１の「B.4.4.2 EM initiated VNF expansion」の「Figure B.14: EM initiated VNF expansion flow」に、本願開示を適用した図である。
【図２０】非特許文献１の第２３頁のFigure 5.1(The NFV-MANO architectural framework with reference points)から引用した図である。
【発明を実施するための形態】
【００３９】
［第１の実施形態］
第１の実施形態について、図面を用いてより詳細に説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
【００４０】
図１は、第１の実施形態に係る制御装置１００の構成の一例を示す図である。図１を参照すると、制御装置１００は、第１の手段１０１と、第２の手段１０２と、第３の手段１０３と、を備える。
【００４１】
第１の手段１０１は、ＶＮＦ（Ｖｉｒｔｕａｌｉｚｅｄ  Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎ）に必要なハードウェアアクセラレータの条件を示すハードウェアアクセラレータ要件を保持する。
【００４２】
第２の手段１０２は、使用可能な複数のハードウェアアクセラレータそれぞれの構成情報を示すハードウェアアクセラレータ構成情報を保持する。
【００４３】
第３の手段１０３は、上記ハードウェアアクセラレータ要件とハードウェアアクセラレータ構成情報を参照し、複数のハードウェアアクセラレータのうち、ＶＮＦに割り当てるハードウェアアクセラレータを選択する。
【００４４】
例えば、第１の手段１０１は、ＶＮＦＭ１２又はそのサブモジュールに該当する。第２の手段１０２は、ＶＩＭ１３又はそのサブモジュールに該当する。第３の手段１０３は、ＮＦＶＯ１１又はそのサブモジュールに該当する。
【００４５】
ハードウェアアクセラレータ要件には、ハードウェアアクセラレータを識別するためのＩＤ（Identifier）情報と、ＶＮＦがハードウェアアクセラレータに要求する要件と、が含まれる。
【００４６】
ハードウェアアクセラレータを識別するためのＩＤ情報は、ハードウェアアクセラレータのベンダを識別するベンダＩＤ、デバイスの種別を示すデバイス種別及びデバイスを識別するためのデバイスＩＤのうち少なくとも１つを含む。
【００４７】
ＶＮＦがハードウェアアクセラレータに要求する要件は、ＶＮＦがハードウェアアクセラレータの使用を必要とするのかを示す利用要否、ハードウェアアクセラレータを使用する際のプログラムを識別するプログラムＩＤ及びハードウェアアクセラレータの共有が可能か否かを示す共有設定のうち少なくとも１つを含む。
【００４８】
ハードウェアアクセラレータ構成情報には、ハードウェアアクセラレータを識別するためのＩＤ情報と、ハードウェアアクセラレータの利用状況を示すＨＷＡリソース情報と、が含まれる。
【００４９】
ハードウェアアクセラレータを識別するためのＩＤ情報は、ハードウェアアクセラレータ要件のＩＤ情報と同じとすることができる。
【００５０】
ＨＷＡリソース情報は、ハードウェアアクセラレータが利用されているか否かを示す利用状況、ハードウェアアクセラレータにロードされているプログラムを示すローディングＩＤ、ハードウェアアクセラレータにロード可能なプログラムを示すローダブルＩＤ及びハードウェアアクセラレータの共有が可能か否かを示す共有設定のうち少なくとも１つを含む。
【００５１】
図２は、第１の実施形態に係る制御装置１００の動作の一例を示すフローチャートである。
【００５２】
ＶＮＦの配置が必要となると、第３の手段１０３は、第１の手段１０１が保持するハードウェアアクセラレータ要件と、第２の手段１０２が保持するハードウェアアクセラレータ構成情報と、を参照する（ステップＳ０１）。
【００５３】
その後、第３の手段１０３は、上記参照した２つの情報に基づいて、ＶＮＦに割り当てるリソース（ハードウェアアクセラレータ）を選択する（ステップＳ０２）。
【００５４】
以上のように、第１の実施形態に係る制御装置１００は、ＶＮＦがハードウェアアクセラレータを利用するために必要な情報であって、ＶＮＦが使用するハードウェアアクセラレータを把握するための情報（ハードウェアアクセラレータ要件）と、ＮＦＶＩリソースとしてハードウェアアクセラレータを管理するための情報（ハードウェアアクセラレータ構成情報）と、を保持する。制御装置１００は、これらの情報を用いて、ＶＮＦに割り当てるハードウェアアクセラレータを選択する。その結果、制御装置１００は、ＮＦＶ環境において、ハードウェアアクセラレータを考慮したリソース選定を行うことができる。
【００５５】
上記ハードウェアアクセラレータ要件とハードウェアアクセラレータ構成情報を定義することで、マルチベンダのハードウェアアクセラレータをＮＦＶＩリソースとして配置し、ハードウェアアクセラレータ要件に応じて適切なハードウェアアクセラレータをＶＮＦに割り当てることが可能となり、ＮＦＶ環境におけるハードウェアアクセラレーションが実現できる。
【００５６】
［第２の実施形態］
続いて、第２の実施形態について図面を参照して詳細に説明する。
【００５７】
図３は、第２の実施形態に係るネットワークシステム構成の一例を示す図である。図３を参照すると、ネットワークシステムは、ＮＦＶオーケストレータ（ＮＦＶＯ）１１と、ＶＮＦマネージャ（ＶＮＦＭ）１２と、仮想化インフラストラクチャマネージャ（ＶＩＭ）１３と、からなるネットワーク機能仮想化管理オーケストレーション装置（ＮＦＶ−ＭＡＮＯ；制御装置又は仮想化制御装置とも称する）１０を含む。
【００５８】
ＮＦＶＯ１１、ＶＮＦＭ１２及びＶＩＭ１３は、ネットワークシステムの管理を行う機能エンティティである。ＶＩＭ１３はＮＦＶＯ１１、ＶＮＦＭ１２からの制御により物理マシン（ＰＭ）上に仮想マシン（ＶＭ）及びＶＮＦを生成する。
【００５９】
また、ネットワークシステムは、物理マシン（ＰＭ）２０とＯＳＳ／ＢＳＳ３０を含み、物理マシン２０には、ＮＦＶＩ２１が含まれ、ＮＦＶＩ２１上にはＶＮＦ２２、ＥＭＳ２３が構成される。
【００６０】
図３に示すネットワークシステムは、物理マシン２０上に構成される仮想マシン（ＶＭ）においてソフトウェア的に実現される仮想サーバ（ＶＮＦ２２）により通信機能を提供するものである。
【００６１】
物理マシン２０は、コンピューティング、ストーレッジ及びネットワークに加え、ハードウェアアクセラレータをハードウェア資源として含む。ＮＦＶＩ２１は、上記ハードウェアアクセラレータを含むハードウェア資源をハイパーバイザ等の仮想化レイヤで仮想化した仮想化ハードウェア資源を扱う基盤である。
【００６２】
なお、図３には１台の物理マシン２０を図示しているが、実際には複数の物理マシン２０がネットワークシステムに含まれる。また、各物理マシン２０は、コンピューティング等を少なくとも１以上備えることができる。例えば、物理マシン２０は、複数のハードウェアアクセラレータを搭載することができる。
【００６３】
図３に示す構成は例示であって、ＮＦＶ−ＭＡＮＯ１０の構成を限定する趣旨ではない。例えば、ＶＮＦＭ１２とＶＩＭ１３は、多対多の関係を有することができる。つまり、複数のＶＩＭ１３に共通するＶＮＦＭ１２を設けてもよいし、複数のＶＩＭ１３それぞれに対応させてＶＮＦＭ１２を設けてもよい。あるいは、１つのＶＩＭ１３に対して複数のＶＮＦＭ１２を接続する構成であってもよいし、１つのＶＮＦＭ１２に複数のＶＩＭ１３を接続する構成であってもよい。
【００６４】
ＮＦＶＯ１１は、ＮＦＶＩ２１のリソースのオーケストレーション、及び、ネットワークサービス（Ｎｅｔｗｏｒｋ  Ｓｅｒｖｉｃｅ：ＮＳ）インスタンスのライフサイクル管理（ＮＳインスタンスのインスタンシエーション（Ｉｎｓｔａｎｔｉａｔｉｏｎ）、スケーリング（Ｓｃａｌｉｎｇ）、ターミネーション（Ｔｅｒｍｉｎａｔｉｏｎ）、更新（Ｕｐｄａｔｅ）等）を行う。
【００６５】
ＶＮＦＭ１２は、ＶＮＦインスタンスのライフサイクル管理（例えばインスタンシエーション（ｉｎｓｔａｎｔｉａｔｉｏｎ）、更新（ｕｐｄａｔｅ）、クエリ（ｑｕｅｒｙ）、スケーリング（ｓｃａｌｉｎｇ）、停止（ｔｅｒｍｉｎａｔｉｏｎ）等）およびイベント通知を行う。
【００６６】
ＶＩＭ１３は、ＮＦＶＩ２１のコンピューティング、ストーレッジ、ネットワーク、ハードウェアアクセラレータのリソース管理、ＮＦＶＩ２１の障害監視、ＮＦＶＩ２１のリソース監視等を行う。
【００６７】
図４は、第２の実施形態に係るＮＦＶ−ＭＡＮＯ１０を機能の点で説明するための図である。図４を参照すると、ＮＦＶＯ１１は、ＨＷＡ選択部２０１を含んで構成される。
【００６８】
ＨＷＡ選択部２０１は、ハードウェアアクセラレータ要件（以下、ＨＷＡ要件と表記する）とハードウェアアクセラレータ構成情報（以下、ＨＷＡ構成情報と表記する）を参照し、システムに含まれる複数のハードウェアアクセラレータのうち、ＶＮＦ２２に割り当てるハードウェアアクセラレータを選択する手段である。より具体的には、ＨＷＡ選択部２０１は、ＮＳインスタンスのライフサイクル管理（例えば、ＮＳインスタンスのインスタンシエーション、スケーリング等）におけるリソースの新規割り当てや、変更時にＶＮＦ２２に割り当てるハードウェアアクセラレータを選択する。
【００６９】
ＶＮＦＭ１２は、ＨＷＡ要件管理部２１１を含んで構成される。
【００７０】
ＨＷＡ要件管理部２１１は、ＨＷＡ要件を保持、管理するための手段である。ＨＷＡ要件とは、ＶＮＦ２２に必要なハードウェアアクセラレータの条件を示す情報である。ＨＷＡ要件を参照することで、ＶＮＦ２２が必要とするハードウェアアクセラレータを特定することができる。
【００７１】
図５は、ＨＷＡ要件の一例を示す図である。図５を参照すると、ＨＷＡ要件には、ＶＮＦ２２を特定する情報と、ハードウェアアクセラレータを識別するためのＨＷＡ識別情報（以下、ＨＷＡＩＤと表記する）と、ＶＮＦ２２がハードウェアアクセラレータに要求する要件（利用要件）と、を１組とする情報が含まれる。
【００７２】
ＨＷＡＩＤには、「ベンダＩＤ」、「デバイスタイプ」及び「デバイスＩＤ」等を用いることができる。
【００７３】
ベンダＩＤは、ハードウェアアクセラレータのベンダを識別するＩＤ情報である。
【００７４】
デバイスタイプは、ハードウェアアクセラレータの実装位置やネットワークインターフェイスの有無等を識別するＩＤ情報である。例えば、デバイスタイプには、ハードウェアアクセラレータがＳｏＣ（System On a Chip）、ＮＩＣ（Network Interface Card）、ＰＣＩ（Peripheral Component Interconnect）デバイス等であることが分かる情報が用いられる。
【００７５】
デバイスＩＤは、各デバイス（ハードウェアアクセラレータ）を個別に識別可能なＩＤ情報である。デバイスＩＤには、各ハードウェアアクセラレータの型番、シリアルナンバー等を用いることができる。
【００７６】
利用要件には、「利用要否」、「プログラムＩＤ」及び「共有設定」が含まれる。
【００７７】
利用要否は、ＶＮＦ２２がハードウェアアクセラレータの利用を必要とするか否かを示す情報である。なお、図５以降の図面において、ＶＮＦ２２がハードウェアアクセラレータの利用を必要とする場合には「○」と表記し、必要としない場合には「×」と表記する。
【００７８】
プログラムＩＤは、ＶＮＦ２２のプログラム（アプリケーション）のなかでハードウェアアクセラレータを使用するプログラムのＩＤ情報である。
【００７９】
共有設定は、他のＶＮＦ２２との間でハードウェアアクセラレータを共有することが可能か否かを示す情報である。共有設定には、他のＶＮＦ２２との共有が可能であること、他のＶＮＦ２２との共有が条件付で可能であること、他のＶＮＦ２２との共有が不可能であること、が設定されうる。なお、図５以降の説明において、共有が可能である場合には「○」、条件付で共有可能である場合には「△」、共有が不可である場合には「×」と表記する。条件付で共有が可能である場合の一例として、同じプログラムがハードウェアアクセラレータを使用する場合が挙げられる。
【００８０】
図５の１行目は、ＶＮＦ＿１は、ベンダＩＤが「Ａ」、デバイスタイプが「ａａａ」、デバイスＩＤが「１」のハードウェアアクセラレータの利用を必要とすることを示す。また、同行は、ＶＮＦ＿１は、プログラムＩＤが「Ｐ１」であるプログラムにて上記ハードウェアアクセラレータを使用し、その際、他のＶＮＦ２２との共有が可能であることを示す。
【００８１】
なお、ネットワーク管理者等は、ネットワークの運用開始時、あるいは、任意のタイミングにて、ＨＷＡ要件をＮＦＶ−ＭＡＮＯ１０に設定する。例えば、ネットワーク管理者は、ＶＤＵＤ（ＶＤＵ  Ｄｅｓｃｒｉｐｔｏｒ）等のＶＮＦ２２のデプロイに必要な要件や制約条件を記述したテンプレートに定義することで、ＨＷＡ要件をＮＦＶ−ＭＡＮＯ１０（ＶＮＦＭ１２）に設定できる。
【００８２】
ＶＩＭ１３は、ＨＷＡ構成管理部２２１を含んで構成される。
【００８３】
ＨＷＡ構成管理部２２１は、ＨＷＡ構成情報を保持、管理するための手段である。ＨＷＡ構成情報とは、システムに含まれる複数のハードウェアアクセラレータそれぞれの構成情報を示す情報である。ＶＩＭ１３は、配下の物理マシン２０に搭載されたハードウェアアクセラレータを管理するためのＨＷＡ構成情報を保有する。
【００８４】
図６は、ＨＷＡ構成情報の一例を示す図である。図６を参照すると、ＨＷＡ構成情報には、物理マシン２０を特定する情報と、ハードウェアアクセラレータを識別するためのＨＷＡ識別情報（上述のＨＷＡＩＤ）と、ハードウェアアクセラレータの利用状況を示すＨＷＡリソース情報と、を１組とする情報が含まれる。
【００８５】
ＨＷＡリソース情報は、ハードウェアアクセラレータが利用できる状況か否かを判断するために使用される。
【００８６】
ＨＷＡリソース情報には、「利用状況」、「ローディングＩＤ」、「ローダブルＩＤ」及び「共有設定」が含まれる。
【００８７】
利用状況は、ＶＦ（仮想機能）やＰＦ（物理機能）単位にて、ハードウェアアクセラレータが現状使用されているか（Attachされているか）否かを示す情報である。例えば、利用状況には、ハードウェアアクセラレータの使用率を用いることができる。具体的には、ハードウェアアクセラレータにて実行可能なプログラム（プロセス）の総数に対する現在実行されているプログラム（プロセス）の数を利用状況として用いることができる。あるいは、利用状況には、ハードウェアアクセラレータがＮＩＣであって、通信帯域の測定等が可能であれば、帯域を利用状況とすることもできる。
【００８８】
ローディングＩＤは、ハードウェアアクセラレータに書き込まれているプログラム（ハードウェアアクセラレータにて実行されているプログラム）に関するＩＤ情報である。
【００８９】
ローダブルＩＤは、ハードウェアアクセラレータに書き込む事ができるプログラムに関するＩＤ情報である。
【００９０】
共有設定については、上述のとおりである。
【００９１】
例えば、図６の１行目は、当該ハードウェアアクセラレータは、プログラムＩＤが「Ｐ１」及び「Ｐ２」であるプログラムの実行が可能であるが、２つのプログラムを同時に実行することはできない（共有不可）ことを示す。また、同行は、当該ハードウェアアクセラレータの現状は、プログラムＩＤが「Ｐ１」のプログラムが実行され、その使用率が１／１２であることを示す。
【００９２】
図６の２行目は、当該ハードウェアアクセラレータは、プログラムＩＤが「Ｐ１」及び「Ｐ２」であるプログラムの実行が可能であり、且つ、プログラムＩＤ「Ｐ１」のプログラムが実行中であることを示す。また、同行では、共有設定が「条件付で共有可能」に設定され、且つ、リソースに余裕がある（使用率が１００％ではない）ので、ハードウェアアクセラレータにロードするプログラムが「Ｐ１」であれば他のＶＮＦ２２に割り当て可能であることを示す。
【００９３】
ＨＷＡ構成管理部２２１は、コンピューティング等の他のＮＦＶＩリソース情報の管理と同様に、ＨＷＡ構成情報を管理する。より具体的には、ＶＩＭ１３が有するＰＭ管理情報に上記ＨＷＡ構成情報を追加することで、ＨＷＡ構成情報は管理される。
【００９４】
ＨＷＡ構成管理部２２１は、ハードウェアアクセラレータの利用状況が変化するたびに、ＨＷＡ構成情報のＨＷＡリソース情報を更新する。
【００９５】
ＮＦＶ−ＭＡＮＯ１０（ＶＩＭ１３）にＨＷＡ構成情報を設定する際には、ＶＩＭ１３で管理するフレーバを使用する。具体的には、物理マシン２０のリソース情報をＮＦＶ−ＭＡＮＯ１０に登録する際に使用するフレーバにＨＷＡ構成情報も含ませることで、ＨＷＡ構成情報をＶＩＭ１３に設定する。
【００９６】
なお、図５及び図６を用いてＨＷＡ要件やＨＷＡ構成情報の内容を説明したが、これらの情報に含まれる要素を限定する趣旨ではない。ＨＷＡ要件やＨＷＡ構成情報には、図５や図６に図示していない要素が含まれてもよい。例えば、ハードウェアアクセラレータを識別するための情報（ＨＷＡＩＤ）として、上記「ローダブルＩＤ」を使用してもよい。
【００９７】
次に、ＮＦＶ−ＭＡＮＯ１０の動作について説明する。
【００９８】
図７は、ＮＦＶ−ＭＡＮＯ１０の動作の一例を示すフローチャートである。図７のフローチャートは、ＮＦＶＯ１１がＶＩＭ１３にリソース確認（Ｃｈｅｃｋ  Ｒｅｓｏｕｒｃｅ）する際に付随する動作を示す。
【００９９】
ＶＮＦ２２のインスタンシエーション等においてＶＩＭ１３にリソース確認する際、ＨＷＡ選択部２０１（ＮＦＶＯ１１）は、ＶＮＦＭ１２からＨＷＡ要件を取得する。ＨＷＡ要件の取得（情報の交換）には、参照ポイントＯｒ−Ｖｎｆｍが使用される。
【０１００】
ＨＷＡ選択部２０１は、インスタンシエーション等を行うＶＮＦ２２に関する、ハードウェアアクセラレータの利用要否を判定する（ステップＳ１０１）。具体的には、ＨＷＡ選択部２０１は、ＨＷＡ要件におけるＶＮＦ２２の利用要件に含まれる「利用要否」を確認する。確認の結果、ハードウェアアクセラレータの利用が必要である場合（ステップＳ１０１、Ｙｅｓ分岐）、ステップＳ１０２以降の処理が実行される。確認の結果、ハードウェアアクセラレータの利用が不要である場合（ステップＳ１０１、Ｎｏ分岐）、図７に示す処理は終了し、ＮＦＶＯ１１による通常のリソースチェックが実施される。
【０１０１】
ステップＳ１０２において、ＨＷＡ選択部２０１は、ＶＩＭ１３からＨＷＡ構成情報を取得する。複数のＶＩＭ１３が存在する場合には、ＨＷＡ選択部２０１は、１つのＶＩＭ１３を指定してＨＷＡ構成情報を取得する。ＨＷＡ構成情報の取得（情報の交換）には、参照ポイントＯｒ−Ｖｉが使用される。
【０１０２】
ステップＳ１０３において、ＨＷＡ選択部２０１は、ＨＷＡ要件のＨＷＡＩＤとＨＷＡ構成情報のＨＷＡＩＤを比較し、両者が一致するか否かを判定する。一致する場合（ステップＳ１０３、Ｙｅｓ分岐）、ステップＳ１０４以降の処理が実行される。一致しない場合（ステップＳ１０３、Ｎｏ分岐）、ステップＳ１０７に遷移する。
【０１０３】
ステップＳ１０４において、ＨＷＡ選択部２０１は、ＨＷＡ要件の利用要件に含まれるプログラムＩＤが、ＨＷＡ構成情報のローダブルＩＤに含まれているか否かを判定する。プログラムＩＤがローダブルＩＤに含まれる場合（ステップＳ１０４、Ｙｅｓ分岐）、ステップＳ１０５以降の処理が実行される。プログラムＩＤがローダブルＩＤに含まれない場合（ステップＳ１０４、Ｎｏ分岐）、ステップＳ１０７に遷移する。
【０１０４】
ステップＳ１０５において、ＨＷＡ選択部２０１は、ＨＷＡ要件により指定されるＶＮＦ２２が、ＨＷＡ構成情報のハードウェアアクセラレータを利用できるか否かを判定する。利用可能の場合（ステップＳ１０５、Ｙｅｓ分岐）、ステップＳ１０６以降の処理が実行される。利用不可能な場合（ステップＳ１０５、Ｎｏ分岐）、ステップＳ１０７に遷移する。ＨＷＡ選択部２０１によるハードウェアアクセラレータの利用可否に関する詳細は、図８を用いて後述する。
【０１０５】
ステップＳ１０６において、ＨＷＡ選択部２０１は、利用可能なハードウェアアクセラレータ及び当該ハードウェアアクセラレータを含む物理マシン２０をＶＮＦ２２のデプロイ候補先として保管する。
【０１０６】
ステップＳ１０７において、ＨＷＡ選択部２０１は、全てのＨＷＡ構成情報とＨＷＡ要件の比較が終了したか否かを判定する。比較が終了していないＨＷＡ構成情報がある場合には（ステップＳ１０７、Ｎｏ分岐）、ＨＷＡ選択部２０１は、残りのＨＷＡ構成情報を取得（ステップＳ１０８）し、ステップＳ１０３以降の処理を繰り返す。比較が終了している場合（ステップＳ１０７、Ｙｅｓ分岐）、ＨＷＡ選択部２０１は、図７に示す処理を終了する。
【０１０７】
図７に示す処理が終了すると、ＮＦＶＯ１１は、ステップＳ１０６にて保管したデプロイ候補先の物理マシン２０を対象として通常のリソースチェックを実施する。
【０１０８】
次に、図８を参照しつつ、ＨＷＡ選択部２０１によるハードウェアアクセラレータの利用可否の判断についての動作を説明する。
【０１０９】
ステップＳ２０１において、ＨＷＡ選択部２０１は、ＨＷＡ構成情報のＨＷＡリソース情報に含まれる「利用状況」を確認し、ハードウェアアクセラレータが使用中か否かを判定する。具体的には、ＨＷＡ選択部２０１は、ＨＷＡリソース情報の利用状況において、当該ハードウェアアクセラレータの使用率が「０」であるか否かによりハードウェアアクセラレータが使用中か否かを判定する。ハードウェアアクセラレータが使用中でなければ（ステップＳ２０１、Ｎｏ分岐）、ハードウェアアクセラレータは利用可能と判定される。ハードウェアアクセラレータが使用中であれば（ステップＳ２０１、Ｙｅｓ分岐）、ステップＳ２０２以降の処理が実行される。
【０１１０】
ステップＳ２０２において、ＨＷＡ構成情報とＨＷＡ要件の共有設定が確認され、少なくとも一方が「共有不可」であるか否かが判定される。少なくとも一方が共有不可である場合（ステップＳ２０２、Ｙｅｓ分岐）には、ハードウェアアクセラレータは利用不可と判定される。少なくとも一方が共有不可ではない場合（ステップＳ２０２、Ｎｏ分岐）には、ステップＳ２０３以降の処理が実行される。この場合、ＨＷＡ構成情報とＨＷＡ要件の共有設定は、「共有可能」及び「条件付で共有可能」のいずれかである。
【０１１１】
ステップＳ２０３において、ＨＷＡ構成情報とＨＷＡ要件の共有設定が確認され、両者が「共有可」であるか否かが判定される。両者が「共有可」である場合（ステップＳ２０３、Ｙｅｓ分岐）には、ステップＳ２０５の処理が実行される。両者が「共有可」ではない場合（ステップＳ２０３、Ｎｏ分岐）には、ステップＳ２０４以降の処理が実行される。この場合、ＨＷＡ構成情報及びＨＷＡ要件の少なくとも一方の共有設定には、「条件付で共有可能」が含まれる。
【０１１２】
ステップＳ２０４において、ＨＷＡ構成情報のＨＷＡリソース情報に含まれる「ローディングＩＤ」とＨＷＡ要件の利用要件に含まれる「プログラムＩＤ」が比較され、両者が同じか否か判定される。両者が同じであれば（ステップＳ２０４、Ｙｅｓ分岐）、ステップＳ２０５の処理が実行される。両者が異なれば（ステップＳ２０４、Ｎｏ分岐）、ハードウェアアクセラレータは利用不可と判定される。
【０１１３】
ステップＳ２０５においてＨＷＡ選択部２０１は、ハードウェアアクセラレータのリソースに空きがあるか否かを判定する（ハードウェアアクセラレータに実行余力があるか否かを判定する）。ＨＷＡ選択部２０１は、ＨＷＡリソース情報の利用状況（使用率）に対して閾値処理を施すことで、ハードウェアアクセラレータの実行余力を判定することができる。例えば、ＨＷＡ選択部２０１は、ハードウェアアクセラレータの使用率が５０％以下であれば、当該ハードウェアアクセラレータのリソースに空きがあると判定する。ハードウェアアクセラレータのリソースに空きがあれば（ステップＳ２０５、Ｙｅｓ分岐）、ハードウェアアクセラレータは利用可能と判定される。ハードウェアアクセラレータのリソースに空きがなければ（ステップＳ２０５、Ｎｏ分岐）、ハードウェアアクセラレータは利用不可と判定される。
【０１１４】
以上が、図７に示すステップＳ１０５に係る処理の詳細である。
【０１１５】
次に、図７及び図８の動作を、図９を用いて具体的に説明する。
【０１１６】
ＶＩＭ１３に保持されているＨＷＡ構成情報は、図９（ａ）のとおりであるとする。この状態において、図９（ｂ）に示すＨＷＡ要件のＶＮＦ＿１のインスタンシエーション等が要求された場合を考える。
【０１１７】
ＨＷＡ要件の利用要件に含まれる「利用要否」はハードウェアアクセラレータの使用を要求するものであるので、ＨＷＡ要件とＨＷＡ構成情報のマッチングが行われる。
【０１１８】
図９（ａ）に示すＰＭ＿１に含まれる２つのハードウェアアクセラレータのうち、１行目のハードウェアアクセラレータ（デバイス種別が１）のＨＷＡＩＤとＨＷＡ要件のＨＷＡＩＤが一致する。また、ＰＭ＿１の１行目のハードウェアアクセラレータのローダブルＩＤには、ＨＷＡ要件のプログラムＩＤ「Ｐ１」が含まれる。そのため、当該ハードウェアアクセラレータの利用可否（図７のステップＳ１０５）が判定されるが、ＰＭ＿１のＨＷＡ構成情報における共有設定が「共有不可」であるので、ＰＭ＿１は図９（ｂ）に示すＶＮＦ＿１の配置先候補に選択されない。
【０１１９】
ＰＭ＿２に含まれる３つのハードウェアアクセラレータのうち、図９（ａ）の３行目のハードウェアアクセラレータのＨＷＡＩＤとＨＷＡ要件のＨＷＡＩＤが一致する。また、当該ハードウェアアクセラレータのローダブルＩＤとＨＷＡ要件のプログラムＩＤは、「Ｐ１」で一致する。そのため、当該ハードウェアアクセラレータの利用可否が判定される。ＰＭ＿２の３行目の共有設定を確認すると当該設定は、「条件付で共有可能」となっている。「条件付で共有可能」の場合には、ハードウェアアクセラレータを使用するプログラムが一致すれば、当該ハードウェアアクセラレータは利用可能である。図９（ｂ）のプログラムＩＤとローディングＩＤは共に「Ｐ１」で一致し、ハードウェアアクセラレータのリソースに空きもあるので、ＰＭ＿２は図９（ｂ）に示すＶＮＦ＿１の配置先候補に選択される。
【０１２０】
ＰＭ＿３に含まれるハードウェアアクセラレータのＨＷＡＩＤとＨＷＡ要件のＨＷＡＩＤは一致しないので、ＰＭ＿３はＶＮＦ＿１の配置先候補に選択されない。
【０１２１】
次に、ＨＷＡ要件が図９（ｃ）の場合を考える。
【０１２２】
図９（ｂ）と図９（ｃ）に示すＨＷＡ要件の相違点は、利用要件に含まれる「プログラムＩＤ」が異なる点である。
【０１２３】
図９（ｃ）に示すＨＷＡ要件の場合は、ＰＭ＿１及びＰＭ＿３はＶＮＦ＿２の配置先候補として選択されない。ＰＭ＿１に関しては、ＨＷＡ構成情報の共有設定が「共有不可」であることや、ＨＷＡＩＤが異なるためである。ＰＭ＿３に関しては、ＨＷＡＩＤが一致しないためである。
【０１２４】
ＰＭ＿２に関し、図９（ａ）の３行目に示すハードウェアアクセラレータにおける共有設定は「条件付で共有可能」となっている。「条件付で共有可能」の場合には、ハードウェアアクセラレータを使用するプログラムが一致すれば、当該ハードウェアアクセラレータは利用可能である。しかし、図９（ａ）に示すＰＭ＿２の３行目のハードウェアアクセラレータのＨＷＡリソース情報に含まれるローディングＩＤと図９（ｃ）に示すプログラムＩＤは一致しないので、ＰＭ＿２は図９（ｃ）に示すＶＮＦ＿２の配置先候補に選択されない。
【０１２５】
次に、図３のネットワークシステムをなす各装置のハードウェアついて説明する。
【０１２６】
図１０は、第２の実施形態に係るＮＦＶ−ＭＡＮＯ１０のハードウェア構成の一例を示すブロック図である。ＮＦＶ−ＭＡＮＯ１０は、情報処理装置（コンピュータ）により構成可能であり、図１０に例示する構成を備える。例えば、ＮＦＶ−ＭＡＮＯ１０は、内部バスにより相互に接続される、ＣＰＵ（Central Processing Unit）４１、メモリ４２、入出力インターフェイス４３及び通信手段であるＮＩＣ（Network Interface Card）４４等を備える。
【０１２７】
なお、図１０に示す構成は、ＮＦＶ−ＭＡＮＯ１０のハードウェア構成を限定する趣旨ではない。ＮＦＶ−ＭＡＮＯ１０は、図示しないハードウェアを含んでもよい。あるいは、ＮＦＶ−ＭＡＮＯ１０に含まれるＣＰＵ等の数も図１０の例示に限定する趣旨ではなく、例えば、複数のＣＰＵがＮＦＶ−ＭＡＮＯ１０に含まれていてもよい。
【０１２８】
メモリ４２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、補助記憶装置（ハードディスク等）である。
【０１２９】
入出力インターフェイス４３は、図示しない表示装置や入力装置のインターフェイスとなる手段である。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置である。
【０１３０】
なお、上記ＮＦＶ−ＭＡＮＯ１０の各処理モジュールは、例えば、メモリ４２に格納されたプログラムをＣＰＵ４１が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能を何らかのハードウェア、及び／又は、ソフトウェアで実行する手段があればよい。
【０１３１】
図３に図示する物理マシン２０のハードウェア構成も上記ＮＦＶ−ＭＡＮＯ１０の構成と基本的に同じであり、当業者にとって明らかなものであるため、その説明を省略する。
【０１３２】
以上のように、第２の実施形態に係るＮＦＶ−ＭＡＮＯ１０は、ＨＷＡ要件及びＨＷＡ構成情報を参照し、複数のハードウェアアクセラレータのなかからＨＷＡ要件を満たすハードウェアアクセラレータを選択し、当該選択されたハードウェアアクセラレータを含む物理マシン２０をＶＮＦ２２の配置先候補として選択する。その結果、ハードウェアアクセラレータをＮＦＶＩリソースの一部として扱うことが可能となり、ＮＦＶ環境におけるハードウェアアクセラレーションが実現できる。
【０１３３】
［第３の実施形態］
続いて、第３の実施形態について図面を参照して詳細に説明する。
【０１３４】
第２の実施形態では、ＨＷＡ要件に含まれるＨＷＡＩＤを用いて、ＶＮＦ２２の配置先候補となる物理マシン２０を選択する場合について説明した。第３の実施形態では、ＨＷＡＩＤを使用せず、ＶＮＦ２２の配置先候補を選択する場合について説明する。なお、ネットワーク構成や機能構成等は、第２の実施形態と同様とすることができるので、図３や図４に相当する説明を省略する。
【０１３５】
図１１は、第３の実施形態に係るＨＷＡ要件の一例を示す図である。図１１を参照すると、第３の実施形態に係るＨＷＡ要件にはＨＷＡＩＤが記載されていない。
【０１３６】
図１２は、第３の実施形態に係るＮＦＶ−ＭＡＮＯ１０の動作の一例を示すフローチャートである。図１２と図７に示すフローチャートの同一の処理には同じステップ名を付している。図１２と図７に示すフローチャートの相違点は、ステップＳ１０３に係るＨＷＡＩＤの判定処理が存在しない点である。
【０１３７】
当該判定処理が存在しなくとも、第３の実施形態に係るＨＷＡ選択部２０１は、ハードウェアアクセラレータの機能によりＶＮＦ２２の配置先候補となる物理マシン２０を選択できる。具体的には、ＨＷＡ選択部２０１は、複数のＨＷＡ構成情報のなかから、ＨＷＡ要件のプログラムＩＤに一致するローダブルＩＤを有するＨＷＡ構成情報を選択することで、ＶＮＦ２２の配置先候補となる物理マシン２０を選択できる。
【０１３８】
次に、図面を参照しつつ、第３の実施形態の動作を説明する。
【０１３９】
ＶＩＭ１３に保持されているＨＷＡ構成情報は、図１３（ａ）のとおりであるとする。この状態において、図１３（ｂ）に示すＨＷＡ要件のＶＮＦ＿３のインスタンシエーション等が要求された場合を考える。
【０１４０】
この場合、図１３（ａ）に示す６個のハードウェアアクセラレータのうち、５行目のハードウェアアクセラレータを除くハードウェアアクセラレータは、プログラムＩＤが「Ｐ１」であるプログラムを搭載可能であるので、ＶＮＦ＿３に割り当てことができる可能性がある。
【０１４１】
図１３（ａ）に示す１行目のハードウェアアクセラレータは、ＨＷＡリソース情報の共有設定が「共有不可」であって、既にプログラムＩＤ「Ｐ１」のプログラムが実行されているので、この点では、ＰＭ＿１はＶＮＦ＿３の配置先候補とならない。
【０１４２】
２行目のハードウェアアクセラレータは、共有設定が「条件付で共有可能」、且つ、ローディングＩＤとプログラムＩＤが一致する。また、当該ハードウェアアクセラレータのリソースには空きがあると判定され得る。従って、ＰＭ＿１はＶＮＦ＿３の配置先候補となる。
【０１４３】
３行目のハードウェアアクセラレータは、共有設定が「条件付で共有可能」、且つ、ローディングＩＤとプログラムＩＤが一致する。また、当該ハードウェアアクセラレータのリソースには空きがあると判定され得る。従って、ＰＭ＿２はＶＮＦ＿３の配置先候補となる。
【０１４４】
なお、４行目のハードウェアアクセラレータは、プログラムＩＤが「Ｐ１」のプログラムがロード可能（ローダブルＩＤに「Ｐ１」が含まれる）、且つ、当該ハードウェアアクセラレータは使用されていないので、ＰＭ＿２はＶＮＦ＿３の配置先候補となる。
【０１４５】
６行目のハードウェアアクセラレータは、プログラムＩＤが「Ｐ１」のプログラムのロードが可能であり、且つ、共有設定が「共有可能」でるあるため、ＰＭ＿３はＶＮＦ＿２の配置先候補となり得る。
【０１４６】
このように、ＨＷＡ要件のうちの一部情報を用いて（ＨＷＡＩＤを非使用として）、ＶＮＦ２２に割り当てるリソース（ハードウェアアクセラレータ）を選定することができる。つまり、ＨＷＡ要件やＨＷＡ構成情報のうち、デバイスを指定する情報（ＨＷＡＩＤ）を使用しなくとも、ハードウェアアクセラレータの機能（利用要件）を用いて、ＶＮＦ２２に割り当てるハードウェアアクセラレータを選定することができる。
【０１４７】
以上のように、ＨＷＡＩＤを使用しなくとも（デバイスを指定しなくとも）、適切なハードウェアアクセラレータを有する物理マシン２０をＶＮＦ２２の配置先候補として選択することができる。
【０１４８】
［第４の実施形態］
続いて、第４の実施形態について図面を参照して詳細に説明する。
【０１４９】
第１〜第３の実施形態では、ＶＮＦ２２の配置先候補を選択した後の動作については言及していない。第４の実施形態では、複数の配置先候補を選択した後のＮＦＶ−ＭＡＮＯ１０の動作について説明する。
【０１５０】
図１４は、第４の実施形態に係るＮＦＶ−ＭＡＮＯ１０を機能の点で説明するための図である。図４と図１４に示すＮＦＶ−ＭＡＮＯ１０の相違点は、ＮＦＶＯ１１に配置先決定部２０２が含まれる点である。
【０１５１】
配置先決定部２０２は、ＨＷＡ選択部２０１が選択した複数のリソース（ハードウェアアクセラレータ）のなかから、後述する選択ポリシを参照し、実際にＶＮＦ２２を配置するリソースを決定する手段である。上記選択ポリシは、ＶＮＦＭ１２が管理するＨＷＡ要件に設定することができる。
【０１５２】
図１５は、第４の実施形態に係るＨＷＡ要件の一例を示す図である。図１５を参照すると、選択ポリシとして、「ポリシなし（None）」、「集中（Centralization）」、「分散（Decentralization）」等が設定可能である。
【０１５３】
選択ポリシとして「ポリシなし」が設定されている場合には、配置先決定部２０２は、ＶＮＦ２２を任意の配置先候補に配置する。例えば、配置先決定部２０２は、最初に選択されたハードウェアアクセラレータ（リソース）を含む物理マシン２０にＶＮＦ２２を配置する。
【０１５４】
選択ポリシとして「集中」が設定されている場合には、配置先決定部２０２は、既に使用されているハードウェアアクセラレータ、又は、使用率（利用状況）の高いハードウェアアクセラレータを優先的にＶＮＦ２２に割り当てる。但し、同程度の使用率のハードウェアアクセラレータが複数存在する場合には、配置先決定部２０２は、複数のハードウェアアクセラレータのなかで選択された順にＶＮＦ２２に割り当てる。
【０１５５】
選択ポリシとして「分散」が設定されている場合には、配置先決定部２０２は、未使用のハードウェアアクセラレータ（未使用のリソース）を優先的にＶＮＦ２２に割り当てる。未使用のハードウェアアクセラレータが存在しない場合には、配置先決定部２０２は、使用率の低いハードウェアアクセラレータを優先的にＶＮＦ２２に割り当てる。あるいは、未使用なハードウェアアクセラレータが複数存在する場合には、配置先決定部２０２は、選択された順にＶＮＦ２２に割り当ててもよい。
【０１５６】
このように、第４の実施形態では、第２、第３の実施形態にて選択されたハードウェアアクセラレータが複数存在する場合のポリシ（選択ポリシ）を予め設定し、ＶＮＦ２２の割り当て先決定に当該ポリシを活用する。
【０１５７】
以上のように、ＨＷＡ要件に選択ポリシ（ＶＮＦの配置ポリシ）をパラメータとして付加し、当該ポリシを利用してＶＮＦを配置する物理マシン（リソース）を決定することで、ＶＮＦの性質に適した最適な配置先を決定することができる。
【０１５８】
［第５の実施形態］
続いて、第５の実施形態について図面を参照して詳細に説明する。
【０１５９】
第５の実施形態では、非特許文献１が開示する仕様の中で本願開示が適用できる場合を説明する。
【０１６０】
上述のように、ＮＦＶＯ１１のＨＷＡ選択部２０１は、ＮＳインスタンスのライフサイクル管理における、リソースの新規割り当て、変更時にＶＮＦ２２に割り当てるハードウェアアクセラレータを選択し、配置先候補を抽出する。
例えば、
（１）ＶＮＦ２２のインスタンシエーション、
（２）ＮＦＶＯ１１が主導するスケーリング、
（３）ＶＮＦＭ１２が主導し、ＶＮＦが契機となるスケーリング、
（４）ＶＮＦＭ１２が主導し、ＥＭが契機となるスケーリング、
等の場合が、ＨＷＡ選択部２０１が動作するケースとして挙げられる。なお、スケーリングには、スケールアウトに加え、スケールアップやスケールダウンも含まれる。また、ＨＷＡ選択部２０１が動作する場面（本願開示の適用）は、上記（１）〜（４）に限定されず、ヒーリング後の冗長再構成時であってもよい。
【０１６１】
以下、上記（１）〜（４）の各場合に対する本願開示の適用を説明する。
【０１６２】
［ケース（１）］
図１６は、非特許文献１の「B.3.1.1 VNF Check Feasibility」の「Figure B.8: VNF check feasibility message flow」に、本願開示を適用した場合のフローチャートである。
【０１６３】
図１６を参照すると、上記非特許文献１に開示されたフローチャートの「6.Check Resource availability & reservation」の前に、「6a.Select candidate for VNF allocation」が追加されている。即ち、上記実施形態にて説明したＶＮＦ配置先候補の選択を、リソースのチェック前に実施することができる。
【０１６４】
［ケース（２）］
図１７は、非特許文献１の「B.4.3 Scaling flow with resource allocation done by NFVO」の「Figure B.12: VNF instance scaling message flow」に、本願開示を適用した場合のフローチャートである。
【０１６５】
図１７を参照すると、上記非特許文献１に開示されたフローチャートの「8. changed resource (compute, storage and network) allocation and interconnection setup」の前に、「8a.Select candidate for VNF allocation」が追加されている。このように、スケーリングの際にも、上記実施形態にて説明したＶＮＦ配置先候補の選択を、リソースのチェック前に実施することができる。
【０１６６】
［ケース（３）］
図１８は、非特許文献１の「B.4.4.1 Automatic VNF expansion triggered by VNF performance measurement results」の「Figure B.13: Automatic VNF expansion flow triggered by VNF performance measurement results」に、本願開示を適用した場合のフローチャートである。
【０１６７】
図１８を参照すると、上記非特許文献１に開示されたフローチャートの「4. Check free resource are available (e.g. Pool, Resource type, CPU, Memory, etc), optionally reserve towards VIM.」の前に、「4a.Select candidate for VNF allocation」が追加されている。このように、ＶＮＦＭ１２が主導するスケーリングであって、ＶＮＦが契機となる場合であっても、上記実施形態にて説明したＶＮＦ配置先候補の選択を、リソースのチェック前に実施することができる。
【０１６８】
［ケース（４）］
図１９は、非特許文献１の「B.4.4.2 EM initiated VNF expansion」の「Figure B.14: EM initiated VNF expansion flow」に、本願開示を適用した場合のフローチャートである。
【０１６９】
図１９を参照すると、上記非特許文献１に開示されたフローチャートの「4. Check free resource are available (e.g. Pool, Resource type, CPU, Memory, etc), optionally reserve towards VIM.」の前に、「4a.Select candidate for VNF allocation」が追加されている。このように、ＶＮＦＭ１２が主導するスケーリングであって、ＥＭが契機となる場合であっても、上記実施形態にて説明したＶＮＦ配置先候補の選択を、リソースのチェック前に実施することができる。
【０１７０】
なお、図１６〜図１９では、リソースのチェック前にＶＮＦの配置先候補を選択する場合について説明したが、上記選択処理を追加することに替えて、リソースチェック時のチェック項目の一つとしてＨＷＡの選択に係る動作が追加されてもよい。
【０１７１】
以上のように、非特許文献１に開示された各種フローチャートに、ＶＮＦ２２に割り当て可能なリソース（ハードウェアアクセラレータ）を選択する処理を追加することで、ハードウェアアクセラレータを使用する仮想化環境ネットワークが実現できる。
【０１７２】
上述の説明で用いた複数のフローチャートでは、複数の工程（処理）が順番に記載されているが、各実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、例えば各処理を並行して実行する等、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
【０１７３】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
［付記１］
上述の第１の視点に係る制御装置のとおりである。
［付記２］
前記ハードウェアアクセラレータ要件は、ＶＮＦがハードウェアアクセラレータに要求する要件を少なくとも含む、付記１の制御装置。
［付記３］
前記ＶＮＦがハードウェアアクセラレータに要求する要件は、ＶＮＦがハードウェアアクセラレータの使用を必要とするか否かを示す利用要否、ハードウェアアクセラレータを使用する際のプログラムを識別する情報及びハードウェアアクセラレータの共有が可能か否かを示す共有設定のうち少なくとも１つを含む、付記２の制御装置。
［付記４］
前記ハードウェアアクセラレータ構成情報は、ハードウェアアクセラレータを識別するための情報と、ハードウェアアクセラレータの利用状況を示すリソース情報と、を含む、付記１乃至３のいずれか一に記載の制御装置。
［付記５］
前記リソース情報は、ハードウェアアクセラレータが利用されているか否かを示す利用状況、ハードウェアアクセラレータにロードされているプログラムを示す情報、ハードウェアアクセラレータにロード可能なプログラムを示す情報及びハードウェアアクセラレータの共有が可能か否かを示す共有設定のうち少なくとも１つを含む、付記４の制御装置。
［付記６］
前記ハードウェアアクセラレータを識別するための情報は、ハードウェアアクセラレータのベンダを識別する情報、デバイスの種別を示す情報及びデバイスを識別するため情報のうち少なくとも１つを含む、付記４又は５の制御装置。
［付記７］
前記第３の手段は、前記ハードウェアアクセラレータ要件に含まれる情報の一部を用いて、前記ＶＮＦに割り当てるハードウェアアクセラレータを選択する、付記１乃至６のいずれか一に記載の制御装置。
［付記８］
前記第３の手段が、ＶＮＦに割り当てるハードウェアアクセラレータを複数選択した場合に、前記選択された複数のハードウェアアクセラレータのなかから、選択ポリシに基づいて、ＶＮＦに割り当てるハードウェアアクセラレータを決定する、決定手段をさらに備える、付記１乃至７のいずれか一に記載の制御装置。
［付記９］
前記ハードウェアアクセラレータ要件は、ハードウェアアクセラレータを使用する際のプログラムを識別するプログラムＩＤ及びハードウェアアクセラレータの共有が可能か否かを示す第１共有設定を含み、
前記ハードウェアアクセラレータ構成情報は、ハードウェアアクセラレータが利用されているか否かを示す利用状況、ハードウェアアクセラレータにロードされているプログラムを示すローディングＩＤ、ハードウェアアクセラレータにロード可能なプログラムを示すローダブルＩＤ及びハードウェアアクセラレータの共有が可能か否かを示す第２共有設定を含み、
前記第３の手段は、前記プログラムＩＤが前記ローダブルＩＤに含まれるハードウェアアクセラレータのなかから、ＶＮＦに割り当てるハードウェアアクセラレータを選択する、付記１の制御装置。
［付記１０］
前記第３の手段は、前記第１及び第２共有設定の少なくとも一方が共有不可に設定されている場合には、前記共有不可に設定されたハードウェアアクセラレータをＶＮＦに割り当てるハードウェアアクセラレータとして非選択とする、付記９の制御装置。
［付記１１］
前記第３の手段は、前記第１及び第２共有設定の両方に共有可が設定されている場合には、前記共有可に設定されているハードウェアアクセラレータのなかから、ＶＮＦに割り当てるハードウェアアクセラレータを選択する、付記９又は１０の制御装置。
［付記１２］
前記第３の手段は、前記第１及び第２共有設定の両方に共有不可が設定されておらず、且つ、少なくともいずれか一方に条件付で共有可能が設定されている場合に、
前記ローディングＩＤが、前記プログラムＩＤに一致するハードウェアアクセラレータのなかから、ＶＮＦに割り当てるハードウェアアクセラレータを選択する、付記９乃至１１のいずれか一に記載の制御装置。
［付記１３］
前記第３の手段は、ＶＮＦをインスタンシエーションする際、又は、ＶＮＦのスケーリングを行う際に、ＶＮＦに割り当てるハードウェアアクセラレータの選択動作を開始する、付記１乃至１２のいずれか一に記載の制御装置。
［付記１４］
上述の第２の視点に係るＶＮＦ配置先選択方法のとおりである。
［付記１５］
上述の第３の視点に係るプログラムのとおりである。
なお、付記１４の形態及び付記１５の形態は、付記１の形態と同様に、付記２の形態〜付記１３の形態に展開することが可能である。
【０１７４】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１７５】
１０  ＮＦＶ−ＭＡＮＯ
１１  ＮＦＶＯ
１２  ＶＮＦＭ
１３  ＶＩＭ
１４  ＮＳカタログ
１５  ＶＮＦカタログ
１６  ＮＦＶインスタンスリポジトリ
１７  ＮＦＶＩリソースリポジトリ
２０  物理マシン
２１  ＮＦＶＩ
２２  ＶＮＦ
２３  ＥＭＳ
３０  ＯＳＳ／ＢＳＳ
４１  ＣＰＵ
４２  メモリ
４３  入出力インターフェイス
４４  ＮＩＣ
１００  制御装置
１０１  第１の手段
１０２  第２の手段
１０３  第３の手段
２０１  ＨＷＡ選択部
２０２  配置先決定部
２１１  ＨＷＡ要件管理部
２２１  ＨＷＡ構成管理部
【図１】
0006658882.tif 000002
【図２】
0006658882.tif 000003
【図３】
0006658882.tif 000004
【図４】
0006658882.tif 000005
【図５】
0006658882.tif 000006
【図６】
0006658882.tif 000007
【図７】
0006658882.tif 000008
【図８】
0006658882.tif 000009
【図９】
0006658882.tif 000010
【図１０】
0006658882.tif 000011
【図１１】
0006658882.tif 000012
【図１２】
0006658882.tif 000013
【図１３】
0006658882.tif 000014
【図１４】
0006658882.tif 000015
【図１５】
0006658882.tif 000016
【図１６】
0006658882.tif 000017
【図１７】
0006658882.tif 000018
【図１８】
0006658882.tif 000019
【図１９】
0006658882.tif 000020
【図２０】
0006658882.tif 000021