Method for monitoring arithmetic device, arithmetic device and method for training machine learning model
By receiving audio data and fan speed data, and using machine learning models to identify abnormal states of computing devices, the problem of remotely detecting abnormal conditions of computing devices is solved, thereby improving the management efficiency and reliability of computing devices.
Patent Information
- Application Number
- CN202411300113.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-07-01
- Filing Date
- 2024-09-18
- Publication Date
- 2026-01-06
AI Technical Summary
Existing technologies make it difficult to remotely detect abnormal conditions in computing devices during operation, such as loose screws, loose connections, or blocked airflow channels, which can cause the computing device to malfunction. Moreover, these abnormal conditions can usually only be detected through physical inspection.
By receiving audio data and fan speed data during the operation of the computing device, machine learning models such as LSTM neural networks are used to determine the normal state of the computing device and identify abnormal conditions.
It enables remote detection of abnormal conditions in computing devices, improving the operational reliability and management efficiency of computing devices, and reducing the frequency of physical inspections.
Smart Images

Figure CN121277784A_ABST
Abstract
Description
Technical Field
[0001] The present invention generally relates to systems and methods for detecting abnormal conditions occurring during the operation of a computing device, and more specifically, to systems and methods for using machine learning techniques to analyze audio data to detect any abnormal conditions occurring during the operation of a computing device. Background Technology
[0002] Many computing devices, such as servers, are designed to operate continuously or nearly continuously for extended periods. During operation, various abnormal conditions can occur, such as loose screws, loose connections to various mechanical components (e.g., expansion cards, cables), or blocked airflow channels for cooling the computing device. Because these abnormal conditions are typically physical in nature and cannot be detected through remote management of the computing device (e.g., via a remote connection to a board management controller), they are usually only detectable through physical inspection of the computing device. However, many of these computing devices are located remotely or are not frequently accessed. Therefore, detecting these abnormal conditions can be difficult. Thus, there is a need for new systems and methods for detecting abnormal conditions in computing devices during operation. Summary of the Invention
[0003] The terms used, including examples and similar terms, are intended to refer broadly to all subject matter of the invention and the claims. It should be understood that statements containing these terms should not limit the subject matter described in the invention or limit the meaning or scope of the claims. The embodiments covered by the invention are defined by the claims, not the content of the invention. The summary is a high-level overview of various aspects of the invention and introduces some concepts that are further described in the detailed description section below. The summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used alone to determine the scope of the claimed subject matter. This subject matter should be understood by referring to the entire specification of the invention, any or all of the drawings, and appropriate portions of each claim.
[0004] In a first embodiment, the present disclosure pertains to a method for monitoring a computing device, including receiving audio data relating to sounds generated by the computing device during operation. The method further includes receiving fan speed data relating to the respective fan speeds of one or more fans. The method further includes determining a normal state of the computing device based on at least the audio data and the fan speed data. The normal state relates to whether one or more abnormal conditions occur that affect the sounds generated by the computing device during operation.
[0005] In some aspects of the first implementation, the normal state relates to a plurality of variables, the values of which indicate whether one or more abnormal conditions have occurred.
[0006] In some aspects of the first embodiment, the plurality of variables includes at least one variable relating to the intake of the computing device, at least one variable relating to the exhaust of the computing device, at least one variable relating to one or more mechanical elements coupled to the computing device, at least one variable relating to one or more fasteners coupled to or disposed in the housing of the computing device, or a combination of any of the above.
[0007] In some aspects of the first embodiment, the value of at least one variable relating to the air intake indicates the degree of air intake blockage.
[0008] In some aspects of the first embodiment, the value of at least one variable relating to exhaust gas indicates the degree of blockage in the exhaust gas.
[0009] In some aspects of the first embodiment, the value of at least one variable relating to one or more mechanical elements indicates the degree of loosening of the coupling between the one or more mechanical elements and the computing device.
[0010] In some aspects of the first embodiment, the value of at least one variable relating to one or more fasteners indicates the degree of looseness of one or more fasteners.
[0011] In some aspects of the first embodiment, it further includes generating a message indicating the normal state of the computing device, the message including the values of a plurality of variables, an indication of whether at least one of one or more abnormal conditions has occurred, or both.
[0012] In some aspects of the first embodiment, the indication of whether at least one of one or more abnormal conditions has occurred includes an indication that no one or more abnormal conditions have occurred, or an indication that at least one of one or more abnormal conditions has occurred.
[0013] In some aspects of the first embodiment, when at least one of one or more abnormal conditions occurs, the indication includes information regarding the indication of at least one of the one or more abnormal conditions, information regarding the classification of at least one of the one or more abnormal conditions, information regarding the region of at least one of the one or more abnormal conditions, information regarding the degree of at least one of the one or more abnormal conditions, or a combination of any of the above.
[0014] In some aspects of the first embodiment, one or more abnormal conditions include at least a partial blockage of the intake, at least a partial blockage of the exhaust, loosening of the coupling of at least one of one or more mechanical elements, loosening of the coupling of at least one of one or more fasteners, or a combination of any of the above.
[0015] In some aspects of the first embodiment, determining the normal state of the computing device includes inputting audio data and fan speed data into a machine learning model, and receiving an indication of the normal state of the computing device from the machine learning model.
[0016] In some aspects of the first implementation, the machine learning model is a neural network-like network.
[0017] In some aspects of the first implementation, the machine learning model is a recurrent neural network (RNN) with at least one long short-term memory (LSTM) unit.
[0018] In some aspects of the first embodiment, the machine learning model is implemented by the baseboard management controller (BMC) of the computing device.
[0019] In some aspects of the first embodiment, the audio data includes pulse-code modulation (PCM) audio data with a sampling rate of 16 kHz and a bit depth of 16.
[0020] In some aspects of the first embodiment, one or more fans of the computing device include at least one fan for removing heat from the power supply unit (PSU) of the computing device, at least one fan for removing heat from the central processing unit (CPU) of the computing device, or both of the above.
[0021] In some aspects of the first embodiment, the normal state of the computing device indicates the difference between the sound generated by the computing device during operation and the sound generated by the computing device during operation without any abnormal conditions, the difference being caused by the occurrence of at least one of one or more abnormal conditions.
[0022] In a second embodiment, the present disclosure pertains to a computing device, including a housing, one or more electronic components, one or more fans, a microphone, and a board management controller. The housing has an air intake and an exhaust system defined within it. One or more electronic components are at least partially disposed within the housing. One or more fans are configured to allow airflow through the housing and remove heat generated by the one or more electronic components. The microphone is at least partially disposed within the housing and configured to generate audio data relating to sounds generated by the computing device during operation. The board management controller is disposed within the housing and is at least communicatively coupled to one or more fans and the microphone. The board management controller is configured to receive audio data relating to sounds generated by the computing device during operation from the microphone. The board management controller is further configured to receive fan speed data relating to the fan speeds of the one or more fans. The board management controller is further configured to determine a normal state of the computing device based on at least the audio data and the fan speed data, the normal state relating to whether one or more abnormal conditions affecting the sounds generated by the computing device during operation have occurred.
[0023] In a third embodiment, this disclosure relates to a method for training a machine learning model to determine the normal state of a computing device having one or more fans. The method includes operating the computing device using multiple different fan speeds of the one or more fans. The method further includes simulating or inducing multiple abnormal conditions at each of the multiple different fan speeds. The method further includes generating multiple combinations of audio data, each corresponding combination of the multiple combinations of audio data relating to a sound generated during operation of the computing device with one of the multiple different fan speeds and the absence of multiple abnormal conditions or the presence of one or more of multiple abnormal conditions. The method further includes generating corresponding identifiers for each corresponding combination of the multiple combinations of audio data. The corresponding identifiers indicate that the corresponding combination of audio data corresponds to the operation of the computing device without any of the multiple abnormal conditions or corresponds to the identification of one or more of the multiple abnormal conditions. The method further includes training a machine learning model using each combination of the multiple combinations of audio data and the corresponding identifiers for each corresponding combination of the multiple combinations of audio data.
[0024] The foregoing summary is not intended to represent every embodiment or aspect of this disclosure. Rather, it provides only examples of some novel aspects and features set forth in this disclosure. The foregoing features and advantages, as well as other features and advantages, will become apparent from the following detailed description of representative embodiments and modes of implementation of the invention when taken in conjunction with the accompanying drawings and claims. Other aspects of this disclosure will be apparent to those skilled in the art from the detailed description of various embodiments with reference to the accompanying drawings and the brief description provided below.
[0025] To provide a better understanding of the above and other aspects of the present invention, specific embodiments are described below in conjunction with the accompanying drawings: Attached Figure Description
[0026] This disclosure, its advantages, and the accompanying drawings will be readily understood from the following description of representative embodiments taken in conjunction with the accompanying drawings. These drawings depict only representative embodiments and should not be construed as limiting the scope of the various embodiments or the claims.
[0027] Figure 1 A schematic diagram of an example computing device according to certain aspects of this disclosure is shown;
[0028] Figure 2 The use of audio data generated by a microphone and fan speed data generated by a fan, according to certain aspects of this disclosure, for monitoring purposes. Figure 1 A flowchart of an example method of an example computing device;
[0029] Figure 3 It is based on training a machine learning model according to certain aspects of this disclosure to determine Figure 1 A flowchart of the method for the normal state of an example computing device.
[0030] [Symbol Explanation]
[0031] 100: Computing device
[0032] 102: Shell
[0033] 104: CPU
[0034] 106:DIMMs
[0035] 108:PCH
[0036] 110: SSD
[0037] 112:HDD
[0038] 114:BMC
[0039] 116A~116n: Fan
[0040] 118: Microphone
[0041] 120: Network
[0042] 122:PSU
[0043] 124: PSU Fan
[0044] 200, 300: Method
[0045] 210, 220, 230, 310, 320, 330, 340, 350: Steps Detailed Implementation
[0046] Various embodiments are described with reference to the accompanying drawings, in which all figures use the same reference numerals to denote similar or equivalent elements. The drawings are not necessarily drawn to scale and are provided only to illustrate aspects and features of this disclosure. Numerous specific details, relationships, and methods are set forth to provide a comprehensive understanding of certain aspects and features of this disclosure, although those skilled in the art will recognize that these specific details, relationships, or methods can be implemented without one or more of them. In some cases, well-known structures or operations are not shown in detail for illustrative purposes. The various embodiments disclosed herein are not necessarily limited to the order of the described actions or events, as some actions may occur in a different order and / or simultaneously with other actions or events. Furthermore, not all actions or events in the figures are necessary to realize certain aspects and features of this disclosure.
[0047] For the purposes of this detailed description, unless otherwise stated and where appropriate, the singular includes the plural, and vice versa. The word “including” means “including, but not limited to, this.” Furthermore, approximate words such as “about,” “almost,” “substantially,” “approximately,” etc., may be used in this disclosure, for example, to mean “in,” “near,” “close to,” or “within 3-5%,” or “within acceptable manufacturing tolerances,” or any logical combination thereof. Similarly, the terms “vertical” or “horizontal” are intended to additionally include “within 3-5%” in the vertical or horizontal direction, respectively. Furthermore, directional words such as “top,” “bottom,” “left,” “right,” “above,” and “below” are intended to relate to the equivalent directions described in the accompanying drawings; to be understood from the context of the referenced object or element, such as from its usual location; or as stated herein.
[0048] This document discloses a system and method for detecting abnormal conditions during the operation of a computing device. A computing device generates various sounds during operation, such as airflow through the device's casing caused by a fan, and vibrations caused by moving parts such as a hard drive. Various abnormal conditions may also exist, affecting the sounds produced by the computing device during operation. For example, if the air intake of the casing is partially blocked, the sound produced by the computing device may differ from when the air intake is not blocked. Additionally, loose fasteners (e.g., screws) or mechanical components (e.g., expansion cards) may cause changes in the sound produced by the computing device. Audio data of the sounds produced by the computing device during operation and fan speed data of any fans in the computing device can be collected and analyzed to determine the normal state of the computing device. The normal state indicates whether any abnormal conditions have occurred.
[0049] Figure 1 An example computing device 100 is shown according to certain aspects of this disclosure. The computing unit 100 includes a housing 102, a CPU 104 (Central Processing Unit), one or more memory devices (DIMMs 116, dual inline memory modules, DIMMs in the illustrated embodiment) coupled to the CPU 104 via a memory bus, a PCH 108 (Platform Controller Hub), one or more solid-state drives (SSDs 110) coupled to the PCH 108 via a Peripheral Component Interconnect Express (PCIe) bus, one or more hard disk drives (HDDs 112) coupled to the PCH 108 via a Serial Advanced Technology Attachment (SATA) bus, a BMC 114 (Baseboard Management Controller), a plurality of fans (fans 116A to 116n) coupled to the BMC 114 via, for example, a pulse width modulation (PWM) connection or a metering connection of a tachometer, and a connection to the BMC via a universal serial bus (USB). The microphone 118 of the BMC 114. The BMC 114 can also be connected to an external network 120 via an Ethernet connection or other network interface.
[0050] The CPU 104 controls all operations of the computing device 100 and may execute various different applications. The PCH 108 is coupled to the CPU 104 via a direct media interface (DMI) bus or a PCIe bus and can be used for communication between the CPU 104 and the SSD 110 and HDD 112 (and any other components that may be coupled to the PCH 108). In some embodiments, the computing device 100 may include different chips to replace or add to the PCH 108, such as a northbridge chip and / or a southbridge chip. These chips typically perform many of the same functions as the PCH 108. In other configurations of computing devices similar to the computing device 100, the PCH 108 may be removed, and other chipset components, including the CPU (e.g., AMD-enabled or ARM-enabled chipsets), may perform similar functions.
[0051] BMC 114 manages the operation of computing device 100, such as power management and thermal management. For example, in some cases, BMC 114 can control the operation of fans 116A to 116n to allow airflow through housing 102 and to remove heat from computing device 100. For example, fans 116A to 116n can be used to help remove heat generated by CPU 104 and / or other components or by the combination of computing device 100 and other components. BMC 114 can also receive fan speed data regarding the rotational speed of fans 116A to 116n via a metering connection between BMC 114 and fans 116A to 116n. Furthermore, as discussed in more detail herein, BMC 114 can receive audio data generated by microphone 118 regarding sounds produced by computing device 100 during operation. In the illustrated embodiment, the computing device 100 includes a single microphone 118, which may be entirely disposed within the housing 102, partially within the housing 102 and partially outside the housing 102, or entirely outside the housing 102. Furthermore, in addition to as shown in... Figure 1 The single microphone 118 shown may be used in some embodiments to include multiple microphones. For example, the computing device 100 may include a first microphone wholly (or partially) disposed within the housing 102 and a second microphone wholly (or partially) disposed outside the housing 102. In these embodiments, the BMC 114 receives audio data from both microphones.
[0052] The BMC 114 communicates with the PCH 108 through various channels, such as the PCIe bus, system management bus (SMB or SMBus), enhanced serial peripheral interface (eSPI) bus, USB, or a combination of the above. The network connection between the BMC 114 and the external network 120 allows communication between external devices and the system. The BMC 114 typically manages the interface between different components of the computing device 100 and the system management software, and can be used to control the operation of the computing device 100 as a part of a larger computing system.
[0053] The computing device 100 further includes a PSU 122 (power supply unit). The PSU 122 provides power to all components of the computing device 100, including... Figure 1 Some or all of the components shown are included. In this example, PSU 122 is configured to connect to the mains power supply and convert AC voltage to DC voltage usable by the components of the computing device 100. Other PSUs may convert DC voltage input to DC voltage for powering the computing device. PSU 122 includes a PSU fan 124 operable to cause airflow through PSU 122 (and / or any heat removal components of PSU 122, such as heat sinks) to facilitate heat removal from PSU 122. PSU 122 is coupled to BMC 114 via a power management bus (PMBus), allowing BMC 114 to control and monitor PSU 122 and PSU fan 124. Similar to fans 116A to 116n, BMC 114 can also receive fan speed data regarding the rotational speed of PSU fan 124 via the PMBus between BMC 114 and PSU 122.
[0054] Typically, all components of the arithmetic device 100 (which may include) Figure 1 All or some of the components shown are at least partially housed within the housing 102. Furthermore, not all embodiments will be included. Figure 1 Each element of the computing device 100 shown herein. Generally, various embodiments of this disclosure would include at least a CPU 104, a BMC 114, fans 116A to 116n, a microphone 118, and a PSU 122 having a PSU fan 124.
[0055] The computing device 100 generates various sounds during operation. For example, the rotation of fans 116A to 116n and PSU fan 124 produces sound when they are started. The airflow caused by fans 116A to 116n and PSU fan 124 may also generate sound. Additionally, the movement or vibration of mechanical components (such as the rotation of one of the HDDs 112) may produce sound, either by the component itself (e.g., the sound of vibration) or by the vibration or movement of other mechanical components (e.g., the rotation of one of the HDDs 112 may cause a screw to loosen and vibrate, producing sound).
[0056] Several different factors may affect the sound produced by the computing device 100 during operation. One factor that may affect the sound produced by the computing device 100 is whether there is any obstruction to the air intake and exhaust of the housing 102. The air intake and exhaust allow airflow through the computing device 100 to help remove heat. If the air intake and / or exhaust is partially or completely blocked (e.g., by dust, cables inserted into the housing 102, etc.), the sound produced by the air flowing through the housing 102 will be different from when the air intake and / or exhaust is not blocked. A second factor may be the loosening of any fasteners of the computing device 100. The computing device 100 may use a variety of different fasteners to attach different components, such as screws for coupling different parts of the housing 102 or coupling the motherboard (e.g., components such as the CPU 104 and PCH 108 may be mounted on the motherboard) to the housing 102, clamps for removable attachment components within the housing 102, etc. If any of these fasteners becomes loose (e.g., a screw is not fully tightened), the movement (e.g., vibration) of the loose fastener during operation of the computing device 100 may affect the sound produced by the computing device 100. A third factor may be the loosening of any mechanical components (e.g., non-fasteners) disposed within and / or coupled to the housing 102. For example, the computing device 100 may include an expansion card inserted into a connector (e.g., a motherboard connector) within the housing 102. If the expansion card is not fully engaged in the connector or is loose, the movement (e.g., vibration) of the expansion card may affect the sound produced by the computing device 100.
[0057] Therefore, the computing device 100 may experience various abnormal conditions that affect the sounds produced by the computing device 100 (such as air intake or exhaust blockage, loose fasteners or mechanical components, etc.). These abnormal conditions are undesirable because they may cause problems in the operation of the computing device 100, resulting in the computing device 100 failing to function properly. However, because the computing device 100 is usually located remotely or is not frequently accessed, detecting these abnormal conditions may be difficult; for example, remote management of the computing device 100 (e.g., via BMC 114) typically cannot detect such abnormal conditions.
[0058] Figure 2 The audio data generated by microphone 118 and the audio data generated by fans 116A to 116n and PSU fan 124 (all in accordance with certain aspects of this disclosure) are used according to certain aspects of this disclosure. Figure 1 A flowchart of a method 200 for monitoring a computing device 100 using fan speed data generated (as shown in the diagram). In some cases, method 200 utilizes BMC 114 (… Figure 1 To implement this.
[0059] Step 210 of method 200 includes receiving audio data relating to sound generated by the computing unit during operation. The audio data is generated by microphone 118 and can be received by BMC 114. In some embodiments, microphone 118 is integrally disposed within housing 102 of computing device 100 (e.g., Figure 1 (As shown). In several other embodiments, the microphone 118 is partially disposed within and partially disposed outside the housing 102. In many more embodiments, the microphone 118 is entirely disposed outside the housing 102. In several additional embodiments, audio data is generated by a plurality of microphones, such as microphones disposed within the housing 102 and microphones disposed outside the housing 102.
[0060] The audio data may cover any suitable time period, such as 1 second, 5 seconds, 10 seconds, 20 seconds, 30 seconds, 1 minute, 5 minutes, etc. The audio data can also be in any suitable format. For example, in some implementations, the audio data is pulse-code modulation (PCM), with audio samples at a specific sampling frequency and each sample having a specific bit depth (e.g., length). In some implementations, the audio data is PCM audio data with a sampling rate of 16 kHz and a bit depth of 16.
[0061] Step 220 of method 200 includes receiving fan speed data relating to the fan speed of any fan of the computing device 100, in some cases including fans 116A to 116n and PSU fan 124. In some embodiments, the fan speed data indicates the rotational speed of each of fans 116A to 116n and PSU fan 124. The rotational speed may be measured based on a number of Hz, based on a number of revolutions per minute (e.g., a number of revolutions per minute (RPM)), or based on any other suitable method. In several other embodiments, the fan speed data indicates the value (or some other characteristic) of the control signals sent to fans 116A to 116n and PSU fan 124. For example, in some cases, BMC 114 controls fans 116A to 116n and PSU fan 124 via PWM. BMC 114 sends control signals to fans 116A to 116n and PSU fan 124 in the form of a rectangular wave with a specific duty cycle. By changing the duty cycle of these rectangular waves (e.g., the pulse width modulated in the control signal), the BMC 114 can control the fan speed (e.g., rotational speed). The fan speed data can thus indicate, for example, the value of the duty cycle over a period of time (e.g., 25%, 50%, etc.).
[0062] In some embodiments, receiving fan speed data in step 220 includes the BMC 114 actively receiving fan speed data from fans 116A to 116n and PSU fan 124. In these embodiments, the fan speed data may be generated by the fan itself and transmitted to the BMC 114. In other embodiments, receiving fan speed data in step 220 includes the BMC 114 specifically storing the data generated by the BMC 114.
[0063] Step 230 of method 200 includes determining the normal state of the computing device 100 based at least in part on audio data and fan speed data. The normal state of the computing device 100 typically indicates whether various abnormal conditions have occurred that affect the sound emitted by the computing device 100 during operation, based on a comparison between the sound produced by the computing device at a specific fan speed data at the present time and the sound expected to be produced by the computing device at the same fan speed data.
[0064] Abnormal conditions may include any of those discussed herein, including partial or complete blockage of the air intake of housing 102; partial or complete blockage of the exhaust of housing 102; loosening of the coupling between a mechanical element (e.g., an expansion card) and other devices (e.g., a motherboard) to which the mechanical element is coupled; loosening of one or more fasteners of computing device 100 (e.g., screws attaching the motherboard to housing 102); other abnormal conditions that may affect the sound generated by computing device 100 during operation; or any combination of the foregoing.
[0065] In some embodiments, the normal state of the arithmetic device 100 can be indicated by the values of multiple variables, each relating to different abnormal conditions. In some embodiments, the variables are binary variables with only two possible values, one value (e.g., 0) indicating that the corresponding abnormal condition has not occurred, and the other value (e.g., 1) indicating that the corresponding abnormal condition has occurred. Thus, a value of 0 for a variable relating to intake blockage (for example) indicates that the intake is not blocked, while a value of 1 for a variable relating to exhaust blockage (for example) indicates that the exhaust is blocked. In some of these embodiments, the binary values can also be specified as different degrees of abnormal conditions. For example, the value relating to intake blockage can be 0 if the amount of blockage is between 0% and 50%, and can be 1 if the amount of blockage is between 50% and 100%.
[0066] In several other implementations, the variable may have three or more distinct values to indicate the degree of an abnormal condition. For example, a variable relating to intake blockage may have values between 0 and 4. A value of 0 indicates no blockage, a value of 1 indicates 25% blockage, a value of 2 indicates 50% blockage, a value of 3 indicates 75% blockage, and a value of 4 indicates 100% blockage. Thus, the values of these variables can be used to indicate how much blockage may occur in the intake and exhaust systems, how loose multiple fasteners may be, how loose multiple mechanical components may be, etc. Generally, the degree of abnormal condition referred to herein includes the absence of an abnormal condition (e.g., degree 0).
[0067] In some implementations, the determination of the normal state is performed by a machine learning model. In these implementations, the determination of the normal state in step 230 includes inputting audio data and fan speed data to the machine learning model and receiving an indication of the normal state from the machine learning model. The machine learning model can be implemented by the computing device 100 itself (e.g., via BMC 114) or by an external computing device. Assuming internal implementation, the audio data and fan speed data can be stored and held locally on the computing device 100 (e.g., in a dedicated memory device of the BMC 114). If external implementation, the audio data and fan speed data are transmitted to an external computing device (e.g., via a connection to an external network 120).
[0068] Any suitable machine learning model can be used. In some implementations, the machine learning model is a neural network. In some of these implementations, the machine learning model is a recurrent neural network (RNN) with one or more long short-term memory (LSTM) units. The normal state received from the machine learning model can have any suitable format. In some implementations, the indicator can be a number corresponding to a specific combination of anomalous conditions. For example, 0 can indicate no anomalous condition; 1 can indicate that the first anomalous condition occurred but the second, third, and fourth anomalous conditions did not occur; 2 can indicate that the second anomalous condition occurred but the first, third, and fourth anomalous conditions did not occur; 5 can indicate that the first and second anomalous conditions occurred but the third and fourth anomalous conditions did not occur, and so on.
[0069] In several other implementations, the normal state indicated by the machine learning model is the value of a variable relating to several different abnormal conditions. For example, variable A relates to intake blockage, variable B to exhaust blockage, variable C to loose coupling of one or more mechanical components, and variable D to loose fasteners. The machine learning model's output could then be A = a, B = b, C = c, and D = d, where lowercase letters represent specific values for the corresponding variables. These variables may have binary values indicating whether the abnormal condition occurs, or they may have three or more possible values to indicate the degree of the abnormal condition.
[0070] Generally, each combination of whether an anomaly occurs can be given a pre-assigned label, each label identifying the corresponding combination. The label can be in alphanumeric format or a specific number of X digits, representing the value of each variable for different anomaly conditions.
[0071] In some embodiments, method 200 further includes generating a message indicating the normal state of the computing device 100. The message may be generated automatically (e.g., by means of BMC 114 or CPU 104) and sent to the user or administrator of the computing device 100. The message may generally include any information needed regarding the normal state, such as indications of the occurrence of abnormal conditions, values of various variables, etc. Indications of the occurrence of abnormal conditions may be a binary indication of whether an abnormal condition has occurred, or may include specific information regarding the determination of the occurrence of an abnormal condition. For example, the message may include information about the broad category to which the abnormal condition belongs, such as a "airflow" category or a "loose" category. The message may additionally or alternatively include more specific identification information about the abnormal condition, such as whether the abnormal condition is at least partially related to an intake blockage, at least partially related to an exhaust blockage, at least partially related to a loose coupling of one or more fasteners, at least partially related to a loose coupling of one or more mechanical components, or a combination of any of the above. The message may additionally or alternatively include an indication of the degree of any identified abnormal condition, such as 25% air intake blockage, 50% loose fasteners, etc.
[0072] In some implementations, the machine learning model is configured to generate a message. In several other implementations, the BMC 114 receives the output of the machine learning model (e.g., an indication of a normal state) and uses this indication to generate a message.
[0073] In some embodiments, the computing device 100 implements method 200. In these embodiments, the computing device 100 generally includes at least a housing 102 (with air intake and exhaust), one or more electronic components (e.g., CPU 104, PCH 108, PSU 122, etc.) at least partially disposed within the housing 102, one or more fans (e.g., fans 116A to 116n and PSU fan 124, etc.) configured to allow airflow through the housing 102 and remove heat generated by the electronic components, at least partially disposed within the housing 102 and configured to generate audio data relating to the operation of the computing device 100, and a BMC 114 disposed within the housing 102 and communicatively coupled to the one or more fans and the microphone 118. The BMC 114 can receive audio data from the microphone 118 and fan speed data from the one or more fans, and can determine the normal state of the computing device 100 based on the audio data and the fan speed data.
[0074] Figure 3 It is based on training a machine learning model according to certain aspects of this disclosure to determine whether the fan 116A to fan 116n ( Figure 1 ) and / or PSU fan 124 ( Figure 1 The arithmetic unit 100 ( Figure 1In the normal state of method 300, fans 116A to 116n and / or PSU fan 124 may be simultaneously referred to as one or more fans.
[0075] Step 310 of method 300 includes operating the computing device 100 using multiple different fan speeds of one or more fans. In some cases, all fans are set to operate simultaneously at a given fan speed. For example, each fan is operated at fan speed intensity 1, then each fan is operated at fan speed intensity 2, then each fan is operated at fan speed intensity 3, and so on. In other cases, operating the computing device 100 using multiple different fan speeds may include operating some fans at fan speeds different from the others. For example, if the computing device includes fans 116A to 116n and PSU fan 124, when PSU fan 124 is at fan speed intensity 1, fans 116A to 116n can cycle through different possible fan speed intensities (approximately all fans 116A to 116n are at the same fan speed intensity), when PSU fan 124 is at fan speed intensity 2, fans 116A to 116n can then cycle through different possible fan speed intensities, and so on. In several implementations, step 310 includes operating the computing device 100 at approximately all possible fan speed intensities for one or more fans. In practice, different fans in a computing device, such as a server, may adjust their speeds based on temperature sensors reading from the components they are cooling. For example, due to the high heat generated by specific components, such as the CPU, GPU, and solid-state drive (SSD), fans positioned close to these components may operate at higher speeds than other fans.
[0076] Step 320 includes simulating or triggering multiple different abnormal conditions when the computing device 100 operates at various fan speeds. Generally, step 320 includes triggering or simulating every possible combination of abnormal conditions that the computing device 100 might experience. For example, the computing device 100 might operate at various fan speeds when intake is 25% blocked and other conditions are normal; then, the computing device 100 might operate at various fan speeds when both intake and exhaust are simultaneously 25% blocked and other conditions are normal, and so on. Therefore, if there are X different possible abnormal conditions, and regardless of whether each abnormal condition occurs (e.g., the variables used for each abnormal condition may only have binary values to indicate whether they occur), then for each different fan speed intensity at which the computing device 100 operates, 2X different combinations of abnormal conditions will be triggered or simulated, including combinations where no abnormal conditions occur and combinations where all abnormal conditions occur. If there are X different possible abnormal conditions, and each abnormal condition can have Y different degrees (for example, the variable used for each abnormal condition can have Y different values to indicate the degree of the abnormal condition), then for each different fan speed intensity at which the computing device 100 is operating, the Y of the abnormal condition multiplied by X different combinations will be triggered or simulated.
[0077] Step 330 of method 300 includes generating multiple combinations of audio data when the computing device 100 operates at different fan speeds and multiple abnormal conditions are triggered or simulated. Each combination of audio data relates to the sound produced when the computing device 100 operates at (1) one of multiple different fan speeds and (2) no abnormal conditions occur or at least one abnormal condition occurs.
[0078] Generally, steps 310, 320, and 330 are executed simultaneously, generating audio data for all different combinations of fan speed and abnormal conditions. However, in some cases, a particular portion of any of steps 310, 320, and 330 may be executed before or after the others, as long as a combination of audio data is generated.
[0079] Step 340 includes generating corresponding identifiers for each corresponding combination of audio data. The identifiers for each corresponding combination of audio data indicate whether the corresponding combination of audio data corresponds to operation of the computing device 100 under normal conditions, or to operation of the computing device 100 identified as occurring in a combination of one or more abnormal conditions. In some embodiments, the identifiers may be values of variables corresponding to combinations of abnormal conditions. In other embodiments, the identifiers may be unique identifiers for each combination, such as specific combinations of numbers and / or letters.
[0080] Step 350 involves training a machine learning model using combinations of audio data and corresponding labels for each combination. Any suitable training type can be used, including supervised learning, unsupervised learning, etc. In some implementations, combinations of audio data are input into the machine learning model, and the resulting output is compared with the labels. Based on the differences between the output and the labels, multiple parameters of the machine learning model can be updated, such as multiple weights and offsets of individual neurons in a neural network. In some cases, the difference between the output and the labels can be measured using a loss function, and the parameters of the machine learning model are updated to help minimize the loss function used for the combinations of audio data and their corresponding labels.
[0081] Method 300 can be implemented wholly or in part on any suitable computing device, including computing device 100. For example, in some cases, steps 310, 320, and 330 can be performed using computing device 100 to generate a combination of audio data. Steps 340 (generating an identifier for the combination of audio data) and 350 (training a machine learning model) can be performed on computing device 100 or on another computing device.
[0082] Although the invention has been described and illustrated with respect to one or more embodiments, those skilled in the art will recognize or understand equivalent changes and modifications upon reading and understanding this specification and the accompanying drawings. Furthermore, while a particular feature of the invention may be disclosed only for one of several embodiments, this feature may be combined with one or more other features of other embodiments, as these features may be desired and advantageous for any given or particular application.
[0083] Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by those skilled in the art. Furthermore, terms defined, for example, in common dictionaries should be interpreted as having meanings consistent with their meanings in the relevant technical context and should not be interpreted as having idealized or overly formal meanings unless expressly defined herein. While various embodiments of the invention have been described above, it should be understood that they are presented by way of example only and not as limiting. Numerous changes may be made to the disclosed embodiments based on the disclosure herein without departing from the spirit or scope of this disclosure. Therefore, the breadth and scope of this disclosure should not be limited by any of the foregoing embodiments. Rather, the scope of this disclosure should be determined by the claims and their equivalents.
Claims
1. A method for monitoring a computing device, the method comprising: receiving audio data regarding sound generated by the computing device during operation, the computing device including one or more electronic components disposed at least partially within a housing; causing air to flow through the housing, the air flowing from one or more fans of the computing device, the air removing heat generated by the one or more electronic components; receiving fan speed data regarding a respective fan speed of each of the one or more fans; and determining a normal status of the computing device based on at least the audio data and the fan speed data, the normal status regarding whether one or more abnormal conditions affecting the sound generated by the computing device during operation are present.
2. The method of claim 1, wherein the normal status is regarding a plurality of variables, a respective value of each of the variables indicating whether a corresponding one of the one or more abnormal conditions is present, wherein the variables include at least one variable regarding intake air of the computing device, at least one variable regarding exhaust air of the computing device, at least one variable regarding one or more mechanical components coupled to the computing device, at least one variable regarding one or more fasteners coupled to or disposed within the housing of the computing device, or a combination thereof, wherein the value of the at least one variable regarding the intake air indicates a degree of blockage of the intake air, wherein the value of the at least one variable regarding the exhaust air indicates a degree of blockage of the exhaust air, wherein the value of the at least one variable regarding the one or more mechanical components indicates a degree of looseness of coupling between the one or more mechanical components and the computing device, wherein the value of the at least one variable regarding the one or more fasteners indicates a degree of looseness of the one or more fasteners.
3. The method of claim 2, further comprising generating a message indicating the normal status of the computing device, the message including the value of each of the variables, an indication of whether at least one of the one or more abnormal conditions is present, or both, wherein the indication of whether at least one of the one or more abnormal conditions is present includes an indication that none of the one or more abnormal conditions is present, or an indication that at least one of the one or more abnormal conditions is present.
4. The method of claim 3, wherein when at least one of the one or more abnormal conditions is present, the indication includes information regarding the at least one of the one or more abnormal conditions, information regarding a classification of the at least one of the one or more abnormal conditions, information regarding a location of the at least one of the one or more abnormal conditions, information regarding a degree of the at least one of the one or more abnormal conditions, or a combination thereof, wherein the one or more abnormal conditions include at least partial blockage of the intake air, at least partial blockage of the exhaust air, looseness of coupling of at least one of the one or more mechanical components, looseness of coupling of at least one of the one or more fasteners, or a combination thereof.
5. The method of claim 1, wherein determining the normal status of the computing device includes: inputting the audio data and the fan speed data to a machine learning model; and receiving, from the machine learning model, an indication of the normal status of the computing device, wherein the machine learning model is a neural network, wherein the machine learning model has a recurrent neural network (RNN) with at least one long short-term memory (LSTM) unit, wherein the machine learning model is implemented by a baseboard management controller (BMC) of the computing device.
6. The method of claim 1, wherein the audio data comprises pulse-code modulation (PCM) audio data having a sampling rate of 16 kHz and a bit depth of 16.
7. The method of claim 1, wherein the one or more fans of the computing device comprise at least one fan for removing heat from a power supply unit (PSU) of the computing device, at least one fan for removing heat from a central processing unit (CPU) of the computing device, or both.
8. The method of claim 1, wherein the normal status of the computing device indicates a difference between the sound produced by the computing device during operation and the sound produced by the computing device during operation without any abnormal condition, the difference being caused by the occurrence of at least one of the one or more abnormal conditions.
9. A computing device, comprising: a housing having an air intake and an air exhaust defined in the housing; one or more electronic components disposed at least partially in the housing; one or more fans disposed to cause air to flow through the housing and remove heat generated by the one or more electronic components; a microphone disposed at least partially in the housing and configured to generate audio data related to sound produced by the computing device during operation; and a baseboard management controller disposed in the housing and communicatively coupled to the one or more fans and the microphone, wherein the baseboard management controller is configured to: receive, from the microphone, the audio data related to the sound produced by the computing device during operation; receive, from the one or more fans, fan speed data related to respective fan speeds of the one or more fans; and determine, based on at least the audio data and the fan speed data, a normal status of the computing device related to whether one or more abnormal conditions affecting the sound produced by the computing device during operation have occurred.
10. A method of training a machine learning model to determine a normal status of a computing device having one or more fans, the method comprising: operating the computing device using a plurality of different fan speeds of the one or more fans; simulating or inducing a plurality of abnormal conditions at each fan speed of the different fan speeds. generating a plurality of combinations of audio data, each respective combination of the combinations of audio data being with respect to sound generated by the computing device having one of the different fan speeds and none or one or more of the abnormal conditions during operation of the computing device; generating a respective indication for each respective combination of the combinations of audio data, the respective indication indicating that the respective combination of audio data corresponds to an absence of any of the abnormal conditions or to a presence of one or more of the abnormal conditions during operation of the computing device; and training the machine learning model using each combination of the combinations of audio data and the respective indication for each respective combination of the combinations of audio data.