Patent Publication Number: US-2018041437-A1

Title: Management apparatus and management method

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2016-153891, filed on Aug. 4, 2016, the entire contents of which are incorporated herein by reference. 
     FIELD 
     The embodiments discussed herein are related to a management apparatus and a management method of a network. 
     BACKGROUND 
     A technology referred to as a network functions virtualization (NFV) attracts attention. In the NFV, a function realized by a network device such as a router, a gateway, or a load balancer is implemented as an application program, and is operated as a virtual machine (VM) on a server. Moreover, a virtual machine providing a function used for communication through a network may be referred to as a virtual network function (VNF). In a system to which the network functions virtualization is applied, in order to selectively use a plurality of functions which operate in the virtual machine on the server, a data transfer channel (service chain) which becomes a channel of a packet processed by the function is generated. 
       FIG. 1  is a diagram illustrating an example of a system in which communication is performed by a service chain. The service chain is generated by a management server  10 . First, a user such as a company  2  notifies the management server  10  of information such as a type of network function included in the service chain or a communication destination as a service demand (arrow A 1 ). The management server  10  analyses the notified service demand, and performs deployment of a virtual machine which realizes the network function and a setting of a transfer channel in the virtual machine, by using a server  7  ( 7   a  to  7   f ) in a data center  4 . In the example of  FIG. 1 , the data center  4  and the management server  10  are included in a wide area network  3 . 
     A communication device in the company  2  performs communication by using the generated service chain. For example, the communication device in the company  2  accesses an Internet  5  through a service chain including a virtual machine VM 1  which operates as a firewall (FW) and a virtual machine VM 2  which operates as a Web Proxy. Furthermore, the communication device in the company  2  may communicate with a communication device in a base  6 , through a service chain including a virtual machine VM 3  which operates as a virtual private network (VPN) router. The service chain or the data center  4  illustrated in  FIG. 1  is an example. The number of virtual machines in the service chain, the number of servers  7  installed in the data center  4 , and the like may be optionally changed depending on implementation. 
     For example, in the communication of which a data transfer amount is large, as illustrated in  FIG. 1 , if the network function such as a firewall is processed by one virtual machine, there is a case where a processing speed demanded by the user may not be obtained. In such a case, it is possible to realize one network function by using a plurality of virtual machines, and to perform a load distribution between the virtual machines which realize the respective network functions. 
       FIG. 2  is a diagram illustrating an example of a service chain in which a load distribution between virtual machines is performed. In the service chain illustrated in  FIG. 2 , a Web Proxy is realized by two virtual machines, and a firewall is realized by four virtual machines. A function of a VPN router is realized by three virtual machines. Each of a plurality of virtual machines realizing one network function is connected to virtual machines VM 11  to VM 13  which operate as a load balancer (LB), and the load is distributed by the virtual machine which operates as a load balancer. For example, the virtual machine VM 11  distributes packets to two virtual machines which operate as a Web Proxy. Similarly, the virtual machine VM 12  distributes packets to four virtual machines which operate as a firewall, and the virtual machine VM 13  distributes packets to three virtual machines which operate as a VPN router. 
     As a related technology, proposed is a network relay apparatus that includes a plurality of distributed processing units, and switches between a distributed processing mode and a centralized processing mode. In the distributed processing mode, each of the plurality of distributed processing units executes a destination search of a receiving packet, thereby, transfers the packet to an external apparatus, and in the centralized processing mode, each distributed processing unit transfers the packet to a centralized processing unit without executing the destination search of the receiving packet (for example, Japanese Laid-open Patent Publication No. 2010-109426). If a transfer target packet addressed to a predetermined virtual IP address is received, a system in which a destination is rewritten with an IP address which is assigned to any of a plurality of load distribution target servers specified based on the virtual IP address is also devised (for example, Japanese Laid-open Patent Publication No. 2003-174473). 
     SUMMARY 
     According to an aspect of the invention, a management apparatus is configured to manage a processing load on a virtual machine of a plurality of virtual machines forming a network, the management apparatus includes a memory, and a processor coupled to the memory and the processor configured to specify a plurality of first virtual machines to perform a load distribution processing from the plurality of virtual machines, based on a type of first processing performed by the virtual machine and a sequence of which the first processing is performed, determine a destination of a transfer packet to be transferred to the plurality of first virtual machines at any of the plurality of first virtual machines, based on the processing load on the plurality of first virtual machines, in a case where the transfer packet is terminated by the plurality of first virtual machines, and transmit a first control packet including information of the determined destination of the transfer packet to a virtual machine of the plurality of virtual machines which generates the transfer packet. 
     The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. 
     It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a diagram illustrating an example of a system in which communication is performed by a service chain in the related art; 
         FIG. 2  is a diagram illustrating an example of a service chain in the related art; 
         FIG. 3A  and  FIG. 3B  are diagrams illustrating an example of a control method according to an embodiment; 
         FIG. 4  is a diagram illustrating an example of a configuration of a management apparatus; 
         FIG. 5  is a diagram illustrating an example of a hardware configuration of the management apparatus; 
         FIG. 6  is a diagram illustrating a type of a load balancer; 
         FIG. 7  is a diagram illustrating an example of a service chain; 
         FIG. 8  is a flowchart illustrating an example of a search method of a VNF in a processing target; 
         FIG. 9  is a diagram illustrating an example of the service chain to which a first pattern is applied; 
         FIG. 10  is an example of a service chain demand and a network management table; 
         FIG. 11  is a diagram illustrating an example of an assignment method of a transfer destination; 
         FIG. 12  is a diagram illustrating a setting example of channel information; 
         FIG. 13  is a flowchart illustrating an example of a control method for performing a load distribution; 
         FIG. 14  is a flowchart illustrating an example of a determination method of a transfer destination of a packet; 
         FIG. 15  is a diagram illustrating an example of the service chain to which a second pattern is applied; 
         FIG. 16  is an example of the service chain demand and the network management table; 
         FIG. 17  is a diagram illustrating an example of the assignment method of the transfer destination; 
         FIG. 18  is a diagram illustrating a setting example of the channel information; 
         FIG. 19  is a diagram illustrating a setting example of an address in a distributed processing to a termination-type load balancer; 
         FIG. 20  is a diagram illustrating an example of the service chain to which a third pattern is applied; 
         FIG. 21  is an example of the service chain demand and the network management table; 
         FIG. 22  is a diagram illustrating an example of the assignment method of a destination of the packet; 
         FIG. 23  is a diagram illustrating an example of the assignment method of the transfer destination of the packet; 
         FIG. 24  is a diagram illustrating a setting example of the channel information; 
         FIG. 25  is a flowchart illustrating an example of the control method for performing the load distribution; 
         FIG. 26  is a diagram illustrating an example of the service chain to which a fourth pattern is applied; 
         FIG. 27  is an example of the service chain demand; 
         FIG. 28  is an example of the network management table; 
         FIG. 29  is a diagram illustrating an example of the assignment method of the destination of the packet; 
         FIG. 30  is a diagram illustrating an example of the assignment method of the transfer destination; 
         FIG. 31  is a diagram illustrating an example of the assignment method of the transfer destination; 
         FIG. 32  is a diagram illustrating a setting example of the channel information; 
         FIG. 33  is a diagram illustrating a setting example of the address in the distributed processing to a relay-type load balancer; and 
         FIG. 34  is a diagram illustrating a comparative example of the load distribution by the method according to the embodiment with other methods. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     Even if a processing in a portion of network functions is realized by a plurality of virtual machines, in a case where all packets in a service chain are concentrated on one virtual machine which operates as a load balancer, an upper limit of a transferable data amount is determined depending on the processed amount by the load balancer. Therefore, it is considered that the plurality of virtual machines are included in the network function which operates as a load balancer. However, a load may not be distributed among the plurality of virtual machines which operate as a load balancer, depending on a sequence or a combination of the network functions in the service chain. That is, a setting method of the service chain that may transfer the data of a large amount in general use regardless of the sequence or the combination of the network functions in the service chain, is not known. 
     Embodiments of a technology providing a setting method of a channel which may transfer data of a large amount will be described by using the drawings.  FIG. 3A  and  FIG. 3B  are diagrams illustrating an example of a control method according to an embodiment. In a method according to the embodiment illustrated in a flowchart of  FIG. 3A , a management apparatus which manages a service chain generates the service chain so that load distribution is possible among a plurality of virtual machines which operate as a load balancer. In operation S 1 , the management apparatus specifies a VNF including a plurality of load balancers as a target VNF. The management apparatus determines whether the load balancer in the target VNF is a termination-type (operation S 2 ). Here, a termination-type device is a device that terminates a received packet. In a case where the target VNF is the termination-type, the management apparatus determines a destination of the packet in each virtual machine that generates the packet which is terminated by the target VNF so as to reduce a difference between processing loads among the load balancers included in the target VNF (Yes in operation S 2 , and operation S 3 ). On the other hand, in a case where the target VNF is not the termination-type, the load balancer in the target VNF relays the received packet to the destination without terminating the received packet (No in operation S 2 ). Therefore, the management apparatus distributes a load of the device in the target VNF, by setting a transfer destination of the packet in the virtual machine that transfers the packet to the target VNF (operation S 4 ). 
     For example, in  FIG. 3B , virtual machines VM 21  to VM 35  are included in a service chain illustrated in a network N 1 . The virtual machines VM 23  and VM 24  are included in one VNF which operates as a Web Proxy, and the virtual machines VM 27  to VM 30  are included in one VNF which operates as a firewall (FW). The virtual machines VM 33  to VM 35  are included in one VNF which operates as a VPN router. 
     All of the virtual machines VM 21 , VM 22 , VM 25 , VM 26 , VM 31 , and VM 32  operate as a load balancer (LB). In the example of the network N 1 , the virtual machines VM 21  and VM 22  are included in a VNF that is disposed between the VNFs which operate as a transmission source and as a Web Proxy. The virtual machines VM 25  and VM 26  belong to a VNF that is disposed between the VNF which operates as a Web Proxy and the VNF which operates as a firewall. The virtual machines VM 31  and VM 32  belong to a VNF that is disposed between the VNF which operates as a firewall and the VNF which operates as a VPN router. 
     In a case where the VNF including the virtual machines VM 25  and VM 26  is set as a target VNF, the management apparatus determines whether the virtual machines VM 25  and VM 26  are termination-type load balancers. Here, it is assumed that the virtual machines VM 25  and VM 26  are the termination-type load balancers, and the packets terminated by the virtual machine VM 25  or VM 26  are generated by the virtual machines VM 23  and VM 24  which operate as a Web Proxy. Therefore, the management apparatus determines the destination of the packet generated by the Web Proxy VM 23  and the destination of the packet generated by the Web Proxy VM 24  so as to reduce the difference between the processing load on the virtual machine VM 25  and the processing load on the virtual machine VM 26 . For example, the management apparatus sets the destination of the packet generated by the Web Proxy VM 23  into the load balancer VM 25 , and sets the destination of the packet generated by the Web Proxy VM 24  into the load balancer VM 26 . 
     On the other hand, in a case where the VNF including the virtual machines VM 31  and VM 32  is set as a target VNF, the management apparatus determines whether the virtual machines VM 31  and VM 32  are termination-type load balancers. Here, it is assumed that the virtual machines VM 31  and VM 32  are relay-type load balancers. The virtual machines that transfer the packets to the target VNF are VM 27  to VM 30  which operate as a firewall. Therefore, the management apparatus determines the transfer destination of the packet in the firewalls VM 27  to VM 30  so as to reduce the difference between the processing load on the virtual machine VM 31  and the processing load on the virtual machine VM 32 , and sets information on the transfer destination into the firewalls VM 27  to VM 30 . For example, the management apparatus sets the transfer destination of the packet in the firewalls VM 27  to VM 28  into the load balancer VM 31 , and sets the transfer destination of the packet in the firewalls VM 29  to VM 30  into the load balancer VM 32 . Here, the load balancer VM 31  may transfer the packets to the VPN routers VM 33  and VM 34 , and the load balancer VM 32  may transfer the packets to the VPN routers VM 34  and VM 35 . In a case where the transfer destination of the packet from the load balancers VM 31  and VM 32  is the termination-type VNF, the management apparatus sets the destination of the packet received by each load balancer so as to be an address that is assigned to the device to which the load balancer enables to transfer. 
     In this manner, depending on whether the plurality of load balancers included in one VNF terminate the packets, the management apparatus determines the setting in the virtual machine which is closer to the transmission source than the VNF which operates as a load balancer, thereby, distributes the load on the load balancer in the VNF. Therefore, in the method according to the embodiment, the service chain that is usable for transferring the data of a large amount may be automatically generated. 
     Apparatus Configuration 
       FIG. 4  is a diagram illustrating an example of a configuration of a management apparatus  20 . The management apparatus  20  includes a communication unit  21 , a control unit  30 , and a storage unit  40 . The communication unit  21  includes a transmission unit  22  and a reception unit  23 . The control unit  30  includes an obtaining unit  31 , a VM deploying unit  32 , a service chain generating unit  33 , a specifying unit  34 , a determining unit  35 , and a channel setting unit  36 . The storage unit  40  includes a service chain demand information  41  and a network management table  42 . 
     The transmission unit  22  transmits the packet to other devices such as the virtual machine in the VNF and a demand source device of generation of the service chain. The reception unit  23  receives the packet from other devices such as the virtual machine in the VNF and the demand source device of the generation of the service chain. At the time of transmitting the packet to the virtual machine and receiving the packet from the virtual machine, the packets are transmitted and received between a server  7  realizing the virtual machine and the management apparatus  20 . 
     The obtaining unit  31  obtains information of the service chain from the packet received by the reception unit  23 , and appropriately stores the information as the service chain demand information  41  in the storage unit  40 . The VM deploying unit  32  performs activation of the virtual machine used in the service chain in which the generation is demanded. The service chain generating unit  33  performs a setting processing for realizing the VNF with respect to the virtual machine activated by the VM deploying unit  32 . The service chain generating unit  33  records the information such as the information of each VNF and the address of the virtual machine included in each VNF in the network management table  42 . The specifying unit  34  specifies the VNF including the plurality of load balancers among the VNFs included in the generated service chain. The specifying unit  34  also determines whether the load balancer in the specified VNF terminates the packet. By using the VNF specified by the specifying unit  34  and the determination result determined by the specifying unit  34 , the determining unit  35  determines the setting of the transfer destination or the destination of the packet in the virtual machine which is included in the VNF on a transmission side of the packet than the VNF of a processing target. By using a processing result of the service chain generating unit  33  or the determining unit  35 , the channel setting unit  36  sets a transfer channel in each virtual machine which is included in the service chain. 
       FIG. 5  is a diagram illustrating an example of a hardware configuration of the management apparatus  20 . The management apparatus  20  includes a processor  101 , a memory  102 , a bus  105 , a storage device  106 , and a network interface  107 . As an option, the management apparatus  20  may include an input device  103  and an output device  104 . For example, the management apparatus  20  may be realized by a computer or the like. 
     The processor  101  may be a central processing unit (CPU) or any other optional processing circuit. The processor  101  executes various processing by using the memory  102  as a working memory and executing a program. The memory  102  includes a random access memory (RAM), and further includes a nonvolatile memory such as a read only memory (ROM). The memory  102  or the storage device  106  is used for storing the program or the data used in the processing in the processor  101 . The network interface  107  is used for communication with other devices through the network. The network interface  107  may be a network interface card (NIC), a wireless local area network (LAN) card, or the like. An erasable programmable ROM (EPROM), a hard disk drive, or the like may be used as a storage device  106 . The bus  105  connects the processor  101 , the memory  102 , the input device  103 , the output device  104 , the storage device  106 , and the network interface  107  so that the data may be input and output to each other. For example, the input device  103  is realized as a button, a keyboard, or a mouse, and the output device  104  is realized as a display or the like. 
     As an option, the management apparatus  20  may include a portable storage medium drive device. The portable storage medium drive device may output the data in the memory  102  or the storage device  106  to a portable storage medium, and may read the programs, the data, or the like from the portable storage medium. Here, the portable storage medium is an optional storage medium which may be carried. 
     In the management apparatus  20 , the processor  101  operates as a control unit  30 . The memory  102  and the storage device  106  operate as a storage unit  40 . The network interface  107  realizes the communication unit  21 . The functions of the control unit  30  including some functions of the communication unit  21  may be realized by the processor  101 . 
       FIG. 6  is a diagram illustrating a type of load balancer. A case C 1  illustrates an example of the processing of the load balancer that terminates the packet. The termination-type load balancer receives the packet of which the destination is set into the termination-type load balancer. The load balancer generates the packet of which the destination is set into the address written in the destination information that is set in order to be used in the communication of the service chain, and transmits the packet toward the destination. As destination information, a plurality of addresses which the load balancer may use as a division destination of the packet may be retained. 
     For example, in a case where an IP address referred to as an IP A  is assigned to the load balancer, the load balancer receives a packet P 1  addressed to IP A . The load balancer terminates the packet P 1 , and appropriately generates a transmission packet by using an application which operates on an operating system (OS). Here, information indicating that IP DST  is used as a destination of the transmission packet is selected in the destination information. Therefore, the load balancer generates a packet P 2  addressed to the IP DST , and transmits the packet P 2  toward the destination. 
     A case C 2  illustrates an example of the processing of the load balancer that relays the packet. The relay-type load balancer receives the packet of which the destination is set into other devices, and transfers the received packet depending on the channel information. In the channel information, destination address information is associated with address information that is assigned to a transfer destination device for transferring the packet to the destination thereof. The load balancer searches for a destination address in the channel information by using the destination address of the received packet as a key, and sets the device to which a relay address included in a hit entry is assigned as a transfer destination. In the channel information used by the load balancer, one or more relay addresses may be associated with one destination address. In this case, the load balancer selects the transfer destination from a plurality of candidates of the transfer destination so as to reduce the difference between the processing loads of a plurality of transfer destinations. The transfer processing of the load balancer may be performed by the OS. 
     For example, the load balancer receives a packet P 3  addressed to IP DST . Here, in the channel information, information indicating that the transfer destination in a case where the destination of the transmission packet is IP DST  is set into the device to which the IP Y  is assigned, is selected as the used information. Therefore, the load balancer transmits the packet P 3  addressed to the IP DST  from a port that is connected to the device to which the IP Y  is assigned. 
     Hereinafter, the processing according to the embodiments will be described by being divided into a search for the processing target and a control for the load distribution. 
     (A) Search Method of Processing Target 
       FIG. 7  is a diagram illustrating an example of the service chain. For example, the service chain demand is transmitted to the management apparatus  20 , from a terminal or the like used by an user (arrow A 11 ). Therefore, the management apparatus  20  appropriately generates the plurality of virtual machines by using the device which is selected from servers  7   a  to  7   g  included in the data center  4 , and generates a VNF  12  ( 12   a  to  12   f ) which is demanded by the service chain demand. The service chain demanded by the arrow A 11  is connected to a transmission source device through a gateway  11   a . The VNF  12   a  operates as a termination-type Web Proxy, and the VNF  12   b  operates as a relay-type firewall (FW). The VNF  12   c  operates as a gateway-type load balancer (GWLB) which is one of the relay-type load balancers, and the VNF  12   d  operates as a relay-type firewall. The VNF  12   e  operates as a load balancer (L 4 LB) of a type that performs the processing of a layer  4  (L 4 ) which is one of the termination-type load balancers, and the VNF  12   f  operates as a termination-type Web Proxy. The communication between the VNF  12   f  and a destination device is relayed by a gateway  11   b . In each VNF  12 , one or more virtual machines are included. 
       FIG. 8  is a flowchart illustrating an example of a method in which the management apparatus  20  searches for the VNF  12  in the processing target. In the example of  FIG. 8 , the VNF  12  of the processing target is the VNF  12  including the plurality of load balancers. In the example of  FIG. 8 , a variable n and a constant N are used. The constant N is a total number of VNFs in the service chain, and the variable n is a value that is used at the time of counting the number of VNFs  12  in which the specifying unit  34  performs a determination processing. 
     The obtaining unit  31  reads a generation demand of the service chain, from the packet or the like received by the reception unit  23  (operation S 11 ). The obtaining unit  31  stores the read information in the service chain demand information  41 . The specifying unit  34  obtains the number (N) of the VNFs  12  included in the service chain, from the service chain demand information  41  (operation S 12 ). The specifying unit  34  sets the variable n to 1 (operation S 13 ). The specifying unit  34  determines whether an n-th VNF  12  is the VNF  12  which operates as a load balancer (operation S 14 ). In a case where the n-th VNF  12  is the VNF  12  which operates as a load balancer, the specifying unit  34  determines whether the number of virtual machines included in the n-th VNF  12  is plural (Yes in operation S 14 , and operation S 15 ). In a case where the number of virtual machines included in the n-th VNF  12  is plural, the setting process for the load distribution among the load balancers in the n-th VNF  12  is performed by the determining unit  35  or the channel setting unit  36  (Yes in operation S 15 , and operation S 16 ). Details of the processing performed in operation S 16  will be described in detail in the description of a control example for the load distribution. 
     If the processing of operation S 16  is completed, the specifying unit  34  increments the variable n by 1, and determines whether the variable n exceeds the constant N (operation S 17 , and operation S 18 ). In a case where the variable n exceeds the constant N, the specifying unit  34  ends the processing (Yes in operation S 18 ). On the other hand, in a case where the variable n does not exceed the constant N, the processing after operation S 14  is performed (No in operation S 18 ). 
     Even in a case where the n-th VNF  12  is not the load balancer (No in operation S 14 ), the processing after operation S 17  is performed. Furthermore, even in a case where the number of virtual machines included in the n-th VNF  12  which operates as a load balancer is not plural, the processing after operation S 17  is performed (No in operation S 15 ). 
       FIG. 8  is merely an example, and the processing may be changed depending on implementation. For example, the n-th VNF  12  may be the n-th VNF  12  by using the transmission source device as a standard, or may be the n-th VNF  12  by using the destination device as a standard. 
     (B) Control Example for Load Distribution 
     Hereinafter, the control for the load distribution will be described by being divided into a case where the load balancer is the termination-type and a case where the load balancer is the relay-type. Furthermore, the respective cases will be described by being divided into a case where the VNF which operates as a load balancer is close to the termination-type VNF and a case where the VNF which operates as a load balancer is close to the relay-type VNF. 
     (B1) First Pattern 
     In a first pattern, a case where the VNF  12  of the processing target is the termination-type load balancer and the VNF  12  that transfers the packet to the VNF  12  of the processing target is also the termination-type will be described. 
       FIG. 9  is a diagram illustrating an example of the service chain to which the first pattern is applied. In the example of the service chain illustrating in  FIG. 9 , the VNF  12   a  that operates as a proxy, the VNF  12   b  that operates as a load balancer which processes the information of the layer  4 , and the VNF  12   c  that operates as a cache are included in the service chain. The VNF  12   a  includes three virtual machines of Proxy 1  to Proxy 3 , and the VNF  12   b  includes two virtual machines of L 4 LB 1  and L 4 LB 2 . The VNF  12   c  includes two virtual machines of Cache 1  and Cache 2 . 
     In the example of  FIG. 9 , the management apparatus  20  is included in the data center  4 , and the service chain is generated by using the server  7  (not illustrated) in the data center  4 . If the reception unit  23  receives a service chain demand (arrow A 21 ) which is used in the first pattern, the VM deploying unit  32  or the service chain generating unit  33  in the management apparatus  20  generates the service chain illustrated in  FIG. 9 . 
     F 1  of  FIG. 10  is an example of the service chain demand transmitted by the arrow A 21 . In the service chain demand, a message type, the number of VNFs in the service chain, the information of each VNF  12 , a transmission source address, and the destination address are included. The transmission source address is an address that is assigned to a communication device (transmission source device) which is positioned at an end point of the transmission source of the service chain. The destination address is an address that is assigned to a communication device (destination device) which is positioned at an end point of the destination of the service chain. The message type is set into the service chain demand. As information of each VNF  12 , a type, a transfer form, a determination result obtained by determining whether to be a load balancer (LB), and the number of virtual machines (the number of VMs) which is included in the VNF  12  are included. Furthermore, the information of the VNF is written in a sequence which is close to the transmission source device. In the following description, in a column (left column) which describes information elements of the message, a numerical value written next to the VNF is a value indicating that the VNF is what-th VNF from the transmission source device. For example, the information of the VNF  12   a  is recorded as a VNF  1 . In the example of F 1 , the VNF  12   a  operates as a Web Proxy, and the transfer form is the termination-type. It is determined that the VNF  12   a  is not the load balancer (non-LB), and the number of VMs in the VNF  12   a  is 3. The information of the VNF  12   b  is recorded as a VNF 2 . The VNF  12   b  operates as an L 4 LB, and the transfer form is the termination-type. The determination result regarding the VNF  12   b  is that the VNF  12   b  is the load balancer (LB), and the number of VMs in the VNF  12   b  is 2. The information of the VNF  12   c  is recorded as a VNF 3 . The VNF  12   c  operates as a Web Cache, and the transfer form is the termination-type. It is determined that the VNF  12   c  is not the load balancer (non-LB), and the number of VMs in the VNF  12   c  is 2. 
     If the obtaining unit  31  obtains the information illustrated in F 1  of  FIG. 10 , the obtaining unit  31  records the obtained information in the service chain demand information  41  by associating information (generation demand ID) which identifies the generation demand with the obtained information. Here, the information illustrated in F 1  is stored in the service chain demand information  41  in association with the information which is referred to as the generation demand ID=1. Since the service chain demand information  41  includes the information which is included in the service chain demand, in the following description, for convenience&#39;s sake of description, it may refer to F 1  as information included in the service chain demand information  41 . 
     The VM deploying unit  32  activates the virtual machine to the server  7  in the data center  4 , with reference to the service chain demand information  41 , and assigns an ID, a management address, and a transfer address to each virtual machine. Here, the management address is an IP address which is used for the communication between the management apparatus  20  and the virtual machine. The transfer address is an IP address which is used for transmitting and receiving data in the service chain. The VM deploying unit  32  records the assigned IP address or ID in the network management table  42 , regarding each virtual machine. In the network management table  42 , the generation demand ID for identifying the generation demand which is used in the generation of the service chain is also included. In the drawing of the virtual machine illustrated in  FIG. 9 , the ID which is determined with respect to each virtual machine is written. 
     F 2  in  FIG. 10  is an example of the network management table  42 . Hereinafter, the addresses that are assigned to each of the virtual machines which are included in the VNF  12   a  to the VNF  12   c  are illustrated in F 2 . For example, in the virtual machine Proxy 1 , the management address is IP M11 , and the transfer address is IP D11 . In the virtual machine Proxy 2 , the management address is IP M12 , and the transfer address is IP D12 , and in the virtual machine Proxy 3 , the management address is IP M13 , and the transfer address is IP D13 . In the virtual machine L 4 LB 1  included in the VNF  12   b , the management address is IP M21 , and the transfer address is IP D21 . In the virtual machine L 4 LB 2 , the management address is IP M22 , and the transfer address is IP D22 . Similarly, in the virtual machine Cache 1  included in the VNF  12   c , the management address is IP M31 , and the transfer address is IP D31 . In the virtual machine Cache 2 , the management address is IP M32 , and the transfer address is IP D32 . 
     The specifying unit  34  specifies the VNF  12  including the plurality of load balancers which become the target of the load distribution by the processing described with reference to  FIG. 7  and  FIG. 8 . In the example of the network illustrated in  FIG. 9 , the specifying unit  34  specifies the VNF  12   b  as a processing target with reference to the service chain demand information  41  (including the information of F 1  in  FIG. 10 ). At this time, the specifying unit  34  also specifies that the VNF  12   b  is the termination-type. Therefore, the specifying unit  34  specifies the VNF  12  including the device that generates the packet which is terminated by the VNF  12   b , by using the service chain demand information  41 . At this time, the specifying unit  34  refers to the transfer form of the VNF  12  which is closer to the transmission source device than the VNF  12   b  of the processing target, in the information of the service chain demand information  41 . In F 1  of  FIG. 10 , since the VNF  12   a  which is closer to the transmission source device than the VNF  12   b  is the termination-type, the specifying unit  34  determines that the virtual machine in the VNF  12   a  generates the packet which is terminated by the VNF  12   b . The specifying unit  34  notifies the determining unit  35  of the obtained result. 
       FIG. 11  is a diagram illustrating an example of an assignment method of the transfer destination. With reference to  FIG. 11 , an example of the processing of the determining unit  35  in a case of being notified of that the packet generated by the virtual machine in the VNF  12   a  is terminated by the VNF  12   b  which operates as a load balancer will be described.  FIG. 11  illustrates a case where the VNF  12   a  and the VNF  12   b  are extracted from the service chain of  FIG. 9 . By using the service chain demand information  41 , the determining unit  35  recognizes that three virtual machines of the Proxy 1  to the Proxy 3  are included in the VNF  12   a , and two virtual machines of the L 4 LB 1  and the L 4 LB 2  are included in the VNF  12   b . The determining unit  35  determines the destinations of the packets which are generated by the Proxy 1  to the Proxy 3  so as to minimize the difference between the processing loads of the L 4 LB 1  and the L 4 LB 2 . In the example of  FIG. 11 , the determining unit  35  determines that the destinations of the packets generated by the Proxy 1  and the Proxy 2  are set into the L 4 LB 1 , and the destination of the packet generated by the Proxy 3  is set into the L 4 LB 2 . Therefore, the determining unit  35  determines the destinations of the packets generated by the Proxy 1  and the Proxy 2  as IP D21 , and determines the destination of the packet generated by the Proxy 3  as IP D22 . The determining unit  35  also determines the information such as a relay destination set into a routing table which is used in the VNF  12   a , depending on the information of the destination of the packet in the VNF  12   a . The determining unit  35  outputs the determined information to the channel setting unit  36 . 
     The channel setting unit  36  generates a control packet for notifying each of the virtual machines in the VNF  12   a  of the information which is input from the determining unit  35 . For example, in the control packet addressed to the Proxy 1  and the control packet addressed to the Proxy 2 , the following information is included.
     Destination of the generated packet:IP D21      Destination in the routing table:IP D21      Relay destination in the routing table:IP D21      

     On the other hand, in the control packet addressed to the Proxy 3 , the following information is included.
     Destination of the generated packet:IP D22      Destination in the routing table:IP D22      Relay destination in the routing table:IP D22  
 
