Pesquisar este blog

Translate This Post

quinta-feira, 4 de novembro de 2010

Mecanismos por trás da Interatividade :Carrossel de Dados/Objetos e DSM-CC


Muitas pessoas na indústria da TV digital têm apenas uma compreensão básica do DSM-CC(Digital storage media command and control), pois   essa é uma tecnologia complexa e que precisa ser desmistificada. Não é necessário conhecer todos os detalhes, mas ter uma idéia geral do que acontece e porque acontece é essencial para a construção dos aplicativos que serão injetados nos carrosséis de dados ou de objetos ,e que são os mecanismos responsáveis pela interatividade hoje no ar .

Carrosséis  de dados e objetos
Uma das principais diferenças do DSM-CC em um cenário de TV digital,diz respeito a sua utilização em um cenário de rede unidirecional,pois originalmente, o DSM-CC foi concebido para ser implementado usando algum tipo de mecanismo RPC (Remote Procedure Call) . Neste modelo, os objetos que residem em um nó da rede ,ou qualquer outro nó que precise ser manipulado por eles pode fazer uma chamada RPC para  o dispositivo que contém o objeto requisitado e este poderá responder e envia-lo como uma simples remessa de protocolo.
Porém sistemas de transmissão de TV, são por natureza, unidirecionais. Os dados são enviados de um transmissor (do head-end, emissora, etc ) para um receptor (set top box ou IRD portanto um middleware) e por isso o receptor não pode solicitar dados específicos do transmissor. Por exemplo, como em um PC que pode solicitar um arquivo da rede ou do seu disco rígido. Visto que o receptor não pode acessar dados no modo normal, uma outra solução precisava ser encontrada, para que o DSM-CC pudesse ser utilizado.
A solução acabou sendo até bastante simples, uma emissora transmite periodicamente todos os arquivos de um sistema de arquivos, e o receptor aguarda o arquivo que quer. Gerenciadores de arquivo no receptor dizem quais  os tipos de arquivos que ele deve procurar na transmissão. O melhor exemplo deste tipo de solução é um sistema de Tele texto: cada página tem um número único, e cada página é transmitida uma de cada vez. Quando o usuário digita um número de página, a TV deve aguardar que a página seja transmitida antes de decodifica-la  e exibila. 
Este tipo de solução é conhecido como um "carrossel" : cada página vai girar em volta dele, e o receptor deve aguardar que a página volte a entrar novamente na transmissão antes que ele possa usá-la. Naturalmente, esta solução não é muito eficiente, e mais tarde foram apresentadas formas de melhorar esse  desempenho.
No DSM-CC, os dados são transmitidos em blocos chamados de módulos em vez de páginas, mas o princípio é o mesmo. Os dados a serem transmitidos são divididos em módulos, algumas descrições desses módulos  são adicionadas e, em seguida, cada módulo é transmitido,um de cada vez.
O DSM-CC suporta dois tipos de "carrossel". O mais simples deles é um carrossel de dados. Isso fornece uma solução  para que uma emissora possa transmitir blocos de dados para os receptores. Um carrossel de dados, não faz nenhuma indicação do que se tratam esses dados. Para situações mais complexas, isso não é muito útil, e nestes casos, o carrossel de objetos fornece uma solução melhor e mais complexa. Um carrossel de objetos é construído em cima de um carrossel de dados e fornece funcionalidades de um sistema de arquivos padrão.
Cada  carrossel de objetos é composto por uma árvore de diretórios que é dividida em uma série de módulos, que podem conter um ou mais arquivos ou diretórios. Cada módulo pode conter vários arquivos com um tamanho total de até 64 KBytes - armazenar vários arquivos em um módulo maior que 64K não é permitido. Dividir arquivos em mais de um módulo ,também não é permitido, então os arquivos maiores que 64K devem ir no seu próprio módulo, que irá conter apenas esse  arquivo especifico.
Os arquivos em um módulo podem vir de qualquer parte da árvore de diretórios que sera  transmitida, e não precisam vir do mesmo diretório.
Estes módulos são transmitidos uma após o outro  até que todos eles tenham sido enviados, a  ponto do processo recomeçar, e o primeiro módulo ser transmitido novamente. Para acessar um arquivo, o receptor deve esperar até que receba o módulo que contém o mesmo. Isto pode não ser eficiente quando a quantidade total de dados a ser transmitida é muito grande, pois a maioria dos receptores possui  memória cache  suficiente apenas para uma pequena quantidade de dados. 
Sabendo disso, quando baixamos uma aplicação em um set top box de uma determinada emissora, ao trocarmos de canal os arquivos dessa aplicação são "jogados fora" para abrir espaço para os arquivos vindos do carrossel de outra emissora, onde o processo de baixar e receber arquivos é reiniciado.
É importante saber que: 

Uma  vez divididos em módulos os arquivos precisam ser organizados da melhor maneira possível para que seu carregamento tenha o menor delay. Alem disso os arquivos de maior “procura” devem ser repetidos dentro do carrossel de modo que o set top box não precise aguardar toda a seqüência de 1 a 4 para baixar  arquivos  imprescindíveis como por exemplo : “index.html” .
Transmitir alguns módulos com mais freqüência do que outros, resolve o problema de acesso aos  arquivos que são mais utilizados, porém aumenta o tempo de arquivos menos requisitados e também o tamanho total do carrossel. Por isso, temos sempre que colocar na “balança”  e pesar tempo de acesso e tamanho do carrossel para que ambos não sejam prejudicados. Esta troca tem de ser cuidadosamente considerada ao projetar um carrossel, para otimizar a velocidade de download. É possível ainda repetir  um arquivo em vários módulos, e assim  proporcionar uma abordagem mais refinada para otimizar um carrossel de objetos. Porém na prática cada caso é um caso e o conhecimento da concepção da estrutura do aplicativo que será transmitido no carrossel faz toda a diferença na hora de dividi-lo nos módulos. Podemos dizer com isso que o layout do carrossel é muito mais uma “arte” do que uma ciência exata, ainda que dependa de fatores como tamanho e necessidade dos arquivos a serem enviados.
Como pode ser visto os mecanismos por trás da interatividade são muitos e complexos, e cada vez mais o estudo desses mecanismos irão prover melhores soluções na hora de compartilhar seus arquivos com os usuários da TV Digital.




2 comentários:

  1. TOM, estou pesquisando sobre tv-digital e carrossel de dados. Gostaria de te perguntar se você conhece algum curso aqui no brasil, ou livro que trate do assunto. O livro pode ser em ingles, claro. Se tiver alguma dica, ficarei muito contente... obrigado e parabens pelo Blog.

    ResponderExcluir
  2. Ola Vicente , veja o link abaixo é do curso http://www.rcasoft.com.br/cursos.php

    Livro que pode te ajudar é :Programando em Ginga do meu amigo prof. Luis Fernando da PUC RIO
    http://www.gingancl.org.br/pt-br/livrosecapitulosdelivros

    ResponderExcluir

Aqui você é livre para opnar, mas por favor, não utilize
palavrões e não faça aos outros o que não quer que façam a você.