Employing Recurrent Artificial Neural Networks for

4 downloads 1115 Views 786KB Size Report
Nowadays, the network management tools have usually insufficient resources to monitor the complexity of computer networks. The majority of the agents used in ...
Autonomic Computing Systems: Using AI Techniques for the Development of Agents in the Network Management Domain Analúcia Schiaffino Morales De Franceschi1, Karen Selbach Borges1, Ricardo Moraes2, Francisco Vasques2 1 Universidade Luterana do Brasil (ULBRA) Curso de Ciência da Computação Grupo de Redes e Telecomunicações Av. Farroupilha, 8001 – São Luis – Canoas/RS - Brasil {analuciadefranceschi, borges.karen}@gmail.com 2

Universidade do Porto Faculdade de Engenharia Rua Dr. Roberto Frias s/n – 4200-465 – Porto - Portugal {rmoraes, vasques}@fe.up.pt

Abstract: The eagerness of Internet and Intranet computing applications has fueled the complexity of the network administration tasks. Nowadays, the network management tools have usually insufficient resources to monitor the complexity of computer networks. The majority of the agents used in computer networks are passive agents, i.e., they have no autonomy, nor participate in the decision-making procedures. We have assessed multiple artificial intelligence (AI) techniques to improve network management systems, according to the autonomic computing concept introduced by IBM. In this paper, we present a methodology for agent’s development based on artificial intelligence techniques. The reported results show that the proposed methodology is adequate to support the development of active agents. Key-Words. Intelligent agents, distributed problems, neural networks, autonomic computing, SNMP.

1 Introduction Currently, computer systems are becoming so complex that, in some cases, there is no control of how they are working or how they are performing. The Internet computing infrastructure is a notable example. Even for the smaller case of modern Local Area Networks (LANs), such systems are becoming as complex to manage as Wide Area Networks (WANs) [1]. Within this context, managing presently used computing system goes well beyond the administration of individual software environments [17]. Therefore, a fundamental question can be raised: why should we not be encouraged to develop autonomous network management systems? The inspiration for such autonomous network management originated from the human kind, and from how the nature constructed such extraordinary biological human being. Humans are the most perfect learning machines. We have a body with five sense knowledge, exquisite functions and a conscious brain all harmoniously and simultaneously working. The question that has been raised is why is it so difficult for thousands or millions of connected machines to control the information about their own management? Or, why is it so difficult for the network management systems to configure the thresholds and metrics using the collected network data samples? We have been researching on these subjects since 1997, with the

development of the automatic diagnosis methodologies and tools for the fault management network domain. However, Artificial Intelligence (AI) techniques that we were employing in our preliminary research works have not produced the desired results, mainly due to the high level of complexity associated to the management of nowadays computer networks [14]. In [11], we proposed a distributed problem-solving methodology using AI techniques to deal with the network management problem. Ever since, we have been assessing on how multiple AI techniques could be used to solve complex problems in distributed environments. In the last few years, we have been implementing and experimentally testing multiple of those methodologies. More recently, the IBM Company presented a concept called Autonomic Computing to describe autonomous systems, where systems should have capabilities to manage themselves according to the administrator’s goals [18]. Therefore, new components of a computing system should be able to integrate themselves in the system as effortlessly as a new cell establishes itself in the human body. These ideas are not science fiction, but elements of the huge challenge that is: “will we be able to create selfmanaging computing systems?” The IBM highlights one of the main obstacles to further progress in the TI industry: applications with tens of millions lines of code that are becoming increasingly dependent of skilled IT professionals for its installation,

configuration, tuning, and maintenance. As a consequence, using the traditional static approaches, it is no longer possible take timely and accurate decisions when dealing with conflicting and quickly changing requests. These requirements demonstrate the current need for dynamically manageable systems [16]. The question now is how could it be possible to implement the self-computing paradigm? A promising answer is to use AI techniques to develop selfmanagement systems. The forecasted approaches must encompass the following properties: learning, adaptation and dynamism. It will not be enough to provide a simple learning procedure based on the previous experience. It will be required to employ adaptative techniques, such as those provided by Artificial Neural Networks (ANN). It will be required also to employ approaches used for the decision-making procedure based on previous experiences. The challenge will be “how can we compare the new results with past results”? One response for this question could be the “similarity function” that is being also employed in the Case-Based Reasoning (CBR) Systems. The CBR systems solve problems by retrieving and applying solutions to previous problems. In our work, we have been researching on case-based maintenance, and the use of introspective reasoning to refine indexing and adaptation. The integration of CBR with other tools developed by our group is being pursued. When considering network management environments, there are three important aspects to consider: the managers, the agents and the management objects. These concepts were initially considered in both CMIP (Common Management Information Protocol) and SNMP (Simple Network Management Protocol) protocols. A Network Management System (NMS) consists in a set of software and hardware tools for the network management. Presently, despite of the autonomic computing paradigm, managers and agents that are usually implemented in commercial NMSs have no autonomy; they have no participation in the decisionmaking process. In general, the network administrators are responsible for the decisions about network management. As a consequence, network administrators must often deal with urgent requests to solve network failures. For Lesser [7] the agent autonomy is directly associated with the possibility of taking decisions about what activities should be performed, about when they should be performed and about how an agent can manipulate information received from other agents. Such autonomy can be defined by built-in policies, or can result from the interaction with other agents. The autonomic systems will be interactive collections of autonomic elements, where individual system constituents that contain resources and deliver service to humans and other autonomic elements [16]. A distributed service-oriented infrastructure will support autonomic elements and their interactions.

The autonomic elements and the agent autonomy are similar concepts. We believe that AI techniques are an adequate methodology to implement intelligent agents. Its non-linearity properties are an important characteristic to model computer networks. The autonomy issues of the intelligent agents may be dealt with using the following AI techniques: Artificial Neural Network (ANN), CBR (Case-based Reasoning) and Evolutionary Computation (EC). As mentioned before, traditional network management solutions based on agents rely on non-autonomous agents. In order to overcome this limitation, we propose the use of ANN to improve the network management. ANN techniques are based on learning through examples. Basically, we first select a set of samples from the network, which will be the input data of the ANN; such input data are related to the synaptic weight. Afterwards, these initial weights are continuously modified in order to approximate the input to the desired output. The ANN training is repeated for all set of samples until the ANN becomes stable, that is, weights have no further modifications. This approach opens the possibility for selfconfigurable network according to the desired behavior of the network. The remainder of the paper is structured as follows. Section 2 discusses the methodology employed and the behaviors of the management network systems. Section 3 shows how the CBR technique can be applied to develop a diagnostic agent. Afterwards, Section 4 shows the preliminary results. Finally, the Summary and future works advocates a new approach to the results employment.

2 Agent’s Methodology in NMS We have proposed a methodology to develop new applications for network management, based on autonomous agents and artificial intelligence techniques. Within this methodology, we propose the use of both static and dynamic agents. In the static agent implementations, we may use production rules or feedforward neural networks, through heuristics obtained from an expert, such as a network administrator. Nevertheless, for the computer network management, the main agents must have a dynamic behavior. In [10], Barreto proved that the recurrent networks must be applied to reach the solution when problems are classified as dynamic. The static solution applied to a dynamic problem cause two inconvenient: firstly, the static solution cannot reach all the different states found in the dynamic problems; secondly, the state of the dynamic system must be supplied, either explicitly or implicitly, with input data in order to instruct the NN. However, this procedure leads to a very large NN and to a longer training time, as it is necessary to describe all the possible states, so that the neural network can converge to a correct solution. The static and dynamic behaviors are directly related to reactive or proactive solutions (Figure 1).

the computer network management area was introduced in [10]. The main goal of the proactive management is detecting possible problems (in a network) before they happen and lost the network active state. Roisenberg [15] presented a formal concept to autonomous agents using recurrent neural networks based on system theory.

Network Management Systems

Reactive Solution

Autonomous Agents with Static Behavior

Proactive Solution

Autonomous Agents with Dynamic Behavior

2.3 Proposed approaches for the NMS Policies and Rule-Based Systems

Feed forward ANN

CBR (Case-Based Reasoning)

Recurrent ANN

Figure 1. Methodology application.

