System for inferring dependencies among computing systems
First Claim
1. A method of providing information about dependencies in a computing environment, the method comprising, by a computer system comprising computer hardware:
- receiving monitoring data obtained from a plurality of monitored resources in a computing environment;
transforming the monitoring data into a topology model comprising a plurality of interconnected topology objects, the plurality of interconnected topology objects representing the plurality of monitored resources, wherein interconnections between the plurality of interconnected topology objects reflect existing relationships between the plurality of monitored resources in the computing environment; and
storing the topology model in a data store within the computing environment;
detecting a first dependency between first and second processes corresponding to first and second topology objects of the interconnected topology objects based, at least in part, on an observed communication between the first and second processes, the observed communication between the first and second processes being at least partially different from the existing relationships represented in the stored topology model, and wherein the first process is running on a first virtual machine and the second process is running on a second virtual machine;
responsive to the detecting the first dependency, looking up the first and second processes in the stored topology model to determine related model objects, the looking up comprising following at least one of ancestor and descendant links of the first and second topology objects during a traversal of the stored topology model;
responsive to the looking up, identifying a third topology object that is at least one of an ancestor and a descendant of the first topology object and a fourth topology object that is at least one of an ancestor and a descendant of the second topology object, wherein the third topology object corresponds to the first virtual machine on which the first process is running and the fourth topology object corresponds to the second virtual machine on which the second process is running;
inferring, based at least in part on the observed communication and the traversal of the stored topology model, a second dependency between the first and second virtual machines corresponding to the third and fourth topology objects of the interconnected topology objects;
storing data representing the first and second dependencies in a dependency graph; and
outputting a user interface comprising at least a portion of the dependency graph.
23 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are described for identifying, tracking, and customizing dependencies between components of a computing environment. By providing greater insight and transparency into dependencies, the systems and methods can facilitate modeling the underlying architecture of applications and computer hardware. As a result, IT personnel can better track relationships between components. Custom filtering tools can also provide IT personnel with tools to switch from different types of dependency views that focus on application-oriented views, hardware-oriented views, or other custom views. Model annotation tools can also enable IT personnel to customize a dependency model to reflect real-world application and hardware monitoring conditions.
-
Citations
20 Claims
-
1. A method of providing information about dependencies in a computing environment, the method comprising, by a computer system comprising computer hardware:
-
receiving monitoring data obtained from a plurality of monitored resources in a computing environment; transforming the monitoring data into a topology model comprising a plurality of interconnected topology objects, the plurality of interconnected topology objects representing the plurality of monitored resources, wherein interconnections between the plurality of interconnected topology objects reflect existing relationships between the plurality of monitored resources in the computing environment; and storing the topology model in a data store within the computing environment; detecting a first dependency between first and second processes corresponding to first and second topology objects of the interconnected topology objects based, at least in part, on an observed communication between the first and second processes, the observed communication between the first and second processes being at least partially different from the existing relationships represented in the stored topology model, and wherein the first process is running on a first virtual machine and the second process is running on a second virtual machine; responsive to the detecting the first dependency, looking up the first and second processes in the stored topology model to determine related model objects, the looking up comprising following at least one of ancestor and descendant links of the first and second topology objects during a traversal of the stored topology model; responsive to the looking up, identifying a third topology object that is at least one of an ancestor and a descendant of the first topology object and a fourth topology object that is at least one of an ancestor and a descendant of the second topology object, wherein the third topology object corresponds to the first virtual machine on which the first process is running and the fourth topology object corresponds to the second virtual machine on which the second process is running; inferring, based at least in part on the observed communication and the traversal of the stored topology model, a second dependency between the first and second virtual machines corresponding to the third and fourth topology objects of the interconnected topology objects; storing data representing the first and second dependencies in a dependency graph; and outputting a user interface comprising at least a portion of the dependency graph. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising a processor and memory, wherein the processor and memory in combination are operable to implement a method comprising:
-
receiving monitoring data obtained from a plurality of monitored resources in a computing environment; transforming the monitoring data into a topology model comprising a plurality of interconnected topology objects, the plurality of interconnected topology objects representing the plurality of monitored resources, wherein interconnections between the plurality of interconnected topology objects reflect existing relationships between the plurality of monitored resources in the computing environment; and storing the topology model in a data store within the computing environment; detecting a first dependency between first and second processes corresponding to first and second topology objects of the interconnected topology objects based, at least in part, on an observed communication between the first and second processes, the observed communication between the first and second processes being at least partially different from the existing relationships represented in the stored topology model, and wherein the first process is running on a first virtual machine and the second process is running on a second virtual machine; responsive to the detecting the first dependency, looking up the first and second processes in the stored topology model to determine related model objects, the looking up comprising following at least one of ancestor and descendant links of the first and second topology objects during a traversal of the stored topology model; responsive to the looking up, identifying a third topology object that is at least one of an ancestor and a descendant of the first topology object and a fourth topology object that is at least one of an ancestor and a descendant of the second topology object, wherein the third topology object corresponds to the first virtual machine on which the first process is running and the fourth topology object corresponds to the second virtual machine on which the second process is running; inferring, based at least in part on the observed communication and the traversal of the stored topology model, a second dependency between the first and second virtual machines corresponding to the third and fourth topology objects of the interconnected topology objects; storing data representing the first and second dependencies in a dependency graph; and outputting a user interface comprising at least a portion of the dependency graph. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method on a particular recording device in a peer-to-peer recording system comprising a plurality of networked recording devices, the method comprising:
-
receiving monitoring data obtained from a plurality of monitored resources in a computing environment; transforming the monitoring data into a topology model comprising a plurality of interconnected topology objects, the plurality of interconnected topology objects representing the plurality of monitored resources, wherein interconnections between the plurality of interconnected topology objects reflect existing relationships between the plurality of monitored resources in the computing environment; and storing the topology model in a data store within the computing environment; detecting a first dependency between first and second processes corresponding to first and second topology objects of the interconnected topology objects based, at least in part, on an observed communication between the first and second processes, the observed communication between the first and second processes being at least partially different from the existing relationships represented in the stored topology model, and wherein the first process is running on a first virtual machine and the second process is running on a second virtual machine; responsive to the detecting the first dependency, looking up the first and second processes in the stored topology model to determine related model objects, the looking up comprising following at least one of ancestor and descendant links of the first and second topology objects during a traversal of the stored topology model; responsive to the looking up, identifying a third topology object that is at least one of an ancestor and a descendant of the first topology object and a fourth topology object that is at least one of an ancestor and a descendant of the second topology object, wherein the third topology object corresponds to the first virtual machine on which the first process is running and the fourth topology object corresponds to the second virtual machine on which the second process is running; inferring, based at least in part on the observed communication and the traversal of the stored topology model, a second dependency between the first and second virtual machines corresponding to the third and fourth topology objects of the interconnected topology objects; storing data representing the first and second dependencies in a dependency graph; and outputting a user interface comprising at least a portion of the dependency graph.
-
Specification