Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

telemidia.puc.rio.br
from telemidia.puc.rio.br More from this publisher
11.07.2015 Views

tag associado ao fluxo pela PMT (Programming Mapping Table). Cadaprograma tem uma PMT, e cada PMT tem uma lista de fluxos de umprograma; para cada elemento da lista, vários descritores podem serassociados, incluindo o descritor de association tag.Objetos de eventos de fluxo permitem a um receptor saber a respeito deum ponto específico de sincronização dentro desse fluxo elementar, comoveremos na Seção B.4.Além dos objetos de fluxos e objetos de eventos de fluxo, cada carrosselde objetos contém uma árvore de diretórios, que é quebrada em uma série demódulos, que podem conter um ou mais arquivos (objetos de arquivo) oudiretórios (objetos de diretórios e objetos Service Gateway). Cada módulopode conter vários objetos, desde que o tamanho seja menor que 64 Kbytes.Não é possível dividir um arquivo em mais de um módulo. Dessa forma,arquivos com tamanho maior que 64 Kbytes devem ser transportados em umúnico módulo. Esse é o único caso em que um módulo pode exceder otamanho de 64 Kbytes. Arquivos em um módulo podem vir de qualquer parteda árvore de diretórios porque eles não têm necessidade de pertencer aomesmo diretório.Objetos Service Gateway representam um conceito similar a umdiretório. A principal diferença é que um objeto Service Gateway identifica odiretório raiz da árvore de diretórios de um carrossel de objetos. Isso significaque existirá um e apenas um objeto Service Gateway em um carrossel deobjetos.Quando quiser ter acesso a um determinado arquivo, o receptor deveesperar pelo módulo que contém o arquivo, quando poderá analisar os dadosrecebidos e delimitar o arquivo.Um carrossel de objetos é também chamado de service domain. Emsistemas de difusão, não há distinção entre os dois termos.Segundo as especificações DSM-CC, que são compatíveis com oframework ORB (Object Request Broker) definido pelas especificaçõesCORBA (Common Object Request Broker Architecture) [OMG, 2004], cadaobjeto deve ser encapsulado em uma mensagem BIOP (Broadcast Inter ORBProtocol) que é transmitida em um módulo.Uma mensagem BIOP deve ser transmitida em um único módulo, masum módulo pode conter mais de uma mensagem, como consequência do quemencionamos anteriormente sobre o encapsulamento de objetos em módulos.A Figura B.2 ilustra o processo de quebra dos dados em um carrossel deobjetos DSM-CC, passando pela estrutura do carrossel de dados até ageração final de seções privadas DSM-CC. Cada seção DSM-CC de um454

carrossel é transmitida no fluxo de transporte MPEG, como um fluxoelementar de dados, uma após a outra.Figura B.2 Módulo de um carrossel.Um módulo pode ser inserido mais de uma vez em um ciclo do carrossel(isso é verdade também para os carrosséis de dados). Como é usual noscarrosséis, os módulos são transmitidos um após o outro até que todos osmódulos de um ciclo tenham sido transmitidos, quando todo o processorecomeça, repetidamente.Vamos tomar como exemplo a árvore de diretórios da Figura B.3,representando uma aplicação NCL, contendo um objeto de mídia vídeo, doisobjetos de imagem e um objeto de mídia contendo código Lua. Para criar ocarrossel para difusão, vamos adicionar arquivos em módulos. Adicionar osdois primeiros arquivos (joão.ncl e foto.png) no mesmo módulo (Módulo 1) épossível, mas não podemos adicionar o arquivo chuteira.png nesse mesmomódulo porque ultrapassaria o tamanho máximo de 64 Kbytes. Assim, oarquivo chuteira.png deve ir para o Módulo 2, no qual poderemos tambémadicionar o arquivo contendo o código Lua (gols.lua). O arquivo drible.mp4deve ocupar um único módulo (Módulo3), por ser maior que 64 Kbytes.Vamos, então, adicionar as informações do diretório imagens no Módulo 1, asdo diretório códigos lua no Módulo 2, e as informações do diretório raiz noobjeto Service Gateway também no Módulo1.455

tag associado ao fluxo pela PMT (Programming Mapping Table). Cadaprograma t<strong>em</strong> uma PMT, e cada PMT t<strong>em</strong> uma lista de fluxos de umprograma; para cada el<strong>em</strong>ento da lista, vários descritores pod<strong>em</strong> serassociados, incluindo o descritor de association tag.Objetos de eventos de fluxo permit<strong>em</strong> a um receptor saber a respeito deum ponto específico de sincronização dentro desse fluxo el<strong>em</strong>entar, comover<strong>em</strong>os na Seção B.4.Além dos objetos de fluxos e objetos de eventos de fluxo, cada carrosselde objetos contém uma árvore de diretórios, que é quebrada <strong>em</strong> uma série d<strong>em</strong>ódulos, que pod<strong>em</strong> conter um ou mais arquivos (objetos de arquivo) oudiretórios (objetos de diretórios e objetos Service Gateway). Cada módulopode conter vários objetos, desde que o tamanho seja menor que 64 Kbytes.Não é possível dividir um arquivo <strong>em</strong> mais de um módulo. Dessa forma,arquivos com tamanho maior que 64 Kbytes dev<strong>em</strong> ser transportados <strong>em</strong> umúnico módulo. Esse é o único caso <strong>em</strong> que um módulo pode exceder otamanho de 64 Kbytes. Arquivos <strong>em</strong> um módulo pod<strong>em</strong> vir de qualquer parteda árvore de diretórios porque eles não têm necessidade de pertencer aomesmo diretório.Objetos Service Gateway representam um conceito similar a umdiretório. A principal diferença é que um objeto Service Gateway identifica odiretório raiz da árvore de diretórios de um carrossel de objetos. Isso significaque existirá um e apenas um objeto Service Gateway <strong>em</strong> um carrossel deobjetos.Quando quiser ter acesso a um determinado arquivo, o receptor deveesperar pelo módulo que contém o arquivo, quando poderá analisar os dadosrecebidos e delimitar o arquivo.Um carrossel de objetos é também chamado de service domain. Emsist<strong>em</strong>as de difusão, não há distinção entre os dois termos.Segundo as especificações DSM-CC, que são compatíveis com oframework ORB (Object Request Broker) definido pelas especificaçõesCORBA (Common Object Request Broker Architecture) [OMG, 2004], cadaobjeto deve ser encapsulado <strong>em</strong> uma mensag<strong>em</strong> BIOP (Broadcast Inter ORBProtocol) que é transmitida <strong>em</strong> um módulo.Uma mensag<strong>em</strong> BIOP deve ser transmitida <strong>em</strong> um único módulo, masum módulo pode conter mais de uma mensag<strong>em</strong>, como consequência do qu<strong>em</strong>encionamos anteriormente sobre o encapsulamento de objetos <strong>em</strong> módulos.A Figura B.2 ilustra o processo de quebra dos dados <strong>em</strong> um carrossel deobjetos DSM-CC, passando pela estrutura do carrossel de dados até ageração final de seções privadas DSM-CC. Cada seção DSM-CC de um454

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!