Patent Document

CROSS-REFERENCE TO RELATED APPLICATION 
     This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2013-234458, filed on Nov. 12, 2013, the entire contents of which are incorporated herein by reference. 
     FIELD 
     The embodiments discussed herein are related to a control method, an information processing system, and a recording medium. 
     BACKGROUND 
     On a network which is structured in a data center, physical resources on the network (a physical server, a physical router, and the like, for example) are shared among multiple tenants. Such a network is referred hereinafter to as a multi-tenant network. The tenant means here a user, such as a company. In the multi-tenant network, filtering is performed by a virtual switch or the like on data transmitted by a virtual machine of some tenant, so that virtual machines of other tenants do not receive the data. 
     Meanwhile, one mode of transmitting data includes broadcast. The broadcast means that data is transmitted to all nodes in the same layer (L)  2  domain. A related technology discloses that filtering is performed on broadcast on a multi-tenant network as follows. Specifically, when a destination address of a received message is an address of a virtual switch, a computer converts the destination address of the received message to a broadcast address for a virtual machine which is under control of the virtual switch and belongs to the same sub-net. Then, the computer outputs the message after conversion. 
     However, this technology assumes that an operation of setting a virtual MAC address is performed in advance on a virtual L 2  switch which is executed on a computer. The related art is disclosed in, for example, Japanese Laid-open Patent Publication No. 2011-171874. 
     SUMMARY 
     According to an aspect of the invention, a control method by an information processing system including a plurality of computers, the plurality of computer including a first computer, a second computer, and a third computer, the control method includes storing, by the first computer, identification information of a user and identification information of a computer among the plurality of computers in association with each other in a memory, the computer executing a software of the user, the software being related to a virtual machine; extracting, by the first computer, identification information of the third computer already executing the software of a target user from the memory based on identification information of the target user, when it is detected that the software of the target user is activated in the second computer and when identification information of the target user is stored in the memory; transmitting, by the first computer, the extracted identification information of the third computer to the second computer; receiving, by the second computer, the identification information of the third computer from the first computer; and allowing, by the second computer, the second computer to transmit broadcast data corresponding to the software of the target user to the third computer, when the broadcast data is received. 
     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 schematically illustrating a system according to the present embodiment; 
         FIG. 2  is a functional block diagram of a network management unit in a first embodiment; 
         FIG. 3  is a functional block diagram of a network processing unit; 
         FIG. 4  is a functional block diagram of a virtual switch; 
         FIG. 5  is an example diagram illustrating data stored in a first management data storage unit; 
         FIG. 6  is an example diagram illustrating data stored in a second management data storage unit; 
         FIG. 7  is an example diagram illustrating data stored in a first data storage unit; 
         FIG. 8  is an example diagram illustrating data stored in a second data storage unit; 
         FIG. 9  is an example diagram illustrating data stored in a third data storage unit; 
         FIG. 10  is an example diagram illustrating data stored in a policy data storage unit; 
         FIG. 11  is a diagram illustrating data transfer in the present embodiment; 
         FIG. 12  is an example diagram illustrating data to be transferred; 
         FIG. 13  is an example diagram illustrating processing of a virtual switch, which is performed on broadcast data; 
         FIG. 14  is an example diagram illustrating a header which is added by a VM during broadcasting; 
         FIG. 15  is a flowchart of processing to be executed when a network processing unit detects activation of the VM; 
         FIG. 16  is an example diagram of an activation notification; 
         FIG. 17  is a flowchart of processing in the first embodiment, which is executed when the network management unit receives the activation notification; 
         FIG. 18  is an example diagram of an update notification; 
         FIG. 19  is a flowchart of processing which is executed when the network processing unit receives the update notification; 
         FIG. 20  is an example diagram of processing according to the present embodiment; 
         FIG. 21  is an example diagram of processing according to the present embodiment; 
         FIG. 22  is an example diagram of processing according to the present embodiment; 
         FIG. 23  is an example diagram of processing according to the present embodiment; 
         FIG. 24  is an example diagram of processing according to the present embodiment; 
         FIG. 25  is an example diagram of processing according to the present embodiment; 
         FIG. 26  is an example diagram of processing according to the present embodiment; 
         FIG. 27  is an example diagram of processing according to the present embodiment; 
         FIG. 28  is an example diagram of processing according to the present embodiment; 
         FIG. 29  is an example diagram of processing according to the present embodiment; 
         FIG. 30  is an example diagram of processing according to the present embodiment; 
         FIG. 31  is an example diagram of processing according to the present embodiment; 
         FIG. 32  is an example diagram of a system in the present embodiment in a case where a network management unit is not provided; 
         FIG. 33  is a functional block diagram of a network management unit in a second embodiment; 
         FIG. 34  is an example diagram of data stored in a third management data storage unit; 
         FIG. 35  is a flowchart of processing in the second embodiment, which is executed when the network management unit receives an activation notification; and 
         FIG. 36  is a functional block diagram of a computer. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     First Embodiment 
       FIG. 1  schematically illustrates a system in a first embodiment. A physical resource pool  80  includes physical machines  40  and  50 . The physical resource pool  80  is coupled to a physical machine  20  configured to manage the physical machines  40  and  50 . A physical resource pool  90  includes physical machines  60  and  70 . The physical resource pool  90  is coupled to a physical machine  30  configured to manage the physical machines  60  and  70 . The physical resource pools  80  and  90  are coupled to a physical machine  10  which is configured to manage communications of the physical machines  40  and  50  in the physical resource pool  80  and communications of the physical machines  60  and  70  in the physical resource pool  90 . Although illustration is omitted in  FIG. 1 , each of the physical resource pools  80  and  90  includes physical resources such as physical switches in addition to the physical machines. In the present embodiment, tunneling (or establishment of a virtual line) is used for communications among the physical machines in the present embodiment. 
     The physical machine  10  includes a network management unit  11 . The physical machine  20  includes a server management unit  21 . The physical machine  30  includes a server management unit  31 . The physical machine  40  includes a network processing unit  41 , a server processing unit  42 , a virtual switch  43 , and virtual machines (VM)  44  and  45 . The physical machine  50  includes a network processing unit  51 , a server processing unit  52 , a virtual switch  53 , and virtual machines (VM)  54  and  55 . The physical machine  60  includes a network processing unit  61 , a server processing unit  62 , a virtual switch  63 , and virtual machines (VM)  64  and  65 . The physical machine  70  includes a network processing unit  71 , a server processing unit  72 , a virtual switch  73 , and a virtual machine (VM)  74 . 
     The network management unit  11  and the respective network processing units in the physical machines perform such management as physical switch management (topology management, for example), virtual switch management, and firewall setting management. The server management units  21  and  31  and the respective server management units in the physical machines perform such management as physical machine management (management of a central processing unit (CPU), a memory, and a virtual machine monitor (VMM), for example) and VM management (VM arranging management, for example). 
     A management type of the physical resource pool  80  is different from that of the physical resource pool  90 . In other words, a dedicated server management unit is assigned to each of the physical resource pools  80  and  90 . However, the network management unit  11  in the present embodiment can manage communications of both the physical resource pools  80  and  90 . Accordingly, the system in the present embodiment is provided with one network management unit  11 . The management mechanism of the physical resource pool is provided by VMware or OpenStack, for example. 
       FIG. 2  illustrates a functional block diagram of the network management unit  11 . The network management unit  11  includes a first management data storage unit  111 , a second management data storage unit  112 , a communication unit  114 , a conversion unit  115 , a broadcast management unit  116 , and a management unit  117 . 
     The communication unit  114  transmits and receives data. The conversion unit  115  converts a communication format for data to be transmitted and received. When an activation notification indicating that a VM is activated is received, the broadcast management unit  116  performs processing using data stored in the second management data storage unit  112 . The broadcast management unit  116  outputs a processing result to the communication unit  114 . Using the data stored in the first management data storage unit  111  and the data stored in the second management data storage unit  112 , the management unit  117  manages a physical topology, a virtual topology, firewall setting, and the like. 
       FIG. 3  illustrates a functional block diagram of the network processing unit  41 . The network processing unit  41  includes a first data storage unit  411 , a second data storage unit  412 , a third data storage unit  413 , a policy data storage unit  414 , a policy setting unit  415 , a management unit  416 , and a communication unit  417 . Functional block diagrams of the network processing units  51 ,  61 , and  71  are the same as that of the network processing unit  41 . 
     Using data included in an update notification which is received from the network management unit  11  and requests a data update, the policy setting unit  415  updates the data stored in the second data storage unit  412  and the data stored in the third data storage unit  413 . Then, the policy setting unit  415  updates the data stored in the policy data storage unit  414 . When it is detected that a VM is activated, the management unit  416  uses the first data storage unit  411  to determine if the VM is a VM which is activated for the first time in the physical machine. When it is the first activated VM, the management unit  416  outputs the processing result to the communication unit  417 . When it is not the first activated VM, the management unit  416  updates the data stored in the first data storage unit  411 . Then, the management unit  416  updates the data stored in the policy data storage unit  414 . The communication unit  417  transmits and receives data. 
       FIG. 4  illustrates a functional block diagram of the virtual switch  43 . The virtual switch  43  includes VM ports  431  and  432 , which are virtual ports, tunnel ports  436  and  437 , a transfer unit  433 , a filtering unit  434 , and an encapsulation processing unit  435 . Each of the VM ports  431  and  432  is coupled to a VM. Each of the tunnel ports  436  and  437  is coupled to a physical machine. Functional block diagrams of the virtual switches  53 ,  63 , and  73  are same as that of the virtual switch  43 . 
     The transfer unit  433  executes processing of determining a port in a transfer destination based on an MAC address of the received data in a transmission source. The filtering unit  434  performs filtering (or transmission destination selection) of data to be transmitted based on the data stored in the policy data storage unit  414  in the network processing unit  41 . The encapsulation processing unit  435  executes processing of adding a header including a tenant ID to the data to be transmitted (or encapsulation) based on the data stored in the policy data storage unit  414  in the network processing unit  41 . 
       FIG. 5  illustrates example data stored in the first management data storage unit  111  of the network management unit  11 . In the example of  FIG. 5 , tenant IDs and VM port IDs are stored in the first management data storage unit  111 . The tenant ID is identification information of a tenant. The VM port ID is identification information of a virtual port in a virtual switch, to which a VM on a physical machine is coupled. 
       FIG. 6  illustrates example data stored in the second management data storage unit  112  of the network management unit  11 . In the example of  FIG. 6 , tenant IDs and physical machine IDs are stored. The physical machine ID is identification information of a physical machine. 
       FIG. 7  illustrates example data stored in the first data storage unit  411  of the network processing unit  41 . In the example of  FIG. 7 , tenant IDs and VM port IDs are stored. 
       FIG. 8  illustrates example data stored in the second data storage unit  412  of the network processing unit  41 . In the example of  FIG. 8 , tenant IDs and physical machine IDs are stored. The physical machine ID stored in the second data storage unit  412  is an ID of a physical machine to execute a VM in the same tenant. 
       FIG. 9  illustrates example data stored in the third data storage unit  413  of the network processing unit  41 . In the example of  FIG. 9 , tunnel port IDs and physical machine IDs are stored. The tunnel port ID is an ID of a physical port provided in the physical machine. The physical machine ID stored in the third data storage unit  413  is an ID of a physical machine beyond a tunnel (or a virtual line). 
       FIG. 10  illustrates example data stored in the policy data storage unit  414  of the network processing unit  41 . In the example of  FIG. 10 , data indicating a tunnel port in a broadcast transfer destination for each transmission source MAC address and data indicating a tenant ID to be added for each VM port are stored. In the example of  FIG. 10 , the former data indicates transfer to the tunnel port  3  when the broadcast transmission source MAC address is a MAC address of the VM  1  and transfer to the tunnel port  3  and the tunnel port  4  when the broadcast transmission source MAC address is a MAC address of the VM  2 . The latter data indicates that a tenant ID  1  is added to the data from the VM coupled to the VM port  1  and a tenant ID  2  is added to the data from the VM coupled to the VM port  2 . 
       FIG. 11  illustrates data transfer in the present embodiment. In the example of  FIG. 11 , three physical machines are coupled to one another. Then, tunnels are established among the physical machines. A tubular figure expresses a tunnel and same hatching is given to VMs in the same tenant. In  FIG. 11 , a VM  1101  transmits data  1110 . A header including a tenant ID is added to the data  1110  in the virtual switch and the data  1110  is transmitted from the tunnel port. However, the data  1110  is not transmitted from a tunnel port coupled to a physical machine which does not execute a VM in the same tenant. The header added to the data  1110  is removed in the virtual switch of the physical machine in the transmission destination. The header added to the data  1110  is transferred to VMs  1102  and  1103  whose tenant ID is 1. 
       FIG. 12  illustrates example data to be transferred. In the example of  FIG. 12 , the data to be transferred includes a MAC address of a destination physical machine, a MAC address of a transmission source physical machine, an IP address of a destination physical machine, an IP address of a transmission source physical machine, a user datagram protocol (UDP) header or a generic routing encapsulation (GRE) header, a tenant ID, a MAC address of a destination VM, a MAC address of a transmission source VM, an IP address of a destination VM, an IP address of a transmission source VM, a transmission control protocol (TCP) header or a UDP header, and data. The header added by the virtual switch includes a MAC address of a destination physical machine, a MAC address of a transmission source physical machine, an IP address of a destination physical machine, an IP address of a transmission source physical machine, a user datagram protocol (UDP) header or a generic routing encapsulation (GRE) header, and a tenant ID. The header added by the VM includes a MAC address of a destination VM, a MAC address of a transmission source VM, an IP address of a destination VM, an IP address of a transmission source VM, and a TCP header or a UDP header. 
       FIG. 13  illustrates processing of a virtual switch, which is performed on broadcast data. In the example of  FIG. 13 , a tubular figure expresses a tunnel and same hatching is given to VMs in the same tenant. A VM  1301  transmits broadcast data  1310 . The transfer unit receives the broadcast data from the VM port to which the VM  1301  is coupled. Then, the transfer unit determines a transfer destination of the broadcast data. Here, since a transmission destination MAC address is a broadcast MAC address, all the tunnel ports can be the transmission destinations. However, based on policies stored in the policy data storage unit, the filtering unit discards the broadcast data to the tunnel port  1322  which is not coupled to the physical machine to execute VMs in the same tenant. The encapsulation processing unit adds a header including a tenant ID to the broadcast data  1310  and outputs the broadcast data  1310  to the tunnel port  1321 . Accordingly, the broadcast data is transmitted only to the VMs in the same tenant. 
       FIG. 14  illustrates an example heater which is added by a VM at the time of the broadcast in the example of  FIG. 13 . In the example of  FIG. 14 , the header includes a broadcast MAC address, a VM MAC address, a broadcast IP address, a VM IP address, and a TCP header or a UDP header. 
     Next, processing to be performed in the system illustrated in  FIG. 1  is described by referring to  FIGS. 15 to 32 . First of all, described by using  FIGS. 15 and 16  is processing to be executed when the network processing unit  41  detects that a VM is activated. The processing performed by the network processing unit  41  is illustrated as an example here, but the network processing units  51 ,  61 , and  71  also perform the same processing. 
     The management unit  416  in the network processing unit  41  detects that a VM is newly activated in the physical machine  40  ( FIG. 15 : S 1 ). Depending on if a VM port ID associated with a tenant ID of a tenant using the activated VM exists in the first data storage unit  411 , the management unit  416  determines if the VM of that tenant is already executed (S 3 ). 
     When the VM of the tenant is already executed (S 3 : Yes route), the management unit  416  instructs the policy setting unit  415  to execute the processing. In response to this, the policy setting unit  415  performs setting on the policy data storage unit  414  for allowing the broadcasting performed by the activated VM (S 5 ). Specifically, a MAC address of the activated VM and a tunnel port ID of a tunnel port in a broadcast transfer destination (here, the tunnel port ID means one already executed and registered for the MAC address of the VM in the same tenant) are registered in a field of “1.” in the data illustrated in  FIG. 10 . After that, the processing is terminated. 
     On the other hand, when the VM of the tenant has not been executed (S 3 : No route), the management unit  416  generates an activation notification which includes the tenant ID of the tenant using the activated VM and the physical machine ID of the physical machine (here, the physical machine  40 ) executing the activated VM and outputs the activation notification to the communication unit  417 . In response to this, the communication unit  417  transmits the activation notification to the physical machine (here, the physical machine  10 ) in which the network management unit  11  is operated (S 7 ). After that, the processing is terminated. 
     With the execution of the above-described processing, the network management unit  11  becomes capable of detecting that a VM is newly activated. 
       FIG. 16  illustrates an example activation notification. Data  1601  in  FIG. 16  is an example activation notification. The activation notification includes an ether header, an IP header, a TCP header, and data in a vendor-specific format. When the management mechanism type of the physical resource pool is OpenStack, as the data  1602 , for example, the data in a vender-specific format data includes an OpenstackHID and a tenant ID, and a physical machine ID, which are identification information to identify the processing. In the OpenstackHID, “detectPort” is set. When the management mechanism type of the physical resource pool is VMware, as the data  1603 , for example, the data in a vender-specific format includes VMwareHID, a physical machine ID, and a tenant ID, which are identification information to identify the processing. In the VMwareHID, “detectPortUP” is set. 
     Hereinafter, described by referring to  FIGS. 17 and 18  is processing which is executed when the network management unit  11  receives the activation notification. 
     The communication unit  114  in the network management unit  11  receives the activation notification ( FIG. 17 : S 11 ) and outputs it to the conversion unit  115 . Then, the conversion unit  115  interprets a communication format of the activation notification and acquires a pair of the tenant ID and the physical machine ID from the activation notification (S 13 ). The conversion unit  115  outputs the acquired pair of the tenant ID and physical machine ID to the broadcast management unit  116 . 
     The broadcast management unit  116  stores the acquired pair of the tenant ID and the physical machine ID in the second management data storage unit  112  (S 15 ). When the same tenant ID is already stored in the second management data storage unit  112 , the broadcast management unit  116  reads out the physical machine ID stored in association with the tenant ID and stores the acquired physical machine ID in association with the tenant ID. The broadcast management unit  116  generates, in a communication format for the physical machine in the transmission source of the activation notification, an update notification including the read physical machine ID (or the physical machine ID of the physical machine already executing a VM in the same tenant). Then, the broadcast management unit  116  transmits the generated update notification to the transmission source physical machine (S 17 ). When the same tenant ID is not stored in the second management data storage unit  112 , the broadcast management unit  116  generates an update notification without a physical machine ID. 
     The broadcast management unit  116  generates an update notification including the physical machine ID of the transmission source physical machine in a communication format for the physical machine already executing a VM in the same tenant. Then, the broadcast management unit  116  transmits the generated update notification to that physical machine (S 19 ). After that, the processing is terminated. 
       FIG. 18  illustrates an example update notification. Data  1801  in  FIG. 18  is an example update notification. The update notification includes an ether header, an IP header, a TCP header, and a vendor-specific format data. When the management mechanism type of the physical resource pool is OpenStack, as the data  1802 , for example, the data in a vender-specific format includes an OpenstackHID and a tenant ID, and a physical machine ID, which are identification information to identify the processing. In the OpenstackHID, “updatePort” is set. When the management mechanism type of the physical resource pool is VMware, as the data  1803 , for example, the data in a vender-specific format includes VMwareHID, a physical machine ID, and a tenant ID, which are identification information to identify the processing. In the VMwareHID, “updatePortInfo” is set. When a VM of some tenant is activated for the first time in the system, a region for strong the physical machine ID is blank. 
     With the execution of the above-described processing, the physical machine having transmitted the activation notification can specify the physical machine already executing a VM in the same tenant. 
     In the present embodiment, the network management unit  11  can convert the communication format. Accordingly, the case where the management mechanism type of the physical resource pool  80  is different from that of the physical resource pool  90  can be handled. 
     The update notification is transmitted only to the physical machine executing a VM in the same tenant. Accordingly, an unnecessary communication load does not occur. 
     Hereinafter, described by using  FIG. 19  is processing which is executed when the network processing unit  41  receives the update notification. The processing by the network processing unit  41  is described as an example, but the network processing units  51 ,  61 , and  71  also execute the same processing. 
     The communication unit  417  in the network processing unit  41  receives the update notification from the physical machine (the physical machine  10  here) in which the network management unit  11  operates ( FIG. 19 : S 21 ). The communication unit  417  outputs the update notification to the management unit  416 . 
     The management unit  416  determines if a VM in the same tenant is executed by a different physical machine depending on the update notification includes a physical machine ID (S 23 ). When the different physical machine does not execute a VM in the same tenant (S 23 : No route), the broadcast data is not transmitted to the different physical machine. Thus, the processing is terminated. 
     On the other hand, when the different physical machine executes a VM in the same tenant (S 23 : Yes route), the management unit  416  instructs the policy setting unit  415  to execute the processing. In response to this, the policy setting unit  415  performs setting for allowing broadcast data to be transferred to the VM of the same tenant, which is executed by the different physical machine (S 25 ). Specifically, the policy setting unit  415  specifies the tunnel port ID corresponding to the physical machine ID of the different physical machine from the third data storage unit  413 . The policy setting unit  415  specifies the VM port ID corresponding to the tenant ID included in the update notification from the first data storage unit  411 . After that, the policy setting unit  415  registers a MAC address of the VM coupled to the specified VM port and the specified tunnel port ID in the field of “1.” in the data in  FIG. 10 . The management unit  416  stores a pair of the tenant ID and the physical machine ID included in the update notification in the second data storage unit  412 . After that, the processing is terminated. 
     With the execution of the above-described processing, the physical machine having received the update notification becomes capable of transferring broadcast data to a VM which is newly activated and is in the same tenant. 
     Hereinafter, the processing of the present embodiment is described more specifically by using  FIGS. 20 to 31 . 
     In  FIGS. 20 to 31 , a system having physical machines  1  to  5  is described as an example. In this system, the physical machine  1  has a network management unit and the physical machine  2  has a server management unit. 
     As an initial setting, a tunnel port is generated in the physical machines  3  to  5 . Specifically, each of the physical machines  3  to  5  associates a tunnel port ID with a physical machine ID. 
     After that, according to a request from the server management unit in the physical machine  2 , a server processing unit in the physical machine  3  starts preparing for activating a VM  1 . The server processing unit in the physical machine  3  requests the network management unit in the physical machine  1  to acquire a VM port ID. In response to this, the network management unit in the physical machine  1  assigns the VM port ID and transmits the VM port ID to the server processing unit in the physical machine  3 . The server processing unit in the physical machine  3  generates a port for the VM  1  and starts activating the VM  1 . The network management unit in the physical machine  1  centrally manages VM port IDs in the system. 
     With the above-described setting, the state illustrated in  FIG. 20  is obtained. In other words, a tunnel port  3  of the physical machine  3  establishes a tunnel with a tunnel port  8  of the physical machine  4 . A tunnel port  4  of the physical machine  3  establishes a tunnel with a tunnel port  11  of the physical machine  5 . A tunnel  9  of the physical machine  4  establishes a tunnel with a tunnel port  12  of the physical machine  5 . In the physical machine  3 , the VM  1  is activated. In  FIG. 20 , there is no tunnel port whose setting is made to allow broadcast data transfer. In other words, “Accept: “{ }” is registered in the policy data storage unit. 
     In the case of  FIG. 20 , the data stored in the second management data storage unit which is managed by the network management unit becomes like data  2101  in  FIG. 21 . Specifically, a tenant ID “1” and a physical machine ID “3” are stored in association with each other. In other words, the network management unit grasps that a VM whose tenant ID is 1 is activated in the physical machine  3 . 
     In the case of  FIG. 20 , the data managed by the physical machines  3  to  5  becomes like ones illustrated in  FIG. 22 . Specifically, data  2201  is stored in the third data storage unit of the physical machine  3 . Data  2203  is stored in the third data storage unit of the physical machine  4 . Data  2204  is stored in the third data storage unit of the physical machine  5 . Data  2202  is stored in the first data storage unit of the physical machine  3 . 
     It is assumed here that, as illustrated in  FIG. 23 , a VM  3  whose tenant ID is 1 is activated in the physical machine  4 . Then, data  2301  is stored in the first data storage unit of the physical machine  4  by the processing performed by the network processing unit. 
     After that, as illustrated in  FIG. 24 , the physical machine  4  transmits an activation notification including the tenant ID of the tenant using the VM  3  and the physical machine ID of the physical machine  4  to the physical machine  1 . In response to this, the network management unit of the physical machine  1  stores the physical machine ID “4” in the second management data storage unit in association with the tenant ID “1.” 
     As illustrated in  FIG. 25 , the physical machine  1  transmits an update notification including the tenant ID “1” and the physical machine ID “3” to the physical machine  4 . Accordingly, the physical machine  4  becomes capable of grasping that the physical machine  3  is executing the VM whose tenant is same as that of the VM  3 . 
     As illustrated in  FIG. 26 , the physical machine  4  changes the policy for the tunnel port  8 . In other words, the setting is changed in the policy data storage unit so that the tunnel port  8  transfers broadcast data from the VM  3 . 
     On the other hand, as illustrated in  FIG. 27 , the physical machine  1  transmits the update notification including the tenant ID “1” and the physical machine ID “4” to the physical machine  3 . Accordingly, the physical machine  3  becomes possible of grasping that the physical machine  4  is executing the VM whose tenant is same as that of the VM  1 . 
     As illustrated in  FIG. 28 , the physical machine  3  changes the policy for the tunnel port  3 . In other words, the setting is changed in the policy data storage unit so that the tunnel port  3  transfers broadcast data from the VM  1 . 
     It is assumed here that, as illustrated in  FIG. 29 , in the physical machine  4 , a VM  4  whose tenant ID is 1 is activated. Then, data  2901  is stored in the first data storage unit of the physical machine  4  by the processing performed by the network processing unit. 
     In this case, the VM  3  whose tenant ID is “1” is executed in the physical machine  4 , and, thus, an activation notification is not transmitted. As illustrated in  FIG. 30 , the policy for the tunnel port  8  is changed. In other words, the setting is changed in the policy data storage unit so that the tunnel port  8  transfers broadcast data from the VM  4 . 
     With the execution of the above-described processing, the broadcast data transmitted by the VM  1  in the physical machine  3  is transmitted as illustrated in  FIG. 31 . In other words, a virtual switch of the physical machine  3  transfers the broadcast data only to the tunnel port  3  and does not transfer it to the tunnel port  4 . Accordingly, the broadcast data is not transmitted to the physical machine in which the VM whose tenant ID is 1 does not exist. Consequently, unnecessary communication traffic does not occur, and, thus, a processing load of a physical machine in a data transfer destination does not increase. 
     According to the processing in the present embodiment, as described above, it becomes possible to handle the case where management mechanism types of the physical resource pools are different. This will be described later by using  FIG. 32 . In  FIG. 32 , the network management unit  11  which can convert the communication format does not exist. Accordingly, a management mechanism is provided in each of the physical resource pools. The management mechanism includes a server management unit, a server processing unit, a network management unit, and a network processing unit. In this case, communications are performed between the network management units, which results in causing unnecessary traffic. This means that protocol is defined between the network management units whose types are different. On the other hand, with the processing of the present embodiment, there is no communication between the network management units and there is no communication between the network management unit and the server management unit, so that a communication amount can be reduced. 
     Second Embodiment 
     Hereinafter, a second embodiment is described. In the second embodiment, systems of tenant IDs which are used by physical machines are not integrated. For example, there is a case where a tenant having a tenant ID of 1 in a physical resource pool  80  is not same as a tenant having a tenant ID of 1 in a physical resource pool  90 . For this reason, in the second embodiment, as illustrated in  FIG. 33 , a network management unit  11  has a third management data storage unit  113  in addition to the components described in the first embodiment. 
       FIG. 34  illustrates an example data stored in the third management data storage unit  113 . In the example of  FIG. 34 , tenant IDs and island-tenant IDs are stored in the third management unit  113 . In this embodiment, an island means a physical resource pool. For example, data on the first row indicates that the tenant whose tenant ID is 1 in the island  1  and the tenant whose tenant ID is 3 in the island  2  are the same tenant. Also, the data indicates that the network management unit  11  assigns the tenant ID “1” to the same tenant. 
     Next, described by using  FIG. 35  is processing which is executed by the network management unit  11  in the second embodiment. A communication unit  114  in the network management unit  11  receives an activation notification ( FIG. 35 : S 31 ). Then, the communication unit  114  outputs the received activation notification to a conversion unit  115 . Thereafter, the conversion unit  115  interprets a communication format of the activation notification. The conversion unit  115  acquires a pair of an island-tenant ID and a physical machine ID from the activation notification (S 33 ). The conversion unit  115  outputs the acquired pair of the island-tenant ID and the physical machine ID to the broadcast management unit  116 . 
     The broadcast management unit  116  acquires the tenant ID corresponding to the acquired island-tenant ID from the third management data storage unit  113  (S 35 ). 
     The broadcast management unit  116  stores the acquired pair of the tenant ID and the physical machine ID in the second management data storage unit  112  (S 37 ). When the same tenant ID is already stored, the broadcast management unit  116  reads the physical machine ID stored in association with the tenant ID and stores the acquired physical machine ID in association with the tenant ID. 
     The broadcast management unit  116  generates an update notification in a communication format for a physical machine in a transmission destination of the activation notification, the update notification including the read physical machine ID (or the physical machine ID of the physical machine already executing a VM in the same tenant), an island-tenant ID, and a tenant ID. After that, the broadcast management unit  116  transmits the generated update notification to the transmission source physical machine (S 39 ). When the same tenant ID is not stored in the second management data storage unit  112 , the broadcast management unit  116  generates an update notification without a physical machine ID. 
     Of the island-tenant ID stored in the first data storage unit and the island-tenant ID stored in the second data storage unit, the transmission source physical machine having received the update notification overwrites the island-tenant ID included in the update notification with the tenant ID included in the update notification. 
     The broadcast management unit  116  generates an update notification including the physical machine ID of the transmission source physical machine, the island-tenant ID, and the tenant ID in a communication format for a physical machine already executing a VM in the same tenant. Then, the broadcast management unit  116  transmits the generated update notification to the physical machine (S 41 ). After that, the processing is terminated. 
     Of the island-tenant ID stored in the first data storage unit and the island-tenant ID stored in the second data storage unit, the physical machine having received the update notification overwrites the island-tenant ID included in the update notification with the tenant ID included in the update notification. 
     With the execution of the above-described processing, it becomes possible to handle the case where systems of tenant IDs which are used by each of the physical machines are not integrated. 
     The embodiment of the present disclosure is described as above. However, the present disclosure is not limited to this. For example, the functional block configurations of the above-described network management unit  11 , network processing unit  41 , and virtual switch  43  are not typically same as the actual program module configurations. 
     The above-described configuration of each table is simply an example, and the above-described configuration is not typically used. Furthermore, as long as the processing result does not change, the order of the processes may be changed and a parallel execution is also possible. 
     The filtering based on the MAC address is performed above, but filtering based on an ID of a virtual local area network (VLAN) may be performed. 
     The above-described physical machines  10 ,  20 ,  30 ,  40 ,  50 ,  60 , and  70  are a computer device. As illustrated in  FIG. 36 , a bus  2519  connects a memory  2501 , a central processing unit (CPU)  2503 , a hard disk drive (HDD)  2505 , a display control unit  2507  coupled to a display device  2509 , a drive device  2513  for a removable disk  2511 , an input device  2515 , and a communication control unit  2517  for connecting with a network. The HDD  2505  stores an operating system (OS) and an application program for performing processing in the embodiment. The application program is read from the HDD  2505  to the memory  2501  when it is executed by the CPU  2503 . Depending on the processing content of the application program, the CPU  2503  controls the display control unit  2507 , the communication control unit  2517 , and the drive device  2513  to perform a predetermined operation. The data in process is mainly stored in the memory  2501 , but it may be stored in the HDD  2505 . In the embodiment of the present disclosure, the application program for executing the above-described processing is stored in a computer readable removable disk  2511  and then distributed. After that, the application program is installed from the drive device  2513  to the HDD  2505 . The application program may be installed in the HDD  2505  through a network such as the Internet and the communication control unit  2517 . Such a computer device achieves various types of functions as described above by coordinated cooperation of hardware such as the CPU  2503  and the memory  2501  and programs such as the OS and the application. 
     The above-described embodiment can be summed up as follows. 
     An information processing system according to a first aspect of the present embodiment has multiple information processing devices. Of the multiple information processing devices, a first information processing device includes (A) a data storage unit configured to store identification information of a tenant in association with identification information of an information processing device executing a virtual machine of the tenant; (B) an extraction unit configured to extract identification information of a third information processing device, which is stored in association with identification information of a first tenant, from the data storage unit when it is detected that a virtual machine of the first tenant is activated in a second information processing device of the multiple information processing devices; and (C) a first transmission unit configured to transmit the extracted identification information of the third information processing device to the second information processing device. Then, the second information processing device includes (D) a first relay processing unit and (E) a first setting unit configured to perform setting on the first relay processing unit for allowing a virtual machine of the first tenant to transmit broadcast data to the third information processing device when the identification information of the third information processing device is received. 
     In this manner, the setting is made so that transmission of broadcast data is only allowed to an information processing device executing a virtual machine in the same tenant. Accordingly, the relay processing unit can properly perform filtering on the broadcast. 
     The above-described first transmission unit transmits (c 1 ) identification formation of the second information processing device to the third information processing device, and the third information processing device may include (F) a second relay processing unit and (G) a second setting unit to perform setting on the second relay processing unit for allowing the virtual machine of the first tenant to transmit broadcast data to the second information processing device when the identification information of the second information processing device is received. In this manner, the virtual machine of the same tenant in a different information processing device becomes capable of transmitting broadcast data to the activated virtual machine. 
     The above-described first setting unit may include (e 1 ) a determination unit to determine if a different virtual machine of the first tenant is already executed when the virtual machine of the first tenant is activated in the second information processing device, and (e 2 ) a second transmission unit to transmit the identification information of the first tenant to the first information processing device when the different virtual machine of the first tenant is not executed. When the different virtual machine is already executed, the setting for the same tenant is already made for the first relay processing unit. Accordingly, with the above-described configuration, unnecessary communications with the first information processing device are removed. 
     The above-described first transmission unit may store (c 2 ) the identification information of the second information processing device in association with the identification information of the first tenant in the data storage unit. In this manner, even in a case where a different virtual machine is further activated, filtering can be properly performed on the broadcast. 
     A control method according to a second aspect of the present embodiment includes (H) extracting identification information of an information processing device, which is stored in association with identification information of a first tenant, from a data storage unit to store the identification information of the tenant in association with the identification information of the information processing device executing a virtual machine of the tenant when it is detected that the virtual machine of the first tenant is activated in a different information processing device and (I) transmitting the extracted identification information of the information processing device to the second information processing device. 
     A program for causing a computer to perform the processing by the above-described control method can be generated. The program is stored in a computer-readable storage medium or a storage device, such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory or a hard disk. It is noted that intermediate processing results are temporarily stored in a storage device such as a main memory. 
     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.

Technology Category: 5