Francisco A. Barbosa
Mestrado Integrado em Engenharia Electrotécnica e de Computadores
4 de Março de 2009
Sob a orientação de:Prof.ª Maria Teresa Andrade
Eng. Asdrúbal Costa
INTEGRAÇÃO DE SERVIÇOS WEB
EM CLIENTES PEER-TO-PEER
2Março, 2009
Resumo:
• Contextualização
• Problemas / Limitações das comunicações Peer-to-Peer
• Objectivos
• Soluções Encontradas
• Componentes Desenvolvidos
• Conclusões
• Trabalho Futuro
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
3Março, 2009
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
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.
“People fear the unknown, the more we explore and know, the less we fear.”
Jean-François Clervoy
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.
Contextualização
4Março, 2009
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
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
5Março, 2009
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.
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
6Março, 2009
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.
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
7Março, 2009
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.
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
8Março, 2009
MOSAICA Distributed Content Management System
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
9Março, 2009
MOSAICA Distributed Content Management System
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
São disponibilizados ao utilizador dois pacotes:
• MOSAICA Peer Deploy Development PackagePara utilizadores que pretendam usufruir dos conteúdos disponibilizados na rede, e oferecer serviços aos utilizadores Web;
• MOSAICA Final User PackagePara utilizadores altruístas, que pretendam oferecer espaço de armazenamento, como forma de auxiliar a distribuição dos conteúdos na rede.
10Março, 2009
Serviços Web Applet
Interacção do utilizador Web com os componentes desenvolvidos
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
11Março, 2009
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
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.
Utilizador fornece
contentID
Serviço verifica o conteúdo
Serviço gera e envia o URL
Funcionamento:
12Março, 2009
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
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
13Março, 2009
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
Serviços Web (2)
List Azureus' Activities
Objectivo:Permitir a consulta, em tempo real, do estado das transferências em curso no Azureus.
Utilizador requisita o
serviço
Funcionamento:
O serviço Web contacta o
Azureus
Azureus retorna a informação, em XML, ao serviço
A informação é apresentada no
browser
15Março, 2009
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
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
Se o conteúdo faz exceder o tamanho
definido, o conteúdo é descartado
16Março, 2009
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
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
17Março, 2009
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
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
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
19Março, 2009
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
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
20Março, 2009
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.
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
21
INTEGRAÇÃO DE SERVIÇOS WEB NUM CLIENTE PEER-TO-PEER
Muito obrigado!
Questões?
Março, 2009