WO2018181840A1 - 制御装置、制御システム、制御方法及びプログラム - Google Patents

制御装置、制御システム、制御方法及びプログラム Download PDF

Info

Publication number
WO2018181840A1
WO2018181840A1 PCT/JP2018/013504 JP2018013504W WO2018181840A1 WO 2018181840 A1 WO2018181840 A1 WO 2018181840A1 JP 2018013504 W JP2018013504 W JP 2018013504W WO 2018181840 A1 WO2018181840 A1 WO 2018181840A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage area
virtual
address
unit
storage
Prior art date
Application number
PCT/JP2018/013504
Other languages
English (en)
French (fr)
Inventor
麻代 大平
正昭 小杉
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to EP18775870.1A priority Critical patent/EP3605346A4/en
Priority to US16/498,043 priority patent/US20210103457A1/en
Publication of WO2018181840A1 publication Critical patent/WO2018181840A1/ja

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

Definitions

  • the present invention is based on the priority claim of Japanese Patent Application No. 2017-069248 (filed on Mar. 30, 2017), the entire contents of which are incorporated herein by reference. Shall.
  • the present invention relates to a control device, a control system, a control method, and a program.
  • NFV network function virtualization
  • the virtual machine substitutes for the function of the network device by executing the function of the network device on the virtual machine.
  • NFV has been required to improve network performance.
  • 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.
  • Japanese Patent Application Laid-Open No. 2004-228561 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.
  • 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. .
  • Non-Patent Document 1 discloses a configuration for realizing NFV as an ETSI (European Telecommunications Standards Institute) NFV standard.
  • NFVI Network Function Virtualization Infrastructure
  • VNF Virtual Network Function
  • TCO total cost of ownership
  • FPGA Field Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • NPU Network Processing Unit
  • Non-Patent Document 2 describes the effect on ETSI NFV on the functional components that make up the NFV and the effect on the reference points between the functional components by applying an accelerator. Has been.
  • 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.
  • Non-Patent Document 2 describes the effect of applying an accelerator on 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.
  • 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.
  • Patent Documents 1 to 3 there is no description of a method for improving the communication speed between the host machine and the guest machine using an accelerator in NFV.
  • an object of the present invention is to provide a control device, a control system, a control method, and a program that contribute to improving the communication speed between the host machine and the guest machine.
  • a 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.
  • 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.
  • a 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.
  • 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 is provided.
  • 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.
  • 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.
  • 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.
  • a control device a control system, a control method, and a program that contribute to improving the communication speed between the host machine and the guest machine are provided.
  • FIG. 2 is a block diagram illustrating an example of an internal configuration of a communication system 100.
  • FIG. It is a block diagram which shows an example of an internal structure of NFVI10. It is a sequence diagram which shows an example of operation
  • 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.
  • a control device that contributes to improving the communication speed between the host machine and the guest machine is desired.
  • the control device 1000 shown in FIG. 1 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.
  • the virtual control unit 1001 controls the virtual machine.
  • the physical control unit 1002 controls the host machine.
  • 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.
  • the control apparatus 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.
  • 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.
  • FIG. 2 is a block diagram illustrating an example of an internal configuration of the communication system 100 according to the present embodiment.
  • the communication system 100 includes an NFV MANO (Network Function Virtual Management Management and Orchestration) 2, a VNF layer 3, and an NFVI 10.
  • NFV MANO2, VNF layer 3, and NFVI10 communicate with 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.
  • the NFV MANO 2 includes an NFV orchestrator 21, one or more VNF managers 22, and a VIM (Virtualized Infrastructure Manager) 23.
  • VIM Virtualized Infrastructure Manager
  • the NFV orchestrator 21 receives an instruction from the client 200 such as generation of 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.
  • VIM 23 executes processing for managing VNF resources.
  • VNF layer 3 Next, the VNF layer 3 will be described in detail.
  • the VNF layer 3 includes a virtual node (VNF) (31-a to 31-c) and a management virtual node (EMS (Element Management System)) (32-a to 32-c).
  • VNF virtual node
  • EMS Management Virtual node
  • 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 virtual node
  • EMS Management System
  • 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.
  • VNF virtual node
  • one virtual node (VNF) 31 may correspond to two or more virtual machines.
  • one virtual machine may use two or more virtual nodes (VNFs) 31.
  • 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).
  • the applications that are subject to VNF are IP Sec tunnels Termination, Virtual Base Station (VBS) L1, Transcodein, NFVI VirtualOlflowNowOfferNowNowOffurNourFlooNowOffurNourSoffO, etc. described in “Use Case” in Chapter 5 of Non-Patent Document 3. including.
  • VNF-targeted applications 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.
  • vCPE virtualized Customer Promised Equipment
  • vS-GW virtualized Serving Gateway
  • vP-GW virtualized PDN (Packet Data Network) Gateway
  • 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 Next, the NFVI 10 will be described in detail.
  • 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. .
  • the virtual machine includes a virtual control unit 13, a virtual storage unit 14, and a virtual communication unit 15.
  • the NFVI 10 may be configured to include two or more virtual machines.
  • 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.
  • a virtual machine is also called a guest machine.
  • the physical control unit 111 controls an information processing apparatus (computer) that configures the NFVI 10.
  • the physical control unit 111 according to the present embodiment is configured to include an FPGA.
  • the physical storage unit 112 stores information necessary for operating the information processing apparatus constituting the NFVI 10.
  • the physical storage unit 112 is realized using a magnetic disk device, an optical disk device, or a semiconductor memory.
  • the physical storage unit 112 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.
  • 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.
  • NIC Network Interface Card
  • 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.
  • 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 the NFV MANO2.
  • the virtual communication unit 15 controls communication processing between the virtual machine and the OSS / BSS 4.
  • the OSS / BSS 4 provides a communication service.
  • the communication carrier manages the OSS / BSS 4.
  • FIG. 3 is a block diagram illustrating an example of a module 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.
  • the circuit of the FPGA 140 is referred to as an offload unit (physical control unit 111 shown in FIG. 2) 141.
  • 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.
  • 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.
  • the 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.
  • 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.
  • the first storage area includes a message buffer (also called a message buffer; mbuf) 132.
  • the message buffer 132 stores packet data.
  • the second storage area stores the address (virtual address) of the message buffer 132.
  • the second storage area may store the address (virtual address) of the message buffer 132 using a ring queue type array.
  • a ring queue type array stored in the second storage area is referred to as a ring queue 131.
  • 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)).
  • the address mapping table 143 stores the correspondence between physical addresses and virtual addresses.
  • 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.
  • the transmission source of the packet data (offload unit 141 or non-offload unit 121) writes the packet data into 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • OS Operating System
  • 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).
  • the client 200 is, for example, a terminal device used by a person in charge of maintenance of the NFV MANO2, a device higher than the NFV MANO2, or the like.
  • step S003 the NFV orchestrator 21 confirms 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).
  • step S006 the VNF manager 22 requests the NFV orchestrator 21 to allocate resources.
  • the NFV orchestrator 21 executes resource allocation pre-processing.
  • the NFV orchestrator 21 executes a process for securing resources and reserving allocation as a pre-process for resource allocation.
  • step S008 the NFV orchestrator 21 requests the VIM 23 to allocate resources (control, storage, network) and set connection between modules.
  • step S009 the VIM 23 executes allocation of a network connecting the modules inside the system.
  • 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).
  • ACK Acknowledgement
  • the VNF manager 22 notifies the management virtual node (EMS) that the VNF has been successfully generated (step S013).
  • EMS management virtual node
  • step S014 the management virtual node (EMS) configures VNF. Specifically, the management virtual node (EMS) sets a specific parameter in an application that configures the virtual node (VNF).
  • 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.
  • 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.
  • the memory management unit 150 when executing the process of step S015, 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.
  • the memory management unit 150 uses a technique such as IVSHMEM (Inter VM (Virtual Machine) Shared Shared Memory) between the host machine and the virtual machine, and between the virtual machines.
  • IVSHMEM Inter VM (Virtual Machine) Shared Shared Memory
  • An accessible shared memory area may be secured using a common virtual address.
  • 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.
  • 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.
  • 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 150 sets the virtual address of the ring queue 131 in the register 142 of the FPGA 140.
  • step S019 the VNF manager 22 responds (ACKs) the NFV orchestrator 21 to the end of VNF generation. Then, the NFV orchestrator 21 responds (ACKs) to the client 200 that VNF generation is completed.
  • 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.
  • 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.
  • the memory management unit creates an address mapping table for converting a virtual address into a physical address.
  • the description of the same part as the above embodiment is omitted.
  • the same components as those of the above-described embodiment are denoted by the same reference numerals, and the description thereof is omitted.
  • the description of the same operational effects as those of the above-described embodiment is also omitted.
  • 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.
  • FIG. 7 is sequence diagrams showing an example of the operation of the communication system 100 according to the present embodiment.
  • the processing in steps S101 to S109 shown in FIG. 7 is the same as the processing in steps S001 to S009 shown in FIG.
  • step S109 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). ).
  • 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.
  • step S112 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.
  • step S113 the memory management unit 150 creates an address mapping table 143 between the physical address and the virtual address. 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.
  • step S114 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.
  • 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.
  • 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.
  • Mode 2 The control according to mode 1, further comprising a second storage unit that stores an address mapping table that associates a physical address with a virtual address, and the physical control unit manages the address mapping table apparatus.
  • the virtual control unit stores packet data in the first storage area, and stores a virtual address specifying the first storage area storing the packet data 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 mode 2, wherein packet data is read from the first storage area based on the converted physical address.
  • the physical 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 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 mode 2 or 3, wherein packet data is read from the first storage area based on the converted physical address.
  • Mode 5 A storage area management unit that stores the address mapping table in the second storage unit is further provided, and the storage area management unit includes the first storage area and the first storage area.
  • the control device according to mode 4 which generates the second storage area.
  • Mode 7 The control system according to mode 6, wherein the management node generates the first storage area and the second storage area in the first storage unit.
  • 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.
  • An area management unit wherein the storage area management unit generates the first storage area and the second storage area in the first storage unit. Control system.

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

