SlideShare a Scribd company logo
1 of 28
Download to read offline
SISTEMAS 
DISTRIBUÍDOS 
ACADÊMICOS: Anderson dos Santos Ferreira, 
Jaqueline Nardes, Valdir Pereira da Silva Junior. 
Sistemas para 
Internet 
PEER TO PEER 
P2P 
PROFESSOR: THALES 
DUARTE
INTRODUÇÃO 
Quando falamos em peer to peer, a primeira 
coisa que nos vem a mente é compartilhamento, 
porém muitos de nós não tem ideia de como 
isso é feito ou de como isso foi possível. 
Em uma breve História, veremos como 
chegamos hoje a distribuição de informações e 
outros serviços explorados por aplicativos P2P.
NAPSTER E SEU LEGADO 
INTRODUÇÃO AO NAPSTER 
Napster [OpenNap 2001] é um sistema peer-to-peer 
que fornecia um meio para os usuários 
compartilharem arquivos. Napster se tronou 
popular para a troca de musicas, logo após seu 
lançamento em 1999, vários milhões de 
usuários estavam registrados trocando arquivos 
de musicas.
ARQUITETURA DO NAPSTER
FUNCIONAMENTO DO 
NAPSTER
NAPSTER DESATIVADO 
Nota: O Napster foi desativado por causa de 
resultados de ações jurídicas contra os 
operadores do serviço Napster, impetradas 
pelos proprietários dos direitos autorais de parte 
do material.
LIÇÕES APRENDIDAS COM O 
NAPSTER 
 Praticidade na construção de um serviço de 
larga escala, que depende de dados e 
computadores de usuários normais; 
 Evita o esgotamento dos recursos 
computacionais levando em conta o caráter 
local da rede;
LIMITAÇÕES 
O Napster usava um índice unificado de todos 
os arquivos disponíveis e não fazia checagem 
de versão. Para arquivos como músicas digitais, 
isto não era um problema, pois as músicas 
nunca são atualizadas, mas para alguns outros 
tipos de arquivos (como softwares) isto era um 
problema.
CRONOLOGIA 
 Janeiro de 1999: Shawn Fanning abandona a universidade para 
desenvolver o software que ganharia o nome de Napster. 
 Junho de 1999: O Napster entra no ar possibilitando de uma 
maneira simples que usuários compartilhassem músicas em 
formato mp3. 
 Agosto de 1999: O tio de Fanning, John Fanning, juntamente com 
outros investidores, oferece um acordo para gerenciar o Napster. 
 Outubro de 1999: As negociações para distribuição de música 
online com as gravadoras não obtêm sucesso. 
 Dezembro de 1999: A RIAA exige US$100 mil por música baixada 
por quebra dos direitos autorais. 
 Fevereiro de 2000: Várias universidade dos EUA proíbem o uso do 
Napster em seus computadores. 
 Abril de 2000: A banda Metallica entra com ações contra o Napster 
por distribuir suas canções de forma ilegal. 
 Maio de 2000: Em resposta aos processo, o Napster mostra que 
está disposto a colaborar, banindo mais de 300 mil usuários que 
compartilham músicas da banda
 Junho de 2000: A RIAA entra com um mandado de segurança para 
bloquear material compartilhado de grandes selos. 
 Julho de 2000: A empresa anuncia planos para cooperar com as 
gravadoras. Um juiz estabelece um prazo de 48 horas para que o Napster 
pare de permitir que músicas com copyright sejam compartilhadas. 
 Agosto de 2000: Madonna entra com um processo contra o site por 
divulgar as faixas de seu álbum "Music", sem autorização e um mês antes 
do lançamento oficial. 
 Outubro de 2000: A Napster anuncia parcerias para pagar os artistas cujas 
músicas são compartilhadas no site. 
 Março de 2001: Um filtro é instalado nas buscas do Napster para bloquear 
o download de arquivos listados pelas gravadoras. 
 Julho de 2001: A Justiça proíbe todos os downloads de arquivos no site, a 
menos que o filtro funcione 100%. 
 Novembro de 2002: O Napster é comprado pela Roxio por US$ 5,2 
milhões. 
 Atualidade: Hoje, o Napster vende arquivos de música digital que 
respeitem o direito autoral. 
 Junho de 2001: Chega a Portugal o Napster 
 Setembro de 2013: Chegada do Napster no Brasil.
MIDDLEWARE 
 Middleware – é uma espécie de mediador. No 
campo da computação distribuída é um 
programa que faz a mediação entre softwares 
diferentes. É usado para transportar 
informações e dados entre programas de 
diferentes protocolos de comunicação, 
plataformas e dependências do sistema 
operacional.
MIDDLEWARE PEER-TO-PEER 
 São projetados especificamente para atender 
a necessidades da disposição automática, e 
da subsequente localização, dos objetos 
distribuídos gerenciados por sistemas e 
aplicativos peer-to-peer.
REQUISITOS FUNCIONAIS 
 Permitir aos clientes localizarem e se 
comunicarem com qualquer recurso individual 
disponibilizado para um serviço, mesmo que 
os recursos estejam amplamente distribuídos 
entre os hosts; 
 Capacidade de adicionar novos recursos e 
remove-los a vontade; 
 Adicionar hosts no serviço e remove-los; 
 Deve oferecer uma interface de programação 
simples para programadores de aplicações.
REQUISITOS NÃO FUNCIONAIS 
 Escalabilidade global – deve ser projetado de modo a suportar 
aplicativos que acessam milhões de objetos em dezenas ou 
centenas de milhares de hosts; 
 Balanceamento de carga - deve ser projetado para explorar um 
grande numero de computadores com distribuições de carga de 
trabalho balanceadas entre eles; 
 Otimização das interações locais entre peers vizinhos – deve ter 
como objetivo colocar os recursos próximos dos nós que mais os 
acessam; 
 Acomodar a disponibilidade altamente dinâmica de hosts – o 
sistema deve redistribuir cargas e recursos toda a vez que um host 
entra ou sai do sistema. 
 Segurança dos dados em um ambiente com confiança heterogênea 
– confiança deve ser estabelecida por mecanismos de autenticação 
e criptografia, para garantir a integridade e a privacidade da 
informação; 
 Anonimato, capacidade de negação e resistência a censura – os 
hosts que contem dados devem ser capazes de negar a 
responsabilidades por conte-los ou fornecê-los de forma plausível.
SOBREPOSIÇÃO DE 
ROTEAMENTO 
Temos dois tipos de sobreposição de 
roteamento, estruturado e não estruturado. 
Estruturado: 
 Constituída de procedimentos determinísticos, 
onde o processo mais usado é através de um 
DHT – tabela de hash distribuída, que distribui 
uma chave aleatória, um identificados de 128 
ou 160 bits. 
 O DHT faz um mapeamento único da chave 
de um item para o identificador do nó 
responsável pelo item desejado.
ESQUEMA DE SOBREPOSIÇÃO 
ESTRUTURADA
SOBREPOSIÇÃO DE 
ROTEAMENTO 
Não estruturado: 
 Funciona com um algoritmo que faz 
requisições para localizar nós e objetos 
(routing overlay), direcionando qualquer 
cliente para um host que contenha suas 
solicitações, sendo que estas solicitações 
podem estar alocadas em qualquer nó da 
rede, dessa forma garante que qualquer nó 
pode acessar qualquer objeto por meio de 
roteamento de cada requisição.
NÓ E OBJETO
TAREFA PRINCIPAL DE UMA 
SOBREPOSIÇÃO DE 
ROTEAMENTO 
 Solicitar via GUID (Globally Unique 
Identifier), identificador único universal, uma 
operação ao qual direciona a requisição para 
um nó que tenha uma réplica do objeto que se 
deseja. 
 O GUID é calculado a partir do estado do 
objeto ou parte dele, usando uma função que 
produz um valor de probabilidade muito alto 
de ser exclusivo.
COMUNICAÇÃO DE 
PROCESSOS 
Processo: 
 Programa que é executado em um 
hospedeiro. 
 Os processos no mesmo hospedeiro se 
comunicam usando a comunicação entre 
processos definida pelo sistema operacional 
(SO). 
 Processos em hospedeiros distintos se 
comunicam trocando mensagens através da 
rede. 
 Processo cliente: Processo que inicia a
ENDEREÇANDO OS 
PROCESSOS 
 Para que um processo receba mensagens, ele 
deve possuir um identificador. 
 Cada host possui um endereço IP único de 32 
bits. 
 Pergunta: O endereço IP do host no qual o 
processo está sendo executado é suficiente 
para identificar o processo? 
 Resposta: Não, muitos processos podem estar 
executando no mesmo host.
IDENTIFICADOR 
Porém para que o processo seja identificado é 
necessário que: 
 O identificador inclua tanto o endereço IP 
quanto os números das portas associadas 
com o processo no host. 
 Exemplo de números de portas: 
 Servidor HTTP: 80 
Servidor de Correio: 25
PROTOCOLOS DA CAMADA 
DE APLICAÇÃO 
Para que dois processos se comuniquem, eles 
devem trocar mensagens. 
 Tipos de mensagens trocadas: Mensagens de 
pedido e resposta. 
 Sintaxe dos tipos das mensagens: Campos 
presentes nas mensagens e como são 
identificados. 
 Semântica dos campos: Significado da 
informação nos campos. 
 Regras para quando os processos enviam e 
respondem às mensagens.
PROTOCOLOS PÚBLICOS E 
PROPRIETÁRIOS 
Protocolos de domínio público: 
 Definidos em RFCs. 
 Permitem a interoperação. 
 HTTP e SMTP 
Protocolos proprietários: 
 Napster, Emule 
 LimeWare, Utorrent
ARQUITETURA DO SISTEMA 
Com relação a arquitetura temos 3 tipos. 
 Centralizada. 
 Descentralizada. 
 Híbrida. 
Sendo que hoje em dia o P2P pode ser 
descentralizada ou híbrido, já que como vimos a 
ideia de centralizar o mesmo acabou gerando 
processos judiciais ao Napster, sua distribuição 
é horizontal, onde o cliente e o servidor se 
equivalem para equilibrar as cargas(conjunto de 
dados).
ARQUITETURAS
VÍDEO INFORMATIVO
REFERÊNCIAS 
 Coulouris G, Dolimore J, Kindberg T. Sistemas 
Distribuídos – Conceitos e Projetos. 4ª Ed. 
Bookman Reimpressão 2008. Cap. 10. P. 349- 
378. 
 NazarenoUberlandia. Aula 3 – RC – Ponto a 
Ponto: Publicado em 11/05/2014, acessado em 
09/09/2014. 
https://www.youtube.com/watch?v=QHGeWtmFOj 
4

More Related Content

What's hot

Sistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPCSistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPCAdriano Teixeira de Souza
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosDaniel Arndt Alves
 
Aula de Sistemas Distribuídos - Tolerância a Falhas
Aula de Sistemas Distribuídos - Tolerância a FalhasAula de Sistemas Distribuídos - Tolerância a Falhas
Aula de Sistemas Distribuídos - Tolerância a FalhasVictor Hazin da Rocha
 
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Helder da Rocha
 
Redes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPRedes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPCleber Fonseca
 
Protocolo http
Protocolo httpProtocolo http
Protocolo httpBiel2013a
 
Cloud Computing - Computação em Nuvem
Cloud Computing - Computação em NuvemCloud Computing - Computação em Nuvem
Cloud Computing - Computação em NuvemCompanyWeb
 
Capítulo 23 comunicação entre processos
Capítulo 23   comunicação entre processosCapítulo 23   comunicação entre processos
Capítulo 23 comunicação entre processosFaculdade Mater Christi
 
Mutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosMutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosThiago Poiani
 
Aula de Sistemas Distribuídos - Invocação Remota
Aula de Sistemas Distribuídos - Invocação RemotaAula de Sistemas Distribuídos - Invocação Remota
Aula de Sistemas Distribuídos - Invocação RemotaVictor Hazin da Rocha
 
Certificados Digitais & Criptografia
Certificados Digitais & CriptografiaCertificados Digitais & Criptografia
Certificados Digitais & CriptografiaRaul Oliveira
 

What's hot (20)

Sistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPCSistemas Distribuídos - Comunicação Distribuída – RPC
Sistemas Distribuídos - Comunicação Distribuída – RPC
 
Computação em nuvem
Computação em nuvemComputação em nuvem
Computação em nuvem
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Modelo osi
Modelo osiModelo osi
Modelo osi
 
Conceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos DistribuidosConceitos Básicos de Objetos Distribuidos
Conceitos Básicos de Objetos Distribuidos
 
