Event and state management in a scalable cloud computing environment
First Claim
1. A method of reporting operating states for pluralities of virtual machines to a management server, the pluralities of virtual machines executing on respective compute servers coupled to the management server by a network, the pluralities of virtual machines being managed by respective agents executing on the respective physical compute servers, each operating state having a respective predetermined next operating state according to a predetermined state flow description of creation, use, and destruction of a virtual machine, the method comprising the steps, performed by each of the agents for the corresponding plurality of virtual machines managed by the agent, of:
- obtaining and locally storing, for each of the virtual machines managed by the agent, first state information indicating a first operating state for the respective virtual machine; and
subsequently, during each of a plurality of successive sync intervals;
obtaining, for each of the virtual machines managed by the agent, second state information indicating a second operating state for the respective virtual machine;
determining, for each of the virtual machines managed by the agent, whether the second operating state of the virtual machine differs is a changed state differing from the first operating state of the virtual machine;
responsive to the determining indicating that the second operating state of the virtual machine is a changed state differing from the first operating state of the virtual machine, storing the second operating state for the virtual machine as a respective delta state; and
transmitting updated state information to the management server, the updated state information including only the delta states for the virtual machines having changed states and excluding the first state information for the virtual machines not having changed states.
9 Assignments
0 Petitions
Accused Products
Abstract
A scalable cloud infrastructure serves two or more customers, where each customer is associated with at least one unit of virtual resources. The virtual resources are established by apportioning physical resources in the cloud infrastructure that are partitioned into pods within one or more zones in a scalable manner. Additionally, the cloud infrastructure establishes one or more management server clusters each comprising one or more management servers. The two or more customers create a number of virtual machines within pods in one or more zones. As customers interact primarily with the management server cluster to manage their virtual machine, a state and event handling method is devised to centralize the management of a potentially vast number of customer and supporting system virtual machines.
-
Citations
28 Claims
-
1. A method of reporting operating states for pluralities of virtual machines to a management server, the pluralities of virtual machines executing on respective compute servers coupled to the management server by a network, the pluralities of virtual machines being managed by respective agents executing on the respective physical compute servers, each operating state having a respective predetermined next operating state according to a predetermined state flow description of creation, use, and destruction of a virtual machine, the method comprising the steps, performed by each of the agents for the corresponding plurality of virtual machines managed by the agent, of:
-
obtaining and locally storing, for each of the virtual machines managed by the agent, first state information indicating a first operating state for the respective virtual machine; and subsequently, during each of a plurality of successive sync intervals; obtaining, for each of the virtual machines managed by the agent, second state information indicating a second operating state for the respective virtual machine; determining, for each of the virtual machines managed by the agent, whether the second operating state of the virtual machine differs is a changed state differing from the first operating state of the virtual machine; responsive to the determining indicating that the second operating state of the virtual machine is a changed state differing from the first operating state of the virtual machine, storing the second operating state for the virtual machine as a respective delta state; and transmitting updated state information to the management server, the updated state information including only the delta states for the virtual machines having changed states and excluding the first state information for the virtual machines not having changed states. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer readable storage medium storing instructions executable by a compute server to perform a method of reporting operating states for a plurality of virtual machines to a management server coupled to the compute server by a network, the plurality of virtual machines executing on the compute serve and being managed by an agent executing on the compute server, each operating state having a respective predetermined next operating state according to a predetermined state flow description of creation, use, and destruction of a virtual machine, the method including the steps, performed by the agent for the plurality of virtual machines, of:
- obtaining and locally storing, for each of the virtual machines, first state information indicating a first operating state for the respective virtual machine; and
subsequently, during each of a plurality of successive sync intervals;
obtaining and locally storing, for each of the virtual machines, second state information indicating a second operating state for the respective virtual machine;
determining, for each of the virtual machines, whether the second operating state of the virtual machine is a changed state differing from the first operating state of the virtual machine;
responsive to the determining indicating that the second operating state of the virtual machine is a changed state differing from the first operating state of the virtual machine, storing the second operating state for the virtual machine as a respective delta state; and
transmitting updated state information to the management server, the updated state information including only the delta states for the virtual machines having changed states and excluding the first state information for the virtual machines not having changed states. - View Dependent Claims (11, 12)
- obtaining and locally storing, for each of the virtual machines, first state information indicating a first operating state for the respective virtual machine; and
-
13. A method of operating a management server to perform state management and management actions for a plurality of virtual machines executing on respective compute servers coupled to the management server by a network, the method comprising:
-
maintaining a record of an actual flow of operating states for each of the plurality of virtual machines, each operating state having a respective predetermined next valid operating state according to a state table reflecting an expected flow of operating states according to a predetermined state flow description of creation, use, and destruction of a virtual machine; performing at the management server in response to receiving operating state updates for a portion of the virtual machines; determining for the portion of the virtual machines a current operating state based on the record of operating states and the received operating state updates for each of the virtual machines in the portion; and updating the record of operating states to reflect the current operating state for each of the portion of virtual machines; and performing at the management server in response to receiving an event for a virtual machine; accessing the record of operating states for the virtual machine to identify a current operating state therefor; accessing the state table to identify the predetermined valid next operating state for current operating state indicated in the record of operating states for the virtual machine; determining from the record of operating states and the state table whether the event is associated with a valid state transition from the current operating state to the predetermined valid next operating state; and responsive to determining that the event is associated with the valid state transition, committing the event for processing and updating the record of operating states with the expected operating state, and otherwise failing the event. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A non-transitory computer readable storage medium storing instructions executable by a management server to perform a method of state management and management actions for a plurality of virtual machines executing on respective compute servers coupled to the management server by a network, by:
- maintaining a record of an actual flow of operating states for each of the plurality of virtual machines, each operating state having a respective predetermined next valid operating state according to a state table reflecting an expected flow of operating states according to a predetermined state flow description of creation, use, and destruction of a virtual machine;
performing at the management server in response to receiving operating state updates for a portion of the virtual machines;
determining for the portion of the virtual machines a current operating state based on the record of operating states and the received operating state updates for each of the virtual machines in the portion; and
update the record of operating states to reflect the current operating state for each of the portion of virtual machines; and
performing at the management server in response to receiving an event for a virtual machine;
accessing the record of operating states for the virtual machine to identify a current operating state therefor;
accessing the state table to identify the predetermined valid next operating state for current operating state indicated in the record of operating states for the virtual machine;
determining from the record of operating states and the state table the validity of the event; and
responsive to determining that the event is associated with the valid state transition, committing the event for processing and updating the record of operating states with the expected operating state or and otherwise failing the event. - View Dependent Claims (24, 25, 26, 27, 28)
- maintaining a record of an actual flow of operating states for each of the plurality of virtual machines, each operating state having a respective predetermined next valid operating state according to a state table reflecting an expected flow of operating states according to a predetermined state flow description of creation, use, and destruction of a virtual machine;
Specification