Provendo segurança e uma semântica de falhas consistente para a comunicação de objetos assíncronos distribuídos.

Detalhes bibliográficos
Ano de defesa: 2010
Autor(a) principal: MIRANDA, Rodrigo de Almeida Vilar de.
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: 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
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: 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 UCB-2_91386252f4b240324e8c40792f6fecf4
oai_identifier_str oai:localhost:riufcg/10341
network_acronym_str UCB-2
network_name_str Repositório Institucional da UCB
repository_id_str
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:Repositório Institucional da UCBinstname:Universidade Católica de Brasília (UCB)instacron:UCB2022-03-18T12:35:20Zoai:localhost:riufcg/10341Repositório InstitucionalPRIhttps://repositorio.ucb.br/oai/requestsara.ribeiro@ucb.bropendoar:2022-03-18T12:35:20Repositório Institucional da UCB - Universidade Católica de Brasília (UCB)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:Repositório Institucional da UCB
instname:Universidade Católica de Brasília (UCB)
instacron:UCB
instname_str Universidade Católica de Brasília (UCB)
instacron_str UCB
institution UCB
reponame_str Repositório Institucional da UCB
collection Repositório Institucional da UCB
repository.name.fl_str_mv Repositório Institucional da UCB - Universidade Católica de Brasília (UCB)
repository.mail.fl_str_mv sara.ribeiro@ucb.br
_version_ 1834013175134027776