DYNAMIC MODELING OF COMPLEX NETWORKS AND PREDICTION OF IMPACTS OF FAULTS THEREIN
First Claim
1. A modeling system for modeling an external system that has plural components at least some of which are providing services to others of the components, the modeling system comprising a software model of the external system, and a server for the model;
- the model comprising software objects instantiated based on respective portions of the system, wherein each software object includes information defining any services that a corresponding component of the system is providing or receiving, and information identifying the software object(s) corresponding to the component(s) of the system to/from which that component is providing/receiving the services, and wherein, responsive to occurrence of a predefined condition relating to a first and a second of the software objects one of which is providing at least one service to the other, the model server determines at least one path between the first and second objects along which that service can be provided.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and system are provided for use in administering a complex system, such as a distributed computing ensemble. A model of the system being administered is prepared, preferably during runtime of the invention, by a combination of autodiscovery processes and manual input of information as needed. The model represents not only the resources found in the administered system, but also the service-relationships among those resources. The system administrator also can define elements in the model corresponding to arbitrary groupings of already-existing parts of the model. Software agents, which can be reconfigured, started and terminated as desired during runtime, report changes in state of the managed resources to the model, which updates itself and explores portions of the model adjacent (in terms of the service relationships) to the affected resource(s). Clusters of neighboring state-changes that have a logical relation to each other are grouped together as an alarm, and are preferably represented in a graphical display. Any root-cause event of this type is marked as such, and any portions of the modeled system being (or logically likely to be) affected by the changes are also identified and displayed.
198 Citations
52 Claims
-
1. A modeling system for modeling an external system that has plural components at least some of which are providing services to others of the components, the modeling system comprising a software model of the external system, and a server for the model;
-
the model comprising software objects instantiated based on respective portions of the system, wherein each software object includes information defining any services that a corresponding component of the system is providing or receiving, and information identifying the software object(s) corresponding to the component(s) of the system to/from which that component is providing/receiving the services, and wherein, responsive to occurrence of a predefined condition relating to a first and a second of the software objects one of which is providing at least one service to the other, the model server determines at least one path between the first and second objects along which that service can be provided. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
- 8. A software model of an external system that has plural components at least some of which are providing services to others of the components, the model comprising software objects instantiated based on respective portions of the system, wherein at least one of the software objects is a group of others of the software objects.
-
10. A modeling system for modeling an external system that has plural components at least some of which are providing services to others of the components, the modeling system comprising a software model of the external system, a server for the model, and a data-gathering infrastructure;
-
the model comprising software objects instantiated by the model server based on respective portions of the system, wherein each software object includes information defining any services that a corresponding component of the system is providing or receiving, and information identifying the software object(s) corresponding to the component(s) of the system to/from which that component is providing/receiving the services, wherein the data-gathering infrastructure includes at least one agent manager for instantiating and managing one or more software agents, at least one software agent obtaining information regarding the make-up of the external system and providing that information to the model server for use in constructing and updating the model, and at least one software agent obtaining information relating to operation and condition of the external system, winnowing that informaiton and, where that information indicates an occurrence that meets a predetermined criterion, instantitating an event as a software object for forwarding to the model. - View Dependent Claims (11, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
12. A method of constructing a software model of a system that includes plural components, said method comprising the steps of:
-
identifying at least a first component of the system and instantiating a software object of a class that indicates a generic type to which the first component belongs, the software object including at least one attribute that indicates more-specific information as to a particular type the first component is; and
using the information included in the software object to instantiate a model software object accordingly.
-
-
21. A software model of an external system that has plural components at least some of which are providing services to others of the components, the model comprising software objects instantiated based on respective portions of the system, wherein each software object includes information defining any services that a corresponding component of the system is providing or receiving, and information identifying the software object(s) corresponding to the component(s) of the system to/from which that component is providing/receiving the services,
wherein the services are not represented in the model as managed objects.
-
22. A method, implementable by means of a software program, of constructing and running a software model of a system that includes plural components, said method comprising the steps of:
-
installing and commencing running of the program;
the program identifying components of the system to be represented in the model and, for each component so identified, instantiating a respective software object;
once at least one software object representing one of the components has been instantiated, the program collecting information relating to the operation of such components as have thus far been identified and for which corresponding software objects have thus far been instantiated; and
the program repeating said identifying and instantiating step asynchronously as needed to continue constructing and updating the model, while the program continues performing said collecting step. - View Dependent Claims (24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43)
-
-
23. A method of constructing a software model of a system that includes plural hardware and software components, said method comprising the steps of:
-
providing at least one software agent for use in acquiring information from the components of the system;
instructing the at least one software agent as to what information it is to acquire from the components of the system;
the software agent acquiring the information, as instructed in said instructing step; and
instantiating software objects that correspond to and represent respective components of the system, each of the objects including information concerning the corresponding component based on the information acquired by the software agents.
-
-
26. A method of generating an interaction history of a portion of a system, by using a software model of the system that is a mathematical directed graph having nodes corresponding to respective components of the system and edges corresponding to services that are currently being provided by one component to another;
- said method comprising the steps of;
the model receiving information relating to an event occurring in a given component of the portion of the system and generating an indicator of degraded state in a software object corresponding to that component; and
performing graph-traversal, said graph-traversal further comprising at least one of;
traversing the graph rootward, along at least one graph edge from that component in a direction from edge-head to edge-tail until an edge of the graph is reached or until an object is reached for which a root-cause event has already been declared, and traversing the graph leafward, along at least one graph edge in a direction from edge-tail to edge-head until an edge of the graph is reached or until the traversal reaches a node already traversed.
- said method comprising the steps of;
-
35. A method for effecting collection of information concerning operation of a system having plural hardware and software components, comprising the steps of:
-
instantiating at least one dynamic agent having a sensory monitor portion, an instruction set portion, and an analyzer portion; and
providing the dynamic agent with respective sets of parameters for each of said three portions.
-
- 44. A data structure, said data structure comprising an executable module, at least one parameter list, and a set of any corequisite services needed for execution of the module.
-
45. A method of providing a service in a distributed application, comprising the steps of:
-
providing at least one bundle having an executable module, at least one parameter list, and a set of any corequisite services needed for execution of the module;
where the bundle has plural parameter lists, selecting from among those parameter lists;
optionally overriding at least one parameter list of the bundle, providing a different set of parameters and associating those parameters with the module; and
executing the module.
-
-
49. A software-agent managing method, comprising the steps of:
-
continuously running at least one thread;
receiving instructions defining a mission to be performed by one or more software agents;
selecting, from a predetermined collection, a set of parameters to be used in performing the mission;
the at least one thread instantiating and running at least one software agent based on the instructions;
responsive to receipt of any termination command relating to the at lest one software agent, terminating running of that agent under control of the at least one thread.
-
-
52. A tangible memory medium storing executable code, the code including portions defining:
-
a configuration handler for receiving instructions defining a mission to be performed by one or more software agents;
a thread handler for continuously running at least one thread, and for selecting, from a predetermined collection, a set of parameters to be used in performing the mission;
the at least one thread initiating running of at least one software agent responsive to the instructions; and
a communication handler for controlling receipt of incoming information and transmission of outgoing information.
-
Specification