Monitoring software computations of arbitrary length and duration
First Claim
Patent Images
1. A system, comprising:
- at least one computing device; and
program instructions executable in the at least one computing device that, when executed, cause the at least one computing device to;
receive a pattern of events describing user interaction with at least one client application executable on a client device, the pattern of events specifying a plurality of potential events capable of being performed on the client device in association with the at least one client application;
generate a virtual process configured to match the pattern of events against a plurality of events received from at least one computing resource;
generate a watchdog process configured to, after a first predetermined period of time, analyze a state of the virtual process relative to matching the pattern of events; and
in response to an anomaly being detected based at least in part on the state of the virtual process, add the anomaly to a delay queue, wherein the watchdog process is further configured to;
after a second predetermined period of time, access the anomaly from the delay queue to determine that the anomaly no longer exists; and
in response to the anomaly no longer existing, remove the anomaly from the delay queue.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed are various embodiments for monitoring software computations of potentially arbitrary length and duration for event processing and related systems. A pattern of events describing user interaction with a client application or a network site may be received, where a virtual process is generated to match events received from various computing resources to the pattern. A self-healing watchdog process may be generated that, after a period of time, periodically checks a state of the virtual process relative to matching the pattern of events. Any detected anomalies may be stored in a delay queue and returned to the watchdog process after a period of time.
101 Citations
20 Claims
-
1. A system, comprising:
-
at least one computing device; and program instructions executable in the at least one computing device that, when executed, cause the at least one computing device to; receive a pattern of events describing user interaction with at least one client application executable on a client device, the pattern of events specifying a plurality of potential events capable of being performed on the client device in association with the at least one client application; generate a virtual process configured to match the pattern of events against a plurality of events received from at least one computing resource; generate a watchdog process configured to, after a first predetermined period of time, analyze a state of the virtual process relative to matching the pattern of events; and in response to an anomaly being detected based at least in part on the state of the virtual process, add the anomaly to a delay queue, wherein the watchdog process is further configured to; after a second predetermined period of time, access the anomaly from the delay queue to determine that the anomaly no longer exists; and in response to the anomaly no longer existing, remove the anomaly from the delay queue. - View Dependent Claims (2, 3)
-
-
4. A system, comprising:
-
at least one computing device; and program instructions executable in the at least one computing device for implementing an event monitoring system that, when executed by the at least one computing device, cause the at least one computing device to; receive a pattern of events describing user interaction with at least one client application executable on a client device from at least one service, the pattern of events specifying a plurality of potential events capable of being performed on the client device in association with the at least one client application; generate a virtual process configured to match the pattern of events against a plurality of events received from at least one computing resource; record at least one event type with a registry maintained in a data store in association with the virtual process that causes at least a subset of the plurality of events matching the at least one event type to be routed automatically to the virtual process; generate a watchdog process configured to, after a first predetermined period of time, analyze a state of the virtual process relative to matching the pattern of events; add an anomaly to a delay queue in response to the anomaly being detected based at least in part on the state of the virtual process; determine that a number of anomalies stored in the delay queue exceeds an alarm threshold; and in response to the number of anomalies stored in the delay queue exceeding the alarm threshold, cause the event monitoring system to enter into an alarm state. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method, comprising:
-
generating, by at least one computing device comprising at least one hardware processor, at least one user interface configured to receive a specification of a pattern of events to monitor at least one instance of user interaction with a client device in association with a client application or a network site; receiving, by the at least one computing device, a plurality of events from at least one service over a network; generating, by the at least one computing device, a virtual process configured to match the pattern of events against a plurality of events received from at least one computing resource; setting, by the at least one computing device, a watchdog timer configured to, after a first predetermined period of time, cause a watchdog process to identify at least one anomaly associated with the virtual process matching the pattern of events; and in response to the at least one anomaly being identified, performing, by the at least one computing device, at least one corrective action in an attempt to alleviate the at least one anomaly; adding, by the at least one computing device, the at least one anomaly to a delay queue in response to the at least one corrective action not alleviating the at least one anomaly; determining, by the at least one computing device, that a number of anomalies stored in the delay queue exceeds an alarm threshold; and in response to the number of anomalies stored in the delay queue exceeding the alarm threshold, entering, by the at least one computing device, into an alarm state. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification