A method for a BMC to acquire in-band information

By installing an agent program within the server operating system and converting the in-band information into a string, and then using CPLD for real-time parsing and storage, the problem of information acquisition by BMC under network isolation conditions is solved, enabling secure and real-time server monitoring and management.

CN120075022BActive Publication Date: 2026-01-09联想长风科技(北京)有限公司
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

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

Method used

An agent program is installed on the target server's operating system. It obtains in-band information through API functions, converts it into a string in a preset format, and sends it to the CPLD for real-time parsing and storage via the debug serial port. The BMC is used to read information from the CPLD's internal registers to achieve remote acquisition.

Benefits of technology

Securely and in real-time acquire server-side information in a network-isolated environment, improving the real-time performance and stability of data processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120075022B_ABST
    Figure CN120075022B_ABST
Patent Text Reader

Abstract

The application discloses a kind of methods for obtaining in-band information of BMC, it is related to the technical field of server management, which comprises the following steps: installing an agent program in the target server operating system;Convert the server in-band information into a string in a preset conversion format and send it to CPLD;Real-time analysis result identification is performed, and when the identification 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 CPLD;When there is a demand for remotely obtaining real-time in-band information of the server, information is read from the internal register of CPLD using BMC.The technical problem that BMC cannot obtain in-band information in the case of isolating management network from server service network in the prior art is solved, and server in-band information is safely and in real time obtained in a network isolation environment, achieving the technical effect of improving the real-time performance and stability of data processing.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of server management, and particularly relates to a method for obtaining in-band information of a server by a BMC. BACKGROUND

