Monitoring and automated recovery of data instances
First Claim
1. A computer-implemented method of monitoring components in a data environment, comprising:
- under control of one or more computer systems configured with executable instructions,determining a set of event processors in a control environment for monitoring a plurality of components in the data environment, the plurality of components each having an identifier over a range of identifiers;
allocating a portion of the range of identifiers to each of the set of event processors, each event processor being allocated a substantially equivalent portion of the range of identifiers for monitoring;
periodically sending a status message from each of the event processors to be received by the other event processors in the set indicating that the event processor sending the status message is active; and
in response to not receiving a status message from one of the event processors for at least a determined period of time, automatically reallocating the range of identifiers to the active event processors from which status messages were received,wherein each active event processor receives a different substantially equivalent portion of the range of identifiers based on the number of active event processors, and wherein each event processor is operable to periodically send status messages to each component in the data environment having an identifier in the portion of the range of identifiers allocated to the event processor.
1 Assignment
0 Petitions
Accused Products
Abstract
The monitoring and recovery of data instances, data stores, and other such components in a data environment can be performed automatically using a separate control environment. A monitoring component of the control plane can include a set of event processors for monitoring a workload of the data environment, where an event processor detecting a problem in the data plane can cause a recovery workflow to generated in order to recover from the detected problem. The event processors can communicate with each other such that if one of the event processors becomes unavailable, the other event processors in a set are able to automatically redistribute responsibility for the workload.
-
Citations
19 Claims
-
1. A computer-implemented method of monitoring components in a data environment, comprising:
under control of one or more computer systems configured with executable instructions, determining a set of event processors in a control environment for monitoring a plurality of components in the data environment, the plurality of components each having an identifier over a range of identifiers; allocating a portion of the range of identifiers to each of the set of event processors, each event processor being allocated a substantially equivalent portion of the range of identifiers for monitoring; periodically sending a status message from each of the event processors to be received by the other event processors in the set indicating that the event processor sending the status message is active; and in response to not receiving a status message from one of the event processors for at least a determined period of time, automatically reallocating the range of identifiers to the active event processors from which status messages were received, wherein each active event processor receives a different substantially equivalent portion of the range of identifiers based on the number of active event processors, and wherein each event processor is operable to periodically send status messages to each component in the data environment having an identifier in the portion of the range of identifiers allocated to the event processor. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A system for monitoring components in a data environment, comprising:
-
at least one processor; and memory including instructions that, when executed by the at least one processor, cause the system to; determine a set of event processors in a control environment for monitoring a plurality of components in the data environment, the plurality of components each having an identifier over a range of identifiers; allocate a portion of the range of identifiers to each of the set of event processors, each event processor being allocated a substantially equivalent portion of the range of identifiers for monitoring; periodically send a status message from each of the event processors to be received by the other event processors in the set indicating that the event processor sending the status message is active; in response to not receiving a status message from one of the event processors for at least a determined period of time, automatically reallocate the range of identifiers to the active event processors from which status messages were received; store information for the event processor from which a status message was not received to a job queue in the control environment; and use the information to generate a workflow to restart the event processor or add a new event processor to the set of processors, wherein each active event processor receives a different substantially equivalent portion of the range of identifiers based on the number of active event processors. - View Dependent Claims (9, 10)
-
-
11. A computer-implemented method of monitoring components in a data environment, comprising:
under control of one or more computer systems configured with executable instructions, determining a set of event processors in a control environment for monitoring a plurality of components in the data environment, the plurality of components each having an identifier over a range of identifiers; allocating a portion of the range of identifiers to each of the set of event processors, each event processor being allocated a substantially equivalent portion of the range of identifiers for monitoring; periodically sending a status message from each of the event processors to be received by the other event processors in the set indicating that the event processor sending the status message is active; in response to not receiving a status message from one of the event processors for at least a determined period of time, automatically reallocating the range of identifiers to the active event processors from which status messages were received; storing information for the event processor from which a status message was not received to a job queue in the control environment; and using the information to generate a workflow to restart the event processor or add a new event processor to the set of event processors, wherein each active event processor receives a different substantially equivalent portion of the range of identifiers based on the number of active event processors. - View Dependent Claims (12, 13, 14, 15)
-
16. A computer-implemented method of monitoring components in a data environment, comprising:
under control of one or more computer systems configured with executable instructions, determining a set of event processors in a control environment for monitoring a plurality of components in the data environment, the plurality of components each having an identifier over a range of identifiers; allocating a portion of the range of identifiers to each of the set of event processors, each event processor being allocated a substantially equivalent portion of the range of identifiers for monitoring; sorting the identifiers and allocating the sorted identifiers substantially uniformly across the set of event processors; periodically sending a status message from each of the event processors to be received by the other event processors in the set indicating that the event processor sending the status message is active; and in response to not receiving a status message from one of the event processors for at least a determined period of time, automatically reallocating the range of identifiers to the active event processors from which status messages were received, wherein each active event processor receives a different substantially equivalent portion of the range of identifiers based on the number of active event processors.
-
17. A computer-implemented method of monitoring components in a data environment, comprising:
under control of one or more computer systems configured with executable instructions, determining a set of event processors in a control environment for monitoring a plurality of components in the data environment, the plurality of components each having an identifier over a range of identifiers; allocating a portion of the range of identifiers to each of the set of event processors, each event processor being allocated a substantially equivalent portion of the range of identifiers for monitoring; running each event processor at a portion of a processing capacity, wherein each event processor is able to accept a portion of the workload from an unavailable event processor without negatively impacting performance; periodically sending a status message from each of the event processors to be received by the other event processors in the set indicating that the event processor sending the status message is active; and in response to not receiving a status message from one of the event processors for at least a determined period of time, automatically reallocating the range of identifiers to the active event processors from which status messages were received, wherein each active event processor receives a different substantially equivalent portion of the range of identifiers based on the number of active event processors.
-
18. A system for monitoring components in a data environment, comprising:
-
at least one processor; and memory including instructions that, when executed by the at least one processor, cause the system to; determine a set of event processors in a control environment for monitoring a plurality of components in the data environment, the plurality of components each having an identifier over a range of identifiers; allocate a portion of the range of identifiers to each of the set of event processors, each event processor being allocated a substantially equivalent portion of the range of identifiers for monitoring; periodically send a status message from each of the event processors to be received by the other event processors in the set indicating that the event processor sending the status message is active; in response to not receiving a status message from one of the event processors for at least a determined period of time, automatically reallocate the range of identifiers to the active event processors from which status messages were received; and when a newly started event processor is activated, reallocate the portion of the range of identifiers to each of the set of event processors; wherein each active event processor receives a different substantially equivalent portion of the range of identifiers based on the number of active event processors.
-
-
19. A system for monitoring components in a data environment, comprising:
-
at least one processor; and memory including instructions that, when executed by the at least one processor, cause the system to; determine a set of event processors in a control environment for monitoring a plurality of components in the data environment, the plurality of components each having an identifier over a range of identifiers; allocate a portion of the range of identifiers to each of the set of event processors, each event processor being allocated a substantially equivalent portion of the range of identifiers for monitoring; sort the identifiers and allocate the sorted identifiers substantially uniformly across the set of event processors; periodically send a status message from each of the event processors to be received by the other event processors in the set indicating that the event processor sending the status message is active; and in response to not receiving a status message from one of the event processors for at least a determined period of time, automatically reallocate the range of identifiers to the active event processors from which status messages were received, wherein each active event processor receives a different substantially equivalent portion of the range of identifiers based on the number of active event processors.
-
Specification