Aula de Sistemas Distribuídos - Tolerância a Falhas
Aula de Sistemas Distribuídos - Tolerância a FalhasAula de Sistemas Distribuídos - Tolerância a Falhas
Aula de Sistemas Distribuídos - Tolerância a Falhas
 
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
 
Redes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPRedes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCP
 
Modelo TCP/IP
Modelo TCP/IPModelo TCP/IP
Modelo TCP/IP
 
TCP/IP
TCP/IPTCP/IP
TCP/IP
 
Protocolo http
Protocolo httpProtocolo http
Protocolo http
 
Rede de computadores
Rede de computadoresRede de computadores
Rede de computadores
 
Cloud Computing - Computação em Nuvem
Cloud Computing - Computação em NuvemCloud Computing - Computação em Nuvem
Cloud Computing - Computação em Nuvem
 
Capítulo 23 comunicação entre processos
Capítulo 23   comunicação entre processosCapítulo 23   comunicação entre processos
Capítulo 23 comunicação entre processos
 
Apresentação slides - TCC
Apresentação slides - TCCApresentação slides - TCC
Apresentação slides - TCC
 
O modelo osi
O modelo osiO modelo osi
O modelo osi
 
Mutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosMutexes, Monitores e Semáforos
Mutexes, Monitores e Semáforos
 
Aula de Sistemas Distribuídos - Invocação Remota
Aula de Sistemas Distribuídos - Invocação RemotaAula de Sistemas Distribuídos - Invocação Remota
Aula de Sistemas Distribuídos - Invocação Remota
 
Socket
SocketSocket
Socket
 
Certificados Digitais & Criptografia
Certificados Digitais & CriptografiaCertificados Digitais & Criptografia
Certificados Digitais & Criptografia
 

Similar to P2P - Sistemas Distribuídos

Similar to P2P - Sistemas Distribuídos (20)

Internet.pdf
Internet.pdfInternet.pdf
Internet.pdf
 
Informatica vários conteúdos
Informatica   vários conteúdosInformatica   vários conteúdos
Informatica vários conteúdos
 
A internet tic catarina silva 9ºc nº2
A internet tic catarina silva 9ºc nº2A internet tic catarina silva 9ºc nº2
A internet tic catarina silva 9ºc nº2
 
Internet Resumo
Internet ResumoInternet Resumo
Internet Resumo
 
Apostila internet
Apostila internetApostila internet
Apostila internet
 
Introdução à internet
Introdução à internetIntrodução à internet
Introdução à internet
 
INTERNET - Histórico e Funcionamento
INTERNET - Histórico e FuncionamentoINTERNET - Histórico e Funcionamento
INTERNET - Histórico e Funcionamento
 
03-apostila-versao-digital-informatica-basica-015.909.942-05-1657644539.pdf
03-apostila-versao-digital-informatica-basica-015.909.942-05-1657644539.pdf03-apostila-versao-digital-informatica-basica-015.909.942-05-1657644539.pdf
03-apostila-versao-digital-informatica-basica-015.909.942-05-1657644539.pdf
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
 
Artigo Redes Jonnes
Artigo Redes JonnesArtigo Redes Jonnes
Artigo Redes Jonnes
 
Artigo Redes Jonnes
Artigo Redes JonnesArtigo Redes Jonnes
Artigo Redes Jonnes
 
Computadores
ComputadoresComputadores
Computadores
 
Power point aps 05 pronto
Power point aps 05 prontoPower point aps 05 pronto
Power point aps 05 pronto
 
GlossáRio De Internet
GlossáRio De InternetGlossáRio De Internet
GlossáRio De Internet
 
GlossáRio De Internet
GlossáRio De InternetGlossáRio De Internet
GlossáRio De Internet
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas Distribuídos
 
Internet
InternetInternet
Internet
 
Programacao para Web I 02 Internet
Programacao para Web I 02  InternetProgramacao para Web I 02  Internet
Programacao para Web I 02 Internet
 
Curso Básico de Internet - Parte I
Curso Básico de Internet - Parte ICurso Básico de Internet - Parte I
Curso Básico de Internet - Parte I
 
Ambiente web 16
Ambiente web 16Ambiente web 16
Ambiente web 16
 

More from Valdir Junior

Trabalho OO Sistema de Advocacia
Trabalho OO Sistema de AdvocaciaTrabalho OO Sistema de Advocacia
Trabalho OO Sistema de AdvocaciaValdir Junior
 
