Patent ID: 9634881
Date: 2017-04-25
CPC Classifications: G06F,H04L,Y02D

Claim:
1. A method to deploy an application in a computing system, comprising: receiving, by a processor, a command to deploy the application in the computing system, the application comprising an application module; identifying, by the processor, a first set of heterogeneous nodes and a second set of heterogeneous nodes in the computing system, each capable of executing the application module; identifying, by the processor, a node property of the first set of heterogeneous nodes and the second set of heterogeneous nodes, wherein the node property relates to functional capabilities of the first set of heterogeneous nodes and the second set of heterogeneous nodes respectively; identifying, by the processor, a first value of the node property for a first node of the first set of heterogeneous nodes; identifying, by the processor, a second value of the node property for a second node of the first set of heterogeneous nodes; comparing, by the processor, the first value and the second value to determine a first diversity fitness score for the first set of heterogeneous nodes, wherein the first diversity fitness score represents a difference between the first value and the second value; determining a first fault indicator related to operation of the first set of heterogeneous nodes, wherein the first fault indicator includes estimated probabilities of faults for the first set of heterogeneous nodes; adjusting the first diversity fitness score based on the first fault indicator to produce a first adjusted diversity fitness score; identifying, by the processor, a third value of the node property for a third node of the second set of heterogeneous nodes; identifying, by the processor, a fourth value of the node property for a fourth node of the second set of heterogeneous nodes; comparing, by the processor, the third value and the fourth value to determine a second diversity fitness score for the second set of heterogeneous nodes, wherein the second diversity fitness score represents a difference between the third value and the fourth value; determining a second fault indicator related the operation of the second set of heterogeneous nodes, wherein the second fault indicator includes estimated probabilities of faults for the second set of heterogeneous nodes; adjusting the second diversity fitness score based on the second fault indicator to produce a second adjusted diversity fitness score; comparing, by the processor, the first adjusted diversity fitness score for the first set of heterogeneous nodes to the second adjusted diversity fitness score for the second set of heterogeneous nodes in the computing system; determining, by the processor, that the first adjusted diversity fitness score is a greatest diversity fitness score among the first adjusted diversity fitness score and the second adjusted diversity fitness score based on the comparison of the first adjusted diversity fitness score with the second adjusted diversity fitness score; selecting, by the processor, the first set of heterogeneous nodes in response to the first adjusted diversity score being the greatest diversity fitness score; and deploying, by the processor, the application module to the first set of heterogeneous nodes in response to the selection of the first set of heterogeneous nodes.