WO2014045413A1 - システム管理装置、ネットワークシステム、システム管理方法およびプログラム - Google Patents

システム管理装置、ネットワークシステム、システム管理方法およびプログラム Download PDF

Info

Publication number
WO2014045413A1
WO2014045413A1 PCT/JP2012/074271 JP2012074271W WO2014045413A1 WO 2014045413 A1 WO2014045413 A1 WO 2014045413A1 JP 2012074271 W JP2012074271 W JP 2012074271W WO 2014045413 A1 WO2014045413 A1 WO 2014045413A1
Authority
WO
WIPO (PCT)
Prior art keywords
network
machine
physical
machines
physical machines
Prior art date
Application number
PCT/JP2012/074271
Other languages
English (en)
French (fr)
Inventor
田中 友也
正道 楯岡
Original Assignee
株式会社東芝
東芝ソリューション株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社東芝, 東芝ソリューション株式会社 filed Critical 株式会社東芝
Priority to CN201280002948.XA priority Critical patent/CN103827827B/zh
Priority to JP2012543392A priority patent/JP5377775B1/ja
Priority to PCT/JP2012/074271 priority patent/WO2014045413A1/ja
Priority to US13/846,062 priority patent/US9148355B2/en
Publication of WO2014045413A1 publication Critical patent/WO2014045413A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Definitions

  • Embodiments described herein relate generally to a system management apparatus, a network system, a system management method, and a program.
  • Cloud computing is a technology that allows users to use IT resources prepared in a data center as a service.
  • Cloud computing is classified into SaaS (Software as a Service), PaaS (Platform as a Service), and IaaS (Infrastructure as a Service) according to the provision form of IT resources.
  • SaaS provides application software as a service
  • PaaS provides application software development and execution environments as services.
  • IaaS operates a virtual machine on a physical machine connected to a data center network system in response to a user request, and provides resources of the virtual machine as a service.
  • Cloud computing technology provides benefits for IT resource users that initial investment can be reduced and IT resources to be used can be easily increased or decreased according to the required amount.
  • the cloud computing technology is weak in dealing with non-functional requirements such as performance because multiple users share data center IT resources.
  • IaaS when a virtual machine is newly operated in response to a user's request, a physical machine can be operated by which physical machine among a plurality of physical machines connected to the network system of the data center. It is important to consider whether efficiency is good as a whole in terms of meeting non-functional requirements.
  • the network load may be concentrated at a specific location, or virtual machines that require communication with each other may communicate via a network path with a large delay.
  • Such an arrangement may cause a problem that the performance required for the entire network system cannot be satisfied. For this reason, it is desired to provide a technique for determining an optimum physical machine for operating a new virtual machine so that the arrangement of the virtual machines is an efficient arrangement for the entire system.
  • the problem to be solved by the present invention is to provide a system management apparatus, a network system, a system management method, and a program capable of determining an optimum physical machine for operating a new virtual machine.
  • the system management apparatus manages a network system in which a plurality of physical machines that operate virtual machines are connected to be able to communicate with each other via a network.
  • the system management device includes a first calculation unit, an acquisition unit, a second calculation unit, and a determination unit.
  • the first calculation unit calculates, for each combination of the physical machines, a network distance representing a load magnitude when one of the plurality of physical machines communicates with another physical machine.
  • the acquisition unit communicates with any of the second machines among the second machines that are virtual machines that are already running on any of the plurality of physical machines. Communication permission information indicating whether or not it is permitted to perform is acquired.
  • the second calculation unit communicates when one of the plurality of physical machines operates the first machine based on the network distance calculated for each combination of the physical machines and the communication permission information.
  • a network cost representing the load of the network system due to the communication between the second machine and the first machine that is allowed to be calculated is calculated for each of the plurality of physical machines.
  • the determination unit determines which physical machine of the plurality of physical machines to operate the first machine using the network cost calculated for each of the plurality of physical machines.
  • FIG. 1 is a configuration diagram of a network system according to an embodiment.
  • FIG. 2 is a block diagram illustrating a functional configuration of the system management apparatus.
  • FIG. 3 is a diagram illustrating an example of the communication permission information.
  • FIG. 4 is a diagram illustrating an example of load information.
  • FIG. 5 is a diagram illustrating an example of the network distance.
  • FIG. 6 is a flowchart illustrating a processing procedure of the first calculation unit.
  • FIG. 7 is a diagram illustrating an example of the network cost.
  • FIG. 8 is a flowchart illustrating a processing procedure of the second calculation unit.
  • FIG. 9 is a diagram illustrating another example of load information.
  • FIG. 10 is a diagram illustrating another example of the network distance.
  • FIG. 11 is a diagram illustrating another example of the network cost.
  • FIG. 12 is a diagram illustrating another example of the communication permission information.
  • FIG. 13 is a diagram illustrating an example of the weight for each port.
  • FIG. 14 is a diagram illustrating another example of the network cost.
  • FIG. 15 is a diagram illustrating an example of a hardware configuration of the system management apparatus.
  • FIG. 1 is a configuration diagram of a network system according to the present embodiment.
  • This network system includes a plurality of physical machines that are communicably connected via a network.
  • four physical machines, a physical machine 1, a physical machine 2, a physical machine 3, and a physical machine 4 are connected to be communicable via a network.
  • the physical machine 1 is connected to a LAN (Local Area Network) 51 and the physical machine 2 is connected to a LAN 52.
  • the LAN 51 and the LAN 52 are connected via a WAN (Wide Area Network) 50.
  • the physical machine 3 and the physical machine 4 are connected to the LAN 53.
  • the LAN 51 and the LAN 53 are connected via the router 15.
  • a system management apparatus 100 that manages the entire network system is connected to the LAN 53. Note that the configuration of the network system shown in FIG. 1 is merely an example, and the number of physical machines and the connection form can be arbitrarily selected.
  • Each of the physical machines 1 to 4 provides a resource for operating a virtual machine (hereinafter referred to as VM).
  • VM virtual machine
  • the VMs 10 to 12 are connected to the network via the virtual switch 11.
  • three VMs VM20, VM21, and VM22 are operating.
  • the VMs 20 to 22 are connected to the network via the virtual switch 12.
  • three VMs of VM30, VM31, and VM32 are operating.
  • the VMs 30 to 32 are connected to the network via the virtual switch 13.
  • three VMs of VM 40, VM 41, and VM 42 are operating.
  • the VMs 40 to 42 are connected to the network via the virtual switch 14.
  • FIG. 2 is a block diagram showing a functional configuration of the system management apparatus 100.
  • the system management apparatus 100 includes a communication unit 110, a management unit 120, a first calculation unit 130, and a second calculation unit 140.
  • the communication unit 110 includes physical machines 1 to 4 on the network, VMs 10 to 12, 20 to 22, 30 to 32, and 40 to 42 that are operated on the physical machines 1 to 4, and network devices (in the example of FIG. 15 and network switches on the LANs 51 to 53).
  • the management unit 120 performs various types of management necessary for maintaining and operating the network system, and mainly performs VM management, configuration information management, and operation information acquisition.
  • the VM management is a function for starting up, changing, deleting, etc. a VM.
  • the configuration information management is a function for managing the current configuration of the network system, that is, configuration information indicating which VM is currently operating on which physical machine.
  • the operation information acquisition is a function of acquiring operation information representing the resource usage rate of each physical machine such as a CPU (Central Processing Unit) and storage from each physical machine.
  • the management unit 120 includes an acquisition unit 121 and a determination unit 122 as characteristic functions in the present embodiment.
  • the acquisition unit 121 includes VMs 10 to 12, 20 to 22, 30 to 32, and 40 that are already operated on the physical machines 1 to 4 on the network as VMs to be newly operated in the network system (hereinafter referred to as new VMs).
  • Communication permission information indicating which of the VMs 42 to 42 is permitted to communicate with is acquired. A specific example of the communication permission information will be described later.
  • the determination unit 122 operates the new VM on any physical machine among the physical machines 1 to 4 on the network, using the network cost described later by the second calculation unit 140 for each of the physical machines 1 to 4. To decide.
  • the first calculation unit 130 calculates the network distance representing the magnitude of the load when each of the physical machines 1 to 4 on the network communicates with other physical machines, by using the two physical machines 1 to 4. Calculate for each combination.
  • the first calculation unit 130 obtains load information indicating the load state related to the communication of the physical machines 1 to 4 and the network device on the network at an arbitrary timing, and holds this.
  • the first calculation unit 130 determines, for example, the average or maximum load within a certain period for each combination of two physical machines from the stored load information. A value or the like is calculated, and the calculated value is set as a network distance between two physical machines. Then, the first calculation unit 130 returns the calculated network distance to the second calculation unit 140 as a response to the acquisition request from the second calculation unit 140. Specific examples of load information and network distance will be described later.
  • the second calculation unit 140 Based on the network distance calculated for each combination of two physical machines by the first calculation unit 130 and the communication permission information acquired by the acquisition unit 121 of the management unit 120, the second calculation unit 140 performs physical processing on the network.
  • the VM 10 to 12, 20 to 22, 30 to 32, and 40 to 42 that are already in operation and the VM that is allowed to communicate with the new VM A network cost representing the load of the network system due to the VM communicating is calculated for each of the physical machines 1 to 4.
  • the second calculation unit 140 upon receiving a network cost acquisition request from the management unit 120, acquires communication permission information and configuration information from the management unit 120 and requests the first calculation unit 130 to acquire a network distance. As a response to this acquisition request, the network distance calculated for each combination of two physical machines is received from the first calculation unit 130. Then, the second calculation unit 140 selects a physical machine whose network cost is to be calculated from the physical machines 1 to 4, and the new VM performs communication based on the communication permission information and the configuration information. The physical machine on which the VM that is permitted to operate is operated, that is, all physical machines that can become communication partners are specified. Then, the second calculation unit 140 adds the network distance between the physical machine selected as the target for calculating the network cost and all the physical machines specified as the physical machines that can be the communication partner, thereby selecting the network cost. Calculate network costs for physical machines.
  • the second calculation unit 140 repeats the above processing while switching the physical machine for which the network cost is calculated, and calculates the network cost for each of the physical machines 1 to 4. Then, the second calculation unit 140 returns the calculated network cost to the management unit 120 as a response to the acquisition request from the management unit 120.
  • the network cost calculated by the second calculation unit 140 is used as one index when the determination unit 122 of the management unit 120 determines a physical machine that operates the new VM. A specific example of the network cost will be described later.
  • the new VM_A is newly operated on any of the physical machines 1 to 4 and the new VM_B is newly operated on any of the physical machines 1 to 4.
  • the operation of the system management apparatus 100 according to this embodiment will be described in detail with reference to two examples.
  • FIG. 3 is a diagram illustrating an example of communication permission information acquired by the acquisition unit 121 of the management unit 120.
  • the communication permission information indicates which VM among the already operating VMs 10 to 12, 20 to 22, 30 to 32, and 40 to 42 is permitted to communicate with the new VM. It is information to represent.
  • Such communication permission information can be acquired from, for example, a firewall rule applied to the new VM.
  • the firewall rules are specified by the user when operating the new VM, or the system management apparatus 100 prepares a plurality of templates as menus, and the user selects a template to be applied from the menus. Created.
  • the firewall rules applied to the new VM include information for restricting the communication partner of the new VM, and the communication permission information of the new VM can be obtained by extracting the information.
  • the acquisition unit 121 may acquire information created by a user or the like as information different from the firewall as communication permission information.
  • FIG. 3A shows the communication permission information acquired from the firewall rules applied to the new VM_A in a tabular format.
  • the VM corresponding to the column marked with ⁇ indicates that the new VM_A is permitted to communicate
  • the VM corresponding to the column not marked with ⁇ Indicates that the new VM_A is not allowed to communicate. That is, the communication permission information illustrated in FIG. 3A indicates that the new VM_A is permitted to communicate with the VM 10, VM 21, VM 22, VM 41, and VM 42.
  • FIG. 3B shows the communication permission information acquired from the firewall rules applied to the new VM_B in a tabular format.
  • the VM corresponding to the column marked with “ ⁇ ” indicates that the new VM_B is permitted to communicate
  • the VM corresponding to the column not marked with “ ⁇ ”. Indicates that the new VM_B is not allowed to communicate. That is, the communication permission information illustrated in FIG. 3B indicates that the new VM_B is permitted to communicate with the VM 11 and the VM 32.
  • FIG. 4 is a diagram illustrating an example of load information held by the first calculation unit 130.
  • the first calculation unit 130 calculates a network distance between two physical machines on the network, and represents a load representing a load state related to communication between the physical machines 1 to 4 and the network device on the network. Get information and keep it.
  • load information used for calculating the network distance for example, the time required for a packet to reciprocate between two physical machines, that is, from an action to a response that occurs when communication is performed between the two physical machines. Can be used.
  • the first calculation unit 130 performs processing on the network to measure the time from when a physical machine hits ping until a response is returned from another physical machine for every other physical machine. It is executed for all physical machines 1 to 4. Then, the first calculation unit 130 collects the above measurement results from all the physical machines 1 to 4 and holds it as load information.
  • FIG. 4 is an example of the load information acquired from the physical machine 1 by the first calculation unit 130.
  • the results of measuring are shown in tabular form.
  • FIG. 4 shows an example in which the measurement is performed four times, the number of measurements is not necessarily four.
  • this measurement may be performed periodically, for example, at regular intervals before the new VM is requested to operate, or may be performed after a request to operate the new VM. Also good.
  • the first calculation unit 130 acquires and holds load information as shown in FIG. 4 from all the physical machines 1 to 4 on the network.
  • the first calculation unit 130 calculates the network distance between two physical machines on the network by using the stored load information. Calculate for each machine combination.
  • the maximum value of the value held as load information is the network distance between two physical machines.
  • the network distance between the physical machine 1 and the physical machine 2 is 24, the network distance between the physical machine 1 and the physical machine 3 is 4, and the physical machine 1 and The network distance to the physical machine 4 is 3.
  • the average value held as load information may be the network distance between two physical machines. In this case, when the load information illustrated in FIG. 4 is used, the network distance between the physical machine 1 and the physical machine 2 is 24, the network distance between the physical machine 1 and the physical machine 3 is 4, and the physical machine 1 and The network distance to the physical machine 4 is 3.
  • the average value held as load information may be the network distance between two physical machines. In this case, when the load information illustrated in FIG.
  • the network distance between the physical machine 1 and the physical machine 2 is 21, the network distance between the physical machine 1 and the physical machine 3 is 2.75, and the physical machine The network distance between 1 and the physical machine 4 is 2.5.
  • a method of setting the minimum value held as load information as the network distance between two physical machines, a method of attaching importance to the value held as load information and placing importance on new data, etc. are conceivable. .
  • the first calculation unit 130 calculates a network distance for each combination of two physical machines by the method described above.
  • FIG. 5 is a diagram illustrating an example of the network distance calculated by the first calculation unit 130.
  • the example of FIG. 5 is an example in which the delay time shown in FIG. 4 is used as the load information and the maximum value is calculated as the network distance.
  • the network distance for each combination of two physical machines among the physical machines 1 to 4 Is represented in tabular form.
  • the first calculation unit 130 calculates a network distance for each combination of two physical machines as illustrated in FIG. Then, the first calculation unit 130 returns the calculated network distance to the second calculation unit 140 as a response to the acquisition request from the second calculation unit 140.
  • FIG. 6 is a flowchart showing a processing procedure of the first calculation unit 130.
  • the first calculation unit 130 first acquires load information from each of the physical machines 1 to 4 on the network at an arbitrary timing, and holds the acquired load information (step S101).
  • the first calculation unit 130 uses the load information acquired in step S101 to perform physical processing on two physical machines 1 to 4.
  • the network distance is calculated for each combination of machines (step S103).
  • the first calculation unit 130 returns the network distance calculated in step S103 to the second calculation unit 140 as a response to the acquisition request received in step S102 (step S104).
  • the second calculation unit 140 is a network when the new VM is operated based on the communication permission information and configuration information acquired from the management unit 120 and the network distance acquired from the first calculation unit 130. The cost is calculated for each physical machine 1 to 4 on the network.
  • the second calculation unit 140 calculates a network cost when the new VM_A is operated using the communication permission information illustrated in FIG. 3A and the network distance illustrated in FIG. To do.
  • the new VM_A includes the physical machine 1 on which the VM 10 is operating, the physical machine 2 on which the VM 21 and VM 22 are operating, and the physical on which the VM 41 and VM 42 are operating. It can be seen that there is a possibility of communication with the machine 4.
  • the network cost when the new VM_A is operated on the physical machine 1 is the sum of the network distance between the physical machine 1 and the physical machine 2 and the network distance between the physical machine 1 and the physical machine 4. Can be calculated. In the example shown in FIG. 5, since the network distance between the physical machine 1 and the physical machine 2 is 24 and the network distance between the physical machine 1 and the physical machine 4 is 3, the new VM_A is assigned to the physical machine 1. The network cost when operating is 27.
  • the network cost when the new VM_A is operated on the physical machine 2 is the sum of the network distance between the physical machine 2 and the physical machine 1 and the network distance between the physical machine 2 and the physical machine 4. Can be calculated. In the example shown in FIG. 5, since the network distance between the physical machine 2 and the physical machine 1 is 24 and the network distance between the physical machine 2 and the physical machine 4 is 32, the new VM_A is assigned to the physical machine 2. The network cost when operating is 56.
  • the network cost when the new VM_A is operated on the physical machine 3 is the network distance between the physical machine 3 and the physical machine 1, the network distance between the physical machine 3 and the physical machine 2, and the physical machine. 3 and the network distance between the physical machine 4 can be calculated. In the example shown in FIG.
  • the network distance between the physical machine 3 and the physical machine 1 is 4
  • the network distance between the physical machine 3 and the physical machine 2 is 32
  • the network distance between the physical machine 3 and the physical machine 4 is 32
  • the network cost when the new VM_A is operated on the physical machine 4 is the sum of the network distance between the physical machine 4 and the physical machine 1 and the network distance between the physical machine 4 and the physical machine 2. Can be calculated. In the example shown in FIG. 5, since the network distance between the physical machine 4 and the physical machine 1 is 3, and the network distance between the physical machine 4 and the physical machine 2 is 32, the new VM_A is assigned to the physical machine 4. The network cost when operating is 35.
  • the second calculation unit 140 calculates a network cost when the new VM_B is operated using the communication permission information illustrated in FIG. 3B and the network distance illustrated in FIG. explain. From the communication permission information shown in FIG. 3B, it is understood that the new VM_B may communicate between the physical machine 1 in which the VM 11 is operating and the physical machine 3 in which the VM 32 is operating. .
  • the network cost when the new VM_B is operated on the physical machine 1 is the network distance between the physical machine 1 and the physical machine 3.
  • the network cost when the new VM_B is operated on the physical machine 1 is 4.
  • the network cost when the new VM_B is operated on the physical machine 2 is the sum of the network distance between the physical machine 2 and the physical machine 1 and the network distance between the physical machine 2 and the physical machine 3. Can be calculated.
  • the new VM_B is assigned to the physical machine 2. The network cost when operating is 56.
  • the network cost when the new VM_B is operated on the physical machine 3 is the network distance between the physical machine 3 and the physical machine 1. In the example illustrated in FIG. 5, since the network distance between the physical machine 3 and the physical machine 1 is 4, the network cost when the new VM_B is operated on the physical machine 3 is 4.
  • the network cost when the new VM_B is operated on the physical machine 4 is the sum of the network distance between the physical machine 4 and the physical machine 1 and the network distance between the physical machine 4 and the physical machine 3. Can be calculated. In the example shown in FIG. 5, the network distance between the physical machine 4 and the physical machine 1 is 3, and the network distance between the physical machine 4 and the physical machine 3 is 1. Therefore, the new VM_B is assigned to the physical machine 4. The network cost when operating is 4.
  • FIG. 7 is a diagram illustrating an example of the network cost calculated by the second calculation unit 140.
  • FIG. 7A illustrates the network cost when the new VM_A is operated
  • FIG. 7B illustrates the new VM_B.
  • Each network cost when operating is shown in tabular form.
  • the second calculation unit 140 calculates the network cost for each physical machine 1 to 4 as shown in FIG. 7A and FIG. As a response to the acquisition request from the unit 120, the calculated network cost for each of the physical machines 1 to 4 is returned to the management unit 120.
  • the network cost sent from the second calculation unit 140 to the management unit 120 is 1 when the determination unit 122 of the management unit 120 determines on which physical machine of the physical machines 1 to 4 the new VM is to be operated. Used as one indicator. For example, when the determination unit 122 acquires the network cost for each physical machine 1 to 4 from the second calculation unit 140, the determination unit 122 calculates the network cost for each physical machine 1 to 4, the resource usage rate of each physical machine 1 to 4, and the like. The total cost indicating the suitability of the physical machine that operates the new VM is obtained, and the physical machine having the lowest total cost is determined as the physical machine that operates the new VM.
  • FIG. 8 is a flowchart showing a processing procedure of the second calculation unit 140.
  • the second calculation unit 140 Upon receiving a network cost acquisition request from the management unit 120 (step S201), the second calculation unit 140 acquires communication permission information and configuration information from the management unit 120 (step S202).
  • the second calculation unit 140 issues a network distance acquisition request to the first calculation unit 130 (step S203).
  • the communication permission information and configuration information acquired in step S202 Based on the network distance acquired in S204, the network cost for each of the physical machines 1 to 4 is calculated (step S205).
  • the second calculation unit 140 returns the network cost calculated in step S205 to the management unit 120 as a response to the acquisition request received in step S201 (step S206).
  • the system management apparatus 100 calculates the network distance for each combination of two physical machines 1 to 4 on the network. Then, using this network distance and communication permission information, calculate the network cost for each physical machine 1 to 4, and use this network cost as an index to run the new VM among the physical machines 1 to 4 The physical machine to be determined is determined. Therefore, according to the system management apparatus 100 according to the present embodiment, not only the current state of each physical machine 1 to 4 on the network but also what communication is performed when the new VM is operated is assumed. Thus, the optimum physical machine for operating the new VM can be determined, and the new VM can be operated with a more efficient arrangement as the entire system.
  • a new VM can be operated on a physical machine with sufficient resources, and the resources used by the physical machine can be smoothed.
  • the physical machine that operates the new VM is determined without considering the communication after the new VM is activated, so that the new machine is located at a position very far from the other party communicating on the network path.
  • VMs are arranged, and the entire system generates unnecessary network traffic.
  • the new VM can be operated with a more efficient arrangement as the entire system.
  • the second embodiment differs from the first embodiment in the load information that the first calculation unit 130 acquires in order to calculate the network distance. That is, the first calculation unit 130 according to the first embodiment acquires, as load information, the delay time that occurs when communication is performed between two physical machines, but the first calculation unit 130 according to the second embodiment The bandwidth usage of the network device on the network path used when communicating between two physical machines is acquired as load information. Other configurations are the same as those in the first embodiment.
  • the first calculation unit 130 of the second embodiment is referred to as a first calculation unit 130A in order to distinguish it from the first embodiment.
  • the first calculation unit 130A specifies a network path between two physical machines for each combination of two physical machines on the network. Then, the first calculation unit 130A obtains the current bandwidth usage from network devices (in the example of FIG. 1, such as the router 15 and the network switches on the LANs 51 to 53) on each network path at an arbitrary timing. And stored as load information.
  • network devices in the example of FIG. 1, such as the router 15 and the network switches on the LANs 51 to 53
  • FIG. 9 is a diagram showing an example of load information held by the first calculation unit 130A.
  • the network switch on the LAN 51 to which the physical machine 1 is connected is the network device N1
  • the router 15 between the LAN 51 and the LAN 53 is connected to the network device N2, the physical machine 3, and the physical machine 4.
  • the network switch on the LAN 53 is represented as a network device N3
  • the network switch on the LAN 52 to which the physical machine 2 is connected is represented as a network device N4
  • the bandwidth usage obtained from each of the network devices N1 to N4 is represented in a table format. .
  • the bandwidth usage of each of the network devices N1 to N4 is acquired four times at different timings, the number of times of acquiring the bandwidth usage does not necessarily have to be four.
  • the bandwidth usage may be acquired continuously, or periodically at a predetermined interval before the new VM is required to operate, or there is a request to operate the new VM. You may make it perform from.
  • the first calculation unit 130A acquires and holds load information as shown in FIG. 9 from each of the network devices N1 to N4 on the network.
  • the first calculation unit 130A calculates the network distance between two physical machines on the network by using the stored load information. Calculate for each machine combination.
  • the first calculation unit 130A uses the maximum bandwidth usage amount of the network device held as the load information, and subtracts the maximum bandwidth usage amount from the maximum bandwidth of the network device to obtain the remaining bandwidth.
  • the maximum bandwidth of the network device may be measured and held in advance before the network device is incorporated into the system, for example.
  • the first calculation unit 130A calculates the sum of the reciprocal of the remaining bandwidth of all the network devices as two physical machines. Calculated as the network distance between.
  • the network devices on the network path between the physical machine 1 and the physical machine 3 are the network device N1, the network device N2, and the network device N3.
  • the remaining bandwidth of the network device N1 is 20
  • the remaining bandwidth of the network device N2 is 70
  • the remaining bandwidth of the network device N3 is 93.
  • the network distance to the machine 3 is 1/20 + 1/70 + 1 / 93 ⁇ 0.075.
  • the first calculation unit 130A calculates a network distance for each combination of two physical machines by the method described above.
  • FIG. 10 is a diagram illustrating an example of the network distance calculated by the first calculation unit 130A.
  • the example of FIG. 10 is an example in which the bandwidth usage of the network devices N1 to N4 shown in FIG. 9 is used as the load information, and represents the network distance for each combination of two physical machines among the physical machines 1 to 4. It is expressed in the form.
  • the first calculation unit 130A calculates a network distance for each combination of two physical machines as illustrated in FIG. 10 and returns the network distance to the second calculation unit 140.
  • FIG. 11 is a diagram illustrating an example of a network cost calculated by the second calculation unit 140 based on the communication permission information illustrated in FIG. 3 and the network distance illustrated in FIG. 10, and FIG. The network cost when the new VM_A is operated, and FIG. 11B shows the network cost when the new VM_B is operated in the form of a table.
  • the bandwidth is almost exhausted by setting the network distance between the two physical machines to be the sum of the reciprocal of the remaining bandwidth of all network devices on the network path between the two physical machines.
  • the network distance value becomes very large. Therefore, the network cost when operating the new VM on a physical machine that uses a network path passing through such a network device becomes very large.
  • the physical machine that operates the new VM is determined so that the network resources can be more effectively used as the entire system.
  • the first calculation unit 140 calculates the sum of the reciprocal of the remaining bandwidth of all network devices on the network path between the two physical machines as the network distance between the two physical machines.
  • the network distance may be calculated by another method.
  • the sum of the bandwidth usage of all network devices on the network path between two physical machines is calculated as the network distance between two physical machines, or all the network paths between two physical machines
  • the maximum value of the bandwidth usage of the network device can be the network distance between two physical machines.
  • the network distance between two physical machines is calculated using the bandwidth usage of the network device on the network path between the two physical machines.
  • the VM can be operated.
  • load information used to calculate the network distance between two physical hosts and the method for calculating the network distance using the load information are the two disclosed in the first embodiment and the second embodiment.
  • the present invention is not limited to the examples, and various other forms and combinations thereof can be used.
  • the communication permission information acquired by the acquisition unit 121 and the method by which the second calculation unit 140 calculates the network cost using the communication permission information are different from those in the first embodiment value. . That is, the acquisition unit 121 according to the first embodiment acquires communication permission information indicating a VM that is permitted to communicate with the new VM from the rules of the firewall applied to the new VM. The form acquisition unit 121 acquires communication permission information in which a port number to be used for communication is further specified from a firewall rule applied to the new VM.
  • the second calculation unit 140 is a network between a physical machine whose network cost is to be calculated and all physical machines on which VMs whose communication is permitted by the communication permission information are operating.
  • the network cost is calculated by adding the distances
  • the second calculation unit 140 of the third embodiment operates with a physical machine that calculates the network cost and a VM that is permitted to communicate with the communication permission information.
  • a network cost is calculated by adding a value obtained by multiplying the network distances between all the physical machines by the weight according to the port number specified in the communication permission information.
  • Other configurations are the same as those in the first embodiment.
  • the acquisition unit 121 of the third embodiment is referred to as an acquisition unit 121A to distinguish it from the first embodiment
  • the second calculation unit 140 of the third embodiment is referred to as the first implementation. In order to distinguish from the form, it is described as a second calculation unit 140A.
  • FIG. 12 is a diagram showing an example of the communication permission information acquired by the acquisition unit 121A, and shows the communication permission information acquired from the firewall rules applied to the new VM_C in a table format.
  • the VM corresponding to the column in which the numerical value is described indicates that the new VM_A is permitted to perform communication, and the described numerical value is used when performing communication with this VM.
  • the port number 80 is used to communicate with the VM 32. In this case, the port number 22 is used.
  • FIG. 13 is a diagram illustrating an example of the weight for each port.
  • the second calculation unit 140A holds information describing the weight for each port as shown in FIG. 13, and is used when calculating the network cost. That is, the second calculation unit 140A multiplies the network distance between the two physical servers by the weight corresponding to the port number used for communication, and adds the values to calculate the network cost.
  • the weight for each port is determined based on a measurement value indicating how much data is generally used in a protocol generally used in each port.
  • the port with port number 80 is mainly used in HTTP (Hyper Text Transfer Protocol), and the amount of data is often very large, so the weight value is large.
  • the port number 53 is a DNS (Domain Name System) and large data rarely flows, so the weight value is small.
  • These weights may be statistically calculated, for example, by actually operating the system. Moreover, you may make it a person set these weights empirically. When a person sets empirically, a weight may be set including the viewpoint of how much response speed is required. For example, it is conceivable to increase the weight value for a port that requires a faster response.
  • the second calculation unit 140A operates the new VM_C using the communication permission information shown in FIG. 12, the weight information for each port shown in FIG. 13, and the network distance shown in FIG. A method for calculating the network cost in the case of failure will be described. From the communication permission information shown in FIG. 12, it can be seen that the new VM_C may communicate between the physical machine 1 in which the VM 11 is operating and the physical machine 3 in which the VM 32 is operating. It can also be seen that when the new VM_C communicates with the physical machine 1, the port number 80 is used, and when the new VM_C communicates with the physical machine 3, the port number 22 is used.
  • the network cost when the new VM_C is operated on the physical machine 1 is a value obtained by multiplying the network distance between the physical machine 1 and the physical machine 3 by the weight corresponding to the port number 22.
  • the network distance between the physical machine 1 and the physical machine 3 is 4, and in the example shown in FIG. 13, the weight value corresponding to the port number 22 is 0.3.
  • the network cost is 1.2.
  • the network cost when the new VM_C is operated on the physical machine 2 is the value obtained by multiplying the network distance between the physical machine 2 and the physical machine 1 by the weight corresponding to the port number 80, the physical machine 2 and the physical machine 2 A value obtained by multiplying the network distance between the machine 3 and the weight corresponding to the port number 22 can be calculated.
  • FIG. 1 the network cost when the new VM_C is operated on the physical machine 2 is the value obtained by multiplying the network distance between the physical machine 2 and the physical machine 1 by the weight corresponding to the port number 80, the physical machine 2 and the physical machine 2 A value obtained by multiplying the network distance between the machine 3 and the weight corresponding to the port number 22 can be calculated.
  • the network distance between the physical machine 2 and the physical machine 1 is 24, and the network distance between the physical machine 2 and the physical machine 3 is 32.
  • the weight value corresponding to the port number 80 is 0.8 and the weight value corresponding to the port number 22 is 0.3, the network cost when the new VM_C is operated on the physical machine 2 is 28.8. Become.
  • the network cost when the new VM_C is operated on the physical machine 3 is a value obtained by multiplying the network distance between the physical machine 3 and the physical machine 1 by the weight corresponding to the port number 80.
  • the network distance between the physical machine 3 and the physical machine 1 is 4, and in the example shown in FIG. 13, the weight value corresponding to the port number 80 is 0.8.
  • the network cost is 3.2.
  • the network cost when the new VM_C is operated on the physical machine 4 is obtained by multiplying the network distance between the physical machine 4 and the physical machine 1 by the weight corresponding to the port number 80, the physical machine 4 and the physical machine 4 A value obtained by multiplying the network distance between the machine 3 and the weight corresponding to the port number 22 can be calculated.
  • FIG. 1 the network cost when the new VM_C is operated on the physical machine 4 is obtained by multiplying the network distance between the physical machine 4 and the physical machine 1 by the weight corresponding to the port number 80, the physical machine 4 and the physical machine 4 A value obtained by multiplying the network distance between the machine 3 and the weight corresponding to the port number 22 can be calculated.
  • the network distance between the physical machine 4 and the physical machine 1 is 3, and the network distance between the physical machine 4 and the physical machine 3 is 1.
  • the weight value corresponding to the port number 80 is 0.8 and the weight value corresponding to the port number 22 is 0.3
  • the network cost when the new VM_C is operated on the physical machine 4 is 2.7. Become.
  • FIG. 14 is a diagram showing an example of the network cost calculated by the second calculation unit 140A, and shows the network cost when the new VM_C is operated in a table format.
  • the second calculation unit 140A calculates the network cost for each of the physical machines 1 to 4 as shown in FIG. 14, and as a response to the acquisition request from the management unit 120 The calculated network cost for each physical machine 1 to 4 is returned to the management unit 120.
  • the network cost is calculated by multiplying the network distance by the weight according to the port number used when the new VM performs communication.
  • the optimal physical machine for operating the new VM can be determined taking into account the amount of communication data and the required response speed. The new VM can be operated.
  • the method for weighting the network distance is not limited to the weighting according to the port number used for communication, but is included in the firewall rules applied to the new VM, such as the security group information described above. Weighting may be performed using this information.
  • each function of the system management apparatus 100 can be realized by executing a predetermined program in the system management apparatus 100, for example.
  • the system device 100 is connected to a control device such as a CPU (Central Processing Unit) 101, a storage device such as a ROM (Read Only Memory) 102 or a RAM (Random Access Memory) 103, and a network as shown in FIG.
  • a control device such as a CPU (Central Processing Unit) 101
  • a storage device such as a ROM (Read Only Memory) 102 or a RAM (Random Access Memory) 103
  • a network as shown in FIG.
  • a hardware configuration using a normal computer is provided that includes a communication I / F 104 that connects and communicates, a bus 105 that connects each unit, and the like.
  • the program executed by the system management apparatus 100 is a file in an installable format or an executable format, and is a CD-ROM (Compact Disk Read Only Memory), a flexible disk (FD), a CD-R (Compact Disk). Recorded on a computer-readable recording medium such as Recordable) or DVD (Digital Versatile Disc) and provided as a computer program product.
  • CD-ROM Compact Disk Read Only Memory
  • FD flexible disk
  • CD-R Compact Disk
  • the program executed by the system management apparatus 100 according to the embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Further, the program executed by the system management apparatus 100 according to the embodiment may be configured to be provided or distributed via a network such as the Internet.
  • a program executed by the system management apparatus 100 may be configured to be provided by being incorporated in advance in the ROM 102 or the like.
  • a program executed by the system management apparatus 100 includes a processing unit (communication unit 110, management unit 120 (acquisition unit 121, determination unit 122), and first calculation unit 130 that realizes each function of the system management device 100.
  • the second calculation unit 140 has a module configuration.
  • the CPU 101 processor
  • the CPU 101 reads and executes a program from the recording medium, so that each processing unit described above is the main hardware.
  • Each processing unit is loaded on the storage device and is generated on the main storage device.
  • the system management apparatus 100 according to the embodiment realizes part or all of the above-described processing units using dedicated hardware such as ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array). It is also possible to do.
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • system management apparatus 100 does not need to realize each processing unit described above with a single device, and may be configured to be realized by distributing each processing unit described above to a plurality of devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

 第1算出部(130)は、複数の物理マシンの1つが他の物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、物理マシンの組み合わせごとに算出する。取得部(121)は、新たに稼働させる仮想マシンが、複数の物理マシンのいずれかで既に稼働している仮想マシンのうち、いずれと通信を行うことが許可されているかを表す通信許可情報を取得する。第2算出部(140)は、ネットワーク距離と、通信許可情報とに基づいて、複数の物理マシンの1つが新たな仮想マシンを稼働させた場合に、通信が許可された仮想マシンと新たな仮想マシンが通信を行うことによるネットワークシステムの負荷の大きさを表すネットワークコストを、複数の物理マシンごとに算出する。決定部(122)は、算出されたネットワークコストを用いて、新たな仮想マシンを複数の物理マシンのうち、いずれの物理マシンで稼働させるかを決定する。

