Contribution to multiuser videoconferencing systems based on cloud computing
Texto completo
(2)
(3) 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.
(4)
(5) 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,.
(6)
(7) 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..
(8)
(9) 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..
(10)
(11) 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 por el mundo" (Gon, Ire, Ana y Ol), porque vosotros me animasteis como los que más a empezar esta aventura y me habéis seguido ayudando todo este tiempo, sin importar lo lejos que estéis. Mil gracias a mi familia: mis padres, mis hermanos, Sonia, Pietro, Román y María, porque siempre, siempre, me habéis ayudado, y habéis creído en mí. Sin vosotros no habría sabido ni empezar. Como siempre, y como con todo, la que más me ha apoyado eres tú, Bea. Gracias a ti, porque nadie como tú ha "sufrido" tanto esta tesis, y nadie como tú me ha sabido dar consejos tan buenos a cada paso. Por eso para mí tu opinión es la que más vale. Por eso, como me dijiste otras veces: podemos! Por eso, y porque eres lo más bonito y maravilloso, te quiero. Y por último, gracias a los más importantes! Dani, Nerea, Anna y Marco. Porque no hay mejores sobrinos en el mundo entero! Muchísimas gracias a todos!.
(12)
(13) Contents. Abstract Resumen Acknowledgments List of Illustrations List of Tables. 1 Introduction 1.1 1.2 1.3. 1.4. 1. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Research Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Related Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 ITECBAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2 ECOSPACE (IST-2005-35208) . . . . . . . . . . . . . . . . . . . . . . 1.3.3 C@R (IST-2006-034921) . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.4 GLOBAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structure of this Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Chapter 2: State of the Art . . . . . . . . . . . . . . . . . . . . . . . . 1.4.2 Chapter 3: Interface for Videoconferencing in the Cloud . . . . . . . . 1.4.3 Chapter 4: Videoconferencing System Architecture . . . . . . . . . . . 1.4.4 Chapter 5: Methodologies for Testing Cloud Computing Infrastructures 1.4.5 Chapter 6: Cost-Effective Videoconferencing for Hybrid Clouds . . . . 1.4.6 Chapter 7: Validation And Results . . . . . . . . . . . . . . . . . . . . 1.4.7 Chapter 8: Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. 2 State of the Art 2.1. 2.2. 2.3. Cloud Computing Systems . . . . . . . . . . . . . . . . . 2.1.1 Overview of Cloud Computing . . . . . . . . . . . 2.1.2 Cloud Computing Providers . . . . . . . . . . . . 2.1.3 Cloud Computing Platforms . . . . . . . . . . . . 2.1.4 Related Cloud Research . . . . . . . . . . . . . . Technologies for Rich Internet Applications . . . . . . . . 2.2.1 Adobe Flash Player . . . . . . . . . . . . . . . . . 2.2.2 Java FX . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Silverlight . . . . . . . . . . . . . . . . . . . . . . 2.2.4 AJAX Frameworks . . . . . . . . . . . . . . . . . 2.2.5 HTML5 . . . . . . . . . . . . . . . . . . . . . . . Multiparty Videoconferencing Systems . . . . . . . . . . 2.3.1 History of Multiparty Videoconferencing Systems 2.3.2 Signalling Protocols . . . . . . . . . . . . . . . . 2.3.3 Technologies For Sending Media Flows . . . . . .. 2 4 5 6 7 7 8 9 9 9 9 10 10 10 10. 11 . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .. 11 11 19 25 28 32 36 38 41 43 45 48 49 54 58.
(14) CONTENTS 2.3.4. Web VideocOnferencing Systems . . . . . . . . . . . . . . . . . . . . .. 3 Interface for Videoconferencing in the Cloud. 65. 3.1 3.2 3.3. Introduction . . . . . . . . . . . . . . . . . . . . . Objectives . . . . . . . . . . . . . . . . . . . . . . Marte Web Videoconferencing Architecture . . . . 3.3.1 Objectives . . . . . . . . . . . . . . . . . . 3.4 Videoconferencing and Cloud Computing . . . . . 3.5 Nuve: Conceptual Model . . . . . . . . . . . . . . 3.5.1 Users . . . . . . . . . . . . . . . . . . . . 3.5.2 Rooms . . . . . . . . . . . . . . . . . . . 3.5.3 Services . . . . . . . . . . . . . . . . . . . 3.5.4 Tokens . . . . . . . . . . . . . . . . . . . 3.6 Nuve API . . . . . . . . . . . . . . . . . . . . . . 3.6.1 User . . . . . . . . . . . . . . . . . . . . . 3.6.2 Room . . . . . . . . . . . . . . . . . . . . 3.6.3 Service . . . . . . . . . . . . . . . . . . . 3.6.4 Token . . . . . . . . . . . . . . . . . . . . 3.7 Security . . . . . . . . . . . . . . . . . . . . . . . 3.7.1 Description of the problem and experiences 3.7.2 Security in Nuve: MAuth . . . . . . . . . . 3.8 Results . . . . . . . . . . . . . . . . . . . . . . . . 3.8.1 Implementation . . . . . . . . . . . . . . . 3.8.2 Test environment . . . . . . . . . . . . . . 3.9 Contribution . . . . . . . . . . . . . . . . . . . . . 3.10 Conclusions . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. Introduction . . . . . . . . . . . . . . . . . . . . . Objectives . . . . . . . . . . . . . . . . . . . . . . Amazon Network Measurements . . . . . . . . . . 5.3.1 Important network features . . . . . . . . . 5.3.2 Architecture of the measuring environment. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 4 Videoconferencing System Architecture 4.1 4.2 4.3 4.4. 4.5 4.6. Introduction . . . . . . . . . . . . . . . Objectives . . . . . . . . . . . . . . . . Design . . . . . . . . . . . . . . . . . . 4.3.1 Conference Manager . . . . . . Implementation . . . . . . . . . . . . . 4.4.1 Isabel-based videoconferencing 4.4.2 Flash-based videoconferencing . 4.4.3 SIP-based videoconferencing . . 4.4.4 VNC and desktop sharing . . . 4.4.5 Recording . . . . . . . . . . . . Contribution . . . . . . . . . . . . . . . Conclusions . . . . . . . . . . . . . . .. 65 66 67 67 71 72 73 74 74 75 75 76 77 79 80 81 82 85 88 88 89 92 92. 95 . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. 5 Methodologies for Testing Cloud Infrastructures 5.1 5.2 5.3. 62. 95 96 97 97 103 104 105 105 106 106 106 107. 109 109 111 112 113 115.
(15) CONTENTS. 5.4. 5.5. 5.6 5.7. 5.3.3 Measurement results . . . . . . . . . . . . . . . . . . . . 5.3.4 Network Measurements for Stream Processing Systems . . 5.3.5 Processing measurements for Stream Processing Systems . 5.3.6 Discussion For Stream Processing Systems in the Cloud . Multimedia Streaming Experiments . . . . . . . . . . . . . . . . 5.4.1 Tools and statistics . . . . . . . . . . . . . . . . . . . . . 5.4.2 Scenario architecture description . . . . . . . . . . . . . . 5.4.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . Adaptive Cloud Stream Processing Algorithm . . . . . . . . . . . 5.5.1 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . 5.5.3 Experimental Evaluation . . . . . . . . . . . . . . . . . . Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. 6 Cost-Effective Videoconferencing for Hybrid Clouds 6.1 6.2 6.3. 6.4. 6.5 6.6. 137. Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . Motivation and Context . . . . . . . . . . . . . . . . . . . . Validation of Hybrid Cloud for a Videoconferencing System 6.3.1 General methodology . . . . . . . . . . . . . . . . . 6.3.2 Cost analysis . . . . . . . . . . . . . . . . . . . . . 6.3.3 Results Validation and Performance Evaluation . . . Test scenarios . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 Project resource usage . . . . . . . . . . . . . . . . 6.4.2 Research using Conference Manager . . . . . . . . . Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. 7 Validation And Results 7.1. 7.2. 7.3. Validation in European Projects . 7.1.1 ECOSPACE . . . . . . . 7.1.2 Collaboration At Rural . 7.1.3 GLOBAL . . . . . . . . Validation in National Projects . 7.2.1 ITECBAN . . . . . . . 7.2.2 IBA and CyberAula 2.0 Dissemination of Results . . . . 7.3.1 Publications . . . . . . . 7.3.2 Research Visit . . . . . 7.3.3 Teaching and Seminars .. 138 138 140 140 144 145 146 147 147 148 148. 149 . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. Videoconferences Interfaces in Cloud? . . . . . . . . . . . Factors to be considered in the implementation on Clouds? How to adapt videoconferencing to Hybrid Clouds? . . . . Contributions . . . . . . . . . . . . . . . . . . . . . . . . Future Research . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 8 Conclusions 8.1 8.2 8.3 8.4 8.5. 116 120 122 123 124 124 126 128 129 130 132 132 133 134. 149 149 151 152 155 155 158 159 159 162 163. 165 166 168 169 169 173.
(16) CONTENTS. Bibliography. 177.
(17) Illustrations. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10. Layered design of a cloud datacentre network architecture Amazon EC2’s main components . . . . . . . . . . . . . . Percentage of clients with RIA sandboxes installed . . . . JavaFX 2.0 Architecture Diagram . . . . . . . . . . . . . HTML5 APIs and related technologies . . . . . . . . . . . Multiparty Videoconferencing Technical Components . . . AT&T’s Picturephone component diagram . . . . . . . . . Example of Messages Sent During a SIP Session . . . . . List of Messages Used in Jingle . . . . . . . . . . . . . . Overview of real-time protocols and standards . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. 17 21 34 39 47 49 50 55 57 62. 3.1 3.2 3.3 3.4. Nuve Layer Architecture . . . . . . . . . . . . . . . . Authentication Sequence Messages . . . . . . . . . . . Service Deletion Programming Logic . . . . . . . . . Bandwidth and CPU consumption in different scenarios. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 76 87 90 91. 4.1 4.2 4.3 4.4. Conference Manager Architecture Conference Manager REST API . Conference Manager Components Videoconferencing real scenarios .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . 98 . 99 . 104 . 108. 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9. Architecture of the measuring environment . . . . . . . . . . . . . . . . . . . Measurement results between datacentres EU-US . . . . . . . . . . . . . . . . Measurement results between datacentres EU-AP . . . . . . . . . . . . . . . . Measurement results between datacentres US-AP . . . . . . . . . . . . . . . . Experimental set-up for network measurements . . . . . . . . . . . . . . . . . Jitter experienced when sending streams to Amazon EC2 . . . . . . . . . . . . Comparison of network- and application-level delay on Amazon EC2 . . . . . Performance of Esper as a function of time on Amazon EC2 . . . . . . . . . . Increase in throughput with different instance sizes on Amazon EC2 (Different shades/colours correspond to different VMs.) . . . . . . . . . . . . . . . . . . Node distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The 99.7th percentile of jitter in each scenario . . . . . . . . . . . . . . . . . . Bytes received in each scenario . . . . . . . . . . . . . . . . . . . . . . . . . . Packet losses in each scenario . . . . . . . . . . . . . . . . . . . . . . . . . . Elastic DSPS with query partitioning across processing VMs . . . . . . . . . . Dynamic adaptation of VM numbers based on changes in input rates . . . . . .. 5.10 5.11 5.12 5.13 5.14 5.15. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . . . . . .. 112 117 118 119 120 121 121 122. . . . . . . .. 123 127 135 135 135 136 136.
(18) ILLUSTRATIONS 6.1 6.2 6.3 6.4. Typical Cloud Node Costs . . . . . . . . . . Cloud Architecture . . . . . . . . . . . . . . Cost differences between Cloud architectures Cost of an Isabel Hybrid Session . . . . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 141 143 145 147. 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11. ECOSPACE’s Primitives for Managing Nuve Functionalities Videoconferencing Login Page in ECOSPACE . . . . . . . . Example of Marte Room . . . . . . . . . . . . . . . . . . . Screenshot of a recorded event in GlobalPlaza . . . . . . . . Form to create an event in GlobalPlaza . . . . . . . . . . . . Global Plaza Events . . . . . . . . . . . . . . . . . . . . . . Global Plaza Videos . . . . . . . . . . . . . . . . . . . . . . iTecSoft Architecture . . . . . . . . . . . . . . . . . . . . . iTecSoft Login Page . . . . . . . . . . . . . . . . . . . . . . iTecSoft Videoconferencing Client . . . . . . . . . . . . . . CyberAula Architecture . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. 150 151 152 154 155 156 157 158 159 160 161.
(19) Tables. 2.1 2.2 2.3 2.4. Layered Architecture Of Cloud Computing . . . List of Cloud Infrastructure Providers . . . . . . List of Rich Internet Application Frameworks . . Comparison of Web Videoconferencing Systems. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 15 25 35 64. 3.1 3.2 3.3 3.4. Types of HTTP Encapsulations . . . . . . . . Resources From The Conceptual Model . . . HTTP methods used for XML/JSON contents HTTP methods used for HTML contents . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 69 73 81 82. 4.1. HTTP methods used for XML resources . . . . . . . . . . . . . . . . . . . . . .. 99. 7.1. Hosting Requirements for Conference Manager in GLOBAL project . . . . . . . 153. . . . .. . . . ..
(20) TABLES.
(21) Chapter 1 Introduction Videoconferencing systems are widely used throughout the Internet nowadays. In the recent years, the heterogeneity of terminals, such as TV, laptops, mobile phones, tablets, etc. along with the variety of network access connections including ADSL, Cable Modem, Wi-Fi, UMTS, etc. has become to involve more complexity for real-time multimedia systems. But on the other hand they have also given rise to new opportunities for this kind of systems, with new scenarios, and new possibilities for users to talk, collaborate, participate in conference sessions, etc. The maturity of multimedia codecs, formats and protocols has become a reality in the last decade and a lot of videoconferencing applications and solutions arise every year. The use of these systems to handle sessions with multiple participants in a meeting, conferences, course, etc. has been accepted in different scenarios, and many solutions have come about to overcome the problems they present. Among these problems we can find those that are related to any type of videoconferencing (transport protocols, codecs, QoS, signalling protocols, etc.) and those that are closely related to multiple users who are sending their videos to the other participants. The most common problems are related to the need for a centralized architecture that can handle all the streams generated in the session and the implementation of advanced services that can be provided within the sessions: whiteboard sharing, application sharing, instant messaging, and so on. In some cases many of these streams can be produced in distant places that introduce more latency and decrease the overall quality of the session, in other cases the participants can access to the session through different devices, which means more complexity during the management of the session. At the same time, Cloud computing has emerged as a flexible paradigm for facilitating resource management for elastic application deployments at an unprecedented scale. Cloud providers offer a shared set of machines to cloud tenants,. often following an. Infrastructure-as-a-Service (IaaS) model. Tenants create their own virtual infrastructures on top of physical resources through virtualisation. Virtual machines (VMs) then act as implementation environments for applications..
(22) 2. CHAPTER 1. INTRODUCTION The scattered nature of Cloud datacentres allows their clients to set their resources at different. locations around the world, making it possible for videoconferences to set up a new centralized architecture focusing on a specific continent or even country. Furthermore, the availability of different datacentres around the world and their dedicated connectivity could allow these systems to take advantage of new Internet paths around the world. These new paradigms, moreover, could provide "infinite" videoconferencing resources to the extent that it could simplify the scalability of sessions with multiple participants, video streaming, etc. Based on this idea, this dissertation aims to answer this question: How could Cloud Computing platforms leverage the quality and performance of traditional videoconferencing systems with multiple participants? In fact, this work addresses three open challenges to the research community: 1. What kinds of interface are suitable for providing multi-party videoconferencing services in Cloud Computing platforms? 2. Which factors need to be considered in the implementation of real-time multimedia systems in the Cloud? 3. How can we adapt videoconferencing systems to advanced Cloud Computing platforms with multiple providers and heterogeneous infrastructures? This research embraces the study of Cloud Computing as a catalyst for improving several technological challenges in the videoconferencing domain: starting from the study of Cloud interface alternatives that could manage real-time multimedia systems, fol the analysis of different aspects and technological barriers that have to be considered in its implementation and ending with advanced Cloud-oriented mechanisms that could increase the performance of these systems while their costs are minimized.. The main outcome is the proposal of new. Cloud-oriented videoconferencing architectures with improved performance, especially in the context of sessions with multiple participants.. 1.1. Objectives. The main objective of this dissertation is the proposal of new techniques and methodologies to improve current multiuser videoconferencing systems based on the new technologies proposed.
(23) 1.1. OBJECTIVES. 3. by Cloud Computing platforms. Our purpose is the study of new interfaces, implementation architectures and methodologies that could increase the quality of these services, while the costs remain low or even get lower. The specific objectives of this work can be summarized as follows: • To identify open challenges in the implementation of traditional videoconferencing interfaces in Cloud Computing platforms. This study should overcome the strengths and weaknesses of such interfaces for their implementation in Cloud-based architectures. • To propose new interfaces for videoconferencing architectures in Cloud Computing platforms.. As a result of the previous study, this proposal should include a set of. functionalities to handle these architectures. • To identify which elements are needed for videoconferencing in cloud environments. We will define a set of resources that will take part in a system deployed in Cloud platforms. • To implement a videoconferencing system architecture fully implemented in Cloud datacentres. It should take advantage of the main Cloud features: scalability, self-service, automatic resource management, etc. • To test the suitability of Cloud Computing networks in the context of real-time multimedia data. The main network characteristics will be evaluated to check whether they could support data sent through the Cloud network: latency, bandwidth and packet losses. • To test whether Cloud Computing virtual machines are suitable for processing real-time multimedia data. We will evaluate if best-effort VMs are appropriate and have the sufficient level of predictability to support the strict requirements of real-time multimedia systems. • To provide cost-effective mechanisms for deploying videoconferencing systems in multiple Cloud providers. We will design new mechanisms to reduce costs in scenarios with multiple Cloud providers. • To validate the feasibility of the research approach. In order to validate these contributions the objectives described in this document should be validated..
(24) 4. CHAPTER 1. INTRODUCTION. 1.2. Research Methodology. The implementation of videoconferencing systems using Cloud Computing technologies presents significant research challenges. The work carried out in the ITECBAN, ECOSPACE i , C@R ii and GLOBAL. iii. projects has helped me to identify these challenges. In the next section I will give. details on the work carried out in these projects and how they helped me to design, implement, test and validate the architecture. As regards the methodology I followed to make this dissertation, I started from the main objectives explained in section 1.1. I carried out wide-ranging research into the architectures, technologies, and interfaces related to videoconferencing systems in the cloud. Taking into consideration the conclusions of this initial study we started to design an interface to provide Cloud-based videoconferencing resources. As a result, a novel resource-oriented interface was designed, based on traditional standardized videoconferencing interfaces. Moreover, the work carried out at ITECBAN helped the author to implement security mechanisms within the interface to be compatible with business environments with strict authentication requirements. And during the ECOSPACE project the author was able to adapt the interface to interoperable environments. To develop the videoconferencing architecture we based on the previous interface and started to identify the different components that take part in any multimedia session.. As regards. multimedia components, the author participated in the ITECBAN, ECOSPACE and C@R projects to start the development of this system in different scenarios. Once we had identified these components we implemented the architecture following the Cloud Computing principles. In the process of developing a videoconferencing system architecture based on Cloud Computing technologies we had to take into account the problems and challenges it can present for real-time multimedia systems. This kind of system usually involves strict requirements as regards of the special conditions of the traffic they generate and handle. All these challenges and problems were identified during the development of these architectures in the GLOBAL project. In particular, the author contributed to the definition and validation of a common videoconferencing architecture partially hosted on public Cloud datacentres that were used by i http://www.ip-ecospace.org/ ii http://www.c-rural.eu/ iii http://www.global-project.eu/.
(25) 1.3. RELATED PROJECTS. 5. many European projects to set up virtual conferences. An extensive review of the literature was carried out related to Cloud Computing performance evaluations. A series of tests were carried out in order to check whether Cloud Computing infrastructures were suitable for processing real-time data and managing the multimedia traffic through their networks. Many conclusions were drawn from this study that validated the suitability of Cloud systems to host videoconferencing resources. Further research was required for extending the results to more general streaming services, such as the case of stream processing systems. During a three-month research stay in the Department of Computing at the Imperial College London, in the United Kingdom, the author carried out an extended evaluation of Cloud systems in the context of stream processing engines that are hosted in their infrastructures. Once the technical validation was completed the author designed a new cost-effective methodology for Hybrid Cloud scenarios. These scenarios consist of applications and services that are distributed on multiple Cloud providers at the same time, either public of private Clouds. As a result, the author was able to validate the feasibility of videoconferencing systems in these scenarios economically reducing Cloud costs in cases where the services can be dividing into several components. A final validation was carried out throughout the different projects in which the author participated. In the next section we will see details of those projects in which the author actively participated and whose work was crucial in validating this dissertation. Additional projects were equally helpful during these tasks, such as IBA and CyberAula 2.0 national projects, in which the architecture implemented by the author was used to support videoconferencing and lecture recording services through the integration of three platforms: UPM Moodle, the Global Plaza platform and Isabel videoconferencing tool. In these projects the author was able to validate the usage of these videoconferencing systems in the Cloud in real scenarios.. 1.3. Related Projects. The research of this dissertation has been partially supported by projects related to collaborative spaces and videoconferencing technologies. This allows the author to validate the theoretical development in real scenarios, the interoperability with external services and the integration into Cloud Computing systems. A brief description of these projects is presented in chronological.
(26) 6. CHAPTER 1. INTRODUCTION. order.. 1.3.1. ITECBAN. The ITECBAN project, part of the CENIT program of the Ministerio de Industria, has as its main objective the creation of an infrastructure, both methodological and technological through which the removal of the current limitations of information systems used in financial environments is achieved. To this end, the author participated in building additional software tools to the core banking process, oriented towards the collaborative activities of a virtual organization. ITECBAN had to support different collaborative activities such as the software development process within a banking core, videoconference, content management, etc. These activities imposed a series of requirements that the platform needed to support. This platform must satisfy, at least, the following functional requirements: • Asynchronous communication for organizing f2f (face-to-face) meetings or coordinating activities. • Synchronous communication for sharing management information in different standardized formats. • The ability to use this information from geographically distributed facilities. • Coordinating a group of people with quite similar skills and business expertise through a project/group leader, manager or community expert. • Scheduling virtual or f2f meetings, keeping track of them. • Using workflow management to coordinate their daily activities. • Each component is independent of the others and they communicate through the services that each of them offers. This provided an opportunity to validate some of the contributions of this dissertation. In particular, the author was able to implement the videoconferencing interface and a first architecture based on this interface, and test it in a business environment..
(27) 1.3. RELATED PROJECTS 1.3.2. 7. ECOSPACE (IST-2005-35208). ECOSPACE is an integrated project pursuing the vision that every professional in Europe is empowered for seamless, dynamic and creative collaboration across teams, organisations and communities through a personalised collaborative environment. The main project objective is the realisation of new collaborative working environments based on a better understanding of the work environment, the development of collaboration services as a collaboration platform, and new innovative user-centric collaboration tools that reduce the complexity of todayâĂŹs technology-centric applications. Accordingly, the objective of ECOSPACE, embedded in several living labs within different application areas, is to develop: • Innovative working paradigms through research and understanding of eProfessional work and organisation. • A reference architecture and interoperability concepts for a user-centric integration of collaboration tools • Collaboration layer middleware services to ensure seamless and instant collaboration between knowledge workers in group forming networks, beyond organisational boundaries. • New collaboration-aware tools that reduce the complexity of collaboration in dynamic work environments supporting users for creative and knowledge intensive tasks. Instant collaboration is supported by the integration of asynchronous and synchronous collaboration tools, which results in augmented virtual presence/social networks and rich virtual collaboration. The author contributed with the deployment of the videoconferencing architecture and interface in the Cloud and its integration into the rest of collaborative tools in the project.. 1.3.3. C@R (IST-2006-034921). C@R, short for Collaboration at Rural, is an Integrated Project, funded by the IST programme of the European Commission’s 6th Framework Programme. Its main objective is to promote the introduction of collaborative working environments as key enablers of sustainable development in.
(28) 8. CHAPTER 1. INTRODUCTION. rural areas iv . C@R proposes a technological response to the barriers preventing rural development and will use the Living Labs methodology as a way to involve rural constituencies in Research & Technological Development (RTD) activities in collaborative technologies. This project proposed a set of collaboration tools, in which we included the videoconferencing architecture provided in this dissertation. 1.3.4. GLOBAL. The objective of the GLOBAL project is to increase the impact, dissemination and promotion of e-Infrastructure research projects in Europe and around the world by means of the service provision of a Virtual Conference Centre (VCC). The VCC uses advanced communication technologies to allow project and training events to reach a wider audience located in multiple geographical locations through the organisation of virtual conferences. GLOBAL enables the remote participation as virtual connections via Internet to events, by deploying a well-developed system called Conference Manager. Participation may allow any type of remote contribution, from just asking questions, remote demonstrations or giving remote presentations with slides. As an example, GLOBAL enabled the integration of remote participation at TNC2009 from keynote speakers and auditoria worldwide. The VCC provides a user-centric interface for the planning, creation, announcement, coordination, content management, and realisation of virtual conferences with open and wide participation. Focusing on usability, it provided three main functions: • A Virtual Auditorium, for planning, co-ordination, and management of the virtual events. • An Event Repository, to store the recordings and outputs of the events. • A Virtual Corridor, which supported networking and partnership building between the participants. The author collaborated in this project by implementing the Conference Manager, which is the central videoconferencing architecture of this dissertation and the project. During the project the iv According to the EC definition, a rural area is an area with a population density below 100 inhabitants per km2.This creates special conditions for the development of an infrastructure that are different from the more populated city areas. It is also important to research into the conditions for development of IT applications in environments where there is traditionally a low educational level..
(29) 1.4. STRUCTURE OF THIS DOCUMENT. 9. author also evaluated the suitability of Cloud Computing platforms as tools to host the Conference Manager’s resources.. 1.4 1.4.1. Structure of this Document Chapter 2: State of the Art. In this chapter, an in-depth study of current technologies and related work is presented to give a general overview of videoconferencing interfaces, protocols and tools on the one hand, and Cloud Computing systems and technologies on the other. The study includes the current state of the art in evaluations of how Cloud Computing systems can host high-performance systems, research applications and others with strong real-time and processing requirements. Other studies related to cost-effective mechanisms for hybrid Cloud Computing systems are also detailed in this chapter.. 1.4.2. Chapter 3: Interface for Videoconferencing in the Cloud. In this chapter, results of the definition and design of new interfaces for providing videoconferencing applications by means of Cloud Computing platforms are presented. A model was designed resulting from the work made in projects ITECBAN, ECOSPACE and CR. This interface follows the Resource Oriented Architecture and is considered so as to instantiate different components in Cloud Computing systems. Furthermore, this interface aims to handle virtual conference with multiple participants who are sharing video, audio, desktop applications and instant messaging.. 1.4.3. Chapter 4: Videoconferencing System Architecture. In this chapter, a new videoconferencing architecture is introduced that implements the interface designed in the previous chapter. This architecture is completely deployed in the Cloud, following its principles to improve scalability and resource distribution around the world. Several real tests were carried out to validate the architecture, and it was also partially supported by the GLOBAL project. The modular nature of the system provides new methods to optimize it in Cloud platforms..
(30) 10 1.4.4. CHAPTER 1. INTRODUCTION Chapter 5: Methodologies for Testing Cloud Computing Infrastructures. In this chapter, the author present results of the evaluation of Cloud Computing infrastructures. The main purpose of this evaluation is to check whether current infrastructures (network and CPU virtualization) are suitable for hosting real-time multimedia resources and traffic, and test whether those world Internet paths that connect different datacentres of the same Cloud provider are of better quality than standard Internet routes. This work was also extended during a research visit at Imperial College by studying similar scenarios for stream processing systems. 1.4.5. Chapter 6: Cost-Effective Videoconferencing for Hybrid Clouds. In this chapter, a new method to optimize the cost in applications in Cloud scenarios with multiple providers is introduced.. The aim of the optimization is to reduce costs in these. scenarios. To be able to exploit the hybrid clouds effectively two things are required. First we need to provide a uniform and homogeneous view of virtualized resources, regardless of the underlying virtualization platform. Second, we need to split the service into three parts: CPU, bandwidth and storage intensive modules. 1.4.6. Chapter 7: Validation And Results. In this chapter, general results from the different projects are presented along with validation of every contribution. It also details the results of this validation, dissemination details in the research community and additional information on the results of the dissertation. 1.4.7. Chapter 8: Conclusions. In this chapter, the author summarizes the main contributions and outlines some future research activities based on this work..
(31) Chapter 2 State of the Art 2.1. Cloud Computing Systems. ”Cloud Computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction” [Mell 2011], according to the National Institute of Standards and Technology (NIST). Apart from this, there are thousand-and-one ways of defining Cloud Computing. As an example, the work in [Vaquero 2009] compared more than 20 different definitions from a variety of sources trying to extract a consensus definition. It is a new computing model in which resources are provided as general utilities (the same as water, electricity, gas, and telephony), that can be leased and released by users through the Internet in an on-demand fashion. The emergence of Cloud Computing has the potential to transform the Information Technology (IT) as we know it today [Kalapatapu 2012]. Business enterprises seek to reshape their business models to gain benefit from this new paradigm. Indeed, Cloud Computing provides several compelling features that make it attractive to business owners: No up-front investment, lowering operating cost, highly scalable, easy access, and reducing business risks and maintenance expenses [Zhang 2010]. In this section we provide an overview of Cloud Computing and give details about some Cloud Providers and different platforms that offer Cloud services at different levels.. 2.1.1. Overview of Cloud Computing. The basic idea of Cloud Computing, which is related with Utility Computing, is not a new one. The concept of computing as public utility was announced in 1955 [Parkhill 1966], and remained just a concept for near 50 years. Actually, the term ”Cloud” has also been used in other contexts like telephony, Internet, etc. The term "Cloud Computing" was first used by NetCentric, when they tried to trademark the term.
(32) 12. CHAPTER 2. STATE OF THE ART. in a patent. They abandoned it in April 1999. The New York Times used the phrase "cloud of computers" when talking about a new Microsoft .Net services platform called Hailstrom. Finally in 2006 Google’s CEO Eric Schmidt described Google’s approach to SaaS as Cloud Computing in the Search Engine Strategies Conference. A few weeks later Amazon included the word "cloud" in EC2 when it was launched. Since then the term cloud has been widely used in a marketing fashion without any other standard definition but the one from NIST. The main reason for the existence of different perceptions of Cloud Computing is that it is not a new technology, but rather a new model using a set of existing technologies to run business and computing in a novel way. Actually many of the technologies of Cloud Computing are not new, such as virtualization and utility-based pricing. But it uses these technologies to meet the actual technological requirements of today’s demand for IT.. Cloud Computing Features According to NIST definition these would be the essential features of Cloud Computing: • On-demand self-service: A client can provision computing resources as needed without requiring human interaction with each provider. Typical computing resources would be server time, storage capacity, network access to the server, etc. • Broad network access: Capabilities and resources are available over the network and can be accessed from anywhere. The access is made through standard mechanisms that promote use from different client platforms, such as laptops, mobile devices, or tablets. Several protocols are being implemented in order to access both interfaces and cloud resources. In the case of the interfaces the most common is HTTP and in the case of the resources it depends on the type of resources, operating system and services that are running. • Resource pooling: This is a principle which means making a collection of resources behave like a single pooled resource [Wischik 2008]. Here the provider’s computing resources are shared amongst multiple users. • Location Independence: There is a sense of location independence in that the consumer generally has no knowledge over the exact location of the provided resources. In contrast the.
(33) 2.1. CLOUD COMPUTING SYSTEMS. 13. user may be able to specify the location at a higher level of abstraction. In order to reduce the latency many commercial cloud providers deploy datacentres in different location around the world. And example is Amazon EC2, that currently has installed several datacentres in USA, Europe and Asia. • Multi-Tenancy: The resources are pooled to server multiple consumers using a multi-tenant model, i.e., with different physical and virtual resources dynamically assigned and reassigned according to user demands. There are examples like OpenStack platform, which takes into account different tenants, which can be dynamically associated with projects, users, etc. • Rapid elasticity: Capabilities and resources can be rapidly and elastically provisioned to quickly scale out and scale in. Actually, the capabilities to be provisioned often appear to be unlimited and can be purchased in any quantity at any time. There are different auto-scaling solutions used by several cloud, proposals, commercial ones and others developed by academia. In [Marshall 2010] they developed a resource manager that adapts services provided within a site (schedulers, storage archives, Web services, etc), and to avoid over- and under-provisioning the resources they proposed three different policies to schedule resource deployment based on demand. These policies are on demand (booting new VMs when there are new jobs in the queue and terminating them when the queue is empty), steady stream (leaving always at least one VM running becuase it assumes that there will potentially be a "steady stream" of jobs arriving at the queue), and bursts (calculating the amount of machines to boot when a burst of jobs arrives, basing on the amount of work in the queue). Similar works also monitor a job queue [Murphy 2009] or individual jobs [de Assuncao 2009]. VioCluster [Ruth 2005] is a scaling solution that works with clusters of physical and virtual machines similar to the previous one. In [Ruth 2006] the authors create an adaptive environment of VMs which adjusts the number of machines by measuring the current load within each VM. We will see commercial and Open Source solutions in sections 2.1.3 and 2.1.2. • Measured Service: Resource usage can be maintained for both provider and the consumer of the utilized service. In general users have less work in terms of resource upgrades and management. With the evolution of grid computing some authors published their work on.
(34) 14. CHAPTER 2. STATE OF THE ART monitoring large-scale distributed platforms built on top of these systems. For example in [Wolski 1999] they provided short-term performance forecasts based on historic performance measurements by means of a distributed system. To increase fault tolerance they used an adaptive and replicated control strategy by an adaptive time-out discovery and a distributed election protocol. They used sensors grouped into heriarchical set called cliques, which can only perform intra-clique measurements increasing scalability of the system.. In [Massie 2004] Ganglie addresses the problem of wide-area multi-cluster. monitoring using a hierarchy of arbitrary number of levels.. Finally, Supermon. [Sottile 2002] focus on a fine-grained sampling of measurements in order to provide a high-speed cluster monitoring tool, and RVision [Ferreto 2002] follows a master-slave architecture which communicate by using TCP and UDP sockets with a low-overhead protocol used for monitoring clusters. Typical problems of Cloud Computing related with these features have been often reported in several studies. In [Armbrust 2009] the authors discussed about different Cloud Computing challenges, such as the need for availability of cloud service, data lock-in due to poor interoperability among platforms, privacy, data transfer bottlenecks between providers and consumers, performance unpredictability in the virtualized software, licensing, etc.. Cloud Computing Architecture Cloud Computing architecture is based on the classical 7-layer OSI model of data networks i . The layered model in Cloud Computing serves the same general purpose. The components of a basic layered architecture are shown in Table 2.1, namely the Client, its required Services, the Applications that the Client runs, the Platform on which these applications run, the Storage requirement and finally the Infrastructure required to support the Client’s computing needs. Clients: The clients of Cloud Computing could be hardware or software devices with the computational capability for making requests to cloud APIs to consume any type of service. Services: Typically there would be Web Services with special APIs or interfaces. These could leverage features not only from the Web, but also infrastructure and platform capabilities. For. i ITU-T. X-Series Recommendations: http://www.itu.int/rec/T-REC-X/en.
(35) 2.1. CLOUD COMPUTING SYSTEMS. 15. CLIENTS. Cloud Computing users. Consumers of any cloud service.. SERVICES. Web services. Storage. APPLICATIONS. PLATFORMS. OPERATING SYSTEM. Flickr API, Google Maps API,. Web-based applications. Google salesforce.com, tax preparation, Flickr. apps,. Virtual hosting. Use a preconfigured appliance or a custom software stack, AMP, GlassFish, etc. Rent a preconfigured OS. Add applications. Example: DNS server. your. own. VIRTUAL SERVERS. Rent a virtual server. Deploy a VM image or install your own software stack. PHYSICAL SERVERS. Rent a compute grid. Example of this would be HPC applications. CLOUD INFRASTRUCTURE. HARDWARE & SOFTWARE STACK. Table 2.1 : Layered Architecture Of Cloud Computing. example, different cloud service models like SaaS (Software as a Service), IaaS (Infrastructure as a Service) and PaaS (Platform as a Service) could made available through these interfaces. Applications: Cloud Computing allows users to access applications remotely via Internet, rather than installing them at each customer’s own computer, thereby simplifying maintenance and support at the customer’s end. Platforms: Cloud also facilitates deployment of applications without the need for buying and managing underlying hardware and software components.. This layer often use Cloud. infrastructure and using this layer consumers create Cloud applications. Operating System: These usually are preconfigured Operating Systems prepared to be used with a set of applications in the upper layers. Users only need to install these applications to support or offer other cloud services. Virtual Servers: This layer delivers computer infrastructure, including management of virtual resources such as CPU, network, storage capacity, etc. Clients of this layer buy these resources as a fully outsourced service..
(36) 16. CHAPTER 2. STATE OF THE ART Physical Servers: These are the physical resources that are going to be used by the. virtualization layer.. Clients also could use these layer as a compute grid, especially for. High-Performance Applications (HPC). Frequently components that are related to one of the layers make use of components which reside on the underlying layers. But there could be some resources that could be related to more than one layer at the same time. It does not only depend on each particular service, but also on the deployment methodology, if the cloud service is going to be commercial, or if it is going to be deployed in a private datacentre. Typical architecture design for a cloud datacentre, private or public, is explained in the next part of the section.. Cloud datacentre architecture The datacentre is the home for the computation power and storage, In Cloud Computing systems it is the core of the platform and usually contains numerous devices such as routers, switches, servers, hard disks, etc. Thus, the planning of its architecture is a critical step in the design of a cloud system, as it will heavily influence service performance and communication throughput, while other features like scalability and auto-scaling have to be considered in its implementation. Nowadays a datacentre is implemented with a layered approach, like the one in figure 2.1. The architecture is based on three layers: Access layer: Here the servers that are in racks physically connect to the network. According to [Zhang 2010] typical values are 20 to 40 servers per rack, each connected to an access switch with a 1 Gbps link. Access switches are connected to two aggregation switches in order to have redundancy. This connection is made of links with 10 Gbps. Aggregation layer: Some functions such as domain service, location service, load balancing, etc. are provided at this layer. Core layer: This layer provides connectivity to multiple aggregation layers using core routers that manage traffic into and out of the datacentre. This layer provides provides a resilient router traffic with no single point of failure. According to [Al-Fares 2008, Greenberg 2009, Guo 2009] a datacentre network architecture should meet the following objectives: Uniform high network capacity, a communication topology that supports free VM migration, resiliency, scalability to allow for incremental expansion and.
(37) 2.1. CLOUD COMPUTING SYSTEMS. 17. backward compatibility with switches and routers running.. Internet. Core. Aggregation. ….... Access. Figure 2.1 : Layered design of a cloud datacentre network architecture. Cloud Deployment Techniques Typical Cloud deployment techniques comprise the Public deployment, the Private deployment and the Hybrid deployment. We discuss each of these deployment methodologies briefly below: Public Cloud:. With this technique the Cloud deployment resources are dynamically. provisioned by third party providers who bill the users on a fine grained utility computing basis. They traditionally offer easy resource management, scalability and flexibility with an economical pay-as-you-go model. These services are often publicly available to the users through Web user interfaces..
(38) 18. CHAPTER 2. STATE OF THE ART Private Cloud: This deployment maintains the services and infrastructures on a private. network. Traditionally these clouds offer greater level of security and control, but on the other hand they require the company to still purchase and maintain all the resources, software and other infrastructure element, which could reduce the cost savings. Today the lines between private and public clouds are blurring because some public cloud providers are now offering private versions of their public clouds. These clouds are commonly known as Virtual Private Clouds. And at the same time some companies more specialized in private clouds have started to offer public services with their products in a public cloud fashion. Hybrid Cloud: This term has been widely discussed among a variety of authors. Here we will consider a Hybrid Cloud as a variety of public and private options with multiple providers and private technologies. Typically in this scenario the consumers keeps each aspect at its business in the most efficient environment possible. The problem here is that the consumer has to keep track of multiple different platforms and ensure that all aspects of their business can communicate with each other. We will further discuss advantages and disadvantages later when we talk about Hybrid Clouds and their benefits. In section 2.1.4 we will further discuss its state-of-the art and research challenges.. Cloud Computing Services Cloud Computing is the delivery of computing, software, information, network and platforms as a service. Actually another way to describe it would be to term it as "Everything as a Service", or XaaS. The Cloud can provide its users with thousands of service models and services. These are the most known: Infrastructure as a Service (IaaS): It covers Operating System, Virtual Server and Physical Server layers seen in the previous section, when we talked about the Cloud Computing architecture. Thus, this service provisions for hardware related services: storage, virtual servers, network, etc.. Consumers can use IaaS to quickly build new versions of applications or. environments, and they do not need to purchase for updates. Features like on-demand self service and pay-as-you-go model makes IaaS competent enough for any kind of business. Examples of this service are Amazon, Rackspace, GoGrid, Microsoft Azure, CloudSigma, etc. But there are also technologies such as OpenNebula, Eucalyptus, OpenStack, etc.. that provide this.
(39) 2.1. CLOUD COMPUTING SYSTEMS. 19. functionality to organizations that are going to implement a private cloud. Furthermore there are standard and non-standard interfaces such as OCCI, vCloud, CIMI, Amazon EC2 API, etc. Platform as a Service (PaaS): It covers the Platform layer. It offers facilities for application development, design, testing, deployment and hosting. Several platforms also include extra features like team collaboration, external APIs, security, database integration, etc.. Typical. commercial examples are Google App Engine, Microsoft Azure, Force.com, Heroku, etc. Software as a Service (SaaS): It covers service and application layers. In this case the cloud provides applications as fully or partially remote services. Typically these applications are based on web interfaces and users can access them using a thin client (with the RIA solutions we will comment in section 2.2), but other times it consists of non-remote applications which interact with some part of the service via Internet. Examples are Salesforce.com, GMail, google docs, Hotmail, etc. Apart from these services we can also find references to a more granular classification of them, which includes: Database as a Service(DaaS): It provides database software and related physical database storage as a service. The users can access the service on a pay-as-you-go basis that provides ondemand access to a database deployed in the Cloud. There are examples such as Amazon S3 or Force.com. There are also standard interfaces such as CDMI. Process as a Service (PraaS): It refers to a remote resource that is able to bind many resources together, either hosted within the same Cloud resource or remote, in order to create business processes. Typically these processes are easier to change than standard applications so they can be updated more frequently. Providers include Appian Anywhere, Akemma and Intensil. Videoconference as a Service (VaaS): It provides videoconferencing capabilities such as video and audio communication among users. Videoconferencing resources are running in the cloud and users are connected with them using traditional or private communication protocols such as RTP or RTMP. Examples include BigBlueButton, Flash Meeting, and Tok Box.. 2.1.2. Cloud Computing Providers. This section depicts the most important IaaS providers nowadays, showing main characteristics and additional features, and making a comparison among them..
(40) 20. CHAPTER 2. STATE OF THE ART. Amazon AWS It is composed of Amazon EC2 (Elastic Compute Cloud) and Amazon S3 (Simple Storage Service) among other services. Currently the highest profile IaaS operation is Amazon Web Services set of Cloud services. Thus, the term "cloud infrastructure" is largely synonymous with Amazon EC2 and S3 for a majority of people working with clouds according to [Reese 2009]. Amazon did not start implementing its cloud from the scratch thinking in a cloud-based service. Instead they initially built a massive infrastructure to support its retail business and lately they discovered it was underused. Then they decided to offer these useless CPU cycles and resources as a web service. And they realized that customers began to use it massively. Amazon’s EC2 and S3 were launched in 2006 and has evolved since then by adding new features and support for different systems. Amazon S3: S3 is cloud-based persistent storage. It is independent from the rest of Amazon services to the extend that traditional applications could use it without any need to otherwise be in the cloud. Access to Amazon S3 can be made through SOAP or REST APIs. And both APIs support the ability to fin buckets and objects, discover their metadata, create new buckets, upload objects to these buckets, and delete existing buckets and objects. Currently there are myriads of API wrappers for a wide variety of programming languages. Thus, Amazon S3 is not a traditional file system, it has no directories or files. Instead it uses buckets in which users can store objects of data. Amazon EC2: EC2 represents the user’s virtual network with all of the virtual servers running inside this network. It depends on Amazon’s S3 because machine images and other resources are stored there. There is a set of concepts related to Amazon EC2 that are part of that service and are related to each other, see figure 2.2. Thus, Amazon EC2 is composed of: an instance is a virtual server running a guest operating system based on the machine image from which the instance was cloned; an Amazon Machine Image (AMI) is a copy of the server that can be used to launch any number of instances, with at least an operating system along with common pre-installed tools; Region is a single geographic cluster made up of several availability zones; Availability Zones are virtual datacentres, which do not share any common points of failure; a Security Group is a group of machines governed by the same firewall; Block Storage volumes are similar to SAN (Storage Area.
(41) 2.1. CLOUD COMPUTING SYSTEMS. 21. Network) disks that can be attached to instances; and Snapshots that could be use to backup or replicate block volumes and store them in Amazon S3.. Region – Geographic Location. Availability Zone – Data center Security Group. I AMI. Volume. Snapshot. Instance. Figure 2.2 : Amazon EC2’s main components. Other Amazon services: Amazon AWS is a portfolio of products related with Cloud environments. Apart from EC2 and S3, there are additional services that provide additional support for storage (such as Amazon Elastic Block Store), databases (such as Amazon DynamoDB and Relational Database Service), networking (such as Amazon Virtual Private Cloud and Route53) and monitoring (with Amazon CloudWatch). Rackspace It is another example of cloud platform that bills on a utility computing basis. It provides hosting capabilities similar to Amazon EC2. It was initially launched as Mosso LLC in 2006, but this name was dropped in favour of Rackspace Cloud in 2009. Finally in 2011 the word cloud was taken out from its name, resulting in Rackspace. As part of its services user can find storage, cloud infrastructure, and even web platforms. The storage is offered through the service Cloud Files, that also offers Content Delivery Network (CDN) and it is quite similar to Amazon’s S3 service. Cloud infrastructure is provided with the service Cloud Servers. The technology behind this service was purchased by Rackspace in 2008, when they acquire Slicehost. Finally they also offer web platform functionalities in the service Cloud Sites, which supports web platforms such as PHP, Python, Perl, .NET, etc..
(42) 22. CHAPTER 2. STATE OF THE ART The servers of Cloud Servers can be physically located in places such as Chicago, London or. Hong Kong. According to [Clark 2010] both NASA and Rackspace donated technology to the OpenStack that provides IaaS functionalities such as Nova, which is a compute provider similar to Amazon EC2, and Swift, which offers cloud storage. CloudSigma Its aim is to provide IaaS capabilities targeting the European market. As previous cases CloudSigma also employs a combination of an API and a GUI web console. Their business model is different from other existing solutions in the market because they sell four different products: CPU, RAM, data storage and data transfer.. They offer standard. subscription pricing but also have an on-demand burst pricing mechanism based on the utilisation of their cloud. Windows Azure. This is a cloud platform used to deploy web applications in Microsoft. datacentres. It is mainly focused on offering PaaS capabilities, but in essence it also provides IaaS functionalities.. The whole platform consists of several on-demand services hosted in. Microsoft datacentres. These services are Windows Azure, which provides scalable compute and storage facilities, SQL Azure as a version of SQL server, and Windows Azure AppFabric, which is a collection of APIs supporting applications both in the cloud an on premise. Microsoft also offers CDN services within Windows Azure, in addition to libraries for .NET, Java and Node.js. There are several studies that also measure Azure’s performance. For example, in [Hill 2010] Hill et al. observed overall good performance of the Azure mechanisms and they proposed recommendations for potential users of Windows Azure based on their observations. Others have used Azure for developing science applications, e.g. in [Lu 2010] Lu et al. examine the best practices of handling the large scale parallelism and large volumes of data using Microsoft’s Windows Azure. GoGrid This is a cloud infrastructure provider that provides the virtualization of Linux and Windows virtual machines. It also enables the management of these virtual machines through a web portal and RESTful APIs. Among their services cloud consumers could find CDN, cloud storage, load balancers, dedicated servers and the possibility of locating virtual machines in different locations: San Francisco, and Ashburn..
(43) 2.1. CLOUD COMPUTING SYSTEMS Terremark vCloud. 23. Terremark is’s vCLoud Express is another cloud infrastructure in which. users can start virtual machines in a pay-as-you-go basis. The VMs are built on top of VMWare infrastructure, so they support a wide range of different operating systems running on them, including Windows servers. They also enables the management and configuration of virtual machines through a web portal and through a RESTful API. And among other features they offer hardware load balancing, integrated firewalls, server cloning and redundant architecture. As an example the portal usa.gov, one of the busiest US government Web sites, was migrated to Terremark’s IaaS platform [Paquette 2010].. Joyent Joyent offers cloud infrastructure capabilities in addition to some PaaS environment using Node.js as development language. Originally they focused on providing a cloud suite of applications such as mail, calendar, and so on. In 2011, Joyent open sourced SmartOS, its specialized distribution of Illumos, along with its port of KVM (Kernel-based Virtual Machine). They are also supporters of these open source projects and of others like Node.js. As an example the Major League Baseball Advanced Media, the company that develops and maintains the Major League Baseball Web sites in the United States, decided to deploy their web sites on Joyent’s cloud infrastructure [Klems 2009].. Flexiscale Flexiscale was launched as the first European product offering utility computing and world’s second Cloud Computing platform.. It uses the open source Xen hypervisor, and. technology from Sun Microsystems to provide the storage solution. Their current release of their service uses Extility, which is a fully automated software suite that enables managed service providers, hosting providers, and datacentre operators to offer cloudcomputing services to their customers. It can use Xen, KVM or even VMWare hypervisors.. Skytap Skytap is a Cloud Computing platform which imports existing virtual machines and applications into a clou environment. Its infrastructure supports different hypervisors, such as VMWare and Xen, in addition to different operating systems like Microsoft Windows and Linux. It also provides customization management and automation capabilities for hosted systems..
Documento similar
En este sentido, es importante destacar el hecho de que el verdadero objetivo perseguido en el presente capítulo no reside en la dificultad comprendida en cuanto a la
The board was monitored by executing the work cycle above using a YOKOGAWA DL850E oscilloscope, obtaining the results shown in Figure 12.. Electric current consumed by HELTEC Wi-Fi
Por su naturaleza, la tecnología de Cloud Computing se puede integrar con mucha mayor facilidad y rapidez con el resto de sus aplicaciones empresariales (tanto software tradicional
[r]
The following list summarizes major characteristics of a RANaaS implementation similar to the basic char- acteristics of a cloud-computing platform:.. On-demand provisioning of
Analysis of the point cloud acquired with the UAV The complete point cloud from the UAV-based laser scanning system is initially split into separate point clouds from
Bouvry, “Assessing performance of Internet of Things-based mobile crowdsensing systems for sensing as a service applications in smart cities,” in IEEE International Conference on
More precisely, GeneSIS includes: (i) a domain specific modelling language to specify the deployment of SIS over IoT, Edge and Cloud infrastructure with the necessary concepts