Patent ID: 8478878

Claim:
A method of managing a server placement of virtual machines in an operating environment, the method comprising: determining, with a processor, a mapping of each virtual machine in a plurality of virtual machines to at least one server in a set of servers, wherein the mapping satisfies a set of primary constraints associated with the set of servers, and wherein the mapping identifies a server in the set of servers that is to host a given virtual machine in the plurality of virtual machines; creating, based on the mapping, a plurality of virtual machine clusters, wherein each virtual machine cluster in the plurality of virtual machine clusters comprises a set of virtual machines from the plurality of virtual machines, wherein a plurality of virtual machines in the set of virtual machines is mapped to a different server in the set of servers, and wherein a server placement of one virtual machine in the set of virtual machines of a virtual machine cluster is interchangeable with a different server placement of another virtual machine in the set of virtual machines of the virtual machine cluster while satisfying the set of primary constraints, wherein creating the plurality of virtual machine clusters further comprises: grouping each of the virtual machines in the plurality of virtual machines into a plurality of virtual machine pairs; and creating a set of links between virtual machine pairs in response to a first virtual machine and a second virtual machine in a virtual machine pair being able to be placed on each other's server that has been mapped thereto; and generating, for each virtual machine cluster in the plurality of virtual machine clusters, a server placement of the set of virtual machines within each virtual machine on at least one server that has been mapped to the set of virtual machines, wherein the server placement satisfies a set of secondary constraints.