Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de...

36
Xlets Multimedia Home Protocol

Transcript of Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de...

Page 1: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

Xlets

Multimedia Home Protocol

Page 2: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .2E.T.S de Ingenieros de Telecomunicación

Xlets

Mapa de Índice

Page 3: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

INTRODUCCIÓN

Introducción a las Xlets

Page 4: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .4E.T.S de Ingenieros de Telecomunicación

Introducción

Diferencia entre Aplicación Xlet e Interface Xlet Las Xlets como aplicaciones, parecidas a los

Applets o MidletsUna aplicación debe implementar el

javax.tv.xlet.Xlet InterfaceAplicaciones iniciadas automáticamente por el

Broadcaster o manualmente por el Set-top Box (Mando a distancia Usuario)

Page 5: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .5E.T.S de Ingenieros de Telecomunicación

Cómo localizamos a la Xlet?

Un registro en la AIT nos localiza la clase inicial de la Xlet (Initial_class_byte)

Introducción

Page 6: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

CICLO DE VIDA

LifeCycle de una aplicación Xlet

Page 7: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .7E.T.S de Ingenieros de Telecomunicación

CICLO DE VIDA

Una aplicación entra en el estado Loaded cuando es cargada bien sea desde Set-top Box o bien desde el Carrousel de datos.

Después de esto, el Application manager señaliza a la aplicación para iniciarse a si misma, por lo que pasa al estado Paused.

El estado Active (Running) significa que la aplicación está en ejecución y puede volver al estado Paused o bien terminar la aplicación pasando al estado Destroyed.

Page 8: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .8E.T.S de Ingenieros de Telecomunicación

Ciclo de Vida

Page 9: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

APLICATION MANAGER

¿Qué Es? ¿Qué hace?

Page 10: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .10E.T.S de Ingenieros de Telecomunicación

Aplication Manager

Reside en el Set-top Box y se inicia cuando se enciende el mismo, hasta que se apaga

Se encarga de manejar los estados de cada Aplicación y hacer de puente a los recursos del Set-top Box

Aministra la memoria, key events, errores de ejecución de las aplicaciones

Define el modelo de ciclo de vida

Page 11: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .11E.T.S de Ingenieros de Telecomunicación

Aplication Manager (2)

Establece el XletContext para cada AplicaciónMediante el XletContext Inteface, el Application

Manager se comunica con las Xlets para ser notificado de sus cambios de estado.

Page 12: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .12E.T.S de Ingenieros de Telecomunicación

Identifica y Cachea la información de las aplicaciones procedentes de las Tablas

Aplication Manager (2)

Page 13: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .13E.T.S de Ingenieros de Telecomunicación

Define el protocolo de comunicación entre la Aplicación y él mismo.

Aplication Manager (3)

Page 14: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

Interfaces: Xlet y XletContext

Definen una serie de métodos abstractos pero no los

implementan

Page 15: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .15E.T.S de Ingenieros de Telecomunicación

Xlet Interface

initXlet() - startXlet() - pauseXlet() - destroyXlet()

Una aplicación debe sobreescribir estos métodos para implementar la interface Xlet

El aplication manager llamará a estos métodos para iniciar, comenzar, pausar o eliminar una aplicación de la memoria.

Es una interface muy parecida al de las Applets o los Midlets (J2me)

Page 16: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .16E.T.S de Ingenieros de Telecomunicación

pauseXlet()A menudo ignorado por los desarrolladoresTambién ignorado por algunas herramientas

de desarrolloLos receptores y servicios confían en que

esté bien implementado• El navegador puede poner en modo pausado

cuando se presenta la aplicación

Ofrece grandes ventajas (explicadas más adelante)

Xlet Interface

Page 17: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .17E.T.S de Ingenieros de Telecomunicación

destroyXlet()Una aplicación puede ser terminada en

cualquier momento cuando se evoca el destroyXlet()

Esta llamada la debe hacer el Application Manager o bien la propia aplicación.

Xlet Interface

Page 18: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .18E.T.S de Ingenieros de Telecomunicación

XletContext Interface

getXletProperties()notifyPaused()

notifyDestroyed()resumeRequest()

Actúa como puente entre el Xlet y el Application Manager

Permite que el Application Manager sea correctamente notificado de cualquier cambio en los estados de las Xlet’s

Page 19: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

Formas y maneras de implementar bien el Xlet

Interface

Como implementar Bien

Page 20: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .20E.T.S de Ingenieros de Telecomunicación

Optimización del tiempo de recarga de la Xlet.La Xlet puede ser precargada por un lanzador

de aplicaciones• Se ejecuta initXlet()• Carga los recursos e inicializa la aplicación• La carga puede ser ejecutada en menos de 1 seg

cuando el espectador quiere comenzar la aplicación.

– Siemplemente se hace visible la Hscene.

Como implementar Bien

Page 21: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .21E.T.S de Ingenieros de Telecomunicación

Tiempo de Carga o Cambio de Aplicación en condiciones normales

Como implementar Bien

Page 22: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .22E.T.S de Ingenieros de Telecomunicación

La carga de aplicaciones tiene mejor sincronización.La aplicación interactiva salta (se hace

visible) en cuanto el anuncio empieza.Evita cargas y recargas sucesivas.