Description

システム管理装置、ネットワークシステム、システム管理方法およびプログラム
 本発明の実施形態は、システム管理装置、ネットワークシステム、システム管理方法およびプログラムに関する。
 クラウドコンピューティングは、データセンタに用意されたITリソースを、利用者がサービスとして利用する技術である。クラウドコンピューティングは、ITリソースの提供形態に応じて、SaaS(Software as a Service)、PaaS(Platform as a Service)、IaaS(Infrastructure as a Service)に分類される。SaaSは、アプリケーションソフトウェアをサービスとして提供するものであり、PaaSは、アプリケーションソフトウェアの開発環境や実行環境をサービスとして提供するものである。また、IaaSは、データセンタのネットワークシステムに接続されている物理マシン上で、利用者の要求に応じて仮想マシンを稼働させ、その仮想マシンのリソースをサービスとして提供するものである。
 クラウドコンピューティングの技術により、ITリソースの利用者にとって、初期投資の低減が見込めることや、利用するITリソースを必要量に応じて容易に増減できるといった利点が得られる。その反面、クラウドコンピューティングの技術は、複数の利用者がデータセンタのITリソースを共用するため、性能などの非機能要件への対応が弱いことが指摘されている。IaaSにおいては、利用者の要求に応じて新たに仮想マシンを稼働させる際に、データセンタのネットワークシステムに接続されている複数の物理マシンのうち、どの物理マシンで仮想マシンを稼働させることがシステム全体として効率がよいかを考慮することが、非機能要件への対応の観点で重要となる。すなわち、新たな仮想マシンを稼働させる物理マシンの選択によって、特定の箇所にネットワークの負荷が集中してしまったり、互いに通信を必要とする仮想マシンが遅延の大きなネットワーク経路を介して通信を行うような配置となってしまったりすることで、ネットワークシステム全体で必要とされる性能が満たせなくなる等の問題が生じる虞がある。このため、仮想マシンの配置がシステム全体として効率的な配置となるように、新たな仮想マシンを稼働させるのに最適な物理マシンを決定する技術の提供が望まれている。
特開2005-115653号公報 特開2011-180889号公報 特開2007-272263号公報
 本発明が解決しようとする課題は、新たな仮想マシンを稼働させるのに最適な物理マシンを決定することができるシステム管理装置、ネットワークシステム、システム管理方法およびプログラムを提供することである。
 実施形態のシステム管理装置は、仮想マシンを稼働させる複数の物理マシンがネットワークを介して通信可能に接続されたネットワークシステムを管理する。このシステム管理装置は、第1算出部と、取得部と、第2算出部と、決定部と、を備える。第1算出部は、複数の前記物理マシンの1つが他の前記物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、前記物理マシンの組み合わせごとに算出する。取得部は、新たに稼働させる仮想マシンである第1マシンが、複数の前記物理マシンのいずれかで既に稼働している仮想マシンである第2マシンのうち、いずれの前記第2マシンと通信を行うことが許可されているかを表す通信許可情報を取得する。第2算出部は、前記物理マシンの組み合わせごとに算出された前記ネットワーク距離と、前記通信許可情報とに基づいて、複数の前記物理マシンの1つが前記第1マシンを稼働させた場合に、通信が許可された前記第2マシンと前記第1マシンが通信を行うことによる前記ネットワークシステムの負荷の大きさを表すネットワークコストを、複数の前記物理マシンごとに算出する。決定部は、複数の前記物理マシンごとに算出された前記ネットワークコストを用いて、前記第1マシンを複数の前記物理マシンのうち、いずれの前記物理マシンで稼働させるかを決定する。