The channel setting unit  36  transmits the control packets to each of the Proxy 1  to the Proxy 3  through the transmission unit  22 . At the time of transmitting the control packet, the management address assigned to each virtual machine is used.
   

       FIG. 12  is a diagram illustrating a setting example of the channel information. Each of the virtual machines that receive the control packets from the management apparatus  20  sets the destination information of the generated packet and the routing table, in accordance with the control packet. In the example of  FIG. 12 , in order to easily understood, in succession of the address, the ID of the virtual machine to which the address thereof is assigned is written in parentheses. By performing the setting processing as illustrated in  FIG. 12 , in the generated service chain, the packets generated by the Proxy 1  and the Proxy 2  are transmitted to the L 4 LB 1 , and the packet generated by the Proxy 3  is transmitted to the L 4 LB 2 . 
     Here, in a case where the amount of the data transmitted from the transmission source is the same as those of the Proxy 1  to the Proxy 3 , the amount of the data which is obtained from the transmission source by each of the Proxy 1  to the Proxy 3  is ⅓ of the amount of the data transmitted from the transmission source, one by one. Therefore, the data processed by the L 4 LB 1  is approximately ⅔ of the transmitted data, and the data processed by the L 4 LB 2  is approximately ⅓ of the transmitted data. 
       FIG. 13  is a flowchart illustrating an example of a control method for performing the load distribution, and represents the details of the processing in operation S 16  of  FIG. 8 . In  FIG. 13 , a constant M and a variable m are used. The constant M is a total number of the VNFs  12  through which the packet passes to the VNF  12  which becomes the target of the load distribution from the transmission source device. The transmission source device is a transmission source device of the data transmitted and received by the service chain, in the end point of the service chain. The variable m is a variable which is used in the processing by the specifying unit  34 . 
     The specifying unit  34  specifies the VNF  12  which is the target of the load distribution, by the processing described with reference to operations S 11  to S 15  of  FIG. 8 . The specifying unit  34  determines whether the VNF  12  which becomes the target of the load distribution is the termination-type (operation S 31 ). In a case where the VNF  12  which is the target of the load distribution is the termination-type, the specifying unit  34  substitutes the number (M) of the VNFs  12  that are between the VNF  12  which becomes the target of the load distribution and the transmission source device with the variable m (operation S 32 ). The specifying unit  34  determines whether an m-th VNF  12  from the transmission source device is the termination-type (operation S 33 ). In a case where the m-th VNF  12  from the transmission source device is not the termination-type, the specifying unit  34  decrements the variable m by 1, and determines whether the variable m is larger than 0 (No in operation S 33 , and operations S 34  and S 35 ). In a case where the variable m is larger than 0, the processing after the operation S 33  is performed. 
     In a case where the m-th VNF  12  from the transmission source device is the termination-type, the determining unit  35  selects the destination of the packet from the virtual machine of the VNF  12  which becomes the target of the load distribution, regarding each of the virtual machines of the m-th VNF  12  from the transmission source device (Yes in operation S 33 , and operation S 36 ). The determining unit  35  and the channel setting unit  36  perform the setting processing for transmitting the packet by each of the virtual machines included in the m-th VNF  12  to the destination which is selected by the determining unit  35  (operation S 37 ). 
     On the other hand, in operation S 31 , in a case where it is determined that the VNF  12  which is the target of the load distribution is not the termination-type, a load distribution processing is performed with respect to the relay-type VNF  12  (No in operation S 31 , and operation S 38 ). 
       FIG. 14  is a flowchart illustrating an example of a determination method of the transfer destination of the packet.  FIG. 14  is an example of the details of the processing of operations S 36  and S 37  of  FIG. 13 . In  FIG. 14 , the variable n and the variable m are used. The variable n is used for counting the number of load balancers which become the processing targets, and the variable m is used for counting the number of virtual machines which become the processing targets. 
     The determining unit  35  extracts that one of the virtual machines that generate the packets terminated by the load balancer is the load balancer which enables to transmit the packet (operation S 51 ). The determining unit  35  determines whether the number of extracted load balancers is larger than 1 (operation S 52 ). In a case where the number (constant N) of extracted load balancers is equal to or less than 1, the determining unit  35  ends the processing (No in operation S 52 ). In a case where the number of extracted load balancers is larger than 1, the determining unit  35  obtains the number (constant M) of virtual machines that enable to transmit the packets to a plurality of extracted load balancers (Yes in operation S 52 , and operation S 53 ). The determining unit  35  sets both of the variable m and the variable n to 1 (operation S 54 ). 
     The determining unit  35  increments the number TO n  of virtual machines which transmit the packets to the n-th load balancer by 1 (operation S 55 ). The determining unit  35  increments the variable m by 1, and determines whether the variable m exceeds the constant M (operations S 56  and S 57 ). In a case where the variable m does not exceed the constant M, the determining unit  35  increments the variable n by 1, and determines whether the variable n exceeds the constant N (No in operation S 57 , and operations S 58  and S 59 ). In a case where the variable n does not exceed the constant N, the determining unit  35  repeats the processing after operation S 55  (No in operation S 59 ). In a case where the variable n exceeds the constant N, the determining unit  35  returns the variable n to 1, and repeats the processing after operation S 55  (Yes in operation S 59 , and operation S 60 ). In the processing of operations S 55  to S 60 , the virtual machine is assigned to each load balancer until the value of m becomes the same as the number of virtual machines that enable to transmit the packets to the load balancer which is extracted in operation S 51 . In the processing of operations S 55  to S 60 , the assignment of the virtual machine to the load balancer is performed in a round robin manner, but the processing is merely an example, and may be changed depending on implementation. 
     In operation S 57 , if it is determined that the variable m exceeds the constant M, the determining unit  35  changes the variable n into 1 (Yes in operation S 57 , and operation S 61 ). The determining unit  35  selects the virtual machines of TOn which transmit the packets to the n-th load balancer, from the virtual machines extracted in operation S 53  (operation S 62 ). The channel setting unit  36  sets the destination of the packet that is transmitted by the virtual machine which is selected by the determining unit  35  into the n-th load balancer, by using the control packet (operation S 63 ). The channel setting unit  36  increments the variable n by 1, and determines whether the variable n exceeds the constant N (operations S 64  and S 65 ). In a case where the variable n does not exceed the constant N, the processing after operation S 62  is repeated (No in operation S 65 ). If the variable n exceeds the constant N, the determining unit  35  and the channel setting unit  36  end the processing (Yes in operation S 65 ). 
     (B2) Second Pattern 
     In a second pattern, a case where the VNF  12  which is the target of the load distribution is the termination-type load balancer, but the VNF  12  that transfers the packet to the VNF  12  which is the target of the load distribution is the relay-type will be described. 
       FIG. 15  is a diagram illustrating an example of the service chain to which the second pattern is applied. The service chain illustrated in  FIG. 15  includes the VNFs of  12   d  to  12   g . In the following description, the VNF  12   d  operates as a proxy, and the VNF  12   e  operates as a firewall. The VNF  12   f  operates as a load balancer (L 4 LB) that processes the information of the layer  4 , and the VNF  12   g  operates as a cache. The VNF  12   d  includes three virtual machines of the Proxy 1  to the Proxy 3 , and the VNF  12   e  includes a FW 1 . The VNF  12   f  includes two virtual machines of the L 4 LB 1  and the L 4 LB 2 . The VNF  12   g  includes two virtual machines of the Cache 1  and the Cache 2 . 
     In the example of  FIG. 15 , if the reception unit  23  receives a service chain demand (arrow A 31 ) which is used in the second pattern, the management apparatus  20  generates the service chain illustrated in  FIG. 15 . 
     F 11  of  FIG. 16  is an example of the service chain demand transmitted by the arrow A 31 . In F 11 , in a sequence which is close to the transmission source device, the generating of four VNFs  12  of the VNF  12   d , the VNF  12   e , the VNF  12   f , and the VNF  12   g  is demanded, and the information of each VNF  12  is included. The information of the VNF  12   d  is recorded as a VNF  1 . In the example of F 11 , the VNF  12   d  operates as a Web Proxy, and the transfer form is the termination-type. It is determined that the VNF  12   d  is not the load balancer (non-LB), and the number of VMs of the VNF  12   d  is 3. The information of the VNF  12   e  is recorded as a VNF  2 . The VNF  12   e  operates as a firewall, and the transfer form is the relay-type. It is determined that the VNF  12   e  is not the load balancer (non-LB), and the number of VMs of the VNF  12   e  is 1. The information of the VNF  12   f  is recorded as a VNF  3 . The VNF  12   f  operates as a load balancer, and the transfer form is the termination-type. The determination result regarding the VNF  12   f  is to be the load balancer (LB), and the number of VMs of the VNF  12   f  is 2. The information of the VNF  12   g  is recorded as a VNF  4 . The VNF  12   g  operates as a Web Cache, and the transfer form is the termination-type. It is determined that the VNF  12   g  is not the load balancer (non-LB), and the number of VMs of the VNF  12   g  is 2. 
     If the information illustrated in F 11  of  FIG. 16  is obtained, the obtaining unit  31  stores the obtained information in the service chain demand information  41  by associating the obtained information with the information as the generation demand ID=2. 
     The VM deploying unit  32  generates the virtual machine, and performs the setting, by the same processing as the processing described in the first pattern, and records the information of the service chain in the network management table  42 . In the drawing of the virtual machine illustrated in  FIG. 15 , the ID which is determined with respect to each virtual machine is written. 
     F 12  of  FIG. 16  is an example of the network management table  42 . Hereinafter, the addresses assigned to each of the virtual machines which are included in the VNF  12   d  to the VNF  12   g  are illustrated in F 12 . For example, in the virtual machine Proxy 1 , the management address is IP M11 , and the transfer address is IP D11 . In the virtual machine Cache 1  which is included in the VNF  12   g , the management address is IP M41 , and the transfer address is IP D41 . 
     The specifying unit  34  specifies the VNF  12  including the plurality of load balancers which become the targets of the load distribution, by the same processing as the processing described with reference to  FIG. 7  and  FIG. 8 . In the example of the network illustrated in  FIG. 15 , the specifying unit  34  specifies the VNF  12   f  as a processing target, with reference to the service chain demand information  41  including the information illustrated in F 11  of  FIG. 16 . At this time, the specifying unit  34  also specifies that the VNF  12   f  is the termination-type. Next, the specifying unit  34  specifies that the packet which is terminated by the VNF  12   f  is generated by the VNF  12   d , and the VNF  12   e  which is adjacent to the VNF  12   f  is the relay-type, by the same processing as the processing described with reference to  FIG. 13 . 
       FIG. 17  is a diagram illustrating an example of the assignment method of the transfer destination. With reference to  FIG. 17 , an example of the processing of the determining unit  35  in a case of being notified of that the packet generated by the virtual machine in the VNF  12   d  is terminated by the VNF  12   f  which operates as a load balancer will be described.  FIG. 17  illustrates a case where the VNF  12   d , the VNF  12   e , and the VNF  12   f  are extracted from the service chain of  FIG. 15 . By using the service chain demand information  41 , the determining unit  35  recognizes that three virtual machines of the Proxy 1  to the Proxy 3  are included in the VNF  12   d , and one virtual machine identified by ID=FW 1  is included in the VNF  12   e . The determining unit  35  recognizes that two virtual machines of the L 4 LB 1  and the L 4 LB 2  are included in the VNF  12   f.    
     The determining unit  35  determines the destinations of the packets which are generated by the Proxy 1  to the Proxy 3  so as to minimize the difference between the processing loads of the L 4 LB 1  and the L 4 LB 2 , even in a case where the relay-type VNF  12   e  is included between the VNF  12   d  which generates the packet and the VNF  12   f  which terminates the packet. In the example of  FIG. 17 , the determining unit  35  determines that the destinations of the packets generated by the Proxy 1  and the Proxy 2  are set into the L 4 LB 1 , and the destination of the packet generated by the Proxy 3  is set into the L 4 LB 2 , in the same manner as the first pattern. In this case, the determining unit  35  determines the destinations of the packets generated by the Proxy 1  and the Proxy 2  as IP D31 , and determines the destination of the packet generated by the Proxy 3  as IP D32 . The determining unit  35  determines the information such as the relay destination set into the routing table which is used in the VNF  12   d , and the information of the routing table which is used in the VNF  12   e , depending on the information of the destination of the packet in the VNF  12   d . The determining unit  35  outputs the determined information to the channel setting unit  36 . 
     The channel setting unit  36  generates the control packet for notifying each virtual machine of the information which is input from the determining unit  35 . For example, in the control packet addressed to the Proxy 1  and the control packet addressed to the Proxy 2  in the VNF  12   d , the following information is included.
     Destination of the generated packet:IP D31      Destination in the routing table:IP D31      Relay destination in the routing table:IP D21      

     On the other hand, in the control packet addressed to the Proxy 3  in the VNF  12   d , the following information is included.
     Destination of the generated packet:IP D32      Destination in the routing table:IP D32      Relay destination in the routing table:IP D21      

     In the control packet addressed to the FW 1  in the VNF  12   e , the following information is included.
     Destination  1 :IP D31      Relay destination of the packet addressed to the destination  1 :IP D31      Destination  2 :IP D32      Relay destination of the packet addressed to the destination  2 :IP D32  
 
The channel setting unit  36  transmits the control packets to each of the Proxy 1  to the Proxy 3 , and the FW 1  through the transmission unit  22 .
   

       FIG. 18  is a diagram illustrating a setting example of the channel information. Each of the virtual machines that receive the control packets from the management apparatus  20  sets the destination information of the generated packet and the routing table, in accordance with the control packet. In the example of  FIG. 18 , in succession of the address, the ID of the virtual machine to which the address thereof is assigned is written in parentheses. By performing the setting processing as illustrated in  FIG. 18 , in the generated service chain, the packet generated by any of the Proxy 1  to the Proxy 3  is transmitted to the FW 1 . By using the routing table, the FW 1  relays the packets generated by the Proxy 1  and the Proxy 2  to the L 4 LB 1 , and relays the packet generated by the Proxy 3  to the L 4 LB 2 . Therefore, in the same manner as the first pattern, the load distribution is performed between each of the virtual machines in the VNF  12  including the plurality of load balancers, even in the second pattern. That is, in a case where the amounts of the processed data of the Proxy 1  to the Proxy 3  are substantially the same, the L 4 LB 1  processes ⅔ of the data which is processed in the service chain, and L 4 LB 2  processes ⅓ of the data which is processed in the service chain. 
     (B3) Summary of Setting to Termination-Type Load Balancer 
       FIG. 19  is a diagram illustrating a setting example of the address in the distributed processing to the termination-type load balancer. In  FIG. 19 , a virtual machine relating to the setting of the destination at the time of the processing for the load distribution in the VNF  12  which includes the plurality of virtual machines and operates as a termination-type load balancer, is indicated by a solid line, and other virtual machines are indicated by dotted lines. Therefore, among the virtual machines VM 41  to VM 52 , the VM 47  to the VM 50  which are not the termination-type are indicated by dotted lines. 
     As described with reference to  FIG. 9  to  FIG. 18 , by setting the destination of the packet of the virtual machine in the VNF  12  that generates the packet which is terminated by the termination-type load balancer, the load distribution of the virtual machine in the VNF  12  which operates as a termination-type load balancer is possible. This is similarly applied to a case where the VNF  12  which is adjacent to the VNF  12  which operates as a termination-type load balancer is any of the termination-type and the relay-type. Therefore, by setting the destinations of the packets generated by the virtual machines VM 44 , VM 45 , and VM 46  which perform the termination-type processing, the load distribution of the VM 51  and the VM 52  which operate as a load balancer is possible. For example, in a case where the destination address of the packet generated in the virtual machines VM 44  and VM 45  is IP 1 , and the destination address of the packet generated in the virtual machine VM 46  is IP 2 , the load distribution is possible, as illustrated in  FIG. 19 . 
     (B4) Third Pattern 
     In a third pattern, a case where the VNF  12  which is the target of the load distribution is the relay-type load balancer, but the VNF  12  that transfers the packet to the VNF  12  which is the target of the load distribution is the termination-type will be described. 
       FIG. 20  is a diagram illustrating an example of the service chain to which the third pattern is applied. The service chain illustrated in  FIG. 20  includes VNFs  12   h  to  12   k . In the following description, the VNF  12   h  operates as a proxy, and the VNF  12   i  operates as a gateway-type load balancer. The VNF  12   j  operates as a firewall, and the VNF  12   k  operates as a cache. The VNF  12   h  includes three virtual machines of the Proxy 1  to the Proxy 3 , the VNF  12   i  includes two virtual machines of the GWLB 1  and the GWLB 2 , and the VNF  12   j  includes the FW 1 . The VNF  12   k  includes three virtual machines of the Cache 1  to the Cache 3 . 
     In the example of  FIG. 20 , the reception unit  23  receives a service chain demand (arrow A 41 ) which is used in the third pattern, thereby, the management apparatus  20  generates the service chain illustrated in  FIG. 20 . 
     F 21  of  FIG. 21  is an example of the service chain demand transmitted by the arrow A 41 . In F 21 , in a sequence which is close to the transmission source device, the generating of four VNFs  12  of the VNF  12   h , the VNF  12   i , the VNF  12   j , and the VNF  12   k  is demanded, and the information of each VNF  12  is included. The information of the VNF  12   h  is recorded as a VNF  1 . The VNF  12   h  operates as a Web Proxy, and the transfer form is the termination-type. It is determined that the VNF  12   h  is not the load balancer (non-LB), and the number of VMs is 3. The information of the VNF  12   i  is recorded as a VNF  2 . The VNF  12   i  operates as a load balancer, and the transfer form is the relay-type. The determination result regarding the VNF  12   i  is to be the load balancer (LB), and the number of VMs of the VNF  12   i  is 2. The information of the VNF  12   j  is recorded as a VNF  3 . The VNF  12   j  operates as a firewall, and the transfer form is the relay-type. The determination result regarding the VNF  12   j  is not to be the load balancer (non-LB), and the number of VMs of the VNF  12   j  is 1. The information of the VNF  12   k  is recorded as a VNF  4 . The VNF  12   k  operates as a Web Cache, and the transfer form is the termination-type. The determination result regarding the VNF  12   k  is not to be the load balancer (non-LB), and the number of VMs of the VNF  12   k  is 3. 
     If the information illustrated in F 21  of  FIG. 21  is obtained, the obtaining unit  31  stores the obtained information in the service chain demand information  41  by associating the obtained information with the information as the generation demand ID=3. 
     The VM deploying unit  32  generates the virtual machine, and performs the setting, by the same processing as the processing described in the first pattern, and records the information of the service chain in the network management table  42 . In the drawing of the virtual machine illustrated in  FIG. 20 , the ID which is determined with respect to each virtual machine is written. 
     F 22  of  FIG. 21  is an example of the network management table  42 . Hereinafter, the addresses assigned to each of the virtual machines which are included in the VNF  12   h  to the VNF  12   k  are illustrated in F 22 . For example, in the virtual machine Proxy 1  of the VNF  12   h , the management address is IP M11 , and the transfer address is IP D11 . In the virtual machine Cache 1  which is included in the VNF  12   k , the management address is IP M41 , and the transfer address is IP D41 . 
     The specifying unit  34  specifies the VNF  12  including the plurality of load balancers which become the targets of the load distribution, by the same processing as the processing described with reference to  FIG. 7  and  FIG. 8 . In the example of the network illustrated in  FIG. 20 , the specifying unit  34  specifies the VNF  12   i  as a processing target, with reference to the service chain demand information  41  including the information illustrated in F 21  of  FIG. 21 . At this time, the specifying unit  34  also specifies that the VNF  12   i  is the relay-type. The specifying unit  34  refers to the transfer form of the VNF  12  which is closer to the transmission source device than the VNF  12   i  of the processing target, in the information of the service chain demand information  41 . In F 21  of  FIG. 21 , since the VNF  12   h  which is closer to the transmission source device than the VNF  12   i  is the termination-type, the specifying unit  34  determines that the virtual machine in the VNF  12   h  generates the packet which is relayed by the VNF  12   i . Furthermore, the specifying unit  34  specifies the VNF  12  that terminates the packet which is relayed by the VNF  12   i , by referring to the transfer form of the VNF  12  which is closer to the destination device than the VNF  12   i  of the processing target. In F 21  of  FIG. 21 , since the VNF  12   k  which is closer to the destination device than the VNF  12   i  is the termination-type, the specifying unit  34  determines that the packet which is relayed by the virtual machine in the VNF  12   i  is terminated by the VNF  12   k . The specifying unit  34  notifies the determining unit  35  of the obtained result. 
       FIG. 22  is a diagram illustrating an example of the assignment method of the destination of the packet.  FIG. 22  illustrates a case where the VNF  12   h , the VNF  12   i , and the VNF  12   k  are extracted from the service chain of  FIG. 20 . By using the service chain demand information  41 , the determining unit  35  recognizes that three virtual machines of the Proxy 1  to the Proxy 3  are included in the VNF  12   h , and two virtual machines of the GWLB 1  and the GWLB 2  are included in the VNF  12   i . The determining unit  35  also specifies that the three virtual machines of the Cache 1  to the Cache 3  are included in the VNF  12   k.    
     First, the determining unit  35  selects the destinations of the packets generated by the Proxy 1  to the Proxy 3  so as to minimize the difference between the processing loads of the virtual machines in the VNF  12   k . In the example of  FIG. 22 , the determining unit  35  sets the destination of the packet generated by the Proxy 1  into the Cache 1 , and sets the destination of the packet generated by the Proxy 2  into the Cache 2 . The determining unit  35  sets the destination of the packet generated by the Proxy 3  into the Cache 3 . Therefore, the determining unit  35  determines the destination of the packet generated by the Proxy 1  as IP D41 , the destination of the packet generated by the Proxy 2  as IP D42 , and the destination of the packet generated by the Proxy 3  as IP D43 . If the determining unit  35  outputs the information of the determined destination to the channel setting unit  36 , the channel setting unit  36  sets the destination of the packet which is generated in the virtual machine thereof, into each virtual machine in the VNF  12   h.    
       FIG. 23  is a diagram illustrating an example of the assignment method of the transfer destination. With reference to  FIG. 23 , an example of the processing that is performed when the determining unit  35  determines the transfer destination of the packet from the VNF  12   h  to the VNF  12   i  will be described. The determining unit  35  determines the transfer destinations of the packets generated by the Proxy 1  to the Proxy 3  so as to minimize the difference between the processing loads of the GWLB 1  and the GWLB 2 . In the example of  FIG. 23 , the determining unit  35  determines that the transfer destinations of the packets generated by the Proxy 1  and the Proxy 2  are set into the GWLB 1 , and the transfer destination of the packet generated by the Proxy 3  is set into the GWLB 2 . Therefore, the determining unit  35  determines the transfer destinations of the packets generated by the Proxy 1  and the Proxy 2  as IP D21 , and determines the transfer destination of the packet generated by the Proxy 3  as IP D22 . The determining unit  35  outputs the determined information to the channel setting unit  36 , and the channel setting unit  36  sets the information which is obtained from the determining unit  35  into the Proxy 1  to the Proxy 3  in the VNF  12   h .  FIG. 24  illustrates the information which is retained by the Proxy 1  to the Proxy 3  in the VNF  12   h  after the setting by the channel setting unit  36 . 
       FIG. 24  is a diagram illustrating a setting example of the channel information. In addition to the processing described with reference to  FIG. 22  and  FIG. 23 , the determining unit  35  determines the information of the routing tables of the GWLB 1  and the GWLB 2  in the VNF  12   i , and the channel setting unit  36  performs the setting processing of the routing table. In the examples of  FIG. 22  and  FIG. 23 , the GWLB 1  performs a relay processing of the packet which is generated by the Proxy 1  and is addressed to the Cache 1 , and the packet which is generated by the Proxy 2  and is addressed to the Cache 2 . Therefore, in the routing table retained by the GWLB 1 , the following information is retained.
     Destination  1 :IP D41      Relay destination of the packet addressed to the destination  1 :IP D41      Destination  2 :IP D42      Relay destination of the packet addressed to the destination  2 :IP D42  
 
