# US 10,769,007 B2 · Computing node failure and health prediction for cloud-based data center

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,769,007 B2
- Document ID: US10769007B2
- Status: Granted
- Kind: B2
- Application number: 16/003,519
- Filed: 2018-06-08
- Published: 2019-12-12
- Granted: 2020-09-08
- Earliest claimed: 2018-06-08
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Murali M. Chintalapati; Ken Hsieh; Youjiang Wu; Randolph Yao; Qingwei Lin; Yingnong Dang
- Web page: https://patentgrep.com/patent/US10769007B2

## CPC

- G06F 9/5072: {Grid computing}
- G06F 11/0709: {in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 11/0751: {Error or fault detection not based on redundancy (power supply failures G06F1/30; network fault management H04L41/06)}
- G06N 5/04: Inference or reasoning models
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06N 20/00: Machine learning
- G06F 2009/45591: {Monitoring or debugging support}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A system may include a node historical state data store having historical node state data, including a metric that represents a health status or an attribute of a node during a period of time prior to a node failure. A node failure prediction algorithm creation platform may generate a machine learning trained node failure prediction algorithm. An active node data store may contain information about computing nodes in a cloud computing environment, including, for each node, a metric that represents a health status or an attribute of that node over time. A virtual machine assignment platform may then execute the node failure prediction algorithm to calculate a node failure probability score for each computing node based on the information in the active node data store. As a result, a virtual machine may be assigned to a selected computing node based at least in part on node failure probability scores.

## Claims

### Claim 1

A system associated with a cloud computing environment having a plurality of computing nodes, comprising:
a node historical state data store containing historical node state data, the historical node state data including a first set of time-series data that represents an attribute of a node during a period of time prior to a node failure, and a first set of non-time-series data that represents a second attribute of a node during a period of time prior to a node failure;
a node failure prediction algorithm creation platform, coupled to the node historical state data store, to generate a machine-learned node failure prediction algorithm, where generation of the node failure prediction algorithm comprises conversion of the first set of time-series data into a second set of non-time-series data, and combination of the second set of non-time-series data with the first set of non-time-series data;
an active node data store containing information about the plurality of computing nodes in the cloud computing environment, including, for each node, a second set of time-series data that represents an attribute of that node over time, a third set of non-time-series data generated based on the second set of time-series data, a fourth set of non-time-series data that represents a second attribute of a node during a period of time prior to a node failure, and a fifth set of non-time-series data generated based on the third set of non-time-series data and the fourth set of non-time-series data; and
a virtual machine assignment platform, coupled to the active node data store, to:
execute the node failure prediction algorithm to determine a node failure probability score for each of the plurality of computing nodes based on the fifth set of non-time-series data in the active node data store,
create a ranked list of two or more of the plurality of computing nodes based on the determined node failure probability scores,
select one of the two or more of the plurality of computing nodes based at least in part on the ranked list, and
assign a virtual machine to the selected computing node.

### Claim 2 (depends on 1)

The system of claim 1, wherein said assignment is associated with at least one of: (i) assignment of a newly created virtual machine to the selected computing node, and (ii) re-assignment of an existing virtual machine to the selected computing node from another computing node.

### Claim 3 (depends on 1)

The system of claim 1, wherein the information contained in the active node data store includes at least one of: (i) physical hardware properties, (ii) software versions, and (iii) operating system events.

### Claim 4 (depends on 3)

The system of claim 3, wherein the information contained in the active node data store includes physical hardware properties associated with at least one of: (i) central processing unit speed, (ii) central processing unit manufacturer, (iii) memory properties, and (iv) disk size.

### Claim 5 (depends on 3)

The system of claim 3, wherein the information contained in the active node data store includes software versions associated with at least one of: (i) a cloud component, (ii) an operating system, and (iii) a driver.

### Claim 6 (depends on 3)

The system of claim 3, wherein the information contained in the active node data store includes operating system events associated with at least one of: (i) an error event, (ii) a warning event, (iii) an information event, and (iv) an audit event.

### Claim 7 (depends on 3)

The system of claim 3, wherein the information contained in the active node data store includes external factors associated with at least one of: (i) temperature, (ii) humidity, (iii) vibration, (iv) sound, (v) performance speed, and (vi) network traffic.

### Claim 8 (depends on 3)

The system of claim 3, wherein the information contained in the active node data store includes at least one of: (i) static data, (ii) dynamic data, (iii) categorical data, (iv) numerical data, and (v) time-series data.

### Claim 9 (depends on 1)

The system of claim 1, wherein the virtual machine assignment platform is further to predict a future failure of a particular node based on an extrapolation of the at least one metric that represents operation of that node over time, either alone or in combination with other information.

### Claim 10 (depends on 1)

The system of claim 1, wherein the system is further to periodically update the ranked list based on updated node failure probability scores.

### Claim 11 (depends on 10)

The system of claim 10, wherein the ranked list is used to generate at least one of: (i) a report for manual troubleshooting by an enterprise associated with the cloud computing environment, (ii) a report for manual troubleshooting by one or more vendors that supplied components of computing nodes, (iii) a stress test report, and (iv) a virtual machine prioritization such that a virtual machine with highest customer value is assigned to nodes with lowest failure probability incorporating other constrains.

### Claim 12

A computer-implemented method associated with a cloud computing environment having a plurality of computing nodes, comprising:
accessing, by a node failure prediction algorithm creation platform, a node historical state data store containing historical node state data, the historical node state data including a first set of time-series data that represents an attribute of a node during a period of time prior to a node failure, and a first set of non-time-series data that represents a second attribute of a node during a period of time prior to a node failure;
generating, by the node failure prediction algorithm creation platform, a machine-learned node failure prediction algorithm, where generation of the node failure prediction algorithm comprises conversion of the first set of time-series data into a second set of non-time-series data, and combination of the second set of non-time-series data with the first set of non-time-series data;
accessing, by a virtual machine assignment platform, an active node data store containing information about the plurality of computing nodes in the cloud computing environment, including, for each node, a second set of time-series data that represents an attribute of that node over time, a third set of non-time-series data generated based on the second set of time-series data, a fourth set of non-time-series data that represents a second attribute of a node during a period of time prior to a node failure, and a fifth set of non-time-series data generated based on the third set of non-time-series data and the fourth set of non-time-series data;
executing, by the virtual machine assignment platform, the node failure prediction algorithm to determine a node failure probability score for each computing node based on the fifth set of non-time-series data in the active node data store;
creating, by the virtual machine assignment platform, a ranked list of two or more of the plurality of computing nodes based on the determined node failure probability scores;
selecting, by the virtual machine assignment platform, one of the two or more of the plurality of computing nodes based at least in part on the ranked list; and
assigning, by the virtual machine assignment platform, a virtual machine to the selected computing node.

### Claim 13 (depends on 12)

The computer-implemented method of claim 12, wherein said assigning is associated with at least one of: (i) assignment of a newly created virtual machine to the selected computing node, and (ii) re-assignment of an existing virtual machine to the selected computing node from another computing node.

### Claim 14 (depends on 12)

The computer-implemented method of claim 12, wherein the virtual machine assignment platform is to predict a future failure of a particular node based on an extrapolation of the fifth set of non-time-series data that represents operation of that node over time, either alone or in combination with other information.

### Claim 15 (depends on 12)

The computer-implemented method of claim 12, wherein the system is further to periodically update the ranked list of a set of computing nodes based on updated node failure probability scores.

### Claim 16 (depends on 15)

The computer-implemented of claim 15, wherein the ranked list is used to generate at least one of: (i) a report for manual troubleshooting by an enterprise associated with the cloud computing environment, (ii) a report for manual troubleshooting by one or more vendors that supplied components of computing nodes, (iii) a stress test report, and (iv) a virtual machine prioritization such that a virtual machine with highest customer value is assigned to nodes with lowest failure probability incorporating other constrains.

### Claim 17

A non-transient, computer-readable medium storing instructions to be executed by a processor to perform a method associated with a cloud computing environment having a plurality of computing nodes, the method comprising:
accessing, by a node failure prediction algorithm creation platform, a node historical state data store containing historical node state data, the historical node state data including a first set of time-series data that represents an attribute of a node during a period of time prior to a node failure, and a first set of non-time-series data that represents a second attribute of a node during a period of time prior to a node failure;
generating, by the node failure prediction algorithm creation platform, a machine-learned node failure prediction algorithm, where generation of the node failure prediction algorithm comprises conversion of the first set of time-series data into a second set of non-time-series data, and combination of the second set of non-time-series data with the first set of non-time-series data;
accessing, by a virtual machine assignment platform, an active node data store containing information about the plurality of computing nodes in the cloud computing environment, including, for each node, a second set of time-series data that represents an attribute of that node over time, a third set of non-time-series data generated based on the second set of time-series data, a fourth set of non-time-series data that represents a second attribute of a node during a period of time prior to a node failure, and a fifth set of non-time-series data generated based on the third set of non-time-series data and the fourth set of non-time-series data;
executing, by the virtual machine assignment platform, the node failure prediction algorithm to calculate a node failure probability score for each computing node based on the fifth set of non-time-series data in the active node data store;
creating, by the virtual machine assignment platform, a ranked list of two or more of the plurality of computing nodes based on the determined node failure probability scores;
selecting, by the virtual machine assignment platform, one of the two or more of the plurality of computing nodes based at least in part on the ranked list; and
assigning, by the virtual machine assignment platform, a virtual machine to the selected computing node.

### Claim 18 (depends on 17)

The non-transient, computer-readable medium of claim 17, wherein the information contained in the active node data store includes at least one of: (i) physical hardware properties, (ii) software versions, and (iii) operating system events.

### Claim 19 (depends on 18)

The non-transient, computer-readable medium of claim 18, wherein the information contained in the active node data store includes physical hardware properties associated with at least one of: (i) central processing unit speed, (ii) central processing unit manufacturer, (iii) memory properties, and (iv) disk size.

### Claim 20 (depends on 18)

The non-transient, computer-readable medium of claim 18, wherein the information contained in the active node data store includes software versions associated with at least one of: (i) a cloud component, (ii) an operating system, and (iii) a driver.
