Desenvolvimento de uma Rede de Distribuição de Arquivos. Development of a File Distribution Network - PDF
Download "Desenvolvimento de uma Rede de Distribuição de Arquivos. Development of a File Distribution Network"
Pedro Henrique Yago Chagas Aveiro
1 Desenvolvimento de uma Rede de Distribuição de Arquivos Development of a File Distribution Network
2 Desenvolvimento de uma Rede de Distribuição de Arquivos Development of a File Distribution Network Talles Brito Viana (Graduando em Ciência da Computação) Universidade Federal da Paraíba (UFPB) Endereço: Rua Jociara Telino 260, Bloco J, Apt 201 Bancários, João Pessoa PB Telefone: (88) Endereço Eletrônico:
3 Resumo Peer-to-Peer é uma arquitetura de distribuição caracterizada pela baixa centralização. Com isso podemos possibilitar uma distribuição de arquivos em rede que tem como característica permitir o acesso de qualquer usuário dessa rede a outro usuário de forma direta, efetivando o compartilhamento entre os usuários. Desenvolvemos um sistema de compartilhamento de arquivos utilizando o conceito de sistemas Peer-to-Peer. Esse sistema é composto da aplicação central que atua como diretório de nomes de arquivos compartilhados e da aplicação dos pares da rede que podem efetuar transferências de conteúdos entre si. Descrevemos um método inicial para um sistema de distribuição de arquivos. Palavras Chave Peer-to-Peer, Sistemas distribuídos, Computação distribuída, Servidores e clientes de arquivos, Distribuição de arquivos.
4 Abstract Peer-to-Peer it s a distribution architecture characterized by a small centralization. Then we can establish a network file distribution what permits the access for any user of this net from other user directly, effecting the file sharing between the user couple. We developed a file share system using concept of Peer-to-Peer systems. This system its compound by central server application what act like shared file names directory and an application of the clients pairs what can effect files transfers between us. We described a begin method for a file distribution system. Keywords Peer-to-Peer, Distributed systems, Distributed computation, File server and clients, File distribution.
5 1. Introdução aos sistemas distribuídos de arquivos Uma das arquiteturas distribuídas caracterizadas pela ausência de serviços centrais, ou seja, da interface cliente/servidor é denominada de Peer-to-Peer (ou abreviadamente P2P). Com isso os nós (peers) constituem partes de uma rede de dispositivos de processamento, onde cada dispositivo pertencente pode atuar como cliente ou servidor dependendo da transação que esteja sendo executada. Esta arquitetura pode ser usada em várias aplicações, podemos citar: para o processamento distribuído, compartilhamento de arquivos e conteúdo, relacionamento entre grupos de interesse através da partilha de informações comuns. Uma das mais conhecidas aplicações da área de computação distribuída é a distribuição de arquivos que permite uma forma direta de acesso entre seus compartilhadores e foi exposta exaustivamente a partir da criação da rede de compartilhamento de arquivos de áudio denominada Napster. A partir da polêmica gerada por esse sistema de compartilhamento surgiram várias outras aplicações com o propósito semelhante e diferentes níveis de complexidade. 1.1 Grau de centralização das redes As redes podem compor diferentes níveis de centralização, dizemos que uma aplicação Peer-to-peer pura é uma aplicação em que o nível de centralização de suas tarefas é nulo. Estes tipos de aplicações são difíceis de serem encontrados, pois em alguns sistemas existe um nível de centralização crítico que maximiza a performance da rede. Em um sistema de distribuição de arquivos podemos utilizar uma arquitetura Peer-to-peer híbrida onde um servidor central atue como indexador dos conteúdos disponíveis e compartilhados e os nós da rede atuam
6 como servidores de informação e conteúdo e clientes na requisição destas informações. 1.2 Aplicações de mercado A possibilidade de conectar pares entre si de forma mais dinâmica é um dos principais fatores do modelo Peer-to-peer proposto para aplicações na internet, esta é uma mudança no paradigma inicial, em que conteúdos são centralizados em servidores únicos e disponibilizados da forma de um para muitos. A distribuição de arquivos através da arquitetura Peer-to-Peer caracteriza uma distribuição de muitos para muitos. Citemos alguns modelos de negócios e segmentos de mercado que potencializam o uso das redes de distribuição Peer-topeer: Compartilhamento de arquivos e conteúdo, compartilhamento baseado em grupos privados, potencialidades de pesquisa e mineração de dados em grupos de interesse mútuo, distribuição de mídia digital, portais de conteúdo baseados em pares (sem centralização), desenvolvimento de intranets, extensão de extranets, métodos de pesquisa de dados, compartilhamento de dados para processamento distribuído, compartilhamento de atividade computacional. 2. Metodologia 2.1 Descrição geral O sistema é composto em duas aplicações: clientes do servidor central e o servidor central, logo optamos por uma abstração de distribuição centralizada. Todos os clientes devem estar ligados a partir de um endereço de um dispositivo de controle central criando o nível de interação entre todos os dispositivos clientes. O servidor central fornece os meios de pesquisa para todos os clientes da rede e gerencia os apontadores para os dados compartilhados. Quando um usuário
7 estabelece uma conexão com o servidor central ele se registra na rede e com isso envia a sua lista de arquivos compartilhados e indica o endereço onde este está localizado, uma série de informações são inclusas, como: tamanho e nome do arquivo. Ao efetuar uma busca por um arquivo o servidor central retorna além destas informações o endereço do arquivo para que com isso possa se estabelecer transferência a entre pares. A figura exibe este processo. O servidor central atua como um diretório de nomes (apontadores) Figura de arquivos, ao requer um arquivo compartilhado o servidor retorna o endereço e parâmetros do arquivo requerido, o outro par da conexão fica sempre a espera de novas conexões e serve seus arquivos, com isso executa-se a transferência. 2.2 Processo de execução do par servidor central cliente O servidor central fica sempre à espera de novos clientes onde na execução do processo de inclusão de nomes do dispositivo após a conexão, este é subcomposto dos seguintes processos: associamos meios de transmissão de dados entre esse cliente e o servidor, recebemos a estrutura da lista de arquivos deste cliente e criamos o diretório de nomes (contendo registros apontadores) do servidor central, processamos a interação do cliente com o servidor através de um protocolo definido por meios de comandos.
8 2.3 Servidor e clientes de arquivos Devem se observar as diferenças entre o servidor central da rede e o servidor de arquivos, até este momento quando referenciamos ao "cliente" estávamos falando do cliente do servidor central, mas na realidade cada um destes clientes também é um servidor, neste caso um servidor de arquivos, cada cliente-servidor de arquivos fica à espera de novas conexões de outros clientes para que se execute algum tipo de transferência de arquivos. Figura A figura mostra os diferentes estados simultâneos dos computadores da rede, o servidor central contém todos os apontadores de arquivos e endereços de conexão dos servidores de arquivos dos clientes A e B (quando falamos somente "clientes" estamos referindo aos clientes do servidor central). Com isso o cliente B ao buscar um arquivo do cliente A através de comunicação com o servidor central recebe o endereço do servidor de arquivos do cliente A e faz conexão com este, com isso o cliente B tem três estados simultâneos: cliente do servidor de arquivos do cliente A, cliente do servidor central e também é um servidor de arquivos que espera requisições de outros clientes da rede.
9 3. Resultados e considerações A partir do modelo adotado e descrito desenvolvemos um sistema básico de distribuição composta das duas aplicações descritas: o servidor central e diretório de nomes e a aplicação dos clientes. Também construímos as funcionalidades do servidor e cliente de arquivos: Definimos um protocolo de comunicação entre o servidor e clientes (com isso o servidor central reage a mudanças de estado do cliente), um sistema de busca de arquivos na rede (figura 3.2) e o recurso de visualização de tráfego de transferências de arquivos do cliente (figura 3.1). Figura 3.1 Figura Considerações finais Para as próximas etapas de desenvolvimento: Mudança para o paradigma descentralizado, aperfeiçoamento dos métodos de busca e da estrutura de dados do diretório de nomes de arquivos, busca mais inteligente por uma diretiva definida do conteúdo compartilhado, verificação de desempenho da busca em quantidades massivas, possibilitar a gerência do conteúdo distribuído, avaliação de desempenho da aplicação geral com possível reuso e melhora de algoritmos, métodos apurados de identificação de arquivos (técnicas de hashing), possibilidade de transferências a partir de várias fontes e melhora e avaliação dos algoritmos de transferência de arquivos entre pares.
10 4. Referências GLORIA, José Francisco G. Aplicações Peer-to-Peer sobre redes IP, a sua evolução e o seu futuro provável, demonstração de conceitos. UNi, Lisboa. ALBUQUERQUE, Tiago F. G. Uma breve história do Peer-to-Peer Monografia (Graduação em Ciência da Computação, área de concentração em Segurança de Dados) UNB, Brasília. ARAUJO, Cláudio Castro; FRANCA, Fábio Pereira; ANDRANDE, Sandro Santos. Sistemas Peer-to-Peer, conceitos, aplicações e tendências. UFBA, Salvador. ROCHA, Rafael R. - Redes Peer-to-Peer para compartilhamento de Arquivos na Internet. UFRJ, Rio de Janeiro.