Similarly, in the routing table retained by the GWLB 2 , the following information is retained.
   Destination  1 :IP D43      Relay destination of the packet addressed to the destination  1 :IP D43      

     The Proxy 1  to the Proxy 3  perform the generating and the transferring of the packets, in accordance with the destination information and the routing table of the packets which are set into the Proxy 1  to the Proxy 3 . The GWLB 1  and the GWLB 2  also transfer the packets in accordance with the routing tables which are set into the GWLB 1  and the GWLB 2 . Therefore, a transfer channel which is indicated by a bold arrow of  FIG. 24  is generated. That is, the packet which is generated by the Proxy 1  and is addressed to the Cache 1 , arrives at the Cache 1  through the GWLB 1 . The packet which is generated by the Proxy 2  and is addressed to the Cache 2 , arrives at the Cache 2  through the GWLB 1 . The packet which is generated by the Proxy 3  and is addressed to the Cache 3 , arrives at the Cache 3  through the GWLB 2 . 
     Here, in a case where the difference of the amounts of the data which is transmitted from the transmission source may be neglected between the Proxy 1  and the Proxy 3 , the amount of the data which is obtained from the transmission source by each of the Proxy 1  to the Proxy 3  is ⅓ of the amount of the data transmitted from the transmission source, one by one. Therefore, the data which is processed by the GWLB 1  is approximately ⅔ of the transmitted data, and the data which is processed by the GWLB 2  is approximately ⅓ of the transmitted data. In this manner, even in the VNF  12  including the plurality of virtual machines which operate as a relay-type load balancer, the load is distributed by performing the processing described in the third pattern. 
       FIG. 25  is a flowchart illustrating an example of a control method for performing the load distribution. In  FIG. 25 , a constant X, a constant Y, a variable x, and a variable y are used. The constant X is a total number of VNFs  12  that are included in a channel leading to the VNF  12  which operates as a relay-type load balancer which is detected as a target of the load distribution from the transmission source device. The constant Y is a total number of VNFs  12  that are included in a channel leading to the destination device from the VNF  12  which operates as a relay-type load balancer which is detected as a target of the load distribution. The variable xis used for counting the number of VNFs  12  which are determined whether to be the VNF  12  that performs the termination-type processing, among the VNFs  12  in the channel leading to the VNF  12  which operates as a relay-type load balancer from the transmission source device. The variable y is used for counting the number of VNFs  12  which are determined whether to be the VNF  12  that performs the termination-type processing, among the VNFs  12  in the channel leading to the destination device from the VNF  12  which operates as a relay-type load balancer. 
     The specifying unit  34  detects the VNF  12  which operates as a relay-type load balancer (operation S 71 ). The specifying unit  34  sets the variable x to 1, and sets the variable y to 1 (operation S 72 ). The specifying unit  34  determines whether an x-th VNF  12  on the transmission source device side from the VNF  12  of the relay-type load balancer is the termination-type (operation S 73 ). In a case where the x-th VNF  12  on the transmission source device side from the VNF  12  of the relay-type load balancer is not the termination-type, the specifying unit  34  increments the variable x by 1 (No in operation S 73 , and operation S 74 ). Furthermore, the specifying unit  34  determines whether the variable x is larger than the constant X (operation S 75 ). In a case where the variable x is larger than the constant X, the specifying unit  34  ends the processing (Yes in operation S 75 ). In a case where the variable x is equal to or less than the constant X, the specifying unit  34  repeats the processing after operation S 73  (No in operation S 75 ). 
     In a case where the x-th VNF  12  on the transmission source device side from the VNF  12  of the relay-type load balancer is the termination-type, the specifying unit  34  determines whether a y-th VNF  12  on the destination device side from the VNF  12  of the relay-type load balancer is the termination-type (operation S 76 ). In a case where the y-th VNF  12  on the destination device side from the VNF  12  of the relay-type load balancer is not the termination-type, the specifying unit  34  increments the variable y by 1 (No in operation S 76 , and operation S 77 ). Furthermore, the specifying unit  34  determines whether the variable y is larger than the constant Y (operation S 78 ). In a case where the variable y is equal to or less than the constant Y, the specifying unit  34  repeats the processing after operation S 76  (No in operation S 78 ). 
     The y-th VNF  12  on the destination device side from the VNF  12  of the relay-type load balancer is the termination-type (Yes in operation S 76 ). In this case, the determining unit  35  selects the destination of the packet from the virtual machines in the y-th VNF  12  on the destination device side from the relay-type load balancer, regarding each of the virtual machines in the x-th VNF  12  on the transmission source device side from the relay-type load balancer (operation S 80 ). In a case where the processing of the operation S 80  is performed, the packet which is generated by the x-th VNF  12  on the transmission source device side from the VNF  12  of the relay-type load balancer is terminated by the y-th VNF  12  on the destination device side from the VNF  12  of the relay-type load balancer. 
     On the other hand, in operation S 78 , it is determined that the variable y is larger than the constant Y (Yes in operation S 78 ). In this case, the determining unit  35  sets the destination of the packet into the device of the end point on the destination side of the service chain, regarding each of the virtual machines in the x-th VNF  12  on the transmission source device side from the relay-type load balancer (operation S 79 ). 
     After operation S 80  or S 79 , the determining unit  35  specifies the destination of the packet that arrives at the virtual machine in the VNF  12  on the transmission source device side which is incremented by 1 than the relay-type load balancer, from the x-th VNF  12  on the transmission source device side from the VNF  12  of the relay-type load balancer (operation S 81 ). The processing of operation S 81  is a processing of specifying the destination of the packet that arrives at the virtual machine which transfers the packet to each of the virtual machines in the VNF  12  operating as a relay-type load balancer. Per destination of the transfer packet from the VNF  12  on the transmission source device side which is incremented by 1 than the relay-type load balancer, the determining unit  35  selects the transfer destination from the virtual machines in the VNF  12  which operates as a relay-type load balancer (operation S 82 ). For example, the details of the processing in operation S 82  may be performed in the same manner as the processing of  FIG. 14 . The channel setting unit  36  performs the setting for transmitting the packet, to the selected transfer destination (operation S 83 ). 
       FIG. 25  is merely an example of the processing, and the sequence of the processing may be changed depending on implementation. For example, the processing of operations S 76  to S 80  may be performed before the processing of operations S 73  to S 75 . Furthermore, the sequence of operations S 71  and S 72  may be optionally changed. 
     (B5) Fourth Pattern 
     In a fourth pattern, a case where the VNF  12  which is the target of the load distribution is the relay-type load balancer, and the VNF  12  that transfers the packet to the VNF  12  which is the target of the load distribution is also the relay-type will be described. 
       FIG. 26  is a diagram illustrating an example of the service chain to which the fourth pattern is applied. The service chain illustrated in  FIG. 26  includes VNFs  12   p  to  12   t . In the following description, the VNF  12   p  operates as a proxy, the VNF  12   q  operates as a firewall, and the VNF  12   r  operates as a gateway-type load balancer. The VNF  12   s  operates as a firewall, and the VNF  12   t  operates as a cache. The VNF  12   p  includes two virtual machines of the Proxy 1  and the Proxy 2 , and the VNF  12   q  includes the FW 1 . The VNF  12   r  includes two virtual machines of the GWLB 1  and the GWLB 2 , and the VNF  12   s  includes a FW B1 . The VNF  12   t  includes two virtual machines of the Cache 1  and the Cache 2 . 
     In the example of  FIG. 26 , the management apparatus  20  generates the service chain illustrated in  FIG. 26  by receiving the service chain demand (arrow A  51 ) used in the fourth pattern by the reception unit  23 . 
       FIG. 27  is an example of the service chain demand transmitted by an arrow A 51 . In the service chain demand illustrated in  FIG. 27 , in a sequence which is close to the transmission source device, the generating of five VNFs  12  of the VNF  12   p , the VNF  12   q , the VNF  12   r , the VNF  12   s , and the VNF  12   t  is demanded, and the information of each VNF  12  is included. The information of the VNF  12   p  is recorded as a VNF  1 . The VNF  12   p  operates as a Web Proxy, and the transfer form is the termination-type. It is determined that the VNF  12   p  is not the load balancer (non-LB), and the number of VMs of the VNF  12   p  is 2. The information of the VNF  12   q  is recorded as a VNF  2 . The VNF  12   q  operates as a firewall, and the transfer form is the relay-type. The determination result regarding the VNF  12   q  is not to be the load balancer (non-LB), and the number of VMs of the VNF  12   q  is 1. The information of the VNF  12   r  is recorded as a VNF  3 . The VNF  12   r  operates as a load balancer, and the transfer form is the relay-type. The determination result regarding the VNF  12   r  is to be the load balancer (LB), and the number of VMs of the VNF  12   r  is 2. The information of the VNF  12   s  is recorded as a VNF  4 . The VNF  12   s  operates as a firewall, and the transfer form is the relay-type. The determination result regarding the VNF  12   s  is not to be the load balancer (non-LB), and the number of VMs of the VNF  12   s  is 1. The information of the VNF  12   t  is recorded as a VNF  5 . The VNF  12   t  operates as a Web Cache, and the transfer form is the termination-type. It is determined that the VNF  12   t  is not the load balancer (non-LB), and the number of VMs of the VNF  12   t  is 2. If the information illustrated in  FIG. 27  is obtained, the obtaining unit  31  stores the obtained information in the service chain demand information  41 , in association with the information as the generation demand ID=4. 
       FIG. 28  is an example of the network management table  42  that is generated by using the information which is included in the service chain demand illustrated in  FIG. 27 . Hereinafter, the addresses assigned to each of the virtual machines which are included in the VNF  12   p  to the VNF  12   t  are illustrated in  FIG. 28 . For example, in the virtual machine Proxy 1  of the VNF  12   p , the management address is IP M11 , and the transfer address is IP D11 . In the virtual machine Cache 1  which is included in the VNF  12   t , the management address is IP M51 , and the transfer address is IP D51 . 
     The specifying unit  34  specifies the VNF  12  including the plurality of load balancers which become the target of the load distribution by the same processing as the processing described with reference to  FIG. 7  and  FIG. 8 . In the example of the network illustrated in  FIG. 26 , the specifying unit  34  specifies the VNF  12   r  as a target of the load distribution processing, with reference to the service chain demand information  41  ( FIG. 27 ). At this time, the specifying unit  34  also specifies that the VNF  12   r  is the relay-type. The specifying unit  34  specifies the VNF  12  that generates the packet which is relayed by the VNF  12   r , and the VNF  12  that terminates the packet which is relayed by the VNF  12   r , by the same processing as the processing which is described with reference to  FIG. 21  in the description of the third pattern. In the example of  FIG. 27 , the packet which is relayed by the VNF  12   r  is generated by the VNF  12   p , and is terminated by the VNF  12   t . The specifying unit  34  notifies the determining unit  35  of the obtained result. 
       FIG. 29  is a diagram illustrating an example of the assignment method of the destination of the packet.  FIG. 29  illustrates a case where the VNF  12   p , the VNF  12   q , the VNF  12   r , and the VNF  12   t  are extracted from the service chain of  FIG. 26 . By using the service chain demand information  41 , the determining unit  35  recognizes that two virtual machines of the Proxy 1  and the Proxy 2  are included in the VNF  12   p , the FW 1  is included in the VNF  12   q , and two virtual machines of the GWLB 1  and the GWLB 2  are included in the VNF  12   r . The determining unit  35  also specifies that the two virtual machines of the Cache 1  and the Cache 2  are included in the VNF  12   t.    
     First, the determining unit  35  selects the destinations of the packets generated by each of the Proxy 1  and the Proxy 2  so as to minimize the difference between the processing loads of the virtual machines in the VNF  12   t . In the example of  FIG. 29 , the determining unit  35  sets the destination of the packet generated by the Proxy 1  into the Cache 1 , and sets the destination of the packet generated by the Proxy 2  into the Cache 2 . In this case, the determining unit  35  determines the destination of the packet generated by the Proxy 1  as IP D51 , and the destination of the packet generated by the Proxy 2  as IP D52 . If the determining unit  35  outputs the information of the determined destination to the channel setting unit  36 , the channel setting unit  36  sets the destination of the packet which is generated in the virtual machine thereof into each virtual machine in the VNF  12   p . Therefore, the setting of the virtual machine in the VNF  12   p  is made as illustrated in  FIG. 29 . 
       FIG. 30  is a diagram illustrating an example of the assignment method of the transfer destination of the packet. With reference to  FIG. 30 , an example of the processing that is performed when the determining unit  35  determines the transfer destination of the packet from the VNF  12   p  to the VNF  12   q  will be described. Since the virtual machine which is included in the VNF  12   q  is one, the determining unit  35  determines the transfer destination of the packet which is generated by the Proxy 1  and is addressed to the Cache 1  into the FW 1 . The determining unit  35  also determined the transfer destination of the packet which is generated by the Proxy 2  and is addressed to the Cache 2  into the FW 1 . In other words, the determining unit  35  determines the transfer destination of the packets which are generated by both of the Proxy 1  and the Proxy 2  as IP D21 .  FIG. 30  illustrates the information that is retained by each virtual machine, in a case where the information determined by the determining unit  35  is set into the virtual machine. 
       FIG. 31  is a diagram illustrating an example of the assignment method of the transfer destination of the packet. With reference to  FIG. 31 , an example of the processing that is performed when the determining unit  35  determines the transfer destination of the packet from the VNF  12   q  to the VNF  12   r  will be described. The determining unit  35  determines the transfer destination of the packet from the FW 1  so as to minimize the difference between the processing loads of the GWLB 1  and the GWLB 2  in the VNF  12   r . In the example of  FIG. 31 , the determining unit  35  determines that the destination of the packet addressed to the Cache 1  is set into the GWLB 1 , and the destination of the packet addressed to the Cache 2  is set into the GWLB 2 . Therefore, the determining unit  35  determines the information that is included in the routing table used in the FW 1  as follows.
     Destination  1 :IP D51      Relay destination of the packet addressed to the destination  1 :IP D31      Destination  2 :IP D52      Relay destination of the packet addressed to the destination  2 :IP D32  
 
