Por

ANTONIO MENDES DA SILVA FILHO
Professor do Departamento de Informática da UEM. Doutor em Ciência da Computação

Versão para impressão [WINZIP]

 

Detecção de falhas em Sistemas de Telecomunicações

 

Hoje em dia, os sistemas de software têm um papel de suma importância na operação de redes de telecomunicações. O constante crescimento desses sistemas tanto em tamanho quanto em complexidade tornam eles extremamente difíceis de terem o software exaustivamente testado a fim de assegurar que eles desempenhem as funcionalidades especificadas.

A história das telecomunicações tem mostrado uma clara tendência em direção à detecção automática de falhas. Note que se isto é feito em tempo real, permite-se que ações corretivas sejam tomadas antes que falhas afetem a qualidade  ou mesmo sejam percebidas pelos usuários dos serviços de telecomunicações.

Essa tendência tem sido evidente em hardware. Por exemplo, no entroncamento (i.e. elo de comunicação) entre estações de telecomunicações, a confiança inicial que antes recaía sobre o relato de usuários relativo a problemas de transmissão passou então para o procedimento de testes periódicos de entroncamentos quando do advento dos troncos digitais e, em seguida, para a monitoração contínua das taxas de erro. Por outro lado, a detecção automática de falhas de software tem caminhado a passos menores.

No momento, os provedores de serviços de telecomunicações fazem uso de um conjunto de medidas especiais, incluindo temporizadores de sentinela (também conhecidos como watchdog timers), auditores de software e chamadas de testes. Apenas uma fração de relatos de problemas de campo são eventualmente rastreados às causas de software.

Todavia, com o crescente uso de software para implementação das funcionalidades dos serviços de telecomunicações, a necessidade por detecção automática de falhas de software tem-se tornado um item imprescindível. Além disso, com as tendências atuais de redes com múltiplos fornecedores, nas quais a localização de falhas de software têm um papel crítico, exige-se que o suporte à detecção automática de falhas.

Dentro deste contexto, diversas abordagens têm sido propostas para elevar o nível de confiabilidade de software de sistemas bem como para prover suporte a tolerância a falhas. Três das principais técnicas, relatadas na literatura pertinente,  para melhorar a confiabilidade de software na fase operacional de sistemas compreendem N-Version Programming (NVP), Recovery Blocks (RB) e Software Audits (SA). Essas técnicas são agrupadas junto com a  de Supervisão de Software (SS) na tabela 1 em função de suas características, incluindo a capacidade de  supressão de falhas e a granulosidade de aplicação.

Abordagem

Granulosidade de Aplicação

Capacidade de Supressão de Falhas

NVP

grande

total

RB

pequena

total

AS

pequena

parcial

SS

grande

pequena

Tabela 1: Técnicas de Melhoria da Confiabilidade de Software na Fase Operacional.

Embora NVP, RB e AS tenham demonstrado com seu uso uma redução na quantidade de falhas de software, elas possuem custo elevado. Por outro lado, outra técnica para melhoria indireta da confiabilidade de software, i.e. SS, possui custo menor comparativamente às demais nem tampouco requer desenvolvimento de várias outras versões de software. Supervisão de software (SS) é uma técnica que faz uso da especificação do sistema supervisionado a fim de detectar falhas em seu estágio operacional.

Uma questão importante a ser destacada quanto a técnica de supervisão de software é que considera-se a suposição de que não existe erros de especificação. Uma discussão mais detalhada sobre esse tópico irá aparecer no artigo intitulado “Automatic Detection of Service Degradations in Telecom Systems” dos anais do 14th IEEE International Symposium on Software Reliability Engineering.

ANTONIO MENDES DA SILVA FILHO

     



http://www.espacoacademico.com.br - Copyright © 2001-2003 - Todos os direitos reservados