MELHORANDO O PROCESSO DE DOWNLOAD DE ÁUDIO EM REDES DE COMPARTILHAMENTO DE ARQUIVOS Aluno: Márcio Leal de Melo Dahia Orientador: Geber Lisboa Ramalho Roteiro • Sobre o tabalho – Cenários de motivação – Objetivo do trabalho – Estado da arte • Sobre o andamento – Situação atual – O que falta fazer – Cronograma Cenários 1) Joãozinho, navegando em seu blog favorito, ouviu falar bem da música X de uma banda A. Curioso, ele entra na nova rede de compartilhamento de arquivos, busca pela música X. Ele encontra duas ocorrências de X nos resultados. O problema é que ele sabe que a banda B, que ele detesta, tem uma música com o mesmo nome. Para sua sorte existe a função de preview na rede, ainda mais porque trata-se de um diferente: em vez de ouvir apenas os primeiros 30 segundos, ele ouvirá uma versão da música inteira, porém em qualidade mais baixa. Assim, caso não goste da música, ele perde pouco tempo esperando pelo download. Mas não é caso. Ele ouve, aprova e solicita um download completo, que, em vez de baixar tudo novamente, apenas incrementa o preview até a qualidade desejada 2) Outro dia Joãozinho quer ouvir algo diferente, exótico. Então, faz uma busca por um musicista sírio da província de Tartus. Curiosamente, ele encontra 7 ocorrências da música mais famosa do sírio, todas no mesmo formato. Cada ocorrência tem apenas 1 fonte de download... Felizmente, ele chama a função de junção da nova rede e, de repente, as 7 ocorrências se transformam em 2: uma com apenas 1 fonte e a outra com 6 fontes. Melhorou... Ele solicita o download com muito mais esperança de ouvir a tal música ainda em vida. Motivação • Conteúdo multimídia em redes p2p compõe grande parte do tráfego na Internet – 80% nas redes BitTorrent e eDonkey • Grandes avanços no processo de transporte de dados – Download a partir de múltiplas fontes – Travessia de NAT e Firewall – Porém, pouco foi feito em relação ao gerenciamento de conteúdo Funcionamento de uma rede de compartilhamento de conteúdo Funcionamento de uma rede de compartilhamento de conteúdo • Gerenciamento de conteúdo em 2 processos: – Segmentação: divisão arquivo a ser compartilhado em partes segundo algum critério – Indexação: processo de identificação do conteúdo para permitir eficiência na recuperação posterior • Segmentação: tamanho fixo (9.28MB) • Indexação: Hash simples (MD4, SHA-1) •1 bit diferente no segmento implica índice diferente Objetivo • Tornar o processo de download mais eficiente e eficaz por intermédio da análise do conteúdo multimídia – Eficiente (aumento de disponibilidade do arquivo) • Baixar na maior velocidade possível = Baixar do maior número de peers – Banda de entrada >> banda de saída – Eficaz • Baixar, a cada momento, apenas aquilo que é importante • Como? – Técnicas de Segmentação e Indexação mais sofisticada Estado da Arte • SET(Similarity Enhanced Transfer) – Segmentação: tamanho variável (fronteiras determinadas pelo código de Rabin - Handprint) • Segmentos de tamanhos diferentes • Permite sincronização de segmentos – Indexação: Hash simples (SHA-1) – Conseqüência: • Aumento da probabilidade de encontro de mesmo segmento em arquivos diferentes • Em casos de fontes 90% de similaridade, dobra a velocidade Estudo de caso • Formato MP3 – Compressão com perdas para sinais de áudio • Dividido em frames (independentes) – Cada frame codifica 26,12 ms do original – Taxa de compressão: número de bits codificando 1 segundo de música (kbps) » Quanto mais bits mais próximo do original – Padrão (de fato) de inserção de metadados ID3 Estudo de caso • Uma determinada música em mp3 admite diferenças de – Metadados • Variação de grafia – Conteúdo de campos desimportantes • Crc, ancillary data – Bitrate – Codecs • Codecs diferentes codificam o mesmo sinal diferentemente Estudo de caso • Para integrar tais casos é necessário – Nova indexação • Composta por 3 índices – Novo processo de segmentação • Composto por 2 técnicas de segmentação – Em dimensões distintas complementares Indexação • Além da tradicional (binária) – Recupera um arquivo/segmento específico • Duas novas – Léxica • Hash calculado apenas nas partes relevantes do frame – Aproximada • Fingerprinting pouco robusto • No domínio comprimido • Bits mais significativos dos arquivos codificados possuem grande similaridade Indexação Lexica Segmentação • Formas novas de segmentação – Por tempo – Separa o arquivo em número de frames – Cada segmento, portanto, pode ser decodificado • Diferente de segmentação por tamanho (kB) – Por qualidade – Utiliza as camadas de qualidade (Wang 2004) para segmentar os segmentos de tempo – Segmentação combinada Segmentação Rede de compartilhamento de áudio • Casos de agrupamento de fontes do mesmo fonograma – Indexação Léxica • Diferença nos metadados • Diferença nos campos CRC e Ancillary Data dos frames – Indexação Aproximada + Segmentação por tempo • Diferença nos codificadores • Diferença de bitrates Avaliação de resultados • Método Analítico – Efeito colateral: maior confiabilidade • Parser detectaria arquivos mal-formados • Baixar primeiro qualidade básica minimiza os efeitos de um download indesejado – Uso dos cenários propostos • Overhead de transmissão para o caso de utilização da segmentação por qualidade • Overhead de armazenamento por causa dos 3 índices Avaliação de resultados • Método Empírico – Ambiente de Testes • Implementação da segmentação e indexação do eDonkey (base line) e SET (a partir das informações disponíveis) • Inicialmente, 10 Músicas no emule – Top 5 da billboard + cinco buscas aleatórias (de poucos resultados) – Grandezas avaliadas • Tempo de processamento • Espaço de armazenamento – Relativos à base line • Número de fontes distintas por música – Quanto menor, melhor Cronograma Junho de 2008 - Fim do desenvolvimento do ambiente de testes, coleta e interpretação de resultados Julho de 2008 - Redação de artigos para Webmedia 2008 Julho a Outubro de 2008 - Refinamento de código e coleta de dados em larga escala Agosto a Janeiro de 2008 - Redação da Tese Janeiro de 2008 - Defesa de Tese