TÍTULO: DESENVOLVIMENTO DE UM MÓDULO CLIENTE PARA O PROCESSAMENTO DISTRIBUÍDO PARA BIOINFORMÁTICA

Documentos relacionados
Introdução ao Modelos de Duas Camadas Cliente Servidor

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03. Prof. Gabriel Silva

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

NetEye Guia de Instalação

SISTEMAS DISTRIBUÍDOS

Dadas a base e a altura de um triangulo, determinar sua área.

Armazenamento em nuvem é feito em serviços que poderão ser acessados de diferentes lugares, a qualquer momento e utilizando diferentes dispositivos,

Introdução ao Active Directory AD

Manual de Instalação e Configuração

Noções de. Microsoft SQL Server. Microsoft SQL Server

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

UDPcast Clonagem de HDs via rede utilizando

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

Programação Web Prof. Wladimir

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Linux R. Núcleo de Pesquisa e Extensão / LAViD

Registro e Acompanhamento de Chamados

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Projeto Integrador Projeto de Redes de Computadores

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

Sistema de Chamados Protega

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

Marco A. M. de Melo e Fernando S. P. Gonçalves MANAGER

Manual de Instalação PIMSConnector em Linux

5 Mecanismo de seleção de componentes

Introdução aos Computadores

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Guia Sphinx: instalação, reposição e renovação

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Manual Captura S_Line

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Linux R. Núcleo de Pesquisa e Extensão / LAViD

LINEAR EQUIPAMENTOS RUA SÃO JORGE, TELEFONE: SÃO CAETANO DO SUL - SP - CEP

Procedimentos para Reinstalação do Sisloc

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

SISTEMAS OPERACIONAIS

Procedimentos para Instalação do SISLOC

Figura 01 Kernel de um Sistema Operacional

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Manual de utilização do sistema OTRS (Atendimento) Cliente Externo

Procedimentos para Instalação do Sisloc

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

Aplicação Prática de Lua para Web

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

Manual de Administração DPS Printer 2.1 NDDigital S/A - Software

Gerência e Administração de Redes

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software [1]

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD

Aula 02. Introdução ao Linux

Guia do Administrador de Licenças de Usuários Autorizados do IBM SPSS Modeler

3 SCS: Sistema de Componentes de Software

TRBOnet MDC Console. Manual de Operação

Instalação Cliente Notes 6.5

Universidade Federal do Estado do Rio de Janeiro UNIRIO. Guia para criação do banco de dados de redes sociais

Relatorio do trabalho pratico 2

ESPECIFICAÇÕES TÉCNICAS e OPERACIONAIS. BioGer Server e BioGer Client

1. DOTPROJECT Tela Inicial

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Arquitetura de Rede de Computadores

4 Um Exemplo de Implementação

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Manual de Instalação

Manual SAGe Versão 1.2 (a partir da versão )

1

GUIA INTEGRA SERVICES E STATUS MONITOR

Manual de Atualização

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

Manual de Instalação DPS Printer 2.1 NDDigital S/A - Software

4. Conceitos Básicos de Computação: Sistemas Operacionais

CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS

Lógica de Programação

GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos. RP1 - Relatório de detalhamento das atividades

Concurso Público. Prova Prática - parte 2. Técnico Laboratório Informática. Técnico Administrativo em Educação 2014

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

Manual de Instalação PIMSConnector em Windows

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Módulo de Gestores. Utilizaremos telas do Módulo de Gestores (Homologação):

SISTEMAS OPERACIONAIS

Uso do Netkit no Ensino de Roteamento Estático

Curso de Instalação e Gestão de Redes Informáticas

Impressão do Manual do Utilizador

Tutorial para envio de comunicados e SMS

Sistemas Distribuídos

Política de Utilização da Rede Sem Fio (Wireless)

Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

GRRF GUIA DE RECOLHIMENTO RESCISÓRIA DO FGTS PROCEDIMENTOS NA FOLHA CONSISA SGRH

Clique aqui para começar. Cartilha do Empregador Doméstico para emissão da GRF Guia de Recolhimento do FGTS

Permissões de compartilhamento e NTFS - Parte 1

Sumário. Apresentação O que é o Centro de Gerenciamento de Serviços (CGS) NTI? Terminologia Status do seu chamado Utilização do Portal Web

MANUAL DO PVP SUMÁRIO

Servidores Virtuais. Um servidor à medida da sua empresa, sem investimento nem custos de manutenção.

Transcrição:

TÍTULO: DESENVOLVIMENTO DE UM MÓDULO CLIENTE PARA O PROCESSAMENTO DISTRIBUÍDO PARA BIOINFORMÁTICA CATEGORIA: CONCLUÍDO ÁREA: CIÊNCIAS EXATAS E DA TERRA SUBÁREA: COMPUTAÇÃO E INFORMÁTICA INSTITUIÇÃO: FACULDADE CENECISTA DE SETE LAGOAS AUTOR(ES): GABRIEL APARECIDO GONÇALVES DA SILVA ORIENTADOR(ES): DÉBORA MARIA ABRANTES COSTA, SANDRO RENATO DIAS

DESENVOLVIMENTO DE UM MÓDULO CLIENTE PARA O PROCESSAMENTO DISTRIBUÍDO PARA BIOINFORMÁTICA RESUMO O propósito do presente artigo foi o desenvolvimento de um módulo responsável pela identificação dos clientes conectados a uma rede, através da implementação da distribuição no processamento de dados; este, consiste basicamente na comparação de arquivos, considerando as relações entre os módulos integrantes da aplicação. Para a concretização do módulo, foi desenvolvido um script a partir de recursos da plataforma Linux, que permitiu a identificação eficiente dos clientes. Após a identificação, os clientes receberam uma ou mais tarefas, processando-as. Além disso, compactaram os resultados e os retornaram ao servidor para o armazenamento em um banco de dados. Palavras-chave: Módulo cliente, aplicação, distribuição no processamento de dados. INTRODUÇÃO De acordo com Haberkorn (1983), o processamento de dados é um contexto de atividades executadas de forma ordenada, que tem por resultado um conjunto de informações onde no início eram apenas dados que passam por uma organização e ao fim tem-se informações úteis para o usuário ou o sistema fazer uso. Segundo Pedreiras et al. (2005), existe uma tendência à distribuição do processamento de dados, entre diversas partes de um sistema de computação. Conforme Tanenbaum et al. (2007), um sistema distribuído caracteriza-se por um conjunto de computadores independentes, visto pelos utilizadores do sistema como um único e coerente sistema. Coulouris et al. (2006), o define como um sistema no qual os componentes, localizados em uma rede, se comunicam e coordenam as suas ações através da troca de mensagens. Ainda de acordo com Coulouris et. al (2006), as vantagens de um sistema distribuído, diferem em relação ao seu maior poder computacional, gerando menor 1

tempo no atraso do processamento e por estarem fisicamente separados podem obter falhas independentes, não comprometendo assim, o restante da sua parte distribuída. Um sistema distribuído, pode conter módulos responsáveis por serem tolerantes a falhas, organizando os mesmos para que trabalhem como um único sistema. O objetivo deste trabalho foi a criação de um módulo que fará parte de um sistema distribuído, constituído por cinco módulos: Módulo Cliente - MC, Módulo Servidor - MS, Tolerância Falhas - TF, Comunicação COM, e Banco de Dados BD. Estes, tiveram por objetivo a realização de comparações entre arquivos, armazenando os resultados obtidos desta comparação. O fluxograma abaixo mostra a relação entre os módulos, como se pode observar na Figura 1. Figura 1 Fluxograma contendo os módulos para o desenvolvimento de um Sistema Distribuído. De acordo com Cunha (2006), um sistema distribuído deverá apresentar, um conjunto de serviços exibindo para o usuário de forma transparente. Ainda para Cunha (2006), um sistema distribuído deve ser capaz de mascarar a complexidade e heterogeneidade de um mecanismo de rede, conforme Figura 2. Esta representa um esquema de um usuário acessando uma máquina com o módulo cliente instalado, que 2

se assemelha à um único sistema, mas que por traz possui sua heterogeneidade mascarada para o usuário final. Figura 2 Representação do sistema distribuído. O módulo cliente pode ser definido como uma parte do sistema responsável por obter e salvar informações dos computadores clientes que façam parte dele, e disponibilizá-las para que sejam enviadas ao servidor. Apesar deste modulo salvar um arquivo contendo tais informações, o objetivo não é o de trabalhar como servidor de informações, uma vez que existe um modulo responsável por esta tarefa. Além disso, o módulo cliente deve obter e fornecer ao módulo de TF as informações dos arquivos e pastas referentes às tarefas a serem executadas, controlando possíveis falhas. Portanto, o módulo cliente, ao final do processamento dos dados, deverá compactar a pasta que contém o arquivo retornado pela TF, permitindo que esta seja enviada ao servidor. O sistema foi desenvolvido para ser executado em sistemas operacionais Linux, plataforma largamente difundida, criada em 1991 por Linus Torvalds, que apresenta desempenho satisfatório, estabilidade e segurança, além de permitir que aplicações sejam facilmente criadas para este através de scripts (Campos,2006). 3

OBJETIVOS OBJETIVO GERAL Desenvolvimento de um módulo cliente para uma aplicação afim de realizar a comparação de arquivos, utilizando a distribuição de tarefas e o processamento de dados entre diversos módulos. OBJETIVOS ESPECÍFICOS Colher as propriedades dos computadores clientes. Possibilitar o acesso às propriedades colhidas. Receber uma tarefa a ser executada. Informar ao controle de falhas o arquivo a ser comparado. Informar o nome da pasta de saída ao módulo controle de falhas. Compactar o arquivo de saída. Permitir o acesso ao arquivo compactado para ser enviado ao servidor. METODOLOGIA As ferramentas utilizadas para o desenvolvimento do projeto foram os editores de texto GEDIT (Gnu editor), PICO (Pine composer) e VI (Vi improved), os quais foram utilizados para criação das linhas de comandos em Shell Script. O próprio terminal do Linux foi utilizado para gerar a permissão de abertura do arquivo e execução do mesmo, já a plataforma de desenvolvimento foi o sistema operacional Ubuntu versão 13.04. Apesar do código ter sido desenvolvido em sua maioria com o GEDIT, foram utilizados, também o PICO e VI em busca de melhores ferramentas para adequação à sintaxe e à lógica de programação. E como o GEDIT possibilitou melhor controle do código, esta foi a ferramenta mais utilizada. Os procedimentos para a criação do script seguiram conforme a necessidade de apresentação das informações do cliente, possibilitando sua identificação assim como seu poder de processamento e armazenamento em disco. 4

DESENVOLVIMENTO Inicialmente, foram definidas as ferramentas a serem utilizadas para o desenvolvimento do projeto, escolhendo a que melhor atendeu ao objetivo proposto pelo trabalho. O GEDIT teve um grande papel no desenvolvimento por se tratar de uma ferramenta que possui numeração de linhas, indentação automática e destaca a sintaxe, sendo próprio para a programação, como pode ser observado na Figura 3. Figura 3 Demonstração GEDIT. Uma vez definido o uso do Linux e do Shell Script, foram conduzidas pesquisas sobre programação em Shell. Estas, foram realizadas a fim de se familiarizar melhor com a sintaxe de programação, para que fosse possível começar a escrever as linhas do código. Após isso, iniciou-se a edição dos arquivos executáveis. Apesar do uso de editores, como o GEDIT, os testes preliminares foram todos realizados no terminal do Linux, por obter uma resposta rápida e precisa, verificando a eficiência de cada comando. Os métodos utilizados, foram de extrema importância para identificação de cada cliente, foi criado um único arquivo responsável por capturar as informações do computador cliente, como nome do computador, quantidade de memória disponível, IP e espaço em disco disponível, que são informações indispensáveis para a identificação do mesmo. Como foi utilizado o sistema operacional Linux, o código foi escrito e testado em arquivos separados, o que possibilitou que fosse verificada a eficiência de cada 5

método. Na primeira parte do Shell Script, foi utilizado o comando cat /etc/hostname para obter o nome do computador, através do comando cat /proc/meminfo grep "MemFree" awk '{print $2}' pode-se colher informações como quantidade de memória disponível, para coletar informações sobre a quantidade de processadores foi utilizado o comando grep processor /proc/cpuinfo -c, para informar o número IP foi utilizado o comando echo $(/sbin/ifconfig sed -n '2 p' awk '{print $3}') e por fim o comando df -h. tail -n1 awk '{print $4}' para colher a informação de disponibilidade em disco. Após a comprovação da eficiência destes arquivos, foram então, transformados em apenas um único arquivo, capaz de realizar por completo a coleta das informações do cliente e salvá-las em um arquivo de texto, com o caminho já pré-definido. Este arquivo criado deverá ser transmitido em resposta para o servidor. Logo, foi criado o arquivo executável com extensão em Shell Script (.sh), para compactar o arquivo de saída, possibilitando seu envio. Nesta fase, fazendo o uso comando GZIP o arquivo de saída foi então compactado. Após a compressão deste arquivo, ele se encontra então, pronto para ser enviado ao servidor, que irá realizar a leitura das informações nele contido. RESULTADOS No do desenvolvimento deste módulo a principal dificuldade foi na filtragem dos dados de resposta após o comando no terminal, uma vez que a mensagem de reposta não estava sendo tratada, informando outras propriedades da máquina do cliente que indeferem na exatidão do conteúdo obtido. Comandos sendo utilizados com o PIPE( ) foram indispensáveis e tiveram grande importância nesta etapa de filtragem dos dados. Como no caso do comando echo $(/sbin/ifconfig sed -n '2 p' awk '{print $3}') utilizado para capturar o endereço IP do computador, uma maneira fácil e confiável para colher informações do cliente e como estas informações necessitam ser armazenadas em um local, para serem futuramente absorvida por outros módulos o comando >> /home/infopc/arquivo.txt envia o resultado obtido do comando anterior para um arquivo de texto, possibilitando 6

