Middleware para Set-top Boxes – Um enfoque prático Manoel dos Santos Dantas Departamento de Telecomunicações – Pós Graduação – Midiacom - Universidade Federal Fluminense (UFF) Campus da Praia Vermelha - Escola de Engenharia -Bloco D - Sala 502-B - R. Passo da Pátria, 156 - São Domingos – 24210-240 – Niterói – RJ – Brasil [email protected] Abstract. This paper will present some commercial and under research Middleware platforms used to develop set-top box projects. Some terminology are provided as well as an extensive use of graphic diagrams along the text will help the reader understanding the scope of the project. Some of the provided information in this paper will be the basis of an academic research on a AMD/Geode® Main Printed Circuit Board acquired by Midiacom / Universidade Federal Fluminense. The project aims to propose a Middleware specification to be provided to the Brazilian Government and to gain interest on other researchers in the area or alike, in order to make full use of the Midiacom research laboratory and team. Along in this paper eight middleware platforms are described with some detail, open standards / open software solutions are focused. We did not discarded some proprietary middleware solutions, since we described in a certain extent some of mainly used ones in some well developed countries and continents, like Europe, Continental USA and Japan. This paper will provide a basis for research for Midiacom team in the area, and also will be used on our Master Thesis proposition in the Telecommunications department at Universidade Federal Fluminense. Resumo. Neste trabalho iremos apresentar algumas plataformas comerciais e algumas residentes no âmbito acadêmico para projetos de set-top box. Uma definição mais completa do sistema, termos mais utilizados e ilustrações estão contidas também nesta monografia. Este trabalho oferece informações para que se possam iniciar pesquisas em uma placa de Hardware AMD/Geode® adquirido pelo Midiacom como plataforma de desenvolvimento de projetos de Middleware e pesquisas afins. Foram investigadas 8 plataformas de Middleware, com foco em sistemas abertos, porém também comparando-os com as plataformas comercias em extenso uso na Europa, Estados Unidos e Japão. Esta monografia servirá também como uma referência para estudos e uma futura proposta de tese na área de Comunicações e Multimídia da Universidade Federal Fluminense. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 1 / 49 1. Introdução Este trabalho pretende apresentar oito middlewares (sistema operacional, aplicativos e camadas de sofware para a introdução de serviços e aplicativos ao já existentes na plataforma) disponíveis para o desenvolvimento de aplicações embarcadas para televisão digital utilizando dispositivos de hardware dedicado, denominados set-top boxes. O texto divide-se em uma definição do dispositivo set-top box, incluindo a descrição da arquitetura de hardware, logo após a descrição de cada middleware, extensamente ilustrado e ao final, uma conclusão que possibilitará a escolha do middleware mais conveniente e viável para as pesquisas que estão sendo desenvolvidas no Departamento de Comunicações e Multimídia da Universidade Federal Fluminense e as referências utilizadas para a criação deste trabalho. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 2 / 49 2. Set-top Box Vejamos as seguintes definições para dispositivos set-top box : É um dispositivo eletrônico o qual realiza interface com Televisão disponibilizando serviços adicionais. [BT 1995] É um dispositivo de Entretenimento interativo residencial que disponibiliza acesso a Internet, streaming de vídeo e informações via tradicional sistema de televisão. [NS 2000] De acordo com Tanembaum [Tanembaum 1996] , bastaria apenas acoplar dispositivos que permitam a decodificação de fluxos MPEG® e outros componentes eletrônicos, para que o cliente de serviços multimídia pudesse assistir televisão digital no seu lar. Devido às dimensões da tela do monitor do computador, o usuário ficaria insatisfeito e dependendo do perfil deste, a experiência de assisitir televisão seria frustrante. Por outro lado, se um dispositivo com as mesmas capacidades de decodificação e conectividade, que pudesse ser acoplado a um aparelho de televisão convencional, fosse oferecido a esse mesmo usuário, ainda que existissem algumas restrições do próprio modelo (baixa capacidade de memória, poder de processamento relativamente baixo se comparado a um microcomputador convencional), seria muito mais proveitoso e interessante. Assim, um modelo de “computador” orientado a recepção de sinais digitais e analógicos, com alguma capacidade de inteligência, armazenamento massivo e saída para televisão pode ser exemplificado conforme a figura 1. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 3 / 49 Figura 1 – Arquitetura de hardware de um set-top box simples [Tanembaum 1996] Esse dispositivo contém uma Unidade Central de Processamento (CPU), memória RAM e ROM, controladores de entrada e saída de dados, decodificador MPEG® e nterface com rede de computadores para que possa ser provido um certo grau de interatividade entre o cliente e o conteúdo recebido, assim como atualização de programas e recebimento de guia de programação eletrônica. Como item opcional, um dispositivo de segurança pode ser incluído para a decodificação de filmes e conteúdo especiais como mensagens, correio, envio de número de cartão de crédito para compras on-line. Esse hardware necessitará de um sistema operacional que possibilite acessar todas essas funcionalidades e adaptabilidades. Também serão necessários aplicativos que possam ser portados para diferentes tipos de processadores (que por ventura diferentes fabricantes poderão desenvolver) e camadas de software para que o acesso destes aplicativos ao sistema operacional e ao próprio hardware não sejam executados diretamente. Esse tipo de “computador”, denominamos de set-top box, ilustrado na figura 2. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 4 / 49 Figura 2 – Dispositivo set-top box típico [Century 2005] Os serviços que podem ser disponibilizados por um set-top box, são : • Transmissão e Recepção de streaming de vídeo em tempo real. • Interação entre usuário e conteúdo. • Recuperação e armazenamento de conteúdo • Serviços oferecidos pela Internet : correio eletrônico, navegação WWW, publicação (blog) • Jogos • Ensino à distância • Votação, conferência e enquetes em tempo real Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 5 / 49 3 – API / Middleware Figura 3 – Modelo de Televisão Digital [Lamas 2004] A Interface de programa da aplicação (Application Program Interface – API) é uma das ferramentas que os programadores dispõem para requisitar dados ou serviços residentes num sistema operacional específico.[Helps 2005] Utilizando uma API, um desenvolvedor poderá escrever uma aplicação que acesse o sistema operacional, mas que independa do hardware ou de caracterísiticas peculiares do sistema operacional. Alguns países já definiram seus padrões para transmissão de Televisão Digital, tanto para transmissão terrestre como para transmissão via satélite. No Reino Unido é utilizado o padrão DVB-T. No Japão, os padrões usados são ISDB-C, ISDB-S e ISDB-T. O Ministério das Telecomunicações Brasileiro, através do decreto n.o 4.901 de 26 de novembro de 2003 (como mostrado na figura 4), instituiu o Sistema Brasileiro de Televisão Digital (SBTVD) e assim um padrão definitivo para o mercado Brasileiro, descrito na figura 5, deverá ser obtido até 12 de Dezembro de 2005. [Lamas 2004] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 6 / 49 Figura 4- Modelo de Gestão Brasileiro para o desenvolvimento de Televisão Digital [Lamas 2004] Figura 5 – Modelo de Televisão Digital proposto pelo Governo Brasileiro [Lamas 2004] Existem diversas API´s / Middleware já desenvolvidos que vêm sendo utilizadas para o desenvolvimento de aplicações para Televisão Digital Interativa. As próximas subseções comentam os principais. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 7 / 49 3.1. Java® Technologies for Interactive Television (Java® TV) A linguagem de programação Java® foi desenvolvida pela Sun Microsystems® e apesar do fabricante definir padrões tanto de chamadas como de codificação das bibliotecas, toda a padronização é aberta e fartamente documentada. A tecnologia Java® TV utilizada em receptores de televisão digital é baseada na plataforma Java® que consiste de uma máquina virtual Java (JVM®) e algumas bibliotecas reutilizáveis escritas na linguagem de programação Java®.[JTTITWP 2001] A Java® TV API provê rotinas reutilizáveis e modulares orientadas a dispositivos de recepção digital (televisão digital), provendo por exemplo, uma camada de nível mais alto ao acessar os dispositivos de hardware do set-top box, conforme mostrta a figura 6. [Silva 2005] Figura 6 – Java® TV API [Silva 2005] Algumas funcionalidades tais como controle de fluxo de áudio e vídeo, acesso aos dados do serviço de informações, controle do sintonizador de canais, e gestão do ciclo de vida das aplicações, estão contempladas. Para que algumas facilidades especiais sejam acrescentadas, como Acesso de Entrada e saida de dados pelos usuários, gestão de rede, internacionalização, encriptação e de-encriptação de conteúdo e segurança, o PersonalJava application enviroment® está incluído no contexto da tecnologia Java orientada a Televisão Digital. Todavia, a Java® TV API é apenas um dos componentes utlizados no modelo de Televisão Digital utilizando o sistema operacional Linux (TV Linux), como área de sistemas de interação com o usuário. Para suportar ou agregar outras especificações e aplicações, módulos adicionais devem ser implementados, como mostrado na figura 7. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 8 / 49 Figura 7 – Arquitetura de televisão Digital utlizando o sistema Operacional Linux [Linux4.TV 2005] Um aspecto interessante a ser ressaltado no uso desta tecnologia, é que as aplicações e applets Java® não necessitam residir na memória do sistema o tempo todo e podem ser transmitidas ao receptor somente quando necessário. Após o código ser executado, o código é removido automaticamente da memória do receptor através do coletor de lixo (garbage collector process) fornecido pelo JVM®. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 9 / 49 Outro fator crucial é que as aplicações escritas na linguagem Java® independem da plataforma na qual são executadas. Assim, o desenvolvedor pode depurar as aplicações em uma máquina distinta à máquina alvo ou migrá-las para outras plataformas como computadores de mão ou telefones, que por ventura suportem os requisitos da tecnologia Java® orientada a Televisão Digital. Figura 8 – Aplicações para set-top box típicas utilizando a tecnologia Java® [JTTITWP 2001] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 10 / 49 3.2. Microsoft TV® A Microsoft TV® é uma plataforma fechada, orientada a provedores de conteúdo, distribuidores de guias digitalizados e interativos e que eventualmente um anunciante ou provedor de anúncios ou serviços (jogos on-line, por exemplo) poderá interagir em parte ou no todo da programação existente, alterando-o de acordo com a necessidade do momento. A plataforma, denominada Foundation Edition® 1.7, está focada somente no Software, provendo uma plataforma com padrão fechado, no que tange tanto a customização, análise do comportamento dos usuários e no desenvolvimento de novos serviços e interfaces, apresentado na figura 9.[MicrosoftTV 2005] Algumas das facilidades oferecidas pela plataforma : • Gravação de vídeo digital inteligente (DVR) utilizando dispositivo de armazenamento interno ou externo • Programação sob demanda com a possibilidade de gravação simultânea de dois ou mais canais • Modo de apresentação de vídeo em alta definição (HDTV) com Video-OnDemand • Guia de programação interativo e a possibilidade do provedor de serviços oferecer jogos e votação on-line • Habilitação, Monitoração e Cancelamento de serviços sem a intervenção do usuário • Gerenciamento do set-top box (programação armazenada, conteúdo a ser gravado) pelo usuário através da Internet • Integração com sistemas de backoffice existentes com outros dispositivos pessoais, como relógios, computadores de mão, console de video-games • Sistema de proteção de conteúdo incorporado (Digital Rights Management DRM ) Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 11 / 49 Figura 9 – Plataforma Microsoft TV® Foundation Edition® [MicrosoftTV 2005] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 12 / 49 Para isso, a Microsoft® também desenvolveu uma família de aplicativos de software (apresentados na figura 10) denominada plataforma IPTV Edition®. Figura 10 – Plataforma Microsoft® IPTV Edition® [MicrosoftTV 2005] Essa solução fim a fim, é implementada desde o provedor de serviço que utiliza as ferramentas de geração, administração e proteção de conteúdo pertencentes à família Windows® (Microsoft TV Infrastructure®), passando por dispositivos que tenham como base o sistema operacional Windows® (Computadores Pessoais, telefones, computadores de mão, consoles de video-jogos) até o consumidor final dos serviços oferecidos, ou seja o set-top box (Microsoft TV Experience®). Para o desenvolvimento de aplicações, é oferecido também ferramentas cujo padrão é fechado, como por exemplo o Microsoft Visual .Net®. Este conjunto de ferramentas inclui exemplos e apresenta um ambiente de desenvolvimento bastante confortável e amigável para o programador. A customização da interface final com o usuário é rapidamente executada de forma simples pelo provedor de serviço, onde o servidor atualiza quase que instantâneamente o set-top box cliente, não necessitando de atualizações de software ou hardware ou mesmo a certificação do cliente. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 13 / 49 O ambiente inclui também ferramentas para análise de horário de exibição de comerciais e programas pelos telespectadores, relatórios a partir dessas análises, localização de serviços internacionais de notícias, previsão do tempo e esportes. O ambiente de autoria baseia-se nos padrões XHTML e XML. Sendo necessária uma atualização de software no cliente, o conteúdo armazenado (filmes, jogos...) é preservado. A plataforma de hardware suportada é a família de set-top box Motorola® (utiliza o processador PowerPC), incluindo os modelos DCT700, DCT1700, DCT2000, DCT2500, DCT5100, DCT6200 e DCT6412. A plataforma AMD/Geode® das famílias GX e LX também é suportada. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 14 / 49 3.3 - Aurora Complete dvb Middleware® Desenvolvido pela empresa Cabot Communications Ltd. no Reino Unido, o Aurora Complete dvb Middleware® é uma plataforma semi-aberta, como apresentado na figura 11. São fornecidas API´s para que o provedor de serviço possa portar tanto serviços existentes, assim como o próprio middleware para outras plataformas de hardware e sistemas operacionais. O fabricante enfatiza que o Middleware funciona como uma camada de abstração de software independente do sistema operacional e do hardware, oferecendo assim uma robustez e baseando-se em padrões abertos, poder oferecer uma plataforma poderosa, de acordo com os padrões Europeus vigentes. Algumas facilidades oferecidas pela plataforma : • Suporte ao padrão pan-europeu de Transmissão de Vídeo Digital (DVB), com suporte a múltiplas linguagens e transmissão por via terrestre e via satélite • Plataforma baseada nos padrões MHP e MHEG-5 • Funcionalidades como descarga de arquivos de atualização em modo seguro durante a exibição do conteúdo ao usuário final • Suporte a canais com encriptação diferenciada (pay-tv) através de uma interface única com o usuário • Interface com o usuário orientada a menus e com ajuda on-line (Electronic Programme Guides – EPG) • Compra de canais com controle de conteúdo por parte do usuário • Possibilidade de integração com outros aplicativos ou dispositivos através de plug-ins, tais como gravadores de DVD´s, Gravadores Digitais Programáveis A solução oferecida contempla apenas o usuário final, isto é o set-top box, deixando o fornecedor de conteúdo livre para escolher o fabricante para provimento dos serviços, desde que seja de acordo com as normas européias de transmissão de televisão digital. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 15 / 49 A seguir será mostrado a arquitetura utilizada pelo fabricante na implementação do Middleware Aurora®. Figura 11 - Plataforma Aurora Complete dvb Middleware® [Cabot 2005] Como o sistema independe do sistema operacional utilizado , toda a inferência do middleware no hardware é efetuada através de uma camada de abstração (Platform Abstraction Layer), e todas as outras funções são executadas através de plug-ins. O Eclipse DVB Core® implementa todas as funcionalidades requeridas para o suporte dos padrões DVB-T ou DVB-S através de API´s e protocolos para interagir com aparelhos de televisão analógicos e módulos para gravação de vídeo digital. O plug-in Mercator MHEG-5® (compatível com a versão 1.06) satisfaz os requerimentos necessários para a recepção dos serviços de transmissão digital utilizados no Reino Unido. O plug-in Alticaptor MHP® é compatível com a versão 1.03 e permite o suporte de aplicações que interagem com o usuário final. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 16 / 49 O plug-in Callisto Over-Air Download® permite que sejam efetuadas descargas em modo seguro de atualizações nos set-top boxes de forma única por toda a Europa, satisfazendo os requisitos definidos pelo Reino Unido e pela comunidade Econômica Européia de forma automática dependendo de onde o aparelho se encontre. Um serviço de monitoramento está incorporado para a verificação da assinatura digital da atualização a ser introduzida (ou mesmo o conteúdo ou jogos), verificando automaticamente as atualizações no servidor. O plug-in Hercules CI Stack® possibilita o suporte a recepção de canais e conteúdo encriptado ou pago, sendo compatível com fornecedores de soluções Europeus que suportem tal facilidade no provimento de conteúdo. Finalmente, o plug-in Chamaeleon Reference UI® possibilita a criação e customização de interfaces com o usuário, com suporte a múltiplas linguagens. Para tal, o código fonte é fornecido junto com a ferramenta Observatory® do mesmo fabricante. Completando o ciclo de desenvolvimento, é necessário a utilização da ferramenta Microsoft Visual C++ Studio® executada num microcomputador do tipo PC podendo estar conectado remotamente ou não ao set-top box. Os Sistemas Operacionais Suportados são : Linux®, Windows®, VxWorks®, PSOS, OS20, Nucleus e o MicrosC OSII. Os processadores suportados são : ST20®, MIPS®, PowerPC®, Família Intel® baseada na arquitetura x86, Trimedia® e ARC Tangent®. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 17 / 49 3.4. AdapTV O AdapTV [Lopes2004] é um Middleware proposto por membros do Departamento de Informática da Universidade Federal do Rio Grande do Norte e pela Universidade Federal da Paraíba. Está baseado num framework denominado Cosmos. A principal função deste framework é prover uma arquitetura genérica baseada em componentes para a camada de configuração e gerenciamento de recursos em sistemas multimídia distribuídos. Novas funcionalidades do sistemas são implementadas através de serviços, que através do paradigma de orientação a objetos trata dispositivos físicos e recursos como objetos e classes, podendo ser instanciados, monitorados e permitir a comunicabilidade entre eles de forma transparente ao sistema operacional. Os principais componentes deste framework estão ilustrados na figura 12. Figura 12 – Arquitetura do framework Cosmos [Lopes 2004] • Configurator : Inicializa, configura e gerencia os componentes do middleware, dos recursos do sistema e da aplicação que faz parte do middleware. É um elemento crítico de todo o sistema, já que verifica os requisitos de QoS de cada aplicação em execução, gerenciando o ciclo de vida dos mesmos, realizando também operações de inspeção, configuração, negociações e ajustes dinâmicos de propriedades das aplicações que estão associadas aos componentes e fluxos multimídia envolvidos no sistema. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 18 / 49 • Proxy : Descreve a representação interna de uma aplicação em execução no momento. • Factories : São entidades responsáveis pela criação de componentes do sistema (portas, serviços, recursos). • Resources : Descreve a representação de recursos de hardware e software. • Services : Módulos de software que permitem incluir novas funcionalidades, como configurar e alocar componentes e recursos virtuais, recuperar componentes requeridos pelo middleware no momento, gerenciar acesso, fornecer suporte transacional para as aplicações e permitir o suporte às aplicações distribuídas. O AdapTV é um middleware baseado no framework Cosmos, descrito anteriormente. A proposição do middleware é a partir de uma infra-estrutura adaptativa de suporte a execução, gerenciamento e configuração de componentes e aplicações de sistema de televisão digital interativa. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 19 / 49 Uma primeira apresentação do middleware é em camadas, onde cada camada fornece um conjunto de API´s para a camada imediatamente superior, segundo a figura 12. Figura 12 – Arquitetura em camadas do AdapTV [Lopes 2004] O interfaceamento com o sistema operacional (Real Time Operational System – RTOS) é fornecido pelo framework Cosmos, e as API´s provêem um conjunto de operações básicas, como acesso à rede, localização de componentes, escrita e leitura de dados nas portas do dispositivo, assim como obter e alterar informações sobre o ambiente, monitorar conexões entre componentes sob forma reativa e pró-ativa. Cada funcionalidade é fornecida pelas API´s, camadas e serviços associados, ilustrado na figura 13, é descrita a seguir : • Camada de Serviços – Responsável pela configuração e gerenciamento de recursos virtuais e serviços provisionados pela plataforma. • Camada de Manipulação de Mídia – Interage com os recursos do sistema operacional e os dispositivos de hardware associados ao set-top box. • Camada de Recursos – Fornece recursos virtuais que definem API´s para os componentes de níveis mais altos. • Camada de Adaptação – Contém componentes que definem API´s que acessam a camada de recursos, incorporando e isolando os aspectos físicos intrinsecos à plataforma de hardware. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 20 / 49 • Serviço de Configuração – Configura, negocia e gerencia componentes e recursos virtuais. • Serviço de Diretório – Possibilita recuperar os componentes requeridos pelas aplicações. • Serviço de Transações – Fornece mecanismos para autenticação e controle de acesso. • Serviço de Comunicação – Fornece o suporte adequado às aplicações distribuídas. • User API – API´s de usuário que fornece um conjunto de operações básicas que provêem as funcionalidades tradicionais do middleware, como acesso a rede,localização de componentes, escrita e leitura de dados nas portas do dispositivo. • API de Reflexividade – Disponibiliza um conjunto de operações para que seja obtidas informações sobre o ambiente, como componentes em execução no momento, monitoramento de conexões e metadados. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 21 / 49 Figura 13 – Arquitetura detalhada do AdapTV [Lopes2004] A modelagem das classes definidas na arquitetura proposta para o middleware AdapTV utiliza a linguagem UML, onde a implementação de fato é feita na linguagem Java®. Todavia, alguns módulos podem ser implementados utilizando as linguagens C e C++, usando a Java® Native Interface (JNI). No trabalho referente ao middleware AdapTV, não é mencionado o Sistema Operacional hospedeiro e tampouco o hardware suportado; Segundo o paper tanto a arquitetura como o middleware estão em fase de validação em protótipo, não sendo uma aplicação comercial ainda. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 22 / 49 3.5. MediaHighway® Middleware O MediaHighway® Middleware [NDS 2005] é um conjunto de soluções desenvolvido pela empresa NDS®, provedor líder em soluções fim-a-fim de pay-TV e dispositivos IP, situada no Reino Unido. Através de outras tecnologias tais como VideoGuard® que proporciona soluções de distribuição de conteúdo de forma segura em banda larga, tem uma receita anual de mais de US$20 bilhões e os dispositivos desenvolvidos por ela são utilizados por mais de 48 milhões de assinantes. A arquitetura em macroblocos está descrita na figura 14, e a solução fim a fim é apresentada na figura 21. Um grande consumidor de seus produtos é a Sky Latin America. Figura 14 – Arquitetura Funcional do MediaHighway® Middleware [NDS 2005] A solução de Middleware é dividida da seguinte forma : • MediaHighway® core : Provê soluções hardware e software de baixo custo para set-top boxes, de fácil customização e implementação, utilizando um Guia de Programação Eletrônico (EPG) de alta performance, com aplicações que utilizam HTML e Javascript® e uma Máquina Virtual que ocupa pouco espaço na memória, como apresentado na figura 15. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 23 / 49 Figura 15 – Arquitetura funcional do MediaHighway® core [NDS 2005] É o sistema base que, através da agregação de módulos, permite a evolução do produto, assim como facilidades. As facilidades incluídas no sistema base, incluem o suporte à transmissão Digital de Televisão com legendas ( codificadas (closed caption) e aquelas que utilizam bit-map ), agendamento de programas tanto por parte do provedor como por parte do consumidor de forma inteligente, com atualização do sistema ou de aplicativos em background automaticamente, com modo de segurança para aplicações interativas e suporte a gráficos de 24 bits de resolução. O fabricante não descreve de forma sucinta todos os componentes envolvidos na arquitetura do core system, porém da figura 15, podemos inferir que a arquitetura em camadas, é implementada de forma escalar e modular, tendo por base os drivers de hardware que fornecidos por outros fabricantes e API´s que permitem ao desenvolvedor, integrar outros aplicativos que porventura já existam. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 24 / 49 • MediaHighway® Advanced : Sistema desenvolvido para set-top boxes com facilidades mais avançadas, compliante com os últimos padrões de transmissão para Televisão Digital, como o padrão OCAP® como mostra a figura 16. É compatível com o padrão Java® DVB MHP 1.0.3, suportando HTML versão 4.0, JavaScript® 1.4, DOM 1 e CSS 2. A capacidade do ambiente multi-tarefa do sistema permite a execução de várias aplicações Java® e HTML que inclusive podem se intercomunicar, de suportar dispositivos removíveis e os padrões DVB MPEG2 e protocolo IP em quaisquer redes de transmissão, incluindo componentes de negócios e ferramentas para uma navegação fácil pelo sistema por parte do usuário. Figura 16 – Arquitetura do MediaHighway® Advanced [NDS 2005] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 25 / 49 • MediaHighway® Development Kit : É um kit de ferramentas para Desenvolvimento de aplicações para set-top boxes que permite criar aplicações baseadas em HTML e Java® utilizando também ferramentas de autoria compliantes com padrões de mercado, como algumas das apresentadas na figura 17. Permite a depuração dos mesmos tanto no microcomputador do desenvolvedor (Micromputador do tipo PC), como no Set-top box, reduzindo assim o tempo e o custo de sdesenvolvimento de meses para dias. O kit não requer licenciamento para a distribuição das aplicações por parte das empresas que o adquiram. Inclusive a própria empresa (NDS®) estimula os desenvolvedores a se agruparem em comunidades para troca de experiências. Figura 17 – Exemplos de algumas aplicações desenvolvidas, utilizando o MediaHighway® Development Kit [NDS 2005] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 26 / 49 • VideoGuard® : Permite o acesso condicional e ao conteúdo transmitido, fornecendo mecanismos de encriptação para a prevenção de cópia ilegal dos mesmos como shows, jogos, filmes em modo pay per view, como apresentado na figura 18, tanto do servidor como o cliente. Também fornece suporte a votação on-line, pesquisas de opinião e micropagamentos por determinado produto ou serviço fornecido pela operadora ou terceiros. Figura 18 – Diagrama funcional do sistema VideoGuard® [NDS 2005] • Value@TV® : Fornece a solução de gerência de conteúdo e transmissão por parte do provedor, e algumas das seguintes empresas fazem uso deste produto tais como a MTV, Discovery Channel e outros. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 27 / 49 • Xtv® : É a solução apresentada que permite o controle e gerenciamento do conteúdo por parte do consumidor final, como gravação e armazenamento do conteúdo para posterior exibição (Gravador Digital Inteligente), possibilitando ainda que o conteúdo possa ser protegido ou encriptado ou o armazenamento de um conteúdo previamente encriptado por parte do provedor e cujo tempo de armazenamento seja controlado pelo provedor de serviços, como em alguns exemplos apresentados na figura 19. Figura 19 – Algumas das aplicações fornecidas na solução Xtv® [NDS 2005] Dentre outras funcionalidades, podemos citar a utilização de serviços do tipo premium, como apresentação de informação sobre o conteúdo a ser exibido pela operadora sob a forma de revistas, como um tocador de cenas específicas ou favoritas (video jukebox) e uso de jogos interativos. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 28 / 49 • NDS Guide® : Funcionando como um Guia de Programação Eletrônico (EPG), de forma que a interface seja alterada rapidamente assim que novas informações sejam atualizadas por parte do provedor de conteúdo, permitindo que o usuário possa navegar e controlar o conteúdo pelo qual assinam até o uso de aplicações de navegação interativas (ângulo de exibição, modo de reprodução de áudio do conteúdo) e ampliando todo um espectro de possibilidade de utilização de mídias comerciais (propagandas, promoções relâmpago) tanto por parte do provedor como por parte de terceiros, como mostrado na figura 20. Figura 20 – Algumas telas de apresentação do NDS Guide® [NDS 2005] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 29 / 49 Figura 21 – Solução fim a fim desenvolvida pela empresa NDS® [NDS 2005] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 30 / 49 3.6. Linux4.TV Project Desenvolvido a partir de um consórcio entre as empresas National Semiconductor® (antiga proprietária do processador Geode®, atualmente propriedade da AMD® Semiconductors), Century® Embedded Technologies e VT Media Technologies, foi estabelecido um middleware seguindo um padrão aberto que poderia ser obedecido pelos fabricantes de set-top boxes, chamado Linux4.TV Project Middleware [Linux4.TV 2005]. Algumas informações pertinentes ao hardware envolvido, assim como diagrama funcional, fotografias do sistema de desenvolvimento para set-top box, apresentam-se nas figuras 22, 23, 24, 25, 26 e 27. Figura 22 - Diagrama Esquemático do processador AMD Geode® [Linux4.TV 2005] Figura 23 – Plataforma (set-top box) para o desenvolvimento de aplicações [Geode 2001] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 31 / 49 Figura 24 – Fotografia da Placa Mãe do sistema de desenvolvimento (set-top box) da AMD® [Geode 2001] Figura 25 - Diagrama em blocos do Hardware do set-top box baseado na arquitetura AMD Geode ® [Geode 2001] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 32 / 49 Figura 26 – Diagrama em Blocos da Plataforma SP4SC31[Geode 2001] Figura 27 – Diagrama em Blocos funcionais do processador AMD Geode® SC1200/SC1201 [Geode 2001] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 33 / 49 Além disso, o middleware baseia-se também no sistema operacional livre Linux® , API´s com código aberto e disponibilizados no sitio do consórcio LinuxTV [Linux4.TV 2005], interface gráfica Microwindows®, e linguagem para manipulação de conteúdo ViewML®, conforme o diagrama funcional em blocos apresentado na figura 28. Figura 28 – Diagrama em blocos da Arquitetura Linux4.TV [Linux4.TV 2005] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 34 / 49 A arquitetura proposta está dividida em 4 camadas, conforme descrito na figura 29 : • Drivers de dispositivo e Núcleo (Kernel) do Sistema Operacional : As rotinas de baixo nível (acesso direto ao hardware do set-top) são interligadas ao núcleo do sistema operacional para que seja possível o acesso a partir de aplicativos em mais alto nível a específicos dispositivos, como a CPU Geode®, o decodificador MPEG-2, ao decodificador de padrão de cor NTSC (Sistema Americano) fornecido pela Philips e ao decodificador de áudio estéreo. Figura 29 – Arquitetura em camadas do sistema Linux4.TV [Linux4.TV 2005] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 35 / 49 Os drivers fornecidos pela AMD® permitem o acesso ao aúdio, vídeo, DVD, captura de vídeo e modo gráfico, assim como drivers para decodificação de pacotes MPEG®, de-encriptação de filmes em DVD e demultiplexadores de áudio e vídeo, tal como descrito na figura 30. Figura 30 – Framework para operações com o DVD fornecido para o Sistema Operacional Linux pela AMD® [Geode 2001] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 36 / 49 • Middleware de Vídeo : Essa camada é executada em modo usuário (conforme mostram as figuras 31 e 32) e implementa rotinas que independem de acesso direto ao hardware relativo ao vídeo do set-top box. Figura 31 – Diagrama em Blocos da implementação da API de Vídeo Analógico [GeodeAPI 2001] Figura 32 – Descrição em camadas da implementação do middleware para suporte a vídeo proposto pelo consórcio Linux4.TV [Linux4.TV2005] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 37 / 49 Funcionalidades como controle de vídeo analógico e digital, sintonia de canais, demultiplexação de transmissão Digital via satélite e overlay de vídeo estão também implementadas nessa camada. Nessa camada também estão incluídas as seguintes API´s (segundo mostra a figura 33): Figura 33 – Interação entre o kernel do sistema Operacional Linux e as API´s do sistema [Linux4.TV2005] • Subsistema de Áudio para reprodução de conteúdo armanazenado em mídias massivas como DVD´s, susbsitema de captura de vídeo. • Subsistema de captura de vídeo para captura de um ou mais frames de vídeo executado em tempo real para que seja armazenado como mapa de pixels na memória de vídeo para processamento de outros aplicativos caso seja desejado. • Subsistema de Overlay para arbitrar várias aplicações gráficas independentes no momento da reprodução do conteúdo, possibilitando assim operações como deslocamento de dados massivos entre aplicativos, por exemplo sem que seja necessário o uso da CPU principal do sistema. • Subsistema MPEG® para a gerência do tráfego de pacotes MPEG® que contenham vídeo, áudio e dados codificados e os distribuindo ao respectivos decodificadores. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 38 / 49 • Subsistema de TV que provê uma interface consistente entre transmissões e serviços analógicos e digitais, assim como mudança de canais e ajuste de volume do conteúdo por parte do usuário. • Sistema de Gerência de Apresentação em Janelas : O ambiente Microwindows® é utilizado como o gerenciador de janelas padrão do sistema, permitindo uma fácil integração com as rotinas de framebuffer do kernel para operação com sistemas de codificação de cor NTSC ou PAL. Algumas aplicações sendo executadas sob o sistema Microwindows® são apresentadas na figura 34. Figura X34– O gerenciador de Janelas Microwindows® em funcionamento [MicroX 2001] O sistema foi escrito de tal forma que, novas aplicações sejam implementadas sem que sejam necessários o acesso direto às rotinas de vídeo, e isto é feito através de API´s bem documentadas, como navegadores WWW, apresentados na figura 35. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 39 / 49 Figura 35 – Navegadores WWW sendo executados sob o sistema de gerenciamento de janelas Microwindows® [MicroX 2001] • Aplicativos e aplicativos do tipo WebMedia® : É a camada de nível mais elevado permitindo que aplicativos forneçam a interface homemmáquina com o usuário possam sejam implementadas, por exemplo : Aplicações escritas totalmente em HTML ou XML. O diagrama funcional do WebMedia® é apresentado na figura 36. Figura 36 - Diagrama Funcional da tecnologia WebMedia® [Century 2005] Uma implementação inicial foi um navegador baseado na tecnologia ViewML®, denominada WebMedia®, onde a chamada a determinados dispositivos de hardware, como por exemplo um DVD seja executada como uma tag HTML, atuando como âncora, ou através de plug-ins que Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 40 / 49 podem ser escritos para o acesso conjunto a outras facilidades do hardware, conforme mostra a figura 37. É possível também a implementação de outros navegadores, já que existem também API´s que permitem chamadas às rotinas em nível mais elevado. Figura 37 – Exemplo de Aplicação WebMedia® [Century 2005] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 41 / 49 3.7.EPOS Work Package O Middleware EPOS Work Package [Lisha 2003] é parte de um projeto denominado Embedded Parallel Operating System (EPOC), desenvolvido pela equipe do Laboratório de Integração de Hardware e Software da Universidade Federal de Santa Catarina (UFSC). O grupo estuda na verdade, projetos voltados à arquiteturas de sistemas distribuídas, e o pesquisador Marcos Fagundes Caetano envolvido na área de Televisão Digital em conjunto com a Xilinx (desenvolvedora de soluções para produtos embarcados), baseado na arquitetura descrita no middleware Linux4.TV®, desenvolveu o projeto do middleware segundo as plataformas : • Hardware : Micromputador baseado na arquitetura do tipo IBM-PC®, Placa de Interface de Rede (NIC) Intel® 82559, Placa de Vídeo NVIDIA® com saída S-Video (vídeo de alta definição). Software : Sistema Operacional Linux® (Distribuição não mencionada), VLC® e reprodutor de conteúdo Mplayer® (que incluem decodificação MPEG-2). • Hardware : Xbox® Game Center (Desenvolvido pela Microsoft® Corporation como console para Jogos baseado no processador Intel Celeron, Placa de vídeo NVIDIA®, Decodificador MPEG-2 Incorporado, Decodificador Dolby® AAC Incorporado, Placa de rede interna de 100MB/s, unidade de DVD, 4 controladores USB, saída para S-Video – ver figura 38). Software : Sistema operacional Windows CE® com detector de software com assinatura .[XBOXLinux 2005] Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 42 / 49 Figura 38 – Fotografias do hardware utilizado pelo projeto EPOS [XboxLinux 2005] • Software : Debian Linux (com modchip para possibilitar a instalação do novo sistema operacional)[XBOXLinux 2005], VLC®, reprodutor de conteúdo Mplayer®, Java® Virtual Machine (JRE 1.4.1). Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 43 / 49 3.8.OpenTV® Middleware OpenTV® [OpenTV 2005] é um consórcio cujo um dos objetivos é fornecer um conjunto de ferramentas para que se possa desenvolver aplicações para set-top box independentes da plataforma de hardware que será utilizada. A solução poderá incluir mídia para armazenamento ou não, dependendo do tipo ou solução econômica a qual o provedor de conteúdo esteja interessado em desenvolver ou dependendo do mercado o qual pretende se desenvolver. Na verdade, o consórcio também fornece soluções fim-a-fim, mas vamos focar somente na solução para middleware. Uma das caracaterísticas é que parte da solução é provida sob código aberto (GNU), enquanto que dependendo do grau de sofisticação (de-encriptação, por exemplo), o código passa a ser fechado, porém escalável na solução / arquitetura proposta pela OpenTV®. Os produtos que compõem a solução de Middleware, apresentados na figura 39, são os seguintes : • OpenTV Core® : Base do sistema que abrange também serviços avançados de Televisão Digital, incluindo Televisão via satélite,Televisão interativa em qualquer meio de transmissão, e Gravador de Conteúdo personalizado por parte do assinate do serviço (PVR). A arquitetura do middleware independe do hardware a ser utilizado na solução de set-top box, e as bibliotecas do sistema incluem suporte a rede discada até rede IP em banda larga (Ethernet, ADSL, fibra), com suporte a streams de úudio e vídeo, e encriptação utilizando Agência Certificadora (CA) ou DRM (Digital Rights Management). Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 44 / 49 Figura 39 – Arquitetura proposta pelo consórcio OpenTV® [OpenTV 2005] Inclui também suporte a ambiente para o desenvolvimento de aplicativos com interface homem-máquina com o usuário final, incluindo uma máquina virtual (interpretador) para linguagem C de forma que possa fornecer uma interface para outros programas de forma sucinta e consistente (API´s), suporte para aplicativos escritos em Flash®, navegador HTML e uma máquina virtual Java® compatível com o padrão de mercado. Esta camada pode ser portada para os sistemas operacionais pSOS, VxWorks®, Nucleus Plus, microTOS, Linux® dentre outros. Oferece suporte para o desenvolvimento de Guia de Programação Eletrônico (EPG), canais virtuais, jogos interativos, t-commerce e permite que o provedor de serviços, a partir de chamadas ao núcleo e algumas rotinas do sistema, possa analisar o comportamento do usuário, permitindo uma adequação melhor deste à rede existente ou serviços fornecidos. • OpenTV SpotOn® : É uma solução de software embarcado (embedded software), cujo diferencial é conter no software soluções que possibilitem aos programadores de conteúdo ou provedores de anúncios (ou mesmo os próprios anunciantes) criarem comerciais ou trabalhar com marketing de permissão para cada assinante. Um bom exemplo seria enquanto um programa de televisão está sendo apresentado e que contenha um motivo automobilístico, no receptor de um assinante que tenha Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 45 / 49 uma família numerosa, um anúncio sobre uma nova van seja apresentado, enquanto que no mesmo instante, na casa de outro, jovem e sem filhos, um carro esportivo seja apresentado, como ilustrado na figura 40. Figura 40 – Uma aplicação OpenTV SpotOn® em ação [OpenTV 2005] Este tipo de solução agrega valor, já que permite adninstrar os perfis dos assinantes, criando assim uma base de conhecimento para futuras campanhas de marketing, desenvolvimento de marketing cruzado, permitir que os provedores de conteúdo possam cobrar preços diferenciados parta cada campanha ou comercial exibido, e avaliar o grau de satisfação do usuário final, melhorando sua interatividade com o serviço, reduzindo assim, a perda de clientes. • OpenTV Measure® : Pacote de Software orientado a solução de set-top boxes orientados a medição de audiência, baseado em parâmetros pré-estabelecidos pela operadora do sistema e da programação televisiva (ou programação de televisão interativa, como jogos, previsão do tempo), a qual o usuário final do serviço consome. A informação é coletada e transmitida para servidores destinados a este fim, como mostrado na figura 41, servindo para não só um controle efetivo da rede, mas também para oferecimento de serviços agregados a terceiros, como provedores de comerciais. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 46 / 49 Figura 41 – Ciclo de uso do OpenTV Measure® [OPENTV 2005] • OpenTV® Development Tools : Conjunto de ferramentas de software, licenciadas anualmente por desenvolvedor. Consiste dos seguintes sub-sets : • ➔ OpenTV SDK : Um conjunto completo de ferramentas para programadores que utilizam a linguagem C (Software Development Kit), incluindo ambiente de desenvolvimento (IDE), compiladores, conversores de conteúdo e ferramentas para depuração de programas. ➔ OpenTV Frame : Ferramenta que converte imagens congeladas para formatos adequados para Televisão Digital. ➔ OpenTV VSTB : Um set-top box virtual executado no sistema operacional Windows XP para desenvolvimento e depuração de aplicativos. ➔ OpenTV Target Decoder : Um set-top box real com o middleware OpenTV que suporta a descarga de aplicativos e conteúdo de um microcomputador do tipo IBM-PC através de interface paralela. ➔ OpenTV Streamer Developer Version : Usado para o desenvolvimento e teste de componentes e aplicações com conteúdo dinâmico oriundos do lado do servidor. ➔ OpenTV H2O Developer Version : Usado para desenvolvimento e teste de aplicativos do tipo H2O a serem executados no set-top box. OpenTV Publisher Developer Version : Utilizado para desenvolvimento e testes de aplicações baseadas no software OpenTV Publisher oriundo do lado do servidor. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 47 / 49 4. Conclusão O trabalho buscou apresentar o estado da arte no desenvolvimento de soluções de middleware para set-top boxes e a terminologia usada na maioria das arquiteturas. Exceto algumas soluções proprietárias, a maioria das arquiteturas fazem uso extensivo de API´s, de padrões abertos e de mercado, e da tecnologia Java® no desenvolvimento de aplicações. Entretanto, existe uma preocupação em oferecer soluções fim-a-fim devido a integração da solução como um todo e na facilidade de agregar alguma facilidade, seja para gestão do set-top box, como para o provimento de conteúdo customizado. A filosofia adotada no projeto Linux4.TV [Linux4.TV 2005] nos parece a mais adequada para o desenvolvimento de futuros projetos de pesquisa no laboratório Midiacom, no qual foi adotado o sistema de desenvolvimento AMD/Geode®. Esse sistema, além de ser aberto e possuir a documentação adequada, não possui restrições relacionadas a direitos autorais (inclusive passíveis de sanções legais internacionais) caso alguma modificação no hardware seja requerida, no caso do XBOX® da Microsoft Corporation. Devido a natureza do projeto, a idéia é que parte da plataforma possa ser estendida a dispositivos móveis, já que procura-se fatores como mobilidade e portabilidade de hardware e sistema operacional, algumas delas, encontradas nas plataformas estudadas. Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 48 / 49 5. Referências [BT 1995] – British Telecom Journal, Volume 13 No.4, October 1995 [NS 2000] – National Semicondutor Geode Specification – 2000 [Tanembaum 1996] - Computer Networks – Andrew Tanembaum – Third Edition – 1996 – Prentice Hall [Lamas 2004] – Sistema Brasileiro de TV Digital ( Apresentação ) - CpqD / Campinas – São Paulo Amilton da Costa Lamas – 2004 [Helps 2005] – Digital TV Software Standards – K.R. Helps – OceanBlue Software – January 2005 [JTTITWP 2001] – Java® Technologies for Interactive Television – Technical White Paper – Sun Microsystems – 2001 [Silva 2005] – Tv Digital Estamos preparados ? - Revista WebMobile – Manoel Carvalho Neto, Lile Palma Hattori, Sylvio Siqueira Silva – Janeiro/Fevereiro 2005 [Linux4.TV 2005] – Hyperlink http://www.linux4.tv [MicrosoftTV 2005] – Hyperlink http://www.microsoft.com/tv [Cabot 2005] – Hyperlink http://www.cabot.co.uk [Lopes 2004] – Projeto e Implementação de um Middleware para Sistemas de Televisão Interativa – Frederico Borelli /Adilson Barboza Lopes, Glêdson Elias/Guido Lemos de Souza Filho - WebMedia & LA-Web 2004 Joint Conference Proceedings – Ribeirão Preto – São Paulo – Outubro 2004 [NDS 2005] – Hyperlink http://www.nds.com [Geode 2001] – Geode SP1SC10 – Set-top Box Reference Platform Presentation Semicondutor – August 2001 National [GeodeAPI 2001] – Geode SC1200/SC1210 IAOC Devices – Linux Middleware API Programmer´s Reference – National Semiconductor – August 2001 [MicroX 2005] – Hyperlink – http://www.microx.org [Century 2005] – Hyperlink – http://embedded.censoft.com [Lisha 2003] – Hyperlink – http://www.lisha.ufsc.br (Projeto concluído em 2003) UFSC/CTC/LISHA - Florianópolis - SC – Brasil - [XBOXLinux2005] – Hyperlink – http://www.xbox-linux.org/Xbox_Hardware_Overview [OPENTV 2005] – Hyperlink – http://www.opentv.com/products/middleware_products.html Middleware para Set-top Boxes – Um enfoque prático – Manoel dos Santos Dantas 49 / 49