SOFTWARE APPLICATION PLACEMENT USING COMPUTING RESOURCE CONTAINERS
First Claim
1. A system for associating a software application with a computing resource, the system comprising:
- a memory for storing a set of placement rules including an anti-affinity placement rule indicating that a first software application is to be separated from a second software application, wherein the first software application is associated with a first computing resource of a plurality of computing resources; and
a processor programmed to;
determine failure correlations between the plurality of computing resources, each of the failure correlations corresponding to a pair of the plurality of the computing resources;
identify a second computing resource, which is different from the first computing resource, from the plurality of computing resources such that the second computing resource has a failure correlation with the first computing resource which is either below a first threshold or the lowest among the plurality of computing resources; and
associate the second computing resource with the second software application.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments associate software applications with computing resource containers based on a placement rule and a selected failure correlation. A placement rule indicates that a first software application is to be co-located with a second software application during execution of the first and second software applications. The placement rule also indicates that the first software application is to be separated from the second software application during execution of the first and second software applications. Failure correlations are determined for a plurality of computing resources associated with the first software application. A computing resource with a lowest failure correlation is selected from the plurality of computing resources, and the second software application is associated with the selected computing resource despite the association violating the placement rule.
-
Citations
20 Claims
-
1. A system for associating a software application with a computing resource, the system comprising:
-
a memory for storing a set of placement rules including an anti-affinity placement rule indicating that a first software application is to be separated from a second software application, wherein the first software application is associated with a first computing resource of a plurality of computing resources; and a processor programmed to; determine failure correlations between the plurality of computing resources, each of the failure correlations corresponding to a pair of the plurality of the computing resources; identify a second computing resource, which is different from the first computing resource, from the plurality of computing resources such that the second computing resource has a failure correlation with the first computing resource which is either below a first threshold or the lowest among the plurality of computing resources; and associate the second computing resource with the second software application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
receiving a set of placement rules including an anti-affinity placement rule indicating that a first software application is to be separated from a second software application, wherein the first software application is associated with a first computing resource of a plurality of computing resources; determining failure correlations between the plurality of computing resources, each of the failure correlations corresponding to a pair of the plurality of the computing resources; identifying a second computing resource, which is different from the first computing resource, from the plurality of computing resources such that the second computing resource has a failure correlation with the first computing resource which is either below a first threshold or the lowest among the plurality of computing resources; and associating the second computing resource with the second software application. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-readable medium comprising computer-executable instructions that when executed by a processor, cause the processor to perform a method, the method comprising:
-
receiving a set of placement rules including an anti-affinity placement rule indicating that a first software application is to be separated from a second software application, wherein the first software application is associated with a first computing resource of a plurality of computing resources; determining failure correlations between the plurality of computing resources, each of the failure correlations corresponding to a pair of the plurality of the computing resources; identifying a second computing resource, which is different from the first computing resource, from the plurality of computing resources such that the second computing resource has a failure correlation with the first computing resource which is either below a first threshold or the lowest among the plurality of computing resources; determining whether associating the second computing resource with the second software application violates a second rule; when determining the second rule is not violated, associating the second computing resource with the second software application; and when determining the second rule is violated, identifying a third computing resource from the plurality of computing resources such that the third computing resource has a failure correlation with the first computing resource which is either below the first threshold or the next lowest among the plurality of computing resources; associating the third computing resource, instead of the second computing resource, with the second software application. - View Dependent Claims (17, 18, 19, 20)
-
Specification