本発明は、ホストマシンとゲストマシン間における通信速度の向上に貢献する。制御装置は、仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される。制御装置は、仮想マシンを制御する、仮想制御部と、ホストマシンを制御する、物理制御部と、第1の記憶領域と、第2の記憶領域とを含んで構成され、仮想制御部及び物理制御部がアクセス可能である、第1の記憶部と、を備え、第1の記憶領域は、パケットデータを格納し、第2の記憶領域は、第1の記憶領域を特定する仮想アドレスを格納する。制御装置は、第2の記憶領域に格納される仮想アドレスに基づいて、第1の記憶領域を特定し、特定した第1の記憶領域から、パケットデータを読み出す。

Description

制御装置、制御システム、制御方法及びプログラム
(関連出願についての記載)
 本発明は、日本国特許出願:特願2017-069248号(2017年3月30日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
 本発明は、制御装置、制御システム、制御方法及びプログラムに関する。
 ネットワーク機器(ルータ、ゲートウェイ、ファイアウォール、ロードバランサ等)の機能を仮想化する、ネットワーク機能仮想化(NFV;Network Function Virtualisation)の利用が広がっている。NFVにおいては、仮想マシン上で、ネットワーク機器の機能を実行することで、仮想マシンは、ネットワーク機器の機能を代替する。そして、近年、NFVにおいては、ネットワークのパフォーマンスの向上が求められている。
 特許文献1においては、物理インフラの計算機ノード毎の計算機資源量と、リンク毎のネットワーク資源量とに基づいて、仮想マシンと計算機ノードとの収容関係を探し、仮想マシン及び仮想接続を物理インフラ上に構築する技術が記載されている。
 特許文献2においては、ホストOSにおいて動作可能な外部プロセスと、仮想マシンとを接続する仮想通信路を、仮想マシン内で動作するゲストOS(Operating System)に構築させる技術が記載されている。
 特許文献3においては、1つ以上の仮想コンテナ内に、ネットワーク機能を配置し、仮想化ネットワークノードに対応するグループ識別子を使用して、仮想コンテナをグループ化する技術が記載されている。特許文献3に記載される技術においては、複数の仮想コンテナに分散してネットワーク機能を配置した場合であっても、仮想コンテナをグループ化することで、各仮想コンテナに対するリソースの割り当てを容易にする。
 ここで、非特許文献1においては、ETSI(European Telecommunications Standards Institute) NFV標準として、NFVを実現するための構成が開示されている。
 さらに、近年、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の一部の処理をオフロードすることが検討されている。
 非特許文献2においては、ETSI NFVにおいて、アクセラレータを適用することで、NFVを構成する各機能コンポーネントに対して与える影響、及び各機能コンポーネント間の参照点(reference point)に対して与える影響について記載されている。
 非特許文献3(特に「5 Use Cases」)においては、ETSI NFVにおいて、アクセラレータを用いて、NFVI、VNFの一部の処理をオフロードする、VNFのユースケースの一例が記載されている。
特開2015-162147号公報 特開2015-197874号公報 特表2016-509412号公報
"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 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 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〉
 なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
 上記の通り、非特許文献2において、アクセラレータを適用することで、NFVを構成する機能コンポーネント等に対して与える影響が記載されている。また、非特許文献3においては、アクセラレータを用いて、NFVI、VNFの一部の処理をオフロードする、VNFのユースケースの一例が記載されている。しかし、非特許文献1~3においては、アクセラレータを適用した構成において、ホストマシンとゲストマシン間における通信速度の向上については記載されていない。
 また、特許文献1~3に記載された技術においては、NFVにおいて、アクセラレータを用いて、ホストマシンとゲストマシン間における通信速度の向上を実現する方法は記載されていない。
 そこで、本発明は、ホストマシンとゲストマシン間における通信速度の向上に貢献する制御装置、制御システム、制御方法及びプログラムを提供することを目的とする。
 第1の視点によれば、制御装置が提供される。該制御装置は、仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される。
 該制御装置は、前記仮想マシンを制御する、仮想制御部を備える。
 さらに、該制御装置は、前記ホストマシンを制御する、物理制御部を備える。
 さらに、該制御装置は、前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部を備える。
 前記第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含んで構成される。
 前記第1の記憶領域は、パケットデータが格納される。
 前記第2の記憶領域は、前記第1の記憶領域を特定する仮想アドレスが格納される。
 さらに、該制御装置は、前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定し、特定した前記第1の記憶領域から、パケットデータを読み出す。
 第2の視点によれば、制御システムが提供される。該制御システムは、仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される制御装置と、前記仮想マシンを割り当てる管理ノードと、を含んで構成される。
 該制御装置は、前記仮想マシンを制御する、仮想制御部を備える。
 さらに、該制御装置は、前記ホストマシンを制御する、物理制御部を備える。
 さらに、該制御装置は、前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部を備え、前記第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含んで構成される。
 前記第1の記憶領域は、パケットデータが格納される。
 前記第2の記憶領域は、前記第1の記憶領域を特定する仮想アドレスが格納される。
 さらに、該制御装置は、前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定し、特定した前記第1の記憶領域から、パケットデータを読み出す。
 第3の視点によれば、制御方法が提供される。該制御方法は、制御装置の制御方法である。該制御装置は、仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、前記仮想マシンを制御する、仮想制御部と、前記ホストマシンを制御する、物理制御部と、前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部と、を備え、該第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含んで構成される。
 該制御方法は、前記第1の記憶領域に、パケットデータを格納する工程を含む。
 該制御方法は、前記第2の記憶領域に、前記第1の記憶領域を特定する仮想アドレスを格納する工程を含む。
 該制御方法は、前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定する工程を含む。
 該制御方法は、特定された前記第1の記憶領域から、パケットデータを読み出す工程を含む。
 なお、本方法は、仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される制御装置という、特定の機械に結び付けられている。
 第4の視点によれば、プログラムが提供される。該プログラムは、制御装置を制御するコンピュータに実行させるプログラムである。該制御装置は、仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、前記仮想マシンを制御する、仮想制御部と、前記ホストマシンを制御する、物理制御部と、前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部と、を備え、該第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含んで構成される。
 該プログラムは、前記第1の記憶領域に、パケットデータを格納する処理を、前記コンピュータに実行させる。
 該プログラムは、前記第2の記憶領域に、前記第1の記憶領域を特定する仮想アドレスを格納する処理を、前記コンピュータに実行させる。
 該プログラムは、前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定する処理を、前記プログラムに実行させる。
 該プログラムは、特定された前記第1の記憶領域から、パケットデータを読み出す処理を、前記プログラムに実行させる。
 なお、本プログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
 各視点によれば、ホストマシンとゲストマシン間における通信速度の向上に貢献する制御装置、制御システム、制御方法及びプログラムが提供される。
一実施形態の概要を説明するための図である。 通信システム100の内部構成の一例を示すブロック図である。 NFVI10の内部構成の一例を示すブロック図である。 第1の実施形態に係る通信システム100の動作の一例を示すシークエンス図である。 第1の実施形態に係る通信システム100の動作の一例を示すシークエンス図である。 第1の実施形態に係る通信システム100の動作の一例を示すシークエンス図である。 第2の実施形態に係る通信システム100の動作の一例を示すシークエンス図である。 第2の実施形態に係る通信システム100の動作の一例を示すシークエンス図である。 第2の実施形態に係る通信システム100の動作の一例を示すシークエンス図である。
 初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各ブロック図のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。
 上述の通り、ホストマシンとゲストマシン間における通信速度の向上に貢献する制御装置が望まれる。
 そこで、一例として、図1に示す制御装置1000を提供する。制御装置1000は、仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される。そして、制御装置1000は、仮想制御部1001と、物理制御部1002と、第1の記憶部1003とを備える。
 仮想制御部1001は、仮想マシンを制御する。物理制御部1002は、ホストマシンを制御する。
 第1の記憶部1003は、第1の記憶領域1004と、第2の記憶領域1005とを含んで構成され、仮想制御部1001及び物理制御部1002がアクセス可能である。第1の記憶領域1004は、パケットデータを格納する。第2の記憶領域1005は、第1の記憶領域1004を特定する仮想アドレスを格納する。
 制御装置1000は、第2の記憶領域1005に格納される仮想アドレスに基づいて、第1の記憶領域1004を特定し、特定した第1の記憶領域1004から、パケットデータを読み出す。
 ここで、制御装置1000は、ホストマシンとゲストマシンとの双方からアクセス可能な記憶領域(第1の記憶領域1004)にパケットデータを格納する。そのため、制御装置1000は、ホストマシンとゲストマシン間において、パケットデータを送受信する場合に、該パケットデータを送信元から送信先に対して、コピーする必要がない。従って、制御装置1000は、ホストマシンとゲストマシン間における通信速度の向上に貢献する。
[第1の実施形態]
 第1の実施形態について、図面を用いてより詳細に説明する。
 図2は、本実施形態に係る通信システム100の内部構成の一例を示すブロック図である。
 図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に示す構成に限定する趣旨ではない。
 まず、NFV MANO2について、詳細に説明する。
 NFV MANO2は、NFVオーケストレータ21と、1又は2以上のVNFマネージャ22と、VIM(Virtualised Infrastructure Manager)23とを含んで構成される。
 NFVオーケストレータ21は、クライアント200から、VNFの生成等の指示を受け付ける。
 VNFマネージャ22は、VNFのライフサイクルを管理する。VNFマネージャ22は、VNF毎に、NFV MANO2に配置されても良い。または、一つのVNFマネージャ22が、2以上のVNFのライフサイクルを管理しても良い。
 VIM23は、VNFのリソースを管理する処理を実行する。
(VNFレイヤ3)
 次に、VNFレイヤ3について、詳細に説明する。
 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つに限定する趣旨ではない。
 仮想ノード(VNF)31に、ネットワーク機能を設定(実装)することで、仮想ノード(VNF)31は、VNFを実現する。仮想マシンは、ネットワーク機能が設定された仮想ノード(VNF)31を利用して、仮想ノード(VNF)31に設定されたネットワーク機能を実行する。なお、一つの仮想ノード(VNF)31は、2以上の仮想マシンに対応しても良いことは勿論である。また、一つの仮想マシンは、2以上の仮想ノード(VNF)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)等を含む。
 管理仮想ノード(EMS)32は、仮想ノード(VNF)31を管理する。具体的には、管理仮想ノード(EMS)32は、当該仮想ノード(VNF)31に設定されたネットワーク機能を管理する。管理仮想ノード(EMS)32は、夫々、一つの仮想ノード(VNF)31を管理しても良い。または、一つの管理仮想ノード(EMS)32が、2以上の仮想ノード(VNF)31を管理しても良い。
(NFVI10)
 次に、NFVI10について、詳細に説明する。
 NFVI10は、物理制御部111と、物理記憶部112と、物理通信部113と、仮想化レイヤ12と、仮想制御部13と、仮想記憶部14と、仮想通信部15とを含んで構成される。
 仮想マシンは、仮想制御部13と、仮想記憶部14と、仮想通信部15とを含んで構成される。ここで、NFVI10は、2以上の仮想マシンを含んで構成されても良い。なお、以下の説明では、仮想制御部13と、仮想記憶部14と、仮想通信部15を、夫々区別する必要が無い場合、単に、「仮想マシン」とも呼ぶ。また、以下の説明においては、仮想マシンを、ゲストマシンとも呼ぶ。
 物理制御部111は、NFVI10を構成する情報処理装置(コンピュータ)を制御する。例えば、本実施形態に係る物理制御部111は、FPGAを含んで構成される。
 物理記憶部112は、NFVI10を構成する情報処理装置を動作させるために必要な情報を記憶する。例えば、物理記憶部112は、磁気ディスク装置や光ディスク装置、半導体メモリを用いて実現される。
 特に、本実施形態に係る物理記憶部112は、物理制御部111及び仮想制御部13の双方からアクセス可能な共有メモリ領域を含んで構成される。共有メモリ領域の詳細については後述する。
 物理通信部113は、物理制御部111が、仮想マシン、NFV MANO2、OSS/BSS4、クライアント200等と通信する処理を制御する。また、物理通信部113は、本実施形態に係る通信システム100とは異なるネットワークとの通信処理を制御する。例えば、物理通信部113は、NIC(Network Interface Card)等を用いて実現される。
 仮想化レイヤ12は、ハードウェアを抽象化する処理を実行する。さらに、仮想化レイヤ12は、ハードウェアと、仮想マシン及びVNFとの接続を中継する。換言すると、ハードウェアは、仮想化レイヤ12を介して、仮想マシン及びVNFにアクセスし、仮想マシンに設定された処理、及びVNFを実行する。
 仮想制御部13は、仮想ノード31に設定されるVNFを実行する。仮想記憶部14は、VNFを実行するために必要な情報を記憶する。仮想通信部15は、仮想マシンと、NFV MANO2間の通信処理を制御する。また、仮想通信部15は、仮想マシンと、OSS/BSS4間の通信処理を制御する。
(OSS/BSS4)
 OSS/BSS4は、通信サービスを提供する。例えば、通信事業者が、OSS/BSS4を管理する。
 以下、NFVI10について、更に詳細に説明する。
 図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を含んで構成されても良い。
 FPGA140のレジスタ(第2の記憶部とも呼ぶ)142は、アドレスマッピングテーブル143を格納する。アドレスマッピングテーブル143は、仮想アドレスと、物理アドレス間の対応関係を記憶する。
 メインメモリ130は、オフロード部141及び非オフロード部121の双方からアクセス可能な共有メモリ領域を含む。共有メモリ領域は、第2の記憶領域と、第1の記憶領域とを含んで構成される。
 第1の記憶領域は、メッセージバッファ(message buffer;mbufとも呼ぶ)132を含んで構成される。メッセージバッファ132は、パケットデータを格納する。
 第2の記憶領域は、メッセージバッファ132のアドレス(仮想アドレス)を格納する。例えば、第2の記憶領域は、リングキュー型の配列を利用して、メッセージバッファ132のアドレス(仮想アドレス)を格納しても良い。なお、以下の説明では、第2の記憶領域に、リングキュー型の配列を利用して、メッセージバッファ132のアドレスを格納する場合を例示して説明する。そして、以下の説明では、第2の記憶領域に格納されるリングキュー型の配列を、リングキュー131と表記する。
 第2の記憶領域は、メッセージバッファ132のアドレス(仮想アドレス)を、リングキュー型の配列を利用して格納する。図3に示すように、第2の記憶領域は、複数のリングキュー(133_1~133_n(nは2以上の自然数))を格納しても良いことは勿論である。
 アドレスマッピングテーブル143は、物理アドレスと、仮想アドレス間の対応関係を記憶する。
 NFVI10は、リングキュー131と、メッセージバッファ132を利用して、オフロード部141と非オフロード部121間のパケット通信を行う。
 パケットデータの送信元(オフロード部141又は非オフロード部121)は、パケットデータをメッセージバッファ132に書き込む。そして、パケットデータの送信元(オフロード部141又は非オフロード部121)は、パケットデータを書き込んだメッセージバッファ132のアドレス(仮想アドレス)を、リングキュー131に格納(エンキュー(enqueue))する。
 そして、パケットデータの送信先(オフロード部141又は非オフロード部121)は、リングキュー131から、メッセージバッファ132のアドレス(仮想アドレス)の取り出し(デキュー(dequeue))を行う。そして、パケットデータの送信先は、アドレスマッピングテーブル143を参照し、メッセージバッファ132の仮想アドレスを、メッセージバッファ132の物理アドレスに変換する。そして、パケットデータの送信先は、変換した物理アドレスに基づいて、メッセージバッファ132に格納されるパケットデータにアクセスする。
 例えば、オフロード部141から、非オフロード部121にパケットデータを送信するとする。その場合、オフロード部141(パケットデータの送信元)は、パケットデータをメッセージバッファ132に書き込む。そして、オフロード部141(パケットデータの送信元)にパケットデータを書き込んだメッセージバッファ132のアドレスを、リングキュー131に格納する。
 そして、非オフロード部121(パケットデータの送信先)は、パケットデータを書き込んだメッセージバッファ132のアドレス(仮想アドレス)を、リングキュー131から取り出す。そして、非オフロード部121(パケットデータの送信先)は、アドレスマッピングテーブル143を参照し、仮想アドレスを、物理アドレスに変換する。そして、非オフロード部121(パケットデータの送信先)は、取り出したメッセージバッファ132のアドレスに基づいて、メッセージバッファ132を読み出す。そして、非オフロード部121(パケットデータの送信先)は、変換した物理アドレスを用いて、メッセージバッファ132に格納されるパケットデータにアクセスする。
 メモリ管理部150は、ホストマシンのOS(Operating System)上で動作し、メインメモリ130を制御する。特に、メモリ管理部150は、リングキュー131及びメッセージバッファ132を管理する。
 次に、本実施形態に係る通信システム100の動作について詳細に説明する。
 図4、図5、図6は、本実施形態に係る通信システム100の動作の一例を示すシークエンス図である。
 まず、図4を参照しながら、本実施形態に係る通信システム100の動作を説明する。
 まず、クライアント200が、NFVオーケストレータ21にVNFの生成を要求する(ステップS001)。そして、NFVオーケストレータ21は、VNFの生成の要求を受け付ける(ステップS002)。ここで、クライアント200は、例えば、NFV MANO2の保守担当者等が使用する端末装置、NFV MANO2の上位の装置等である。
 ステップS003において、NFVオーケストレータ21は、VNFを構成可能であるか否かを確認する。そして、NFVオーケストレータ21は、VNFを構成可能である場合には、VNFマネージャ22にVNFの生成を要求する(ステップS004)。そして、VNFマネージャ22は、VNFの生成の要求を受け付ける(ステップS005)。
 ステップS006において、VNFマネージャ22は、リソース割り当てを、NFVオーケストレータ21に要求する。
 ステップ007において、NFVオーケストレータ21は、リソース割り当ての事前処理を実行する。例えば、NFVオーケストレータ21は、リソースを確保し、割り当てを予約する処理等を、リソース割り当ての事前処理として実行する。
 ステップS008において、NFVオーケストレータ21は、リソース(制御、記憶、ネットワーク)の割り当てと、モジュール間の接続設定を、VIM23に要求する。
 ステップS009において、VIM23は、システム内部のモジュールを接続するネットワークの割り当てを実行する。
 次に、図5を参照しながら、引き続き、本実施形態に係る通信システム100の動作を説明する。
 ステップS010において、VIM23は、仮想マシンを割り当てて、システム内部のモジュールを接続するネットワークに、仮想マシンを設定する。そしてVIM23は、リソースの割り当て完了を、NFVオーケストレータ21に応答(ACK(Acknowledgement))する(ステップS011)。そして、NFVオーケストレータ21は、リソースの割り当て完了を、VNFマネージャ22に応答(ACK)する(ステップS012)。
 VNFマネージャ22は、VNFの生成が成功したことを、管理仮想ノード(EMS)に通知する(ステップS013)。
 ステップS014において、管理仮想ノード(EMS)は、VNFを構成する。具体的には、管理仮想ノード(EMS)は、仮想ノード(VNF)を構成するアプリケーションに、特定のパラメータを設定する。
 次に、図6を参照しながら、引き続き、本実施形態に係る通信システム100の動作を説明する。
 ステップS015において、VNFマネージャ22は、リングキュー131及びメッセージバッファ132を格納するメモリ領域名の情報を、VIMに通知する。つまり、VNFマネージャ22は、第2の記憶領域、及び第1の記憶領域を特定するための情報を、VIMに通知する。例えば、Intel DPDKの場合、NFVIを構成するホストマシン及びゲストマシンは、メモリ領域名を検索キーとして利用することで、該メモリ領域名に対応するメモリ領域に格納されるデータにアクセスできる。
 なお、ステップS015の処理を実行する場合には、メモリ管理部150は、リングキュー131及びメッセージバッファ132を格納するメモリ領域(第2の記憶領域、及び第1の記憶領域)を、確保済みであるものとする。例えば、メモリ管理部150は、VNFの生成処理が実行される前に、IVSHMEM(Inter VM(Virtual Machine) Shared Memory)等の技術を用いて、ホストマシンと仮想マシン間、及び仮想マシン間において、共通の仮想アドレスを用いて、アクセス可能な共有メモリ領域を確保しても良い。
 ステップS016において、VIM23は、リングキュー131及びメッセージバッファ132を格納するメモリ領域名の情報を、メモリ管理部150に通知する。つまり、VIM23は、第2の記憶領域、及び第1の記憶領域を特定するための情報を、メモリ管理部150に通知する。
 ステップS017において、メモリ管理部150は、物理アドレスと仮想アドレス間のアドレスマッピングテーブル143を作成する。具体的には、メモリ管理部150は、仮想アドレスから物理アドレスに変換するためのアドレスマッピングテーブル143を作成する。
 ステップS018において、メモリ管理部150は、物理アドレスと仮想メモリ間のアドレスマッピングテーブル143を、FPGA140に設定する。具体的には、メモリ管理部150は、仮想アドレスから物理アドレスに変換するためのアドレスマッピングテーブル143を、FPGA140のレジスタ142に設定する。さらに、メモリ管理部150は、リングキュー131の仮想アドレスを、FPGA140のレジスタ142に設定する。
 ステップS019において、VNFマネージャ22は、VNFの生成終了を、NFVオーケストレータ21に応答(ACK)する。そして、NFVオーケストレータ21は、VNFの生成終了を、クライアント200に応答(ACK)する。
 以上のように、本実施形態に係るNFVI10は、ホストマシン及び仮想マシンの双方から、アクセス可能な共有メモリ領域を備える。そして、本実施形態に係るNFVI10は、ホストマシン及び仮想マシン間で通信を行う場合、共有メモリ領域にパケットデータを格納する。さらに、本実施形態に係るNFVI10は、アドレスマッピングテーブル143を利用して、ゲストマシン上のアドレス(仮想アドレス)とホストマシン上のアドレス(物理アドレス)間においてアドレスを変換する。そのため、本実施形態に係るNFVI10は、ホストマシンとゲストマシン間において、パケットデータをコピーする処理を実行せずに、パケットデータへのアクセスを実現できる。従って、本実施形態に係るNFVI10は、ホストマシンとゲストマシン間における通信速度の向上に貢献する。