2.1 Reactive Solutions The diagnostic system is possibly the most commonly used reactive solution in the network management domain. In this kind of solution, the characteristics of the problems are the input of the system and the problem diagnosis is the output [12]. However, the actions for solving those problems are taken only after the network degradation, which is the main disadvantage of this kind of solution. The diagnostic systems are normally used in the fault management area. Some faults, such as the poor quality of the equipment or the cables´ exposure to the physical environmental conditions are impossible to be prevented [13]. This implementation may be guided through heuristics obtained from experts, i.e., experienced network administrators. The first step is to provide a set of features about the environment faults. Normally, faults are classified according to communication layers: physical layer faults, link layer faults, network layer faults, transport layer faults and application layer faults. However, this approach has a specific problem: the static feature. If any aspect of the network is modified, the system becomes unusable. This problem has been observed in the expert systems developed along the years for the network management area. The usually employed tools were production rules and feedforward neural networks. The production rules are a declarative solution implemented with ifs and thens. Using feedforward NNs, the input and output patterns are known. In this case, the network is trained to learn the patterns and has no state changes [14]. These systems are appropriate for small environments or networks with few resources.

Most part of network management systems (NMSs) has no intelligence to configure the computer network parameters nor to autonomously take decisions when failures occur. Usually, network management systems available in the market, only collect the information from the network environments and generate reports. Besides, the network administrators, who have set the all parameters to start the management process, must configure the overall system. Neural networks may be used to overcome this limitation, providing proactive network management. Figure 2 illustrates the two approaches for the network management systems proposed in Section 2. On the left, it is shown the most used methodology; where the SNMP protocol monitors the network and both data and events are reported to the network administrator, who should make decisions. On the right, it is presented the methodology that is being proposed in this work, where ANN data mining is used. The results report the useful information for the decision-making process.

Regular Approach in Network Management Systems

Intelligent Approach in the Network Management Systems Administrator Decision Making

????

Administrator

Situation B

Situation A Data and Events Reports

The management platforms normally use the SNMP to collect the network data, process and report data and events for the administrator.

SNMP Monitor

The intelligent system obtain the data, data mining and outlines the information for the decision making process.

Data Network Monitoring Network

2.2 Proactive Solutions When the problem needs a dynamic solution, a dynamic behavior is expected from the agents. To include dynamism in a NN solution, it is necessary to apply a sequential line of time delays between two inputs of a feedforward NN, or using a network with cycles and dynamical neurons (e.g.: Hopfield network and recurrent NN). The methodology based on recurrent NNs applied to

Figure 2. Two approaches in the network management systems.

In such methodology the environment must be configured to collect examples from the monitored network. That is, instead of just presenting data to the administrator, the solution analyzes it and indicates the actions that must be taken by the network administrator.

To reach this goal, we developed a hybrid system, employing the Recurrent NN to recognize the normal profile of network, i.e., the baseline. Afterwards, another type of NN is used to decision-making process. Usually, baselining a computer network profile is a difficult task, as a lot of sample activities are required to statistically identify the profile. On the other hand, generating a baseline is easier when a recurrent NN is used correctly. In this process an ANN is developed, which will be trained using collected examples. The examples are input to the input layers and the output layer will provide a function that represents the normal network behavior.

3 CBR Diagnosis Agents There are multiple innovative approaches being developed to solve the problem of fault identification in nonlinear systems [19][20], and in the fault diagnosis domain [21]. However, the computer networks have two main problems: the complexity and the diversity of the equipments and resources [22]. These features make the fault management to be more complex and dynamic, consequently, there is a need to develop fault diagnostic solutions. Through the employment of Case-Based Reasoning (CBR) technique we had developed a diagnostic agent, which has a knowledge database to assist the diagnosis of faults in the management computer network domain. This agent has adaptative features that allow to stora new faults. The agent has been developed through the comparison between two states: the real state in the MIB (management information base) and the state stored in the database. The MIB II groups used in the prototype is Interfaces, IP, ICMP and Communication.

Inte rfa ce s IP IC M P T ra sn m is sio n

SNMP D a ta b a se

faults were defined with some researched items: 1) Physical layer: broken cable, bad connection, interface, interference in the handle and wrong type of handle; 2) Data-link Layer: incapacitated interface, problem with covering tree and saturation of the resource; 3) Network Layer: table with incorrect routes and static routes badly configured.