図1は、実施形態のネットワークシステムの構成図である。 図2は、システム管理装置の機能的な構成を示すブロック図である。 図3は、通信許可情報の一例を示す図である。 図4は、負荷情報の一例を示す図である。 図5は、ネットワーク距離の一例を示す図である。 図6は、第1算出部の処理手順を示すフローチャートである。 図7は、ネットワークコストの一例を示す図である。 図8は、第2算出部の処理手順を示すフローチャートである。 図9は、負荷情報の他の例を示す図である。 図10は、ネットワーク距離の他の例を示す図である。 図11は、ネットワークコストの他の例を示す図である。 図12は、通信許可情報の他の例を示す図である。 図13は、ポートごとの重みの一例を示す図である。 図14は、ネットワークコストの他の例を示す図である。 図15は、システム管理装置のハードウェア構成の一例を示す図である。
 以下、実施形態のシステム管理装置、ネットワークシステム、システム管理方法およびプログラムを、図面を参照して説明する。
(第1の実施形態)
 図1は、本実施形態に係るネットワークシステムの構成図である。このネットワークシステムは、ネットワークを介して通信可能に接続された複数の物理マシンを備える。図1の例では、物理マシン1、物理マシン2、物理マシン3および物理マシン4の4つの物理マシンがネットワークを介して通信可能に接続されている。
 物理マシン1はLAN(Local Area Network)51に接続され、物理マシン2はLAN52に接続されている。LAN51とLAN52は、WAN(Wide Area Network)50を介して接続されている。物理マシン3および物理マシン4は、LAN53に接続されている。LAN51とLAN53は、ルータ15を介して接続されている。LAN53には、物理マシン3と物理マシン4のほか、ネットワークシステムの全体を管理するシステム管理装置100が接続されている。なお、図1に示すネットワークシステムの構成はあくまで一例であり、物理マシンの数や接続形態は任意に選択することができる。
 物理マシン1~4は、それぞれ仮想マシン(以下、VMという。)を稼働させるためのリソースを提供する。図1の例では、VM10とVM11とVM12の3つのVMが、物理マシン1で稼働している。VM10~12は、仮想スイッチ11を介してネットワークに接続された形態となる。また、物理マシン2では、VM20とVM21とVM22の3つのVMが稼働している。VM20~22は、仮想スイッチ12を介してネットワークに接続された形態となる。また、物理マシン3では、VM30とVM31とVM32の3つのVMが稼働している。VM30~32は、仮想スイッチ13を介してネットワークに接続された形態となる。また、物理マシン4では、VM40とVM41とVM42の3つのVMが稼働している。VM40~42は、仮想スイッチ14を介してネットワークに接続された形態となる。
 図2は、システム管理装置100の機能的な構成を示すブロック図である。システム管理装置100は、図2に示すように、通信部110、管理部120、第1算出部130および第2算出部140を備える。
 通信部110は、ネットワーク上の物理マシン1~4、物理マシン1~4で稼働されるVM10~12,20~22,30~32,40~42、およびネットワーク機器(図1の例では、ルータ15やLAN51~53上のネットワークスイッチ等)と通信を行う。
 管理部120は、ネットワークシステムを維持、運営する上で必要な各種の管理を行うものであり、主として、VM管理、構成情報管理および稼働情報取得を行う。VM管理とは、VMの立ち上げ、変更、消去等を行う機能である。構成情報管理とは、ネットワークシステムの現在の構成、すなわち、現在どの物理マシンでどのVMが稼働しているかを表す構成情報を管理する機能である。稼働情報取得とは、現在の各物理マシンのCPU(Central Processing Unit)やストレージ等のリソース使用率を表す稼働情報を、各物理マシンから取得する機能である。
 また、管理部120は、本実施形態において特徴的な機能として、取得部121と決定部122を有する。
 取得部121は、ネットワークシステムで新たに稼働させるVM(以下、新VMという。)が、ネットワーク上の物理マシン1~4で既に稼働されているVM10~12,20~22,30~32,40~42のうち、いずれのVMと通信を行うことが許可されているかを表す通信許可情報を取得する。なお、通信許可情報の具体例は後述する。
 決定部122は、第2算出部140によって物理マシン1~4ごとに算出された後述のネットワークコストを用いて、ネットワーク上の物理マシン1~4のうち、いずれの物理マシンで新VMを稼働させるかを決定する。
 第1算出部130は、ネットワーク上の物理マシン1~4のそれぞれが他の物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、物理マシン1~4のうちの2つの物理マシンの組み合わせごとに算出する。
 例えば、第1算出部130は、任意のタイミングで、ネットワーク上の物理マシン1~4やネットワーク機器の通信に関わる負荷の状態を表す負荷情報を取得してこれを保持する。そして、第1算出部130は、第2算出部140からネットワーク距離の取得要求を受け取ると、保持している負荷情報から、2つの物理マシンの組み合わせごとに例えば一定期間内の負荷の平均または最大値等を算出し、算出した値を2つの物理マシン間のネットワーク距離とする。そして、第1算出部130は、第2算出部140からの取得要求に対する応答として、算出したネットワーク距離を第2算出部140に返す。なお、負荷情報およびネットワーク距離の具体例は後述する。
 第2算出部140は、第1算出部130によって2つの物理マシンの組み合わせごとに算出されたネットワーク距離と、管理部120の取得部121が取得した通信許可情報とに基づいて、ネットワーク上の物理マシン1~4のいずれかが新VMを新たに稼働させた場合に、既に稼働しているVM10~12,20~22,30~32,40~42のうち、通信が許可されたVMと新VMが通信を行うことによるネットワークシステムの負荷の大きさを表すネットワークコストを、物理マシン1~4ごとに算出する。
 例えば、第2算出部140は、管理部120からネットワークコストの取得要求を受け取ると、管理部120から通信許可情報と構成情報を取得するとともに、第1算出部130に対してネットワーク距離の取得要求を出し、この取得要求に対する応答として、第1算出部130から2つの物理マシンの組み合わせごとに算出されたネットワーク距離を受け取る。そして、第2算出部140は、物理マシン1~4のうち、ネットワークコストを算出する対象となる物理マシンを選択するとともに、通信許可情報と構成情報とに基づいて、新VMが通信を行うことを許可されているVMが稼働している物理マシン、つまり通信相手となり得る全ての物理マシンを特定する。そして、第2算出部140は、ネットワークコストを算出する対象として選択した物理マシンと、通信相手となり得る物理マシンとして特定された全ての物理マシンとの間のネットワーク距離を合算することで、選択した物理マシンに関するネットワークコストを算出する。
 第2算出部140は、ネットワークコストを算出する対象となる物理マシンを切り替えながら上記の処理を繰り返し、物理マシン1~4のそれぞれについてネットワークコストを算出する。そして、第2算出部140は、管理部120からの取得要求に対する応答として、算出したネットワークコストを管理部120に返す。第2算出部140が算出したネットワークコストは、管理部120の決定部122が新VMを稼働させる物理マシンを決定する際の1つの指標として用いられる。なお、ネットワークコストの具体例は後述する。
 次に、図1に示すネットワークシステムにおいて、物理マシン1~4のいずれかで新VM_Aを新たに稼働させる場合と、物理マシン1~4のいずれかで新VM_Bを新たに稼働させる場合との2つの事例を例示しながら、本実施形態のシステム管理装置100の動作について詳しく説明する。
 図3は、管理部120の取得部121が取得する通信許可情報の一例を示す図である。通信許可情報は、上述したように、新VMが、既に稼働されているVM10~12,20~22,30~32,40~42のうちのどのVMと通信を行うことが許可されているかを表す情報である。このような通信許可情報は、例えば、新VMに対して適用されるファイアウォールのルールから取得することができる。ファイアウォールのルールは、例えば、新VMを稼働させる際にユーザが指定する、あるいは、システム管理装置100が複数のテンプレートをメニューとして用意し、そのメニューの中からユーザが適用したいテンプレートを選択することにより作成される。新VMに適用されるファイアウォールのルールには、新VMの通信相手を制限する情報が含まれており、その情報を抽出することによって、新VMの通信許可情報を得ることができる。なお、取得部121は、ファイアウォールとは別の情報としてユーザ等が作成した情報を、通信許可情報として取得するようにしてもよい。
 図3(a)は、新VM_Aに対して適用されるファイアウォールのルールから取得した通信許可情報を表形式で表したものである。図3(a)の表では、○が付されたカラムに対応するVMが、新VM_Aが通信を行うことを許可されたVMであることを示し、○が付されていないカラムに対応するVMが、新VM_Aが通信を行うことを許可されていないVMであることを示している。つまり、図3(a)に示す通信許可情報は、新VM_Aが、VM10、VM21、VM22、VM41およびVM42と通信を行うことが許可されていることを表している。
 図3(b)は、新VM_Bに対して適用されるファイアウォールのルールから取得した通信許可情報を表形式で表したものである。図3(b)の表では、○が付されたカラムに対応するVMが、新VM_Bが通信を行うことを許可されたVMであることを示し、○が付されていないカラムに対応するVMが、新VM_Bが通信を行うことを許可されていないVMであることを示している。つまり、図3(b)に示す通信許可情報は、新VM_Bが、VM11およびVM32と通信を行うことが許可されていることを表している。
 なお、IaaSにおけるファイアウォールのルールの設定の仕方として「セキュリティグループ」のような技術もあるが、「セキュリティグループ」のような技術を用いてファイアウォールのルールを設定した場合でも、ルールを分解すれば個々のVMとの間で通信を許可するか否かが示されるので、図3(a)および図3(b)に示したような表形式で表される通信許可情報を得ることができる。
 図4は、第1算出部130が保持する負荷情報の一例を示す図である。第1算出部130は、上述したように、ネットワーク上の2つの物理マシン間のネットワーク距離を算出するために、ネットワーク上の物理マシン1~4やネットワーク機器の通信に関わる負荷の状態を表す負荷情報を取得して、これを保持する。ここで、ネットワーク距離の算出に用いる負荷情報としては、例えば、2つの物理マシン間でパケットが往復するのに要する時間、つまり、2つの物理マシン間で通信を行う際に発生するアクションから応答までの遅延時間を用いることができる。
 具体的には、第1算出部130は、ある物理マシンがpingを打ち、他の物理マシンから応答が返ってくるまでの時間を他の全ての物理マシンごとに計測する処理を、ネットワーク上の全ての物理マシン1~4に対して実行させる。そして、第1算出部130は、上記の計測結果を全ての物理マシン1~4から収集し、負荷情報として保持する。
 図4は、第1算出部130が物理マシン1から取得する負荷情報の一例であり、物理マシン1からpingを打ち、物理マシン2~4のそれぞれから応答が返ってくるまでの時間(ms)を計測した結果を表形式で表している。図4では、4回の計測を行った例を示しているが、計測回数は必ずしも4回である必要はない。また、この計測は、新VMを稼働させることが要求される前に、例えば一定間隔で定期的に実行させるようにしてもよいし、新VMを稼働させる要求があってから実行させるようにしてもよい。
 第1算出部130は、図4に示すような負荷情報をネットワーク上の全ての物理マシン1~4からそれぞれ取得して保持する。そして、第1算出部130は、第2算出部140からネットワーク距離の取得要求を受け取ると、保持している負荷情報を用いて、ネットワーク上の2つの物理マシン間のネットワーク距離を、2つの物理マシンの組み合わせごとに算出する。
 負荷情報からネットワーク距離を算出する方法としては、様々な方法が考えられる。例えば、負荷情報として保持する値(図4の例ではpingの応答時間(遅延時間))の最大値を2つの物理マシン間のネットワーク距離とする方法がある。この場合、図4に例示した負荷情報を用いると、物理マシン1と物理マシン2との間のネットワーク距離は24、物理マシン1と物理マシン3との間のネットワーク距離は4、物理マシン1と物理マシン4との間のネットワーク距離は3となる。また、負荷情報として保持する値の平均値を2つの物理マシン間のネットワーク距離としてもよい。この場合、図4に例示した負荷情報を用いると、物理マシン1と物理マシン2との間のネットワーク距離は21、物理マシン1と物理マシン3との間のネットワーク距離は2.75、物理マシン1と物理マシン4との間のネットワーク距離は2.5となる。他にも、例えば、負荷情報として保持する値の最小値を2つの物理マシン間のネットワーク距離とする方法や、負荷情報として保持する値に重みを付けて新しいデータほど重視する方法等が考えられる。
 第1算出部130は、上述した方法によって2つの物理マシンの組み合わせごとにネットワーク距離を算出する。図5は、第1算出部130が算出したネットワーク距離の一例を示す図である。図5の例は、負荷情報として図4に示した遅延時間を用い、その最大値をネットワーク距離として算出した例であり、物理マシン1~4のうちの2つの物理マシンの組み合わせごとのネットワーク距離を表形式で表したものである。第1算出部130は、第2算出部140からの取得要求に応じて、図5に示すような2つの物理マシンの組み合わせごとのネットワーク距離を算出する。そして、第1算出部130は、第2算出部140からの取得要求に対する応答として、算出したネットワーク距離を第2算出部140に返す。
 図6は、第1算出部130の処理手順を示すフローチャートである。第1算出部130は、まず、任意のタイミングでネットワーク上の各物理マシン1~4から負荷情報を取得し、取得した負荷情報を保持する(ステップS101)。そして、第1算出部130は、第2算出部140からネットワーク距離の取得要求を受け取ると(ステップS102)、ステップS101で取得した負荷情報を用いて、物理マシン1~4のうちの2つの物理マシンの組み合わせごとにネットワーク距離を算出する(ステップS103)。そして、第1算出部130は、ステップS102で受け取った取得要求に対する応答として、ステップS103で算出したネットワーク距離を第2算出部140に返す(ステップS104)。
 第2算出部140は、上述したように、管理部120から取得した通信許可情報および構成情報と、第1算出部130から取得したネットワーク距離とに基づいて、新VMを稼働させた場合のネットワークコストを、ネットワーク上の物理マシン1~4ごとに算出する。
 まず、第2算出部140が、図3(a)に示した通信許可情報と、図5に示したネットワーク距離とを用いて、新VM_Aを稼働させた場合のネットワークコストを算出する方法について説明する。図3(a)に示した通信許可情報から、新VM_Aは、VM10が稼働している物理マシン1と、VM21およびVM22が稼働している物理マシン2と、VM41およびVM42が稼働している物理マシン4との間で通信する可能性があることが分かる。
 ここで、新VM_Aを物理マシン1で稼働させる場合を考えると、新VM_AがVM10と通信する際は、物理マシン1と他の物理マシンとの間での通信は行われず、新VM_AがVM21またはVM22と通信する際は、物理マシン1と物理マシン2との間で通信が行われ、新VM_AがVM41またはVM42と通信する際は、物理マシン1と物理マシン4との間で通信が行われることになる。したがって、新VM_Aを物理マシン1で稼働させた場合のネットワークコストは、物理マシン1と物理マシン2との間のネットワーク距離と、物理マシン1と物理マシン4との間のネットワーク距離とを合算して算出することができる。図5に示した例では、物理マシン1と物理マシン2との間のネットワーク距離は24、物理マシン1と物理マシン4との間のネットワーク距離は3であるので、新VM_Aを物理マシン1で稼働させた場合のネットワークコストは27となる。
 また、新VM_Aを物理マシン2で稼働させる場合は、新VM_AがVM10と通信する際に、物理マシン2と物理マシン1との間で通信が行われ、新VM_AがVM21またはVM22と通信する際は、物理マシン2と他の物理マシンとの間での通信は行われず、新VM_AがVM41またはVM42と通信する際は、物理マシン2と物理マシン4との間で通信が行われることになる。したがって、新VM_Aを物理マシン2で稼働させた場合のネットワークコストは、物理マシン2と物理マシン1との間のネットワーク距離と、物理マシン2と物理マシン4との間のネットワーク距離とを合算して算出することができる。図5に示した例では、物理マシン2と物理マシン1との間のネットワーク距離は24、物理マシン2と物理マシン4との間のネットワーク距離は32であるので、新VM_Aを物理マシン2で稼働させた場合のネットワークコストは56となる。
 また、新VM_Aを物理マシン3で稼働させる場合は、新VM_AがVM10と通信する際に、物理マシン3と物理マシン1との間で通信が行われ、新VM_AがVM21またはVM22と通信する際は、物理マシン3と物理マシン2との間で通信が行われ、新VM_AがVM41またはVM42と通信する際は、物理マシン3と物理マシン4との間で通信が行われることになる。したがって、新VM_Aを物理マシン3で稼働させた場合のネットワークコストは、物理マシン3と物理マシン1との間のネットワーク距離と、物理マシン3と物理マシン2との間のネットワーク距離と、物理マシン3と物理マシン4との間のネットワーク距離とを合算して算出することができる。図5に示した例では、物理マシン3と物理マシン1との間のネットワーク距離は4、物理マシン3と物理マシン2との間のネットワーク距離は32、物理マシン3と物理マシン4との間のネットワーク距離は1であるので、新VM_Aを物理マシン3で稼働させた場合のネットワークコストは37となる。
 また、新VM_Aを物理マシン4で稼働させる場合は、新VM_AがVM10と通信する際に、物理マシン4と物理マシン1との間で通信が行われ、新VM_AがVM21またはVM22と通信する際は、物理マシン4と物理マシン2との間で通信が行われ、新VM_AがVM41またはVM42と通信する際は、物理マシン4と他の物理マシンとの間での通信は行われない。したがって、新VM_Aを物理マシン4で稼働させた場合のネットワークコストは、物理マシン4と物理マシン1との間のネットワーク距離と、物理マシン4と物理マシン2との間のネットワーク距離とを合算して算出することができる。図5に示した例では、物理マシン4と物理マシン1との間のネットワーク距離は3、物理マシン4と物理マシン2との間のネットワーク距離は32であるので、新VM_Aを物理マシン4で稼働させた場合のネットワークコストは35となる。
 次に、第2算出部140が、図3(b)に示した通信許可情報と、図5に示したネットワーク距離とを用いて、新VM_Bを稼働させた場合のネットワークコストを算出する方法について説明する。図3(b)に示した通信許可情報から、新VM_Bは、VM11が稼働している物理マシン1と、VM32が稼働している物理マシン3との間で通信する可能性があることが分かる。
 ここで、新VM_Bを物理マシン1で稼働させる場合を考えると、新VM_BがVM11と通信する際は、物理マシン1と他の物理マシンとの間での通信は行われず、新VM_BがVM32と通信する際は、物理マシン1と物理マシン3との間で通信が行われることになる。したがって、新VM_Bを物理マシン1で稼働させた場合のネットワークコストは、物理マシン1と物理マシン3との間のネットワーク距離である。図5に示した例では、物理マシン1と物理マシン3との間のネットワーク距離は4であるので、新VM_Bを物理マシン1で稼働させた場合のネットワークコストは4となる。
 また、新VM_Bを物理マシン2で稼働させる場合は、新VM_BがVM11と通信する際に、物理マシン2と物理マシン1との間で通信が行われ、新VM_BがVM32と通信する際は、物理マシン2と物理マシン3との間で通信が行われることになる。したがって、新VM_Bを物理マシン2で稼働させた場合のネットワークコストは、物理マシン2と物理マシン1との間のネットワーク距離と、物理マシン2と物理マシン3との間のネットワーク距離とを合算して算出することができる。図5に示した例では、物理マシン2と物理マシン1との間のネットワーク距離は24、物理マシン2と物理マシン3との間のネットワーク距離は32であるので、新VM_Bを物理マシン2で稼働させた場合のネットワークコストは56となる。
 また、新VM_Bを物理マシン3で稼働させる場合は、新VM_BがVM11と通信する際に、物理マシン3と物理マシン1との間で通信が行われ、新VM_BがVM32と通信する際は、物理マシン3と他の物理マシンとの間での通信は行われない。したがって、新VM_Bを物理マシン3で稼働させた場合のネットワークコストは、物理マシン3と物理マシン1との間のネットワーク距離である。図5に示した例では、物理マシン3と物理マシン1との間のネットワーク距離は4であるので、新VM_Bを物理マシン3で稼働させた場合のネットワークコストは4となる。
 また、新VM_Bを物理マシン4で稼働させる場合は、新VM_BがVM11と通信する際に物理マシン4と物理マシン1との間で通信が行われ、新VM_BがVM32と通信する際は、物理マシン4と物理マシン3との間で通信が行われることになる。したがって、新VM_Bを物理マシン4で稼働させた場合のネットワークコストは、物理マシン4と物理マシン1との間のネットワーク距離と、物理マシン4と物理マシン3との間のネットワーク距離とを合算して算出することができる。図5に示した例では、物理マシン4と物理マシン1との間のネットワーク距離は3、物理マシン4と物理マシン3との間のネットワーク距離は1であるので、新VM_Bを物理マシン4で稼働させた場合のネットワークコストは4となる。
 図7は、第2算出部140が算出したネットワークコストの一例を示す図であり、図7(a)は、新VM_Aを稼働させた場合のネットワークコスト、図7(b)は、新VM_Bを稼働させた場合のネットワークコストをそれぞれ表形式で表している。
 第2算出部140は、管理部120からのネットワークコストの取得要求に応じて、図7(a)や図7(b)に示すような物理マシン1~4ごとのネットワークコストを算出し、管理部120からの取得要求に対する応答として、算出した物理マシン1~4ごとのネットワークコストを管理部120に返す。
 第2算出部140から管理部120に送られたネットワークコストは、管理部120の決定部122が新VMを物理マシン1~4のうちのいずれの物理マシンで稼働させるかを決定する際の1つの指標として用いられる。例えば、決定部122は、第2算出部140から物理マシン1~4ごとのネットワークコストを取得すると、この物理マシン1~4ごとのネットワークコストと、各物理マシン1~4のリソース使用率等を用いて、新VMを稼働させる物理マシンの適性度を表すトータルコストを求め、トータルコストが最も低い物理マシンを、新VMを稼働させる物理マシンとして決定する。
 図8は、第2算出部140の処理手順を示すフローチャートである。第2算出部140は、管理部120からネットワークコストの取得要求を受け取ると(ステップS201)、管理部120から、通信許可情報と構成情報とを取得する(ステップS202)。次に、第2算出部140は、第1算出部130に対して、ネットワーク距離の取得要求を出す(ステップS203)。そして、第2算出部140は、ステップS203の取得要求に対する応答として第1算出部130から送られたネットワーク距離を取得すると(ステップS204)、ステップS202で取得した通信許可情報および構成情報と、ステップS204で取得したネットワーク距離とに基づいて、物理マシン1~4ごとのネットワークコストを算出する(ステップS205)。そして、第2算出部140は、ステップS201で受け取った取得要求に対する応答として、ステップS205で算出したネットワークコストを管理部120に返す(ステップS206)。
 以上、具体的な例を挙げながら詳細に説明したように、本実施形態に係るシステム管理装置100は、ネットワーク上の物理マシン1~4のうちの2つの物理マシンの組み合わせごとにネットワーク距離を算出し、このネットワーク距離と通信許可情報とを用いて、物理マシン1~4ごとのネットワークコストを算出し、このネットワークコストを1つの指標として用いて、物理マシン1~4のうち、新VMを稼働させる物理マシンを決定するようにしている。したがって、本実施形態に係るシステム管理装置100によれば、ネットワーク上の各物理マシン1~4の現在の状態だけでなく、新VMを稼働させた際にどのような通信を行うかを想定して新VMを稼働させるのに最適な物理マシンを決定することができ、システム全体としてより効率的な配置で新VMを稼働させることができる。
 従来の技術としては、例えば、全ての物理マシンの現在の稼動情報から最適なVMの配置を想定し、再配置を行うものがある。しかし、この従来技術では、実際にVMを物理マシンのいずれかで稼動させてからでないと稼動情報を収集することができず、VMを稼働させる前に最適配置の想定をすることができない。そのため、最適な配置が想定できたとしても、稼動しているVMを物理マシン間で移動させるライブマイグレーションと呼ばれる非常にコストの高い作業を行う必要がある。これに対して、本実施形態では、新VMを稼働させるのに最適な物理マシンを、新VMを稼働させる前に決定することができるので、ライブマイグレーションのようなコストの高い作業を行うことなく、システム全体としてより効率的なVMの配置を実現することができる。
 また、他の従来技術としては、ネットワーク上の全ての物理マシンの稼働情報に基づいて、新VMを稼働させる物理マシンを決定するものがある。この従来技術によれば、リソースに余裕がある物理マシンで新VMを稼動させることができ、物理マシンの使用リソースの平滑化をはかることが可能である。しかし、この従来技術では、新VMが稼働した後に通信を行うことについては考慮せずに、新VMを稼働させる物理マシンを決定するため、ネットワーク経路的に通信する相手と非常に遠い位置に新VMが配置されてしまい、システム全体として無駄なネットワークトラフィックを発生させてしまうことがあった。これに対して、本実施形態では、新VMが稼働した後の通信を考慮して最適な物理マシンを決定するため、システム全体としてより効率的な配置で新VMを稼働させることができる。