[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 is increasingly large, and the number and complexity of servers are also increasing. In order to ensure the reliability, stability and security of servers, especially in large-scale data centers, remote management and monitoring of servers become crucial. Out-of-band management (OOBM) refers to a technology for obtaining server hardware state information and performing maintenance through a management interface independent of the server main system (operating system and application). In-band information includes but is not limited to important hardware monitoring data such as temperature, power state, hard disk state, memory usage, CPU usage, etc. of the server. BMC (Baseboard Management Controller) is the core component of the server for in-band management. BMC interacts with the hardware of the server (such as sensors, CPLD, memory, etc.) through a management network interface to realize remote management functions.

[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 business network of the server, the BMC cannot obtain the in-band information of the server through traditional methods (such as directly transmitting in-band information to the management interface based on a shared network port, using IPMI commands, etc. for real-time monitoring and analysis by administrators), 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] At present, in the related art, there is a technical problem that the BMC cannot obtain in-band information when the management network and the server business network are isolated. SUMMARY

[0005] The present application provides a method for obtaining in-band information of a server by a BMC, which solves the technical problem that the BMC cannot obtain in-band information when the management network and the server business network are isolated in the prior art, and realizes safe and real-time acquisition of in-band information of the server in a network isolation environment, achieving the technical effect of improving the real-time performance and stability of data processing.

[0006] The application provides a method for a BMC to obtain in-band information of a server, comprising: installing an agent program in an operating system of a target server, the agent program obtaining in-band information of the server by accessing an API function; configuring a preset conversion format, converting the in-band information of the server into a string in the preset conversion format by using the agent program, and sending the string to a CPLD through a debugging serial port; performing real-time analysis on data on the debugging serial port based on the CPLD, and identifying a real-time analysis result by using a string feature, when the identification result is the in-band information of the server sent by the agent program, storing the analyzed in-band information of the server into an internal register of the CPLD; when there is a demand for remotely obtaining real-time in-band information of the server, reading the information from the internal register of the CPLD by using the BMC, and displaying the read information through a BMC WEB interface.

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

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

[0009] In a possible implementation, the method for the BMC to obtain the in-band information of the server further performs the following processing: a 512-byte FIFO buffer is configured; it is judged whether a serial port log in the real-time analysis result conforms to the string feature; if the serial port log conforms to the string feature, an intercepting instruction is generated; the corresponding string complete information is intercepted according to the intercepting instruction, and the intercepting result is stored into the internal register of the CPLD as the in-band information of the server.

[0010] In a possible implementation, the method for the BMC to obtain the in-band information of the server further performs the following processing: the character information type of the intercepting result is obtained; it is judged whether the character information type exists in the CPLD; if the character information type exists in the CPLD, data information of the intercepting result is extracted, and the data information is stored into the internal register of the CPLD as the in-band information of the server.

[0011] In a possible implementation, the method for the BMC to obtain the in-band information of the server further performs the following processing: if the character information type does not exist in the CPLD, a return instruction is generated; the string feature judgment flow is jumped to according to the return instruction, and serial port log identification is continuously performed.

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

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

[0014] The method for the BMC to acquire the in-band information of the server provided in the present application installs an agent program in a target server operating system; converts server in-band information into a string in a preset conversion format and sends the string to a CPLD; performs real-time analysis result identification, and when the identification result is server in-band information sent by the agent program, stores the analyzed server in-band information in an internal register of the CPLD; and when there is a demand for remotely acquiring real-time in-band information of the server, reads information from the internal register of the CPLD by using the BMC. The technical problem that the BMC cannot acquire in-band information in the case where a management network is isolated from a server service network is solved, the server in-band information is safely and timely acquired in the network isolation environment, and the technical effects of improving the real-time performance and stability of data processing are achieved. BRIEF DESCRIPTION OF DRAWINGS

[0015] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings of the embodiments of the present application will be briefly introduced below. In the present application, a flowchart is used to illustrate the operations performed by the system according to the embodiments of the present application. It should be understood that the foregoing or the following operations are not necessarily performed in sequence. On the contrary, according to the needs, various steps can be processed in reverse order or simultaneously. Meanwhile, other operations can be added to these processes, or a step or several steps can be removed from these processes.

[0016] Figure 1 A flowchart of the method for the BMC to acquire the in-band information of the server provided in the embodiments of the present application.

[0017] Figure 2 A server CPLD operation flowchart of the method for the BMC to acquire the in-band information of the server provided in the embodiments of the present application.

[0018] Figure 3 A design principle diagram of the method for the BMC to acquire the in-band information of the server provided in the embodiments of the present application. DETAILED DESCRIPTION

[0019] The above description is only a summary of the technical solutions of the present application. In order to make the technical means of the present application more clear, the present application can be implemented according to the content of the description, and in order to make the above and other purposes, characteristics and advantages of the present application more obvious and easy to understand, the following specific embodiments of the present application are described.

[0020] In order to make the purposes, technical solutions and advantages of the present application more clear, the following will combine the drawings to make a further detailed description of the present application. The described embodiments should not be regarded as a limitation of the present application. All other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the present application.

[0021] In the following description, "some embodiments" are described, which describe a subset of all possible embodiments, but it can be understood that "some embodiments" can be the same subset or different subset of all possible embodiments, and can be combined with each other without conflict. The term "first\second" is only to distinguish similar objects, and does not represent the specific order of the objects. The terms "include" and "have" 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 have to be limited to those steps or units clearly listed, but can 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 understood by those skilled in the art in the technical field of the present application. The terms used herein are only for the purpose of describing the embodiments of the present application.

[0022] The embodiments of the present application provide a method for BMC to obtain in-band information of a server, as shown in Figure 1 The method comprises the following steps:

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

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

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

[0026] Preferably, the agent program is installed into the operating system of the target server and works with other components of the operating system. The agent program is a small monitoring program that runs continuously and monitors the status of the server, collects various in-band data in real time, and sends the in-band information after packaging through the debugging serial port. Specifically, the server agent program obtains server in-band information by accessing the API function. In-band information refers to low-level hardware information obtained through server hardware or operating system level interfaces, including CPU usage, memory occupancy, hard disk usage, and network card uplink and downlink bandwidth. The agent program arranges these information into fixed format strings one by one, such as arranging CPU usage as "legendcf.agent.systeminfo.cpu_occupancy=60.54%".

[0027] Preferably, CPU usage refers to the workload of the server central processing unit (CPU) within a certain period of time, usually expressed in percentage, reflecting the occupancy of CPU resources. CPU activity period is usually monitored to estimate its busy degree. High CPU usage (e.g. close to 100%) means heavy system load, which may cause performance bottleneck or overload problem. Low CPU usage indicates that CPU resources are idle, meaning that system resources are not fully utilized. Memory occupancy refers to the usage of server memory, usually expressed as the percentage of used memory to total memory, reflecting the consumption of memory during task processing. High memory occupancy (e.g. close to 100%) indicates that the system is using a large amount of memory resources, which may cause memory shortage or system lag. Low memory occupancy indicates that the system has sufficient memory space and has not reached the resource limit. Through in-band information, BMC can monitor the usage of memory in real time. Hard disk usage refers to the usage of hard disk storage space, expressed as the percentage of used space to total storage space, reflecting the utilization of server hard disk storage resources. High hard disk usage (e.g. more than 90%) means that the hard disk storage is about to be full. Low hard disk usage indicates that the hard disk still has sufficient available space. Through in-band monitoring, BMC can monitor the usage of hard disk in real time and issue warnings in time to prevent hard disk space from running out.

[0028] Preferably, the network card uplink bandwidth refers to the rate at which the server's network interface (network card) transmits data to the external network, 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 transmits data to the network, 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 server's data upload capabilities, especially in high traffic or high load scenarios, to ensure smooth data transmission; the network card downlink bandwidth refers to the rate at which the server receives data from the external network, measuring the ability of data transmission from the network to the server, with the same units as the uplink bandwidth, usually bps, kbps or Mbps, the downlink bandwidth reflects the server's ability to receive data, related to the amount of data downloaded from remote users, receiving requests or processing external inputs, through in-band monitoring, the BMC can obtain the downlink bandwidth of the network card in real time, helping administrators analyze network traffic.

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

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

[0031] Preferably, the preset conversion format is configured by a configuration file or a coding rule, the preset conversion format is a standard format determined in advance, and is used to represent the structure of the in-band information of the server, and is usually customized according to actual needs, and includes fields, orders, types, separators and the like of data, and the preset conversion format can convert the in-band information (such as hard disk status, CPU usage and the like) into a unified, machine-readable string format, such as a certain standardized text format (JSON format, XML, CSV and the like), and specifically, the agent program is used to convert the in-band information of the server according to the preset conversion format, including string splicing, formatting, conversion functions and the like to obtain a corresponding string, that is, the hardware information (such as CPU temperature = 45℃, memory usage = 70% and the like) is converted into a string, and is encoded and parsed according to needs; finally, the string is sent to the CPLD through the debugging serial port, and specifically, since the server debugging log is output as needed (may be output to the motherboard management controller BMC, or may be output to the external serial port), the debugging serial port of the server is usually connected to the CPLD, and the CPLD can control the switching of the debugging serial port of the server according to actual needs, wherein the CPLD (Complex Programmable Logic Device) is a programmable logic device (hardware unit), and is used for data storage, processing or conversion at the hardware layer, that is, the in-band information (string converted by the preset format) sent from the agent program through the debugging serial port is received, and after the data is sent from the agent program to the CPLD through the debugging serial port, the CPLD can perform real-time parsing, storage or further processing.

[0032] In step S300, the CPLD is used to perform real-time parsing on the data on the debugging serial port, and real-time parsing result recognition is performed through string characteristics, when the recognition result is the in-band information of the server sent by the agent program, the parsed in-band information of the server is stored in the internal register of the CPLD.

[0033] Preferably, the CPLD is used to perform real-time analysis of data on the debugging serial port, that is, the CPLD performs real-time analysis of string data sent through the debugging serial port. Specifically, when the agent program sends in-band information (such as temperature, CPU load, etc.) in a specific format to the debugging serial port, the CPLD can receive these data and perform rapid analysis to obtain a real-time analysis result. The CPLD has a uart IP (core logic module of the serial communication protocol) implemented therein, indicating that the CPLD has the ability to process serial data transmission and can understand and analyze data transmitted by the UART protocol. The CPLD performs real-time analysis of data on the uart (serial communication protocol). The UART IP module of the CPLD can receive serial data streams bit by bit, convert the data from serial form to parallel format, and then analyze the data according to a preset protocol (such as data bits, check bits, stop bits, etc.) to extract valid strings and identify the real-time analysis result through string characteristics. Specifically, the CPLD can analyze data on the debugging serial port in real time by using the string parsed by the CPLD, identify the characteristics in these strings, that is, specific information fields in the preset format, and through characteristic identification, the CPLD can quickly determine whether the data is in-band information sent from the agent program. If it is found that the string has the characteristics of "legendcf.agent.", it is considered that the string is in-band information sent by the agent program. For such strings that meet the characteristic information (that is, the format, field, and content of the string meet the expectations), the CPLD will continue to analyze the string to further analyze the string, such as "cpu_occupancy", which indicates that the following data is the CPU occupancy rate. The CPLD stores the following data in the corresponding register in the CPLD. In this way, the CPLD analyzes data on the debugging serial port in real time and stores the parsed in-band information in the corresponding register. The internal register of the CPLD is a place for storing data in the CPLD, similar to the memory of a computer. The CPLD can temporarily store the parsed data in the internal register, and 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 servers in a network isolation or high security requirement scenario. There is no loss of in-band data.

[0034] Further, as shown in Figure 2 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 analysis result meets the string characteristics, step S330 of generating a cutting instruction if the serial port log meets the string characteristics, and step S340 of cutting the complete information of the corresponding string according to the cutting instruction and storing the cutting result as server in-band information in the internal register of the CPLD.

[0035] Preferably, configuring a 512-byte FIFO buffer refers to setting a FIFO buffer with a size of 512 bytes for temporarily storing data transmitted from the serial port, wherein the FIFO (First In, First Out) buffer is a data storage mechanism that stores data in the order of its arrival and reads it in the same order, and can store up to 512 bytes of data until the CPLD can parse and process the data, ensuring the order and real-time nature of the data, and avoiding loss or confusion when the data flow is large; when the data is transmitted to the CPLD through the debugging serial port, the CPLD performs real-time parsing to obtain real-time parsing results, which are usually serial logs containing multiple log information, and then determines whether the serial logs meet the string characteristics, i.e., analyzes all data in the serial logs to check whether they meet the preset format or conditions (e.g., whether they contain specific fields, data in a specific format, etc.); if the CPLD determines that a serial log meets the preset string characteristics, it generates a cutting instruction and cuts the corresponding string complete information (extracts complete and valid server in-band information, and a string that meets the format) according to the cutting instruction, and finally stores the cutting result as server in-band information in the internal register of the CPLD, ensuring the persistence and fast access of the data.

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

[0037] Preferably, according to the preset format, the character information type of the data cut from the serial log is identified and determined, i.e., it is determined which type of data it belongs to, and then it is checked whether the internal register of the CPLD has already stored 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 internal register already contains the character information type, the data information (actual value of the data) will be further extracted from the cutting result and stored as server in-band information in the internal register of the CPLD, ensuring the persistence of the in-band information and the efficiency of subsequent access, and administrators can remotely query these information through the BMC.

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

[0039] Preferably, if the current extracted data type is a type not stored in the CPLD internal register, 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 identification, wherein the return instruction can be a control signal or a status code indicating that the CPLD jumps back to re-judge and process, and then judges whether the log transmitted from 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 perform identification and analysis of the serial port log, including re-analyzing the data stream received from the serial port, judging and identifying according to the predetermined string feature (such as a specific format, field or keyword), and if the new serial port log conforms to a certain feature, the related in-band information will be extracted again, so as to ensure that the CPLD can flexibly process different types of in-band information and constantly update the stored data.

[0040] Step S400, when there is a demand for real-time in-band information of the remote acquisition server, information reading is performed from the internal register of the CPLD by the BMC, and reading information display is performed through the BMC WEB interface.

[0041] Preferably, in the scenario of needing to monitor and manage the server state in real time, the administrator acquires the in-band information of the server through a remote manner, and information reading is performed from the internal register of the CPLD by the controller BMC, including reading the server hardware state data by the BMC 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 analyzes the data transmitted through the serial port and stores it in the internal register, the BMC only needs to access and extract these data through a suitable protocol or interface, and then perform reading information display through the BMC WEB interface, i.e. view and display the health status of the server, hardware monitoring data, log information, etc. through the remote management interface (WEB) provided by the BMC, the administrator can view, set alarms, diagnose faults, and even perform remote restart, etc. through this interface, so as to realize in-band information acquisition independent of the operating system and network configuration, which is very suitable for environments requiring high security and high reliability, and fully guarantees the security of the server business network.

[0042] Further, as shown in Figure 3 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 in 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 and multi-slave protocol, allowing multiple master devices and multiple slave devices to be connected on the same bus. The BMC acts as an I2C master device, responsible for controlling the initiation and timing of communication, sending clock signals (SCL) and initiating data transmission, determining when to start transmitting data, to which devices to send data, and requesting responses from slave devices. For example, the BMC sends commands or requests to the CPLD through the I2C bus, reads or writes data; the CPLD is an I2C slave device, used to respond to master device requests and does not actively initiate data transmission, but waits for commands from the master device. As a slave device, the CPLD receives instructions from the BMC and transmits or receives data through the I2C protocol.

[0044] Preferably, the communication process of I2C is controlled by the master device (BMC), i.e. the BMC generates clock signals and data bits through SCL and SDA lines as a master device, sends a read-write command to the CPLD, requests to read server in-band information stored in the CPLD internal register, and the CPLD as a slave device receives the request from the BMC, processes according to the type of command, if it is a read operation, the CPLD returns the requested data (such as memory usage rate) to the BMC through the I2C bus, for example, the CPLD sets the slave device address as 0x52, the data saved in the register address 0x01 is CPU occupancy rate; the BMC issues the i2c slave device address (CPLD device address 0x52) and the register address (0x01), and the CPLD returns the CPU occupancy rate data to the BMC. Other in-band data is obtained in a similar communication manner, after completing data transmission, the I2C communication ends, the BMC and the CPLD can continue to exchange data through I2C, the BMC updates and displays the in-band real-time data obtained from the CPLD on the bmc web interface. The I2C protocol only needs two signal lines (SCL and SDA) to realize communication between multiple devices, allowing the BMC and the CPLD to exchange real-time data efficiently through a simple and reliable two-wire (I2C bus), which is more concise and easy to implement.

[0045] The foregoing DETAILED DESCRIPTION, including the above section titled "Detailed Description," is not to be taken as limiting the scope of the application. Various modifications, combinations, and equivalents can be apparent to those skilled in the art and can be made once the nature of the application is understood. Any modification, combination, or equivalent, which falls within the principles and the scope of the present application, is intended to be included in the present application. In some instances, the actions or steps can be performed in different order from those described herein, and still achieve desirable results. Additionally, the process depicted in the figures can not necessarily require the particular order shown or sequential order to achieve the desired results. In certain implementations, multitasking and parallel processing can be advantageous.

Claims

1. A method for a BMC acquisition server to obtain in-band information, characterized by, The method comprises: installing an agent program in a target server operating system, the agent program obtaining server in-band information by accessing an API function; configuring a preset conversion format, converting the server in-band information into a string in the preset conversion format by using the agent program, and sending the string to a CPLD through a debugging serial port; based on the CPLD, performing real-time analysis on data on the debugging serial port, and performing real-time analysis result identification through string characteristics; when the identification result is server in-band information sent by the agent program, storing the analyzed server in-band information in an internal register of the CPLD; when there is a demand for remotely obtaining server real-time in-band information, reading information from the internal register of the CPLD by using a BMC, and displaying the read information through a BMC WEB interface; when there is a demand for remotely obtaining server real-time in-band information, reading information from the internal register of the CPLD by using a BMC, and displaying the read information through a BMC WEB interface; the BMC and the CPLD are connected through an I2C interface, the BMC serves as an I2C master device, and the CPLD serves as an I2C slave device.

2. The method of claim 1, wherein the BMC obtains the in-band information from the server. the string is sent to the CPLD through the debugging serial port in the form of debugging information by calling a printf function of the agent program.

3. The method of claim 2, wherein the BMC obtains the in-band information from the server. The server in-band information includes CPU usage, memory occupancy, hard disk usage, network card uplink bandwidth, and network card downlink bandwidth.

4. The method of claim 1, wherein the BMC acquires the in-band information. the real-time analysis result identification is performed through string characteristics; when the identification result is server in-band information sent by the agent program, the analyzed server in-band information is stored in the internal register of the CPLD, which comprises: configuring a 512-byte FIFO buffer; determining whether the serial port log in the real-time analysis result meets the string characteristics; if the serial port log meets the string characteristics, a cutting instruction is generated; according to the cutting instruction, the corresponding string complete information is cut, and the cutting result is stored as server in-band information in the internal register of the CPLD.

5. The method of claim 4, wherein the BMC obtains the in-band information from the server. the cutting result is stored as server in-band information in the internal register of the CPLD, which comprises: obtaining the character information type of the cutting result; determining whether the CPLD contains the character information type; if the CPLD contains the character information type, the data information of the cutting result is extracted, and the data information is stored as server in-band information in the internal register of the CPLD.

6. The method of claim 5, wherein the BMC obtains the in-band information from the server. the determination of whether the CPLD contains the character information type comprises: if the CPLD does not contain the character information type, a return instruction is generated; according to the return instruction, jump to the string characteristic determination flow, and continue to perform serial port log identification.

7. The method of claim 1, wherein the BMC acquires the in-band information. the BMC performs data interaction with the CPLD through an SPI or UART interface to obtain server in-band information.

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