Contribution to Multiuser Videoconferencing Systems Based on Cloud Computing
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSIDAD POLITÉCNICA DE MADRID Escuela Técnica Superior de Ingenieros de Telecomunicación CONTRIBUTION TO MULTIUSER VIDEOCONFERENCING SYSTEMS BASED ON CLOUD COMPUTING TESIS DOCTORAL Javier Cerviño Arriba Ingeniero de Telecomunicación Madrid, España 2013 Departamento de Ingeniería de Sistemas Telemáticos Escuela Técnica Superior de Ingenieros de Telecomunicación CONTRIBUTION TO MULTIUSER VIDEOCONFERENCING SYSTEMS BASED ON CLOUD COMPUTING Autor: Javier Cerviño Arriba Ingeniero de Telecomunicación Director: Joaquín Salvachúa Rodríguez Doctor Ingeniero de Telecomunicación 2013 Tribunal nombrado por el Magnífico. y Excelentísimo. Sr. Rector de la Universidad Politécnica de Madrid, el día 6 de mayo de 2013. Presidente: Vocal: Vocal: Vocal: Secretario: Suplente: Suplente: Realizado el acto de defensa y lectura de la Tesis el día 6 de mayo de 2013 en Madrid, habiendo obtenido la calificación de El presidente, El secretario, Los vocales, ABSTRACT Multi-user videoconferencing systems offer communication between more than two users, who are able to interact through their webcams, microphones and other components. The use of these systems has been increased recently due to, on the one hand, improvements in Internet access, networks of companies, universities and houses, whose available bandwidth has been increased whilst the delay in sending and receiving packets has decreased. On the other hand, the advent of Rich Internet Applications (RIA) means that a large part of web application logic and control has started to be implemented on the web browsers. This has allowed developers to create web applications with a level of complexity comparable to traditional desktop applications, running on top of the Operating Systems. More recently the use of Cloud Computing systems has improved application scalability and involves a reduction in the price of backend systems. This offers the possibility of implementing web services on the Internet with no need to spend a lot of money when deploying infrastructures and resources, both hardware and software. Nevertheless there are not many initiatives that aim to implement videoconferencing systems taking advantage of Cloud systems. This dissertation proposes a set of techniques, interfaces and algorithms for the implementation of videoconferencing systems in public and private Cloud Computing infrastructures. The mechanisms proposed here are based on the implementation of a basic videoconferencing system that runs on the web browser without any previous installation requirements. To this end, the development of this thesis starts from a RIA application with current technologies that allow users to access their webcams and microphones from the browser, and to send captured data through their Internet connections. Furthermore interfaces have been implemented to allow end users to participate in videoconferencing rooms that are managed in different Cloud provider servers. To do so this dissertation starts from the results obtained from the previous techniques and backend resources were implemented in the Cloud. A traditional videoconferencing service which was implemented in the department was modified to meet typical Cloud Computing infrastructure requirements. This allowed us to validate whether Cloud Computing public infrastructures are suitable for the traffic generated by this kind of system. This analysis focused on the network level and processing capacity and stability of the Cloud Computing systems. In order to improve this validation several other general considerations were taken in order to cover more cases, such as multimedia data processing in the Cloud, as research activity has increased in this area in recent years. The last stage of this dissertation is the design of a new methodology to implement these kinds of applications in hybrid clouds reducing the cost of videoconferencing systems. Finally, this dissertation opens up a discussion about the conclusions obtained throughout this study, resulting in useful information from the different stages of the implementation of videoconferencing systems in Cloud Computing systems. RESUMEN Los sistemas de videoconferencia multiusuario permiten la comunicación entre más de dos usuarios que pueden interactuar a través de cámaras de video, micrófonos y otros elementos. En los últimos años el uso de estos sistemas se ha visto incrementado gracias, por un lado, a la mejora de las redes de acceso en las conexiones a Internet en empresas, universidades y viviendas, que han visto un aumento del ancho de banda disponible en dichas conexiones y una disminución en el retardo experimentado por los datos enviados y recibidos. Por otro lado también ayudó la aparación de las Aplicaciones Ricas de Internet (RIA) con las que gran parte de la lógica y del control de las aplicaciones web comenzó a ejecutarse en los mismos navegadores. Esto permitió a los desarrolladores la creación de aplicaciones web cuya complejidad podía compararse con la de las tradicionales aplicaciones de escritorio, ejecutadas directamente por los sistemas operativos. Más recientemente el uso de sistemas de Cloud Computing ha mejorado la escalabilidad y el abaratamiento de los costes para sistemas de backend, ofreciendo la posibilidad de implementar servicios Web en Internet sin la necesidad de grandes desembolsos iniciales en las áreas de infraestructuras y recursos tanto hardware como software. Sin embargo no existen aún muchas iniciativas con el objetivo de realizar sistemas de videoconferencia que aprovechen las ventajas del Cloud. Esta tesis doctoral propone un conjunto de técnicas, interfaces y algoritmos para la implentación de sistemas de videoconferencia en infraestructuras tanto públicas como privadas de Cloud Computing. Las técnicas propuestas en la tesis se basan en la realización de un servicio básico de videoconferencia que se ejecuta directamente en el navegador sin la necesidad de instalar ningún tipo de aplicación de escritorio. Para ello el desarrollo de esta tesis parte de una aplicación RIA con tecnologías que hoy en día permiten acceder a la cámara y al micrófono directamente desde el navegador, y enviar los datos que capturan a través de la conexión de Internet. Además se han implementado interfaces que permiten a usuarios finales la participación en salas de videoconferencia que se ejecutan en servidores de proveedores de Cloud. Para ello se partió de los resultados obtenidos en las técnicas anteriores de ejecución de aplicaciones en el navegador y se implementaron los recursos de backend en la nube. Además se modificó un servicio ya existente implementado en el departamento para adaptarlo a los requisitos típicos de las infraestructuras de Cloud Computing. Alcanzado este punto se procedió a analizar si las infraestructuras propias de los proveedores públicos de Cloud Computing podrían soportar el tráfico generado por los sistemas que se habían adaptado. Este análisis se centró tanto a nivel de red como a nivel de capacidad de procesamiento y estabilidad de los sistemas. Para los pasos de análisis y validación de los sistemas Cloud se tomaron consideraciones más generales para abarcar casos como el procesamiento de datos multimedia en la nube, campo en el que comienza a haber bastante investigación en los últimos años. Como último paso se ideó una metodología de implementación de este tipo de aplicaciones para que fuera posible abaratar los costes de los sistemas de videoconferencia haciendo uso de clouds híbridos. Finalmente en la tesis se abre una discusión sobre las conclusiones obtenidas a lo largo de este amplio estudio, obteniendo resultados útiles en las distintas etapas de implementación de los sistemas de videoconferencia en la nube. Agradecimientos Ante todo quiero agradecer el trabajo de mi director de tesis, Joaquín Salvachúa, por su apoyo y por contagiarme en innumerables ocasiones su optimismo en los momentos malos de mi investigación. Igualmente me gustaría agradecérselo al resto de personal del departamento, en especial a Juan Quemada, Gabriel Huecas, Santiago Pavón y Mónica Cortés por su ayuda para preparar esta tesis, y anteriores proyectos, clases y conferencias. Muchísimas gracias a todos los que están o han pasado por nuestro laboratorio B-323, es decir, a los Isabelinos. No voy a poner nombres porque, para alguien que hace una tesis es ocupar dos o tres páginas, y si veis ésta comprenderéis que me he pasado del límite ya. Voy a agradecer momentos y anécdotas que entre todos me habéis dado durante todo este tiempo: la bienvenida al departamento, que para mi fue como una fiesta continua que duró un mes entero, con varias conferencias, cenas, etc., de las que recuerdo gente bailando con parejas extrañas y gente saliendo con urgencia del coche de Santi, etc. Gracias por tantas y tantas lecturas de proyecto fin de carrera, tras las que siempre hemos conversado tranquilamente en el B-122. Por aquellas sobremesas que pasamos probando nuevas tecnologías de comunicación en tiempo real en la web, y aprendimos términos como one frag left. Por los viajes que hemos hecho juntos, como Bilbao, Washington o el último a Barcelona, en los que siempre han pasado cosas dignas de recordar. Gracias por los partidos de fútbol, voley playa, pádel o paint ball! También por inventaros las cenas moñas. Gracias por todas las conversaciones que me habéis dado durante las comidas: tema de veganos por delante de todos, por supuesto. Y por muchas, muchas otras historias que no caben aquí, pero que me han servido durante este tiempo que he realizado la tesis. Gracias a mis "amigos