Method for acquiring in-band information of server by BMC (baseboard management controller)

By installing the agent program in the server operating system, converting and sending in-band information to CPLD, the problem that BMC cannot obtain in-band information while the management network is isolated from the service network, and safe and real-time information acquisition and management are achieved.

CN120075022AActive Publication Date: 2025-05-30联想长风科技(北京)有限公司

Patent Information

Application Number
CN202510123982.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-26
Publication Date
2025-05-30
Estimated Expiration
2045-01-26

AI Technical Summary

Technical Problem

When the management network is isolated from the server business network, the BMC cannot directly obtain the server's in-band information, which limits the remote monitoring and management efficiency of server information.

Method used

By installing the agent program in the target server operating system, the agent program obtains the in-band information of the server and converts it into a preset string and sends it to the CPLD. CPLD performs real-time analysis and identification, and stores the parsed information in its internal registers. BMC reads information from CPLD through the I2C interface and displays it through the BMC WEB interface.

Benefits of technology

It realizes the secure and real-time acquisition of server in-band information in a network isolation environment, improves the real-time and stability of data processing, and improves the efficiency of server information monitoring and management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120075022A_ABST
    Figure CN120075022A_ABST
Patent Text Reader

Abstract

The invention discloses a method for acquiring in-band information of a server by a BMC (Baseboard Management Controller), and relates to the technical field related to server management, the method comprises the following steps: installing an agent program in a target server operating system; the server in-band information is converted into a character string in a preset conversion format, and the character string is sent to the CPLD; real-time analysis result identification is carried out, and when an identification result is server in-band information sent by an agent program, the analyzed server in-band information is stored in an internal register of a CPLD; and when the requirement of remotely acquiring the real-time in-band information of the server exists, reading the information from the internal register of the CPLD by using the BMC. The technical problem that in-band information cannot be obtained by the BMC under the condition that a management network and a server service network are isolated in the prior art is solved, the in-band information of the server is safely obtained in real time in a network isolation environment, and the technical effect of improving the real-time performance and stability of data processing is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of server management, and in particular, to a method for a BMC to obtain in-band information of a server. Background Art

[0002] With the rapid development of information technology, especially in the fields of cloud computing, big data, and high-performance computing, the scale of data centers has become increasingly large, and the number and complexity of servers have also been increasing. To ensure the reliability, stability, and security of servers, especially in large-scale data centers, remote management and monitoring of servers have become crucial. Out-of-band management (OOBM) refers to the technology of obtaining and maintaining server hardware status information through a management interface independent of the server's main system (operating system and applications). In-band information includes, but is not limited to, important hardware monitoring data such as the temperature, power status, hard disk status, memory usage, and CPU usage of the server. The BMC (Baseboard Management Controller) is the core component for in-band management of the server. The BMC interacts with the server's hardware (such as sensors, CPLDs, memory, etc.) through the management network interface to implement the remote management function.

[0003] In many projects and application scenarios, due to network security considerations, the business network of the server and the management network of the BMC are required to be physically isolated. Since the BMC cannot be directly connected to the server's business network, the BMC cannot obtain the in-band information of the server through traditional methods (such as directly transmitting the in-band information to the management interface based on a shared network port, using IPMI commands, etc.) for administrators to perform real-time monitoring and analysis, which greatly limits the use of the BMC in these application scenarios and affects the efficiency of remote monitoring and management of server information.

[0004] In the current related technologies, there is a technical problem that the BMC cannot obtain in-band information when the management network is isolated from the server's business network. Summary of the Invention

[0005] This application provides a method for a BMC to obtain in-band information of a server, which solves the technical problem in the prior art that the BMC cannot obtain in-band information when the management network is isolated from the server's business network, realizes the safe and real-time acquisition of in-band information of the server in a network isolation environment, and achieves the technical effect of improving the real-time performance and stability of data processing.

