José María López Vega Dirigido por Juan

Transcripción

José María López Vega Dirigido por Juan
José María López Vega
[email protected]
Dirigido por Juan Manuel López Soler
Departamento de Teoría de la Señal, Telemática y Comunicaciones
E.T.S. Ingenierías Informática y de Telecomunicación
Universidad de Granada
Nueva aproximación para el diseño de una
herramienta de trabajo colaborativo.
Se aplica el paradigma de la
publicación/subscripción.
Prueba de concepto de la viabilidad de
implementar aplicaciones muchos a muchos
con contenidos de audio y vídeo sobre
middleware DDS.
Selección de políticas de QoS adecuadas.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
2/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
Introducción
1.
1.
2.
3.
Análisis
2.
1.
2.
4.
1.
2.
3.
4.
5.
6.
7.
Requisitos de la aplicación
Otras decisiones
Solución propuesta
Diseño e implementación
3.
5.
Definiciones básicas
Estado del arte
Definición del problema
Arquitectura del sistema
Políticas de QoS incorporadas
Descripción IDL
Comunicación con cámara IP
Gestión de audio
Demostración
Conclusiones
Trabajo futuro
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
3/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
Middleware
Capa software situada entre la capa de aplicación y el
sistema operativo, que aísla la aplicación de los detalles
relativos a la arquitectura, sistema operativo y capas de
red
Paradigma de publicación/subscripción
Es una aproximación centrada en datos, los cuales se
intercambian a través del así denominado data-space.
El data-space permite desacoplar espacial y
temporalmente las fuentes (publicadores) y los sumideros
(subscriptores) de información. Es adecuado para sistemas
distribuidos.
dataspace
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
4/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
Data Distribution Service (DDS)
Middleware que permite la distribución de datos
basándose en el paradigma de la
publicación/subscripción.
Es un estándar de la OMG (Object Management
Group).
1
1
Tópico
Publicador
1
Subscriptor
*
*
DataWriter
Entidades
DDS
1
*
Publicación
Subscripción
DataReader
*
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
5/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
Políticas de QoS (Quality of Service)
Mecanismos estandarizados que permiten configurar el
comportamiento del middleware. Las políticas de calidad de
servicio aligeran a la aplicación, al librarla de muchas tareas como
por ejemplo la posibilidad de comunicación de uno a muchos
fiable, con lo que se reduce la complejidad del sistema.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
6/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
Videoconferencia
Comunicación simultánea bidireccional de audio y vídeo,
permitiendo mantener reuniones con grupos de personas situadas
en lugares alejados entre sí.
Otras definiciones relativas a videoconferencia
Sala
Moderador
Descubrimiento
Entorno virtual aislado en los que un conjunto de
usuarios intercambian mensajes de texto, voz, vídeo, etc.
Usuario con privilegios especiales. Por ejemplo, determinar qué
usuario puede hablar en cada momento.
Procedimiento por el que el usuario obtiene una lista de las salas
disponibles.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
7/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
Videoconferencia
Existen multitud de plataformas de trabajo
colaborativo y videoconferencia, cada una con una
serie de características apropiadas para distintos
requisitos (Click to Meet, Isabel, Connecta2000,
MS Office Communication Server, etc.)
Por lo general, orientación cliente-servidor
Middleware DDS
Tecnología en pleno auge.
Implementaciones existentes: RTI DDS,
OpenSplice, CoreDX, OpenDDS, MilSOFT.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
8/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
Deseamos desarrollar un sistema de trabajo
colaborativo, con soporte para videoconferencia
entre distintos clientes remotos.
La plataforma deberá mostrar la viabilidad de
implementar aplicaciones de streaming de
audio/vídeo sobre middleware DDS
aprovechando las políticas QoS disponibles.
Además, el programa implementado debe
facilitar el desarrollo posterior de aplicaciones
similares sobre middleware DDS.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
9/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
La aplicación ha de ser multiplataforma o, al
menos, portable.
Debe ser fácilmente extensible.
Se recomienda que sea modular.
La totalidad de las comunicaciones se realizarán
sobre middleware DDS.
Para la captura de vídeo, se utilizará una
cámara IP modelo 207W del fabricante Axis. El vídeo
será transmitido sobre MJPEG.
En el caso del audio, no existían requisitos
específicos.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
10/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
Desarrollo en Java
Multiplataforma, prototipado rápido, Javadoc.
Entorno de desarrollo Eclipse
Herramienta de código abierto muy potente,
extensible mediante sistema de plugins.
Códec de audio SPEEX
Código libre, complementario a Vorbis, calidad
elevada con reducido ancho de banda, robusto
frente a pérdidas de paquetes, permite cambiar
la calidad del stream dinámicamente.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
11/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
12/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
13/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
DEADLINE Y TIME_BASED_FILTER
DEADLINE fija una separación máxima entre dos actualizaciones del
tópico. DDS informa cuando se supera ese valor máximo, lo que
permite detectar problemas en el intercambio de datos entre
datawriters y el datareaders.
TIME_BASED_FILTER limita el número de muestras que se entregan
a la aplicación por segundo, estableciendo una separación temporal
mínima entre ellas.
Cuando se detectan problemas en el datawriter de vídeo, se
reduce la tasa de transmisión (reduciendo la calidad).
Si aparecen problemas en el datareader de vídeo, se utiliza el
tópico de señalización con objeto de informar a los datawriters
de la situación, para que reduzcan de forma remota la calidad del
stream de vídeo.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
14/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
Subscripción
Vídeo
Notificar al
sistema que
no hay
problemas
Control
Sistema
Publicación
Señalización
Decrementar TBF y
DEADLINE en un 20%, si
son superiores al valor
mínimo establecido.
Mediante el tópico de
señalización, se indica
al resto de sistemas que
no hay problemas en la
recepción.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
15/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
Subscripción
Vídeo
Notificar al
sistema que
hay problemas
Control
Sistema
Publicación
Señalización
Incrementar TBF y
DEADLINE al doble de su
valor, si son menores
que el valor máximo
permitido.
Mediante el tópico de
señalización, se indica
al resto de sistemas que
hay problemas en la
recepción.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
16/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
LIVELINESS
LIVELINESS ha sido utilizada en el sistema aquí presentado para
mantener el servicio de presencia. Es decir, informa a los clientes de la
entrada y salida de usuarios a una determinada sala de conferencias.
PRESENTATION
Esta política establece que las muestras publicadas en un tópico por
distintos datawriters sean entregadas en el mismo orden en que se
enviaron.
LIFESPAN
Esta política asegura que los paquetes con un retardo excesivo no se
entregan a la aplicación, al carecer de validez. Se ha fijado para un
retardo máximo permisible de 750 ms.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
17/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
OWNERSHIP Y OWNERSHIP_STRENGTH
OWNERSHIP establece si cualquier datawriter puede actualizar los
datos de interés o, por el contrario, sólo podrá llevarlo a cabo un
datawriter concreto.
OWNERSHIP_STRENGTH permite asignar una puntuación a un
datawriter, lo que determinará si los datos que éste escribe serán
entregados.
Estas políticas han sido utilizadas para la gestión del canal de audio.
Concretamente, el usuario con permisos de moderador puede indicar
mediante el tópico de señalización qué usuario tiene la palabra.
Según esta información, cada cliente actualiza el valor de las políticas
OWNERSHIP y OWNERSHIP_STRENGTH para los datawriters, con lo
que únicamente se entregarán los paquetes de audio que provengan
del cliente con el control del canal de audio.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
18/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
19/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
Se ha implementado de forma modular.
Las cámaras AXIS disponen de una API común
denominada VAPIX®.
La comunicación con la cámara se realiza
mediante HTTP.
La configuración de la cámara se carga desde un
archivo XML, lo que permite fácil extensibilidad de
la aplicación.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
20/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
JMF (Java Media Framework)
Gran variedad de codecs, versiones para cada plataforma,
librería externa, permite personalizar transporte bajo RTP, pero
no sustituir RTP.
Java Sound
Trabaja a nivel más bajo que JMF, escaso soporte de codecs, es
fácilmente extensible.
Esta fue la opción elegida.
Se ha extendido mediante JSPEEX. Fue necesario modificar la
librería.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
21/26
1.
2.
3.
4.
5.
6.
Se iniciará la aplicación.
Se creará una sala pública.
Se iniciarán/detendrán publicaciones
de audio y vídeo.
Se mostrará el mecanismo de
adaptación a las condiciones de
congestión.
Se describirá el funcionamiento del
mecanismo de moderación.
Se creará una sala privada.
22/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
La utilización de middleware DDS efectivamente acorta los
tiempos de desarrollo de aplicaciones que requieren
distribución de datos en tiempo real.
La aplicación del modelo de publicación-subscripción para
un sistema de videoconferencia no sólo es viable, sino que
es adecuada.
Se han identificado las políticas QoS más adecuadas para la
transmisión de audio y vídeo. Como fruto de este trabajo se
presentó un póster en Julio de 2008 en el IX Workshop on
Distributed Object Computing for Real-time and
Embedded Systems celebrado en Washington (DC, USA)
bajo el título “QoS Policies for Audio/Video Distribution
Over DDS Middleware”
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
23/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
Dada la arquitectura modular del sistema desarrollado, el
código es altamente reutilizable.
La implementación de un puente DDS/HTTP para el acceso a
cámaras IP proporciona una interfaz reutilizable en
aplicaciones fuera del ámbito de la videoconferencia.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
24/26
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
Realización de test analíticos de escalabilidad
Mayor soporte de codecs de audio
Mejora de rendimiento alcanzado en audio
Establecer método para la autenticación de
usuarios
Ampliar el soporte de fuentes de vídeo
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
25/26
Gracias por su atención
26/26
Gracias por su atención
Gracias por su atención
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
A1. Costes
Descripción de la tarea
Horas invertidas
Estudio del estado del arte y antecedentes
30
Estudio de la tecnología DDS
90
Análisis y especificación del proyecto
40
Diseño
90
Implementación
90
Pruebas
30
Generación de documentación
100
TOTAL
470
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
A1. Costes
Parámetro
Número de líneas nuevas
Experiencia en la temática del proyecto
Flexibilidad de desarrollo
Arquitectura/Resolución de riesgos
Cohesión de equipo
Madurez del proyecto
Fiabilidad requerida
Tamaño base de datos
Valor
6000
Alta (H)
Máxima (XH)
Normal (N)
Máxima (XH)
Alta (H)
Normal (N)
Bajo (L)
Complejidad del producto
Normal (N)
Reusabilidad
Normal (N)
Documentación
Normal (N)
Porcentaje tiempo ejecución
Porcentaje tiempo almacenamiento
Variabilidad de la plataforma
Alto (H)
Normal (N)
Baja (L)
Capacidad del analista
Normal (N)
Capacidad del programador
Normal (N)
Continuidad personal
Muy alta (VH)
Experiencia en el tipo de aplicación
Alta (H)
Experiencia en la plataforma
Alta (H)
Experiencia con el lenguaje
Alta (H)
Uso de herramientas software
Alta (H)
Comunicaciones entre miembros del equipo
Total (XH)
Plan de desarrollo requerido
Normal (N)
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS
1. Introducción
2. Análisis
3. Solución propuesta
4. Diseño e implementación
5. Demostración
6. Conclusiones
7. Trabajo futuro
A1. Costes
Tarea/Fase
Inicial Elaboración Construcción
Transición
Total
Gestión
0.1
0.2
0.5
0.1
0.9
Entorno
0.0
0.1
0.2
0.0
0.5
Requerimientos
0.2
0.3
0.4
0.0
0.9
Diseño
0.1
0.6
0.8
0.0
1.5
Implementación
0.0
0.2
1.7
0.2
2.1
Evaluación
0.0
0.2
1.2
0.2
1.6
Despliegue
0.0
0.0
0.1
0.2
0.4
El modelo COCOMO II determina que el proyecto abordado supone un
esfuerzo equivalente de 6,6 personas/mes durante 6,5 meses.
José María López Vega – Plataforma de trabajo colaborativo sobre middleware DDS

Documentos relacionados