Cloud platform based data center management
Through the cloud-based data center management platform, heterogeneous telemetry data is converted into homogeneous data sets to generate monitoring metrics, solving the problem that data centers are difficult to manage overall, and achieving more accurate monitoring and prediction.
Patent Information
- Application Number
- CN202480002921.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-29
- Filing Date
- 2024-05-17
- Publication Date
- 2025-02-28
AI Technical Summary
Data centers are difficult to manage as a whole because of the generation of heterogeneous telemetry data, including monitoring current and historical trends for comparison and prediction.
Through a cloud-based data center management platform, telemetry data is collected from heterogeneous data sources and transformed into a homogeneous data set, generating metrics for monitoring data centers, triggering alerts and predicting potential problems.
More accurate monitoring and alert prediction of data centers is achieved, reducing false positives and false negatives, improving processing and storage efficiency, allowing the simultaneous comparison of operations of different data centers and failure prediction.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is a continuation of U.S. application No. 18 / 215,991 filed on June 29, 2023, the disclosure of which is hereby incorporated by reference into this document. Background Art
[0003] A data center is a facility that houses an organization's information technology operations and equipment. A data center may need to continuously monitor its various power and building equipment, such as generators, chillers, busbars, etc. In order to continuously monitor the various power and building equipment, each data center may generate telemetry data. However, the telemetry data of each data center may be based on separate equipment manufacturer types and / or separate configurations, resulting in heterogeneous telemetry data. Heterogeneous telemetry data may make it difficult to manage the data center as a whole, including monitoring current and historical trends for comparison and / or prediction. Summary of the invention
[0004] Aspects of the present disclosure relate to a cloud-based data center management platform. The data center management platform collects telemetry data associated with various data centers from heterogeneous data sources and transforms the heterogeneous telemetry data into homogeneous data sets. The data center management platform generates metrics from the homogeneous data sets for monitoring the various data centers. The data center management platform can trigger alarms from the monitoring metrics and can also predict potential future alarms from the metrics.
[0005] One aspect of the present disclosure provides a method for managing various data centers, the method comprising: collecting heterogeneous telemetry data from multiple data centers by one or more processors; transforming the heterogeneous telemetry data into homogenized data using a mapping by the one or more processors; generating multiple metrics associated with the homogenized data by the one or more processors; and monitoring the multiple data centers using the multiple metrics by the one or more processors.
[0006] In an example, the method further includes displaying, by the one or more processors, the plurality of metrics in real time via a user interface.
[0007] In another example, the heterogeneous telemetry data is collected from multiple data sources associated with multiple data centers. In yet another example, the heterogeneous telemetry data includes telemetry data in multiple data formats. In yet another example, the homogenized data includes telemetry data converted into a data object format having predetermined parameters for monitoring.
[0008] In yet another example, the method further includes: storing, by the one or more processors, the homogenized data in a log separated by data center in the plurality of data centers. In yet another example, the method further includes: determining, by the one or more processors, that the homogenized data of the log of the data center is received within a threshold frequency range.
[0009] In yet another example, the method further includes: comparing the plurality of metrics to one or more configurable thresholds. In yet another example, the method further includes: determining, by one or more processors, that at least one metric in the plurality of metrics has exceeded a threshold; and in response to the at least one metric exceeding the threshold, providing, by the one or more processors, a notification to a client device. In yet another example, the method further includes: determining, by the one or more processors, that at least one metric in the plurality of metrics has exceeded a threshold; and in response to the at least one metric exceeding the threshold, providing, by the one or more processors, instructions to a computing device associated with a data center in the plurality of data centers to automatically perform corrective actions.
[0010] In yet another example, the method further includes generating, by the one or more processors, a forecast associated with the data center based on historical data of the plurality of metrics.
[0011] Another aspect of the present disclosure provides a system comprising: one or more processors; and one or more storage devices coupled to the one or more processors and storing instructions, which when executed by the one or more processors cause the one or more processors to perform operations for managing various data centers, the operations comprising: collecting heterogeneous telemetry data from multiple data centers; transforming the heterogeneous telemetry data into homogenized data using a mapping; generating multiple metrics associated with the homogenized data; and using the multiple metrics to monitor the multiple data centers.
[0012] In an example, the operations also include displaying the plurality of metrics in real time via the user interface.
[0013] In another example, the heterogeneous telemetry data includes telemetry data in multiple data formats. In yet another example, the homogenized data includes telemetry data converted into a data object format having predetermined parameters for monitoring.
[0014] In yet another example, the operations further include storing the homogenized data in a log separated by a data center in the plurality of data centers. In yet another example, the operations further include determining that the homogenized data of the log of the data center is received within a threshold frequency range.
[0015] In yet another example, the operations further include: comparing the plurality of metrics to one or more configurable thresholds; determining that at least one of the plurality of metrics has exceeded the threshold; and in response to the at least one metric exceeding the threshold, providing a notification to a client device. In yet another example, the operations further include: comparing the plurality of metrics to one or more configurable thresholds; determining that at least one of the plurality of metrics has exceeded the threshold; and in response to the at least one metric exceeding the threshold, providing instructions to a computing device associated with a data center in the plurality of data centers to automatically perform corrective actions.
[0016] Yet another aspect of the present disclosure provides a non-transitory computer-readable medium for storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations for managing various data centers, the operations comprising: collecting heterogeneous telemetry data from multiple data centers; transforming the heterogeneous telemetry data into homogenized data using a mapping; generating multiple metrics associated with the homogenized data; and monitoring the multiple data centers using the multiple metrics. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 Depicted is a block diagram of an example data center management system in accordance with aspects of the present disclosure.
[0018] Figure 2 Depicted is a block diagram further detailing an example data center management system in accordance with aspects of the present disclosure.
[0019] Figure 3 Depicted is a block diagram of an example environment for implementing a data center management system in accordance with aspects of the present disclosure.
[0020] Figure 4 Depicted is a flow diagram of an example process for managing various data centers in accordance with aspects of the present disclosure.
[0021] Figure 5 Depicted are example tables illustrating various log-based metrics that may be generated in accordance with aspects of the present disclosure.
[0022] Figure 6 Depicted are example dashboards showing real-time display of various metrics in accordance with aspects of the present disclosure. DETAILED DESCRIPTION
[0023] The present technology generally relates to managing various data centers through a cloud-based data center management platform. The data center management platform collects telemetry data from heterogeneous data sources and transforms the telemetry data into a homogeneous data set. The data center management platform generates metrics from the homogeneous data set for monitoring various data centers. The data center management platform can trigger alarms from the monitoring metrics based on configurable conditions (such as a metric exceeding a threshold or the absence of a metric). The data center management platform can also predict potential future alarms from the metrics. The term "heterogeneous data source" means different data sources. Heterogeneous / different data sources can have different arrangements / configurations. In addition, heterogeneous / different data sources can provide corresponding telemetry data in different data formats, which may be due to different arrangements / configurations of heterogeneous data sources. Therefore, the term "heterogeneous telemetry data" means data received from heterogeneous / different data sources. Therefore, heterogeneous telemetry data can have different data formats (each according to the output of the corresponding data source providing the telemetry data). The term "homogeneous / homogenized data" means data with a unified / consistent / homogenized data format for telemetry data (e.g., (heterogeneous) telemetry data provided by heterogeneous / different data sources). The data center management platform allows for more accurate monitoring and alarm prediction of the data center by generating metrics from homogeneous data sets, resulting in fewer false positives and / or false negatives regarding whether an alarm is triggered. In addition, the data center management platform allows for faster processing and reduced memory usage when monitoring and predicting alarms by transforming telemetry data into homogeneous data sets, because the data center management platform can process homogeneous data in the same format.
[0024] A data center is a facility that houses an organization's information technology operations and equipment. A data center may include a variety of power and building equipment that requires continuous monitoring, such as generators, chillers, busbars, etc. Data centers generate heterogeneous telemetry data based on their individual equipment manufacturer types and configurations, requiring separate monitoring. A data center management platform allows for continuous monitoring of data centers from homogenized telemetry data in a centralized manner, as well as retaining historical trends for fault prediction and automatic correction. Monitoring homogenized data allows for the simultaneous comparison of operations of different data centers, and for patterns to be established between homogenized telemetry data over a timeline. This homogenized telemetry data can also be used to assess the performance of equipment from different manufacturers under similar environmental conditions. The data center management platform includes an integration engine, an assessment engine, and a response engine.
[0025] The integration engine is configured to collect telemetry data from various data sources associated with the data center. As an example, the various sources may include data provided by a server that provides a representational state transfer (REST) application programming interface (API), a message queue telemetry transport (MQTT) publisher or agent, or a Kafka server. These sources can transmit data in formats such as javascript object notation (JSON), text-based, etc. The integration engine may include a transport layer for each data source type to collect telemetry data as data logs, one log for each data center. The telemetry data may be heterogeneous, including data in various formats. The data is sent by devices from various manufacturers, and the data may have various naming conventions and associated tags. These tags need to be standardized, considering the overall layout and structure of the data center.
[0026] The integration engine is also configured to transform heterogeneous telemetry data into a homogenous format. For example, telemetry data can be transformed into a data object, such as a JSON object, with a set of predefined properties for monitoring. The predefined properties cover parameters that need to be measured to determine the health of the data center, such as voltage, power, current, temperature, pressure, etc. The integration engine can transform heterogeneous telemetry data using a mapping of key-value pairs. The mapping is generated using a predefined interface protocol with the data center and mapping runtime data points to predefined data points. For example, when a data center sends a JSON object (with all properties as JSON elements), the integration engine parses the JSON object in its java code and uses a mapping created based on the interface protocol provided by the data center and transforms the data. For each data center, the mechanism can convert specific data into a homogenous format. The integration engine can store homogenized data in logs. The logs can be separated by data center.
[0027] The assessment engine is configured to monitor the homogenized data. For each log, the assessment engine may compare the homogenized data of the log with the data received by the data center to determine whether the homogenized data of the log matches or is within a threshold frequency range of the data. The threshold frequency is used to configure alerts to various stakeholders and engineers who will need to perform actions on the data center equipment to prevent and mitigate risks.
[0028] The assessment engine is also configured to generate various metrics for monitoring homogenized data. The metric may be a log-based metric for representing each log of homogenized data for each data center. Typically, the metric describes a specific type of measurement in the telemetry data (e.g., voltage, power, current, temperature, pressure, etc.) and / or the relationship between a specific type of measurement in the telemetry data (e.g., homogenized data). An example metric is to measure the temperature across all data centers simultaneously and display the temperature as time series data so that a correlation between the temperature and factors (such as the month of the year, usage load, or other external factors) can be established. The assessment engine can generate metrics by aggregating similar data points together to allow telemetry data from various data centers to be compared simultaneously and to view their changes on a timeline. Based on predefined attributes, data from different data centers but representing the same functional measurement unit is displayed together. Metrics can be viewed via a dashboard or user interface that can display metrics over time to provide an operational view of how a data center is running.
[0029] The response engine is configured to generate and provide instructions based on the metrics. The instructions may include alerts, notifications, and / or corrective actions regarding the metrics of the data center. The response engine may output instructions based on comparing the metrics to a configurable threshold or the absence of data. For example, if a threshold of the metric is exceeded, the response engine may provide a notification to a user device via a configurable channel (such as email or SMS) to mitigate the risk and / or apply corrective actions. For example, if the temperature of the data center exceeds a threshold, the response engine may provide an alert.
[0030] The response engine is also configured to predict potential problems in the data center based on the historical data of the metrics. The response engine may output instructions based on the predictions to mitigate and / or prevent the potential problems. The response engine may include one or more machine learning models to use the historical data to predict problems. For example, the response engine may determine from the historical data that the temperature of the data center may exceed a threshold during a particular time of year. The response engine may provide an alert before the temperature of the data center exceeds the threshold to prevent the data center from exceeding the threshold.
[0031] Figure 1A block diagram of an example data center management system 100 for managing various data centers through a cloud-based platform is depicted. The data center management system 100 can be configured to receive input data 102 via an interface. The data center management system 100 can receive input data 102 from one or more data sources 104 associated with one or more data centers 106 or directly from one or more data centers 106. The one or more data sources 104 can include an application programming interface (API) 108, such as a representational state transfer (REST) API. The one or more data sources 104 can also include a data publisher or agent 110, such as a message queue telemetry transport (MQTT) publisher or agent. The one or more data sources 104 can also include a data server 112, such as a Kafka server. The data center management system 100 can receive the input data 102 as part of a call to the API via a storage medium (such as remote storage connected to one or more computing devices via a network) and / or via a user interface on a computing device coupled to the data center management system 100.
[0032] The input data 102 may include heterogeneous telemetry data associated with one or more data centers 106 and / or data sources 104 associated with the data centers 106. The heterogeneous telemetry data may include data associated with determining the fitness or health of each of the one or more data centers 106, such as temperature, voltage, power, power factor, faults, generator status, humidity, chiller operating status, supply air temperature, return air temperature, current, and / or pressure of various power and building equipment at various levels (e.g., bus, data hall, and / or zone) of the data center 106. The heterogeneous telemetry data may refer to data received from various sources and having various data formats (in Figure 1 102 as data formats A through D), but any number of data formats may be received. For example, the data centers 106 may each generate data in a format based on their equipment manufacturer type or configuration, which may have various naming conventions and associated tags. As examples, the data formats may include javascript object notation (JSON), comma separated values (CSV), protocol buffers, and / or text-based formats. The data centers 106 may provide the data in its original format to the data source 104 or directly to the data center management system 100. By receiving the input data 102, the data center management system 100 may receive data in various formats for determining the fitness or health of the various data centers 106.
[0033] The data center management system 100 may be configured to output one or more results related to managing the various data centers 106 from the input data 102, the one or more results being generated as output data 114. For example, the data center management system 100 may send the output data 114 for display on a client or user device 116 to provide an operational view of how the data center 106 is operating. As another example, the data center management system 100 may provide the output data 114 as a set of computer-readable instructions, such as one or more computer programs for managing the data centers 106 or automatically correcting a fault found in one or more of the data centers 106. The data center management system 100 may also forward the output data 114 to one or more other devices configured to translate the output data 114 into an executable program written in a computer programming language. As yet another example, the data center management system 100 may send the output data 114 to a storage device for storage and later retrieval, such as for determining trends in the operation of the data center 106.
[0034] Computer programs can be written in any type of programming language and according to any programming paradigm (e.g., declarative, procedural, compiled, object-oriented, data-oriented, functional, or imperative). Computer programs can be written to perform one or more different functions and operate within a computing environment, for example, on a physical device, on a virtual machine, or across multiple devices. Computer programs can also implement the functionality described herein, such as functionality performed by a system, engine, module, or model.
[0035] Figure 2 A block diagram of a data center management system 200 is depicted. The data center management system 200 may be used with Figure 1 The data center management system 100 may include an integration engine 202, an assessment engine 204, and a response engine 206. The integration engine 202, the assessment engine 204, and the response engine 206 may be implemented as one or more computer programs, specially configured electronic circuit systems, or any combination thereof.
[0036] The integration engine 202 may be configured to receive heterogeneous telemetry data from various data sources 104 and / or directly from the data center 106. As described above, heterogeneous telemetry data may refer to data received from various sources having various data formats. The integration engine 202 may include a transport layer 208 for each data source type. For example, the integration engine 202 may include a first transport layer 208 for data received via the API 108, a second transport layer 208 for data received via the publisher or agent 110, a third transport layer 208 for data received via the server 112, and / or a fourth transport layer 28 for data received directly from the data center 106. Each of these transport layers 208 may operate independently and perform data ingestion at different independent intervals.
[0037] The integration engine 202 may also be configured to transform the heterogeneous telemetry data into homogenized data, such as into a homogenized format. For example, the integration engine 202 may transform the heterogeneous telemetry data into a data object, such as a JSON object. The data object may include multiple parameters for monitoring the data center 106, such as voltage, power, current, temperature, and / or pressure. The integration engine 202 may be configured to parse the heterogeneous telemetry data and transform the heterogeneous telemetry data using a mapping 210 of predetermined key-value pairs. The integration engine 202 may generate a mapping 210 by associating predetermined data points in various data formats with a homogenized data format based on an interface with the data source 104 and / or the data center 106.
[0038] The integration engine 202 may also be configured to store the homogenized data as data logs 212, one log for each data center 106. For example, the logs 212 may be separated by data center. Each log 212 may include one or more parameters for assessing the fitness or health of the data center.
[0039] The assessment engine 204 may be configured to monitor the homogenized data. The assessment engine 204 may be configured to compare the homogenized data of the log 212 representing the data center with the data received by the data center to determine whether the homogenized data of the log 212 matches the frequency of the data or is within a threshold frequency range of the data. The assessment engine 204 may use the threshold frequency range to ensure that the data for each data center is received by the data center management system 100. If the assessment engine 204 determines that the homogenized data does not match the frequency of the data or is outside the threshold frequency range, the assessment engine 204 may provide instructions to the response engine 206 to generate an alarm or perform automatic correction to prevent and / or mitigate the risk of data center failure.
[0040] The assessment engine 204 may also be configured to generate one or more metrics 214 to monitor homogenized data for each data center. The assessment engine 204 may generate the metrics 214 based on one or more parameters included in each log 212 for assessing the fitness or health of the data center. For example, the assessment engine 204 may generate a metric 214 for temperature to simultaneously monitor the temperature across the data centers 106. The assessment engine 204 may monitor the temperature as time series data to establish correlations between the temperature and other factors, such as the month of the year, usage load, and / or other external factors. The assessment engine 204 may aggregate similar data points together to generate one or more metrics 214 and compare heterogeneous telemetry data from the data centers 106 on a timeline at the same time. For example, data received from different data centers 106 (but which represents the same functional measurement unit, such as temperature, power, etc.) may be aggregated based on one or more parameters included in each log 212. The assessment engine 204 may simultaneously compare each metric 214 to a configurable threshold or the absence of received data to determine whether the response engine 206 should provide an alert or corrective instruction.
[0041] The response engine 206 may be configured to generate and output instructions based on the one or more metrics 214. For example, the response engine 206 may output instructions to display 216 data for monitoring the one or more metrics 214, such as on a client device 116. The instructions may include representing the same functional measurement units together in the display 216 for the various data centers 106. The instructions may include displaying the metrics 214 on a dashboard or user interface over time to provide an operational view of how the data centers 106 are operating.
[0042] As another example, the response engine 206 may output instructions for providing an alert or notification 218 to the client device 116. For example, if a configurable threshold for one or more of the metrics is exceeded, the response engine 206 may output instructions to the client device 116 to mitigate the risk or apply corrective measures to the data center 106 that has exceeded the metric. The response engine 206 may output the instructions via a configurable communication channel, such as email or a short message service (SMS). For example, if the temperature of the data center 106 exceeds a threshold, the response engine 206 may provide an alert 218 to the client device 116.
[0043] The response engine 206 may also output instructions associated with predicting potential failures or problems in the data center 106 based on the historical data of the metrics 214. Predicting potential failures or problems may mitigate and / or prevent actual failures or problems. The response engine 206 may include one or more machine learning models or regression models 220 to predict problems using historical data. For example, the response engine 206 may determine from the historical data that the temperature of the data center may exceed a threshold during a particular time of year. The response engine 206 may provide an alert 218 to the client device 116 before the data center temperature exceeds the threshold to prevent the data center 106 from exceeding the threshold. As another example, a regression model may predict power consumption in various data center units based on server usage.
[0044] Figure 3 A block diagram of an example environment 300 for implementing a data center management system 318 is depicted. The data center management system 318 may be implemented on one or more devices having one or more processors in one or more locations, such as in a server computing device 302. The client computing devices 304 and the server computing devices 302 may be communicatively coupled to one or more storage devices 306 via a network 308. The storage devices 306 may be a combination of volatile and non-volatile memory and may be located in the same or different physical locations as the computing devices 302, 304. For example, the storage devices 306 may include any type of non-transitory computer-readable media capable of storing information, such as a hard drive, a solid-state drive, a tape drive, optical storage, a memory card, ROM, RAM, DVD, CD-ROM, writable and read-only memory.
[0045] The server computing device 302 may include one or more processors 310 and memory 312. The memory 312 may store information accessible by the processor 310, including instructions 314 executable by the processor 310. The memory 312 may also include data 316 that may be retrieved, manipulated, or stored by the processor 310. The memory 312 may be a type of transient or non-transitory computer-readable medium capable of storing information accessible by the processor 310, such as volatile and non-volatile memory. The processor 310 may include one or more central processing units (CPUs), graphics processing units (GPUs), field programmable gate arrays (FPGAs), and / or application specific integrated circuits (ASICs), such as tensor processing units (TPUs).
[0046] Instructions 314 may include one or more instructions that, when executed by processor 310, cause one or more processors to perform actions defined by instructions 314. Instructions 314 may be stored in an object code format that is directly processed by processor 310 or in other formats including a collection of interpretable scripts or independent source code modules that may be interpreted on demand or pre-compiled. Instructions 314 may include instructions for implementing a data center management system 318 that may be used with a data center management system. Figure 1 The data center management system 100 or Figure 2 The data center management system 318 may correspond to the data center management system 200 of FIG. 318. The data center management system 318 may be executed using the processor 310 and / or using other processors located remotely from the server computing device 302.
[0047] Data 316 may be retrieved, stored, or modified by processor 310 in accordance with instructions 314. Data 316 may be stored in a computer register, in a relational or non-relational database as a table with a plurality of different fields and records, or as a JSON, YAML, proto, or XML document. Data 316 may also be formatted in a computer-readable format, such as, but not limited to, binary values, ASCII, or Unicode. In addition, data 316 may include information sufficient to identify the relevant information, such as a number, descriptive text, proprietary code, pointer, reference to data stored in other storage (including other network locations), or information used by a function to calculate the relevant data.
[0048] The client computing device 304 may also be configured similarly to the server computing device 302, with one or more processors 320, memory 322, instructions 324, and data 326. The client computing device 304 may also include a user input 328 and a user output 330. The user input 328 may include any suitable mechanism or technology for receiving input from a user, such as a keyboard, a mouse, a mechanical actuator, a soft actuator, a touch screen, a microphone, and a sensor.
[0049] The server computing device 302 may be configured to transmit data to the client computing device 304, and the client computing device 304 may be configured to display at least a portion of the received data on a display implemented as part of the user output 330. The user output 330 may also be used to display an interface between the client computing device 304 and the server computing device 302. The user output 330 may alternatively or additionally include one or more speakers, transducers or other audio outputs, haptic interfaces, or other tactile feedback that provides non-visual and non-audible information to a platform user of the client computing device 304.
[0050] Although Figure 3Processors 310, 320 and memories 312, 322 are shown as being within computing devices 302, 304, but the components described herein may include multiple processors and memories that may operate at different physical locations rather than within the same computing device. For example, some of the instructions 314, 324 and data 316, 326 may be stored on a removable SD card, while others may be stored in a read-only computer chip. Some or all of the instructions and data may be stored in a location physically away from the processors 310, 320 but still accessible by the processors. Similarly, processors 310, 320 may include a collection of processors that may perform concurrent and / or sequential operations. Computing devices 302, 304 may each include one or more internal clocks that provide timing information that may be used for time measurement of operations and programs run by computing devices 302, 304.
[0051] The server computing device 302 may be connected via a network 308 to one or more data centers 332 housing any number of hardware accelerators 334. The data center 332 may be one of a plurality of data centers or other facilities where various types of computing devices, such as hardware accelerators, are located. The computing resources housed in the data center 332 may be designated for deployment of a model related to data center management as described herein.
[0052] The server computing device 302 may be configured to receive requests to process data from the client computing device 304 on computing resources in the data center 332. For example, the environment 300 may be part of a computing platform configured to provide a variety of services to users through various user interfaces and / or application programming interfaces (APIs) that expose platform services. The various services may include managing the data center 332 or various other data centers. The data center management system 318 may receive heterogeneous telemetry data of the data center and, in response, generate output data including instructions associated with monitoring the data center.
[0053] Devices 302, 304 and data center 332 may be able to communicate directly and indirectly over network 308. For example, using network sockets, client computing device 304 may connect to services operating in data center 332 over the Internet Protocol. Devices 302, 304 may establish listening sockets that may accept initiated connections for sending and receiving information. Network 308 itself may include a variety of configurations and protocols, including the Internet, the World Wide Web, an intranet, a virtual private network, a wide area network, a local area network, and private networks using communication protocols that are proprietary to one or more companies. Network 308 may support a variety of short and long distance connections. Short and long distance connections may be made over different bandwidths, such as those typically associated with a wireless network. 2.402GHz to 2.480GHz, usually associated with the 2.4 GHz and 5 GHz associated with communication protocols; or using multiple communication standards, such as for wireless broadband communication Additionally or alternatively, the network 308 may also support wired connections between the devices 302, 304 and the data center 332, including through various types of Ethernet connections.
[0054] Although in Figure 3 302, client computing device 304, and data center 332 are shown, but it should be understood that aspects of the present disclosure may be implemented according to a variety of different configurations and numbers of computing devices (including in paradigms for sequential or parallel processing), or through a distributed network of multiple devices. In some implementations, aspects of the present disclosure may be performed on a single device or any combination of devices connected to a hardware accelerator configured to process the optimization model.
[0055] Figure 4 A flowchart of an example process for managing various data centers is depicted. The example process 400 may be performed on a system of one or more processors in one or more locations, such as Figure 1 The data center management system 100 depicted in Figure 2 Executed on the data center management system 200 depicted in FIG.
[0056] As shown in block 410, the data center management system 100 may collect heterogeneous telemetry data from multiple data centers. The heterogeneous telemetry data may be received from multiple data sources associated with the multiple data centers or from multiple data centers. As an example, the heterogeneous telemetry data may include telemetry data in multiple data formats, such as javascript object notation (JSON), comma separated values (CSV), protocol buffers, and / or text-based formats. The heterogeneous telemetry data may be associated with monitoring the fitness or health of each of the multiple data centers, such as temperature, voltage, power, current, and / or pressure of various power and building equipment of the data center 106.
[0057] As shown in block 420, the data center management system 100 may transform the heterogeneous telemetry data into homogenized data. The data center management system 100 may use a map to transform the heterogeneous telemetry data. The map may include key-value pairs for converting various data formats into a specific data format. The homogenized data may include telemetry data converted into a data object format having predetermined parameters for monitoring. The data center management system 100 may store the homogenized data in a log that is separated by data center in the plurality of data centers. The log may include one or more parameters for assessing the adaptability or health of the data center.
[0058] As shown in block 430, the data center management system 100 may generate a plurality of metrics associated with the homogenized data. The data center management system 100 may generate the metrics based on one or more parameters, such as temperature or power, used to assess the fitness or health of the data center. The data center management system 100 may generate the metrics using logs that separate the homogenized data by data center. The data center management system 100 may aggregate similar data points of the homogenized data together for the metrics. Figure 5 Depicted is an example table showing various log-based metrics that may be generated.
[0059] The data center management system 100 may monitor the plurality of data centers using the plurality of metrics, as shown in block 440. The data center management system 100 may display the plurality of metrics in real time, such as via a client interface. Figure 6 An example dashboard showing a real-time display of various metrics is depicted. The data center management system 100 can compare homogenized data of a data center's logs to data received by the data center to determine that the homogenized data of the logs is within a threshold frequency range of the received data. For example, the data center management system 100 monitors temperatures across data centers as time series data to establish temperature correlations over a timeline.
[0060] In response to a metric exceeding a threshold, the data center management system 100 may provide an alert and / or provide instructions to automatically perform corrective action, as shown in block 450. The data center management system 100 may compare each of the plurality of metrics to one or more configurable thresholds. The data center management system 100 may determine that at least one of the plurality of metrics has exceeded a threshold. The data center management system 100 may provide an alert or notification to a client device that a metric has exceeded a threshold, and / or the data center management system 100 may provide instructions to a computing device associated with a data center where the metric exceeds the threshold to automatically perform corrective action, such as reducing a processing rate or reverting a recent update applied to the data center.
[0061] As shown in block 460, data center management system 100 may generate one or more predictions for the plurality of data centers based on historical data from monitoring the data centers using the metrics. Data center management system 100 may use one or more machine learning models to predict potential failures or problems in the data centers based on the historical data of the metrics.
[0062] Aspects of the present disclosure may be implemented in digital electronic circuit systems, in tangibly embodied computer software or firmware, and / or in computer hardware (such as the structures disclosed herein, their structural equivalents, or combinations thereof). Aspects of the present disclosure may be further implemented as one or more computer programs, such as one or more modules of computer program instructions encoded on a tangible, non-transitory computer storage medium, for execution by one or more data processing devices or for controlling the operation of the one or more data processing devices. The computer storage medium may be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination thereof. The computer program instructions may be encoded on an artificially generated propagated signal (such as a machine-generated electrical, optical, or electromagnetic signal) that is generated to encode information for transmission to a suitable receiver device for execution by the data processing device.
[0063] The term "configured" is used herein in conjunction with system and computer program components. For a system of one or more computers configured to perform a particular operation or action, it is meant that the system has installed thereon software, firmware, hardware, or a combination thereof that causes the system to perform the operation or action. For one or more computer programs configured to perform a particular operation or action, it is meant that the one or more programs include instructions that, when executed by one or more data processing devices, cause the devices to perform the operations or actions.
[0064] The term "computer program" refers to a program, software, software application, app, module, software module, script, or code. A computer program may be written in any form of programming language, including compiled, interpreted, declarative, or procedural languages, or a combination thereof. A computer program may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for a computing environment. A computer program may correspond to a file in a file system and may be stored in a portion of a file that holds other programs or data (such as one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (such as files that store one or more modules, subroutines, or code portions). A computer program may be executed on one computer, or on multiple computers located at one site or distributed over multiple sites and interconnected by a data communications network.
[0065] The term "engine" refers to a software-based system, subsystem, or process that is programmed to perform one or more specific functions. An engine may be implemented as one or more software modules or components or may be installed on one or more computers in one or more locations. A particular engine may have its own dedicated computer or computers, or multiple engines may be installed and run on the same computer or computers.
[0066] The processes and logic flows described herein may be performed by one or more computers executing one or more computer programs to perform functions by operating on input data and generating output data. The processes and logic flows may also be performed by a dedicated logic circuit system or by a combination of a dedicated logic circuit system and one or more computers.
[0067] A computer or dedicated logic circuit system that executes one or more computer programs may include a central processing unit (including a general or special microprocessor) for running or executing instructions, and one or more memory devices for storing instructions and data. The central processing unit may receive instructions and data from one or more memory devices (such as read-only memory, random access memory, or a combination thereof), and may run or execute these instructions. The computer or dedicated logic circuit system may also include or be operatively coupled to one or more storage devices (such as magnetic disks, magneto-optical disks, or optical disks) for storing data to receive data from the storage device or transfer data to the storage device. The computer or dedicated logic circuit system may be embedded in another device, such as, for example, a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS), or a portable storage device, such as a universal serial bus (USB) flash drive.
[0068] Computer-readable media suitable for storing one or more computer programs may include any form of volatile or non-volatile memory, medium, or storage device. Examples include semiconductor memory devices (e.g., EPROM, EEPROM, or flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magneto-optical disks, CD-ROM disks, DVD-ROM disks, or combinations thereof.
[0069] Aspects of the present disclosure may be implemented in a computing system that includes a back-end component (e.g., as a data server), a middleware component (e.g., an application server), or a front-end component (e.g., a client computer with a graphical user interface, a web browser or an app, or any combination thereof). The components of the system may be interconnected by any form or medium of digital data communication, such as a communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as the Internet.
[0070] A computing system may include a client and a server. The client and server may be remote from each other and interact through a communication network. The relationship of client and server arises due to computer programs running on the respective computers and having a client-server relationship to each other. For example, a server may transmit data (e.g., an HTML page) to a client device (e.g., for the purpose of displaying data to a user interacting with the client device and receiving user input from the user). Data generated at the client device (e.g., the results of the user interaction) may be received from the client device at the server.
[0071] Unless otherwise stated, the foregoing alternative examples are not mutually exclusive, but can be implemented in various combinations to achieve unique advantages. Since these and other variations and combinations of the features discussed above can be utilized without departing from the subject matter defined by the claims, the foregoing description of the embodiments should be made in an illustrative manner rather than in a manner that limits the subject matter defined by the claims. In addition, the examples described herein and the provision of clauses expressed as "such as", "including", etc. should not be interpreted as limiting the subject matter of the claims to specific examples; rather, these examples are intended to illustrate only one of many possible embodiments. In addition, the same reference numerals in different figures may identify the same or similar elements.
Claims
1. A method for managing multiple data centers, characterized in that: include: Heterogeneous telemetry data is collected from multiple data centers by one or more processors; transforming, by the one or more processors, the heterogeneous telemetry data into homogenized data using a mapping; generating, by the one or more processors, a plurality of metrics associated with the homogenized data; as well as The plurality of data centers are monitored using the plurality of metrics by the one or more processors.
2. The method according to claim 1, characterized in that Also includes: The plurality of metrics are displayed in real time by the one or more processors via a user interface.
3. The method according to claim 1, characterized in that The heterogeneous telemetry data is collected from a plurality of data sources associated with the plurality of data centers.
4. The method according to claim 1, characterized in that The heterogeneous telemetry data includes telemetry data in multiple data formats.
5. The method according to claim 1, characterized in that The homogenized data includes telemetry data converted into a data object format having predetermined parameters for monitoring.
6. The method according to claim 1, characterized in that Also includes: The homogenized data is stored, by the one or more processors, in a log separated by data center of the plurality of data centers.
7. The method according to claim 6, characterized in that Also includes: The one or more processors determine that the homogenized data of the log of the data center is received within a threshold frequency range.
8. The method according to claim 1, characterized in that Also includes: The plurality of metrics are compared to one or more configurable thresholds.
9. The method according to claim 8, characterized in that Also includes: determining, by the one or more processors, that at least one metric among the plurality of metrics has exceeded a threshold; as well as In response to the at least one metric exceeding the threshold, a notification is provided, by the one or more processors, to a client device.
10. The method according to claim 8, characterized in that Also includes: determining, by the one or more processors, that at least one metric among the plurality of metrics has exceeded a threshold; as well as In response to the at least one metric exceeding the threshold, instructions are provided, by the one or more processors, to a computing device associated with a data center of the plurality of data centers to automatically perform corrective action.
11. The method according to claim 1, characterized in that: Also includes: A forecast associated with the data center is generated, by the one or more processors, based on the historical data of the plurality of metrics.
12. A system, characterized in that: include: one or more processors; as well as one or more storage devices coupled to the one or more processors and storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations for managing various data centers, the operations comprising: Collect heterogeneous telemetry data from multiple data centers; transforming the heterogeneous telemetry data into homogenized data using a mapping; generating a plurality of metrics associated with the homogenized data; and The plurality of data centers are monitored using the plurality of metrics.
13. The system according to claim 12, characterized in that The operations also include displaying the plurality of metrics in real time via a user interface.
14. The system according to claim 12, characterized in that The heterogeneous telemetry data includes telemetry data in multiple data formats.
15. The system according to claim 12, characterized in that The homogenized data includes telemetry data converted into a data object format having predetermined parameters for monitoring.
16. The system according to claim 12, characterized in that The operations also include storing the homogenized data in a log separated by data center among the plurality of data centers.
17. The system according to claim 16, characterized in that The operations also include determining that the homogenized data of the log of the data center is received within a threshold frequency range.
18. The system according to claim 12, characterized in that The operations also include: comparing the plurality of metrics to one or more configurable thresholds; determining that at least one metric of the plurality of metrics has exceeded a threshold; and In response to the at least one metric exceeding the threshold, a notification is provided to the client device.
19. The system according to claim 12, characterized in that The operations also include: comparing the plurality of metrics to one or more configurable thresholds; determining that at least one metric of the plurality of metrics has exceeded a threshold; and In response to the at least one metric exceeding the threshold, instructions are provided to a computing device associated with a data center of the plurality of data centers to automatically perform corrective action.
20. A non-transitory computer-readable medium for storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations for managing various data centers, characterized in that: The operations include: Collect heterogeneous telemetry data from multiple data centers; transforming the heterogeneous telemetry data into homogenized data using a mapping; generating a plurality of metrics associated with the homogenized data; and The plurality of data centers are monitored using the plurality of metrics.