4 RNN Agent 4.1 Test environment In this section, we present a test-bed implemented to evaluate the proposed methodology. The experiments were made using samples collected from three interfaces of a CISCO AS 2511 router: one 10 Mbps Ethernet interface and two 2 Mbps WANs interfaces. The stored objects were the ifInOctets, which is total number of octets received on the interface, including framing characters; the ifOutOctets, which is the total number of octets transmitted out of the interface, including framing characters and; ifSpeed, which store an estimate of the interface's current bandwidth in bits per second (Table 1). These variables have been used to estimate the data link utilization rate. Data was collected 288 samples a day with five minutes interval between them, during the interval of two weeks. Table 1. MIB Objects Identifier (OID) 1.3.6.1.2.1.2.2.1.10 1.3.6.1.2.1.2.2.1.16 1.3.6.1.2.1.2.2.1.5

Description ifInOctets ifOutOctets ifSpeed

Data format (ASN.1) Counter 32 Counter 32 Gauge

We tested three different topologies of recurrent neural networks (RNN). These neural networks are able to approximate an arbitrary nonlinear function to any desired degree of accuracy. The first RNN (Figure 4) has one input neuron, one hidden neuron and one output neuron. The hidden layer was defined with 500 sigmoid units of neurons.

D ia g n o stic A ge n t

K n ow le d g e m e n t D a ta b a s e D ia g n o s tic a te d C ases

N ew C ases

Figure 3. Fault diagnostic agent.

When an unexpected value occurs the agent consults the knowledge database. If the same value has been stored in the database, the agent will return the problem-solving diagnostic. If the value was not found, the agent will search the most similar case and return it to the network administrator. Figure 3 shows how the agents should work. Initially, The agent has been implemented to diagnose ten different faults in the computer network. These initial

Figure 4. Recurrent NN.

The second RNN has three input neurons and three hidden neurons. The three hidden layers were defined with 500 sigmoid units of neurons. The output of neurons has a sigmoid activation function and has a connection to the output layer. Finally, the third tested RNN has five input neurons, five hidden neurons and one output (Figure 5). The five hidden layers were defined with 500

sigmoidal units of neurons. It has five cycles to feedback, one with the output and other five with the hidden neurons.

Layers 1, 2, 3, 4 and 5

Layer 6

TDL 1

L W 1,6

E1

IW1,1

+

logsig

a1

LW 6,1

TDL 1

L W 2,6

E2

IW2,2

+

logsig

a2

LW 6,2

TDL1

TDL 1 L W 6,6

L W 3,6

E3

IW3,3

+

logsig

a3

logsig

a4

LW 6,3

+

logsig

a6

y

Figure 7. The relationship between the goal training and the number of epochs (3 layers - 3 hiddens 1output).

TDL 1

L W 4,6

E4

IW4,4

+

LW 6,4

TDL 1

L W 5,6

E5

IW5,5

+

logsig

a5

LW 6,5

Figure 5. Five input and hidden layers and one output layer.

4.2 Preliminary results Figures 6, 7 and 8 show the behavior of the training when illustrating the goal error rate vs. the number of epochs. Figure 6 represents the RNN with 1-input and 1-hidden layer. Figure 7 shows the behavior of the training when the RNN with 3-inputs and 3-hidden layers is used. Finally, Figure 8 represents the RNN with 5-inputs and 5hidden layers.

Figure 6. The relationship between the goal training and the number of epochs (1 layer-1 hidden-1output).

Figure 8. The relationship between the goal training and the number of epochs (5 layers - 5 hiddens1output).

There are two alternatives to stop the training process of NN: the number of epochs and the error goal. An epoch is a time for the neural network interaction that is the sum of the synaptic weights in agreement with the input values. The neural network has been trained during several epochs using the layers and the transfer function for adapting the learning. In this paper, the NNs are trained through the sum of the current and previous inputs, using a feedback of the input data to create the adapted output. This output will be adjusted through the decreasing of the error goal. The goal of the learning process is to evaluate the probability that the model has generated from the input data, and in this case, the numbers of examples are used to increase the quality of the estimation performed by the model. Analyzing the Figures 6, 7 and 8 is possible to observe the initial error goal rate and, the error reached in the end of the training process. As it was expected, the smaller number of epochs necessary for training was obtained in the case of neural network with five input

layers and five hidden layers. However, it was not obtained significant different values related to number of epochs. In all of the training tests the neural networks spend less than a thousand times of epochs. The threetested RNN learned the data set through the error goal. The epochs spent for the training were respectively 849, 827 and 816 epochs. The next experiment simulates the neural network. This is a very important step because it is used to verify if the neural network really learned from the examples. The simulation function represents the data with the calculated weights during the training. Then, in order to evaluate if the system was able to learn the behavior of the network through examples during the training process, the function obtained was simulated with the examples. When the network was simulated with the same samples we must to generate in the output the same behavior. Figures 9, 10 and 11 illustrate that in all cases the tested neural networks were able to learn the examples. The results obtained in the training process are equal to the results obtained in the simulating process (lines are superposed). We explore the efficiency of the proposed RNN running several simulations.

data-link interface. Figure 12 shows two lines. The black dotted line represents the behavior of the training data set; the broken dotted line has been outlined by the simulation. Both lines have some dotted similarity, as expected. Figure 13 illustrates the training and the simulation tests reached by the RNN with five input neurons and five hidden neurons.

Figure 12. The results with samples collected in different dates.

Figure 13. The results trained and simulated.

Figure 9. The results of the RNN with 1 input – 1hidden – 1 output layer.

Finally, the last experiment with the three topologies of RNN has used a data set collected from another kind of data-link interface. In this test, the result may be observed in the figures 14 and 15. The dotted and broken lines must be distant, as expected.

Figure 10. The results of the RNN with 3 inputs - 3 hidden layers. Figure 14. The tests with two different interfaces using RNN with 1 input and 1 hidden layer.

Figure 11. The results of the RNN with 5 inputs - 5 hidden layers.

In the next experiment, the RNN have been simulated with samples collected at a different date in the same

Figure 15 - The tests with two different interfaces using RNN with 5 inputs and 5 hidden layers.

5 Future work According to Haykin [8], for the pattern classification, the most important step is the selection of characteristics using non-supervised mode. This was done in the described experiments, using Artificial Recurrent Neural Networks. The set of data obtained with the training of the RNNs will now be used for creating a classification for the graph outlines, producing a hybrid network. The challenge at this moment is how to classify what is normal and what is abnormal using the output already generated from neural networks. For this stage it is intended to supply the data of exit of the nets as input in a self-organized map associate to a project of supervised Examples

AGENT

AGENT

learning of form if to get one better performance as mentioned by Haykin. Figure 16 illustrates the scheme to create a pattern classification that may be used to identify the normal and abnormal behavior from these baseline results. We will employ a self-organized map to group the similar points and in third moment we will develop a feedforward network to classify these points. With the definition of the normal and abnormal behavior from the computer network we will be able to create the selfconfiguration of computer network using the samples collected from the self-network.

The several results will be stored in a database.

from the computer network were collected

D

from the SNMP Monitor

AGENT

D AGENT

and feed the NN Agents for training.

D

D

Self-organized Map The self-configuration through the

The Self-configuration of

collected data using examples from

computer networks detecting

computers networks is possible if

the normal and abnormal

we constructed a self-organized

behaviors, such as increase of

map that points the normal and

traffic of Internet protocols.

abnormal behavior.

Figure 16. Work development scheme.

6 Conclusions The network management claims for skilled personnel, able to detect, diagnose and correct problems quickly and accurately, preferably before they affect the user community. In the last decade, we have been studying several techniques targeting distributed problems such as the computer networks. This idea has agreed with autonomic computing which investigates selfcomputation concepts. This work presented two different application results. With the correct employment of the AI techniques is possible to develop dynamic solutions for distributed problems. The CBR agent was implemented and is able to learn new situations and storing it in a database. The developed prototype may be

applied to fault diagnosis in three of the computer network layers: physical, data-link and network layers. The Java language has been employed in this project. This work also outlines the application of the recurrent neural networks in the baseline development of the computer network utilization rate. From multiple experiments targeting three different topologies of neural networks, some important conclusions has been withdrawn. From those experiments, the obtained results were very similar, as the training until the simulation tests with data set collected in the same interface or the results obtained with the data set of the different data-link. These results allow us to conclude that any topology of recurrent neural networks is capable to learn from examples. The baseline was shaped using some typical examples. The

next step will be to develop an adequate network to classify the results. Also, we have been investigating how the IBM selfcomputation dream may become possible, that is, how computers may get decision-making capabilities. In special, in our work we have researched the activities of the self-management and the self-configuration through the employment of the AI techniques. However, this work still has a long way to cover until reaching this objective. As mentioned in the IBM manifesto, the autonomic computing depends from works in different areas of knowledge, as scientific areas and social areas. As the future works we will develop another agents and applications for the network management. New tests and topologies will develop in different functional areas such as security management. Another possible approach to improve this work is the development of a new intelligent protocol, such as an SNMP with artificial intelligence resources.

