Systems, methods and computer programs for determining dependencies between logical components in a data processing system or network
First Claim
1. A method, implemented in a data processing system, for determining run-time dependencies between logical components of a data processing environment, the method comprising the steps of:
- monitoring run-time activity of each of a first logical component and a second logical component of the data processing environment, said monitoring comprising determining a first activity period for said first logical component and a second activity period for said second logical component, wherein said determining comprises determining a first start time and a first end time for said first logical component and a second start time and a second end time for said second logical component;
comparing the monitored run-time activity of the first logical component with the monitored run-time activity of the second logical component to identify correlations between the monitored run-time activity of the first and second logical components, said comparing comprising comparing said first activity period and said second activity period to identify correlations between said first logical component and said second logical component, wherein said comparing comprises determining whether said first start time is before said second start time and whether said first end time is after said second end time; and
in response to identification of a positive correlation between the monitored run-time activity of the first and second logical components, recording the existence of a dependency relationship between the first and second logical components,wherein the step of monitoring the run-time activity of said first logical component and said second logical component is performed by a monitoring agent and comprises generating events by the monitoring agent in response to completion of the processing of poll requests by each of the first logical component and said second logical component, and wherein the step of comparing the monitored run-time activity comprises;
calculating an activity period for each of said first logical component and said second logical component in response to the generated events indicating the completion of processing of the poll requests by the respective one of said first logical component and said second logical component; and
determining whether the activity period of said first logical component contains the activity period of said second logical component.
4 Assignments
0 Petitions
Accused Products
Abstract
Described are methods, apparatus and computer programs for determining run-time dependencies between logical components of a data processing environment. Components of the data processing environment are monitored by monitoring agents accessing run-time activity data via APIs of the managed system. A dependency generator identifies correlations between the run-time activity of the monitored components. For synchronous monitored systems, the dependency generator calculates an activity period for monitored components and determines which component'"'"'s activity periods contain the activity periods of other components. Containment is used as an indicator of a likely dependency relationship, and a weighting is computed for each dependency relationship based on the consistency of containment.
101 Citations
28 Claims
-
1. A method, implemented in a data processing system, for determining run-time dependencies between logical components of a data processing environment, the method comprising the steps of:
-
monitoring run-time activity of each of a first logical component and a second logical component of the data processing environment, said monitoring comprising determining a first activity period for said first logical component and a second activity period for said second logical component, wherein said determining comprises determining a first start time and a first end time for said first logical component and a second start time and a second end time for said second logical component; comparing the monitored run-time activity of the first logical component with the monitored run-time activity of the second logical component to identify correlations between the monitored run-time activity of the first and second logical components, said comparing comprising comparing said first activity period and said second activity period to identify correlations between said first logical component and said second logical component, wherein said comparing comprises determining whether said first start time is before said second start time and whether said first end time is after said second end time; and in response to identification of a positive correlation between the monitored run-time activity of the first and second logical components, recording the existence of a dependency relationship between the first and second logical components, wherein the step of monitoring the run-time activity of said first logical component and said second logical component is performed by a monitoring agent and comprises generating events by the monitoring agent in response to completion of the processing of poll requests by each of the first logical component and said second logical component, and wherein the step of comparing the monitored run-time activity comprises; calculating an activity period for each of said first logical component and said second logical component in response to the generated events indicating the completion of processing of the poll requests by the respective one of said first logical component and said second logical component; and determining whether the activity period of said first logical component contains the activity period of said second logical component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of fault management comprising the steps of:
-
monitoring run-time activity of each of a first logical component and a plurality of additional logical components of a data processing environment, said monitoring comprising determining a first activity period for said first logical component and additional activity periods for said additional logical components, wherein said determining comprises determining a first start time and a first end time for said first logical component and additional start times and additional end times for said additional logical components; comparing the monitored run-time activity of the first logical component with the monitored run-time activity of each of the plurality of additional logical components, to identify positive correlations between the monitored run-time activity of the first logical component and the monitored run-time activity of any of the plurality of additional logical components, said comparing comprising comparing said first activity period and said additional activity periods to identify correlations between said first logical component and any of said additional logical components, wherein said comparing comprises determining whether said first start time is before said additional start times and whether said first end time is after said additional end times; recording the existence of a dependency relationship between the first logical component and any of the plurality of additional logical components for which a positive correlation is identified; aggregating the recorded dependency relationships to determine a set of logical components having dependency relationships with the first logical component; and responding to identification of a problem affecting the first logical component by analyzing the additional logical components having dependency relationships with the first logical component, wherein the step of monitoring the run-time activity of said first logical component and said additional logical components is performed by a monitoring agent and comprises generating events by the monitoring agent in response to completion of the processing of poll requests by each of said first logical component and said additional logical components, and wherein the step of comparing the monitored run-time activity comprises; calculating an activity period for each of said first logical component and said additional logical components in response to the generated events indicating the completion of processing of the poll requests by the respective one of said first logical component and said additional logical components; and determining whether the activity period of said first logical component contains the activity period of said additional logical components. - View Dependent Claims (19)
-
-
20. A method for determining a set of logical components of a data processing environment which are likely to be affected by termination of a first logical component of the data processing environment, the method comprising:
-
monitoring run-time activity of each of a first logical component and a plurality of additional logical components of a data processing environment, said monitoring comprising determining a first activity period for said first logical component and additional activity periods for said additional logical components, wherein said determining comprises determining a first start time and a first end time for said first logical component and additional start times and additional end times for said additional logical components; comparing the monitored run-time activity of the first logical component with the monitored run-time activity of each of the plurality of additional logical components, to identify positive correlations between the monitored run-time activity of the first logical component and the monitored run-time activity of any of the plurality of additional logical components, said comparing comprising comparing said first activity period and said additional activity periods to identify correlations between said first logical component and any of said additional logical components, wherein said comparing comprises determining whether said first start time is before said additional start times and whether said first end time is after said additional end times; and recording the existence of a dependency relationship between the first logical component and any of the plurality of additional logical components for which a positive correlation is identified; and aggregating the recorded dependency relationships to determine additional logical components having dependency relationships with the first logical component, wherein the step of monitoring the run-time activity of said first logical component and said additional logical components is performed by a monitoring agent and comprises generating events by the monitoring agent in response to completion of the processing of poll requests by each of said first logical component and said additional logical components, and wherein the step of comparing the monitored run-time activity comprises; calculating an activity period for each of said first logical component and said additional logical components in response to the generated events indicating the completion of processing of the poll requests by the respective one of said first logical component and said additional logical components; and determining whether the activity period of said first logical component contains the activity period of said additional logical components.
-
-
21. A computer program product comprising a recordable storage medium having program code for controlling the operation of a data processing system on which the program code executes to determine run-time dependencies between logical components of a data processing environment, the program code comprising:
-
at least one monitoring agent for monitoring run-time activity data of a first logical component and a second logical component of the data processing environment, said monitoring comprising determining activity periods for said first and second logical components, and for sending the monitored run-time activity data to a correlation identifier; a correlation identifier for receiving, from the at least one monitoring agent, monitored run-time activity data of each of the first logical component and the second logical component of a data processing environment, wherein said receiving comprises receiving a first staff time and a first end time for said first logical component and a second start time and a second end time for said second logical component, and for comparing the monitored run-time activity data of the first logical component with the monitored run-time activity data of the second logical component to identify positive correlations between the monitored run-time activity of the first and second logical components, said comparing comprising comparing said activity periods of said first and second logical components to identify correlations between said first logical component and said second logical component, wherein said comparing comprises determining whether said first start time is before said second start time and whether said first end time is after said second end time; and a dependency generator for responding to identification of a positive correlation between the monitored run-time activity of the first and second logical components by recording the existence of a dependency relationship between the first and second logical components, wherein said monitoring run-time activity data of the first and second logical components comprises generating events by the at least one monitoring agent in response to completion of the processing of poll requests by each of the first and second logical components, and wherein said comparing the monitored run-time activity comprises; calculating an activity period for each of the first and second logical components in response to the generated events indicating the completion of processing of the poll requests by the respective one of the first and second logical components; and determining whether the activity period of the first logical component contains the activity period of the second logical component.
-
-
22. A computer program product comprising a recordable storage medium having program code for controlling the operation of a data processing system on which the program code executes to determine run-time dependencies between logical components of a data processing environment, the program code comprising:
a correlation identifier; for receiving, from at least one monitoring agent, monitored run-time activity data of each of a first logical component and a second logical component of a data processing environment, said receiving comprising receiving a first activity period for said first logical component and a second activity period for said second logical component, wherein said receiving comprises receiving a first start time and a first end time for said first logical component and a second start time and a second end time for said second logical component, and for comparing the monitored run-time activity data of the first logical component with the monitored run-time activity data of the second logical component to identify positive correlations between the monitored run-time activity of the first and second logical components, said comparing comprising comparing said first activity period and said second activity period to identify correlations between said first logical component and said second logical component, wherein said comparing comprises determining whether said first start time is before said second start time and whether said first end time is after said second end time; and a dependency generator for responding to identification of a positive correlation between the monitored run-time activity of the first and second logical components by generating a representation of the existence of a dependency relationship between the first and second logical components, wherein said at least one monitoring agent monitors the run-time activity of said first logical component and said second logical component and generates events in response to completion of the processing of poll requests by each of said first logical component and said second logical component, and wherein the step of comparing the monitored run-time activity comprises; calculating an activity period for each of said first logical component and said second logical component in response to the generated events indicating the completion of processing of the poll requests by the respective one of said first logical component and said second logical component; and determining whether the activity period of said first logical component contains the activity period of the second component.
-
23. A method for discovering dependencies between monitored components of a managed data processing system, comprising the steps of:
-
accessing, from the managed system, run-time activity data for the monitored components, said accessing comprising accessing activity periods for said monitored components, wherein said accessing comprises accessing a first start time and a first end time for a first logical component of said monitored components and a second start time and a second end time for a second logical component of said monitored components; comparing the accessed run-time activity data of the monitored components to identify positive correlations between the run-time activity of the monitored components, said comparing comprising comparing said activity periods to identify correlations between said monitored components, wherein said comparing comprises determining whether said first start time is before said second start time and whether said first end time is after said second end time; and generating an identification of a dependency relationship between the first and second logical components for which a positive correlation is identified, wherein a monitoring agent monitors the run-time activity of said first logical component and said second logical component and generates events in response to completion of the processing of poll requests by each of the first and second logical components, and wherein the step of comparing the monitored run-time activity comprises; calculating an activity period for each of said first logical component and said second logical component in response to generated events indicating the completion of processing of the poll requests by the respective one of said first logical component and said second logical component; and determining whether the activity period of said first logical component contains the activity period of said second logical component. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification