Patent ID: 9594596
Date: 2017-03-14
CPC Classifications: G06F,H04L

Claim:
1. A method comprising: receiving, by a computing device, an input relative to a user objective, wherein the input relative to the user objective is dynamically received via an application programming interface, wherein the user objective includes at least one of an optimized performance of an application and an optimized availability of the application; establishing, by the computing device, an application placement consideration based upon, at least in part, the user objective; dynamically determining, by the computing device, a best-fit application placement for a plurality of applications relative to a plurality of servers based upon, at least in part, the application placement consideration that includes a server capital expense consideration, a server operational expense consideration, an application collocation consideration, a stochastic process, and an application anti-location consideration, wherein an amount of processor capacity on each of the plurality of servers is based upon, at least in part, at least a factor of standard deviation of processor workloads of the plurality of applications deployed on each of the plurality of servers; establishing an application placement consideration priority; resolving application placement consideration conflicts between the application collocation consideration and the application anti-location consideration based upon, at least in part, the application placement consideration priority; determining a change in the application placement consideration priority based upon, at least in part, the input relative to the user objective; and determining, dynamically, a new placement for the plurality of applications relative to the plurality of servers based upon, at least in part, the change in the application placement consideration priority.