The determining unit  35  outputs the determined information to the channel setting unit  36 , and the channel setting unit  36  sets the information which is obtained from the determining unit  35  into the FW 1  in the VNF  12   q.  
   

       FIG. 32  is a diagram illustrating an example of the transfer channel that is obtained in a case where the setting described with reference to  FIG. 29  to  FIG. 31  is performed. In addition to the processing described with reference to  FIG. 29  to  FIG. 31 , the determining unit  35  determines the information of the routing tables of the GWLB 1  and the GWLB 2  in the VNF  12   r , and the channel setting unit  36  also performs the setting processing of the routing table. In the example described with reference to  FIG. 29  to  FIG. 31 , since the GWLB 1  performs the relay processing of the packet which is generated by the Proxy 1  and is addressed to the Cache 1 , the following information is retained in the routing table which is retained by the GWLB 1 .
     Destination  1 :IP D51      Relay destination of the packet addressed to the destination  1 :IP D41  
 
Similarly, in the routing table which is retained by the GWLB 2 , the following information is retained.
   Destination  1 :IP D52      Relay destination of the packet addressed to the destination  1 :IP D41  
 
Furthermore, the following information is retained in the routing table which is retained by the FW B1  in the VNF  12   s.  
   Destination  1 :IP D51      Relay destination of the packet addressed to the destination  1 :IP D51      Destination  2 :IP D52      Relay destination of the packet addressed to the destination  2 :IP D52      

     The Proxy 1  and the Proxy 2  perform the generating and the transferring of the packets, in accordance with the destination information and the routing tables of the packets which are set into the Proxy 1  and the Proxy 2 . Each virtual machine in the service chain also transfers the packet in accordance with the routing table which is set into each virtual machine. Therefore, the transfer channel which is indicated by a bold arrow of  FIG. 32  is generated. That is, the packet which is generated by the Proxy 1  and is addressed to the Cache 1 , arrives at the Cache 1  through the FW 1 , the GWLB 1 , and the FW B1 . The packet which is generated by the Proxy 2  and is addressed to the Cache 2 , arrives at the Cache 2  through the FW 1 , the GWLB 2 , and the FW B1 . 
     Here, in a case where the amount of the data transmitted from the transmission source is substantially the same between the Proxy 1  and the Proxy 2 , the amount of the data which is obtained from the transmission source by each of the Proxy 1  and the Proxy 3  is ½ of the amount of the data transmitted from the transmission source, one by one. Therefore, the data which is processed by the GWLB 1  becomes approximately ½ of the transmitted data, and the data which is processed by the GWLB 2  also becomes approximately ½ of the transmitted data. In this manner, even in the VNF  12  including the plurality of virtual machines which operate as a relay-type load balancer, the load is distributed by performing the processing described in the fourth pattern. 
     (B6) Summary of Setting to Relay-Type Load Balancer 
       FIG. 33  is a diagram illustrating a setting example of the address in the distributed processing to the relay-type load balancer.  FIG. 33  is an example of the service chain including the plurality of virtual machines VM 61  to VM 71 . The VM 61  to the VM 63  are included in one VNF  12 , and the VM 64  to the VM 66  are included in the other VNF  12 . The VM 67  and the VM 68  are included in the VNF  12  which operates as a relay-type load balancer. Furthermore, the VM 69  and the VM 70  are included in one VNF  12 . In  FIG. 33 , a virtual machine relating to the setting of the destination or the transfer destination at the time of the processing for the load distribution in the VNF  12  which includes the plurality of virtual machines and operates as a relay-type load balancer, is indicated by a solid line, and other virtual machines are indicated by dotted lines. Therefore, the VM 67  and the VM 68  which operate as a relay-type load balancer, and the VM 71  that terminates the packet relayed through any of the VM 66 , the VM 67 , and the VM 68  from the VM  64  that enables to transfer the packet to any of the VM 67  and the VM 68 , are indicated by solid lines. 
     As described with reference to  FIG. 19  to  FIG. 32 , by setting the transfer destination and the destination of the packet of the virtual machine in the VNF  12  that transfers the packet to the relay-type load balancer, the load distribution of the virtual machine in the VNF  12  which operates as a relay-type load balancer is possible. This is similarly applied to a case where the VNF  12  which is adjacent to the VNF  12  which operates as a relay-type load balancer is any of the termination-type and the relay-type. Therefore, by setting the transfer destination of the packet in the VM 64  to the VM 66  that enable to transfer the packets to the virtual machine which operates as a relay-type load balancer, the load distribution of the VM 67  and the VM 68  which operate as a load balancer is possible. At this time, the management apparatus  20  also sets the destinations of the packets transferred from the VM 64  to the VM 66  that enable to transfer the packets to the virtual machine which operates as a relay-type load balancer, by setting the termination-type device that generates the packet. Accordingly, in a case where the address assigned to the virtual machine VM 67  is IP 3 , and the address assigned to the virtual machine VM 68  is IP 4 , the load distribution is possible, as illustrated in  FIG. 33 . 
       FIG. 34  is a diagram illustrating a comparative example of the load distribution by the method according to the embodiment with other methods. A case C 12  is an example of a case where a load distribution method according to the embodiment is used, and a case C 11  is an example of a case where other communication methods are used. 
     In the case C 11 , at the time of setting the destination of the packet that arrives at the virtual machines which operate as a plurality of load balancers, the destination of the packet is determined without considering which virtual machine is the load balancer which processes the packet. Therefore, for example, the load balancer is the termination-type, and the destination of the packet which is transferred from any of the firewalls FW 1  and FW 2  may be also set into a load balancer LB 1 , as illustrated in the case C 11 . In this case, since the packet which is transferred from any of the firewalls FW 1  and FW 2  arrives at the load balancer LB 1 , convergence occurs in the load balancer LB 1 . Meanwhile, a use rate of a load balancer LB 2  becomes low. Accordingly, the efficiency of the system is poor. 
     A case C 12  is an example of a case where the load distribution is performed by using the method according to the embodiment. If the method according to the embodiment is used, depending on whether the transfer form of the virtual machines which operate as a plurality of load balancers is the termination-type or the relay-type, it is determined whether the destination of the packet that arrives at the virtual machine which operates as a load balancer is set into the load balancer. Therefore, in a case where both of the load balancers LB 1  and LB 2  are the termination-type, the destination may be determined so that the load among the virtual machines which operate as a load balancer is distributed, in the virtual machine that generates the packet which is terminated by the load balancer. Therefore, as illustrated in the case C 12 , since the packet which is transferred from the firewall FW 1  arrives at the load balancer LB 1 , and the packet which is transferred from the firewall FW 2  arrives at the load balancer LB 2 , the load distribution among the load balancers is realized. 
     Although not illustrated in  FIG. 34 , in the method according to the embodiment, the transfer destination is determined so that the load among the load balancers is distributed, in each of the virtual machines which enable to transfer the packets to the relay-type load balancer. Therefore, even in a case where the plurality of virtual machines operate as a relay-type load balancer, the load may be efficiently distributed, by using the method according to the embodiment. 
     Others 
     The embodiment is not limited to the above embodiments, and may be variously modified. Hereinafter, some examples thereof will be described. 
     In the description with reference to  FIG. 22  or the like, in order to easily understood, a case where the channel setting unit  36  sets the information of the destination into the virtual machine if the determining unit  35  determines the destination of the packet is described, but the timing of the setting processing may be changed depending on implementation. For example, after the determining of the transfer destination in the determining unit  35  is completed, the setting processing may be performed with respect to each virtual machine from the channel setting unit  36 , by using the control packet including both of the destination of the packet and the information of the transfer destination. 
     The service chain demand or the network management table  42  illustrated in the above description is merely an example. Depending on implementation, the information elements which are included in the service chain demand or the network management table  42  may be changed. 
     All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.