INTEGRAÇÃO DE SERVIÇOS WEB EM CLIENTES PEER-TO-PEER Francisco A. Barbosa Mestrado Integrado em Engenharia Electrotécnica e de Computadores Sob a orientação de: Prof.ª Maria Teresa Andrade Eng. Asdrúbal Costa 4 de Março de 2009 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Resumo: • Contextualização • Problemas / Limitações das comunicações Peer-to-Peer • Objectivos • Soluções Encontradas • Componentes Desenvolvidos • Conclusões • Trabalho Futuro Março, 2009 2 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Contextualização “People fear the unknown, the more we explore and know, the less we fear.” Jean-François Clervoy O projecto MOSAICA pretende disseminar conteúdos pertencentes a variadas raças, religiões e etnias, de modo a alcançar a tolerância através do conhecimento de hábitos e costumes. Para a disseminação de conteúdos, o subsistema de distribuição de conteúdos do projecto MOSAICA usa, como base, o paradigma Peer-to-Peer e o protocolo BitTorrent para a comunicação entre peers. Março, 2009 3 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Problemas que podemos encontrar nas comunicações Peer-to-Peer • Os ISPs podem fazer traffic-shapping sobre as comunicações • Os administradores de rede podem bloquear portos nas firewalls • Os conteúdos distribuídos em redes peer-to-peer tendem a ficar com poucos recursos após algum tempo Março, 2009 4 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Objectivos: • Disponibilizar conteúdos partilhados em redes peer-to-peer a utilizadores que não estejam ligados directamente a essas redes •Garantir a disponibilidade de conteúdos partilhados na rede peer-to-peer, sem necessidade de intervenção do utilizador. Março, 2009 5 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Solução Adoptada: • Transferir os conteúdos partilhados em redes peer-to-peer através do protocolo HTTP, usando Serviços Web para comunicação dos serviços com a plataforma usada • Usar plugins para o cliente BitTorrent Azureus, de forma a controlar o número de "sementes" (cópias completas) de cada conteúdo. Março, 2009 6 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Componentes Desenvolvidos: • Serviços Web • Get Content • List Azureus' Activities • Módulo de Suporte do serviço Get Content • ApacheConfigChecker • Plugins para o Azureus (Vuze) • RSS Import (Modificação) • SeedLimiter • Applet de controlo do plugin RSS Import • Disk Space Controller Applet. Março, 2009 7 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER MOSAICA Distributed Content Management System Março, 2009 8 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER MOSAICA Distributed Content Management System São disponibilizados ao utilizador dois pacotes: • MOSAICA Peer Deploy Development Package Para utilizadores que pretendam usufruir dos conteúdos disponibilizados na rede, e oferecer serviços aos utilizadores Web; • MOSAICA Final User Package Para utilizadores altruístas, que pretendam oferecer espaço de armazenamento, como forma de auxiliar a distribuição dos conteúdos na rede. Março, 2009 9 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Interacção do utilizador Web com os componentes desenvolvidos Serviços Web Março, 2009 Applet 10 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Serviços Web (1) Get Content Objectivo: Permitir que um conteúdo partilhado numa rede peer-to-peer seja disponibilizado ao utilizador para download através de HTTP. Funcionamento: Utilizador fornece contentID Março, 2009 Serviço verifica o conteúdo Serviço gera e envia o URL 11 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Módulo de Suporte ApacheConfigChecker Objectivo: Configurar um alias no servidor Web, indicando-lhe qual a localização dos conteúdos guardados no peer que oferece o serviço. Motivação: • Necessidade de expor os conteúdos guardados em disco para o exterior • Assegurar o correcto funcionamento do serviço quando a localização da pasta onde os conteúdos são guardados é alterada Março, 2009 12 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Serviços Web (2) List Azureus' Activities Objectivo: Permitir a consulta, em tempo real, do estado das transferências em curso no Azureus. Funcionamento: Março, 2009 Utilizador requisita o serviço O serviço Web contacta o Azureus A informação é apresentada no browser Azureus retorna a informação, em XML, ao serviço 13 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Plugins do Azureus (1) RSS Import Objectivo: Automatizar o processo de download de conteúdos distribuídos na rede peer-to-peer, permitindo ao utilizador definir o tamanho máximo da pasta onde os conteúdos são guardados. Funcionamento: O plugin contacta o servidor RSS, obtendo uma torrent aleatória O plugin verifica o tamanho do conteúdo e da pasta “partilhada” Se o conteúdo não faz exceder o tamanho definido, o download é iniciado Março, 2009 Se o conteúdo faz exceder o tamanho definido, o conteúdo é descartado 15 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Applet de controlo do plugin RSS Import Disk Space Controller Applet Objectivo: Ferramenta alternativa para definir o espaço usado pelo Azureus para guardar conteúdos. Motivação: • Poder configurar o plugin RSS Import através duma interface Web • Controlar o plugin de uma forma normalizada Março, 2009 16 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Plugins do Azureus (2) SeedLimiter Objectivo: Controlar a disponibilidade de conteúdos distribuídos na rede peer-to-peer, semeando apenas conteúdos com um baixo número de cópias completas. Funcionamento: Para cada conteúdo, o plugin verifica o número de cópias completas Março, 2009 Se o número de seeders for baixo, o Azureus transfere o conteúdo “Semeia” o conteúdo enquanto houver poucos seeders Se existirem seeders suficientes, o conteúdo é descartado 17 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Conclusões: Serviços Web: • É possível usufruir das vantagens oferecidas pelas redes peer-to-peer • Ultrapassam-se eventuais dificuldades ou restrições ao uso do protocolo BitTorrent • Torna-se desnecessário o uso de software específico para usar a plataforma MOSAICA Plugins: • Todos os conteúdos podem ser controlados • A disponibilidade dos conteúdos é melhorada • Operações feitas sem necessidade de intervenção do utilizador Março, 2009 19 I NTEGRAÇÃO DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER Trabalho Futuro: • Expansão da plataforma MOSAICA a outros sistemas operativos; • Implementação de medidas de segurança ao nível dos serviços Web, usando para isso bindings para HTTPS; • Mecanismo adicional para obter o nome de um conteúdo, além do respectivo contentID, quando são efectuadas pesquisas; • Habilitar a hipótese de transferir simultaneamente múltiplos ficheiros através de HTTP, através do serviço Get Content. Março, 2009 20 I NTEGRAÇÃO Março, 2009 DE S ERVIÇOS W EB NUM C LIENTE P EER - TO -P EER 21