DSM-CC Centro de Informática Universidade Federal de Pernambuco Felipe Melo Leite DSM-CC – Sumário História Introdução DSM-CC e DAVIC Protocolos PPP DSM-CC Download Protocol DSM-CC e TV Digital Carrosel de Dados e Carrosel de Objetos DSM-CC Encapsulamento multi-paradigma ACD/ACD e DDC Controle de Sessão Controle “VCR” para Video Stream Referências DSM-CC – História No princípio, os trabalhos em DSM-CC tinham como finalidade prover as funções do VCR(Video Cassette Recording) como play, foward, rewind, etc ao MPEG-2 ISO/IEC 13818-1. Depois foi expandido e definido no MPEG-2 ISO/IEC 13818-6 para prover o paradigma Cliente-Servidor com o intuito de fazer seleção, acesso e controle de fontes distribuídas de vídeo. O ISO/IEC 13818-6 incluía o seguinte conjunto de funções: User-Network Client Configuration(DSM-CC U-N) User-Network Session Protocol User-User Directory, Stream Control, File Access(DSM-CC U-U) Broadcast Object Carousel Switched Digital Broadcast Chanel Change Protocol DSM-CC – História DSM-CC também é uma extensão do MPEG-4 ISO/IEC 14496-6, como o DMIF(DSM-CC Multimidia Integration Framework) DMIF extende o DSM-CC para permitir a convergência de interatividade, broadcast e conversational multimidia em uma especificação, que é a seguinte: Uma seção fim-a-fim através de várias redes provendo implementações Integração com múltiplas tecnologias de rede, como ATM e Internet Integração com domínios específicos de objetos, como CORBA e JAVA Simetria completa entre operações de produção e consumo em um único aparelho O escalonamento e comutação/multiplexação em tempo real de bit streams DSM-CC – Introdução Digital Storage Media Command and Control é um tool-kit para o desenvolvimento de canais de controle de fluxo MPEG-1 e 2 Definido no MPEG-2 ISO/IEC 13818-6, usa o modelo Cliente-Servidor para fazer a seleção, o acesso e o controle de vídeos distribuídos. Suporta protocolos PPP(Point-to-Point Protocol) e o protocolo de difusão para o download de dados. Eis os 5 protocolos definidos pelo DSM-CC U-U(User-to-User) U-N(User-to-Network) User-to-Network Session Protocol Broadcast Object Carousel SDB(Switched Digital Broadcast) e CCP(Channel Change Protocol) Em uma implementação, não é necessário ter todos os 5 protocolos definidos, mas um subconjunto deles DSM-CC – Introdução DSM-CC e DAVIC DAVIC(Digital Audio-Visual Council) é um conselho que envolve mais de 200 empresas de 20 países que tem atuado visando regulamentar o desenvolvimento de hipermídias. Eles adotaram o DSM-CC como o protocolo de comunicação ClienteServidor, provendo funções de controle e operações específicas para o gerenciamento de áudio e vídeo. SRM(Session and Resource Manager) é uma entidade definida pelo DSMCC que centraliza a gerência de sessões e recursos Sessão é uma coleção de recursos necessários para que um serviço execute. DSM-CC e DAVIC DSM-CC provê protocolos da camada aplicação, logo integra uma aplicação completa, como vídeo sob demanda ou home-shopping. Essas aplicações podem ser entregue através de redes banda larga, como a MPEG-2 TS, a Core ATM, etc. DSM-CC preocupa-se em protocolos para: Gerenciamento de Sessão e Controle de Recursos Configuração de um Cliente Downloading para um Cliente Controle de Streams de Vídeo Serviços de Aplicações Interativas Genéricos Serviços de Aplicações Broadcast Genéricos. Capaz de fazer download e de fácil configuração, DSM-CC é ideal para Settop boxes, pois o cliente sempre estará configurado com a informação mais recente da rede, baixando os softwares mais atuais do servidor. DSM-CC – Protocolos PPP U-N(User-to-Network) – Usado por clientes e servidores, para comunicar-se com a própria rede. É usado para configurar cliente DSM à rede. É uma alternativa diferente de protocolos de configuração, como BOOTP e DHCP. E também para protocolos de gerência de sessões, como RSVP. U-U(User-to-User) – permite a comunicação entre usuários para a manipulação de dados. É uma versão que engloba tanto os protocolos de controle de mídia(RTP e RTSP) como os protocolos de acesso à arquivos(FTP e HTTP) DSM-CC Download Protocol Comparado com outros protocolos de download, DSM-CC foi projetado para operações rápidas e leves, visando suprir as necessidades de aparelhos que contém pouca memória. O download DSM-CC funciona em redes heterogêneas e é aplicado em redes broadcast sem canais de upstream. Os mecanismos envolvidos no download são: Janela deslizante Não usa pacotes ACKs Mapas para MPEG-2 TS para multiplexação em hardware DSM-CC Download Protocol O protocolo de download DSM-CC é usado inclusive em sistemas de ambiente Não-DSM-CC: DVB(Digital Video Broadcasting) usa, como um de seus protocolos, um esquema adaptado do protocolo de download DSM-CC O padrão Data Broadcast(A-90) da ATSC(Advanced Television Systems Comittee) usa o protocolo de download DSM-CC A especificação OpenCable Common Download é baseada no protocolo de download DSM-CC Pegasus ISA(Interative Services Architeture), da Time Warner, usa um protocolo de download baseado no protocolo de download DSM-CC DSM-CC e TV Digital DSM-CC e TV Digital DSM-CC e TV Digital TV Digital usa o método Data Carousel do padrão DSM-CC Envia periodicamente dados de gerenciamento XML(Extensible Markup Language) aos set-top boxes utilizando o canal broadcast Carrosel de Dados A especificação para Carrosel de Dados suporta serviços de broadcast de dados que precisam de uma transmissão periódica de módulos de dados através de uma rede DVB Os módulos têm tamanho conhecidos e podem ser atualizados, adicionados ou removidos do Carrosel de Dados. Os módulos podem também ser agrupados em um grupo se isto for requerido pelo serviço. Assim como estes grupos podem ser agrupados em SuperGrupos. Broadcast de dados, de acordo com a especificação, é transmitido em um Carrosel de Dados DSM-CC que é definido no MPEG-2 DSM-CC ISO/IEC 13818-6 define estruturas adicionais e descritores para serem usados em uma rede DVB. Este médoto não deixa explicitas referências a identificadores de pacotes nem timing parameters enabling preparation de um conteudo off-line Carrosel de Objetos DSM-CC É um protocolo de transmissão cíclica de dados Os dados são representados por objetos, que possuem seus respectivos atributos Usa o framework ORB(Object Request Broker), que provê uma estrutura hierárquica dos objetos Cada objeto é encapsulado em uma mensagem BIOP(Broadcast Inter-ORB Protocol), sendo um tipo diferente de mensagem BIOP para cada tipo de objeto. Exemplos de mensagem BIOP: Mensagem de arquivo Mensagem de diretório Mensagens de Fluxo Mensagens de Evento de Fluxo Mensagens de Serviços Gateway Carrosel de Objetos DSM-CC Carrosel de Objetos DSM-CC Estas mensagens são transmitidas em módulos Uma mensagem só pode pertencer a um módulo, mas um módulo pode ter mais de 1 mensagem Os módulos são divididos em Blocos de Dados, que por sua vez são encapsulados em mensagens DDB(Download Data Block) Os DDBs são encapsulados em seções DSM-CC, podendo ser adquiridos diretamente do fluxo de transporte através de filtros Carrosel de Objetos DSM-CC Carrosel de Objetos DSM-CC Carrosel de Objetos DSM-CC Cada seção é transmitida no fluxo de transporte, uma após a outra Assim que a última for transmitida, volta a transmitir a primeira. O que resulta em uma transmissão cíclica Cada instância do carrosel possue um identificador, que é o Service Domain Todo Service Domain possui um Service Gateway, que tem referências a todos objetos presentes na raiz do carrosel É usada a estrutura de referências IOR(Interoperable Object Reference) Uma IOR é composta pelo identificador do carrosel, seguida por um identificador do módulo e pelo identificador do objeto O Service Gateway é um objeto do carrossel cuja localização é transmitida em uma mensagem DSI(Download Server Initiate), que pode ser encontrada em um conjunto de tabelas de informações específicas do programa PSI(Program Specific Information) DSM-CC – Encapsulamento DSM-CC suporta servirços de broadcast de dados que necessitam transmissão de datagramas de protocolos de comunicação via rede DVB a transmissão de datagramas é feita pelo encapsulamento de datagramas em seções DSM-CC, que seguem o formado de seção privada MPEG-2 private section format A especificação de broadcast de dados suporta um mecanismo padrão para sinalização de serviços IP/MAC implantados nas redes DVB e permite a implementação de receptores DVB que são completamente self-tuning quando acessam streams IP/MAC em um ou mais streams de transporte O mecanismo de sinalização é feito através INT(IP/MAC Notification Table) . É especificado para transporte de dados no EN 300 468, TR 101 162 e ISO/IEC 13818-6 DSM-CC – ACD/ACD ACD/ACD(Application Control Data/Application Communication Data) via canal Broadcast ACD/ACD via canal de Interação DSM-CC – ACD/ACD DSM-CC U-U é usado apenas para a API. O Carrossel de Objetos DSM-CC descreve o transporte de objetos U-U(e seus atribunos) na Broadcast. Os objetos presentes no Carrossel de Objetos tanto podem ser enviados pelo próprio carrossel quanto ser alocados em um servidor interativo Se necessária, a identificação do servidor interativo(ex: PSTN/ISDN telephone number) pode se comunicar ao STB incluindo a estrutura ServiceLocationComponent(definida em DSM-CC U-U) no IOR do objeto O ServiceLocationComponent deve conter um endereço E.164 NSAP de 20 Bytes que contenha a informação de identificação conveys the identification, como definido no DVBEN 301 192 DSM-CC – DDC DDC(Data Download Control) via canal Broadcast DDC(Data Download Control) via canal de Interação DSM-CC – Controle de Sessão Controle de Sessão fim-a-fim é necessário para alguns serviços e configurações de rede Um subconjunto do protocolo DSM-CC U-N é usado Normalmente, Resource management features do protocolo U-N não são necessários para redes DVB A sintaxe das mensagens U-N está definida no capítulo 4 do ISO/IEC 13818-6 No modelo DSM-CC, cliente e servidor usam o protocolo U-N para se comunicar com com o SRM Em um ambiente de serviço simples, o SRM pode ser integrado ao servidor pois apenas a gerência de sessão é necessária DSM-CC – Controle de Sessão A pilha do protocolo deve estar no seguinte formato DSM-CC – Estabelecendo sessão Depois de garantir a conexão, o STB estabelece uma conexão fim-a-fim usando o DSM-CC U-N set-up sequence O objeto referente ao diretório raiz do serviço é retornado com a mensagem de confirmação DSM-CC – Finalizando sessão Quando o STB deseja finalizar a sessão, é usada a client-initiated session release sequence Depois disso, a sessão é finalizada DSM-CC – Finalizando sessão Quando o servidor quer finalizar a sessão, é usada a server-initiated session release sequence DSM-CC – Status inquiry O SRM pode checar se o cliente continua conectado enviando uma mensagem de indicação de status e checando a resposta do cliente DSM-CC – Conexão resetada Em situações anormais, o cliente pode fechar todas sessões e resetar a conexão enviando uma mensagem ClientResetRequest ao SRM. As sessões podem ser finalizadas através da session release sequence A mensagem de reset deve ser usada apenas na situação do cliente ter uma sessão aberta e, por algum motivo, a perdeu O SRM também pode resetar a conexão enviando uma mensagem ClientResetIndication. Também só deve ser usada em situações anormais Controle “VCR” para Video Stream O padrão de codec MPEG-2 não controla questões de vídeo em execução Streams de MPEG-2 incluem seu próprio clock interno nos streams de decodificação relacionanado a decodificação de vídeo com a de áudio, permitindo a sincronização de ambas Video playback necessita mais que isso. E para suportar posicionamento aleatório em um stream e uma variedade de taxas de execução, as interfaces de stream de mídia DSM-CC usam o esquema de endereçamento temporal, também conhecido como NPT(Normal Play Time) NPT é o "clock" que o viewer associa ao "programa" NPT avança normalmente quando está no modo normal play, avança rapidamente quando o usuário seleciona fast forward, ou retorna rapidamente quando rewind é selecionado Como se vê, DSM-CC introduziu o conceito de máquina de estado de stream Controle “VCR” para Video Stream A figura mostra as transições de uma máquina de estado de stream básica, usando apenas os métodos de stream resume() e pause() Legenda P Pause ST Search Transport T Transport TP Transport Pause STP Search Transport Pause PST Pause Search Transport Controle “VCR” para Video Stream No estado Pause, o servidor não está transportando o stream de mídia No estado Search Transport, o servidor está procurando por start NPT. Quando NPT = start NPT, o servidor irá transportar o stream de mídia. Desde que não tenha rStop, o servidor continuará avançando o stream e pausa no fim do stream No estado Transport, o servidor está transportando o stream de mídia e pausa no fim do stream No estado Transport Pause, o servidor está transportando o stream de mídia e pausa no stop NPT No estado Search Transport Pause, o servidor está procurando o start NPT. Quando NPT = start NPT, o servidor irá transmitir o stream de mídia até stop NPT No estado Pause Search Transport, o servidor está transportando o stream de mídia até stop NPT, então ele irá procurar pelo start NPT para voltar a transportar DSM-CC – Referências Interactive TV Standards, Steven Morris, 2005 MONTEZ, C.; BECKER, V. TV Digital Interativa: Conceitos e Tecnologias DUTRA ÖS, M.; BRESSAN, G. Uma arquitetura Aberta para Gerenciamento de Set-top boxes e Serviços em Redes de TV Digital FERNANDES, J. Uma Arquitetura de Acesso a Arquivos de Vídeo Digital MORENO, M.; RODRIGUES, R.; SOARES, L. Mecanismo de Identificação de Recursos para Aplicações Interativas em Redes de TV Digital por Difusão ANDREATA, J. InteraTV: Um Portal para Aplicações Colaborativas em TV Digital Interativa Utilizando a Plataforma MHP ETSI. Digital Video Broadcasting (DVB); Network-independent protocols for DVB interactive services BALABANIAN, V.; CASAY, L.; GREENE, N. An Introduction to Digital Storage Media - Command and Control (DSM-CC) http://www.chiariglione.org/mpeg/tutorials/papers/dsmcc/dsmcc.htm