The document describes a probabilistic approach called ecoCloud for consolidating virtual machines (VMs) across physical servers in a cloud data center. EcoCloud uses two probabilistic procedures - assignment and migration - to autonomously distribute VMs among servers based on local resource utilization information, with the goal of improving utilization levels, reducing power consumption, and avoiding SLA violations. The assignment procedure determines whether an idle server should accept a new VM or not, while the migration procedure determines whether an underutilized VM should migrate to another server for better consolidation. Both procedures are based on simple Bernoulli trials using resource utilization-dependent probability functions.