[第2の実施形態]
 次に、第2の実施形態について、図面を用いて詳細に説明する。
 本実施形態は、メモリ管理部が、仮想アドレスを物理アドレスに変換するためのアドレスマッピングテーブルを作成する形態である。なお、本実施形態における説明では、上記の実施形態と重複する部分の説明は省略する。さらに、本実施形態における説明では、上記の実施形態と同一の構成要素には、同一の符号を付し、その説明を省略する。また、本実施形態における説明では、上記の実施形態と同一の作用効果についても、その説明を省略する。
本実施形態に係る通信システム100の内部構成は、図2に示す通りである。また、本実施形態に係るNFVI10の内部構成のうち、本実施形態に関係するモジュールは、図3に示す通りである。
 図7、図8、図9は、本実施形態に係る通信システム100の動作の一例を示すシークエンス図である。図7に示すステップS101~S109の処理は、図4に示すステップS001~S009の処理と同様であるため、詳細な説明を省略する。
 以下、図8を参照しながら、本実施形態に係る通信システム100の動作について説明する。
 VIM23は、システム内部のモジュールを接続するネットワークの割り当てを実行する(図7に示すステップS109)と、仮想マシンを割り当てて、システム内部のモジュールを接続するネットワークに、仮想マシンを設定する(ステップS110)。
 ステップS111において、VIM23は、リングキュー131及びメッセージバッファ132を格納するメモリ領域の割り当てを、メモリ管理部150に要求する。
 ステップS112において、メモリ管理部150は、リングキュー131及びメッセージバッファ132を格納するメモリ領域を、メインメモリ130に作成又は割り当てる。
 ステップS113において、メモリ管理部150は、物理アドレスと仮想アドレス間のアドレスマッピングテーブル143を作成する。具体的には、図6に示すステップS017の処理と同様に、メモリ管理部150は、仮想アドレスから物理アドレスに変換するためのアドレスマッピングテーブル143を作成する。
 ステップS114において、メモリ管理部150は、物理アドレスと仮想アドレス間のアドレスマッピングテーブル143を、FPGA140に設定する。具体的には、図6に示すステップS018の処理と同様に、メモリ管理部150は、仮想アドレスから物理アドレスに変換するためのアドレスマッピングテーブル143を、FPGA140のレジスタ142に設定する。さらに、メモリ管理部は、リングキュー131の仮想アドレスを、FPGA140のレジスタ142に設定する。
 そして、VIM23は、リソースの割り当て完了を、NFVオーケストレータ21に応答(ACK)する(図10に示すステップS115)。そして、本実施形態に係る通信システム100は、図10に示すステップS116~S120の処理を実行する。図10に示すステップS116~S120の処理は、図5に示すステップS011~S014、及び図6に示すステップS019~S020の処理と同様であるため、詳細な説明は省略する。
 以上のように、本実施形態に係るNFVI10は、メモリ管理部150が、アドレスを変換するためのアドレスマッピングテーブル143、及びメッセージバッファ132を作成又は割り当てる。そして、本実施形態に係るNFVI10は、ホストマシン及び仮想マシン間で通信を行う場合、共有メモリ領域にパケットデータを格納する。さらに、本実施形態に係るNFVI10は、アドレスマッピングテーブル143を利用して、ゲストマシン上のアドレス(仮想アドレス)とホストマシン上のアドレス(物理アドレス)間においてアドレスを変換する。そのため、本実施形態に係るNFVI10は、ホストマシンとゲストマシン間において、パケットデータをコピーする処理を実行せずに、パケットデータへのアクセスを実現できる。従って、本実施形態に係るNFVI10は、第1の実施形態と同様に、ホストマシンとゲストマシン間における通信速度の向上に貢献する。
 上述の実施形態の一部又は全部は、以下の形態のようにも記載され得るが、以下には限られない。
 (形態1)上記第1の視点に係る制御装置の通りである。
 (形態2)物理アドレスと、仮想アドレスとを対応付ける、アドレスマッピングテーブルを格納する、第2の記憶部をさらに備え、前記物理制御部は、前記アドレスマッピングテーブルを管理する、形態1に記載の制御装置。
 (形態3)前記仮想制御部は、パケットデータを前記第1の記憶領域に格納し、前記パケットデータを格納した前記第1の記憶領域を特定する仮想アドレスを、前記第2の記憶領域に格納し、前記物理制御部は、前記第2の記憶領域から前記仮想アドレスを読み出し、前記アドレスマッピングテーブルを参照し、読み出した前記仮想アドレスを、前記第1の記憶領域を特定する物理アドレスに変換し、変換した前記物理アドレスに基づいて、前記第1の記憶領域から、パケットデータを読み出す、形態2に記載の制御装置。
 (形態4)前記物理制御部は、パケットデータを前記第1の記憶領域に格納し、前記パケットデータを格納した前記第1の記憶領域を特定する仮想アドレスを、前記第2の記憶領域に格納し、前記仮想制御部は、前記第2の記憶領域から前記仮想アドレスを読み出し、前記アドレスマッピングテーブルを参照し、読み出した前記仮想アドレスを、前記第1の記憶領域を特定する物理アドレスに変換し、変換した前記物理アドレスに基づいて、前記第1の記憶領域から、パケットデータを読み出す、形態2又は3に記載の制御装置。
 (形態5)前記アドレスマッピングテーブルを、前記第2の記憶部に格納する、記憶領域管理部をさらに備え、前記記憶領域管理部は、前記第1の記憶部に、前記第1の記憶領域と、前記第2の記憶領域とを生成する、形態4に記載の制御装置。
 (形態6)上記第2の視点に係る制御システムの通りである。
 (形態7)前記管理ノードは、前記第1の記憶領域と前記第2の記憶領域とを、前記第1の記憶部に生成する、形態6に記載の制御システム。
 (形態8)前記制御装置は、物理アドレスと、仮想アドレスとを対応付ける、アドレスマッピングテーブルを格納する、第2の記憶部と、前記第2の記憶部に、前記アドレスマッピングテーブルを格納する、記憶領域管理部と、をさらに備え、前記記憶領域管理部は、前記第1の記憶部に、前記第1の記憶領域と、前記第2の記憶領域とを生成する、形態6又は7に記載の制御システム。
 (形態9)上記第3の視点に係る制御方法の通りである。
 (形態10)上記第4の視点に係るプログラムの通りである。
 なお、上記の特許文献、非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
