Software behavior pattern recognition and analysis
First Claim
1. A target software behavior pattern recognition and analysis method for monitored target software being executed on a computer, the monitored target software including one or more monitored code segments, the method comprising:
- automatically deriving a subset of measurements indicating performance and activity of the monitored target software;
automatically deriving a baseline from the subset of measurements; and
establishing a state of health of the monitored target software based on comparing real-time measurements of the monitored target software to the baseline.
2 Assignments
0 Petitions
Accused Products
Abstract
A target software behavior pattern recognition and analysis tool is disclosed that operates during the real-time execution of monitored target software on a computer, derives a subset of measurements indicating the target software performance and activity, automatically derives a baseline from the subset of measurements, and establishes a state of health of the target software based on comparing real-time measurements to the baseline. The monitored target software contains an agent for deriving a subset of measurements indicating the target software performance and activity. The agent includes sensors embedded into the target software to measure specific code segments, and an examiner which receives measurements from the sensors and transmits these examiner values to a central server. The central server automatically derives a baseline from the received examiner values, and automatically establishes a state of health of the target software based on comparing real-time measurements to the baseline.
97 Citations
62 Claims
-
1. A target software behavior pattern recognition and analysis method for monitored target software being executed on a computer, the monitored target software including one or more monitored code segments, the method comprising:
-
automatically deriving a subset of measurements indicating performance and activity of the monitored target software;
automatically deriving a baseline from the subset of measurements; and
establishing a state of health of the monitored target software based on comparing real-time measurements of the monitored target software to the baseline. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. In a system for performing target software behavior pattern recognition and analysis on monitored target software being executed on a computer, the monitored target software including one or more monitored code segments, a method for automatically deriving a subset of measurements indicating performance and activity of the monitored target software for use in deriving a baseline from the subset of measurements and establishing a state of health of the monitored target software based on comparing real-time measurements of the monitored target software to the baseline, the method comprising:
-
determining resource utilization for each of the one or more monitored code segments; and
adjusting a number of measurements taken for each of the one or more monitored code segments based on its resource utilization;
wherein the resource utilization for each of the one or more monitored code segments is determined by collecting call rate and execution time data for the monitored code segment, computing an average call rate and an average execution time for the monitored code segment, and multiplying the average call rate by the average execution time. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. In a system for performing target software behavior pattern recognition and analysis on monitored target software being executed on a computer, the monitored target software including one or more monitored code segments capable of providing a subset of measurements during a data collection time period indicating performance and activity of the monitored target software, the subset of measurements determinable by collecting call rate and execution time data for each monitored code segment, computing an average call rate and an average execution time for each monitored code segment, multiplying the average call rate by the average execution time to generate a resource utilization for each monitored code segment, and adjusting a number of measurements taken for each monitored code segment based on its resource utilization, a method for automatically deriving a baseline from the subset of measurements during the data collection time period for use in establishing a state of health of the monitored target software by comparing real-time measurements of the monitored target software to the baseline, the method comprising:
-
computing an average throughput examiner code segment value by computing a first sum of the average execution times of all code segments for which execution time data was measured during the data collection time period, and dividing the first sum by a first number of code segments for which execution time data was measured during the data collection time period;
computing an average responsiveness examiner code segment value by computing a second sum of the average call rate of all code segments for which call rate data was measured during the data collection time period, and dividing the second sum by a second number of code segments for which call rate data was measured during the data collection time period;
computing an average resource utilization examiner code segment value by multiplying the average throughput examiner value by the average responsiveness examiner value;
for a throughput examiner value vector, which comprises the average throughput examiner code segment value computed during the data collection time period, updating a first database used to create a current throughput examiner code segment value baseline by adding the average throughput examiner code segment value to the first database, and computing an updated throughput examiner code segment value baseline from the updated first database;
for a responsiveness examiner value vector, which comprises the average responsiveness examiner code segment value computed during the data collection time period, updating a second database used to create a current responsiveness examiner code segment value baseline by adding the average responsiveness examiner code segment value to the second database, and computing an updated responsiveness examiner code segment value baseline from the updated second database; and
for a resource utilization examiner value vector, which comprises the average resource utilization examiner code segment value computed during the data collection time period, updating a third database used to create a current resource utilization examiner code segment value baseline by adding the average resource utilization examiner code segment value to the third database, and computing an updated resource utilization examiner code segment value baseline from the updated third database. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. An article of manufacture comprising:
-
a computer usable medium having computer readable program code means embodied therein for target software behavior pattern recognition and analysis of monitored target software being executed on a computer, the monitored target software including one or more monitored code segments, the computer readable program code means in the article of manufacture comprising;
computer readable program code means for causing a computer to automatically derive a subset of measurements indicating performance and activity of the monitored target software;
computer readable program code means for causing the computer to automatically derive a baseline from the subset of measurements; and
computer readable program code means for causing the computer to establish a state of health of the monitored target software based on comparing real-time measurements of the monitored target software to the baseline. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. In a system for performing target software behavior pattern recognition and analysis on monitored target software being executed on a computer, the monitored target software including one or more monitored code segments, an article of manufacture comprising:
-
a computer usable medium having computer readable program code means embodied therein for automatically deriving a subset of measurements indicating performance and activity of the monitored target software for use in deriving a baseline from the subset of measurements and establishing a state of health of the monitored target software based on comparing real-time measurements of the monitored target software to the baseline, comprising;
computer readable program code means for causing a computer to determine resource utilization for each of the one or more monitored code segments;
computer readable program code means for causing the computer to adjust a number of measurements taken for each of the one or more monitored code segments based on its resource utilization; and
computer readable program code means for causing the computer to determine the resource utilization for each of the one or more monitored code segments by collecting call rate and execution time data for the monitored code segment, computing an average call rate and an average execution time for the monitored code segment, and multiplying the average call rate by the average execution time. - View Dependent Claims (49, 50, 51, 52, 53)
-
-
54. In a system for performing target software behavior pattern recognition and analysis on monitored target software being executed on a computer, the monitored target software including one or more monitored code segments capable of providing a subset of measurements during a data collection time period indicating performance and activity of the monitored target software, the subset of measurements determinable by collecting call rate and execution time data for each monitored code segment, computing an average call rate and an average execution time for each monitored code segment, multiplying the average call rate by the average execution time to generate a resource utilization for each monitored code segment, and adjusting a number of measurements taken for each monitored code segment based on its resource utilization, an article of manufacture comprising:
-
a computer usable medium having computer readable program code means embodied therein for automatically deriving a baseline from the subset of measurements during the data collection time period for use in establishing a state of health of the monitored target software by comparing real-time measurements of the monitored target software to the baseline, comprising;
computer readable program code means for causing a computer to compute an average throughput examiner code segment value by computing a first sum of the average execution times of all code segments for which execution time data was measured during the data collection time period, and dividing the first sum by a first number of code segments for which execution time data was measured during the data collection time period;
computer readable program code means for causing the computer to compute an average responsiveness examiner code segment value by computing a second sum of the average call rate of all code segments for which call rate data was measured during the data collection time period, and dividing the second sum by a second number of code segments for which call rate data was measured during the data collection time period;
computer readable program code means for causing the computer to compute an average resource utilization examiner code segment value by multiplying the average throughput examiner value by the average responsiveness examiner value;
for a throughput examiner value vector, which comprises the average throughput examiner code segment value computed during the data collection time period, computer readable program code means for causing the computer to update a first database used to create a current throughput examiner code segment value baseline by adding the average throughput examiner code segment value to the first database, and compute an updated throughput examiner code segment value baseline from the updated first database;
for a responsiveness examiner value vector, which comprises the average responsiveness examiner code segment value computed during the data collection time period, computer readable program code means for causing the computer to update a second database used to create a current responsiveness examiner code segment value baseline by adding the average responsiveness examiner code segment value to the second database, and compute an updated responsiveness examiner code segment value baseline from the updated second database; and
for a resource utilization examiner value vector, which comprises the average resource utilization examiner code segment value computed during the data collection time period, computer readable program code means for causing the computer to updating a third database used to create a current resource utilization examiner code segment value baseline by adding the average resource utilization examiner code segment value to the third database, and computing an updated resource utilization examiner code segment value baseline from the updated third database. - View Dependent Claims (55, 56, 57, 58, 59, 60, 61, 62)
-
Specification