[0006] This application provides a method for a BMC to obtain in-band information of a server, including: installing an agent program in the target server operating system, where the agent program obtains the in-band information of the server by accessing an API function; configuring a preset conversion format, and using the agent program to convert the in-band information of the server into a string in the preset conversion format, and sending the string to the CPLD through a debug serial port; performing real-time parsing of the data on the debug serial port based on the CPLD, and identifying the real-time parsing result through string features. When the identification result is the in-band information of the server sent by the agent program, storing the parsed in-band information of the server in the internal register of the CPLD; when there is a need to remotely obtain the real-time in-band information of the server, the BMC reads the information from the internal register of the CPLD and displays the read information through the BMC WEB interface.

[0007] In a possible implementation, the method for a BMC to obtain in-band information of a server further performs the following processing: the agent program calls the printf function to send the string to the CPLD through the debug serial port in the form of debug information.

[0008] In a possible implementation, the method for a BMC to obtain in-band information of a server further performs the following processing: the in-band information of the server includes CPU usage rate, memory occupancy rate, hard disk usage rate, network card uplink bandwidth, and network card downlink bandwidth.

[0009] In a possible implementation, the method for a BMC to obtain in-band information of a server further performs the following processing: configuring a 512-byte FIFO buffer; determining whether the serial port log in the real-time parsing result conforms to the string feature; if the serial port log conforms to the string feature, generating an interception instruction; intercepting the complete information of the corresponding string according to the interception instruction, and storing the interception result as the in-band information of the server in the internal register of the CPLD.

[0010] In a possible implementation, the method for a BMC to obtain in-band information of a server further performs the following processing: obtaining the character information type of the interception result; determining whether the character information type exists in the CPLD; if the character information type exists in the CPLD, extracting the data information of the interception result and storing the data information as the in-band information of the server in the internal register of the CPLD.

[0011] In a possible implementation, the method for a BMC to obtain in-band information of a server further performs the following processing: if the character information type does not exist in the CPLD, generating a return instruction; jumping to the string feature determination process according to the return instruction, and continuing to perform serial port log identification.

[0012] In a possible implementation, the method for a BMC to obtain in-band information of a server further performs the following processing: The BMC is connected to the CPLD through an I2C interface. The BMC serves as the I2C master device, and the CPLD is the I2C slave device.

[0013] In a possible implementation, the method for a BMC to obtain in-band information of a server further performs the following processing: The BMC performs data interaction with the CPLD through an SPI or UART interface to obtain in-band information of the server.

[0014] It is proposed to install an agent program in the target server operating system by the method for a BMC to obtain in-band information of a server provided in this application; convert the in-band information of the server into a string in a preset conversion format and send it to the CPLD; perform real-time parsing result recognition. When the recognition result is the in-band information of the server sent by the agent program, store the parsed in-band information of the server in the internal register of the CPLD; when there is a need to remotely obtain real-time in-band information of the server, the BMC reads the information from the internal register of the CPLD. This solves the technical problem in the prior art that the BMC cannot obtain in-band information when the management network and the server service network are isolated, realizes the safe and real-time acquisition of in-band information of the server in a network isolation environment, and achieves the technical effect of improving the real-time performance and stability of data processing. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings of the embodiments of the present invention will be briefly introduced below. Flowcharts are used in this application to illustrate the operations performed by the system according to the embodiments of the present application. It should be understood that the operations before or below do not necessarily need to be executed precisely in sequence. On the contrary, according to the need, they can be executed in reverse order or simultaneously. At the same time, other operations can also be added to these processes, or one or several operations can be removed from these processes.

[0016] Figure 1 It is a schematic flowchart of a method for a BMC to obtain in-band information of a server provided by an embodiment of the present application.

[0017] Figure 2 It is a schematic flowchart of the server CPLD operation of a method for a BMC to obtain in-band information of a server provided by an embodiment of the present application.

