Artemis: uma Ferramenta de Operação de Eventos para Sistemas de Gerenciamento de Redes de Telecomunicações



Documentos relacionados
18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

DESENVOLVENDO O SISTEMA

Aula 03-04: Modelos de Sistemas Distribuídos

Montagem e Manutenção. Luís Guilherme A. Pontes

Donare Sistema de Gerenciamento de Ações Humanitárias

O Gerenciamento de Documentos Analógico/Digital

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Gerenciamento da Integração (PMBoK 5ª ed.)

Resolução da lista de exercícios de casos de uso

O Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL.

Desenvolvimento de uma Etapa

Computador Digital Circuitos de um computador (Hardware)

Aula 01 Introdução ao Gerenciamento de Redes

Permite a coleta de dados em tempo real dos processos de produção, possuindo, também, interfaces para a transferência dos dados para os sistemas

PORTABILIDADE NUMÉRICA UMA SOLUÇÃO ORIENTADA PELA SIMPLICIDADE, QUALIDADE E BAIXO CUSTO

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Gerenciamento de Recursos para Grades Computacionais Node Control Center. Proposta para o Trabalho de Formatura Supervisionado

Estudo de Viabilidade. GMon Sistema de Gerenciamento de Monitores. Curso: Ciências da Computação Professora: Carla Silva

Unidade IV GERENCIAMENTO DE SISTEMAS. Prof. Roberto Marcello

Manual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20

MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO GERAL DE MODERNIZAÇÃO E INFORMÁTICA SISAU

Ambiente de Simulação Virtual para Capacitação e Treinamento na Manutenção de. Disjuntores de Subestações de Energia Elétrica,

Banco de Dados Orientado a Objetos

Estudo da Ferramenta Cacti, para análise de desempenho de rede

2 Fundamentação Conceitual

SISTEMA DE SERVIÇOS DE INFRA-ESTRUTURA DA UFRGS

Requisitos de Software

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

Gerenciamento de Requisitos Gerenciamento de Requisitos

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

SISTEMAS DISTRIBUIDOS

agility made possible

Capítulo 2 Usabilidade Definição de usabilidade Resumo Leitura recomendada... 39

MANUAL DA SECRETARIA

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Atualizações de Software Guia do Usuário

ITIL v3 - Operação de Serviço - Parte 1

PROJETO DE REDES

Gerência de Redes. Arquitetura de Gerenciamento.

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

CATÁLOGO DE SERVIÇOS DIRETORIA DE SUPORTE COMPUTACIONAL VERSÃO 1.0

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

O Uso da Inteligência Competitiva e Seus Sete Subprocessos nas Empresas Familiares

Network Top: Uma Ferramenta Automatizada para Análise e Gerenciamento de Redes

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

PROCEDIMENTOS DE AUDITORIA INTERNA

Sistemas Operacionais. Prof. André Y. Kusumoto

5.1. Análise Comparativa

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

IMPLEMENTAÇÃO DE UM PROTÓTIPO PARA INFORMATIZAÇÃO DE PROCESSO DE ADEQUAÇÃO DE FÉRIAS

NORMA BRASILEIRA DE CONTABILIDADE NBC TSC 4410, DE 30 DE AGOSTO DE 2013

3. Fase de Planejamento dos Ciclos de Construção do Software

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Sistema de informação Leandro Salenave Gonçalves*

Guia de utilização da notação BPMN

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Produto : Datasul, MFT(Faturamento), Datasul Projeto : PCREQ-4786 Data da criação

TechProf Documento de Arquitetura

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Orientação a Objetos

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

ARQUITETURA DE COMPUTADORES

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba

No projeto das primeiras redes de computadores, o hardware foi a principal preocupação e o software ficou em segundo plano.

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

Processos de gerenciamento de projetos em um projeto

REPLICACÃO DE BASE DE DADOS

paradigma WBC Public - compra direta Guia do Fornecedor paradigma WBC Public v6.0 g1.0

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

Q-Acadêmico. Módulo CIEE - Estágio. Revisão 01

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Classificação de Sistemas: Sistemas Empresariais

SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS

Astra LX Frases Codificadas Guia para o processo de Configuração de Frases Codificadas no Programa AstraLX.

SUMÁRIO. White Paper - NETGLOBE 2

