abstract |
A cloud network includes a plurality of geographically distributed data centers each having processing, bandwidth and storage resources for hosting and executing applications, a processing node and a database. The processing node determines an optimal placement of a plurality of VMs across the data centers based on a plurality of objectives including at least two of energy consumption by the VMs, cost associated with placing the VMs, performance required by the VMs and VM redundancy. The processing node also allocates at least some of the processing, bandwidth and storage resources of the data centers to the VMs based on the determined optimal placement so that the VMs are placed within a cloud network based on at least two different objectives. The database is configured to store the objectives and information pertaining to the allocation of the processing, bandwidth and storage resources of the data centers. |