[0018] Figure 3 It is a schematic diagram of the design principle of a method for a BMC to obtain in-band information of a server provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0019] The above description is only an overview of the technical solution of this application. In order to understand the technical means of this application more clearly, it can be implemented according to the content of the specification. And in order to make the above and other purposes, features and advantages of this application more obvious and understandable, the specific embodiments of this application are specifically given below.

[0020] In order to make the purpose, technical solution and advantages of this application clearer, the following will further describe this application in detail with reference to the accompanying drawings. The described embodiments should not be regarded as limitations of this application. All other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of this application.

[0021] In the following description, "some embodiments" are involved, which describe a subset of all possible embodiments. However, it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict. The terms "first / second" involved are only used to distinguish similar objects and do not represent a specific order for the objects. The terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, product or server including a series of steps or units does not necessarily limit to those steps or units clearly listed, but may include other steps or modules not clearly listed or inherent to these processes, methods, products or devices. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the technical field to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application.

[0022] An embodiment of this application provides a method for BMC to obtain in-band information of a server, as Figure 1 shown, the method includes:

[0023] Step S100, install an agent program in the target server operating system, and the agent program obtains the in-band information of the server by accessing the api function.

[0024] Further, step S100 further includes that the agent program calls the printf function to send the string to the CPLD through the debug serial port in the form of debug information.

[0025] Further, step S100 further includes that the in-band information of the server includes CPU usage rate, memory occupancy rate, hard disk usage rate, network card uplink bandwidth, and network card downlink bandwidth.

[0026] Preferably, the agent program is installed in the operating system of the target server and works together with other components of the operating system. The agent program refers to a small monitoring program that continuously runs and monitors the status of the server, collects various in-band data in real time, and packages and sends the in-band information through the debug serial port. Specifically, the server agent program obtains the in-band information of the server by accessing the api function. The in-band information refers to the low-level hardware information obtained through the interfaces at the server hardware or operating system level, including CPU usage, memory occupancy, hard disk usage, network card uplink bandwidth, network card downlink bandwidth, and other information. The Agent program organizes this information into a string in a fixed format one by one. For example, the CPU usage is organized as "legendcf.agent.systeminfo.cpu_occupancy=60.54%".

[0027] Preferably, the CPU usage refers to the workload of the server's central processing unit (CPU) during a certain period of time, usually expressed as a percentage, which reflects the occupancy of CPU resources. Usually, the busy degree of the CPU is estimated by monitoring the active cycle of the CPU. A high CPU usage (e.g., close to 100%) means that the system load is heavy, and there may be performance bottlenecks or overload problems. A low CPU usage indicates that the CPU resources are idle, meaning that the system resources are not fully utilized; the memory occupancy refers to the degree of use of the server's memory, usually expressed as the percentage of the used memory in the total memory, which reflects the memory consumption of the system when processing tasks. A high memory occupancy rate (e.g., close to 100%) means that the system is using a large amount of memory resources, which may lead to memory shortage or system lag. A low memory occupancy rate indicates that the system has enough memory space and has not reached the resource limit. Through the in-band information, the BMC can monitor the memory usage in real time; the hard disk usage refers to the usage of the hard disk storage space, expressed as the percentage of the used space in the total storage space, which reflects the utilization degree of the server's hard disk storage resources. A high hard disk usage (such as exceeding 90%) means that the hard disk storage is about to be full, and a low hard disk usage indicates that there is still sufficient available space on the hard disk. Through in-band monitoring, the BMC can monitor the hard disk usage in real time and issue warnings in time to prevent the hard disk space from being exhausted.

