Generic, multi-instance method and GUI detection system for tracking and monitoring computer applications
First Claim
1. A method for analyzing method events, comprising the steps of:
- running a free-standing monitoring program in conjunction with a respective sensor and script injected into each of a plurality of applications in one or more client computers, said monitoring program operable to model objects of an application window and identify objects to be monitored based on predetermined monitoring criteria and to measure or facilitate measurement of at least response times and collect respective application events, wherein the scripts define one or more state machines;
detecting, by the one or more client computers using the one or more of the respective sensors, an indication of an environmental spectrum comprising invariant and time variant conditions in the applications comprising objects, graphical user interfaces, method calls, and method returns;
detecting, by the one or more client computers using the one or more of the respective scripts, state machine events in the environmental spectrum occurring in the applications;
correlating respective of the state machine events detected, by the one or more client computers using the one or more of the respective scripts, to respective patterns of states in multiple of the state machines to obtain multiple correlations;
executing, by the one or more client computers using one or more of the respective scripts, track commands to send tracks, based at least in part on the correlations to the patterns of states, wherein a respective track is a message to be sent to server software on a server computer that is part of a set of computers that includes the one or more client computers;
collecting, by the server computer, the tracks received from the execution of a plurality of the track commands for the different correlations;
generating and making accessible data, by the server computer, based at least in part on the tracks collected; and
measuring, by one or more of the set of computers, response times within multiple of the applications.
0 Assignments
0 Petitions
Accused Products
Abstract
Presented is a system and method for monitoring events derived from a computer target application presentation layer including the steps of providing, independent of recompiling the target application'"'"'s source code, a script running at a level within the target application. The script scans run-time instantiations of objects of the target application, and allocates structures in real-time to the object instantiations. These allocated structures are adapted to create a reflection of the target application structure, which is used along with detected object instantiations that match a predetermined object structure to capture a portion of an environmental spectrum of the detected object. Further, the system can process state machine events occurring on at least one of a server machine and a client/localized machine, correlate the state machine events with the environmental spectrum, and deduce a user experience based on the correlated state machine events.
115 Citations
17 Claims
-
1. A method for analyzing method events, comprising the steps of:
-
running a free-standing monitoring program in conjunction with a respective sensor and script injected into each of a plurality of applications in one or more client computers, said monitoring program operable to model objects of an application window and identify objects to be monitored based on predetermined monitoring criteria and to measure or facilitate measurement of at least response times and collect respective application events, wherein the scripts define one or more state machines; detecting, by the one or more client computers using the one or more of the respective sensors, an indication of an environmental spectrum comprising invariant and time variant conditions in the applications comprising objects, graphical user interfaces, method calls, and method returns; detecting, by the one or more client computers using the one or more of the respective scripts, state machine events in the environmental spectrum occurring in the applications; correlating respective of the state machine events detected, by the one or more client computers using the one or more of the respective scripts, to respective patterns of states in multiple of the state machines to obtain multiple correlations; executing, by the one or more client computers using one or more of the respective scripts, track commands to send tracks, based at least in part on the correlations to the patterns of states, wherein a respective track is a message to be sent to server software on a server computer that is part of a set of computers that includes the one or more client computers; collecting, by the server computer, the tracks received from the execution of a plurality of the track commands for the different correlations; generating and making accessible data, by the server computer, based at least in part on the tracks collected; and measuring, by one or more of the set of computers, response times within multiple of the applications. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of monitoring a host application functionality, comprising the steps of:
-
injecting, by a client computer. different respective scripts into a respective host application; monitoring a host application functionality and identifying, by the client computer, byte opcode patterns representing method calls within the host application; detecting, by the client computer using one of the scripts, an instance of a method signature for a method among the identified byte opcode patterns, wherein the method provides at least one selected from the group of events and properties of an application process, an application window, and a window graphical user interface (GUI) objects; determining, by the client computer using the one script and the detected method Signature, an address for a method call for the method of the detected method signature; linking, by the client computer using the address, the method call to a call intercept routine; executing, by the client computer, the call intercept routine; jumping, by the client computer, to the method corresponding to the method call; and monitoring, by the client computer, returns from the method with stack manipulations. - View Dependent Claims (14, 15)
-
-
16. A method for analyzing method events, comprising the steps of:
-
injecting sensors and scripts into one or more applications in one or more client computers, to measure or facilitate measurement of at least response times and collect respective application events, wherein the scripts define one or more state machines; detecting, by the one or more client computers using the sensors, an indication of an environmental spectrum comprising invariant and time variant conditions in the one or more applications comprising objects, graphical user interfaces, method calls, and method returns; detecting, by the one or more client computers using the scripts, state machine events in the indication of the environmental spectrum occurring in the one or more applications; correlating respective of the state machine events detected, by the one or more client computers using one or more of the scripts, to respective patterns of states to obtain correlations; executing, by the one or more client computers using one or more of the scripts, a plurality of track commands to send tracks to a server computer that is part of a set of computers that includes the one or more client computers, based at least in part on the respective correlations to the patterns of states; collecting, by the server computer. the tracks received from the execution of the plurality of the track commands; generating and making accessible report data, by the server computer, based at least in part on the tracks collected; and measuring, by one or more of the set of computers, one or more response times within at least one of the one or more of the applications. - View Dependent Claims (17)
-
Specification