Contribución al despliegue y operación dinámicos y eficientes de sistemas de videoconferencia en entornos distribuidos

  1. ALONSO GONZÁLEZ, ÁLVARO
Dirigida por:
  1. Joaquín Salvachúa Director/a

Universidad de defensa: Universidad Politécnica de Madrid

Fecha de defensa: 08 de septiembre de 2016

Tribunal:
  1. Juan Quemada Vives Presidente/a
  2. Gabriel Isidoro Huecas Fernández-Toribio Secretario/a
  3. David Larrabeiti López Vocal
  4. Xicu Xabiel García Pañeda Vocal
  5. Eva M. Castro Barbero Vocal

Tipo: Tesis

Resumen

Durante los últimos años, los servicios y aplicaciones de videoconferencia han experimentado una serie de cambios debido a la evolución de algunas de las tecnologías implicadas. Históricamente dichos servicios y aplicaciones se habían utilizado en escenarios profesionales muy concretos y gracias a plataformas hardware dedicadas. Sin embargo, la consolidación de tecnologías que permiten el uso de este tipo de sistemas desde plataformas Web ha hecho que sean accesibles desde dispositivos personales como ordenadores, tabletas o teléfonos inteligentes. Esto ha producido un aumento considerable en el número de usuarios que los demandan y en la variedad de casos de uso y escenarios en los que se contemplan. La consecuencia primera de esta ubiquidad es la necesidad de modificar la forma en que se proveen estos servicios. Desplegar sistemas de videoconferencia software en infraestructuras Cloud ofrece a los proveedores una serie de ventajas a la hora de adaptarse a grandes y variables cantidades de usuarios accediendo a sus servicios. El Cloud permite gestionar recursos virtuales de forma dinámica abstrayendo ciertas condiciones de escalabilidad que permiten ahorrar costes y aprovechar los recursos de manera más eficiente. Pero estos despliegues plantean también una serie de retos derivados de la complejidad y características particulares de un sistema de tiempo real como es la videoconferencia. Esta tesis propone una serie de modelos y mecanismos que dan respuesta a estos retos y permiten desplegar sistemas de videoconferencia de manera dinámica y eficiente en sistemas Cloud. Para ello se comienza realizando un estudio detallado de las mencionadas ventajas y retos consiguiendo poner en contexto el problema de cara al diseño de las soluciones. La primera propuesta es una arquitectura que permite escalar de manera dinámica servidores de videoconferencia atendiendo a las variaciones en la demanda. Así, se podrán proveer más o menos recursos según las necesidades de cada momento. Cuando se trata de liberar recursos disponibles es fundamental poder reagrupar las conexiones existentes en un conjunto de servidores para poder apagar el resto. Para conseguirlo se propone un mecanismo de movilidad de flujos multimedia entre servidores sin pérdida de paquetes y de manera transparente para los usuarios. Utilizar sistemas de videoconferencia distribuidos ofrece a este tipo de despliegues más flexibilidad y granularidad consiguiendo mejorar aún más en eficiencia. Pero esto plantea un nuevo reto consistente en la programación de recursos entre los servidores distribuidos. Se propone también en este trabajo un mecanismo que habilita el uso de algoritmos de programación avanzados que permiten tomar decisiones de asignación basándose en el estado de cada servidor distribuido. Además, se propone una nueva métrica para estimar el uso de recursos de cada nuevo cliente permitiendo utilizar dichos algoritmos de forma más precisa. Por último se realiza una comparativa de algoritmos de planificación utilizando una serie de coeficientes de evaluación que permiten determinar la idoneidad de los mismos en cada caso de uso y escenario. ABSTRACT During the last few years, videoconferencing applications and services have experimented several changes due to the related technologies evolution. In the past, this kind of systems were used in very specific professional scenarios and frequently thanks to dedicated hardware platforms. However, the consolidation of new technologies that enables the use of such systems in Web-based platforms have made them accessible from personal devices like computers, tablets or smartphones. Consequently, the number of users that demands this type of services has substantially increased. Also the variety of scenarios in which they are used. The main consequence of these changes is that a new way of providing these services is needed. Deploying software videoconferencing systems in Cloud based infrastructures offers several advantages to the service providers. These deployments help them to adapt the systems to high and variable number of users accessing the services. The Cloud allows the dynamic management of virtual resources and withdraws the providers from the scalability matters. This results in a cost saving and in a more efficient way of resource use. But these Cloud deployments also imply several challenges due to the complexity and particular characteristics of a real time system like videoconference. This thesis proposes a set of models and mechanisms that answer these challenges and allow dynamic and efficient deployments of videoconferecing systems in the Cloud. The starting point is a detailed study about the already mentioned advantages and challenges to contextualise the problem. The first proposal is an architecture that allows the dynamic scalability of videoconferencing servers attending demand variations. Thus, more or less resources could be provided depending on the necessities. When a release of resources is required, it is crucial to group the existing connections in a set of servers to be able to turn off the rest of them. To achieve this, a stream mobility mechanism is proposed. It enables the mobility between servers without packet loss and in a transparent way to the users. Using distributed videoconferencing systems offers more flexibility, granularity and efficiency to these deployments. But the resource scheduling among the distributed servers is not a trivial task. This work also proposes a mechanism that enables the use of advanced scheduling algorithms to take decisions of where to assign new connections based on the state of the distributed servers. Furthermore, a new metric to estimate the resource use of such new connections is proposed. It improves the precision of the assignment decisions. Finally, a comparative between a set of scheduling policies is made. It is performed using several performance coefficients that help to determine the viability of each algorithm depending on the use case and scenario.