Provendo segurança e uma semântica de falhas consistente para a comunicação de objetos assíncronos distribuídos.
Autor(a) principal: | |
---|---|
Data de Publicação: | 2010 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da UFCG |
Texto Completo: | http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/10341 |
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. |
id |
UFCG_91386252f4b240324e8c40792f6fecf4 |
---|---|
oai_identifier_str |
oai:localhost:riufcg/10341 |
network_acronym_str |
UFCG |
network_name_str |
Biblioteca Digital de Teses e Dissertações da UFCG |
repository_id_str |
4851 |
spelling |
Provendo segurança e uma semântica de falhas consistente para a comunicação de objetos assíncronos distribuídos.Providing security and fault semantics consistent for object communication distributed asynchronous.Sistemas de Processamento DistribuídoTolerância a FalhasSegurançaDistributed Processing SystemsFault ToleranceSafetyCiência da ComputaçãoO 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.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.Universidade Federal de Campina GrandeBrasilCentro de Engenharia Elétrica e Informática - CEEIPÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃOUFCGBRASILEIRO, Francisco Vilar.Brasileiro, F.V.http://lattes.cnpq.br/5957855817378897GOMES , Antônio Tadeu Azevedo.CAMPOS, Lívia Maria Rodrigues Sampaio.MIRANDA, Rodrigo de Almeida Vilar de.2010-08-102019-12-19T11:27:46Z2019-12-192019-12-19T11:27:46Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/10341MIRANDA, 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. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/10341porinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFCGinstname:Universidade Federal de Campina Grande (UFCG)instacron:UFCG2022-03-18T12:35:20Zoai:localhost:riufcg/10341Biblioteca Digital de Teses e Dissertaçõeshttp://bdtd.ufcg.edu.br/PUBhttp://dspace.sti.ufcg.edu.br:8080/oai/requestbdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.bropendoar:48512022-03-18T12:35:20Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG)false |
dc.title.none.fl_str_mv |
Provendo segurança e uma semântica de falhas consistente para a comunicação de objetos assíncronos distribuídos. Providing security and fault semantics consistent for object communication distributed asynchronous. |
title |
Provendo segurança e uma semântica de falhas consistente para a comunicação de objetos assíncronos distribuídos. |
spellingShingle |
Provendo segurança e uma semântica de falhas consistente para a comunicação de objetos assíncronos distribuídos. MIRANDA, Rodrigo de Almeida Vilar de. Sistemas de Processamento Distribuído Tolerância a Falhas Segurança Distributed Processing Systems Fault Tolerance Safety Ciência da Computação |
title_short |
Provendo segurança e uma semântica de falhas consistente para a comunicação de objetos assíncronos distribuídos. |
title_full |
Provendo segurança e uma semântica de falhas consistente para a comunicação de objetos assíncronos distribuídos. |
title_fullStr |
Provendo segurança e uma semântica de falhas consistente para a comunicação de objetos assíncronos distribuídos. |
title_full_unstemmed |
Provendo segurança e uma semântica de falhas consistente para a comunicação de objetos assíncronos distribuídos. |
title_sort |
Provendo segurança e uma semântica de falhas consistente para a comunicação de objetos assíncronos distribuídos. |
author |
MIRANDA, Rodrigo de Almeida Vilar de. |
author_facet |
MIRANDA, Rodrigo de Almeida Vilar de. |
author_role |
author |
dc.contributor.none.fl_str_mv |
BRASILEIRO, Francisco Vilar. Brasileiro, F.V. http://lattes.cnpq.br/5957855817378897 GOMES , Antônio Tadeu Azevedo. CAMPOS, Lívia Maria Rodrigues Sampaio. |
dc.contributor.author.fl_str_mv |
MIRANDA, Rodrigo de Almeida Vilar de. |
dc.subject.por.fl_str_mv |
Sistemas de Processamento Distribuído Tolerância a Falhas Segurança Distributed Processing Systems Fault Tolerance Safety Ciência da Computação |
topic |
Sistemas de Processamento Distribuído Tolerância a Falhas Segurança Distributed Processing Systems Fault Tolerance Safety Ciência da Computação |
description |
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. |
publishDate |
2010 |
dc.date.none.fl_str_mv |
2010-08-10 2019-12-19T11:27:46Z 2019-12-19 2019-12-19T11:27:46Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/10341 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. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/10341 |
url |
http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/10341 |
identifier_str_mv |
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. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/10341 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de Campina Grande Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UFCG |
publisher.none.fl_str_mv |
Universidade Federal de Campina Grande Brasil Centro de Engenharia Elétrica e Informática - CEEI PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UFCG |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da UFCG instname:Universidade Federal de Campina Grande (UFCG) instacron:UFCG |
instname_str |
Universidade Federal de Campina Grande (UFCG) |
instacron_str |
UFCG |
institution |
UFCG |
reponame_str |
Biblioteca Digital de Teses e Dissertações da UFCG |
collection |
Biblioteca Digital de Teses e Dissertações da UFCG |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da UFCG - Universidade Federal de Campina Grande (UFCG) |
repository.mail.fl_str_mv |
bdtd@setor.ufcg.edu.br || bdtd@setor.ufcg.edu.br |
_version_ |
1809744423406272512 |