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