A constant monitoring and recovery system that enables the measurement of task
usage/metrics and performance of software-based business applications. These metrics
can then be evaluated by logic, in combination with each other and/or a timer,
in a distributed environment. This is accomplished with the introduction of an
extremely low overhead to the application host. The results of the logic evaluation
can cause real-time and real-world responses such as application restart, interaction
with load balancing equipment, or notification (via email, pager, etc.). Data can
also be persisted to a database for later archival or evaluation, with the ability
to reduce granularity over time. Specifically, an application manager monitors
business application processes, notifies failure and automatically recovers software
based business applications based on the logic of the underlying applications.
The application manager comprises three main components that work together: Instrumentation
API for setting up monitoring parameters; Event Notification and Automatic Recovery
Evaluation Engine; Monitoring Console Server.