Desenvolvimento de Agentes de Software Autnomos para
Gerncia de Redes de Computadores
A.S.M. De Franceschi J.M. Barreto M. Roisenberg Universidade Federal de Santa Catarina Universidade Federal de Santa Catarina Universidade Federal de Santa Catarina Grupo de Pesquisas em Engenharia Biomdica Departamento de Informtica e Estatstica Departamento de Informtica e Estatstica Florianpolis SC Florianpolis SC Florianpolis SC analucia@gpeb.ufsc.br barreto@inf.ufsc.br mauro@inf.ufsc.br Resumo O presente trabalho apresenta uma metodologia para desenvolvimento de agentes de software autnomos para gerncia de redes de computadores. Existem dois tipos que podem ser desenvolvidos: agentes estticos ou agentes dinmicos. Agentes estticos podem ser implementados utilizando-se heursticas obtidas atravs de um especialista ou administradores de redes para construir regras de produo ou redes neurais diretas. Para construir agentes dinmicos utiliza-se exemplos obtidos da prpria rede. O tipo de comportamento de gerncia, reativo ou pr-ativo, tambm deve ser considerado. O comportamento reativo o mais comum, aps o problema ocorrer busca-se a soluo. o caso de sistemas de diagnstico de falhas (ou troubletickets). O comportamento pr-ativo, ao contrrio, uma espcie de controle preventivo da rede. possvel utilizar as cinco reas funcionais propostas pelo modelo de referncia OSI para classificar a necessidade de agentes autnomos estticos ou dinmicos. Abstract This work presents a methodology to develop autonomous agents for network management. There are two kinds of agents to develop: static or dynamic agents. The first one can be implemented, using heuristics obtained from an expert or the network administrator, through production rules or feed forward neural networks. Using the network examples we can construct dynamic agents. The neural network may be trained to solve a problem using some examples. Moreover, the behavior of the management must be considered, the network management may be reactive or proactive. Normally, we have the reactive behavior when the problem occurs and after we will search for a solution. We may see in diagnostic or troubleticket systems for Fault Management. On the contrary, the proactive behavior is a preventive control of the network. We divided the network management in the five functional areas proposed by OSI Model Reference. Thus, each area has a different intelligent solution. 1. Introduo Nos ltimos anos, o paradigma de agentes tem aumentado significativamente sua popularidade. Segundo Hayes [1] deve-se a caractersticas como flexibilidade, modularidade e aplicabilidade na soluo de uma variedade de problemas. O autor atribui um aumento parcial aos desenvolvimentos tecnolgicos na rea de computao distribuda e robtica. Estas reas necessitam de agentes para modelar solues adequadas, principalmente para problemas distribudos. Paralelamente tem-se um crescimento de paradigmas de programao orientada-a-objetos, em parte devido importncia deste tipo de programao na estruturao de sistemas baseados em agentes. No ambiente de gerncia de redes existem trs conceitos importantes: gerentes, agentes e objetos gerenciados. ...Um gerente pode obter informaes atualizadas sobre os objetos gerenciados e control-los. Para isso, transmite operaes de gerenciamento aos agentes. Um agente executa operaes de gerenciamento sobre objetos gerenciados. Pode, ainda, transmitir ao gerente as notificaes emitidas pelos objetos gerenciados... [2]. Estes conceitos foram apresentados inicialmente nos protocolos CMIP (Common Management Information Protocol), do Modelo de Referncia OSI (Open System Interconnection), e SMNP (Simple Network Management Protocol), da Internet. No entanto, estes gerentes e agentes no possuem nenhuma autonomia, ou seja, no participam do processo de tomada de decises. A tomada de decises normalmente realizada por um especialista conhecido como administrador da rede. Segundo Lesser [3], a autonomia de um agente est relacionada a capacidade do agente em tomar suas prprias decises sobre as atividades que devem ser realizadas para alcanar seu objetivo. A autonomia pode ser limitada por polticas embutidas no prprio agente por seu projetista, ou como resultado de interaes cooperativas entre outros agentes. Outra preocupao no desenvolvimento destes agentes diz respeito a complexidade de redes neurais. Neste sentido, a primeira grande contribuio foi feita por Minsky e Papert. Eles provaram que uma rede neural direta precisa ter uma camada intermediria entre a camada de entrada e a de sada para solucionar problemas no-linearmente separveis [4]. Mais recentemente, Barreto provou que mais adequado utilizar redes recorrentes do que redes diretas para resolver problemas dinmicos [5]. A aplicao de uma abordagem esttica na soluo de problemas dinmicos causa dois inconvenientes, o primeiro porque no permite cobrir todos os diferentes estados de um sistema dinmico. E o segundo, porque seria necessrio uma rede neural muito extensa para cobrir todos os estados possveis, e desta forma seria muito difcil convergir a uma soluo. possvel encontrar na literatura cientfica vrios trabalhos com abordagens de agentes inteligentes em ambientes de redes de computadores, existem alguns voltados a auxiliar na busca por informaes na Internet [6][7], e outros aplicados gerncia de redes propriamente dita [8][9][10]. No entanto, percebe-se que em nenhum dos trabalhos pesquisados existe a preocupao com caractersticas estticas ou dinmicas do problema abordado. A maioria utiliza regras de produo ou redes neurais diretas para soluo de problemas dinmicos. O presente trabalho est organizado em cinco sees. A prxima seo apresenta a metodologia proposta para o desenvolvimento de agentes autnomos para gerncia de redes de computadores. Destacam-se dois tipos de agentes que podem ser desenvolvidos: agentes estticos ou agentes dinmicos. A Seo 3 apresenta os agentes estticos, que podem ser implementados atravs de heursticas obtidas de um especialista ou administrador de redes. Os agentes dinmicos so apresentados na Seo 4, para constru-los devem ser utilizados exemplos obtidos da prpria rede. Seguem as consideraes finais, trabalhos futuros e referncias bibliogrficas. 2. Metodologia Analisando a gerncia de redes como um todo tem se um problema extremamente complexo. No entanto, possvel subdividi-la em cinco reas funcionais utilizando o modelo funcional proposto pela OSI: gerncia de falhas, gerncia de desempenho, gerncia de configurao, gerncia de contabilizao e gerncia de segurana. Figura 1 - Metodologia para desenvolvimento de agentes autnomos para gerncia de redes de computadores. A gerncia de falhas o processo de localizar problemas, ou falhas, em uma rede de dados. Envolve as tarefas de descobrir o problema, isol-lo e solucion-lo quando possvel. Entre as causas mais provveis para falhas em uma rede esto: erros de projeto e implementao da rede, erros de sobrecarga, distrbios externos, tempo de vida til de equipamentos expirado e m implementao de softwares (famosos bugs). A gerncia de configurao o processo que determina e configura dispositivos crticos que controlam o comportamento dos dados que trafegam pela rede. Redes Diretas Agente Aut nomo Esttico Redes Dinmicas Agent e Autnomo Dinmico Reat ivo Redes Dinmicas Agente Autnomo Dinmico Pr-at ivo Definio do Problema Distribudo Roteadores, pontes (bridges, em ingls), terminais e servidores so exemplos destes dispositivos. A gerncia de desempenho deve assegurar que a rede tenha capacidade para suportar e acomodar uma certa quantidade de usurios. Ou seja, ela extremamente necessria para otimizar a Qualidade do Servio. Este processo mede o desempenho dos equipamentos e softwares disponveis atravs de registros de algumas taxas de medidas. Exemplos destas taxas so: vazo (throughput), taxa de erros, taxa de utilizao e tempo de resposta. Determinar quais os recursos e a forma que esto sendo utilizados pelos usurios tarefa da gerncia de contabilizao. Alm disso, este processo auxilia a assegurar que os usurios tenham acesso a quantidade suficiente dos recursos disponveis. Envolve tambm, garantir ou remover permisses de acesso rede. A gerncia de segurana o processo que controla o acesso s informaes disponveis na rede. Existem informaes armazenadas em computadores ligados rede que so imprprias a todos os usurios. O grupo de informaes mais conhecido em que no fica disponvel, para evitar aes imprprias que prejudiquem os usurios, o conjunto de senhas que permitem o acesso rede. A gerncia de segurana permite que o administrador monitore as tentativas de entrada na rede. Considera-se tambm dois tipos de comportamentos da gerncia de redes: reativo ou pr-ativo. Reativo quando as aes de gerncia so realizadas aps o aparecimento de algum problema. Ou pr-ativo, no caso de se adotar um gerenciamento com aes preventivas impedindo que a rede alcance o estado inativo (Figura 2). Os problemas foram ento, investigados conforme suas caractersticas estticas ou dinmicas. Na literatura encontram-se disponveis diversos mecanismos que podem auxiliar no desenvolvimento de agentes autnomos, como o caso do modelo do quadro-negro [11]. Porm estes mecanismos so normalmente aplicados para realizar tarefas como a comunicao, a coordenao e a cooperao entre os agentes na sua fase de implantao. A presente metodologia aborda como extrair o conhecimento necessrio para a construo de agentes de modo que se obtenha soluo satisfatria para problemas distribudos de gerncia de redes. Definio do Problema [11]: Um problema pode ser modelado como o objeto matemtico P = {D, R, q}, consistindo de dois conjuntos no vazios, D os dados e R os resultados possveis e de uma relao binria q D x R, a condio que caracteriza uma soluo satisfatria, associando a cada elemento do conjunto de dados a soluo nica desejada. Segundo Barreto [12], o problema pode ser representado matematicamente por uma funo. Resolver o problema ser ento encontrar um modo de implementar esta funo ou de aproxim-la com o conhecimento que se dispe. Aps a definio do problema necessrio definir o comportamento de gerncia que ser adotado: reativo ou pr-ativo. Figura 2 - Comportamentos da gerncia de redes. Outra questo, determinar se a soluo do problema deve ter caractersticas estticas ou dinmicas. Estticas quando no existe o conceito de estado, e dinmicas quando forem identificados trocas de estados na soluo do problema. Tabela 1 - Caracterizao das reas funcionais de gerncia de redes. Comportamento da Gerncia Caractersticas rea Funcional Reativa Pr-ativa Estticas Dinmicas Falhas Desempenho Configurao Contabilizao Segurana Estado da rede ATIVO INATIVO Ocorrncia de Falha Gerncia Pr-ativa Gerncia Reativa A Tabela 1 apresenta uma caracterizao das cinco reas funcionais da gerncia de redes definidas pelo modelo de referncia OSI [13]. Na Gerncia de Falhas podem ser adotados os dois comportamentos. Reativo no caso de falhas impossveis de se prevenir, como o caso da ao do ambiente (sobre cabos e placas de redes) e a qualidade de peas e equipamentos utilizados. Estes comportamentos podero ter caractersticas estticas e dinmicas. A Gerncia de Desempenho deve ser pr-ativa para impedir um baixo desempenho ou a degradao do servio fornecido aos seus usurios. A Gerncia de Configurao normalmente reativa e possui caractersticas dinmicas, ela envolve o crescimento do nmero de equipamentos e de usurios o que altera o estado da rede. A Gerncia de Contabilizao esttica e no exige uma soluo dinmica. E finalmente, a Gerncia de Segurana pode ser tanto reativa quanto pr- ativa e normalmente, possui caractersticas dinmicas. A partir desta anlise possvel definir se o problema exige agentes autnomos estticos ou dinmicos. 3. Agentes Autnomos Estticos Para desenvolver Agentes Autnomos Estticos (AAE) busca-se normalmente heursticas para a soluo do problema. Ou seja, uma forma declarativa de resolver uma funo, dando as propriedades que devem ser satisfeitas para solucionar o problema, neste caso, necessrio auxlio de um especialista. O especialista que neste caso poder ser o administrador de redes, dever indicar quais os sintomas, para diagnosticar o problema e sugerir as possveis solues. Neste caso, tem-se o conjunto de dados, o conjunto das possveis solues e a relao entre eles de forma bem definida. Estas informaes podem ser implementadas de duas maneiras: Redes Neurais Diretas (paradigma conexionista) ou atravs de Regras de Produo (paradigma simblico) ilustradas na Figura 3. Figura 3 Desenvolvimento de AAE. Um bom exemplo de sistema que pode ser implementado com agentes autnomos estticos o de diagnstico de falhas, ou at mesmo uma base de dados com fichas de falhas da rede e suas possveis solues (troubletickets). A seguir segue um exemplo de regras de produo que identificam falhas em pacotes recebidos pela rede. Estas regras foram utilizadas em um trabalho anterior que implementava um sistema especialista para diagnstico de falhas [14][15]. IF pacotes de entrada > baseline AND pacotes de sada < baseline AND erros de sada > baseline THEN pacotes errados IF pacotes de entrada > baseline AND pacotes de sada < baseline AND erros de sada > baseline AND fila de pacotes de sada > baseline THEN rajada de pacotes errados As Redes Neurais Diretas (Figura 3) so estticas, no possuem ciclos e so representadas por camadas. Normalmente, possuem camadas de entrada, intermediria e de sada. Alm disso so as mais populares, principalmente por existirem mtodos de aprendizado fceis de usar, o mais conhecido o backpropagation[12]. 4. Agentes Autnomos Dinmicos Agentes Autnomos Dinmicos (AAD) podem ser desenvolvidos com o auxlio de exemplos. Atravs de exemplos tem-se uma representao indireta do problema, ou seja, apenas a definio do problema conhecida para um subconjunto de dados possveis. Problemas dinmicos, s podem ser bem resolvidos se forem utilizadas redes neurais artificiais com caractersticas dinmicas (Figura 4). Para incluir dinamismo a uma soluo conexionista, deve-se: Inserir linhas de atrasos aps a camada de entrada em redes neurais diretas; Redes Diretas IF ... THEN Regras de Produo Agentes Autnomos Estticos Utilizar redes com ciclos e neurnios dinmicos: redes recorrentes ou redes de Hopfield; Deseja-se ento, conhecer os elementos do conjunto de respostas admissveis para todos os elementos do conjunto de dados, mesmo aqueles que no esto includos na definio da funo. Os exemplos, portanto, so utilizados para treinar uma rede neural com algoritmo supervisionado e obter os valores estimados da soluo para os outros valores, utilizando a propriedade de generalizao Neste trabalho utiliza-se redes recorrentes [16]. As Redes Neurais Recorrentes ou Recursivas so redes com ciclos e neurnios dinmicos, esta dinmica provocada pelo retardo entre a sada do neurnio e sua entrada [12]. Atravs desta topologia de rede neural possvel estimar o conjunto de estados a partir de um padro de entrada e sada. Estes padres so fornecidos por uma coleta de exemplos sobre o problema de gerncia a ser solucionado. Figura 4 Desenvolvimento de AAD. 5. Sumrio e Trabalhos Futuros O presente trabalho apresentou uma metodologia para desenvolvimento de agentes de software autnomos para gerncia de redes. Dois tipos de agentes foram propostos, dependendo do tipo de soluo que o problema exige. Se o problema possui caractersticas estticas existem heursticas para solucion-lo. As heursticas podem ser extradas do conhecimento de um especialista, neste caso, o administrador da rede. Caso contrrio, utiliza-se exemplos da rede em questo para determinar padres de entrada e sada. Estes padres sero fornecidos a uma rede neural recorrente encarregada de estimar as trocas de estado para alcanar a soluo do problema. A implementao dos agentes utiliza linguagem JAVA. O ambiente desta linguagem naturalmente distribudo e integra de forma natural os aspectos de segurana. A vantagem principal a possibilidade de definir os agentes de forma independente, no proprietria a nenhuma plataforma de gerncia de redes, muito menos de sistema operacional e processador. Um programa escrito em JAVA e processado em um Pentium, ou em um Power PC ou at mesmo numa SPARC ter um cdigo interpretvel por um navegador (browser, em ingls) sobre qualquer um desses equipamentos [17]. Alm disso, como JAVA composta por pacotes de classes de objetos, poder ser criada como expanso da metodologia, uma classe para desenvolvimento de agentes autnomos para gerncia de redes de computadores. 6. Referncias [1] C.C. Hayes. Agents in A Nutshell A very Brief Introduction. IEEE Transactions on Knowledge and Data Engineering, vol. 11, no. 1, Jan./Fev., 1999. Pp.127-132. [2] Brisa. Gerenciamento de Redes Uma abordagem de sistemas abertos. Makron Books do Brasil ed. : So Paulo, 1993. [3] V.R. Lesser. Cooperative Multiagent Systems: A Personal View of the State of the Art. IEEE Transactions on Knowledge and Data Engineering, vol. 11, no. 1, Jan./Fev., 1999. Pp.133-142. [4] M.L., Minsky and S. A. Papert. Perceptrons: an introduction to computational geometry, MIT Press, 1988 L in h a d e at ras os em red es diretas Red es Rec orren t es Red es c om Ciclos e Neu r n ios Din m icos A g ent es Au t n om os Din m icos Z -1 [5] J.M. Barreto. Conexionismo e Resoluo de Problemas. Concurso de Professor Titular, Universidade Federal de Santa Catarina, Departamento de Informtica e Estatstica, Florianpolis, SC, 1996. [6] N. Bogonikolos, D. Fragoudis and S Likothanassis. ARCHIMEDES: An Intelligent Agent for Adaptative Personalized Navigation within a WEB Server. In: Proceedings of the 32 nd Hawaii International Conference on System Sciences, IEEE Press, 1999. [7] M.E. Nissen. An Intelligent Agent for Web-based Process Redesign. In: Proceedings of the 32 nd Hawaii International Conference on System Sciences, IEEE Press, 1999. [8] S. Covaci, T. Zhang and I. Busse. Java-based Intelligent Mobile Agents for Open System Management. In: Proceedings of the 9 th International Conference on Tools with Artificial Intelligence, ICTAI97, IEEE Press, 1997. [9] F.J. Kurfess and D.P. Shah. Monitoring Distributed Process with Intelligent Agents. In: Proceedings of IEEE Conference and Workshop on Engineering of Computer-Based Systems, ECBS98, IEEE Press, 1998. [10] R. Pinheiro, A. Poylisher and H. Caldwell. Mobile Agents Aggregation of Network Management Data. In: Proceedings of First International Symposium on Agent Systems and Applications Third International Symposium on Mobile Agents, 1999. [11] E. Rich and K. Knight. Inteligncia Artificial. Traduo Maria Claudia S. R. Ratto. 2a edio, McGraw-Hill : So Paulo, 1993. [12] J.M. Barreto. Inteligncia Artificial No limiar do Sculo XXI Abordagem Hbrida Simblica, Conexionista e Evolucionria. 2 a edio revista e aumentada. Florianpolis, 1999. [13] Motorola Codex. The Basics Book of OSI and Network Management. Motorola University Press, Addison-Wesley, 1993. [14] A.S.M. De Franceschi and J.M. Barreto. Distributed Problem Solving Based on Recurrent Neural Networks Applied to Computer Network Management In: ICT99 International Conference on Telecommunications, Cheju, Korea, 1999. [15] A.S.M. De Franceschi, M.A. da Rocha, H.L. Weber and C.B. Westphall. Employing Remote Monitoring and Artificial Intelligence Techniques to Develop the Proactive Network Management. In: Proceedings of International Workshop on Application of Neural Networks in Telecommunications 3. Lawrence Erlbaum Associates Publishers : Mahwah, New Jersey, 1997. pp.116-123. [16] M. Roisenberg, J.M. Barreto and F.M. de Azevedo. Uma Proposta de Modelizao para Agentes Autnomos Baseada na Teoria de Sistemas. In: Anais do 3 o Simpsio Brasileiro de Automao Inteligente, Vitria, ES, 1997. pp.500-507. [17] L. Lemay and C.L. Perkins. Teachyourself JAVA in 21 days. SamsNet Publishing, 1996.