You are on page 1of 6

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.