968 resultados para Sistemas distribuídos
Resumo:
Replicação de objetos é usada para garantir uma maior disponibilidade de recursos em um sistema distribuído. Porém, com a replicação, surgem problemas como o controle da consistência das réplicas e onde estas réplicas devem estar posicionadas. A consistência é garantida por um protocolo de consistência de réplicas. Para facilitar a implementação dos protocolos de controle de réplicas, pode-se utilizar mecanismos de comunicação de grupo como suporte para a replicação. Outro problema importante que surge com a replicação é o posicionamento das réplicas. A carga de processamento em um sistema distribuído muda continuamente e num determinado instante pode ser necessário mudar a distribuição atual das réplicas pela adição de novas réplicas, remoção de réplicas desnecessárias ou pela mudança de posicionamento das réplicas. Um sistema de gerenciamento de réplicas pode realizar esta tarefa. Este trabalho apresenta o sistema RPM – Replica Placement Manager – responsável por fornecer ao serviço de gerenciamento de réplicas uma lista ordenada de nodos potencialmente ideais, num determinado momento do processamento, para receber uma réplica de um objeto. Esta lista é criada pelo RPM, considerando um pequeno conjunto de variáveis estáticas e dinâmicas, facilmente obtidas nos nodos do sistema distribuído.
Resumo:
O desenvolvimento de protocolos distribuídos é uma tarefa complexa. Em sistemas tolerantes a falhas, a elaboração de mecanismos para detectar e mascarar defeitos representam grande parte do esforço de desenvolvimento. A técnica de simulação pode auxiliar significativamente nessa tarefa. Entretanto, existe uma carência de ferramentas de simulação para investigação de protocolos distribuídos em cenários com defeitos, particularmente com suporte a experimentos em configurações “típicas” da Internet. O objetivo deste trabalho é investigar o uso do simulador de redes NS (Network Simulator) como ambiente para simulação de sistemas distribuídos, particularmente em cenários sujeitos à ocorrência de defeitos. O NS é um simulador de redes multi-protocolos, que tem código aberto e pode ser estendido. Embora seja uma ferramenta destinada ao estudo de redes de computadores, o ajuste adequado de parâmetros e exploração de características permitiu utilizá-lo para simular defeitos em um sistema distribuído. Para isso, desenvolveu-se dois modelos de sistemas distribuídos que podem ser implementados no NS, dependendo do protocolo de transporte utilizado: um baseado em TCP e o outro baseado em UDP. Também, foram estudadas formas de modelar defeitos através do simulador. Para a simulação de defeito de colapso em um nodo, foi proposta a implementação de um método na classe de cada aplicação na qual se deseja simular defeitos. Para ilustrar como os modelos de sistemas distribuídos e de defeitos propostos podem ser utilizados, foram implementados diversos algoritmos distribuídos em sistemas síncronos e assíncronos. Algoritmos de eleição e o protocolo Primário-Backup são exemplos dessas implementações. A partir desses algoritmos, principalmente do Primário-Backup, no qual a simulação de defeitos foi realizada, foi possível constatar que o NS pode ser uma ferramenta de grande auxílio no desenvolvimento de novas técnicas de Tolerância a Falhas. Portanto, o NS pode ser estendido possibilitando que, com a utilização dos modelos apresentados nesse trabalho, simule-se defeitos em um sistema distribuído.
Resumo:
O objetivo deste trabalho é a introdução e desenvolvimento de uma metodologia analítico-simbólica para a obtenção de respostas dinâmicas e forçadas (soluções homogêneas e não homogêneas) de sistemas distribuídos, em domínios ilimitados e limitados, através do uso da base dinâmica gerada a partir da resposta impulso. Em domínios limitados, a resposta impulso foi formulada pelo método espectral. Foram considerados sistemas com condições de contorno homogêneas e não homogêneas. Para sistemas de natureza estável, a resposta forçada é decomposta na soma de uma resposta particular e de uma resposta livre induzida pelos valores iniciais da resposta particular. As respostas particulares, para entradas oscilatórias no tempo, foram calculadas com o uso da fun»c~ao de Green espacial. A teoria é desenvolvida de maneira geral permitindo que diferentes sis- temas evolutivos de ordem arbitrária possam ser tratados sistematicamente de uma forma compacta e simples. Realizou-se simulações simbólicas para a obtenção de respostas dinâmicas e respostas for»cadas com equações do tipo parabólico e hiperbólico em 1D,2D e 3D. O cálculo das respostas forçadas foi realizado com a determinação das respostas livres transientes em termos dos valores iniciais das respostas permanentes. Foi simulada a decomposição da resposta forçada da superfície livre de um modelo acoplado oceano-atmosfera bidimensional, através da resolução de uma equação de Klein-Gordon 2D com termo não-homogêneo de natureza dinâmica, devido a tensão de cisalhamento na superfície do oceano pela ação do vento.
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:
Sistemas computacionais de tempo-real são tipicamente construídos a partir de primitivas de sincronização que fornecem uma noção do tempo no objetivo de coordenar a execução múltiplos fluxos de instruções em um processador. Quando o processamento é centralizado, a base de tempo destas primitivas é extraída do oscilador local da plataforma, permitindo que as ações do sistema sejam devidamente ordenadas, respeitando restrições de tempo e causalidade. No entanto, em sistemas distribuídos o problema não pode ser resolvido desta forma em decorrência de imperfeições nos dispositivos físicos. Diferenças mínimas na freqüência de osciladores fazem com que as bases de tempo dos componentes divirjam cada vez mais ao longo do tempo, dificultando ou até mesmo impossibilitando um ordenamento consistente de eventos. Por esta razão, sincronização de relógios é um serviço de fundamental importância, sobretudo em aplicações críticas, onde os níveis de confiabilidade exigidos são mais elevados. O presente trabalho consiste na proposta e implementação de uma plataforma de comunicação otimizada para sistemas de controle distribuídos, caracterizados por uma alta regularidade no comportamento da comunicação. O objetivo é propor uma solução em baixo nível com suporte para o projeto de sistemas distribuídos no domínio de aplicações críticas. A plataforma proposta, à qual foi atribuído o nome CASCA, sigla para “Communication Architecture for Safety- Critical Applications”, é de fato uma extensão time-triggered do protocolo CAN. Acima da camada de enlace do protocolo original foram projetados mecanismos sincronização de relógios e criação inicial da base de tempo, implementados na forma de uma combinação de hardware e software. Principais características da plataforma são jitter mínimo, uma base de tempo global essencialmente distribuída e particionamento temporal. Diferentes alternativas de projeto foram consideradas, observando com maior atenção a viabilidade de prototipação em dispositivos FPGA para fins de validação e aplicação imediata em plataformas reconfiguráveis. Como forma de validação da plataforma, um sistema elementar formado por três nodos foi sintetizado com sucesso em bancada obtendo-se como resultado uma base de tempo essencialmente distribuída com precisão menor do que um micro-segundo.
Resumo:
The lava Platform is increasing1y being adopted in the development of distributed sys¬tems with higb user demando This kind of application is more complex because it needs beyond attending the functional requirements, to fulfil1 the pre-established performance parameters. This work makes a study on the Java Vutual Machine (JVM), approaching its intemal aspects and exploring the garbage collection strategies existing in the literature and used by the NM. It also presents a set of tools that helps in the job of optimizing applications and others that help in the monitoring of applications in the production envi¬ronment. Doe to the great amount of technologies that aim to solve problems which are common to the application layer, it becomes difficult to choose the one with best time response and less memory usage. This work presents a brief introduction to each one of tbe possible technologies and realize comparative tests through a statistical analysis of the response time and garbage collection activity random variables. The obtained results supply engineers and managers with a subside to decide which technologies to use in large applications through the knowledge of how they behave in their environments and the amount of resources that they consume. The relation between the productivity of the technology and its performance is also considered ao important factor in this choice
Resumo:
Digital image processing is a field that demands great processing capacity. As such it becomes relevant to implement software that is based on the distribution of the processing into several nodes divided by computers belonging to the same network. Specifically discussed in this work are distributed algorithms of compression and expansion of images using the discrete cosine transform. The results show that the savings in processing time obtained due to the parallel algorithms in comparison to its sequential equivalents is a function that depends on the resolution of the image and the complexity of the involved calculation; that is efficiency is greater the longer the processing period is in terms of the time involved for the communication between the network points.
Resumo:
Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)
Resumo:
A modelagem e desenvolvimento de sistemas embarcados ("embedded systems") de forma distribuída, tende a ser uma tarefa extremamente complexa, especialmente quando envolve sistemas heterogêneos e sincronização de tarefas. Com a utilização do modelo de componentes de software é possível descrever, de uma forma simplificada, todos os elementos de distribuição e de comunicação para este tipo de sistemas. Neste sentido, a especificação de uma ferramenta capaz de auxiliar na modelagem e no desenvolvimento deste tipo de aplicação, certamente irá tornar o trabalho mais simples. Esta dissertação inicia por uma análise comparativa entre as tecnologias passíveis de serem utilizadas na definição de sistemas distribuídos heterogêneos, focando-se principalmente nas metodologias de modelagem, e nos mecanismos e middlewares de comunicação. Dos conceitos formados a partir desta análise é descrita uma ferramenta, baseada em componentes de software. A ferramenta é uma extensão do projeto SIMOO-RT, onde foram adicionados os conceitos de componente de software, biblioteca de componentes e diagrama de implantação. Além disso, foram realizadas modificações no sistema de geração de código, para dar suporte aos novos conceitos da ferramenta. A dissertação termina com a descrição de alguns estudos de caso utilizados para validar a ferramenta.
Resumo:
A resposta impulso é utilizada como ferramenta padrão no estudo direto de sistemas concentrados, discretos e distribuídos de ordem arbitrária. Esta abordagem leva ao desenvolvimento de uma plataforma unificada para a obtenção de respostas dinâmicas. Em particular, as respostas forçadas dos sistemas são decompostas na soma de uma resposta permanente e de uma resposta livre induzida pelos valores iniciais da resposta permanente. A teoria desenvolve-se de maneira geral e direta para sistemas de n-ésima ordem, introduzindo-se a base dinâmica gerada pela resposta impulso na forma padrão e normalizada, sem utilizar-se a formulação de estado, através da qual reduz-se um sistema de ordem superior para um sistema de primeira ordem. Considerou-se sistemas de primeira ordem a fim de acompanhar-se os muitos resultados apresentados na literatura através da formulação de espaço de estado. Os métodos para o cálculo da resposta impulso foram classificados em espectrais, não espectrais e numéricos. A ênfase é dada aos métodos não espectrais, pois a resposta impulso admite uma fórmula fechada que requer o uso de três equações características do tipo algébrica, diferencial e em diferenças Realizou-se simulações numéricas onde foram apresentados modelos vibratórios clássicos e não clássicos. Os sistemas considerados foram sistemas do tipo concentrado, discreto e distribuído. Os resultados da decomposição da resposta dinâmica de sistemas concentrados diante de cargas harmônicas e não harmônicas foram apresentados em detalhe. A decomposição para o caso discreto foi desenvolvida utilizando-se os esquemas de integração numérica de Adams-Basforth, Strömer e Numerov. Para sistemas distribuídos, foi considerado o modelo de Euler-Bernoulli com força axial, sujeito a entradas oscilatórias com amplitude triangular, pulso e harmônica. As soluções permanentes foram calculadas com o uso da função de Green espacial. A resposta impulso foi aproximada com o uso do método espectral.
Resumo:
Este estudo visou a utilização direta da análise modal adjunta em sistemas não-clásicos de natureza concentrada e distribuída, explorando o conceitos de biortogonalidade modal e da resposta impulso evolutiva e estacionária. Discutiu-se a natureza do espectro para diversas classes de sistemas, em particular para sistemas com efeitos giroscópicos e com atrito interno. A teoria foi desenvolvida de maneira paralela para sistemas de primeira ordem e de segunda ordem, porém é apresentada de maneira independente, ou seja, para os sistemas de segunda ordem não é utilizada a formulação de espaço de estado, a qual reduz o sistema para primeira ordem. Assim, as relações de biortogonalidade para sistemas de segunda ordem são apresentadas e utilizadas de maneira direta na expansão modal da resposta dos sistemas. A forma dos modos de vibração em variadas aplicações é determinada de maneira exata com o uso da base dinâmica gerada pela resposta impulso espacial. No cálculo dos autovalores foi introduzida uma aproximação polinomial para a resposta impulso espacial Os coeficientes dessa aproximação foram obtidos por recursão, a partir de uma equação em diferenças associada à equação característica do problema modal. Simulações numéricas foram realizadas para obter a resposta impulso evolutiva, respostas forçadas e modos de vibração de sistemas não-clássicos concentrados, formulados através de modelos ou aproximações, e sistemas distribuídos, formulados através de modelos ou incluindo distúrbios e acoplamento através das condições decontorno. Os resultados deste estudo permitiram concluir, através das simulações numéricas realizadas, a importância da base dinâmica no sentido de simplificar os cálculos para obtenção dos autovalores, dos modos de vibração e, consequentemente, da resposta do sistema, seja concentrado, distribuído com ou sem acoplamento das condições de contorno. A utilização da análise modal adjunta, desde que ocorra uma ordenação adequada dos autovalores e modos, mostrou-se um método eficiente na obtenção direta da resposta de sistemas não-clássicos de segunda ordem, ou seja, sem redução ao espaço de estado.
Resumo:
O domínio alvo deste trabalho são os sistemas colaborativos distribuídos onde o foco está na troca dê mensagens entre usuários remotamente distribuídos. Nestes sistemas, há a necessidade das mensagens possuírem conteúdo multimídia e poderem ser entregues tanto a um usuário específico quanto a um grupo ou grupos de usuários. O objetivo deste trabalho é desenvolver um framework que facilite: a construção desse tipo de sistymas e diminua o tempo gasto com desenvolvimento através da técnica de reuso. Este trabalho apresenta o N2N Framework - Uma plataforma para desenvolvimento de Sistemas Colaborativos Distribuídos. O Framework foi concebido através da análise do comportamento de aplicações com características de multimídias colaborativas, como ambientes virtuais multi-usuários, chats, enquetes, e torcidas virtuais. O Framework foi implementado usando-se a plataforma Java. O N2N Framework facilita o design e implementação de sistemas colaborativos distribuídos, implementando a entrega das mensagens, e direcionando o desenvolvedor de aplicações para a preocupação com implementação de suas mensagens específicas e o processamento que delas decorre
Resumo:
Este trabalho apresenta a proposta de uma arquitetura e o modelo de um Agente de Intercâmbio Eletrônico de Dados, Agente EDI, cuja função é, permitir a troca de dados estruturados entre Sistemas de Informações Distribuídos através da Internet. A estratégia de interação dos agentes possibilita uma maneira alternativa de tratar a recuperação, o armazenamento e a distribuição de dados, permitindo assim, o desenvolvimento de um modelo de Sistema de Informações baseado em Web, igualmente proposto neste trabalho. É apresentado também o desenvolvimento do Agente EDI proposto. O qual poderá ser utilizado por entidades que necessitam disponibilizar ou recuperar dados estruturados via Web, como por exemplo: informações de produtos, listas de preços, dados cadastrais, etc. A relevância deste trabalho está no fato de apresentar uma tecnologia simples e acessível, capaz de ser implementada sem a necessidade de altos investimentos e capaz de facilitar a implementação de Sistemas Distribuídos via Internet.
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:
The control of industrial processes has become increasingly complex due to variety of factory devices, quality requirement and market competition. Such complexity requires a large amount of data to be treated by the three levels of process control: field devices, control systems and management softwares. To use data effectively in each one of these levels is extremely important to industry. Many of today s industrial computer systems consist of distributed software systems written in a wide variety of programming languages and developed for specific platforms, so, even more companies apply a significant investment to maintain or even re-write their systems for different platforms. Furthermore, it is rare that a software system works in complete isolation. In industrial automation is common that, software had to interact with other systems on different machines and even written in different languages. Thus, interoperability is not just a long-term challenge, but also a current context requirement of industrial software production. This work aims to propose a middleware solution for communication over web service and presents an user case applying the solution developed to an integrated system for industrial data capture , allowing such data to be available simplified and platformindependent across the network