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
Download

Segmentação