Introdução a Banco de Dados Aula 03. Prof. Silvestri

2 Ferramentas Utilizadas

Sistemas de Informação I

TERMO DE USO E POLÍTICA DE PRIVACIDADE

2 Engenharia de Software

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

CÓDIGO CRÉDITOS PERÍODO PRÉ-REQUISITO TURMA ANO INTRODUÇÃO

Objetivos Específico

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

ATIVIDADES PRÁTICAS SUPERVISIONADAS

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Engenharia de Software II

Transcrição:

Artemis: uma Ferramenta de Operação de Eventos para Sistemas de Gerenciamento de Redes de Telecomunicações José Marcos Nogueira, Antonio A.F. Loureiro, Ana Paula R. da Silva, Daniel F. Macedo, Leonardo B. e Oliveira, Fernando A. Teixeira 1 Laboratório de Redes e Sistemas Distribuídos Departamento de Ciência da Computação Universidade Federal de Minas Gerais Belo Horizonte, MG {jmarcos,loureiro,anapaula,damacedo,leob,teixeira}@dcc.ufmg.br Resumo. Este trabalho apresenta o desenvolvimento de uma ferramenta de operação de eventos para apoiar o gerenciamento de redes de telecomunicações chamada Artemis. Ela possibilita aos operadores humanos visões hierarquizadas de plantas de telecomunicações a serem gerenciadas. Dentre suas funcionalidades estão a apresentação de listas, a realização de reconhecimento, a aplicação de filtros, a geração de estatísticas, a abertura de terminais virtuais e de bilhetes de problemas, e a possibilidade de integração com outros sistemas de gerenciamento. O artigo mostra as funcionalidades, o projeto, a implementação, bem como alguns exemplos de uso e dados de desempenho. Abstract. This work presents Artemis, an event operation tool. Its main purpose is to support telecommunication networks management. The tool supports telecommunication management providing hierarchical views of the managed plants. Artemis functionalities include lists and history presentations, events filtering, statistics generation, events acknowledgement, virtual terminals and trouble tickets opening and allows integration with other management systems. This article shows the project and implementation of the tool, its functionalities, as well as some examples that illustrate its use and performance. 1 Introdução O suporte à operação de redes de telecomunicações e redes de computadores de grande porte é uma área de atividade que tem como um dos seus principais requisitos a necessidade de integração de sistemas que apresentam diversidade de características. As redes e elementos de redes são gerenciados muitas vezes por sistemas específicos, através de protocolos de comunicação variados e nem sempre padronizados, com modelos de informação próprios e incompatíveis entre si. A heterogeneidade de fabricantes também é muito comum, seja nos elementos de rede e nas redes, seja nos sistemas de gerenciamento. Embora não constituindo uma idéia nova, o provimento de soluções que levem a ambientes comuns de operação é uma necessidade importante e sempre desejada pelas empresas operadoras de redes. Especificamente, na área funcional de gerenciamento de falhas, na qual o operador humano é parte atuante do ciclo de resolução de problemas, um ambiente comum de trabalho é um fator fundamental para o bom desempenho da atividade. Uma maneira comum de fazer consultas a bases de dados, de visualizar alarmes, de interagir com elementos de redes e outros sistemas é um fator determinante no bom desempenho da operação. Entretanto, as atividades que se beneficiam com ambientes comuns de trabalho não se restringem ao gerenciamento de falhas. De fato, o gerenciamento de eventos de uma forma geral (segurança, configuração) e a execução de comandos para implantação de serviços também são atividades cotidianas dos sistemas de gerenciamento. Article published in 21 Simpósio Brasileiro de Redes de Computadores, pages 913-921, 2003.

O presente trabalho trata desse tema, apresentando o desenvolvimento de uma nova ferramenta para uso de operadores humanos na sua tarefa de supervisionar as redes no dia-a-dia. O elemento motivador para o desenvolvimento de uma nova ferramenta, com características tais como as relacionadas acima, foi a necessidade de evolução das interfaces de operação de um sistema real de suporte à operação de plantas de telecomunicação, o SIS Sistema Integrado de Supervisão [8, 7]. Entretanto, a idéia dessa nova interface é não somente ser aderente à arquitetura do SIS, mas também ser capaz de interagir com outros tipos de sistemas de gerenciamento. O SIS é um sistema que vem sendo desenvolvido ao mesmo tempo em que é utilizado na operação de plantas reais de telecomunicações, portanto um sistema em constante evolução. Suas funcionalidades são incrementadas com freqüência. Do ponto de vista das atribuições que a ele são repassadas, um crescimento constante ocorre em termos de volume de dados coletados e tratados, abrangência geográfica e diversidade de equipamentos gerenciados. Dentre os vários fatores que motivaram a concepção de uma nova ferramenta de operação, os principais são aqui citados: 1) Esses tipos de sistemas são de operação ininterrupta, na modalidade 7 24. A maioria dos operadores humanos fica frente a um terminal gráfico durante toda a sua jornada de trabalho, executando tarefas que se tornam rotineiras em poucos dias. Portanto a ergonomia e usabilidade da interface são importantes para o bom desempenho dos operadores; 2) Para plantas de médio para grande porte, o volume de eventos a serem tratados é de tal forma grande e variado que possibilita a especialização dos operadores em tecnologias como, por exemplo, transmissão, comutação, infra-estrutura, etc. A supervisão da comutação pode ser também sub-especializada, com operadores cuidando de categorias específicas de centrais de comutação, por exemplo; 3) Com o suporte das redes de computadores e enlaces de comunicação confiáveis e de altas taxas de transmissão, é possível aumentar o grau de centralização das operações, levando à redução da quantidade de centros de gerenciamento de rede. Esses, por sua vez, ficam maiores, podendo ser genéricos ou especializados em determinadas áreas funcionais ou mesmo em categorias de equipamentos gerenciados; 4) Uma reorganização administrativa, de integração das empresas regionais em uma só de âmbito nacional, teve como conseqüência a necessidade de uma operação também nacional. Uma mudança de escala da operação da planta em várias dimensões demandou que se colocasse em prática várias idéias que vinham sendo tratadas em um período anterior de observação, tanto pelo pessoal da operação (usuários), quanto pelos desenvolvedores de software. Dessa forma começou o desenvolvimento da ferramenta de operação Artemis, apresentada neste documento. Os objetivos dessa ferramenta, para o atendimento das expectativas dos usuários e para aumentar a eficiência da operação, são basicamente os seguintes: 1) possibilitar uma operação integrada de uma planta extensa, heterogênea, complexa e multi-funcional (telefonia, dados, celular); 2) melhorar o desempenho das ações de gerenciamento (consultas complexas e longas a bases de dados e exibição de resultados na tela), relativamente às interfaces até então existentes; 3) melhorias de usabilidade e ergonomia; 4) portabilidade para diferentes ambientes computacionais, com custo administrativo mínimo. Além desses objetivos, buscou-se preparar a ferramenta para possibilitar a integração ou a inter-operação com sistemas de gerenciamentos distintos, ou seja, não somente o SIS, mas outros sistemas de outros fabricantes. O desenvolvimento da nova ferramenta de operação Artemis ocorreu num contexto e seguiu uma metodologia aqui expostos. A observação do dia-a-dia, como mencionado, bem como medidas de desempenho de operações feitas constituíram o ponto de partida da nova ferramenta. A até então ferramenta preferencial do SIS, candidata à substituição, é denominada SISTerm [10]. Ela executa em sistemas operacionais Solaris e Windows, havendo versões reduzidas para Web. Há várias outras ferramentas específicas, por exemplo para configuração da planta, navegação nas bases de dados e análise de eventos. Todavia, o foco da mudança foi sobre a ferramenta de operação de eventos, a qual possui um uso mais generalizado e que sofreu mais os impactos da evolução da operação. Uma proposta com requisitos iniciais foi apresentada aos usuários, em seguida um protótipo rápido foi gerado. Após a aceitação do protótipo, uma especificação de requisitos detalhada foi elaborada, servindo como base para todo o desenvolvimento que veio a seguir. O desenvolvimento inicial deu-se em laboratório, utilizando-se ora uma base de dados de teste, ora uma base de dados real. Um conjunto mínimo de funcionalidades, que possibilitariam uma operação reduzida, foi colocado em teste de campo na planta real e com operadores inde-