2 NFV MANO
3 VNFレイヤ
4 OSS/BSS
10 NFVI
11 ハードウェアリソース
12 仮想化レイヤ
13、1001 仮想制御部
14 仮想記憶部
15 仮想通信部
21 NFVオーケストレータ
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の記憶領域

Claims (10)

  1.  仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される制御装置であって、
     前記仮想マシンを制御する、仮想制御部と、
     前記ホストマシンを制御する、物理制御部と、
     前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部と、
     を備え、
     前記第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含み、
     前記第1の記憶領域は、パケットデータが格納され、
     前記第2の記憶領域は、前記第1の記憶領域を特定する仮想アドレスが格納され、
     前記制御装置は、前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定し、特定した前記第1の記憶領域から、パケットデータを読み出す、制御装置。
  2.  物理アドレスと、仮想アドレスとを対応付ける、アドレスマッピングテーブルを格納するための、第2の記憶部をさらに備え、
     前記物理制御部は、前記アドレスマッピングテーブルを管理する、請求項1に記載の制御装置。
  3.  前記仮想制御部は、パケットデータを前記第1の記憶領域に格納し、前記パケットデータを格納した前記第1の記憶領域を特定する仮想アドレスを、前記第2の記憶領域に格納し、
     前記物理制御部は、前記第2の記憶領域から前記仮想アドレスを読み出し、前記アドレスマッピングテーブルを参照し、読み出した前記仮想アドレスを、前記第1の記憶領域を特定する物理アドレスに変換し、変換した前記物理アドレスに基づいて、前記第1の記憶領域から、パケットデータを読み出す、請求項2に記載の制御装置。
  4.  前記物理制御部は、パケットデータを前記第1の記憶領域に格納し、前記パケットデータを格納した前記第1の記憶領域を特定する仮想アドレスを、前記第2の記憶領域に格納し、
     前記仮想制御部は、前記第2の記憶領域から前記仮想アドレスを読み出し、前記アドレスマッピングテーブルを参照し、読み出した前記仮想アドレスを、前記第1の記憶領域を特定する物理アドレスに変換し、変換した前記物理アドレスに基づいて、前記第1の記憶領域から、パケットデータを読み出す、請求項2又は3に記載の制御装置。
  5.  前記アドレスマッピングテーブルを、前記第2の記憶部に格納する、記憶領域管理部をさらに備え、
     前記記憶領域管理部は、前記第1の記憶部に、前記第1の記憶領域と、前記第2の記憶領域とを生成する、請求項4に記載の制御装置。
  6.  仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成される制御装置と、
     前記仮想マシンを割り当てる管理ノードと、
     を含んで構成される制御システムであって、
     前記制御装置は、
     仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、
     前記仮想マシンを制御する、仮想制御部と、
     前記ホストマシンを制御する、物理制御部と、
     前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部と、
     を備え、
     前記第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含み、
     前記第1の記憶領域は、パケットデータが格納され、
     前記第2の記憶領域は、前記第1の記憶領域を特定する仮想アドレスが格納され、
     前記制御装置は、前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定し、特定した前記第1の記憶領域から、パケットデータを読み出す、制御システム。
  7.  前記管理ノードは、前記第1の記憶領域と前記第2の記憶領域とを、前記第1の記憶部に生成する、請求項6に記載の制御システム。
  8.  前記制御装置は、
     物理アドレスと、仮想アドレスとを対応付ける、アドレスマッピングテーブルを格納する、第2の記憶部と、
     前記第2の記憶部に、前記アドレスマッピングテーブルを格納する、記憶領域管理部と、
     をさらに備え、
     前記記憶領域管理部は、前記第1の記憶部に、前記第1の記憶領域と、前記第2の記憶領域とを生成する、請求項6又は7に記載の制御システム。
  9.  仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、前記仮想マシンを制御する、仮想制御部と、前記ホストマシンを制御する、物理制御部と、前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部と、を備え、該第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含んで構成される制御装置の制御方法であって、
     前記第1の記憶領域に、パケットデータを格納する工程と、
     前記第2の記憶領域に、前記第1の記憶領域を特定する仮想アドレスを格納する工程と、
     前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定する工程と、
     特定された前記第1の記憶領域から、パケットデータを読み出す工程と、
     を含む制御方法。
  10.  仮想ネットワーク機能を制御する1又は2以上の仮想マシンと、仮想マシンを制御するホストマシンとを含んで構成され、前記仮想マシンを制御する、仮想制御部と、前記ホストマシンを制御する、物理制御部と、前記仮想制御部及び前記物理制御部がアクセス可能である、第1の記憶部と、を備え、該第1の記憶部は、第1の記憶領域と、第2の記憶領域とを含んで構成される制御装置を制御するコンピュータに実行させるプログラムであって、
     前記第1の記憶領域に、パケットデータを格納する処理と、
     前記第2の記憶領域に、前記第1の記憶領域を特定する仮想アドレスを格納する処理と、
     前記第2の記憶領域に格納される前記仮想アドレスに基づいて、前記第1の記憶領域を特定する処理と、
     特定された前記第1の記憶領域から、パケットデータを読み出す処理と、
     を前記コンピュータに実行させるプログラム。
