The above and other objects, advantages and features of the present invention will be more apparent from the following description of exemplary embodiments taken in conjunction with the accompanying drawings, in which:
Hereinafter, a computer system according to exemplary embodiments of the present invention will be described in detail with reference to attached drawings.
It should be noted that the virtual machine monitor 110 and the virtual machines 120 may be the programs that are executed by the individual processing units (CPUs, not shown), respectively. At this time, a data communication may be carried out between the processing unit operating as the virtual machine monitor 110 and the processing unit operating as the virtual machine 120.
The virtual machine monitor 110 includes an access destination storage section 111, a frame receiving section 112, a frame rewriting section 113 and a frame transmitting section 114. The access destination storage section 111 stores an address of a host for carrying out a predetermined process. The frame receiving section 112 receives frames transmitted from the virtual machines 120. It should be noted that the frame implies a data of a data format used in a particular protocol. Usually, this is a packet in a data link layer, and includes a transmission source address and a transmission destination address. The frame rewriting section 113 rewrites the destination address of the frame in accordance with a data stored in the access destination storage section 111. The frame transmitting section 114 transmits the frame. Here, as the predetermined process, there is a process for carrying out an inquiry on the network through broadcast as well as DHCP (Dynamic Host Configuration Protocol). This will be described below by exemplifying DHCP. Also, the communication path 200 will be described below by exemplifying Ethernet.
The access destination storage section 111 includes a memory. Also, this may include a disk. The access destination storage section 111 stores an address of the DHCP server. It is supposed that as the address of the DHCP server, the IP address and a MAC address are both stored. These data are obtained from the virtual machine that operates as a DHCP client on the physical machine 100 and obtains the address of the DHCP server. It should be noted that the access destination storage section 111 may store only the IP address as the address of the DHCP server, and the MAC address corresponding thereto may be acquired from an ARP (Address Resolution Protocol) table.
The frame receiving section 112 receives a broadcast frame from the virtual machine 120-1 operating as a DHCP client before it appears on the communication path 200. At this time, the frame receiving section 112 checks whether or not the received frame satisfies a predetermined condition.
If the frame received by the frame receiving section 112 satisfies the predetermined condition, the frame rewriting section 113 rewrites the destination address of this frame. It should be noted that the frame rewriting section 113 may determine whether or not the frame satisfies the predetermined condition.
The frame transmitting section 114 transmits the frame to the destination address of the frame. If the destination address belongs to a host located on a network, the frame transmitting section 114 transmits the frame onto the communication path 200, as shown in
It should be noted that when the physical machine 100 is a typical computer, the frame is transmitted and received through a communication interface (NIC). The processing unit (CPU) carries out a determination and the other processes, and the storage section (a memory, a hard disk) stores the frame and the other information. That is, the frame receiving section 112 and the frame transmitting section 114 can be configured by a combination of the communication interface and the processing unit. The frame rewriting section 113 can be configured by the processing unit, and the access destination storage section 111 can be configured by the storage section. It should be noted that the communication between the virtual machine monitor 110 and the virtual machine 120 is an operation on the physical machine 100. Therefore, actually, there is a case that the communication interface (NIC) is not used and it may be performed such that a data of a frame format between the respective programs is transmitted and received.
The operation of the computer system according to the first exemplary embodiment of the present invention will be described below in detail with reference to a flowchart of
When the frame transmitted from the virtual machine 120-1 is received by the frame receiving section 112, the virtual machine monitor 110 checks whether or not the frame is a broadcast frame. This check is carried out by determining whether or not the transmission destination address of the frame is a broadcast address in a DHCP message format shown in
If this frame is the broadcast frame, the frame rewriting section 113 checks whether or not this frame is the DHCP message.
If this frame is the DHCP message, the frame rewriting section 113 refers to the access destination storage section 111 and checks whether or not the address data of the DHCP server is stored as an access destination address.
If the address data of the DHCP server is stored, the frame rewriting section 113 rewrites the transmission destination address of the DHCP frame in accordance with the stored address data of the DHCP server. At this time, a process of setting the MAC address of the DHCP server to an Ethernet header and setting the IP address of the DHCP server to the IP address is performed. Also, the other fields such as a checksum are rewritten as necessary.
On the other hand, if the address data of the DHCP server as the access destination address is determined not to be stored, an access destination registration requesting process is started.
After the foregoing process, the frame is transmitted to the destination. Here, the checking order between the steps S101 and S103 may be properly changed to consideration of processing performance.
The flow of the access destination registration requesting process will be described below with reference to
When the access destination registration requesting process is started at the step S105 in
The virtual machine 120-1 receives the access destination registration request and marks the fact that the access destination registration request has been issued, i.e., holds or stores a data indicative of the reception of the request.
Subsequently, the virtual machine 120-1 receives DHCPACK from the DHCP server and the DHCP server is determined. However, then, whether or not the data indicative of the access destination registration request is stored is checked.
When it is marked, the address data (the MAC address, the IP address) of the determined DHCP server is notified to the virtual machine monitor 110.
The virtual machine monitor 110 stores this address data in the access destination storage section 111. Here, a flow in which the virtual machine monitor 110 stores the address data in the access destination storage section 111 will be described. However, if the virtual machine 120-1 can access the access destination storage section 111, the virtual machine 120-1 may directly store the address data in the access destination storage section 111.
On the other hand, as shown in
In the first exemplary embodiment of the present invention, the broadcast message is converted into a unicast message. Thus, the network load caused by the broadcast can be suppressed. Also, when the destination address of the message indicates the virtual machine 120-2 in the physical machine 100, the frame is not transmitted to the communication path 200. Therefore, this has no influence on the other nodes on the network. Moreover, since the frame is directly transmitted to the virtual machine 120-2 that operates as the DHCP server, the communication of a high speed can be attained.
The configuration of the computer system according to a second exemplary embodiment of the present invention will be described below in detail with reference to the drawings. With reference to
The operations of the computer system according to the second exemplary embodiment of the present invention will be described below in detail with reference to a flowchart of
When a frame transmitted from the virtual machine 120-1 is received by the frame receiving section 112, whether or not the frame is the broadcast frame is checked. This check is carried out by determining whether or not the destination address is the broadcast address in the DHCP message format shown in
If this frame is the broadcast frame, the frame rewriting section 113 checks whether or not this frame serves as the DHCP message.
If this frame serves as the DHCP message, the frame rewriting section 113 refers to the access destination storage section 111 and checks whether or not the address data of the DHCP server is stored as the access destination address.
If the address data of the DHCP server as the access destination address is determined not to be stored, the frame rewriting section 113 starts the access destination registration requesting process.
If the address data of the DHCP server as the access destination address is stored, the frame rewriting section 113 checks whether or not a plurality of address data of the DHCP servers are stored.
If the plurality of address data of the DHCP servers are not stored, namely, if there is only one address data of the DHCP server, the frame rewriting section 113 rewrites the destination address of the DHCP frame in accordance with the stored address data of the DHCP server. At this time, a process of setting the MAC address of the DHCP server for the Ethernet header and setting the IP address of the DHCP server for the IP address is executed. Also, the other fields such as the checksum are rewritten as necessary.
If the plurality of address data of the DHCP servers are stored, the frame rewriting section 113 determines a buffer size on the basis of the number of the stored DHCP servers and carries out the allocation of at least one unicast frame buffer.
Then, the frame rewriting section 113 generates at least one unicast frame for the allocated buffer so that the DHCP server serves as the destination in accordance with the address data of the DHCP server and the frame received by the frame receiving section 112. The generated unicast frame is transmitted by the frame transmitting section 114.
In the computer system in the second exemplary embodiment of the present invention, the plurality of DHCP servers are registered and the DHCP message is transmitted to one of the DHCP servers. Thus, even if any of the DHCP servers is failed or cannot be used because of its maintenance, any of the remaining DHCP servers can be used to carry out the DHCP process.
The configuration of the computer system according to a third exemplary embodiment of the present invention will be described below in detail with reference to the drawings. With reference to
When the frame transmitted from the virtual machine 120-1 is received by the frame receiving section 112, whether or not the frame is the broadcast frame is checked. This check is carried out by determining whether or not the destination address is the broadcast address in the DHCP message format shown in
If this frame is the broadcast frame, the frame rewriting section 113 checks whether or not this frame serves as the DHCP message.
Even if this frame is determined to serve as the DHCP message, the frame rewriting section 113 keeps the broadcast state when a predetermined time elapses from the storage of the address data of the DHCP server. Then, the access destination registration requesting process is started.
When this frame indicates the DHCP message and the predetermined time does not elapse from the storage of hen the address data of the DHCP server, the frame rewriting section 113 refers to the access destination storage section 111 and checks whether or not the address data of the DHCP server is stored as the access destination address.
If the address data of the DHCP server is stored, the frame rewriting section 113 rewrites the destination address of the DHCP frame in accordance with the stored address data of the DHCP server. At this time, a process of setting the MAC address of the DHCP server for the Ethernet header and setting the IP address of the DHCP server for the IP address is executed. Also, the other fields such as checksum are rewritten as necessary.
On the other hand, if the address data of the DHCP server as the access destination address is determined not to be stored, the access destination registration requesting process is started.
In the third exemplary embodiment of the present invention, the broadcast frame is transmitted for each constant time. Thus, even if the configuration of the DHCP server is changed, its change can be grasped at the timing when the broadcast frame is transmitted.
The configuration of the computer system according to a fourth exemplary embodiment of the present invention will be described below in detail with reference to the drawings. The fourth exemplary embodiment indicates the broadcasting process of the ARP. With reference to
With reference to
In case of the broadcast frame, the frame rewriting section 113 in the fourth exemplary embodiment checks whether or not this frame is subject to ARP (Address Resolution Protocol).
When this frame is subject to ARP, the frame rewriting section 113 checks whether or not the MAC address of the IP address to be queried is already stored in the access destination storage section 111.
If it is already stored, the frame rewriting section 113 rewrites the destination address of the broadcast frame by using the MAC address.
On the other hand, if the MAC address of the IP address to be queried is not yet stored, the frame rewriting section 113 starts the access destination registration requesting process for the virtual machine transmitting the ARP broadcast frame.
A flow of the access destination registration requesting process will be described below with reference to
When starting the access destination registration requesting process at the Step S105′ of
The virtual machine 120-1 receives the access destination registration request and writes a mark to indicate that the access destination registration request has been received.
After that, the virtual machine 120-1 receives a MAC address 1 from the host having a queried IP address 1 and then checks whether or not the reception of the access destination registration request is marked.
If there is the mark, the IP address and the MAC address are notified to the virtual machine monitor 110.
The virtual machine monitor 110 stores this address data in the access destination storage section 111. In this case, similarly to the first exemplary embodiment, when the address data is stored in the access destination storage section 111, the registration request is issued to the virtual machine monitor 110, and the virtual machine monitor 110 carries out the registration in response to this request. However, when the virtual machine 120-1 may directly write the address data to the access destination storage section 111, if possible.
In the fourth exemplary embodiment of the present invention, even in case of the ARP, the broadcast can be suppressed, and the network load can be suppressed.
The configuration of the computer system according to a fifth exemplary embodiment of the present invention will be described below in detail with reference to the drawings. In the above-mentioned exemplary embodiments, the DHCP and the ARP are respectively treated to be single. However, in the fifth exemplary embodiment, both of the DHCP and the ARP are treated at the same time.
With reference to
The operations of the computer system according to the fifth exemplary embodiment of the present invention will be described below with reference to
When a frame transmitted from the virtual machine 120-1 is received by the frame receiving section 112, whether or not its frame is the broadcast frame is checked.
If the frame is a broadcast frame, the frame rewriting section 113 sets “1” to i.
The frame rewriting section 113 checks whether or not the table pointer of the service i of the pointer table 1110 is NULL, and if the table pointer of the service i is NULL, the process is ended.
The frame rewriting section 113 carries out an accessing process to the service i, if the table pointer of the service i is not NULL. However, its content is based on the DHCP or ARP and may be based on the above-mentioned first to fourth exemplary embodiments.
After that, the frame rewriting section 113 adds “1” to i and checks whether or not the table pointer of the service i is NULL.
In the fifth exemplary embodiment of the present invention, a process of suppressing the broadcast can be performed on a plurality of services. Thus, the load on the network can be further reduced.
Moreover, according to the present invention, this can be widely applied to the process of searching the destination through the broadcast from the virtual machine.
It should be noted that the virtual machine 120 may be replaced by a physical machine. Even in such a case, the present invention can be embodied. That is, the virtual machine 120 may be the physical machine of a small scale or a function block that is installed in the physical machine 100. For example, if the physical machine 100 shown in
Also, it should be noted that the physical machine 100 is not limited to a computer terminal of a single unit, and this may be a network system such as LAN, which has a plurality of terminals. When the physical machine 100 is the network system, the present invention may be embodied such that the virtual machine 120 is used as the terminal inside the system and then the virtual machine monitor 110 is used as the monitor or relay of the terminal. At this time, when the terminal corresponding to the virtual machine 120 starts the operation as the virtual machine 120 on the physical machine 100, this is regarded and treated as [Generation of Virtual Machine 120]. Similarly, when the terminal completes the operation as the virtual machine 120, this is regarded and treated as [Removal of Virtual Machine 120].
The features of the present invention have been described above. In the apparatus and method for reducing a communication load in the present invention, in the environment (hyper-visor) in which the VMs are used to integrate the plurality of clients, the DHCP server starts the VMs on the same hyper-visor. On the same LAN, there are the other clients and the other DHCP servers. In this way, the present invention is achieved in the following ways.
(8) In addition, when the client requests a service through the broadcast, similarly to a case of the DHCP server, the server providing the service operates on the VM of the same hyper-visor. Thus, the broadcast is replaced with the unicast.
As mentioned above, the present invention suppresses the broadcast from the virtual machine. For this reason, when the process request is carried out through the broadcast from the virtual machine on the physical machine, if the service request destination host is determined in advance, the broadcast is changed to the unicast to the host.
The useless broadcast can be avoided. Thus, the load on the network can be reduced. Also, the IP address group generated for the client group in the VM can be normally distributed.
Although the present invention has been described above in connection with several embodiments thereof, it will be apparent to those skilled in the art that those embodiments are provided solely for illustrating the present invention, and should not be relied upon to construe the appended claims in a limiting sense.
| Number | Date | Country | Kind |
|---|---|---|---|
| 2006-201995 | Jul 2006 | JP | national |