pendentes do desenvolvimento. Novas versões foram sendo elaboradas com melhorias e novas funcionalidades adicionadas, até se chegar a uma versão considerada suficiente para a operação. É importante observar aqui um aspecto peculiar do desenvolvimento. Um requisito existente era que a perturbação da implantação da nova ferramenta na operação deveria ser a menor possível, quase nula. Os testes de campo, feitos no sistema em operação normal, não poderiam gerar erros, principalmente aqueles de alteração de dados ou que levassem a ações erradas dos operadores. Esse tipo de restrição dificultou o desenvolvimento, tornando o processo mais lento. O restante deste artigo está organizado como descrito a seguir. A seção 2 apresenta os principais requisitos e objetivos da Artemis. A seção 3 trata dos aspectos de projeto da Artemis e apresenta sua arquitetura e módulos funcionais. A seção 4 descreve as tomadas de decisão e esforços de implementação. Casos de uso da Artemis em operação são mostrados na seção 5. A seção 6 conclui o artigo. 2 Requisitos do Projeto da Artemis A seguir serão apresentados os principais requisitos que nortearam o desenvolvimento da ferramenta Artemis. Na elaboração da especificação, os pontos considerados mais importantes foram as capacidades de integração, especialização, centralização e descentralização da operação, o desempenho, a portabilidade, a usabilidade e a segurança. O sistema de referência para o projeto da Artemis foi, como dito anteriormente, o SIS. Para compreender melhor o contexto do desenvolvimento, a seguir será exposto brevemente o modelo de operação do SIS. O Modelo de Operação do SIS. Uma planta a ser gerenciada, constituída de equipamentos, sistemas e sub-redes de telecomunicações (chamados de entidades supervisionadas) para o SIS é vista como uma organização hierárquica tendo como base regiões administrativas geográficas. Uma entidade supervisionada pertence, em instância mais baixa, a uma sub-região. Esta, por sua vez é parte de uma região. As regiões juntas constituem uma área ou núcleo. O conjunto de áreas geográficas define a área total gerenciada. Existem outras relações entre entidades supervisionadas e outras entidades do sistema. Por exemplo, estações prediais pertencem a sub-regiões e contém entidades supervisionadas. As estações prediais estão associadas a centros de gerência de rede, locais onde ficam os operadores. A estruturação de uma planta real e do próprio sistema de gerenciamento (dados de configuração) fica armazenada no banco de dados, que é distribuído. Dados de medição, que contém por exemplo alarmes e estados de equipamentos coletados pelo sistema, ficam também armazenados no banco de dados. Dessa forma é possível, a partir de dados de configuração, ter visões hierarquizadas da planta gerenciada através de ferramentas que extraiam informações adequadas do banco de dados. Essas visões, no contexto do SIS, são denominadas visões topológicas ou simplesmente topologias. As várias entidades do sistema têm atributos diversos. Por exemplo, uma entidade supervisionada tem entre seus atributos a especialidade, a classe de atendimento, domínio(s) e estação a que pertence e um agente de gerenciamento associado. Domínio é um atributo construído arbitrariamente com o objetivo de agrupar entidades sob algum critério. Um alarme tem uma severidade associada, um estado de reconhecimento, a identificação do operador que fez o reconhecimento, o instante da ocorrência, etc. Assim, é possível construir visões sob diversos aspectos, aplicando-se filtros sobre os atributos combinados com topologias. O modelo de operação típico para gerenciamento com o SIS, especialmente no caso de falhas e eventos, consiste do seguinte ciclo: um alarme é coletado da planta por um agente que o repassa a seu gerente; o gerente armazena os dados do alarme no banco de dados; um ou mais operadores, através dos terminais de operação, a partir de consultas em forma de listas, periódicas ou sob demanda, supervisionam os alarmes e tomam conhecimento formal dos mesmos (operação de reconhecimento); ações podem ser tomadas para resolução de problemas reportados, entre elas a abertura de bilhetes de problemas ou atuação direta nos equipamentos; quando a falha reportada é normalizada, ou seja, corrigida, a informação chega ao banco de dados vinda do agente. Características e Funcionalidades. A Artemis é uma ferramenta gráfica de operação utilizada

