Approach to monitor application states for self-managing systems
First Claim
1. A method for monitoring application states of software applications, the method comprising:
- creating an autonomic manager comprising a plurality of sensors to receive data from a monitored software application and a plurality of effectors to affect actions within the monitored software application;
identifying linkage points within the monitored software application;
connecting sensors and effectors to the identified linkage points using non-invasive constructs disposed between the effectors and sensors and the monitored software application to form a cross-cutting layer comprising sensor point cuts and effector point cuts;
using the sensors to monitor application states associated with the monitored software application at run time for compliance with pre-defined performance parameters by diverting control to the sensor point cuts to collect application state information for analysis by the autonomic manager; and
using the effectors to execute corrective actions at run time when the application states are out of compliance by using the effector point cuts to initiate the corrective actions;
wherein the non-invasive constructs are external to the sensors, the effectors and the monitored software application and do not modify any source code associated with the monitored software application.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention is directed to systems and methods that treat the monitoring of a software application as a separate and independent concern from the software application itself. The present invention utilizes aspect oriented programming to intercept, analyze, decompose the application states of a software application and then to link appropriate non-invasive constructs into the software application code to provide application state information to an autonomic manager through a plurality of sensors. The autonomic manager analyzes the application state information for compliance pre-defined parameters, and takes appropriate corrective action including modifying the software application states using a plurality of effectors. The sensors and effectors are linked as non-invasive constructs to the software application, and in aspect oriented programming constitute aspects. In order to prevent any adverse or undesirable effects to the software application as a result of the application state analysis and selected action, a safety mechanism is included in communication with the effectors.
-
Citations
28 Claims
-
1. A method for monitoring application states of software applications, the method comprising:
-
creating an autonomic manager comprising a plurality of sensors to receive data from a monitored software application and a plurality of effectors to affect actions within the monitored software application; identifying linkage points within the monitored software application; connecting sensors and effectors to the identified linkage points using non-invasive constructs disposed between the effectors and sensors and the monitored software application to form a cross-cutting layer comprising sensor point cuts and effector point cuts; using the sensors to monitor application states associated with the monitored software application at run time for compliance with pre-defined performance parameters by diverting control to the sensor point cuts to collect application state information for analysis by the autonomic manager; and using the effectors to execute corrective actions at run time when the application states are out of compliance by using the effector point cuts to initiate the corrective actions; wherein the non-invasive constructs are external to the sensors, the effectors and the monitored software application and do not modify any source code associated with the monitored software application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer readable medium containing a computer executable code that when read by a computer causes the computer to perform a method for monitoring application states of software applications, the method comprising:
-
creating an autonomic manager comprising a plurality of sensors to receive data from a monitored software application and a plurality of effectors to affect actions within the monitored software application; identifying linkage points within the monitored software application; connecting sensors and effectors to the identified linkage points using non-invasive constructs disposed between the effectors and sensors and the monitored software application to form a cross-cutting layer comprising sensor point cuts and effector point cuts; using the sensors to monitor application states associated with the monitored software application at run time for compliance with pre-defined performance parameters by diverting control to the sensor point cuts to collect application state information for analysis by the autonomic manager; and using the effectors to execute corrective actions at run time when the application states are out of compliance by using the effector point cuts to initiate the corrective actions; wherein the non-invasive constructs are external to the sensors, the effectors and the monitored software application and do not modify any source code associated with the monitored software application. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system for monitoring application states of software applications. the system comprising:
-
at least one software application comprising one or more application states and a plurality of linkage points; an external entity comprising at least a processor, in communication with and independent of the software application, the external entity comprising a plurality of sensors to receive data from a monitored software application and a plurality of effectors to affect actions within the monitored software application; and a plurality of non-invasive constructs connecting the sensors and effectors to the linkage points, the non-invasive constructs external to the sensors, the effectors and the software application and comprising a cross-cutting layer comprising sensor point cuts disposed between the linkage points and the sensors and effector point cuts disposed between the linkage points and the effectors. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification