JP2018169978A - Control apparatus, control system, control method, and program - Google Patents

Control apparatus, control system, control method, and program Download PDF

Info

Publication number
JP2018169978A
JP2018169978A JP2017069248A JP2017069248A JP2018169978A JP 2018169978 A JP2018169978 A JP 2018169978A JP 2017069248 A JP2017069248 A JP 2017069248A JP 2017069248 A JP2017069248 A JP 2017069248A JP 2018169978 A JP2018169978 A JP 2018169978A
Authority
JP
Japan
Prior art keywords
storage area
virtual
address
unit
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017069248A
Other languages
Japanese (ja)
Other versions
JP6737471B2 (en
Inventor
麻代 大平
Mayo Ohira
麻代 大平
正昭 小杉
Masaaki Kosugi
正昭 小杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
NEC Communication Systems Ltd
Original Assignee
NEC Corp
NEC Communication Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, NEC Communication Systems Ltd filed Critical NEC Corp
Priority to JP2017069248A priority Critical patent/JP6737471B2/en
Priority to EP18775870.1A priority patent/EP3605346A4/en
Priority to PCT/JP2018/013504 priority patent/WO2018181840A1/en
Priority to US16/498,043 priority patent/US20210103457A1/en
Publication of JP2018169978A publication Critical patent/JP2018169978A/en
Application granted granted Critical
Publication of JP6737471B2 publication Critical patent/JP6737471B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To contribute to improving transmission speed between a host machine and a guest machine.SOLUTION: A control apparatus includes one or more virtual machines controlling virtual network function, and a host machine controlling the virtual machines. The control apparatus includes: a virtual control unit for controlling the virtual machines; a physical control unit for controlling the host machine; and a first storage unit including a first storage area and a second storage area, and accessible from the virtual control unit and the physical control unit. The first storage area stores packet data. The second storage area stores a virtual address specifying the first storage area. The control apparatus specifies the first storage area on the basis of the virtual address stored in the second storage area, to read the packet data from the first storage area.SELECTED DRAWING: Figure 1

Description

本発明は、制御装置、制御システム、制御方法及びプログラムに関する。   The present invention relates to a control device, a control system, a control method, and a program.

ネットワーク機器(ルータ、ゲートウェイ、ファイアウォール、ロードバランサ等)の機能を仮想化する、ネットワーク機能仮想化(NFV;Network Function Virtualisation)の利用が広がっている。NFVにおいては、仮想マシン上で、ネットワーク機器の機能を実行することで、仮想マシンは、ネットワーク機器の機能を代替する。そして、近年、NFVにおいては、ネットワークのパフォーマンスの向上が求められている。   The use of network function virtualization (NFV), which virtualizes functions of network devices (routers, gateways, firewalls, load balancers, etc.), is spreading. In NFV, the virtual machine substitutes for the function of the network device by executing the function of the network device on the virtual machine. In recent years, NFV has been required to improve network performance.

特許文献1においては、物理インフラの計算機ノード毎の計算機資源量と、リンク毎のネットワーク資源量とに基づいて、仮想マシンと計算機ノードとの収容関係を探し、仮想マシン及び仮想接続を物理インフラ上に構築する技術が記載されている。   In Patent Document 1, a storage relationship between a virtual machine and a computer node is searched based on a computer resource amount for each computer node of a physical infrastructure and a network resource amount for each link, and a virtual machine and a virtual connection are found on the physical infrastructure. The technology to build is described.

特許文献2においては、ホストOSにおいて動作可能な外部プロセスと、仮想マシンとを接続する仮想通信路を、仮想マシン内で動作するゲストOS(Operating System)に構築させる技術が記載されている。   Japanese Patent Application Laid-Open No. 2004-228688 describes a technique for constructing a virtual communication path that connects an external process operable in a host OS and a virtual machine in a guest OS (Operating System) operating in the virtual machine.

特許文献3においては、1つ以上の仮想コンテナ内に、ネットワーク機能を配置し、仮想化ネットワークノードに対応するグループ識別子を使用して、仮想コンテナをグループ化する技術が記載されている。特許文献3に記載される技術においては、複数の仮想コンテナに分散してネットワーク機能を配置した場合であっても、仮想コンテナをグループ化することで、各仮想コンテナに対するリソースの割り当てを容易にする。   Patent Document 3 describes a technique in which network functions are arranged in one or more virtual containers, and virtual containers are grouped using group identifiers corresponding to virtual network nodes. In the technique described in Patent Document 3, even when a network function is distributed in a plurality of virtual containers, grouping of virtual containers facilitates resource allocation to each virtual container. .

ここで、非特許文献1においては、ETSI(European Telecommunications Standards Institute) NFV標準として、NFVを実現するための構成が開示されている。   Here, Non-Patent Document 1 discloses a configuration for realizing NFV as an ETSI (European Telecommunications Standards Institute) NFV standard.

さらに、近年、ETSI NFVにおいて、ネットワークのパフォーマンスの向上、総保有コスト(TCO;Total Cost of Ownership)の削減等を目的として、NFVI(Network Function Virtualisation Infrastructure)、VNF(Virtual Network Function)の一部の処理を、アクセラレータを用いて、オフロードすることが検討されている。例えば、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)、NPU(Network Processing Unit)等のアクセラレータを用いて、NFVI、VNFの一部の処理をオフロードすることが検討されている。   Furthermore, in recent years, some of NFVI (Network Function Virtualization Infrastructure) and VNF (Virtual Network Function) are part of ETSI NFV for the purpose of improving network performance and reducing total cost of ownership (TCO). It is considered to offload processing using an accelerator. For example, using an accelerator such as a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or a network processing unit (NPU) to offload a part of processing of NFVI and VNF is being studied.

非特許文献2においては、ETSI NFVにおいて、アクセラレータを適用することで、NFVを構成する各機能コンポーネントに対して与える影響、及び各機能コンポーネント間の参照点(reference point)に対して与える影響について記載されている。   Non-Patent Document 2 describes the effect on the functional components that make up the NFV and the effect on the reference points between the functional components by applying an accelerator in ETSI NFV. Has been.

非特許文献3(特に「5 Use Cases」)においては、ETSI NFVにおいて、アクセラレータを用いて、NFVI、VNFの一部の処理をオフロードする、VNFのユースケースの一例が記載されている。   Non-Patent Document 3 (particularly “5 Use Cases”) describes an example of a VNF use case in which some processing of NFVI and VNF is offloaded using an accelerator in ETSI NFV.

特開2015−162147号公報JP, 2015-162147, A 特開2015−197874号公報JP2015-197874A 特表2016−509412号公報JP-T-2006-509212

“Network Functions Virtualisation(NFV);Architechtual Framework”、ETSI GS NFV 002 V1.1.1(2013−10)、[online]、平成29(2017)年2月16日検索、インターネット〈URL: http://www.etsi.org/deliver/etsi_gs/nfv/001_099/002/01.01.01_60/gs_nfv002v010101p.pdf〉“Network Functions Virtualization (NFV); Architectural Framework”, ETSI GS NFV 002 V1.1.1 (2013-10), [online], search on February 16, 2017, Internet <URL: http: / /www.etsi.org/deliver/etsi_gs/nfv/001_099/002/01.01.01_60/gs_nfv002v010101p.pdf> “Network Functions Virtualisation(NFV);Acceleration Technologies;Management Aspects Specification”、ETSI GS NFV−IFA 004 V2.1.1(2016−04)、[online]、平成29(2017)年2月16日検索、インターネット〈URL:http://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/004/02.01.01_60/gs_NFV-IFA004v020101p.pdf〉“Network Functions Virtualization (NFV); Acceleration Technologies; Management Aspects Specification”, ETSI GS NFV-IFA 004 V2.1. <URL: http://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/004/02.01.01_60/gs_NFV-IFA004v020101p.pdf> “Network Functions Virtualisation(NFV);Acceleration Technologies;Report on Acceleration Technologies & Use Cases”、ETSI GS NFV−IFA 001 V1.1.1(2015−12)、[online]、平成29(2017)年2月16日検索、インターネット〈URL:http://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/001/01.01.01_60/gs_nfv-ifa001v010101p.pdf〉“Network Functions Virtualization (NFV); Acceleration Technologies; Report on Acceleration Technologies & Use Cases”, ETSI GS NFV-IFA 001, 29, 2009, 2020. Day search, Internet <URL: http://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/001/01.01.01_60/gs_nfv-ifa001v010101p.pdf>

なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。   The disclosure of the above prior art document is incorporated herein by reference. The following analysis has been made from the viewpoint of the present invention.

上記の通り、非特許文献2において、アクセラレータを適用することで、NFVを構成する機能コンポーネント等に対して与える影響が記載されている。また、非特許文献3においては、アクセラレータを用いて、NFVI、VNFの一部の処理をオフロードする、VNFのユースケースの一例が記載されている。しかし、非特許文献1〜3においては、アクセラレータを適用した構成において、ホストマシンとゲストマシン間における通信速度の向上については記載されていない。   As described above, Non-Patent Document 2 describes the effect of applying an accelerator to functional components that constitute an NFV. Non-Patent Document 3 describes an example of a VNF use case in which an accelerator is used to offload a part of processing of NFVI and VNF. However, Non-Patent Documents 1 to 3 do not describe improvement in communication speed between the host machine and the guest machine in the configuration to which the accelerator is applied.

また、特許文献1〜3に記載された技術においては、NFVにおいて、アクセラレータを用いて、ホストマシンとゲストマシン間における通信速度の向上を実現する方法は記載されていない。   In addition, in the techniques described in Patent Documents 1 to 3, there is no description of a method for improving communication speed between a host machine and a guest machine using an accelerator in NFV.

そこで、本発明は、ホストマシンとゲストマシン間における通信速度の向上に貢献する制御装置、制御システム、制御方法及びプログラムを提供することを目的とする。   SUMMARY An advantage of some aspects of the invention is that it provides a control device, a control system, a control method, and a program that contribute to an improvement in communication speed between a host machine and a guest machine.

本発明の第1の視点によれば、制御装置が提供される。該制御装置は、仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される。
該制御装置は、前記仮想マシンを制御する、仮想制御部を備える。
さらに、該制御装置は、前記ホストマシンを制御する、物理制御部を備える。
さらに、該制御装置は、前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部を備える。
前記第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含んで構成される。
前記第1の記憶領域は、パケットデータが格納される。
前記第2の記憶領域は、前記第1の記憶領域を特定する仮想アドレスが格納される。
さらに、該制御装置は、前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定し、特定した前記第1の記憶領域から、パケットデータを読み出す。
According to a first aspect of the present invention, a control device is provided. The control device includes one or more virtual machines that control the virtual network function and a host machine that controls the virtual machines.
The control device includes a virtual control unit that controls the virtual machine.
Further, the control device includes a physical control unit that controls the host machine.
Furthermore, the control device includes a first storage unit that is accessible to the virtual control unit and the physical control unit.
The first storage unit includes a first storage area and a second storage area.
In the first storage area, packet data is stored.
The second storage area stores a virtual address that identifies the first storage area.
Further, the control device specifies the first storage area based on the virtual address stored in the second storage area, and reads packet data from the specified first storage area.

本発明の第2の視点によれば、制御システムが提供される。該制御システムは、仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される制御装置と、前記仮想マシンを割り当てる管理ノードと、を含んで構成される。
該制御装置は、前記仮想マシンを制御する、仮想制御部を備える。
さらに、該制御装置は、前記ホストマシンを制御する、物理制御部を備える。
さらに、該制御装置は、前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部を備え、前記第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含んで構成される。
前記第1の記憶領域は、パケットデータが格納される。
前記第2の記憶領域は、前記第1の記憶領域を特定する仮想アドレスが格納される。
さらに、該制御装置は、前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定し、特定した前記第1の記憶領域から、パケットデータを読み出す。
According to a second aspect of the present invention, a control system is provided. The control system includes one or more virtual machines that control a virtual network function, a control device that includes a host machine that controls the virtual machines, and a management node that allocates the virtual machines. Composed.
The control device includes a virtual control unit that controls the virtual machine.
Further, the control device includes a physical control unit that controls the host machine.
The control device further includes a first storage unit that is accessible to the virtual control unit and the physical control unit, and the first storage unit includes a first storage area and a second storage area. It is comprised including.
In the first storage area, packet data is stored.
The second storage area stores a virtual address that identifies the first storage area.
Further, the control device specifies the first storage area based on the virtual address stored in the second storage area, and reads packet data from the specified first storage area.

本発明の第3の視点によれば、制御方法が提供される。該制御方法は、制御装置の制御方法である。該制御装置は、仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、前記仮想マシンを制御する、仮想制御部と、前記ホストマシンを制御する、物理制御部と、前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部と、を備え、該第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含んで構成される。
該制御方法は、前記第1の記憶領域に、パケットデータを格納する工程を含む。
該制御方法は、前記第2の記憶領域に、前記第1の記憶領域を特定する仮想アドレスを格納する工程を含む。
該制御方法は、前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定する工程を含む。
該制御方法は、特定された前記第1の記憶領域から、パケットデータを読み出す工程を含む。
なお、本方法は、仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される制御装置という、特定の機械に結び付けられている。
According to a third aspect of the present invention, a control method is provided. The control method is a control method of the control device. The control device includes one or more virtual machines that control a virtual network function and a host machine that controls the virtual machines, and controls a virtual control unit that controls the virtual machines, and the host machine. A physical control unit that controls, a first storage unit that is accessible to the virtual control unit and the physical control unit, wherein the first storage unit includes a first storage area, a second storage unit, and a second storage unit. And a storage area.
The control method includes a step of storing packet data in the first storage area.
The control method includes a step of storing a virtual address that identifies the first storage area in the second storage area.
The control method includes a step of specifying the first storage area based on the virtual address stored in the second storage area.
The control method includes a step of reading packet data from the identified first storage area.
The present method is linked to a specific machine called a control device including one or more virtual machines that control the virtual network function and a host machine that controls the virtual machines.

本発明の第4の視点によれば、プログラムが提供される。該プログラムは、制御装置を制御するコンピュータに実行させるプログラムである。該制御装置は、仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、前記仮想マシンを制御する、仮想制御部と、前記ホストマシンを制御する、物理制御部と、前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部と、を備え、該第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含んで構成される。
該プログラムは、前記第1の記憶領域に、パケットデータを格納する処理を、前記コンピュータに実行させる。
該プログラムは、前記第2の記憶領域に、前記第1の記憶領域を特定する仮想アドレスを格納する処理を、前記コンピュータに実行させる。
該プログラムは、前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定する処理を、前記プログラムに実行させる。
該プログラムは、特定された前記第1の記憶領域から、パケットデータを読み出す処理を、前記プログラムに実行させる。
なお、本プログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
According to a fourth aspect of the present invention, a program is provided. The program is a program that is executed by a computer that controls the control device. The control device includes one or more virtual machines that control a virtual network function and a host machine that controls the virtual machines, and controls a virtual control unit that controls the virtual machines, and the host machine. A physical control unit that controls, a first storage unit that is accessible to the virtual control unit and the physical control unit, wherein the first storage unit includes a first storage area, a second storage unit, and a second storage unit. And a storage area.
The program causes the computer to execute a process of storing packet data in the first storage area.
The program causes the computer to execute a process of storing a virtual address specifying the first storage area in the second storage area.
The program causes the program to execute a process of specifying the first storage area based on the virtual address stored in the second storage area.
The program causes the program to execute a process of reading packet data from the identified first storage area.
The program can be recorded on a computer-readable storage medium. The storage medium may be non-transient such as a semiconductor memory, a hard disk, a magnetic recording medium, an optical recording medium, or the like. The present invention can also be embodied as a computer program product.

本発明の各視点によれば、ホストマシンとゲストマシン間における通信速度の向上に貢献する制御装置、制御システム、制御方法及びプログラムが提供される。   According to each aspect of the present invention, a control device, a control system, a control method, and a program that contribute to an improvement in communication speed between a host machine and a guest machine are provided.

一実施形態の概要を説明するための図である。It is a figure for demonstrating the outline | summary of one Embodiment. 通信システム100の内部構成の一例を示すブロック図である。2 is a block diagram illustrating an example of an internal configuration of a communication system 100. FIG. NFVI10の内部構成の一例を示すブロック図である。It is a block diagram which shows an example of an internal structure of NFVI10. 第1の実施形態に係る通信システム100の動作の一例を示すシークエンス図である。It is a sequence diagram which shows an example of operation | movement of the communication system 100 which concerns on 1st Embodiment. 第1の実施形態に係る通信システム100の動作の一例を示すシークエンス図である。It is a sequence diagram which shows an example of operation | movement of the communication system 100 which concerns on 1st Embodiment. 第1の実施形態に係る通信システム100の動作の一例を示すシークエンス図である。It is a sequence diagram which shows an example of operation | movement of the communication system 100 which concerns on 1st Embodiment. 第2の実施形態に係る通信システム100の動作の一例を示すシークエンス図である。It is a sequence diagram which shows an example of operation | movement of the communication system 100 which concerns on 2nd Embodiment. 第2の実施形態に係る通信システム100の動作の一例を示すシークエンス図である。It is a sequence diagram which shows an example of operation | movement of the communication system 100 which concerns on 2nd Embodiment. 第2の実施形態に係る通信システム100の動作の一例を示すシークエンス図である。It is a sequence diagram which shows an example of operation | movement of the communication system 100 which concerns on 2nd Embodiment.

初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各ブロック図のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。   First, an outline of an embodiment will be described with reference to FIG. Note that the reference numerals of the drawings attached to the outline are attached to the respective elements for convenience as an example for facilitating understanding, and the description of the outline is not intended to be any limitation. The connection lines between the blocks in each block diagram include both bidirectional and unidirectional. The unidirectional arrow schematically shows the main signal (data) flow and does not exclude bidirectionality.

上述の通り、ホストマシンとゲストマシン間における通信速度の向上に貢献する制御装置が望まれる。   As described above, a control device that contributes to improving the communication speed between the host machine and the guest machine is desired.

そこで、一例として、図1に示す制御装置1000を提供する。制御装置1000は、仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される。そして、制御装置1000は、仮想制御部1001と、物理制御部1002と、第1の記憶部1003とを備える。   Therefore, as an example, the control apparatus 1000 shown in FIG. 1 is provided. The control device 1000 includes one or more virtual machines that control the virtual network function and a host machine that controls the virtual machines. The control device 1000 includes a virtual control unit 1001, a physical control unit 1002, and a first storage unit 1003.

仮想制御部1001は、仮想マシンを制御する。物理制御部1002は、ホストマシンを制御する。   The virtual control unit 1001 controls the virtual machine. The physical control unit 1002 controls the host machine.

第1の記憶部1003は、第1の記憶領域1004と、第2の記憶領域1005とを含んで構成され、仮想制御部1001及び物理制御部1002がアクセス可能である。第1の記憶領域1004は、パケットデータを格納する。第2の記憶領域1005は、第1の記憶領域1004を特定する仮想アドレスを格納する。   The first storage unit 1003 includes a first storage area 1004 and a second storage area 1005, and is accessible to the virtual control unit 1001 and the physical control unit 1002. The first storage area 1004 stores packet data. The second storage area 1005 stores a virtual address that identifies the first storage area 1004.