Como implementar Bien

Page 23: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .23E.T.S de Ingenieros de Telecomunicación

Linea de tiempo con y sin precarga.

Como implementar Bien

Page 24: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .24E.T.S de Ingenieros de Telecomunicación

Como implementar Bien

initXlet() vs. startXlet()En InitXlet() ejecuta tareas de inicializacion de

una vez.Construye el Hscene, registra los listeners y carga los

recursos. StartXlet() y PauseXlet() son parejas.

• Imágenes cargadas en StartXlet() son limpiadas PauseXlet().• Hace la Hscene visible.• También realiza la carga de recursos abundantes y escasos.

También considera otras aplicaciones• Si las imágenes son cargadas en InitXlet(), la Xlet comienza

más rápido.• Si muchas aplicaciones corren simultaneamente, se reserva

mucha cantidad de memoria y el estado de PauseXlet() es inestable.

Page 25: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .25E.T.S de Ingenieros de Telecomunicación

Como implementar Bien

Xlets corriendo simultaneamente.Facilmente pueden correr unas 10 pequeñas

aplicaciones. Generalmente el ancho de banda es el mayor problema.

El manejo de recursos necesita ser diseñado.• No usar recursos escasos en modo Pausa.

Los escenarios deben ser testeados.• Todas las Xlets corriendo simultaneamente en un

escenario de máxima demanda con el receptor más restrictivo.

Page 26: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .26E.T.S de Ingenieros de Telecomunicación

Recursos disponibles.1.5MB de memoria para datos.4MB de memoria para imágenes.4MB de contenido de carrusel, dividido en

varios carruselesLimitada cantidad de filtros.

• Usado para ficheros dinámicos, stream events, datos del SI…

• Un uso máximo de 10 ficheros dinámicos.

Como implementar Bien

Page 27: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .28E.T.S de Ingenieros de Telecomunicación

Ejemplo de lanzador: Menú

Como implementar Bien

Page 28: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .29E.T.S de Ingenieros de Telecomunicación

Ejemplo de lanzador: icono de testeo.

Como implementar Bien

Page 29: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .30E.T.S de Ingenieros de Telecomunicación

Linea de tiempo del icono de testeo.

Como implementar Bien

Page 30: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .31E.T.S de Ingenieros de Telecomunicación

Linea de tiempo de la carga del mensaje.

Como implementar Bien

Page 31: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .32E.T.S de Ingenieros de Telecomunicación

Evitar implementaciones extraCuando empieza la aplicación muestra un

icono, es el comportamiento habitual de aplicaciones autoejecutables.

Aplicaciones minimizadas muestran un icono• No permite que otras aplicaciones sean usadas.

Ambos casos serán mejor implementados con un lanzador.

• Evita confusiones.• Las aplicaciones tienen un modelo más simple.

Como implementar Bien

Page 32: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .33E.T.S de Ingenieros de Telecomunicación

Destroy o Pause para salir de la aplicación?Pause cuando:

La aplicación es usada con frecuencia y necesita ser de acceso rápido (EPG).

Cuando la aplicación contiene datos de actualización dinámica (teletexto digital).

Cuando el tiempo de ejecución es largo y es como si continuara más tarde (banking, T-commerce).

Destroy cuando:Aplicaciones que están disponibles a menudo pero

que son usadas ocasionalmente (juegos).

Como implementar Bien

Page 33: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .34E.T.S de Ingenieros de Telecomunicación

Destroying Xlet:Prepararse para un cambio rapido de

servicio.• Muchos receptores tienen preferencia por un

zapping rápido entre servicios• Los recursos pueden no estar disponibles.

Suministra un mensaje de salida DestroyXlet(false).

• Señalizar DESTROY a la AIT 1 minuto antes• También llamado si el receptor se queda sin

recursosNo necesita notificar al XletContext

Como implementar Bien

Page 34: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .35E.T.S de Ingenieros de Telecomunicación

Conclusiones Implementar el estado Pausa en aplicaciones

• Para comportarse mejor.• Para obtener mejor rendimiento en entornos agiles.

Cuando corren múltiples aplicaciones simultaneamente

• Verificar los requisitos de memoria de las aplicaciones.• Diseñar la comunicación y compartición de recursos.

No implementar estados extras en Xlets.• Permitir a un manejador de aplicaciones manejar esto.

Considerar el comportamiento de la aplicación• Antes de la extraccion de la señalización.

Como implementar Bien

Page 35: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

Ejemplo de Xlet

Ejemplo sencillo de Xlet

Page 36: Xlets Multimedia Home Protocol. 10/04/2005.2 E.T.S de Ingenieros de Telecomunicación Xlets Mapa de Índice.

10/04/2005 .37E.T.S de Ingenieros de Telecomunicación

Ejemplo de Xlet

public class MyFirstExampleXlet implements javax.tv.xlet.Xlet{

public MyFirstExampleXlet() {…}public void initXlet(javax.tv.xlet.XletContext context)

throws javax.tv.xlet.XletStateChangeException{…}

public void startXlet()throws javax.tv.xlet.XletStateChangeException{…}

public void pauseXlet(){…}

public void destroyXlet(boolean unconditional)throws javax.tv.xlet.XletStateChangeException{…}

}