UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS FACULTAD DE INGENIERÍA ELECTRÓNICA Y ELÉCTRICA ESCUELA ACADÉMICO PROFESIONAL DE ELECTRÓNICA TESIS DE MAESTRÍA EN TELECOMUNICACIONES Análisis y Modelamiento de las Técnicas de Canal de Retorno e Interactividad para el Estándar de Televisión Digital Terrestre ISDB-T Tesis presentada por: Ronald Paucar Curasma Dirigido por: José Luis Muñoz Meza Lima, 10 de Diciembre de 2010 A mi hija Valeria Alexandra Paucar, por los bellos momentos, compartidos. Agradecimientos Deseo expresar mi agradecimiento al Ingeniero Modesto Tomás Palma García, Director Ejecutivo del INICTEL-UNI y al Ingeniero Daniel Díaz Ataucuri, Director de Investigación y Desarrollo Tecnológico del INICTEL-UNI, quienes me dieron la oportunidad de desarrollar la presente Tesis en los laboratorios del Área de Aplicaciones Telemáticas-AAT y el Área de Tecnologías de Acceso y Radiopropagación-ATAR. En general a todo el personal del INICTEL- UNI, por el apoyo y confianza que han hecho posible el desarrollo de esta Tesis. A mi asesor, el Ingeniero José Luis Muñoz Meza, docente de la Universidad Nacional Mayor de San Marcos-UNMSM, por su apoyo y consejos durante la ejecución de la tesis. En general a todos mis profesores por mi formación académica durante mis años de estudio. A mi madre Amacia y hermanos por su amor, confianza y constante apoyo. Asimismo a todos mis familiares que de una u otra manera han cooperado mediante su confianza y comprensión en mi persona. Un agradecimiento muy especial al CONCYTEC, que fue soporte para este trabajo dentro del programa becas de postgrado en universidades peruanas, por la subvención recibida para el desarrollo de esta tesis. Resumen Una de las características principales de la televisión digital terrestre, es la interactividad; la cual permite desarrollar diferentes modelos de negocios, tales como T-Learning, T-Voting, T- Commerce, T-Government, etc., donde la comunicación entre el elemento emisor y el telespectador requiere de una red de comunicaciones que implemente el denominado canal de retorno. Para identificar las potencialidades y beneficios que traería de esta nueva facilidad se hace necesario evaluar y entender las características y el comportamiento del canal de retorno, así como determinar las condiciones que deben cumplir de manera tal que se pueda hacer uso efectivo de la interacción emisor-telespectador. En el presente trabajo se revisan estos aspectos y se procede a modelar el canal de retorno tomando en consideración las características geográficas y de mercado en el ámbito de nuestro país. Para ello, se ha desarrollado una aplicación interactiva de tipo T-Voting que permita identificar los parámetros que describen el comportamiento del tráfico que deben transportarse en el canal, habiéndose realizado pruebas de funcionamiento sobre el Internet y en un enlace inalámbrico de tipo WiMAX. Asimismo se realizaron simulaciones empleando el software network simulator 2 (NS-2), de manera tal que representase escenarios interactivos representativos del caso peruano, concretamente WiFi 802.11+ADSL. Para la simulación se consideró una comunidad de Lima, Santa Clara-Ate, caracterizada por presentar escasa infraestructura de telecomunicaciones. Los flujos de datos generados para esta simulación fueron caracterizados por Pareto para T-Voting y CBR para VoIP. Como resultados de las simulaciones se generaron estadísticas correspondientes a los indicadores de Calidad de Servicio (rendimiento, retardo, variación de retardo y porcentaje de bloqueo o pérdida de paquetes) para los flujos generados. Para las pruebas se utilizó un Set Top Box con soporte del middleware Ginga-NCL. Palabras Clave: TdT, ISDB-T, middleware, Ginga-NCL, NCL, Lua, interactividad, QoS, NS-2, telespectador, PCR, SAI, RTDI, PTdT. Lista de Figuras Figura 2.1 – Transmisión analógica y la digital………….….......................................................31 Figura 2.2 – Diferencia entre receptor analógica y digital............................................................33 Figura 2.3 – Bloque funcional de un Sistema Televisión Digital ISDB-T....................................34 Figura 2.4 – Países que adoptaron el ISDB-T en el mundo...........................................................35 Figura 2.5 – Sistema Televisión Digital Terrestre – ISDB-T........................................................35 Figura 2.6 – Interactividad local....................................................................................................40 Figura 2.7 – Interactividad con canal de retorno...........................................................................41 Figura 2.8 – Middlewares para TdT..............................................................................................42 Figura 2.9 – Arquitectura del middleware Ginga..........................................................................43 Figura 3.1 – Canal de retorno para TdT.........................................................................................50 Figura 3.2 – Evolución de la Telefonía fija...................................................................................52 Figura 3.3 – Conexión Dial Up a internet utilizando la línea de Telefonía fija.............................52 Figura 3.4 – Topología básica de RDSI.........................................................................................54 Figura 3.5 – Evolución de acceso a Internet (conexiones fijas)....................................................56 Figura 3.6 – Evolución del número de conexiones ADSL por velocidad.....................................57 Figura 3.7 – Topologías básica de la tecnología ADSL................................................................58 Figura 3.8 – Evolución de abonados de CATV según ámbito geográfico....................................59 Figura 3.9 – Evolución de la CATV..............................................................................................59 Figura 3.10 – Topología de red CATV con DOCSIS....................................................................60 Figura 3.11 – Mapa WiFi en Lima Metropolitana.........................................................................61 Figura 3.12 – Topología Ad Hoc...................................................................................................62 Figura 3.13 – Topología Access Point...........................................................................................63 Figura 3.14 – Lista de Access Point en la Comunidad Santa Clara-Ate.......................................64 Figura 3.15 – Distribución de Líneas Móviles en Servicio por Departamento.............................65 Figura 3.16 – Evolución del servicio móvil...................................................................................66 Figura 3.17 – Evolución de la Banda Ancha Móvil......................................................................67 Figura 3.18 – Topología de una red celular...................................................................................68 Figura 3.19 – Red Power Line Conmunication-PLC.....................................................................69 Figura 3.20 – Red interactiva propuesta por Amoide....................................................................70 Figura 3.21 – Red interactiva propuesta por Carvalho..................................................................71 Figura 3.22 – Red interactiva propuesta por Margalho.................................................................72 Figura 3.23 – Red interactiva propuesta por Verónica..................................................................72 Figura 3.24 – Disponibilidad de servicios de Internet...................................................................74 Figura 4.1 – Arquitectura de red de Canal de Retorno para la TdT..............................................82 Figura 4.2 – Sistema de Transporte MPEG-2................................................................................84 Figura 4.3 – ES (Elementary Stream) y paquete PES (Packetized Elementary Stream)...............85 Figura 4.4 – Codificador y Multiplexor.........................................................................................85 Figura 4.5 – Re-Multiplexor..........................................................................................................89 Figura 4.6 – Formato del paquete TS............................................................................................89 Figura 4.7 – Proceso de envío de archivos y/o directorios (carrusel de datos)..............................92 Figura 4.8 – Proceso de envío de archivos y/o directorios con error………....................……….93 Figura 4.9 – Nodo PCR..................................................................................................................95 Figura 4.10 – Telespectador con acceso a Internet........................................................................95 Figura 4.11 – Interfaces del Se Top Box con soporte Ginga-NCL................................................97 Figura 4.12 – SAI generando el paquete TS..................................................................................98 Figura 4.13 – Estructura de directorio del aplicación interactiva T-Voting..................................98 Figura 4.14 – Contenido del directorio lua....................................................................................98 Figura 4.15 – Contenido del directorio media...............................................................................99 Figura 4.16 – Módulos generados de la Aplicación Interactiva T-Voting...................................100 Figura 4.17 – Transmisión de módulos de manera secuencial....................................................101 Figura 4.18 – Transmisión del módulo 1.....................................................................................102 Figura 4.19 – Tablas PSI..............................................................................................................103 Figura 4.20 – Paquetes TS enviados............................................................................................105 Figura 5.1 – Diagrama de Casos de Uso......................................................................................110 Figura 5.2 – Diagrama de Secuencia...........................................................................................111 Figura 5.3 – Pantalla de inicio de interactividad.........................................................................112 Figura 5.4 – Pantalla de elección de opciones de voto................................................................113 Figura 5.5 – Resultados de la encuesta........................................................................................113 Figura 5.6 – Operación tcp.lua....................................................................................................115 Figura 5.7 – Conexión Set Top Box y Servidor...........................................................................116 Figura 5.8 – Ambiente de laboratorio del IMCA-UNI................................................................117 Figura 5.9 – Servidor ubicado en el INICTEL-UNI....................................................................118 Figura 5.10 – Pantalla de inicio de interactividad.......................................................................119 Figura 5.11 – Pantalla de selección de hospitales........................................................................120 Figura 5.12 – Pantalla de opciones de voto (si, no, no opina).....................................................120 Figura 5.13 – Pantalla de resultados de votación.........................................................................121 Figura 6.1 – Enlace inalámbrico INICTEL-UNI – IMCA...........................................................125 Figura 6.2 – Escenario interactivo con canal de retorno inalámbrico.........................................126 Figura 6.3 – Captura de paquetes en la PC STB Virtual.............................................................127 Figura 6.4 – Captura de paquetes en el servidor..........................................................................128 Figura 6.5 – Captura de consulta de datos del servidor...............................................................129 Figura 6.6 – Tasa de transmisión para T-Voting.........................................................................129 Figura 6.7 – Vista panorámica de la comunidad Santa Clara – Ate............................................131 Figura 6.8 – Topología del escenario interactivo WiFi/ADSL....................................................133 Figura 6.9 – Topología del escenario interactivo WiFi/ADSL en NS-2.....................................134 Figura 6.10 – Gráfico en relación al Rendimiento.......................................................................138 Figura 6.11 – Gráfico en relación al Retardo...............................................................................139 Figura 6.12 – Gráfico en relación al porcentaje de pérdida de paquetes.....................................140 Figura 6.13 – Monitoreo de señales WiFi en los alredores de Lima-Metropolitana...................142 Lista de abreviaturas y siglas AAC Advanced Audio Code ABNT Asociación Brasileña de Normas de Técnicas AC3 Audio Code 3 ADSL Asymmetric Digital Subscriber Line AP Access Point ARIB Association of Radio Industries and Businesses ATSC Advanced Television Systems Committee BNC Bayonet Neill-Concelman CATV Community Antenna Television CBR Constraint Bit Rate CDMA Code Division Multiple Access CRT Cathode Ray Tube DASE Digital Television Application Software Environment DIFFSERV Diferentiated Service DOCSIS Data Over Cable Service Interface Specification DSL Digital Subscriber Line DSM-CC Digital Storage Media, Command and Control DVB Digital Vídeo Broadcasting DVB-T Digital Vídeo Broadcasting Terrestrial EPG Eletronic Program Guide FITEL Fondo de Inversión de Telecomunicaciones GPRS General Packet Radio Service GSM Global System for Mobile Communication HDMI High-Definition Multimedia Interface HD High Definition HDSL High Data Rate Digital Subscriber Line HDTV High Definition Television HFC Hybrid Fibre Coaxial HTML HyperText Markup Language IEEE Institute of Electrical and Electronic Engineers IETF Internet Engineering Task Force IMCA Instituto de Matemáticas de la UNI INICTEL Instituto Nacional de Investigación y Capacitación en Telecomunicaciones INTSERV Integrated services IP Internet Protocol ISDB Integrated Service Digital Broadcasting ISDB-T Integrated Service Digital Broadcasting Terrestrial ISP Internet Service Provider ITU-T International Telecommunications Union – Telecomunications LAN Local Area Network LCD Liquid Crystal Display LD Low Definition LUA Lenguaje de script para juegos MPEG-2 TS Motion Picture Expert Group Transport Stream MPEG Moving Picture Experts Group MTC Ministerio de Transporte y Comunicaciones MySQL My Structured Query Language NAT Network Address Translation NCL Nested Context Language NS-2 Network Simulator 2 NTSC National Television System Committee OFDM Orthogonal Frequency Division OSI Open System Interconnection OSIPTEL Organismo Supervisor de la Inversión Privada en Telecomunicaciones PCR Proveedor de Canal de Retorno PHB Per Hop Behavior PHP Hypertext Preprocessor PLC Power Line Communications PSTN Public Switched Telephone Network PTdT Proveedor de Televisión Digital QoS Quality of Service RAAP Red Académica Peruana RTDI Receptor Televisión Digital Interactivo RDSI Red Digital de Servicios Integrados RSVP ReSerVation Protocol SAI Servidor de Aplicaciones Interactivas SD Standard Definition SDSL Single Line Digital Subscriber Line SDTV Standard Definition Television STB Set Top Box TCP/IP Transmission Control Protocol / Internet Protocol TICs Tecnología de la Información y Comunicación ToS Type of Service TS Transport Stream TV Televisión T-VOTING Votación por Televisión UHF Ultra High Frequency UNI Universidad Nacional de Ingeniería USB Universal Serial Bus VDSL Very High Data Rate Digital Subscriber Line VHF Very High Frequency VoIP Voice over IP Wi-Fi Wireless Fidelity WiMAX Worldwide Interoperability for Microwave Access Índice I. Planteamiento de la Tesis.......................................................................................................21 1.1. Introducción .................................................................................................................21 1.2. Antecedentes.................................................................................................................21 1.3. Motivación....................................................................................................................25 1.4. Objetivos.......................................................................................................................27 1.5. Organización de la Tesis...............................................................................................27 II. Fundamentos del estándar ISDB-T e Interactividad...............................................................29 2.1 Introducción..................................................................................................................29 2.2 Televisión Digital Terrestre..........................................................................................30 2.2.1 Tecnología analógica y digital para la televisión.............................................31 2.3 Estándar ISDB-T para la TdT.......................................................................................33 2.4 Interactividad en TdT....................................................................................................37 2.4.1 Formas de interactividad..................................................................................39 2.4.2 Middleware Ginga............................................................................................41 2.5 Implementación del ISDB-T en el Perú........................................................................45 2.6 Conclusiones.................................................................................................................47 III. Tecnologías de conectividad para el canal de retorno............................................................48 3.1 Introducción..................................................................................................................48 3.2 Red de Telefónica Pública Conmutada.........................................................................50 3.3 Redes Digital de Servicios Integrados..........................................................................53 3.4 Línea de Abonado Digital Asimétrica...........................................................................54 3.5 Televisión por Cable.....................................................................................................58 3.6 Comunicaciones inalámbricas.......................................................................................61 3.7 Comunicaciones Móviles..............................................................................................64 3.8 Power Line Comunication.............................................................................................68 3.9 Experiencia Brasileña: Canal de Retorno......................................................................69 3.10 Tecnología de Información y Comunicación en el Perú...............................................73 3.11 Tecnologías adecuadas para el canal de retorno...........................................................76 3.12 Conclusiones.................................................................................................................78 IV. Propuesta del modelo de canal de retorno para TdT..............................................................80 4.1 Introducción..................................................................................................................80 4.2 Modelo del canal de retorno para el Perú......................................................................81 4.2.1 Arquitectura de Red de Canal de Retorno........................................................81 4.2.2 Proveedor de Televisión Digital Terrestre.......................................................82 4.2.3 Servidor de Aplicaciones Interactivas..............................................................91 4.2.4 Proveedor de Canal de retorno.........................................................................94 4.2.5 Receptor de Televisión Digital Interactiva......................................................96 4.3 Análisis de la transmisión de la aplicación T-Voting....................................................97 4.3.1 Módulos generados por DSM-CC....................................................................99 4.3.2 Envío de paquetes BTS..................................................................................100 4.4 Conclusiones...............................................................................................................106 V. Aplicación T-Voting..............................................................................................................107 5.1 Introducción................................................................................................................107 5.2 Aplicación interactiva T-Voting: “Encuesta de 03 hospitales de EsSalud”................108 5.3 Librería tcp.lua para el canal de retorno.....................................................................114 5.4 Implementación de interactividad en el Set Top Box..................................................117 5.5 Conclusiones...............................................................................................................121 VI. Análisis de la propuesta para el canal de retorno.................................................................123 6.1 Introducción................................................................................................................123 6.2 Pruebas de interactividad en un canal de retorno inalámbrico....................................124 6.2.1 Tráfico generado por la aplicación interactiva T-Voting................................126 6.3 Escenario de Simulación de Canal de Retorno...........................................................130 6.3.1 Parámetros de simulación..............................................................................131 6.3.2 Simulación: Escenario de canal de retorno WiFi/ADSL...............................133 6.3.3 Resultados obtenidos de la simulación….….................................................137 6.4 Consideraciones de WiFi para canal de retorno..........................................................141 6.5 Conclusiones...............................................................................................................143 VII. Conclusiones.........................................................................................................................145 7.1 Consideraciones iníciales............................................................................................145 7.2 Contribuciones de trabajo............................................................................................147 7.3 Artículos aceptados y conferencias.............................................................................147 7.4 Trabajos futuros...........................................................................................................148 7.5 Consideraciones finales...............................................................................................149 Referencias...................................................................................................................................150 Anexo A - Script de Simulación NS-2.........................................................................................156 A.1 Código TCL: Canal de retorno WiFi/ADSL………..……............................................156 Anexo B – Aplicación Interactiva T-Voting “Encuesta de 03 hospitales de EsSalud”................166 B.1 Código fuente de la aplicación interactiva T-Voting......................................................166 B.2 Código fuente NCL........................................................................................................167 B.3 Código fuente Lua..........................................................................................................174 Anexo C – Principales publicaciones..........................................................................................182 C.1 Brazilian Technology Symposium/ BTS – UNICAMP.................................................182 I. Planteamiento de la Tesis 1.1 Introducción En el Perú, con Resolución Suprema N° 019-2009-MTC del 24 de abril de 2009 [1], se resolvió adoptar el estándar ISDB-T [2] como sistema de televisión digital terrestre (TdT). La elección del estándar para la TdT, fue resultado de las evaluaciones llevadas a cabo por una comisión designada para tal fin, tanto en las partes técnica, económica y de cooperación, ejecutándose pruebas de carácter subjetivo en diferentes escenarios geográficos del Perú (costa, sierra y selva). Los estándares de TdT evaluados fueron ATSC [3] (Advanced Television Systems Committee), DVB-T [4] (Digital Video Broadcasting-Terrestrial), ISDB-T (Integrated Services Digital Broadcasting-Terrestrial) y DTMB [5] (Digital Terrestrial Multimedia Broadcast). El estándar ISDB-T fue elegido por sus mejores prestaciones y fundamentalmente por los beneficios para la inclusión social en el Perú. Como parte del sistema de TdT, la interactividad es el componente fundamental permitiendo al telespectador interactuar con el emisor a través del control remoto, estableciendo la comunicación entre ellos. Dentro de la TdT se contempla tres formas de interactividad: la interactividad local, direccional y la bidireccional. Donde la interactividad direccional y bidireccional necesita de un canal de retorno para el envío de información en el sentido contrario del flujo de broadcast (radiodifusión). 21 Planteamiento de la Tesis A la fecha existen diversos trabajos de investigación en la adopción de una solución tecnológica para el canal de retorno para la TdT, el ejemplo más próximo es la experiencia brasileña; donde plantean una serie de tecnologías para la implementación de canal de retorno en la región amazónica, como: la (PSTN) Public Switched Telephone Network, (ADSL) Asymmetric Digital Subscriber Line, WiFi (Wireless Fidelity), WiMAX (Worldwide Interoperability for Microwave Access), PLC (Power Line Communications), entre otros. Sin embargo, para el caso de Perú, el escenario es algo diferente debido a su heterogeneidad geografía; por lo tanto para la elección del canal de retorno se debe tener en cuenta, varios aspectos: la densidad poblacional, infraestructura, condición socio-económico de la población y los indicadores de Calidad de Servicio (QoS) (rendimiento, retardo, variación de retardo y tasa de bloqueo o pérdida de paquetes). En esta tesis se propone la investigación y la evaluación de tecnologías para el canal de retorno para la TdT. Asimismo se propone el modelo para la implementación del canal de retorno para la TdT en el Perú. Además se desarrolla una aplicación interactiva T-Voting (encuesta de 03 hospitales de EsSalud) basada en el middleware Ginga-NCL y Lua [6], en la cual las herramientas de desarrollo utilizadas son el Composer [7], Eclipse [8] con los plugins para NCL [9] y Lua [10] respectivamente. El funcionamiento de la interactividad mediante el T-Voting es evaluado en dos escenarios: inalámbrico con tecnología Pre-WiMAX y vía Internet, como canal de retorno, e implementado utilizando el Set Top Box con soporte del middleware Ginga-NCL. De las pruebas realizadas se obtuvieron los datos referentes al tamaño y tasa de transmisión (ancho de banda consumido) por el flujo de datos generado por la aplicación T-Voting. Estos datos fueron utilizados durante la simulación a gran escala de escenarios de canal de retorno. Para la simulación del canal de retorno es utilizado el simulador de redes NS-2 [11] (Network Simulator). El escenario elegido fue la comunidad de Santa Clara del distrito de Ate. En esta 22 Planteamiento de la Tesis zona existe la carencia de infraestructura de telecomunicaciones, la única tecnología para el acceso a Internet de manera limitada es el ADSL. Por lo tanto se realizaron simulaciones de canal de retorno con la tecnología ADSL y la extensión de este servicio a través de la tecnología WiFi; donde se evaluaron los indicadores de QoS, tales como: rendimiento, retardo, variación de retardo y tasa de bloqueo o pérdida de paquetes. Los resultados de este trabajo de tesis podrán ser utilizados en todos los países que adoptaron el estándar para televisión digital terrestre (ISDB-T) con el middleware Ginga-NCL, como componente de interactividad. Asimismo los resultados de las investigaciones se divulgaron mediante conferencias y artículos publicados en eventos nacionales e internacionales; de esta manera se contribuye en el desarrollo de la TdT en el Perú. 1.2 Antecedentes Las investigaciones iniciales sobre televisión digital tuvieron sus inicios a finales de los años 1970's, buscando mejorar algunas características de la televisión analógica terrestre. Los Estados Unidos de Norteamérica fue el primer país en realizar el “apagón analógico” para emitir solo en formato digital usando su estándar ATSC. La Comunidad Europea desarrolló una familia de estándares denominados DVB-T para aplicaciones móviles, satelitales y terrestre (DVB-T) y tiene como referencia el año 2012 para completar la transición hacia la TdT. La República Popular China con el estándar DTMB. Japón y Brasil con el estándar ISDB-T, denominado estándar Japonés con innovaciones brasileñas. Brasil tiene previsto para el 2016 el cambio en su totalidad hacia esta nueva tecnología para la televisión digital. En el Perú, con Resolución Suprema N° 019-2009-MTC del 24 de abril de 2009, se resolvió adoptar el estándar ISDB-T International como sistema de televisión digital terrestre para el Perú y el primer semestre del 2010 se inició el proceso de implementación de la TdT en Lima y 23 Planteamiento de la Tesis Callao, estimándose que el “apagón analógico” se realizará en forma programada a partir de 2020. La elección del estándar para la TdT para el Perú, fue resultado de las evaluaciones llevadas a cabo por una comisión designada para tal fin, tanto en las partes técnica, económica y de cooperación, ejecutándose pruebas de carácter subjetivo en diferentes escenarios geográficos del Perú (Costa, Sierra y Selva). Los estándares de TdT evaluados fueron ATSC, DVB-T, ISDB-T y DTMB. El estándar ISDB-T International fue elegido por sus mejores prestaciones y fundamentalmente por los beneficios para la inclusión social en nuestro País. Entre las características que resaltan de este estándar desde el punto de vista técnico tenemos la compresión de audio y video en formato MPEG-4 [12], lo que permite enviar varios programas de televisión en alta definición (HD) o en definición estándar (SD) en un ancho de banda de 6MHz; otro aspecto es la recepción de la señal de televisión en equipos móviles y portátiles de tipo celular, laptops, etc. A diferencia de los demás estándares la recepción de la señal de televisión en el celular es gratuita; además con el estándar ISDB-T se cuenta con un Middleware llamado “Ginga”, que a diferencia de los otros estándares no solo está concebido para su uso en el T-Commerce (comercio por televisión), sino la capacidad de interactividad para fines sociales (educación a distancia, seguridad pública, telemedicina y entre otros). En Latinoamérica, el Perú fue el primer país en adoptar el estándar nipo-brasileño ISDB-T (estándar Japonés con innovaciones Brasileñas) y a la fecha (octubre de 2010) se han definido por esta tecnología Argentina, Chile, Venezuela, Ecuador, Costa Rica, Paraguay, Bolivia y Nicaragua, en tanto que Colombia decidió por el estándar DVB-T. Con respecto a otros países de la región, específicamente Belice y Jamaica están en proceso de evaluación. Por lo tanto se puede avizorar a futuro proyectos a nivel regional conformado por los países que adoptaron el estándar ISDB-T. 24 Planteamiento de la Tesis La televisión digital terrestre generará muchas oportunidades para la ingeniería nacional, universidades, institutos de investigación, empresas privadas y gubernamentales para realizar investigación y desarrollo I+D en temas de compresión de audio y video, codificación de canal, interactividad, canal de retorno, sistemas de transmisión terrestre, receptores y entre otros. En el Perú, el INICTEL-UNI, tiene como una de sus prioridades de investigación, aprobado por el Consejo Directivo del INICTEL-UNI para el periodo 2010-2012, realizar actividades relacionadas con la televisión digital terrestre. Entre las actividades ya iniciadas este año se encuentra el desarrollo de aplicaciones interactivas basada en el middleware Ginga-NCL. A la fecha se tiene aplicaciones interactivas como producto del proceso de investigación, disponible a ser transferido a la empresa para impulsar la inclusión social. Así mismo, el INICTEL-UNI es uno de los impulsores de la red de investigación latinoamericana: Argentina, Bolivia, Brasil, Chile, Ecuador, Paraguay, Perú y Venezuela; en el tema de aplicaciones interactivas basada en Ginga-NCL, y ha establecido convenios con la Pontificia Universidad Católica de Río de Janeiro de Brasil, quienes son los creadores del middleware Ginga-NCL. Los resultados de las primeras investigaciones han sido presentadas y aceptadas en congresos internacionales: “Análisis del Canal de Retorno para la Televisión Digital Interactiva utilizando la Clase TCP-Lua” y “Aplicaciones Interactivas Basadas en el Middleware GINGA-NCL para el Área de Salud”; ambos aceptados en Brazilian Technology Symposium, en Campinas-Sao Paulo. Asimismo, el INICTEL-UNI está impulsando en la creación de una red de investigadores sobre aplicaciones interactivas entre las universidades del Perú. 25 Planteamiento de la Tesis 1.3 Motivación A la fecha la infraestructura de redes de telecomunicaciones está en constante crecimiento; tal es el caso de proyectos de telecomunicaciones rurales, ejecutados por el FITEL-MTC [13] e INICTEL-UNI [14] para la implementación de acceso a Internet para las zonas rurales. Esto origina que la exclusión tecnológica se acorte para la población con menores recursos, y a la vez se puedan utilizar el medio como canal de retorno para la TdT. El Perú con la adopción del estándar ISDB-T para la televisión digital terrestre y su componente de interactividad (middleware Ginga), contribuirá en el desarrollo de aplicaciones interactivas con beneficios sociales; donde impulsará la inclusión social en nuestro País. Las aplicaciones interactivas permitirán interactuar a través de la televisión a la población ubicada en la zona urbana y pobladores de las zonas rurales, por ejemplo: capacitación por televisión (T-Learning), salud por distancia (T-Health), comercio por televisión (T-Commerce) y entre otros; donde se aprovechará las infraestructura de telecomunicaciones instalada, como canal de retorno para el envío de la información del telespectador al servidor de aplicaciones localizado normalmente en las instalaciones del radiodifusor. La adopción del estándar ISDB-T casi en su totalidad en los países de América del Sur; generará el desarrollo de proyectos multidisciplinarios de gran magnitud con participación de los investigadores de todos los países que adoptaron el estándar; asimismo dentro del Perú, se crearán más centros de investigación, y más empresas en el rubro de la TdT. Estamos seguros que esta tesis, siendo la primera tesis en el rubro de la TdT con tema central en el estudio de canal de retorno en el Perú, será un punto de partida para los investigadores, tesistas de pre-grado y postgrado, proyectistas y empresarios que están interesados en el desarrollo de 26 Planteamiento de la Tesis aplicaciones interactivas para la TdT; y como consecuencia natural se generara mayor aporte en para la mitigación de la exclusión tecnológica que existe en nuestros País. 1.4 Objetivos de la Tesis Objetivos Generales: Proponer una alternativa tecnológica para el canal de retorno para la televisión digital terrestre; donde se evaluaran la QoS de la tecnología propuesta; asimismo se desarrollará una aplicación interactiva, para las pruebas de validación en un escenario con canal de retorno. Objetivos específicos: • Investigación y evaluación de las tecnologías para el canal de retorno para la televisión digital terrestre con el estándar ISDB-T. • Desarrollo de una aplicación interactiva piloto T-Voting para validar el funcionamiento de la interactividad en un escenario con canal de retorno. • Modelamiento de un escenario de canal de retorno y aplicaciones de interactividad para la televisión digital terrestre basado en el estándar ISDB-T. • Implementación de un escenario de interactividad utilizando como canal de retorno el enlace alámbrico e inalámbrico, y simulación de un escenario interactivo para una comunidad carente de infraestructura de telecomunicaciones. • Divulgación de los resultados obtenido en conferencias y publicación de artículos en eventos nacionales e internacionales. 27 Planteamiento de la Tesis 1.5 Organización de la Tesis Además de este capítulo de planteamiento de la tesis, la tesis está estructurado en seis capítulos más y está organizado de la siguiente manera: En el capítulo 2 se fundamenta el estándar ISDB- T y la interactividad para la TdT; asimismo se presenta la implementación de la TdT en el Perú y finalmente las conclusiones para este capítulo. En el capítulo 3 se evalúan las principales Tecnologías de conectividad para el canal de retorno; también se analizan los trabajos realizados por Brasil con respecto al canal de retorno; se describe la Tecnología de Información y Comunicación en el Perú y finalmente las conclusiones con respecto a este capítulo. En el capítulo 4 se propone el modelo del canal de retorno para TdT; donde se describen los componentes principales de un escenario interactivo con canal de retorno; asimismo se analizan el envío de la aplicación T-Voting a través del canal de transmisión (Datacasting), y finalmente la conclusión con respecto a este capítulo. En el capítulo 5 se describen las fases de desarrollo de la aplicación interactiva T-Voting; asimismo la implementación de interactividad en el Set Top Box, y finalmente las conclusiones con respecto a este capítulo. En el capítulo 6 se evalúa la propuesta para el canal de retorno; donde se describen las pruebas realizadas de interactividad de tipo T-Voting, utilizando el enlace inalámbrico y vía Internet, como canal de retorno; asimismo se realizan simulaciones de un escenario interactivo para una comunidad con carencia de infraestructura de telecomunicaciones, utilizando la tecnología WiFi y ADSL, como canal de retorno, y finalmente las conclusiones para este capítulo. En el capítulo 7 son presentadas las conclusiones de la tesis, relacionando las consideraciones iníciales, las contribuciones de trabajo, artículos aceptados, conferencias, trabajos futuros y las consideraciones finales. 28 Fundamentos del estándar ISDB-T e interactividad II. Fundamentos del estándar ISDB-T e Interactividad 2.1 Introducción En este capítulo de la tesis se realizan los estudios de los temas más resaltantes del sistema de televisión digital terrestre, basado en el estándar ISDB-T [2]; donde son descritos los componentes de la TdT, como: el codificador en formato MPEG-2 y MPEG-4, la codificación de datos; el multiplexor y el TS [15] (Transport Streaming, Flujo de Transporte) bajo el formato MPEG-2; también el sistema de Transmisión, donde involucra varios componentes, como el codificador de canal y el modulador. Asimismo se describen la estructura de middleware Ginga, como parte fundamental del sistema de TdT. El middleware Ginga está compuesto por dos entornos de trabajo, definidas como Ginga-NCL [6] (Nested Context Language) y Ginga-J [16] (Java); ambos definidos en dos lenguajes; el lenguaje procedimental y el lenguaje declarativo respectivamente. Otro aspecto fundamental con respecto al middleware Ginga son las innovaciones que presentan con respecto a la inclusión social a diferencia de middleware de otros estándares de TdT. Esta característica es 29 Fundamentos del estándar ISDB-T e interactividad fundamental para los países que adoptaron el sistema ISDB-T, ya que cuentan con librerías para el desarrollo de aplicaciones interactivas para fines sociales, como educación a distancia, salud por televisión, gobierno electrónico, comercio por televisión y entre otros. También son descritas las formas de interactividad en un escenario de TdT, como la interactividad local, la interactividad direccional y la interactividad bidireccional. Las dos últimas formas de interactividad necesitan de una infraestructura de telecomunicaciones para el canal de retorno; donde el telespectador envía una información al servidor remoto de aplicaciones interactivas. 2.2 Televisión Digital Terrestre La TdT (Televisión Digital Terrestre), es una aplicación de un conjunto de tecnologías de transmisión y recepción de imagen, sonido y datos que codifican digitalmente la señal de televisión, convirtiéndola en series de números ceros y unos, los cuales son transmitidos en determinadas frecuencias del espectro electromagnético (aire), permitiendo que las imágenes que se reciban tengan mayor nitidez, que el sonido sea de mejor calidad y, además puedan ser captados por teléfonos celulares o por terminales portátiles (televisores instalados en vehículos en movimiento). En función de sus plataformas de transmisión, otras modalidades de televisión digital son: la Televisión Digital por Cable, cuya transmisión de señales se realiza a través de cables de tipo coaxial, y la Televisión Digital Satelital, que es transmitida vía satélite. La TdT posibilita, particularmente, que por cada canal o “autopista” del espectro electromagnético de 6 MHz, se pueda transmitir hasta ocho (8) señales o contenidos de televisión de definición estándar (SD), más uno de señal para receptores portátiles (celulares, 30 Fundamentos del estándar ISDB-T e interactividad PDA, dongle, etc) y datos (aplicaciones interactivas). Del mismo modo, cada “autopista” soporta la transmisión adecuada de hasta dos (2) señales de televisión digital de alta definición (HD). Ambas posibilidades hacen que el número de programas o señales aumente significativamente ampliando la potencialidad del espacio radioeléctrico para su aprovechamiento más eficiente. Por su fácil interconexión con computadoras personales (PC) y portátiles (Laptop) y, por consiguiente, con Internet, el sistema digital es de doble vía o interactiva; esto posibilita que el telespectador podrá interactuar con los radiodifusores enviando correos electrónicos, respondiendo encuestas en línea, podrá proporcionar información noticiosa, emitir opiniones e intervenir en programas de entretenimiento, diversión y educación. 2.2.1 Tecnología analógica y digital para la televisión En su base, el hecho de que la televisión se transmite en formato digital o analógico podría ser sólo una cuestión técnica, que tiene el efecto a sus telespectadores sólo el cambio de calidad en la imagen y sonido en la recepción, como se observa en la Figura 2.1. Sin embargo, el proceso de digitalización permite la transmisión de múltiples canales de información, la interactividad y la convergencia digital [17]. Figura 2.1 – Transmisión analógica y la digital 31 Fundamentos del estándar ISDB-T e interactividad La digitalización de la televisión sigue utilizando la transmisión analógica, para la transmisión de sonido e imagen, debido a su propagación por el aire aún está sujeto a la interferencia y estos deben ser corregidos por el sistema, para que la imagen se muestre en alta calidad. Como se muestra en la Figura 2.2 (a y b), también es posible comprender las diferencias entre estas dos tecnologías. Como se muestra en la Figura 2.2 (a), en el sistema analógico, la imagen y el sonido se muestran tal como son recibidas, y puede haber problemas de recepción (efectos de nieve y de doble imagen) y estos son transmitidos al telespectador. En la Figura 2.2 (b) se demuestra cómo los datos recibidos son procesados por el decodificador (Set-Top Box). La recepción se hace de la misma manera que la televisión analógica: una antena de UHF (Ultra High Frequency, Ultra Alta Frecuencia)/VHF (Very High Frequency, Muy Alta Frecuencia). Cuando se sintoniza una señal (canal de frecuencia), éste es procesado por el receptor, donde recibe un tratamiento de corrección de errores y la conversión de los bits de datos (Transport Stream). Los datos se separa en diferentes flujos que pueden ser: Secuencia de Audio, Video Stream y Flujo de datos. Algunos autores agrupan los flujos de audio y vídeo en un único flujo llamado Flujo del Programa. 32 Fundamentos del estándar ISDB-T e interactividad Figura 2.2 – Diferencia entre receptor analógico (a) y digital (b) 2.3 Estándar ISDB-T para la TdT El ISDB-T [2] es un conjunto de tecnologías modernas diseñadas para la televisión digital terrestre, el ISDB-T se deriva de las siglas Integrated Services Digital Broadcasting Terrestrial o Servicios Integrados de Televisión Digital Terrestre. El estándar fue desarrollado originalmente en Japón en el año 1999 y comenzó las emisiones en diciembre del 2003; pero fue mejorado por Brasil, país donde su uso comercial comenzó en diciembre del 2007. El componente brasilero marca la diferencia con el sistema primigenio porque usa como compresor de video estándar el formato MPEG-4 [12] (H.264), el cual permite presentar una tasa de 30 fotogramas por segundo, incluso en receptores portátiles. El sistema básico utiliza MPEG-2 [18], con una tasa de presentación de 15 fotogramas por segundo. Para audio emplea el HE-AAC v2 [19]. Ambos factores permiten una potente interacción utilizando otros programas de soporte. Uno de los componentes del estándar ISDB-T, se encuentra relacionado al software utilizado para la realización de la interactividad. Este elemento de software es definido como el middleware Ginga, que permite la ejecución de las aplicaciones interactivas sobre el televisor, 33 Fundamentos del estándar ISDB-T e interactividad como por ejemplo: comercio por televisión, acceso a Internet, ejecución de operaciones bancarias, compras en línea, envío de mensajes electrónicos, entre otros. En la Figura 2.3 se muestran los principales componentes del ISDB-T en relación a los estándares de ABNT [20]; donde la norma define las especificaciones técnicas para cada etapa funcional del sistema ISDB-T. Figura 2.3 – Bloque funcional de un Sistema Televisión Digital ISDB-T Hasta la fecha [21] (octubre de 2010) los países que adoptaron el estándar ISDB-T se muestran en la Figura 2.4. Los países que usan el ISDB-T son: Brasil, Perú, Argentina, Chile, Venezuela, Ecuador, Costa Rica, Paraguay, Bolivia y Nicaragua. Con respecto a los países de Uruguay y Colombia adoptaron de manera oficial el estándar DVB-T. 34 Fundamentos del estándar ISDB-T e interactividad Figura 2.4 – Países que adoptaron el ISDB-T en el mundo El sistema ISDB-T está formado por componentes, que permiten transmitir programas de televisión (audio y video) y datos (aplicaciones interactivas) a través del señal digital. Los componentes principales del sistema ISDB-T se muestran en la Figura 2.5. Figura 2.5 – Sistema Televisión Digital Terrestre – ISDB-T 35 Fundamentos del estándar ISDB-T e interactividad A continuación se definen cada uno de los componentes del sistema ISDB-T: Codificador, Multiplexor, Modulador, Servidor de Aplicaciones y Receptores. Codificador [22]. Este módulo permite la compresión de las señales de audio y video entrantes. El ISDB-T ha adoptado el MPEG-2 para la compresión de vídeo y audio. Permiten también el uso de otros métodos de compresión de video, como MPEG-4; esta última innovación de Brasil, la versión brasileña (ISDB-Tb), usa para la transmisión digital el MPEG-4 y el audio en HE- AAC. Multiplexor. El multiplexor [23] es el componente principal del ISDB-T, responsable de “juntar” las informaciones provenientes de los codificadores de audio y vídeo (HD, SD y one- seg) y de los servidores de aplicaciones interactivas. A la salida del multiplexor se genera el TS [24] (Transport Stream, Flujo de Transporte) MPEG-2, el TS consiste en paquetes que tienen una longitud constante de 188 bytes, con 4 bytes de encabezado y 184 bytes de carga útil. La carga útil contiene video, sonido y/o datos. El encabezado incluye numerosos ítems de importancia para la transmisión de los paquetes. Otro término es el BTS [24] (Broadcast Transport Stream) es un paquete de datos de tasa fija de 32,507936 Mbps, con paquetes de tamaño de 204 bytes, en que 188 bytes son de información útil y los 16 bytes restantes son responsables por cargar informaciones para configuración del modulador. Modulador [25]. En la etapa de modulación para el diseño del sistema de transmisión terrestre digital, es importante considerar los factores de degradación de la banda VHF/UHF, tales como, el ruido térmico, interferencia multipath (estática y dinámica), ruido urbano, desvanecimiento en la recepción móvil, portátil y otros. 36 Fundamentos del estándar ISDB-T e interactividad Para brindar robustez contra los factores de degradación, el ISDB-T adoptó el sistema de transmisión OFDM [26] (Orthogonal frequency-division multiplexing, Multplexaje por División de Frecuencia Ortogonal) con la tecnología de “Time Interleave”. Entre las ventajas de OFDM en la Televisión Digital tenemos: • Alta eficiencia espectral. • Resistencia a desvanecimientos por multitrayectos. • Resistencia a desvanecimientos selectivos en frecuencia. • Resistencia a la dispersión de la señal. • Resistencia a la distorsión de fase. • Fácil ecualización del canal. • Alta inmunidad a ráfagas de ruido. Servidor de Aplicaciones Interactivas. Es el componente principal para la interactividad a través del televisor. Aquí se almacenan las aplicaciones interactivas que se emitirán a los receptores de la señal de televisión digital (Set Top Box con el middleware Ginga incorporado). Este componente será descrito con detalle en el capítulo 4. Receptores [27]. Aquí se definen los sintonizadores de la señal de televisión digital terrestre; estos pueden ser receptores fijos (televisor con sintonizador ISDBT y Set Top Box); asimismo los celulares, computadoras personales y portátiles (laptops y notebooks) dotados con sintonizadores ISDB-T incorporado. 37 Fundamentos del estándar ISDB-T e interactividad 2.4 Interactividad en TdT La generación y transmisión de datos en un sistema de televisión digital terrestre, cuya componente fundamental es el servidor de aplicaciones interactivas, cuya secuencia de generación de datos (datacasting) [28] se lleva a cabo a través de proceso de carrusel de datos. Donde la transmisión se realiza por dos caminos o rutas, a través del canal de transmisión (radiodifusión) y el canal de interactividad (canal de retorno), para cada ruta de transmisión cuentan con los protocolos de transporte. Por lo tanto el telespectador interactuará a través de una aplicación interactiva cargado en el Set Top Box (emitido por el servidor través de proceso de carrusel de datos). A la fecha con la televisión digital han surgido nuevas aplicaciones que permitirán interactuar al telespectador para realizar sus propósitos. Estas aplicaciones de interactividad más comunes se describen a continuación [29]: • EPG. El EPG (Eletronic Porgram Guide, Guía de Programación Electrónica) es un servicio de guía para contenidos de programas de televisión. Por ejemplo el telespectador podrá navegar por un conjunto de programas y servicios ofrecidos, y escoger lo que más le agrada. El puede seleccionar un canal convencional o resolver comprar un vídeo y almacenar para asistir. • T-Government. El T-Government (Gobierno por Televisión), son servicios gubernamentales ofrecidos por el televisor. Ofrece servicios importantes, evitando el desplazamiento por parte de los telespectadores, hacia las oficinas de administración gubernamental, como la SUNAT (Superintendencia Nacional de Administración Tributaria); donde las consultas son realizadas a través del televisor. 38 Fundamentos del estándar ISDB-T e interactividad • T-Commerce. El T-Commerce (Comercio por Televisión), el telespectador a través de este aplicativo tendrá la oportunidad de adquirir productos anunciados directamente por la televisión, sin la necesidad de desplazarse al lugar donde se encuentra la empresa. • Internet. Aplicación de mucha importancia que ayudará en el proceso de inclusión digital. Donde se pueden consultar búsqueda de información, consultas en línea, votos a través de Internet, entre otros. • Vídeo bajo demanda. El telespectador tendrá acceso a una colección de vídeos que pueden ser seleccionados en el tiempo en que le fuera más conveniente. • Consola de Juegos. Posibilita el uso de televisión para juegos, permitiendo que los adversarios estén en red o que la propia televisión es el adversario. • Otros. La TdT permitirá generar nuevas oportunidades de negocios en el desarrollo de aplicaciones interactivas a medida. A la fecha se están desarrollando aplicaciones, como: educación a distancia, telemedicina, monitoreo de tráfico terrestre, aplicación de prevención de desastres naturales y entre otros. 2.4.1 Formas de interactividad Dentro de la televisión digital terrestre se encuentra varias formas de realizar la interactividad; entre ellas tenemos la interactividad local, la interactividad direccional y la interactividad bidireccional. Las dos últimas formas de interactividad necesitan de un canal de retorno para el envío de los datos del telespectador a un servidor de datos o aplicaciones interactivas. A continuación se definen las formas de interactividad [29]. 39 Fundamentos del estándar ISDB-T e interactividad • Interactividad local. Llamado también interactividad sin canal de retorno, posibilita algunas aplicaciones relacionadas al programa como mirar múltiples cámaras, recibir sinopsis de películas, telenovelas y series, informaciones sobre jugadores/actores y aplicaciones no relacionadas al programa, como guía electrónico de programación, noticias y boletines, juegos residentes, previsión del tiempo y informaciones de tráfico. En la Figura 2.6 se muestra un escenario de interactividad local. Figura 2.6 – Interactividad local • Interactividad con canal de retorno. La interactividad con canal de retorno a diferencia de la interactividad local, necesita de tecnologías de redes, como canal de retorno para el transporte de la información. Este tipo de interactividad posibilita el uso del Internet por la televisión, y también el uso de aplicaciones relacionadas a los programas, como: comercio por televisión, educación por televisión; además de preguntas y respuestas por televisión, como las encuestas por televisión o T-Voting. También son posibles aplicaciones no relacionadas al programa, como: el uso del correo electrónico, conversación en línea, banco por televisión, gobierno por televisión, educación a distancia y entre otros. En la Figura 2.7 se muestra el escenario interactivo con canal de retorno. 40 Fundamentos del estándar ISDB-T e interactividad Figura 2.7 Interactividad con canal de retorno Las aplicaciones interactivas direccional y bidireccional, necesitan de un canal de retorno, para que el telespectador interactúe y pueda enviar datos a un servidor de aplicaciones interactivas. El telespectador básicamente envía consultas a una base de datos remotos, búsqueda en internet, envío de mensajes a un servidor y entre otros. 2.4.2 Middleware Ginga El middleware [30] es una capa de software intermedia entre el hardware/sistema operativo y las aplicaciones, que ofrece una serie de facilidades para el desarrollo de contenidos interactivos para TdT, escondiendo la complejidad de los mecanismos definidos por los protocolos de comunicación, de sistemas operativos y de hardware de equipamiento. El middleware Ginga es el encargado de ejecutar las aplicaciones interactivas que son enviados desde los radiodifusores, estas aplicaciones pueden ser de forma local y/o remota. Los receptores de televisión digital como el Set Top Box deben soportar el middleware Ginga para el proceso de interactividad por parte de los telespectadores. 41 Fundamentos del estándar ISDB-T e interactividad Si bien es cierto, en el mercado de televisión digital existe un conjunto de estándares que definen los middlewares, los cuales son: middleware DASE [31] (Americano), middleware MHP [32] (Europeo), middleware ARIB [33] (Japonés) y el middleware GINGA [30] (Brasileño). En la Figura 2.8 se ilustra los middlewares en relación a los estándares de la televisión digital terrestre. Figura 2.8 – Middlewares para TdT En la figura anterior se observa los diferentes middleware, que dan soporte a las aplicaciones interactivas, escondiendo las particularidades y heterogeneidades de las capas inferiores (tecnologías de comprensión, de transporte y de modulación). El uso del middleware facilita la portabilidad de las aplicaciones, permitiendo que sean transportadas para cualquier receptor digital (Set Top Box) que soporte la adopción de un middleware. Los requisitos del middleware para la interactividad son: • Soporte de sincronización de medios. • Sincronización basada en la estructura. • Soporte del canal de retorno. • Soporte de múltiples dispositivos de exhibición. • Soporte de desarrollo de programas en vivo (en tiempo de exhibición). 42 Fundamentos del estándar ISDB-T e interactividad • Soporte de adaptación de contenidos y la forma de cómo el contenido es exhibido. Arquitectura de Referencia El middleware Ginga es una capa de software intermediario que permite el desarrollo de aplicaciones interactivas para TdT, independientemente de la plataforma del hardware de los fabricantes y terminales de acceso [34]. Brinda soporte al desarrollo de aplicaciones tanto empleando un paradigma declarativo, imperativo o ambos. Los dos ambientes de ejecución son exigidos en los receptores fijos y portátiles, mientras que solo el ambiente declarativo es exigido en los receptores portátiles. La arquitectura de implementación de referencia del middleware Ginga está dividida en tres módulos Ginga-NCL, Ginga-J y Ginga-CC (Common Core, Núcleo Común). En la Figura 2.9 se muestra la arquitectura de software para el middleware Ginga con sus respectivos módulos. Figura 2.9 – Arquitectura del middleware Ginga A continuación se definen cada uno de los módulos de la arquitectura del middleware Ginga. 43 Fundamentos del estándar ISDB-T e interactividad Ginga-NCL. El Ginga-NCL [6] fue desarrollado por la Pontificia Universidad Católica de Rio de Janeiro – PUC-Rio, provee una infraestructura de presentación para aplicaciones declarativas escritas en el lenguaje NCL (Nested Context Languaje). NCL es una aplicación XML (eXtensible Markup Language) con facilidades para los aspectos de interactividad, sincronismo, espacio-temporal entre objetos de mídia, adaptabilidad, soporte a múltiplos dispositivos y soporte a la producción de programas interactivos en vivo no-lineares. Ginga-J. El Ginga-J [16] fue desarrollado por la Universidad Federal de Paraiba para proveer una infraestructura de ejecución de aplicaciones basadas en lenguaje Java, llamadas Xlet, con facilidades específicamente para el ambiente de TV digital. Ginga-J es un subsistema lógico del Sistema Ginga que procesa aplicaciones procedimentales (Xlets Java). Un componente clave del ambiente de aplicaciones procedimentales es el mecanismo de ejecución de contenido procedimental, que tiene como base la máquina virtual de Java. Ginga-CC. Ginga Common Core [6], es el subsistema lógico que provee toda funcionalidad común al soporte de los ambientes de programación declarativos, Ginga- NCL, e imperativo, Ginga-J. Según los estudios realizados, el middleware que presenta mayores beneficios sociales es el Ginga, que no solo está pensado para el comercio por televisión, sino para la inclusión social; donde está pensado para educación a distancia, telemedicina, entre otros. El Ginga se basa en dos leguajes para el desarrollo de aplicaciones, Ginga-NCL y Ginga-J. 44 Fundamentos del estándar ISDB-T e interactividad 2.5 Implementación del ISDB-T en el Perú Mediante Decreto Supremo 017-2010-MTC/03 [35], publicado el 29 de marzo de 2010, se aprobó el Plan Maestro para la Implementación de la Televisión Digital Terrestre en el Perú. El objetivo del Plan Maestro para la implementación de la TdT es establecer las medidas necesarias para la transición de los servicios de radiodifusión por televisión con tecnología analógica hacia la prestación de estos servicios utilizando tecnología digital. La implementación de la televisión digital terrestre en el país se realizará de manera progresiva en cuatro (4) territorios, conformados por las localidades que se detallan en la Tabla 2.1. Plazo máximo para la Plazo máximo para el inicio Territorios Localidades Aprobación de los Planes de las transmisiones con de Canalización tecnología digital Territorio 01 Lima y Callao II Trimestre 2010 II Trimestre 2014 Arequipa, Cusco, Trujillo, Territorio 02 I Trimestre 2011 III Trimestre 2016 Chiclayo, Piura y Huancayo Ayacucho, Chimbote, Ica, Territorio 03 Iquitos, Juliaca, Pucallpa, IV Trimestre 2011 IV Trimestre 2018 Puno y Tacna Localidades no incluidas en Territorio 04 I Trimestre 2013 I Trimestre 2024 los Territorios 01, 02 y 03. Tabla 2.1 – Implementación del Plan Maestro TDT La transición analógico-digital implica el cambio en la prestación del servicio de radiodifusión por televisión pasando de tecnología analógica a tecnología digital. Ello implicará a su vez, la sustitución y/o adaptación progresiva de los equipos receptores, transmisores y de producción audiovisual. Comprenderá las siguientes modalidades: •Transmisión simultánea de la programación en señal analógica y en señal digital, utilizando dos (2) canales de radiofrecuencia. •Transición directa a la prestación de los servicios de radiodifusión utilizando la tecnología digital, en un (1) canal de radiofrecuencia. En la Tabla 2.2 se muestra el cronograma de apagón analógico. 45 Fundamentos del estándar ISDB-T e interactividad Plazo máximo para el fin de las Territorios Localidades transmisiones con tecnología analógicas Territorio 01 Lima y Callao IV Trimestre 2020 Arequipa, Cusco, Trujillo, Chiclayo, Piura y Territorio 02 IV Trimestre 2022 Huancayo Ayacucho, Chimbote, Ica, Iquitos, Juliaca, Territorio 02 IV Trimestre 2024 Pucallpa, Puno y Tacna Localidades no incluidas en los Territorios 01, 02 Territorio 04 Indefinido y 03. Tabla 2.2 – Cronograma de apagón analógico Con respecto a la asignación del espectro para la TdT; actualmente las empresas autorizadas [36] a migrar a un canal de gestión exclusiva para la transmisión analógico-digital simultánea se muestran en la Tabla 2.3. A la fecha la señal emitida por los radiodifusores está en modo de prueba o experimental. Señal que CANAL EMPRESA RESOLUCIÓN FECHA están operando INSTITUTO NACIONAL DE HD, SD 16 R.D. Nº 1053-2010-MTC/28 30/03/2010 RADIO Y TELEVISIÓN One-seg ANDINA DE RADIODIFUSIÓN HD, SD 18 R.D. Nº 1053-2010-MTC/28 31/03/2010 S.A.C. One-seg COMPAÑÍA PERUANA DE 24 R.D. Nº 1194-2010-MTC/28 12/04/2010 SD, One-Seg RADIODIFUSIÓN S.A. COMPAÑÍA 20 LATINOAMERICANA DE R.D. Nº 1195-2010-MTC/28 12/04/2010 SD, One-Seg RADIODIFUSIÓN S.A. 22 RED GLOBAL TELEVISIÓN R.D. Nº 1195-2010-MTC/28 28/09/2010 HD, One-Seg Tabla 2.3 – Radiodifusores que emiten señal digital ISDB-T 46 Fundamentos del estándar ISDB-T e interactividad 2.6 Conclusiones El estándar ISDB-T para la televisión digital terrestre, actualmente adoptado por los países: Brasil, Perú, Argentina, Chile, Venezuela, Ecuador, Costa Rica, Paraguay, Bolivia y Nicaragua; generaran proyectos de gran envergadura con aportes de todos los países arriba mencionados. Tal es así, actualmente se tiene formado la red de I+D (investigación y desarrollo) latinoamericana en software para televisión digital terrestre [37], conformado por las universidades de los países: Argentina, Bolivia, Brasil, Chile, Ecuador, Paraguay, Perú y Venezuela, en el tema de aplicaciones interactivas basada en Ginga-NCL. El middleware Ginga, a diferencia de middleware de otros estándares brinda facilidades para el desarrollo de aplicaciones para países en vías de desarrollo. Por ejemplo las aplicaciones de salud, educación a distancia, comercio y entre otros; que permitirán reducir la brecha digital y aumentar la inclusión social de cada País. En el caso del Perú ya son 05 (cinco) los radiodifusores que vienen transmitiendo la señal digital bajo el estándar ISDB-T en Lima-Metropolitana, la transmisión está en fase de pruebas o experimental, con cobertura limitada. Con respecto a la interactividad, aún todavía no se tiene implementado la infraestructura para la emisión de las aplicaciones interactivas por los radiodifusores. 47 III. Tecnologías de conectividad para el canal de retorno 3.1 Introducción El canal de retorno es un componente fundamental del sistema de televisión digital terrestre, que permite la comunicación entre el telespectador (Set Top Box) y el proveedor de servicios de interactividad (servidor de aplicaciones interactivas). A través del canal de retorno se envían las solicitudes del telespectador hacia el servidor de aplicaciones interactivas remoto, normalmente ubicado en las instalaciones del radiodifusor (proveedor de televisión digital terrestre). A la fecha los países que adoptaron el estándar ISDB-T [2] están evaluando las tecnologías de conectividad para ser utilizados como alternativa para el canal de retorno para la TdT. La elección de las tecnologías de redes para el canal de retorno, dependerá de las características técnicas de cada tecnología para operar en diferentes escenarios o lugares geográficos. 48 Tecnologías de conectividad para el canal de retorno En el caso del Perú, cuenta con una diversidad geográfica (Costa, Sierra y Selva); según las estadísticas de las TIC [38], en la región Costa la concentración de las redes de transporte de fibra óptica, ha condicionado que el acceso a Internet a través de tecnologías de banda ancha fija y móvil (como el ADSL y 3G), se circunscriba en su mayor parte a esta región. Otro aspecto importante a tener en consideración es el crecimiento progresivo de manera informal de redes de acceso a Internet utilizando la tecnología WiFi en la banda 2.4 Ghz; estas conexiones son básicamente extensiones de la tecnología ADSL para el acceso a Internet. En este capítulo de la tesis se analizan las tecnologías de redes como alternativas a ser adoptadas como canal de retorno para la TdT; asimismo se analizan el estado de las TICs en el Perú y los estudios realizados por Brasil para la elección de la alternativa tecnología para el canal de retorno. Además los factores a considerarse en la adopción de la alternativa tecnológica, es el costo de la instalación y la tarifación mensual una vez instalada [39], ya que para lugares con población de bajo nivel económico no será posible acceder a los servicios de interactividad, debido a los pagos mensuales que realizarían los telespectadores. En la Figura 3.1 se muestra la topología en general del sistema de televisión digital terrestre, donde se resalta el canal de retorno. En la sección 2.3 del capítulo 2 se detallaron cada componente de la Figura 3.1; como se puede observar en esta Figura con respecto al canal de retorno, se utilizarán tecnologías de conectividad alámbricas e inalámbricas; donde estas tecnologías elegidas conectaran físicamente el receptor (Set Top Box) con el Servidor de Aplicaciones Interactivas; y por este medio se enviará la información que el telespectador generará de acuerdo al tipo de aplicación interactiva utilizado, por ejemplo en una aplicación T-Voting, el telespectador votará por televisión, esta información 49 Tecnologías de conectividad para el canal de retorno de votación se enviará por el canal de retorno hacia el servidor de datos, para luego generar los resultados de la votación. Figura 3.1 – Canal de retorno para TdT 3.2 Red de Telefonía Pública Conmutada - RTPC Según los datos estadísticos proporcionado por el OSIPTEL [40], como se muestra en la Tabla 3.1, las redes de telefonía instalada en el Perú por departamentos son de 3’550,604 líneas. Esta cifra nos indica una referencia que en algunos lugares se utilizará esta tecnología como canal de retorno para la TdT. 2006 2007 2008 2009 Amazonas 6.820 7.951 7.601 7.874 Ancash 69.580 76.769 81.575 87.510 Apurimac 8.152 8.942 9.847 11.042 Arequipa 132.878 145.929 157.785 166.309 Ayacucho 18.547 20.824 21.521 22.293 Cajamarca 36.181 39.611 43.564 47.494 Cusco 54.812 59.524 64.296 68.725 50 Tecnologías de conectividad para el canal de retorno Huancavelica 4.977 5.287 5.601 6.643 Huánuco 17.765 20.042 21.524 25.085 Ica 63.326 69.095 75.479 75.028 Junín 79.190 89.878 95.884 95.301 La Libertad 154.265 170.207 182.634 196.250 Lambayeque 90.283 102.938 111.312 124.852 Lima y Callao 1.777.345 2.014.950 2.174.594 2.216.980 Loreto 42.919 53.566 61.568 67.247 Madre de Dios 3.902 4.710 6.468 7.022 Moquegua 14.030 15.813 15.311 15.341 Pasco 6.134 7.558 8.250 7.627 Piura 107.601 127.499 128.684 142.066 Puno 31.537 34.746 37.310 41.318 San Martín 26.039 29.905 34.456 35.865 Tacna 32.198 34.450 29.150 31.045 Tumbes 11.744 14.316 14.046 13.564 Ucayali 22.711 25.925 29.097 38.123 Total Perú 2.812.936 3.180.435 3.417.557 3.550.604 Tabla 3.1 – Redes de Telefonía fija instalada por departamentos Según [41]; la distribución territorial de la provisión del servicio, se observa que en términos del número de líneas en servicio, el departamento de Lima incluida la provincia constitucional del Callao, concentra el 63.11% del total nacional, presentando así una teledensidad de 18.5 líneas por cada 100 habitantes. Le siguen en orden los departamentos de Arequipa y La Libertad con densidades iguales a 11.8 y 9.4 respectivamente. En la Figura 3.2 se muestra la evolución de la telefonía fija a nivel nacional. Respecto a las tecnologías de acceso al servicio, a marzo de 2010, el 76,54% de las líneas tienen acceso por medio de tecnología alámbrica, el 23.37% tiene acceso por medio inalámbrico y el 0.09% restante por medio satelital. Por otro lado, a marzo de 2010, se tienen 1,266 distritos con disponibilidad del servicio. 51 Tecnologías de conectividad para el canal de retorno Figura 3.2 – Evolución de la Telefonía fija Una de las alternativas para el acceso a Internet se realiza a través de una conexión Dial Up utilizando la red telefónica (redes de telefonía fija analógica). La topología de red básica se muestra en la Figura 3.3, donde para el acceso a Internet se utiliza un módem en conexión Dial Up entre el cliente y el servidor proxy que realizará la autenticación en el lado del ISP (Proveedor de Servicios a Internet). Figura 3.3 – Conexión Dial Up utilizando la línea de Telefonía 52 Tecnologías de conectividad para el canal de retorno Entre las ventajas que presenta la red telefónica, es la cobertura a nivel nacional, y en muchas ciudades de pocas densidades poblacionales y aisladas de otros servicios, es el único medio de acceso a Internet. Entre las desventajas se tiene una baja tasa de transferencia; el tiempo para establecer una conexión con el ISP e iniciar la transferencia de datos es grande (hasta decenas de segundos); y en algunos casos la conexión y el tiempo de realización de la conexión con el ISP son cobrados por la empresa de telecomunicaciones que provee a línea telefónica. A la fecha (octubre 2010) este servicio viene decreciendo en el número de conexiones instaladas, a consecuencia de la proliferación de las tecnologías de transporte de banda ancha a nivel del Perú; predominado el acceso al Internet a través de la tecnología ADSL. 3.3 Red Digital de Servicios Integrados – RDSI A diferencia de las RTPC, son líneas digitales de extremo a extremo. El RDSI es un servicio que exige una gran inversión por el alquiler de la línea que llega de la central hasta los hogares de los usuarios. Y debido a su alto costo imposibilita la implantación de este sistema en multitud en el mercado peruano. Actualmente esta tecnología ha sido desplazada por las tecnologías vigentes basadas en protocolo IP. Entre las ventajas de la tecnología RDSI tenemos: conexión permanente; alta tasa de transferencia de datos; posibilidad de interoperación con otros dispositivos de comunicación (fax, computadores, teléfonos, etc.). Entre las desventajas tenemos: la baja penetración en los hogares y actualmente desplazado por la tecnología IP. En la Figura 3.4 se muestra la topología básica de RDSI; donde la central RDSI conecta los terminales de voz, data y video, y estos son conectados a las redes de paquetes conmutados, redes de circuitos conmutados y otras redes. 53 Tecnologías de conectividad para el canal de retorno Figura 3.4 – Topología básica del RDSI 3.4 Línea de Abonado Digital Asimétrica – ADSL El ADSL (Asymmetric Digital Subscriber Line, Línea de Abonado Digital Asimétrica) es una tecnología que utiliza la línea telefónica convencional (RTPC). La tecnología permite la instalación de módems que permiten la transmisión de datos a través del medio par trenzado. Con el uso de los módems en lado del usuario y en el lado de la central se aprovechan las altas frecuencias no usadas por los sistemas de telefonía, para ser utilizados para el tráfico de datos; la señal de voz es transmitida en un espectro diferente y no interfiere a los datos generados por el módem ADSL. El nivel de desempeño del ADSL tiende a ser afectado por la calidad de la infraestructura de la red y por la cantidad de usuarios. Si la calidad de la red es “pobre”, las velocidades serán mas bajas o el servicio puede ser imposibilitado. En la Tabla 3.2 se mencionan las variantes de la familia DSL (Digital Subscriber Line, Línea Digital de Abonado), con las respectivas velocidades y distancias. 54 Tecnologías de conectividad para el canal de retorno Variantes de DSL Descripción Velocidad Distancia (m) 1.5 Mbps para downstream Asymmetric Digital ADSL Lite (G Lite) (calidad de vídeo VHS) 7.100 a 8.100 Subscriber Line e 384 Kbps para upstream Entre 1.5 e 8 Mbps para Asymmetric Digital downstream (calidad de ADSL 3.900 a 5.800 Subscriber Line vídeo de difusión) y 640 Kbps para upstream High Data Rate Digital 1.544 o 2.084 Mbps/Full duplex HDSL 3.900 a 4.800 Subscriber Line (calidad de vídeo VHS) Single Line Digital 1.544 o 2.084 Mbps/Full duplex SDSL 3.200 Subscriber Line (calidad de vídeo VHS) Entre 13 y 55 Mbps para Very High Data Rate VDSL downstream y entre 1.5 y 2.3 Mbps 300 a 1.500 Digital Subscriber Line para upstream Tabla 3.2 – Variantes del DSL, velocidad y distancia. Entre las ventajas del ADSL tenemos: fácil implementación debido la interoperación con las redes RTPC ya instaladas; buena tasa de transferencia de datos. Entre las desventajas tenemos: necesidad de un modem (que relativamente tiene costo elevado considerando los ingresos de la mayoría del población de nuestro país) en el lado del usuario; necesidad de la existencia de un DSLAM (Digital Subscriber Line Access Multiplexer, Multiplexor de acceso a la línea digital de abonado) en la central telefónica. El DSLAM normalmente es instalado en lugares o ciudades de mayor densidad poblacional; en lugares como las zonas rurales o comunidades con población de bajos ingresos económicos, no será implementado por los operadores de telecomunicaciones, debido a que no recuperarían su inversión estimada. A la fecha (2009) el uso de la tecnología ADSL se ha proliferado de manera masiva en el Perú a diferencia de otras tecnologías de conectividad, según los datos estadísticos proporcionado por el OSIPTEL [41], en la Tabla 3.3 se muestra el servicio instalado con la tecnología ADSL. 55 Tecnologías de conectividad para el canal de retorno Tipo de Suscriptor Tecnología de Acceso Cabina Total Residencial Empresarial Otros Pública ADSL 728.061 30.357 n.d. 0 758.418 ADSL: 128/64 kbps 33.524 0 0 0 33.524 ADSL: 256/128 kbps 260.187 0 0 0 260.187 ADSL: 512/128 kbps 420.253 8.251 n.d. 0 428.504 ADSL: 2048/300 kbps 14.042 0 n.d. 0 14.042 ADSL: Rango de velocidad no disponible 55 22.106 0 0 22.161 Cablemódem 33.006 1.733 0 0 34.739 WAP n.d. 265.913 0 0 n.d. Otros 742 1.168 0 242 2.152 TOTAL OTRAS TECNOLOGÍAS n.d. 299.171 n.d. 242 n.d. Tabla 3.3 – Servicio instalado con tecnología ADSL Con respecto el acceso al Internet de Banda Ancha fija [41], la tecnología ADSL es la más usada para ofrecer este tipo de servicio, seguida del cable-Módem. Otras tecnologías incluyen conexiones fijas inalámbricas como WiMAX y conexiones de fibra u otras tecnologías de líneas dedicadas. En la Figura 3.5 se muestra la evolución del número de conexiones fijas, observándose que las tecnologías de Banda Ancha han desplazado gradualmente a las de banda angosta (Dial-up). Figura 3.5 – Evolución de acceso a Internet (conexiones fijas) 56 Tecnologías de conectividad para el canal de retorno De otro lado, en la Figura 3.6, en relación a la evolución de las velocidades del acceso a Internet con tecnología ADSL, se observa que las velocidades de hasta 128 Kbps, y entre 256 Kbps y 511 Kbps, empezaron a disminuir a partir del año 2006 y del año 2008, respectivamente; siendo que a la fecha (2009), las conexiones con velocidades entre 512 Kbps y 2047 Kbps son las que mayor incremento han experimentado. En general, en el mercado se observa la tendencia a dejar de lado las velocidades de bajada inferiores a los 512 Kbps y a contratar servicios de velocidades cada vez mayores. Figura 3.6 – Evolución del número de conexiones ADSL por velocidad La utilización del ADSL como canal de retorno puede ser realizado de dos maneras: a) a través de la instalación de una infraestructura específica, y que se torna inviable en función al costo de la instalación b) a través del uso de servicios prestados por las operadoras de telecomunicaciones regionales. A la fecha Telefónica del Perú a través del servicio Speedy es líder en brindar el servicio con la tecnología ADSL, pero en lugares de poca densidad poblacional, no se encuentra instalado dicho servicio. El problema con respecto al ancho de banda presenta restricciones (solo garantizan normalmente el 10% del ancho de banda total en horas “punta”). Este aspecto tiene 57 Tecnologías de conectividad para el canal de retorno que ser negociadas directamente con la operadora, el que ciertamente elevaría el costo del servicio a niveles poco accesible para población de bajos ingresos. En la Figura 3.7 se muestra la topología de red de la tecnología ADSL, como se observa los elementos de esta red son el módem ADSL en el lado del usuario o abonado, el FS (Filtro separador o splitter) que cumple la función de separar la voz y la data, y el DSLAM que se encuentra en lado de la central. Figura 3.7 – Topología básica de la tecnología ADSL 3.5 Televisión por Cable – CATV Según los datos estadísticos proporcionado por el OSIPTEL [41] y [42], en la Figura 3.8 se muestra las redes de CATV instaladas; donde se observa que en Lima-Callao existen a la fecha (2009) 664,709 y en resto de provincias 294,293 abonados instalados. 58 Tecnologías de conectividad para el canal de retorno Figura 3.8 – Evolución de abonados de CATV según ámbito geográfico El servicio CATV, conocido también como Televisión por suscripción, Televisión de paga, es prestado en el Perú de forma inalámbrica a través de tecnología satelital, y de forma alámbrica, a través de redes híbridas con cables coaxiales y de fibra óptica HFC (Hybrid Fibre Coaxial, Híbrido de Fibra y Coaxial), o en algunos casos sólo con cables coaxiales. La evolución de este servicio, como se muestra en la Figura 3.9, en el primer trimestre del 2010 se contaba con 1’053,525 suscriptores, cifra que corresponde a una teledensidad a nivel país de 3.58%. Figura 3.9 – Evolución de la CATV 59 Tecnologías de conectividad para el canal de retorno En un proyecto de la organización CableLabs para el envío de datos en redes de transmisión de redes CATV se siguen las especificaciones del DOCSIS [34] (Data Over Cable Service Interface Specification, Especificación de Interfaz para Servicios de Datos sobre Cable). Entre las ventajas de transmisión de datos sobre la red CATV son: alta tasa de transferencia, alto nivel de calidad de servicio. Entre las desventajas tenemos: alto costo para instalación de las redes; cobro de tasas mensuales para la utilización del servicio; instalación bajo demanda, en algunos localidades reciben sólo la instalación del cable (solo transmisión de señal de televisión, más no datos), debido a la densidad poblacional baja; por lo tanto no existe rentabilidad en estos lugares para los operadores de telecomunicaciones. Esta tecnología, es una alternativa más para ser usado como canal de retorno para usuarios que cuentan con este servicio para el acceso a Internet, normalmente este servicio tiene mayor demanda en ciudades urbanas; en lugares, como las zonas rurales solo se tiene acceso a los imágenes de televisión, mas no el acceso a Internet. En la Figura 3.10 se muestra la topología de red CATV; donde se observa los elementos, como el CMTS, se encuentra normalmente en la cabecera de la compañía de cable y se utiliza para proporcionar servicios de datos de alta velocidad, como Internet por cable a través de una red HFC; el modem o cablemodem se encuentra en lado del usuario y se utiliza para el acceso a Internet. Figura 3.10 – Topología de red CATV con DOCSIS 60 Tecnologías de conectividad para el canal de retorno 3.6 Comunicaciones inalámbricas – WiFi/WiMAX Las redes inalámbricas WiMAX IEEE 802.16 [43] y WiFi IEEE 802.11 son alternativas tecnológicas para el canal de retorno. Entre las ventajas tenemos: el hecho de ser una red inalámbrica facilita la instalación en los hogares de los usuarios; alta tasa de transferencia, pero puede ser limitado si la misma banda se divide por un número muy grande de usuarios; permite el uso de canal de retorno en los dispositivos móviles mientras están en movimiento. Entre las desventajas tenemos: los equipos o accesorios en el lado del terminal que se utiliza para conectarse a la red, aumenta su costo considerablemente. En la Figura 3.11 se muestra los “hot spots” instalados en Lima [44], que brinda el servicio de conexión inalámbrica a Internet de banda ancha. Los “hot spots” son lugares públicos de acceso a Internet, que normalmente están instalados en los hoteles, aeropuertos y en otros lugares; estas instalaciones utilizan la tecnología WiFi en la banda 2.4 Ghz. Figura 3.11 – Mapa WiFi en Lima Metropolitana 61 Tecnologías de conectividad para el canal de retorno Dentro de la tecnología inalámbrica WiFi, una de las alternativas es la operación de la red en modo Ad Hoc [45]. Las redes Ad Hoc no necesitan de ninguna infra-estructura pre-instalada. En una red Ad Hoc, los nodos se comunican directamente unos con los otros, cooperando para el funcionamiento de la red. Otra característica de las redes Ad Hoc inalámbricas es que cada nodo está limitado la comunicación solamente dentro de su radio de alcance. Es posible establecer redes de múltiplos saltos, donde todos los nodos actúan como ruteadores. Esta alternativa tecnológica para el canal de retorno, es adecuado para escenarios o lugares donde exista alta densidad poblacional; donde los domicilios (hogares de los telespectadores) están físicamente ubicadas de manera continuo. En la Figura 3.12 se muestra la topología de una red Ad Hoc. Figura 3.12 – Topología Ad Hoc Para escenarios con poca densidad poblacional, como los hogares que están físicamente separadas, se recomienda una red inalámbrica, configurado en modo AP (Access Point), como se muestra en la Figura 3.13. 62 Tecnologías de conectividad para el canal de retorno Figura 3.13 – Topología Access Point A la fecha en nuestro País, existe una proliferación masiva de manera informal de enlaces WiFi para el acceso a Internet; estas redes operan en la banda de frecuencias sin licencia ISM (Industry, Scientific, Medical) de 2.4 Ghz y 5.8 Ghz. Estos enlaces con tecnología WiFi son básicamente extensiones del ADSL para el acceso a Internet. De acuerdo a las mediciones realizadas con la herramienta NetStumbler, por cada 1Km de radio de cobertura existen un promedio de 20 AP que brindan servicio de Internet a través de la tecnología inalámbrica, como se muestra en la Figura 3.14. 63 Tecnologías de conectividad para el canal de retorno Figura 3.14 – Lista de Access Point en la Comunidad Santa Clara-Ate De acuerdo a las experiencias de Brasil [46], las tecnologías WiFi/WiMAX lideran, como alternativas a ser considerados como canal de retorno para lugares y/o comunidades que cuentan para el acceso a Internet por medio del ADSL u otra tecnología de manera limitada. Para la geografía de nuestro País es recomendado utilizar estas tecnologías, sobre todo para las zonas rurales, donde no existe una infraestructura de telecomunicaciones, o no son cubiertas por estas tecnologías. 3.7 Comunicaciones Móviles La tecnología utilizadas por las operadores de Telecomunicaciones móviles (celulares) en el Perú son: CDMA (Code division multiple Access, Acceso Múltiple por División de Código), El GSM (Global System for Mobile Communications, Sistema Global para las Comunicaciones Móviles), 64 Tecnologías de conectividad para el canal de retorno iDEM (Integrated Digital Enhanced Network, Red Mejorada Digital Integrada), estándar interno 95 (IS95). Según los datos estadísticos proporcionado por el MTC [38], en la Figura 3.15 se muestran la distribución de líneas móviles en servicios por departamentos (2009). Como se observa en Lima y Callao son de 11’012,770 líneas. Esta cifra nos indica una referencia que en algunos lugares se utilizará esta tecnología como canal de retorno para receptores fijos, móviles y/o portátiles. Figura 3.15 – Distribución de Líneas Móviles en Servicio por Departamento Según [41]; en relación a la distribución geográfica, el departamento de Lima y Callao concentra el 47.99% del total de líneas y le siguen los departamentos de La Libertad y Arequipa con 5.58% y 5.45% del total de líneas a nivel nacional, respectivamente. 65 Tecnologías de conectividad para el canal de retorno Sobre las tecnologías de acceso al servicio móvil, el 92.66% tiene acceso mediante la tecnología GSM, el 3.92% mediante CDMA (incluye WCDMA) y el 3.42% a través de iDEN. A finales de marzo de 2010, todos los operadores móviles ofrecían servicios de Banda Ancha móvil por medio de la tecnología 3G. Como se muestra en la Figura 3.16, en los últimos años, el número de usuarios prácticamente se ha triplicado, mientras que la cobertura alcanza actualmente un 83.2% del territorio nacional (de 183,429 distritos existentes en el Perú, se cuenta con cobertura en 1,526 distritos). Figura 3.16 – Evolución del servicio móvil Con respecto al servicio de Banda Ancha móvil, es prestada principalmente a través de las tecnologías UMTS/HSPA (también conocidas como 3G y 3.5G), utilizando la infraestructura de las redes móviles convencionales 2G. Si bien la tecnología WiMAX permite desplegar servicios de acceso móvil, esta facilidad aún no ha sido implementada por ningún operador en nuestro país. La información disponible sobre la Banda Ancha móvil muestra que cada vez más usuarios adquieren este servicio. En la Figura 3.17, según información reportada por los operadores 66 Tecnologías de conectividad para el canal de retorno móviles al MTC, a marzo de 2010 se cuenta con 124,558 conexiones de Banda Ancha móvil, cifra que representa el 12.96% del total de conexiones de Banda Ancha (Como se ha señalado previamente, no se consideran las tecnologías GPRS y EDGE). Figura 3.17 – Evolución de la Banda Ancha Móvil Entre las ventajas de las comunicaciones móviles podemos indicar, una red muy difundida en el mercado peruano a diferencia de otras tecnologías de comunicación; bajo costo para la instalación para los abonados móviles. Entre las desventajas: baja tasa de transferencia en algunos lugares; alto costo de utilización de las redes; alto costo de la interface (modem/transmisor) para utilización de la red en el terminal de acceso. En la Figura 3.18 se muestra la topología de las comunicaciones móviles. 67 Tecnologías de conectividad para el canal de retorno Figura 3.18 – Topología de una red celular 3.8 Power Line Communication – PLC La tecnología PLC [47], utiliza la red de distribución de energía eléctrica como medio de transmisión de señales de comunicación. Entre tanto, para realizar esta transmisión es necesario primero convertir esta señal en la forma en que pueden ser transmitidos por los cables de la red eléctrica. Con este propósito, las redes PLC incluyen algunos elementos específicos que realizan la conversión y la transmisión de la señal a través de las redes eléctricas. En la Figura 3.19 se muestra la topología de la red PLC. 68 Tecnologías de conectividad para el canal de retorno Figura 3.19 – Red Power Line Conmunication-PLC Esta tecnología para ser utilizado como canal de retorno para el Perú, es relativamente costosa para su implementación; ya que los equipos como modem, Gateway PLC y entre otros son de costo elevado. Además esta tecnología no presenta casi ninguna demanda por parte de los usuarios finales. 3.9 Experiencia Brasileña: Canal de retorno De acuerdo a la norma ABNT 15607-1 [48], se especifican una diversidad de tecnologías de acceso para el canal de retorno para la TdT. Asimismo se han originado diversos trabajos de investigación por las universidades brasileñas con respecto al canal de retorno en la región amazónica. A continuación se analizan los diferentes planteamientos propuestos: 69 Tecnologías de conectividad para el canal de retorno Aurelio Amodei [49] plantea una solución inalámbrica para el canal de retorno que no requiere ninguna infraestructura para su instalación. La propuesta se basa el uso del estándar inalámbrico IEEE 802.11 en modo Ad Hoc; donde los nodos (Set Top Box) de usuarios participan de manera colaborativo para reenviar los datos. Como resultado de las simulaciones se observan que, en áreas con mayor densidad poblacional es posible obtener el 100% de los nodos conectados, con pocos nodos activos (Set Top Box encendido). En áreas con densidad media, es posible obtener conectividad total con cerca de 30% de los nodos activos. En las áreas de baja densidad, como las zonas rurales, la adopción de esta propuesta se muestra insuficiente para garantizar la conectividad de la red. En la Figura 3.20 se muestra la red propuesta por Amoide. Figura 3.20 – Red interactiva propuesta por Amoide Fabricio Carvalho [50] propone el canal de interactividad para el Sistema de TdT Brasileño sobre una red PLC (Power Line Communications). De acuerdo a los resultados experimentales existe la posibilidad de usar como canal de retorno para una zona residencial, mas no para una comunidad con bajos ingresos o zonas rurales. Las pruebas se realizaron en un ambiente residencial con 3 Mbps. Los resultados no son favorables por el uso de gateway PLC, por el costo elevado de los equipos. En la Figura 3.21 se muestra la red propuesta por Carvalho. 70 Tecnologías de conectividad para el canal de retorno Figura 3.21 – Red interactiva propuesta por Carvalho Mauro Margalho [51] propone un framework, con varios componentes (Proveedor de TV, Proveedor de contenidos, Proveedor de Canal de Retorno y Terminal Interactiva) para el control y gerenciamiento de canal de retorno para TdT, y políticas de priorización con técnicas de calidad de servicio (QoS). Asimismo se evalúan los parámetros de QoS: rendimiento, retardo, variación de retardo y probabilidad de bloqueo. Como resultado de la propuesta concluyen que la alternativa tecnológica para el canal de retorno será diversos; asimismo plantea la existencia de un proveedor de canal de retorno por cada región de Brasil, denominado interactividad regionalizada. En la Figura 3.22 se muestra la red propuesta por Margalho. 71 Tecnologías de conectividad para el canal de retorno Figura 3.22 – Red interactiva propuesta por Margalho Anna Verónica [52] propone una solución para una población de bajo ingreso y medio rural, la solución se basa en la tecnología inalámbrica IEEE 802.11 para áreas donde no existe infraestructura de red; según las pruebas realizadas recomiendan utilizar el protocolo de enrutamiento OLSR (Optimized Link State Routing) para redes Ad Hoc. Las simulaciones son realizadas para varios receptores de televisión (20 nodos); donde cada nodo está conectado mediante una topología mesh (malla). En la Figura 3.23 se muestra la propuesta para el canal de retorno planteado por Verónica. Figura 3.23 – Red interactiva propuesta por Verónica 72 Tecnologías de conectividad para el canal de retorno 3.10 Tecnologías de la Información y Comunicación en el Perú La Tecnología de Información y Comunicación (TIC) “juega” un rol importante en el desarrollo de un país; esto involucra el acceso a Internet, comunicaciones móviles, redes de Banda Ancha, tecnologías de conectividad y entre otros. La penetración de las TIC en el Perú, está relacionado por el grado de urbanización: Lima Metropolitana, el Resto Urbano (más de 2000 habitantes) y la Zona Rural (menos de 2000 habitantes). En Lima Metropolitana se tiene el mayor acceso a las TIC; mientras en las áreas menos pobladas, el acceso a las TIC es escaso, por su geografía y por los bajos ingresos económicos, imposibilitando su implementación. Los indicadores TIC en el Perú [53], manifiestan que los accesos a los servicios de telecomunicaciones son heterogéneos, para el trimestre Enero-Febrero-Marzo del 2010, el 30.5% de los hogares del país disponen de teléfono fijo, el 72.1% cuentan con telefonía móvil (celular), el 24.8% tiene acceso a la televisión por cable, el 23.0% cuenta con computadora y el 12.2% tiene instalado Internet en sus hogares. Tráfico de acceso a Internet en el Perú Con respecto al acceso a Internet, a la fecha con el apoyo del gobierno a través del Ministerio de Transporte y Comunicaciones-MTC (FITEL [13], Fondo de Inversión de Telecomunicaciones) se han implementado diversos proyectos de telecomunicaciones rurales con beneficios sociales. Asimismo el INICTEL-UNI [14] ha implementado diversos establecimientos rurales de Internet, denominados: Establecimientos Rurales de Tecnologías de Información y Comunicación- ERTIC, Telecentros Rurales, Telecentros Rurales Pallasca y Telecentros Rurales Maynas. En la Figura 3.24 se muestra la disponibilidad de acceso a Internet por distritos a nivel nacional [38]. 73 Tecnologías de conectividad para el canal de retorno Figura 3.24 – Disponibilidad de servicios de Internet Tecnologías de acceso a Internet en el Perú Según la información proporcionada por el OSIPTEL [40], en la Tabla 3.3 se muestra los suscriptores de acceso a Internet según tecnologías de acceso. Como se observa las tecnologías de acceso con mayores suscriptores es la ADSL e inalámbrica. 74 Tecnologías de conectividad para el canal de retorno Tecnologías de Acceso 2009 RTB 17,999 Dial - Up 1/. RDSI 32 TOTAL DIAL-UP 18,031 BW < = 64 kbps 71 64 < BW <= 128 kbps 300 128 < BW <= 256 kbps 462 Líneas Dedicadas 256 < BW <= 512 kbps 762 Alámbricas 512 < BW <= 1024 kbps 1,299 1024 < BW <= 2048 kbps 980 BW > 2,048 kbps 525 TOTAL ALÁMBRICOS 4,399 BW < = 64 kbps 569 64 < BW <= 128 kbps 739 128 < BW <= 256 kbps 652 Líneas Dedicadas 256 < BW <= 512 kbps 2,606 Inalámbricas 512 < BW <= 1024 kbps 6,951 1024 < BW <= 2048 kbps 3,208 BW > 2048 kbps 326 TOTAL INALÁMBRICOS 15,051 ADSL 758,418 ADSL: 128/64 kbps 33,524 ADSL: 256/128 kbps 260,187 ADSL: 512/128 kbps 428,504 Otras Tecnologías ADSL: 2048/300 kbps 14,042 ADSL: Rango de velocidad no disponible 22,161 Cablemódem 34,739 TOTAL OTRAS TECNOLOGÍAS 793,157 Tabla 3.3 – Indicadores de acceso a Internet, según tecnologías de acceso Con respecto, a la Banda Ancha en nuestro país, alcanzó a marzo de 2010 una teledensidad de 3.27% con un total de 960,796 conexiones a nivel nacional, habiendo registrado un 27.65% de crecimiento respecto de marzo de 2009, según los datos reportados por las empresas operadoras al Ministerio de Transportes y Comunicaciones. 75 Tecnologías de conectividad para el canal de retorno Asimismo, en relación a las tecnologías de acceso empleadas, tenemos que el 87.04% del total de conexiones se prestan a través de la Banda Ancha fija y el 12.96% a través de la Banda Ancha Móvil. En la Tabla 3.4 se muestra las tecnologías de conectividad utilizadas, como medio de acceso a la Banda Ancha. Tabla 3.4 – Número de conexiones de Banda Ancha por tecnología y medio de acceso De acuerdo de la Tabla anterior, el ADSL lidera el acceso a Internet de Banda Ancha en el mercado peruano; por lo tanto esta alternativa tecnológica se utilizará como canal de retorno para la televisión digital terrestre en la mayoría de la población, en conjunto con las tecnologías móviles, WiFi, WiMAX y entre otros. 3.11 Tecnologías adecuadas para el canal de retorno De acuerdo a los análisis de la infraestructura de las TIC en el Perú, tecnologías de conectividad y la experiencia brasileña con respecto al canal de retorno, ilustradas en las secciones anteriores, las posibles tecnologías para la implementación del canal de retorno, será seleccionada la solución que mejor se adecue a los diferentes escenarios de las regiones del Perú. 76 Tecnologías de conectividad para el canal de retorno En la Tabla 3.5 se ilustra las tecnologías de conectividad, mostrando sus ventajas y desventajas en relación a su uso como canal de retorno. Tecnologías Ventajas Desventajas Baja tasa de transmisión, dependencia de Dial Up Mayor cobertura a nivel nacional las operadoras Costo elevado para el usuario final y RDSI Alta tasa de transmisión tecnología poco usado Mayor demanda y alta tasa de ADSL Dependencia de las operadoras transmisión Alto costo para instalación de las redes y CATV Alta tasa de transmisión poca demanda Dependencia de un número mínimo de WiFi Bajo costo de implementación puntos de acceso Excelente alcance utiliza WiMAX frecuencias licenciadas Costo un poco elevado Dependencia de la cobertura de las Móviles 3G Movilidad operadoras Reutilización de infraestructura Alto costo de instalación y dependencia de PLC existente las compañías eléctricas. Tabla 3.5 – Comparación de tecnologías para la implementación de un canal de retorno La elección del ADSL como canal de retorno se muestra viable, por la demanda que existe actualmente para el acceso a Internet y alta tasa de transmisión. En la mayoría de los lugares donde no existe una infraestructura de telecomunicaciones, la solución apropiada es la tecnología WiFi, WiMAX y la tecnología móvil 3G. La Tabla 3.6 contiene detalles acerca de la propuesta para la alternativa tecnológica para ser utilizados en la implementación del canal de retorno para la TdT en el Perú; el uso de las tecnologías son clasificadas en relación al grado de urbanización, así también considerando la densidad poblacional y la infraestructura instalada. 77 Tecnologías de conectividad para el canal de retorno Tecnología de red para el Grado de urbanización Observaciones canal de retorno Para el acceso en los conos de Lima o distritos carentes de servicio de Lima Metropolitana • Todas las tecnologías de telecomunicaciones, se recomienda acceso instalados extender el servicio con tecnología WiFi y WiMAX. • ADSL Asimismo para estos lugares, se • Móviles recomienda extender el servicio con Resto Urbano • WiFi tecnología WiFi y WiMAX; en estas zonas • WiMAX en su mayoría existe presencia del ADSL y • Dial Up en algunos lugares el Dial Up. • WiFi Normalmente en los distritos rurales existen servicios de tecnología VSAT; así también Zona Rural • WiMAX tecnologías WiFi, WiMAX y/o otras • móviles tecnologías inalámbricas. Tabla 3.6 – Propuesta de implementación de canal de retorno 3.12 Conclusiones El Perú cuenta con una heterogeneidad geográfica; por lo tanto para la elección de la alternativa tecnología para el canal de retorno, se deben considerar los siguientes aspectos: la densidad poblacional, infraestructura, condición socio-económico de la población y los indicadores de QoS (rendimiento, retardo, pérdida y porcentaje de pérdidas o probabilidad de bloqueo). En general la alternativa tecnológica a ser adoptado para el canal de retorno en nuestro país será diversa, en relación al grado de urbanización y ubicación geográfica (Costa, Sierra y Selva). Los estudios realizados por Brasil, resaltan la utilización del WiFi 802.11 como alternativa para la región amazónica y zonas donde no existe una infraestructura de telecomunicaciones. Asimismo consideran que a nivel de Brasil, la adopción de la alternativa tecnológica será variada. 78 Tecnologías de conectividad para el canal de retorno En el Perú, las estadísticas de las TIC demuestran que la tecnología de acceso al Internet de Banda Ancha es el ADSL, seguido por la tecnología móviles 3G, CATV y WiFi/WiMAX. Esto nos indica que el medio utilizado para el canal de retorno para terminales fijos será el ADSL, en lugares de cobertura limitada se extenderá el servicio con tecnologías inalámbricas. 79 Propuesta del canal de retorno para la TdT IV. Propuesta del canal de retorno para la TdT 4.1 Introducción En este capítulo se propone un escenario de canal de retorno para la televisión digital terrestre en el Perú. Esta propuesta se origina tomando como referencia los estudios realizados por Brasil [54] con respecto al canal de retorno. El escenario propuesto de interactividad para la Televisión Digital Terrestre en el Perú están formados por los siguientes componentes: PTdT (Proveedor de Televisión Digital Terrestre), SAI (Servidor de Aplicaciones Interactivas), PCR (Proveedor de Canal de Retorno) y RTDI (Receptor de Televisión Digital Interactiva). Donde uno de los componentes principales es el SAI; quién es el encargado de generar a través de un proceso de carrusel de datos los paquetes TS que serán transmitidos en modo datacasting hacia los receptores (RTDI). En cambio el PCR provee conectividad al telespectador a través de una serie de tecnologías de acceso, por ejemplo la tecnología WiFi; a través de este medio los flujos de datos originados como resultado de la interactividad serán enviados al servidor SAI. También se analizan la transmisión de la estructura de archivos de la aplicación T-Voting, que son básicamente archivos de tipo ncl, lua y png. Para el envío de estos archivos se acondicionan 80 Propuesta del canal de retorno para la TdT generando módulos de 64 KBytes de tamaño como máximo, y estos a su vez son enviados en paquetes TS de 188 Bytes hacia los receptores; el proceso de envío de archivos de la aplicación T-Voting se realizan a través del protocolo DSM-CC (Digital Storage Media, Command and Control), que se caracteriza por el envío de los módulos de manera cíclico en modo broadcasting. Como parte del TS se envían también las tablas del SI o Servicio de Información, que utilizarán los Set Top Box para la demultiplexación, decodificación y ejecución de las aplicaciones interactivas. 4.2 Modelo de Canal de retorno para el Perú De acuerdo a los análisis realizados en el capítulo anterior, el acceso a las TICs presenta inequidades dentro del país. Por lo tanto se plantea una hipótesis que la solución tecnológica para el canal de retorno en el Perú será heterogénea y aplicada de acuerdo a las particularidades de cada región. En esta sección se propone un escenario de canal de retorno para lugares con carencia de infraestructura de telecomunicaciones, como: ciudades urbanas pobres, las zonas rurales y las comunidades de los alrededores Lima-Metropolitana. A continuación se describe la arquitectura propuesta para el escenario interactivo con canal de retorno; donde se analizan los componentes que lo conforman: PTdT, SAI, PCR y RTDI. 4.2.1 Arquitectura de Red de Canal de Retorno En la Figura 4.1 se muestra la arquitectura de un escenario interactivo con canal de retorno y sus componentes (PTdT, SAI, PCR y RTDI). El proceso de interactividad mediante la aplicación T-Voting se realizan en dos direcciones: del PTdT se transmiten la estructura de archivos a través del canal transmisión (datacasting) al RTDI; y en el 81 Propuesta del canal de retorno para la TdT proceso inverso del RTDI al SAI el envío de datos (datos de votación) se realizan a través del canal de interactividad o retorno. Figura 4.1 – Arquitectura de red de Canal de Retorno para la TdT 4.2.2 PTdT – Proveedor de Televisión Digital Terrestre El PTdT es el emisor de programas de televisión digital a través de modo broadcasting (radiodifusión). Es el encargado de multiplexar los programas en conjuntos con los datos del Servidor de Aplicaciones Interactivas. El PTdT está formado por el Codificador, Multiplexor, el Modulador y la Antena. El Codificador, permite codificar la señal de video entrante en estándares MPEG-2 [18] y MPEG-4 [12], esto dependerá del formato de envío de la señal, en SD (Definición Estándar), HD (Alta Definición) o LD (Baja definición, one-seg). El Multiplexor, es el responsable de multiplexar las informaciones provenientes de los codificadores de audio, vídeo (HD, SD y one-seg) y de los Servidores de Aplicaciones Interactivas. El Modulador usa el tipo de modulación OFDM [26] 82 Propuesta del canal de retorno para la TdT (Multiplexaje por División de Frecuencia Ortogonal) con la tecnología de “Time Interleave”; donde se caracteriza por su alta eficiencia espectral, resistencia a desvanecimientos por multitrayectos, resistencia a desvanecimientos selectivos en frecuencia, resistencia a la dispersión de la señal, inmunidad a ráfagas de ruido y entre otros. La antena es la encargada de irradiar la señal digital hacia los receptores. Técnicas de Multiplexación y Transporte El empaquetamiento es el mecanismo elemental utilizado por MPEG-2 para transportar datos de audio y video comprimido, así como otros datos para los decodificadores MPEG, el método utilizado es multiplexación por división de tiempo de paquetes de datos. Una señal de audio o video comprimido resulta en un flujo (stream) de bits llamado ES (Elementary Stream, Flujo Elemental). Dentro del PTdT, es fundamental resaltar el funcionamiento del Multiplexor o simplemente MUX, quién es el encargado, de multiplexar en MPEG-2 TS (Transport Stream, Flujo de Transporte), los datos que ingresan de los codificadores y del SAI. Los codificadores de audio y video en su salida entregan una secuencias o flujos elementales ES. Para el envío de flujos o stream de audio y video se usa la técnica PES (Packetized Elementary Stream, Flujo Elemental de Paquetes), el paquete comienza con un encabezado de paquete seguido de los datos del flujo elemental. En cambio para el envío de los datos (aplicaciones interactivas) se usa las Private Sections [55] del MPEG-2, por ejemplo para el envío de la estructura de archivos de la aplicación T-Voting se utilizará el protocolo DSM-CC. En la Figura 4.2 se muestra el sistema de transporte MPEG-2; donde define dos modos PS (Program Streams, Flujo de Programa) para cuando existe pocas posibilidades de 83 Propuesta del canal de retorno para la TdT errores en la transmisión (por ejemplo DVD) y TS (Transport Stream, Flujo de Transporte), cuando el tasa de errores es alto (por ejemplo Broadcast). Figura 4.2 – Sistema de Transporte MPEG-2 La cabecera de PES es adicionado informaciones extras directamente relacionado al flujo elemental, por ejemplo tipo de flujo (audio, video o datos), niveles de prioridad de los paquetes, entre otros. Los paquetes PES son mapeados en un TS, también consta de una carga útil y una cabecera. A nivel de TS, las informaciones en las cabeceras proveen información que éste usa para transportar y entregar el flujo. En la Figura 4.3 se muestra el formato del ES y del paquete PES. 84 Propuesta del canal de retorno para la TdT Figura 4.3 – ES (Elementary Stream) y paquete PES (Packetized Elementary Stream) Como se muestra en la Figura 4.4 a la salida del equipo codificador (audio y video) y del SAI (servidor que contiene el carrusel de datos) se generan el TS, el cual es conectado a través de los puertos ASI (Asynchronous Serial Interface, Interface Serial Asíncrona) al Multiplexor; donde este multiplexa la entradas generando el MPEG-2 TS. Figura 4.4 – Codificador y Multiplexor Para que el receptor o el Set Top Box, sepa entre otras cosas, a qué canales pertenecen los ES contenidos en un TS, durante el proceso de multiplexación del TS se incluyen ES 85 Propuesta del canal de retorno para la TdT específicos que contienen esta información, es lo que se llama SI (Service Information, Servicio de Información). Las tablas [23] para la construcción de las informaciones básicas relacionadas al SI, deben estar de acuerdo a las siguientes tablas: PAT (Program Association Table, Tabla de Asociación de Programas), PMT (Program Map Table, Tabla de Mapeo de Programas), CAT (Conditional Access Table, Tabla de Acceso Condicional), BAT (Bouquet Association Table, Tabla de Asociación de Ramo), NIT (Network Information Table, Tabla de Información de Red), SDT (Service Description Table, Tabla de Descripción de Servicios), EIT (Event Information Table, Tabla de Información de Eventos), TDT (Time and Date Table, Tabla de Fecha y Hora) y TOT (Time Offset Table, Tabla de Cambio de Fecha y Hora). La PAT, PMT, CAT y NIT se conocen como PSI (Program Specific Information, Información Específica del Programa) y son definidas por el estándar MPEG. La información de PSI permite la configuración automática del receptor para demultiplexar y decodificar los diferentes Flujos de Programa que se transporta dentro del TS. A continuación se describen las principales tablas utilizados durante la transmisión de la aplicación T-Voting en conjunto con audio y video. • El PAT debe indicar obligatoriamente la localización (valor del PID, Packet Identifier) de los paquetes del TS para la PMT correspondiente. La PAT también debe proveer la localización de la NIT. • La PMT debe identificar e indicar la localización del flujo correspondiente a cada uno de los servicios transmitidos, y la localización del campo PCR (Program Clock Reference) para un servicio. Los tipos de especificaciones para transmisión de datos e 86 Propuesta del canal de retorno para la TdT identificación de tipo de flujo o stream contenidas en un PMT [56] se presentan en la Tabla 4.1. Especificación de Función mayoritaria y facilidad de uso Identificación del Transmisión tipo de flujo Utilizado para streams de datos sincronizados a PES independiente asíncronos para servicios de radiodifusión 0x06 Utilizado para transferencias de datos en general: Sincronizados y asíncronos para Carrusel de servicios de radiodifusión. Aplicado a la 0x0B, 0X0D datos/objetos transmisión de datos para servicios de download y servicios multimedia Utilizado para notificaciones sincronizadas y asíncronas referentes a las aplicaciones en el Mensaje de eventos 0x0C, 0X0D TA partiendo de la estaca de broadcast. Utilizado para servicios de multimedia Protocolo de transmisión utilizado en redes fijas Protocolos de canal como redes PSTN/ISDN y redes de celular, __ de interactividad incluyendo red celular/PHS con comunicaciones bidireccionalesd Datagramas son encapsulados en Encapsulado datagram_sections Que son compatibles con el 0x0A multiprotocolo formato DSMCC_section para datos privados Protocolo que permite insertar datos de una red Data piping de radiodifusión directamente en el payload del 0x7E paquete MPEG-2 Tabla 4.1 – Tipos de especificación de transmisión • La NIT es definida para proveer informaciones referentes a la red física. • La CAT debe indicar información para el sistema de acceso condicional utilizado en el multiplexador. La información debe ser interpretada como siendo privada (no definida en esta Norma) y depende del sistema de CA (Conditional Access, Acceso Condicinal), pero, en caso de ser necesario, incluye la localización del flujo EMM (Entitlement Management Messages). 87 Propuesta del canal de retorno para la TdT Con relación a la transmisión de las aplicaciones interactivas, existe un ES incluido en un servicio que contiene lo que se llama la AIT [56] (Application Information Table, Tabla de Información de Aplicación). Una AIT contiene toda la información necesaria respecto a las aplicaciones ofertadas en un servicio incluyendo todo lo que hace falta para ejecutarlas: parámetros, nombres de clases, localización de archivos y entre otros. La AIT se transmite en modo Private Section o sección privada como un ES que comprende el programa. Otro componente fundamental es el Re-Multiplexor, que recibe en su entrada varios flujos TS, que la emisora desea transmitir; además de los parámetros de configuración del transmisor y datos adicionales. En su salida el Re-Multiplexor entrega un único flujo denominado BTS (Broadcast Transport Stream). En la salida del Re-Multiplexor, el BTS, compuesto por informaciones de video, audio y datos (aplicaciones interactivas) cuya tasa es de 32,508 Mbps, con un tamaño del paquete de 204 Bytes, adicionando una cabecera de 16 Bytes (8 Bytes de información del sistema y el resto de Bytes de corrección de errores) para cada TS. El TMCC (Transmission and Multiplexing Configuration Control) es la portadora de la información del esquemas de modulación aplicado, identidad (ID) de MPEG-TS, entre otros. En la Figura 4.5 se muestra el Re- Multiplexor con el BTS, como salida. 88 Propuesta del canal de retorno para la TdT Figura 4.5 – Re-Multiplexor La multiplexación del TS o Flujo de Transporte consiste, en pequeños paquetes de longitud constante. Un paquete de transporte es siempre de 188 Bytes, de los cuales 4 se destinan a una cabecera de inclusión obligatoria y el resto de Bytes, hasta completar los 188, son de información (carga útil). En la Figura 4.6 se muestra el formato del paquete TS. Asimismo la cabecera presenta varios campos, que se define a continuación. Figura 4.6 – Formato del paquete TS 89 Propuesta del canal de retorno para la TdT • Byte de sincronía. Campo de 8 bits de tamaño, con valor 0x47, sirve para que el decodificador pueda sincronizarse correctamente con los datos entrantes. • Indicador de Error de Transporte. Campo de 1 bit de tamaño, se pone activo cuando se detecta un error en la transmisión. Si este campo está en “1” indica que hay, al menos, un bit erróneo. • Indicador de Inicio de Carga Útil. Campo de 1 bit de tamaño, indica si en la cabecera de la carga útil existe un PES; donde se indica poniendo este bit a “1”. • Prioridad de Transporte. Campo de 1 bits de tamaño, si está en “1” indica que el paquete asociado de transporte tiene más prioridad que otros paquetes con el mismo PID (Packet Identifier, Identificador de Paquete). • Identificador de Paquete (PID). Campo de 13 bits de tamaño, que permite la distinción de paquetes de diferentes ES o Flujos Elementales. Contiene un PID diferente para cada paquete TS. • Control de Cifrado. Campo de 2 bits de tamaño, indica si hay o no datos cifrados en la carga útil. • Control Campo de Adaptación. Campo de 2 bits de tamaño, indica si la cabecera tiene campo de adaptación. • Contador de Continuidad. Campo de 4 bits de tamaño, este campo el codificador lo incrementa en 1 cada vez que envía un paquete de la misma fuente. Esto permite que el decodificador sea capaz de deducir si ha habido una pérdida (o ganancia incluso) de un paquete de transporte y evitar errores que no se podrían deducir de otra manera. 90 Propuesta del canal de retorno para la TdT 4.2.3 SAI – Servidor de Aplicaciones Interactivas En el SAI es donde se almacena las aplicaciones interactivas desarrolladas en Ginga-NCL y Lua. El SAI permite emitir las aplicaciones interactivas en modo de Datacasting [28] o difusión de datos, que serán multiplexados en conjunto con el audio y video a través de un MPEG-2 TS [15] (Transport Streaming). Para la generación de datos se lleva a cabo a través de un método llamado carrusel de datos, este método consiste en el envío de datos de manera cíclica hacia los receptores. Existen dos mecanismos de envío de datos a través de carrusel; carrusel de datos y carrusel de objetos. El mecanismo de carrusel de datos y objetos son los más utilizados para la difusión de datos en los sistemas DVB-T, ATSC-T y ISDB-T/Tb. Los dos mecanismos (carrusel de datos y objetos) son protocolos de difusión definidos por el estándar DSM-CC [55]. El proceso de envío de los archivos y/o directorios (contienen la aplicación interactiva) hacia los Set Top Box con soporte del middleware Ginga se describen de acuerdo a las Figuras 4.7 y 4.8. 91 Propuesta del canal de retorno para la TdT Figura 4.7 – Proceso de envío de archivos y/o directorios (carrusel de datos) Paso 1. En un inicio los receptores no reciben ningún dato en su memoria Paso 2. Al girar el carrusel verifica el momento que el archivo A será cargado y difundido. Paso 3. Como el receptor no posee ningún archivo A registrado en su memoria, el archivo será recibido y almacenado en su memoria hasta la carga de todos los archivo necesarios para la ejecución del aplicativo. Los mismos procedimientos se repiten hasta que el Set Top box reciba el restante de los archivos, como se observa en los pasos 3 y 4. 92 Propuesta del canal de retorno para la TdT En el paso 5, todos los archivos ya se encuentran en el Set Top Box y el aplicativo estará pronto para ser ejecutado. Durante el proceso de envío se puede generar errores durante la transmisión de los datos; este proceso se muestra en la Figura 4.7. Figura 4.8 – Proceso de envío de archivos y/o directorios con error 93 Propuesta del canal de retorno para la TdT A diferencia de la Figura 4.6, en el paso 5 de la Figura 4.8 el aplicativo no se encuentra apto para ser ejecutado, por falta de los archivos necesarios para su ejecución; en este caso el Set Top Box tendrá que esperar la repetición de archivo en la próxima secuencia cíclica (paso 6) y cargar los archivos ausente a su memoria; el siguiente paso (7) representa el momento en que el receptor esta apta para ejecutar el aplicativo, donde todos los archivos fueron recibidos y encontrándose íntegros. Como se observa el modo de transmisión de los archivos de la aplicación interactiva se realizan en un solo sentido (broadcasting); donde reciben todos los receptores con sintonizadores de la señal ISDB-T con soporte del middleware Ginga. La transmisión en sentido contrario, desde el receptor hacia el emisor se realiza a través del canal de retorno; esta parte se detallara en el capítulo 6 de la presente tesis. 4.2.4 PCR – Proveedor de Canal de retorno El Proveedor de Canal de Retorno es el nodo que brinda acceso a los telespectadores para el transporte de las respuestas o solicitudes que envía el telespectador. Según Margalo [54] el acceso a este nodo es a través de tecnologías de acceso más comunes (ADSL, WiFi, PLC, etc.). En el Perú existen lugares o comunidades donde la infraestructura de telecomunicaciones es precaria, o en algunos lugares como en las zonas rurales, simplemente no existen. La alternativa tecnológica de conectividad para estos lugares o la más adecuada es el medio inalámbrico WiFi IEEE 802.11 y/o WiMAX IEEE 802.16, por su facilidad de instalación, cobertura y costos. El enlace a Internet desde PCR debe ser una red con características de banda ancha, como mínimo con una conexión superior a 2 Mbps. Este ancho de banda incrementará de acuerdo a la cantidad de telespectadores (RTDI) conectados al PCR. En la Figura 4.9 se muestra la topología del nodo PCR. 94 Propuesta del canal de retorno para la TdT Figura 4.9 – Nodo PCR Los telespectadores (RTDI) que cuentan con acceso a Internet mediante el ADSL o cualquier otra tecnología podrán usar como canal de retorno para la interactividad; estos telespectadores no necesitaran estar conectados al PCR. En la Figura 4.10 se muestra el escenario para una un telespectador con acceso a Internet. Figura 4.10 – Telespectador con acceso a Internet 95 Propuesta del canal de retorno para la TdT 4.2.5 RTDI – Receptor de Televisión Digital Interactiva El RTDI es el terminal quien recibe la señal digital proveniente del PTdT. Esta recibe los paquetes TS que contiene al audio y video, y los archivos correspondientes a las aplicaciones interactivas. Dentro del RTDI se definen varios receptores, estos varían en costos de acuerdo a las funcionalidades que cuentan, tales como soporte del middleware Ginga o solo sintonizadores de ISDB-T. Entre los receptores tenemos: receptores portátiles (Computadora, Laptop, etc.), receptores móviles (celular) y entre los fijos (Televisor LCD, Televisor CRT, etc.). En el Perú, la mayoría de los usuarios cuentan con un televisor analógico convencional que están soportados por la norma NTSC (National Television System Committee, Comisión Nacional de Sistema de Televisión) [57], por lo tanto estos televisores como tal, no podrán sintonizar la señal de televisión digital terrestre. Para sintonizar la señal de televisión digital se necesita de un decodificador llamado Set Top Box. Dentro de los variantes de Set Top Box, se encuentra dos tipos, con soporte del middleware Ginga, y sin soporte del middleware Ginga. Para ejecutar las aplicaciones interactivas emitidas por los radiodifusores (PTdT) se debe contar con un Set Top Box [58] con soporte del middleware Ginga-NCL incorporado. Este tipo de Set Top Box cuentan con varias interfaces de hardware, tales como: RJ45 (tecnología Ethernet para el acceso a Internet), HDMI [64] (interface multimedia de alta definición), video compuesto y conector BNC para la antena externa. En la Figura 4.11 se muestra las interfaces del Set Top Box utilizado con soporte Ginga-NCL. 96 Propuesta del canal de retorno para la TdT Para las funciones de interactividad con canal de retorno, el Set Top Box por medio de su interfaz Ethernet RJ45 se debe conectar a un elemento de red, como un switch de datos, o directamente a un equipo de comunicación de datos inalámbrico. Figura 4.11 – Interfaces del Se Top Box con soporte Ginga-NCL 4.3 Análisis de la transmisión de la aplicación T-Voting En esta sección se analizan el envío de la aplicación interactiva a través de un proceso de datacasting. Los datos son almacenados por el SAI (Servidor de Aplicaciones Interactivas); donde este servidor, tiene instalado el módulo DSM-CC, quien es el encargado de generar el carrusel de datos, que se caracteriza por el envío en modo cíclico, según descrito en 4.2.3. En la Figura 4.12 se muestra el paquete TS generado por el SAI; donde se observa que se encuentra almacenada la estructura de directorio de la aplicación T-Voting y el protocolo de generación de carrusel de datos; así también el TS generado es de 188 Bytes, que es multiplexado generando el BTS de 204 Bytes. 97 Propuesta del canal de retorno para la TdT Figura 4.12 – SAI generando el paquete TS En este escenario de transmisión, la aplicación T-Voting, tiene un tamaño total de 2.17 MBytes. En la Figura 4.13 se ilustra la estructura de directorio con sus respectivos archivos. Donde se observa los directorios lua/, media/ y los archivos ncl “superEncuesta.ncl” y la librería “ConnectorBase.conn”. Figura 4.13 – Estructura de directorio del aplicación interactiva T-Voting El directorio principal cuenta con dos directorios: lua/ y media/. En el directorio lua/, se encuentran los scripts lua, como se muestra en la Figura 4.14. Figura 4.14 – Contenido del directorio lua/ 98 Propuesta del canal de retorno para la TdT Dentro del directorio media/ se encuentra los archivos de imagen en formato png, como se muestra en la Figura 4.15. Figura 4.15 – Contenido del directorio media/ 4.3.1 Módulos generados por DSM-CC El DSM-CC especifica el tipo de carrusel, llamado carrusel de objetos; donde especifica un formato estándar para representar una estructura del directorio y sistema de archivos. Los objetos se encapsulan en los módulos, que se envían dentro de bloques de los datos de la transferencia directa. Cada módulo [59] generado posee como máximo un tamaño de 64 KBytes de archivos o directorios; los archivos con más de 64 KBytes se fijan en módulos separados. En la Figura 4.16 se muestra los módulos generados por el carrusel DSM-CC; donde se observa que existe un total de 17 módulos relacionados a la aplicación interactiva T-Voting, cuyo tamaño es de 2.17MBytes. 99 Propuesta del canal de retorno para la TdT Figura 4.16 – Módulos generados de la Aplicación Interactiva T-Voting 4.3.2 Envío de paquetes BTS Los 17 módulos serán enviados en paquetes BTS de 204 Bytes. Donde los BTS contienen paquetes TS de 188 Bytes; de los 188 Bytes, 4 Bytes son de cabecera, quedando solo 184 Bytes para la carga útil. A continuación se generan los paquetes BTS donde se envía los módulos creados en la Figura 4.16; asimismo la transmisión de los módulos se realiza de manera secuencial, como se muestra en la en la Figura 4.17. 100 Propuesta del canal de retorno para la TdT Figura 4.17 – Transmisión de módulos de manera secuencial En la Figura 4.18 se muestra la transmisión para el módulo 1; donde el tamaño del módulo de 63 KBytes es dividido entre 184 (carga útil del paquete TS), donde se genera el numero de BTS equivalente a 351. Para el cálculo del resto de los módulos se sigue este mismo procedimiento. 101 Propuesta del canal de retorno para la TdT Figura 4.18 – Transmisión del módulo 1 El número de BTS transmitidos en relación a los 17 módulos generados por la aplicación T-Voting se muestra en la Tabla 4.2; donde se muestra que el total de BTS transmitido es de 12444, este valor es generado de una simple suma de los BTS de cada módulo. Módulos (T-Voting) Tamaño Tamaño/184 Nro. de BTS Módulo 1 63 KBytes 64512 351 Módulo 2 21 KBytes 21504 117 Módulo 3 303 KBytes 310272 1686 Módulo 4 235 KBytes 240640 1308 Módulo 5 227 KBytes 232448 1263 Módulo 6 219 KBytes 224256 1219 Módulo 7 175 KBytes 179200 974 Módulo 8 165 KBytes 168960 918 Módulo 9 160 KBytes 163840 890 Módulo 10 116 KBytes 118784 646 102 Propuesta del canal de retorno para la TdT Módulo 11 104 KBytes 106496 579 Módulo 12 86 KBytes 88064 479 Módulo 13 83 KBytes 84992 462 Módulo 14 73 KBytes 74752 406 Módulo 15 70 KBytes 71680 390 Módulo 16 70 KBytes 71680 390 Módulo 17 66 KBytes 67584 367 Tabla 4.2 – Cálculo de cantidad de BTS transmitidos Durante la transmisión de los programas de televisión por los radiodifusores, se generan varios paquetes TS que transportan: Audio, Video, aplicaciones interactivas con Ginga; y además los datos del Servicio de Información, que contienen las tablas PAT, PMT y AIT. En la Figura 4.19, se muestran los flujos elementales que se generan para un servicio; como se observa la tabla PAT (PID, Identificación del Paquete=0) indica los servicios que transporta y la relación que existe con la tabla PMT que contiene los tipos de flujos, con PID=100 para video, con PID=101 para audio y PID=102 para datos (archivos NCL T-Voting); asimismo se observa el paquete con PID=300 que contiene la tabla AIT quién describe la aplicación interactiva. Figura 4.19 – Tablas PSI 103 Propuesta del canal de retorno para la TdT En la Figura 4.20 se muestran los paquetes generados durante la transmisión en modo broadcasting; donde se envían paquetes TS que transportan las tablas de PSI, como el PAT, PMT y AIT. Como se observa en la Figura 4.20 (a) el TS de 188 Bytes en su campo de datos transporta la tabla PAT, este paquete tiene un valor de PID igual a “0”; este PID es fijo y siempre tomará este valor. En la Figura 4.20 (b) el paquete TS transporta la tabla PMT, cuyo PID es igual a “200”, este PID es asignado indirectamente por PAT. En la Figura 4.20 (c) el paquete TS transporta la tabla AIT, cuyo PID es igual a “300”, este PID es asignado indirectamente por PAT. En la Figura 4.20 (d) el paquete TS transporta el PES video, cuyo PID es igual a “100”, este PID es asignado por PMT. En la Figura 4.20 (e) el paquete TS transporta el PES audio, cuyo PID es igual a “101”, este PID es asignado por PMT. En la Figura 4.20 (f) el paquete TS transporta la estructura de directorio de la aplicación T-Voting, cuyo PID es igual a “102”, este PID es asignado por PMT. a) Paquete que transporta la tabla PAT b) Paquete que transporta la tabla PMT 104 Propuesta del canal de retorno para la TdT c) Paquete que transporta la tabla AIT d) Paquete que transporta el PES (video) e) Paquete que transporta el PES (audio) f) Paquete que transporta los archivos T-Voting Figura 4.20 – Paquetes TS enviados Para que el receptor sea capaz de identificar y ejecutar las aplicaciones, la especificación define la tabla AIT [56] que contiene el listado completo de las aplicaciones disponibles. También incluye información respecto al modo de acceso a las aplicaciones, como el código de control que indica si la aplicación es autostart o autoarrancable; y también aspectos técnicos, como el nombre completo de la clase principal que el receptor debe llamar para que la aplicación se inicie. La tabla AIT es distribuida también en una sección privada dentro del flujo MPEG-2, y se repite cíclicamente. 105 Propuesta del canal de retorno para la TdT 4.4 Conclusiones El escenario propuesto para el canal de retorno para la televisión digital terrestre en el Perú está formado por: PTdT (Proveedor de Televisión Digital Terrestre), SAI (Servidor de aplicaciones Interactivas), PCR (Proveedor de Canal de Retorno) y RTDI (Receptor de Televisión Digital interactiva). Donde cada componente cumple su función dentro del proceso de interactividad. En lugares donde no existe infraestructura de telecomunicaciones para el acceso a Internet, se plantea la presencia de un nodo PCR cuya finalidad es proveer conectividad al telespectador y por consiguiente utilizar como canal de retorno; una de las alternativas tecnológicas para el PCR es la tecnología WiFi en conjunto con el ADSL; el telespectador para conectarse al PCR telespectador utilizará la interface Ethernet del Set Top Box. La transmisión de los archivos y/o directorios de la aplicación interactiva en la dirección del PTdT a los receptores RTDI se realizan en modo datacasting; donde son generados en módulos de 64 KBytes y enviados a través de un carrusel de datos, en paquetes de 188 Bytes. Para la aplicación interactiva T-Voting se generan 17 módulos de 64KBytes y son enviados en total 12444 paquetes BTS de 204 Bytes. Los Flujos de Transporte de video, audio y datos se multiplexan en conjunto con los paquetes que llevan información (PSI) para los receptores, las tablas que forman parte del PSI son: La PAT, PMT, CAT y NIT. Con respecto a la descripción del envío de la estructura de archivos de la aplicación T-Voting se realiza a través de la tabla AIT; donde el Set Top Box utiliza esta tabla para demultiplexar, decodificar y ejecutar las aplicaciones interactivas. 106 V. Aplicación interactiva T-Voting 5.1 Introducción En este capítulo se desarrolla una aplicación interactiva de tipo T-Voting (Votación por Televisión). La ejecución de la aplicación interactiva T-Voting utiliza el canal de retorno para la transmisión bidireccional de campos de opciones, relativas a una encuesta, almacenadas en un servidor de base de datos remoto. Las aplicaciones interactivas (T-Voting, T-Learning, T-Health y T-Government), llamadas también de tipo interactividad bidireccional, necesitan un canal de retorno para que el telespectador interactúe y pueda enviar datos a un servidor. El telespectador básicamente envía consultas a un servidor de base de datos remotos, búsqueda en internet, encuestas por televisión y entre otros. Por lo tanto para el desarrollo de este tipo de aplicaciones es imprescindible contar con el middleware Ginga-NCL, con sus lenguajes de programación NCL y Lua. El estándar ABNT 15606 -2 [6] define el uso de Ginga-NCL para el desarrollo de aplicaciones para receptores fijos y móviles. Este estándar da soporte para el desarrollo de aplicaciones de interactividad con canal de retorno utilizando librerías como la clase TCP de Lua. 107 Aplicación interactiva T-Voting Para el desarrollo de una aplicación interactiva para la televisión digital, se tienen herramientas de software, como el Composer [7], Eclipse [8], con los plugins NCL [9] (Nested Context Languaje) y Lua [10] respectivamente. Así también emuladores para la presentación o ejecución de script NCL, entre ellos se tienen: el Emulator Ginga NCL [60] y el Virtual Set Top Box Ginga NCL [61]. Este último permite probar aplicaciones desarrolladas en entorno NCL y NCLua. Durante el desarrollo de la tesis se utilizo el framework Eclipse, con los plugins NCL y Lua; asimismo para la ejecución de los aplicativos se utilizó el Virtual Set Top Box Ginga-NCL, bajo el sistema operativo Linux Ubuntu. La aplicación desarrollado de tipo T-Voting para la “Encuesta de 03 hospitales de EsSalud, permite al telespectador realizar encuesta de 03 hospitales: Hospital Rebagliati, Almenara y Sabogal; donde el telespectador participará en la encuesta de las 03 hospitales de EsSalud. Las opciones de voto son: “si”, “no” y “no opina”. Como resultado de la votación se tiene las estadísticas de voto para cada hospital. Los votos son almacenados en un servidor de base datos remoto, ubicado normalmente en las instalaciones del PTdT. 5.2 Aplicación interactiva T-Voting: “Encuesta de 03 (tres) hospitales de EsSalud” La aplicación interactiva T-Voting se desarrolló siguiendo el estándar Ginga-NCL, bajo los lenguajes de programación NCL y Lua. Para la ejecución de la aplicación interactiva T-Voting, en principio se utilizó el Set Top Box Virtual Ginga-NCL y posteriormente un equipo Set Top Box con soporte del middleware Ginga-NCL. El usuario podrá acceder de manera libre a las herramientas de software para el desarrollo de aplicaciones interactivas para la televisión digital terrestre. A continuación se describe la funcionalidad de la aplicación desarrollada. 108 Aplicación interactiva T-Voting Requerimientos del sistema • Que permita realizar encuesta de 03 (tres) hospitales de EsSalud: H. Rebagliati, H. Almenara, H. Sabogal • Opciones de la encuesta “Si”, “No”, “No opina” • Que muestre los siguientes resultados Hospitales con aprobación al 50 % Estadísticas de voto por cada hospital Modelamiento de la aplicación interactiva T-Voting El proceso de modelamiento de la aplicación interactiva, permite tratar con la complejidad propia de estas aplicaciones, ayudando a construir los modelos con mayor abstracción, es decir, definiendo y conceptualizando solamente lo necesario de la aplicación para un mejor entendimiento del desarrollo. Es así que esta aplicación interactiva presentara las siguientes funcionalidades: • Redimensionamiento de pantalla. • Menú principal interactivo para navegación con los tres hospitales principales de Lima. • Por cada opción del menú principal, existen submenús igualmente interactivos, para votar si es que está de acuerdo con el servicio que presta, de acuerdo al hospital elegido. 109 Aplicación interactiva T-Voting • Sincronización entre los objetos de mídia (imágenes, texto, etc.) con acciones de ejecución e interrupción realizadas por el usuario mediante el control remoto. Se hará uso de la herramienta “StarUml” [62], para realizar el modelamiento de la aplicación, el cual estará basado en los diagramas de casos de uso y de secuencia. En el diagrama de casos de uso, se describirá los requerimientos funcionales de la aplicación. Para esta aplicación utilizaremos dos casos de uso, como son: el caso de uso “Contenido Interactivo” y el caso de uso “Selección de Opciones”. En el caso de uso “Contenido Interactivo”, representara la interacción entre el usuario y la televisión, lo que permitirá la selección del icono de interactividad “i”, dando ingreso al contenido de la aplicación. El caso de uso “Selección de Opciones”, representa la interacción del usuario respecto a las opciones que permitirá elegir un hospital y posteriormente votar sobre el servicio que brinda, dando como resultado el número de personas que votaron. En la Figura 5.1 se muestra el diagrama de casos de uso para la aplicación de T-Voting. Contenido interactivo Usuario Selección de opciones Figura 5.1 – Diagrama de Casos de Uso 110 Aplicación interactiva T-Voting Asimismo se muestra el diagrama de secuencia, el cual nos va a representar aspectos dinámicos, en los que intervienen el usuario (telespectador) y la aplicación T-Voting; como se muestra en la Figura 5.2. : Usuario : IPantalla1 : IPantalla2 : IPantalla3 : GVoto : Voto : IPantalla4 1:// mira TV() 2:// muestra icono de interactividad() 3:// selecciona icono de interactividad() 4:// ingreso a segunda pantalla() 5:// muestra menú principal y opción salir() 6:// si selecciona opción de menú principal() 7:// ingreso a tercera pantalla() 8:// muestra menú secundario y opción salir() 9:// si selecciona opción del menú secundario() 10:// envia voto 11:// guarda voto() 12:// genera resultado() 13:// envia resultado() 14:// muestra resultados() Figura 5.2 – Diagrama de Secuencia 111 Aplicación interactiva T-Voting Descripción del funcionamiento El aplicativo permite realizar una encuesta por el televisor, utilizando como canal de retorno una red de comunicaciones. En las Figuras (5.3, 5.4 y 5.5) se muestran las pantallas de la aplicación interactiva T-Voting, capturada durante la simulación utilizando el emulador Set Top Box Virtual Ginga-NCL. En la Figura 5.3 se muestra la pantalla de inicio de interactividad, con la pregunta (¿Qué hospital frecuenta más?), donde el telespectador elegirá a través de las teclas direccionales del control remoto el hospital que frecuentas más (H. Rebagliati/H. Almenara/H. Sabogal). Figura 5.3 – Pantalla de inicio de interactividad En la Figura 5.4 se muestra las opciones de voto, una vez elegida el hospital, con la siguiente pregunta (¿Está de acuerdo con el servicio que brinda el hospital?). El telespectador podrá elegir una de las opciones (si/no/no opina) de acuerdo a su criterio de voto; una vez seleccionado la opción, se envía la información correspondiente al número de votos y el nombre del hospital al servidor de la base de datos, para ello se utiliza la librería tcp.lua a través del canal de retorno. 112 Aplicación interactiva T-Voting Figura 5.4 Pantalla de elección de opciones de voto En la Figura 5.5 se muestra los resultados de la encuesta. Para mostrar los resultados de la encuesta, el virtual Set Top Box a través del canal de retorno (red inalámbrica) solicitará al servidor, los votos acumulados para generar las estadísticas. Como se observa los resultados de la votación muestran los hospitales que pasaron el 50% de aprobación, indicado mediante el símbolo “√” y los que no aprobaron por el símbolo “x”. Asimismo muestra las estadísticas de votos para cada hospital (H. Rebagliati, H. Alamenara, H. Sabogal). Figura 5.5 – Resultados de la encuesta 113 Aplicación interactiva T-Voting 5.3 Librería tcp.lua para el canal de retorno A la fecha existen librerías externas como el LuaSql [63] y LuaSocket [64] para el desarrollo de aplicaciones de interactividad remota. El LuaSql es una interface para el acceso a una base de datos (MySQL [65], PostgresSQL, ODBC, ADO y Oracle) desde un script Lua. Mientras el LuaSocket es una extensión para conexiones a nivel de la capa de transporte mediante los protocolos TCP y UDP desde un script Lua. Estas librerías externas no forman parte del estándar del Ginga-NCL, por lo tanto no están incluidas en el middleware Ginga del Set Top Box. Si bien es cierto el Set Top Box fue diseñado con hardware limitado en procesamiento y almacenamiento, la carga de estas librerías sobrecargaría el Set Top Box. Pero de lado del desarrollador se facilitaría el desarrollo de aplicaciones interactivas para la televisión digital. Actualmente el middleware Ginga-NCL para el desarrollo de aplicaciones interactivas con canal de retorno cuenta con la librería tcp.lua; donde a través de conexiones a nivel de la capa de transporte (protocolo TCP) del modelo TCP/IP permite acceder a los servicios alojados en un servidor remoto. Las funciones de la librería tcp.lua se describen en la Tabla 5.1. Comando Descripción connect (host, port) Conecta con un servidor por medio del protocolo TCP disconnect () Finaliza la conexión TCP y retorna inmediatamente execute (f, ...) Función que debe ser llamada para iniciar una conexión TCP handler (evt) Función tratadora de eventos Recibe respuesta de una solicitud enviada previamente al receive (pattern) servidor Envía una solicitud TCP al servidor en cual se está conectado send (value) y retorna inmediatamente Tabla 5.1 – Funciones de la librería tcp.lua En la Figura 5.6 se representa la operación del tcp.lua en un escenario de red de comunicaciones (canal de retorno). Como se observa sigue el modelo de comunicación cliente-servidor. Podemos 114 Aplicación interactiva T-Voting indicar que el cliente (Set Top Box) para comunicarse con el servidor, solicita conexión de tipo http a través del puerto 80. Figura 5.6 – Operación tcp.lua La operación de tcp.lua para la conexión a través del canal de retorno, sigue las 03 fases: fase de establecimiento de conexión, fase de transferencia de datos y la fase de liberación o fin de conexión. En la fase de establecimiento de conexión, se establece el canal virtual entre el Set Top Box y el servidor remoto a través del puerto 80/tcp. En la fase de transferencia de datos, se envía los datos (cuenta de votos) hacia el servidor y viceversa. En la fase de fin de conexión se libera el canal virtual. La librería tcp.lua solo permite conexiones de tipo TCP, no tiene sentencias para conectarse de manera directa a una base de datos; por lo tanto para el desarrollo de aplicaciones T-Voting hace necesario el uso de lenguajes como el PHP [66], JSP, etc. para el acceso a la base de datos en el lado del servidor. 115 Aplicación interactiva T-Voting La librería tcp.lua es el encargado de realizar conexiones entre el Set Top Box y el servidor a través del canal de retorno. Como se muestra en la Figura 5.7, el Set Top Box con el middleware Ginga-NCL incorporado soporta la librería tcp.lua para solicitar conexiones de tipo http/tcp a través del puerto 80 al servicio Web Apache instalado en el servidor. En el lado del servidor para el acceso a la base de datos MySQL se realiza a través del lenguaje PHP (Hypertext Preprocessor); donde el servicio Web Apache y MySQL están instalados en un solo servidor; por lo tanto el acceso desde el servicio Web Apache a la base de datos se realiza de manera local. Figura 5.7 – Conexión Set Top Box y Servidor Como se observa en la figura anterior, en el lado del servidor se encuentra instalado el motor de base de datos MySQL. Para nuestra aplicación T-Voting se ha creado una base de datos llamado “encuesta” y la tabla “encuesta”; donde se almacenan los votos de la encuesta. En la Figura 5.2 se muestra la estructura de tabla; donde se muestran los campos (hospital, si, no y nose) y el número de votaciones para cada hospital. 116 Aplicación interactiva T-Voting Tabla 5.2 – Base de datos de la aplicación T-Voting 5.4 Implementación de interactividad con el Set Top Box Las pruebas de interactividad se realizaron entre el laboratorio de cómputo del IMCA [67] (ubicación del Set Top Box) y INICTEL-UNI, conectado a la RAAP (ubicación del servidor de base de datos), como se aprecia en la Figura 5.8. El televisor está conectado al Set Top Box a través de la interfaz de video compuesto; tambíen se cuenta con una memoria USB, donde se almacena la estructura de archivos de la aplicación interactiva (T-Voting) y luego es conectado al puerto USB del Set Top Box para la carga o ejecución del aplicativo mediante el control remoto. El Set Top Box por el puerto RJ45 ethernet es conectado a la red LAN, por donde se envían los datos al servidor. Figura 5.8 – Ambiente de laboratorio del IMCA-UNI 117 Aplicación interactiva T-Voting En lado del INICTEL-UNI se cuenta con servidor de aplicaciones donde se encuentra la base de datos MySQL, Apache Web y los scripts en PHP. Este servidor se encuentra instalado en la red LAN de la RAAP. En la Figura 5.9 se muestra el servidor ubicado en la red LAN de la RAAP y la pantalla con los resultados de la votación consultado desde el Internet. Para la presentación de los resultados de la votación desde un navegador web está escrito en PHP y HTML (HyperText Markup Language, Lenguaje de Marcado de Hipertexto) y alojado en el directorio raíz del Apache Web. Figura 5.9 – Servidor ubicado en el INICTEL-UNI Demostración de la interactividad de tipo T-Voting La carga de la aplicación interactiva T-Voting al Set Top Box se realiza mediante su puerto USB, para la demostración de la interactividad en la pantalla del televisor. En las Figuras (5.10, 5.11, 5.12 y 5.13) se muestran las pantallas capturadas de las pruebas de interactividad con el canal de retorno inalámbrico. Las pruebas de interactividad se realizaron sintonizando la programación de canal ATV (señal digital UHF, canal 18). 118 Aplicación interactiva T-Voting Como se puede observar en la Figura 8, durante la transmisión del programa aparece el símbolo de interactividad “i”, la cual puede ser seleccionada pulsando el botón ROJO del control remoto. Una vez presionado el botón “rojo” aparece la pantalla de interactividad asociado al programa de televisión emitido por el canal ATV. Figura 5.10 – Pantalla de inicio de interactividad Como se puede observar en la Figura 5.11, se muestran las imágenes de 03 hospitales de EsSalud (H. Rebagliati, H. Almenara y H. Sabogal) que el telespectador seleccionará mediante el control remoto para realizar la votación. 119 Aplicación interactiva T-Voting Figura 5.11 – Pantalla de selección de hospitales En la Figura 5.12 se muestra la pantalla con las opciones de votación (si, no y no opina) correspondientes al hospital elegido por el telespectador. Por lo tanto el telespectador elegirá una opción de acuerdo a su criterio de voto. Figura 5.12 – Pantalla de opciones de voto (si, no, no opina) 120 Aplicación interactiva T-Voting En la Figura 5.13 se muestran la pantalla con los resultados de la encuesta. Para la representación de las estadísticas de la encuesta en la pantalla (conteo de votos), los datos son enviados al servidor de base de datos a través del canal de retorno inalámbrico y luego solicitados para el conteo de votos y mostrarlos en la pantalla. Finalmente para salir de la pantalla de interactividad, se pulsara el botón “verde” del control remoto. Figura 5.13 – Pantalla de resultados de votación 5.5 Conclusiones La aplicación interactivo T-Voting, “Encuesta de 03 hospitales de EsSalud” permitirá realizar una encuesta a través del televisor convencional, utilizando como canal de retorno la red inalámbrica o vía Internet. El aplicativo interactivo T-Voting se desarrolló utilizando el lenguaje NCL y Lua, bajo el estándar middleware Ginga-NCL; y fue probado en un Set Top Box con soporte Ginga-NCL. Para el desarrollo de aplicaciones interactivas con canal de retorno, como T-Voting, T-Learning, T-Commerce, T-Government, etc.; se debe seguir el lenguaje de programación orientado a 121 Aplicación interactiva T-Voting eventos NCLua (NCL+Lua) con la librería tcp.lua. Asimismo a la fecha el estándar middleware Ginga-NCL, soporta el tcp.lua para conexiones a través del canal de retorno. Por lo tanto los Set Top Box con Ginga-NCL soportan esta librería como parte de su sistema operativo, basado en el sistema Linux. Es oportuno indicar que la aplicación desarrollada T-Voting “Encuesta de 03 hospitales de EsSalud”, es el primer aplicativo interactivo en el Perú, probada en un escenario inalámbrico Pre-WiMAX e Internet como canal de retorno. En el capítulo 4, se analizaron el envío de esta aplicación por un proceso de Datacasting, desde el SAI (Servidor de Aplicaciones Interactivas) hacia los telespectadores (RTDI). En el siguiente capítulo 6 se analizan el proceso inverso de envío de información (votos de la encuesta) por parte de los telespectadores hacia el SAI; para el análisis se realizaron simulaciones de interactividad utilizando la tecnología ADSL y WiFi, como canal de retorno. 122 Análisis de la propuesta para el canal de retorno VI. Análisis de la propuesta para el canal de retorno 6.1 Introducción De acuerdo al modelo propuesto para el canal de retorno para la televisión digital terrestre, descrito en el capítulo anterior; de donde se deduce que las alternativas tecnológicas de conectividad serán variadas; una de las tecnologías más usadas será la tecnología ADSL en conjunto con la tecnología WiFi; esta solución tecnológica se implementarán en lugares donde la infraestructura de telecomunicaciones es precaria o simplemente no existe. En este capítulo se realiza pruebas de interactividad utilizando un Set Top Box con soporte Ginga-NCL, un televisor analógico, y como canal de retorno el enlace inalámbrico Pre-WiMAX y vía Internet. La aplicación T-Voting (encuesta de 03 hospitales de EsSalud) para realizar la interactividad es cargando al Set Top Box mediante una memoria USB. Los resultados de 123 Análisis de la propuesta para el canal de retorno lavotación se envían al servidor de base de datos remoto través del canal de retorno. De esta manera se validan el funcionamiento del canal de retorno para la televisión digital terrestre. De las pruebas de interactividad realizadas se obtiene los parámetros del tráfico generado por la aplicación T-Voting (tamaño de paquete y la tasa de transmisión); estos parámetros se utilizarán durante las simulaciones de los escenarios de interactividad con canal de retorno. En este capítulo, también se realizan simulaciones con el NS-2 de un escenario de interactividad de canal de retorno con tecnologías ADSL y WiFi para la comunidad de Santa Clara-Ate; donde son analizados los indicadores de calidad de servicio: rendimiento, retardo, variación de retardo y el porcentaje de bloqueo o pérdida de paquetes. Los flujos generados por la aplicación T- Voting utilizan el protocolo TCP NEWRENO, que vienen implementados en los Set Top Box con soporte Ginga-NCL, este flujo es caracterizado por PARETO para las simulaciones en NS-2. Para la evaluación de los indicadores de QoS se adicionan flujos generados por la aplicación VoIP que utiliza el UDP, caracterizado por CBR. Finalmente los indicadores de QoS son mostrados de manera gráfica utilizando las herramientas del NS-2. 6.2 Pruebas de interactividad en un canal de retorno inalámbrico Las pruebas de interactividad se realizaron en el enlace inalámbrico (INICTEL-UNI – IMCA), como canal de retorno para la televisión digital terrestre. El enlace está implementado con una radio inalámbrica de Banda Ancha, cuyas características se detallan a continuación: • Radio Alvarion, BreezeNet B100 • Punto a Punto 5.8 GHz, Pre-WiMAX • Tecnología Radio: OFDM • Rendimiento: 70 Mbps • Componente: Unidad Base (BU) y Remoto (RB) 124 Análisis de la propuesta para el canal de retorno • Antena externa: Grid de 23dB • Altura de la torre promedio: 20 m En la Figura 6.1 se muestra la ubicación física del enlace INICTEL/UNI – IMCA. Como se observa existe línea de vista, y la distancia promedio entre los dos puntos son de 5Km. Figura 6.1 – Enlace inalámbrico INICTEL-UNI – IMCA Para el escenario de pruebas de interactividad con canal del retorno inalámbrico, cuya topología de red se muestra en la siguiente Figura 6.2. Asimismo se muestran los equipos, enlaces, nodo RAAP (Red Académica Peruana) y direcciones IPs utilizadas durante la experiencia. Como se muestra en la Figura 6.2 el enlace inalámbrico desde el INICTEL-UNI hasta el IMCA es una extensión del nodo RAAP. En el lado del INICTEL-UNI se encuentra el servidor de base de datos que será consultado desde el IMCA a través del canal de retorno inalámbrico. 125 Análisis de la propuesta para el canal de retorno Figura 6.2 – Escenario interactivo con canal de retorno inalámbrico En el lado del IMCA se tiene el T-Voting conectado a la red LAN del IMCA. Asimismo se dispone de un televisor analógico de tubo de rayos catódicos (CRT) conectado a la interfaz de video compuesto del Set Top Box. En la Tabla 6.1 se muestran los equipos y/o accesorios utilizados durante las pruebas de interactividad. Equipo Marca/Modelo T-Voting Proview/XPS1000, soporte Ginga-NCL Televisor Analógico SAMSUNG/32” USB KINGSTON 2GB Antena Miray Tabla 6.1 – Equipos y/o accesorios utilizados 6.2.1 Tráfico generado por la aplicación interactiva T-Voting Para el análisis del tráfico generado por la aplicación interactiva T-Voting, se utilizaron las herramientas Wireshark [68] y NetLimiter [69]; siguiendo la siguiente configuración de red. STB_Virtual_Ginga-NCL(192.168.125.128) ---- PC_NAT(10.0.1.88) ---- Router_NAT(190.12.75.66) ---- Servidor_Base_Datos (190.12.88.10) 126 Análisis de la propuesta para el canal de retorno Captura del tamaño del paquete En la Figura 6.3 se muestran las capturas realizadas para la evaluación del tamaño del paquete originado por la aplicación T-Voting. Figura 6.3 – Captura de paquetes en la PC STB Virtual Como podemos observar de la Figura anterior, la captura con el Wireshark muestra a nivel de la capa de Internet del modelo TCP/IP, el tamaño del paquete a la salida del STB virtual Ginga-NCL son de 127 Bytes. En la Figura 6.4 se muestra la captura realizada en el lado del servidor de base de datos; donde el tamaño del paquete capturado son de 115 Bytes. Como podemos observar el tamaño del paquete varía de acuerdo al NAT (Network Address Translation, Traslación de Direcciones de Internet) que se encuentra entre el STB virtual Ginga-NCL y el Servidor de Base de Datos. Los NATs modifican el formato de la cabecera del segmento TCP. 127 Análisis de la propuesta para el canal de retorno Figura 6.4 – Captura de paquetes en el servidor La captura de paquetes originados en el lado del Servidor de Base de Datos se muestra en la Figura 6.5. Como se observa, el Servidor devuelve como resultado de la consulta un paquete IP de tamaño de 173 Bytes. Esta respuesta es la estructura de datos generados en el lado del Servidor, correspondiente a los conteos de votos para cada hospital, y finalmente el STB Virtual Ginga-NCL represente en la pantalla del televisor las estadísticas de voto, como resultado de la encuesta realizada. De las capturas realizadas del tráfico generado por la aplicación T-Voting, el tamaño promedio del paquete son de 100 Bytes. Por lo tanto para el análisis de escenarios del canal de retorno con interactividad T-Voting mediante simulaciones, se recomienda configurar a 100 Bytes el tamaño del paquete. 128 Análisis de la propuesta para el canal de retorno Figura 6.5 – Captura de consulta de datos del servidor Captura de tasa de transmisión Para la medición de tasa de transmisión por el aplicativo T-Voting se utilizó el NetLimiter/Wireshark, obteniéndose como resultado, la tasa de transmisión promedio de 5 Kbps, como se muestra en la Figura 6.6. Figura 6.6 – Tasa de transmisión para T-Voting 129 Análisis de la propuesta para el canal de retorno Así también, para el análisis de escenarios del canal de retorno con interactividad T- Voting mediante simulaciones, se recomienda configurar a 5 Kbps la tasa de transmisión. 6.3 Escenario de Simulación de Canal de Retorno Considerando que los lugares con inclusión digital limitada, son considerados los lugares con poca densidad poblacional y/o con una población de bajo ingreso económico; algunos escenarios importantes precisan ser considerados, como las ciudades urbanas pobres, las zonas rurales y las comunidades de los alrededores de Lima-Metropolitana. En este trabajo, para la evaluación de la alternativa tecnológica para el canal de retorno, el escenario elegido fue la comunidad de Santa Clara perteneciente al distrito de Ate. Según el INEI [70], el distrito de Ate cuenta con una población estimada de 478,278 habitantes. En la zona de Santa Clara se observa la carencia de infraestructura de telecomunicaciones para el acceso a la información, la única tecnología de acceso fijo a Internet es el ADSL y la mayoría de la población no cuenta con esta tecnología por el pago mensual del servicio. Lo que se observa también en esta zona existen enlaces inalámbricos con la tecnología WiFi para el acceso a Internet. Los enlaces inalámbricos son básicamente extensiones del servicio de Internet mediante la tecnología ADSL. Para la simulación del canal de retorno en la comunidad de Santa Clara se ha considerado un área de 450x450 m, ubicados los 10 telespectadores (nodos inalámbricos WiFi) en las casas o domicilios, que accederán a los servicios interactivos brindados por la televisión digital terrestre. En la Figura 6.7 se muestra la vista panorámica de la comunidad de Santa Clara, en el cual se simula la ubicación de los telespectadores ubicados en sus domicilios. 130 Análisis de la propuesta para el canal de retorno Figura 6.7 – Vista panorámica de la comunidad Santa Clara - Ate Los flujos de datos generados por cada telespectador ubicado en las casas son de tipo T-Voting y para la evaluación de los indicadores de QoS (rendimiento, retardo, variación de retardo y porcentaje de bloqueo) se adicionan un tráfico VoIP (Voz sobre IP). 6.3.1 Parámetros de simulación Para las simulaciones de los escenarios interactivos con canal de retorno, se han considerado 02 (dos) tipos de tráfico para NS-2: Pareto [71] que caracteriza al comportamiento de la aplicación T-Voting que utiliza como protocolo a nivel de transporte, el TCP (Transmission Control Protocol, Protocolo de Control de Transmisión), con una tasa de transmisión de 5Kbps y tamaño del paquete de 100 Bytes. Se considera adicionalmente el CBR (Constant Bit Rate, Tasa de Bit Constante) que utiliza el protocolo UDP (User Datagram Protocol, Protocolo de Datagrama de Usuario), que caracteriza el comportamiento del servicio de VoIP con CODEC G.711, con una tasa 131 Análisis de la propuesta para el canal de retorno de transmisión de 64Kbps y tamaño de paquete de 160 Bytes. Este tráfico es considerado para la evaluación de los indicadores de QoS de la tecnología de conectividad utilizado como canal de retorno. En la Tabla 6.2 se muestran los detalles de las fuentes de los tráficos utilizados en las simulaciones con el NS-2. Aplicación Tipo de tráfico NS2 Parámetros de simulación Promedio de tiempo activo 50 ms Promedio de tiempo parado 100 ms T-Voting Pareto Tamaño del paquete 100 Bytes Tasa de transmisión 5 Kbps Tamaño del paquete 160 Bytes VoIP CBR Tasa de transmisión 64Kbps Tabla 6.2 – Tipos de fuentes utilizados en el NS-2 Con respecto a los protocolos del nivel de transporte, el Set Top Box con soporte Ginga- NCL para la conexión a través del canal de retorno utiliza la librería tcp.lua. El middleware Ginga-NCL está basado en el sistema operativo Linux. Por lo tanto el protocolo utilizado a nivel de transporte es el TCP NEWRENO. En la tabla 6.3 se muestran los valores de los parámetros de TCP NEWRENO considerados durante la simulación con el NS-2. Agente nivel de Parámetros de simulación transporte Ventana TCP 20 paquetes Límite superior de la ventana de congestión de la conexión TCP 20 paquetes (maxcwnd) Tamaño inicial de la ventana de TCPNewreno congestión slow-start (windowInit) 2 paquetes Tamaño del paquete 100 Bytes Valor actual del umbral de slow-start 5 paquetes (ssthresh) Retransmission de paquetes (tcprexmtthresh) 3 Tabla 6.3 – Parámetros de TCP NEWRENO en NS-2 132 Análisis de la propuesta para el canal de retorno 6.3.2 Simulación: Escenario de canal de retorno WiFi/ADSL La tecnología de conectividad utilizada como canal de retorno son: la tecnología WiFi IEEE 802.11 y el ADSL. Siguiendo el modelo propuesto en el capítulo 4, los elementos de este escenario son: el PCR (Proveedor de Canal de Retorno), 10 RTDI (Receptor de Televisión Digital Interactiva), el PTDT (Proveedor de Televisión Digital Terrestre) y el SAI (Servidor de Aplicaciones Interactivas). En la Figura 6.8 se muestra el escenario interactivo para la simulación respectiva. Figura 6.8 – Topología del escenario interactivo WiFi/ADSL Con respecto al enlace inalámbrico WiFi, se han considerado para la comunidad de Santa Clara el equipo inalámbrico Ubiquiti XR2 que cumple con el estándar IEEE 802.11 a/b/g, recomendable para la cobertura para este escenario. Por lo tanto los parámetros de configuración considerados en base al equipo inalámbrico, para los nodos inalámbricos (RTDI) durante la simulación con el NS-2 se muestran en la Tabla 6.4. 133 Análisis de la propuesta para el canal de retorno Parámetros Valor Potencia 630 mWatts Ganancia de la antena 1.0 Tasa (IEEE 802.11) 2 Mbps Frecuencia 2.4 GHz Modelo de Error (% de perdidas) 0.001 Tabla 6.4 – Detalle de simulación para los nodos inalámbricos (RTDI) Con respecto al enlace alámbrico ADSL, se tiene una tasa o velocidad de acceso de 256Kbps/512Kbps (tráfico de subida/tráfico de bajada), y un retardo de 50 ms considerados para la simulación. En la Figura 6.9 se muestra el escenario de canal de retorno representado en el simulador NS-2 (NAM); donde se observa los nodos inalámbricos RTDI (3, 4, 5, 6, 7, 8, 9, 10, 11 y 12) relacionado a cada telespectador, que están conectados de manera inalámbrica según el estándar IEEE 802.11 al nodo PCR (2); y esto a su vez está conectado físicamente utilizando la tecnología ADSL al nodo SAI (0), que está ubicado detrás del nodo PTDT (1). Figura 6.9 – Topología del escenario interactivo WiFi/ADSL en NS-2 134 Análisis de la propuesta para el canal de retorno Durante las simulaciones con el NS-2 se realizaron variaciones en la generación de los flujos de datos por los nodos de la topología mostrados en la figura anterior; donde se realizaron 10 simulaciones en total. A continuación se detallan los procedimientos de las simulaciones realizadas. A. Determinación de los nodos fuentes (de origen) de tráficos a) Simulación 0: 10 Flujos TCP (T-Voting=Pareto) y ningún Flujo CBR Los nodos que originan los flujos TCP: 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12 No se originan ningún flujo CBR b) Simulación 1: 10 Flujos TCP (T-Voting=Pareto) y 1 Flujo CBR Los nodos que originan los flujos TCP: 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12 El nodo que origina el flujo CBR: 3 c) Simulación 2: 10 Flujos TCP (T-Voting=Pareto) y 2 Flujo CBR Los nodos que originan los flujos TCP: 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12 Los nodos que originan los flujos CBR: 3 y 4 d) Simulación 3: 10 Flujos TCP (T-Voting=Pareto) y 3 Flujo CBR Los nodos que originan los flujos TCP: 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12 Los nodos que originan los flujos CBR: 3, 4 y 5 e) Simulación 4: 10 Flujos TCP (T-Voting=Pareto) y 4 Flujo CBR Los nodos que originan los flujos TCP: 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12 Los nodos que originan los flujos CBR: 3, 4, 5 y 6 135 Análisis de la propuesta para el canal de retorno f) Simulación 5: 10 Flujos TCP (T-Voting=Pareto) y 5 Flujo CBR Los nodos que originan los flujos TCP: 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12 Los nodos que originan los flujos CBR: 3, 4, 5, 6 y 7 g) Simulación 6: 10 Flujos TCP (T-Voting=Pareto) y 6 Flujo CBR Los nodos que originan los flujos TCP: 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12 Los nodos que originan los flujos CBR: 3, 4, 5, 6, 7 y 8 h) Simulación 7: 10 Flujos TCP (T-Voting=Pareto) y 7 Flujo CBR Los nodos que originan los flujos TCP: 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12 Los nodos que originan los flujos CBR: 3, 4, 5, 6, 7, 8 y 9 i) Simulación 8: 10 Flujos TCP (T-Voting=Pareto) y 8 Flujo CBR Los nodos que originan los flujos TCP: 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12 Los nodos que originan los flujos CBR: 3, 4, 5, 6, 7, 8, 9 y 10 j) Simulación 9: 10 Flujos TCP (T-Voting=Pareto) y 9 Flujo CBR Los nodos que originan los flujos TCP: 3, 4, 5, 6, 7, 8, 9, 10, 11 y 12 Los nodos que originan los flujos CBR: 3, 4, 5, 6, 7, 8, 9, 10 y 11 B. Determinación de los nodos destino de los tráficos El nodo 0 (SAI) es el receptor de los flujos originados en los en los nodos transmisores (3, 4, 5, 6, 7, 8, 9, 10, 11 y 12). 136 Análisis de la propuesta para el canal de retorno El tiempo de cada simulación es considerado de 50 segundos y el tamaño del grid (área) utilizado es de 450x450 metros, siendo suficiente para cubrir toda la extensión del escenario propuesto. 6.3.3 Resultados obtenidos de la simulación Rendimiento Este parámetro fue calculado a partir del promedio del rendimiento de los paquetes recibidos por los nodos de destino, en la ecuación 1 se representa Qr.T .8 Rendimiento = [Kbps] (1) Ts.1000 Donde: Qr: Cantidad de paquetes recibidos por el nodo destino T: Tamaño de los paquetes en Bytes Ts: Tiempo de simulación En la Figura 6.10 se muestran los resultados obtenidos con respecto al rendimiento para los flujos T-Voting y CBR en una red WiFi/ADSL como canal de retorno. 137 Análisis de la propuesta para el canal de retorno Figura 6.10 – Gráfico en relación al Rendimiento De la Figura 6.10, el rendimiento para el flujo T-Voting, según el aumento del flujo 6 F (6 flujos CBR originados) disminuye; donde a partir del punto 6 F se genera la saturación del enlace correspondiente a la conexión ADSL. Retardo La evaluación de este parámetro fue calculada a partir del retardo promedio de todos los paquetes enviados por la red, de acuerdo a la siguiente fórmula. Retardo = Tr −Ts[ms] (2) Donde: Tr: tiempo en que el paquete fue recibido Ts: tiempo en que el paquete fue enviado En la Figura 6.11 se muestran los resultados obtenidos con respecto el retardo para los flujos originados T-Voting y CBR en una red WiFi/ADSL como canal de retorno. 138 Análisis de la propuesta para el canal de retorno Figura 6.11 – Gráfico en relación al Retardo De la Figura 6.11 el retardo promedio experimentado para el flujo T-Voting varía ligeramente a 70 ms hasta el aumento del flujo 5 F (5 flujos CBR originados). A partir del aumento hasta el flujo 6 F (6 flujos CBR originados), el retardo aumenta bruscamente hasta llegar a 183 ms. Variación de retardo La variación de retardo para esta simulación aumenta de manera significativo a partir del incremento del flujo 6 F (6 flujos CBR originados). Los altos niveles de retardo y variación de retardo afectan más a las aplicaciones con requisitos rigurosos de QoS, como video y audio que se caracterizan por la transmisión en tiempo real, mas no causan grandes problemas en las aplicaciones interactivas de tipo T-Voting, que son básicamente datos de tipo página Web (texto plano). 139 Análisis de la propuesta para el canal de retorno Porcentaje de bloqueo o pérdida de paquetes Este indicador fue calculada en base a los paquetes que salen de los nodos fuente (los nodos fuentes fueron alterados conforme el aumento de flujos CBR en cada simulación) y son recibidos por el nodo 0 (SAI). Según la siguiente fórmula es calculado el porcentaje de pérdidas de paquetes. Qp % pérdidas = .100[%] (3) Qe Donde: Qp: Cantidad de paquetes perdidos Qe: Cantidad total de paquetes enviados En la Figura 6.12 se muestran los resultados obtenidos con respecto al rendimiento para los flujos T-Voting y CBR en una red WiFi/ADSL como canal de retorno. Figura 6.12 – Gráfico en relación al porcentaje de pérdida de paquetes 140 Análisis de la propuesta para el canal de retorno De la Figura 6.12, antes del aumento del flujo 5 F (5 flujos CBR originados) no existe pérdida de paquetes. A partir del aumento hacia el flujo 6 F (6 flujos CBR originados), el porcentaje de paquetes perdidos para el flujo T-Voting es de 3%; y en el aumento hacia el flujo 7 F (7 flujos CBR originados), el porcentaje de paquetes perdidos para el flujo T- Voting es de 14.04%; en el aumento hacia el flujo 9 F (9 flujos CBR originados), el porcentaje de pérdida de paquetes disminuye de 16% a 15%, esto debido a que el T- Voting usa el protocolo TCP para el control de flujo y retransmisión de datos. 6.4 Consideraciones de WiFi para Canal de Retorno De acuerdo a los estudios realizados en el capítulo 3, la tecnología WiFi es una de las alternativas para ser considerados como canal de retorno; esta tecnología es una propuesta solida para lugares que no cuentan con una infraestructura de telecomunicaciones, como alrededores de Lima-Metropolitana y las zonas rurales. Dentro de la tecnología inalámbrica WiFi, existen dos modos de operación: el modo Ad Hoc y el modo infraestructura que depende de un punto de acceso. Las redes Ad Hoc no necesitan de ninguna infra-estructura pre-instalada. En una red Ad Hoc los nodos se comunican directamente unos con los otros, cooperando para el funcionamiento de la red. Otra característica de las redes Ad Hoc inalámbricas es que cada nodo está limitado la comunicación solamente dentro de su radio de alcance. Es posible establecer redes de múltiplos saltos, donde todos los nodos actúan como ruteadores. Esta alternativa tecnológica para el canal de retorno, es adecuado para escenarios o lugares donde exista alta densidad poblacional; donde los domicilios (hogares de los telespectadores) están físicamente ubicadas de manera continuo. 141 Análisis de la propuesta para el canal de retorno Para escenarios con poca densidad poblacional, como los hogares que están físicamente separadas, se recomienda una red inalámbrica, configurado en modo infraestructura o AP (Access Point). En la Figura 6.13 se muestra el monitoreo de las señales WiFi en los alrededores de Lima-Metropolitana; como se observa se cuenta con promedio de 21 AP que brindan acceso a Internet, esta medida se realizó a una distancia promedio de 1 Km. Figura 6.13 – Gráfico en relación al porcentaje de pérdida de paquetes Para el diseño del enlace inalámbrico entre el nodo PCR y los telespectadores (RTDI) se consideran: la distancia a cubrir, interferencia en la zona, frecuencia de operación y canal de operación; asimismo la capacidad del PCR para soportar la cantidad de usuarios o telespectadores que participarán de la interactividad. Estos criterios variaran de acuerdo a las diferentes zonas o lugares donde se implementará el servicio de la interactividad. Por ejemplo para la implementación del PCR en los alrededores de Lima-Metropolitana se deben considerar 142 Análisis de la propuesta para el canal de retorno la cantidad de AP´s instalados y la frecuencia utilizada en la banda 2.4 GHz; de acuerdo al monitoreo de las señales WiFi en esta zona existe un promedio de 21 AP´s, como se verificó en la Figura 6.13. Por lo tanto para nuestro estudio en la comunidad de Santa Clara, el nodo PCR debe estar implementado con un equipo de 630 mWatts de potencia para una cobertura de 450x450 m. La potencia de los equipos en el PCR variará dependiendo del área que se desea cubrir; así para interconectar mas terminales que participarán en de la sesión de interactividad. En teoría el equipo Ubiquiti XR2 soporta un promedio de 40 telespectadores que participarán de la interactividad. 6.5 Conclusiones Se comprobó el funcionamiento de la interactividad en un escenario inalámbrico (INICTEL-UNI – IMCA) y vía Internet como canal de retorno para la televisión digital terrestre; la interactividad se realizó a través de la aplicación interactiva T-Voting (encuesta de 03 hospitales de EsSalud), donde los números de votos fueron almacenados en un servidor datos remoto. De las pruebas realizadas se deducen que el tamaño de paquete generado por T-Voting es de 100 Bytes y la tasa de transmisión es de 5 Kbps. Estos datos fueron utilizados como insumos durante la simulación con el NS-2. De las simulaciones realizadas utilizando como canal de retorno las tecnologías WiFi/ADSL se observan que son la alternativa con mayor ventaja para ser utilizados en lugares donde se carece de una infraestructura de telecomunicaciones. Asimismo con respecto a la evaluación de los indicadores de QoS, se observa que al aumento de un tráfico adicional en una red de canal de retorno, el rendimiento baja; esto hace que los paquetes de datos del flujo T-Voting (aplicación interactiva) se descarte o existe pérdida de paquetes. Por lo tanto según los resultados obtenidos para el escenario propuesto, se debe 143 Análisis de la propuesta para el canal de retorno adicionar hasta los 5 flujos CBR de 64 Kbps (tasa promedio de 320 Kbps en total), para no interferir a una aplicación interactiva T-Voting durante su transmisión hacia el receptor (SAI). Con respecto a los parámetros de radiofrecuencia del enlace inalámbrico WiFi, no se han realizado variaciones para su evaluación; debido a que en la comunidad de Santa Clara las interferencias originadas por frecuencias ajenas son mínimas; además la distancia entre los nodos inalámbricos y el nodo PCR son relativamente cortos (promedio de 70 m a 100 m). 144 VII. Conclusiones 7.1 Consideraciones iniciales Para la elección de la alternativa tecnológica para el canal de retorno para el Perú, se deben considerar varios aspectos, como: la densidad poblacional, infraestructura, condición socio- económico de la población y los indicadores de QoS (rendimiento, retardo, pérdida y probabilidad de bloqueo o porcentaje de pérdida de paquetes). La tecnología utilizada con mayor frecuencia para el acceso a Internet en el Perú es el ADSL, seguido por la tecnología móvil 3G, CATV y WiFi/WiMAX. Esto nos indica en un principio, que el medio utilizado para el canal de retorno en su mayoría será el ADSL, en conjunto con las tecnologías inalámbricas. Siguiendo la experiencia Brasileña, se propone un modelo para el canal de retorno para el Perú, partiendo desde de la premisa que el canal de retorno para la televisión digital terrestre será vía Internet. El modelo de la propuesta para el canal de retorno, está formado por varios componentes: PTdT (Proveedor de Televisión Digital Terrestre), SAI (Servidor de Aplicaciones Interactivas), PCR (Proveedor de Canal de Retorno) y RTDI (Receptor de Televisión Digital Interactiva). Donde cada componente es fundamental, para proveer interactividad al telespectador. 145 Conclusiones La aplicación T-Voting, “Encuesta de 03 hospitales de EsSalud” permite validar escenarios de interactividad con canal de retorno para la televisión digital terrestre. Esta aplicación T-Voting se desarrolló utilizando el lenguaje NCL y Lua, bajo el estándar middleware Ginga-NCL; y fue implementado para las pruebas en un Set Top Box con soporte Ginga-NCL. Las pruebas de interactividad de tipo T-Voting se realizaron considerando dos escenarios como canal de retorno, a través del enlace inalámbrico INICTEL-IMCA y vía Internet; donde se comprobó el funcionamiento de interactividad mediante un televisor convencional conectado a un Set Top Box, sintonizando la señal digital, bajo el estándar ISDB-T. Es oportuno indicar que las pruebas realizadas de interactividad con canal de retorno, es el primero en el Perú. La evaluación de la alternativa tecnológica para el canal de retorno se realizó en una comunidad de alrededores de Lima-Metropolitana. En esta zona existe la carencia de infraestructura de telecomunicaciones para el acceso a la información, la única tecnología de acceso fijo a Internet de manera limitada es el ADSL. Lo que se observa también en esta zona existe una demanda de enlaces inalámbricos con tecnología WiFi para el acceso a Internet. Para la simulación se consideraron 10 telespectadores (RTDI) conectados al nodo PCR, como nodos inalámbricos WiFi. Donde se observaron que el aumento de un tráfico adicional en una red de canal de retorno, afecta el rendimiento de la red, como consecuencia genera la pérdida de paquetes y mayor retardo para el flujo T-Voting. Por lo tanto para este escenario propuesto, se debe adicionar hasta 5 flujos CBR de 64 Kbps (tasa promedio de 320 Kbps en total), para no interferir a la aplicación interactiva T-Voting durante su transmisión hacia el servidor (SAI). 146 Conclusiones 7.2 Contribuciones de trabajo Durante el desarrollo de esta tesis de Maestría, diversas contribuciones fueron realizadas. A continuación se mencionan las principales contribuciones. a) Propuesta de modelo de canal de retorno para la televisión digital terrestre en el Perú. Donde se realizaron simulaciones de escenarios, utilizando como canal de retorno el ADSL y WiFi; logrando analizar el rendimiento, retardo, variación de retardo y porcentaje de pérdida de paquetes. Asimismo se analizaron el envío de paquetes TS, originados por el servidor SAI mediante un proceso de carrusel de datos a través del protocolo DSM-CC. b) Se desarrollo una aplicación T-Voting “Encuesta de 03 hospitales de EsSalud”, siguiendo el estándar del middleware Ginga-NCL y Lua. Es oportuno mencionar que es el primer aplicativo interactivo en el Perú, probada en un escenario inalámbrico Pre-WiMAX e Internet, como canal de retorno. c) Divulgación de los resultados obtenidos en diversos eventos nacionales e internaciones; de esta manera incentivar en la investigación en temas relacionados al canal de retorno para TdT. 7.3 Artículos aceptados y conferencias Diversos resultados parciales relacionados a esta Maestría fueron submetidos en eventos nacionales e internaciones. Asimismo las conferencias realizadas en diversos eventos. A continuación se mencionan las principales publicaciones y conferencias realizadas como resultados de las investigaciones durante el desarrollo de la tesis. 147 Conclusiones Año Título Evento/Universidad Observaciones Análisis del Canal de Retorno Brazilian Technology para la Televisión Digital Symposium/ BTS – Aceptado/ 2010 Interactiva utilizando la Clase UNICAMP-Brasil Presentado TCP-Lua • Universidad Nacional Mayor de San Marcos • Universidad Nacional de Callao Interactividad con Canal de • Universidad Nacional Retorno para la Televisión Tecnológica del Cono Sur 2010 Digital Terrestre (TdT) de Lima Conferencias • Universidad Privada Antenor Orrego • Instituto Superior Tecnológico Gilda Ballivian 7.4 Trabajos futuros Durante el desarrollo de la tesis, sea originado nuevos temas de investigación con respecto al canal de retorno para la televisión digital terrestre en el Perú. Entre ellas podemos indicar las simulaciones a gran escala de tecnologías de conectividad, como: WiMAX, VSAT, PLC y entre otros. Asimismo desarrollar una aplicación interactiva para reserva de una cita médica por televisión. Para el desarrollo de este aplicativo se debe tomar como base el código fuente de la aplicación T- Voting. Para ello se reutilizará el script desarrollado en NCLua, y la librería tcp.lua. 148 Conclusiones 7.5 Consideraciones finales Con la tesis presentada contribuimos en el desarrollo de la televisión digital terrestre en el Perú. Donde se propone el modelo de interactividad, utilizando como canal de retorno el ADSL y WiFi. Asimismo con esta tesis incentivamos a las universidades, centros de investigación y entre otros, realizar I+D, para mitigar la brecha digital y incrementar la inclusión digital “gracias” a las bondades de la tecnología adoptada para la televisión digital terrestre en el Perú. 149 Referencias [1] Ministerio de Transportes y Comunicaciones (MTC), Resolución Suprema N° 019-2009- MTC. http://www.mtc.gob.pe/portal/tdt/Documentos/RS019_2009_MTC.pdf, último acceso agosto de 2010. [2] ABNT NBR 15601, Televisión digital terrestre — Sistema de transmisión. Noviembre 2007. [3] Página Oficial de estándar Advanced Television System Committee – ATSC, http://www.atsc.org/cms/. último acceso noviembre 2010. [4] Página oficial de estándar Digital Video Broadcasting-Terrestrial – DVB-T, http://www.dvb.org/technology/dvbt2/. último acceso noviembre 2010. [5] Pagina de información del estándar Digital Terrestrial Multimedia Broadcasting – DMB. http://www.worldlingo.com/ma/enwiki/es/DMB-T%252FH [6] Página oficial de Ginga-NCL. http://www.gingancl.org.br/. ABNT NBR 15606-2, Digital terrestrial television – Data coding and transmission specification for digital broadcasting – Part 2: Ginga-NCL for fixed and mobile receivers – XML application language for application coding. Noviembre 2007. [7] Instalador de Composer v 2.2.1. http://www.ncl.org.br/ferramentas/composer_v2.2.1_win_setup.exe. Último acceso noviembre 2010. [8] Página principal de IDE Eclipse. http://www.eclipse.org/. Último acceso noviembre 2010. [9] Plugin NCL Eclipse. http://laws.deinf.ufma.br/~ncleclipse/. Último acceso noviembre 2010. [10] Plugin Lua NCL. http://luaeclipse.luaforge.net/. Último acceso noviembre 2010. [11] The Network Simulator - ns-2. http://www.isi.edu/nsnam/ns/. Último acceso noviembre 2010. [12] ITU-T Recommendation H.264 & ISO/IEC 14496-10 (MPEG-4) AVC, "Advanced Video Coding for Generic Audiovisual Services", (version 1:2003, versions 2: 2004) version 3: 2005. [13] Fondo de Inversión en Telecomunicaciones – FITEL. http://www.fitel.gob.pe/. Último acceso noviembre 2010. [14] Telecentros Rurales. http://www.telecentros.pe/. Último acceso noviembre 2010. 150 Referencias [15] Ministerio de Transportes y Comunicaciones (MTC), Resolución Suprema N° 019-2009- MTC. http://www.mtc.gob.pe/portal/tdt/Documentos/RS019_2009_MTC.pdf, último acceso agosto de 2010. [16] ABNT NBR 15601, Televisión digital terrestre — Sistema de transmisión. Noviembre 2007. [17] Página Oficial de estándar Advanced Television System Committee – ATSC, http://www.atsc.org/cms/. último acceso noviembre 2010. [18] Página oficial de estándar Digital Video Broadcasting-Terrestrial – DVB-T, http://www.dvb.org/technology/dvbt2/. último acceso noviembre 2010. [19] Pagina de información del estándar Digital Terrestrial Multimedia Broadcasting – DMB. http://www.worldlingo.com/ma/enwiki/es/DMB-T%252FH [20] Página oficial de Ginga-NCL. http://www.gingancl.org.br/. ABNT NBR 15606-2, Digital terrestrial television – Data coding and transmission specification for digital broadcasting – Part 2: Ginga-NCL for fixed and mobile receivers – XML application language for application coding. Noviembre 2007. [21] Instalador de Composer v 2.2.1. http://www.ncl.org.br/ferramentas/composer_v2.2.1_win_setup.exe. Último acceso noviembre 2010. [22] Página principal de IDE Eclipse. http://www.eclipse.org/. Último acceso noviembre 2010. [23] Plugin NCL Eclipse. http://laws.deinf.ufma.br/~ncleclipse/. Último acceso noviembre 2010. [24] Plugin Lua NCL. http://luaeclipse.luaforge.net/. Último acceso noviembre 2010. [25] The Network Simulator - ns-2. http://www.isi.edu/nsnam/ns/. Último acceso noviembre 2010. [26] ITU-T Recommendation H.264 & ISO/IEC 14496-10 (MPEG-4) AVC, "Advanced Video Coding for Generic Audiovisual Services", (version 1:2003, versions 2: 2004) version 3: 2005. [27] Fondo de Inversión en Telecomunicaciones – FITEL. http://www.fitel.gob.pe/. Último acceso noviembre 2010. [28] Telecentros Rurales. http://www.telecentros.pe/. Último acceso noviembre 2010. [29] ETSI TS 101 154:2007, Digital Video Broadcasting (DVB); Implementation guidelines for the use of Video and Audio Coding in Broadcasting Applications based on the MPEG-2 Transport Stream [30] Página oficial de Ginga-J. http://www.lavid.ufpb.br/. último acceso agosto 2010. 151 Referencias [31] CYBIS, W.; BETIOL, A. H.; FAUST, R. Ergonomia e Usabilidade - Conhecimentos, Métodos e Aplicações. Editora Novatec. 344 páginas. ISBN: 978-85-7522-138-9. 2007. [32] INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. Coding of Moving Pictures and Associated Audio-MPEG-2Systems, 2000. ISO/IEC13818-1. [33] Dolby Digital, Technology. Disponíble en http://www.dolby.com. Último acceso noviembre 2010. [34] Asociación Brasileira de Normas Técnicas – ABNT. http://www.forumsbtvd.org.br/materias.asp?id=112, Último acceso noviembre 2010. [35] Países que adoptaron el estándar ISDB-T. http://es.wikipedia.org/wiki/ISDB-T, Último acceso noviembre 2010 [36] ABNT NBR 15602-1, 2 y 3, Televisión digital terrestre — Codificación de video, audio y multiplexación. Noviembre 2007. [37] ABNT NBR 15603-1,2 y 3, Televisión digital terrestre — Multiplexación y servicios de información (SI). Noviembre 2007. [38] Walter Fishcer. Tecnologías para la Radiodifusión Digital de Video y Audio, 2008 [39] ABNT NBR 15601, Televisión Digital Terrestre — Sistema de transmisión. Noviembre 2007. [40] Rodrigues, A.; Gomes, R.. Modulação COFDM – Uma proposta atrativa para os padrões de TV Digital. [41] ABNT NBR 15604, Televisión digital terrestre — Receptores. Noviembre 2007. [42] Luis Diego Castro Murillo. “Sistemas de Transmisión de Televisión Digital Propuesta para Costa Rica”. Universidad de Costa Rica. Diembre 2004 [43] Revista da SET Sociedad Brasileira de Ingeniería de Televisión. Abril 2009. [44] Middleware Ginga. http://www.ginga.org.br/, Último acceso noviembre 2010 [45] Middleware Americano DASE (DTV Application Software Environment) – ATSC Standard A/100, 2003 [46] Middleware Europeo MHP (Multimedia Home Platform) para la estándar DVB-T. http://www.mhp.org/, último acceso noviembre 2010 [47] Middleware Japonés, ARIB Standard b-24 Data Coding and Transmission Specifications for Digital Broadcasting, version 1.0, 2004 [48] Antonio Carlos Albuquerque de Oliveira, Joao Paulo Lopes de Lacerda. A Tv Digital No Brasil e o Desenvolvimento de Aplicacoes Interativas para o Middleware Ginga. Departamento de Computación y Ciencias de la Computación Universidad Federal de Sergipe 152 Referencias [49] Plan Maestro para la Implementación de la Televisión Digital Terrestre en el Perú. http://tvdigitalperu.mtc.gob.pe/index7.html. Último acceso noviembre 2010. [50] Legislación: Decreto Supremo, Resolución sobre TdT. http://tvdigitalperu.mtc.gob.pe/index3.html. Último acceso noviembre 2010. [51] 15 universidades sudamericanas inician Red de I+D en software para TV Digital. http://comunidad.ginga.org.ar/?q=node/20. Último acceso noviembre 2010. [52] Ministerio de Transportes y Comunicaciones-MTC. Estadísticas de servicios públicos de telecomunicaciones a nivel nacional estadísticas de servicios públicos de telecomunicaciones a nivel nacional, 2009 [53] COMPUTAÇÃO Brasil. Um olhar para a TV digital. Porto Alegre: Sociedade Brasileira de Computação, Ano VI, n. 17. Março 2005. 16 p. [54] Indicadores del Servicio Telefónico. Líneas instaladas por departamento http://www.osiptel.gob.pe/WebSiteAjax/WebFormGeneral/sector/wfrm_Consulta_Inform acion_Estadisticas.aspx?CodInfo=13479&CodSubCat=864&TituloInformacion=2.%20In dicadores%20del%20Servicio%20Telef%C3%B3nico%20Fijo&DescripcionInformacion =, último acceso agosto 2010. [55] Comisión Multisectorial Temporal encargada de elaborar el “Plan Nacional para el Desarrollo de la banda ancha en el Perú”. Informe N° 01 Diagnóstico sobre el Desarrollo de la Banda Ancha en el Perú. Julio 2010. [56] Indicadores de Internet. Número de suscriptores según tecnología de acceso y tipo de suscriptor. http://www.osiptel.gob.pe/WebSiteAjax/WebFormGeneral/sector/wfrm_Consulta_Inform acion_Estadisticas.aspx?CodInfo=13475&CodSubCat=864&TituloInformacion=6.%20In dicadores%20de%20Internet&DescripcionInformacion=, último acceso agosto 2010. [57] WiMAX (Worldwide Interoperability for Microwave Access. http://www.wimaxforum.org/. Último acceso noviembre 2010. [58] Mapa WiFi Lima Perú: http://wifi.index.com.pe/home/mapas-wifi/peru/lima, último acceso setiembre 2010 [59] Miguel Elías M. Campista, Aurelio AmodeiJr. The Ad Hoc Return Channel: A Low- Cost Solution for Brazilian Interactive Digital TV. Enero de 2007 [60] Andrè Barbosa Filho, Luìs Gerardo P. Meloni. “TV Digital Interativa na Era Convergente das Comunicações Sem Fio”. XXXII Congresso Brasileiro de Ciências da Comunicação – Curitiba, PR – 4 a 7 de setembro de 2009. [61] Power Line Communications. http://www.powerlinecommunications.net/. Último acceso noviembre 2010. [62] ABNT NBR 15607-1, Televisión digital terrestre – Canal de interactividad Parte 1: Protocolos, interfaces físicas e interfaces de software. Disponible en internet en: 153 Referencias http://www.dtv.org.br/download/pt-br/ABNTNBR15607_2D1_2008Ed1.pdf, último acceso: abril del 2010. [63] Aurelio Amodei Jr. “The Ad Hoc Return Channel: A Low-Cost Solution for Brazilian Interactive Digital TV”, 2007. Universidade Federal do Rio de Janeiro. [64] Fabricio B.S. de Carvalho. “On the use of Power Line Communications to Transmit the Return Channel for Digital Television”, 2006. Universidad Federal de Campina Grande Tavel, P. 2007. Modeling and Simulation Design. AK Peters Ltd., Natick, MA. [65] Mauro Margalho. “Canal de Retorno com Interatividade Condicionada por Mecanismo de Sinalização Contínua e Provisionamento de Banda Orientado a QoS”, 2006. Universidade Federal do Pará [66] Anna Verónica. “Uso de redes Mesh como soloção para o canal de retorno da Tv Digital Interactiva, 2007. Universidade Federal Fluminense. [67] Instituto Nacional de Estadísticas e Informática del Perú (INEI). Informe Técnico Nro 02 Junio 2010, “Las Tecnologías de Información y Comunicación en los Hogares”. [68] Mauro Margalho. “Canal de Retorno com Interatividade Condicionada por Mecanismo de Sinalização Contínua e Provisionamento de Banda Orientado a QoS”. Universidade Federal do Pará. Belém 2006. [69] ISO (1998). ISO/IEC 13818-6. Information technology – Generic coding of moving pictures and associated audio information - Part 6: Extensions for DSM-CC. [70] ABNT NBR 15606-3, Televisión digital terrestre – Codificación de datos y especificaciones de transmisión para radiodifusión digital Parte 3: Especificación de transmisión de datos. Noviembre 2007. [71] National Television System Committee – NTSC. http://es.wikipedia.org/wiki/NTSC, último acceso noviembre de 2010. [72] Página Set Top Box + Ginga-NCL. http://www.rcasoft.com.br/. Último acceso noviembre 2010. [73] Marcio Ferreira Moreno. “Um Middleware Declarativo para Sistemas de TV Digital Interativa”. PUC-Rio. Rio de Janeiro 2006 [74] Ginga-NCL Emulator. http://www.ncl.org.br/ferramentas/ginga- ncl_emulator_v1.1.1_win_setup.exe. Último acceso noviembre 2010. [75] Ginga NCL Virtual STB. http://www.ncl.org.br/ferramentas/fedora-fc7-ginga-i386.zip. Último acceso noviembre 2010. [76] Herramienta de Modelamiento StarUML. http://staruml.sourceforge.net/en/. Último acceso noviembre 2010. 154 Referencias [77] Turorial sobre la interface de conexión para base de datos en Lua. http://www.keplerproject.org/luasql/, último acceso noviembre 2010. [78] Diego Nehab. Tutorial LuaSocket. Disponible en internet en: http://w3.impa.br/~diego/software/luasocket/, último acceso noviembre 2010. [79] Motor de Base de Datos MySQL. http://www.mysql.com/, último acceso noviembre 2010. [80] Lenguaje script PHP. http://www.php.net/, último acceso noviembre 2010. [81] Instituto de Matemáticas y Ciencias Afines – IMCA. http://www.imca.edu.pe/sitio/index.php. Último acceso noviembre 2010. [82] Analizador de protocolos Wireshark. http://www.wireshark.org/. Último acceso noviembre 2010. [83] Monitor de ancho de banda. http://www.netlimiter.com/. Último acceso noviembre 2010. [84] Instituto Nacional de Estadística e Informática – INEI. http://proyectos.inei.gob.pe/mapas/bid/. Último acceso noviembre 2010. [85] Worceter Polytechnic Institute-WPI, Computer Science. Mini-HOWTO: Pareto On/Off Traffic Generator. Último acceso noviembre 2010. 155 Anexo A: Script de Simulación NS-2 A. Código TCL: Canal de retorno WiFi/ADSL Archivo: canal_retorno_wifi-adsl.tcl ###################################################################################### ######### #UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS-UNMSM #------------------------------------------------------------------------------------- --------- #TESIS DE MAESTRIA: Analisis y Modelamiento de la Tecnicas de Canal de Retorno e Interactividad # para el estandar de Television Digital Terrestre ISDB-T #------------------------------------------------------------------------------------- --------- #AUTOR: Ing. Ronald Paucar Curasma (rpaucar@inictel-uni.edu.pe) #------------------------------------------------------------------------------------- --------- #ASESOR: Msc. Ing. JOSE LUIS MUNOZ MEZA (jlmunoz@osiptel.gob.pe) ###################################################################################### ######### # PCR: Proveedor de Canal de Retorno # RTDI: Receptor de Television Digital Interactivo # PTDT: Proveedor de Television Digital Terrestre # SAI: Servidor de Aplicaciones Interactivas # SIMULACION DE CANAL DE RETORNO WIFI + ADSL # ++++++++++++++++++++++++++++++++++++++++++ global opt set opt(chan) Channel/WirelessChannel ;# Tipo de canal set opt(prop) Propagation/TwoRayGround ;# Modelo radio-propagation set opt(netif) Phy/WirelessPhy ;# Tipo de interface de red 156 Anexo A set opt(mac) Mac/802_11 ;# Tipo de MAC set opt(ifq) Queue/DropTail/PriQueue ;# Tipo de cola FIFO set opt(ll) LL ;# Tipp capa de enlace LL set opt(ant) Antenna/OmniAntenna ;# Modelo de antena set opt(x) 450 ;# x coordinadas de la topologia set opt(y) 450 ;# y coordinadas de la topologia set opt(ifqlen) 50 ;# Maximo Nro de paquetes en cola set opt(tr) wtrace.tr ;# Archivo de trazo set opt(namtr) out.nam ;# Archivo de animacion set opt(nn) 10 ;# numero de nodos inalambricos (moviles) set opt(adhocRouting) DSDV ;# protocolo de enrutamiento set opt(cp) "" set opt(sc) "../mobility/scene/scen-3-test" set opt(stop) 50 ;# tiempo de parada de simulacion set opt(inicio_sim) 1 ;# inicio de simulacion set num_wired_nodes 2 ;# nodos fijos correspondiente a PTdT y SAI set num_bs_nodes 1 ;# Punto de acceso inalambrico (PCR) # Parametros de nodos inalambricos set velocidad 2M Phy/WirelessPhy set bandwidth_ $velocidad Phy/WirelessPhy set rate_cbr_ $velocidad Phy/WirelessPhy set Pt_ 0.63 Phy/WirelessPhy set freq_ 2.4e9 Mac/802_11 set dataRate_ $velocidad Mac/802_11 set basicRate_ $velocidad Mac/802_11 set RTSThreshold_ 3000 Mac/802_11 set PreambleLength_ 72 Antenna/OmniAntenna set Gt_ 1.0 Antenna/OmniAntenna set Gr_ 1.0 # El modelo de propagacion es Shadowing model Propagation/Shadowing set pathlossExp_ 4 Propagation/Shadowing set std_db_ 0 set ns_ [new Simulator] # Definicion de los colores para identificar los flujos de datos $ns_ color 1 blue $ns_ color 2 red $ns_ color 3 yellow $ns_ color 4 green $ns_ color 5 black $ns_ color 6 pink $ns_ color 7 white $ns_ color 8 magenta $ns_ color 9 orange $ns_ color 10 violet # Arquitectura de enrutamiento en modo infraestructura $ns_ node-config -addressType hierarchical AddrParams set domain_num_ 2 ;# nº de dominios: uno para los inalambricos y otro para los cableados lappend cluster_num 2 1 ;# nº de clusters en cada dominio: 2 en el 1º y 1 en el 2º, un total de 3 clusters $ AddrParams set cluster_num_ $cluster_num lappend eilastlevel 1 1 11 ;#nº de nodos en cada cluster: 1 nodo en los 2 primeros y 2 en el 3º AddrParams set nodes_num_ $eilastlevel # generar trazos set tracefd [open $opt(tr) w] $ns_ trace-all $tracefd $ns_ use-newtrace set namtracefd [open $opt(namtr) w] 157 Anexo A #$ns_ namtrace-all-wireless $namtracefd 450 450 $ns_ namtrace-all $namtracefd # Creamos el objeto Topologia con las dimensiones set topo [new Topography] $topo load_flatgrid $opt(x) $opt(y) # GOD (General Operations Director) almacena el numero total de nodos moviles (nn) y nodo BS create-god [expr $opt(nn) + $num_bs_nodes] # creacion de nodos cableados (PTDT y SAI) set temp {0.0.0 0.1.0} for {set i 0} {$i < $num_wired_nodes} {incr i} { set W($i) [$ns_ node [lindex $temp $i]] } # Modelo de error en redes wireless set err [new ErrorModel] $err unit pkt_ $err set rate_ 0.001 $err ranvar [new RandomVariable/Uniform] $err drop-target [new Agent/Null] # Configuracion de los nodos (RTDI) $ns_ node-config -adhocRouting $opt(adhocRouting) \ -llType $opt(ll) \ -macType $opt(mac) \ -ifqType $opt(ifq) \ -ifqLen $opt(ifqlen) \ -antType $opt(ant) \ -propInstance [new $opt(prop)] \ -phyType $opt(netif) \ -channel [new $opt(chan)] \ -topoInstance $topo \ -wiredRouting ON \ -agentTrace ON \ -routerTrace OFF \ -macTrace OFF \ ;#-incomingErrProc $err \ -outgoingErrProc $err set temp {1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.0.10} set BS(0) [$ns_ node [lindex $temp 0]] $BS(0) random-motion 0 $BS(0) set X_ 97.2 $BS(0) set Y_ 56.1 $BS(0) set Z_ 0.0 # Creacion de nodos inalambricos (RTDI) $ns_ node-config -wiredRouting OFF for {set j 0} {$j < $opt(nn)} {incr j} { set node_($j) [ $ns_ node [lindex $temp \ [expr $j+1]] ] $node_($j) base-station [AddrParams addr2id [$BS(0) node-addr]] $node_($j) random-motion 0 } # Ubicacion de los nodos $node_(0) set X_ 95.5 $node_(0) set Y_ 88.9 $node_(0) set Z_ 0.0 $node_(1) set X_ 59.9 $node_(1) set Y_ 48.3 158 Anexo A $node_(1) set Z_ 0.0 $node_(2) set X_ 19.3 $node_(2) set Y_ 30.2 $node_(2) set Z_ 0.0 $node_(3) set X_ 20.8 $node_(3) set Y_ 64.0 $node_(3) set Z_ 0.0 $node_(4) set X_ 34.9 $node_(4) set Y_ 95.4 $node_(4) set Z_ 0.0 $node_(5) set X_ 66.0 $node_(5) set Y_ 99.1 $node_(5) set Z_ 0.0 $node_(6) set X_ 34.9 $node_(6) set Y_ 11.6 $node_(6) set Z_ 0.0 $node_(7) set X_ 71.7 $node_(7) set Y_ 0.7 $node_(7) set Z_ 0.0 $node_(8) set X_ 99.4 $node_(8) set Y_ 17.3 $node_(8) set Z_ 0.0 $node_(9) set X_ 125.7 $node_(9) set Y_ 37.4 $node_(9) set Z_ 0.0 #Red LAN conexion al SAI (10Mb) $ns_ duplex-link $W(0) $W(1) 10Mb 10ms DropTail #Enlace ADSL Proveedor de Canal de Retorno 1Mb/512Kb (trafico T-Voting=20Kbps) $ns_ simplex-link $W(1) $BS(0) 1Mb 50ms DropTail $ns_ simplex-link $BS(0) $W(1) 512Kb 50ms DropTail #Orientacion para el diseno de la topologia en el NAM (opcional) $ns_ simplex-link-op $BS(0) $W(1) orient right-up $ns_ simplex-link-op $W(1) $W(0) orient right # Definiendo la etiqueta $ns_ at 0.0 "$BS(0) label PCR" $ns_ at 0.0 "$node_(1) label RTDI" $ns_ at 0.0 "$W(1) label PTDT" $ns_ at 0.0 "$W(0) label SAI" #Trafico T-Voting, cada telespectador genera 5Kb/s, En nodo PCR brinda acceso a 10 telespectadores (RTDI) #TCP1 set tcp1 [new Agent/TCP/Newreno] $ns_ attach-agent $node_(0) $tcp1 $tcp1 set fid_ 1 $tcp1 set class_ 1 $tcp1 set window_ 20 $tcp1 set maxcwnd_ 20 ;# maximo valor de ventana de congestion en bytes $tcp1 set windowInit_ 2 ;# tamano inicial para la ventana de congestion sobre slow- star $tcp1 set packetSize_ 100 ;# tamao del paquete promedio 100 bytes $tcp1 set ssthresh_ 5 $tcp1 set tcpprexmtthresh_ 3 159 Anexo A set sink1 [new Agent/TCPSink] $ns_ attach-agent $W(0) $sink1 $ns_ connect $tcp1 $sink1 set tvoting1 [new Application/Traffic/Pareto] $tvoting1 attach-agent $tcp1 $tvoting1 set burst_time_ 50ms $tvoting1 set idle_time_ 100ms $tvoting1 set rate_ 5Kb $tvoting1 set shape_ 1.5 $ns_ at $opt(inicio_sim) "$tvoting1 start" #TCP2 set tcp2 [new Agent/TCP/Newreno] $ns_ attach-agent $node_(1) $tcp2 $tcp2 set fid_ 2 $tcp2 set class_ 2 $tcp2 set window_ 20 $tcp2 set maxcwnd_ 20 ;# maximo valor de ventana de congestion en bytes $tcp2 set windowInit_ 2 ;# tamano inicial para la ventana de congestion sobre slow-star $tcp2 set packetSize_ 100 ;# tamao del paquete promedio 100 bytes $tcp2 set ssthresh_ 5 $tcp2 set tcpprexmtthresh_ 3 set sink2 [new Agent/TCPSink] $ns_ attach-agent $W(0) $sink2 $ns_ connect $tcp2 $sink2 set tvoting2 [new Application/Traffic/Pareto] $tvoting2 attach-agent $tcp2 $tvoting2 set burst_time_ 50ms $tvoting2 set idle_time_ 100ms $tvoting2 set rate_ 5Kb $tvoting2 set shape_ 1.5 $ns_ at $opt(inicio_sim) "$tvoting2 start" #TCP3 set tcp3 [new Agent/TCP/Newreno] $ns_ attach-agent $node_(2) $tcp3 $tcp3 set fid_ 3 $tcp3 set class_ 3 $tcp3 set window_ 20 $tcp3 set maxcwnd_ 20 ;# maximo valor de ventana de congestion en bytes $tcp3 set windowInit_ 2 ;# tamano inicial para la ventana de congestion sobre slow-star $tcp3 set packetSize_ 100 ;# tamao del paquete promedio 100 bytes $tcp3 set ssthresh_ 5 $tcp3 set tcpprexmtthresh_ 3 set sink3 [new Agent/TCPSink] $ns_ attach-agent $W(0) $sink3 $ns_ connect $tcp3 $sink3 set tvoting3 [new Application/Traffic/Pareto] $tvoting3 attach-agent $tcp3 $tvoting3 set burst_time_ 50ms $tvoting3 set idle_time_ 100ms $tvoting3 set rate_ 5Kb $tvoting3 set shape_ 1.5 $ns_ at $opt(inicio_sim) "$tvoting3 start" #TCP4 set tcp4 [new Agent/TCP/Newreno] $ns_ attach-agent $node_(3) $tcp4 $tcp4 set fid_ 4 $tcp4 set class_ 4 $tcp4 set window_ 20 $tcp4 set maxcwnd_ 20 ;# maximo valor de ventana de congestion en bytes 160 Anexo A $tcp4 set windowInit_ 2 ;# tamano inicial para la ventana de congestion sobre slow-star $tcp4 set packetSize_ 100 ;# tamao del paquete promedio 100 bytes $tcp4 set ssthresh_ 5 $tcp4 set tcpprexmtthresh_ 3 set sink4 [new Agent/TCPSink] $ns_ attach-agent $W(0) $sink4 $ns_ connect $tcp4 $sink4 set tvoting4 [new Application/Traffic/Pareto] $tvoting4 attach-agent $tcp4 $tvoting4 set burst_time_ 50ms $tvoting4 set idle_time_ 100ms $tvoting4 set rate_ 5Kb $tvoting4 set shape_ 1.5 $ns_ at $opt(inicio_sim) "$tvoting4 start" #TCP5 set tcp5 [new Agent/TCP/Newreno] $ns_ attach-agent $node_(4) $tcp5 $tcp5 set fid_ 5 $tcp5 set class_ 5 $tcp5 set window_ 20 $tcp5 set maxcwnd_ 20 ;# maximo valor de ventana de congestion en bytes $tcp5 set windowInit_ 2 ;# tamano inicial para la ventana de congestion sobre slow-star $tcp5 set packetSize_ 100 ;# tamao del paquete promedio 100 bytes $tcp5 set ssthresh_ 5 $tcp5 set tcpprexmtthresh_ 3 set sink5 [new Agent/TCPSink] $ns_ attach-agent $W(0) $sink5 $ns_ connect $tcp5 $sink5 set tvoting5 [new Application/Traffic/Pareto] $tvoting5 attach-agent $tcp5 $tvoting5 set burst_time_ 50ms $tvoting5 set idle_time_ 100ms $tvoting5 set rate_ 5Kb $tvoting5 set shape_ 1.5 $ns_ at $opt(inicio_sim) "$tvoting5 start" #TCP6 set tcp6 [new Agent/TCP/Newreno] $ns_ attach-agent $node_(5) $tcp6 $tcp6 set fid_ 6 $tcp6 set class_ 6 $tcp6 set window_ 20 $tcp6 set maxcwnd_ 20 ;# maximo valor de ventana de congestion en bytes $tcp6 set windowInit_ 2 ;# tamano inicial para la ventana de congestion sobre slow-star $tcp6 set packetSize_ 100 ;# tamao del paquete promedio 100 bytes $tcp6 set ssthresh_ 5 $tcp6 set tcpprexmtthresh_ 3 set sink6 [new Agent/TCPSink] $ns_ attach-agent $W(0) $sink6 $ns_ connect $tcp6 $sink6 set tvoting6 [new Application/Traffic/Pareto] $tvoting6 attach-agent $tcp6 $tvoting6 set burst_time_ 50ms $tvoting6 set idle_time_ 100ms $tvoting6 set rate_ 5Kb $tvoting6 set shape_ 1.5 $ns_ at $opt(inicio_sim) "$tvoting6 start" #TCP7 set tcp7 [new Agent/TCP/Newreno] 161 Anexo A $ns_ attach-agent $node_(6) $tcp7 $tcp7 set fid_ 7 $tcp7 set class_ 7 $tcp7 set window_ 20 $tcp7 set maxcwnd_ 20 ;# maximo valor de ventana de congestion en bytes $tcp7 set windowInit_ 2 ;# tamano inicial para la ventana de congestion sobre slow-star $tcp7 set packetSize_ 100 ;# tamao del paquete promedio 100 bytes $tcp7 set ssthresh_ 5 $tcp7 set tcpprexmtthresh_ 3 set sink7 [new Agent/TCPSink] $ns_ attach-agent $W(0) $sink7 $ns_ connect $tcp7 $sink7 set tvoting7 [new Application/Traffic/Pareto] $tvoting7 attach-agent $tcp7 $tvoting7 set burst_time_ 50ms $tvoting7 set idle_time_ 100ms $tvoting7 set rate_ 5Kb $tvoting7 set shape_ 1.5 $ns_ at $opt(inicio_sim) "$tvoting7 start" #TCP8 set tcp8 [new Agent/TCP/Newreno] $ns_ attach-agent $node_(7) $tcp8 $tcp8 set fid_ 8 $tcp8 set class_ 8 $tcp8 set window_ 20 $tcp8 set maxcwnd_ 20 ;# maximo valor de ventana de congestion en bytes $tcp8 set windowInit_ 2 ;# tamano inicial para la ventana de congestion sobre slow-star $tcp8 set packetSize_ 100 ;# tamao del paquete promedio 100 bytes $tcp8 set ssthresh_ 5 $tcp8 set tcpprexmtthresh_ 3 set sink8 [new Agent/TCPSink] $ns_ attach-agent $W(0) $sink8 $ns_ connect $tcp8 $sink8 set tvoting8 [new Application/Traffic/Pareto] $tvoting8 attach-agent $tcp8 $tvoting8 set burst_time_ 50ms $tvoting8 set idle_time_ 100ms $tvoting8 set rate_ 5Kb $tvoting7 set shape_ 1.5 $ns_ at $opt(inicio_sim) "$tvoting8 start" #TCP9 set tcp9 [new Agent/TCP/Newreno] $ns_ attach-agent $node_(8) $tcp9 $tcp9 set fid_ 9 $tcp9 set class_ 9 $tcp9 set window_ 20 $tcp9 set maxcwnd_ 20 ;# maximo valor de ventana de congestion en bytes $tcp9 set windowInit_ 2 ;# tamano inicial para la ventana de congestion sobre slow-star $tcp9 set packetSize_ 100 ;# tamao del paquete promedio 100 bytes $tcp9 set ssthresh_ 5 $tcp9 set tcpprexmtthresh_ 3 set sink9 [new Agent/TCPSink] $ns_ attach-agent $W(0) $sink9 $ns_ connect $tcp9 $sink9 set tvoting9 [new Application/Traffic/Pareto] $tvoting9 attach-agent $tcp9 $tvoting9 set burst_time_ 50ms $tvoting9 set idle_time_ 100ms $tvoting9 set rate_ 5Kb 162 Anexo A $tvoting9 set shape_ 1.5 $ns_ at $opt(inicio_sim) "$tvoting9 start" #TCP10 set tcp10 [new Agent/TCP/Newreno] $ns_ attach-agent $node_(9) $tcp10 $tcp10 set fid_ 10 $tcp10 set class_ 10 $tcp10 set window_ 20 $tcp10 set maxcwnd_ 20 ;# maximo valor de ventana de congestion en bytes $tcp10 set windowInit_ 2 ;# tamano inicial para la ventana de congestion sobre slow-star $tcp10 set packetSize_ 100 ;# tamao del paquete promedio 100 bytes $tcp10 set ssthresh_ 5 $tcp10 set tcpprexmtthresh_ 3 set sink10 [new Agent/TCPSink] $ns_ attach-agent $W(0) $sink10 $ns_ connect $tcp10 $sink10 set tvoting10 [new Application/Traffic/Pareto] $tvoting10 attach-agent $tcp10 $tvoting10 set burst_time_ 50ms $tvoting10 set idle_time_ 100ms $tvoting10 set rate_ 5Kb $tvoting10 set shape_ 1.5 $ns_ at $opt(inicio_sim) "$tvoting10 start" #Trafico Internet: acceso a un servidor de video = 800Kbps #set udp1 [new Agent/UDP] #$ns_ attach-agent $node_(0) $udp1 #set cbr1 [new Application/Traffic/CBR] #$cbr1 attach-agent $udp1 #$cbr1 set packetSize_ 160 #$udp1 set class_ 11 #$cbr1 set rate_ 64Kb #set null1 [new Agent/Null] #$ns_ attach-agent $W(0) $null1 #$ns_ connect $udp1 $null1 #$ns_ at $opt(inicio_sim) "$cbr1 start" #set udp2 [new Agent/UDP] #$ns_ attach-agent $node_(1) $udp2 #set cbr2 [new Application/Traffic/CBR] #$cbr2 attach-agent $udp2 #$cbr2 set packetSize_ 160 #$udp2 set class_ 12 #$cbr2 set rate_ 64Kb #set null2 [new Agent/Null] #$ns_ attach-agent $W(0) $null2 #$ns_ connect $udp2 $null2 #$ns_ at $opt(inicio_sim) "$cbr2 start" #set udp3 [new Agent/UDP] #$ns_ attach-agent $node_(2) $udp3 #set cbr3 [new Application/Traffic/CBR] #$cbr3 attach-agent $udp3 #$cbr3 set packetSize_ 160 #$udp3 set class_ 13 #$cbr3 set rate_ 64Kb #set null3 [new Agent/Null] #$ns_ attach-agent $W(0) $null3 #$ns_ connect $udp3 $null3 #$ns_ at $opt(inicio_sim) "$cbr3 start" #set udp4 [new Agent/UDP] #$ns_ attach-agent $node_(3) $udp4 #set cbr4 [new Application/Traffic/CBR] 163 Anexo A #$cbr4 attach-agent $udp4 #$cbr4 set packetSize_ 160 #$udp4 set class_ 14 #$cbr4 set rate_ 64Kb #set null4 [new Agent/Null] #$ns_ attach-agent $W(0) $null4 #$ns_ connect $udp4 $null4 #$ns_ at $opt(inicio_sim) "$cbr4 start" #set udp5 [new Agent/UDP] #$ns_ attach-agent $node_(4) $udp5 #set cbr5 [new Application/Traffic/CBR] #$cbr5 attach-agent $udp5 #$cbr5 set packetSize_ 160 #$udp5 set class_ 15 #$cbr5 set rate_ 64Kb #set null5 [new Agent/Null] #$ns_ attach-agent $W(0) $null5 #$ns_ connect $udp5 $null5 #$ns_ at $opt(inicio_sim) "$cbr5 start" #set udp6 [new Agent/UDP] #$ns_ attach-agent $node_(5) $udp6 #set cbr6 [new Application/Traffic/CBR] #$cbr6 attach-agent $udp6 #$cbr6 set packetSize_ 160 #$udp6 set class_ 16 #$cbr6 set rate_ 64Kb #set null6 [new Agent/Null] #$ns_ attach-agent $W(0) $null6 #$ns_ connect $udp6 $null6 #$ns_ at $opt(inicio_sim) "$cbr6 start" #set udp7 [new Agent/UDP] #$ns_ attach-agent $node_(6) $udp7 #set cbr7 [new Application/Traffic/CBR] #$cbr7 attach-agent $udp7 #$cbr7 set packetSize_ 160 #$udp7 set class_ 17 #$cbr7 set rate_ 64Kb #set null7 [new Agent/Null] #$ns_ attach-agent $W(0) $null7 #$ns_ connect $udp7 $null7 #$ns_ at $opt(inicio_sim) "$cbr7 start" #set udp8 [new Agent/UDP] #$ns_ attach-agent $node_(7) $udp8 #set cbr8 [new Application/Traffic/CBR] #$cbr8 attach-agent $udp8 #$cbr8 set packetSize_ 160 #$udp8 set class_ 18 #$cbr8 set rate_ 64Kb #set null8 [new Agent/Null] #$ns_ attach-agent $W(0) $null8 #$ns_ connect $udp8 $null8 #$ns_ at $opt(inicio_sim) "$cbr8 start" #set udp9 [new Agent/UDP] #$ns_ attach-agent $node_(8) $udp9 #set cbr9 [new Application/Traffic/CBR] #$cbr9 attach-agent $udp9 #$cbr9 set packetSize_ 160 #$udp9 set class_ 19 #$cbr9 set rate_ 64Kb #set null9 [new Agent/Null] #$ns_ attach-agent $W(0) $null9 #$ns_ connect $udp9 $null9 164 Anexo A #$ns_ at $opt(inicio_sim) "$cbr9 start" #set udp10 [new Agent/UDP] #$ns_ attach-agent $node_(9) $udp10 #set cbr10 [new Application/Traffic/CBR] #$cbr10 attach-agent $udp10 #$cbr10 set packetSize_ 160 #$udp10 set class_ 20 #$cbr10 set rate_ 64Kb #set null10 [new Agent/Null] #$ns_ attach-agent $W(0) $null10 #$ns_ connect $udp10 $null10 #$ns_ at $opt(inicio_sim) "$cbr10 start" # Define la posicion inicial del nodo movil en el NAM for {set i 0} {$i < $opt(nn)} {incr i} { $ns_ initial_node_pos $node_($i) 20 } for {set i } {$i < $opt(nn) } {incr i} { $ns_ at $opt(stop).0000010 "$node_($i) reset"; } $ns_ at $opt(stop).0000010 "$BS(0) reset"; $ns_ at $opt(stop).1 "puts \"SIMULACION CON EXITO !!!\" ; $ns_ halt" # $ns_ at $opt(stop).0000010 "$cbr1 stop" # $ns_ at $opt(stop).0000010 "$cbr2 stop" # $ns_ at $opt(stop).0000010 "$cbr3 stop" # $ns_ at $opt(stop).0000010 "$cbr4 stop" # $ns_ at $opt(stop).0000010 "$cbr5 stop" # $ns_ at $opt(stop).0000010 "$cbr6 stop" # $ns_ at $opt(stop).0000010 "$cbr7 stop" # $ns_ at $opt(stop).0000010 "$cbr8 stop" # $ns_ at $opt(stop).0000010 "$cbr9 stop" # $ns_ at $opt(stop).0000010 "$cbr10 stop" puts "Starting Simulation..." $ns_ run 165 Anexo B: Aplicación interactiva T-Voting “Encuesta de 03 hospitales de EsSalud” B.1 Código fuente de la aplicación interactiva T-Voting La aplicación interactiva T-Voting se desarrolló siguiendo el estándar Ginga-NCL, con los lenguajse de NCL y Lua. Asimismo para las consultas de canal de retorno se utilizaron el tcp.lua. Para el desarrollo se utilizó el IDE Eclipse con los pluguins NCL y Lua, como se muestra en la Figura A.1. Este aplicativo como fue descrito en el capítulo 5 fue probado en un escenario inalámbrico como canal de retorno para la televisión digital terrestre. A continuación se detallan los códigos fuentes, en NCL y Lua respectivamente. 166 Anexo B Figura A.1 – IDE Eclipse con los plugins NCL y Lua B.2 Código fuente NCL Archivo: SuperEncuesta.ncl 167 Anexo B 168 Anexo B 169 Anexo B 170 Anexo B 171 Anexo B 172 Anexo B 173 Anexo B B.3 Código fuente Lua Archivo: votación.lua --[[ ############################################################################################### #UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS-UNMSM #---------------------------------------------------------------------------------------------- #TESIS DE MAESTRIA: Analisis y Modelamiento de la Tecnicas de Canal de Retorno e Interactividad # para el estandar de Television Digital Terrestre ISDB-T #---------------------------------------------------------------------------------------------- #AUTOR: Ing. Ronald Paucar Curasma (rpaucar@inictel-uni.edu.pe) #---------------------------------------------------------------------------------------------- #ASESOR: Msc. Ing. JOSE LUIS MUNOZ MEZA (jlmunoz@osiptel.gob.pe) ############################################################################################### ]] --Usa el archivo tcp.lua disponible en el directorio actual require 'tcp' --Setea el valor de una propiedad del nodo LUA actual --@param propName Nombre de la propiedad del nodo LUA ha ser seteada --@param propValue Valor ha ser atribuido a la propiedad local dx,dy = canvas:attrSize() function resultado(m1,m2,px,py) if((m1/m2)>=(50/100)) then canvas:compose(px,py,canvas:new('media/ok.png')) return --"Si Paso" else canvas:compose(px,py,canvas:new('media/mal.png')) return --"No Paso" end end function setLuaPropertie(propName, propValue) local evt = { class = 'ncl', type = 'attribution', name = propName, value = propValue, } evt.action = 'start'; event.post(evt) evt.action = 'stop' ; event.post(evt) end function writeText(text) --canvas:attrColor("black") --canvas:drawRect("fill", 0,0, canvas:attrSize()) 174 Anexo B --RGBA: Red, Blue, Green, Alpha (0=transparente total .. 255=opaco total) canvas:attrColor(255,255,255,0) canvas:clear() canvas:attrFont("vera", 22) canvas:drawText(10, 30, text) canvas:flush() end function writeResult(votos) canvas:attrColor(255,255,255,0) canvas:clear() --obtenemos las dimensiones de la region(los valores dx y dy estaran en pixeles) --imagenes con la condicion (si pasaron la aprobacion es decir el si debe ser mas que 50%) --primer cuadro estadistico rebagliati n1 = votos.rebagliati.si n2 = votos.rebagliati.no n3 = votos.rebagliati.nose sum = n1 + n2 + n3 canvas:attrFont("vera",17) canvas:attrColor('green') canvas:drawText((1/100)*dx,(2/100)*dy, "Hospitales que pasaron el 50% de aprobacion") canvas:attrFont("vera", 24) canvas:attrColor('red') canvas:drawText((40/100)*dx,(60/100)*dy, "Cuadros estadisticos:") canvas:attrFont("vera", 20) canvas:attrColor('blue') canvas:drawText((2/100)*dx,(70/100)*dy, "Si: "..n1) canvas:drawRect('fill',(12/100)*dx,(71/100)*dy,(n1/sum)*(21/100)*dx,(4/100)*dy) canvas:drawText((2/100)*dx,(75/100)*dy, "No: "..n2) canvas:drawRect('fill',(12/100)*dx,(76/100)*dy,(n2/sum)*(21/100)*dx,(4/100)*dy) canvas:drawText((2/100)*dx,(80/100)*dy, "N/o: "..n3) canvas:drawRect('fill',(12/100)*dx,(81/100)*dy,(n3/sum)*(0.21)*dx,(4/100)*dy) canvas:attrFont("vera", 24) canvas:attrColor('red') canvas:drawText((4/100)*dx,(86/100)*dy, "REBAGLIATI") --canvas:attrFont("vera", 22) --canvas:attrColor('black') --canvas:drawText((25/100)*dx,(18/100)*dy,""..resultado(n1,sum)) resultado(n1,sum,(25/100)*dx,(18/100)*dy) --segundo cuadro estadistico Almenara n1 = votos.almenara.si n2 = votos.almenara.no n3 = votos.almenara.nose sum = n1 + n2 + n3 canvas:attrFont("vera", 20) canvas:attrColor('blue') canvas:drawText((34/100)*dx,(70/100)*dy, "Si: "..n1) canvas:drawRect('fill',(44/100)*dx,(71/100)*dy,(n1/sum)*(21/100)*dx,(4/100)*dy) canvas:drawText((34/100)*dx,(75/100)*dy, "No: "..n2) canvas:drawRect('fill',(44/100)*dx,(76/100)*dy,(n2/sum)*(21/100)*dx,(4/100)*dy) canvas:drawText((34/100)*dx,(80/100)*dy, "N/o: "..n3) canvas:drawRect('fill',(44/100)*dx,(81/100)*dy,(n3/sum)*(21/100)*dx,(4/100)*dy) canvas:attrFont("vera", 24) canvas:attrColor('red') canvas:drawText((38/100)*dx,(86/100)*dy, "ALMENARA") canvas:attrFont("vera", 22) canvas:attrColor('black') --canvas:drawText((25/100)*dx,(36/100)*dy,""..resultado(n1,sum)) resultado(n1,sum,(25/100)*dx,(36/100)*dy) 175 Anexo B --tercer cuadro estadistico sabogal n1 = votos.sabogal.si n2 = votos.sabogal.no n3 = votos.sabogal.nose sum = n1 + n2 + n3 canvas:attrFont("vera", 20) canvas:attrColor('blue') canvas:drawText((66/100)*dx,(70/100)*dy, "Si: "..n1) canvas:drawRect('fill',(76/100)*dx,(71/100)*dy,(n1/sum)*(21/100)*dx,(4/100)*dy) canvas:drawText((66/100)*dx,(75/100)*dy, "No: "..n2) canvas:drawRect('fill',(76/100)*dx,(76/100)*dy,(n2/sum)*(21/100)*dx,(4/100)*dy) canvas:drawText((66/100)*dx,(80/100)*dy, "N/o: "..n3) canvas:drawRect('fill',(76/100)*dx,(81/100)*dy,(n3/sum)*(21/100)*dx,(4/100)*dy) canvas:attrFont("vera", 24) canvas:attrColor('red') canvas:drawText((70/100)*dx,(86/100)*dy, "SABOGAL") canvas:attrFont("vera", 22) canvas:attrColor('black') --canvas:drawText((25/100)*dx,(56/100)*dy,""..resultado(n1,sum)) resultado(n1,sum,(25/100)*dx,(56/100)*dy) canvas:flush() end function handler (evt) if evt.class ~= 'ncl' or evt.type ~= 'attribution'or evt.action ~= 'start' or evt.name ~= 'voto' then return end archivo = io.open("hospital.txt","r") local nombre = archivo:read() archivo:close() --print("\\\\\\\\\\ HOSPITAL: "..archivo) local host = "190.12.88.10" print(evt.name, evt.value) tcp.execute( function () --writeText("Obteniendo resultado...") tcp.connect(host, 80) --conecta no servidor print("Conectado a "..host) --local url = "GET http://"..host.."/votacion/votacion.php?voto="..evt.value.."\n" local url = "GET http://"..host.."/encuesta/votacion.php?voto="..evt.value.."&&hospital="..nombre.."\n" print("URL: "..url) --envia una solicitud HTTP para grabar voto en el servidor de DB MySQL 190.12.88.10 tcp.send(url) --obtiene todo el contenido de la pagina accesada local result = tcp.receive("*a") if result then print("Datos de conexion TCP recibidos") f = loadstring(result) if f then f() writeResult(votos) end else 176 Anexo B print("Error al recibir datos de la conexion TCP") if evt.error ~= nil then result = 'error: ' .. evt.error end end tcp.disconnect() end ) end event.register(handler) Archivo: pregunta1.lua --[[ ############################################################################################### #UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS-UNMSM #---------------------------------------------------------------------------------------------- #TESIS DE MAESTRIA: Analisis y Modelamiento de la Tecnicas de Canal de Retorno e Interactividad # para el estandar de Television Digital Terrestre ISDB-T #---------------------------------------------------------------------------------------------- #AUTOR: Ing. Ronald Paucar Curasma (rpaucar@inictel-uni.edu.pe) #---------------------------------------------------------------------------------------------- #ASESOR: Msc. Ing. JOSE LUIS MUNOZ MEZA (jlmunoz@osiptel.gob.pe) ############################################################################################### ]] function writeText(text,p,q) --canvas:attrColor("black") --canvas:drawRect("fill", 0,0, canvas:attrSize()) --RGBA: Red, Blue, Green, Alpha (0=transparente total .. 255=opaco total) canvas:attrColor(255,255,255,0) --canvas:clear() canvas:attrFont("vera", 36) canvas:attrColor('green') canvas:drawText(p,q, text) canvas:flush() end function handler (evt) -- if evt.class ~= 'ncl' or evt.type ~= 'presentation' or evt.action ~= 'start' then -- return -- end writeText("Que hospital",1,1) writeText("frecuenta mas ?",1,30) end event.register(handler) Archivo: preguntax.lua --[[ ############################################################################################### #UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS-UNMSM #---------------------------------------------------------------------------------------------- #TESIS DE MAESTRIA: Analisis y Modelamiento de la Tecnicas de Canal de Retorno e Interactividad # para el estandar de Television Digital Terrestre ISDB-T #---------------------------------------------------------------------------------------------- 177 Anexo B #AUTOR: Ing. Ronald Paucar Curasma (rpaucar@inictel-uni.edu.pe) #---------------------------------------------------------------------------------------------- #ASESOR: Msc. Ing. JOSE LUIS MUNOZ MEZA (jlmunoz@osiptel.gob.pe) ############################################################################################### ]] function writeText(text,p,q,n) --canvas:attrColor("black") --canvas:drawRect("fill", 0,0, canvas:attrSize()) --RGBA: Red, Blue, Green, Alpha (0=transparente total .. 255=opaco total) canvas:attrColor(255,255,255,0) --canvas:clear() canvas:attrFont("vera", n) canvas:attrColor('green') canvas:drawText(p,q, text) canvas:flush() end function handler (evt) if evt.class ~= 'ncl' or evt.type ~= 'attribution' or evt.action ~= 'start' then return end archivo = io.open("hospital.txt","w") archivo:write(evt.value) archivo:close() print("valor enviado: ////////////////"..evt.value) writeText("Esta de acuerdo con el servicio",1,1,20) writeText("que brinda el hospital:",1,22,24) writeText(evt.value,10,45,30) end event.register(handler) Archivo tcp.lua ---Biblioteca para realização de conexões TCP. --Utiliza co-rotinas de lua para simular multi-thread. --Fonte: Tutorial de NCLua -- TODO: -- * nao aceita `tcp.execute` reentrante --Declara localmente módulos e funçõe globais pois, ao definir --o script como um módulo, o acesso ao ambiente global é perdido local _G, coroutine, event, assert, pairs, type, print = _G, coroutine, event, assert, pairs, type, print local s_sub = string.sub module 'tcp' ---Lista de conexões TCP ativas local CONNECTIONS = {} ---Obtem a co-rotina em execução --@returns Retorna o identificador da co-rotina em execução local current = function () return assert(CONNECTIONS[assert(coroutine.running())]) end ---(Re)Inicia a execução de uma co-rotinas. Estas, são criadas --suspensas, assim, é necessário resumÃ--las para entrarem --em execução. 178 Anexo B --@param co Co-rotina a ser resumida --@param ... Todos os parâmetros adicionais --são passados à função que a co-rotina executa. --Quando a co-rotina é suspensa com yield, ao ser resumida --novamente, estes parâmetros extras passados na chamada de resume --são retornados pela yield. Isto é usado, por exemplo, na co-rotina da --função receive, para receber a resposta de uma requisição TCP. Assim, --ao iniciar, co-rotina da função é suspensa para que fique aguardando --a resposta da requisição TCP. Quando a função tratadora de eventos (handler) --recebe os dados, ela resume a co-rotina da função receive. Os dados --recebidos são passados à função resume, e estes são retornados pela função --yield depois que a co-rotina é reiniciada. local resume = function (co, ...) assert(coroutine.status(co) == 'suspended') assert(coroutine.resume(co, ...)) if coroutine.status(co) == 'dead' then CONNECTIONS[co] = nil end end ---Função tratadora de eventos. Utilizada para tratar --os eventos gerados pelas chamadas à s funções da classe tcp. --@param evt Tabela contendo os dados do evento capturado function handler (evt) if evt.class ~= 'tcp' then return end if evt.type == 'connect' then for co, t in pairs(CONNECTIONS) do if (t.waiting == 'connect') and (t.host == evt.host) and (t.port == evt.port) then t.connection = evt.connection t.waiting = nil --Continua a execução da co-rotina, --fazendo com que a função connect, que causou --o disparo do evento connect, capturado --por esta função (handler), seja finalizada. resume(co) break end end return end if evt.type == 'disconnect' then for co, t in pairs(CONNECTIONS) do if t.waiting and (t.connection == evt.connection) then t.waiting = nil resume(co, nil, 'disconnected') end end return end --Evento disparado quando existem dados a serem recebidos --após a chamada da função receive. if evt.type == 'data' then for co, t in pairs(CONNECTIONS) do if (t.waiting == 'data') and (t.connection == evt.connection) then --O atributo value da tabela evt contém os dados --recebidos. Assim, continua a execução da função que disparou --este evento (função receive). O valor de evt.value --é retornado pela função coroutine.yield, chamada --dentro da função receive (que ficou suspensa --aguardando os dados serem recebidos). --Desta forma, dentro da função receive, o retorno --de coroutine.yield contém os dados recebidos. resume(co, evt.value) end end return end end event.register(handler) 179 Anexo B ---Função que deve ser chamada para iniciar uma conexão TCP. --@param f Função que deverá executar as rotinas --para realização de uma conexão TCP, envio de requisições --e obtenção de resposta. --@param ... Todos os parâmetros adicionais --são passados à função que a co-rotina executa. --@see resume function execute (f, ...) resume(coroutine.create(f), ...) print("finalizou tcp.execute") end ---Conecta em um servidor por meio do protocolo TCP. --A função só retorna quando a conexão for estabelecida. --@param host Nome do host para conectar --@param port Porta a ser usada para a conexão function connect (host, port) local t = { host = host, port = port, waiting = 'connect' } CONNECTIONS[coroutine.running()] = t event.post { class = 'tcp', type = 'connect', host = host, port = port, } --Suspende a execução da co-rotina. --A função atual (connect) só retorna quando --a co-rotina for resumida, o que ocorre --quando o evento connect é capturado --pela função handler. return coroutine.yield() end ---Fecha a conexão TCP e retorna imediatamente function disconnect () local t = current() event.post { class = 'tcp', type = 'disconnect', connection = assert(t.connection), } end ---Envia uma requisição TCP ao servidor no qual se está conectado, e retorna imediatamente. --@param value Mensagem a ser enviada ao servidor. function send (value) local t = current() event.post { class = 'tcp', type = 'data', connection = assert(t.connection), value = value, } end ---Recebe resposta de uma requisição enviada previamente --ao servidor. --@param pattern Padrão para recebimento dos dados. --Se passado *a, todos os dados da resposta são --retornados de uma só vez, sem precisar fazer --chamadas sucessivas a esta função. --Se omitido, os dados vão sendo retornados parcialmente, --sendo necessárias várias chamadas à função. function receive (pattern) pattern = pattern or '' -- TODO: '*l'/number local t = current() t.waiting = 'data' 180 Anexo B t.pattern = pattern if s_sub(pattern, 1, 2) ~= '*a' then --Suspende a execução da função, até que --um bloco de dados seja recebido. --Ela só é resumida depois que --a função handler (tratadora de eventos) --receber um bloco de dados. Nesse momento, --a função receive retorna o bloco de dados. --Tendo entrado neste if, o parâmetro pattern será --diferente de '*a', logo, serão necessárias --várias chamadas sucessÃ-vas a receive para obter --toda a resposta da requisição enviada previamente --por meio da função send. --A função receive retorna nil quando não houver --mais nada para ser retornado. return coroutine.yield() end --Chegando aqui, é porque o parâmetro pattern é igual --a '*a', indicando que a função só deve retornar depois --que toda a resposta da requisição enviada previamente, --por meio da função send, tiver sido retornada. local all = '' while true do --Suspende a execução da função, até que --um bloco de dados seja recebido. --Ela só é resumida depois que --a função handler (tratadora de eventos) --receber um bloco de dados. Nesse momento, --a função receive retorna o bloco de dados. --Se o resultado for nil, a função finaliza --devolvendo todos os blocos de resposta recebidos, --concatenados. Não sendo nil, a função suspende a execução --até receber novo bloco. local ret = coroutine.yield() if ret then all = all .. ret else return all end end end 181 Anexo C: Principales publicaciones C.1 Brazilian Technology Symposium/ BTS – UNICAMP 182 183 184 185 186 187