制御装置1000は、第2の記憶領域1005に格納される仮想アドレスに基づいて、第1の記憶領域1004を特定し、特定した第1の記憶領域1004から、パケットデータを読み出す。   The control device 1000 identifies the first storage area 1004 based on the virtual address stored in the second storage area 1005, and reads the packet data from the identified first storage area 1004.

ここで、制御装置1000は、ホストマシンとゲストマシンとの双方からアクセス可能な記憶領域(第1の記憶領域1004)にパケットデータを格納する。そのため、制御装置1000は、ホストマシンとゲストマシン間において、パケットデータを送受信する場合に、該パケットデータを送信元から送信先に対して、コピーする必要がない。従って、制御装置1000は、ホストマシンとゲストマシン間における通信速度の向上に貢献する。   Here, the control device 1000 stores the packet data in a storage area (first storage area 1004) accessible from both the host machine and the guest machine. For this reason, when transmitting and receiving packet data between the host machine and the guest machine, the control apparatus 1000 does not need to copy the packet data from the transmission source to the transmission destination. Therefore, the control apparatus 1000 contributes to improving the communication speed between the host machine and the guest machine.

[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
[First Embodiment]
The first embodiment will be described in more detail with reference to the drawings.

図2は、本実施形態に係る通信システム100の内部構成の一例を示すブロック図である。   FIG. 2 is a block diagram illustrating an example of an internal configuration of the communication system 100 according to the present embodiment.

図2を参照すると、本実施形態に係る通信システム100は、NFV MANO(Network Function Virtualisation Management and Orchestration)2と、VNFレイヤ3と、NFVI10を含んで構成される。NFV MANO2、VNFレイヤ3、NFVI10は、OSS/BSS4と通信する。なお、図2は、本実施形態に係る通信システム100の一例であり、本実施形態に係る通信システム100を、図2に示す構成に限定する趣旨ではない。   Referring to FIG. 2, the communication system 100 according to the present embodiment includes an NFV MANO (Network Function Virtualization Management and Orchestration) 2, a VNF layer 3, and an NFVI 10. The NFV MANO2, the VNF layer 3, and the NFVI 10 communicate with the OSS / BSS4. 2 is an example of the communication system 100 according to the present embodiment, and the communication system 100 according to the present embodiment is not intended to be limited to the configuration illustrated in FIG.

まず、NFV MANO2について、詳細に説明する。   First, NFV MANO2 will be described in detail.

NFV MANO2は、VNFオーケストレータ21と、1又は2以上のVNFマネージャ22と、VIM(Virtualised Infrastructure Manager)23とを含んで構成される。   The NFV MANO 2 includes a VNF orchestrator 21, one or more VNF managers 22, and a VIM (Virtualized Infrastructure Manager) 23.

VNFオーケストレータ21は、クライアント200から、VNFの生成等の指示を受け付ける。   The VNF orchestrator 21 receives an instruction for generating a VNF from the client 200.

VNFマネージャ22は、VNFのライフサイクルを管理する。VNFマネージャ22は、VNF毎に、NFV MANO2に配置されても良い。または、一つのVNFマネージャ22が、2以上のVNFのライフサイクルを管理しても良い。   The VNF manager 22 manages the life cycle of the VNF. The VNF manager 22 may be arranged in the NFV MANO 2 for each VNF. Alternatively, one VNF manager 22 may manage the life cycle of two or more VNFs.

VIM23は、VNFのリソースを管理する処理を実行する。   The VIM 23 executes a process for managing VNF resources.

(VNFレイヤ3)
次に、VNFレイヤ3について、詳細に説明する。
(VNF layer 3)
Next, the VNF layer 3 will be described in detail.

VNFレイヤ3は、仮想ノード(VNF)(31−a〜31−c)と、管理仮想ノード(EMS(Element Management System))(32−a〜32−c)とを含んで構成される。なお、以下の説明では、仮想ノード(VNF)(31−a〜31−c)、管理仮想ノード(EMS)(32−a〜32−c)は、夫々、区別する必要が無い場合には、仮想ノード(VNF)31、管理仮想ノード(EMS)32と表記する。また、図2は、3つの仮想ノード(VNF)(31−a〜31−c)、3つの管理仮想ノード(EMS)(32−a〜32−c)を示すが、これは、仮想ノード(VNF)31、管理仮想ノード(EMS)32を3つに限定する趣旨ではない。   The VNF layer 3 includes virtual nodes (VNF) (31-a to 31-c) and management virtual nodes (EMS (Element Management System)) (32-a to 32-c). In the following description, the virtual nodes (VNF) (31-a to 31-c) and the management virtual nodes (EMS) (32-a to 32-c) need not be distinguished from each other. They are represented as a virtual node (VNF) 31 and a management virtual node (EMS) 32. FIG. 2 also shows three virtual nodes (VNF) (31-a to 31-c) and three management virtual nodes (EMS) (32-a to 32-c). VNF) 31 and management virtual node (EMS) 32 are not limited to three.

仮想ノード(VNF)31に、ネットワーク機能を設定(実装)することで、仮想ノード(VNF)31は、VNFを実現する。仮想マシンは、ネットワーク機能が設定された仮想ノード(VNF)31を利用して、仮想ノード(VNF)31に設定されたネットワーク機能を実行する。なお、一つの仮想ノード(VNF)31は、2以上の仮想マシンに対応しても良いことは勿論である。また、一つの仮想マシンは、2以上の仮想ノード(VNF)31を利用しても良いことは勿論である。   By setting (implementing) a network function in the virtual node (VNF) 31, the virtual node (VNF) 31 realizes VNF. The virtual machine executes the network function set in the virtual node (VNF) 31 using the virtual node (VNF) 31 in which the network function is set. Of course, one virtual node (VNF) 31 may correspond to two or more virtual machines. Of course, one virtual machine may use two or more virtual nodes (VNFs) 31.

例えば、仮想ノード(VNF)31は、Intel(登録商標) DPDK(Data Plane Development Kit)をベースとしたアプリケーションプログラム(以下、単にアプリケーションと呼ぶ)が対象になる。例えば、VNFの対象となるアプリケーションは、非特許文献3の5章の“Use Case”に記載のIP Sec tunnles Ttermination、Virual Base Station(VBS)L1、Trranscodin、NFVI Virtual Networking Offload、NFVI Secure Overlay Offload等を含む。さらに、VNFの対象となるアプリケーションは、キャリアネットワーク機能であるvCPE(virtualized Customer Promised Equipment)、vS−GW(virtualised Serving Gateway)、vP−GW(virtualized PDN(Packet Data Network) Gateway)等を含む。   For example, the virtual node (VNF) 31 is an application program based on Intel (registered trademark) DPDK (Data Plane Development Kit) (hereinafter simply referred to as an application). For example, applications targeted for VNF include IP Sec tunnels Termination, Virtual Base Station (VBS) L1, Transcoding, NFVI Virtual Network, etc., described in “Use Case” of Chapter 5 of Non-Patent Document 3. including. Further, applications targeted for VNF include vCPE (virtualized customer promised equipment), vS-GW (virtualized Serving Gateway), vP-GW (virtualized PDN (Packet Data Network) Gateway), etc., which are carrier network functions.

管理仮想ノード(EMS)32は、仮想ノード(VNF)31を管理する。具体的には、管理仮想ノード(EMS)32は、当該仮想ノード(VNF)31に設定されたネットワーク機能を管理する。管理仮想ノード(EMS)32は、夫々、一つの仮想ノード(VNF)31を管理しても良い。または、一つの管理仮想ノード(EMS)32が、2以上の仮想ノード(VNF)31を管理しても良い。   The management virtual node (EMS) 32 manages the virtual node (VNF) 31. Specifically, the management virtual node (EMS) 32 manages the network function set in the virtual node (VNF) 31. Each management virtual node (EMS) 32 may manage one virtual node (VNF) 31. Alternatively, one management virtual node (EMS) 32 may manage two or more virtual nodes (VNF) 31.

(NFVI10)
次に、NFVI10について、詳細に説明する。
(NFVI10)
Next, the NFVI 10 will be described in detail.

NFVI10は、物理制御部111と、物理記憶部112と、物理通信部113と、仮想化レイヤ12と、仮想制御部13と、仮想記憶部14と、仮想通信部15とを含んで構成される。   The NFVI 10 includes a physical control unit 111, a physical storage unit 112, a physical communication unit 113, a virtualization layer 12, a virtual control unit 13, a virtual storage unit 14, and a virtual communication unit 15. .

仮想マシンは、仮想制御部13と、仮想記憶部14と、仮想通信部15とを含んで構成される。ここで、NFVI10は、2以上の仮想マシンを含んで構成されても良い。なお、以下の説明では、仮想制御部13と、仮想記憶部14と、仮想通信部15を、夫々区別する必要が無い場合、単に、「仮想マシン」とも呼ぶ。また、以下の説明においては、仮想マシンを、ゲストマシンとも呼ぶ。   The virtual machine includes a virtual control unit 13, a virtual storage unit 14, and a virtual communication unit 15. Here, the NFVI 10 may be configured to include two or more virtual machines. In the following description, the virtual control unit 13, the virtual storage unit 14, and the virtual communication unit 15 are also simply referred to as “virtual machines” when there is no need to distinguish them. In the following description, a virtual machine is also called a guest machine.

