US20210334086A1 - Method of adding a sensor monitoring feature of a newly-added sensor to a system monitoring feature provided by a baseboard management controller - Google Patents

Method of adding a sensor monitoring feature of a newly-added sensor to a system monitoring feature provided by a baseboard management controller Download PDF

Info

Publication number
US20210334086A1
US20210334086A1 US17/239,283 US202117239283A US2021334086A1 US 20210334086 A1 US20210334086 A1 US 20210334086A1 US 202117239283 A US202117239283 A US 202117239283A US 2021334086 A1 US2021334086 A1 US 2021334086A1
Authority
US
United States
Prior art keywords
sensor
bmc
data record
main program
library
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US17/239,283
Other versions
US11714630B2 (en
Inventor
Hsin-Hao CHU
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitac Computing Technology Corp
Original Assignee
Mitac Computing Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitac Computing Technology Corp filed Critical Mitac Computing Technology Corp
Assigned to MITAC COMPUTING TECHNOLOGY CORPORATION reassignment MITAC COMPUTING TECHNOLOGY CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHU, HSIN-HAO
Publication of US20210334086A1 publication Critical patent/US20210334086A1/en
Application granted granted Critical
Publication of US11714630B2 publication Critical patent/US11714630B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3031Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a motherboard or an expansion card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Definitions

  • the disclosure relates to a method for collecting information of operation conditions of a computer device, and more particularly to a method of adding a sensor monitoring feature of a newly-added sensor to a system monitoring feature provided by a baseboard management controller.
  • BMC baseboard management controller
  • One of the main functions of a baseboard management controller (BMC) in a computer device is to collect information about the operation of the computer device and system status, such as system voltage, temperature, and fan speed.
  • BMC baseboard management controller
  • customers who purchased such a computer device may need the BMC to support new expansion cards, such as PCIE/OCP add-on cards, so the computer device can provide more services.
  • additional sensors may be required to monitor the voltage and the temperature of the new expansion cards, and the monitoring features (or functionalities) of the sensors have to be added to the monitoring feature (or functionality) provided by the BMC that is included in the computer device.
  • the manufacturer must first define the sensor information in a main program of the BMC firmware, recompile the modified main program when the BMC firmware is generated, re-burn the BMC firmware, and reboot the BMC, to then finally be able to obtain information sensed by the new sensors via the BMC.
  • the BMC is unable to provide services and there is even a risk of burning failure, which is not allowed in systems that require high availability.
  • the recompiled BMC firmware has to be verified by a testing team before it can be released to the customer, which is not time-efficient.
  • an object of the disclosure is to provide a method that can dynamically add a sensor monitoring feature of a newly-added sensor to a system monitoring feature.
  • the proposed method does not require re-burning of the BMC firmware and the rebooting of the BMC that follows, thereby reducing time required for releasing the BMC firmware update and achieving cost reduction.
  • the method is provided for adding a sensor monitoring feature of at least one additional sensor that is newly installed in a computer device to a system monitoring feature that is provided by a BMC.
  • the BMC is included in the computer device, and stores a BMC firmware that contains a main program, a sensor library and a sensor data record.
  • the method is implemented by the BMC, and includes steps of: A) updating the sensor library to a target sensor library that includes identification information of the at least one additional sensor, and functions used to execute the sensor monitoring feature of the at least one additional sensor, each of the functions being a sequence of program instructions that is configured to perform a specific task; B) loading the target sensor library by executing the main program; C) determining, by executing the main program, whether the sensor data record already has the identification information of the at least one additional sensor; D) upon determining that the sensor data record does not have the identification information of the at least one additional sensor in step C), adding the identification information of the at least one additional sensor to the sensor data record by using the main program to call a first function that is stored in the target sensor library and that is related to the at least one additional sensor; and E) initializing function variables that are stored in the target sensor library and that are related to the at least one additional sensor by using the main program to call a second function that is stored in the target sensor library and that is related to the at least one additional sensor.
  • FIG. 1 is a block diagram illustrating a computer device to which an embodiment of a method according to this disclosure is applied, wherein the method is adapted for adding a sensor monitoring feature of a newly-added sensor to a system monitoring feature;
  • FIG. 2 is a flow chart illustrating steps of the embodiment.
  • FIG. 3 is a flow chart illustrating sub-steps of step 23 shown in FIG. 2 .
  • an embodiment of a method according to this disclosure is provided for adding a sensor monitoring feature (or functionality) of at least one additional sensor 11 B (or, newly-added sensor) that is newly installed in a computer device 1 to a system monitoring feature (or functionality) provided by a baseboard management controller (BMC) 12 of the computer device 1 .
  • the computer device 1 is exemplified to include multiple sensors 11 A that are originally installed in the computer device 1 and multiple additional sensors 11 B that are newly installed in the computer device 1 .
  • a number of the sensors 11 A may be zero or one, and a number of the additional sensors may be one, but this disclosure is not limited in this respect.
  • Each of the sensors 11 A and 11 B is used to monitor a component (not shown) of the computer device 1 .
  • the BMC 12 of the computer device 1 is electrically connected to the sensors 11 A and 11 B, and stores a BMC firmware that contains a main program, a sensor library and a sensor data record.
  • the embodiment of the method according to this disclosure includes steps 21 - 27 .
  • the BMC 12 updates the sensor library stored therein to a target sensor library that includes identification information of each of the additional sensors 11 B, and functions (program routines or subroutines, each being a sequence of program instructions that performs a specific task and that is packaged as a unit) used to execute the sensor monitoring features of the additional sensors 11 B.
  • the functions may include, for example but not limited to, a create function “CreateSensor” configured to define the sensor monitoring feature of the additional sensor 11 B in the BMC firmware, and an initializing function “InitSensor( )” configured to initialize the additional sensor 11 B.
  • the corresponding identification information and functions may be defined by an administrator.
  • the BMC 12 loads the target sensor library by executing the main program.
  • the BMC 12 executes the main program every time the BMC 12 is booted. Every time when the BMC 12 is powered on, the BMC 12 may automatically execute the main program.
  • the BMC 12 When collecting information of operation conditions and system status of the computer 1 , the BMC 12 will load the target sensor library by executing the main program. Along with the loading of the target sensor library, the functions of the additional sensors 11 B are also loaded even if they are not included in the main program.
  • the BMC 12 executes the main program to load the target sensor library in response to an original equipment manufacturer (OEM) command received thereby, so the target sensor library can be loaded once the sensor library stored in the BMC 12 is updated to the target sensor library.
  • OEM original equipment manufacturer
  • the BMC 12 will automatically re-execute the main program to reload the target sensor library during the booting process of the BMC 12 , so the OEM command is not necessary for loading the updated sensor library (i.e., the target sensor library). In other words, rebooting the BMC 12 can also allow the updated sensor library to be loaded.
  • step 23 the BMC 12 determines, by executing the main program and based on the number of the additional sensors 11 B, whether the identification information of every single one of the additional sensors 11 B is allowed to be added to the sensor data record.
  • the flow ends.
  • the BMC 12 determines that the identification information of every single one of the additional sensors 11 B is allowed to be added to the sensor data record, the flow goes to step 24 .
  • step 23 includes sub-step 231 and 232 .
  • the BMC 12 obtains a total number of sensors 11 A, 11 B with reference to the target sensor library and the sensor data record by executing the main program.
  • the sensor data record records the identification information of the sensors 11 A
  • the target sensor library contains the identification information of the additional sensors 11 B, so the BMC 12 can obtain the number (first sensor number) of the sensors 11 A from the sensor data record, and obtain the number (second sensor number) of the additional sensors 11 B from the target sensor library. Then, the BMC 12 adds the first sensor number and the second sensor number together to obtain the total number of sensors 11 A, 11 B.
  • the BMC 12 determines whether the identification information of every single one of the additional sensors 11 B is allowed to be added to the sensor data record by comparing the total number of sensors with a predetermined threshold number. When the total number of sensors is greater than the predetermined threshold number, the BMC 12 determines that not the identification information of every single one of the additional sensors 11 B is allowed to be added to the sensor data record, and the flow ends, where the sensor data record remains unchanged. When the total number of sensors is smaller than or equal to the predetermined threshold number, the BMC 12 determines that the identification information of every single one of the additional sensors 11 B is allowed to be added to the sensor data record, and the flow goes to step 24 .
  • Steps 24 - 26 are performed with respect to each of the additional sensors 11 B.
  • the BMC 12 determines, by executing the main program, whether the sensor data record already has the identification information of the additional sensor 11 B. When the BMC 12 determines that the sensor data record does not have the identification information of the additional sensor 11 B, the flow goes to step 25 . When the BMC 12 determines that the sensor data record already has the identification information of the additional sensor 11 B, the flow goes to step 26 .
  • step 25 the BMC 12 adds the identification information of the additional sensor 11 B to the sensor data record by using the main program to call the create function “CreateSensor( )” that is stored in the target sensor library and that is related to the additional sensor 11 B.
  • step 26 the BMC 12 does not add the identification information of the additional sensor 11 B to the sensor data record, and maintains the sensor data record to be unchanged.
  • step 27 for each of the additional sensors 11 B, the BMC 12 initializes function variables that are stored in the target sensor library and that are related to the additional sensor 11 B by using the main program to call the initializing function “InitSensor( )” that is stored in the target sensor library and that is related to the additional sensor 11 B.
  • the BMC 12 can, for each of the sensors 11 A, 11 B, make use of the functions that correspond to the sensor 11 A or 11 B and that has been loaded by the BMC 12 according to the identification information of the sensor 11 A or 11 B, so as to collect information monitored by the sensor 11 A or 11 B.
  • the BMC 12 triggers the main program to create a task to perform steps 23 and 24 in response to the OEM command received thereby, and uses the task created by the main program to call the create function and the initializing function that are related to the additional sensor 11 B to perform steps 25 and 27 , respectively.
  • the execution of steps 23 , 24 , 25 and 27 may be directly defined in a function (program routine or subroutine) of the main program without creating a task.
  • the disclosure is not limited in this respect.
  • the embodiment of this disclosure dynamically adds the identification information of the newly-added sensor(s) 11 B to the sensor data record by updating the sensor library to the target sensor library, loading the updated sensor library, and calling the updated sensor library by executing the main program, so as to dynamically load the functions of each of the sensors 11 A and 11 B.
  • the BMC 12 After initializing the function variables that are related to the sensors 11 A, 11 B, the BMC 12 can thus obtain the information sensed by each of the sensors 11 A, 11 B according to the corresponding function and the identification information.
  • the addition of the identification information and the functions of the newly-added sensors 11 B only requires updating of the sensor library to the target sensor library, and the re-compiling of the main program is not necessary. As a result, re-burning the BMC firmware and the subsequent rebooting of the BMC 12 are not required, and the risk of burning failure can thus be avoided. Further, the testing team only needs to focus on verification of the target sensor library, so the time required for the verification process can be reduced, thereby shortening the time required for releasing the firmware update and thus achieving cost reduction.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

A method is provided for adding a sensor monitoring feature of a newly-added sensor to a system monitoring feature provided by a baseboard management controller (BMC). The BMC stores a BMC firmware that contains a main program, a sensor library and a sensor data record. The BMC updates the sensor library to a target sensor library that includes identification information of the additional sensor, and functions used to execute the sensor monitoring feature of the additional sensor. By executing the main program, the BMC loads the target sensor library, and adds the identification information of the additional sensor to the sensor data record.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application claims priority of Taiwanese Invention Patent Application No. 109114008, filed on Apr. 27, 2020.
  • FIELD
  • The disclosure relates to a method for collecting information of operation conditions of a computer device, and more particularly to a method of adding a sensor monitoring feature of a newly-added sensor to a system monitoring feature provided by a baseboard management controller.
  • BACKGROUND
  • One of the main functions of a baseboard management controller (BMC) in a computer device is to collect information about the operation of the computer device and system status, such as system voltage, temperature, and fan speed. In practice, customers who purchased such a computer device may need the BMC to support new expansion cards, such as PCIE/OCP add-on cards, so the computer device can provide more services. In such a case, additional sensors may be required to monitor the voltage and the temperature of the new expansion cards, and the monitoring features (or functionalities) of the sensors have to be added to the monitoring feature (or functionality) provided by the BMC that is included in the computer device. In this case, the manufacturer must first define the sensor information in a main program of the BMC firmware, recompile the modified main program when the BMC firmware is generated, re-burn the BMC firmware, and reboot the BMC, to then finally be able to obtain information sensed by the new sensors via the BMC. However, during the burning and rebooting process, which may take a few minutes, the BMC is unable to provide services and there is even a risk of burning failure, which is not allowed in systems that require high availability.
  • In addition, under the current firmware release procedure, the recompiled BMC firmware has to be verified by a testing team before it can be released to the customer, which is not time-efficient.
  • SUMMARY
  • Therefore, an object of the disclosure is to provide a method that can dynamically add a sensor monitoring feature of a newly-added sensor to a system monitoring feature. The proposed method does not require re-burning of the BMC firmware and the rebooting of the BMC that follows, thereby reducing time required for releasing the BMC firmware update and achieving cost reduction.
  • According to the disclosure, the method is provided for adding a sensor monitoring feature of at least one additional sensor that is newly installed in a computer device to a system monitoring feature that is provided by a BMC. The BMC is included in the computer device, and stores a BMC firmware that contains a main program, a sensor library and a sensor data record. The method is implemented by the BMC, and includes steps of: A) updating the sensor library to a target sensor library that includes identification information of the at least one additional sensor, and functions used to execute the sensor monitoring feature of the at least one additional sensor, each of the functions being a sequence of program instructions that is configured to perform a specific task; B) loading the target sensor library by executing the main program; C) determining, by executing the main program, whether the sensor data record already has the identification information of the at least one additional sensor; D) upon determining that the sensor data record does not have the identification information of the at least one additional sensor in step C), adding the identification information of the at least one additional sensor to the sensor data record by using the main program to call a first function that is stored in the target sensor library and that is related to the at least one additional sensor; and E) initializing function variables that are stored in the target sensor library and that are related to the at least one additional sensor by using the main program to call a second function that is stored in the target sensor library and that is related to the at least one additional sensor.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Other features and advantages of the disclosure will become apparent in the following detailed description of the embodiment(s) with reference to the accompanying drawings, of which:
  • FIG. 1 is a block diagram illustrating a computer device to which an embodiment of a method according to this disclosure is applied, wherein the method is adapted for adding a sensor monitoring feature of a newly-added sensor to a system monitoring feature;
  • FIG. 2 is a flow chart illustrating steps of the embodiment; and
  • FIG. 3 is a flow chart illustrating sub-steps of step 23 shown in FIG. 2.
  • DETAILED DESCRIPTION
  • Before the disclosure is described in greater detail, it should be noted that where considered appropriate, reference numerals or terminal portions of reference numerals have been repeated among the figures to indicate corresponding or analogous elements, which may optionally have similar characteristics.
  • Referring to FIGS. 1 and 2, an embodiment of a method according to this disclosure is provided for adding a sensor monitoring feature (or functionality) of at least one additional sensor 11B (or, newly-added sensor) that is newly installed in a computer device 1 to a system monitoring feature (or functionality) provided by a baseboard management controller (BMC) 12 of the computer device 1. In the illustrative embodiment, the computer device 1 is exemplified to include multiple sensors 11A that are originally installed in the computer device 1 and multiple additional sensors 11B that are newly installed in the computer device 1. In some embodiments, a number of the sensors 11A may be zero or one, and a number of the additional sensors may be one, but this disclosure is not limited in this respect. Each of the sensors 11A and 11B is used to monitor a component (not shown) of the computer device 1. The BMC 12 of the computer device 1 is electrically connected to the sensors 11A and 11B, and stores a BMC firmware that contains a main program, a sensor library and a sensor data record. The embodiment of the method according to this disclosure includes steps 21-27.
  • In step 21, the BMC 12 updates the sensor library stored therein to a target sensor library that includes identification information of each of the additional sensors 11B, and functions (program routines or subroutines, each being a sequence of program instructions that performs a specific task and that is packaged as a unit) used to execute the sensor monitoring features of the additional sensors 11B. For each of the additional sensors 11B, the functions may include, for example but not limited to, a create function “CreateSensor” configured to define the sensor monitoring feature of the additional sensor 11B in the BMC firmware, and an initializing function “InitSensor( )” configured to initialize the additional sensor 11B. In some embodiments, for each of the additional sensors 11B, the corresponding identification information and functions may be defined by an administrator.
  • In step 22, the BMC 12 loads the target sensor library by executing the main program. In some embodiments, the BMC 12 executes the main program every time the BMC 12 is booted. Every time when the BMC 12 is powered on, the BMC 12 may automatically execute the main program. When collecting information of operation conditions and system status of the computer 1, the BMC 12 will load the target sensor library by executing the main program. Along with the loading of the target sensor library, the functions of the additional sensors 11B are also loaded even if they are not included in the main program. In some embodiments, the BMC 12 executes the main program to load the target sensor library in response to an original equipment manufacturer (OEM) command received thereby, so the target sensor library can be loaded once the sensor library stored in the BMC 12 is updated to the target sensor library. In some embodiments, every time the BMC 12 is rebooted, the BMC 12 will automatically re-execute the main program to reload the target sensor library during the booting process of the BMC 12, so the OEM command is not necessary for loading the updated sensor library (i.e., the target sensor library). In other words, rebooting the BMC 12 can also allow the updated sensor library to be loaded.
  • In step 23, the BMC 12 determines, by executing the main program and based on the number of the additional sensors 11B, whether the identification information of every single one of the additional sensors 11B is allowed to be added to the sensor data record. When the BMC 12 determines that not the identification information of every single one of the additional sensors 11B is allowed to be added to the sensor data record, the flow ends. When the BMC 12 determines that the identification information of every single one of the additional sensors 11B is allowed to be added to the sensor data record, the flow goes to step 24.
  • Referring to FIG. 3, step 23 includes sub-step 231 and 232.
  • In sub-step 231, the BMC 12 obtains a total number of sensors 11A, 11B with reference to the target sensor library and the sensor data record by executing the main program. In practice, the sensor data record records the identification information of the sensors 11A, and the target sensor library contains the identification information of the additional sensors 11B, so the BMC 12 can obtain the number (first sensor number) of the sensors 11A from the sensor data record, and obtain the number (second sensor number) of the additional sensors 11B from the target sensor library. Then, the BMC 12 adds the first sensor number and the second sensor number together to obtain the total number of sensors 11A, 11B.
  • In sub-step 232, the BMC 12 determines whether the identification information of every single one of the additional sensors 11B is allowed to be added to the sensor data record by comparing the total number of sensors with a predetermined threshold number. When the total number of sensors is greater than the predetermined threshold number, the BMC 12 determines that not the identification information of every single one of the additional sensors 11B is allowed to be added to the sensor data record, and the flow ends, where the sensor data record remains unchanged. When the total number of sensors is smaller than or equal to the predetermined threshold number, the BMC 12 determines that the identification information of every single one of the additional sensors 11B is allowed to be added to the sensor data record, and the flow goes to step 24.
  • Steps 24-26 are performed with respect to each of the additional sensors 11B. In step 24, for the additional sensor 11B, the BMC 12 determines, by executing the main program, whether the sensor data record already has the identification information of the additional sensor 11B. When the BMC 12 determines that the sensor data record does not have the identification information of the additional sensor 11B, the flow goes to step 25. When the BMC 12 determines that the sensor data record already has the identification information of the additional sensor 11B, the flow goes to step 26.
  • In step 25, the BMC 12 adds the identification information of the additional sensor 11B to the sensor data record by using the main program to call the create function “CreateSensor( )” that is stored in the target sensor library and that is related to the additional sensor 11B.
  • In step 26, the BMC 12 does not add the identification information of the additional sensor 11B to the sensor data record, and maintains the sensor data record to be unchanged.
  • In step 27, for each of the additional sensors 11B, the BMC 12 initializes function variables that are stored in the target sensor library and that are related to the additional sensor 11B by using the main program to call the initializing function “InitSensor( )” that is stored in the target sensor library and that is related to the additional sensor 11B. After the identification information of each of the sensors 11A, 11B has been recorded in the sensor data record and after the initialization for each of the sensors 11A, 11B has completed, the BMC 12 can, for each of the sensors 11A, 11B, make use of the functions that correspond to the sensor 11A or 11B and that has been loaded by the BMC 12 according to the identification information of the sensor 11A or 11B, so as to collect information monitored by the sensor 11A or 11B.
  • In some embodiments, in step 22, the BMC 12 triggers the main program to create a task to perform steps 23 and 24 in response to the OEM command received thereby, and uses the task created by the main program to call the create function and the initializing function that are related to the additional sensor 11B to perform steps 25 and 27, respectively. In some embodiments, the execution of steps 23, 24, 25 and 27 may be directly defined in a function (program routine or subroutine) of the main program without creating a task. However, the disclosure is not limited in this respect.
  • In summary, the embodiment of this disclosure dynamically adds the identification information of the newly-added sensor(s) 11B to the sensor data record by updating the sensor library to the target sensor library, loading the updated sensor library, and calling the updated sensor library by executing the main program, so as to dynamically load the functions of each of the sensors 11A and 11B. After initializing the function variables that are related to the sensors 11A, 11B, the BMC 12 can thus obtain the information sensed by each of the sensors 11A, 11B according to the corresponding function and the identification information. Since the identification information and the functions of each of the newly-added sensors 11B are defined in the target sensor library, the addition of the identification information and the functions of the newly-added sensors 11B only requires updating of the sensor library to the target sensor library, and the re-compiling of the main program is not necessary. As a result, re-burning the BMC firmware and the subsequent rebooting of the BMC 12 are not required, and the risk of burning failure can thus be avoided. Further, the testing team only needs to focus on verification of the target sensor library, so the time required for the verification process can be reduced, thereby shortening the time required for releasing the firmware update and thus achieving cost reduction.
  • In the description above, for the purposes of explanation, numerous specific details have been set forth in order to provide a thorough understanding of the embodiment(s). It will be apparent, however, to one skilled in the art, that one or more other embodiments may be practiced without some of these specific details. It should also be appreciated that reference throughout this specification to “one embodiment,” “an embodiment,” an embodiment with an indication of an ordinal number and so forth means that a particular feature, structure, or characteristic may be included in the practice of the disclosure. It should be further appreciated that in the description, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of various inventive aspects, and that one or more features or specific details from one embodiment may be practiced together with one or more features or specific details from another embodiment, where appropriate, in the practice of the disclosure.
  • While the disclosure has been described in connection with what is (are) considered the exemplary embodiment(s), it is understood that this disclosure is not limited to the disclosed embodiment(s) but is intended to cover various arrangements included within the spirit and scope of the broadest interpretation so as to encompass all such modifications and equivalent arrangements.

