Patent ID: 8140668

Claim:
A computer-implemented method comprising: starting, by a host controller, a plurality of virtual machines on a plurality of hosts over a time span according to configurable timelines recorded in a plurality of timers stored in memory, wherein start times of the virtual machines are spread over the time span; and running the virtual machines on the hosts by a pre-determined time to provide virtual desktops to remote clients; wherein starting the plurality of virtual machines further comprises: observing a load spike during the time span when the plurality of virtual machines are started; and rescheduling one or more of the plurality of virtual machines to start at a different time such that the load spike created by starting the plurality of virtual machines is evenly distributed over the time span when the plurality of virtual machines are started; and wherein the time span comprises a time interval when the plurality of virtual machines are started and does not include the run time of the plurality of virtual machines.