物理制御部111は、NFVI10を構成する情報処理装置(コンピュータ)を制御する。例えば、本実施形態に係る物理制御部111は、FPGAを含んで構成される。   The physical control unit 111 controls information processing apparatuses (computers) that configure the NFVI 10. For example, the physical control unit 111 according to the present embodiment is configured to include an FPGA.

物理記憶部112は、NFVI10を構成する情報処理装置を動作させるために必要な情報を記憶する。例えば、物理記憶部112は、磁気ディスク装置や光ディスク装置、半導体メモリを用いて実現される。   The physical storage unit 112 stores information necessary for operating the information processing apparatus constituting the NFVI 10. For example, the physical storage unit 112 is realized using a magnetic disk device, an optical disk device, or a semiconductor memory.

特に、本実施形態に係る物理記憶部112は、物理制御部111及び仮想制御部13の双方からアクセス可能な共有メモリ領域を含んで構成される。共有メモリ領域の詳細については後述する。   In particular, the physical storage unit 112 according to the present embodiment includes a shared memory area that is accessible from both the physical control unit 111 and the virtual control unit 13. Details of the shared memory area will be described later.

物理通信部113は、物理制御部111が、仮想マシン、NFV MANO2、OSS/BSS4、クライアント200等と通信する処理を制御する。また、物理通信部113は、本実施形態に係る通信システム100とは異なるネットワークとの通信処理を制御する。例えば、物理通信部113は、NIC(Network Interface Card)等を用いて実現される。   The physical communication unit 113 controls processing in which the physical control unit 111 communicates with the virtual machine, NFV MANO2, OSS / BSS4, client 200, and the like. Further, the physical communication unit 113 controls communication processing with a network different from the communication system 100 according to the present embodiment. For example, the physical communication unit 113 is realized using a NIC (Network Interface Card) or the like.

仮想化レイヤ12は、ハードウェアを抽象化する処理を実行する。さらに、仮想化レイヤ12は、ハードウェアと、仮想マシン及びVNFとの接続を中継する。換言すると、ハードウェアは、仮想化レイヤ12を介して、仮想マシン及びVNFにアクセスし、仮想マシンに設定された処理、及びVNFを実行する。   The virtualization layer 12 executes a process of abstracting hardware. Furthermore, the virtualization layer 12 relays the connection between the hardware, the virtual machine, and the VNF. In other words, the hardware accesses the virtual machine and the VNF via the virtualization layer 12, and executes the process set in the virtual machine and the VNF.

仮想制御部13は、仮想ノード31に設定されるVNFを実行する。仮想記憶部14は、VNFを実行するために必要な情報を記憶する。仮想通信部15は、仮想マシンと、NFV MANO2間の通信処理を制御する。また、仮想通信部15は、仮想マシンと、OSS/BSS4間の通信処理を制御する。   The virtual control unit 13 executes VNF set in the virtual node 31. The virtual storage unit 14 stores information necessary for executing VNF. The virtual communication unit 15 controls communication processing between the virtual machine and NFV MANO2. The virtual communication unit 15 controls communication processing between the virtual machine and the OSS / BSS 4.

(OSS/BSS4)
OSS/BSS4は、通信サービスを提供する。例えば、通信事業者が、OSS/BSS4を管理する。
(OSS / BSS4)
The OSS / BSS 4 provides a communication service. For example, the communication carrier manages the OSS / BSS 4.

以下、NFVI10について、更に詳細に説明する。   Hereinafter, the NFVI 10 will be described in more detail.

図3は、本実施形態に係るNFVI10の内部構成のうち、本実施形態に関係するモジュールの一例を示すブロック図である。図3に示すNFVI10は、CPU120と、メインメモリ(図2に示す物理記憶部112に相当)130と、FPGA140と、メモリ管理部150を含んで構成される。また、以下の説明においては、FPGA140の回路を、オフロード部(図2に示す物理制御部111)141と呼ぶ。さらに、以下の説明においては、CPU120が実行する処理(プロセス)を、非オフロード部(図2に示す仮想制御部13に相当)121と呼ぶ。また、メインメモリ130を、第1の記憶部とも呼ぶ。また、メモリ管理部150を、記憶領域管理部とも呼ぶ。なお、図3は、1つのFPGA140と、1つのCPU120とを示すが、これは、本実施形態に係るFPGA140及びCPU120を、夫々、1つに限定する趣旨ではない。同様に、図3は、1つのオフロード部141と、1つの非オフロード部121とを示すが、これは、本実施形態に係るオフロード部141及び非オフロード部121を、夫々、1つに限定する趣旨ではない。NFVI10は、2以上のFPGA140、2以上のCPU120、2以上のオフロード部141、2以上の非オフロード部121を含んで構成されても良い。   FIG. 3 is a block diagram illustrating an example of modules related to the present embodiment in the internal configuration of the NFVI 10 according to the present embodiment. The NFVI 10 shown in FIG. 3 includes a CPU 120, a main memory (corresponding to the physical storage unit 112 shown in FIG. 2) 130, an FPGA 140, and a memory management unit 150. In the following description, the circuit of the FPGA 140 is referred to as an offload unit (physical control unit 111 shown in FIG. 2) 141. Further, in the following description, a process (process) executed by the CPU 120 is referred to as a non-offload unit (corresponding to the virtual control unit 13 illustrated in FIG. 2) 121. The main memory 130 is also referred to as a first storage unit. The memory management unit 150 is also referred to as a storage area management unit. 3 shows one FPGA 140 and one CPU 120, this is not intended to limit the FPGA 140 and the CPU 120 according to the present embodiment to one, respectively. Similarly, FIG. 3 shows one offload unit 141 and one non-offload unit 121, which includes an offload unit 141 and a non-offload unit 121 according to the present embodiment, respectively. It is not intended to be limited to one. The NFVI 10 may include two or more FPGAs 140, two or more CPUs 120, two or more offload units 141, and two or more non-offload units 121.

FPGA140のレジスタ(第2の記憶部とも呼ぶ)142は、アドレスマッピングテーブル143を格納する。アドレスマッピングテーブル143は、仮想アドレスと、物理アドレス間の対応関係を記憶する。   A register (also referred to as a second storage unit) 142 of the FPGA 140 stores an address mapping table 143. The address mapping table 143 stores the correspondence between virtual addresses and physical addresses.

メインメモリ130は、オフロード部141及び非オフロード部121の双方からアクセス可能な共有メモリ領域を含む。共有メモリ領域は、第2の記憶領域と、第1の記憶領域とを含んで構成される。   The main memory 130 includes a shared memory area accessible from both the offload unit 141 and the non-offload unit 121. The shared memory area includes a second storage area and a first storage area.

第1の記憶領域は、メッセージバッファ(message buffer;mbufとも呼ぶ)132を含んで構成される。メッセージバッファは、パケットデータを格納する。   The first storage area includes a message buffer (also referred to as a message buffer; mbuf) 132. The message buffer stores packet data.

第2の記憶領域は、メッセージバッファ132のアドレス(仮想アドレス)を格納する。例えば、第2の記憶領域は、リングキュー型の配列を利用して、メッセージバッファのアドレス(仮想アドレス)を格納しても良い。なお、以下の説明では、第2の記憶領域に、リングキュー型の配列を利用して、メッセージバッファ132のアドレスを格納する場合を例示して説明する。そして、以下の説明では、第2の記憶領域に格納されるリングキュー型の配列を、リングキュー131と表記する。   The second storage area stores the address (virtual address) of the message buffer 132. For example, the second storage area may store the address (virtual address) of the message buffer using a ring queue type array. In the following description, a case where the address of the message buffer 132 is stored in the second storage area using a ring queue type array will be described as an example. In the following description, a ring queue type array stored in the second storage area is referred to as a ring queue 131.

第2の記憶領域は、メッセージバッファ132のアドレス(仮想アドレス)を、リングキュー型の配列を利用して格納する。図3に示すように、第2の記憶領域は、複数のリングキュー(133_1〜133_n(nは2以上の自然数))を格納しても良いことは勿論である。   The second storage area stores the address (virtual address) of the message buffer 132 using a ring queue type array. As shown in FIG. 3, the second storage area may store a plurality of ring queues (133_1 to 133_n (n is a natural number of 2 or more)).

アドレスマッピングテーブル143は、物理アドレスと、仮想アドレス間の対応関係を記憶する。   The address mapping table 143 stores the correspondence between physical addresses and virtual addresses.

NFVI10は、リングキュー131と、メッセージバッファ132を利用して、オフロード部141と非オフロード部121間のパケット通信を行う。   The NFVI 10 performs packet communication between the offload unit 141 and the non-offload unit 121 using the ring queue 131 and the message buffer 132.

パケットデータの送信元(オフロード部141又は非オフロード部121)は、パケットデータをメッセージバッファ132に書き込む。そして、パケットデータの送信元(オフロード部141又は非オフロード部121)は、パケットデータを書き込んだメッセージバッファ132のアドレス(仮想アドレス)を、リングキュー131に格納(エンキュー(enqueue))する。   The packet data transmission source (offload unit 141 or non-offload unit 121) writes the packet data to the message buffer 132. The packet data transmission source (offload unit 141 or non-offload unit 121) stores (enqueues) the address (virtual address) of the message buffer 132 in which the packet data is written in the ring queue 131.