para o gerenciamento de falhas e outros eventos de redes de telecomunicações. Ela necessita apresentar um alto desempenho e uma fácil utilização, pois foi projetada para ser utilizada 24 horas por dia, 7 dias na semana. Características como robustez e correção também são esperadas. A Artemis provê uma visão abrangente e hierarquizada de toda uma planta de telecomunicações gerenciada. A interface da ferramenta Artemis possui uma tela onde o operador pode visualizar desde os níveis mais abrangentes como, por exemplo, as regiões do país onde a planta de telecomunicações atua, até o nível de entidade supervisionada, que pode ser um elemento de rede, um processo ou qualquer outro recurso físico ou lógico. O caminhamento na estrutura visualizada permite uma transição suave entre as diversas vistas. O acesso às informações das unidades de operação para consultas ou alterações segue restrições baseadas em direitos de acesso, definidas externamente nos sistemas de gerenciamento, para cada um dos usuários. Além da visualização de toda a planta, a Artemis provê as seguintes funcionalidades: 1) Apresentação de listas de eventos, de entidades supervisionadas e de estações onde se encontram as entidades supervisionadas; 2) Possibilidade de definir diferentes filtros sobre as listas, como filtros de grau de severidade de eventos, especialidade de equipamentos, reconhecimento de alarmes, etc.; 3) Apresentação de estatísticas sobre os eventos; 4) Possibilidade de reconhecimento de alarmes por parte dos operadores, com registro dos dados do responsável; 5) Possibilidade de se obter informações além daquelas apresentadas nas listas, tais como o nome do operador que reconheceu o evento, o par agente-gerente responsável pela monitoração da entidade supervisionada e a sua localização; 6) Apresentação de histórico de eventos; 7) Abertura de terminais para execução de comandos nos equipamentos supervisionados; 8) Programação da frequência de atualização das listas; 9) Possibilidade de abertura de bilhetes de problemas em sistemas externos. É possível a abertura de listas em diversos contextos ao mesmo tempo. A busca das informações em diferentes bases de dados ou sistemas de gerenciamento, caso necessário, ocorre de forma paralela. A possibilidade de monitorar simultaneamente eventos de várias áreas ou regiões pertencentes ou não ao mesmo nível de topologia faz com que o desempenho da Artemis seja um aspecto extremamente importante a ser considerado devido à grande quantidade de dados envolvidos nesses casos. A aplicação de filtros sobre as listas é feita de forma independente para cada lista, ou seja, cada lista pode possuir sua própria expressão de filtro, que é aplicada para o contexto definido para a lista. As estatísticas sobre os eventos aparecem de forma individualizada ou em grupo. Cada lista contém os gráficos estatísticos relativos aos eventos exibidos na mesma. Caso se deseje observar estatísticas sobre o número de eventos em um nível maior de abrangência, basta solicitar uma lista no nível de abrangência desejado, o que pode incluir toda a planta de telecomunicações gerenciada. Isto se faz necessário devido à dinamicidade dos dados de medição coletados constantemente. É possível fazer combinações em uma mesma lista de dados oriundos de diferentes sistemas ou bases de dados. Essas combinações de dados devem ser feitas sob filtros de domínio, com o intuito de facilitar a especialização da operação. Um usuário especialista pode trabalhar na visão de apenas um determinado domínio como, por exemplo, de uma certa tecnologia de fabricação de equipamentos. A sua lista de eventos então teria todos os equipamentos fabricados sob esta tecnologia pertencentes a diferentes regiões topológicas. Em relação à usabilidade, considera-se que o operador utilizará a Artemis continuamente, passando muitas horas em frente à sua interface. Como são muitas as possibilidades de operação, e muitas as informações a serem apresentadas, é importante que o espaço da interface da ferramenta seja bem aproveitado. O usuário tem acesso direto às informações mais relevantes, e maiores detalhes poderão ser acessados mediante ação do mesmo. O operador pode ter com facilidade uma noção geral de todas as possibilidades de operação. O acesso a cada operação ou informação desejada é feito de forma rápida e intuitiva, utilizando, por exemplo, ícones representativos ao

invés de textos. A organização dos dados na tela do operador é flexível, de forma que o mesmo pode dispor as telas da maneira que desejar. Recursos como pop-up menus, tool-tips em ícones, cores representativas nas listas, bem como ordenação das listas por qualquer campo e movimentação das colunas das listas são oferecidos de forma a facilitar a operação da Artemis. São apresentadas mensagens de erro e avisos. A ferramenta Artemis possibilita a personalização, um de seus pontos fortes. Esta característica é obtida por meio de uma funcionalidade que permite ao usuário especificar com quais atributos, de que tipo e de quais entidades supervisionadas são os dados que serão monitorados. Para isto, o operador do sistema aproveita-se de expressões booleanas e regulares, filtros por atributos (tipo, classe ou outro atributo dos dados monitorados), bem como da escolha individual de nodos que representam dispositivos ou conjuntos de dispositivos pertencentes à topologia da rede monitorada. Considerando o ambiente de operação heterogêneo, a aplicação teve como requisito a portabilidade. O código compilado é capaz de ser executado nos mais variados Sistemas Operacionais (Linux, Unix ou Windows) e arquiteturas (Intel, Sparc, etc). A ferramenta Artemis possibilita a ampliação de funcionalidades, assim como a integração a novos sistemas de forma rápida e eficaz. Para tanto, seu projeto buscou uma grande modularização, utilizando uma linguagem orientada por objeto e se baseando em Design Patterns [4]. O sistema foi projetado para ter um custo de desenvolvimento e de uso (licenças de utilização) reduzidos. Para isso, os desenvolvedores utilizaram ferramentas de desenvolvimento e bibliotecas de domínio público. A Artemis apresenta independência de localização geográfica ou lógica. 3 Projeto O projeto da ferramenta Artemis levou a um sistema dividido em módulos que interagem entre si. Basicamente, existem quatro módulos: módulos de Aquisição de Dados, Gerência de Dados, Visualização dos Dados e Autenticação. Os módulos comunicam entre si através de interfaces pré-estabelecidas. Essa divisão em módulos possibilita que o sistema seja facilmente adaptado para adicionar novas funcionalidades, como novos protocolos de gerenciamento. Tal estratégia é crucial em grandes plantas de telecomunicação. O sistema desenvolvido, devido à sua construção modular, pode adaptar-se facilmente a mudanças na interface de usuário ou na interface de comunicação com os sistemas de gerenciamento. A figura 1 apresenta a arquitetura de alto nível da Artemis. Aquisição de Dados. O módulo de Aquisição de Dados se comunica com os sistemas de gerenciamento para fazer consultas ou mesmo executar comandos. Este módulo possui subsistemas de comunicação responsáveis por obter dados utilizando protocolos ou APIs específicas. Os subsistemas podem se conectar diretamente aos dispositivos de rede utilizando protocolos (por exemplo, SNMP), bem como podem requisitar dados para um servidor, via banco de dados (JDBC, ODBC) ou chamada de procedimento remoto (RPC, RMI, CORBA). A conexão com sistemas proprietários pode ser feita utilizando bibliotecas fornecidas pelo fabricante, ou através de aplicativos existentes. Esses subsistemas obtém dados de suas fontes que são traduzidos para o modelo de dados utilizado internamente na Artemis. Gerência de Dados. O controle do funcionamento da Artemis é feito pelo módulo Gerência de Dados. Ele mantém uma estrutura para armazenamento dos dados que representam a topologia da rede gerenciada, as entidades gerenciadas com suas características e estados atuais, incluindo os eventos associados. Os dados armazenados são obtidos pelo módulo Aquisição de Dados a partir de requisições, periódicas ou não, do módulo Gerência de Dados. Toda a informação é armazenada em estruturas de dados internas, para que os mesmos sejam facilmente manipuláveis. Tais estruturas foram desenhadas levando em conta a importância da fácil integração com vários

