Download Mejoras de Odust: un sistema para compartir aplicaciones

Document related concepts
no text concepts found
Transcript
Mejoras de Odust: un sistema para
compartir aplicaciones
Oscar R. Reyes
Agustín J. González
Departamento de Electrónica
Universidad Técnica Federico Santa María
Workshop de Sistemas Distribuidos y Paralelos
Arica, Nov 2004
Odust: un sistema para compartir
aplicaciones

Modos de Colaboración:



Asincrónica: Ej. email, WEB
Sincrónica: Ej. Vídeo Conferencia
Componentes básicas de las aplicaciones multimediales
sincrónicas:



Audio
Vídeo
Datos:
 Pizarras compartidas
 Aplicación cualquiera compartida
Arica, Nov. 2004
JCC: Workshop de Sistemas
Distribuidos y Paralelos
2
Odust: Objetivo y operación

Objetivo


Permitir a un usuario compartir con sus pares remotos
cualquier aplicación de su escritorio
Mecanismo básico:



Se captura periódicamente las ventanas de la aplicación y se
distribuye a los participantes.
Provee un mecanismo de control de turnos para permitir a
cualquier participante manipular la aplicación compartida.
Usa TCP para pocos participantes y UDP multicast cuando son
muchos.
Arica, Nov. 2004
JCC: Workshop de Sistemas
Distribuidos y Paralelos
3
Posible Escenario de Uso
Usuario: esparta
Windows 98
Usuario: troya
Windows XP
Red
Multicast
Usuario: xx
Linux Debian
Arica, Nov. 2004
Usuario: yy
Linux Fedora
JCC: Workshop de Sistemas
Distribuidos y Paralelos
4
Posible Escenario de Uso
Usuario:esparta
Windows 98
Usuario: troya
Windows XP
Red
Multicast
Arica, Nov. 2004
JCC: Workshop de Sistemas
Usuario: xx
Distribuidos y ParalelosLinux Debian
Usuario: yy
5
Linux Fedora
Posible Escenario de Uso
Usuario: esparta
Windows 98
Usuario: troya
Windows XP
Red
Multicast
Usuario: xx
Linux Debian
Arica, Nov.
Usuario: yy
2004Linux Fedora
JCC: Workshop de Sistemas
Distribuidos y Paralelos
6
Posible Escenario de Uso
Usuario: troya
Windows XP
Usuario: esparta
Windows 98
Red
Multicast
Usuario: xx
Linux Debian
Arica, Nov. 2004
JCC: Workshop de Sistemas
Distribuidos y Paralelos
Usuario: yy
Linux Fedora
7
Odust: Transmisión de imágenes

Captura periódicamente la ventana

La imagen es dividida

Arica, Nov. 2004
Se elimina redundancia
espacial y temporal y se
envía
JCC: Workshop de Sistemas
Distribuidos y Paralelos
8
Odust: Arquitectura
Receptor
Receptor
Transmisor
Captura
Compresión
Aplicación
Inyección
Eventos
Tx
Admin
de
Turnos
UDP
Multicast
TCP
Rx
Descompresión
Cliente
de
Turnos
Display
Eventos de
Mouse y
Teclado
Control de turnos
Arica, Nov. 2004
JCC: Workshop de Sistemas
Distribuidos y Paralelos
9
Problemas y Mejoras de Versión Previa

La captura de pantalla no incluye el mouse =>



Se incorporó la captura y transmisión de la imagen del
mouse.
Para el procesamiento de imágenes el sistema usaba
Java Advanced Imaging (JAI) =>


No se sabe dónde está el mouse sobre la aplicación
Necesidad de instalar un nuevo paquete fuera de JRE
Se elimina esta dependencia al usar el paquete
com.sun.image.codec.jpeg para el procesamiento
requerido.
Arica, Nov. 2004
JCC: Workshop de Sistemas
Distribuidos y Paralelos
10
Vista Receptor, haciendo visible el cursor
Mismo sitio
en receptor
Arica, Nov. 2004
JCC: Workshop de Sistemas
Distribuidos y Paralelos
11
Mecanismo de envío del cursor





Métodos nativos capturan el bitmap del
cursor.
Éstos son transmitidos junto a un índice.
Cada vez el índice del cursor en uso es
enviado
Sólo cada cierto tiempo se envían los
bitmaps de los cursores recientemente
usados.
El procesamiento del mouse usa 2% de CPU.
Arica, Nov. 2004
JCC: Workshop de Sistemas
Distribuidos y Paralelos
12
Simplificación de dependencias


Original: Java + JAI + Odust
Nueva versión: Java + Odust
Usa com.sun.image.codec.jpeg y
javax.imageio presente en SDK y
JRE
Others APIs
Core APIs
ODUst
JAI
Llamados
Nativos
Llamados
Nativos
ODUst
Java VM

Others APIs
Core APIs
Java VM
La nueva implementación para compresión y
descompresión de imágenes corren un 75% y 50% más
rápido.
Arica, Nov. 2004
JCC: Workshop de Sistemas
Distribuidos y Paralelos
13
Conclusiones y trabajo futuro



La mejoras han sido probadas exitosamente en
Windows como transmisor y Windows, Linux, y Solaris
como receptor.
Las mejoras constituyen un gran aporte a la usabilidad
del sistema.
Trabajo en desarrollo: Hacer uso de video streaming
estándar para transmitir la ventana de la aplicación
Arica, Nov. 2004
JCC: Workshop de Sistemas
Distribuidos y Paralelos
14