A method of determining a placement of services of a distributed
application onto nodes of a distributed resource infrastructure. In an
embodiment of the present invention, a placement indicator for a specific
service is provided. Communication constraints between node pairs are
also provided. The communication constraints ensure that a sum of
transport demands between a particular node pair does not exceed a
transport capacity between the particular node pair. Constraints can be
expressed for preventing unwanted placements. Preferences can be
expressed for preferring specified placements. Each term of the sum of
transport demands comprises a product of a first placement variable, a
second placement variable, and the transport demand between the services
associated with the first and second placement variables. The placement
indicator, the communication constraints, and an objective comprise an
integer program. A local search solution is applied to solve the integer
program, which determines the placement of the services onto the nodes.