References [1] A. C. Vieira Junior and M. L. Anido, “The architecture of a novel tool for network management using GSM/GPRS mobile devices.” In: Consumer Communications and Networking Conference, CCNC 2004. First IEEE, 2004. [2] G. Goldzsmith, Y. Yemini. “Evaluation Management Decisions via Delegation”. In: Proceedings of IFIP/ISINM’93 – International Symposium on Integrated Network Management, 1993. [3] J. L. de C. e Silva, A. N. da Silva, J. N. de Souza. “Applying Cooperative Remote Objects and Mobile Agents Concepts for Management by Delegation in Heterogeneous Network Systems”. In: Proceedings of International Conference on Telecommunications – ICT’99”, Vol. II, Cheju, Korea, 1999. [4] J. P. Bigus, J. Bigus. “Constructing Intelligent Agents Using Java”. Second Edition. John Wiley and Sons, Inc.: USA, 2001. [5] C. C. Hayes. “Agents in A Nutshell – A very Brief Introduction”. IEEE Transactions on Knowledge and Data Engineering, vol. 11(1): 127-132, Jan/Fev, 1999. [6] N. R. Jennings, “On agent-based software engineering”. Artificial Intelligence (Elsevier Science), 117(2): 277-296, 2000. [7] V. R. Lesser. “Cooperative Multiagent Systems: A Personal View of the State of the Art”. IEEE Transactions on Knowledge and Data Engineering, vol. 11(1): 133-142, Jan/Fev, 1999. [8] HAYKIN, S. Neural Networks: A Comprehensive Foundation, 2001. [9] M. L. Minsky, S. A. Papert. Perceptrons: an introduction to computational geometry, MIT Press, 1988.

[10] J. M. Barreto. "Conexionismo e Resolução de Problemas". Titular professor contest dissertation, Federal University of Santa Catarina, Informatics and Statistics Department, Florianopolis, SC, 1996. [11] A. S. M. De Franceschi, J. M. Barreto. “Distributed Problem Solving Based on Recurrent Neural Networks Applied to Computer Network Management”. In: Proceedings of International Conference on Telecommunications – ICT’99”, Vol. II, Cheju, Korea, 1999. [12] A. Leiwand, K. F. Conroy Network Management – A Practical Perspective. Addison-Wesley, 2nd ed., 1996. [13] R. A. Maxion, F. E. Feather. A Case Study of Ethernet Anomalies in a Distributed Computing Environment, IEEE Transactions on Reliability, vol. 39(4), Oct, 1990. [14] A. S. M. De Franceschi, M. A. da Rocha, H. L. Weber, C. B. Westphall. “Employing Remote Monitoring and Artificial Intelligence Techniques to Develop the Proactive Network Management”. In: Proceedings of IEEE International Workshop on Application of Neural Networks in Telecommunications, Melbourne, Australia, 1997. [15] M. Roisenberg, J. M. Barreto, F. M. de Azevedo, L. M. Brazil. “On a Formal Concept of Autonomous Agents”. In: 16th IASTED International Conference Applied Informatics, Germany, February, 1998. [16] J. O. Kephart and D. M. Chess. The vision of autonomic computing. IEEE Computer, vol. 36(1): 41-50, 2003. [17] R. Want, T. Pering and D. Tennenhouse. Comparing autonomic & proactive computing. IBM Systems Journal, vol. 42(1):129-135, 2003. [18] A. G. Ganek and T. A. Corbi. The dawning of autonomic era. IBM Systems Journal, vol. 42(1): 518, 2003. [19] P. M. Frank. Fault Diagnosis in Dynamic Systems Using Analytical and Knowledge-based Redundancy - A Survey and Some New Results. Automatica, vol. 26(3): 459-474, 1990. [20] J. Stoustrup and H.H. Niemann, “Fault Detection for Nonlinear Systems - A Standard Problem Approach”. In: Proc. 37th CDC, Dec. 1998. [21] Uri Lerner. Hybrid Bayesian Networks for Reasoning About Complex Systems. PhD thesis, Stanford University, October 2002. [22] White T., Bieszczad A., Pagurek B., Distributed Fault Location in Networks Using Mobile Agents, Proceedings of the International Workshop on Agents in Telecommunications Applications (IATA), 1998.