998 resultados para Injecao : Falhas
Resumo:
Técnicas de tolerância a falhas visam a aumentar a dependabilidade dos sistemas nos quais são empregadas. Entretanto, há necessidade de garantir a confiança na capacidade do sistema em fornecer o serviço especificado. A validação possui como objetivo propiciar essa garantia. Uma técnica de validação bastante utilizada é a injeção de falhas, que consiste na introdução controlada de falhas no sistema para observar seu comportamento. A técnica de injeção de falhas acelera a ocorrência de falhas em um sistema. Com isso, ao invés de esperar pela ocorrência espontânea das falhas, pode-se introduzi-las intencionalmente, controlando o tipo, a localização, o disparo e a duração das falhas. Injeção de falhas pode ser implementada por hardware, software ou simulação. Neste trabalho são enfocadas técnicas de injeção de falhas por software, desenvolvidas nos níveis da aplicação e do sistema operacional. O trabalho apresenta o problema da validação, através da injeção de falhas, de um protocolo de troca de pacotes. Enfoque especial é dado ao impacto resultante da inclusão de um módulo extra no protocolo, uma vez que o mesmo apresenta restrições temporais. O trabalho investiga alternativas de implementação de injetores de falhas por software que minimizem este impacto. Tais alternativas referem-se a localização do injetor de falhas no sistema, a forma de ativação das atividades do injetor de falhas e a operação de injeção de falhas em si. Um toolkit para experimentos de intrusão da injeção de falhas é apresentado. O alvo da injeção de falhas é um protocolo com característica tempo real. O toolkit desenvolvido, denominado INFIMO (INtrusiveless Fault Injector MOdule), visa a analisar, de forma experimental, a intrusão do injetor de falhas sobre o protocolo alvo. O INFIMO preocupa-se com protocolos com restrições temporais por esses constituírem um desafio sob o ponto de vista de injeção de falhas. O INFIMO suporta falhas de comunicação, as quais podem ocasionar a omissão de alguns pacotes. O INFIMO apresenta duas ferramentas de injeção de falhas: INFIMO_LIB, implementada no nível da aplicação e INFIMO_DBG implementada com auxílio de recursos do sistema operacional. Destacam-se ainda como contribuições do INFIMO a definição e a implementação do protocolo alvo para experimentos de injeção de falhas, o protocolo INFIMO_TAP. Além disso, o INFIMO apresenta métricas para avaliação da intrusão provocada pelo injetor de falhas no protocolo alvo.
Resumo:
O presente trabalho realiza uma validação experimental, através da técnica de injeção de falhas por software, de sistemas de informações que utilizam gerenciadores de banco de dados distribuídos comerciais. Estes experimentos visam a obtenção de medidas da dependabilidade do SGBD utilizado, levantamento do custo de seus mecanismos de tolerância a falhas e a real aplicabilidade de SGBDs comerciais em sistemas de missão crítica. Procurou-se avaliar e validar as ferramentas de injeção de falhas utilizadas, no caso específico deste trabalho a ComFIRM e o FIDe. Inicialmente são introduzidos e reforçados os conceitos básicos sobre o tema, que serão utilizados no decorrer do trabalho. Em seguida são apresentadas algumas ferramentas de injeção de falhas em sistemas distribuídos, bem como os modelos de falhas em banco de dados distribuídos. São analisados alguns estudos de aplicação de ferramentas de injeção de falhas em bancos de dados distribuídos. Concluída a revisão bibliográfica é apresentado o modelo de software e hardware que foi implementado, destacando o gerador de cargas de trabalho GerPro-TPC e o gerenciador de injeções e resultados GIR. O GerPro-TPC segue as especificações TPC-c para a simulação de um ambiente transacional comercial padrão e o GIR realiza a integração das ferramentas de injeção de falhas utilizadas, bem como a elaboração do cenário de falhas a injetar e a coleta dos resultados das falhas injetadas. Finalmente são descritos os experimentos realizados sobre o SGBD PROGRESS. São realizados 361 testes de injeções de falhas com aproximadamente 43.000 falhas injetadas em experimentos distintos. Utiliza-se dois modelos de falhas: um focado em falhas de comunicação e outro em falhas de hardware. Os erros resultantes das falhas injetadas foram classificados em erros ignorados/mascarados, erros leves, erros graves e erros catastróficos. Dos modelos de falhas utilizados as que mais comprometeram a dependabilidade do SGBD foram as falhas de hardware. As falhas de comunicação somente comprometeram a disponibilidade do sistema alvo.
Resumo:
Nos ultimos anos, com a crescente popularização das redes de computadores baseadas no protocolo IP, desde pequenas redes até metropolitanas começaram a se agrupar e a fazer do que hoje se conhece como a rede mundial de computadores.Apesar dos benefícios de comunicação e troca de informação da Internet, esse feômeno global também trouxe problemas de segurança, pois a origem e estrutura dos protocolos utilizados na comunicação entre as diversas máquinas limitam as possibilidades de prevenir, identificar ou detectar possíveis ataques ou intrusos. Assim, várias ferramentas surgiram para prevenir e auxiliar na tarefa de identicar problemas de segurança nas redes como firewalls, sniffers e sistemas de detecção de intrusão. Apesar dos benefícios trazidos por essas novas tecnologias, surgiram muitas dúvidas referentes a segurança que esses recursos proporcionam. Afinal, o desenvolvimento e validação desses sistemas são procedimentos bastante complexos e, freqüentemente, esses sitemas têm se tornado o alvo primário de um atacante. O resultado disso, não raramente, é uma falsa noção de segurança devido à utilização inadequada desses mecanismos, o que é, normalmente, mais prejudicial do que a simples inexistência de segurança em uma organização, mas cujas falhas são conhecidas por seus administradores. A realização de testes para verificação da segurança de uma organização é uma atividade fundamental a fim de alcançar um ambiente operacional seguro e de verificar a correta aplicação dos requisitos de segurança de uma organização.O uso de testes permite a uma empresa verificar com precisão a postura de segurança utilizada em seus sistemas ao mesmo tempo em que permite visualizar a sua rede da mesma maneira que um atacante a visualizaria. Ao visualizar a rede como atacante, pode-se verificar com que facilidade obtém-se informações da rede, quais suas fragilidades e a dificuldade que se tem para invadí-la. Assim, obtém-se uma visão mais realista da segurança de uma organização. Além de técnicas para a avaliação, é muito importante que se possua ferramentas para a realização desses testes. Assim, é possível automotizar a realização de testes e verificar com maior facilidade a existência de problemas em uma rede. A existência de ferramentas que testem sistemas de segurnaça é extremamente importante e necessária, pois, afinal, a segurança de toda uma rede pode depender fortemente de algum desses sistemas. Este trabalho apresenta as técncias existentes para a injecção de falhas visando verificar as que são mais eficientes para a valiação de sistemas de segurança de rede. Adicionalmente são apresentadas algumas técnicas para o teste de mecanismos de segurança e algumas ferramentas existentes para a realizão de tais testes. A partir desses estudos, é apresentado um modelo de ferramenta adequando as funções de um sistema de injeção de falhas ao teste de mecanismos de segurança em rede. Um protótipo essa ferramenta foi desenvolvido e é apresentado neste trabalho. Esse protótipo permite o envio e o recebimento de pacotes da pilha TCP/IP, podendo testar problemas em protocolos e sistemas utilizados na rede. E, através da utilização de plug-ins, permite que diversos tipos de ataque mais sofisticados possam ser realizados.
Resumo:
O presente trabalho explora a aplicação de técnicas de injeção de falhas, que simulam falhas transientes de hardware, para validar o mecanismo de detecção e de recuperação de erros, medir os tempos de indisponibilidade do banco de dados após a ocorrência de uma falha que tenha provocado um FUDVK. Adicionalmente, avalia e valida a ferramenta de injeção de falhas FIDe, utilizada nos experimentos, através de um conjunto significativo de testes de injeção de falhas no ambiente do SGBD. A plataforma experimental consiste de um computador Intel Pentium 550 MHz com 128 MB RAM, do sistema operacional Linux Conectiva kernel versão 2.2.13. O sistema alvo das injeções de falhas é o SGBD centralizado InterBase versão 4.0. As aplicações para a carga de trabalho foram escritas em VFULSWV SQL e executadas dentro de uma sessão chamada LVTO. Para a injeção de falhas foram utilizadas três técnicas distintas: 1) o comando NLOO do sistema operacional; 2) UHVHW geral no equipamento; 3) a ferramenta de injeção de falhas FIDe, desenvolvida no grupo de injeção de falhas do PPGC da UFRGS. Inicialmente são introduzidos e reforçados os conceitos básicos sobre o tema, que serão utilizados no decorrer do trabalho e são necessários para a compreensão deste estudo. Em seguida é apresentada a ferramenta de injeção de falhas Xception e são também analisados alguns experimentos que utilizam ferramentas de injeção de falhas em bancos de dados. Concluída a revisão bibliográfica é apresentada a ferramenta de injeção de falhas – o FIDe, o modelo de falhas adotado, a forma de abordagem, a plataforma de hardware e software, a metodologia e as técnicas utilizadas, a forma de condução dos experimentos realizados e os resultados obtidos com cada uma das técnicas. No total foram realizados 3625 testes de injeções de falhas. Com a primeira técnica foram realizadas 350 execuções, com a segunda técnica foram realizadas 75 execuções e com a terceira técnica 3200 execuções, em 80 testes diferentes. O modelo de falhas proposto para este trabalho refere-se a falhas de crash baseadas em corrupção de memória e registradores, parada de CPU, aborto de transações ou reset geral. Os experimentos foram divididos em três técnicas distintas, visando a maior cobertura possível de erros, e apresentam resultados bastante diferenciados. Os experimentos com o comando NLOO praticamente não afetaram o ambiente do banco de dados. Pequeno número de injeção de falhas com o FIDe afetaram significativamente a dependabilidade do SGBD e os experimentos com a técnica de UHVHW geral foram os que mais comprometeram a dependabilidade do SGBD.
Resumo:
Este trabalho trata da técnica de validação experimental de protocolos de comunicação confiável, através da injeção de falhas de comunicação. São estudadas inicialmente as técnicas de injeção de falhas, por hardware, software e simulação, e então são aprofundados os conceitos de injeção de falhas de comunicação, modelos de falha e especificação de experimentos de injeção de falhas. Em um segundo momento, são estudadas as formas de implementação de injetores de falhas em software, em suas duas formas mais comuns: no nível da aplicação e no nível do sistema operacional. São comentados os impactos da implementação de injetores no código da aplicação, por processos concorrentes à aplicação, em código utilizado pela aplicação e no meta-nível. Por fim, são estudados também que influências sofre a implementação de um injetor de falhas em um sistema operacional, e mais especificamente a de injetores de falhas de comunicação. O objetivo específico deste trabalho é implementar um injetor de falhas de comunicação bastante abrangente e flexível, situado dentro do núcleo do Sistema Operacional Linux. Para viabilizar esta implementação foi estudada também a arquitetura do Sistema Operacional Linux, sua decomposição em subsistemas e a interação entre estes. Foram estudadas também as várias técnicas de programação e mecanismos que o Sistema Operacional Linux fornece aos seus subsistemas. Estando completas a revisão bibliográfica a respeito de injeção de falhas e o estudo do código do Sistema Operacional Linux, são apresentadas a proposta e a implementação da ferramenta ComFIRM—Communication Fault Injection through Operating System Resource Modification, suas características e sua inserção dentro do núcleo do Sistema Operacional Linux. Finalizando este trabalho, são apresentados uma pequena série de testes de funcionamento e experimentos realizados com a ferramenta ComFIRM, visando demonstrar a correção de seu funcionamento, o cumprimento de seus objetivos e também sua praticidade e flexibilidade de uso. São apresentadas as conclusões deste trabalho, propostas de melhorias à ferramenta apresentada, bem como possibilidades de trabalhos futuros.
Resumo:
Uma etapa fundamental no desenvolvimento de sistemas tolerantes a falhas é a fase de validação, onde é verificado se o sistema está reagindo de maneira correta à ocorrência de falhas. Uma das técnicas usadas para validar experimentalmente um sistema é injeção de falhas. O recente uso de sistemas largamente distribuídos para execução dos mais diversos tipos de aplicações, faz com que novas técnicas para validação de mecanismos de tolerância a falhas sejam desenvolvidas considerando este novo cenário. Injeção de falhas no sistema de comunicação do nodo é uma técnica tradicional para a validação de aplicações distribuídas, para forçar a ativação dos mecanismos de detecção e recuperação de erros relacionados à troca de mensagens. A condução de experimentos com injetores de comunicação tradicionais é feita pelo uso do injetor em uma máquina do sistema distribuído. Se o cenário desejado é de múltiplas falhas, o injetor deve ser instanciado independentemente nas n máquinas que as falhas serão injetadas. O controle de cada injetor é individual, o que dificulta a realização do experimento. Esta dificuldade aumenta significativamente se o cenário for um sistema distribuído de larga escala. Outro problema a considerar é a ausência de ferramentas apropriadas para a emulação de determinados cenários de falhas. Em aplicações distribuídas de larga escala, um tipo comum de falha é o particionamento de rede. Não há ferramentas que permitam diretamente a validação ou a verificação do processo de defeito de aplicações distribuídas quando ocorre um particionamento de rede Este trabalho apresenta o estudo de uma abordagem para injeção de falhas que permita o teste de atributos de dependabilidade de aplicações distribuídas de pequena e larga escala implementadas em Java. A abordagem considera a não obrigatoriedade da alteração do código da aplicação sob teste; a emulação de um cenário de falhas múltiplas que ocorrem em diferentes nodos, permitindo o controle centralizado do experimento; a validação de aplicações que executem em sistemas distribuídos de larga escala e consideram um modelo de falhas realista deste tipo de ambiente, incluindo particionamentos de rede. A viabilidade da abordagem proposta é mostrada através do desenvolvimento do protótipo chamado FIONA (Fault Injector Oriented to Network Applications), o qual atualmente injeta falhas em aplicações desenvolvidas sob o protocolo UDP.
Resumo:
A execução de testes é um passo essencial na adoção de novos protocolos de comunicação e sistemas distribuídos. A forma com que estes se comportam na presença de falhas, tão comuns em ambientes geograficamente distribuídos, deve ser conhecida e considerada. Testes sob condições de falha devem ser realizados e as implementações devem trabalhar dentro de sua especificação nestas condições, garantindo explicitamente o funcionamento dos seus mecanismos de detecção e recuperação de erros. Para a realização de tais testes, uma técnica poderosa é a injeção de falhas. Ferramentas de injeção de falhas permitem ao projetista ou engenheiro de testes medir a eficiência dos mecanismos de um sistema antes que o mesmo seja colocado em operação efetiva. Este trabalho apresenta o projeto, desenvolvimento e teste do injetor de falhas FIRMAMENT. Esta ferramenta executa, dentro do núcleo do sistema operacional, microprogramas, ou faultlets, sobre cada mensagem processada para a emulação de situações de falha de comunicação, utilizando uma abordagem de scripts. A ferramenta é implementada como um módulo de núcleo do sistema operacional Linux, tendo acesso total aos fluxos de entrada e saída de pacotes de forma limpa e não intrusiva, permitindo o teste de sistemas baseados nos protocolos IPv4 e IPv6. Seu desempenho é significativo, já que a ferramenta evita que os mecanismos de injeção de falhas sejam invocados nos fluxos que não sejam de interesse aos testes, bem como dispensa a cópia de dados dos pacotes de comunicação a serem inspecionados e manipulados. A aplicabilidade da ferramenta, dada pela sua facilidade de integração a um ambiente de produção, é conseqüência de sua disponibilidade como um módulo de núcleo, podendo ser carregada como um plugin em um núcleo não modificado. As instruções por FIRMAMENT suportadas lhe dão alto poder de expressão dos cenários de falhas. Estas instruções permitem a inspeção e seleção de mensagens de forma determinística ou estatística. Além disso, fornecem diversas ações a serem realizadas sobre os pacotes de comunicação e sobre as variáveis internas do injetor, fazendo-o imitar o comportamento de falhas reais, como descarte e duplicação de mensagens, atraso na sua entrega e modificação de seu conteúdo. Estas características tornam a ferramenta apropriada para a realização de experimentos sobre protocolos e sistemas distribuídos.
Resumo:
O trabalho apresentado nesta dissertação refere-se à concepção, projecto e realização experimental de um conversor estático de potência tolerante a falhas. Foram analisados trabalhos de investigação sobre modos de falha de conversores electrónicos de potência, topologias de conversores tolerantes a falhas, métodos de detecção de falhas, entre outros. Com vista à concepção de uma solução, foram nomeados e analisados os principais modos de falhas para três soluções propostas de conversores com topologias tolerantes a falhas onde existem elementos redundantes em modo de espera. Foram analisados os vários aspectos de natureza técnica dos circuitos de potência e guiamento de sinais onde se salientam a necessidade de tempos mortos entre os sinais de disparo de IGBT do mesmo ramo, o isolamento galvânico entre os vários andares de disparo, a necessidade de minimizar as auto-induções entre o condensador DC e os braços do conversor de potência. Com vista a melhorar a fiabilidade e segurança de funcionamento do conversor estático de potência tolerante a falhas, foi concebido um circuito electrónico permitindo a aceleração da actuação normal de contactores e outro circuito responsável pelo encaminhamento e inibição dos sinais de disparo. Para a aplicação do conversor estático de potência tolerante a falhas desenvolvido num accionamento com um motor de corrente contínua, foi implementado um algoritmo de controlo numa placa de processamento digital de sinais (DSP), sendo a supervisão e actuação do sistema realizados em tempo-real, para a detecção de falhas e actuação de contactores e controlo de corrente e velocidade do motor utilizando uma estratégia de comando PWM. Foram realizados ensaios que, mediante uma detecção adequada de falhas, realiza a comutação entre blocos de conversores de potência. São apresentados e discutidos resultados experimentais, obtidos usando o protótipo laboratorial.
Resumo:
A presente dissertação pretende conceber e implementar um sistema de controlo tolerante a falhas, no canal experimental de rega da Universidade de Évora, utilizando um modelo implementado em MATLAB/SIMULINK®. Como forma de responder a este desafio, analisaram-se várias técnicas de diagnóstico de falhas, tendo-se optado por técnicas baseadas em redes neuronais para o desenvolvimento de um sistema de detecção e isolamento de falhas no canal de rega, sem ter em conta o tipo de sistema de controlo utilizado. As redes neuronais foram, assim, os processadores não lineares utilizados e mais aconselhados em situações onde exista uma abundância de dados do processo, porque aprendem por exemplos e são suportadas por teorias estatísticas e de optimização, focando não somente o processamento de sinais, como também expandindo os horizontes desse processamento. A ênfase dos modelos das redes neuronais está na sua dinâmica, na sua estabilidade e no seu comportamento. Portanto, o trabalho de investigação do qual resultou esta Dissertação teve como principais objectivos o desenvolvimento de modelos de redes neuronais que representassem da melhor forma a dinâmica do canal de rega, de modo a obter um sistema de detecção de falhas que faça uma comparação entre os valores obtidos nos modelos e no processo. Com esta diferença de valores, da qual resultará um resíduo, é possível desenvolver tanto o sistema de detecção como de isolamento de falhas baseados nas redes neuronais, possibilitando assim o desenvolvimento dum sistema de controlo tolerante a falhas, que engloba os módulos de detecção, de isolamento/diagnóstico e de reconfiguração do canal de rega. Em síntese, na Dissertação realizada desenvolveu-se um sistema que permite reconfigurar o processo em caso de ocorrência de falhas, melhorando significativamente o desempenho do canal de rega.
Resumo:
OBJETIVO: O aumento de casos de Aids em mulheres no Estado de São Paulo desencadeou uma série de medidas para reduzir a transmissão materno-infantil do HIV. Assim, realizou-se estudo com o objetivo de avaliar falhas na implantação dessas medidas, do ponto de vista da cobertura e da qualidade do pré-natal, em serviços de referência que atendem mulheres soropositivas no Estado de São Paulo. MÉTODOS: Foram entrevistadas, por meio de questionário estruturado, todas as mulheres soropositivas de três cidades do Estado de São Paulo (São Paulo, Santos e São José do Rio Preto). Todas as mulheres possuíam no mínimo 18 anos de idade, tiveram filhos em 1998 e fizeram consulta com infectologista (ela mesma ou seu filho). As mulheres foram avaliadas quanto à realização do pré-natal e ao conhecimento da soropositividade para o HIV antes, durante ou após a gestação. RESULTADOS: Do total de 116 mulheres, 109 (94%) fizeram pré-natal, 64% procuraram os serviços durante o primeiro trimestre, e o número de consultas foi de pelo menos três em 80% dos casos. A idade média das mulheres que fizeram pré-natal foi de 29,1 anos, estatisticamente maior do que a das mulheres que não o fizeram (24,3 anos). Sabiam ser soropositivas antes de engravidar 45% das mulheres, 38% souberam durante a gravidez, e 17%, após o nascimento da criança. O teste para o HIV foi oferecido para 82% das mulheres que não conheciam seu status sorológico. Destas, apenas 56% receberam explicação sobre a importância do teste. As unidades básicas de saúde (UBS) foram os locais onde a informação menos ajudou a conhecer o risco para a criança (p=0,037) e a necessidade de tratamento (p=0,0142). CONCLUSÕES: As principais falhas identificadas foram o não-oferecimento do teste HIV durante a gestação e a inadequada qualidade da informação. O principal local de atendimento para essas pessoas são as UBS. Estas foram as que menos contribuíram para a compreensão dos riscos e da necessidade de tratamento.
Resumo:
Trabalho Final de Mestrado para obtenção do grau de Mestre em Engenharia Mecânica
Resumo:
Trabalho apresentado no âmbito do Mestrado em Engenharia Informática, como requisito parcial para obtenção do grau de Mestre em Engenharia Informática
Resumo:
Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para obtenção do grau de Mestre em Engenharia Mecânica