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
Download

Integração de Serviços Web num Cliente Peer-to-Peer