Please use this identifier to cite or link to this item: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/10341
Title: Provendo segurança e uma semântica de falhas consistente para a comunicação de objetos assíncronos distribuídos.
Other Titles: Providing security and fault semantics consistent for object communication distributed asynchronous.
???metadata.dc.creator???: MIRANDA, Rodrigo de Almeida Vilar de.
???metadata.dc.contributor.advisor1???: BRASILEIRO, Francisco Vilar.
???metadata.dc.contributor.referee1???: GOMES , Antônio Tadeu Azevedo.
???metadata.dc.contributor.referee2???: CAMPOS, Lívia Maria Rodrigues Sampaio.
Keywords: Sistemas de Processamento Distribuído;Tolerância a Falhas;Segurança;Distributed Processing Systems;Fault Tolerance;Safety
Issue Date: 10-Aug-2010
Publisher: Universidade Federal de Campina Grande
Citation: MIRANDA, R. de A. V. de. Provendo segurança e uma semântica de falhas consistente para a comunicação de objetos assíncronos distribuídos. 2010. 92 f. Dissertação (Mestrado em Ciência da Computação) – Pós-Graduação em Ciência da Computação, Centro de Engenharia Elétrica e Informática, Universidade Federal de Campina Grande, Paraíba, Brasil, 2010.
???metadata.dc.description.resumo???: O desenvolvimento de sistemas distribuídos é uma atividade muito complexa, mas que pode ser facilitada com o uso de sistemas de middleware adequados. Este trabalho abrange o nicho dos sistemas distribuídos peer-to-peer em Java, cujos nós precisam manter diversas conexões abertas simultaneamente, pois não conhecemos sistemas de middleware que suportem plenamente as necessidades deste nicho. Com a finalidade de avaliarmos esta lacuna, elicitamos sete requisitos não-funcionais para o nicho estudado: detecção de falhas por parada, detecção de falhas por perda de mensagens, concorrência, facilidade de programação, segurança, suporte a conectividade parcial e integração com a linguagem Java. Dentre cinco sistemas de middleware avaliados nenhum atendeu a todos os requisitos não-funcionais, o que nos motivou a desenvolver um novo sistema de middleware, chamado Commune, que atendesse a todos os requisitos. Desse modo, o Commune poderia suportar eficazmente o desenvolvimento de sistemas para o nicho estudado neste trabalho. Em relação aos sistemas avaliados, o Commune provê duas contribuições principais. Primeiramente, realizamos uma pesquisa bibliográfica na área de segurança para sistemas distribuídos, a partir da qual implementamos mecanismos de segurança para o Commune, baseados em (i) autenticação com pares de chaves assimétricas e (ii) certificação X.509. Em segundo lugar, definimos os requisitos de uma semântica de detecção de falhas abrangente, capaz de detectar falhas por parada dos nós e falhas por omissão devido a perda de mensagens no canal de comunicação. Modelamos um protocolo de conexão para o Commune, utilizando uma máquina de estados para representar o estados dos nós, e provamos que o modelo proposto atende aos requisitos da semântica de detecção de falhas abrangente. Foi necessário o uso de técnicas de verificação formal para provar que o protocolo não possui deadlocks. Além disso, apresentamos a arquitetura e os detalhes de implementação do Commune. Por fim, avaliamos o desempenho do Commune, que se mostrou viável na comparação com Java RMI, e executamos testes do Commune em ambiente de produção, que ocorreram com sucesso.
Abstract: The development of distributed systems is a very complex activity, but it can be aided by appropriate middleware platforms. This work encompasses the niche of peer-to-peer distributed systems developed in Java, whose nodes need to maintain several connections opened simultaneously, because, as far as we concern, there is no middleware which supports all the demands of this niche. In order to evaluate that gap, we have elicited seven non-functional requirements for systems in the work niche: crash failure detection, message loss failure detection, concurrence, programming easiness, security, partial connectivity support and integration with the Java programming language. None of the five middleware that we evaluated met all the non-functional requirements, so we were motivated to develop a new middleware, called Commune, which would meet all these requirements. As a result, the Commune middleware could aid the development of systems in the niche of this work. In comparison with the evaluated middleware, Commune has two main contributions. Firstly, we carried out a bibliographic research in the extent of security for distributed systems, in order to implement security for Commune. We have created two mechanisms based on asymmetric key pair authentication and X.509 certification. In second place, we have defined the requirements for a comprehensive failure detection semantic, able to detect node crash failures and omission failures due to message lost in the communication channel. We have modelled a connection protocol for Commune, using a state machine to illustrate the state of Commune nodes, and we have proven that the proposed model meet all the requirements of the comprehensive failure detection semantic. It was necessary to use formal verification techniques, in order to prove that the connection protocol does not contain deadlocks. Moreover,we have shown the Commune architecture and implementation details. At last, we have evaluated the Commune performance, which is feasible when it is compared to Java RMI, and we have executed test in a production environment, with successful results.
Keywords: Sistemas de Processamento Distribuído
Tolerância a Falhas
Segurança
Distributed Processing Systems
Fault Tolerance
Safety
???metadata.dc.subject.cnpq???: Ciência da Computação
URI: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/10341
Appears in Collections:Mestrado em Ciência da Computação.

Files in This Item:
File Description SizeFormat 
RODRIGO DE ALMEIDA VILAR DE MIRANDA - DISSERTAÇÃO (PPGCC) 2010.pdf1.85 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.