WO2016159057A1 - 制御装置、制御方法及びプログラム - Google Patents

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

Info

Publication number
WO2016159057A1
WO2016159057A1 PCT/JP2016/060349 JP2016060349W WO2016159057A1 WO 2016159057 A1 WO2016159057 A1 WO 2016159057A1 JP 2016060349 W JP2016060349 W JP 2016060349W WO 2016159057 A1 WO2016159057 A1 WO 2016159057A1
Authority
WO
WIPO (PCT)
Prior art keywords
physical
node
control device
information
network
Prior art date
Application number
PCT/JP2016/060349
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 JP2017510086A priority Critical patent/JPWO2016159057A1/ja
Priority to KR1020177031383A priority patent/KR20170134557A/ko
Priority to US15/562,661 priority patent/US20180109472A1/en
Priority to CN201680020246.2A priority patent/CN107534602A/zh
Priority to EP16772938.3A priority patent/EP3280100A4/en
Publication of WO2016159057A1 publication Critical patent/WO2016159057A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks

Definitions

  • the present invention is based on the priority claim of Japanese patent application: Japanese Patent Application No. 2015-073889 (filed on March 31, 2015), the entire contents of which are incorporated herein by reference. Shall.
  • the present invention relates to a control device, a control method, and a program, and more particularly, to a control device, a control method, and a program that provide various services using resources of a physical network.
  • Patent Document 1 discloses a method for operating a network virtualization system. Following paragraph 0048 of the same document, the network virtualization system 1 receives an instruction from the setting terminal 31 and uses the resources of the physical nodes (physical nodes 21 to 26) and the physical link 51 to create virtual nodes and virtual It describes that virtual networks (virtual network 2 and virtual network 3) including links are constructed (see paragraphs 0131 to 0141, for example).
  • VM Virtual Machine
  • Patent Document 1 To provide a service to a user (for example, starting a virtual machine (hereinafter referred to as “VM: Virtual Machine”) on a network and using it from the outside) using the network virtualization technology represented by Patent Document 1 Therefore, it is necessary to prepare physical resources necessary for realizing the service and perform necessary settings (see, for example, FIGS. 16 and 13 of Patent Document 1) without contradiction.
  • VM Virtual Machine
  • Patent Document 1 describes how to realize a service on a virtual network requested by a user, and in particular, physical resources necessary for providing a service provided by the user. It is not disclosed how to realize the arrangement and connection of the.
  • An object of the present invention is to provide a control device, a control method, and a program for realizing a service on a virtual network on a physical NW.
  • a first means for specifying a virtual machine that can provide a function of a network node; a second means for specifying information regarding a position of the specified virtual machine in a physical network; And a third means for setting a data path for realizing the function of the network node on the physical network based on the information on the position.
  • a communication system including a control device that controls a physical network and a virtual machine managed by the control device.
  • the control device includes: a first unit that identifies a virtual machine that can provide a network node function; a second unit that identifies information regarding a position of the identified virtual machine in a physical network; and And a third means for setting a data path for realizing the function of the network node on the physical network based on the information.
  • a virtual machine that can provide the function of a network node is identified, Identifying information about the location of the identified virtual machine in the physical network; A control method for setting a data path for realizing the function of the network node on the physical network based on the information on the position is provided. This method is associated with a specific machine called a control device including the first to third means described above.
  • the process for specifying information on the position of the specified virtual machine in a physical network based on the process for specifying information on the position of the specified virtual machine in a physical network, and the information on the position
  • a program for causing a computer to execute processing for setting a data path for realizing the function of the network node on the physical network This program can be recorded on a computer-readable (non-transient) storage medium. That is, the present invention can be embodied as a computer program product.
  • FIG. 1 is a diagram illustrating a configuration example of a system according to the first embodiment of this invention.
  • a physical network hereinafter referred to as “physical NW” in which physical nodes 200A, 200B, and 210 (hereinafter referred to as “physical node 200” when physical nodes 200A and 200B are not particularly distinguished) is arranged.
  • physical NW physical network
  • physical node 200 when physical nodes 200A and 200B are not particularly distinguished
  • the physical node 200 has a function of providing a virtual machine (hereinafter “VM”) 300 on a virtual network (hereinafter “virtual NW”).
  • VM virtual machine
  • NW virtual network
  • Examples of such a physical node 200 include a virtual machine environment construction server.
  • FIG. 1 an example in which the VM 300 is operated is given, but a virtual appliance in which an application program or the like is introduced and a specific function can be provided may be used.
  • the physical node 210 realizes communication between the physical nodes 200 according to a route instructed from the control device 100. Examples of such a physical node 210 include an open flow switch and a layer 3 switch. Further, instead of the physical node 210, a virtual switch constituted by the physical node 200 may be used.
  • a data path is set between the plurality of communication nodes (for example, the VM 300) in order to realize communication on the virtual NW. It is necessary to set and enable communication on the physical NW corresponding to the communication on the virtual NW. Therefore, in the first embodiment, a data path is set between a plurality of communication nodes (for example, the VM 300) included in the virtual NW.
  • a plurality of communication nodes (for example, VM 300) included in the virtual NW are operated by a plurality of different physical nodes 200 (for example, physical servers), a plurality of communication nodes (for example, VM 300) on the physical NW are used.
  • a data path between the plurality of physical nodes 200 For example, in the example of FIG. 1, each of the VMs 300 included in the virtual NW is operated by the physical node 200A and the physical node 200B, and in order to set a data path between the VMs 300, the physical node 200A and the physical node 200B. It is also necessary to set a data path between and. Therefore, in the first embodiment, a data path is also set between a plurality of physical nodes 200 that realize a plurality of communication nodes (for example, the VM 300) included in the virtual NW.
  • the control device 100 specifies a communication node such as a VM corresponding to the service requested by the user, and physically sets the communication node.
  • the data path on the NW is dropped and the data path on the physical NW between the communication nodes is set.
  • FIG. 2 is a diagram illustrating a configuration example of the control device 100 according to the first embodiment.
  • the control device 100 includes a control unit 110 and a communication unit 120.
  • the communication unit 120 is an interface that can communicate with other devices such as the physical node 200 and the physical node 210.
  • the communication unit 120 can transmit a predetermined control signal to the physical node 200, for example.
  • the communication unit 120 can transmit processing rules and transfer information to the physical node 210.
  • the control unit 110 has a function capable of executing a predetermined process.
  • the predetermined process executed by the control unit 110 is executed by, for example, a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
  • FIG. 3 is a diagram illustrating a processing example executed by the control unit 110 according to the first embodiment.
  • the control unit 110 performs processing performed by each of the node specifying unit 101 (first unit), the position specifying unit 102 (second unit), and the path setting unit 103 (third unit). Can be executed.
  • the node specifying unit 101 specifies a communication node corresponding to the service requested by the user.
  • the “service requested by the user” uses, for example, a virtual network (for example, vEPC) logically configured using a virtual resource or a virtual resource or a physical resource included in a tenant corresponding to the user.
  • Service for example, an existing virtual NW such as a server resource (which may be a VM or a physical server) arranged in a certain (virtual) network, or a network connected to an external network. It may be a user request for.
  • the “service requested by the user” may be, for example, a virtual network function (VNF) or a service chain.
  • VNF virtual network function
  • the node specifying unit 101 plays a role of specifying one or more communication nodes that can provide such a service.
  • the “communication node” corresponds to, for example, the above-described server resource (which may be a VM or a physical server).
  • An arrow extending from the node specifying unit 101 in FIG. 1 represents an operation in which the node specifying unit 101 specifies a VM 300 corresponding to the upper virtual network (representing a service requested by the user).
  • the location specifying unit 102 specifies information related to the location of the communication node specified by the node specifying unit 101 in the physical network.
  • the end point information on the physical NW corresponding to the communication node specified by the node specifying unit 101 can be used.
  • the end point information is, for example, the address of the communication node specified by the node specifying means 101 (for example, IP (Internet Protocol) address, MAC (Media Access Control) address).
  • the end point information may be, for example, the address (for example, IP address, MAC address) of the virtual switch to which the communication node specified by the node specifying unit 101 is connected.
  • the end point information may be, for example, the port number of the port used by the communication node in the virtual switch to which the communication node specified by the node specifying unit 101 is connected.
  • the end point information may be, for example, the address (for example, IP address, MAC address) of the physical node 200 that realizes the communication node specified by the node specifying unit 101.
  • the end point information may be, for example, an address (for example, an IP address or a MAC address) of a physical switch (for example, the physical node 210) corresponding to the communication node identified by the node identifying unit 101.
  • the arrow line extending from the position specifying unit 102 in FIG. 1 indicates an operation in which the position specifying unit 102 specifies the end point information of the VM 300 specified by the node specifying unit 101 or the end point information of the physical node 200 corresponding to the VM 300. Represents.
  • the path setting unit 103 sets a data path necessary for realizing a service requested by the user on the physical NW, using information on the position of the communication node in the physical network specified by the position specifying unit 102.
  • the process of “setting a data path” is realized by setting a flow entry and path information in the physical node 210.
  • the flow entry is a processing rule for the physical node 210 to process a packet belonging to the flow.
  • the route information is, for example, transfer information used by the physical node 210 to transfer a packet.
  • An arrow extending from the path setting unit 103 in FIG. 1 indicates, for example, an operation in which the path setting unit 103 connects the physical nodes 200 specified by the position specifying unit 102 to each other via the physical node 210 and sets a data path. Represents.
  • FIG. 4 is a diagram illustrating an example of a table held by the control device according to the first embodiment.
  • the upper part of FIG. 4 is a table in which services, communication nodes, and physical node position information are associated with each other.
  • the node specifying unit 101 determines what kind of resource is necessary to realize the service A. For example, in the example of FIG. 4, VM1 to VM3 are specified as resources necessary for realizing the service A. Then, the position specifying unit 102 calculates information on the positions of the VM1 to VM3 in the physical NW (which physical node is connected to the end point of the physical NW). In the example of FIG. 4, the addresses and ports of physical nodes that realize VM1 to VM3 are specified.
  • a network resource management function called an agent can be used as the node specifying unit 101 and the position specifying unit 102 that perform such operations.
  • the table shown in FIG. 4 can be held in the control device 100 as a service definition storage unit and a mapping information storage unit. By doing so, it is possible to speed up the specifying process in the node specifying unit 101 and the position specifying unit 102.
  • the service definition storage unit and the mapping information storage unit are realized with one table, but a table (corresponding to the service definition storage unit) that stores the correspondence between the service and the communication node, and the communication node And a table (corresponding to a mapping information storage unit) that stores the correspondence between the location information on the physical NW.
  • the path setting means 103 sets a data path between VM1 and VM3 using the topology information of the physical NW and the address and port (port number) of the identified physical node 200. For example, as shown in the lower part of FIG. 4, by setting a data path between the ports of the physical nodes 200 corresponding to VM1 to VM3, for example, a virtual network having a topology in which VM1 to VM3 are connected in a ring shape Can be realized. In the lower arrow, the data path between the physical node 200A and the physical 200B is realized by setting a flow entry and route information in the physical node 210.
  • the topology information can be obtained from a topology information storage unit that stores topology information.
  • FIG. 5 is a flowchart illustrating an operation example of the control device 100 according to the first embodiment.
  • the node specifying means 101 of the control device 100 specifies one or more communication nodes that can provide the service requested by the user (S1-1).
  • the node specifying unit 101 specifies a plurality of VMs 300 as services (virtual NW) requested by the user.
  • the position specifying unit 102 of the control device 100 specifies information related to the position of the communication node in the physical NW specified by the node specifying unit 101 (S1-2).
  • the position specifying unit 102 specifies end point information on the physical NW for each of the plurality of VMs 300 specified by the node specifying unit 101.
  • the location specifying unit 102 includes an address on the physical NW of the physical node 200 that operates each VM 300 and a port corresponding to each VM 300 among the ports of the physical node 200. Specify the port number.
  • the path setting unit 103 sets a data path between the communication nodes on the physical NW using the information regarding the position of the communication node in the physical NW specified by the position specifying unit 102 (S1-3).
  • the path setting means 103 uses the topology information of the physical NW and the address and port (port number) of the physical node 200 specified by the position specifying means 102 to create a data path between a plurality of VMs 300.
  • the path setting unit 103 is a flow entry for enabling the physical nodes 201 to communicate with each other between the physical nodes 200. And path information are set, and a data path is also set between the physical nodes 200.
  • FIG. 6 is a diagram illustrating another configuration example of the system according to the first embodiment of this invention.
  • FIG. 6 a configuration in which a physical NW1 constructed by VXLAN (Virtual eXtensible Local Area Network) and a physical NW2 by NVGRE (Network Virtualization using Generic Generic Routing Encapsulation) is connected by a gateway (GW) is shown. ing.
  • VXLAN Virtual eXtensible Local Area Network
  • NVGRE Network Virtualization using Generic Generic Routing Encapsulation
  • the node specifying unit 101 specifies a communication node corresponding to the service requested by the user.
  • the node specifying unit 101 specifies four VMs operating on the three physical servers 200a to 200c (see “(B) mapping” in FIG. 6). Even at this stage, it is not necessary to know what physical network the VM is operating on.
  • the position specifying unit 102 specifies information related to the positions of the four VMs in the physical network specified by the node specifying unit 101.
  • the end point information on the physical NW corresponding to the four VMs is specified as the information regarding the position in the physical network.
  • the position specifying unit 102 specifies the addresses of the physical servers 200a to 200c on which four VMs operate.
  • the path setting means 103 sets the data path for realizing the service requested by the user on the physical NW1 and NW2, using the identified end point information and the topology information of the physical NW1 and physical NW2.
  • a physical server 200A, a physical switch 210A and a physical server 200B on the physical NW1 side, and a physical switch 210B and a physical server 200C on the physical NW2 side are connected to a gateway (GW).
  • a data path is set up to connect via.
  • the control device 100 specifies a communication node such as a VM corresponding to the service requested by the user and performs the communication.
  • the node is dropped into position information on the physical NW, and a data path on the physical NW between the communication nodes is set. Therefore, after dropping the service on the virtual network requested by the user into the function implementation means and the location information on the physical network, the services on the virtual network are realized on the physical network by connecting them. it can.
  • FIG. 7 is a diagram illustrating a configuration example of a system according to the second embodiment of the present invention.
  • the control device 100A has substantially the same configuration as the control device of the first embodiment, and includes node specifying means 101 to path setting means 103.
  • node specifying means 101 to path setting means 103.
  • FIG. 8 is a diagram illustrating an example of a table (corresponding to a tenant definition storage unit and a mapping information storage unit) held by the control device 100A of the present embodiment.
  • a table in which tenants, communication nodes (for example, VMs), and position information of physical nodes that operate the communication nodes are associated with each other is shown.
  • the node specifying unit 101 determines what resources are required to realize the service requested by the user. For example, the node specifying unit 101 determines the type of resource necessary for realizing the service requested by the user. The node specifying unit 101 specifies a resource necessary for a service requested by a user from resources included in a tenant corresponding to the user. The node specifying unit 101 may calculate a necessary resource amount in addition to the resource type. For example, in the example of FIG. 8, VMs 1 to VM4 shown in FIG. 7 are specified as the resources necessary for the service requested by the user, among the VMs included in the tenant corresponding to the user.
  • the node specifying unit 101 associates the tenant 1 with a VM identifier that can uniquely identify each of the VM1 to VM4 required for the service requested by the user.
  • the resources required for the service requested by the user are, for example, ICT (Information ⁇ Communication Technology) resources such as servers, storages, and network nodes, and are virtual resources that are virtually realized using the VM. It may be a physical resource.
  • the network node is a device that provides functions necessary for network construction, such as a switch, a router, a firewall, and a load balancer.
  • the position specifying means 102 determines information related to positions on the physical NW of VM1 to VM4. For example, the position specifying unit 102 determines the address of the physical node 200 that realizes each of the VM1 to VM4 and the port number of the port corresponding to the VM1 to VM4 among the ports of the physical node 200. The location specifying unit 102 specifies the addresses of the VM1 to VM4, the addresses of the virtual switches to which the VM1 to VM4 are connected, the port numbers, and the like as information on the locations of the VM1 to VM4 on the physical NW. May be.
  • the position specifying unit 102 includes VM identifiers of VM1 to VM4, addresses of physical nodes 200 that realize each of the VM1 to VM4, and physical nodes corresponding to the VM1 to VM4, respectively. Correlate with the port numbers of 200 ports.
  • the path setting means 103 sets a data path between VM1 and VM4 using the topology information of the physical NW and the address and port of the specified physical node 200. For example, as shown in the lower part of FIG. 7, the VM1 to VM4 can communicate with each other by setting a data path between the ports of the physical node 200 corresponding to the VM1 to VM4.
  • the path setting unit 103 also sets a data path between the physical node 200A that operates VM1 and VM2, and the physical node 200B that operates VM3 and VM4. As a result, even when some or all of the VM1 to VM4 included in the service requested by the user operate on different physical nodes 200, communication between the VM1 to VM4 becomes possible.
  • FIG. 9 is a flowchart showing an operation example of the control device 100A of the second embodiment.
  • the node specifying unit 101 of the control device 100A specifies one or more communication nodes necessary for realizing the service requested by the user (S2-1).
  • the node specifying unit 101 specifies VM1 to VM4 included in the tenant corresponding to the user as resources necessary for the service requested by the user.
  • the position specifying unit 102 of the control device 100A specifies information related to the position of the communication node in the physical NW specified by the node specifying unit 101 (S2-2).
  • the position specifying unit 102 assigns the address of the physical node 200 that actually rotates each of the VM1 to VM4 specified by the node specifying unit 101 and each of the VM1 to VM4 among the ports of the physical node 200. Identify the port number of the corresponding port.
  • the path setting unit 103 of the control device 100A sets a data path between the communication nodes in the physical NW using the information regarding the position of the communication node in the physical NW specified by the position specifying unit 102 (S2-3). ).
  • the path setting unit 103 uses the topology information of the physical NW and the address and port (port number) of the physical node 200 specified by the location specifying unit 102 to create a data path between VM1 and VM4.
  • the path setting unit 103 sets, for example, a flow entry and path information for enabling communication between the physical node 200A and the physical node 200B in the physical node 210, and the data path between the physical nodes 200 is also set. Set.
  • FIG. 10 is a configuration example of the control device 100A when the control device 100A manages a plurality of resources.
  • the control device 100A manages a plurality of resources, and provides a service requested by the user using a part of the managed resources. For example, the control device 100A pools a plurality of resources, and selects a resource necessary for a service requested by the user from the pooled resources.
  • the node specifying unit 101 of the control device 100A calculates resources necessary for the service requested by the user, and calculates the calculated resource from the resources included in the tenant corresponding to the user among the plurality of resources to be managed. select.
  • the node specifying unit 101 manages a plurality of VMs, and selects a VM necessary for the service requested by the user from among the plurality of managed VMs.
  • the plurality of resources managed by the node specifying unit may include physical resources.
  • the node identification unit 101 manages a plurality of VMs for each function realized using, for example, a VM.
  • Functions realized using the VM are network functions such as a switch, a router, a firewall, and a load balancer.
  • the node specifying unit manages, for example, a virtual switch, a virtual router, a virtual firewall, and a virtual load balancer in which the network function is virtually realized by the VM.
  • the function realized using the VM may be a storage.
  • the node specifying unit 101 abstracts disks and drives in the physical server and manages them as a virtually realized storage pool.
  • the functions realized using the VM may be various applications or a desktop, for example.
  • the node specifying unit may manage various applications and desktops that are virtually realized using a VM, for example.
  • the node specifying unit 101 determines that a load balancer is necessary for a service requested by a user
  • the node specifying unit 101 is a virtual load balancer managed and included in a tenant corresponding to the user. Is selected for the tenant.
  • the processing of the location specifying unit 102 and the path setting unit 103 after the node specifying unit 101 specifies the resources required for the service requested by the user from the resources pooled in advance is the same as the location specifying in FIG. Since it is the same as the processing of the means 102 and the path setting means 103, detailed description is omitted.
  • the control device 100A specifies a communication node such as a VM corresponding to the service requested by the user in order to realize the service requested by the user, and selects the communication node.
  • the data is dropped into the position information on the physical NW, and the data path on the physical NW between the communication nodes is set. Therefore, after dropping the service on the virtual network requested by the user into the function implementation means and the location information on the physical network, the services on the virtual network are realized on the physical network by connecting them. it can.
  • the control device 100 since the control device 100 has a VM management function, when a request for adding a predetermined resource for a service requested by a user is received, a VM corresponding to the predetermined resource is activated. Can do. Then, the control device 100 uses the node specifying means to the path setting means to specify the communication node of the VM that is newly activated by the fourth means, drops the communication node into the location information on the physical NW, and stores the data on the physical NW. Set the path. Therefore, in the third embodiment, when a user requests to add a resource, a VM is added to realize the addition of the resource, and settings and the like in the physical NW necessary for the addition of the VM are performed. Can do.
  • FIG. 11 is a diagram showing a configuration of a control device according to the third embodiment of the present invention.
  • the control unit 110 of the control device 100F includes a node request unit 104 (fourth unit) in addition to the node specifying unit 101, the position specifying unit 102, and the path setting unit 103. It is shown.
  • the difference from the first and second embodiments will be mainly described.
  • the node request unit 104 activates a VM necessary for providing the service, and provides the VM information to the node specifying unit 101.
  • a node request unit 104 can be realized by an interface that gives necessary instructions to a control program such as a hypervisor or VMM (VM manager) that manages VMs on the physical server 200 side.
  • the node request unit 104 is described as starting a VM, but the communication node that the node request unit 104 starts is not limited to a VM.
  • the node request unit 104 secures resources necessary for providing a service by activating a physical server in a sleep state.
  • the node request unit 104 may have a function of terminating a predetermined VM in response to a request from the user.
  • the node request unit 104 may have a function of terminating unused VMs and releasing resources.
  • FIG. 12 is a diagram illustrating a configuration example of a system according to the third embodiment.
  • the node identifying unit 101 when a user requests to add a resource and there is no corresponding communication node, the node identifying unit 101 sends a node request unit 104 to the VM corresponding to the added resource.
  • Request activation For example, when a node corresponding to a tenant requests addition of a predetermined resource (for example, storage), the node specifying unit 101 sends a VM for realizing the predetermined resource to the node request unit. Request activation.
  • a predetermined resource for example, storage
  • the node request unit 104 Upon receiving the request, the node request unit 104, for example, newly starts up a VM (see VM5 in FIG. 12) on the physical server shown at the right end of the interruption in FIG. For example, the node requesting unit notifies the node specifying unit of the completion of activation in response to the completion of activation of the new VM.
  • the node request unit 104 may notify the node specifying unit 101 of information about the activated VM (for example, an identifier of the activated VM) when the activation of the VM is completed.
  • the node specifying unit 101 specifies a newly launched VM as a virtual node included in the service requested by the user. For example, the node specifying unit 101 associates the newly started VM 5 with a predetermined tenant (tenant corresponding to the user).
  • the position specifying unit 102 specifies information on the position of the VM 5 in the physical NW added by the node request unit 104 (for example, end point information on the physical NW).
  • the location specifying unit 102 specifies, for example, the address of the physical node 200C on which the VM 5 operates and the port corresponding to the VM 5 among the ports of the physical node 200C.
  • the path setting means 103 sets a data path between VM1 and VM5. Further, the path setting means 103 sends a flow entry and transfer information for enabling communication between the physical node 200A and the physical node 200C and communication between the physical node 200B and the physical node 200C to the physical node 210. Set. As a result, “communication on the physical NW” necessary for realizing communication between VM1 and VM5 becomes possible.
  • FIG. 13 is a flowchart showing an operation example of the control device 100F of the third embodiment.
  • the node specifying unit 101 of the control device 100F when requested by a user to add a predetermined resource (for example, a storage), the node requesting unit 101 sets a VM for realizing the predetermined resource to the node request unit.
  • the activation is requested (S3-1).
  • the node specifying unit requests the node requesting unit to start a VM that provides a storage function when the user requests addition of storage.
  • the node request unit 104 starts a VM for realizing the requested predetermined resource, and notifies the node specifying unit 101 that the start is completed ( S3-2).
  • the node request unit 104 activates a VM that can provide a storage function in response to a request for addition of storage from the node identification unit 101, and notifies that the activation has been completed.
  • the node specifying unit 101 When receiving the notification from the node requesting unit 104, the node specifying unit 101 specifies the newly added VM (S3-3). In the example of FIG. 12, the node specifying unit 101 associates the newly started VM 5 with a predetermined tenant (tenant corresponding to the user).
  • the location specifying unit 102 specifies information (for example, end point information on the physical NW) related to the location of the VM in the physical NW added by the node request unit (S3-4).
  • the position specifying unit 102 specifies, for example, the address of the physical node 200C on which the VM5 operates and the port corresponding to the VM5 among the ports of the physical node 200C.
  • the path setting means 103 sets a data path between the existing VMs 1 to 4 and the newly activated VM 5 (S3-5).
  • the control device includes a VM management function (node request unit) capable of adding or deleting a communication node (for example, a VM). Therefore, even when a user requests addition of a resource, the service on the virtual network requested by the user is dropped into the function realization means and the location information on the physical network, and then these are connected. Thus, services on the virtual network can be realized on the physical network.
  • a VM management function node request unit
  • FIG. 14 is a diagram illustrating a configuration example of a system according to the fourth embodiment of this invention.
  • the control device 100B manages a plurality of tenants (tenant 1 and tenant 2) is shown. Since the basic configuration of the control device 100B is the same as that of the second or third embodiment, the following description will be focused on the differences.
  • the control device 100B has the same configuration as that of the control device 100F of the third embodiment shown in FIG. 11, and includes a node specifying unit 101, an information specifying unit 102, and a path setting unit 103.
  • FIG. 15 is a diagram illustrating an example of a table held by the control device 100B of the present embodiment.
  • the node specifying unit 101 determines what resources are required to realize the service requested by the user. For example, the node specifying unit determines that a firewall, storage, and switch are necessary for the service requested by the user A, and that a load balancer, storage, and router are necessary for the tenant 2.
  • the node specifying unit 101 receives a request regarding the service A from the user A and receives a request regarding the service B from the user B.
  • the node identification unit 101 may receive requests regarding the service A and the service B from the same user.
  • the timing at which the node specifying unit 101 receives a request regarding the service A and the service B may be a timing different between the service A and the service B.
  • the node specifying unit 101 specifies VM1, VM3, and VM4 shown in FIG. 14 from the VM included in the tenant 1 corresponding to the user A for the service A. Further, the node specifying unit 101 specifies VM2, VM5, and VM6 illustrated in FIG. 14 from the VM included in the tenant 2 corresponding to the user B for the service B. Specifically, the node specifying unit 101 associates each identifier of VM1, VM3, and VM4 with tenant 1 for service A, and identifies each identifier of VM2, VM5, and VM6 for service B. Associate with tenant 2.
  • the position specifying unit 102 determines which physical node is connected to each of the VM1 to VM6 specified by the node specifying unit 101 on the physical NW. In the example of FIG. 15, for example, the position specifying unit 102 calculates the address of the physical node 200 that operates each of the VM1 to VM6 and the port number of the port corresponding to the VM1 to VM6 among the ports of the physical node 200. .
  • the path setting means 103 uses the topology information of the physical NW and the address and port of the physical node 200 specified by the position specifying means 102, between the physical nodes 200 in which each of the VM1, VM3, and VM4 is activated, and Data paths are set between VM2, VM5, and VM6, respectively. For example, as shown in the lower part of FIG. 14, by setting a data path between VM1, VM3, and VM4, VM1, VM3, and VM4 included in tenant 1 can communicate with each other. Similarly, by setting a data path between VM2, VM5, and VM6, VM2, VM5, and VM6 included in tenant 2 can communicate with each other.
  • control device 100B of the fourth embodiment may include the node request unit 104 as in the control device of the third embodiment.
  • the node request unit 104 activates a VM necessary for providing a service and provides the VM information to the node specification unit 101 when there is a request from the node specification unit 101. . Since the processing of the node requesting unit 104 is the same as that of the node requesting unit 104 of the third embodiment shown in FIG. 11, detailed description thereof is omitted.
  • the present invention can also be applied to tenant construction in a multi-tenant environment.
  • two tenants are constructed on one physical NW.
  • the physical network and the tenant have a one-to-one correspondence as shown in FIG. Can be applied.
  • FIG. 16 is a diagram illustrating another configuration example of the fourth embodiment.
  • the node specifying unit 101 of the control device 100C specifies VMs VM1 to VM3 in the physical NW1, which are VMs included in the tenant 1, for the service 1 requested by the user. Further, the node identifying unit 101 identifies VMs 4 to VM6 in the physical NW2 that are VMs included in the tenant 2 for the service 2 requested by the user. Specifically, the node specifying unit 101 associates each identifier of VM1 to VM3 with tenant 1 for service 1 requested by the user, and provides VM4 to VM4 for service 2 requested by the user. Each identifier of the VM 6 is associated with the tenant 2.
  • the location specifying unit 102 determines the address of the physical node 200 that realizes each of the VM1 to VM3 specified by the node specifying unit 101 and the port number of the port corresponding to the VM1 to VM3 among the ports of the physical node 200.
  • the position specifying means 102 includes the address of the physical node 200 that realizes each of the VM4 to VM6 specified by the node specifying means 101, and the port number of the port corresponding to VM4 to VM6 among the ports of the physical node 200. Is determined.
  • the path setting unit 103 sets a data path between the physical nodes 200 in which each of the VM1 to VM3 is activated using the topology of the physical NW1 and the address and port of the physical node 200 specified by the position specifying unit 102. . Further, the path setting means 103 uses the topology of the physical NW 2 and the address and port of the physical node 200 specified by the position specifying means 102 to establish a data path between the physical nodes 200 in which each of the VM4 to VM6 is activated. Set.
  • the present invention can also be applied to tenant construction in a multi-tenant environment.
  • FIG. 17 is a diagram illustrating a configuration example of a system according to the fifth embodiment of this invention.
  • FIG. 18 is a diagram illustrating a configuration example of a control device according to the fifth embodiment of the present invention. 17 and 18, the control device 100D has the same configuration as the control device of the third embodiment, and the control unit 110D of the control device 100D includes a node specifying unit 101D, a position specifying unit 102D, and a path setting. Means 103D and node request means 104D are provided.
  • the node specifying unit 101D When the node specifying unit 101D receives a VNF provision request from the user, the node specifying unit 101D specifies a VM corresponding to the VNF. At this time, if a VM capable of realizing the VNF requested by the user is not activated, the node request unit 104D is requested to activate the necessary VM.
  • the location specifying unit 102D specifies information related to the location of the VM 300 in the physical NW specified by the node specifying unit 101D. For example, the position specifying unit 102D specifies the address of the physical node 200 on which each of the VM1 to VM3 operates and the port number of the port corresponding to the VM1 to VM3 among the ports of the physical node 200.
  • the path setting unit 103D uses the topology information of the physical NW and the information on the location of the VM in the physical network specified by the location specifying unit 102D to generate a data path for realizing the VNF requested by the user on the physical NW. Set.
  • the node request unit 104D activates a VM necessary for providing the VNF on the physical server 200 in response to a request from the node identification unit 101D, and provides the VM identification information to the node identification unit 101D.
  • the node request unit 104D provides, for example, the identifier of the activated VM to the node specifying unit 101D.
  • FIG. 19 is a diagram showing a detailed configuration of the physical node 200 shown in FIG.
  • the physical node 200 operates a virtual machine that provides a virtual network function.
  • examples of the virtual network function include a firewall (FW), a deep packet inspection (DPI), a load balancer (LB), and the like.
  • the communication node 200 is, for example, a server, a switch, a router, or the like.
  • the communication node 200 operates a virtual machine that provides a function of a virtual network node (for example, virtual SGW (Serving Gateway), virtual PGW (Packet data network Gateway), virtual MME (Mobility Management Entity)) in the virtual network.
  • a virtual network node for example, virtual SGW (Serving Gateway), virtual PGW (Packet data network Gateway), virtual MME (Mobility Management Entity)
  • Each virtual network node has the following functions, for example.
  • Virtual PGW a function for processing packets (User-Plane function), a function for managing a charging state according to communication (PCEF: Policy and Charging Enforcement Function), and a function for controlling policies such as QoS (Quality of Service) (PCRF) : Policy and Charging Rule Function), virtual SGW: packet processing function (User-Plane function), control signaling processing function (C-Plane function), lawful interception to intercept communications (LI: Lawful Interception) ) Function, virtual MME: function to process control signaling (C-Plane function), function to manage subscriber information of communication system in cooperation with HSS (Home Subscriber Server).
  • PCEF Policy and Charging Enforcement Function
  • PCRF Policy and Charging Rule Function
  • virtual SGW packet processing function (User-Plane function), control signaling processing function (C-Plane function), lawful interception to intercept communications (LI: Lawful Interception)
  • virtual MME function to process control signaling (C-Plane function),
  • the physical node 200 includes a control unit 110 capable of constructing a virtual network function (VNF) 220.
  • the control unit 110 provides the function of the virtual network node by operating the VNF 220 on the virtual machine.
  • a control part 110 may be comprised by the control program which can perform virtualization of a computer, such as a hypervisor (Hypervisor), for example.
  • the control unit 110 can start, stop, migrate (migrate a virtual machine to another communication device 100), etc., in response to an instruction from the node request unit 104D described above.
  • VNF 220 and VM do not necessarily correspond one-to-one.
  • a policy such as VM1 having a charging function included in the PGW function and QoS (QualityQualof Service) included in the PGW function.
  • the VM 2 that performs control can be activated separately (function-specific VMs).
  • a virtual PGW can also be realized by a VM 3 having a virtual PGW function (appliance type VM).
  • FIG. 21 is a diagram illustrating a configuration example of a system according to the fifth embodiment of this invention.
  • FIG. 22 is a flowchart showing an operation example of the fifth embodiment of the present invention.
  • the user requests the construction of a service chain constructed by connecting VNF1 and VNF2.
  • no VM is activated as an initial state. The user here does not need to know the configuration of the physical network and the startup status of the VM, as in the above-described embodiment.
  • the node specifying unit 101D requests the node request unit 104D to start VMs corresponding to VNF1 and VNF2 requested by the user (S4-1).
  • the node request unit 104D requests the physical node to start up the VM based on the request from the node specifying unit 101D (“VM start up” in FIG. 21, S4-1 in FIG. 22).
  • the node request unit 104D In response to the activation of the VM, the node request unit 104D notifies the node identification unit 101D of the completion of the activation of the VM (S4-2).
  • the node identification unit 101D receives the VM activation completion notification from the node request unit 104D and identifies the activated VM1 to VM3 (S4-3).
  • the position specifying unit 102D specifies information related to the positions of the three VMs 1 to 3 in the physical network specified by the node specifying unit 101D (S4-4).
  • the path setting unit 103D sets a data path between the VM1 and VM3 using the information regarding the location of the VM1 to 3 in the physical network and the topology information of the physical NW (S4-5). In addition, the path setting unit 103D sets, in the physical node 210, flow entries and path information for enabling communication between the physical nodes 200 in which each of the VM1 to VM3 is activated. As a result, the data path on the physical NW necessary for realizing the VNF and service chain requested by the user is set.
  • the service chain or VNF requested by the user without specifying a specific address or resource is dropped into the function realization means (VM) and the location information on the physical network. Then, by connecting them, the service chain shown in the lower part of FIG. 21 is realized.
  • VM function realization means
  • a data path between VNFs (VMs) operating on the same physical node can be realized by instructing the path control unit 2101 built in the control unit 110 in the physical node 200.
  • FIG. 23 is a diagram for explaining an example of a data path set in the physical node 200 that operates in cooperation with the control device 100D according to the fifth embodiment of the present invention.
  • the control unit 110 sets a VNF path via VNF (A), (B), and (C) for the signal (1), and VNF ( A VNF path via A) and (B) is set.
  • the path control unit 2101 of the control unit 110 transfers a signal along a route according to the type of signal as illustrated in FIG. 23 according to the setting.
  • the type of the signal may be such that a packet is transferred based on, for example, a MAC address or an IP address assigned to the VNF 200. Further, for example, the transfer path can be changed using the type of “bearer” that is a virtual connection for transmitting a packet, the attribute of the packet identified based on the information in the packet, and the like.
  • the VNF path can be controlled by the path control unit 2101 based on, for example, the communication volume of the user (terminal 1), the communication load / communication volume of the communication system, the load status of the server 20, and the like.
  • the VNF path of a packet belonging to the bearer can be controlled according to the bearer traffic. Further, for example, the VNF path can be changed in response to the amount of communication exceeding a predetermined threshold.
  • the path control unit 2101 can select the VNF 200 configuring the VNF path according to the load status of the VM. Further, for example, the path control unit 2101 can preferentially select a VNF 200 having a low virtual machine load among a plurality of VNFs 200 including the same function, and switch the VNF path.
  • Such a path control unit 2101 may be configured by, for example, a virtual switch (vSwitch: Virtual Switch) configured by software.
  • vSwitch Virtual Switch
  • the path setting unit 103D described above sets path information and a flow entry in the switch that functions as the path control unit 2101.
  • the present invention can be suitably applied to a system that realizes virtualization of network functions.
  • FIG. 24 is a diagram illustrating a configuration example of a system according to the sixth embodiment of this invention.
  • FIG. 25 is a diagram illustrating an example of a table (corresponding to a tenant definition storage unit and a mapping information storage unit) held by the control device 100A of the present embodiment. Referring to FIG. 25, there is shown a table in which a service chain, a VNF necessary for the service chain, a VM corresponding to the VNF, and position information of a physical node that operates the VM are associated with each other. Since the present embodiment can be realized with the same configuration as that of the fifth embodiment that provides VNF, the following description will focus on the differences.
  • the control device of the present embodiment has the same configuration as the control device 100D of the fifth embodiment, and includes node specifying means 101D to node request means 104D (see FIG. 18). Note that the control device 100D may not include the node request unit 104D.
  • the node specifying unit 101D When the node specifying unit 101D receives a service chain provision request from the user, the node specifying unit 101D specifies a VM corresponding to the service chain (see arrows extending from VNF1 and VNF2 in FIG. 24).
  • the node specifying unit 101D may specify a VNF necessary for the service chain requested by the user and specify a VM corresponding to the VNF.
  • the node specifying unit 101D associates the service chain 1 with VNF1 (1) and VNF1 (2), and further associates VNF1 (1) with VM1, VNF1 (2), and VM3. .
  • the node specifying unit 101D associates the service chain 2 with VNF1 (2) and VNF2 (2), and further associates VNF1 (2) with VM2, and VNF2 (2) with VM4.
  • the node specifying unit 101D requests the node request unit 104D to construct a necessary VNF.
  • the position specifying unit 102D specifies information related to the position of the communication node in the physical network specified by the node specifying unit 101D (see arrow lines extending from VM1 to VM4 in FIG. 24 to the physical node). For example, for each of the plurality of VM1 to VM4, the location specifying unit 102D sends the address on the physical NW of the physical node 200 that realizes each of the VM1 to VM4 and the VM1 to VM4 among the ports of the physical node 200. Identify the port number of the corresponding port. As illustrated in FIG. 25, the position specifying unit 102D associates the VM1, the address of the physical node 200, and the port number # 1.
  • the path setting unit 103D is a data path for realizing a service chain requested by the user on the physical NW by using the topology information of the physical NW and information on the location of the VM in the physical network specified by the location specifying unit 102D. (Refer to the data path for Service Chain 1 and 2).
  • the node request unit 104D activates a VM necessary for providing the VNF on the physical server 200 in response to a request from the node identification unit 101D, and provides the VM identification information to the node identification unit 101D.
  • FIG. 26 is a flowchart showing an operation example of the control device 100D according to the sixth embodiment of the present invention.
  • the node specifying unit 101D first specifies the VNF corresponding to the service chain requested by the user (S5-1), and then specifies the VM corresponding to the VNF (S5-2).
  • the node specifying unit 110 specifies that the service chain 1 passes through VNF1 and VNF2, and VNF1 and VNF2 correspond to VM1 and VM3, respectively.
  • the node specifying unit 110 specifies that the service chain 2 passes through VNF1 and VNF2, and that VNF1 and VNF2 correspond to VM2 and VM4, respectively.
  • the table in FIG. 25 corresponds to the service chain definition storage unit and the mapping information storage unit.
  • the position specifying unit 102 specifies information regarding the positions of the four VMs in the physical network specified by the node specifying unit 101 (refer to the position information of the physical node in FIG. 25, S5-3 in FIG. 26).
  • the path setting means 103 sets a data path for realizing the service chain requested by the user on the physical NW using the information on the location of the two sets of VMs in the physical network and the topology information of the physical NW.
  • a data path is set between VM1 and VM4 corresponding to service chain 1
  • a data path is set between VM2 and VM3 corresponding to service chain 2.
  • service chains that provide the same service are constructed using the same VNF, but it is not always necessary to use the same VNF.
  • the control device 100 specifies a communication node such as a VM corresponding to the service chain requested by the user and performs the communication.
  • the node is dropped into position information on the physical NW, and a data path on the physical NW between the communication nodes is set. Therefore, after dropping the service chain on the virtual network requested by the user into the function implementation means and the location information on the physical network, the service chain on the virtual network is connected to the physical network by connecting them. Can be realized.
  • the seventh embodiment of the present invention can adopt a configuration in which a control device is arranged for each physical NW.
  • a control device is arranged for each physical NW.
  • Each control device manages the physical NW assigned to it.
  • the service requested by the user can be constructed across different physical NWs.
  • each control device shares the information collected and specified by the respective node specifying means 101 and position specifying means 102, and sets the data path across different physical NWs, thereby providing the service requested by the user. It can be realized.
  • a case where a service requested by a user is specified from a communication node included in a tenant corresponding to the user will be described as an example.
  • the service may be a service chain or the like.
  • FIG. 28 is a diagram illustrating an example of a table (corresponding to a tenant definition storage unit and a mapping information storage unit) created by the control devices 1 and 2 according to the present embodiment exchanging information.
  • the tenant corresponding to the user
  • the VM identifier (VM1 to VM4) for realizing the service, and each of the VM1 to VM4 are managed.
  • the control device (the control device 1 or the control device 2) and the positional information on the physical NW of the VM1 to VM4 are stored in association with each other.
  • information (VM identifier and physical node position information) on VM1 and VM2 managed by the control device 1 is specified by the control device 1. Further, information (VM identifier and physical node position information) regarding VM 3 and VM 4 managed by the control device 2 is specified by the control device 2.
  • the control device 1 and the control device 2 share the information specified by the own device (the identifier of the VM managed by the own device and the location information of the physical node).
  • the control device 1 and the control device 2 exchange the information by, for example, BGP (Border Gateway Protocol).
  • BGP Border Gateway Protocol
  • the control device 1 and the control device 2 can also exchange the position information on the VM and the physical NW by exchanging the table shown in FIG.
  • the control device 1 transmits the upper stage of the table shown in FIG. 28 (the part specified by the control device 1) to the control device 2.
  • the control device 2 transmits the lower part of the table shown in FIG. 28 (the part specified by the control device 2) to the control device 1.
  • the control apparatus 1 and the control apparatus 2 can exchange the table shown in FIG.
  • control device 1 and the control device 2 may include, for example, topology information of the physical NW.
  • the path setting means 103 of the control device 1 and the control device 2 sets the data path on the physical NW necessary for realizing the service requested by the user, using the specified location information on the physical NW.
  • either the control device 1 or the control device 2 may set the entire data path based on the shared information (for example, the table shown in FIG. 28) instead of the other control device. Good.
  • the control device 1 sets processing rules and transfer information for transferring packets from the VM1 or VM2 to the physical node 210B for the physical node 210A. Further, the control device 1 sets a processing rule and transfer information for transferring a packet from the VM 3 or VM 4 transferred from the physical node 210B to the VM 1 or VM 2 for the physical node 210A.
  • control device 2 sets processing rules and transfer information for transferring packets from the VM 3 or VM 4 to the physical node 210A for the physical node 210B. Further, the control device 2 sets a processing rule and transfer information for transferring the packet from the VM1 or VM2 transferred from the physical node 210A to the VM3 or VM4 to the physical node 210B.
  • control device 1 and the control device 2 can set the data path between the VM1 and the VM4 in the physical NW, and can realize the service requested by the user.
  • the present invention can also be applied to realization of a tenant, a service chain, etc. between physically separated networks, for example, between networks in different DCs.
  • FIG. 29 is a diagram showing the configuration of the eighth exemplary embodiment of the present invention.
  • the basic configuration is the same as that of the seventh embodiment shown in FIG. 27, in this embodiment, for example, the communication protocol (tunneling protocol) is different between the physical NW1 and the physical NW2, and the data is not changed as it is. The difference is that the path cannot be set.
  • the difference will be mainly described.
  • the physical network is constructed with a different tunneling protocol (VXLAN / NvGRE as an example).
  • VXLAN Virtual eXtensible Local Area Network
  • NVGRE Network Virtualization using Generic Routing Encapsulation
  • GW1 and GW2 gateways
  • the space between the physical NW1 and the physical NW2 may be a WAN (WideWArea Network) or the like.
  • the control unit 110 of the control device 100E1 and the control device 100E2 exchanges topology information of the physical NW1 and the physical NW2 via the communication unit 120, for example.
  • the control device 100E1 and the control device 100E2 exchange the topology information by BGP.
  • the node specifying means 101 of the control device 100E1 and the control device 100E2 specifies a VM necessary for realizing the service requested by the user from the VMs included in the tenant corresponding to the user.
  • the node specifying unit 101 of the control device 100E1 and the control device 100E2 specifies that the service requested by the user requires VM1 to VM4 among the VMs included in the tenant corresponding to the user.
  • Each node specifying unit 101 for example, for a service requested by a user, a tenant corresponding to the user and a VM identifier that can uniquely identify each of VM1 to VM4 required for the service requested by the user Associate.
  • the position specifying unit 102 of the control device 100E1 and the control device 100E2 specifies information regarding the positions on the physical NW of the VM1 to VM4 specified by the node specifying unit 101.
  • the position specifying unit 102 of the control device 100E1 specifies information related to the position on the physical NW1 for the VM1 and the VM2 in the physical NW1 managed by the control device E1.
  • the position specifying unit 102 of the control device 100E1 uses the addresses of the VM1 and VM2 and the addresses of the virtual switches to which the VM1 and VM2 are connected as information on the positions of the VM1 and VM2 on the physical NW1. Specify port number, etc.
  • the position specifying unit 102 of the control device 100E2 specifies information related to the position on the physical NW2 for the VM3 and the VM4 in the physical NW2 managed by the control device E2. Specifically, the position specifying unit 102 of the control device 100E2 uses the addresses of the VM3 and VM4 and the addresses of the virtual switches to which the VM3 and VM4 are connected as information regarding the positions of the VM3 and VM4 on the physical NW1. Specify port number, etc.
  • FIG. 30 is a diagram illustrating an example of a table held by the control devices 100E1 and 100E2 according to the eighth embodiment. The difference from the table held by the control device of the seventh embodiment illustrated in FIG. 28 is that a protocol storage area is added.
  • a tenant corresponding to the user, a VM identifier for realizing the service requested by the user (VM1 to VM4), and the VM1 to VM4 are stored in association with the control device (control device 1 or control device 2) that manages each of the above, the location information of the physical node that realizes the VM1 to VM4, and the protocol in the physical NW that includes the VM1 to VM2. ing.
  • the control device control device 1 or control device 2
  • the control device controls the control device (control device 1 or control device 2) that manages each of the above, the location information of the physical node that realizes the VM1 to VM4, and the protocol in the physical NW that includes the VM1 to VM2.
  • the control device 100E1 and the control device 100E2 exchanges information regarding the tunneling protocol (VXLAN / NvGRE) in the managed NW, for example, via the communication unit 120.
  • the control unit 110 of the control device 100E1 and the control device 100E2 shares the VM location information (the VM identifier managed by the own device and the physical node location information) specified by the own device.
  • the control device 100E1 and the control device 100E2 exchange the position information of the VM by, for example, BGP.
  • the path setting means 103 of the control device 100E1 and the control device 100E2 uses the physical NW necessary for realizing the service requested by the user based on the VM location information specified by the own device and the shared VM location information. Set the upper data path.
  • the path setting unit 103 of the control device 100E1 sets a data path between VM1 and VM2 in the physical NW1, for example. Further, the path setting unit 103 of the control device 100E1 sets a processing rule and transfer information for transferring a packet from the VM1 or VM2 to the GW1 for the physical node 210A. Further, the control device 100E1 sets processing rules and transfer information for transferring, to the VM1 or VM2, the packet from the VM3 or VM4 transferred from the GW1 to the physical node 210A.
  • the tunneling protocol of the physical NW1 is VXLAN, which may be different from the communication protocol on the Internet.
  • the path setting means 103 of the control device 100E1 converts packets transferred from VM1 and VM2 based on VXLAN to GW1 into a communication protocol in the Internet, and transfers the packet to the Internet. Set processing rules and transfer information.
  • the path setting means 103 of the control device 100E1 decapsulates transfer information (address, etc.) based on VXLAN from the packet received from the physical node 210A for the GW1, and uses the communication protocol on the Internet for the packet. Instructs to encapsulate transfer information (address, etc.) compliant with.
  • the path setting means 103 of the control device 100E1 converts, for example, a packet transferred to the GW1 based on the communication protocol in the Internet into a VXLAN that is a tunneling protocol of the physical NW1, and sends it to the physical node 210A.
  • Set processing rules and transfer information for transfer Specifically, the path setting means 103 of the control device 100E1 decapsulates transfer information (address, etc.) based on the communication protocol on the Internet from the received packet to the GW1, and transfers the packet in accordance with VXLAN. Indicates that information (address, etc.) is to be encapsulated.
  • the path setting means 103 of the control device 100E2 sets a data path between VM3 and VM4 in the physical NW2, for example. Specifically, the path setting unit 103 of the control device 100E2 sets a data path between the physical node 200B in which the VM3 is activated and the physical node 200C in which the VM4 is activated. On the other hand, processing rules and transfer information for enabling communication between the physical node 200B and the physical node 200C are set. Further, the path setting unit 103 of the control device 100E1 sets a processing rule and transfer information for transferring a packet from the VM1 or VM2 to the GW1 for the physical node 210A. Further, the control device 1 sets processing rules and transfer information for transferring the packet from the VM 3 or VM 4 transferred from the GW 1 to the VM 1 or VM 2 for the physical node 210A.
  • the tunneling protocol of the physical NW2 is NvGRE and may be different from the communication protocol on the Internet.
  • the path setting unit 103 of the control device 100E2 converts packets transferred from the VM3 and VM4 based on the NvGRE to the GW2 into a communication protocol in the Internet and transfers the packet to the Internet.
  • Set processing rules and transfer information Specifically, the path setting unit 103 of the control device 100E2 decapsulates transfer information (address, etc.) based on NvGRE from a packet received from the physical node 210B for the GW2, for example, and encapsulates the packet on the Internet. Instructs to encapsulate transfer information (address, etc.) conforming to the communication protocol.
  • the path setting unit 103 of the control device 100E2 converts, for example, a packet transferred to the GW2 based on the communication protocol in the Internet into NvGRE, which is a tunneling protocol of the physical NW2, and sends it to the physical node 210B.
  • NvGRE which is a tunneling protocol of the physical NW2
  • the path setting unit 103 of the control device 100E2 decapsulates transfer information (address, etc.) based on the communication protocol on the Internet from the received packet to the GW2, and transfers information (NvGRE-compliant transfer information ( Address) is encapsulated.
  • control device 100E1 and the control device 100E2 can set the data path between the VM1 and the VM4 in the physical NW, and can realize the service requested by the user.
  • FIG. 31 is a diagram illustrating another configuration example of the system according to the eighth embodiment.
  • the physical NW1 is a data center (data center (DC) 1) that provides a public cloud
  • the physical NW2 is on-premises (DC2). That is, a tenant is constructed using a VM provided from a public cloud and a VM prepared on-premises, for example, a form called a hybrid cloud.
  • the control device 1 that manages the physical NW1 in the DC1 that provides the public cloud is different from the control device 2 that manages the physical NW2 in the on-premises (DC2). Therefore, in order to set up a data path on the physical NW necessary for realizing a predetermined service using a communication node included in the tenant when trying to construct one tenant, the control device 1 and the control device Information needs to be exchanged between the two.
  • the tunneling protocol may be different between the physical NW1 in the DC1 that provides the public cloud and the physical NW2 in the on-premises (DC2).
  • the tunneling protocol of the physical NW1 in the DC1 that provides the public cloud is VXLAN
  • the tunneling protocol of the physical NW2 in the on-premises (DC2) is NvGRE.
  • the control device 1 and the control device 2 in FIG. 31 specify the communication node necessary for realizing the service requested by the user, specify the location information on the physical NW of the specified communication node, and specify the specified A data path is set between the communication nodes based on the position information.
  • the node specifying means 101 of the control device 1 and the control device 2 specifies the communication nodes required to realize the service requested by the user as VM1 to VM3.
  • the position specifying means 102 of the control device 1 and the control device 2 specifies the position information on the physical NW of each of the VM1 to VM3.
  • the control device 1 specifies the location information of the VM1 and the VM2 in the physical NW1 in the DC1 that provides the public cloud to be managed.
  • the control device 2 specifies the position information of the VM 3 in the physical NW 2 in the on-premises (DC 2) to be managed.
  • the path setting means 103 of the control device 1 and the control device 2 sets a data path between VM1 to VM3 based on the specified position information.
  • the physical NW1 in the DC1 that provides the public cloud, the physical NW2 in the on-premises (DC2), and the Internet may have different communication protocols.
  • the path setting means 103 of the control device 1 sets, for example, processing rules and transfer information for mutually converting the communication protocol in the physical NW1 and the communication protocol in the Internet for the GW1.
  • the path setting unit 103 of the control device 2 sets, for example, processing rules and transfer information for mutually converting the communication protocol in the physical NW2 and the communication protocol in the Internet for the GW2.
  • the specific processing of the path setting unit 103 of the control device 1 and the control device 2 is the same as that of the path setting unit 103 of the control device 100E1 and the control device 100E2 illustrated in FIG.
  • the control device 1 and the control device 2 can set a data path between the VM1, VM2, and VM3 that exist in different DCs, and can realize the service requested by the user. Become.
  • either one of the control device 1 or the control device 2 stores the position information of VM1 to VM3.
  • Identification or setting of a data path between VM1 to VM3 may be executed.
  • the control device 2 in the on-premises (DC2) specifies the location information of the VM1 to VM3 based on the topology information of the physical NW1 acquired from the control device 1 in the DC1 that provides the public cloud, and the VM1 to VM3. Set the data path between.
  • control device 2 requests the control device 1 to set the data path between the VM1 and the VM2 in the physical NW1 of the DC1, and to set the processing rule and transfer information for the GW1, so that the VM1 ⁇ A data path between VMs 3 may be set.
  • FIG. 32 is a diagram illustrating another configuration example of the system according to the eighth embodiment.
  • the system according to the eighth embodiment includes, for example, user A's on-premises DC 1, public cloud DC 2, public cloud DC 3, and user B's on-premises DC 4.
  • the system in the eighth embodiment includes a tenant 1 corresponding to the user A and a tenant 2 corresponding to the user B, and a multi-tenant is provided by a plurality of DCs.
  • the tenant 1 corresponding to the user A includes VM1 in DC1, VM2 and VM3 in DC2, and VM4 in DC3.
  • the tenant 2 corresponding to the user B includes a VM 5 in the DC 3 and a VM 6 in the DC 4.
  • the node specifying means 101 of the control device 1, the control device 2, and the control device 3 specifies VM1 to VM4 included in the tenant 1 corresponding to the user A as VMs that realize the service requested by the user A.
  • the position specifying means 102 of the control device 1, the control device 2, and the control device 3 specifies position information on the physical NW of VM1 to VM4.
  • the position specifying unit 102 of the control device 1 specifies position information on the physical NW of the VM 1 in the DC 1 managed by the own device.
  • the position specifying means 102 of the control device 2 and the control device 3 also specify the position information on the physical NW of the VM2 and VM3 in the DC2 and the VM4 in the DC3, respectively.
  • the path setting means 103 of the control device 1, the control device 2, and the control device 3 sets a data path between VM1 and VM4.
  • each of DC1 to DC3 and the Internet may have different communication protocols.
  • the path setting means 103 of the control device 1, the control device 2, and the control device 3 respectively change the communication protocol of DC1 to DC3 and the communication protocol of the Internet to each of GW1 to GW3.
  • the specific processing of the path setting unit 103 of the control device 1, the control device 2, and the control device 3 is the same as that of the control device 100E1 and the path setting unit 103 of the control device 100E2 illustrated in FIG. Explanation is omitted.
  • the path setting means 103 of the control device 1, the control device 2, and the control device 3 can set the data path between each of VM1 to VM4 existing in different DCs, and the service requested by the user A Can be realized.
  • one of the control device 1, the control device 2, and the control device 3 has the VM1 to VM4 based on information acquired from another control device (such as topology information of the physical NW managed by the other control device).
  • Specification of position information and setting of a data path between VM1 and VM4 may be executed.
  • the control device 1 in the on-premises (DC1) specifies the location information of the VM1 to VM4 based on the topology information of the physical NW in the DC2 and DC3 acquired from the other control devices 2 and 3, and the like.
  • the data path setting between VM1 to VM4 is executed.
  • control device 1 requests the control device 2 and the control device 3 to set the data path on the physical NW in the DC2 and the DC3 and the setting for the GW2 of the DC2 and the GW3 of the DC3.
  • Data path setting between VM1 to VM4 may be executed.
  • the node specifying means 101 of the control device 3 and the control device 4 specifies VM5 and VM6 included in the tenant 2 corresponding to the user A as VMs that realize the service requested by the user B.
  • the position specifying means 102 of the control device 3 and the control device 4 specifies the position information on the physical NW of the VMs 5 and 6.
  • the position specifying unit 102 of the control device 3 specifies position information on the physical NW of the VM 5 in the DC 3 managed by the own device.
  • the position specifying unit 102 of the control device 4 also specifies position information on the physical NW of the VM 6 in the DC 4.
  • the path setting unit 103 of the control device 3 and the control device 4 sets a data path between the VM 5 and the VM 6.
  • DC3, DC4, and the Internet may have different communication protocols.
  • the path setting means 103 of the control device 3 and the control device 4 respectively transfers processing rules and transfers for changing the communication protocols of DC3 and DC4 and the communication protocol of the Internet to each of GW3 and GW4. Set the information.
  • the specific processing of the path setting means 103 of the control device 3 and the control device 4 is the same as that of the path setting means 103 of the control device 100E1 and the control device 100E2 illustrated in FIG. The Thereby, the path setting means 103 of the control device 3 and the control device 4 can set a data path between each of the VMs 5 and 6 existing in different DCs, and realize the service requested by the user B. Is possible.
  • one of the control device 3 and the control device 4 is based on information acquired from another control device (such as topology information of a physical NW managed by the other control device).
  • the location information of VM1 to VM3 and the setting of the data path between VM1 to VM3 may be executed.
  • the present invention can be applied even when the network is physically different and the communication protocol is different.
  • each request means of the control device of each embodiment described above can also be realized by a computer program that causes a computer constituting the control device to execute the above-described processes using its hardware.
  • the first means identifies a plurality of virtual machines capable of providing the function of the network node
  • the third means is a control device for connecting the plurality of virtual machines on the physical network so as to realize the function of the network node.
  • the first means is a control device that specifies, for each of the plurality of functions, a virtual machine that can provide each of the plurality of functions included in the network node.
  • the first means is a control device that identifies a plurality of virtual machines capable of selectively providing the plurality of functions.
  • the first means identifies a plurality of virtual machines capable of providing the plurality of functions included in a communication service in which the plurality of functions are connected in order
  • the third means is a control device for connecting the plurality of virtual machines on the physical network so as to realize the order.
  • the first means specifies, for each of a plurality of communication services, a virtual machine that can provide a function of a network node included in each of the plurality of communication services
  • the third means is a control device for setting a data path for realizing each of the plurality of communication services on the physical network for each of the plurality of communication services.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

 本発明は、仮想ネットワーク上のサービスを、物理NW上で実現する制御装置、サービスの提供方法及びプログラムを提供する。制御装置は、ネットワークノードの機能を提供可能な仮想マシンを特定する第1の手段と、前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する第2の手段と、前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する第3の手段と、を備える。

Description

制御装置、制御方法及びプログラム
 (関連出願についての記載)
 本発明は、日本国特許出願:特願2015-073889号(2015年3月31日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
 本発明は、制御装置、制御方法及びプログラムに関し、特に、物理ネットワークのリソースを用いて各種のサービスを提供する制御装置、制御方法及びプログラムに関する。
 特許文献1にネットワーク仮想化システムの一運用方法が開示されている。同文献の段落0048以下には、ネットワーク仮想化システム1が、設定端末31からの指示を受け取り、物理ノード(物理ノード21乃至物理ノード26)及び物理リンク51のリソースを用いて、仮想ノード及び仮想リンクを含む仮想ネットワーク(仮想ネットワーク2及び仮想ネットワーク3)を構築することが記載されている(例えば、段落0131~0141参照)。
特表2014-501458号公報
 以下の分析は、本発明によって与えられたものである。特許文献1に代表されるネットワーク仮想化技術を用いて、ユーザにサービス(例えば、あるネットワークに仮想マシン(以下「VM:Virtual Machine」)を立ち上げ、外部から利用したい等)を提供するには、当該サービスを実現するために必要な物理リソースを用意し、必要な設定(例えば、特許文献1の図16、図13参照)を矛盾なく行う必要がある。
 しかしながら、特許文献1には、ユーザから要求された仮想ネットワーク上のサービスをどのようにして実現するか、とりわけ、ユーザからあるサービスの提供を求められたときに、そのために必要な物理的なリソースの配置や接続をどのようにして実現するかについては開示されていない。
 本発明は、仮想ネットワーク上のサービスを、物理NW上で実現する制御装置、制御方法及びプログラムを提供することを目的とする。
 第1の視点によれば、ネットワークノードの機能を提供可能な仮想マシンを特定する第1の手段と、前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する第2の手段と、前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する第3の手段と、を備える制御装置が提供される。
 第2の視点によれば、物理ネットワークを制御する制御装置と、前記制御装置によって管理される仮想マシンと、を含む通信システムが提供される。前記制御装置は、ネットワークノードの機能を提供可能な仮想マシンを特定する第1の手段と、前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する第2の手段と、前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する第3の手段と、を備える。
 第3の視点によれば、ネットワークノードの機能を提供可能な仮想マシンを特定し、 
 前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定し、
 前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する制御方法が提供される。
 本方法は、上記した第1~第3の手段を備える制御装置という、特定の機械に結びつけられている。
 第4の視点によれば、ネットワークノードの機能を提供可能な仮想マシンを特定する処理と、前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する処理と、前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する処理とをコンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジエントな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
 本発明の制御装置、制御方法及びプログラムによれば、仮想ネットワーク上のサービスを物理ネットワーク上で実現できる。
本発明の第1の実施形態のシステムの構成例を示す図である。 本発明の第1の実施形態の制御装置の構成例を示す図である。 本発明の第1の実施形態の制御部が実行する処理例を示す図である。 本発明の第1の実施形態の制御装置が保持するテーブルの一例を示す図である。 本発明の第1の実施形態の制御装置の動作例を示すフローチャートである。 本発明の第1の実施形態のシステムの他の構成例を示す図である。 本発明の第2の実施形態のシステムの構成例を示す図である。 本発明の第2の実施形態の制御装置が保持するテーブルの一例を示す図である。 本発明の第2の実施形態の制御装置の動作例を示すフローチャートである。 本発明の第2の実施形態の制御装置の他の構成を示す図である。 本発明の第3の実施形態の制御装置の構成を示す図である。 本発明の第3の実施形態のシステムの構成例を示す図である。 本発明の第3の実施形態の制御装置の動作例を示すフローチャートである。 本発明の第4の実施形態のシステムの構成例を示す図である。 本発明の第4の実施形態の制御装置が保持するテーブルの別の一例を示す図である。 本発明の第4の実施形態のシステムの他の構成例を示す図である。 本発明の第5の実施形態のシステムの構成例を示す図である。 本発明の第5の実施形態の制御装置の構成例を示す図である。 本発明の第5の実施形態の制御装置と連携動作する物理ノードの一例を説明するための図である。 本発明の第5の実施形態の制御装置と連携動作する物理ノードによるVNFの構成例を説明するための図である。 本発明の第5の実施形態のシステムの構成例を示す図である。 本発明の第5の実施形態の制御装置の動作例を示すフローチャートである。 本発明の第5の実施形態の制御装置と連携動作する物理ノードに設定されるデータパスの一例を説明するための図である。 本発明の第6の実施形態のシステムの構成例を示す図である。 本発明の第6の実施形態の制御装置が保持するテーブルの別の一例を示す図である。 本発明の第6の実施形態の制御装置の動作例を示すフローチャートである。 本発明の第7の実施形態のシステムの構成例を示す図である。 本発明の第7の実施形態の制御装置が保持するテーブルの別の一例を示す図である。 本発明の第8の実施形態のシステムの構成例を示す図である。 本発明の第8の実施形態の制御装置が保持するテーブルの一例を示す図である。 本発明の第8の実施形態のシステムの他の構成例を示す図である。 本発明の第8の実施形態のシステムの他の構成例を示す図である。
[第1の実施形態]
 本発明の第1の実施形態について図面を参照して詳細に説明する。図1は、本発明の第1の実施形態のシステムの構成例を示す図である。図1を参照すると、物理ノード200A、200B、210(以下、物理ノード200A、200Bを特に区別しない場合、「物理ノード200」と記す。)が配置された物理ネットワーク(以下、「物理NW」)と、この物理ノード200、210と接続された制御装置100とを含む構成が示されている。
 物理ノード200、210のうち、物理ノード200は仮想ネットワーク(以下、「仮想NW」)上で仮想マシン(以下、「VM」)300を提供する機能を備えている。この様な物理ノード200としては、仮想マシン環境構築用サーバ等があげられる。また、図1の例では、VM300を動作させている例を挙げているが、アプリケーションプログラム等が導入され特定の機能を提供可能な状態になっている仮想アプライアンスであってもよい。
 物理ノード210は、制御装置100から指示された経路に従って物理ノード200間の通信を実現する。この様な物理ノード210としては、オープンフロースイッチやレイヤ3スイッチ等が挙げられる。また、物理ノード210に代えて、物理ノード200によって構成される仮想スイッチを用いてもよい。
 ここで、仮想NWが複数の通信ノード(例えば、VM300など)で運用されている場合、仮想NW上の通信を実現するためには、複数の通信ノード(例えば、VM300など)間にデータパスを設定し、当該仮想NW上の通信に対応する物理NW上の通信を可能にする必要がある。そこで、第1の実施形態では、仮想NWに含まれる複数の通信ノード(例えば、VM300)間にデータパスを設定する。
 また、仮想NWに含まれる複数の通信ノード(例えば、VM300など)が互いに異なる複数の物理ノード200(例えば、物理サーバなど)で運用された場合、物理NW上における複数の通信ノード(例えば、VM300など)間のデータパスの設定には、当該複数の物理ノード200間にもデータパスを設定する必要がある。例えば、図1の例では、仮想NWに含まれるVM300の各々が物理ノード200Aと物理ノード200Bとで運用されており、VM300間にデータパスを設定するためには、物理ノード200Aと物理ノード200Bとの間にもデータパスを設定する必要がある。そこで、第1の実施形態では、仮想NWに含まれる複数の通信ノード(例えば、VM300)を実現する複数の物理ノード200間にもデータパスを設定する。
 上記の通り、第1の実施形態において、制御装置100は、ユーザが要求するサービスを実現するために、当該ユーザが要求するサービスに対応するVM等の通信ノードを特定し、その通信ノードを物理NW上の位置情報に落とし込み、当該通信ノード間の物理NW上のデータパスを設定する。
 図2は、第1の実施形態における制御装置100の構成例を示す図である。図2を参照すると、制御装置100は、制御部110と通信部120とを含む。
 通信部120は、物理ノード200や物理ノード210などの他装置と通信可能なインターフェースである。通信部120は、例えば、物理ノード200に所定の制御信号を送信可能である。通信部120は、例えば、物理ノード210に処理規則や転送情報を送信可能である。
 制御部110は、所定の処理を実行可能な機能を備える。制御部110が実行する所定の処理は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)により実行される。
 図3は、第1の実施形態における制御部110が実行する処理例を示す図である。図3を参照すると、制御部110は、ノード特定手段101(第1の手段)と、位置特定手段102(第2の手段)と、パス設定手段103(第3の手段)の各々が行う処理を実行可能である。
 ノード特定手段101は、ユーザが要求するサービスに対応する通信ノードを特定する。ここで、「ユーザが要求するサービス」は、例えば、仮想リソースを用いて論理的に構成され仮想ネットワーク(例えば、vEPCなど)や、当該ユーザに対応するテナントに含まれる仮想リソースや物理リソースを用いたサービスである。また、「ユーザが要求するサービス」は、例えば、ある(仮想)ネットワークにサーバリソース(VMでもよいし物理サーバでもよい)を配置したい、そのネットワークを外部ネットワークに繋げたい、といった既存の仮想NW等に対するユーザの要求であってもよい。また、「ユーザが要求するサービス」は、例えば、仮想ネットワーク機能(VNF:Virtual Network Function)や、サービスチェイン(Service Chain)であってもよい。
 ノード特定手段101は、このようなサービスを提供可能な1つ以上の通信ノードを特定する役割を果たす。また、「通信ノード」は、例えば、前述のサーバリソース(VMでもよいし物理サーバでもよい)に相当する。図1のノード特定手段101から延びる矢線は、ノード特定手段101が、上段の仮想ネットワーク(ユーザが要求するサービスを表す)に対応するVM300を特定する動作を表している。
 位置特定手段102は、ノード特定手段101によって特定された通信ノードの物理ネットワークにおける位置に関する情報を特定する。ここで、「物理ネットワークにおける位置」としては、ノード特定手段101によって特定された通信ノードに対応する物理NW上の端点情報を用いることができる。端点情報は、例えば、ノード特定手段101によって特定された通信ノードのアドレス(例えば、IP(Internet Protocol)アドレス、MAC(Media Access Control)アドレス)である。
 また、端点情報は、例えば、ノード特定手段101によって特定された通信ノードが接続する仮想スイッチのアドレス(例えば、IPアドレス、MACアドレス)であってもよい。端点情報は、例えば、ノード特定手段101によって特定された通信ノードが接続する仮想スイッチにおいて、当該通信ノードが使用するポートのポート番号であってもよい。また、端点情報は、例えば、ノード特定手段101によって特定された通信ノードを実現する物理ノード200のアドレス(例えば、IPアドレス、MACアドレス)であってもよい。さらに、端点情報は、例えば、ノード特定手段101によって特定された通信ノードに対応する物理スイッチ(例えば、物理ノード210など)のアドレス(例えば、IPアドレス、MACアドレス)であってもよい。
 図1の位置特定手段102から延びる矢線は、位置特定手段102が、ノード特定手段101によって特定されたVM300の端点情報、または、当該VM300に対応する物理ノード200の端点情報を特定する動作を表している。
 パス設定手段103は、前記位置特定手段102によって特定された通信ノードの物理ネットワークにおける位置に関する情報を用いて、物理NW上にユーザが要求するサービスを実現するために必要なデータパスを設定する。ここで「データパスを設定する」処理は、物理ノード210にフローエントリや経路情報を設定することによって実現される。フローエントリは、物理ノード210がフローに属するパケットを処理するための処理規則である。経路情報は、例えば、物理ノード210がパケットを転送するために用いる転送情報である。図1のパス設定手段103から延びる矢線は、例えば、パス設定手段103が、位置特定手段102によって特定された物理ノード200を、物理ノード210を介して互いに接続し、データパスを設定する動作を表している。
 図4は、第1の実施形態における制御装置が保持するテーブルの一例を示す図である。図4の上段は、サービスと、通信ノードと、物理ノードの位置情報とを対応付けたテーブルである。ノード特定手段101は、サービスAを実現するためにどのようなリソースが必要かを割出す。例えば、図4の例では、サービスAを実現するために必要なリソースとして、VM1~VM3が特定されている。そして、位置特定手段102は、VM1~VM3の物理NWにおける位置に関する情報(物理NW上でどの物理ノードの端点に繋がっているか)を割り出す。図4の例では、VM1~VM3を実現する物理ノードのアドレスとポートが特定されている。このような動作を行うノード特定手段101及び位置特定手段102としては、エージェントと呼ばれるネットワークのリソース管理機能を用いることができる。
 また、図4に示したテーブルを、サービス定義記憶部及びマッピング情報記憶部として制御装置100に保持させることも可能である。このようにすることで、ノード特定手段101、位置特定手段102における特定処理を高速化することができる。図4の例では、1つのテーブルで、サービス定義記憶部及びマッピング情報記憶部を実現しているが、サービスと通信ノードの対応関係を格納するテーブル(サービス定義記憶部に相当)と、通信ノードと物理NW上の位置情報の対応関係を格納するテーブル(マッピング情報記憶部に相当)に分けることも可能である。
 パス設定手段103は、物理NWのトポロジ情報と、特定された物理ノード200のアドレスとポート(ポート番号)を用いて、VM1~VM3間にデータパスを設定する。例えば、図4の下段に示すように、VM1~VM3に対応する物理ノード200のポート間にデータパスを設定することで、例えば、VM1~VM3がリング状に接続されたトポロジを持つ仮想ネットワークを実現することができる。なお、下段の矢線中、物理ノード200Aと物理200B間のデータパスは、物理ノード210にフローエントリや経路情報を設定することで実現される。また、前記トポロジ情報は、トポロジ情報を記憶するトポロジ情報記憶部から取得することができる。
 図5は、第1の実施形態の制御装置100の動作例を示すフローチャートである。
 まず、制御装置100のノード特定手段101は、ユーザが要求するサービスを提供可能な1つ以上の通信ノードを特定する(S1-1)。図1の例では、ノード特定手段101は、ユーザが要求するサービス(仮想NW)として、複数のVM300を特定する。
 次に、制御装置100の位置特定手段102は、ノード特定手段101によって特定された通信ノードの物理NWにおける位置に関する情報を特定する(S1-2)。図1の例では、位置特定手段102は、ノード特定手段101が特定した複数のVM300の各々について、物理NW上の端点情報を特定する。位置特定手段102は、例えば、複数のVM300の各々について、当該VM300の各々を運用する物理ノード200の物理NW上のアドレスと、当該物理ノード200のポートのうち当該VM300の各々に対応するポートのポート番号とを特定する。
 続いて、パス設定手段103は、位置特定手段102によって特定された通信ノードの物理NWにおける位置に関する情報を用いて、物理NW上において通信ノード間のデータパスを設定する(S1-3)。図1の例では、パス設定手段103は、物理NWのトポロジ情報と、位置特定手段102によって特定された物理ノード200のアドレスとポート(ポート番号)を用いて、複数のVM300間にデータパスを設定する。なお、図1の例では、複数のVM300が異なる物理ノード200で運用されているので、パス設定手段103は、物理ノード201に対して、物理ノード200間を互いに通信可能とするためのフローエントリや経路情報を設定して、物理ノード200間にもデータパスを設定する。
 上記説明からも理解されるように、本発明は、物理ネットワーク(物理NW)が異なるトンネリングプロトコル(一例としてVXLAN/NvGRE)で構築されているような場合でも好ましく適用できる。図6は、本発明の第1の実施形態のシステムの他の構成例を示す図である。
 図6を参照すると、VXLAN(Virtual eXtensible Local Area Network)で構築された物理NW1と、NVGRE(Network Virtualization using Generic Routing Encapsulation)で物理NW2がゲートウェイ(GW:Gateway)で接続されている構成が示されている。
 例えば、「ユーザが要求するサービス」として、図6に示す4つのVMが配置された仮想ネットワークの情報が入力されたものとする(図6の「(A)サービス定義」参照)。ここでのユーザは、上述の物理ネットワークの構成を知らなくてもよい。
 ノード特定手段101は、ユーザの要求するサービスに対応する通信ノードを特定する。図6の例では、ノード特定手段101は、3つの物理サーバ200a~200c上で動作する4つのVMを特定している(図6の「(B)マッピング」参照)。この段階においても、VMがどのような物理ネットワーク上で動作しているかを知る必要はない。
 次に、位置特定手段102が、ノード特定手段101によって特定された4つのVMの物理ネットワークにおける位置に関する情報を特定する。図6の例では、物理ネットワークにおける位置に関する情報として、4つのVMに対応する物理NW上の端点情報が特定される。例えば、位置特定手段102は、4つのVMが動作する物理サーバ200a~200cのアドレスが特定される。
 次に、パス設定手段103が、特定された端点情報と、物理NW1、物理NW2のトポロジ情報を用いて、物理NW1、NW2上にユーザが要求するサービスを実現するデータパスを設定する。図6の例では、図6下段に示すように、物理NW1側にある物理サーバ200A、物理スイッチ210A及び物理サーバ200Bと、物理NW2側にある物理スイッチ210B及び物理サーバ200Cを、ゲートウェイ(GW)を介して接続するようなデータパスが設定されている。
 以上のように、第1の実施形態によれば、制御装置100は、ユーザが要求するサービスを実現するために、当該ユーザが要求するサービスに対応するVM等の通信ノードを特定し、その通信ノードを物理NW上の位置情報に落とし込み、当該通信ノード間の物理NW上のデータパスを設定する。したがって、ユーザが要求する仮想ネットワーク上のサービスを、その機能実現手段と、その物理ネットワーク上の位置情報に落としこんだ後、これらを接続することで、仮想ネットワーク上のサービスを物理ネットワーク上で実現できる。
[第2の実施形態]
 続いて、ユーザに対応するテナントに含まれるネットワークリソースを使用させることを想定した本発明の第2の実施形態について図面を参照して詳細に説明する。第2の実施形態では、ユーザからサービスに関する要求を受けた場合に、当該ユーザに対応するテナントに含まれるVM等の通信ノードを特定し、その通信ノードを物理NW上の位置情報に落とし込み、物理NW上のデータパスを設定することで、当該ユーザが要求するサービスが実現される。
 図7は、本発明の第2の実施形態におけるシステムの構成例を示す図である。制御装置100Aは、第1の実施形態の制御装置とほぼ同様の構成であり、ノード特定手段101~パス設定手段103を備えている。以下、第1の実施形態との相違点を中心に説明する。
 図8は、本実施形態の制御装置100Aが保持するテーブル(テナント定義記憶部及びマッピング情報記憶部に相当)の一例を示す図である。図8を参照すると、テナントと、通信ノード(例えば、VM)と、当該通信ノードを運用する物理ノードの位置情報とを対応付けたテーブルが示されている。
 ノード特定手段101は、例えば、ユーザから要求されたサービスを実現するためにどのようなリソースが必要かを割り出す。ノード特定手段101は、例えば、ユーザから要求されたサービスを実現するために必要なリソースの種類を割り出す。ノード特定手段101は、ユーザから要求されたサービスに必要なリソースを、当該ユーザに対応するテナントに含まれるリソースから特定する。ノード特定手段101は、リソースの種類に加え、必要なリソース量を割出してもよい。例えば、図8の例では、ユーザから要求されたサービスに必要なリソースとして、当該ユーザに対応するテナントに含まれるVMのうち、図7に示すVM1~VM4が特定されている。ノード特定手段101は、例えば、テナント1と、当該ユーザから要求されたサービスに必要なVM1~VM4の各々を一意に識別可能なVM識別子とを対応付ける。なお、ユーザから要求されたサービスに必要なリソースは、例えば、サーバやストレージ、ネットワークノードなどのICT(Information and Communication Technology)リソースであり、VMを用いて仮想的に実現される仮想リソースであってもよいし、物理リソースであってもよい。なお、ネットワークノードは、例えば、スイッチやルータ、ファイヤウォール、ロードバランサなどの、ネットワークの構築に必要な機能を提供する装置である。
 位置特定手段102は、VM1~VM4の物理NW上の位置に関する情報を割り出す。位置特定手段102は、例えば、VM1~VM4の各々を実現する物理ノード200のアドレスと、当該物理ノード200のポートのうちVM1~VM4に対応するポートのポート番号とを割り出す。なお、位置特定手段102は、VM1~VM4の物理NW上の位置に関する情報として、当該VM1~VM4の各々のアドレスや、VM1~VM4の各々が接続する仮想スイッチのアドレスやポート番号、などを特定してもよい。
 図8に示すように、位置特定手段102は、例えば、VM1~VM4のVM識別子と、当該VM1~VM4の各々を実現する物理ノード200のアドレスと、当該VM1~VM4の各々に対応する物理ノード200のポートのポート番号とを対応付ける。
 パス設定手段103は、物理NWのトポロジ情報と、特定された物理ノード200のアドレスとポートを用いて、VM1~VM4間にデータパスを設定する。例えば、図7の下段に示すように、VM1~VM4に対応する物理ノード200のポート間にデータパスを設定することで、VM1~VM4同士が通信できるようにすることができる。
 なお、図7の例では、パス設定手段103は、VM1とVM2とを運用する物理ノード200Aと、VM3とVM4とを運用する物理ノード200B間にもデータパスを設定する。これにより、ユーザから要求されたサービスに含まれるVM1~VM4の一部又は全部が互いに異なる物理ノード200上で動作する場合でも、VM1~VM4間の通信が可能になる。
 図9は、第2の実施形態の制御装置100Aの動作例を示すフローチャートである。
 まず、制御装置100Aのノード特定手段101は、ユーザが要求するサービスを実現するために必要な1つ以上の通信ノードを特定する(S2-1)。図7の例では、ノード特定手段101は、ユーザが要求するサービスに必要なリソースとして、当該ユーザに対応するテナントに含まれるVM1~VM4を特定する。
 次に、制御装置100Aの位置特定手段102は、ノード特定手段101によって特定された通信ノードの物理NWにおける位置に関する情報を特定する(S2-2)。図7の例では、位置特定手段102は、ノード特定手段101が特定したVM1~VM4の各々を実転する物理ノード200のアドレスと、当該物理ノード200のポートのうち当該VM1~VM4の各々に対応するポートのポート番号とを特定する。
 続いて、制御装置100Aのパス設定手段103は、位置特定手段102によって特定された通信ノードの物理NWにおける位置に関する情報を用いて、物理NWにおいて通信ノード間にデータパスを設定する(S2-3)。図7の例では、パス設定手段103は、物理NWのトポロジ情報と、位置特定手段102によって特定された物理ノード200のアドレスとポート(ポート番号)を用いて、VM1~VM4間のデータパスを設定する。その際に、パス設定手段103は、例えば、物理ノード200Aと物理ノード200Bとを互いに通信可能とするためのフローエントリや経路情報を物理ノード210に設定して、物理ノード200間にもデータパスを設定する。
 図10は、制御装置100Aが複数のリソースを管理する場合における、当該制御装置100Aの構成例である。図10に示すように、制御装置100Aは、複数のリソースを管理しており、当該管理するリソースの一部を利用して、ユーザが要求するサービスを提供する。例えば、制御装置100Aは、複数のリソースをプールしておき、プールしておいたリソースからユーザが要求するサービスに必要なリソースを選択する。
 制御装置100Aのノード特定手段101は、ユーザから要求を受けたサービスに必要なリソースを割出し、管理する複数のリソースのうち当該ユーザに対応するテナントに含まれるリソースから、当該割出したリソースを選択する。ノード特定手段101は、例えば、複数のVMを管理しており、管理する複数のVMのうち、ユーザから要求を受けたサービスに必要なVMを選択する。なお、ノード特定手段が管理する複数のリソースは、物理リソースを含んでいてもよい。
 ノード特定手段101は、例えば、VMを用いて実現される機能ごとに、複数のVMを管理する。VMを用いて実現される機能は、例えば、スイッチやルータ、ファイヤウォール、ロードバランサなどのネットワーク機能である。ノード特定手段は、例えば、ネットワーク機能がVMにより仮想的に実現された、仮想スイッチや仮想ルータ、仮想ファイヤウォール、仮想ロードバランサを管理する。また、VMを用いて実現される機能は、ストレージであってもよい。ノード特定手段101は、例えば、物理サーバ内のディスクやドライブを抽象化し、仮想的に実現したストレージプールとして管理する。また、VMを用いて実現される機能は、例えば、種々のアプリケーションやディスクトップであってもよい。ノード特定手段は、例えば、VMを用いて仮想的に実現された種々のアプリケーションやディスクトップを管理してもよい。
 ノード特定手段101は、例えば、ユーザから要求を受けたサービスにロードバランサが必要であると割出した場合、管理している仮想ロードバランサであって当該ユーザに対応するテナントに含まれる仮想ロードバランサを、当該テナント向けに選択する。
 なお、ノード特定手段101がユーザから要求を受けたサービスに必要なリソースを、予めプールしておいたリソースから特定した後の位置特定手段102及びパス設定手段103の処理は、図7の位置特定手段102及びパス設定手段103の処理と同様であるため、詳細な説明は省略される。
 以上のように、本実施形態によれば、制御装置100Aは、ユーザが要求するサービスを実現するために、当該ユーザが要求するサービスに対応するVM等の通信ノードを特定し、その通信ノードを物理NW上の位置情報に落とし込み、当該通信ノード間の物理NW上のデータパスを設定する。したがって、ユーザが要求する仮想ネットワーク上のサービスを、その機能実現手段と、その物理ネットワーク上の位置情報に落としこんだ後、これらを接続することで、仮想ネットワーク上のサービスを物理ネットワーク上で実現できる。
[第3の実施形態]
 続いて、上記第1、第2の実施形態の制御装置100、100AにVM管理機能を追加した第3の実施形態について図面を参照して詳細に説明する。
 第3の実施形態では、制御装置100がVM管理機能を備えるので、ユーザから要求されたサービスに対する所定のリソースの追加の要求を受けた場合に、当該所定のリソースに対応するVMを起動することができる。そして、制御装置100は、ノード特定手段~パス設定手段により、第4手段により新たに起動したVMの通信ノードを特定し、その通信ノードを物理NW上の位置情報に落とし込み、物理NW上のデータパスを設定する。したがって、第3の実施形態では、ユーザがリソースの追加を要求した場合に、当該リソースの追加を実現するためにVMを追加し、当該VMの追加によって必要となる物理NWにおける設定等を行うことができる。
 図11は、本発明の第3の実施形態の制御装置の構成を示す図である。図11を参照すると、制御装置100Fの制御部110は、ノード特定手段101、位置特定手段102及びパス設定手段103に加えて、ノード要求手段104(第4の手段)を備えた制御装置100Fが示されている。以下、第1、第2の実施形態との相違点を中心に説明する。
 ノード要求手段104は、ノード特定手段101からの要求に応じて、サービスの提供に必要なVMを起動し、そのVMの情報をノード特定手段101に提供する。このようなノード要求手段104としては、物理サーバ200側でVMを管理するハイパーバイザやVMM(VMマネージャ)といった制御プログラムに必要な指示を与えるインターフェースにより実現することができる。また、本実施形態では、ノード要求手段104がVMを起動するものとして説明するが、ノード要求手段104が起動する通信ノードはVMに限られない。例えば、ノード要求手段104がスリープ状態にある物理サーバを起動することで、サービスの提供に必要なリソースを確保する構成も採用可能である。なお、ノード要求手段104は、ユーザからの要求に応じて、所定のVMを終了させる機能を備えていても良い。また、ノード要求手段104は、使用されていないVMを終了させ、リソースを解放させる機能を持たせてもよい。
 図12は、第3の実施形態のシステムの構成例を示す図である。図12に示すように、ユーザからリソースの追加を要求され、かつ、それに対応する通信ノードが存在しない場合、ノード特定手段101は、ノード要求手段104に対して、当該追加リソースに対応するVMの起動を要求する。例えば、ノード特定手段101は、テナントに対応するユーザから所定のリソース(例えば、ストレージなど)の追加を要求された場合に、ノード要求手段に対して、当該所定のリソースを実現するためのVMの起動を要求する。
 要求を受けたノード要求手段104は、例えば、図12の中断右端に示す物理サーバ上で、新たにVM(図12のVM5参照)を立ち上げて、ノード特定手段101に通知する。ノード要求手段は、例えば、新たなVMの起動が完了したことに応じて、ノード特定手段に対して起動の完了を通知する。ノード要求手段104は、ノード特定手段101に対して、VMの起動の完了とともに、起動したVMに関する情報(例えば、起動したVMの識別子など)を通知してもよい。ノード特定手段101は、ユーザが要求するサービスに含まれる仮想ノードとして、新たに立ち上げられたVMを特定する。例えば、ノード特定手段101は、新たに立ち上げられたVM5を、所定のテナント(当該ユーザに対応するテナント)に関連付ける。
 位置特定手段102は、ノード要求手段104によって追加されたVM5の物理NWにおける位置に関する情報(例えば、物理NW上の端点情報)を特定する。位置特定手段102は、例えば、VM5が動作する物理ノード200Cのアドレスと、物理ノード200Cのポートのうち当該VM5に対応するポートとを特定する。
 パス設定手段103は、VM1~VM5間に、データパスを設定する。また、パス設定手段103は、物理ノード200Aと物理ノード200C間の通信と、物理ノード200Bと物理ノード200C間の通信とを可能にするためのフローエントリや転送情報を、物理ノード210に対して設定する。これにより、VM1~VM5間の通信を実現するために必要な“物理NW上の通信”が可能となる。
 図13は、第3の実施形態の制御装置100Fの動作例を示すフローチャートである。
 まず、制御装置100Fのノード特定手段101は、ユーザから所定のリソース(例えば、ストレージなど)の追加を要求された場合に、ノード要求手段に対して、当該所定のリソースを実現するためのVMの起動を要求する(S3-1)。図12の例では、ノード特定手段は、ユーザからストレージの追加を要求された場合に、ノード要求手段に対して、ストレージの機能を提供するVMの起動を要求する。
 次に、ノード要求手段104は、ノード特定手段101からの要求に応じて、要求された所定のリソースを実現するためのVMを起動し、起動が完了した旨をノード特定手段101に通知する(S3-2)。図12の例では、ノード要求手段104は、ノード特定手段101からストレージの追加を要求されたことに応じて、ストレージの機能を提供可能なVMを起動し、起動が完了した旨を通知する。
 ノード特定手段101は、ノード要求手段104から通知を受けた場合に、新たに追加されたVMを特定する(S3-3)。図12の例では、ノード特定手段101は、新たに立ち上げられたVM5を、所定のテナント(当該ユーザに対応するテナント)に関連付ける。
 位置特定手段102は、ノード要求手段によって追加されたVMの物理NWにおける位置に関する情報(例えば、物理NW上の端点情報)を特定する(S3-4)。図12の例では、位置特定手段102は、例えば、VM5が動作する物理ノード200Cのアドレスと、物理ノード200Cのポートのうち当該VM5に対応するポートとを特定する。
 パス設定手段103は、既存のVM1~4と、新たに起動されたVM5との間に、データパスを設定する(S3-5)。
 以上のように、第3の実施形態の制御装置は、通信ノード(例えば、VM)の追加や削除等を実行可能なVM管理機能(ノード要求手段)を備える。したがって、ユーザからリソースの追加等を要求された場合にも、ユーザが要求する仮想ネットワーク上のサービスを、その機能実現手段と、その物理ネットワーク上の位置情報に落としこんだ後、これらを接続することで、仮想ネットワーク上のサービスを物理ネットワーク上で実現できる。
[第4の実施形態]
 続いて、マルチテナント環境に本発明を適用した第4の実施形態について図面を参照して詳細に説明する。図14は、本発明の第4の実施形態のシステムの構成例を示す図である。図14を参照すると、制御装置100Bが、複数のテナント(テナント1、テナント2)を管理する構成が示されている。制御装置100Bの基本的な構成は、上記第2又は第3の実施形態の同様であるので、以下、相違点を中心に説明する。
 制御装置100Bは、図11に示す第3の実施形態の制御装置100Fと同様の構成であり、ノード特定手段101、情報特定手段102及びパス設定手段103を備えている。
 図15は、本実施形態の制御装置100Bが保持するテーブルの一例を示す図である。図15を参照すると、複数のテナントと、通信ノードと、物理ノードの位置情報とを対応付けたテーブルが示されている。ノード特定手段101は、ユーザからの要求に応じて、当該ユーザから要求されたサービスを実現するためにどのようなリソースが必要かを割出す。ノード特定手段は、例えば、ユーザAから要求されたサービスに対して、ファイヤウォールとストレージとスイッチが必要であり、テナント2に対して、ロードバランサとストレージとルータとが必要であると割出す。ノード特定手段101は、例えば、ユーザAからサービスAに関する要求を受け、ユーザBからサービスBに関する要求を受ける。なお、ノード特定手段101は、同じユーザから、サービスA及びサービスBに関する要求を受けてもよい。ノード特定手段101がサービスA及びサービスBに関する要求を受けるタイミングは、当該サービスA及びサービスBとで異なるタイミングであってもよい。
 図15の例において、ノード特定手段101は、サービスAに対して、ユーザAに対応するテナント1に含まれるVMから、図14に示すVM1、VM3、VM4を特定する。また、ノード特定手段101は、サービスBに対して、ユーザBに対応するテナント2に含まれるVMから、図14に示すVM2、VM5、VM6を特定する。具体的には、ノード特定手段101は、サービスAに対して、VM1、VM3、VM4の各々の識別子とテナント1とを対応付け、サービスBに対して、VM2、VM5、VM6の各々の識別子とテナント2とを対応付ける。
 位置特定手段102は、ノード特定手段101が特定したVM1~VM6がそれぞれ物理NW上でどの物理ノードの端点に繋がっているかを割り出す。図15の例では、位置特定手段102は、例えば、VM1~VM6の各々を運用する物理ノード200のアドレスと、当該物理ノード200のポートのうちVM1~VM6に対応するポートのポート番号とを割り出す。
 パス設定手段103は、物理NWのトポロジ情報と、位置特定手段102により特定された物理ノード200のアドレスとポートを用いて、VM1、VM3、VM4の各々が起動された物理ノード200間、及び、VM2、VM5、VM6間にそれぞれデータパスを設定する。例えば、図14の下段に示すように、VM1、VM3、VM4間にデータパスを設定することで、テナント1に含まれるVM1、VM3、VM4同士が通信できるようにすることができる。同様に、VM2、VM5、VM6間にデータパスを設定することで、テナント2に含まれるVM2、VM5、VM6同士が通信できるようにすることができる。
 なお、第4の実施形態の制御装置100Bは、第3の実施形態の制御装置と同様に、ノード要求手段104を含んでいてもよい。ノード要求手段104は、第3の実施形態と同様に、ノード特定手段101からの要求があった場合、サービスの提供に必要なVMを起動し、そのVMの情報をノード特定手段101に提供する。ノード要求手段104の処理は、図11に示す第3の実施形態のノード要求手段104と同様であるため、詳細な説明は省略される。
 以上のように、本発明は、マルチテナント環境におけるテナントの構築にも適用することができる。なお、図14の例では、1つの物理NW上に2つのテナントを構築しているが、図16に示すような物理ネットワークとテナントが1対1で対応しているようなマルチテナント環境にも適用することができる。
 図16は、第4の実施形態の他の構成例を示す図である。図16において、制御装置100Cのノード特定手段101は、ユーザから要求されたサービス1に対して、テナント1に含まれるVMであって、物理NW1内のVM1~VM3を特定する。また、ノード特定手段101は、ユーザから要求されたサービス2に対して、テナント2に含まれるVMであって、物理NW2内のVM4~VM6を特定する。具体的には、ノード特定手段101は、ユーザから要求されたサービス1に対して、VM1~VM3の各々の識別子とテナント1とを対応付け、ユーザから要求されたサービス2に対して、VM4~VM6の各々の識別子とテナント2とを対応付ける。
 位置特定手段102は、ノード特定手段101が特定したVM1~VM3の各々を実現する物理ノード200のアドレスと、当該物理ノード200のポートのうちVM1~VM3に対応するポートのポート番号とを割り出す。同様に、位置特定手段102は、ノード特定手段101が特定したVM4~VM6の各々を実現する物理ノード200のアドレスと、当該物理ノード200のポートのうちVM4~VM6に対応するポートのポート番号とを割り出す。
 パス設定手段103は、物理NW1のトポロジと、位置特定手段102により特定された物理ノード200のアドレスとポートを用いて、VM1~VM3の各々が起動された物理ノード200間にデータパスを設定する。また、パス設定手段103は、物理NW2のトポロジと、位置特定手段102により特定された物理ノード200のアドレスとポートを用いて、VM4~VM6の各々が起動された物理ノード200間にデータパスを設定する。
 以上のように、本発明は、マルチテナント環境におけるテナントの構築にも適用することができる。
[第5の実施形態]
 続いて、ユーザから要求された仮想ネットワーク機能(VNF:Virtual Network Function)を構築する本発明の第5の実施形態について図面を参照して詳細に説明する。図17は、本発明の第5の実施形態のシステムの構成例を示す図である。図18は、本発明の第5の実施形態の制御装置の構成例を示す図である。図17、図18を参照すると、制御装置100Dは、第3の実施形態の制御装置と同様の構成であり、制御装置100Dの制御部110Dは、ノード特定手段101D、位置特定手段102D、パス設定手段103D及びノード要求手段104Dを備えている。
 ノード特定手段101Dは、ユーザからVNFの提供要求を受けると、VNFに対応するVMを特定する。このとき、ユーザから要求されたVNFを実現可能なVMが起動していない場合、ノード要求手段104Dに対し、必要なVMの起動を要求する。
 位置特定手段102Dは、前記ノード特定手段101Dによって特定されたVM300の物理NWにおける位置に関する情報を特定する。位置特定手段102Dは、例えば、VM1~VM3の各々が動作する物理ノード200のアドレスと、物理ノード200のポートのうちVM1~VM3に対応するポートのポート番号とを特定する。
 パス設定手段103Dは、物理NWのトポロジ情報と、位置特定手段102Dによって特定されたVMの物理ネットワークにおける位置に関する情報を用いて、物理NW上にユーザが要求するVNFを実現するためのデータパスを設定する。
 ノード要求手段104Dは、ノード特定手段101Dからの要求に応じて、物理サーバ200上に、VNFの提供に必要なVMを起動し、そのVMの情報をノード特定手段101Dに提供する。ノード要求手段104Dは、例えば、起動したVMの識別子を、ノード特定手段101Dに提供する。
 ここで、ノード要求手段104DがVMを起動させる仕組みについて説明する。図19は、図17に示された物理ノード200の細部構成を示す図である。物理ノード200は、仮想ネットワーク機能の機能を提供する仮想マシンを運用する。ここで、仮想ネットワーク機能としては、ファイヤウォール(FW:Firewall)、ディープ パケット インスペクション(DPI:Deep Packet Inspection)、ロードバランサ(LB:Load Balancer)等が挙げられる。
 通信ノード200は、例えば、サーバ、スイッチ、ルータ等である。通信ノード200は、仮想ネットワークにおける仮想ネットワークノード(例えば、仮想SGW(Serving Gateway)、仮想PGW(Packet data network Gateway)、仮想MME(Mobility Management Entity)等)の機能を提供する仮想マシンを運用する。
 仮想ネットワークノードの各々は、例えば以下の機能を有する。仮想PGW:パケットを処理する機能(User-Plane機能)、通信に応じた課金状態を管理する機能(PCEF:Policy and Charging Enforcement Function)、QoS(Quality of Service)等のポリシーを制御する機能(PCRF:Policy and Charging Rule Function)、仮想SGW:パケットを処理する機能(User-Plane機能)、制御シグナリングを処理する機能(C-Plane機能)、通信を傍受するための合法的傍受(LI:Lawful Interception) 機能、仮想MME:制御シグナリングを処理する機能(C-Plane機能)、HSS(Home Subscriber Server)と連携して、通信システムの加入者情報を管理する機能。
 物理ノード200は、仮想ネットワーク機能(VNF:Virtual Network Function)220を構築可能な制御部110を含む。制御部110は、VNF220を仮想マシン上で運用することで、仮想ネットワークノードの機能を提供する。このような制御部110は、例えば、ハイパーバイザ(Hypervisor)等、コンピュータの仮想化を実行可能な制御プログラムにより構成されてもよい。
 制御部110は、上述のノード要求手段104Dからの指示を受けて、VNF220を運用する仮想マシンの起動、停止、移行(仮想マシンを他の通信装置100に移行する)等を実行できる。
 なお、VNF220とVMは必ずしも1対1に対応するものではない。例えば、仮想PGWを実現しようとする場合、図20の左図に示すように、PGWの機能に含まれる課金に関する機能を持つVM1と、PGWの機能に含まれるQoS(Quality of Service)等のポリシー制御を行うVM2とを別々に起動することができる(機能別VM)。もちろん、図20の右図に示すように、仮想PGWの機能を持つVM3により仮想PGWを実現することもできる(アプライアンス型VM)。
 続いて、本実施形態の動作について図面を参照して詳細に説明する。図21は、本発明の第5の実施形態のシステムの構成例を示す図である。また、図22は、本発明の第5の実施形態の動作例を示すフローチャートである。例えば、ユーザからVNF1、VNF2を繋げて構築されたサービスチェインの構築が要求されたものとする。また初期状態としてVMが一つも起動されていないものとする。ここでのユーザは、上述の実施形態と同様に、物理ネットワークやVMの起動状況の構成を知らなくてもよい。
 ノード特定手段101Dは、ノード要求手段104Dに対して、前記ユーザが要求するVNF1、VNF2に対応するVMの起動を要求する(S4-1)。ノード要求手段104Dは、ノード特定手段101Dからの要求に基づいて、物理ノードにVMの立ち上げを要求する(図21の「VM立ち上げ」、図22のS4-1)。
 これにより、図21の下段に示すように、VM1~VM3が立ち上げられる。ノード要求手段104Dは、VMが起動されたことに応じて、当該VMの起動の完了を、ノード特定手段101Dに通知する(S4-2)。ノード特定手段101Dは、ノード要求手段104DからのVM起動の完了通知を受け、起動されたVM1~VM3を特定する(S4-3)。次に、位置特定手段102Dが、前記ノード特定手段101Dよって特定された3つのVM1~3の物理ネットワークにおける位置に関する情報を特定する(S4-4)。
 次に、パス設定手段103Dが、VM1~3の物理ネットワークにおける位置に関する情報と、物理NWのトポロジ情報を用いて、VM1~VM3間にデータパスを設定する(S4-5)。また、パス設定手段103Dは、VM1~VM3の各々が起動している物理ノード200間を互いに通信可能とするためのフローエントリや経路情報を物理ノード210に設定する。これによって、ユーザが要求するVNF及びサービスチェインを実現するために必要な物理NW上のデータパスが設定される。
 以上のように、本実施形態によれば、具体のアドレスやリソースの指定のない、ユーザの要求したサービスチェイン乃至VNFを、その機能実現手段(VM)と、その物理ネットワーク上の位置情報に落としこんだ後、これらを接続することで、図21の下段に示したサービスチェインが実現される。
 なお、同一の物理ノード上で動作しているVNF(VM)間のデータパスは、物理ノード200内の制御部110に内蔵されたパス制御部2101に指示することで実現することができる。
 図23は、本発明の第5の実施形態の制御装置100Dと連携動作する物理ノード200に設定されるデータパスの一例を説明するための図である。図23の例では、制御部110は、信号(1)に対して、VNF(A)、(B)および(C)を経由するVNFパスを設定し、信号(2)に対して、VNF(A)および(B)を経由するVNFパスを設定している。
 具体的には、制御部110のパス制御部2101は、前記設定に従い、図23で例示したように、信号の種別に応じて経路で信号を転送する。
 前記信号の種別は、例えば、VNF200に割り当てられたMACアドレスやIPアドレスに基づいて、パケットを転送するようにすることができる。また例えば、パケットを伝送する仮想的なコネクションである“ベアラ”の種別や、パケット内の情報に基づいて識別されるパケットの属性等を用いて転送経路を変えることもできる。
 さらに、パス制御部2101に、例えば、ユーザ(端末1)の通信量、通信システムの通信負荷・通信量、サーバ20の負荷状況等に基づいて、VNFパスを制御させることもできる。同様に、ベアラの通信量に応じて、当該ベアラに属するパケットのVNFパスを制御させることもできる。また例えば、通信量が所定の閾値を超えたことに応じて、VNFパスを変更させることができる。
 パス制御部2101に、VMの負荷状況に応じて、VNFパスを構成するVNF200を選択させることもできる。また例えば、パス制御部2101に、同じ機能を含む複数のVNF200のうち、仮想マシンの負荷が低いVNF200を優先的に選択し、VNFパスを切り替えさせることもできる。
 このようなパス制御部2101は、例えば、ソフトウェアにより構成される仮想的なスイッチ(vSwitch:Virtual Switch)で構成されてもよい。この場合、上述のパス設定手段103Dは、パス制御部2101として機能するスイッチに、経路情報やフローエントリを設定することになる。
 以上のように、本発明は、ネットワーク機能の仮想化を実現するシステムにも好適に適用することができる。
[第6の実施形態]
 続いて、ユーザから要求されたサービスチェインを構築する本発明の第6の実施形態について図面を参照して詳細に説明する。図24は、本発明の第6の実施形態のシステムの構成例を示す図である。また、図25は、本実施形態の制御装置100Aが保持するテーブル(テナント定義記憶部及びマッピング情報記憶部に相当)の一例を示す図である。図25を参照すると、サービスチェインと、当該サービスチェインに必要なVNFと、当該VNFに対応するVMと、当該VMを運用する物理ノードの位置情報とを対応付けたテーブルが示されている。本実施形態は、VNFの提供を行う第5の実施形態と同様の構成で実現可能であるため、以下、その相違点を中心に説明する。
 本実施形態の制御装置は、第5の実施形態の制御装置100Dと同様の構成であり、ノード特定手段101D~ノード要求手段104Dを備えている(図18参照)。なお、制御装置100Dは、ノード要求手段104Dを備えていなくてもよい。
 ノード特定手段101Dは、ユーザからサービスチェインの提供要求を受けると、サービスチェインに対応するVMを特定する(図24のVNF1、VNF2から延びる矢線参照)。なお、ノード特定手段101Dは、ユーザから要求されたサービスチェインに必要なVNFを特定し、当該VNFに対応するVMを特定してもよい。図25に例示するように、ノード特定手段101Dは、サービスチェイン1とVNF1(1)及びVNF1(2)とを対応付け、さらに、VNF1(1)とVM1及びVNF1(2)とVM3とを対応付ける。また、ノード特定手段101Dは、サービスチェイン2とVNF1(2)及びVNF2(2)とを対応付け、さらに、VNF1(2)とVM2及びVNF2(2)とVM4とを対応付ける。
 ユーザから要求されたサービスチェインを実現可能なVNFが起動していない場合、ノード特定手段101Dは、ノード要求手段104Dに対し、必要なVNFの構築を要求する。
 位置特定手段102Dは、前記ノード特定手段101Dによって特定された通信ノードの物理ネットワークにおける位置に関する情報を特定する(図24のVM1~VM4から物理ノードに延びる矢線参照)。位置特定手段102Dは、例えば、複数のVM1~VM4の各々について、当該VM1~VM4の各々を実現する物理ノード200の物理NW上のアドレスと、当該物理ノード200のポートのうち当該VM1~VM4に対応するポートのポート番号とを特定する。図25に例示するように、位置特定手段102Dは、VM1と、物理ノード200のアドレスと、ポート番号#1とを対応付ける。
 パス設定手段103Dは、物理NWのトポロジ情報と、位置特定手段102Dによって特定されたVMの物理ネットワークにおける位置に関する情報を用いて、物理NW上にユーザが要求するサービスチェインを実現するためのデータパスを設定する(Service Chain1、2に対するデータパス参照)。
 ノード要求手段104Dは、ノード特定手段101Dからの要求に応じて、物理サーバ200上に、VNFの提供に必要なVMを起動し、そのVMの情報をノード特定手段101Dに提供する。
 図26は、本発明の第6の実施形態における制御装置100Dの動作例を示すフローチャートである。
 続いて、本実施形態の動作について図面を参照して詳細に説明する。以下の説明では、ユーザから、図24に示す2つのサービスチェインの構築が要求されたものとする。ここでのユーザは、上述の物理ネットワークの構成を知らなくてもよい。
 ノード特定手段101Dは、まずユーザが要求するサービスチェインに対応するVNFを特定し(S5-1)、次に、VNFに対応するVMを特定する(S5-2)。図25の例では、ノード特定手段110は、サービスチェイン1がVNF1、VNF2を経由し、VNF1、VNF2は、それぞれVM1、VM3に対応することを特定する。同様に、ノード特定手段110は、サービスチェイン2がVNF1、VNF2を経由し、VNF1、VNF2は、それぞれVM2、VM4に対応することを特定する。なお、図25のテーブルがサービスチェイン定義記憶部及びマッピング情報記憶部に相当する。
 次に、位置特定手段102が、前記ノード特定手段101によって特定された4つのVMの物理ネットワークにおける位置に関する情報を特定する(図25の物理ノードの位置情報参照、図26のS5-3)。
 次に、パス設定手段103が、2組のVMの物理ネットワークにおける位置に関する情報と、物理NWのトポロジ情報を用いて、物理NW上にユーザが要求するサービスチェインを実現するためのデータパスを設定する(S5-4)。図24の例では、サービスチェイン1に対応するVM1、VM4間にデータパスが設定され、サービスチェイン2に対応するVM2、VM3間にデータパスが設定される。なお、サービスチェインの場合、図24においても明らかにしたように、同じサービスを提供するサービスチェインであっても、当該サービスチェインに対応するVMが異なるため、物理ネットワーク上のデータパスは異なることがある。また、図24の例では、同じサービスを提供するサービスチェインが同一のVNFを用いて構築されているが必ずしも同一のVNFを用いる必要は無い。
 以上のように、本実施形態によれば、制御装置100は、ユーザが要求するサービスチェインを実現するために、当該ユーザが要求するサービスチェインに対応するVM等の通信ノードを特定し、その通信ノードを物理NW上の位置情報に落とし込み、当該通信ノード間の物理NW上のデータパスを設定する。したがって、ユーザの要求する仮想ネットワーク上のサービスチェインを、その機能実現手段と、その物理ネットワーク上の位置情報に落としこんだ後、これらを接続することで、仮想ネットワーク上のサービスチェインを物理ネットワーク上で実現できる。
[第7の実施形態]
 続いて、本発明の第7の実施形態について図面を参照して説明する。制御装置の機能等は第3の実施形態と同様であるので、以下その相違点を中心に説明する。
 図27に示すように、本発明の第7の実施形態では、物理NW毎に制御装置が配置されている構成を採ることができる。例えば、一つのデータセンタ内に異なる物理NWが存在し、当該物理NW毎に制御装置を配置する構成である。各制御装置は、それぞれに割り当てられた物理NWを管理する。そして、ユーザが要求するサービスは、異なる物理NWにまたがって構築することが可能である。この場合、各制御装置は、それぞれのノード特定手段101及び位置特定手段102で収集及び特定した情報を共有し、異なる物理NWをまたがったデータパスを設定することにより、ユーザから要求されたサービスを実現することが可能となる。以下の例では、ユーザから要求されたサービスを、当該ユーザに対応するテナントに含まれる通信ノードから特定する場合を例にして説明するが、当該サービスはサービスチェイン等であってよい。
 図28は、本実施形態の制御装置1及び2が、それぞれ情報を交換することにより作成するテーブル(テナント定義記憶部及びマッピング情報記憶部に相当)の一例を示す図である。図28を参照すると、ユーザから要求されたサービスに対して、当該ユーザに対応するテナントと、当該サービスを実現するためのVMの識別子と(VM1~VM4)、当該VM1~VM4の各々を管理する制御装置(制御装置1又は制御装置2)と、当該VM1~VM4の物理NW上の位置情報とが、対応付けて記憶されている。
 図28において、制御装置1が管理するVM1及びVM2に関する情報(VMの識別子と、物理ノードの位置情報)は、当該制御装置1によって特定される。また、制御装置2が管理するVM3及びVM4に関する情報(VMの識別子と、物理ノードの位置情報)は、当該制御装置2によって特定される。
 制御装置1及び制御装置2は、自装置が特定した情報(自装置が管理するVMの識別子と、物理ノードの位置情報)を共有する。制御装置1及び制御装置2は、例えば、BGP(Border Gateway Protocol)により、当該情報を交換する。なお、制御装置1及び制御装置2は、これらVMと物理NW上の位置情報の交換を、図28に示すテーブルの交換で実現することもできる。制御装置1は、図28に示すテーブルの上段(制御装置1が特定する部分)を、制御装置2に送信する。一方、制御装置2は、図28に示すテーブルの下段(制御装置2が特定する部分)を、制御装置1に送信する。これにより、制御装置1及び制御装置2は、図28に示すテーブルを交換可能である。
 なお、制御装置1及び制御装置2が交換する情報は、例えば、物理NWのトポロジ情報等を含んでいてもよい。
 制御装置1及び制御装置2のパス設定手段103は、特定された物理NW上の位置情報を用いて、ユーザから要求されたサービスを実現するために必要な物理NW上のデータパスを設定する。あるいは、制御装置1又は制御装置2のいずれか一方が、他方の制御装置に代わって、共有した情報(例えば、図28に示すテーブル)に基づいて、全体のデータパスを設定するようにしてもよい。
 制御装置1は、物理ノード210Aに対して、VM1又はVM2からのパケットを、物理ノード210Bに転送するための処理規則や転送情報を設定する。また、制御装置1は、物理ノード210Aに対して、物理ノード210Bから転送されてきたVM3又はVM4からのパケットを、VM1又はVM2に転送するための処理規則や転送情報を設定する。
 同様に、制御装置2は、物理ノード210Bに対して、VM3又はVM4からのパケットを、物理ノード210Aに転送するための処理規則や転送情報を設定する。また、制御装置2は、物理ノード210Bに対して、物理ノード210Aから転送されてきたVM1又はVM2からのパケットを、VM3又はVM4に転送するための処理規則や転送情報を設定する。
 これにより、制御装置1及び制御装置2は、物理NWにおけるVM1~VM4間のデータパスが設定することができ、ユーザから要求されたサービスを実現することが可能となる。
 以上のように、本発明は、物理的に離れたネットワーク間、例えば異なるDC内のネットワーク間でのテナントやサービスチェイン等の実現にも適用することができる。
[第8の実施形態]
 続いて、上記第7の実施形態に変更を加えた第8の実施形態について図面を参照して説明する。図29は、本発明の第8の実施形態の構成を示す図である。基本的な構成は図27に示した第7の実施形態と同様であるが、本実施形態では、例えば、物理NW1と、物理NW2とで通信プロトコル(トンネリングプロトコル)が異なっており、そのままではデータパスを設定できないという点で異なっている。以下、その相違点を中心に説明する。
 図29に例示するように、第8の実施形態では、物理ネットワーク(物理NW)が異なるトンネリングプロトコル(一例としてVXLAN/NvGRE)で構築されている。例えば、第8の実施形態の通信システムは、VXLAN(Virtual eXtensible Local Area Network)で構築された物理NW1と、NVGRE(Network Virtualization using Generic Routing Encapsulation)で構築された物理NW2が、インターネットを介して、ゲートウェイ(GW1及びGW2)で接続されている構成が示されている。なお、物理NW1及び物理NW2の間は、WAN(Wide Area Network)等であってもよい。
 制御装置100E1及び制御装置100E2の制御部110は、例えば、通信部120を介して、物理NW1及び物理NW2のトポロジ情報を交換する。制御装置100E1及び制御装置100E2は、例えば、BGPにより、当該トポロジ情報を交換する。
 制御装置100E1及び制御装置100E2のノード特定手段101は、ユーザから要求されたサービスを実現するために必要なVMを、当該ユーザに対応するテナントに含まれるVMから特定する。図29の例では、制御装置100E1及び制御装置100E2のノード特定手段101は、ユーザから要求されたサービスが、当該ユーザに対応するテナントに含まれるVMのうちのVM1~VM4が必要であると特定する。各ノード特定手段101は、例えば、ユーザから要求されたサービスに対して、当該ユーザに対応するテナントと、当該ユーザが要求するサービスに必要なVM1~VM4の各々を一意に識別可能なVM識別子とを対応付ける。
 制御装置100E1及び制御装置100E2の位置特定手段102は、ノード特定手段101が特定したVM1~VM4の物理NW上の位置に関する情報を特定する。制御装置100E1の位置特定手段102は、当該制御装置E1が管理する物理NW1内のVM1及びVM2について、物理NW1上の位置に関する情報を特定する。具体的には、制御装置100E1の位置特定手段102は、VM1及びVM2の物理NW1上の位置に関する情報として、当該VM1及びVM2の各々のアドレスや、VM1及びVM2の各々が接続する仮想スイッチのアドレスやポート番号、などを特定する。一方、制御装置100E2の位置特定手段102は、当該制御装置E2が管理する物理NW2内のVM3及びVM4について、物理NW2上の位置に関する情報を特定する。具体的には、制御装置100E2の位置特定手段102は、VM3及びVM4の物理NW1上の位置に関する情報として、当該VM3及びVM4の各々のアドレスや、VM3及びVM4の各々が接続する仮想スイッチのアドレスやポート番号、などを特定する。
 図30は、第8の実施形態の制御装置100E1、100E2が保持するテーブルの一例を示す図である。図28に例示する第7の実施形態の制御装置が保持するテーブルと異なっているのは、プロトコル格納領域が追加されている点である。
 図30に例示するように、ユーザが要求するサービスに対して、当該ユーザに対応するテナントと、当該ユーザが要求するサービスを実現するためのVMの識別子と(VM1~VM4)、当該VM1~VM4の各々を管理する制御装置(制御装置1又は制御装置2)と、当該VM1~VM4を実現する物理ノードの位置情報と、当該VM1~VM2を含む物理NWにおけるプロトコルとが、対応付けて記憶されている。例えば、物理NW1内のVM1及びVM2の各々には、物理NW1におけるプロトコルであるVXLANが対応付けられている。一方、物理NW2内のVM3及びVM4の各々には、物理NW2におけるプロトコルであるNvGREが対応付けられている。また、制御装置100E1及び制御装置100E2の制御部110は、例えば、通信部120を介して、管理するNWにおけるトンネリングプロトコル(VXLAN/NvGRE)に関する情報を交換する。
 制御装置100E1及び制御装置100E2の制御部110は、自装置が特定したVMの位置情報(自装置が管理するVMの識別子と、物理ノードの位置情報)を共有する。制御装置100E1及び制御装置100E2は、例えば、BGPにより、当該VMの位置情報を交換する。
 制御装置100E1及び制御装置100E2のパス設定手段103は、自装置が特定したVMの位置情報と、共有したVMの位置情報とに基づいて、ユーザが要求するサービスを実現するために必要な物理NW上のデータパスを設定する。
 制御装置100E1のパス設定手段103は、例えば、物理NW1内のVM1とVM2との間にデータパスを設定する。また、制御装置100E1のパス設定手段103は、物理ノード210Aに対して、VM1又はVM2からのパケットを、GW1に転送するための処理規則や転送情報を設定する。また、制御装置100E1は、物理ノード210Aに対して、GW1から転送されてきたVM3又はVM4からのパケットを、VM1又はVM2に転送するための処理規則や転送情報を設定する。
 ここで、物理NW1のトンネリングプロトコルはVXLANであり、インターネットにおける通信プロトコルと異なる場合がある。この場合、制御装置100E1のパス設定手段103は、例えば、GW1に対して、VM1及びVM2からVXLANに基づいて転送されてきたパケットを、インターネットにおける通信プロトコルに変換して、当該インターネットに転送するための処理規則や転送情報を設定する。具体的には、制御装置100E1のパス設定手段103は、GW1に対して、物理ノード210Aから受信したパケットからVXLANに基づいた転送情報(アドレス等)をデカプセル化し、当該パケットにインターネット上の通信プロトコルに準拠した転送情報(アドレス等)をカプセル化する旨を指示する。
 一方、制御装置100E1のパス設定手段103は、例えば、GW1に対して、インターネットにおける通信プロトコルに基づいて転送されてきたパケットを、物理NW1のトンネリングプロトコルであるVXLANに変換して、物理ノード210Aに転送するための処理規則や転送情報を設定する。具体的には、制御装置100E1のパス設定手段103は、GW1に対して、受信したパケットからインターネット上の通信プロトコルに基づいた転送情報(アドレス等)をデカプセル化し、当該パケットにVXLANに準拠した転送情報(アドレス等)をカプセル化する旨を指示する。
 同様に、制御装置100E2のパス設定手段103は、例えば、物理NW2内のVM3とVM4との間にデータパスを設定する。具体的には、制御装置100E2のパス設定手段103は、VM3が起動されている物理ノード200Bと、VM4が起動されている物理ノード200Cとの間にデータパスを設定するため、物理ノード210Bに対して、当該物理ノード200Bと物理ノード200C間を通信可能にするための処理規則や転送情報を設定する。また、制御装置100E1のパス設定手段103は、物理ノード210Aに対して、VM1又はVM2からのパケットを、GW1に転送するための処理規則や転送情報を設定する。また、制御装置1は、物理ノード210Aに対して、GW1から転送されてきたVM3又はVM4からのパケットを、VM1又はVM2に転送するための処理規則や転送情報を設定する。
 また、物理NW2のトンネリングプロトコルはNvGREであり、インターネットにおける通信プロトコルと異なる場合がある。この場合、制御装置100E2のパス設定手段103は、例えば、GW2に対して、VM3及びVM4からNvGREに基づいて転送されてきたパケットを、インターネットにおける通信プロトコルに変換して、当該インターネットに転送するための処理規則や転送情報を設定する。具体的には、制御装置100E2のパス設定手段103は、例えば、GW2に対して、物理ノード210Bから受信したパケットからNvGREに基づいた転送情報(アドレス等)をデカプセル化し、当該パケットにインターネット上の通信プロトコルに準拠した転送情報(アドレス等)をカプセル化する旨を指示する。
 一方、制御装置100E2のパス設定手段103は、例えば、GW2に対して、インターネットにおける通信プロトコルに基づいて転送されてきたパケットを、物理NW2のトンネリングプロトコルであるNvGREに変換して、物理ノード210Bに転送するための処理規則や転送情報を設定する。具体的には、制御装置100E2のパス設定手段103は、GW2に対して、受信したパケットからインターネット上の通信プロトコルに基づいた転送情報(アドレス等)をデカプセル化し、にNvGREに準拠した転送情報(アドレス等)をカプセル化する旨を指示する。
 これにより、制御装置100E1及び制御装置100E2は、物理NWにおけるVM1~VM4間のデータパスが設定することができ、ユーザが要求するサービスを実現することが可能となる。
 図31は、第8の実施形態におけるシステムの他の構成例を示す図である。図31に示すように、第8の実施形態において、例えば、物理NW1がパブリッククラウドを提供するデータセンタ(データセンタ(DC)1)であり、物理NW2がオンプレミス(DC2)の場合が考えられる。すなわちパブリッククラウドから提供されるVMと、オンプレミス(on-premises)で準備するVMとを用いて、一つのテナントを構築する形態であり、例えばハイブリッドクラウドと呼ばれる形態である。このような形態では、パブリッククラウドを提供するDC1内の物理NW1を管理する制御装置1と、オンプレミス(DC2)内の物理NW2を管理する制御装置2とが異なる。したがって、一つのテナントを構築しようとした場合、当該テナントに含まれる通信ノード用いて所定のサービスを実現するために必要な物理NW上のデータパスを設定するためには、制御装置1及び制御装置2間で情報を交換する必要がある。
 また、パブリッククラウドを提供するDC1内の物理NW1と、オンプレミス(DC2)内の物理NW2とではトンネリングプロトコルが異なる場合がある。例えば、パブリッククラウドを提供するDC1内の物理NW1のトンネリングプロトコルがVXLANであり、オンプレミス(DC2)内の物理NW2のトンネリングプロトコルがNvGREの場合である。
 図31の制御装置1及び制御装置2は、ユーザから要求されたサービスを実現するために必要な通信ノードを特定し、当該特定した通信ノードの物理NW上の位置情報を特定し、当該特定した位置情報に基づいて通信ノード間にデータパスを設定する。
 図31の例では、制御装置1及び制御装置2のノード特定手段101は、ユーザから要求されたサービスを実現するために必要な通信ノードを、VM1~VM3と特定する。
 次に、制御装置1及び制御装置2の位置特定手段102は、VM1~VM3の各々の物理NW上の位置情報を特定する。制御装置1は、管理するパブリッククラウドを提供するDC1内の物理NW1において、VM1及びVM2の位置情報を特定する。また、制御装置2は、管理するオンプレミス(DC2)内の物理NW2において、VM3の位置情報を特定する。
 続いて、制御装置1及び制御装置2のパス設定手段103は、特定された位置情報に基づき、VM1~VM3間にデータパスを設定する。ここで、パブリッククラウドを提供するDC1内の物理NW1と、オンプレミス(DC2)内の物理NW2と、インターネットとでは、通信プロトコルが異なる場合がある。この場合、制御装置1のパス設定手段103は、例えば、GW1に対して、物理NW1における通信プロトコルと、インターネットにおける通信プロトコルとを互いに変換するための処理規則や転送情報を設定する。また、制御装置2のパス設定手段103は、例えば、GW2に対して、物理NW2における通信プロトコルと、インターネットにおける通信プロトコルとを互いに変換するための処理規則や転送情報を設定する。なお、制御装置1及び制御装置2のパス設定手段103の具体的な処理は、図29に例示する制御装置100E1と制御装置100E2のパス設定手段103と同様であるため、詳細な説明は省略される。これにより、制御装置1及び制御装置2は、異なるDC内に存在するVM1・VM2と、VM3との間のデータパスを設定することができ、ユーザから要求されたサービスを実現することが可能となる。
 なお、制御装置1及び制御装置2のいずれか一方が、他の制御装置から取得した情報(当該他の制御装置が管理する物理NWのトポロジ情報など)に基づいて、VM1~VM3の位置情報の特定や、VM1~VM3間のデータパスの設定を実行してもよい。例えば、オンプレミス(DC2)内の制御装置2が、パブリッククラウドを提供するDC1内の制御装置1から取得した物理NW1のトポロジ情報などに基づいて、VM1~VM3の位置情報の特定と、VM1~VM3間のデータパスの設定を実行する。この場合、制御装置2は、DC1の物理NW1内のVM1及びVM2間のデータパスの設定と、GW1に対する処理規則や転送情報の設定を、制御装置1に対して要求することにより、当該VM1~VM3間のデータパスの設定を実行してもよい。
 図32は、第8の実施形態におけるシステムの他の構成例を示す図である。図32に示すように、第8の実施形態におけるシステムは、例えば、ユーザAのオンプレミスのDC1と、パブリッククラウドのDC2と、パブリッククラウドのDC3と、ユーザBのオンプレミスのDC4とを含む。
 図32に示すように、第8の実施形態におけるシステムは、ユーザAに対応するテナント1と、ユーザBに対応するテナント2とを含み、複数のDCによりマルチテナントが提供されている。ユーザAに対応するテナント1は、DC1内のVM1と、DC2内のVM2及びVM3と、DC3内のVM4とを含む。一方、ユーザBに対応するテナント2は、DC3内のVM5と、DC4内のVM6とを含む。
 制御装置1、制御装置2及び制御装置3のノード特定手段101は、ユーザAから要求されたサービスを実現するVMとして、当該ユーザAに対応するテナント1に含まれるVM1~VM4を特定する。次に、制御装置1、制御装置2及び制御装置3の位置特定手段102は、VM1~VM4の物理NW上の位置情報を特定する。制御装置1の位置特定手段102は、自装置が管理するDC1内のVM1の物理NW上の位置情報を特定する。同様に、制御装置2及び制御装置3の位置特定手段102も、それぞれ、DC2内のVM2及びVM3と、DC3内のVM4との物理NW上の位置情報を特定する。続いて、制御装置1、制御装置2及び制御装置3のパス設定手段103は、VM1~VM4間のデータパスを設定する。ここで、DC1~DC3の各々と、インターネットとでは、通信プロトコルが異なる場合がある。この場合、制御装置1、制御装置2及び制御装置3のパス設定手段103は、それぞれ、GW1~GW3の各々に、DC1~DC3の各々の通信プロトコルと、インターネットの通信プロトコルを互いに変更するための処理規則や転送情報を設定する。なお、制御装置1、制御装置2及び制御装置3のパス設定手段103の具体的な処理は、図29に例示する制御装置100E1と制御装置100E2のパス設定手段103と同様であるため、詳細な説明は省略される。これにより、制御装置1、制御装置2及び制御装置3のパス設定手段103は、異なるDC内に存在するVM1~VM4の各々の間のデータパスを設定することができ、ユーザAが要求するサービスを実現することが可能となる。
 なお、制御装置1、制御装置2及び制御装置3のいずれかが、他の制御装置から取得した情報(当該他の制御装置が管理する物理NWのトポロジ情報など)に基づいて、VM1~VM4の位置情報の特定や、VM1~VM4間のデータパスの設定を実行してもよい。例えば、オンプレミス(DC1)内の制御装置1が、他の制御装置2及び制御装置3から取得したDC2及びDC3内の物理NWのトポロジ情報などに基づいて、VM1~VM4の位置情報の特定と、VM1~VM4間のデータパスの設定を実行する。この場合、制御装置1は、制御装置2及び制御装置3に対して、DC2及びDC3内の物理NW上のデータパスの設定や、DC2のGW2やDC3のGW3に対する設定を要求することにより、当該VM1~VM4間のデータパスの設定を実行してもよい。
 同様にして、制御装置3及び制御装置4のノード特定手段101は、ユーザBから要求されたサービスを実現するVMとして、当該ユーザAに対応するテナント2に含まれるVM5とVM6を特定する。次に、制御装置3及び制御装置4の位置特定手段102は、VM5とVM6の物理NW上の位置情報を特定する。制御装置3の位置特定手段102は、自装置が管理するDC3内のVM5の物理NW上の位置情報を特定する。同様に、制御装置4の位置特定手段102も、DC4内のVM6の物理NW上の位置情報を特定する。続いて、制御装置3及び制御装置4のパス設定手段103は、VM5及びVM6間のデータパスを設定する。ここで、DC3と、DC4と、インターネットとでは、通信プロトコルが異なる場合がある。この場合、制御装置3及び制御装置4のパス設定手段103は、それぞれ、GW3及びGW4の各々に、DC3及びDC4の各々の通信プロトコルと、インターネットの通信プロトコルを互いに変更するための処理規則や転送情報を設定する。なお、制御装置3及び制御装置4のパス設定手段103の具体的な処理は、図29に例示する制御装置100E1と制御装置100E2のパス設定手段103と同様であるため、詳細な説明は省略される。これにより、制御装置3及び制御装置4のパス設定手段103は、異なるDC内に存在するVM5及びVM6の各々の間のデータパスを設定することができ、ユーザBが要求するサービスを実現することが可能となる。
 なお、ユーザAの場合と同様に、制御装置3及び制御装置4のいずれか一方が、他の制御装置から取得した情報(当該他の制御装置が管理する物理NWのトポロジ情報など)に基づいて、VM1~VM3の位置情報の特定や、VM1~VM3間のデータパスの設定を実行してもよい。
 以上のように、本発明は、物理的に別のネットワークであり、しかも通信プロトコルが異なっている場合においても、適用することが可能である。
 以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
 なお、上記した各実施形態の制御装置の各要求手段は、制御装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
 最後に、本発明の好ましい形態を要約する。
[第1の形態]
 (上記第1の視点による制御装置参照)
[第2の形態]
 第1の形態の制御装置において、
 前記第1の手段は、前記ネットワークノードの機能を提供可能な複数の仮想マシンを特定し、
 前記第3の手段は、前記ネットワークノードの機能を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する制御装置。
[第3の形態]
 第1又は第2の形態の制御装置において、
 前記第1の手段は、前記ネットワークノードに含まれる複数の機能の各々を提供可能な仮想マシンを、当該複数の機能ごとに特定する制御装置。
[第4の形態]
 第3の形態の制御装置において、
 前記第1の手段は、前記複数の機能を選択的に提供可能な、複数の仮想マシンを特定する制御装置。
[第5の形態]
 第3又は第4の形態の制御装置において、
 前記第1の手段は、前記複数の機能を順番に接続した通信サービスに含まれる、当該複数の機能を提供可能な複数の仮想マシンを特定し、
 前記第3の手段は、前記順番を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する制御装置。
[第6の形態]
 第1から第5いずれか一の形態の制御装置において、
 前記第1の手段は、複数の通信サービスごとに、当該複数の通信サービスの各々に含まれるネットワークノードの機能を提供可能な仮想マシンを特定し、
 前記第3の手段は、前記複数の通信サービスごとに、前記物理ネットワーク上に当該複数の通信サービスの各々を実現するデータパスを設定する制御装置。
[第7の形態]
 (上記第2の視点による通信システム参照)
[第8の形態]
 (上記第3の視点による制御方法参照)
[第9の形態]
 (上記第4の視点によるコンピュータプログラム参照)
 なお、上記第7~9の形態は、第1の形態と同様に、第2~第6の形態に展開することが可能である。
 なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
 100、100A~100F、100E1、100E2 制御装置
 101、101D ノード特定手段
 102、102D 位置特定手段
 103、103D パス設定手段
 104、104D ノード要求手段
 110、110D 制御部
 120 通信部
 200、200a~200d、200A~200D、210、210A、210B 物理ノード(物理スイッチ)
 220 仮想ネットワーク機能(VNF)
 300 VM
 2101 パス制御部

Claims (19)

  1.  ネットワークノードの機能を提供可能な仮想マシンを特定する第1の手段と、 
     前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する第2の手段と、
     前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する第3の手段と、 
     を備える制御装置。
  2.  前記第1の手段は、前記ネットワークノードの機能を提供可能な複数の仮想マシンを特定し、
     前記第3の手段は、前記ネットワークノードの機能を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する
     ことを特徴とする請求項1に記載の制御装置。
  3.  前記第1の手段は、前記ネットワークノードに含まれる複数の機能の各々を提供可能な仮想マシンを、当該複数の機能ごとに特定する
     ことを特徴とする請求項1又は2に記載の制御装置。
  4.  前記第1の手段は、前記複数の機能を選択的に提供可能な、複数の仮想マシンを特定する
     ことを特徴とする請求項3に記載の制御装置。
  5.  前記第1の手段は、前記複数の機能を順番に接続した通信サービスに含まれる、当該複数の機能を提供可能な複数の仮想マシンを特定し、
     前記第3の手段は、前記順番を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する
     ことを特徴とする請求項3又は4に記載の制御装置。
  6.  前記第1の手段は、複数の通信サービスごとに、当該複数の通信サービスの各々に含まれるネットワークノードの機能を提供可能な仮想マシンを特定し、
     前記第3の手段は、前記複数の通信サービスごとに、前記物理ネットワーク上に当該複数の通信サービスの各々を実現するデータパスを設定する
     ことを特徴とする請求項1乃至5のいずれかに記載の制御装置。
  7.  ネットワークノードの機能を提供可能な仮想マシンを特定し、 
     前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定し、
     前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する
     ことを特徴とする制御方法。
  8.  前記ネットワークノードの機能を提供可能な複数の仮想マシンを特定し、
     前記ネットワークノードの機能を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する
     ことを特徴とする請求項7に記載の制御方法。
  9.  前記ネットワークノードに含まれる複数の機能の各々を提供可能な仮想マシンを、当該複数の機能ごとに特定する
     ことを特徴とする請求項7又は8に記載の制御方法。
  10.  前記複数の機能を選択的に提供可能な、複数の仮想マシンを特定する
     ことを特徴とする請求項9に記載の制御方法。
  11.  前記複数の機能を順番に接続した通信サービスに含まれる、当該複数の機能を提供可能な複数の仮想マシンを特定し、
     前記順番を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する
     ことを特徴とする請求項9又は10に記載の制御方法。
  12.  複数の通信サービスごとに、当該複数の通信サービスの各々に含まれるネットワークノードの機能を提供可能な仮想マシンを特定し、
     前記複数の通信サービスごとに、前記物理ネットワーク上に当該複数の通信サービスの各々を実現するデータパスを設定する
     ことを特徴とする請求項7乃至11のいずれかに記載の制御方法。
  13.  物理ネットワークを制御する制御装置と、
     前記制御装置によって管理される仮想マシンと、を含み、
     前記制御装置は、
     ネットワークノードの機能を提供可能な仮想マシンを特定する第1の手段と、 
     前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する第2の手段と、
     前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する第3の手段と、 
     を備えることを特徴とする通信システム。
  14.  前記第1の手段は、前記ネットワークノードの機能を提供可能な複数の仮想マシンを特定し、
     前記第3の手段は、前記ネットワークノードの機能を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する
     ことを特徴とする請求項13に記載の通信システム。
  15.  前記第1の手段は、前記ネットワークノードに含まれる複数の機能の各々を提供可能な仮想マシンを、当該複数の機能ごとに特定する
     ことを特徴とする請求項13又は14に記載の通信システム。
  16.  前記第1の手段は、前記複数の機能を選択的に提供可能な、複数の仮想マシンを特定する
     ことを特徴とする請求項15に記載の通信システム。
  17.  前記第1の手段は、前記複数の機能を順番に接続した通信サービスに含まれる、当該複数の機能を提供可能な複数の仮想マシンを特定し、
     前記第3の手段は、前記順番を実現するように、前記物理ネットワーク上において前記複数の仮想マシンを接続する
     ことを特徴とする請求項15又は16に記載の通信システム。
  18.  前記第1の手段は、複数の通信サービスごとに、当該複数の通信サービスの各々に含まれるネットワークノードの機能を提供可能な仮想マシンを特定し、
     前記第3の手段は、前記複数の通信サービスごとに、前記物理ネットワーク上に当該複数の通信サービスの各々を実現するデータパスを設定する
     ことを特徴とする請求項13乃至17のいずれかに記載の通信システム。
  19.  ネットワークノードの機能を提供可能な仮想マシンを特定する処理と、 
     前記特定された仮想マシンの、物理ネットワークにおける位置に関する情報を特定する処理と、
     前記位置に関する情報に基づいて、前記物理ネットワーク上に前記ネットワークノードの機能を実現するデータパスを設定する処理と
     をコンピュータに実行させるプログラム。
PCT/JP2016/060349 2015-03-31 2016-03-30 制御装置、制御方法及びプログラム WO2016159057A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017510086A JPWO2016159057A1 (ja) 2015-03-31 2016-03-30 制御装置、制御方法及びプログラム
KR1020177031383A KR20170134557A (ko) 2015-03-31 2016-03-30 제어기, 제어 방법 및 프로그램
US15/562,661 US20180109472A1 (en) 2015-03-31 2016-03-30 Controller, control method and program
CN201680020246.2A CN107534602A (zh) 2015-03-31 2016-03-30 控制器、控制方法和程序
EP16772938.3A EP3280100A4 (en) 2015-03-31 2016-03-30 Control device, control method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-073889 2015-03-31
JP2015073889 2015-03-31

Publications (1)

Publication Number Publication Date
WO2016159057A1 true WO2016159057A1 (ja) 2016-10-06

Family

ID=57005069

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/060349 WO2016159057A1 (ja) 2015-03-31 2016-03-30 制御装置、制御方法及びプログラム

Country Status (8)

Country Link
US (1) US20180109472A1 (ja)
EP (1) EP3280100A4 (ja)
JP (1) JPWO2016159057A1 (ja)
KR (1) KR20170134557A (ja)
CN (1) CN107534602A (ja)
AR (1) AR104149A1 (ja)
TW (1) TW201701621A (ja)
WO (1) WO2016159057A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009075718A (ja) * 2007-09-19 2009-04-09 Hitachi Ltd 仮想i/oパスの管理方法、情報処理システム及びプログラム
WO2015041706A1 (en) * 2013-09-23 2015-03-26 Mcafee, Inc. Providing a fast path between two entities

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489224B2 (en) * 2010-12-28 2016-11-08 Nec Corporation Network virtualization system, physical node, and virtual interface identification method in virtual machine
US9116727B2 (en) * 2013-01-15 2015-08-25 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Scalable network overlay virtualization using conventional virtual switches
JP5991424B2 (ja) * 2013-03-07 2016-09-14 日本電気株式会社 パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム
US9660905B2 (en) * 2013-04-12 2017-05-23 Futurewei Technologies, Inc. Service chain policy for distributed gateways in virtual overlay networks
US9203765B2 (en) * 2013-08-30 2015-12-01 Cisco Technology, Inc. Flow based network service insertion using a service chain identifier

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009075718A (ja) * 2007-09-19 2009-04-09 Hitachi Ltd 仮想i/oパスの管理方法、情報処理システム及びプログラム
WO2015041706A1 (en) * 2013-09-23 2015-03-26 Mcafee, Inc. Providing a fast path between two entities

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KOJI TSUBOUCHI ET AL.: "NFV Management and Orchestration Technology to Automatically Build Network Services on Demand", IEICE TECHNICAL REPORT, vol. 114, no. 206, 4 September 2014 (2014-09-04), pages 107 - 112, XP009505688 *
See also references of EP3280100A4 *

Also Published As

Publication number Publication date
KR20170134557A (ko) 2017-12-06
CN107534602A (zh) 2018-01-02
EP3280100A4 (en) 2018-12-05
US20180109472A1 (en) 2018-04-19
TW201701621A (zh) 2017-01-01
JPWO2016159057A1 (ja) 2018-03-08
AR104149A1 (es) 2017-06-28
EP3280100A1 (en) 2018-02-07

Similar Documents

Publication Publication Date Title
JP6477864B2 (ja) 制御装置、制御方法及びプログラム
WO2016159192A1 (ja) 制御装置、制御方法及びプログラム
Khan et al. Network virtualization: a hypervisor for the Internet?
JP6574304B2 (ja) 仮想ネットワーク管理
JP5835846B2 (ja) ネットワークシステム及び仮想ノードのマイグレーション方法
Dixon et al. Software defined networking to support the software defined environment
Wang et al. Software-defined networking enhanced edge computing: A network-centric survey
US20160072762A1 (en) Network Access Method and Device for Equipment
CN103763367A (zh) 一种云计算数据中心分布式虚拟网络设计方法及系统
JP2014021979A (ja) 複数の仮想マシンを管理するための階層システム、方法、及びコンピュータプログラム
TW201603531A (zh) 全網域服務控制器
US20210204191A1 (en) Inter-slice sharing in 5g core networks
JP5904285B2 (ja) 通信システム、仮想ネットワーク管理装置、通信ノード、通信方法及びプログラム
JP5063726B2 (ja) 仮想ノード装置のコンフィグ制御方法
WO2016159057A1 (ja) 制御装置、制御方法及びプログラム
Chou et al. Design of SFC Management System based on SDN and NFV
Lehocine et al. VINEMA: Towards automated management of virtual networks in SDN infrastructures
Langenskiöld Network Slicing using Switch Virtualization
Leea et al. Container-based Management Platform for Scalable Service Clusters Provisioning

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: 16772938

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15562661

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2017510086

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2017134606

Country of ref document: RU

ENP Entry into the national phase

Ref document number: 20177031383

Country of ref document: KR

Kind code of ref document: A