IP Library Granted Patent US 10,305,741
Granted Patent B2
US 10,305,741 · App. 15/484,027 · Granted May 28, 2019

Automatic placement of clients in a distributed computer system satisfying constraints

Inventors: Parth Shah (Mountain View, CA); Pradeep Padala (San Jose, CA); Ajay Gulati (Palo Alto, CA)
Assignee: VMware, Inc.
H04L41/0893G06F9/45533G06F9/45558H04L41/046G06F2009/4557G06F2009/45575G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,305,741
App. No.
15/484,027
Granted
May 28, 2019
Kind
B2
Abstract

A cloud management server and method for performing automatic placement of clients in a distributed computer system uses a list of compatible clusters to select an affinity cluster to place the clients associated with an affinity constraint. As part of the placement method, a cluster that cannot satisfy any anti-affinity constraint associated with the clients and the affinity constrain is removed from the list of compatible clusters. After the affinity cluster has been selected, at least one cluster in the distributed computer system is also selected to place clients associated with an anti-affinity constraint.

Claims (37)

1. A method of placing clients in a distributed computer system, the method comprising:

selecting an anti-affinity constraint associated with a first set of clients, the anti-affinity constraint specifying that clients in the first set should be placed in different hosts, wherein the anti-affinity constraint is a soft constraint;

determining whether there is a placement solution that satisfies the anti-affinity constraint; and

upon determining that there is not a placement solution that satisfies the anti-affinity constraint, allowing the clients to be placed according to a placement solution which violates the anti-affinity constraint.

2. The method of claim 1 , wherein the clients being placed are virtual machines.

3. The method of claim 1 , wherein the determining whether there is a placement solution comprises:

sorting the first set of clients; and

assigning a host for each of the first set of clients in the order as sorted.

4. A computer-readable storage medium containing program instructions for automatic placement of clients in a distributed computer system with multiple host computers, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to perform steps comprising:

selecting an anti-affinity constraint associated with a first set of clients;

selecting a group to place the clients associated with the anti-affinity constraint; and

selecting at least one host in the distributed computer system to place the clients associated with the anti-affinity constraint.

5. The computer-readable storage medium of claim 4 , wherein the clients being placed are virtual machines.

6. The computer-readable storage medium of claim 4 , wherein the selecting the at least one host includes:

sorting at least some of the clients in a predefined order; and

assigning a particular host for each of the at least some of the clients if the highest ranking host has not yet been assigned to any of the clients.

7. The computer-readable storage medium of claim 4 , wherein the anti-affinity constraint is defined as a soft constraint.

8. The computer-readable storage medium of claim 7 , wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to perform steps further comprising: attempting to satisfy the soft constraint.

9. The computer-readable storage medium of claim 4 , wherein the anti-affinity constraint is defined as a hard constraint.

10. The computer-readable storage medium of claim 9 , wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to perform steps further comprising: enforcing the hard constraint.

11. A cloud management server for a distributed computer system comprising:

memory; and

a processor configured to generate placement solutions for virtual machines to be placed in host computers in the distributed computer system, the processor being further configured to:

selecting an anti-affinity constraint associated with a first set of virtual machines;

selecting a group to place the virtual machines associated with the anti-affinity constraint; and

selecting at least one host in the distributed computer system to place the virtual machines associated with the anti-affinity constraint.

12. The cloud management server of claim 11 , wherein the processor is configured to:

sort at least some of the virtual machines in a predefined order; and

assign a particular host for each of the at least some of the virtual machines if the highest ranking host has not yet been assigned to any of the virtual machines.

13. The cloud management server of claim 11 , wherein the processor is configured to:

define the anti-affinity constraint as a soft constraint.

14. The cloud management server of claim 13 , wherein the processor is configured to:

honor the soft constraint only when enough resources available to run the first set of virtual machines on different hosts.

15. The cloud management server of claim 11 , wherein the processor is configured to:

define the anti-affinity constraint as a hard constraint.

16. The cloud management server of claim 15 , wherein the processor is configured to:

enforce the hard constraint.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
Continuity (2)
Continuation 14099872 · Dec 6, 2013
Related Publication 20170302523A1 · Oct 19, 2017