Patent ID: 8346935

Claim:
A method for managing resources in a data center, the data center comprising a plurality of servers in a network, the method comprising: providing, via the data center, a virtual machine for each of a plurality of users, each respective virtual machine to use a portion of hardware resources of the data center, and wherein the hardware resources include storage and processing resources distributed onto each of the plurality of servers; sending a plurality of messages amongst the plurality of servers, at least a portion of the messages being sent from any respective server comprising status information regarding a hardware resource utilization status of that respective server; detecting a request from a first of the respective virtual machines to handle a workload requiring increased use of the hardware resources; provisioning the plurality of servers to temporarily allocate additional resources from the hardware resources to the first respective virtual machine, the provisioning based at least in part on status information provided by one or more of the messages; sending a new message from a new server that has joined the network, the new message comprising presence information regarding one or more agents executing on the new server; and initiating a first new agent on the new server, the initiating comprising: discovering, by the first new agent, services in the network available to the first new agent; self-configuring, by the first new agent, in response to the services discovered; causing a second new agent to log in to a first messaging system to advertise presence of the new server; and causing a third new agent to log in to a second messaging system, the third new agent to manage a listener queue on the new server, to publish messages to the second messaging system, and to listen for new messages in the listener queue.