(第2の実施形態)
 次に、第2の実施形態について説明する。第2の実施形態は、第1算出部130がネットワーク距離を算出するために取得する負荷情報が、第1の実施形態と異なるものである。すなわち、第1の実施形態の第1算出部130は、2つの物理マシン間で通信を行う際に発生する遅延時間を負荷情報として取得したが、第2の実施形態の第1算出部130は、2つの物理マシン間で通信を行う際に利用するネットワーク経路上のネットワーク機器の帯域使用量を負荷情報として取得する。その他の構成は、第1の実施形態と共通である。
 以下、第1の実施形態と共通の構成については説明を省略し、第1の実施形態との相違点についてのみ説明する。なお、以下では、第2の実施形態の第1算出部130を、第1の実施形態と区別するために第1算出部130Aと表記する。
 第1算出部130Aは、ネットワーク上の2つの物理マシンの組み合わせごとに、2つの物理マシン間のネットワーク経路を特定する。そして、第1算出部130Aは、任意のタイミングで、各ネットワーク経路上にあるネットワーク機器(図1の例では、ルータ15やLAN51~53上のネットワークスイッチ等)から現在の帯域使用量をそれぞれ取得し、負荷情報として保持する。
 図9は、第1算出部130Aが保持する負荷情報の一例を示す図である。図9の例では、物理マシン1が接続されているLAN51上のネットワークスイッチをネットワーク機器N1、LAN51とLAN53との間のルータ15をネットワーク機器N2、物理マシン3および物理マシン4が接続されているLAN53上のネットワークスイッチをネットワーク機器N3、物理マシン2が接続されているLAN52上のネットワークスイッチをネットワーク機器N4と表記し、各ネットワーク機器N1~N4から取得した帯域使用量を表形式で表している。図9では、各ネットワーク機器N1~N4の帯域使用量を異なるタイミングで4回取得した場合の例を示しているが、帯域使用量を取得する回数は必ずしも4回である必要はない。また、帯域使用量の取得は連続して行うようにしてもよいし、新VMを稼働させることが要求される前に一定間隔で定期的に行う、あるいは、新VMを稼働させる要求があってから行うようにしてもよい。
 第1算出部130Aは、図9に示すような負荷情報をネットワーク上の各ネットワーク機器N1~N4からそれぞれ取得して保持する。そして、第1算出部130Aは、第2算出部140からネットワーク距離の取得要求を受け取ると、保持している負荷情報を用いて、ネットワーク上の2つの物理マシン間のネットワーク距離を、2つの物理マシンの組み合わせごとに算出する。
 例えば、第1算出部130Aは、負荷情報として保持するネットワーク機器の帯域使用量の最大値を用い、ネットワーク機器の最大帯域から帯域使用量の最大値を減算して、帯域残量を求める。なお、ネットワーク機器の最大帯域は、例えば、ネットワーク機器をシステムに組み込む前に事前に計測して保持しておけばよい。そして、第1算出部130Aは、2つの物理マシン間のネットワーク経路上にある全てのネットワーク機器について帯域残量を求めたら、全てのネットワーク機器の帯域残量の逆数の和を、2つの物理マシン間のネットワーク距離として算出する。例えば、物理マシン1と物理マシン3との間のネットワーク経路上にあるネットワーク機器は、ネットワーク機器N1とネットワーク機器N2とネットワーク機器N3である。図9に例示した負荷情報を用いた場合、ネットワーク機器N1の帯域残量は20、ネットワーク機器N2の帯域残量は70、ネットワーク機器N3の帯域残量は93であるので、物理マシン1と物理マシン3との間のネットワーク距離は、1/20+1/70+1/93≒0.075となる。
 第1算出部130Aは、上述した方法によって2つの物理マシンの組み合わせごとにネットワーク距離を算出する。図10は、第1算出部130Aが算出したネットワーク距離の一例を示す図である。図10の例は、負荷情報として図9に示したネットワーク機器N1~N4の帯域使用量を用いた例であり、物理マシン1~4のうちの2つの物理マシンの組み合わせごとのネットワーク距離を表形式で表したものである。第1算出部130Aは、第2算出部140からの取得要求に応じて、図10に示すような2つの物理マシンの組み合わせごとのネットワーク距離を算出し、第2算出部140に返す。
 図11は、第2算出部140が、図3に示した通信許可情報と図10に示したネットワーク距離とに基づいて算出したネットワークコストの一例を示す図であり、図11(a)は、新VM_Aを稼働させた場合のネットワークコスト、図11(b)は、新VM_Bを稼働させた場合のネットワークコストをそれぞれ表形式で表している。
 上述したように、2つの物理マシン間のネットワーク経路上にある全てのネットワーク機器の帯域残量の逆数の和を、2つの物理マシン間のネットワーク距離とすることにより、帯域をほとんど使い尽くしているネットワーク機器が一つでもある場合は、ネットワーク距離の値が非常に大きくなる。そのため、そのようなネットワーク機器を通るネットワーク経路を使用する物理マシンで新VMを稼働させる場合のネットワークコストが非常に大きくなる。その結果、システム全体としてネットワークリソースをより有効活用できるように、新VMを稼働させる物理マシンが決定されることになる。
 なお、以上の例では、第1算出部140が、2つの物理マシン間のネットワーク経路上の全てのネットワーク機器の帯域残量の逆数の和を、2つの物理マシン間のネットワーク距離として算出したが、他の方法でネットワーク距離を算出するようにしてもよい。例えば、2つの物理マシン間のネットワーク経路上の全てのネットワーク機器の帯域使用量の和を、2つの物理マシン間のネットワーク距離として算出する、あるいは、2つの物理マシン間のネットワーク経路上の全てのネットワーク機器の帯域使用量の最大値を、2つの物理マシン間のネットワーク距離とすることもできる。
 以上のように、本実施形態によれば、2つの物理マシン間のネットワーク経路上にあるネットワーク機器の帯域使用量を用いて、2つの物理マシン間のネットワーク距離を算出するようにしているので、第1の実施形態の効果に加えて、さらに、ネットワークリソースの稼働状態も反映させて新VMを稼働させるのに最適な物理マシンを決定することができ、システム全体としてより効率的な配置で新VMを稼働させることができる。
 なお、2つの物理ホスト間のネットワーク距離を算出するために用いる負荷情報や、その負荷情報を用いてネットワーク距離を算出する方法は、第1の実施形態と第2の実施形態で開示した2つの例に限られるものではなく、他にも様々な形態やそれらの組み合わせを用いることができる。