Claims (15)

What is claimed is:
1. A method of adding a sensor monitoring feature of at least one additional sensor that is newly installed in a computer device to a system monitoring feature that is provided by a baseboard management controller (BMC), the BMC being included in the computer device and storing a BMC firmware that contains a main program, a sensor library and a sensor data record, said method being implemented by the BMC and comprising steps of:
A) updating the sensor library to a target sensor library that includes identification information of the at least one additional sensor, and functions used to execute the sensor monitoring feature of the at least one additional sensor, each of the functions being a sequence of program instructions that is configured to perform a specific task;
B) loading the target sensor library by executing the main program;
C) determining, by executing the main program, whether the sensor data record already has the identification information of the at least one additional sensor;
D) upon determining that the sensor data record does not have the identification information of the at least one additional sensor in step C), adding the identification information of the at least one additional sensor to the sensor data record by using the main program to call a first function that is stored in the target sensor library and that is related to the at least one additional sensor; and
E) initializing function variables that are stored in the target sensor library and that are related to the at least one additional sensor by using the main program to call a second function that is stored in the target sensor library and that is related to the at least one additional sensor.
2. The method of claim 1, wherein the first function is a create function configured to define the sensor monitoring feature of the at least one additional sensor in the BMC firmware, and the second function is an initializing function configured to initialize the at least one additional sensor.
3. The method of claim 1, further comprising a step of maintaining the sensor data record to be unchanged when it is determined in step C) that the sensor data record already has the identification information of the at least one additional sensor.
4. The method of claim 1, further comprising, between steps B) and C), a step of: F) determining, by executing the main program and based on a number of the at least one additional sensor, whether the identification information of every single one of the at least one additional sensor is allowed to be added to the sensor data record;
wherein step C) is performed only when it is determined in step F) that the identification information of every single one of the at least one additional sensor is allowed to be added to the sensor data record.
5. The method of claim 4, wherein step F) includes sub-steps of:
F-1) obtaining a total number of sensors with reference to the target sensor library and the sensor data record; and
F-2) determining whether the identification information of each of the at least one additional sensor is allowed to be added to the sensor data record by comparing the total number of sensors with a predetermined threshold number.
6. The method of claim 5, wherein sub-step F-1) includes:
obtaining, from the sensor data record, a first sensor number which is number of sensors that are already recorded in the sensor data record;
obtaining, from the target sensor library, a second sensor number which is the number of the at least one additional sensor; and
adding the first sensor number and the second sensor number together to obtain the total number of sensors.
7. The method of claim 5, wherein, in sub-step F-2), it is determined that not the identification information of every single one of the at least one additional sensor is allowed to be added to the sensor data record when the total number of sensors is greater than the predetermined threshold number, and that the identification information of every single one of the at least one additional sensor is allowed to be added to the sensor data record when otherwise.
8. The method of claim 5, further comprising:
upon determining in sub-step F-2) that not the identification information of every single one of the at least one additional sensor is allowed to be added to the sensor data record, maintaining the sensor data record to be unchanged.
9. The method of claim 1, wherein, in step B), the BMC executes the main program to load the target sensor library in response to an original equipment manufacturer (OEM; command received thereby.
10. The method of claim 9, wherein step B) includes triggering the main program to create a task in response to the OEM command;
wherein, in step D), the BMC uses the task created by the main program to call the first function; and
wherein, in step E), the BMC uses the task created by the main program to call the second function.
11. The method of claim 10, wherein step C) is performed by executing the task created by the main program.
12. The method of claim 1, wherein, in step B), the BMC automatically executes the main program to load the target sensor library when the BMC is being powered on.
13. The method of claim 1, wherein, in step B), the BMC automatically executes the main program to load the target sensor library during a booting process of the BMC.
14. The method of claim 1, wherein the BMC performs steps D) and E) by executing a function of the main program.
15. The method of claim 1, wherein, in step B), the BMC loads the target sensor library in response to an original equipment manufacturer (OEM) command received thereby, step B) includes triggering the main program to create a task in response to the OEM command, and, in step C), the BMC uses the task created by the main program to call the first function.
US17/239,283 2020-04-27 2021-04-23 Method of adding a sensor monitoring feature of a newly-added sensor to a system monitoring feature provided by a baseboard management controller Active US11714630B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW109114008 2020-04-27
TW109114008A TWI762914B (en) 2020-04-27 2020-04-27 A method of enhancing added sensor