[0028] Preferably, the uplink bandwidth of the network card refers to the rate at which the network interface (network card) of the server transmits data to the external network. It is usually measured in bits per second (bps), kilobits per second (kbps), or megabits per second (Mbps). The uplink bandwidth represents the maximum transmission rate when the server uploads data to the network. It is usually related to the services running on the server (such as file upload, database synchronization, cloud computing services, etc.). Monitoring the uplink bandwidth can help administrators understand the data upload capacity of the server, especially in high-traffic or high-load scenarios, to ensure the smoothness of data transmission. The downlink bandwidth of the network card refers to the rate at which the server receives data from the external network, measuring the ability to transfer data from the network to the server. The unit is the same as the uplink bandwidth, usually bps, kbps, or Mbps. The downlink bandwidth reflects the server's ability to receive data and is related to the amount of data downloaded from remote users, received requests, or processed external inputs. Through in-band monitoring, the BMC can obtain the downlink bandwidth of the network card in real time to help administrators analyze network traffic.

[0029] Preferably, the agent program then calls the printf function to send this in-band information in the form of debug information through the debug serial port. Here, the printf function is a standard library function in the C language used to output formatted text information to the console. The agent program converts the obtained in-band information into text in a specific format (usually a string) and outputs it by calling the printf function, mainly including the hardware information of the server. The debug serial port refers to a serial port used for device debugging, diagnosis, and data transmission (such as RS-232 serial port, UART, etc.), which is responsible for transmitting diagnostic information or debug information and does not depend on the operating system network protocol stack. The agent program sends this in-band information as debug information through the debug serial port to monitor and manage the running status of the server, helping administrators understand key information such as the server's load, performance, and health status, and determining whether there are potential problems to ensure the efficient and stable operation of the server.

[0030] Step S200, configure a preset conversion format, use the agent program to convert the server in-band information into a string in the preset conversion format, and send the string to the CPLD through the debug serial port.

[0031] Preferably, the preset conversion format is configured through a configuration file or coding rules. The preset conversion format is a pre-determined standard format used to represent the structure of the server in-band information, usually customized according to actual requirements, including data fields, order, type, delimiter, etc. The preset conversion format can convert in-band information (such as hard disk status, CPU usage, etc.) into a unified, machine-readable string format, such as a certain standardized text format (JSON format, XML, CSV, etc.). Specifically, the agent program is used to convert the server in-band information according to the preset conversion format, including string concatenation, formatting, conversion functions, etc. to obtain the corresponding string, that is, convert the hardware information (such as CPU temperature = 45°C, memory usage rate = 70%, etc.) into a string, and encode and parse it according to requirements; finally, the string is sent to the CPLD through the debug serial port. Specifically, since the server debug log will be output as needed (it may be output to the Baseboard Management Controller BMC or to an external serial port), the server's debug serial port is usually connected to the CPLD. The CPLD can control the switching of the server debug serial port according to actual needs. Among them, the CPLD (Complex Programmable Logic Device) is a programmable logic device (hardware unit) used for data storage, processing or conversion at the hardware level, that is, receiving the in-band information (the string converted in the preset format) sent from the agent program through the debug serial port. After the data is sent from the agent program to the CPLD through the debug serial port, the CPLD can perform real-time parsing, storage or further processing.

[0032] Step S300, perform real-time parsing of the data on the debug serial port based on the CPLD, and identify the real-time parsing result through string features. When the identification result is the in-band information of the server sent by the agent program, store the parsed in-band information of the server in the internal register of the CPLD.

[0033] Preferably, a CPLD is used to perform real-time parsing of data on the debugging serial port, that is, the CPLD parses the string data sent through the debugging serial port in real time. Specifically, when the agent program sends in-band information (such as temperature, CPU load, etc.) to the debugging serial port in a specific format, the CPLD can receive this data and perform rapid parsing to obtain the real-time parsing result. Among them, the CPLD internally implements a uart IP (the core logic module of the serial communication protocol), indicating that the CPLD has the ability to process serial data transmission, can understand and parse the data transmitted by the UART protocol, and perform real-time parsing of the data on the uart (serial communication protocol). The UART IP module of the CPLD can receive the serial data stream bit by bit, convert the data from serial form to parallel format, and then parse the data according to the preset protocol (such as data bits, parity bits, stop bits, etc.), extract the valid string, and identify the real-time parsing result through the string features. Specifically, through the string parsed internally by the CPLD, the data on the debugging serial port can be analyzed in real time, and the features in these strings, that is, the specific information fields in the preset format, can be identified. Through feature recognition, the CPLD can quickly determine whether the data is in-band information sent from the agent program. If it is found that the string conforms to the feature of "legendcf.agent.", then this string is considered to be in-band information sent from the agent program. For such strings that conform to the feature information (that is, the format, fields, and content of the string all meet the expectations), the CPLD will continue to parse. For further parsing of the string, such as "cpu_occupancy", it means that the subsequent data is the CPU occupancy rate; the CPLD stores the subsequent data in the corresponding register inside the CPLD; and so on. The CPLD performs real-time analysis of the debugging serial port data and stores the parsed in-band information in the corresponding register. Among them, the internal register of the CPLD is the place where data is stored inside the CPLD, similar to the memory of a computer. The CPLD can temporarily store the parsed data through the internal register. The CPLD can directly access the internal register, avoiding complex calculation processes, thereby improving the real-time performance of data storage and query, and providing a reliable way to realize remote monitoring and management of the server in a scenario with network isolation or high security requirements, without the situation of losing in-band data.

[0034] Further, as Figure 2 shown, step S300 further includes step S310 of configuring a 512-byte FIFO buffer; step S320 of determining whether the serial port log in the real-time parsing result conforms to the string feature; step S330 of generating an interception instruction if the serial port log conforms to the string feature; and step S340 of intercepting the complete information of the corresponding string according to the interception instruction and storing the interception result as the in-band information of the server in the internal register of the CPLD.

[0035] Preferably, configuring a 512 - byte FIFO buffer means setting up a FIFO buffer with a size of 512 bytes to temporarily store the data transmitted from the serial port. Among them, the FIFO (First In, First Out) buffer is a data storage mechanism where data is stored in the order it arrives and read in the same order, capable of storing up to 512 bytes of data until the CPLD can parse and process this data, ensuring the order and real - time nature of the data and avoiding loss or chaos when the data traffic is large; when the data is transmitted to the CPLD through the debug serial port, the CPLD performs real - time parsing to obtain the real - time parsing result, which is usually the serial port log containing multiple log messages, and then determines whether the serial port log conforms to the string characteristics, that is, analyzes all the data in the serial port log to check whether it meets the preset format or conditions (for example, whether it contains specific fields, data in a specific format, etc.); if the CPLD determines that a certain serial port log conforms to the preset string characteristics, it generates an interception instruction and intercepts the complete information of the corresponding string according to the interception instruction (extracts the complete and valid in - band information of the server and is a string that conforms to the format), and finally stores the interception result as the in - band information of the server in the internal register of the CPLD, ensuring the persistence and fast access of the data.

[0036] Further, step S340 further includes step S341, obtaining the character information type of the interception result; step S342, determining whether the character information type exists in the CPLD; step S343, if the character information type exists in the CPLD, extracting the data information of the interception result and storing the data information as the in - band information of the server in the internal register of the CPLD.

[0037] Preferably, according to the preset format, identify and determine the character information type of the data intercepted from the serial port log, that is, determine which category of data it belongs to, and then check whether the CPLD internal has already stored the data information of this type. Specifically, the internal register of the CPLD usually has different structures or arrays to store different types of in - band information. If the character information type already exists in the internal register, further extract the data information (the actual value of the data) from the interception result and store the data information as the in - band information of the server in the internal register of the CPLD, ensuring the persistence of the in - band information and the efficiency of subsequent access. The administrator can remotely query this information through the BMC.

[0038] Further, step S342 further includes step A, if the character information type does not exist in the CPLD, generating a return instruction; step B, jumping to the string characteristic determination process according to the return instruction and continuing to execute the serial port log recognition.

[0039] Preferably, if the currently extracted data type is not stored in the internal register of the CPLD, the CPLD will generate a return instruction to inform the system to continue processing and return to the string feature judgment process, i.e., log recognition. Among them, the return instruction may be a control signal or a status code, indicating that the CPLD jumps back to re-judge and process. Then, it is judged whether the log transmitted through the serial port conforms to the preset string feature or format. Specifically, the CPLD will re-scan the serial port data stream, judge whether each log conforms to the preset format, identify whether there is new in-band information to be extracted, and then continue to execute the recognition and parsing of the serial port log, including re-analyzing the data stream received from the serial port, and making judgments and identifications according to the predetermined string features (such as specific formats, fields or keywords). If the new serial port log conforms to a certain feature, the relevant in-band information will be extracted again, ensuring that the CPLD can flexibly process different types of in-band information and continuously update the data stored in it.

[0040] Step S400, when there is a need to remotely obtain the real-time in-band information of the server, the BMC is used to read the information from the internal register of the CPLD, and the read information is displayed through the BMC WEB interface.

[0041] Preferably, in a scenario where it is necessary to monitor and manage the server status in real time, when the administrator remotely obtains the in-band information of the server, the controller BMC is used to read the information from the internal register of the CPLD, including the BMC reading the server hardware status data through the I2C interface. The BMC and the CPLD are connected through the I2C interface. The BMC is the I2C master device, and the CPLD is the I2C slave device. Specifically, since the CPLD parses the data transmitted through the serial port and stores it in the internal register, the BMC only needs to access and extract this data through a suitable protocol or interface, and then display the read information through the BMC WEB interface, that is, view and display the health status, hardware monitoring data, log information, etc. of the server through the remote management interface (WEB) provided by the BMC. The administrator can view, set alarms, diagnose faults, and even perform operations such as remote restart through this interface, realizing in-band information acquisition that does not depend on the operating system and is independent of network configuration, which is very suitable for environments that require high security and high reliability, and fully guarantees the security of the server service network.

[0042] Further, as Figure 3 shown, step S400 further includes that the BMC and the CPLD are connected through the I2C interface. The BMC is the I2C master device, and the CPLD is the I2C slave device.

[0043] Preferably, I2C (i.e., Serial Peripheral Interface) is a common serial communication protocol widely used for data transmission between chips. The I2C protocol uses two signal lines for data transmission, namely SDA (Serial Data Line) and SCL (Serial Clock Line). The I2C interface is a multi-master multi-slave protocol that allows multiple master devices and multiple slave devices to be connected to the same bus. Among them, BMC acts as the I2C master device, responsible for controlling the initiation and timing of communication, sending the clock signal (SCL) and initiating data transmission, determining when to start data transmission, which devices to send data to, and requesting responses from slave devices. For example, BMC sends commands or requests to CPLD via the I2C bus to read or write data; CPLD is the I2C slave device, used to respond to the requests of the master device. It does not initiate data transmission actively but waits for the commands of the master device. As a slave device, CPLD receives instructions from BMC and sends or receives data through the I2C protocol.

[0044] Preferably, the communication process of I2C is controlled by the master device (BMC). That is, BMC, as the master device, generates the clock signal and data bits through the SCL and SDA lines, sends a read / write command to CPLD, and requests to read the in-band information of the server stored in the internal register of CPLD. After receiving the request from BMC, CPLD, as the slave device, processes it according to the type of the command. If it is a read operation, CPLD returns the requested data (such as memory usage rate, etc.) to BMC via the I2C bus. For example, CPLD sets the slave device address to 0x52, and the data stored in register address 0x01 is the CPU occupancy rate; BMC issues the i2c slave device address (CPLD device address 0x52) and the register address (0x01), and CPLD then returns the CPU occupancy rate data to BMC. Other in-band data is obtained through a similar communication method. After the data transmission is completed, the I2C communication ends, and BMC and CPLD can continue to perform subsequent data exchanges through I2C. The in-band real-time data obtained by BMC from CPLD is updated and displayed on the bmc web interface. The I2C protocol only requires two signal lines (SCL and SDA) to achieve communication between multiple devices, allowing efficient real-time data exchange between BMC and CPLD through a simple and reliable two-wire (I2C bus), which is more concise and easier to implement.