そして、パケットデータの送信先(オフロード部141又は非オフロード部121)は、リングキュー131から、メッセージバッファ132のアドレス(仮想アドレス)の取り出し(デキュー(dequeue))を行う。そして、パケットデータの送信先は、アドレスマッピングテーブル143を参照し、メッセージバッファ132の仮想アドレスを、メッセージバッファ132の物理アドレスに変換する。そして、パケットデータの送信先は、変換した物理アドレスに基づいて、メッセージバッファ132に格納されるパケットデータにアクセスする。   The packet data transmission destination (offload unit 141 or non-offload unit 121) extracts (dequeues) the address (virtual address) of the message buffer 132 from the ring queue 131. Then, the transmission destination of the packet data refers to the address mapping table 143 and converts the virtual address of the message buffer 132 to the physical address of the message buffer 132. The packet data transmission destination accesses the packet data stored in the message buffer 132 based on the converted physical address.

例えば、オフロード部141から、非オフロード部121にパケットデータを送信するとする。その場合、オフロード部141(パケットデータの送信元)は、パケットデータをメッセージバッファ132に書き込む。そして、オフロード部141(パケットデータの送信元)にパケットデータを書き込んだメッセージバッファ132のアドレスを、リングキュー131に格納する。   For example, it is assumed that packet data is transmitted from the offload unit 141 to the non-offload unit 121. In this case, the offload unit 141 (packet data transmission source) writes the packet data in the message buffer 132. Then, the address of the message buffer 132 in which the packet data is written in the offload unit 141 (packet data transmission source) is stored in the ring queue 131.

そして、非オフロード部121(パケットデータの送信先)は、パケットデータを書き込んだメッセージバッファ132のアドレス(仮想アドレス)を、リングキュー131から取り出す。そして、非オフロード部121(パケットデータの送信先)は、アドレスマッピングテーブル143を参照し、仮想アドレスを、物理アドレスに変換する。そして、非オフロード部121(パケットデータの送信先)は、取り出したメッセージバッファ132のアドレスに基づいて、メッセージバッファ132を読み出す。そして、非オフロード部121(パケットデータの送信先)は、変換した物理アドレスを用いて、メッセージバッファ132に格納されるパケットデータにアクセスする。   Then, the non-offload unit 121 (packet data transmission destination) takes out the address (virtual address) of the message buffer 132 in which the packet data is written from the ring queue 131. Then, the non-offload unit 121 (packet data transmission destination) refers to the address mapping table 143 and converts the virtual address into a physical address. Then, the non-offload unit 121 (packet data transmission destination) reads the message buffer 132 based on the extracted message buffer 132 address. Then, the non-offload unit 121 (packet data transmission destination) accesses the packet data stored in the message buffer 132 using the converted physical address.

メモリ管理部150は、ホストマシンのOS(Operating System)上で動作し、メインメモリ130を制御する。特に、メモリ管理部150は、リングキュー131及びメッセージバッファ132を管理する。   The memory management unit 150 operates on the OS (Operating System) of the host machine and controls the main memory 130. In particular, the memory management unit 150 manages the ring queue 131 and the message buffer 132.

次に、本実施形態に係る通信システム100の動作について詳細に説明する。   Next, the operation of the communication system 100 according to the present embodiment will be described in detail.

図4、図5、図6は、本実施形態に係る通信システム100の動作の一例を示すシークエンス図である。   4, 5, and 6 are sequence diagrams illustrating an example of the operation of the communication system 100 according to the present embodiment.

まず、図4を参照しながら、本実施形態に係る通信システム100の動作を説明する。   First, the operation of the communication system 100 according to the present embodiment will be described with reference to FIG.

まず、クライアント200が、NFVオーケストレータ21にVNFの生成を要求する(ステップS001)。そして、NFVオーケストレータ21は、VNFの生成の要求を受け付ける(ステップS002)。ここで、クライアント200は、例えば、NFV MANO2の保守担当者等が使用する端末装置、NFV MANO2の上位の装置等である。   First, the client 200 requests the NFV orchestrator 21 to generate a VNF (step S001). Then, the NFV orchestrator 21 receives a VNF generation request (step S002). Here, the client 200 is, for example, a terminal device used by a person in charge of maintenance of the NFV MANO2, an upper device of the NFV MANO2, and the like.

ステップS003において、NFVオーケストレータ21は、VNFを構成可能であるか否かを確認する。そして、NFVオーケストレータ21は、VNFを構成可能である場合には、VNFマネージャ22にVNFの生成を要求する(ステップS004)。そして、VNFマネージャ22は、VNFの生成の要求を受け付ける(ステップS005)。   In step S003, the NFV orchestrator 21 checks whether or not VNF can be configured. Then, if the VNF can be configured, the NFV orchestrator 21 requests the VNF manager 22 to generate the VNF (step S004). Then, the VNF manager 22 receives a VNF generation request (step S005).

ステップS006において、VNFマネージャ22は、リソース割り当てを、NFVオーケストレータ21に要求する。   In step S006, the VNF manager 22 requests the NFV orchestrator 21 to allocate resources.

ステップ007において、NFVオーケストレータ21は、リソース割り当ての事前処理を実行する。例えば、NFVオーケストレータ21は、リソースを確保し、割り当てを予約する処理等を、リソース割り当ての事前処理として実行する。   In step 007, the NFV orchestrator 21 executes resource allocation preprocessing. For example, the NFV orchestrator 21 executes a process for securing resources and reserving allocation as a pre-process for resource allocation.

ステップS008において、NFVオーケストレータ21は、リソース(制御、記憶、ネットワーク)の割り当てと、モジュール間の接続設定を、VIM23に要求する。   In step S008, the NFV orchestrator 21 requests the VIM 23 to allocate resources (control, storage, network) and to set connection between modules.

ステップS009において、VIM23は、システム内部のモジュールを接続するネットワークの割り当てを実行する。   In step S <b> 009, the VIM 23 executes assignment of a network that connects modules in the system.

次に、図5を参照しながら、引き続き、本実施形態に係る通信システム100の動作を説明する。   Next, the operation of the communication system 100 according to the present embodiment will be described with reference to FIG.

ステップS010において、VIM23は、仮想マシンを割り当てて、システム内部のモジュールを接続するネットワークに、仮想マシンを設定する。そしてVIM23は、リソースの割り当て完了を、NFVオーケストレータ21に応答(ACK(Acknowledgement))する(ステップS011)。そして、NFVオーケストレータ21は、リソースの割り当て完了を、VNFマネージャ22に応答(ACK)する(ステップS012)。   In step S010, the VIM 23 assigns a virtual machine and sets the virtual machine in a network that connects modules in the system. Then, the VIM 23 responds (ACK (Acknowledgement)) to the NFV orchestrator 21 that resource allocation is complete (step S011). Then, the NFV orchestrator 21 responds (ACKs) the resource allocation completion to the VNF manager 22 (step S012).

VNFマネージャ22は、VNFの生成が成功したことを、管理仮想ノード(EMS)に通知する(ステップS013)。   The VNF manager 22 notifies the management virtual node (EMS) that the VNF generation has succeeded (step S013).

ステップS014において、管理仮想ノード(EMS)は、VNFを構成する。具体的には、管理仮想ノード(EMS)は、仮想ノード(VNF)を構成するアプリケーションに、特定のパラメータを設定する。   In step S014, the management virtual node (EMS) configures the VNF. Specifically, the management virtual node (EMS) sets a specific parameter in an application that configures the virtual node (VNF).

次に、図6を参照しながら、引き続き、本実施形態に係る通信システム100の動作を説明する。   Next, the operation of the communication system 100 according to the present embodiment will be described with reference to FIG.

ステップS015において、VNFマネージャ22は、リングキュー131及びメッセージバッファ132を格納するメモリ領域名の情報を、VIMに通知する。つまり、VNFマネージャ22は、第2の記憶領域、及び第1の記憶領域を特定するための情報を、VIMに通知する。例えば、Intel DPDKの場合、NFVIを構成するホストマシン及びゲストマシンは、メモリ領域名を検索キーとして利用することで、該メモリ領域名に対応するメモリ領域に格納されるデータにアクセスできる。   In step S015, the VNF manager 22 notifies the VIM of information on the name of the memory area that stores the ring queue 131 and the message buffer 132. That is, the VNF manager 22 notifies the VIM of information for specifying the second storage area and the first storage area. For example, in the case of Intel DPDK, the host machine and guest machine constituting the NFVI can access data stored in the memory area corresponding to the memory area name by using the memory area name as a search key.

なお、ステップS015の処理を実行する場合には、メモリ管理部150は、リングキュー131及びメッセージバッファ132を格納するメモリ領域(第2の記憶領域、及び第1の記憶領域)を、確保済みであるものとする。例えば、メモリ管理部150は、VNFの生成処理が実行される前に、IVSHMEM(Inter VM(Virtual Machine) Shared Memory)等の技術を用いて、ホストマシンと仮想マシン間、及び仮想マシン間において、共通の仮想アドレスを用いて、アクセス可能な共有メモリ領域を確保しても良い。   Note that when executing the process of step S015, the memory management unit 150 has secured the memory areas (second storage area and first storage area) for storing the ring queue 131 and the message buffer 132. It shall be. For example, the memory management unit 150 uses a technique such as IVSHMEM (Inter VM (Virtual Machine) Shared Memory) before executing the VNF generation process, between the host machine and the virtual machine, and between the virtual machines. An accessible shared memory area may be secured using a common virtual address.

ステップS016において、VIM23は、リングキュー131及びメッセージバッファ132を格納するメモリ領域名の情報を、メモリ管理部150に通知する。つまり、VIM23は、第2の記憶領域、及び第1の記憶領域を特定するための情報を、メモリ管理部150に通知する。   In step S016, the VIM 23 notifies the memory management unit 150 of information on the name of the memory area that stores the ring queue 131 and the message buffer 132. That is, the VIM 23 notifies the memory management unit 150 of information for specifying the second storage area and the first storage area.

