Room sensor measurement value behaviour change detection for DC efficiency improvement
Patent Information
- Application Number
- JP2024038428
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-14
- Filing Date
- 2024-03-12
- Publication Date
- 2025-02-27
- Estimated Expiration
- 2044-03-12
Smart Images

Figure 2025027420000001 
Figure 2025027420000002 
Figure 2025027420000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates generally to data centers, and more specifically to detecting behavioral changes in indoor sensor measurements in data centers. [Background technology]
[0002] Data centers (DCs) are heavy users of electricity and there is a constant effort to make them more energy efficient. One important aspect of energy efficiency is the reduction of the amount of cooling power used to power a given amount of information technology (IT) equipment. State-of-the-art metrics such as Power Usage Effectiveness (PUE) or Data Center Infrastructure Efficiency (DCiE) can be used to represent the energy efficiency of DC infrastructure. However, these metrics do not take into account the actual operating conditions of a DC server room. For example, environmental sensors measuring the indoor temperature and indoor humidity of a server room may change over time without any change in the overall energy efficiency (measured by a metric such as PUE). Monitoring behavioral changes of sensor measurements in a spatial entity such as a server room can help detect operating conditions that can be improved.
[0003] In a related art implementation, there may be a building management system including connected equipment and a predictive diagnostic system. The predictive diagnostic system includes a PCA modeler that builds PCA models of multiple operating conditions from monitored variables of the connected equipment. An additional failure predictor is configured to determine a proximity of a new sample of the monitored variables to one or more of the operating conditions, each operating condition being modeled by a different PCA model.
[0004] In the related art, there is also an implementation of incremental PCA modeling for server room temperature sensor anomaly detection in the context of DC. However, this is limited to using incremental PCA to detect anomalies when the number of principal components increases or decreases. Summary of the Invention [Problem to be solved by the invention]
[0005] There is a need for a behavior change detection method for DC server room sensors that can detect changes in the behavioral relationships between sensor measurements. The detected changes then need to be evaluated for their significance, such as whether there is a continuing change in the room conditions. If the changes can be considered significant, recommendations can be made about altering the operation of cooling devices in various situations, such as when the room temperature is dropping more than necessary.
[0006] Related art implementations do not include a more extensive solution in which an additional "reconstruction error" and several additional change checking steps are used to report only significant behavior changes.
[0007] Continuous improvement of DC energy efficiency is important within ongoing sustainability efforts. It is easy to observe DC-based efficiency metrics (e.g., PUE) and recommend possible improvements when PUE worsens. However, sometimes the operating conditions of the server room (e.g., room temperature or humidity) can provide insight into additional conditions that cannot be observed by efficiency metrics alone.
[0008] FIG. 1 shows an example of a real-world DC server room operating condition according to an exemplary implementation. Here, the PUE metric is stable over the observed period, but there is a drop in the indoor temperature (in_temp in FIG. 1). This drop in indoor temperature is caused by an operational change in cooling power (cool_pwr in FIG. 1), where the total cooling power of the room remains stable, but the standard deviation changes significantly. Thus, detecting the change in the operating condition (here, indoor temperature) of the server room can potentially improve the overall operating condition when appropriate feedback is given to the DC operator. In the current example, the average indoor temperature of all sensors in the server room is 2°C lower than the target temperature after the change date. Clearly, it is possible to improve the efficiency of this server room by decreasing the amount of cooling power, since after the operational change, less cooling power is required to operate the server room with an indoor temperature below the target threshold.
[0009] The example in Figure 1 shows that it is important not only to detect changes in the behavioral relationships of sensor measurements, but also to observe and re-evaluate them over a longer period of time to provide feedback to the DC operator for efficiency improvements.
[0010] In related art implementations, PCA is used to split data according to operating states and calculate the proximity of newly arriving samples to those states. This differs from the exemplary implementation described herein because the goal of leveraging PCA is to detect behavioral changes in the data, rather than processing different operating states for later fault detection. In addition, the PCA model is incrementally updated based on the spatial identifier and adopted to new states while forgetting previous behavioral states over time. [Means for solving the problem]
[0011] Aspects of the disclosure may include a method that may include running an incremental principal component analysis (PCA) modeler to build a PCA model of sensor measurements associated with one or more cooling devices at a monitored location, detecting changes at each time step based on a change in a number of principal components or when a reconstruction error exceeds a threshold, and evaluating and observing the changes to generate feedback regarding the one or more cooling devices.
[0012] Aspects of the present disclosure may include a computer program that may include instructions including executing an incremental principal component analysis (PCA) modeler to build a PCA model of sensor measurements associated with one or more cooling devices at monitored locations, detecting changes at each time step based on a change in a number of principal components or when a reconstruction error exceeds a threshold, and evaluating and observing the changes to generate feedback regarding the one or more cooling devices. The computer program and instructions may be stored in a non-transitory computer readable medium and executed by one or more processors.
[0013] Aspects of the disclosure may include a system that may include means for executing an incremental principal component analysis (PCA) modeler to build a PCA model of sensor measurements associated with one or more cooling devices at a monitored location, means for detecting changes at each time step based on a change in a number of principal components or when a reconstruction error exceeds a threshold, and means for evaluating and observing the changes to generate feedback regarding the one or more cooling devices.
[0014] Aspects of the disclosure may include an apparatus that may include a processor configured to execute an incremental principal component analysis (PCA) modeler to build a PCA model of sensor measurements associated with one or more cooling devices at a monitored location, detect changes at each time step based on a change in a number of principal components or when a reconstruction error exceeds a threshold, and evaluate and observe the changes to generate feedback regarding the one or more cooling devices. [Brief description of the drawings]
[0015] [Figure 1] A diagram showing an example of an operating state in a DC server room according to an exemplary implementation. [Diagram 2] FIG. 1 illustrates an overall system according to an exemplary implementation. [Diagram 3] FIG. 1 illustrates an incremental PCA modeler, according to an exemplary implementation. [Figure 4] FIG. 2 illustrates an example of a change detector, according to an exemplary implementation. [Diagram 5] FIG. 2 illustrates an example of a change information database, according to an exemplary implementation. [Figure 6] FIG. 1 illustrates an overall flow of the change evaluator, according to an exemplary implementation. [Figure 7] FIG. 13 illustrates an example flow for a change calculator, according to an example implementation. [Figure 8] FIG. 11 illustrates some example score metric calculations for a change calculator, according to an example implementation. [Figure 9] FIG. 1 illustrates an example flow diagram for a feedback generator, according to an example implementation. [Figure 10] FIG. 13 illustrates an example of a feedback condition table used to calculate changes in periods around a change date and provide feedback accordingly, according to an exemplary implementation. [Figure 11]FIG. 13 illustrates an example of an output on a display that may be utilized by a DC operator to observe detected changes and associated feedback (if available) according to an exemplary implementation. [Figure 12] FIG. 1 illustrates how sensor-based change detection can help localize changes in operating conditions of a DC, according to an example implementation. [Figure 13] FIG. 1 illustrates a real-world example of a change affecting only one of the sensors in a server room, according to an exemplary implementation. [Figure 14] FIG. 1 illustrates an example of a short-term outlier where the temperature temporarily drops strongly but then returns to normal, according to an exemplary implementation. [Figure 15] FIG. 1 illustrates an example computing environment having an example computing device suitable for use in some example implementations. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] The following detailed description provides details of the drawings and exemplary implementations of the present application. Reference numbers and descriptions of redundant elements between the drawings are omitted for clarity. The terms used throughout the description are provided by way of example and are not intended to be limiting. For example, the use of the term "automatic" can include fully automatic or semi-automatic implementations that include user or administrator control over certain aspects of the implementation, depending on the desired implementation of the person skilled in the art implementing the implementation of the present application. The selection can be made by a user through a user interface or other input means, or can be implemented through a desired algorithm. The exemplary implementations as described herein can be utilized alone or in combination, and the functionality of the exemplary implementations can be implemented through any means according to the desired implementation.
[0017] Figure 2 shows the overall system according to an exemplary implementation. The system can include three main elements:
[0018] Incremental PCA modeler 210 is configured to build a PCA model of the processed sensor measurements from sensor measurements database 201 received from each DC server room or other spatial entity, whereupon all of the PCA models are managed in PCA model database 211 for use by change detector 220. The use of incremental PCA allows for fine-grained updating and change analysis of sensor measurements. The PCA model learns behavioral relationships between observed sensor measurements for the DC server rooms or other spatial entities.
[0019] The change detector 220 detects changes at each time step based on whether one of the following two conditions is true: 1) the number of principal components has increased (or decreased); 2) the reconstruction error exceeds a threshold. The two conditions for the detector are used so that behavioral changes in the sensor measurement relationship are found as instabilities in the incremental PCA model that is updated at each time step. The two conditions are used because the algorithm needs time to adjust after a change in the number of principal components occurs, and if there is no second reconstruction error-based change detection available, the new change may not be detected either. Furthermore, the reconstruction error-based change detection may be used when the number of sensor measurements is low (e.g., only two measurements are available and the maximum number of principal components is one).
[0020] The change assessment unit 230 has a feedback generation unit 232 that observes and reassess changes via the change calculation unit 231 and generates feedback after assessing the changes. The change assessment unit 230 can identify unwanted changes detected by instabilities in the PCA algorithm, identify short-term outliers that are not of interest, reaffirm the significance of changes over a longer period of time, and localize changes based on sensor change scores. The detected changes can be stored in a change information database 233.
[0021] The change calculation unit 231 can eliminate insignificant changes by evaluating the changes over multiple iterations. For example, a short-term check can check whether the detected change is large enough to be considered. A medium-term check can check whether the detected change is still there and was not just an outlier. A long-term check can check whether the change is affecting performance even after a longer period has passed.
[0022] The feedback generator 232 provides feedback on the impact on performance (e.g., increase in PUE and decrease in temperature (+too low), increase in temperature significantly (too high)) and gives recommendations on further performance improvements (e.g., indoor temperature is very low and could be made higher).
[0023] 3 illustrates an incremental PCA modeler 210 according to an exemplary implementation. For each group identifier i managed by the system, the incremental PCA modeler 210 performs the following process: First, at 301, the incremental PCA modeler obtains all new sensor measurements belonging to group identifier i for time step k. At 302, a determination is made as to whether a PCA model is available for that group identifier. If so (yes), flow proceeds to 305; if not (no), at 303, an incremental PCA model is created for the group identifier. At 304, a flag is associated with the newly created PCA model to indicate that the components have not increased over time because the model has just been created.
[0024] At 305, the incremental PCA model is updated with the new sensor measurements to form a new incremental PCA model. At 306, a determination is made as to whether the number of principal components has increased from the previous incremental PCA model compared to the new incremental PCA model. A flag associated with the incremental PCA model is set to true or false based on the result.
[0025] At 307, the new incremental PCA model and associated flags for any increments of components are saved in the PCA model database 211.
[0026] 4 shows an example of the change detector 220 according to an exemplary implementation. The change detector 220 executes the following flow for each group identifier i.
[0027] At 401, the change detector obtains an incremental PCA model associated with group identifier i, along with associated flags for any increase in components and sensor measurements from time step k. At 402, a determination is made as to whether the flag indicates that the number of components has increased (pc_inc_flag==true). If so (yes), the flow continues to 406; if not (no), the flow continues to 403.
[0028] At 403, the flow calculates the reconstruction value using the incremental PCA model for time step k. At 404, the flow calculates the reconstruction error, which can be done using any technique in the art, such as, but not limited to, Squared Prediction Error (SPE) or Hotelling's T^2. At 405, a determination is made as to whether the reconstruction error is greater than a threshold. If so (yes), the flow proceeds to 406; if not (no), the flow ends.
[0029] At 406, a determination is made as to whether the change date is a direct continuation or close to a previous change date. Closeness can be determined as a change threshold (e.g., several changes have occurred, but the last change was detected 2 hours ago, and 1 hour ago was not identified as a change, but a change was detected again). If not (no), the flow proceeds to 407 to store the new change entry in the change information database 233, otherwise (yes), the flow proceeds to 408 to look up the corresponding change entry in the change information database 233 and append to the existing entry. If appending to an existing change entry, the end change date is updated with the new change date and timer t is incremented.
[0030] 5 illustrates an example of a change information database, according to an example implementation. Specifically, FIG. 5 illustrates example tables from the change information database that process information about detected changes. The tables can include a change date handler table and a change settings table.
[0031] The change day handler table can include a change identifier, a group identifier, change dates (start and end), a score value dictionary, a change flag, time steps since last change, feedback, etc. The change settings table can include a parameter identifier, a parameter name, and a parameter threshold.
[0032] FIG. 6 illustrates the overall flow of the change evaluator 230 according to an exemplary implementation. The change evaluator 230 is executed for each processing time step. At 600, all of the change identifier entries are retrieved from the change information database 234. At 601, each change IDc is processed. At 602, a determination is made as to whether a time step t has elapsed to satisfy the t_threshold in the t_threshold list. If not (no), the flow proceeds to 605 to loop to the next change IDc, otherwise (yes), the flow proceeds to 603 to execute the change calculator 231. At 604, the feedback generator 232 is next executed, whereupon a loop to the next change IDc is performed at 605, repeating from 601. At 606, all of the change information database entries are output for display. Further details are provided with respect to FIGS. 7-11.
[0033] FIG. 7 shows an example flow for the change calculator 231 according to an example implementation. Possible ways to calculate the change between the period before and after the change date include comparing the average of each metric or using methods of causal inference. This flow is executed for each provided change identifier. In 700, the flow obtains relevant data for all measurements (e.g., IT power, cooling power, PUE, temperature, humidity sensor measurements, etc.). In 701, the obtained relevant data is split into before the change date and after the change date.
[0034] At 702, the flow calculates a score metric, such as z-score, mean deviation, etc. Since the sensor measurements are time series, the relevant data is selected accordingly. For example, if weekly seasonality is observed along with differences between weekdays and weekends, the corresponding relevant data is selected to adjust for the seasonality. At 703, a determination is made as to whether the score metric is greater than a threshold. If so (yes), the associated change flag is set to true at 704; if not (no), the change flag is set to false at 705.
[0035] 8 illustrates some example score metric calculations for the change calculator, according to an example implementation. The metrics illustrated in FIG. 8 can be used to assess the short-term, medium-term, or long-term significance of a detected change.
[0036] 9 shows an example flow diagram for the feedback generator, according to an example implementation. The flow is executed for each change ID found in the change information database 234. At 900, a determination is made as to whether the change flag is set to true. If so (yes), the flow proceeds to 901 to analyze the calculated changes for all measurements for parameter thresholds and change direction. At 902, the flow compares the results to a feedback condition table. At 903, a check is made to determine if any conditions are true. If so (yes), the flow proceeds to 904 to generate and store feedback in the change information DB.
[0037] 10 shows an example of a feedback condition table used to calculate the change in the period before and after the change date and give feedback accordingly, according to an exemplary implementation. This step not only includes data center (DC) server room sensor measurements, but can also include other measurements such as PUE, cooling power usage, IT power usage, etc., according to the desired implementation.
[0038] 11 shows an example of an output on a display that may be utilized by a DC operator to observe detected changes and associated feedback (if available) according to an exemplary implementation. Example features in the display interface may include general settings, change calculator, detected changes, all changes, and recommendations.
[0039] General settings can include selection of target sensor data (e.g., temperature, humidity) for the change detector, grouping granularity (e.g., by room, by server group, etc.), and sampling frequency (e.g., hourly, daily, etc.). Change calculator can include selection of target measurements such as IT power, PUE, humidity, cooling power, temperature, and target change scores (e.g., Z-score, Cohen's d, mean deviation, etc.). Detected changes can show changes from the change detector in graphical form, including insights on any long-term changes detected. All changes can show any changes in underlying principal components in graphical form across some or all group ids. Recommendations can show any recommendations to mitigate the underlying detected changes, such as efficiency improvements or poor operating conditions that need to be corrected.
[0040] By observing changes in operational conditions between sensor measurements, it is possible to observe sudden changes in temperature or humidity, for example, in a DC server room. This can give more insight into how changing cooling behavior or server usage patterns affect the operational conditions of the room. Furthermore, example implementations can identify additional changes in operational conditions that are not visible from energy consumption data alone (IT devices, cooling).
[0041] 12 illustrates how sensor-based change detection, according to an exemplary implementation, can help locate changes in the operating conditions of a DC. In a DC where detailed power consumption information is not available and power consumption is only measured at a high level, such as a distribution board, sensors can help locate changes since they represent the operating conditions of a particular area of a server room.
[0042] 13 shows a real-world example of a change affecting only one sensor in a server room, according to an exemplary implementation. In comparison, cooling power consumption can only be observed at the level of the distribution board, and the exact location of the change would be more difficult to localize.
[0043] 14 shows an example of a short-term outlier where the temperature drops strongly temporarily but then returns to normal, according to an exemplary implementation. If the change in state is only temporary, it is good to not only alert the DC operator, but also notify them of the return to normal and reassess the significance of the change. Depending on the desired implementation, some changes may be detected in the short term and an alert issued if necessary (e.g., if a trigger threshold is exceeded), but if it appears to be an outlier, it should be excluded from long-term changes.
[0044] Figure 15 illustrates an exemplary computing environment having an exemplary computing device suitable for use in some exemplary implementations, such as a management server or computer configured to perform functions as described in Figure 2. The computing device 1505 in the computing environment 1500 can include one or more processing units, cores, or processors 1510, memory 1515 (e.g., RAM, ROM, etc.), internal storage 1520 (e.g., magnetic, optical, solid-state storage, and / or organic), and / or IO interface 1525, any of which may be coupled onto a communication mechanism or bus 1530 for communicating information or embedded within the computing device 1505. The IO interface 1525 is also configured to receive images from a camera or provide images to a projector or display, depending on the desired implementation.
[0045] The computing device 1505 may be communicatively coupled to an input / user interface 1535 and an output device / interface 1540. One or both of the input / user interface 1535 and the output device / interface 1540 may be wired or wireless interfaces and may be detachable. The input / user interface 1535 may include any device, component, sensor, or interface, physical or virtual, that may be used to provide input (e.g., buttons, touch screen interface, keyboard, pointing / cursor control, microphone, camera, Braille, motion sensor, accelerometer, optical reader, etc.). The output device / interface 1540 may include a display, television, monitor, printer, speaker, Braille, etc. In some example implementations, the input / user interface 1535 and the output device / interface 1540 may be embedded in or physically coupled to the computing device 1505. In other example implementations, other computing devices may function as or provide the functionality of the input / user interface 1535 and the output device / interface 1540 for the computing device 1505 .
[0046] Examples of computing devices 1505 may include, but are not limited to, highly mobile devices (e.g., smart phones, devices in vehicles and other machines, devices carried by humans and animals, etc.), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, etc.), and devices not designed for mobility (e.g., desktop computers, other computers, information kiosks, televisions, radios with one or more processors embedded therein and / or coupled to them, etc.).
[0047] Computing device 1505 may be communicatively coupled (e.g., via IO interface 1525) to external storage 1545 and network 1550 for communicating with any number of networked components, devices, and systems, including one or more computing devices of the same or different configurations. Computing device 1505 or any connected computing device may function, provide services, or be referred to as a server, client, thin server, general purpose machine, special purpose machine, or another label.
[0048] IO interface 1525 may include, but is not limited to, wired and / or wireless interfaces using any communication or IO protocol or standard (e.g., Ethernet, 802.11x, Universal System Bus, WiMAX, modem, cellular network protocols, etc.) for communicating information to and from at least all connected components, devices, and networks in computing environment 1500. Network 1550 may be any network or combination of networks (e.g., the Internet, a local area network, a wide area network, a telephone network, a cellular network, a satellite network, etc.).
[0049] The computing device 1505 can use and / or communicate using computer usable or computer readable media, including transitory and non-transitory media. Transitory media include transmission media (e.g., metallic cables, optical fibers), signals, carrier waves, and the like. Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD-ROMs, digital video disks, Blu-ray disks), solid-state media (e.g., RAM, ROM, flash memory, solid-state storage), and other non-volatile storage or memory.
[0050] The computing device 1505 can be used to implement techniques, methods, applications, processes, or computer-executable instructions in some exemplary computing environments. The computer-executable instructions can be retrieved from a transitory medium, stored in a non-transitory medium, and retrieved from a non-transitory medium. The executable instructions can be from one or more of any programming language, scripting language, and machine language (e.g., C, C++, C#, Java, Visual Basic, Python, Perl, JavaScript, etc.).
[0051] The processor 1510 can run under any operating system (OS) (not shown) in a native or virtual environment. One or more applications can be deployed, including a logic unit 1560, an application programming interface (API) unit 1565, an input unit 1570, an output unit 1575, and an inter-unit communication mechanism 1595 for various units to communicate with each other, with the OS, and with other applications (not shown). The described units and elements can be modified in design, function, configuration, or implementation, and are not limited to the provided description. The processor 1510 can be in the form of a hardware processor, such as a central processing unit (CPU), or in the form of a combination of hardware and software units.
[0052] In some example implementations, when information or execution instructions are received by the API unit 1565, it may be communicated to one or more other units (e.g., logic unit 1560, input unit 1570, output unit 1575). In some examples, logic unit 1560 may be configured to control information flow between units and direct services provided by API unit 1565, input unit 1570, output unit 1575 in some example implementations described above. For example, the flow of one or more processes or implementations may be controlled by logic unit 1560 alone or together with API unit 1565. Input unit 1570 may be configured to obtain inputs for calculations described in the example implementations, and output unit 1575 may be configured to provide outputs based on the calculations described in the example implementations.
[0053] The processor 1510 may be configured to execute a method or computer instructions that may include executing an incremental principal component analysis (PCA) modeler to build a PCA model of sensor measurements associated with one or more cooling devices at the monitored locations, detecting changes at each time step based on a change in the number of principal components or when a reconstruction error exceeds a threshold, and evaluating and observing the changes to generate feedback regarding the one or more cooling devices as shown in FIG. 2.
[0054] The processor 1510 may be configured to execute a method or instructions as described above, where executing the incremental PCA modeler may include, for each group identifier, obtaining all new ones of the sensor measurements associated with each group identifier for each time step; for PCA models not available for each group identifier, creating a PCA model for the group identifier from the new ones of the sensor measurements; storing the created PCA model along with a flag indicating that there is no change in the number of principal components; for PCA models that are available for each group identifier, updating the PCA model based on the new ones of the sensor measurements; determining whether there is an increase in principal components of the updated PCA model from the PCA model; and storing the updated PCA model along with a flag indicating whether there is an increase in principal components from the determination, as shown with respect to FIG. 3 .
[0055] The processor 1510 may be configured to execute a method or instructions as described above, where detecting a change at each time step may include, for a flag associated with the PCA model indicating a change in the number of principal components having an increase, determining whether there is a change date that is a direct continuation or adjacent change date from a previous change date, for the determination indicating a change date that is a direct continuation or adjacent change date from a previous change date, updating a change date database entry associated with the PCA model with the new change date and incrementing the time step that has elapsed since the change for the PCA model, and for the determination indicating a change date that is not a direct continuation or adjacent change date, adding a new change date database entry associated with the PCA model as shown at 401, 402, and 406-408 in FIG. 4.
[0056] The processor 1510 may be configured to execute a method or instructions as described above, where detecting a change at each time step may include, for a flag associated with a PCA model that does not indicate a change in the number of principal components as having an increase, calculating a reconstruction value using the PCA model for each time step, calculating a reconstruction error from the reconstruction value, and for a reconstruction error exceeding a threshold, determining whether there is a change date that directly follows or is adjacent to a previous change date, and for the determining indicating a change date that directly follows or is adjacent to a previous change date, updating a change date database entry associated with the PCA model with the new change date and incrementing the number of time steps that have elapsed since the change for the PCA model, and for the determining indicating a change date that is not directly follows from a previous change date, adding a new change date database entry associated with the PCA model, as shown at 401-405 and 406-408 in FIG.
[0057] The processor 1510 may be configured to execute a method or instructions as described above, where evaluating and observing the changes and generating feedback for one or more cooling devices includes determining, for each change, the number of time steps that have elapsed since the PCA model was modified from the change date database entry, determining a score metric based on a split of the associated data from before the change date and after the change date for the number of elapsed time steps that meets a threshold, and generating feedback for score metrics that exceed the threshold, as shown in Figures 5-8.
[0058] Depending on the desired implementation, the feedback may include active recommendations for adjusting one or more cooling devices, as shown in FIGS.
[0059] Depending on the desired implementation, the location being monitored may be a data center server room as shown in FIG.
[0060] The processor 1510 may be configured to execute methods or instructions as described above, and further includes providing a graphical user interface configured to capture input regarding selection of a sensor for providing a sensor measurement, the graphical user interface configured to display feedback and changes occurring as shown in FIG.
[0061] Depending on the desired implementation, the graphical user interface can be configured to take input regarding the sampling frequency of the sensor measurements and the granularity of the grouping to generate one or more group identifiers, as shown in FIG. 11.
[0062] Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations within a computer. These algorithmic descriptions and symbolic representations are the means used by those skilled in the data processing arts to convey the substance of their innovations to others skilled in the art. An algorithm is a sequence of defined steps leading to a desired end state or result. In exemplary implementations, the steps performed require specific quantities of physical manipulations to achieve a specific result.
[0063] Unless otherwise indicated, and as will be apparent from this discussion, it will be understood that throughout this description, discussions utilizing terms such as "processing," "computing," "calculating," "determining," "displaying," and the like can include the actions and processes of a computer system or other information processing device that manipulates and converts data represented as physical (electronic) quantities in the registers and memory of the computer system to other data similarly represented as physical quantities in the memory or registers of the computer system, or other information storage, transmission, or display device.
[0064] Exemplary implementations may also relate to an apparatus for performing the operations of the present specification. The apparatus may be specially constructed for the required purposes, or may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored in a computer-readable medium, such as a computer-readable storage medium or a computer-readable signal medium. Computer-readable storage media may include tangible media, such as, but not limited to, optical disks, magnetic disks, read-only memory, random access memory, solid-state devices and drives, or any other type of tangible or non-transitory medium suitable for storing electronic information. Computer-readable signal media may include media such as carrier waves. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. A computer program may include a pure software implementation that includes instructions for performing the operations of a desired implementation.
[0065] Various general-purpose systems may be used with the programs and modules according to the examples herein, or it may prove convenient to construct more specialized apparatus to perform the desired method steps. Additionally, the example implementations are not described with reference to any particular programming language. It will be understood that a variety of programming languages may be used to implement the techniques of the example implementations as described herein. Instructions in the programming language may be executed by one or more processing devices, such as a central processing unit (CPU), processor, or controller.
[0066] As known in the art, the operations described above may be implemented by hardware, software, or some combination of software and hardware. Various aspects of the exemplary implementations may be implemented using circuits and logic devices (hardware), while other aspects may be implemented using instructions stored in a machine-readable medium (software) that, when executed by a processor, will cause the processor to perform a method for implementing an implementation of the present application. Furthermore, some exemplary implementations of the present application may be implemented solely in hardware, while other exemplary implementations may be implemented solely in software. Furthermore, the various functions described may be implemented in a single unit or distributed across several components in any number of ways. When implemented by software, the method may be executed by a processor, such as a general-purpose computer, based on instructions stored in a computer-readable medium. If desired, the instructions may be stored on the medium in compressed and / or encrypted form.
[0067] Moreover, other implementations of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the present technology. Various aspects and / or components of the described exemplary implementations may be used alone or in any combination. It is intended that the specification and exemplary implementations be considered as examples only, with the true scope and spirit of the present application being indicated by the following claims. [Explanation of symbols]
[0068] 201 Sensor Measurement Value Database 210 Incremental PCA Modeler 211 PCA model database 220 Change detection unit 230 Change Assessment Section 231 Change Calculation Unit 232 Feedback Creation Department 233 Change Information Database 1500 Computing Environment 1505 Computer Devices 1510 Processor 1515 Memory 1520 Internal Storage 1525 IO Interface 1530 Bus 1535 Input / User Interface 1540 Output Device / Interface 1545 External Storage 1550 Network 1560 Logical Units 1565 API units 1570 Input Unit 1575 Output Unit 1595 Inter-unit communication mechanism
Claims
1. Executing an incremental principal component analysis (PCA) modeler to build a PCA model for sensor measurements associated with one or more cooling devices at the monitored locations; Detecting a change at each time step based on a change in the number of principal components or when the reconstruction error exceeds a threshold; evaluating and observing the changes to generate feedback regarding the one or more cooling devices; A method comprising:
2. Running the incremental PCA modeler includes, for each group identifier: obtaining all new ones of the sensor measurements associated with each of the group identifiers for each of the time steps; For the PCA models that are not available for each group identifier, creating the PCA model for the group identifier from the new ones of the sensor measurements; storing the created PCA model together with a flag indicating the absence of the change in the number of principal components; For the PCA models available for each group identifier, updating the PCA model based on the new ones of the sensor measurements; determining whether there is an increase in the principal components of the updated PCA model from the PCA model; storing the updated PCA model along with the flag indicating whether there is an increase in the principal components from the determination; The method of claim 1 , comprising:
3. Detecting the change at each time step includes: For a flag associated with the PCA model indicating the change in the number of principal components having an increase, determining whether there is a change date that directly follows or is adjacent to a previous change date; for said determining indicating a change date that is directly successive or proximate to said previous change date, updating a change date database entry associated with said PCA model with a new change date and incrementing the time step that has elapsed since a change was made to said PCA model; adding a new change date database entry associated with the PCA model for the determining indicating the change date not directly following or proximate to the previous change date; The method of claim 1 , comprising:
4. Detecting the change at each time step includes: For the flags associated with the PCA models that do not indicate the change in the number of principal components as having the increase, calculating a reconstruction value using the PCA model for each of the time steps; calculating the reconstruction error from the reconstruction values; For the reconstruction error exceeding the threshold, determining whether the change date is directly subsequent to or proximate to the previous change date; for said determining indicating a change date that is directly successive or proximate to the previous change date, updating said change date database entry associated with said PCA model with said new change date and incrementing the number of time steps that have elapsed since a change was made to said PCA model; adding the new change date database entry associated with the PCA model for the determining which indicates the change date is not directly successive from the previous change date; The method of claim 3 , comprising:
5. Evaluating and observing the changes to generate the feedback regarding the one or more cooling devices includes: For each of said changes, determining the number of time steps that have elapsed since the PCA model was changed from a change date database entry; For the number of time steps that have elapsed that satisfy a step threshold, determining a score metric based on a partition of associated data from before the change date and after the change date; generating the feedback for the score metric exceeding a score threshold; The method of claim 1 , comprising:
6. The method of claim 1 , wherein the feedback comprises active recommendations for adjusting the one or more cooling devices.
7. The method of claim 1 , wherein the monitored location is a data center server room.
8. 10. The method of claim 1, further comprising providing a graphical user interface configured to capture input regarding a selection of a sensor for providing the sensor measurements, the graphical user interface configured to display the feedback and the changes that occur.
9. The method of claim 8 , wherein the graphical user interface is configured to take the inputs regarding a sampling frequency and a grouping granularity of the sensor measurements to generate one or more group identifiers.
10. A non-transitory computer-readable medium storing instructions for performing a process, comprising: The instruction: Executing an incremental principal component analysis (PCA) modeler to build a PCA model for sensor measurements associated with one or more cooling devices at the monitored locations; Detecting a change at each time step based on a change in the number of principal components or when the reconstruction error exceeds a threshold; evaluating and observing the changes to generate feedback regarding the one or more cooling devices; A non-transitory computer readable medium comprising:
11. Running the incremental PCA modeler includes, for each group identifier: obtaining all new ones of the sensor measurements associated with each of the group identifiers for each of the time steps; For the PCA models that are not available for each group identifier, creating the PCA model for the group identifier from the new ones of the sensor measurements; storing the created PCA model together with a flag indicating the absence of the change in the number of principal components; For the PCA models available for each group identifier, updating the PCA model based on the new ones of the sensor measurements; determining whether there is an increase in the principal components of the updated PCA model from the PCA model; storing the updated PCA model along with the flag indicating whether there is an increase in the principal components from the determination; 11. The non-transitory computer-readable medium of claim 10, comprising:
12. Detecting the change at each time step includes: For a flag associated with the PCA model indicating the change in the number of principal components having an increase, determining whether there is a change date that directly follows or is adjacent to a previous change date; for said determining indicating a change date that is directly successive or proximate to said previous change date, updating a change date database entry associated with said PCA model with a new change date and incrementing the time step that has elapsed since a change was made to said PCA model; adding a new change date database entry associated with the PCA model for the determining indicating the change date not directly following or proximate to the previous change date; 11. The non-transitory computer-readable medium of claim 10, comprising:
13. Detecting the change at each time step includes: For the flags associated with the PCA models that do not indicate the change in the number of principal components as having the increase, calculating a reconstruction value using the PCA model for each of the time steps; calculating the reconstruction error from the reconstruction values; For the reconstruction error exceeding the threshold, determining whether the change date is directly subsequent to or proximate to the previous change date; for said determining indicating a change date that is directly successive or proximate to the previous change date, updating said change date database entry associated with said PCA model with said new change date and incrementing the number of time steps that have elapsed since a change was made to said PCA model; adding the new change date database entry associated with the PCA model for the determining which indicates the change date is not directly successive from the previous change date; 13. The non-transitory computer readable medium of claim 12, comprising:
14. Evaluating and observing the changes to generate the feedback regarding the one or more cooling devices includes: For each of said changes, determining the number of time steps that have elapsed since the PCA model was changed from a change date database entry; For the number of time steps that have elapsed that satisfy a step threshold, determining a score metric based on a partition of associated data from before the change date and after the change date; generating the feedback for the score metric exceeding a score threshold; 11. The non-transitory computer-readable medium of claim 10, comprising:
15. The non-transitory computer-readable medium of claim 10 , wherein the feedback comprises active recommendations for adjusting the one or more cooling devices.
16. The non-transitory computer-readable medium of claim 10 , wherein the monitored location is a data center server room.
17. 11. The non-transitory computer-readable medium of claim 10, further comprising: providing a graphical user interface configured to capture input regarding a selection of a sensor for providing the sensor measurements; the graphical user interface configured to display the feedback and the changes that occur.
18. 20. The non-transitory computer-readable medium of claim 17, wherein the graphical user interface is configured to take input regarding a sampling frequency and a grouping granularity of the sensor measurements to generate one or more group identifiers.
19. Executing an incremental principal component analysis (PCA) modeler to build a PCA model for sensor measurements associated with one or more cooling devices at the monitored locations; Detecting a change at each time step based on a change in the number of principal components or when the reconstruction error exceeds a threshold; evaluating and observing the changes to generate feedback regarding the one or more cooling devices; An apparatus comprising a processor configured to: