Compartilhamento nas nuvens para redes locais baseado em P2P Jerônimo Feijó Noble da Rosa Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Projeto Integrador II Seminário Final
Sumário Introdução; Bittorrent; Idéia Inicial; Distribuição de Pedaços; Localização de vizinhos; Construção de índices; Ferramentas Utilizadas. 2
Introdução 3 1.Facilidade de uso; 2.Tolerância à falhas; 3.Desempenho; 4.Redução de desperdício; 5.Portabilidade.
Bittorrent 4 1. Download do arquivo torrent; 2. Conexão com o rastreador; 3. Informações de vizinhos; 4. Conexão para troca de Informação de blocos e para download X X X X
Idéias Inicial 5 X Não funcionaria
Distribuição de Pedaços 6
Mínimo de 50% da rede ativa; Um host não deve receber mais de um pedaço igual; Hosts que sobram são utilizados no pedaço seguinte. Distribuição de Pedaços 7 Requisitos: | ----X---| Host Sorteio 2. Salto 3. Segundo Pedaço || Hosts P1 P2 Hosts _ _ Teste de distribuição
Idéia Inicial 8 X Distribuição de Arquivos Idéia Interessante Broadcast Multicast
Descobrindo Hosts Envio de informações no formato: Id msg.:Nome do host:Uptime:Endereço IP:Porta:IP do índice raiz:Validade do registro 1:Host1: : :8000:1024: : Tipo de mensagem Nome do Host Uptime Endereço e porta IP do índice Validade do registro 9
Idéias 10 Distribuição de Arquivos Multicast Índice de arquivos
Índice Criação de índices de arquivos e diretórios; Criação de grupos e usuários; Mantendo/atualizando índice; 11
Interface do Usuário 12 Interface modo texto: Interface para envio:(simulação) Interface de usuário:(simulação)
Ferramentas de desenvolvimento
Porque o Python? Portabilidade; Linguagem Orientada a Objetos; Grande quantidade de documentação; Grande número de bibliotecas disponíveis; Porquê o Monks disse. 14
Base de Dados - SQLite Zero-configuration; Código fonte aberto; Grande capacidade de armazenamento; Patrocinado pela Oracle,Nokia, Mozilla e etc. 15
Referências Foundation, P. S. (2011). Python documentation. último acesso em 01 maio de Goerzen, J. (2004). Foundations of Python Network programming. Apress, 1th edition. Kurose, J. F. and Ross, K. W. (2007). Redes de computadores e a internet: uma abor- dagem top-down. Pearson Education, 3th edition. Lutz, M. and Ascher, D. (2008). Aprendendo Python. O’ Reilly, 2th edition. Mizrahi, V. V. (1994). Treinamento em Linguagem C++ Modulo 2. Pearson Education, 2th edition. Rhodes, B. and Goerzen, J. (2010). Foundations of Python Network programming. Apress, 2th edition. 16