Contribution to Multiuser Videoconferencing Systems Based on Cloud Computing

Total Page:16

File Type:pdf, Size:1020Kb

Contribution to Multiuser Videoconferencing Systems Based on Cloud Computing 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
Recommended publications
  • Flex and Object-Oriented Programming
    06_287644-ch01.qxp 6/23/08 11:28 PM Page 3 About Flex 3 lex 3 is the most recent version of a platform for developing and deploying software applications that run on top of the Adobe Flash IN THIS CHAPTER FPlayer. While such tools have existed for many years, the most recent Understanding the fundamentals toolkit from Adobe Systems allows programmers with object-oriented back- of Flex grounds to become productive very quickly using the skills they already have learned in other programming languages and platforms. Getting to know Flex applications Since the release of Flex 2, the Flex development environment has encour- aged a development workflow similar to that used in other desktop develop- Developing in Flex versus Flash ment environments such as Visual Studio, Delphi, and JBuilder. The Using Flex with object-oriented developer writes source code and compiles an application locally and then programming uploads the finished application to a Web server for access by the user. That isn’t how Flex started, however. Understanding the Flash Player Flex was originally released by Macromedia as a server-based application Learning the history of the Flash deployment and hosting platform. In the early versions of the Flex product Player line, an MXML/ActionScript compiler was included in a Java-based Web Making the most of Flex 3 application hosted on a Java 2 Enterprise Edition (J2EE) server. Application development tools source code was stored on the server. When a user made a request to the server, the application was compiled “on request” and delivered to the user’s Getting help browser, and hosted by the FlashCOPYRIGHTED Player.
    [Show full text]
  • ON Soluciones
    € Número 71 - Diciembre 2016 - 14 Call & Contact Centers / Customer Engagement / BPO by ON Soluciones renueva su imagen como expertos Santiago Muñoz-Chápulí socio fundador en la construcción de experiencias de ON Soluciones generadas desde el contact center. María José Peraza socia de ON Soluciones En positivo Enred@dos Hoy hablamos con... Caso de éxito Analizamos el mapa Responsables Charlamos con José En Schibsted Spain, desde del viaje del cliente de Hawkers nos Miguel Zarco, KAM- el área recién inaugurada como herramienta cuentan su estrategia Ventas Microempresas de “Customer Experience que ayuda a dar para lograr tener en Vodafone España Management” han valor a los momentos legiones de clientes sobre su trayectoria incorporado la voz del de la verdad. fans. profesional. cliente en la organización. / P.10 / P.44 / P.56 / P.70 Nº 71 ODiciembre 2016 ORelación Cliente Magazine ENE CASO DE ÉXITO 20 REPSOL PORTADAP PROTAGONISTA 22 Arvato 6 EN PRIMERA LÍNEA DE FUEGO ONO SOLUCIONES 24 Teletrabajo La empresa busca posicio- narna una imagen renovada 34 CONSULTORIO TECNOLÓGICO en la que se presenta como constructoraco de experiencias CASO DE ÉXITO desdede los CRCs. 36 Zardoya Otis EN IMÁGENES EN POSITIVO 40 EDP ENRED@DOS 44 Hawkers 10 EN 800 PALABRAS EL VIAJE DEL CLIENTE Distintas experiencias permiten 48 Nuance conocer las posibilidades de esta herramienta en las organizaciones. 50 EXPO RELACIÓN CLIENTE HOY HABLAMOS CON... 56 José Miguel Zarco, KAM - Ventas CASO DE ÉXITO Microempresas en Vodafone España QUÉ ESTÁ PASANDO 70 64 Sound Masking 68 VoIP2DAY 2016 SCHIBSTED SPAIN Los responsables de la 65 BLOG DE TRANSCOM compañía cuentan cómo han logrado incorporar en sus procesos la voz 66 LA VISIÓN DEL BLOGUERO del cliente.
    [Show full text]
  • Building Openjfx
    Building OpenJFX Building a UI toolkit for many different platforms is a complex and challenging endeavor. It requires platform specific tools such as C compilers as well as portable tools like Gradle and the JDK. Which tools must be installed differs from platform to platform. While the OpenJFX build system was designed to remove as many build hurdles as possible, it is necessary to build native code and have the requisite compilers and toolchains installed. On Mac and Linux this is fairly easy, but setting up Windows is more difficult. If you are looking for instructions to build FX for JDK 8uNNN, they have been archived here. Before you start Platform Prerequisites Windows Missing paths issue Mac Linux Ubuntu 18.04 Ubuntu 20.04 Oracle Enterprise Linux 7 and Fedora 21 CentOS 8 Common Prerequisites OpenJDK Git Gradle Ant Environment Variables Getting the Sources Using Gradle on The Command Line Build and Test Platform Builds NOTE: cross-build support is currently untested in the mainline jfx-dev/rt repo Customizing the Build Testing Running system tests with Robot Testing with JDK 9 or JDK 10 Integration with OpenJDK Understanding a JDK Modular world in our developer build Adding new packages in a modular world First Step - development Second Step - cleanup Before you start Do you really want to build OpenJFX? We would like you to, but the latest stable build is already available on the JavaFX website, and JavaFX 8 is bundled by default in Oracle JDK 8 (9 and 10 also included JavaFX, but were superseded by 11, which does not).
    [Show full text]
  • Using FXML in Javafx
    JavaFX and FXML How to use FXML to define the components in a user interface. FXML FXML is an XML format text file that describes an interface for a JavaFX application. You can define components, layouts, styles, and properties in FXML instead of writing code. <GridPane fx:id="root" hgap="10.0" vgap="5.0" xmlns="..."> <children> <Label fx:id="topMessage" GridPane.halignment="CENTER"/> <TextField fx:id="inputField" width="80.0" /> <Button fx:id="submitButton" onAction="#handleGuess" /> <!-- more components --> </children> </GridPane> Creating a UI from FXML The FXMLLoader class reads an FXML file and creates a scene graph for the UI (not the window or Stage). It creates objects for Buttons, Labels, Panes, etc. and performs layout according to the fxml file. creates FXMLLoader reads game.fxml Code to Provide Behavior The FXML scene define components, layouts, and property values, but no behavior or event handlers. You write a Java class called a Controller to provide behavior, including event handlers: class GameController { private TextField inputField; private Button submitButton; /** event handler */ void handleGuess(ActionEvent e)... Connecting References to Objects The FXML scene contains objects for Button, TextField, ... The Controller contains references to the objects, and methods to supply behavior. How to Connect Objects to References? class GameController { private TextField inputField; private Button submitButton; /** event handler */ void handleGuess(ActionEvent e)... fx:id and @FXML In the FXML file, you assign objects an "fx:id". The fx:id is the name of a variable in the Controller class annotated with @FXML. You can annotate methods, too. fx:id="inputField" class GameController { @FXML private TextField inputField; @FXML private Button submitButton; /** event handler */ @FXML void handleGuess(ActionEvent e) The fxml "code" You can use ScaneBuilder to create the fxml file.
    [Show full text]
  • Update on Cloud Activities at LBNL
    Update on cloud activities at LBNL *Val Hendrix: [email protected], Doug Benjamin2: [email protected], Roberto Vitillo1: [email protected] 1Lawrence Berkeley National Lab 2Duke University 7/12/12 ADC Cloud Computing RnD Overview Overview ● Goal ● Progress ● Plans 7/12/12 ADC Cloud Computing RnD 2 Goal Goal ● Use Case: A site should be able to easily deploy new analysis cluster (batch, PROOF) in commercial or private cloud resources. https://twiki.cern. ch/twiki/bin/view/Atlas/CloudcomputingRnD#Use_Cases ● Solution: Elastic Data Analysis Cluster (E-DAC): a fully configured data analysis cluster that is elastic and deployable on multiple clouds. ● We have chosen Scalr Open Source as the cluster management tool we will use to deliver E-DAC 7/12/12 ADC Cloud Computing RnD 3 Progress Progress ● Scalr 3.5 release ● Scalr + Openstack ● ScalrEDAC 7/12/12 ADC Cloud Computing RnD 4 Progress Scalr 3.5 Released ● Scalr 3.5 Released June 13th ○ RAID over EBS – increased performance for EBS on EC2 ○ The two scalarizr repositories- time and control your updates ○ Scripts & Roles attachment – create your custom images ○ Role versioning – improved control ● This fixed a series of issues that were impeding the development of Condor Cluster roles ○ Custom metric scaling ○ Scalarizr agent bug: This blocked successfully running the Condor Cluster configuration scripts ● Openstack supported was promised for this release but unfortunately it is still not available 7/12/12 ADC Cloud Computing RnD 5 Progress Scalr + Openstack ● Scalr does not officially support Openstack yet (although they are trying) “We haven't gotten it to work (Essex) on our own servers, TryStack lacks Swift and Volumes, and every cluster that the community has lent us has been disappointingly buggy or incomplete.” Sebastian Stadil on scalr-discuss google group ● Scalr has a Eucalyptus interface, will that work for Openstack? ○ There’s more to adding support for a cloud than a simple API.
    [Show full text]
  • ROBERT BURNS and PASTORAL This Page Intentionally Left Blank Robert Burns and Pastoral
    ROBERT BURNS AND PASTORAL This page intentionally left blank Robert Burns and Pastoral Poetry and Improvement in Late Eighteenth-Century Scotland NIGEL LEASK 1 3 Great Clarendon Street, Oxford OX26DP Oxford University Press is a department of the University of Oxford. It furthers the University’s objective of excellence in research, scholarship, and education by publishing worldwide in Oxford New York Auckland Cape Town Dar es Salaam Hong Kong Karachi Kuala Lumpur Madrid Melbourne Mexico City Nairobi New Delhi Shanghai Taipei Toronto With offices in Argentina Austria Brazil Chile Czech Republic France Greece Guatemala Hungary Italy Japan Poland Portugal Singapore South Korea Switzerland Thailand Turkey Ukraine Vietnam Oxford is a registered trade mark of Oxford University Press in the UK and in certain other countries Published in the United States by Oxford University Press Inc., New York # Nigel Leask 2010 The moral rights of the author have been asserted Database right Oxford University Press (maker) First published 2010 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, without the prior permission in writing of Oxford University Press, or as expressly permitted by law, or under terms agreed with the appropriate reprographics rights organization. Enquiries concerning reproduction outside the scope of the above should be sent to the Rights Department, Oxford University Press, at the address above You must not circulate this book in any other binding or cover and you must impose the same condition on any acquirer British Library Cataloguing in Publication Data Data available Library of Congress Cataloging in Publication Data Data available Typeset by SPI Publisher Services, Pondicherry, India Printed in Great Britain on acid-free paper by MPG Books Group, Bodmin and King’s Lynn ISBN 978–0–19–957261–8 13579108642 In Memory of Joseph Macleod (1903–84), poet and broadcaster This page intentionally left blank Acknowledgements This book has been of long gestation.
    [Show full text]
  • Based Services Using XRI-Based Apis for Enabling New E-Business
    International Journal of E-Business Development May. 2013, Vol. 3 Iss. 2, PP. 64-74 An Approach for the Composition of Generic Cloud- Based Services Using XRI-Based APIs for Enabling New E-Business Antonio Celesti1, Francesco Tusa2, Massimo Villari3, Antonio Puliafito4 DICIEAMA, Università degli Studi di Messina Contrada Di Dio, S. Agata 98166, Messina, Italia [email protected]; [email protected]; [email protected]; [email protected] Abstract-Nowadays, cloud computing offers more and more business opportunities, and thanks to the concept of virtualization, different types of cost-effective Cloud-based services have been rising. Virtualization of computing, storage, and networking resources, and their interconnection is at the heart of cloud computing, hence enabling new E-Business scenarios. In such a context, APIs for enabling Cloud-based services are strongly required, nevertheless, methods, mechanisms and tools for exploiting virtualized resources and their utilization for developing anything as a service (*aaS) are still ad-hoc and/or proprietary in nature. In this paper, we discuss how to use an adaptive standard protocol, i.e., XRI, for enabling cloud service providers to arrange their own Cloud- based services, building them on top of the IaaS provided by other service providers. Keywords- Cloud Computing; Cloud Management; Federation; Service Composition; E-Business I. INTRODUCTION Today, cloud computing represents a tempting business opportunity for ICT operators of increasing their revenues [1,2]. The cloud ecosystem begins to be clearer and the role played by cloud service providers appears more defined than the past. Moreover, the number of new public, private, and hybrid clouds rising all over the world is continually growing [3].
    [Show full text]
  • ACCESSING DATA with FLEX 2 Accessing Data Services Overview
    Accessing Data with ADOBE® FLEX® 4.6 Legal notices Legal notices For legal notices, see http://help.adobe.com/en_US/legalnotices/index.html. Last updated 12/3/2012 iii Contents Chapter 1: Accessing data services overview Data access in Flex compared to other technologies . 1 Using Flash Builder to access data services . 3 Data access components . 4 Chapter 2: Building data-centric applications with Flash Builder Creating a Flex project to access data services . 7 Connecting to data services . 8 Installing Zend Framework . 19 Using a single server instance . 21 Building the client application . 21 Configuring data types for data service operations . 25 Testing service operations . 29 Managing the access of data from the server . 29 Flash Builder code generation for client applications . 33 Deploying applications that access data services . 39 Chapter 3: Implementing services for data-centric applications Action Message Format (AMF) . 43 Client-side and server-side typing . 43 Implementing ColdFusion services . 43 Implementing PHP services . 50 Debugging remote services . 61 Example implementing services from multiple sources . 64 Chapter 4: Accessing server-side data Using HTTPService components . 71 Using WebService components . 80 Using RemoteObject components . 97 Explicit parameter passing and parameter binding . 113 Handling service results . 121 Last updated 12/3/2012 1 Chapter 1: Accessing data services overview Data access in Flex compared to other technologies The way that Flex works with data sources and data is different from applications that use HTML for their user interface. Client-side processing and server-side processing Unlike a set of HTML templates created using JSPs and servlets, ASP, PHP, or CFML, Flex separates client code from server code.
    [Show full text]
  • Flash®, Flex®, and Air® Development for Mobile Devices
    ffirs.indd ii 12/09/11 7:52 PM BEGINNING FLASH®, FLEX®, AND AIR® DEVELOPMENT FOR MOBILE DEVICES INTRODUCTION . xxi CHAPTER 1 An Introduction to Flash, Flex, and AIR . .1 CHAPTER 2 Getting Started . 35 CHAPTER 3 Building AIR Applications for Android, BlackBerry, and iOS Devices . 67 CHAPTER 4 Touch, Multitouch, and Gestures . .101 CHAPTER 5 Developing for Multiple Screen Sizes . 131 CHAPTER 6 Debugging Applications . .177 CHAPTER 7 Working with the Filesystem . 199 CHAPTER 8 Working with Data . 239 CHAPTER 9 Working with Audio and Video . 289 CHAPTER 10 Utilizing Device Features . 315 INDEX . 359 ffirs.indd i 12/09/11 7:52 PM ffirs.indd ii 12/09/11 7:52 PM BEGINNING Flash®, Flex®, and AIR® Development for Mobile Devices ffirs.indd iii 12/09/11 7:52 PM ffirs.indd iv 12/09/11 7:52 PM BEGINNING Flash®, Flex®, and AIR® Development for Mobile Devices Jermaine G. Anderson John Wiley & Sons, Inc. ffirs.indd v 12/09/11 7:52 PM Beginning Flash®, Flex®, and AIR® Development for Mobile Devices Published by John Wiley & Sons, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2012 by John Wiley & Sons, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 978-0-470-94815-6 ISBN: 978-1-118-19334-1 (ebk) ISBN: 978-1-118-19335-8 (ebk) ISBN: 978-1-118-19336-5 (ebk) Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600.
    [Show full text]
  • Enterprise Development with Flex
    Enterprise Development with Flex Enterprise Development with Flex Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo Enterprise Development with Flex by Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky Copyright © 2010 Yakov Fain, Victor Rasputnis, and Anatole Tartakovsky.. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editor: Mary E. Treseler Indexer: Ellen Troutman Development Editor: Linda Laflamme Cover Designer: Karen Montgomery Production Editor: Adam Zaremba Interior Designer: David Futato Copyeditor: Nancy Kotary Illustrator: Robert Romano Proofreader: Sada Preisch Printing History: March 2010: First Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Enterprise Development with Flex, the image of red-crested wood-quails, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information con- tained herein.
    [Show full text]
  • Third Party Library Attributions
    Third Party Library Attributions Table of Contents 1. Summary 2. PureWeb® Software Third Party Library Attributions 3. PureWeb iOS Client Libraries 3.1. Cocoa Lumberjack Framework 3.2. Sodium Crypto Library 4. ResolutionMD Server Libraries 4.1. Apache Commons 4.2. Apache PDFBox 4.3. Apache HttpComponents 4.4. Arial Unicode Font 4.5. Auto 4.6. Boost 4.7. Bootstrap 4.8. Cairo 4.9. CanJS 4.10. Curl 4.11. dcm4che2 4.12. dcm4che3 4.13. dcm4che5 4.14. DCMTK 4.15. Drools Expert 4.16. Eclipse Implementation of JAXB 4.17. Eclipse Metro 4.18. Eclipse ORB 4.19. Eclipse Project for JAX-WS 4.20. FFmpeg 4.21. FreeMarker 4.22. Freetype 4.23. FTGL 4.24. Glew 4.25. google-api-java-client 4.26. google-api-java-client-services 4.27. google-code-prettify 4.28. google-http-java-client 4.29. google-oauth-java-client 4.30. grcp-java 4.31. guava 4.32. html5shiv 4.33. HAPI 4.34. ICU 4.35. ITK 4.36. Java implementation of JSON Web Token (JWT) 4.37. Jersey 4.38. Joda-Time 4.39. jQuery 4.40. jQuery File Upload Plugin 4.41. jQuery Hashchange 4.42. jQuery UI 4.43. JSON Web Token support for the JVM 4.44. jsoup Java HTML Parser 4.45. Lo-Dash 4.46. libpng 4.47. llvm 4.48. logback 4.49. Mesa 3D Graphics Library 4.50. minizip 4.51. PixelMed 4.52. opencensus-java 4.53. requirejs 4.54. SLF4J 4.55. wysihtml5 4.56. zlib 5.
    [Show full text]
  • Faq Av Bridge Va 999 821
    Contents 1 Vaddio IP Streaming Features and Functionality................................................................................. 2 1.1 Frequently Asked Questions ........................................................................................................ 2 1.2 Streaming Configuration.............................................................................................................. 4 1.3 Application Examples................................................................................................................... 5 1.3.1 Distribution Application (Single Stream-to-Multiple Clients)............................................... 5 1.3.2 Recording/Archive Application ............................................................................................ 6 2 Compatibility Summary ....................................................................................................................... 7 2.1 Vaddio Lab Tested Interoperability.............................................................................................. 7 2.2 Field Test Media Players or Server............................................................................................... 7 3 Media Player/Server Interoperability .................................................................................................. 8 3.1 Quicktime Media Player............................................................................................................... 8 3.2 VLC Player .................................................................................................................................
    [Show full text]