ステップS017において、メモリ管理部150は、物理アドレスと仮想アドレス間のアドレスマッピングテーブル143を作成する。具体的には、メモリ管理部150は、仮想アドレスから物理アドレスに変換するためのアドレスマッピングテーブル143を作成する。   In step S017, the memory management unit 150 creates an address mapping table 143 between physical addresses and virtual addresses. Specifically, the memory management unit 150 creates an address mapping table 143 for converting a virtual address to a physical address.

ステップS018において、メモリ管理部150は、物理アドレスと仮想メモリ間のアドレスマッピングテーブル143を、FPGA140に設定する。具体的には、メモリ管理部150は、仮想アドレスから物理アドレスに変換するためのアドレスマッピングテーブル143を、FPGA140のレジスタ142に設定する。さらに、メモリ管理部は、リングキュー131の仮想アドレスを、FPGA140のレジスタ142に設定する。   In step S018, the memory management unit 150 sets the address mapping table 143 between the physical address and the virtual memory in the FPGA 140. Specifically, the memory management unit 150 sets an address mapping table 143 for converting a virtual address to a physical address in the register 142 of the FPGA 140. Further, the memory management unit sets the virtual address of the ring queue 131 in the register 142 of the FPGA 140.

ステップS019において、VNFマネージャ22は、VNFの生成終了を、NFVオーケストレータ21に応答(ACK)する。そして、NFVオーケストレータ21は、VNFの生成終了を、クライアント200に応答(ACK)する。   In step S 019, the VNF manager 22 responds (ACKs) the end of VNF generation to the NFV orchestrator 21. Then, the NFV orchestrator 21 responds (ACKs) to the client 200 that VNF generation is completed.

以上のように、本実施形態に係るNFVI10は、ホストマシン及び仮想マシンの双方から、アクセス可能な共有メモリ領域を備える。そして、本実施形態に係るNFVI10は、ホストマシン及び仮想マシン間で通信を行う場合、共有メモリ領域にパケットデータを格納する。さらに、本実施形態に係るNFVI10は、アドレスマッピングテーブル143を利用して、ゲストマシン上のアドレス(仮想アドレス)とホストマシン上のアドレス(物理アドレス)間においてアドレスを変換する。そのため、本実施形態に係るNFVI10は、ホストマシンとゲストマシン間において、パケットデータをコピーする処理を実行せずに、パケットデータへのアクセスを実現できる。従って、本実施形態に係るNFVI10は、ホストマシンとゲストマシン間における通信速度の向上に貢献する。   As described above, the NFVI 10 according to the present embodiment includes a shared memory area that is accessible from both the host machine and the virtual machine. The NFVI 10 according to the present embodiment stores packet data in the shared memory area when performing communication between the host machine and the virtual machine. Further, the NFVI 10 according to the present embodiment uses the address mapping table 143 to convert an address between an address (virtual address) on the guest machine and an address (physical address) on the host machine. Therefore, the NFVI 10 according to the present embodiment can realize access to the packet data without executing a process of copying the packet data between the host machine and the guest machine. Therefore, the NFVI 10 according to the present embodiment contributes to improving the communication speed between the host machine and the guest machine.

[第2の実施形態]
次に、第2の実施形態について、図面を用いて詳細に説明する。
[Second Embodiment]
Next, a second embodiment will be described in detail with reference to the drawings.

本実施形態は、メモリ管理部が、仮想アドレスを物理アドレスに変換するためのアドレスマッピングテーブルを作成する形態である。なお、本実施形態における説明では、上記の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、上記の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。また、本実施形態における説明では、上記の実施形態と同一の作用効果についても、その説明を省略する。   In this embodiment, the memory management unit creates an address mapping table for converting a virtual address into a physical address. In the description of the present embodiment, the description of the same part as the above embodiment is omitted. Further, in the description of the present embodiment, the same components as those of the above-described embodiment are denoted by the same reference numerals, and the description thereof is omitted. In the description of the present embodiment, the description of the same operational effects as those of the above-described embodiment is also omitted.

本実施形態に係る通信システム100の内部構成は、図2に示す通りである。また、本実施形態に係るNFVI10の内部構成のうち、本実施形態に関係するモジュールは、図3に示す通りである。 The internal configuration of the communication system 100 according to the present embodiment is as shown in FIG. Further, of the internal configuration of the NFVI 10 according to the present embodiment, the modules related to the present embodiment are as shown in FIG.

図7、図8、図9は、本実施形態に係る通信システム100の動作の一例を示すシークエンス図である。図7に示すステップS101〜S109の処理は、図4に示すステップS001〜S009の処理と同様であるため、詳細な説明を省略する。   7, 8, and 9 are sequence diagrams illustrating an example of the operation of the communication system 100 according to the present embodiment. Since the processing of steps S101 to S109 illustrated in FIG. 7 is the same as the processing of steps S001 to S009 illustrated in FIG. 4, detailed description thereof is omitted.

以下、図8を参照しながら、本実施形態に係る通信システム100の動作について説明する。   Hereinafter, the operation of the communication system 100 according to the present embodiment will be described with reference to FIG.

VIM23は、システム内部のモジュールを接続するネットワークの割り当てを実行する(図7に示すステップS109)と、仮想マシンを割り当てて、システム内部のモジュールを接続するネットワークに、仮想マシンを設定する(ステップS110)。   When the VIM 23 assigns a network to which the system internal module is connected (step S109 shown in FIG. 7), the virtual machine is assigned and the virtual machine is set in the network to which the system internal module is connected (step S110). ).

ステップS111において、VIM23は、リングキュー131及びメッセージバッファ132を格納するメモリ領域の割り当てを、メモリ管理部150に要求する。   In step S111, the VIM 23 requests the memory management unit 150 to allocate a memory area for storing the ring queue 131 and the message buffer 132.

ステップS112において、メモリ管理部150は、リングキュー131及びメッセージバッファ132を格納するメモリ領域を、メインメモリ130に作成又は割り当てる。   In step S <b> 112, the memory management unit 150 creates or allocates a memory area for storing the ring queue 131 and the message buffer 132 in the main memory 130.

ステップS113において、メモリ管理部150は、物理アドレスと仮想アドレス間のアドレスマッピングテーブル143を作成する。具体的には、図6に示すステップS017の処理と同様に、メモリ管理部150は、仮想アドレスから物理アドレスに変換するためのアドレスマッピングテーブル143を作成する。   In step S113, the memory management unit 150 creates an address mapping table 143 between physical addresses and virtual addresses. Specifically, as in the process of step S017 shown in FIG. 6, the memory management unit 150 creates an address mapping table 143 for converting a virtual address to a physical address.

ステップS114において、メモリ管理部150は、物理アドレスと仮想アドレス間のアドレスマッピングテーブル143を、FPGA140に設定する。具体的には、図6に示すステップS018の処理と同様に、メモリ管理部150は、仮想アドレスから物理アドレスに変換するためのアドレスマッピングテーブル143を、FPGA140のレジスタ142に設定する。さらに、メモリ管理部は、リングキュー131の仮想アドレスを、FPGA140のレジスタ142に設定する。   In step S <b> 114, the memory management unit 150 sets the address mapping table 143 between the physical address and the virtual address in the FPGA 140. Specifically, similar to the processing in step S018 shown in FIG. 6, the memory management unit 150 sets the address mapping table 143 for converting the virtual address to the physical address in the register 142 of the FPGA 140. Further, the memory management unit sets the virtual address of the ring queue 131 in the register 142 of the FPGA 140.

そして、VIM23は、リソースの割り当て完了を、NFVオーケストレータ21に応答(ACK)する(図10に示すステップS115)。そして、本実施形態に係る通信システム100は、図10に示すステップS116〜S120の処理を実行する。図10に示すステップS116〜S120の処理は、図5に示すステップS011〜S014、及び図6に示すステップS019〜S020の処理と同様であるため、詳細な説明は省略する。   Then, the VIM 23 responds (ACKs) the resource allocation completion to the NFV orchestrator 21 (step S115 shown in FIG. 10). And the communication system 100 which concerns on this embodiment performs the process of step S116-S120 shown in FIG. The processes in steps S116 to S120 shown in FIG. 10 are the same as the processes in steps S011 to S014 shown in FIG. 5 and steps S019 to S020 shown in FIG.

以上のように、本実施形態に係るNFVI10は、メモリ管理部150が、アドレスを変換するためのアドレスマッピングテーブル143、及びメッセージバッファ132を作成又は割り当てる。そして、本実施形態に係るNFVI10は、ホストマシン及び仮想マシン間で通信を行う場合、共有メモリ領域にパケットデータを格納する。さらに、本実施形態に係るNFVI10は、アドレスマッピングテーブル143を利用して、ゲストマシン上のアドレス(仮想アドレス)とホストマシン上のアドレス(物理アドレス)間においてアドレスを変換する。そのため、本実施形態に係るNFVI10は、ホストマシンとゲストマシン間において、パケットデータをコピーする処理を実行せずに、パケットデータへのアクセスを実現できる。従って、本実施形態に係るNFVI10は、第1の実施形態と同様に、ホストマシンとゲストマシン間における通信速度の向上に貢献する。   As described above, in the NFVI 10 according to the present embodiment, the memory management unit 150 creates or assigns the address mapping table 143 and the message buffer 132 for converting addresses. The NFVI 10 according to the present embodiment stores packet data in the shared memory area when performing communication between the host machine and the virtual machine. Further, the NFVI 10 according to the present embodiment uses the address mapping table 143 to convert an address between an address (virtual address) on the guest machine and an address (physical address) on the host machine. Therefore, the NFVI 10 according to the present embodiment can realize access to the packet data without executing a process of copying the packet data between the host machine and the guest machine. Therefore, the NFVI 10 according to the present embodiment contributes to the improvement of the communication speed between the host machine and the guest machine, as in the first embodiment.

上述の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)上記第1の視点に係る制御装置の通りである。   (Additional remark 1) It is as the control apparatus which concerns on a said 1st viewpoint.

(付記2)物理アドレスと、仮想アドレスとを対応付ける、アドレスマッピングテーブルを格納する、第2の記憶部をさらに備え、前記物理制御部は、前記アドレスマッピングテーブルを管理する、付記1に記載の制御装置。   (Supplementary note 2) The control according to supplementary note 1, further comprising a second storage unit that stores an address mapping table that associates a physical address with a virtual address, and wherein the physical control unit manages the address mapping table apparatus.

(付記3)前記仮想制御部は、パケットデータを前記第1の記憶領域に格納し、前記パケットデータを格納した前記第1の記憶領域を特定する仮想アドレスを、前記第2の記憶領域に格納し、前記物理制御部は、前記第2の記憶領域から前記仮想アドレスを読み出し、前記アドレスマッピングテーブルを参照し、読み出した前記仮想アドレスを、前記第1の記憶領域を特定する物理アドレスに変換し、変換した前記物理アドレスに基づいて、前記第1の記憶領域から、パケットデータを読み出す、付記2に記載の制御装置。   (Supplementary Note 3) The virtual control unit stores packet data in the first storage area, and stores a virtual address specifying the first storage area in which the packet data is stored in the second storage area. Then, the physical control unit reads the virtual address from the second storage area, refers to the address mapping table, and converts the read virtual address into a physical address that identifies the first storage area. The control device according to appendix 2, wherein packet data is read from the first storage area based on the converted physical address.

(付記4)前記物理制御部は、パケットデータを前記第1の記憶領域に格納し、前記パケットデータを格納した前記第1の記憶領域を特定する仮想アドレスを、前記第2の記憶領域に格納し、前記仮想制御部は、前記第2の記憶領域から前記仮想アドレスを読み出し、前記アドレスマッピングテーブルを参照し、読み出した前記仮想アドレスを、前記第1の記憶領域を特定する物理アドレスに変換し、変換した前記物理アドレスに基づいて、前記第1の記憶領域から、パケットデータを読み出す、付記2又は3に記載の制御装置。   (Supplementary Note 4) The physical control unit stores packet data in the first storage area, and stores a virtual address that identifies the first storage area in which the packet data is stored in the second storage area. Then, the virtual control unit reads the virtual address from the second storage area, refers to the address mapping table, and converts the read virtual address into a physical address that identifies the first storage area. The control device according to attachment 2 or 3, wherein packet data is read from the first storage area based on the converted physical address.

(付記5)前記アドレスマッピングテーブルを、前記第2の記憶部に格納する、記憶領域管理部をさらに備え、前記記憶領域管理部は、前記第1の記憶部に、前記第1の記憶領域と、前記第2の記憶領域とを生成する、付記4に記載の制御装置。   (Supplementary Note 5) A storage area management unit that stores the address mapping table in the second storage unit is further included, and the storage area management unit includes the first storage area and the first storage area. The control device according to appendix 4, which generates the second storage area.

(付記6)上記第2の視点に係る制御システムの通りである。   (Additional remark 6) It is as the control system which concerns on the said 2nd viewpoint.

(付記7)前記管理ノードは、前記第1の記憶領域と前記第2の記憶領域とを、前記第1の記憶部に生成する、付記6に記載の制御システム。   (Supplementary note 7) The control system according to supplementary note 6, wherein the management node generates the first storage area and the second storage area in the first storage unit.

(付記8)前記制御装置は、物理アドレスと、仮想アドレスとを対応付ける、アドレスマッピングテーブルを格納する、第2の記憶部と、前記第2の記憶部に、前記アドレスマッピングテーブルを格納する、記憶領域管理部と、をさらに備え、前記記憶領域管理部は、前記第1の記憶部に、前記第1の記憶領域と、前記第2の記憶領域とを生成する、付記6又は7に記載の制御システム。   (Supplementary note 8) The control device stores an address mapping table that associates a physical address with a virtual address, stores a second storage unit, and stores the address mapping table in the second storage unit The storage area management unit further includes an area management unit, and the storage area management unit generates the first storage area and the second storage area in the first storage unit. Control system.

(付記9)上記第3の視点に係る制御方法の通りである。   (Additional remark 9) It is as the control method which concerns on the said 3rd viewpoint.

(付記10)上記第4の視点に係るプログラムの通りである。   (Additional remark 10) It is as the program concerning the said 4th viewpoint.

なお、上記の特許文献、非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。   It should be noted that the disclosures of the above-mentioned patent documents and non-patent documents are incorporated herein by reference. Within the scope of the entire disclosure (including claims) of the present invention, the embodiment can be changed and adjusted based on the basic technical concept. Further, various combinations or selections of various disclosed elements (including each element of each claim, each element of each embodiment, each element of each drawing, etc.) are possible within the framework of the entire disclosure of the present invention. is there. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the entire disclosure including the claims and the technical idea. In particular, with respect to the numerical ranges described in this document, any numerical value or small range included in the range should be construed as being specifically described even if there is no specific description.

2 NFV MANO
3 VNFレイヤ
4 OSS/BSS
10 NFVI
11 ハードウェアリソース
12 仮想化レイヤ
13、1001 仮想制御部
14 仮想記憶部
15 仮想通信部
21 VNFオーケストレータ
22 VNFマネージャ
23 VIM
31、31−a〜31−c 仮想ノード(VNF)
32、32−a〜32−c 管理仮想ノード(EMS)
100 通信システム
111、1002 物理制御部
112 物理記憶部
113 物理通信部
120 CPU
121 非オフロード部
130 メインメモリ
131、133_1〜133_n リングキュー
132 メッセージバッファ
140 FPGA
141 オフロード部
142 レジスタ
143 アドレスマッピングテーブル
150 メモリ管理部
200 クライアント
1000 制御装置
1003 第1の記憶部
1004 第1の記憶領域
1005 第2の記憶領域
2 NFV MANO
3 VNF layer 4 OSS / BSS
10 NFVI
11 Hardware resource 12 Virtualization layer 13, 1001 Virtual control unit 14 Virtual storage unit 15 Virtual communication unit 21 VNF Orchestrator 22 VNF manager 23 VIM
31, 31-a to 31-c Virtual node (VNF)
32, 32-a to 32-c Management virtual node (EMS)
100 Communication System 111, 1002 Physical Control Unit 112 Physical Storage Unit 113 Physical Communication Unit 120 CPU
121 Non-offload unit 130 Main memory 131, 133_1 to 133_n Ring queue 132 Message buffer 140 FPGA
141 Offload unit 142 Register 143 Address mapping table 150 Memory management unit 200 Client 1000 Control device 1003 First storage unit 1004 First storage area 1005 Second storage area

Claims (10)

仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される制御装置であって、
前記仮想マシンを制御する、仮想制御部と、
前記ホストマシンを制御する、物理制御部と、
前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部と、
を備え、
前記第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含み、
前記第1の記憶領域は、パケットデータが格納され、
前記第2の記憶領域は、前記第1の記憶領域を特定する仮想アドレスが格納され、
前記制御装置は、前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定し、特定した前記第1の記憶領域から、パケットデータを読み出す、制御装置。
A control device including one or more virtual machines that control a virtual network function and a host machine that controls the virtual machines,
A virtual control unit for controlling the virtual machine;
A physical control unit for controlling the host machine;
A first storage unit accessible by the virtual control unit and the physical control unit;
With
The first storage unit includes a first storage area and a second storage area,
The first storage area stores packet data,
The second storage area stores a virtual address that identifies the first storage area,
The control device specifies the first storage region based on the virtual address stored in the second storage region, and reads packet data from the specified first storage region.
物理アドレスと、仮想アドレスとを対応付ける、アドレスマッピングテーブルを格納するための、第2の記憶部をさらに備え、
前記物理制御部は、前記アドレスマッピングテーブルを管理する、請求項1に記載の制御装置。
A second storage unit for storing an address mapping table that associates a physical address with a virtual address;
The control device according to claim 1, wherein the physical control unit manages the address mapping table.
前記仮想制御部は、パケットデータを前記第1の記憶領域に格納し、前記パケットデータを格納した前記第1の記憶領域を特定する仮想アドレスを、前記第2の記憶領域に格納し、
前記物理制御部は、前記第2の記憶領域から前記仮想アドレスを読み出し、前記アドレスマッピングテーブルを参照し、読み出した前記仮想アドレスを、前記第1の記憶領域を特定する物理アドレスに変換し、変換した前記物理アドレスに基づいて、前記第1の記憶領域から、パケットデータを読み出す、請求項2に記載の制御装置。
The virtual control unit stores packet data in the first storage area, stores a virtual address specifying the first storage area in which the packet data is stored in the second storage area,
The physical control unit reads the virtual address from the second storage area, refers to the address mapping table, converts the read virtual address to a physical address that identifies the first storage area, and converts The control device according to claim 2, wherein packet data is read from the first storage area based on the physical address.
前記物理制御部は、パケットデータを前記第1の記憶領域に格納し、前記パケットデータを格納した前記第1の記憶領域を特定する仮想アドレスを、前記第2の記憶領域に格納し、
前記仮想制御部は、前記第2の記憶領域から前記仮想アドレスを読み出し、前記アドレスマッピングテーブルを参照し、読み出した前記仮想アドレスを、前記第1の記憶領域を特定する物理アドレスに変換し、変換した前記物理アドレスに基づいて、前記第1の記憶領域から、パケットデータを読み出す、請求項2又は3に記載の制御装置。
The physical control unit stores packet data in the first storage area, stores a virtual address that identifies the first storage area in which the packet data is stored in the second storage area,
The virtual control unit reads the virtual address from the second storage area, refers to the address mapping table, converts the read virtual address to a physical address that identifies the first storage area, and converts the virtual address The control device according to claim 2 or 3, wherein packet data is read from the first storage area based on the physical address.
前記アドレスマッピングテーブルを、前記第2の記憶部に格納する、記憶領域管理部をさらに備え、
前記記憶領域管理部は、前記第1の記憶部に、前記第1の記憶領域と、前記第2の記憶領域とを生成する、請求項4に記載の制御装置。
A storage area management unit for storing the address mapping table in the second storage unit;
The control device according to claim 4, wherein the storage area management unit generates the first storage area and the second storage area in the first storage unit.
仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される制御装置と、
前記仮想マシンを割り当てる管理ノードと、
を含んで構成される制御システムであって、
前記制御装置は、
仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、
前記仮想マシンを制御する、仮想制御部と、
前記ホストマシンを制御する、物理制御部と、
前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部と、
を備え、
前記第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含み、
前記第1の記憶領域は、パケットデータが格納され、
前記第2の記憶領域は、前記第1の記憶領域を特定する仮想アドレスが格納され、
前記制御装置は、前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定し、特定した前記第1の記憶領域から、パケットデータを読み出す、制御システム。
A control apparatus including one or more virtual machines that control the virtual network function and a host machine that controls the virtual machines;
A management node to which the virtual machine is assigned;
A control system comprising:
The control device includes:
Including one or more virtual machines that control the virtual network function and a host machine that controls the virtual machines;
A virtual control unit for controlling the virtual machine;
A physical control unit for controlling the host machine;
A first storage unit accessible by the virtual control unit and the physical control unit;
With
The first storage unit includes a first storage area and a second storage area,
The first storage area stores packet data,
The second storage area stores a virtual address that identifies the first storage area,
The control system, wherein the control device specifies the first storage area based on the virtual address stored in the second storage area, and reads packet data from the specified first storage area.
前記管理ノードは、前記第1の記憶領域と前記第2の記憶領域とを、前記第1の記憶部に生成する、請求項6に記載の制御システム。   The control system according to claim 6, wherein the management node generates the first storage area and the second storage area in the first storage unit. 前記制御装置は、
物理アドレスと、仮想アドレスとを対応付ける、アドレスマッピングテーブルを格納する、第2の記憶部と、
前記第2の記憶部に、前記アドレスマッピングテーブルを格納する、記憶領域管理部と、
をさらに備え、
前記記憶領域管理部は、前記第1の記憶部に、前記第1の記憶領域と、前記第2の記憶領域とを生成する、請求項6又は7に記載の制御システム。
The control device includes:
A second storage unit that stores an address mapping table that associates a physical address with a virtual address;
A storage area management unit for storing the address mapping table in the second storage unit;
Further comprising
The control system according to claim 6 or 7, wherein the storage area management unit generates the first storage area and the second storage area in the first storage unit.
仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、前記仮想マシンを制御する、仮想制御部と、前記ホストマシンを制御する、物理制御部と、前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部と、を備え、該第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含んで構成される制御装置の制御方法であって、
前記第1の記憶領域に、パケットデータを格納する工程と、
前記第2の記憶領域に、前記第1の記憶領域を特定する仮想アドレスを格納する工程と、
前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定する工程と、
特定された前記第1の記憶領域から、パケットデータを読み出す工程と、
を含む制御方法。
One or two or more virtual machines that control the virtual network function and a host machine that controls the virtual machine, a virtual control unit that controls the virtual machine, and a physical control that controls the host machine And a first storage unit accessible by the virtual control unit and the physical control unit, the first storage unit comprising a first storage area and a second storage area A control method for a control device comprising:
Storing packet data in the first storage area;
Storing a virtual address for identifying the first storage area in the second storage area;
Identifying the first storage area based on the virtual address stored in the second storage area;
Reading packet data from the identified first storage area;
Control method.
仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、前記仮想マシンを制御する、仮想制御部と、前記ホストマシンを制御する、物理制御部と、前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部と、を備え、該第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含んで構成される制御装置を制御するコンピュータに実行させるプログラムであって、
前記第1の記憶領域に、パケットデータを格納する処理と、
前記第2の記憶領域に、前記第1の記憶領域を特定する仮想アドレスを格納する処理と、
前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定する処理と、
特定された前記第1の記憶領域から、パケットデータを読み出す処理と、
を前記コンピュータに実行させるプログラム。
One or two or more virtual machines that control the virtual network function and a host machine that controls the virtual machine, a virtual control unit that controls the virtual machine, and a physical control that controls the host machine And a first storage unit accessible by the virtual control unit and the physical control unit, the first storage unit comprising a first storage area and a second storage area A program that causes a computer that controls a control device including the program to be executed,
A process of storing packet data in the first storage area;
A process of storing a virtual address for identifying the first storage area in the second storage area;
A process of identifying the first storage area based on the virtual address stored in the second storage area;
A process of reading packet data from the identified first storage area;
A program for causing the computer to execute.
JP2017069248A 2017-03-30 2017-03-30 Control device, control system, control method, and program Active JP6737471B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017069248A JP6737471B2 (en) 2017-03-30 2017-03-30 Control device, control system, control method, and program
EP18775870.1A EP3605346A4 (en) 2017-03-30 2018-03-29 Control device, control system, control method and program
PCT/JP2018/013504 WO2018181840A1 (en) 2017-03-30 2018-03-29 Control device, control system, control method and program
US16/498,043 US20210103457A1 (en) 2017-03-30 2018-05-29 Control apparatus, control system, control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017069248A JP6737471B2 (en) 2017-03-30 2017-03-30 Control device, control system, control method, and program

Publications (2)

Publication Number Publication Date
JP2018169978A true JP2018169978A (en) 2018-11-01
JP6737471B2 JP6737471B2 (en) 2020-08-12

Family

ID=63676228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017069248A Active JP6737471B2 (en) 2017-03-30 2017-03-30 Control device, control system, control method, and program

Country Status (4)

Country Link
US (1) US20210103457A1 (en)
EP (1) EP3605346A4 (en)
JP (1) JP6737471B2 (en)
WO (1) WO2018181840A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023047436A1 (en) * 2021-09-21 2023-03-30 日本電信電話株式会社 Information processing device and information processing method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11563677B1 (en) 2018-06-28 2023-01-24 Cable Television Laboratories, Inc. Systems and methods for secure network management of virtual network function
US11822946B2 (en) * 2018-06-28 2023-11-21 Cable Television Laboratories, Inc. Systems and methods for secure network management of virtual network functions

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6085238A (en) * 1996-04-23 2000-07-04 Matsushita Electric Works, Ltd. Virtual LAN system
JP5986692B2 (en) 2013-01-11 2016-09-06 華為技術有限公司Huawei Technologies Co.,Ltd. Network function virtualization for network devices
JP2015162147A (en) 2014-02-28 2015-09-07 日本電信電話株式会社 Network function virtualization base management system and network function virtualization base management method
JP5960186B2 (en) 2014-04-03 2016-08-02 日本電信電話株式会社 Virtual channel construction system, virtual channel construction method, and virtual channel construction program
JP6458146B2 (en) * 2015-07-08 2019-01-23 株式会社日立製作所 Computer and memory area management method
WO2017022833A1 (en) * 2015-08-06 2017-02-09 日本電気株式会社 Vnf provision system, vnf id management device, method for managing vnf id, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023047436A1 (en) * 2021-09-21 2023-03-30 日本電信電話株式会社 Information processing device and information processing method

Also Published As

Publication number Publication date
EP3605346A1 (en) 2020-02-05
WO2018181840A1 (en) 2018-10-04
EP3605346A4 (en) 2020-06-10
US20210103457A1 (en) 2021-04-08
JP6737471B2 (en) 2020-08-12

Similar Documents

Publication Publication Date Title
US11934341B2 (en) Virtual RDMA switching for containerized
US10700979B2 (en) Load balancing for a virtual networking system
CN111542064B (en) Container arrangement management system and arrangement method for wireless access network
US20210397494A1 (en) Functional tuning for cloud based applications and connected clients
US8448171B2 (en) Communications between virtual machines that have been migrated
JP6200497B2 (en) Offload virtual machine flows to physical queues
KR101912073B1 (en) Virtualization gateway between virtualized and non-virtualized networks
US11095716B2 (en) Data replication for a virtual networking system
US10541925B2 (en) Non-DSR distributed load balancer with virtualized VIPS and source proxy on load balanced connection
US11188345B2 (en) High performance networking across docker containers
JP2018530214A (en) Method and apparatus for deploying network services
WO2018181840A1 (en) Control device, control system, control method and program
CN109743205A (en) A kind of cloud platform OS network management, device and server
US10931581B2 (en) MAC learning in a multiple virtual switch environment
US9577841B2 (en) System and method for packet encapsulation wherein translation control entries (TCEs) may redirect DMA for software defined networks
CN114595027A (en) Method and apparatus for application deployment across multiple computing domains
US11321112B2 (en) Discovery and recreation of communication endpoints in virtual machine migration
CN114816725A (en) System and method for managing a combined system using operational data
JP2019193297A (en) Method and apparatus for deploying network service
Khongbri How cloud infrastructure can be built with low resource across multiple Cloud Platforms?

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200616

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200709

R150 Certificate of patent or registration of utility model

Ref document number: 6737471

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150