(第3の実施形態)
 次に、第3の実施形態について説明する。第3の実施形態は、取得部121が取得する通信許可情報と、この通信許可情報を用いて第2算出部140がネットワークコストを算出する方法が、第1の実施形値と異なるものである。すなわち、第1の実施形態の取得部121は、新VMに適用されるファイアウォールのルールから、新VMが通信を行うことを許可されたVMを表す通信許可情報を取得したが、第3の実施形態の取得部121は、新VMに適用されるファイアウォールのルールから、さらに通信に使用するポート番号が指定された通信許可情報を取得する。また、第1の実施形態の第2算出部140は、ネットワークコストを算出する対象の物理マシンと、通信許可情報で通信が許可されたVMが稼働している全ての物理マシンとの間のネットワーク距離を合算してネットワークコストを算出したが、第3の実施形態の第2算出部140は、ネットワークコストを算出する対象の物理マシンと、通信許可情報で通信が許可されたVMが稼働している全ての物理マシンとの間のネットワーク距離に、通信許可情報で指定されたポート番号に応じた重みを乗算した値を合算してネットワークコストを算出する。その他の構成は、第1の実施形態と共通である。
 以下、第1の実施形態と共通の構成については説明を省略し、第1の実施形態との相違点についてのみ説明する。なお、以下では、第3の実施形態の取得部121を、第1の実施形態と区別するために取得部121Aと表記し、第3の実施形態の第2算出部140を、第1の実施形態と区別するために第2算出部140Aと表記する。
 図12は、取得部121Aが取得する通信許可情報の一例を示す図であり、新VM_Cに対して適用されるファイアウォールのルールから取得した通信許可情報を表形式で表したものである。図12の表では、数値が記載されたカラムに対応するVMが、新VM_Aが通信を行うことを許可されたVMであることを示し、記載された数値が、このVMと通信を行う際に使用するポートとして指定されたポート番号を示している。つまり、図12に示す通信許可情報は、新VM_Cが、VM11およびVM32と通信を行うことが許可されており、VM11と通信を行う場合はポート番号80のポートを使用し、VM32と通信を行う場合はポート番号22のポートを使用することを表している。
 図13は、ポートごとの重みの一例を示す図である。第2算出部140Aは、図13に示すようなポートごとの重みが記述された情報を保持しており、ネットワークコストを算出する際に利用する。すなわち、第2算出部140Aは、2つの物理サーバ間のネットワーク距離に対して通信に使用するポートの番号に対応する重みを乗算し、その値を合算してネットワークコストを算出する。
 ポートごとの重みは、各ポートで一般的に使用されるプロトコルで一般的にどのくらい大きなデータが使用されるかという測定値を元に決定される。図13の例では、ポート番号80のポートは主にHTTP(Hyper Text Transfer Protocol)で使われ、データ量が非常に大きいことが多いため、重みの値が大きくなっている。また、ポート番号53のポートはDNS(Domain Name System)であり、大きなデータが流れることは少ないため、重みの値は小さくなっている。これらの重みは、例えば、実際にシステムを運用して統計的に計算すればよい。また、これらの重みを人が経験的に設定するようにしてもよい。人が経験的に設定する場合は、どのくらいの応答速度が要求されるかという観点も含めて重みを設定してもよい。例えば、高速な応答を必要とするポートほど重みの値を大きくすることが考えられる。
 ここで、第2算出部140Aが、図12に示した通信許可情報と、図13に示したポートごとの重みの情報と、図5に示したネットワーク距離とを用いて、新VM_Cを稼働させた場合のネットワークコストを算出する方法について説明する。図12に示した通信許可情報から、新VM_Cは、VM11が稼働している物理マシン1と、VM32が稼働している物理マシン3との間で通信する可能性があることが分かる。また、新VM_Cが物理マシン1と通信する場合はポート番号80のポートが使用され、新VM_Cが物理マシン3と通信する場合はポート番号22のポートが使用されることが分かる。
 ここで、新VM_Cを物理マシン1で稼働させる場合を考えると、新VM_CがVM11と通信する際は、物理マシン1と他の物理マシンとの間での通信は行われず、新VM_CがVM32と通信する際は、物理マシン1と物理マシン3との間で通信が行われることになる。したがって、新VM_Cを物理マシン1で稼働させた場合のネットワークコストは、物理マシン1と物理マシン3との間のネットワーク距離にポート番号22に対応する重みを乗算した値である。図5に示した例では、物理マシン1と物理マシン3との間のネットワーク距離は4であり、図13に示した例では、ポート番号22に対応する重みの値は0.3であるので、新VM_Cを物理マシン1で稼働させた場合のネットワークコストは1.2となる。
 また、新VM_Cを物理マシン2で稼働させる場合を考えると、新VM_CがVM11と通信する際は、物理マシン2と物理マシン1との間で通信が行われ、新VM_CがVM32と通信する際は、物理マシン2と物理マシン3との間で通信が行われることになる。したがって、新VM_Cを物理マシン2で稼働させた場合のネットワークコストは、物理マシン2と物理マシン1との間のネットワーク距離にポート番号80に対応する重みを乗算した値と、物理マシン2と物理マシン3との間のネットワーク距離にポート番号22に対応する重みを乗算した値とを合算して算出することができる。図5に示した例では、物理マシン2と物理マシン1との間のネットワーク距離は24、物理マシン2と物理マシン3との間のネットワーク距離は32であり、図13に示した例では、ポート番号80に対応する重みの値は0.8、ポート番号22に対応する重みの値は0.3であるので、新VM_Cを物理マシン2で稼働させた場合のネットワークコストは28.8となる。
 また、新VM_Cを物理マシン3で稼働させる場合を考えると、新VM_CがVM11と通信する際は、物理マシン3と物理マシン1との間で通信が行われ、新VM_CがVM32と通信する際は、物理マシン3と他の物理マシンとの間での通信は行われないことになる。したがって、新VM_Cを物理マシン3で稼働させた場合のネットワークコストは、物理マシン3と物理マシン1との間のネットワーク距離にポート番号80に対応する重みを乗算した値である。図5に示した例では、物理マシン3と物理マシン1との間のネットワーク距離は4であり、図13に示した例では、ポート番号80に対応する重みの値は0.8であるので、新VM_Cを物理マシン3で稼働させた場合のネットワークコストは3.2となる。
 また、新VM_Cを物理マシン4で稼働させる場合を考えると、新VM_CがVM11と通信する際は、物理マシン4と物理マシン1との間で通信が行われ、新VM_CがVM32と通信する際は、物理マシン4と物理マシン3との間で通信が行われることになる。したがって、新VM_Cを物理マシン4で稼働させた場合のネットワークコストは、物理マシン4と物理マシン1との間のネットワーク距離にポート番号80に対応する重みを乗算した値と、物理マシン4と物理マシン3との間のネットワーク距離にポート番号22に対応する重みを乗算した値とを合算して算出することができる。図5に示した例では、物理マシン4と物理マシン1との間のネットワーク距離は3、物理マシン4と物理マシン3との間のネットワーク距離は1であり、図13に示した例では、ポート番号80に対応する重みの値は0.8、ポート番号22に対応する重みの値は0.3であるので、新VM_Cを物理マシン4で稼働させた場合のネットワークコストは2.7となる。
 図14は、第2算出部140Aが算出したネットワークコストの一例を示す図であり、新VM_Cを稼働させた場合のネットワークコストを表形式で表している。第2算出部140Aは、管理部120からのネットワークコストの取得要求に応じて、図14に示すような物理マシン1~4ごとのネットワークコストを算出し、管理部120からの取得要求に対する応答として、算出した物理マシン1~4ごとのネットワークコストを管理部120に返す。
 以上のように、本実施形態によれば、新VMが通信を行う際に使用するポート番号に応じた重みをネットワーク距離に乗算してネットワークコストを算出するようにしているので、第1の実施形態の効果に加えて、さらに、通信のデータ量や必要とする応答速度などを加味して新VMを稼働させるのに最適な物理マシンを決定することができ、システム全体としてより効率的な配置で新VMを稼働させることができる。
 なお、ネットワーク距離に対して重み付けする方法としては、通信に使用するポート番号に応じた重み付けに限らず、例えば、上述したセキュリティグループの情報等、新VMに適用されるファイアウォールのルールに含まれる他の情報を用いて重み付けを行うようにしてもよい。
 以上、第1乃至第3の実施形態を説明したが、これらの実施形態に係るシステム管理装置100の各機能は、例えば、システム管理装置100において所定のプログラムを実行することにより実現することができる。この場合、システム装置100は、例えば図15に示すように、CPU(Central Processing Unit)101などの制御装置、ROM(Read Only Memory)102やRAM(Random Access Memory)103などの記憶装置、ネットワークに接続して通信を行う通信I/F104、各部を接続するバス105などを備えた、通常のコンピュータを利用したハードウェア構成となる。
 実施形態に係るシステム管理装置100で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk Recordable)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
 また、実施形態に係るシステム管理装置100で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、実施形態に係るシステム管理装置100で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
 また、実施形態に係るシステム管理装置100で実行されるプログラムを、ROM102等に予め組み込んで提供するように構成してもよい。
 実施形態に係るシステム管理装置100で実行されるプログラムは、システム管理装置100の各機能を実現する処理部(通信部110、管理部120(取得部121、決定部122)、第1算出部130、第2算出部140)を含むモジュール構成となっており、実際のハードウェアとしては、例えば、CPU101(プロセッサ)が上記記録媒体からプログラムを読み出して実行することにより、上述した各処理部が主記憶装置上にロードされ、上述した各処理部が主記憶装置上に生成されるようになっている。なお、実施形態に係るシステム管理装置100は、上述した各処理部の一部または全部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの専用のハードウェアを用いて実現することも可能である。
 なお、実施形態に係るシステム管理装置100は、上述した各処理部を1つの装置で実現する必要はなく、上述した各処理部を複数の装置に分散させて実現する構成であってもよい。
 以上、本発明の実施形態を説明したが、ここで説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。ここで説明した新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。ここで説明した実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。