assim sua leitura após a execução de todos os métodos, mostrando-se confiável e objetivo. Após a resolução da filtragem e o sequenciamento de informações geradas pelo script, foram realizados testes para constatação de que as informações eram confiáveis e se mesmo trariam de forma que pudesse ser utilizadas pelo módulo de TF e o MS. Após estes testes, o módulo cliente mostrou-se aplicável a qualquer configuração de cliente, desde que o mesmo, seja executado na plataforma Linux. Entretanto, o resultado obtido após a execução do módulo cliente, teve de ser comprimido para possibilitar o envio pelo módulo de comunicação, uma vez que pastas resultantes da comparação dos arquivos foram geradas e com elas, os resultados em seu subdiretório, sendo necessário a compressão de tais dados para que pudessem ser retornada de forma segura ao servidor. Nesta fase, foi utilizado o comando gzip infopc.txt para comprimir o arquivo, possibilitando assim, que outros módulos fizessem o consumo de suas informações. A principal vantagem da utilização deste modelo de sistema distribuído é a possibilidade de um desempenho alto na comparação entre arquivos, que é o objetivo pelo qual ele se pré-dispõe. Sendo que cada módulo executa em processadores separados e cada um em uma parte do processamento, unindo-se em apenas um objetivo. Contudo, o resultado da identificação dos dados de cada cliente, tem grande destaque, por se tratar da fonte onde são colhidas informações, como seu poder de processamento, que será tratado por outro modulo de acordo com sua característica. Na Figura 4, podemos observar o resultado após a execução do Shell Script. Esta, mostra o resultado após o fim da execução do Script responsável por colher e identificar o cliente. É possível observar que o arquivo gerado contém todos os dados necessários para identificação de cada máquina cliente, informado sua identificação e poder processamento. 7

Figura 4 Demonstração arquivo de saída. CONSIDERAÇÕES FINAIS Este trabalho teve como objetivo o desenvolvimento de um módulo cliente de uma aplicação para processamento distribuído. O MC é responsável por obter e informar suas propriedades, armazenando-as e disponibilizando estas informações, para que sejam utilizadas no direcionamento de processamento. Após o desenvolvimento do módulo, foi possível observar a importante função da identificação individual de cada cliente, uma vez que estes possuem características distintas, não se apresentam com as mesmas propriedades e recursos disponíveis, armazenando e disponibilizando estas informações para que possam ser tratadas pelo módulo de TF e persistida pelo MS, como descrito anteriormente na figura 1, garantindo a integridade do arquivo o direcionando e encaminhando para o processo, mostrando a eficiência do módulo cliente, gerando resultados de forma ágil e aproveitando todos os recursos de software e hardware disponíveis. FONTES CONSULTADAS CAMPOS, Augusto. O que é Linux. BR-Linux. Florianópolis, março de 2006. Disponível em http://br-linux.org/linux/faq-linux. Consultado em: 27 Jul. 2013. 8

COULOURIS, G; DOLLIMORE, J; KINDBERG, T. Sistemas distribuídos conceitos e Projetos ed. São Paulo: ARTMED, 1998. CUNHA, B.R. Unindo Sistemas e Banco de Dados Distribuídos Disponível em: http://www.cin.ufpe.br/~tg/2006-1/brca.pdf. Consultado em: 08 Ago. 14 HABERKORN, M. Ernesto. Computador e Processamento de Dados ed. São Paulo: Atlas, 1983. PEDREIRAS, A.W. Distribuição processamento de Dados. São Paulo, Ed. Makron Books, 2004. TANENBAUM, Andrews, VAN STEEN, M. Sistemas Distribuídos: Princípios e Paradigmas, São Paulo, Ed. Pearson, 2007. 9