Publications (2)

Publication Number Publication Date
US20210334086A1 true US20210334086A1 (en) 2021-10-28
US11714630B2 US11714630B2 (en) 2023-08-01

Family

ID=78222195

Family Applications (1)

Application Number Title Priority Date Filing Date
US17/239,283 Active US11714630B2 (en) 2020-04-27 2021-04-23 Method of adding a sensor monitoring feature of a newly-added sensor to a system monitoring feature provided by a baseboard management controller

Country Status (2)

Country Link
US (1) US11714630B2 (en)
TW (1) TWI762914B (en)

Citations (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496790B1 (en) * 2000-09-29 2002-12-17 Intel Corporation Management of sensors in computer systems
US20040249913A1 (en) * 2003-04-22 2004-12-09 Kaufman Gerald J. System and method for application programming interface for extended intelligent platform management
US20050137833A1 (en) * 2003-12-18 2005-06-23 Rajasekhar Sistla Automatic sensor integration
US20060167919A1 (en) * 2004-07-19 2006-07-27 Aten International Co., Ltd. Intelligent platform management interface validating system and method
US20080126586A1 (en) * 2006-11-24 2008-05-29 Inventec Corporation Universal computer product hardware configuration initialization handling method and system
US20080155300A1 (en) * 2006-12-21 2008-06-26 Inventec Corporation Method of updating a dual redundant chassis management system
US20080189315A1 (en) * 2007-02-05 2008-08-07 Inventec Corporation Method and server system for creating sensor data record
US20120110389A1 (en) * 2010-10-29 2012-05-03 Inventec Corporation Method for obtaining storage device state signal by using bmc
US20120151007A1 (en) * 2010-12-13 2012-06-14 International Business Machines Corporation Monitoring Sensors For Systems Management
US20140195794A1 (en) * 2013-01-08 2014-07-10 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd Electronic device with baseboard management controller updating system
US8812137B2 (en) * 2007-02-26 2014-08-19 International Business Machines Corporation Controlling sensor networks
US20140280837A1 (en) * 2013-03-15 2014-09-18 American Megatrends, Inc. Dynamic scalable baseboard management controller stacks on single hardware structure
US20150127814A1 (en) * 2013-11-07 2015-05-07 Inventec Corporation Monitoring Server Method
US9176649B2 (en) * 2013-03-15 2015-11-03 American Megatrends, Inc. Method and apparatus of remote management of computer system using voice and gesture based input
US20160011887A1 (en) * 2014-07-09 2016-01-14 International Business Machines Corporation Firmware Update Method and Power System Thereof
US9311486B2 (en) * 2013-08-13 2016-04-12 American Megatrends, Inc. Network based firmware feature configuration and firmware image generation
US20160283424A1 (en) * 2015-03-27 2016-09-29 David R. Richardson Virtual intelligent platform management interface (ipmi) satellite controller and method
US20170003956A1 (en) * 2015-07-01 2017-01-05 Quanta Computer Inc. Updating computer firmware
US9563379B1 (en) * 2015-10-16 2017-02-07 International Business Machines Corporation Baseboard management controller (BMC) provided with sensor list
US20170109235A1 (en) * 2015-10-16 2017-04-20 Quanta Computer Inc. Baseboard management controller recovery
US20180074984A1 (en) * 2016-09-14 2018-03-15 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (bmc)
US20180107470A1 (en) * 2016-10-18 2018-04-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Adjustment of voltage regulator firmware settings based upon an efficiency score
US20180107476A1 (en) * 2016-10-17 2018-04-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Adjustment of voltage regulator firmware settings based upon external factors
US20180121656A1 (en) * 2016-10-31 2018-05-03 Hewlett Packard Enterprise Development Lp Validating operating firmware of a periperhal device
US20180210724A1 (en) * 2017-01-20 2018-07-26 Mitac Computing Technology Corporation Method of updating baseboard management controller firmware for fan speed control
US10346187B1 (en) * 2017-03-30 2019-07-09 Amazon Technologies, Inc. Board management controller firmware emulation
WO2020019724A1 (en) * 2018-07-27 2020-01-30 郑州云海信息技术有限公司 Method for acquiring sensor data in server, acquisition system, and related apparatus
US20200327009A1 (en) * 2019-04-15 2020-10-15 Hewlett Packard Enterprise Development Lp Sensor reading verification and query rate adjustment based on readings from associated sensors
US10924350B1 (en) * 2017-06-21 2021-02-16 Amazon Technologies, Inc. Software sensor for reporting controller metrics
US20210141646A1 (en) * 2018-02-16 2021-05-13 Reneo, Inc. Scalable life-cycle maintenance of hardware
US20220114066A1 (en) * 2020-10-13 2022-04-14 Dell Products, L.P. System and method for highly granular power/thermal control in information handling systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI505104B (en) * 2010-11-03 2015-10-21 Inventec Corp Controlling method for baseboard management controller with customization sensor data record
US9971609B2 (en) * 2014-06-05 2018-05-15 American Megatrends, Inc. Thermal watchdog process in host computer management and monitoring
US10534417B1 (en) * 2015-03-10 2020-01-14 Amazon Technologies, Inc. Mass storage device electrical power consumption monitoring

Patent Citations (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496790B1 (en) * 2000-09-29 2002-12-17 Intel Corporation Management of sensors in computer systems
US20040249913A1 (en) * 2003-04-22 2004-12-09 Kaufman Gerald J. System and method for application programming interface for extended intelligent platform management
US20050137833A1 (en) * 2003-12-18 2005-06-23 Rajasekhar Sistla Automatic sensor integration
US20060167919A1 (en) * 2004-07-19 2006-07-27 Aten International Co., Ltd. Intelligent platform management interface validating system and method
US20080126586A1 (en) * 2006-11-24 2008-05-29 Inventec Corporation Universal computer product hardware configuration initialization handling method and system
US20080155300A1 (en) * 2006-12-21 2008-06-26 Inventec Corporation Method of updating a dual redundant chassis management system
US20080189315A1 (en) * 2007-02-05 2008-08-07 Inventec Corporation Method and server system for creating sensor data record
US8812137B2 (en) * 2007-02-26 2014-08-19 International Business Machines Corporation Controlling sensor networks
US20120110389A1 (en) * 2010-10-29 2012-05-03 Inventec Corporation Method for obtaining storage device state signal by using bmc
US20120151007A1 (en) * 2010-12-13 2012-06-14 International Business Machines Corporation Monitoring Sensors For Systems Management
US20140195794A1 (en) * 2013-01-08 2014-07-10 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd Electronic device with baseboard management controller updating system
US20140280837A1 (en) * 2013-03-15 2014-09-18 American Megatrends, Inc. Dynamic scalable baseboard management controller stacks on single hardware structure
US9176649B2 (en) * 2013-03-15 2015-11-03 American Megatrends, Inc. Method and apparatus of remote management of computer system using voice and gesture based input
US9311486B2 (en) * 2013-08-13 2016-04-12 American Megatrends, Inc. Network based firmware feature configuration and firmware image generation
US20150127814A1 (en) * 2013-11-07 2015-05-07 Inventec Corporation Monitoring Server Method
US20160011887A1 (en) * 2014-07-09 2016-01-14 International Business Machines Corporation Firmware Update Method and Power System Thereof
US20160283424A1 (en) * 2015-03-27 2016-09-29 David R. Richardson Virtual intelligent platform management interface (ipmi) satellite controller and method
US20170003956A1 (en) * 2015-07-01 2017-01-05 Quanta Computer Inc. Updating computer firmware
US9563379B1 (en) * 2015-10-16 2017-02-07 International Business Machines Corporation Baseboard management controller (BMC) provided with sensor list
US20170109235A1 (en) * 2015-10-16 2017-04-20 Quanta Computer Inc. Baseboard management controller recovery
US20180074984A1 (en) * 2016-09-14 2018-03-15 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (bmc)
US20180107476A1 (en) * 2016-10-17 2018-04-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Adjustment of voltage regulator firmware settings based upon external factors
US20180107470A1 (en) * 2016-10-18 2018-04-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Adjustment of voltage regulator firmware settings based upon an efficiency score
US20180121656A1 (en) * 2016-10-31 2018-05-03 Hewlett Packard Enterprise Development Lp Validating operating firmware of a periperhal device
US10120676B2 (en) * 2017-01-20 2018-11-06 Mitac Computing Technology Corporation Method of updating baseboard management controller firmware for fan speed control
US20180210724A1 (en) * 2017-01-20 2018-07-26 Mitac Computing Technology Corporation Method of updating baseboard management controller firmware for fan speed control
US10346187B1 (en) * 2017-03-30 2019-07-09 Amazon Technologies, Inc. Board management controller firmware emulation
US10924350B1 (en) * 2017-06-21 2021-02-16 Amazon Technologies, Inc. Software sensor for reporting controller metrics
US20210141646A1 (en) * 2018-02-16 2021-05-13 Reneo, Inc. Scalable life-cycle maintenance of hardware
US11635971B2 (en) * 2018-02-16 2023-04-25 Reneo, Inc. Scalable life-cycle maintenance of hardware
WO2020019724A1 (en) * 2018-07-27 2020-01-30 郑州云海信息技术有限公司 Method for acquiring sensor data in server, acquisition system, and related apparatus
US20200327009A1 (en) * 2019-04-15 2020-10-15 Hewlett Packard Enterprise Development Lp Sensor reading verification and query rate adjustment based on readings from associated sensors
US20220114066A1 (en) * 2020-10-13 2022-04-14 Dell Products, L.P. System and method for highly granular power/thermal control in information handling systems

Also Published As

Publication number Publication date
TWI762914B (en) 2022-05-01
US11714630B2 (en) 2023-08-01
TW202141274A (en) 2021-11-01

Similar Documents

Publication Publication Date Title
US8266692B2 (en) Malware automated removal system and method
US7506316B2 (en) Method and system for managing shared-library executables
US6550021B1 (en) Internet-implemented method supporting component repair services
US9213534B2 (en) Method for restoring software applications on desktop computers
US7185335B2 (en) Programmatic application installation diagnosis and cleaning
US9703635B2 (en) Method, computer program, and computer for restoring set of variables
US20040255106A1 (en) Recovery of operating system configuration data by firmware of computer system
US20130138934A1 (en) Loading configuration information
US6487522B1 (en) System and method for selectively executing a computer program based on the presence of associated hardware
US20200310779A1 (en) Validating a firmware compliance policy prior to use in a production system
KR20110055841A (en) Recovery method of system and apparatus for supplying the same
US7127596B2 (en) Method and system for improving computer system boot reliability by executing an application specific test during a boot prior loading an operating system
US6950962B2 (en) Method and apparatus for kernel module testing
CN110780942A (en) System starting method and device, node equipment and computer readable storage medium
EP3029564A1 (en) System and method for providing access to original routines of boot drivers
CN111752635A (en) Application program running method and device, computer equipment and storage medium
US20140156943A1 (en) Information processing apparatus, information processing method, and program
US20130097412A1 (en) Performing A Boot Sequence In A Multi-Processor System
US11714630B2 (en) Method of adding a sensor monitoring feature of a newly-added sensor to a system monitoring feature provided by a baseboard management controller
US20060168440A1 (en) OS selection methods and computer systems utilizing the same
US20130311761A1 (en) Intelligently Loading Legacy Option ROMs In A Computing System
US9804932B2 (en) Method and device for processing data and electronic apparatus
WO2008005536A2 (en) Malware automated removal system and method
KR20070060448A (en) Device and method for upgradin system using two step bootloader
CN113791874A (en) Configuration method and device for virtual machine boot, computer equipment and storage medium

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: MITAC COMPUTING TECHNOLOGY CORPORATION, TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHU, HSIN-HAO;REEL/FRAME:056467/0322

Effective date: 20210420

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE