Managing hardware resources by sending messages amongst servers in a data center
First Claim
1. 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.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods to manage workloads and hardware resources in a data center or cloud. In one embodiment, a method includes a data center having a plurality of servers in a network. The data center provides a virtual machine for each of a plurality of users, each virtual machine to use a portion of hardware resources of the data center. The hardware resources include storage and processing resources distributed onto each of the plurality of servers. The method further includes sending messages amongst the servers, some of the messages being sent from a server including status information regarding a hardware resource utilization status of that server. The method further includes detecting a request from the virtual machine to handle a workload requiring increased use of the hardware resources, and provisioning the servers to temporarily allocate additional resources to the virtual machine, wherein the provisioning is based on status information provided by one or more of the messages.
-
Citations
20 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 13, 15, 16, 18, 19, 20)
-
-
9. 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; launching, by the second new agent after logging in to the first messaging system, a command processor executing on 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.
-
-
10. 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; wherein discovering the services is performed using domain name system-based service discovery (DNS-SD) 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. - View Dependent Claims (17)
-
-
11. 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; wherein each of the plurality of servers is configured to send and receive messages using the first messaging system and the second messaging system.
-
-
12. 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; 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; and 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; wherein; the first messaging system implements an Extensible Messaging and Presence Protocol (XMPP); and the second messaging system implements an Advance Message Queuing Protocol (AMQP).
-
-
14. A non-transitory computer readable storage medium embodying instructions, the instructions causing a computing device to perform 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 messages amongst all of 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; and 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.
-
Specification