Tiago Lima Salmito – [email protected] João Paulo Fernandes Farias – [email protected] Glêdson Elias da Silveira – [email protected] Guido Lemos – [email protected] GTVD – Grupo de Trabalho de Vídeo Digital RNP – Rede Nacional de Ensino e Pesquisa NatalNet –Rede Metropolitana de Alta velocidade da UFRN Universidade Federal do Rio Grande do Norte Vídeo Sob Demanda – True VoD Interface Armazenamento Base de Metadados Aplicação de busca Serviços de diretórios Grande necessidade de recursos Largura de I/O Replicação Transporte Compatibilidade Redundância de servidores Sistema VoD do GTVD Distribuição hierárquica de vídeos Aplicação de busca Serviço de Gerenciamento Possui um grafo de conectividade dos servidores Calcula a melhor rota para cada cliente Servidor Fonte Interface para busca de Metadados Determina o serviço de gerenciamento e onde o dado está armazenado Acessa o dado localmente Servidor Proxy Acessa o dado de outro servidor Replica temporariamente os dados transferidos Sistema VoD do GTVD Servidor Fonte Servidor Proxy Aplicação de busca Serviço de Gerenciamento cache URL URL Gerente Protocolo Fonte Rota Requisições Dados Cliente D-VoD Distributed Video on Demand Arquitetura modular em 3 camadas Módulos fonte Módulos de controle (threads) Controle do D-VoD Módulo gerente Módulos de destino Disco D-VoD Cliente Fonte Rede ... Fonte Controle Gerente Destino ... Destino Disco D-VoD Cliente Fonte Rede ... Fonte Controle Gerente Destino ... Destino Modelagem do D-VoD Módulos de destino Interface entre fontes e clientes Implementam um ou mais protocolos de controle e transporte de dados. São módulos de controle especiais Módulos de controle Threads de execução infinita Coleta e divulgação de estatísticas Funções de gerenciamento Módulo Gerente Interface de gerenciamento remoto Controle de versão de componentes Fornece estatísticas da carga do servidor Alteração dinâmica das configurações Módulos Fonte Fonte de dados Podem ler dados da rede, ou de um dispositivo local Recuperam dados sob demanda Interface similar ao I/O definido no ANSI C Implementação do D-VoD ANSI C++ Linux Configuração em XML (LibXML) Núcleo Compilado estaticamente Módulo gerente Módulos Compilados separadamente (.so ou .dll) Carregados para a memória pelo núcleo dlopen, dlclose e dlsym Módulos de destino Protocolos de controle Módulo HTTP Módulo RTSP Protocolos de transporte Módulo UDP Módulo RTP Módulos de destino Módulos Fonte Fonte Arquivo Fonte Cache Protocolo HTTP Protocolo UDP Cache de armazenamento temporário Possibilidade de múltiplas rotas Busca antecipada Mecanismo de Inércia Módulos Fonte Política de Cache 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Tempo Real Sob Demanda Módulo Gerente Fornece uma interface HTTP para gerenciamento do servidor Browser Interface gráfica Recuperação de estatísticas (GET) Alterar a configuração (POST) Controle de versão do núcleo e módulos Auto atualização de componentes defasados Módulo ImAlive Módulo de controle Envia pacotes periódicos para um host Usa UDP Envia pacotes seguindo a BER Serviço de gerenciamento Manter o grafo de conectividade atualizado Prover controle de erros Tomar conhecimento de um novo servidor Testes e Resultados Servidor Amostra s Brasília 5.202 Min 0.001s Retardo Méd 0.292s Max 0.861s Paraíba 4.120 1,79s 20,44s Santa Catarina 13.859 0,213s Rio de Janeiro 38.695 São Paulo 367.338 551,9s 60bps 21Kpbs 57Kbps 2,136s 1047,7s 100bps 104Kbps 618Kbps 0,188s 1,948s 12,189s 680bps 156Kbps 1Mbps 0,056s 0,085s 3,942s 1Kbps 1,5Mbps 1,8Mbps Brasília Piores resultados Max 102Mbps Melhores resultados Min 6Mbps Vazão Méd 55Mbps João Pessoa Serviço de distribuição se mostrou eficiente mesmo em baixas taxas Conclusão e perspectivas futuras API documentada e aberta http://dvod.natalnet.br Protótipo Funcionando Perspectivas futuras Autenticação de usuários e segurança dos dados Serviço de agendamento de caching Implementação de novas fontes de dados FIM RNP – Rede Nacional de Ensino e Pesquisa