sistemas de gerência. Este módulo também é responsável pelo processamento dos dados. É aqui que resultados como relatórios e estatísticas de eventos são gerados. Módulo de Autenticação. Este módulo gerencia a segurança do software e o processo de identificação do usuário nos diversos sistemas de gerência. Ele requisita ao usuário que se identifique no início da execução, para fins de controle do uso da ferramenta. Esta informação é guardada para ser usada pelo módulo de Aquisição de dados sempre que algum serviço ou biblioteca usada precise de autenticação. Visualização de Dados. Este módulo é a interface com o usuário ou operador. Ele é responsável por apresentar todas as informações para os usuários, tendo como objetivo prover um uso da ferramenta Artemis bastante simplificado e intuitivo. Este módulo exibe na tela representações gráficas da topologia, listas, gráficos de estatísticas, relatórios, etc. Além disso, este módulo provê a personalização da interface da ferramenta. Figura 1: Arquitetura da Ferramenta Artemis 4 Aspectos de Implementação Apresentaremos a seguir alguns aspectos da implementação da interface, buscando discutir decisões de implementação importantes. Linguagem de Programação. A linguagem de programação escolhida para a implementação da ferramenta Artemis foi a linguagem Java [5]. Por ser orientada por objetos, o código tende a ser mais encapsulado e modular, característica crucial em projetos de grande porte, como na Artemis. Além disso, foram utilizadas técnicas de programação modernas como Design Patterns. A linguagem utiliza extensivamente os padrões Model-View-Controller [3] (para aplicações que possuem interface com o usuário) e Observer/Observable [4], que possibilitam maior modularização do código. Além disso, Java possui extensas interfaces de programação de aplicações (Applications Program Interfaces APIs) que possibilitam a interação com diferentes sistemas (RMI, JDBC, Remote Tea ONC/RPC, etc) [9]. Usabilidade. A facilidade de uso foi obtida através da utilização de tool-tips, botões com ícones e abas de telas com funções bem definidas. Além disso, a personalização da interface, feita com a aplicação de filtros e agrupamentos de dados, possibilita ao usuário a oportunidade de criar uma área de trabalho própria, onde estarão exibidos os elementos da hierarquia e equipamentos utilizados mais freqüentemente pelo operador. Esses perfis de uso facilitam o trabalho, notadamente quando a quantidade de dados é muito grande, filtrando apenas as informações relevantes. Segurança. Por enquanto, a identificação do usuário é obtida a partir de uma requisição ao sistema operacional. De posse desta informação, a Artemis então verifica via Network Information System (NIS) se o usuário é valido e quais são suas permissões no sistema. Robustez e desempenho. Diversas ferramentas de medição de consumo de CPU, memória, largura de banda, execução de tarefas e velocidade da rede, tais como WMnet, Gkrellm, XLoad, Top, MRTG [6], foram utilizadas para identificar pontos de menor desempenho da Artemis e então melhorá-los. Esforço de desenvolvimento. O desenvolvimento, desde a especificação de requisitos até a exe-

(a) Tela de Hierarquia (b) Tela de Listas de Eventos Figura 2: Interfaces de visualização de (a) hierarquia e de (b) lista de eventos cução dos testes em campo, mobilizou um grande número de pessoas e recursos. Foram gastas, em média, 3000 horas, sendo que a ferramenta possui um código de aproximadamente 30.000 linhas. Correção do software e Testes. Algumas das técnicas empregadas para que um bom nível de correção de software fosse alcançado foram liberações sucessivas, comentários e observações de usuários e utilização de ferramentas de auxílio no desenvolvimento de código. O utilitário Concurrent Versions System (CVS) [2] foi usado para facilitar e agilizar a consistência entre as diversas instâncias do código fonte da ferramenta Artemis que eram desenvolvidas em paralelo. Para gerenciar os erros e pendências do sistema foi utilizada a ferramenta Bugzilla [1]. 5 A Interface em Operação A seguir serão mostradas algumas telas da interface gráfica, bem como um breve estudo do desempenho da Artemis. Os exemplos foram retirados de telas com dados obtidos na planta de dados do SIS. A Tela de Hierarquia exibida na figura 2 (a) apresenta a visão da planta de telecomunicações do ponto de vista de uma área ou núcleo. Hierarquicamente abaixo do Núcleo, estão as Unidade Centrais Regionais (UCRs) e abaixo delas as Unidades Centrais Secundárias (UCSs). As UCSs abragem as Estações que são onde os Elementos Supervisionados estão contidos. A partir dessa Tela é possível requerer-se listas de qualquer um dos níveis de hierarquia citados. As listas de eventos são exemplificadas na figura 2 (b), onde se vê em primeiro plano a tela Lista de Eventos. Nas listas existem tuplas que descrevem em detalhes os eventos ocorridos no ambiente monitorado. Cada tupla se relaciona a um evento específico e os atributos descrevem características como a data em que o evento ocorreu, severidade, tipo, descrição e se algum operador já se responsabilizou por sua resolução. Essa lista continha, no momento de sua solicitação, exatos 783 eventos. O tempo de obtenção da lista foi de apenas 3 segundos, incluindo consulta e exibição. A partir desse plano, diversas ações sobre a lista podem ser efetuadas. Acima da lista existem 4 botões que correspondem respectivamente às ações de Reconhecimento, Histórico, Abertura de Terminal e Ajuda do Evento. As ações de Reconhecimento e Histórico registram os reconhecimentos e retornam históricos de eventos, respectivamente. A Abertura de Terminal possibilita

