1. Field of Invention
The present invention relates to a method for simulating different kinds of baseboard management controllers in batches, and more particularly to a simulation method for realizing large batches and different kinds of baseboard management controllers using a single server.
2. Related Art
Intelligent platform management interface (IPMI) enables system managers to monitor health conditions of various elements in a computer device by networks, standard serial ports, or other transmitting means. For example, such health conditions include the operation of a central processing unit, the rotating speed of a heat sink fan, the temperature and voltage of a chip in a motherboard, and the like. System managers may set the sensing thresholds of the parts to be monitored, and send a PET (a derivative of SNMP trap) to MIS personnel to notify them to address a problem when the IPMI controller cannot sense normal conditions. Additionally, with the cooperation of hardware and software, the IPMI is added with a remote management function and a system reply function. As such, system managers at a remote place may know what condition the system is currently in, such as power down, power on, or OS shutdown, and send a command, such as power on, power down, and reboot.
United States Patent Publication US20060184349A1 disclosed an implementation of a virtual blade server. That implementation mentioned that a conceptual baseboard controller was provided on each virtual blade, and it did not provide an implementation that can realize the customization of different kinds of baseboard controller resources and the real time control of the condition and behavior of the baseboard controllers. Furthermore, that method cannot analogy a large number of BMCs.
In view of the above problems, the present invention is mainly directed to a simulation method for realizing large batches and different kinds of BMCs using a single server. A target terminal provides a virtual BMC according to a customizable BMC resource correspondingly, thereby realizing a test platform that can verify whether a remote device is accorded with the IPMI specification. The remote terminal may also send a control command to perform real time control and change the behavior of a baseboard controller. And the performance of the remote device accessing a large number of baseboard controllers at the same time may be verified.
For this purpose, the present invention provides a method for operating by virtual BMCs. The method includes the following steps. Various virtual baseboard controller programs are initialized according to a customizable BMC resource correspondingly. Once an access request from a client is received, the relevant data of the corresponding virtual baseboard controller is obtained with the requested and relevant information carried in the access request as an index. The virtual baseboard controller generates an output result according to a rule defined in the customizable resource. Finally, the output result is returned to the client.
The present invention provides a test platform, which simulates BMCs in batches to verify the IPMI specification of a remote device. Users may customize various virtual BMCs conveniently and simulate large batches of virtual BMCs. Various different virtual BMCs are initialized according to the user profiles, and which virtual baseboard controller will be used to enable the operation of a client is determined according to the requested and relevant information carried in an access request of the client. In this way, vendors may reduce the cost and space of the hardware setup related to buying large batches and different kinds of virtual BMCs, and may efficiently provide different BMCs to test for a client.
The present invention will become more fully understood from the detailed description given herein below for illustration only, and thus are not limitative of the present invention, and wherein:
The present invention further includes a virtual baseboard controller management program 215. The virtual baseboard controller management program 215 is connected to a client and invokes the virtual BMC management program 213 that is accorded with the client.
Customers customize a customizable baseboard controller resource (Step S410), wherein the customizable baseboard controller resource is the environmental data required by the baseboard controller to operate, (e.g., how many customers the baseboard controller involves, the sensor data record information, the Internet Protocol address (IP address) of the baseboard controller), the number of baseboard controllers of the same type to be simulated, the rule of the behavior characteristics of a virtual baseboard controller, and the like. Then, a virtual baseboard controller program is initialized according to the customizable baseboard controller resource (Step S420). According to the information of the access request from the client, it is determined that which virtual baseboard controller will be used to enable the operation of the client. For each client 220, the target terminal 210 uses the information of the access request, such as the IP Address, to assign different virtual BMC management programs 213 for corresponding process.
Then, the target terminal uses a transfer control protocol to return the environmental parameters to the client (Step S430). In order to send the environmental parameters to the client 220 indeed, the present invention utilizes the transfer control protocol as a communication protocol between the target terminal and the client, thereby ensuring the messages transferred by them will not be lost.
First, the target terminal initializes a virtual baseboard controller according to a customizable baseboard controller resource, and loads an IPMI driver (Step S510). As the client 220 is electrically connected to the target terminal 210 through a bus, the target terminal 210 may invoke the IPMI driver to communicate with the client 220. It should be noted that, the number of buses is limited, so the target terminal 210 may be connected to only one client 220 to do test in such an embodiment.
Next, a request information is forwarded to a virtual baseboard controller program by the IPMI driver (Step S520). The target terminal 210 invokes the IPMI driver to receive messages from the client 220 or send messages to the client 220, so the transmission time is shorter than that in the first embodiment.
When the virtual baseboard controller program replies a request result, the processed result from the virtual baseboard controller is converted into the format of a standard intelligence platform message (Step S530), and a corresponding function in a functional module is invoked according to the request from the client. Therein, the functional module manages the functions such as channels, memories, sensors, baseboard controller customers (BMC USR), system event logs (SEL), network, platform event filter (PEF), and alarms. Finally, the target terminal uses the IPMI driver to transfer the standard intelligence platform message data to the client (Step S540). In order to further illustrate the operation of the steps described above, refer to
The present invention is directed to a virtual BMC. A target terminal 210 connected to one or more clients 220 is used to make connection with the virtual BMC. A BMC is initialized according to a customizable baseboard controller resource correspondingly. Then the target terminal 210 invokes different BMCs according to an access request information from the client 220 to enable the operation and test of the client 220. In this way, vendors may reduce the cost and space of the hardware setup of the client 220, and efficiently provide different BMCs to serve the client 220.