Processamento distribuído em ambiente peer-to-peer

Documentos relacionados
Protótipo de Protocolo de Aplicação para Troca de Documentos da Área Extra Judicial. Acadêmico: Fabrício Bento Orientador: Paulo Fernando da Silva

PROTÓTIPO DE SOFTWARE PARA CONSULTA DE BASE DE DADOS XML ATRAVÉS DE PROCESSAMENTO DISTRIBUÍDO USANDO AGENTES MÓVEIS EM AMBIENTE PEER-TO-PEER (P2P)

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS

Estágio Supervisionado

SELFCONTROL FERRAMENTA PARA GERENCIAMENTO FINANCEIRO PESSOAL UTILIZANDO DISPOSITIVOS

Sérgio Koch Van-Dall

DESENVOLVIMENTO DE UM PROCESSO BASEADO EM MÉTRICA PARA ESTIMAR ESFORÇO EM UM PROJETO DE IMPLANTAÇÃO DE SOFTWARE

FURBUP: UM PROCESSO DE SOFTWARE PARA USO ACADÊMICO BASEADO NO OPENUP. Acadêmico: João Paulo Pedri Orientador: Everaldo Artur Grahl

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator

CIDADÃO FISCAL: APLICATIVO PARA A ABERTURA E ACOMPANHAMENTO DE PROCESSOS NO SETOR DE OUVIDORIA DA PREFEITURA MUNICIPAL DE BLUMENAU

Aplicação Web Para Gerenciamento de Mensagens de Diferentes Serviços de E- mail

Protótipo de um mundo virtual distribuído utilizando DIS-Java-VRML. Edison Weise Prof. Dalton dos Reis

SISTEMA DE PEDIDOS DE VENDA OFF-LINE

Ferramenta para criaçã. ção o e execuçã

João Max Deggau Orientador: Prof. Mauro Marcelo Mattos, Doutor 2013/2

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

Ricardo Sorroche Orientando Prof. Wilson Pedro Carli - Orientador

Acadêmico João Gabriel Rocha Orientador Prof. Dr. Oscar Dalfovo

MIDDLEWARE PARA A COMUNICAÇÃO DE DADOS ENTRE SISTEMAS DISTRIBUÍDOS COM WS SECURITY. CAIO RENAN HOBUS Orientador: Jhony Alceu Pereira

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

APLICATIVO DE CONTROLE DE PEDIDOS EM AMBIENTE WEB Roni Rohling Orientando Prof. Ricardo de Alencar de Azambuja Orientador

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Ferramenta para auxílio na análise de impacto e rastreabilidade de requisitos na gestão de mudanças

MINERAÇÃO DE DADOS EM ARQUIVOS DE LOG GERADOS POR SERVIDORES DE PÁGINAS WEB

SISTEMA WEB ESCOLAR PARA RESERVA DE RECURSOS DIDÁTICOS UTILIZANDO RBC

Sistema Integrado Fiscal Móvel

SOFTWARE DE GERENCIAMENTO DE

Gustav Dallmann Júnior

Ontologia de Livro: Aplicativo Android para Busca de Dados

Protótipo tipo de um ambiente virtual distribuído

VISEDU: JOGO DE REALIDADADE AUMENTADA DE LETRAS COM CONTEÚDO DINÂMICO

MJ3I- PA - AMBIENTE VIRTUAL 3D PARA VISUALIZAÇÃO DE BRAÇOS ARTICULADOS NO IOS

Software para compartilhamento de arquivos entre celulares usando a tecnologiapeer-to-peer aliada à plataforma JXME

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas

HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP

PROTÓTIPO TIPO DE UM ATUALIZADOR DE BASE DE DADOS EM UM BANCO DE DADOS INTERBASE 7.1 UTILIZANDO XML

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

COMPUTAÇÃO E LINGUÍSTICA: UM APLICATIVO WEB PARA BUSCAS AUTOMÁTICAS NO CORPUS DIGITAL DOVIC

Sistema para automação e controle residencial via Twitter

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

SISTEMA PARA AUTOMATIZAÇÃO RESIDENCIAL CONTROLADO POR

ANÁLISE COMPARATIVA DE FERRAMENTAS DE DESENVOLVIMENTO DE APLICATIVOS MÓVEIS MULTIPLATAFORMA

SISTEMA DE INFORMAÇÃO EXECUTIVO PARA ENVIO DE DADOS APLICADO NA UNIMED BLUMENAU

Diagrama de Componentes e Implantação

FRAMEWORK PARA GERENCIAMENTO E DISPONIBILIZAÇÃO DE INFORMAÇÕES MULTIMÍDIA GEOLOCALIZADAS NA PLATAFORMA ANDROID

Análise e projeto de sistemas

FINDCAR: RASTREADOR VEICULAR UTILIZANDO OPENWRT

SISTEMA DE AUTOMAÇÃO DE PROCESSO DE VENDAS APLICADO À EMPRESA PINTARELLI INDUSTRIAL

Sistema para gerenciamento de atividades utilizando a técnica Kanban aplicado a desenvolvimento de software

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

APLICATIVO PARA GERENCIAMENTO DA ENFERMAGEM HOSPITALAR

Sistema Help Desk 24 horas para uma Software House

INTRODUÇÃO ÀS APLICAÇÕES PARA WEB

Apresentação. Busca Distribuída Utilizando Comunicação em Grupo para a Resolução do Problema 8-Puzzle. Acadêmico Anderson Rodrigo Janke

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

Uso de Software de Monitoramento em Projetos Educacionais Metasys Monitor. Home

Manual SIGOSMS Aplicação de Gerenciamento e Envio SMS

Protótipo de Software de Reconhecimento de Voz Para Navegação em Jogos, Utilizando Rede Neural Artificial

Sistema de acesso a dispositivos eletrônicos através da TV Digital interativa. Aluno: Rodrigo Brüning Wessler Orientador: Francisco Adell Péricas

Engenharia de Software Orientada a Objetos - OOSE. Método de Jacobson

GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri

DESENVOLVIMENTO DE APLICAÇÕES COM JAVA 2EE E UML

Introdução ao Desenvolvimento de

Protótipo de um software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

UML Unified Modeling Language Linguagem de Modelagem Unificada

TIC - Programação Visual

Java TM Applets. Java Deployment Course: Aula 3. por Jorge H. C. Fernandes DI-UFPE 30 de Abril de 1999

PROTÓTIPO DE APLICATIVO PARA ACOMPANHAMENTO E CONTROLE DE

Acadêmica: Jerusa Cristina Duarte Casas Orientador: Oscar Dalfovo

UNIVERSIDADE FEDERAL DO CEARÁ UFC CENTRO DE CIÊNCIAS DEPARTAMENTO DE COMPUTAÇÃO

5 Infraestrutura de TI

APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA

MILLENNIUM NETWORK. Millennium ECO Documentação Técnica 05/2017

FERRAMENTA WEB PARA AUTOMAÇÃO DA ALOCAÇÃO DE RECURSOS EM UMA FÁBRICA DE SOFTWARE

ESTUDO DE PLATAFORMAS PARA A CONSTRUÇÃO DE APLICAÇÕES MÓVEIS. Gabriel de Biasi¹; Nilton Cézar de Paula²

IMPLEMENTAÇÃO DE UM SITE E-COMMERCE

Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

SISTEMA WEB PARA GRUPOS TEATRAIS, PROFISSIONAIS LIBERAIS E AUTÔNOMOS DO MEIO ARTÍSTICO

Aplicação de Troca Eletrônica de Dados (EDI) Utilizando Padrões EAN Brasil

QEA Integração entre a ferramenta para desenvolvimento de sistemas web Quellon e o Enterprise Architect

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

Vocal: Assistente para o uso de smartphones operado por voz

FERRAMENTA WEB PARA APOIAR O SETOR DE QUALIDADE NOS TESTES DE RELATÓRIOS DA LEI DE RESPONSABILIDADE FISCAL.

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Departamento de Computação Curso de Análise e Desenvolvimento de Sistemas Modelagem Conceitual de Dados

FERRAMENTA DE INTEGRAÇÃO ENTRE SOFTWARES PARA RECURSOS HUMANOS APINTEGRATION UTILIZANDO WEB SERVICES

Visualizador de imagens radiológicas 2D para iphone. Acadêmico: Marwin Roepke Orientador: Dalton Solano dos Reis

Portal Inteligente Senior TI Baseado em Data Webhouse

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

Aplicativo Android para compartilhamento de informações sobre saúde alimentar

Modelagem de Sistemas

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Curso SISTEMAS DE INFORMAÇÃO Série 3 Disciplina Análise e Projeto Orientados a Objetos

UNIVERSIDADE REGIONAL DE BLUMENAU FERRAMENTA DE GERÊNCIA DE REQUISITOS DE SOFTWARE INTEGRADA COM ENTERPRISE ARCHITECT

Trata-se de uma variação do diagrama de estado com um propósito um pouco diferente do diagrama de estado:

Sistema de Gestão de Clubes Recreativos e Esportivos

CELINE LIP: UM FRAMEWORK QUE UTILIZA O MODELO IMS LIP EM APLICAÇÕES WEB JEE. Marcelo Gonzaga. Orientador: Prof. Adilson Vahldick

Transcrição:

Processamento distribuído em ambiente peer-to-peer Alexandre Helfrich Orientando Prof. Paulo Fernando da Silva Orientador

Roteiro Introdução e Objetivos Fundamentação Teórica, Conceitos e Contexto Atual Desenvolvimento, Requisitos e Especificação Técnicas e Ferramentas Utilizadas Apresentação da Especificação Implementação, Técnicas e Ferramentas Utilizadas Operacionalidade da Implementação Resultados Conclusão e Extensões

Introdução e Objetivos Introdução Desenvolvimento Técnologico Aumento de Banda Ociosidade dos Computadores Processamento Distribuído

Introdução e Objetivos Objetivos Desenvolver um protótipo de um aplicativo servidor de nomes. Desenvolver um protótipo de um aplicativo peer que se conectará ao servidor de nomes. Utilizar vários computadores de uma rede local para formar o processamento distribuído.

Fundamentação Teórica, Conceitos e Contexto Atual Fundamentação Teórica Neste capítulo serão apresentados os principais conceitos a respeito das seguintes tecnologias: redes peer-to-peer; agentes móveis; aglets e XML. Também serão relatados os trabalhos correlatos.

Conceitos Básicos Fundamentação Teórica, Conceitos e Contexto Atual Redes Peer-to-Peer Agentes Móveis Aglets XML

Contexto Atual Fundamentação Teórica, Conceitos e Contexto Atual José Voss Junior Protótipo de software em redes peerto-peer para compartilhar arquivos. Cristiano M. Borchardt Funcionamento de sistema de processamento de transação em ambientes distribuídos. Fernando Liesenberg - Protótipo de software que utiliza agentes móveis para fazer monitoramento de computadores em uma rede.

Desenvolvimento, Requisitos e Especificação Desenvolvimento Neste capítulo serão apresentados os requisitos do trabalho, bem como a sua especificação e ferramentas utilizadas para a implementação, o teste de operacionalidade e a discussão dos resultados obtidos.

Desenvolvimento, Requisitos e Especificação Requisitos Principais do Problema Servidor: o protótipo deverá possuir um programa servidor que será responsável pela manutenção da lista de peers conectados a ele e pela distribuição desta lista de peers aos peers que a ele se conectar.

Desenvolvimento, Requisitos e Especificação Requisitos Principais do Problema Peer: o protótipo deverá possuir um programa peer que fará uma leitura dos arquivos XML que estão em um determinada pasta do sistema, os quais disponibilizará aos outros peers para consulta, ainda receberá a lista de peers do servidor de nomes e de posse desta lista de peers fará consultas aos arquivos XML que os peers da lista de peers possuírem.

Desenvolvimento, Requisitos e Especificação Requisitos Principais do Problema Tarefas: o aplicativo peer fará consultas a outros peers da lista de peers nos arquivos XML que estes possuírem. Resposta: o programa peer deverá informar ao peer que solicitou a tarefa, a resposta à tarefa que lhe foi enviado para processamento, ou seja, após o término da pesquisa do arquivo XML, deve-se enviar o resultado da pesquisa ao peer que solicitou.

Desenvolvimento, Requisitos e Especificação Especificação Aplicativo Peer

Desenvolvimento, Requisitos e Especificação Especificação Diagrama de classe

Desenvolvimento, Requisitos e Especificação Especificação Aplicativo Servidor de Nomes

Desenvolvimento, Requisitos e Especificação Especificação Diagrama de Classe

Técnicas e Ferramentas Utilizadas Técnicas e Ferramentas utilizadas O método de ciclo de vida escolhido para o desenvolvimento do protótipo apresentado neste trabalho é o iterativo e incremental, por se tratar de um método onde todo o trabalho é dividido em partes menores que tem como resultado um incremento ao trabalho final. Este método oferece maior segurança no atendimento dos requisitos e maior flexibilidade durante todo o processo de desenvolvimento.

Técnicas e Ferramentas Utilizadas Técnicas e Ferramentas utilizadas A especificação do problema apresenta-se através de um grupo de diagramas da linguagem Unified Modeling Language (UML), sendo estes: diagrama de classes, diagrama de seqüência e diagrama de caso de uso. Utilizou-se a ferramenta Jude Community para a modelagem da especificação. Uma ferramenta que teve resultado satisfatório às necessidades das especificações necessárias ao desenvolvimento dos diagramas utilizados no trabalho.

