US2015317187A1PendingUtilityA1

Placing objects on hosts using hard and soft constraints

47
Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Oct 20, 2010Filed: Jun 29, 2015Published: Nov 5, 2015
Est. expiryOct 20, 2030(~4.3 yrs left)· nominal 20-yr term from priority
G06F 9/45558G06F 9/5016G06F 9/5022G06F 9/505G06F 9/5055G06F 9/5044
47
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
1 - 20 . (canceled) 
     
     
         21 . 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. 
   
     
     
         22 . The system of  claim 21 , wherein the cloud manager further comprises an application manager configured to place tenants. 
     
     
         23 . The system of  claim 21 , wherein the cloud manager further comprises a work manager configured to manage jobs in the job queue. 
     
     
         24 . The system of  claim 21 , wherein the machine manager is further configured to analyze performance characteristics of the plurality of hosts. 
     
     
         25 . The system of  claim 24 , wherein determining the host for deployment is further based on the analysis of the performance characteristics. 
     
     
         26 . The system of  claim 21 , wherein the plurality of hosts includes at least one of a physical machine, a database, and a farm. 
     
     
         27 . The system of  claim 21 , wherein the object is at least one of a virtual machine, a tenant, a database, and a user. 
     
     
         28 . The system of  claim 21 , wherein the application of soft constraints determines which hosts in the plurality of hosts are suitable for the object. 
     
     
         29 . The system of  claim 21 , wherein the hard constraints further include at least two of: a same network constraint, a correct type constraint, a running constraint, and a capacity constraint. 
     
     
         30 . The system of  claim 21 , wherein machine manager is further configured to determine the order for which to deploy multiple objects, wherein determining the order is based on a size and a type of the multiple objects. 
     
     
         31 . 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.   
     
     
         32 . The method on  claim 31 , wherein the hard constraints further include at least two of: a same network constraint, a correct type constraint, a running constraint, and a capacity constraint. 
     
     
         33 . The method of  claim 31 , wherein the hosts include at least one of a physical machine, a database, and a farm. 
     
     
         34 . The method of  claim 31 , wherein the objects include at least one of a virtual machine, a tenant, a database, and a user. 
     
     
         35 . The method of  claim 31 , further comprising analyzing performance characteristics of the hosts, and wherein selecting the host is further based on the performance characteristics. 
     
     
         36 . The method of  claim 31 , further comprising:
 receiving a request to deploy a second object on the one or more plurality of hosts; and   determining whether to deploy the second object prior to the first object;   deploying the second object prior to the first object.   
     
     
         37 . The method of  claim 36 , wherein determining whether to deploy the second object prior to the first object is based on at least one of a size and a type of the second object. 
     
     
         38 . 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. 
   
     
     
         39 . The system on  claim 38 , wherein the hard constraints further include at least two of: a same network constraint, a correct type constraint, a running constraint, and a capacity constraint. 
     
     
         40 . The system of  claim 38 , wherein the hosts include at least one of a physical machine, a database, and a farm.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.