PCT/JP2018/013504 2017-03-30 2018-03-29 制御装置、制御システム、制御方法及びプログラム WO2018181840A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP18775870.1A EP3605346A4 (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 (2)

Application Number Priority Date Filing Date Title
JP2017-069248 2017-03-30
JP2017069248A JP6737471B2 (ja) 2017-03-30 2017-03-30 制御装置、制御システム、制御方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2018181840A1 true WO2018181840A1 (ja) 2018-10-04

Family

ID=63676228

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/013504 WO2018181840A1 (ja) 2017-03-30 2018-03-29 制御装置、制御システム、制御方法及びプログラム

Country Status (4)

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

Cited By (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2023047436A1 (ja) * 2021-09-21 2023-03-30

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015162147A (ja) 2014-02-28 2015-09-07 日本電信電話株式会社 ネットワーク機能仮想化基盤管理システム及びネットワーク機能仮想化基盤管理方法
JP2015197874A (ja) 2014-04-03 2015-11-09 日本電信電話株式会社 仮想通信路構築システム、仮想通信路構築方法、及び仮想通信路構築プログラム
JP2016509412A (ja) 2013-01-11 2016-03-24 華為技術有限公司Huawei Technologies Co.,Ltd. ネットワークデバイスのためのネットワーク機能仮想化
WO2017006458A1 (ja) * 2015-07-08 2017-01-12 株式会社日立製作所 計算機及びメモリ領域管理方法
WO2017022833A1 (ja) * 2015-08-06 2017-02-09 日本電気株式会社 Vnf提供システム、vnf id管理装置、vnfのid管理方法及びプログラム

Family Cites Families (1)

* 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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016509412A (ja) 2013-01-11 2016-03-24 華為技術有限公司Huawei Technologies Co.,Ltd. ネットワークデバイスのためのネットワーク機能仮想化
JP2015162147A (ja) 2014-02-28 2015-09-07 日本電信電話株式会社 ネットワーク機能仮想化基盤管理システム及びネットワーク機能仮想化基盤管理方法
JP2015197874A (ja) 2014-04-03 2015-11-09 日本電信電話株式会社 仮想通信路構築システム、仮想通信路構築方法、及び仮想通信路構築プログラム
WO2017006458A1 (ja) * 2015-07-08 2017-01-12 株式会社日立製作所 計算機及びメモリ領域管理方法
WO2017022833A1 (ja) * 2015-08-06 2017-02-09 日本電気株式会社 Vnf提供システム、vnf id管理装置、vnfのid管理方法及びプログラム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"Network Functions Virtualisation (NFV); Acceleration Technologies; Management Aspects Specification", ETSI GS NFV-IFA 004 V2. 1. 1, April 2016 (2016-04-01), Retrieved from the Internet <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 VI. 1. 1, December 2015 (2015-12-01), Retrieved from the Internet <URL:http://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/001/01.01.01_60/gs_nfv-ifa001v010101p.pdf>
"Network Functions Virtualisation (NFV); Architechtual Framework", ETSI GS NFV 002 VI. 1. 1, October 2013 (2013-10-01), Retrieved from the Internet <URL:http://www.etsi.org/deliver/etsi_gs/nfv/001_099/002/01.01.01_60/gs_nfv002v010101p.pdf>
HWANG, JINHO ET AL.: "NetVM:High Performance and Flexible Networking Using Virtualization on Commodity Platforms", IEEE TRANSACTIONS ON NETWORK AND SERVICE MANAGEMENT, vol. 12, no. 1, 17 March 2015 (2015-03-17), pages 34 - 47, XP011575906, ISSN: 1932-4537 *
See also references of EP3605346A4

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200004572A1 (en) * 2018-06-28 2020-01-02 Cable Television Laboratories, Inc Systems and methods for secure network management of virtual network functions
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
US11855890B2 (en) 2018-06-28 2023-12-26 Cable Television Laboratories, Inc. Systems and methods for secure network management of virtual network function

Also Published As

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

Similar Documents

Publication Publication Date Title
US11934341B2 (en) Virtual RDMA switching for containerized
US10700979B2 (en) Load balancing for a virtual networking system
US9934057B2 (en) Shadow VNICs for the control and observability of IO virtual functions
US10824466B2 (en) Container migration
US10541925B2 (en) Non-DSR distributed load balancer with virtualized VIPS and source proxy on load balanced connection
US11095716B2 (en) Data replication for a virtual networking system
US11188345B2 (en) High performance networking across docker containers
WO2018181840A1 (ja) 制御装置、制御システム、制御方法及びプログラム
US10656966B1 (en) Deep-inspection weighted round robin of multiple virtualized resources
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
US11650884B2 (en) I/O to unpinned memory supporting memory overcommit and live migration of virtual machines
US20230171189A1 (en) Virtual network interfaces for managed layer-2 connectivity at computing service extension locations

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18775870

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018775870

Country of ref document: EP

Effective date: 20191030