Apresentação da Especificação Especificação Servidor - TelaServidor AgletPeer - TelaPeer AgletMsg Lista de peers Insere e Exclui peer TelaPesquisa AgletPesquisa TelaResultado

Implementação, Técnica e Ferramentas Utilizadas Implementação-instanciação

Implementação, Técnica e Ferramentas Utilizadas Implementação-instanciação

Implementação, Técnica e Ferramentas Utilizadas Implementação-multicast

Implementação, Técnica e Ferramentas Utilizadas Implementação-inserepeer

Implementação, Técnica e Ferramentas Utilizadas Implementação-handlemessage

Implementação, Técnica e Ferramentas Utilizadas Implementação-ondisposing

Técnicas e Ferramentas Implementação, Técnica e Ferramentas Utilizadas A linguagem de programação escolhida para o desenvolvimento do trabalho apresentado foi a linguagem Java. Verificou-se a necessidade de utilizar um ambiente que possibilite o emprego do conceito de agentes móveis, para isto foi utilizada o Aglets Software development Kit ou simplesmente ASDK.

Técnicas e Ferramentas Implementação, Técnica e Ferramentas Utilizadas Os Aglets são executados em um servidor de agentes denominado Aglet Server. O Aglet Server fornece aos usuários um aplicativo gráfico, denominado Tahiti. Quanto ao ambiente de desenvolvimento, foi escolhido o Eclipse 3.0 para a plataforma Windows.

Operacionalidade da implementação Operacionalidade Em um computador conectado a uma rede, executa-se através do Tahiti o protótipo do Servidor de Nomes.

Operacionalidade da implementação Operacionalidade Em outros computadores, executam-se o protótipo peer, os quais se conectam com o servidor de nomes e disponibilizam suas bases de dados xml para serem pesquisadas.

Operacionalidade da implementação Operacionalidade O servidor de nomes após a conexão de cada peer, atualiza sua lista de peers da rede e envia para os peers também terem sua lista e assim não precisar a cada pesquisa do peer, consultar o servidor de nomes.

Operacionalidade da implementação Operacionalidade Em posse da lista, os peers podem fazer pesquisas nas bases xml disponibilizadas pelos peers. envia então aglets para pesquisar nas bases xml da rede.

Operacionalidade da implementação Operacionalidade Ao terminar o processamento, os aglet responsáveis pela pesquisa enviam mensagens com o resultado para o peer que solicitou a pesquisa e este então mostrar os resultados ao usuário.

Resultados Resultados De acordo com os teste realizados para o estudo de caso apresentado, obteve-se bons resultados em todos os aspectos do protótipo, como no caso da utilização da API do java para leitura dos arquivos XML, pois verificou-se uma boa performance nos resultados dos testes.

Resultados Resultados Gráfico comparativo entre o tempo gasto por registro em ambos os casos da pesquisa, onde a linha que contém os nodos quadrados referem-se ao tempo gasto por registros executados por um computador e a linha com os nodos triangulares representam o tempo gasto por registro na pesquisa efetuada utilizando os protótipos.

Resultados Resultados Gráfico que mostra a diferença entre o tempo total gasto na leitura de cada arquivo XML, para os testes realizados em um computador e nos testes realizados utilizando dois computadores em uma rede utilizando os protótipos desenvolvidos neste trabalho.

Conclusões e Extensões Conclusão Foram implementados dois protótipos: Um que realiza a tarefa de servidor de nomes gerenciando e distribuindo a lista de peers da rede para todo computador que executando o protótipo do aplicativo peer, forem adicionados à lista do servidor de nomes; Outro que realiza a função de peer, conectando-se ao servidor de nomes, disponibilizando seu poder de processamento, trocando mensagens com outros peers e executando processamento em arquivos XML.

Conclusões e Extensões Conclusão Ao término do desenvolvimento do trabalho pode-se concluir que os resultados foram alcançados em relação aos objetivos previamente formulados.

Conclusões e Extensões Extensões Adaptação do protótipo atual para a leitura de diversas bases de dados XML, de forma a moldar a consulta de acordo com a base escolhida para ser pesquisada. desenvolvimento de um servidor de aglets, para não utilizar o aplicativo Tahiti, diminuindo assim a quantidade de Softwares, aplicativos, apis e afins instalados para a utilização do protótipo. desenvolver uma forma de balanceamento das cargas, levando em consideração o poder computacional de cada computador da rede.