Patent ID: 9628401
Date: 2017-04-18
CPC Classifications: G06F,H04L

Claim:
1. A method for managing software product instance placement on a plurality of physical computer resources, the method comprising: receiving by a placement server utilization parameters from a client, the client is a clustered middleware system, the resource utilization parameters including a specification of a hierarchal arrangement of software product instances, the specification including specification of: capacities of the physical computing resources, resource demands of virtual machines, which type of the physical computing resources the virtual machines are permitted to execute on, and whether the virtual machines are permitted to move to a different physical computing resource; assigning the portion of the plurality of physical computer resources to the software product instances based on the resource utilization parameters and the physical computing resources available for utilization; exposing a communication port at the placement server, the communication port configured to receive the utilization parameters in a standardized form, the utilization parameters specifying whether virtual machine instances can be moved from one physical computer to another physical computer; and wherein assigning the portion of the plurality of physical computer resources to the software product instances is stateful, such that the portion of the plurality of physical computer resources assigned to the software product instances is further based on computer resource assignments to other clients; wherein the placement server is shared by multiple clients in a cloud infrastructure; wherein the plurality of software product instances is the virtual machine instances; and wherein the plurality of physical computing resources is host computers for hosting the virtual machine instances; and wherein assigning the portion of the plurality of physical computer resources to the software product instances includes assigning one of the virtual machine instances to one of the host computers based, in part, on other virtual machines instances assignments to the host computers.