Área MG e ES Lista Estações Lista Equipamentos Lista Eventos Número de Elementos 1597 17699 783 Ferramenta SISTerm Artemis SISTerm Artemis SISTerm Artemis Tempo de latência 1min 40s 6s 3min 48s 1 min 20s 10s 8s Tabela 1: Comparação de tempos de obtenção e exibição de listas no SISTerm e na Artemis ao usuário acessar remotamente uma entidade para operação. A Ajuda do Evento apresenta informações adicionais sobre um evento específico. Todas as quatro funções podem ser também acessadas através de pop-up menus. O plano de Filtros possui botões e telas de construção de expressões regulares ou booleanas a fim de que os eventos possam ser filtrados. Estes mesmos filtros podem também ser aplicados através da Lista de Eventos, no resumo de filtros localizado abaixo da lista. O plano de Estatísticas, como mostrado na figura 3, exibe gráficos que representam a porcentagem de eventos em termos de severidade e reconhecimento. A Lista de Eventos também possui um resumo de estatísticas. Para verificar a diferença de desempenho entre a interface de uso corrente Figura 3: Estatísticas de Eventos no SIS (SISTerm) e a interface Artemis, foram feitas diversas medições. Na maioria dos casos a Artemis se mostrou mais rápida, havendo casos de uma eficiência 15 vezes maior, como mostrado na tabela 1. O impacto de tais diferenças é muito significativo na operação. 6 Conclusão Este trabalho apresentou uma ferramenta ou interface de operação para gerenciamento de eventos em sistemas de gerenciamento de redes de telecomunicações, a ferramenta Artemis. O projeto atendeu aos objetivos iniciais, gerando um produto com características bastante satisfatórias. Seu desempenho, um dos principais fatores motivadores do desenvolvimento, ficou de acordo com as expectativas dos usuários. O passo seguinte do ciclo de vida da Artemis é a sua colocação em operação. Quanto ao desenvolvimento, estão previstas atividades para integrá-la a outros sistemas de gerenciamento. Equipe e Agradecimentos A concepção e desenvolvimento da Artemis foi resultado do trabalho de uma equipe grande de profissionais e estudantes. Além dos autores, participaram do projeto em uma ou outra fase, as seguintes pessoas: Sérgio de Oliveira, Cláudio Márcio de Souza Vicente, Waldir Ribeiro Pires Júnior, Daniel Scaldaferri Lages, Rodrigo Tadeu Gonçalves Silveira, Elton Corrêa de Almeida, Fernando Lages Rodrigues. Referências [1] Bugzilla. http://www.bugzilla.com/. [2] Concurrent versions system. http://www.cvshome.org/. [3] Cay S. Horstmann & Gary Cornell. Core Java - Volume 1 - Fundamentos. Makron Books, 1999. [4] Mark Grand. Patterns in Java - Volume 1. John Wiley & Sons, Inc, 1998.

[5] http://java.sun.com/. [6] Mrtg - multi router traffic grapher. http://www.mrtg.org. [7] Dilmar M. Nogueira, Jose Marcos S. & Meira. The sis project: A distributed platform for the integration of telecommunication management systems. IEEE/IFIP 1996 Network Operations and Management Symposium - NOMS 96, 1996. [8] Projeto sis. http://www.sis.dcc.ufmg.br/. [9] Remote tea onc/rpc for java. http://acplt.plt.rwth-aachen.de/ks/english/remotetea.html. [10] Equipe SIS. Sistema Integrado de Supervisão - Manual do Operador. SIS-DCC-UFMG, 2000. http://www.sis.dcc.ufmg.br/sis2/utils.cgi.