Placing objects on hosts using hard and soft constraints
AssigneeMicrosoft Technology Licensing, LLC
InventorsAlexander Hopmann, Marc Keith Windle, Patrick Simek, Erick Raymundo Lerma, Dan Rosenthal
Life of this patent
Estimating the term…
Abstract
Objects are placed on hosts using hard constraints and soft constraints. The objects to be placed on the host may be many different types of objects. For example, the objects to place may include tenants in a database, virtual machines on a physical machine, databases on a virtual machine, tenants in directory forests, tenants in farms, and the like. When determining a host for an object, a pool of hosts is filtered through a series of hard constraints. The remaining pool of hosts is further filtered through soft constraints to help in selection of a host. A host is then chosen from the remaining hosts.
Claims21
1-20. (canceled)
A system for managing the deployment of objects on hosts, the system comprising:
- a cloud manager, the cloud manager further comprising:
- a machine manager, the machine manager configured to deploy an object on one of a plurality of hosts by placing a job in a job queue to deploy the object, wherein a host for deployment is determined from the plurality of hosts based on the application of soft and hard constraints including a high availability constraint based on ensuring that objects having redundant roles within the network are placed on different hosts.
A method for managing the deployment of objects on hosts, the method comprising:
- receiving a request to deploy an object on one of a plurality of hosts;
- applying one or more hard constraints against the plurality of hosts to remove unsuitable hosts for deployment, wherein the one or more hard constraints includes a high availability constraint based on ensuring that objects having redundant roles within the network are placed on different hosts;
- applying one or more soft constraints against the plurality of hosts to prioritize suitable hosts for deployment;
- selecting a host having a highest priority;
- and
- deploying the object on the selected host.
A system for managing the deployment of objects on hosts, the system comprising:
- one or more processors;
- and
- a memory, communicatively coupled to the one or more processors, storing instructions that, when executed by the one or more processors, cause the one or more processors to perform a method, the method comprising:
- receiving a request to deploy an object on one of a plurality of hosts;
- applying one or more hard constraints against the plurality to remove unsuitable hosts for deployment, wherein the one or more hard constraints includes a high availability constraint based on ensuring that objects having redundant roles within the network are placed on different hosts;
- applying one or more soft constraints against the plurality of hosts to prioritize suitable hosts for deployment;
- selecting a host having a highest priority;
- and
- deploying the object on the selected host.
Dependencies are inferred from the claim text.