(57)【要約】【課題】ホストマシンとゲストマシン間における通信速度の向上に貢献すること。【解決手段】制御装置は、仮想ネットワーク機能を制御する１又は２以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される。制御装置は、仮想マシンを制御する、仮想制御部と、ホストマシンを制御する、物理制御部と、第１の記憶領域と、第２の記憶領域とを含んで構成され、仮想制御部及び物理制御部がアクセス可能である、第１の記憶部と、を備え、第１の記憶領域は、パケットデータを格納し、第２の記憶領域は、第１の記憶領域を特定する仮想アドレスを格納する。制御装置は、第２の記憶領域に格納される仮想アドレスに基づいて、第１の記憶領域を特定し、特定した第１の記憶領域から、パケットデータを読み出す。【選択図】図１
2018169978.tif 000002
【特許請求の範囲】
【請求項１】
仮想ネットワーク機能を制御する１又は２以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される制御装置であって、
前記仮想マシンを制御する、仮想制御部と、
前記ホストマシンを制御する、物理制御部と、
前記仮想制御部及び前記物理制御部がアクセス可能である、第１の記憶部と、
を備え、
前記第１の記憶部は、第１の記憶領域と、第２の記憶領域とを含み、
前記第１の記憶領域は、パケットデータが格納され、
前記第２の記憶領域は、前記第１の記憶領域を特定する仮想アドレスが格納され、
前記制御装置は、前記第２の記憶領域に格納される前記仮想アドレスに基づいて、前記第１の記憶領域を特定し、特定した前記第１の記憶領域から、パケットデータを読み出す、制御装置。
【請求項２】
物理アドレスと、仮想アドレスとを対応付ける、アドレスマッピングテーブルを格納するための、第２の記憶部をさらに備え、
前記物理制御部は、前記アドレスマッピングテーブルを管理する、請求項１に記載の制御装置。
【請求項３】
前記仮想制御部は、パケットデータを前記第１の記憶領域に格納し、前記パケットデータを格納した前記第１の記憶領域を特定する仮想アドレスを、前記第２の記憶領域に格納し、
前記物理制御部は、前記第２の記憶領域から前記仮想アドレスを読み出し、前記アドレスマッピングテーブルを参照し、読み出した前記仮想アドレスを、前記第１の記憶領域を特定する物理アドレスに変換し、変換した前記物理アドレスに基づいて、前記第１の記憶領域から、パケットデータを読み出す、請求項２に記載の制御装置。
【請求項４】
前記物理制御部は、パケットデータを前記第１の記憶領域に格納し、前記パケットデータを格納した前記第１の記憶領域を特定する仮想アドレスを、前記第２の記憶領域に格納し、
前記仮想制御部は、前記第２の記憶領域から前記仮想アドレスを読み出し、前記アドレスマッピングテーブルを参照し、読み出した前記仮想アドレスを、前記第１の記憶領域を特定する物理アドレスに変換し、変換した前記物理アドレスに基づいて、前記第１の記憶領域から、パケットデータを読み出す、請求項２又は３に記載の制御装置。
【請求項５】
前記アドレスマッピングテーブルを、前記第２の記憶部に格納する、記憶領域管理部をさらに備え、
前記記憶領域管理部は、前記第１の記憶部に、前記第１の記憶領域と、前記第２の記憶領域とを生成する、請求項４に記載の制御装置。
【請求項６】
仮想ネットワーク機能を制御する１又は２以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される制御装置と、
前記仮想マシンを割り当てる管理ノードと、
を含んで構成される制御システムであって、
前記制御装置は、
仮想ネットワーク機能を制御する１又は２以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、
前記仮想マシンを制御する、仮想制御部と、
前記ホストマシンを制御する、物理制御部と、
前記仮想制御部及び前記物理制御部がアクセス可能である、第１の記憶部と、
を備え、
前記第１の記憶部は、第１の記憶領域と、第２の記憶領域とを含み、
前記第１の記憶領域は、パケットデータが格納され、
前記第２の記憶領域は、前記第１の記憶領域を特定する仮想アドレスが格納され、
前記制御装置は、前記第２の記憶領域に格納される前記仮想アドレスに基づいて、前記第１の記憶領域を特定し、特定した前記第１の記憶領域から、パケットデータを読み出す、制御システム。
【請求項７】
前記管理ノードは、前記第１の記憶領域と前記第２の記憶領域とを、前記第１の記憶部に生成する、請求項６に記載の制御システム。
【請求項８】
前記制御装置は、
物理アドレスと、仮想アドレスとを対応付ける、アドレスマッピングテーブルを格納する、第２の記憶部と、
前記第２の記憶部に、前記アドレスマッピングテーブルを格納する、記憶領域管理部と、
をさらに備え、
前記記憶領域管理部は、前記第１の記憶部に、前記第１の記憶領域と、前記第２の記憶領域とを生成する、請求項６又は７に記載の制御システム。
【請求項９】
仮想ネットワーク機能を制御する１又は２以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、前記仮想マシンを制御する、仮想制御部と、前記ホストマシンを制御する、物理制御部と、前記仮想制御部及び前記物理制御部がアクセス可能である、第１の記憶部と、を備え、該第１の記憶部は、第１の記憶領域と、第２の記憶領域とを含んで構成される制御装置の制御方法であって、
前記第１の記憶領域に、パケットデータを格納する工程と、
前記第２の記憶領域に、前記第１の記憶領域を特定する仮想アドレスを格納する工程と、
前記第２の記憶領域に格納される前記仮想アドレスに基づいて、前記第１の記憶領域を特定する工程と、
特定された前記第１の記憶領域から、パケットデータを読み出す工程と、
を含む制御方法。
【請求項１０】
仮想ネットワーク機能を制御する１又は２以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、前記仮想マシンを制御する、仮想制御部と、前記ホストマシンを制御する、物理制御部と、前記仮想制御部及び前記物理制御部がアクセス可能である、第１の記憶部と、を備え、該第１の記憶部は、第１の記憶領域と、第２の記憶領域とを含んで構成される制御装置を制御するコンピュータに実行させるプログラムであって、
前記第１の記憶領域に、パケットデータを格納する処理と、
前記第２の記憶領域に、前記第１の記憶領域を特定する仮想アドレスを格納する処理と、
前記第２の記憶領域に格納される前記仮想アドレスに基づいて、前記第１の記憶領域を特定する処理と、
特定された前記第１の記憶領域から、パケットデータを読み出す処理と、
を前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御システム、制御方法及びプログラムに関する。
【背景技術】
【０００２】
ネットワーク機器（ルータ、ゲートウェイ、ファイアウォール、ロードバランサ等）の機能を仮想化する、ネットワーク機能仮想化（ＮＦＶ；Network Function Virtualisation）の利用が広がっている。ＮＦＶにおいては、仮想マシン上で、ネットワーク機器の機能を実行することで、仮想マシンは、ネットワーク機器の機能を代替する。そして、近年、ＮＦＶにおいては、ネットワークのパフォーマンスの向上が求められている。
【０００３】
特許文献１においては、物理インフラの計算機ノード毎の計算機資源量と、リンク毎のネットワーク資源量とに基づいて、仮想マシンと計算機ノードとの収容関係を探し、仮想マシン及び仮想接続を物理インフラ上に構築する技術が記載されている。
【０００４】
特許文献２においては、ホストＯＳにおいて動作可能な外部プロセスと、仮想マシンとを接続する仮想通信路を、仮想マシン内で動作するゲストＯＳ（Operating System）に構築させる技術が記載されている。
【０００５】
特許文献３においては、１つ以上の仮想コンテナ内に、ネットワーク機能を配置し、仮想化ネットワークノードに対応するグループ識別子を使用して、仮想コンテナをグループ化する技術が記載されている。特許文献３に記載される技術においては、複数の仮想コンテナに分散してネットワーク機能を配置した場合であっても、仮想コンテナをグループ化することで、各仮想コンテナに対するリソースの割り当てを容易にする。
【０００６】
ここで、非特許文献１においては、ＥＴＳＩ（European Telecommunications Standards Institute）  ＮＦＶ標準として、ＮＦＶを実現するための構成が開示されている。
【０００７】
さらに、近年、ＥＴＳＩ  ＮＦＶにおいて、ネットワークのパフォーマンスの向上、総保有コスト（ＴＣＯ；Total Cost of Ownership）の削減等を目的として、ＮＦＶＩ（Network Function Virtualisation Infrastructure）、ＶＮＦ（Virtual Network Function）の一部の処理を、アクセラレータを用いて、オフロードすることが検討されている。例えば、ＦＰＧＡ（Field Programmable Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＮＰＵ（Network Processing Unit）等のアクセラレータを用いて、ＮＦＶＩ、ＶＮＦの一部の処理をオフロードすることが検討されている。
【０００８】
非特許文献２においては、ＥＴＳＩ  ＮＦＶにおいて、アクセラレータを適用することで、ＮＦＶを構成する各機能コンポーネントに対して与える影響、及び各機能コンポーネント間の参照点（reference point）に対して与える影響について記載されている。
【０００９】
非特許文献３（特に「５  Ｕｓｅ  Ｃａｓｅｓ」）においては、ＥＴＳＩ  ＮＦＶにおいて、アクセラレータを用いて、ＮＦＶＩ、ＶＮＦの一部の処理をオフロードする、ＶＮＦのユースケースの一例が記載されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１５−１６２１４７号公報
【特許文献２】特開２０１５−１９７８７４号公報
【特許文献３】特表２０１６−５０９４１２号公報
【非特許文献】
【００１１】
【非特許文献１】“Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎｓ  Ｖｉｒｔｕａｌｉｓａｔｉｏｎ（ＮＦＶ）；Ａｒｃｈｉｔｅｃｈｔｕａｌ  Ｆｒａｍｅｗｏｒｋ”、ＥＴＳＩ  ＧＳ  ＮＦＶ  ００２  Ｖ１．１．１（２０１３−１０）、［ｏｎｌｉｎｅ］、平成２９（２０１７）年２月１６日検索、インターネット〈URL: http://www.etsi.org/deliver/etsi_gs/nfv/001_099/002/01.01.01_60/gs_nfv002v010101p.pdf〉
【非特許文献２】“Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎｓ  Ｖｉｒｔｕａｌｉｓａｔｉｏｎ（ＮＦＶ）；Ａｃｃｅｌｅｒａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｉｅｓ；Ｍａｎａｇｅｍｅｎｔ  Ａｓｐｅｃｔｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ”、ＥＴＳＩ  ＧＳ  ＮＦＶ−ＩＦＡ  ００４  Ｖ２．１．１（２０１６−０４）、［ｏｎｌｉｎｅ］、平成２９（２０１７）年２月１６日検索、インターネット〈URL:http://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/004/02.01.01_60/gs_NFV-IFA004v020101p.pdf〉
【非特許文献３】“Ｎｅｔｗｏｒｋ  Ｆｕｎｃｔｉｏｎｓ  Ｖｉｒｔｕａｌｉｓａｔｉｏｎ（ＮＦＶ）；Ａｃｃｅｌｅｒａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｉｅｓ；Ｒｅｐｏｒｔ  ｏｎ  Ａｃｃｅｌｅｒａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｉｅｓ  ＆  Ｕｓｅ  Ｃａｓｅｓ”、ＥＴＳＩ  ＧＳ  ＮＦＶ−ＩＦＡ  ００１  Ｖ１．１．１（２０１５−１２）、［ｏｎｌｉｎｅ］、平成２９（２０１７）年２月１６日検索、インターネット〈URL:http://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/001/01.01.01_60/gs_nfv-ifa001v010101p.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【００１２】
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
【００１３】
上記の通り、非特許文献２において、アクセラレータを適用することで、ＮＦＶを構成する機能コンポーネント等に対して与える影響が記載されている。また、非特許文献３においては、アクセラレータを用いて、ＮＦＶＩ、ＶＮＦの一部の処理をオフロードする、ＶＮＦのユースケースの一例が記載されている。しかし、非特許文献１〜３においては、アクセラレータを適用した構成において、ホストマシンとゲストマシン間における通信速度の向上については記載されていない。
【００１４】
また、特許文献１〜３に記載された技術においては、ＮＦＶにおいて、アクセラレータを用いて、ホストマシンとゲストマシン間における通信速度の向上を実現する方法は記載されていない。
【００１５】
そこで、本発明は、ホストマシンとゲストマシン間における通信速度の向上に貢献する制御装置、制御システム、制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の第１の視点によれば、制御装置が提供される。該制御装置は、仮想ネットワーク機能を制御する１又は２以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される。
該制御装置は、前記仮想マシンを制御する、仮想制御部を備える。
さらに、該制御装置は、前記ホストマシンを制御する、物理制御部を備える。
さらに、該制御装置は、前記仮想制御部及び前記物理制御部がアクセス可能である、第１の記憶部を備える。
前記第１の記憶部は、第１の記憶領域と、第２の記憶領域とを含んで構成される。
前記第１の記憶領域は、パケットデータが格納される。
前記第２の記憶領域は、前記第１の記憶領域を特定する仮想アドレスが格納される。
さらに、該制御装置は、前記第２の記憶領域に格納される前記仮想アドレスに基づいて、前記第１の記憶領域を特定し、特定した前記第１の記憶領域から、パケットデータを読み出す。
【００１７】
本発明の第２の視点によれば、制御システムが提供される。該制御システムは、仮想ネットワーク機能を制御する１又は２以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される制御装置と、前記仮想マシンを割り当てる管理ノードと、を含んで構成される。
該制御装置は、前記仮想マシンを制御する、仮想制御部を備える。
さらに、該制御装置は、前記ホストマシンを制御する、物理制御部を備える。
さらに、該制御装置は、前記仮想制御部及び前記物理制御部がアクセス可能である、第１の記憶部を備え、前記第１の記憶部は、第１の記憶領域と、第２の記憶領域とを含んで構成される。
前記第１の記憶領域は、パケットデータが格納される。
前記第２の記憶領域は、前記第１の記憶領域を特定する仮想アドレスが格納される。
さらに、該制御装置は、前記第２の記憶領域に格納される前記仮想アドレスに基づいて、前記第１の記憶領域を特定し、特定した前記第１の記憶領域から、パケットデータを読み出す。
【００１８】
本発明の第３の視点によれば、制御方法が提供される。該制御方法は、制御装置の制御方法である。該制御装置は、仮想ネットワーク機能を制御する１又は２以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、前記仮想マシンを制御する、仮想制御部と、前記ホストマシンを制御する、物理制御部と、前記仮想制御部及び前記物理制御部がアクセス可能である、第１の記憶部と、を備え、該第１の記憶部は、第１の記憶領域と、第２の記憶領域とを含んで構成される。
該制御方法は、前記第１の記憶領域に、パケットデータを格納する工程を含む。
該制御方法は、前記第２の記憶領域に、前記第１の記憶領域を特定する仮想アドレスを格納する工程を含む。
該制御方法は、前記第２の記憶領域に格納される前記仮想アドレスに基づいて、前記第１の記憶領域を特定する工程を含む。
該制御方法は、特定された前記第１の記憶領域から、パケットデータを読み出す工程を含む。
なお、本方法は、仮想ネットワーク機能を制御する１又は２以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される制御装置という、特定の機械に結び付けられている。
【００１９】
本発明の第４の視点によれば、プログラムが提供される。該プログラムは、制御装置を制御するコンピュータに実行させるプログラムである。該制御装置は、仮想ネットワーク機能を制御する１又は２以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、前記仮想マシンを制御する、仮想制御部と、前記ホストマシンを制御する、物理制御部と、前記仮想制御部及び前記物理制御部がアクセス可能である、第１の記憶部と、を備え、該第１の記憶部は、第１の記憶領域と、第２の記憶領域とを含んで構成される。
該プログラムは、前記第１の記憶領域に、パケットデータを格納する処理を、前記コンピュータに実行させる。
該プログラムは、前記第２の記憶領域に、前記第１の記憶領域を特定する仮想アドレスを格納する処理を、前記コンピュータに実行させる。
該プログラムは、前記第２の記憶領域に格納される前記仮想アドレスに基づいて、前記第１の記憶領域を特定する処理を、前記プログラムに実行させる。
該プログラムは、特定された前記第１の記憶領域から、パケットデータを読み出す処理を、前記プログラムに実行させる。
なお、本プログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（non-transient）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００２０】
本発明の各視点によれば、ホストマシンとゲストマシン間における通信速度の向上に貢献する制御装置、制御システム、制御方法及びプログラムが提供される。
【図面の簡単な説明】
【００２１】
【図１】一実施形態の概要を説明するための図である。
【図２】通信システム１００の内部構成の一例を示すブロック図である。
【図３】ＮＦＶＩ１０の内部構成の一例を示すブロック図である。
【図４】第１の実施形態に係る通信システム１００の動作の一例を示すシークエンス図である。
【図５】第１の実施形態に係る通信システム１００の動作の一例を示すシークエンス図である。
【図６】第１の実施形態に係る通信システム１００の動作の一例を示すシークエンス図である。
【図７】第２の実施形態に係る通信システム１００の動作の一例を示すシークエンス図である。
【図８】第２の実施形態に係る通信システム１００の動作の一例を示すシークエンス図である。
【図９】第２の実施形態に係る通信システム１００の動作の一例を示すシークエンス図である。
【発明を実施するための形態】
【００２２】
初めに、図１を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各ブロック図のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号（データ）の流れを模式的に示すものであり、双方向性を排除するものではない。
【００２３】
上述の通り、ホストマシンとゲストマシン間における通信速度の向上に貢献する制御装置が望まれる。
【００２４】
そこで、一例として、図１に示す制御装置１０００を提供する。制御装置１０００は、仮想ネットワーク機能を制御する１又は２以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される。そして、制御装置１０００は、仮想制御部１００１と、物理制御部１００２と、第１の記憶部１００３とを備える。
【００２５】
仮想制御部１００１は、仮想マシンを制御する。物理制御部１００２は、ホストマシンを制御する。
【００２６】
第１の記憶部１００３は、第１の記憶領域１００４と、第２の記憶領域１００５とを含んで構成され、仮想制御部１００１及び物理制御部１００２がアクセス可能である。第１の記憶領域１００４は、パケットデータを格納する。第２の記憶領域１００５は、第１の記憶領域１００４を特定する仮想アドレスを格納する。
【００２７】
制御装置１０００は、第２の記憶領域１００５に格納される仮想アドレスに基づいて、第１の記憶領域１００４を特定し、特定した第１の記憶領域１００４から、パケットデータを読み出す。
【００２８】
ここで、制御装置１０００は、ホストマシンとゲストマシンとの双方からアクセス可能な記憶領域（第１の記憶領域１００４）にパケットデータを格納する。そのため、制御装置１０００は、ホストマシンとゲストマシン間において、パケットデータを送受信する場合に、該パケットデータを送信元から送信先に対して、コピーする必要がない。従って、制御装置１０００は、ホストマシンとゲストマシン間における通信速度の向上に貢献する。
【００２９】
［第１の実施形態］
第１の実施形態について、図面を用いてより詳細に説明する。
【００３０】
図２は、本実施形態に係る通信システム１００の内部構成の一例を示すブロック図である。
【００３１】
図２を参照すると、本実施形態に係る通信システム１００は、ＮＦＶ  ＭＡＮＯ（Network Function Virtualisation Management and Orchestration）２と、ＶＮＦレイヤ３と、ＮＦＶＩ１０を含んで構成される。ＮＦＶ  ＭＡＮＯ２、ＶＮＦレイヤ３、ＮＦＶＩ１０は、ＯＳＳ／ＢＳＳ４と通信する。なお、図２は、本実施形態に係る通信システム１００の一例であり、本実施形態に係る通信システム１００を、図２に示す構成に限定する趣旨ではない。
【００３２】
まず、ＮＦＶ  ＭＡＮＯ２について、詳細に説明する。
【００３３】
ＮＦＶ  ＭＡＮＯ２は、ＶＮＦオーケストレータ２１と、１又は２以上のＶＮＦマネージャ２２と、ＶＩＭ（Virtualised Infrastructure Manager）２３とを含んで構成される。
【００３４】
ＶＮＦオーケストレータ２１は、クライアント２００から、ＶＮＦの生成等の指示を受け付ける。
【００３５】
ＶＮＦマネージャ２２は、ＶＮＦのライフサイクルを管理する。ＶＮＦマネージャ２２は、ＶＮＦ毎に、ＮＦＶ  ＭＡＮＯ２に配置されても良い。または、一つのＶＮＦマネージャ２２が、２以上のＶＮＦのライフサイクルを管理しても良い。
【００３６】
ＶＩＭ２３は、ＶＮＦのリソースを管理する処理を実行する。
【００３７】
（ＶＮＦレイヤ３）
次に、ＶＮＦレイヤ３について、詳細に説明する。
【００３８】
ＶＮＦレイヤ３は、仮想ノード（ＶＮＦ）（３１−ａ〜３１−ｃ）と、管理仮想ノード（ＥＭＳ（Element Management System））（３２−ａ〜３２−ｃ）とを含んで構成される。なお、以下の説明では、仮想ノード（ＶＮＦ）（３１−ａ〜３１−ｃ）、管理仮想ノード（ＥＭＳ）（３２−ａ〜３２−ｃ）は、夫々、区別する必要が無い場合には、仮想ノード（ＶＮＦ）３１、管理仮想ノード（ＥＭＳ）３２と表記する。また、図２は、３つの仮想ノード（ＶＮＦ）（３１−ａ〜３１−ｃ）、３つの管理仮想ノード（ＥＭＳ）（３２−ａ〜３２−ｃ）を示すが、これは、仮想ノード（ＶＮＦ）３１、管理仮想ノード（ＥＭＳ）３２を３つに限定する趣旨ではない。
【００３９】
仮想ノード（ＶＮＦ）３１に、ネットワーク機能を設定（実装）することで、仮想ノード（ＶＮＦ）３１は、ＶＮＦを実現する。仮想マシンは、ネットワーク機能が設定された仮想ノード（ＶＮＦ）３１を利用して、仮想ノード（ＶＮＦ）３１に設定されたネットワーク機能を実行する。なお、一つの仮想ノード（ＶＮＦ）３１は、２以上の仮想マシンに対応しても良いことは勿論である。また、一つの仮想マシンは、２以上の仮想ノード（ＶＮＦ）３１を利用しても良いことは勿論である。
【００４０】
例えば、仮想ノード（ＶＮＦ）３１は、Ｉｎｔｅｌ（登録商標）  ＤＰＤＫ（Data Plane Development Kit）をベースとしたアプリケーションプログラム（以下、単にアプリケーションと呼ぶ）が対象になる。例えば、ＶＮＦの対象となるアプリケーションは、非特許文献３の５章の“Ｕｓｅ  Ｃａｓｅ”に記載のＩＰ  Ｓｅｃ  ｔｕｎｎｌｅｓ  Ｔｔｅｒｍｉｎａｔｉｏｎ、Ｖｉｒｕａｌ  Ｂａｓｅ  Ｓｔａｔｉｏｎ（ＶＢＳ）Ｌ１、Ｔｒｒａｎｓｃｏｄｉｎ、ＮＦＶＩ  Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｏｆｆｌｏａｄ、ＮＦＶＩ  Ｓｅｃｕｒｅ  Ｏｖｅｒｌａｙ  Ｏｆｆｌｏａｄ等を含む。さらに、ＶＮＦの対象となるアプリケーションは、キャリアネットワーク機能であるｖＣＰＥ（virtualized Customer Promised Equipment）、ｖＳ−ＧＷ（virtualised Serving Gateway）、ｖＰ−ＧＷ（virtualized PDN(Packet Data Network) Gateway）等を含む。
【００４１】
管理仮想ノード（ＥＭＳ）３２は、仮想ノード（ＶＮＦ）３１を管理する。具体的には、管理仮想ノード（ＥＭＳ）３２は、当該仮想ノード（ＶＮＦ）３１に設定されたネットワーク機能を管理する。管理仮想ノード（ＥＭＳ）３２は、夫々、一つの仮想ノード（ＶＮＦ）３１を管理しても良い。または、一つの管理仮想ノード（ＥＭＳ）３２が、２以上の仮想ノード（ＶＮＦ）３１を管理しても良い。
【００４２】
（ＮＦＶＩ１０）
次に、ＮＦＶＩ１０について、詳細に説明する。
【００４３】
ＮＦＶＩ１０は、物理制御部１１１と、物理記憶部１１２と、物理通信部１１３と、仮想化レイヤ１２と、仮想制御部１３と、仮想記憶部１４と、仮想通信部１５とを含んで構成される。
【００４４】
仮想マシンは、仮想制御部１３と、仮想記憶部１４と、仮想通信部１５とを含んで構成される。ここで、ＮＦＶＩ１０は、２以上の仮想マシンを含んで構成されても良い。なお、以下の説明では、仮想制御部１３と、仮想記憶部１４と、仮想通信部１５を、夫々区別する必要が無い場合、単に、「仮想マシン」とも呼ぶ。また、以下の説明においては、仮想マシンを、ゲストマシンとも呼ぶ。
【００４５】
物理制御部１１１は、ＮＦＶＩ１０を構成する情報処理装置（コンピュータ）を制御する。例えば、本実施形態に係る物理制御部１１１は、ＦＰＧＡを含んで構成される。
【００４６】
物理記憶部１１２は、ＮＦＶＩ１０を構成する情報処理装置を動作させるために必要な情報を記憶する。例えば、物理記憶部１１２は、磁気ディスク装置や光ディスク装置、半導体メモリを用いて実現される。
【００４７】
特に、本実施形態に係る物理記憶部１１２は、物理制御部１１１及び仮想制御部１３の双方からアクセス可能な共有メモリ領域を含んで構成される。共有メモリ領域の詳細については後述する。
【００４８】
物理通信部１１３は、物理制御部１１１が、仮想マシン、ＮＦＶ  ＭＡＮＯ２、ＯＳＳ／ＢＳＳ４、クライアント２００等と通信する処理を制御する。また、物理通信部１１３は、本実施形態に係る通信システム１００とは異なるネットワークとの通信処理を制御する。例えば、物理通信部１１３は、ＮＩＣ（Network Interface Card）等を用いて実現される。
【００４９】
仮想化レイヤ１２は、ハードウェアを抽象化する処理を実行する。さらに、仮想化レイヤ１２は、ハードウェアと、仮想マシン及びＶＮＦとの接続を中継する。換言すると、ハードウェアは、仮想化レイヤ１２を介して、仮想マシン及びＶＮＦにアクセスし、仮想マシンに設定された処理、及びＶＮＦを実行する。
【００５０】
仮想制御部１３は、仮想ノード３１に設定されるＶＮＦを実行する。仮想記憶部１４は、ＶＮＦを実行するために必要な情報を記憶する。仮想通信部１５は、仮想マシンと、ＮＦＶ  ＭＡＮＯ２間の通信処理を制御する。また、仮想通信部１５は、仮想マシンと、ＯＳＳ／ＢＳＳ４間の通信処理を制御する。
【００５１】
（ＯＳＳ／ＢＳＳ４）
ＯＳＳ／ＢＳＳ４は、通信サービスを提供する。例えば、通信事業者が、ＯＳＳ／ＢＳＳ４を管理する。
【００５２】
以下、ＮＦＶＩ１０について、更に詳細に説明する。
【００５３】
図３は、本実施形態に係るＮＦＶＩ１０の内部構成のうち、本実施形態に関係するモジュールの一例を示すブロック図である。図３に示すＮＦＶＩ１０は、ＣＰＵ１２０と、メインメモリ（図２に示す物理記憶部１１２に相当）１３０と、ＦＰＧＡ１４０と、メモリ管理部１５０を含んで構成される。また、以下の説明においては、ＦＰＧＡ１４０の回路を、オフロード部（図２に示す物理制御部１１１）１４１と呼ぶ。さらに、以下の説明においては、ＣＰＵ１２０が実行する処理（プロセス）を、非オフロード部（図２に示す仮想制御部１３に相当）１２１と呼ぶ。また、メインメモリ１３０を、第１の記憶部とも呼ぶ。また、メモリ管理部１５０を、記憶領域管理部とも呼ぶ。なお、図３は、１つのＦＰＧＡ１４０と、１つのＣＰＵ１２０とを示すが、これは、本実施形態に係るＦＰＧＡ１４０及びＣＰＵ１２０を、夫々、１つに限定する趣旨ではない。同様に、図３は、１つのオフロード部１４１と、１つの非オフロード部１２１とを示すが、これは、本実施形態に係るオフロード部１４１及び非オフロード部１２１を、夫々、１つに限定する趣旨ではない。ＮＦＶＩ１０は、２以上のＦＰＧＡ１４０、２以上のＣＰＵ１２０、２以上のオフロード部１４１、２以上の非オフロード部１２１を含んで構成されても良い。
【００５４】
ＦＰＧＡ１４０のレジスタ（第２の記憶部とも呼ぶ）１４２は、アドレスマッピングテーブル１４３を格納する。アドレスマッピングテーブル１４３は、仮想アドレスと、物理アドレス間の対応関係を記憶する。
【００５５】
メインメモリ１３０は、オフロード部１４１及び非オフロード部１２１の双方からアクセス可能な共有メモリ領域を含む。共有メモリ領域は、第２の記憶領域と、第１の記憶領域とを含んで構成される。
【００５６】
第１の記憶領域は、メッセージバッファ（message buffer；mbufとも呼ぶ）１３２を含んで構成される。メッセージバッファは、パケットデータを格納する。
【００５７】
第２の記憶領域は、メッセージバッファ１３２のアドレス（仮想アドレス）を格納する。例えば、第２の記憶領域は、リングキュー型の配列を利用して、メッセージバッファのアドレス（仮想アドレス）を格納しても良い。なお、以下の説明では、第２の記憶領域に、リングキュー型の配列を利用して、メッセージバッファ１３２のアドレスを格納する場合を例示して説明する。そして、以下の説明では、第２の記憶領域に格納されるリングキュー型の配列を、リングキュー１３１と表記する。
【００５８】
第２の記憶領域は、メッセージバッファ１３２のアドレス（仮想アドレス）を、リングキュー型の配列を利用して格納する。図３に示すように、第２の記憶領域は、複数のリングキュー（１３３＿１〜１３３＿ｎ（ｎは２以上の自然数））を格納しても良いことは勿論である。
【００５９】
アドレスマッピングテーブル１４３は、物理アドレスと、仮想アドレス間の対応関係を記憶する。
【００６０】
ＮＦＶＩ１０は、リングキュー１３１と、メッセージバッファ１３２を利用して、オフロード部１４１と非オフロード部１２１間のパケット通信を行う。
【００６１】
パケットデータの送信元（オフロード部１４１又は非オフロード部１２１）は、パケットデータをメッセージバッファ１３２に書き込む。そして、パケットデータの送信元（オフロード部１４１又は非オフロード部１２１）は、パケットデータを書き込んだメッセージバッファ１３２のアドレス（仮想アドレス）を、リングキュー１３１に格納（エンキュー（enqueue））する。
【００６２】
そして、パケットデータの送信先（オフロード部１４１又は非オフロード部１２１）は、リングキュー１３１から、メッセージバッファ１３２のアドレス（仮想アドレス）の取り出し（デキュー（dequeue））を行う。そして、パケットデータの送信先は、アドレスマッピングテーブル１４３を参照し、メッセージバッファ１３２の仮想アドレスを、メッセージバッファ１３２の物理アドレスに変換する。そして、パケットデータの送信先は、変換した物理アドレスに基づいて、メッセージバッファ１３２に格納されるパケットデータにアクセスする。
【００６３】
例えば、オフロード部１４１から、非オフロード部１２１にパケットデータを送信するとする。その場合、オフロード部１４１（パケットデータの送信元）は、パケットデータをメッセージバッファ１３２に書き込む。そして、オフロード部１４１（パケットデータの送信元）にパケットデータを書き込んだメッセージバッファ１３２のアドレスを、リングキュー１３１に格納する。
【００６４】
そして、非オフロード部１２１（パケットデータの送信先）は、パケットデータを書き込んだメッセージバッファ１３２のアドレス（仮想アドレス）を、リングキュー１３１から取り出す。そして、非オフロード部１２１（パケットデータの送信先）は、アドレスマッピングテーブル１４３を参照し、仮想アドレスを、物理アドレスに変換する。そして、非オフロード部１２１（パケットデータの送信先）は、取り出したメッセージバッファ１３２のアドレスに基づいて、メッセージバッファ１３２を読み出す。そして、非オフロード部１２１（パケットデータの送信先）は、変換した物理アドレスを用いて、メッセージバッファ１３２に格納されるパケットデータにアクセスする。
【００６５】
メモリ管理部１５０は、ホストマシンのＯＳ（Operating System）上で動作し、メインメモリ１３０を制御する。特に、メモリ管理部１５０は、リングキュー１３１及びメッセージバッファ１３２を管理する。
【００６６】
次に、本実施形態に係る通信システム１００の動作について詳細に説明する。
【００６７】
図４、図５、図６は、本実施形態に係る通信システム１００の動作の一例を示すシークエンス図である。
【００６８】
まず、図４を参照しながら、本実施形態に係る通信システム１００の動作を説明する。
【００６９】
まず、クライアント２００が、ＮＦＶオーケストレータ２１にＶＮＦの生成を要求する（ステップＳ００１）。そして、ＮＦＶオーケストレータ２１は、ＶＮＦの生成の要求を受け付ける（ステップＳ００２）。ここで、クライアント２００は、例えば、ＮＦＶ  ＭＡＮＯ２の保守担当者等が使用する端末装置、ＮＦＶ  ＭＡＮＯ２の上位の装置等である。
【００７０】
ステップＳ００３において、ＮＦＶオーケストレータ２１は、ＶＮＦを構成可能であるか否かを確認する。そして、ＮＦＶオーケストレータ２１は、ＶＮＦを構成可能である場合には、ＶＮＦマネージャ２２にＶＮＦの生成を要求する（ステップＳ００４）。そして、ＶＮＦマネージャ２２は、ＶＮＦの生成の要求を受け付ける（ステップＳ００５）。
【００７１】
ステップＳ００６において、ＶＮＦマネージャ２２は、リソース割り当てを、ＮＦＶオーケストレータ２１に要求する。
【００７２】
ステップ００７において、ＮＦＶオーケストレータ２１は、リソース割り当ての事前処理を実行する。例えば、ＮＦＶオーケストレータ２１は、リソースを確保し、割り当てを予約する処理等を、リソース割り当ての事前処理として実行する。
【００７３】
ステップＳ００８において、ＮＦＶオーケストレータ２１は、リソース（制御、記憶、ネットワーク）の割り当てと、モジュール間の接続設定を、ＶＩＭ２３に要求する。
【００７４】
ステップＳ００９において、ＶＩＭ２３は、システム内部のモジュールを接続するネットワークの割り当てを実行する。
【００７５】
次に、図５を参照しながら、引き続き、本実施形態に係る通信システム１００の動作を説明する。
【００７６】
ステップＳ０１０において、ＶＩＭ２３は、仮想マシンを割り当てて、システム内部のモジュールを接続するネットワークに、仮想マシンを設定する。そしてＶＩＭ２３は、リソースの割り当て完了を、ＮＦＶオーケストレータ２１に応答（ＡＣＫ（Acknowledgement））する（ステップＳ０１１）。そして、ＮＦＶオーケストレータ２１は、リソースの割り当て完了を、ＶＮＦマネージャ２２に応答（ＡＣＫ）する（ステップＳ０１２）。
【００７７】
ＶＮＦマネージャ２２は、ＶＮＦの生成が成功したことを、管理仮想ノード（ＥＭＳ）に通知する（ステップＳ０１３）。
【００７８】
ステップＳ０１４において、管理仮想ノード（ＥＭＳ）は、ＶＮＦを構成する。具体的には、管理仮想ノード（ＥＭＳ）は、仮想ノード（ＶＮＦ）を構成するアプリケーションに、特定のパラメータを設定する。
【００７９】
次に、図６を参照しながら、引き続き、本実施形態に係る通信システム１００の動作を説明する。
【００８０】
ステップＳ０１５において、ＶＮＦマネージャ２２は、リングキュー１３１及びメッセージバッファ１３２を格納するメモリ領域名の情報を、ＶＩＭに通知する。つまり、ＶＮＦマネージャ２２は、第２の記憶領域、及び第１の記憶領域を特定するための情報を、ＶＩＭに通知する。例えば、Ｉｎｔｅｌ  ＤＰＤＫの場合、ＮＦＶＩを構成するホストマシン及びゲストマシンは、メモリ領域名を検索キーとして利用することで、該メモリ領域名に対応するメモリ領域に格納されるデータにアクセスできる。
【００８１】
なお、ステップＳ０１５の処理を実行する場合には、メモリ管理部１５０は、リングキュー１３１及びメッセージバッファ１３２を格納するメモリ領域（第２の記憶領域、及び第１の記憶領域）を、確保済みであるものとする。例えば、メモリ管理部１５０は、ＶＮＦの生成処理が実行される前に、ＩＶＳＨＭＥＭ（Inter VM（Virtual Machine） Shared Memory）等の技術を用いて、ホストマシンと仮想マシン間、及び仮想マシン間において、共通の仮想アドレスを用いて、アクセス可能な共有メモリ領域を確保しても良い。
【００８２】
ステップＳ０１６において、ＶＩＭ２３は、リングキュー１３１及びメッセージバッファ１３２を格納するメモリ領域名の情報を、メモリ管理部１５０に通知する。つまり、ＶＩＭ２３は、第２の記憶領域、及び第１の記憶領域を特定するための情報を、メモリ管理部１５０に通知する。
【００８３】
ステップＳ０１７において、メモリ管理部１５０は、物理アドレスと仮想アドレス間のアドレスマッピングテーブル１４３を作成する。具体的には、メモリ管理部１５０は、仮想アドレスから物理アドレスに変換するためのアドレスマッピングテーブル１４３を作成する。
【００８４】
ステップＳ０１８において、メモリ管理部１５０は、物理アドレスと仮想メモリ間のアドレスマッピングテーブル１４３を、ＦＰＧＡ１４０に設定する。具体的には、メモリ管理部１５０は、仮想アドレスから物理アドレスに変換するためのアドレスマッピングテーブル１４３を、ＦＰＧＡ１４０のレジスタ１４２に設定する。さらに、メモリ管理部は、リングキュー１３１の仮想アドレスを、ＦＰＧＡ１４０のレジスタ１４２に設定する。
【００８５】
ステップＳ０１９において、ＶＮＦマネージャ２２は、ＶＮＦの生成終了を、ＮＦＶオーケストレータ２１に応答（ＡＣＫ）する。そして、ＮＦＶオーケストレータ２１は、ＶＮＦの生成終了を、クライアント２００に応答（ＡＣＫ）する。
【００８６】
以上のように、本実施形態に係るＮＦＶＩ１０は、ホストマシン及び仮想マシンの双方から、アクセス可能な共有メモリ領域を備える。そして、本実施形態に係るＮＦＶＩ１０は、ホストマシン及び仮想マシン間で通信を行う場合、共有メモリ領域にパケットデータを格納する。さらに、本実施形態に係るＮＦＶＩ１０は、アドレスマッピングテーブル１４３を利用して、ゲストマシン上のアドレス（仮想アドレス）とホストマシン上のアドレス（物理アドレス）間においてアドレスを変換する。そのため、本実施形態に係るＮＦＶＩ１０は、ホストマシンとゲストマシン間において、パケットデータをコピーする処理を実行せずに、パケットデータへのアクセスを実現できる。従って、本実施形態に係るＮＦＶＩ１０は、ホストマシンとゲストマシン間における通信速度の向上に貢献する。
【００８７】
［第２の実施形態］
次に、第２の実施形態について、図面を用いて詳細に説明する。
【００８８】
本実施形態は、メモリ管理部が、仮想アドレスを物理アドレスに変換するためのアドレスマッピングテーブルを作成する形態である。なお、本実施形態における説明では、上記の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、上記の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。また、本実施形態における説明では、上記の実施形態と同一の作用効果についても、その説明を省略する。
【００８９】
本実施形態に係る通信システム１００の内部構成は、図２に示す通りである。また、本実施形態に係るＮＦＶＩ１０の内部構成のうち、本実施形態に関係するモジュールは、図３に示す通りである。
【００９０】
図７、図８、図９は、本実施形態に係る通信システム１００の動作の一例を示すシークエンス図である。図７に示すステップＳ１０１〜Ｓ１０９の処理は、図４に示すステップＳ００１〜Ｓ００９の処理と同様であるため、詳細な説明を省略する。
【００９１】
以下、図８を参照しながら、本実施形態に係る通信システム１００の動作について説明する。
【００９２】
ＶＩＭ２３は、システム内部のモジュールを接続するネットワークの割り当てを実行する（図７に示すステップＳ１０９）と、仮想マシンを割り当てて、システム内部のモジュールを接続するネットワークに、仮想マシンを設定する（ステップＳ１１０）。
【００９３】
ステップＳ１１１において、ＶＩＭ２３は、リングキュー１３１及びメッセージバッファ１３２を格納するメモリ領域の割り当てを、メモリ管理部１５０に要求する。
【００９４】
ステップＳ１１２において、メモリ管理部１５０は、リングキュー１３１及びメッセージバッファ１３２を格納するメモリ領域を、メインメモリ１３０に作成又は割り当てる。
【００９５】
ステップＳ１１３において、メモリ管理部１５０は、物理アドレスと仮想アドレス間のアドレスマッピングテーブル１４３を作成する。具体的には、図６に示すステップＳ０１７の処理と同様に、メモリ管理部１５０は、仮想アドレスから物理アドレスに変換するためのアドレスマッピングテーブル１４３を作成する。
【００９６】
ステップＳ１１４において、メモリ管理部１５０は、物理アドレスと仮想アドレス間のアドレスマッピングテーブル１４３を、ＦＰＧＡ１４０に設定する。具体的には、図６に示すステップＳ０１８の処理と同様に、メモリ管理部１５０は、仮想アドレスから物理アドレスに変換するためのアドレスマッピングテーブル１４３を、ＦＰＧＡ１４０のレジスタ１４２に設定する。さらに、メモリ管理部は、リングキュー１３１の仮想アドレスを、ＦＰＧＡ１４０のレジスタ１４２に設定する。
【００９７】
そして、ＶＩＭ２３は、リソースの割り当て完了を、ＮＦＶオーケストレータ２１に応答（ＡＣＫ）する（図１０に示すステップＳ１１５）。そして、本実施形態に係る通信システム１００は、図１０に示すステップＳ１１６〜Ｓ１２０の処理を実行する。図１０に示すステップＳ１１６〜Ｓ１２０の処理は、図５に示すステップＳ０１１〜Ｓ０１４、及び図６に示すステップＳ０１９〜Ｓ０２０の処理と同様であるため、詳細な説明は省略する。
【００９８】
以上のように、本実施形態に係るＮＦＶＩ１０は、メモリ管理部１５０が、アドレスを変換するためのアドレスマッピングテーブル１４３、及びメッセージバッファ１３２を作成又は割り当てる。そして、本実施形態に係るＮＦＶＩ１０は、ホストマシン及び仮想マシン間で通信を行う場合、共有メモリ領域にパケットデータを格納する。さらに、本実施形態に係るＮＦＶＩ１０は、アドレスマッピングテーブル１４３を利用して、ゲストマシン上のアドレス（仮想アドレス）とホストマシン上のアドレス（物理アドレス）間においてアドレスを変換する。そのため、本実施形態に係るＮＦＶＩ１０は、ホストマシンとゲストマシン間において、パケットデータをコピーする処理を実行せずに、パケットデータへのアクセスを実現できる。従って、本実施形態に係るＮＦＶＩ１０は、第１の実施形態と同様に、ホストマシンとゲストマシン間における通信速度の向上に貢献する。
【００９９】
上述の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【０１００】
（付記１）上記第１の視点に係る制御装置の通りである。
【０１０１】
（付記２）物理アドレスと、仮想アドレスとを対応付ける、アドレスマッピングテーブルを格納する、第２の記憶部をさらに備え、前記物理制御部は、前記アドレスマッピングテーブルを管理する、付記１に記載の制御装置。
【０１０２】
（付記３）前記仮想制御部は、パケットデータを前記第１の記憶領域に格納し、前記パケットデータを格納した前記第１の記憶領域を特定する仮想アドレスを、前記第２の記憶領域に格納し、前記物理制御部は、前記第２の記憶領域から前記仮想アドレスを読み出し、前記アドレスマッピングテーブルを参照し、読み出した前記仮想アドレスを、前記第１の記憶領域を特定する物理アドレスに変換し、変換した前記物理アドレスに基づいて、前記第１の記憶領域から、パケットデータを読み出す、付記２に記載の制御装置。
【０１０３】
（付記４）前記物理制御部は、パケットデータを前記第１の記憶領域に格納し、前記パケットデータを格納した前記第１の記憶領域を特定する仮想アドレスを、前記第２の記憶領域に格納し、前記仮想制御部は、前記第２の記憶領域から前記仮想アドレスを読み出し、前記アドレスマッピングテーブルを参照し、読み出した前記仮想アドレスを、前記第１の記憶領域を特定する物理アドレスに変換し、変換した前記物理アドレスに基づいて、前記第１の記憶領域から、パケットデータを読み出す、付記２又は３に記載の制御装置。
【０１０４】
（付記５）前記アドレスマッピングテーブルを、前記第２の記憶部に格納する、記憶領域管理部をさらに備え、前記記憶領域管理部は、前記第１の記憶部に、前記第１の記憶領域と、前記第２の記憶領域とを生成する、付記４に記載の制御装置。
【０１０５】
（付記６）上記第２の視点に係る制御システムの通りである。
【０１０６】
（付記７）前記管理ノードは、前記第１の記憶領域と前記第２の記憶領域とを、前記第１の記憶部に生成する、付記６に記載の制御システム。
【０１０７】
（付記８）前記制御装置は、物理アドレスと、仮想アドレスとを対応付ける、アドレスマッピングテーブルを格納する、第２の記憶部と、前記第２の記憶部に、前記アドレスマッピングテーブルを格納する、記憶領域管理部と、をさらに備え、前記記憶領域管理部は、前記第１の記憶部に、前記第１の記憶領域と、前記第２の記憶領域とを生成する、付記６又は７に記載の制御システム。
【０１０８】
（付記９）上記第３の視点に係る制御方法の通りである。
【０１０９】
（付記１０）上記第４の視点に係るプログラムの通りである。
【０１１０】
なお、上記の特許文献、非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１１１】
２  ＮＦＶ  ＭＡＮＯ
３  ＶＮＦレイヤ
４  ＯＳＳ／ＢＳＳ
１０  ＮＦＶＩ
１１  ハードウェアリソース
１２  仮想化レイヤ
１３、１００１  仮想制御部
１４  仮想記憶部
１５  仮想通信部
２１  ＶＮＦオーケストレータ
２２  ＶＮＦマネージャ
２３  ＶＩＭ
３１、３１−ａ〜３１−ｃ  仮想ノード（ＶＮＦ）
３２、３２−ａ〜３２−ｃ  管理仮想ノード（ＥＭＳ）
１００  通信システム
１１１、１００２  物理制御部
１１２  物理記憶部
１１３  物理通信部
１２０  ＣＰＵ
１２１  非オフロード部
１３０  メインメモリ
１３１、１３３＿１〜１３３＿ｎ  リングキュー
１３２  メッセージバッファ
１４０  ＦＰＧＡ
１４１  オフロード部
１４２  レジスタ
１４３  アドレスマッピングテーブル
１５０  メモリ管理部
２００  クライアント
１０００  制御装置
１００３  第１の記憶部
１００４  第１の記憶領域
１００５  第２の記憶領域
【図１】
2018169978.tif 000003
【図２】
2018169978.tif 000004
【図３】
2018169978.tif 000005
【図４】
2018169978.tif 000006
【図５】
2018169978.tif 000007
【図６】
2018169978.tif 000008
【図７】
2018169978.tif 000009
【図８】
2018169978.tif 000010
【図９】
2018169978.tif 000011