Este artigo apresenta as principais conclusões da análise do protocolo de comunicação SNMP - Simple Network Management Protocol, em suas características de funcionamento frente à tolerância a falhas e ao seu uso em sistemas de tempo real. Sistemas de computação tempo real caracterizam-se por apresentar limites de tempo determinados para a realização das tarefas, sendo estes limites impostos pelo ambiente a ser controlado. É importante ressaltar que neste tipo de sistema, em geral a função de controle se revela como um aspecto crítico. O SNMP é um protocolo de gerência de redes que se caracteriza por possuir nodos gerentes, responsáveis por coletar e analisar informações dos elementos que formam a rede, e nodos agentes, caracterizados como um conjunto de variáveis que representam o estado atual no nodo. Quando o gerente requisita informações aos nodos, realiza sua monitoração; ao alterar estes valores, exerce controle sobre o nodo. A possibilidade de utilização do protocolo SNMP em aplicações de tempo real com características de tolerância a falhas depende de parâmetros funcionais do mesmo. Este trabalho analisa as características necessárias para a utilização do SNMP neste tipo de sistema a partir de informações teóricas.
{"title":"Análise de tolerância a falhas no protocolo SNMP","authors":"A. Peres, Ingrid Jansch-Pôrto","doi":"10.5753/wtf.1998.23490","DOIUrl":"https://doi.org/10.5753/wtf.1998.23490","url":null,"abstract":"Este artigo apresenta as principais conclusões da análise do protocolo de comunicação SNMP - Simple Network Management Protocol, em suas características de funcionamento frente à tolerância a falhas e ao seu uso em sistemas de tempo real. Sistemas de computação tempo real caracterizam-se por apresentar limites de tempo determinados para a realização das tarefas, sendo estes limites impostos pelo ambiente a ser controlado. É importante ressaltar que neste tipo de sistema, em geral a função de controle se revela como um aspecto crítico. O SNMP é um protocolo de gerência de redes que se caracteriza por possuir nodos gerentes, responsáveis por coletar e analisar informações dos elementos que formam a rede, e nodos agentes, caracterizados como um conjunto de variáveis que representam o estado atual no nodo. Quando o gerente requisita informações aos nodos, realiza sua monitoração; ao alterar estes valores, exerce controle sobre o nodo. A possibilidade de utilização do protocolo SNMP em aplicações de tempo real com características de tolerância a falhas depende de parâmetros funcionais do mesmo. Este trabalho analisa as características necessárias para a utilização do SNMP neste tipo de sistema a partir de informações teóricas.","PeriodicalId":170233,"journal":{"name":"Anais do I Workshop de Testes e Tolerância a Falhas (WTF 1998)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133457262","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Maurício L. Pilla, M. Barreto, Rafael R. dos Santos, G. Cavalheiro, P. Navaux
Este trabalho apresenta o suporte a Tolerância a Falhas para o ambiente de programação DPC++. O mecanismo que está sendo implementado atualmente é constituído por um algoritmo de criação e recuperação de checkpoints, o qual permite a um programa realizar recuperação automática de falhas de um objeto distribuído, aumentando a confiabilidade da aplicação. As aplicações DPC++ são geradas através do pré-compilador DPC++, o qual possibilita que aplicações utilizem o mecanismo de tolerância a falhas de modo transparente ao usuário.
{"title":"Suporte a Tolerância a Falhas no Ambiente de Programação DPC++","authors":"Maurício L. Pilla, M. Barreto, Rafael R. dos Santos, G. Cavalheiro, P. Navaux","doi":"10.5753/wtf.1998.23487","DOIUrl":"https://doi.org/10.5753/wtf.1998.23487","url":null,"abstract":"Este trabalho apresenta o suporte a Tolerância a Falhas para o ambiente de programação DPC++. O mecanismo que está sendo implementado atualmente é constituído por um algoritmo de criação e recuperação de checkpoints, o qual permite a um programa realizar recuperação automática de falhas de um objeto distribuído, aumentando a confiabilidade da aplicação. As aplicações DPC++ são geradas através do pré-compilador DPC++, o qual possibilita que aplicações utilizem o mecanismo de tolerância a falhas de modo transparente ao usuário.","PeriodicalId":170233,"journal":{"name":"Anais do I Workshop de Testes e Tolerância a Falhas (WTF 1998)","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125779098","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Sistemas distribuídos representam uma plataforma ideal para implementação de sistemas computacionais com alta confiabilidade e disponibilidade devido a redundância fornecida por um grande número de estações interligadas. Falhas em uma estação servidora podem ser contornadas pela reconfiguração do sistema. Entretanto, falhas em sequência que afetem múltiplas estações comprometem não apenas o desempenho do sistema, mas também a continuidade do serviço e sua confiabilidade. Servidores falhos, que tenham sido isolados do sistema, devem ser reintegrados tão logo quanto possível. Este artigo trata de sistemas de arquivos replicados e da reintegração de servidores nestes sistemas. É assumido um ambiente distribuído que garante alta confiabilidade em aplicações convencionais através da técnica de replicação de arquivos.
{"title":"Reintegração de Servidores em um Sistema de Replicação de Arquivos","authors":"Marcia Pasin, T. Weber","doi":"10.5753/wtf.1998.23488","DOIUrl":"https://doi.org/10.5753/wtf.1998.23488","url":null,"abstract":"Sistemas distribuídos representam uma plataforma ideal para implementação de sistemas computacionais com alta confiabilidade e disponibilidade devido a redundância fornecida por um grande número de estações interligadas. Falhas em uma estação servidora podem ser contornadas pela reconfiguração do sistema. Entretanto, falhas em sequência que afetem múltiplas estações comprometem não apenas o desempenho do sistema, mas também a continuidade do serviço e sua confiabilidade. Servidores falhos, que tenham sido isolados do sistema, devem ser reintegrados tão logo quanto possível. Este artigo trata de sistemas de arquivos replicados e da reintegração de servidores nestes sistemas. É assumido um ambiente distribuído que garante alta confiabilidade em aplicações convencionais através da técnica de replicação de arquivos.","PeriodicalId":170233,"journal":{"name":"Anais do I Workshop de Testes e Tolerância a Falhas (WTF 1998)","volume":"115 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117273861","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Gustavo Silva, Werner Haetinger, Maria Lúcia Blanck Lisbôa
No modelo de objetos, programas são estruturados a partir de componentes encapsulados e que interagem através de interfaces bem definidas. A interação dos componentes depende fortemente da estmtura adotada no programa ou sistema, bem como seu cenário de execução: sequencial, paralelo ou distribuído. Entre as condições propícias à manifestação de uma falha, o meio-ambiente desempenha um papel importante e, portanto, deve ter a sua atuação bem delimitada. Um meio-ambiente desfavorável pode ocasionar diferenças de comportamento em duas cópias idênticas do mesmo software. Pequenas diferenças nas máquinas virtuais onde o software é executado podem ser suficientes para a manifestação de uma falha. É precisamente nas semelhanças e diferenças de diversas formas de interação de componentes e seus distintos ambientes de execução que este trabalho concentra seus experimentos, estudando a adequação da linguagem Java para a implementação de programas tolerantes a falhas.
{"title":"Experimentos de Tolerância a Falhas em Java","authors":"Gustavo Silva, Werner Haetinger, Maria Lúcia Blanck Lisbôa","doi":"10.5753/wtf.1998.23502","DOIUrl":"https://doi.org/10.5753/wtf.1998.23502","url":null,"abstract":"No modelo de objetos, programas são estruturados a partir de componentes encapsulados e que interagem através de interfaces bem definidas. A interação dos componentes depende fortemente da estmtura adotada no programa ou sistema, bem como seu cenário de execução: sequencial, paralelo ou distribuído. Entre as condições propícias à manifestação de uma falha, o meio-ambiente desempenha um papel importante e, portanto, deve ter a sua atuação bem delimitada. Um meio-ambiente desfavorável pode ocasionar diferenças de comportamento em duas cópias idênticas do mesmo software. Pequenas diferenças nas máquinas virtuais onde o software é executado podem ser suficientes para a manifestação de uma falha. É precisamente nas semelhanças e diferenças de diversas formas de interação de componentes e seus distintos ambientes de execução que este trabalho concentra seus experimentos, estudando a adequação da linguagem Java para a implementação de programas tolerantes a falhas.","PeriodicalId":170233,"journal":{"name":"Anais do I Workshop de Testes e Tolerância a Falhas (WTF 1998)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116432763","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
O presente trabalho propõe um serviço de sincronização de relógios para o sistema operacional QNX [QNX93]. O serviço proposto deve poder ser ajustado para o tipo de aplicação de tempo real e ter acesso a uma fonte de tempo UTC através de um Receptor de Tempo GPS [DAN97]. O projeto inclui a implementação de um protocolo probabilístico [CRI89] e um protocolo determinístico [LAM85]. Os dois protocolos visam à sincronização externa, mas podem sofrer uma degradação para a sincronização interna (somente) quando não for possível o acesso ao tempo fornecido pela constelação GPS devido à falha desta ou do receptor. Pretende-se dispor este serviço para um sistema distribuído provido de sistema operacional QNX e rede Ethemet [TAN96]. Um protocolo de sincronização de relógios determinístico deve ser suportado por uma arquitetura de rede com atraso limitado no tempo de viagem de uma mensagem. Portanto, um anel lógico com passagem de token deve ser construído sobre a arquitetura nativa a fim de terná-la determinística. Com a construção do anel, devem ser levados em conta os efeitos colaterais ao funcionamento do sistema operacional.
{"title":"Um Serviço Configurável de Sincronização de Relógios para o Sistema Operacional QNX","authors":"Alessandro Dario Agnoletto, T. Weber","doi":"10.5753/wtf.1998.23497","DOIUrl":"https://doi.org/10.5753/wtf.1998.23497","url":null,"abstract":"O presente trabalho propõe um serviço de sincronização de relógios para o sistema operacional QNX [QNX93]. O serviço proposto deve poder ser ajustado para o tipo de aplicação de tempo real e ter acesso a uma fonte de tempo UTC através de um Receptor de Tempo GPS [DAN97]. O projeto inclui a implementação de um protocolo probabilístico [CRI89] e um protocolo determinístico [LAM85]. Os dois protocolos visam à sincronização externa, mas podem sofrer uma degradação para a sincronização interna (somente) quando não for possível o acesso ao tempo fornecido pela constelação GPS devido à falha desta ou do receptor. Pretende-se dispor este serviço para um sistema distribuído provido de sistema operacional QNX e rede Ethemet [TAN96]. Um protocolo de sincronização de relógios determinístico deve ser suportado por uma arquitetura de rede com atraso limitado no tempo de viagem de uma mensagem. Portanto, um anel lógico com passagem de token deve ser construído sobre a arquitetura nativa a fim de terná-la determinística. Com a construção do anel, devem ser levados em conta os efeitos colaterais ao funcionamento do sistema operacional.","PeriodicalId":170233,"journal":{"name":"Anais do I Workshop de Testes e Tolerância a Falhas (WTF 1998)","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129477861","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A recuperação de processos por retorno pode ser implementada seguindo paradigmas síncrono ou assíncrono. Pretende-se, neste artigo, apresentar alguns resultados teóricos da comparação de desempenho entre dois algoritmos das categorias citadas, tomando-se por base os algoritmos de Koo e Toueg (síncrono) e o de Juang e Venkatesan (assíncrono). O objetivo da comparação é demonstrar que as vantagens e desvantagens relativas dependerão das características das aplicações.
{"title":"Comparação de Desempenho de Algoritmos de Recuperação Síncrono e Assíncrono","authors":"S. Cechin, Ingrid Jansch-Pôrto","doi":"10.5753/wtf.1998.23495","DOIUrl":"https://doi.org/10.5753/wtf.1998.23495","url":null,"abstract":"A recuperação de processos por retorno pode ser implementada seguindo paradigmas síncrono ou assíncrono. Pretende-se, neste artigo, apresentar alguns resultados teóricos da comparação de desempenho entre dois algoritmos das categorias citadas, tomando-se por base os algoritmos de Koo e Toueg (síncrono) e o de Juang e Venkatesan (assíncrono). O objetivo da comparação é demonstrar que as vantagens e desvantagens relativas dependerão das características das aplicações.","PeriodicalId":170233,"journal":{"name":"Anais do I Workshop de Testes e Tolerância a Falhas (WTF 1998)","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131611541","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Injeção de falhas por software é uma técnica que vem sendo muito utilizada para validar as propriedades de segurança no funcionamento de sistemas de software. Para injetar falhas e monitorizar seus efeitos alguma forma de instrumentação deve ser introduzida na aplicação em teste (aplicação alvo). Essa instrumentação é intrusiva, ou seja, interfere na execução da aplicação alvo. No entanto, um dos objetivos de uma abordagem de instrumentação de software é ser o menos intrusiva possível. Para alcançar este objetivo neste estudo nós propomos o uso da programação orientada a objetos reflexiva. Reflexão reduz a interferência na aplicação alvo porque provê uma separação clara entre os aspectos funcionais e não-funcionais, sendo o último relacionado aos aspectos de injeção de falhas e monitorização. Este artigo descreve uma arquitetura reflexiva de teste, mostra como injetar falhas utilizando reflexão e apresenta alguns resultados de experimentos.
{"title":"Utilizando metaobjetos para injetar falhas e monitorizar seus efeitos","authors":"Amanda Cibele Apolinário Rosa, Eliane Martins","doi":"10.5753/wtf.1998.23492","DOIUrl":"https://doi.org/10.5753/wtf.1998.23492","url":null,"abstract":"Injeção de falhas por software é uma técnica que vem sendo muito utilizada para validar as propriedades de segurança no funcionamento de sistemas de software. Para injetar falhas e monitorizar seus efeitos alguma forma de instrumentação deve ser introduzida na aplicação em teste (aplicação alvo). Essa instrumentação é intrusiva, ou seja, interfere na execução da aplicação alvo. No entanto, um dos objetivos de uma abordagem de instrumentação de software é ser o menos intrusiva possível. Para alcançar este objetivo neste estudo nós propomos o uso da programação orientada a objetos reflexiva. Reflexão reduz a interferência na aplicação alvo porque provê uma separação clara entre os aspectos funcionais e não-funcionais, sendo o último relacionado aos aspectos de injeção de falhas e monitorização. Este artigo descreve uma arquitetura reflexiva de teste, mostra como injetar falhas utilizando reflexão e apresenta alguns resultados de experimentos.","PeriodicalId":170233,"journal":{"name":"Anais do I Workshop de Testes e Tolerância a Falhas (WTF 1998)","volume":"115 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1998-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116644227","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}