Trabalho OO clinica veterinária
Trabalho OO clinica veterináriaTrabalho OO clinica veterinária
Trabalho OO clinica veterináriaValdir Junior
 
Trabalho - Projeto redes
Trabalho - Projeto redesTrabalho - Projeto redes
Trabalho - Projeto redesValdir Junior
 
Sistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosSistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosValdir Junior
 
A tecnologia: Possibilidades e desafios para o meio ambiente natural.
A tecnologia: Possibilidades e desafios para o meio ambiente natural.A tecnologia: Possibilidades e desafios para o meio ambiente natural.
A tecnologia: Possibilidades e desafios para o meio ambiente natural.Valdir Junior
 
Dispositivos Móveis - BlackBerry
Dispositivos Móveis - BlackBerryDispositivos Móveis - BlackBerry
Dispositivos Móveis - BlackBerryValdir Junior
 
Gestão da Cadeia de Suprimentos - E-Commerce
Gestão da Cadeia de Suprimentos - E-CommerceGestão da Cadeia de Suprimentos - E-Commerce
Gestão da Cadeia de Suprimentos - E-CommerceValdir Junior
 
Mvc model view controller - java para desenvolvimento web
Mvc   model view controller - java para desenvolvimento webMvc   model view controller - java para desenvolvimento web
Mvc model view controller - java para desenvolvimento webValdir Junior
 

More from Valdir Junior (11)

Lenovo IdeaPad Z360
Lenovo IdeaPad Z360Lenovo IdeaPad Z360
Lenovo IdeaPad Z360
 
Avell Titanium-B155
Avell Titanium-B155Avell Titanium-B155
Avell Titanium-B155
 
Trabalho OO Sistema de Advocacia
Trabalho OO Sistema de AdvocaciaTrabalho OO Sistema de Advocacia
Trabalho OO Sistema de Advocacia
 
Trabalho OO clinica veterinária
Trabalho OO clinica veterináriaTrabalho OO clinica veterinária
Trabalho OO clinica veterinária
 
Trabalho - Projeto redes
Trabalho - Projeto redesTrabalho - Projeto redes
Trabalho - Projeto redes
 
E-commerce B2C
E-commerce B2CE-commerce B2C
E-commerce B2C
 
Sistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosSistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de Dados
 
A tecnologia: Possibilidades e desafios para o meio ambiente natural.
A tecnologia: Possibilidades e desafios para o meio ambiente natural.A tecnologia: Possibilidades e desafios para o meio ambiente natural.
A tecnologia: Possibilidades e desafios para o meio ambiente natural.
 
Dispositivos Móveis - BlackBerry
Dispositivos Móveis - BlackBerryDispositivos Móveis - BlackBerry
Dispositivos Móveis - BlackBerry
 
Gestão da Cadeia de Suprimentos - E-Commerce
Gestão da Cadeia de Suprimentos - E-CommerceGestão da Cadeia de Suprimentos - E-Commerce
Gestão da Cadeia de Suprimentos - E-Commerce
 
Mvc model view controller - java para desenvolvimento web
Mvc   model view controller - java para desenvolvimento webMvc   model view controller - java para desenvolvimento web
Mvc model view controller - java para desenvolvimento web
 

P2P - Sistemas Distribuídos

  • 1. SISTEMAS DISTRIBUÍDOS ACADÊMICOS: Anderson dos Santos Ferreira, Jaqueline Nardes, Valdir Pereira da Silva Junior. Sistemas para Internet PEER TO PEER P2P PROFESSOR: THALES DUARTE
  • 2. INTRODUÇÃO Quando falamos em peer to peer, a primeira coisa que nos vem a mente é compartilhamento, porém muitos de nós não tem ideia de como isso é feito ou de como isso foi possível. Em uma breve História, veremos como chegamos hoje a distribuição de informações e outros serviços explorados por aplicativos P2P.
  • 3. NAPSTER E SEU LEGADO INTRODUÇÃO AO NAPSTER Napster [OpenNap 2001] é um sistema peer-to-peer que fornecia um meio para os usuários compartilharem arquivos. Napster se tronou popular para a troca de musicas, logo após seu lançamento em 1999, vários milhões de usuários estavam registrados trocando arquivos de musicas.
  • 6. NAPSTER DESATIVADO Nota: O Napster foi desativado por causa de resultados de ações jurídicas contra os operadores do serviço Napster, impetradas pelos proprietários dos direitos autorais de parte do material.
  • 7. LIÇÕES APRENDIDAS COM O NAPSTER  Praticidade na construção de um serviço de larga escala, que depende de dados e computadores de usuários normais;  Evita o esgotamento dos recursos computacionais levando em conta o caráter local da rede;
  • 8. LIMITAÇÕES O Napster usava um índice unificado de todos os arquivos disponíveis e não fazia checagem de versão. Para arquivos como músicas digitais, isto não era um problema, pois as músicas nunca são atualizadas, mas para alguns outros tipos de arquivos (como softwares) isto era um problema.
  • 9. CRONOLOGIA  Janeiro de 1999: Shawn Fanning abandona a universidade para desenvolver o software que ganharia o nome de Napster.  Junho de 1999: O Napster entra no ar possibilitando de uma maneira simples que usuários compartilhassem músicas em formato mp3.  Agosto de 1999: O tio de Fanning, John Fanning, juntamente com outros investidores, oferece um acordo para gerenciar o Napster.  Outubro de 1999: As negociações para distribuição de música online com as gravadoras não obtêm sucesso.  Dezembro de 1999: A RIAA exige US$100 mil por música baixada por quebra dos direitos autorais.  Fevereiro de 2000: Várias universidade dos EUA proíbem o uso do Napster em seus computadores.  Abril de 2000: A banda Metallica entra com ações contra o Napster por distribuir suas canções de forma ilegal.  Maio de 2000: Em resposta aos processo, o Napster mostra que está disposto a colaborar, banindo mais de 300 mil usuários que compartilham músicas da banda
  • 10.  Junho de 2000: A RIAA entra com um mandado de segurança para bloquear material compartilhado de grandes selos.  Julho de 2000: A empresa anuncia planos para cooperar com as gravadoras. Um juiz estabelece um prazo de 48 horas para que o Napster pare de permitir que músicas com copyright sejam compartilhadas.  Agosto de 2000: Madonna entra com um processo contra o site por divulgar as faixas de seu álbum "Music", sem autorização e um mês antes do lançamento oficial.  Outubro de 2000: A Napster anuncia parcerias para pagar os artistas cujas músicas são compartilhadas no site.  Março de 2001: Um filtro é instalado nas buscas do Napster para bloquear o download de arquivos listados pelas gravadoras.  Julho de 2001: A Justiça proíbe todos os downloads de arquivos no site, a menos que o filtro funcione 100%.  Novembro de 2002: O Napster é comprado pela Roxio por US$ 5,2 milhões.  Atualidade: Hoje, o Napster vende arquivos de música digital que respeitem o direito autoral.  Junho de 2001: Chega a Portugal o Napster  Setembro de 2013: Chegada do Napster no Brasil.
  • 11. MIDDLEWARE  Middleware – é uma espécie de mediador. No campo da computação distribuída é um programa que faz a mediação entre softwares diferentes. É usado para transportar informações e dados entre programas de diferentes protocolos de comunicação, plataformas e dependências do sistema operacional.
  • 12. MIDDLEWARE PEER-TO-PEER  São projetados especificamente para atender a necessidades da disposição automática, e da subsequente localização, dos objetos distribuídos gerenciados por sistemas e aplicativos peer-to-peer.
  • 13. REQUISITOS FUNCIONAIS  Permitir aos clientes localizarem e se comunicarem com qualquer recurso individual disponibilizado para um serviço, mesmo que os recursos estejam amplamente distribuídos entre os hosts;  Capacidade de adicionar novos recursos e remove-los a vontade;  Adicionar hosts no serviço e remove-los;  Deve oferecer uma interface de programação simples para programadores de aplicações.
  • 14. REQUISITOS NÃO FUNCIONAIS  Escalabilidade global – deve ser projetado de modo a suportar aplicativos que acessam milhões de objetos em dezenas ou centenas de milhares de hosts;  Balanceamento de carga - deve ser projetado para explorar um grande numero de computadores com distribuições de carga de trabalho balanceadas entre eles;  Otimização das interações locais entre peers vizinhos – deve ter como objetivo colocar os recursos próximos dos nós que mais os acessam;  Acomodar a disponibilidade altamente dinâmica de hosts – o sistema deve redistribuir cargas e recursos toda a vez que um host entra ou sai do sistema.  Segurança dos dados em um ambiente com confiança heterogênea – confiança deve ser estabelecida por mecanismos de autenticação e criptografia, para garantir a integridade e a privacidade da informação;  Anonimato, capacidade de negação e resistência a censura – os hosts que contem dados devem ser capazes de negar a responsabilidades por conte-los ou fornecê-los de forma plausível.
  • 15. SOBREPOSIÇÃO DE ROTEAMENTO Temos dois tipos de sobreposição de roteamento, estruturado e não estruturado. Estruturado:  Constituída de procedimentos determinísticos, onde o processo mais usado é através de um DHT – tabela de hash distribuída, que distribui uma chave aleatória, um identificados de 128 ou 160 bits.  O DHT faz um mapeamento único da chave de um item para o identificador do nó responsável pelo item desejado.
  • 17. SOBREPOSIÇÃO DE ROTEAMENTO Não estruturado:  Funciona com um algoritmo que faz requisições para localizar nós e objetos (routing overlay), direcionando qualquer cliente para um host que contenha suas solicitações, sendo que estas solicitações podem estar alocadas em qualquer nó da rede, dessa forma garante que qualquer nó pode acessar qualquer objeto por meio de roteamento de cada requisição.
  • 19. TAREFA PRINCIPAL DE UMA SOBREPOSIÇÃO DE ROTEAMENTO  Solicitar via GUID (Globally Unique Identifier), identificador único universal, uma operação ao qual direciona a requisição para um nó que tenha uma réplica do objeto que se deseja.  O GUID é calculado a partir do estado do objeto ou parte dele, usando uma função que produz um valor de probabilidade muito alto de ser exclusivo.
  • 20. COMUNICAÇÃO DE PROCESSOS Processo:  Programa que é executado em um hospedeiro.  Os processos no mesmo hospedeiro se comunicam usando a comunicação entre processos definida pelo sistema operacional (SO).  Processos em hospedeiros distintos se comunicam trocando mensagens através da rede.  Processo cliente: Processo que inicia a
  • 21. ENDEREÇANDO OS PROCESSOS  Para que um processo receba mensagens, ele deve possuir um identificador.  Cada host possui um endereço IP único de 32 bits.  Pergunta: O endereço IP do host no qual o processo está sendo executado é suficiente para identificar o processo?  Resposta: Não, muitos processos podem estar executando no mesmo host.
  • 22. IDENTIFICADOR Porém para que o processo seja identificado é necessário que:  O identificador inclua tanto o endereço IP quanto os números das portas associadas com o processo no host.  Exemplo de números de portas:  Servidor HTTP: 80 Servidor de Correio: 25
  • 23. PROTOCOLOS DA CAMADA DE APLICAÇÃO Para que dois processos se comuniquem, eles devem trocar mensagens.  Tipos de mensagens trocadas: Mensagens de pedido e resposta.  Sintaxe dos tipos das mensagens: Campos presentes nas mensagens e como são identificados.  Semântica dos campos: Significado da informação nos campos.  Regras para quando os processos enviam e respondem às mensagens.
  • 24. PROTOCOLOS PÚBLICOS E PROPRIETÁRIOS Protocolos de domínio público:  Definidos em RFCs.  Permitem a interoperação.  HTTP e SMTP Protocolos proprietários:  Napster, Emule  LimeWare, Utorrent
  • 25. ARQUITETURA DO SISTEMA Com relação a arquitetura temos 3 tipos.  Centralizada.  Descentralizada.  Híbrida. Sendo que hoje em dia o P2P pode ser descentralizada ou híbrido, já que como vimos a ideia de centralizar o mesmo acabou gerando processos judiciais ao Napster, sua distribuição é horizontal, onde o cliente e o servidor se equivalem para equilibrar as cargas(conjunto de dados).
  • 28. REFERÊNCIAS  Coulouris G, Dolimore J, Kindberg T. Sistemas Distribuídos – Conceitos e Projetos. 4ª Ed. Bookman Reimpressão 2008. Cap. 10. P. 349- 378.  NazarenoUberlandia. Aula 3 – RC – Ponto a Ponto: Publicado em 11/05/2014, acessado em 09/09/2014. https://www.youtube.com/watch?v=QHGeWtmFOj 4