[0045] The above specific embodiments do not constitute a limitation on the protection scope of this application. Those skilled in the art should understand that various modifications, combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principle of this application shall be included within the protection scope of this application. In some cases, the actions or steps recited in this application can be executed in a different order from that in the embodiments and still achieve the desired results. Additionally, the processes depicted in the drawings do not necessarily require the specific order or sequential order shown to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

Claims

1. A method for a BMC to obtain in-band information of a server, characterized in that: The method comprises: Installing an agent program in the target server operating system, wherein the agent program obtains the server in-band information by accessing the API function; Configure a preset conversion format, use the agent program to convert the server in-band information into a character string in the preset conversion format, and send the character string to the CPLD through the debugging serial port; Based on the CPLD, real-time parsing of data on the debugging serial port is performed, and real-time parsing result recognition is performed through character string features. When the recognition result is server in-band information sent by the agent program, the parsed server in-band information is stored in the internal register of the CPLD; When there is a need to remotely obtain real-time in-band information from the server, the BMC is used to read the information from the internal register of the CPLD and the read information is displayed through the BMC WEB interface.

2. A method for a BMC to obtain in-band information of a server as claimed in claim 1, characterized in that: The sending of the character string to the CPLD through the debugging serial port comprises: an agent program calls a printf function to send the character string to the CPLD through the debugging serial port in the form of debugging information.

3. A method for a BMC to obtain in-band information of a server as claimed in claim 2, characterized in that: The server in-band information includes CPU usage, memory occupancy, hard disk usage, network card upstream bandwidth, and network card downstream bandwidth.

4. A method for a BMC to obtain in-band information of a server as claimed in claim 1, characterized in that: The real-time parsing result recognition is performed by character string features, and when the recognition result is the server in-band information sent by the agent program, the parsed server in-band information is stored in the internal register of the CPLD, including: Configure a 512-byte FIFO buffer; Determine whether the serial port log in the real-time analysis result meets the string feature; If the serial port log meets the character string feature, an interception instruction is generated; The complete information of the corresponding character string is intercepted according to the interception instruction, and the interception result is stored in the internal register of the CPLD as the server in-band information.

5. A method for a BMC to obtain in-band information of a server as claimed in claim 4, characterized in that: The method of storing the interception result as in-band information of the server in an internal register of the CPLD includes: Obtaining the character information type of the interception result; Determine whether the character information type exists in the CPLD; If the character information type exists in the CPLD, the data information of the interception result is extracted, and the data information is stored in the internal register of the CPLD as the server in-band information.

6. A method for a BMC to obtain in-band information of a server as claimed in claim 5, characterized in that: The determining whether the character information type exists in the CPLD includes: If the character information type does not exist in the CPLD, a return instruction is generated; According to the return instruction, jump to the string feature determination process and continue to perform serial port log recognition.

7. A method for a BMC to obtain in-band information of a server as claimed in claim 1, characterized in that: When there is a need to remotely obtain real-time in-band information from the server, the BMC is used to read information from the internal register of the CPLD, including: The BMC and CPLD are connected through the I2C interface, with the BMC acting as the I2C master device and the CPLD acting as the I2C slave device.

8. A method for a BMC to obtain in-band information of a server as claimed in claim 1, characterized in that: The BMC exchanges data with the CPLD via an SPI or UART interface to obtain in-band information of the server.

Citation Information

Patent Citations

  • System and method for providing system operation information through baseboard management control module

    CN104660432A

  • System and method for realizing out-of-band interaction of Expander card of server

    CN111858411A

  • Method and device for acquiring stepping information of central processing unit

    CN115827062A

  • Server information collection device

    CN117170970A

  • Server operating system communication method and device

    CN118467452A

Cited By

  • Communication system, communication method, electronic apparatus, storage medium, and program product

    CN120416337A