Claims (9)

  1.  仮想マシンを稼働させる複数の物理マシンがネットワークを介して通信可能に接続されたネットワークシステムを管理するシステム管理装置であって、
     複数の前記物理マシンの1つが他の前記物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、前記物理マシンの組み合わせごとに算出する第1算出部と、
     新たに稼働させる仮想マシンである第1マシンが、複数の前記物理マシンのいずれかで既に稼働している仮想マシンである第2マシンのうち、いずれの前記第2マシンと通信を行うことが許可されているかを表す通信許可情報を取得する取得部と、
     前記物理マシンの組み合わせごとに算出された前記ネットワーク距離と、前記通信許可情報とに基づいて、複数の前記物理マシンの1つが前記第1マシンを稼働させた場合に、通信が許可された前記第2マシンと前記第1マシンが通信を行うことによる前記ネットワークシステムの負荷の大きさを表すネットワークコストを、複数の前記物理マシンごとに算出する第2算出部と、
     複数の前記物理マシンごとに算出された前記ネットワークコストを用いて、前記第1マシンを複数の前記物理マシンのうち、いずれの前記物理マシンで稼働させるかを決定する決定部と、を備えるシステム管理装置。
  2.  前記第2算出部は、前記ネットワークコストを算出する対象の前記物理マシンと前記第1マシンが通信を行うことを許可されている前記第2マシンが稼働している前記物理マシンとの間の前記ネットワーク距離を合算して、前記ネットワークコストを算出する、請求項1に記載のシステム管理装置。
  3.  前記取得部は、通信に使用するポート番号が指定された前記通信許可情報を取得し、
     前記第2算出部は、前記ネットワークコストを算出する対象の前記物理マシンと前記第1マシンが通信を行うことを許可されている前記第2マシンが稼働している前記物理マシンとの間の前記ネットワーク距離に、前記通信許可情報で指定されたポート番号に応じた重みを乗算した値を合算して、前記ネットワークコストを算出する、請求項1に記載のシステム管理装置。
  4.  前記第1算出部は、前記物理マシンの1つが他の前記物理マシンと通信を行うことで発生する遅延時間を用いて、前記ネットワーク距離を算出する、請求項1に記載のシステム管理装置。
  5.  前記第1算出部は、前記物理マシンの1つが他の前記物理マシンと通信を行う際に利用するネットワーク経路上のネットワーク機器の帯域使用量を用いて、前記ネットワーク距離を算出する、請求項1に記載のシステム管理装置。
  6.  前記取得部は、前記第1マシンに対して適用されるファイアウォールのルールから、前記通信許可情報を取得する、請求項1に記載のシステム管理装置。
  7.  仮想マシンを稼働させる複数の物理マシンと、システム管理装置と、がネットワークを介して通信可能に接続されたネットワークシステムであって、
     前記システム管理装置は、
     複数の前記物理マシンの1つが他の前記物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、前記物理マシンの組み合わせごとに算出する第1算出部と、
     新たに稼働させる仮想マシンである第1マシンが、複数の前記物理マシンのいずれかで既に稼働している仮想マシンである第2マシンのうち、いずれの前記第2マシンと通信を行うことが許可されているかを表す通信許可情報を取得する取得部と、
     前記物理マシンの組み合わせごとに算出された前記ネットワーク距離と、前記通信許可情報とに基づいて、複数の前記物理マシンの1つが前記第1マシンを稼働させた場合に、通信が許可された前記第2マシンと前記第1マシンが通信を行うことによる前記ネットワークシステムの負荷の大きさを表すネットワークコストを、複数の前記物理マシンごとに算出する第2算出部と、
     複数の前記物理マシンごとに算出された前記ネットワークコストを用いて、前記第1マシンを複数の前記物理マシンのうち、いずれの前記物理マシンで稼働させるかを決定する決定部と、を備えるネットワークシステム。
  8.  仮想マシンを稼働させる複数の物理マシンがネットワークを介して通信可能に接続されたネットワークシステムを管理するシステム管理装置において実行されるシステム管理方法であって、
     前記システム管理装置の第1算出部が、複数の前記物理マシンの1つが他の前記物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、前記物理マシンの組み合わせごとに算出するステップと、
     前記システム管理装置の取得部が、新たに稼働させる仮想マシンである第1マシンが、複数の前記物理マシンのいずれかで既に稼働している仮想マシンである第2マシンのうち、いずれの前記第2マシンと通信を行うことが許可されているかを表す通信許可情報を取得するステップと、
     前記システム管理装置の第2算出部が、前記物理マシンの組み合わせごとに算出された前記ネットワーク距離と、前記通信許可情報とに基づいて、複数の前記物理マシンの1つが前記第1マシンを稼働させた場合に、通信が許可された前記第2マシンと前記第1マシンが通信を行うことによる前記ネットワークシステムの負荷の大きさを表すネットワークコストを、複数の前記物理マシンごとに算出するステップと、
     前記システム管理装置の決定部が、複数の前記物理マシンごとに算出された前記ネットワークコストを用いて、前記第1マシンを複数の前記物理マシンのうち、いずれの前記物理マシンで稼働させるかを決定するステップと、を含むシステム管理方法。
  9.  仮想マシンを稼働させる複数の物理マシンがネットワークを介して通信可能に接続されたネットワークシステムを管理するコンピュータに、
     複数の前記物理マシンの1つが他の前記物理マシンと通信を行う際の負荷の大きさを表すネットワーク距離を、前記物理マシンの組み合わせごとに算出する機能と、
     新たに稼働させる仮想マシンである第1マシンが、複数の前記物理マシンのいずれかで既に稼働している仮想マシンである第2マシンのうち、いずれの前記第2マシンと通信を行うことが許可されているかを表す通信許可情報を取得する機能と、
     前記物理マシンの組み合わせごとに算出された前記ネットワーク距離と、前記通信許可情報とに基づいて、複数の前記物理マシンの1つが前記第1マシンを稼働させた場合に、通信が許可された前記第2マシンと前記第1マシンが通信を行うことによる前記ネットワークシステムの負荷の大きさを表すネットワークコストを、複数の前記物理マシンごとに算出する機能と、
     複数の前記物理マシンごとに算出された前記ネットワークコストを用いて、前記第1マシンを複数の前記物理マシンのうち、いずれの前記物理マシンで稼働させるかを決定する機能と、を実現させるためのプログラム。
