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.