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 method comprising:
- automatically defining one or more monitored code segments in the monitored target software, during run time of the monitored target software, wherein the monitored code segments are defined by sensors that are selectively embedded during run time of the monitored target software, and/or selectively turned on or off during run time of the monitored target software;
automatically deriving a subset of measurements from the monitored code segments indicating performance and activity of the monitored target software;
automatically deriving in real time a baseline from the subset of measurements, by computing an examiner value indicative of an aggregate of degree of change; and
establishing in real time 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.
74 Citations
62 Claims
-
1. A target software behavior pattern recognition and analysis method for monitored target software being executed on a computer, the method comprising:
-
automatically defining one or more monitored code segments in the monitored target software, during run time of the monitored target software, wherein the monitored code segments are defined by sensors that are selectively embedded during run time of the monitored target software, and/or selectively turned on or off during run time of the monitored target software; automatically deriving a subset of measurements from the monitored code segments indicating performance and activity of the monitored target software; automatically deriving in real time a baseline from the subset of measurements, by computing an examiner value indicative of an aggregate of degree of change; and establishing in real time 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 defined during run time of the monitored target software, wherein the monitored code segments are defined by sensors that are selectively embedded during run time of the monitored target software, and/or selectively turned on or off during run time of the monitored target software, a method for automatically deriving a subset of measurements from the monitored code segments indicating performance and activity of the monitored target software for use in deriving in real time a baseline from the subset of measurements by computing an examiner value indicative of an aggregate of degree of change and establishing in real time 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 defined during run time of the monitored target software which are capable of providing a subset of measurements from the monitored code segments 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, wherein the monitored code segments are defined by sensors that are selectively embedded during run time of the monitored target software, and/or selectively turned on or off during run time of the monitored target software, a method comprising automatically deriving in real time a baseline from the subset of measurements by computing an examiner value indicative of an aggregate of degree of change during the data collection time period for use in establishing in real time a state of health of the monitored target software by comparing real-time measurements of the monitored target software to the baseline, the method further comprising:
-
determining 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; determining 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; determining 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 computer readable program code means in the article of manufacture comprising; computer readable program code means for automatically defining one or more monitored code segments in the monitored target software during run time of the monitored target software, wherein the monitored code segments are defined by sensors that are selectively embedded during run time of the monitored target software, and/or selectively turned on or off during run time of the monitored target software; computer readable program code means for causing a computer to automatically derive a subset of measurements from the monitored code segments indicating performance and activity of the monitored target software; computer readable program code means for causing the computer to automatically derive in real time a baseline from the subset of measurements by computing an examiner value indicative of an aggregate of degree of change; and computer readable program code means for causing the computer to establish in real time 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, an article of manufacture comprising:
-
a computer usable medium having computer readable program code means embodied therein for automatically deriving a subset of measurements from monitored code segments defined during run time of the monitored target software, indicating performance and activity of the monitored target software for use in deriving in real time a baseline from the subset of measurements by computing an examiner value indicative of an aggregate of degree of change and establishing in real time a state of health of the monitored target software based on comparing real-time measurements of the monitored target software to the baseline, wherein the monitored code segments are defined by sensors that are selectively embedded during run time of the monitored target software, and/or selectively turned on or off during run time of the monitored target software, 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 from the monitored code segments 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 comprising computer readable program code means embodied therein for automatically defining the monitored code segments during run time of the monitored target software, automatically deriving in real time a baseline from the subset of measurements by computing an examiner value indicative of an aggregate of degree of change during the data collection time period for use in establishing in real time a state of health of the monitored target software by comparing real-time measurements of the monitored target software to the baseline, wherein the monitored code segments are defined by sensors that are selectively embedded during run time of the monitored target software, and/or selectively turned on or off during run time of the monitored target software, said computer usable medium further 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