PCT/JP2012/074271 2012-09-21 2012-09-21 システム管理装置、ネットワークシステム、システム管理方法およびプログラム WO2014045413A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201280002948.XA CN103827827B (zh) 2012-09-21 2012-09-21 系统管理装置、网络系统以及系统管理方法
JP2012543392A JP5377775B1 (ja) 2012-09-21 2012-09-21 システム管理装置、ネットワークシステム、システム管理方法およびプログラム
PCT/JP2012/074271 WO2014045413A1 (ja) 2012-09-21 2012-09-21 システム管理装置、ネットワークシステム、システム管理方法およびプログラム
US13/846,062 US9148355B2 (en) 2012-09-21 2013-03-18 System management device, network system, system management method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/074271 WO2014045413A1 (ja) 2012-09-21 2012-09-21 システム管理装置、ネットワークシステム、システム管理方法およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/846,062 Continuation US9148355B2 (en) 2012-09-21 2013-03-18 System management device, network system, system management method, and program

Publications (1)

Publication Number Publication Date
WO2014045413A1 true WO2014045413A1 (ja) 2014-03-27

Family

ID=49955020

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/074271 WO2014045413A1 (ja) 2012-09-21 2012-09-21 システム管理装置、ネットワークシステム、システム管理方法およびプログラム

Country Status (4)

Country Link
US (1) US9148355B2 (ja)
JP (1) JP5377775B1 (ja)
CN (1) CN103827827B (ja)
WO (1) WO2014045413A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117916714A (zh) * 2021-08-31 2024-04-19 瑞典爱立信有限公司 用于vm调度的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141635A (ja) * 2010-01-06 2011-07-21 Hitachi Ltd ホスト間通信を使用した仮想サーバのデータの通信方法
JP2011180889A (ja) * 2010-03-02 2011-09-15 Nec Corp ネットワークリソース管理システム、装置、方法及びプログラム
JP2011221581A (ja) * 2010-04-02 2011-11-04 Hitachi Ltd 計算機システムの管理方法、計算機システム管理端末および計算機管理システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000268004A (ja) 1999-03-18 2000-09-29 Hitachi Ltd 分散計算機環境におけるオブジェクトの最適分散配置方法
US7454457B1 (en) * 2000-02-07 2008-11-18 Parallel Networks, Llc Method and apparatus for dynamic data flow control using prioritization of data requests
JP3861087B2 (ja) 2003-10-08 2006-12-20 株式会社エヌ・ティ・ティ・データ 仮想マシン管理装置及びプログラム
JP4519098B2 (ja) 2006-03-30 2010-08-04 株式会社日立製作所 計算機の管理方法、計算機システム、及び管理プログラム
US8130756B2 (en) * 2007-07-13 2012-03-06 Hewlett-Packard Development Company, L.P. Tunnel configuration associated with packet checking in a network
JP4906686B2 (ja) * 2007-11-19 2012-03-28 三菱電機株式会社 仮想マシンサーバサイジング装置及び仮想マシンサーバサイジング方法及び仮想マシンサーバサイジングプログラム
JP2010146420A (ja) 2008-12-22 2010-07-01 Hitachi Ltd 余剰資源管理システム、その管理方法、及びサーバ装置
WO2010140183A1 (ja) * 2009-06-01 2010-12-09 富士通株式会社 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法
US7937438B1 (en) * 2009-12-07 2011-05-03 Amazon Technologies, Inc. Using virtual networking devices to manage external connections
JP2011186821A (ja) 2010-03-09 2011-09-22 Nec Corp 仮想化環境管理システム、装置、方法及びプログラム
JP2011186809A (ja) 2010-03-09 2011-09-22 Nippon Telegr & Teleph Corp <Ntt> アプリケーション割当図生成装置および方法
JP5556507B2 (ja) 2010-08-30 2014-07-23 富士通株式会社 仮想マシン管理プログラム、仮想マシン管理方法、および仮想マシン管理装置
JP2012099062A (ja) * 2010-11-05 2012-05-24 Hitachi Ltd サービス連携システムおよび情報処理システム
EP2707795A1 (en) * 2011-05-13 2014-03-19 Telefonaktiebolaget LM Ericsson (PUBL) Allocation of virtual machines in datacenters

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141635A (ja) * 2010-01-06 2011-07-21 Hitachi Ltd ホスト間通信を使用した仮想サーバのデータの通信方法
JP2011180889A (ja) * 2010-03-02 2011-09-15 Nec Corp ネットワークリソース管理システム、装置、方法及びプログラム
JP2011221581A (ja) * 2010-04-02 2011-11-04 Hitachi Ltd 計算機システムの管理方法、計算機システム管理端末および計算機管理システム

Also Published As

Publication number Publication date
JPWO2014045413A1 (ja) 2016-08-18
US9148355B2 (en) 2015-09-29
JP5377775B1 (ja) 2013-12-25
CN103827827B (zh) 2017-05-17
CN103827827A (zh) 2014-05-28
US20140089497A1 (en) 2014-03-27

Similar Documents

Publication Publication Date Title
KR101603928B1 (ko) 클라우드 서비스 간의 이송 시 애플리케이션 성능의 유지
EP2335162B1 (en) Dynamic distribution of virtual machines in a communication network
US20150032894A1 (en) Profile-based sla guarantees under workload migration in a distributed cloud
US20120304175A1 (en) Network performance monitor for virtual machines
JP6097235B2 (ja) 負荷分散システム、負荷分散装置及び負荷分散方法
US20160156567A1 (en) Allocation method of a computer resource and computer system
KR20150054998A (ko) 클라우드 내에서 지리적으로 분산된 애플리케이션의 자동화 배치를 위한 방법 및 장치
US10541878B2 (en) Client-space network monitoring
US10469352B2 (en) Method and apparatus for available bandwidth measurement
US20140244844A1 (en) Control device and resource control method
JP6558374B2 (ja) スケール数推定装置、スケール数管理システム、スケール数推定方法、スケール数管理方法、および、コンピュータ・プログラム
CN112437023A (zh) 虚拟化安全网元数据处理方法、系统、介质和云平台
US11695631B1 (en) Generating candidate links and candidate paths before selecting links for an optimized optical network plan
US9769022B2 (en) Timeout value adaptation
JP6754115B2 (ja) 選択装置、装置選択方法、プログラム
JP5377775B1 (ja) システム管理装置、ネットワークシステム、システム管理方法およびプログラム
WO2017071780A1 (en) Methods and systems of mapping virtual machine communication paths
US11652738B2 (en) Systems and methods for utilizing segment routing over an internet protocol data plane for latency metrics reduction
JP2018032245A (ja) 計算機システム及びリソース制御方法
JP6399127B2 (ja) システム管理装置、システム管理方法、プログラム、情報処理システム
Agache et al. Cloudtalk: Enabling distributed application optimisations in public clouds
Ekanayake et al. SDN-based IaaS for mobile computing
JP6339978B2 (ja) リソース割当管理装置およびリソース割当管理方法
CN108206838B (zh) 一种负载均衡系统、方法及装置
US11973666B1 (en) Systems and methods for using blockchain to manage service-level agreements between multiple service providers

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2012543392

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 12884941

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12884941

Country of ref document: EP

Kind code of ref document: A1