DISEÑO E IMPLEMENTACIÓN DE UN SERVICIO EN CLOUD COMPUTING PARA LA VISUALIZACIÓN EN LINEA DE TRANSPORTE ESCOLAR. Trabajo de grado presentado con el fin de obtener el título de ingeniero en telecomunicaciones, Universidad Militar Nueva Granada, Bogotá D.C. Director Ing. Luis Fernando González de la Calle Sebastián Medina Delgado. Julio 2016 Resumen. “Cloud Computing” es una tecnología que hoy en día se está propagando por todo el mundo, puesto que esta ofrece todos los servicios que se encuentran en los mejores data center, de manera eficiente y económica, adaptándose a las necesidades de los clientes. En este caso los servicios que Cloud Computing presto se hacen bastante útiles al momento de desarrollar e implementar un servicio que permita monitorear y transmitir en vivo videos de buena calidad, para este caso, exponer lo que ocurre al interior de un vehículo de transporte escolar, puesto que con los servicios que ofrece Cloud Computing se puede obtener un sistema con un funcionamiento de buena calidad y con costos accesibles para los clientes. [1] En este documento se dará a conocer un método para dar solución al decreto 0348 “Por el cual se reglamenta el servicio público de transporte terrestre automotor especial y se adoptan otras disposiciones” mediante el uso de Cloud Computing, en donde se explicara el funcionamiento de los diversos servidores utilizados en el sistema, como trabaja cada uno de ellos de manera independiente y como pueden complementarse unos con otros, se compararan dos escenarios en los cuales se implementara el sistema de maneras distintas, cada servicio se clasificaran según su función (conectividad, almacenamiento o computo), además se expondrán los resultados obtenidos de las pruebas realizadas por el sistema “piloto” y se compararan los costos aproximados que produciría cada escenario dispuesto en la plataforma ofrecida por Cloud Computing. [2] Tabla de Contenidos. Contenido. 1. Problema de investigación. 1.1. Decreto 0348 de 2015 “Por el cual se reglamenta el servicio público de transporte terrestre automotor especial y se adoptan otras disposiciones”. 1.2. Antecedentes. 1.3. Preliminares. 2. Modelo funcional del servicio de visualización en Cloud Computing para el trasiego de vídeos de rutas escolares posterior a su ingesta en la nube hasta la visualización por padres o colegios. 2.1. Planteamiento del primer escenario. 2.1.1. Modelo funcional del primer escenario. 2.2. Planteamiento del segundo escenario. 2.2.1. Modelo funcional del segundo escenario. 2.3. Función de cada que compone el sistema de transmisión de video en vivo en Cloud Computing. 2.3.1. Clasificación de cada componente según su función (Conectividad, almacenamiento o computo) 2.4. Definición de roles de usuario. 3. Código de cada elemento funcional del servicio en Cloud Computing. 4. Análisis de costos de capital (CapEx) y costos de operación (OpEx) del servicio para su operación masiva. 4.1. Costo de implementación del primer escenario propuesto. 4.2. Costo de implementación del segundo escenario propuesto. 4.3. Comparación de costos, primer escenario vs según escenario. 5. Integración de los códigos de cada elemento funcional del servicio de visualización móvil escolar propuesto. 6. Sintonización del servicio de visualización móvil escolar propuesto. 6.1. Consideraciones y discusión para la operación masiva y estable del sistema. 7. Conclusiones. 8. Referencias. 1. Problema de investigación. Por lo dispuesto en el decreto 0348, más que un problema, se presenta un requerimiento, el cual es, cumplir con lo estipulado en el decreto, desarrollando así una solución que cumpla con las necesidades generadas por el decreto, de una manera efectiva tanto funcional como económicamente, para esto es necesario investigar lo que se dictamino en el decreto, además, los antecedentes de sistemas similares de vigilancia móvil implementados en diferentes lugares. 1.1. Decreto 0348 de 2015 “Por el cual se reglamenta el servicio público de transporte terrestre automotor especial y se adoptan otras disposiciones”. El 25 de febrero del año dos mil quince (2015) se firma el decreto 0348, en donde se estipula que en un plazo no superior a dos años a partir de que se firma el decreto, todas las rutas escolares de Colombia deben con diversos implementos tecnológicos con el fin de brindarles herramientas de monitoreo a los padres de los alumnos de las diferentes instituciones educativas, entre estas herramientas, se encuentran cámaras de video que permitan realizar transmisión en tiempo real (live streaming), de lo que ocurre al interior del vehículo. Siendo más precisos el decreto 0348 del 25 de febrero de 2015 "Por el cual se reglamenta el servicio público de transporte terrestre automotor especial y se adoptan otras disposiciones", cuyo artículo 19, literal d “Estructura de Tecnología e Informática”, numeral cinco (5) decreta que se debe “Implementar cámaras de video dentro de los vehículos destinados al servicio escolar, con acceso a los padres de familia y a la persona que el colegio designe.” [2] Esto genera una necesidad a las entidades educativas que prestan el servicio de transporte escolar de implementar un sistema de cámaras y de servicios IT que cumpla con lo estipulado por el decreto 0348. Esta necesidad puede satisfacerse haciendo uso de Cloud Computing, puesto que haciendo uso de esta tecnología, se pueden implementar diferentes tipos de servicios, como los son los servidores de live streaming, las redes de distribución de contenido (CDN), servidores de almacenamiento y demás implementos necesarios para desarrollar un sistema adecuado para transmitir en tiempo real, lo que sucede al interior de cada vehículo escolar en Colombia. [3] 1.2. Antecedentes. La computación en la nube ofrece muchos beneficios a los diversos negocios que hay en el mundo, tanto funcional como económicamente, puesto que este tipo de data center tiene la capacidad de adaptarse a las necesidades de sus clientes y así brindar un servicio apto para ellos que cumpla con sus demandas de una manera económica, esta es la razón por la cual se actualmente dichos negocios están migrando sus servicios a la nube. [3] En Latinoamérica, el país que más hace uso de esta tecnología es Chile, ya que en este país una cantidad considerable de empresas migraron sus servicios a la nube, mientras que en Finlandia presenta una migración del 51% de sus empresas hacia la nube, dándolo así como el país europeo que más hace uso de esta tecnología en su continente. [4] En Finlandia, el uso de Cloud Computing está dividido principalmente entre el uso de correo electrónico, el cual hace parte del 66% de las empresas de este país, y el de almacenamiento masivo de información en la nube, que es usado por el 53% de las empresas. En contraparte, las empresas que todavía no hacen uso del Cloud Computing, lo justifican basados en que todavía no tienen el suficiente conocimiento en esta tecnología, lo cual causa temor de que pueda ocurrir algún fallo de seguridad a nivel interno de la empresa en cuestión.[4] En cuanto a la transmisión en tiempo real del interior de vehículos de transporte público y privado se refiere, existen empresas como “Axis Communications”. Esta empresa se encarga de brindar sistemas de vigilancia a diferentes medios de transporte público, como buses, trenes y metros ubicados en su mayoría en Europa, Axis Communications utiliza cámaras especiales, las cuales están equipadas para soportar fuertes vibraciones, golpes, cambios de temperatura e inclusive humedad. [5] En las ciudades más importantes en donde trabaja Axis Communications están: 1. Madrid (España), con 6000 cámaras instaladas en autobuses de servicio público. 2. Moscú (Rusia), con 3000 cámaras y codificadores de video instalados en el metro. 3. Oslo (Noruega), con 3000 cámaras instaladas en los trenes. 4. Praga (República Checa), con 3500 cámaras instaladas en sus autobuses de servicio público. 5. Estocolmo (Suecia), con 15000 cámaras instaladas en metros y autobuses de servicio público. 6. Sídney (Australia), con 7000 cámaras instaladas en sus trenes. 7. Zúrich (Suiza), con 5000 cámaras instaladas en sus trenes. Axis Communications proporciona acceso remoto de audio y video en tiempo real de cualquier medio de transporte que tenga instalado su sistema de seguridad, para mejorar su servicio ofrecen calidad HD en sus videos y cuentan también con aplicaciones de video inteligente, con funciones como recuento de personas. Los sistemas de vigilancia de Axis Communications trabajan en conjunto con sistemas GPS que permiten brindar la ubicación exacta del medio de transporte en cuestión. [5] 1.3. Preliminares. Para poder desarrollar un sistema de vigilancia funcional y estable para los transportes escolares es necesario desarrollar una interfaz virtual para que los padres de familia y directivos de las instituciones puedan estar al tanto de lo que sucede al interior de dichos transportes. Para este proyecto se decidió hacer uso de las plataformas de Cloud Computing, puesto que en estas plataformas se encuentran todos los servicios necesarios para desarrollar dicho sistema, con las especificaciones necesarias para brindar un correcto funcionamiento. En Colombia la mesa sectorial define la computación en la nube de la siguiente manera: “Cloud Computing es un modelo para habilitar el acceso a un conjunto de servicios computacionales (e.g. Redes, servidores, almacenamiento, aplicaciones y servicios) de manera conveniente y por demanda, que pueden ser rápidamente aprovisionados y liberados con un esfuerzo administrativo y una interacción con el proveedor del servicio mínimos.” Válgase aclarar que esta definición se desarrolla a partir de la dada por el Instituto Nacional de Estándares y Tecnología de los Estados Unidos de América (NIST) en el 2009. [6] La computación en la nube presenta diversas ventajas, tales como, el ingreso al administrador de dispositivos virtuales desde cualquier equipo con acceso a internet, ya sea para manipular o para observar el estado en que se encuentran dichos dispositivos. El término “streaming” hace referencia al hecho de ver videos o escuchar audios, a medida que los mismos se van descargando, Esto se hace posible puesto que al momento de comenzar la transmisión se van enviando fragmentos del archivo, de manera secuencial a través de la red, cuando la transmisión es en vivo el termino cambia a “live streaming”, para el sistema de vigilancia en vehículos escolares esta tecnología es vital, puesto que los padres de los alumnos van a poder ver lo que sucede al interior de dichos vehículos progresivamente durante el tiempo que duran los recorridos. [7] El funcionamiento del live streaming se puede explicar de la siguiente manera: • Un usuario, para este caso un padre de un alumno que utiliza el transporte escolar, ingresa a la plataforma web, la cual está alojada a un servidor web, posteriormente selecciona el colegio al que asiste su hijo seguido de la ruta que le presta el servicio de transporte. • El servidor web envía la solicitud a un servidor multimedia, este servidor acoge físicamente los archivos ya codificados, para este caso de audio y video. • El servidor multimedia hace uso de un protocolo de transporte, en este caso en específico el protocolo es RTMP, para enviar el video hacia la red de distribución de contenido. • La red de distribución de contenido se encarga de distribuir los archivos de audio y video solicitados hacia la computadora de los usuarios, este archivo se reduce mediante el uso de extensiones de las cuales disponen los navegadores, como adobe flash, la recepción del equipo del usuario se hace por fragmentos, por lo cual la reproducción se hace más rápida. No es necesario que el archivo original se descargue completo en el dispositivo final del usuario, solo se descargan y se mantienen pequeños fragmentos del contenido visualizado. [7] Los costos de capital (CAPEX en su abreviatura en inglés) es la cantidad de dinero implementado para la adquisición de diversos bienes, en el caso de compañías IT, pude verse reflejado en el capital invertido para la compra de servidores, swtihces o routers, entre otros. [8] En contraparte los costos de operación (OPEX en su abreviatura en inglés), representan los costos que generan la subcontratación o alquiler de equipos a terceros para satisfacer las necesidades que tienen las diferentes empresas, lo cual genera menos costos y el rendimiento que se obtiene es el deseado por las compañías hacedoras del servicio. [8] 2. Modelo funcional del servicio de visualización en Cloud Computing para el trasiego de vídeos de rutas escolares posterior a su ingesta en la nube hasta la visualización por padres o colegios. Para poder diseñar un sistema con buen rendimiento, buena calidad y costos accesibles es necesario tener en cuenta diversos factores, para comenzar se realizó el diseño de una arquitectura conceptual, la cual se expone a continuación en la figura 1: Figura 1. Arquitectura conceptual del sistema de vigilancia móvil. En la figura 1 se muestran los procesos que se deben realizar en la nube para poder obtener un sistema eficaz, cabe aclarar que en este diseño solo se tiene en cuenta los procesos posteriores a la ingesta del video, es decir, se muestran los procesos que se deben hace para realizar el trasiego del video a los dispositivos de los usuarios finales. Los procesos que se deben realizar en la nube posterior a la ingesta del video son los siguientes: • Para comenzar se deben cifrar los datos, esto con el fin de mantener la integridad de la información y de esta manera evitar que haya algún tipo de edición o de sabotaje en el sistema, la plataforma de Windows Azure brinda la opción de cifrar el video con el algoritmo AES. • Posterior al cifrado del video, se debe almacenar, para que los usuarios puedan tener acceso a los videos en cualquier momento y así en caso de que se presente algún tipo de problema, tener la evidencia grafica correspondiente a la fecha en la que se puede presentar dicho problema. • Una vez almacenado, es necesario distribuir dicho video al canal o servidor de la ruta correspondiente, puesto que en este sistema los padres, es decir los usuarios finales, solo V I S U A L I Z A C I Ó Cifrado de datos Almacenamiento del video Distribución a los canales de rutas Control de acceso al sistema Roles de los consumidores tendrán acceso al video que muestra el interior del vehículo que transporta a su hijo o hijos correspondientes. • Es necesario definir los roles de los consumidores del sistema de vigilancia móvil, puesto que, como se mencionó en el ítem anterior, los usuarios van a tener restricciones, mientras que los administradores tanto del colegio como el que asigna el proveedor tendrán condiciones de uso del sistema diferentes a las de los padres, dichas condiciones serán expuestas más adelante. • Una vez estén definidos los roles, los usuarios tendrán acceso a un portal web o un aplicativo web, en donde, al ingresar sus credenciales, podrán observar los videos correspondientes a los permisos de los que estos dispongan. Para poder implementar el diseño se propusieron dos escenarios en donde se muestra dos maneras diferentes de implementar el sistema, para realizar este diseño se usaron las representaciones graficas de los distintos servidores que ofrece la plataforma de Cloud Computing de Windows Azure, dichos escenarios se muestran a continuación: 2.1. Planteamiento del primer escenario. En el primer se caracteriza por tener un servidor de video por cada ruta que tenga la entidad educativa, es decir este diseño constara de servidores independientes, en donde no se verán afectados entre si, si alguno de estos falla, para tener una idea más específica del funcionamiento de este sistema se desarrolló la siguiente arquitectura, cabe aclarar que este diseño es del trasiego del video hacia los dispositivos de los usuarios finales, la figura 2 muestra el modelo funcional del primer escenario. 2.1.1. Modelo funcional del primer escenario. Figura 2. Modelo funcional dispuesto para el escenario 1. En este escenario se dispone de un sistema de vigilancia móvil por ruta, el cual consta de dos tipos de codificación, una activa y una que se realiza una única vez, como se muestra la codificación activa se realiza para la parte de transmisión en tiempo real, mientras que el codificador de una única vez se utiliza para la parte de video bajo demanda, es decir se hace cada vez que el usuario quiere ver un video de una fecha distantes. Posterior a esto, se encuentra la parte de seguridad, la cual se encarga de cifrar el video, para evitar que este pueda ser modificado, o dañado. El paso a seguir, es el de la indexación de los videos, el proceso de indexación consiste en brindarles la facilidad a los usuarios de filtrar los archivos, para este caso los videos, por cierto tipos de características, en este caso, se filtran por fecha de creación. Posterior a la indexación se realiza el proceso de almacenamiento, para esto se dispone de un servidor bastante amplio en el que quedaran guardados los video, con su fecha y hora de creación, para que posteriormente sean visualizados por los usuarios. RTMP MP4 Channel R1 IN Codec active Codec Safety Storage Content Indexer Channel R1 OUT CDN Endpoint Active Directory Live Streaming VOD Web APP DLT Storage A demás de este servidor de almacenamiento es necesario disponer de un servidor de almacenamiento de respaldo, el cual tendrá un formato de almacenamiento más grande y al mismo tiempo más económico, en donde se guardaran los videos que ya tienen un tiempo de vida avanzado desde su creación. Posteriormente se encuentra el servidor de contenido, cuya función es extraer la información situada en el servidor de almacenamiento para llevarlo al canal de salida de video de la ruta escolar. Luego se lleva dicho video a la red de distribución de contenido, la cual se encarga de distribuir el video de manera masiva, facilitando así la reproducción del video del interior de la ruta a varios usuarios sin presentar ningún tipo de problema. Posteriormente al momento de que el usuario desee observar los videos, dispondrá de un aplicativo web el cual se adaptara al dispositivo del que el usuario este haciendo uso, y así hacer uso de sus credenciales, es decir, nombre de usuario y contraseña, para poder ingresar a ver el video de la ruta que transporta a su o sus hijos. El modelo funcional para una entidad educativa completa se muestra de la siguiente manera: Figura 3. Modelo funcional conjunto de los servidores de vigilancia móvil, del escenario 1. Como se observa en la figura 3, en este sistema cada server trabaja de manera independiente, y se pueden crear los que sean necesarios, dependiendo de la cantidad de vehículos que tenga el colegio. Este tipo de implementación presenta algunas ventajas, puesto que al funcionar de manera independiente, los problemas que presente, como la caída de alguna función o la pérdida de datos, un servidor no afectaran a los demás servidores. 2.2. Planteamiento del segundo escenario. Para el segundo escenario, se crea un servidor para una entidad educativa completa, es decir un solo servidor para la cantidad de rutas de las que disponga el colegio, lo cual quiere decir que todos los servicios implementados trabajaran en conjunto para brindarle el servicio a todas las rutas, por ende de presentarse fallas en algún servicio, se presentara de manera masiva. Es necesario tener en cuenta estas consideraciones al momento de implementar el sistema para estar preparados si se presenta algún tipo de problema o alguna novedad. 2.2.1. Modelo funcional del segundo escenario. Figura 4. Modelo funcional dispuesto para el escenario 2. En la figura 4 se observa el modelo funcional desarrollado para implementar el sistema de vigilancia móvil, si se compara con el expuesto en la figura 2, se tornan similares, pero con RTMP MP4 Codec active Indexer Codec Channel IN X Channel IN Y Channel IN Z Safety Content Storage Live Streaming VOD Channel OUT X Channel OUT Y Channel OUT Z CDN Endpoint Active Directory Web APP Load Balancer DLT Storage Load Balancer diferencias bastantes importantes, como lo son la creación de varios canales de entrada y de salida, correspondientes a la cantidad de rutas escolares que dispone el colegio. En los canales de entrada y salida es en donde se realiza la ingesta y el trasiego de los videos correspondientes a la ruta, cada uno consta de una dirección URL tanto para ingesta como para publicar los videos. A demás de los canales la segunda diferencia importante es la implementación de un balanceador de cargas, cuya función es distribuir los videos de las rutas al canal correspondiente, para evitar la transmisión indebida del que sucede en una ruta “X” en el canal de una ruta “Y”. En este sistema también se hace uso de los demás ítems expuestos anteriormente, como lo son la codificación tanto para “Live Streaming” y para “Video On Demand”, la cual se realiza posterior a la ingesta y al envió de los videos hacia los canales de las rutas correspondientes. El proceso que se realiza después es el del cifrado, el cual se implementa de la misma manera que en el escenario 1, es decir, se cifra el video con el algoritmo AES, para proteger la integridad del video y así evitar fraudes o adulterios de lo que se desea transmitir. La indexación se maneja de la misma manera, es decir los videos se filtran por la fecha de grabación del mismo, con el fin de facilitar al usuario que pueda encontrar y reproducir los videos antiguos. Consta también de un sistema de almacenamiento junto al Back Up del mismo, esto con el fin de que cuando el servidor primario este lleno, pase a un formato de cinta y se almacene en el respaldo, y así pueda mantenerse en el sistema durante un tiempo mayor y así poderlo reproducir en caso de que se presente alguna eventualidad. En este caso la función del servidor de contenido cambia, puesto que esta vez no extrae la información del servidor de almacenamiento para llevarla al canal directamente, sino que tiene que pasar por un balanceador de carga para distribuir dicha información al canal indicado. La función de la red de distribución de contenido es la misma, es decir, masificar la transmisión del video proveniente de los canales de salida de las rutas escolares. El ingreso de los usuarios es exactamente el mismo, dependiendo del rol que tengan dentro del sistema estos podrán visualizar los distintos videos, correspondientes a la ruta en la que se transporta su hijo o hijos. Cabe aclarar que para los usuarios la implementación del escenario que se desee utilizar va a ser transparente, puesto que el aplicativo web, se desempeñara de la misma manera y estos no sentirán ninguna diferencia en cuanto a la implementación del modelo se refiere. 2.3. Función de cada que compone el sistema de transmisión de video en vivo en Cloud Computing. Cada servicio expuesto en los escenarios 1 y 2 tienen funciones específicas en el sistema de vigilancia móvil, cada uno está representado gráficamente por un símbolo designado por la plataforma de Windows Azure, la función que cada uno de estos desempeña serán definidas en la siguiente tabla: Símbolo Función El balanceador de carga actúa como distribuidor de tráfico hacia los diferentes servidores, es decir, en este caso, su función es distribuir los videos que llegan de las diferentes rutas hacia los canales de entrada de las rutas correspondientes. [9] Load Balancer Channel X, Y, Z IN/OUT Codec active Codec Safety Indexer Content Web APP La función de los canales de entrada y de salida, es brindar el elemento que permite generar la ingesta y la posterior descarga del video. [10] Mediante el uso de un codificador activo, es posible procesar el video continuamente a medida que la cámara situada en el bus escolar graba lo que sucede en el interior del mismo. [11] Mediante el uso de un codificador, es posible procesar el video crudo proveniente de la cámara situada en el bus escolar y de esta manera poder visualizarlo. [10] La seguridad en el sistema provee la función de cifrar las contraseñas de los usuarios y de proteger los videos para evitar fraude o manipulación de los mismos. [10] La indexación permite clasificar los videos, en este caso por su fecha de grabación, para facilitar al usuario la búsqueda y posterior visualización de dichos videos. [12] El servidor de contenido permite extraer el contenido almacenado para entregarlo a la red de distribución de contenido (CDN) o en este caso, a los canales de salida directamente. [10] La web app permite la adaptación del portal web a diferentes dispositivos, ya sean teléfonos inteligentes o computadores de escritorio. [10] El almacenamiento en cinta es un almacenamiento económico, comparado con el almacenamiento tipo blob, cuya función, en este caso es la funcionar como Back Up del servidor de almacenamiento y además retener los videos durante un tiempo mucho más prolongado. [14] Tabla 1. Funcionamiento de los servicios del sistema. Como se puede observar, cada servicio tiene una función fundamental para el sistema, lo cual ayuda a mejorar el sistema de calidad del mismo y la percepción que los usuarios pueden tener del mismo. 2.3.1. Clasificación de cada componente según su función (conectividad, almacenamiento o computo) Cada servicio del que dispone el sistema se clasifica según su función primordial, los parámetros de clasificación son conectividad, almacenamiento y cómputo. Cada uno de estos tiene funciones de los tres parámetros, pero esta clasificación se basa en la función más destacada que realiza dentro del sistema, esto se hace con el fin de complementar la información del funcionamiento que cada uno desempeña y así lograr entender mejor el papel que desempeñan dentro de un sistema de este tipo, puesto que cada uno de ellos es de vital importancia para lograr obtener los resultados deseados para proporcionar un sistema de alta calidad. La conectividad se refiere a los servicios que permiten al usuario conectarse al sistema, como lo puede ser un aplicativo o página web, para este caso o el ingreso de credenciales de autenticación, también están los servicios que permiten conectar dispositivos, en este caso, a la nube, como lo pueden ser las cámaras o los dispositivos finales, como equipos de cómputo, teléfonos inteligentes o Tablet. [17] El almacenamiento hace referencia a los equipos que se encargan de guardar información proveniente de los servicios de conectividad, esta información puede ser audio y/o video, también están las funciones que permiten el transmisión de dicha información de los servicios de almacenamiento hacia otros servicios, ya sean conectividad o de computo. [18] Storage DLT Storage Active Directory El tipo de almacenamiento implementado para este sistema es el almacenamiento de objetos binarios grandes o BLOB, puesto que los datos almacenados en este, son de gran tamaño y no se le da prioridad a ningún dato en especial. [13] La red de distribución de contenido permite crear un punto final de transmisión masivo, brindando así al video una URL de visualización y además otorgando registro de seguridad a los archivos. [15] El directorio activo permite establecer las prioridades que tiene cada usuario (Súper administrador, administrador del colegio, padre / madre) y relacionar dichas prioridades con los canales que este tiene permitido visualizar. [16] CDN Endpoint Computo se refiere a los servicios que realizan procesos muy pesados en el sistema, como la codificación de imágenes, o el cifrado de información, es decir, en este ítem se establecen los servicios que más procesos realizan durante el funcionamiento del sistema. [19] Para este sistema, la clasificación de los servicios implementados, es la siguiente: Figura 5. Diagrama de conectividad, almacenamiento y cómputo. En la figura 5 se puede observar como el video ingresa al canal o canales de entrada, los cuales están situados en la parte de conectividad, además de estos también están los servicios que permiten acceder al aplicativo web, ingresar las credenciales y el servicio que permite transmitir masivamente lo que ocurre al interior de los vehículos escolares. Se pueden ver también los codificadores, el servicio de cifrado y el balanceador de carga en la parte de computo, esto por lo que son los servicios con mayor procesamiento en el sistema de vigilancia. En la parte de almacenamiento se encuentran los dos servidores de almacenamiento, el servidor de contenido, el cual tiene la función de extraer los archivos del servidor de almacenamiento y brindarlo al servicio de canal de salida situado en la parte de conectividad, por último la indexación se sitúa en almacenamiento puesto que su función es clasificar la información entrante y enviarla al servidor de almacenamiento con la etiqueta de la fecha de grabación. 2.4. Definición de roles de usuario. Para el sistema se definen tres tipos de usuarios, el usuario súper administrador, designado por la empresa proveedora del servicio, el administrador del transporte escolar designado por el colegio y por último, el usuario final, los padres y/o madres de los niños transportados por dichos vehículos, los roles que tienen los tres tipos de usuarios son los siguientes: Figura 6. Definición de roles de los usuarios. En la figura 3 se observa los permisos designados a cada usuario, estos los define el súper administrador, al momento de generar los usuarios designados por el colegio que corresponde a los administradores designados por la entidad educativa y a los padres que contratan el servicio de transporte escolar que ofrecen los mismos. Súper Administrador. Administrador del Colegio Padre / Madre • Administración de la base de datos. • Visualización de todos los servidores de transmisión. • Creación de usuarios. • Proporcionar privilegios a los usuarios. • Administración de servidores. • Visualización de todos los servidores de transmisión. • Visualización del servidor de transmisión situado en la ruta en la que se transporta su hijo(s). Usuarios. 3. Código de cada elemento funcional del servicio en Cloud Computing. Para el desarrollo del código de cada elemento funcional seleccionados en el modelo funcional, el nuevo portal de Windows Azure brinda la facilidad de que al crear cada uno de estos servicio se pueda obtener la plantilla del código que implica implementar cada servicio dentro del sistema. Para la creación de los servicios multimedia y de almacenamiento se hace uso del portal antiguo de Azure, puesto que hasta la fecha, esos dos servicios no han sido migrados al nuevo servicio, para crear estos en la plataforma de Azure, se debe realizar lo que se muestra en la siguiente figura: Figura 7. Creación del servidor de almacenamiento y de los servicios multimedia.[20] Dentro de los servicios multimedia es en donde se deben crear los canales de entrada y de salida que posteriormente serán designados a las rutas pertenecientes al colegio, estos se crean de la siguiente manera: Figura 8. Creación de los canales para cada ruta. [20] Una vez los canales estén creados, estos darán tres direcciones URL, la primera es la designada para realizar la ingesta, la segunda es la que se utiliza para realizar una pre visualización y la tercera se usa para reproducir el video. En cuanto a la red de distribución de contenido, su creación se realiza de la siguiente manera: Figura 9. Creación de la red de distribución de contenido. [21] El uso de esta red de distribución de contenido, lo que hace es combinarse con el servidor multimedia, brindando una nueva URL de descarga, además esta red de distribución de contenido, contiene dentro de si, un servidor de contenido, el cual es el que extrae los archivos de audio y video del almacenamiento hacia la URL del canal de salida. El código de cada uno de estos dado por Azure se obtiene de la siguiente manera: Figura 10. Obtención del código de cada elemento funcional del sistema. [21] Como se observa en la figura anterior, es posible obtener el código de cada elemento funcional del sistema, todos de la misma manera, al establecer todos los servicios dentro de un mismo grupo, es posible ver el código completo del sistema, esto se expondrá un poco mas adelante. 4. Análisis de costos de capital (CapEx) y costos de operación (OpEx) del servicio para su operación masiva. Los costos de implementación de los dos escenarios presentan diferencias considerables, por eso se expondrán los costos que representa implementar el sistema en un colegio, el costo que tendría por ruta y el costo adicional que tendría que pagar cada padre de familia para que su hijo sea transportado por la ruta. En este capítulo se expondrán y se compararan estos valores de manera detallada. 4.1. Costo de implementación del primer escenario propuesto. En el primer escenario se implementan servidores en paralelo, lo cual quiere decir que se implementa un sistema de vigilancia independiente para cada vehículo escolar, los costos basados que presentaría implementar un servidor con las características mencionadas, en Windows Azure, son los siguientes: Figura 11. Costo de implementación de una ruta por mes, para el escenario 1. [22] El valor expuesto en la figura 7 es el costo que tiene implementar un sistema de vigilancia dedicado para una ruta, por un mes, si se divide este costo por servicios, el 48% equivale a los procesadores, estos representan los servicios más costosos del sistema, están seguidos del mantenimiento del aplicativo web, de la red de distribución de contenido, el almacenamiento y el que menos costos genera, la base de datos SQL. Si este sistema se implementa para un colegio que dispone de 20 rutas escolares para transportar a sus alumnos y cada una de estas tiene capacidad de 20 estudiantes, los costos mensuales que tendrá el colegio son los siguientes: Figura 12. Distribución de costos del valor total de la implementación del sistema en un colegio para el escenario 1. En el caso de que la entidad educativa decida expandir su número de vehículos de transporte escolar, la proyección de costos para estos se serán los siguientes: RUTAS Costo Colegio Costo Ruta Costo Niño 20 $3,320 $166 $8.30 30 $4,648 $155 $7.75 40 $5,644 $141 $7.06 50 $6,142 $123 $6.14 Tabla 2. Análisis del costo mensual a medida que aumenta el número de rutas, para el escenario 1. Como se muestra en la tabla 2 el costo por ruta, a medida que aumenta la cantidad de vehículos no presenta mucho cambio entre uno y otro, de la misma manera sucede en el costo que tendrá que pagar cada padre de familia por cada hijo que haga uso de este servicio brindado por el colegio. Bueno quien La representación gráfica de estos costos, es la siguiente: Grafica 1. Aumento de los costos mensuales a medida que aumenta el número vehículos de transporte escolar, para el escenario 1 Como se observa en la gráfica 1, la proyección se hace a medida que aumentan en 10 el número de vehículos de transporte escolar, como se puede notar, el aumento de costos es casi lineal, pero la plataforma de Cloud Computing que brinda Windows Azure, brinda algunos descuentos a medida que se implementa una cantidad mayor de servicios. 4.2. Costo de implementación del segundo escenario propuesto. En el segundo escenario se implementa un sistema robusto capaz de brindar el servicio de vigilancia móvil a todo el colegio, es decir este sistema se implementa para todas las rutas, los costos brindados por Windows Azure son los siguientes: Figura 13. Costo de implementación de una ruta por mes, para el escenario 2. [22] A diferencia del cálculo de costos para el escenario 1, en este se hace el cálculo de costos para el sistema de todo el colegio, no para una única ruta, de igual manera, el costo que más resalta es el de la codificación, y el menos costoso es el de la base de datos SQL. Si este sistema es implementado en un colegio con las mismas condiciones que en el anterior caso, es decir 20 rutas escolares, que transportan a 20 alumnos cada una, los costos mensuales por ruta y por estudiante serán los siguientes: Figura 14. Distribución de costos del valor total de la implementación del sistema en un colegio para el escenario 2. De igual manera, si el colegio decide aumentar el número de vehículos escolares la proyección de costos es la siguiente: RUTAS Costo Colegio Costo Ruta Costo Niño 20 $1,941 $97 $4.85 30 $2,717 $91 $4.53 40 $3,494 $87 $4.37 50 $4,270 $85 $4.27 Tabla 3. Análisis del costo mensual a medida que aumenta el número de rutas, para el escenario 2. En la tabla 3 se puede observar que la disminución de los costos por ruta, no es muy significativa entre una y otra, sucede los mismo con los valores que debe pagar cada padre por hijo que haga uso del transporte escolar, si se analizan de manera gráfica los costos mensuales que debe tener el colegio a medida que aumenta el número de rutas, estos costos se mostrarían de la siguiente manera: Grafica 2. Aumento de los costos mensuales a medida que aumenta el número vehículos de transporte escolar, para el escenario 2. Al igual que en el análisis realizado para el escenario uno, en este también se hace un aumento de 10 vehículos, comenzando en 20 y terminando en 50, en este caso el aumento de los costos es prácticamente lineal, aunque de igual manera, se presentan pequeños descuentos a medida que se aumenta la robustez del sistema. 4.3. Comparación de costos, primer escenario vs según escenario. Los costos que representa la implementación de cada escenario, son comparados se obtiene el siguiente análisis: Costo Colegio Rutas Costo Colegio Es. 1 Costo Colegio Es. 2 Diferencia 20 $3,320 $1,941 $1,379 30 $4,648 $2,717 $1,931 40 $5,644 $3,494 $2,150 50 $6,142 $4,270 $1,872 Tabla 4. Comparación de costos mensuales, por colegio, para cada escenario. En la tabla 4 se expone la diferencia de costos por colegio, de manera mensual, la diferencia de costos es bastante notoria entre el escenario 1 y el escenario 2, y a medida que aumenta el número de rutas este valor es más notorio, a excepción de cuando se tienen 50 vehículos, puesto que los descuentos aplicados por Windows Azure, son más grandes para el escenario 1 que para el escenario 2, pero de igual hay una diferencia de costos bastante considerable. Gráficamente esta diferencia de costos, se representa de la siguiente manera: Grafica 3. Comparación del costo mensual por colegio, entre el escenario 1 y el escenario 2. Al igual que en la tabla 4, en la gráfica 3, la diferencia de costos es bastante notoria, de esta manera, desde el punto de vista económico, para el colegio, es accesible, la adquisición de un sistema de vigilancia móvil implementado con un sistema robusto, es decir, equivalente al propuesto en el escenario 2. En cuanto al costo mensual que representa cada ruta, se obtiene el siguiente análisis: Costo Ruta Rutas Costo Ruta Es. 1 Costo Ruta Es. 2 Diferencia 20 $166 $97 $69 30 $155 $91 $64 40 $141 $87 $54 50 $123 $85 $37 Tabla 5. Comparación de costos mensuales, por ruta, para cada escenario. En la tabla 5, se muestra una diferencia de costos, que al igual que en la tabla 4, es bastante considerable, pero en este caso, dicha diferencia disminuye a medida que aumenta el número de vehículos, esto debido a los descuentos que brinda Windows Azure, pero el costo del escenario 2 sigue siendo menor al que presenta el escenario 1. Gráficamente esta diferencia se representa de la siguiente manera: Grafica 4. Comparación del costo mensual por ruta, entre el escenario 1 y el escenario 2. La diferencia de costos es visible en la gráfica 4, así mismo es visible la disminución de dicha diferencia, presentando así, un costo por ruta muy similar para el escenario 2. En cuanto al costo por mes que debe pagar cada padre de los estudiantes transportados por los vehículos escolares, se obtiene el siguiente análisis: Costo Niño Rutas Costo Niño Es. 1 Costo Niño Es. 2 Diferencia 20 $8.30 $4.85 $3.45 30 $7.75 $4.53 $3.22 40 $7.06 $4.37 $2.69 50 $6.14 $4.27 $1.87 Tabla 6. Comparación de costos mensuales, por niño, para cada escenario. A diferencia que en los dos casos anteriores, los costos que representa cada alumno, no se evidencia una diferencia considerable en costos, puesto que los costos por niño no son tan elevados, pero si se observa de manera minuciosa, teniendo en cuenta los valores de los costos, la diferencia entre estos es notable. En las tres comparaciones realizadas, como era de esperarse el valor de implementación del escenario 2 es más económico que el del escenario 1. Gráficamente esta diferencia se puede representar de la siguiente manera: Grafica 5. Comparación del costo mensual por niño, entre el escenario 1 y el escenario 2. En la gráfica 5 es más evidente la diferencia entre costos mensuales, por niño, pero de la misma forma que sucedió anteriormente, la diferencia de costos en el escenario 2 a medida que aumenta el número de rutas, no presenta un cambio considerable, mientras que en el escenario 1 es un poco más notable. 5. Integración de los códigos de cada elemento funcional del servicio de visualización móvil escolar propuesto. Para la integración del código de cada elemento funcional es necesario que todos los servicios creados estén juntos en el mismo grupo de trabajo creado en Windows Azure, el paso a seguir es obtener los códigos de estos, los cuales son los siguientes: • Servicios multimedia: { "$schema": "https://schema.management.azure.com/schemas/2015-01- 01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "mediaservices_colgiouno_name": { "defaultValue": "colgiouno", "type": "String" }, "mediaservices_colegiodos_name": { "defaultValue": "colegiodos", "type": "String" }, "mediaservices_colgiouno_id": { "defaultValue": "/subscriptions/UNKNOWN/resourceGroups/UNKNOWN/providers/UNKNOW N/storageAccounts/mediasvcr4n2rmrnthvz1", "type": "String" }, "mediaservices_colegiodos_id": { "defaultValue": "/subscriptions/492b6c00-2489-4eda-b007- 95bf669be388/resourceGroups/Default-Storage- EastUS/providers/Microsoft.ClassicStorage/storageAccounts/mediasvcr4n2rmrnt hvz1", "type": "String" } }, "variables": {}, "resources": [ { "comments": "Generalized from resource: '/subscriptions/492b6c00-2489- 4eda-b007-95bf669be388/resourcegroups/Default-Media- EastUS/providers/Microsoft.Media/mediaservices/colgiouno'.", "type": "Microsoft.Media/mediaservices", "name": "[parameters('mediaservices_colgiouno_name')]", "apiVersion": "2015-10-01", "location": "East US", "properties": { "storageAccounts": [ { "id": "[parameters('mediaservices_colgiouno_id')]", "isPrimary": true } ] }, "dependsOn": [] }, { "comments": "Generalized from resource: '/subscriptions/492b6c00-2489- 4eda-b007-95bf669be388/resourcegroups/Default-Media- EastUS/providers/Microsoft.Media/mediaservices/colegiodos'.", "type": "Microsoft.Media/mediaservices", "name": "[parameters('mediaservices_colegiodos_name')]", "apiVersion": "2015-10-01", "location": "East US", "properties": { "storageAccounts": [ { "id": "[parameters('mediaservices_colegiodos_id')]", "isPrimary": true } ] }, "dependsOn": [] } ] } • Almacenamiento y red de distribución de contenido: { "$schema": "https://schema.management.azure.com/schemas/2015-01- 01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "profiles_videosmd_name": { "defaultValue": "videosmd", "type": "String" }, "endpoints_rutacolegio_name": { "defaultValue": "videosmd/rutacolegio", "type": "String" }, "origins_almacenamientovideosmd_blob_core_windows_net_name": { "defaultValue": "videosmd/rutacolegio/almacenamientovideosmd-blob- core-windows-net", "type": "String" } }, "variables": {}, "resources": [ { "comments": "Generalized from resource: '/subscriptions/492b6c00-2489- 4eda-b007- 95bf669be388/resourcegroups/Videosmd/providers/Microsoft.Cdn/profiles/videos md'.", "type": "Microsoft.Cdn/profiles", "sku": { "name": "Standard_Verizon" }, "name": "[parameters('profiles_videosmd_name')]", "apiVersion": "2016-04-02", "location": "CentralUs", "tags": {}, "properties": { "provisioningState": "Succeeded", "resourceState": "Active" }, "dependsOn": [] }, { "comments": "Generalized from resource: '/subscriptions/492b6c00-2489- 4eda-b007- 95bf669be388/resourcegroups/Videosmd/providers/Microsoft.Cdn/profiles/videos md/endpoints/rutacolegio'.", "type": "Microsoft.Cdn/profiles/endpoints", "name": "[parameters('endpoints_rutacolegio_name')]", "apiVersion": "2016-04-02", "location": "CentralUs", "tags": {}, "properties": { "originHostHeader": "almacenamientovideosmd.blob.core.windows.net", "isHttpAllowed": true, "isHttpsAllowed": true, "queryStringCachingBehavior": "IgnoreQueryString", "originPath": null, "origins": [ { "name": "almacenamientovideosmd-blob-core-windows-net", "properties": { "hostName": "almacenamientovideosmd.blob.core.windows.net", "httpPort": null, "httpsPort": null } } ], "contentTypesToCompress": [], "isCompressionEnabled": false }, "dependsOn": [ "[resourceId('Microsoft.Cdn/profiles', parameters('profiles_videosmd_name'))]" ] }, { "comments": "Generalized from resource: '/subscriptions/492b6c00-2489- 4eda-b007- 95bf669be388/resourcegroups/Videosmd/providers/Microsoft.Cdn/profiles/videos md/endpoints/rutacolegio/origins/almacenamientovideosmd-blob-core-windows- net'.", "type": "Microsoft.Cdn/profiles/endpoints/origins", "name": "[parameters('origins_almacenamientovideosmd_blob_core_windows_net_name') ]", "apiVersion": "2016-04-02", "properties": { "hostName": "almacenamientovideosmd.blob.core.windows.net", "httpPort": null, "httpsPort": null }, "dependsOn": [ "[resourceId('Microsoft.Cdn/profiles', parameters('profiles_videosmd_name'))]", "[resourceId('Microsoft.Cdn/profiles/endpoints', parameters('endpoints_rutacolegio_name'))]" ] } ] } • Aplicativo web y base de datos: { "$schema": "https://schema.management.azure.com/schemas/2015-01- 01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "components_servicioescolar_name": { "defaultValue": "servicioescolar", "type": "String" }, "serverfarms_PS_Servicio_name": { "defaultValue": "PS-Servicio", "type": "String" }, "sites_servicioescolar_name": { "defaultValue": "servicioescolar", "type": "String" }, "databases_Servicio_Escolar_DB_name": { "defaultValue": "Servicio_Escolar_DB", "type": "String" } }, "variables": {}, "resources": [ { "comments": "Generalized from resource: '/subscriptions/492b6c00-2489- 4eda-b007- 95bf669be388/resourceGroups/servicio_escolar_group/providers/microsoft.insigh ts/components/servicioescolar'.", "type": "microsoft.insights/components", "kind": "web", "name": "[parameters('components_servicioescolar_name')]", "apiVersion": "2014-04-01", "location": "Central US", "tags": { "hidden-link:/subscriptions/492b6c00-2489-4eda-b007- 95bf669be388/resourceGroups/servicio_escolar_group/providers/Microsoft.Web/ sites/servicioescolar": "Resource" }, "properties": { "ApplicationId": "[parameters('components_servicioescolar_name')]" }, "dependsOn": [] }, { "comments": "Generalized from resource: '/subscriptions/492b6c00-2489- 4eda-b007- 95bf669be388/resourceGroups/servicio_escolar_group/providers/Microsoft.Web/ serverfarms/PS-Servicio'.", "type": "Microsoft.Web/serverfarms", "sku": { "name": "D1", "tier": "Shared", "size": "D1", "family": "D", "capacity": 0 }, "name": "[parameters('serverfarms_PS_Servicio_name')]", "apiVersion": "2015-08-01", "location": "South Central US", "properties": { "name": "[parameters('serverfarms_PS_Servicio_name')]", "numberOfWorkers": 0 }, "dependsOn": [] }, { "comments": "Generalized from resource: '/subscriptions/492b6c00-2489- 4eda-b007- 95bf669be388/resourceGroups/servicio_escolar_group/providers/Microsoft.Web/ sites/servicioescolar'.", "type": "Microsoft.Web/sites", "name": "[parameters('sites_servicioescolar_name')]", "apiVersion": "2015-08-01", "location": "South Central US", "properties": { "name": "[parameters('sites_servicioescolar_name')]", "hostNames": [ "servicioescolar.azurewebsites.net" ], "enabledHostNames": [ "servicioescolar.azurewebsites.net", "servicioescolar.scm.azurewebsites.net" ], "hostNameSslStates": [ { "name": "[concat(parameters('sites_servicioescolar_name'),'.azurewebsites.net')]", "sslState": 0, "thumbprint": null, "ipBasedSslState": 0 }, { "name": "[concat(parameters('sites_servicioescolar_name'),'.scm.azurewebsites.net')]", "sslState": 0, "thumbprint": null, "ipBasedSslState": 0 } ], "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('serverfarms_PS_Servicio_name'))]" }, "dependsOn": [ "[resourceId('Microsoft.Web/serverfarms', parameters('serverfarms_PS_Servicio_name'))]" ] }, { "comments": "Generalized from resource: '/subscriptions/492b6c00-2489- 4eda-b007- 95bf669be388/resourceGroups/servicio_escolar_group/providers/SuccessBricks. ClearDB/databases/Servicio_Escolar_DB'.", "type": "SuccessBricks.ClearDB/databases", "name": "[parameters('databases_Servicio_Escolar_DB_name')]", "apiVersion": "2014-04-01", "location": "East US 2", "plan": { "name": "Free" }, "tags": {}, "properties": { "hostname": "us-cdbr-azure-east2-d.cloudapp.net", "name": "[parameters('databases_Servicio_Escolar_DB_name')]", "id": "71A1CAC1C901D278095E050F4AFF7553", "size_mb": "3.37500000", "max_size_mb": "20", "status": { "name": "Healthy", "message": "Database is healthy and ready for use.", "level": "Info" } }, "dependsOn": [] } ] } De esta manera en cuanto a código, cada elemento del sistema se integraría como se expuso anteriormente, estas facilidades que ofrece la plataforma de Windows Azure resulta bastante útil para comprender a fondo como funciona cada elemento y como se integra con los demás elementos que componen el sistema de vigilancia móvil. 6. Sintonización del servicio de visualización móvil escolar propuesto. Para la sintonización del servicio se realizó implementando un aplicativo web en WordPress, para simular la ingesta del video, se hizo uso del software Telestream Wirecast, puesto que este ofrece la posibilidad de realizar la ingesta hacia los canales de entrada creados en Windows Azure, permitiendo transmitir lo que muestra una cámara web, conectada al ordenador donde esta Wirecast, transmitir la pantalla, o transmitir un video que se encuentre almacenado en el equipo, Telestream Wirecast está disponible para equipos con sistema operativo Windows y OS X, este resulta bastante útil puesto que permite seleccionar el códec que se desee utilizar, además de esto, da la opción de conectarse a un canal de entrada creado en Windows Azure, Wirecast se muestra de la siguiente manera: Figura 15. Implementación del software Telestream Wirecast. [23] Para realizar la ingesta hacia los canales de entrada de los vehículos escolares hay que seleccionar el destino, el cual debe ser “Azure Media Services”, luego el códec que se va a utilizar, como puede ser el “Azure H.264 720p 16:9”, es necesario tener en cuenta la IP de ingesta, e ingresarla en el recuadro marcado como “Address”, tal y como se muestra en la siguiente figura: Figura 16. Configuración del software Telestream Wirecast, para iniciar con la ingesta del video. [23] Con esto la transmisión se realizara correctamente, para observarla se puede hacer uso, de un servicio de Azure, denominado “Azure Media Player”, el cual solicita la URL para publicar el video, y permite visualizar la transmisión, este servicio de Azure se muestra de la siguiente manera: Figura 17. Sintonización del video haciendo uso de la herramienta Azure Media Player. [24] El recuadro resaltado en rojo, es en donde se debe ingresar la URL del video transmitido en vivo, al momento de hacer esto, y seleccionar la opción “Update Player” comenzara la reproducción en vivo de lo que se está transmitiendo en vivo a través del software Telestream Wirecast. Para complementar este servicio de transmisión, esta herramienta proporciona el código necesario para ingresar el reproductor en el aplicativo web, tal y como se muestra a continuación: Figura 18. Código para implementar el reproductor de video en un aplicativo web. [24] Este código va anidado a la URL del video que se desea transmitir, por lo cual no se presentara ningún tipo de conflicto al momento de implementarlo en el portal web. Mediante el uso de WordPress se desarrolló el aplicativo web, en este es posible designar los roles que va a tener cada usuario, definiendo sus permisos y limitando el acceso que tienen dentro del aplicativo, como la restricción de solo ingresar al video que corresponde a la ruta que transporta a su hijo, también brinda la posibilidad de asociar las cuentas de redes sociales para completar datos del usuario, e inclusive permite pagar por el servicio de forma virtual, es decir con Pay pal o tarjeta de crédito, esto se debe a que WordPress tiene la capacidad de descargar Plug in que complementen su funcionamiento. El resultado obtenido al sintonizar el sistema se muestra de la siguiente manera: Figura 19. Sintonización del servicio de vigilancia móvil. Como se observa en la figura 19, en la aplicación web en primer lugar, se encuentra el reproductor de video en tiempo real, es decir, lo que se esta transmitiendo en ese preciso instante, mientras que bajo este, se encuentra el video grabado anteriormente, titulado con la fecha de su grabación, lo cual permite la búsqueda rápida y posterior reproducción de los videos deseados. Este es un método muy efectivo de sintonizar el servicio puesto que permite que todos los procesos trabajen en conjunto y brinda una interfaz gráfica del aplicativo web, amigable para los usuarios y fácil de utilizar. 6.1. Consideraciones y discusión para la operación masiva y estable del sistema. El sistema que se implementó para este proyecto, es un piloto, no es apto para operar masivamente, para que este sistema se adapte hay que tener en cuenta ciertas consideración con las cuales se puede complementar este sistema, mejorándolo de tal forma para que pueda operar masivamente. Para comenzar la adecuación del hardware adecuado, es decir, de las cámaras instaladas en cada vehículo escolar, esto es de vital importancia puesto que con la implementación de estos, se puede realizar la codificación del video en el proceso de ingesta y no en el proceso del trasiego, de esta manera se omitirán los costos generados por dicho servicio, lo cual genera mas encomia en el servicio. Para la selección del hardware es necesario tener en cuenta el tipo de códec que tiene y el códec que es compatible con la plataforma de Cloud Computing que se decida utilizar, para el caso de Windows Azure, es solo compatible con el códec H264, por lo cual dispositivos que cuenten con el códec H265, en este momento resultarían incompatibles para este sistema. Otro criterio que se debe tener en cuenta, es el dispositivo que provee la conexión a la nube, para las pruebas se uso un canal de 5 Mbps, en este se presento cierta inestabilidad puesto que la transmisión en vivo necesita un canal mas grande, para poder transmitir uno o varios videos simultáneamente, además se presentaron delay muy grandes, entre 5 y 10 segundos, esto en sistema que opere masivamente no puede ocurrir, puesto que causaría que la calidad del sistema bajara y se perdieran ciertas partes de la transmisión. Para seleccionar el escenario más adecuado a la operación masiva hay que tener en cuenta los siguientes términos, “Scale Up” y “Scale Out”, el primero hace referencia a potenciar los recursos físicos del servidor, es decir, potenciar el hardware, en este caso, el primer término se asociaría al escenario 2, puesto que en este escenario solo se implementa un servidor con mayor robustez para satisfacer las necesidades de la entidad educativa. [25] Por contraparte, el segundo término hace referencia a utilizar más servidores del mismo tipo para satisfacer las necesidades del sistema, en términos más simples, este se refiere a levantar más servidores en paralelo, es decir, cada uno independiente del otro. [25] Un parámetro necesario para poder distribuir este sistema de vigilancia en diversas entidades educativas es la de ofrecer un portafolio con múltiples opciones de adquisición del mismo, es decir, diferentes planes, con diferentes niveles de servicio y diferentes costos, como lo puede ser un plan “Premium” en donde se haga uso de servidores con especificaciones de alto rendimiento, un plan económico, donde el servicio es bueno, pero los servidores tienen especificaciones sencillas, y un plan en donde se aplique publicidad, puesto que esta puede reducir costos de implementación y al mismo tiempo generar ganancias, este ultimo se puede aplicar a colegios públicos, sostenidos por el gobierno. Para la implementación masiva, es decir, para toda una ciudad como Bogotá la cual cuenta con una cantidad de colegios bastante elevada, se tendría que implementar una combinación de ambos escenarios, es decir, implementar un servidor lo suficientemente robusto para un colegio, mientras que paralelamente se implementan servidores con las mismas características para otros colegios, pero al implementarlo de esta manera también entra en discusión la implementación de un servidor robusto que funcione como back up en dado caso de que alguno de estos falle. En cuanto a la parte económica, es más costoso implementar un sistema de este tipo, pero como se está haciendo de manera masiva, las ganancias generadas van a ser mucho mayor, puesto que el rango de cobertura y de implementación del sistema va a ser mucho mayor. En cuanto al sistema en sí, una forma de complementarlo para brindar un servicio completo, debe de integrarse un sistema GPS el cual notifique algún cambio de ruta indebido que tome el vehículo, también la implementación de un giróscopo y un acelerómetro, que notifiquen un cambio de velocidad fuerte, esto para casos de que el vehículo tenga algún tipo de choque, también se puede implementar un dispositivo que mida el estado de vigilia, es decir el estado anímico del conductor y así evitar que este maneje el vehículo muy cansado y pierda el control del mismo, además de esto también está la implementación de un alcoholímetro, para evitar que el conductor maneje la ruta en estado de embriaguez y pueda causar un accidente grave que cause daño a los estudiantes transportados por él. Hablando del aplicativo Web, se puede implementar la parte de utilizar las cuentas de las redes sociales de los usuarios para solicitar la creación de su perfil en el sistema, sin tener que suministrar toda su información personal una y otra vez, además también se puede realizar el envió de notificaciones al correo electrónico de los padres, por si ocurre algo al interior de la ruta o algún accidente y el no este visualizando en ese momento lo que ocurre con dicho vehículo y de la misma manera notificarle las fechas límites del pago del servicio. Para implementar este servicio, de manera masiva, es necesario tener en cuenta estas consideraciones, e inclusive para realiza versiones más actualizadas de este mismo proyecto. 7. Conclusiones. Windows Azure facilita la creación de servicios de este tipo, puesto que no es necesario tener un conocimiento avanzado de programación en algún lenguaje en especifico, por el contrario, basta con conocer como funciona cada uno de los componentes del sistema y como se pueden integrar para desarrollar infinidad de aplicaciones, tal y como lo puede ser, un sistema de vigilancia móvil para transporte escolar. En el diseño del sistema de vigilancia móvil para vehículos escolares se plantearon dos escenarios, los cuales proponen dos modelos diferentes para implementar el servicio, esto a nivel de un piloto, por lo cual fueron comparados tanto económica como funcionalmente. En cuanto a calidad del servicio el que mejor cumple con las necesidades del sistema es el del escenario uno, es decir el sistema en el que se implementan múltiples servidores en paralelo, puesto que este ofrece más estabilidad y en caso de que alguno de los servidores falle, los demás no se vean afectados. Mientras que en el factor económico, hay una diferencia de costos bastante marcada a favor del primer escenario, esto debido a que este sistema se concentra en hacer más robusto sus servicios, y así establecer la transmisión deseada. La función de la red de distribución de contenido es bastante importante en el sistema de vigilancia puesto a que dicha red, permite distribuir a varios usuarios a la vez, lo que sucede al interior de una misma ruta. Al clasificar los servicios internos del sistema por la función que desempeña dentro de este (conectividad, almacenamiento y computo) se facilita el entendimiento del papel que estos desempeñan dentro de este sistema y así comprender la importancia que tiene dentro del mismo. La codificación activa tiene un papel importante en este sistema puesto que gracias a esta codificación, es posible realizar la transmisión en tiempo real, puesto que este códec se encarga de procesar el video continuamente a medida que se realiza la ingesta. El almacenamiento en cinta es bastante efectivo para guardar los videos antiguos, puesto que tiene proveen una gran capacidad a un costo bajo. En este sistema es necesario tener almacenados los videos por una cantidad de tiempo considerable puesto que se pueden presentar inconvenientes de bastante duración, en los cuales puede ser necesaria evidencia audiovisual proveniente del interior del vehículo escolar. Haciendo uso de Cloud Computing, es bastante beneficioso para implementar un sistema de este tipo, puesto que provee diferentes servidores que se adaptan a las necesidades del proveedor de dicho sistema, también provee diferentes herramientas de prueba, para verificar que el sistema esté funcionando correctamente, y de tener algún problema permite implementar el back up de algún servicio en específico fácilmente, además posee plataformas virtuales útiles como WordPress para la creación de aplicativos Web para unificar todos los servicios y proveer un servicio de alta calidad. Todas estas funciones las brinda con costos accesibles, si se compara con los costos que representaría la adquisición de los mismos equipos, por lo cual se recomienda el uso de este tipo de data center virtual. Para la implementación masiva de un sistema como este, es necesario tener en cuenta todos los aspectos de seguridad para los estudiantes, puesto que no es suficiente con el audio y el video de lo que ocurre dentro del vehículo, sino que además es necesario tener en cuenta todo factor de riesgo que pueda presentarse e intentar prevenirlo o notificarlo inmediatamente suceda. 8. Referencias. [1]. NIST (National Institute of Standards and Technology); the NIST Definition of Cloud Computing. [Online]. Available: http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf [2]. Implementación de cámaras de seguridad en vehículos escolares. Decreto 0348 del 25 de febrero del 2015, articulo 19, inciso d, numeral 5. [Online]. Available: https://www.mintransporte.gov.co/descargar.php?idFile=12134 [3]. What is AWS (Amazon Web Services) [Online]. Available: http://whatis.techtarget.com/definition/Amazon-Web-Services-AWS [4]. Data Prius; Finlandia es el país líder en Cloud Computing de empresas en Europa. [Online]. Available: http://blog.dataprius.com/index.php/2014/12/15/finlanda-es-el-pais-lider-en-cloud- computing-de-empresas-en-europa/ [5]. Axis Communications; Soluciones de vigilancia a bordo para autobuses y sistemas ferroviarios. [Online]. Available: http://www.axis.com/global/es/solutions-by- industry/transportation/public-transport [6]. Cloud Computing – una perspectiva para Colombia. Mesa sectorial Cloud Computing, pagina ocho (8), definición de Cloud Computing. [7].Cómo funciona el streaming?, por Luis Castro, [Online]. Available: http://aprenderinternet.about.com/od/ConceptosBasico/f/como-Funciona-El-Streaming.htm [8]. Costos de aplicación y costos de operación, [Online]. Available: http://knoow.net/es/cieeconcom/gestion/capex/ [9]. Load Balancing [Online]. Available: http://www.radware.com/Glossary/LoadBalancing/ [10]. Azure media services poster. [Online]. Available: https://www.microsoft.com/es- co/download/confirmation.aspx?id=38195 [11]. Codec. [Online]. Available: http://techterms.com/definition/codec [12]. Indexer Operations (Azure Search Service REST API: 2015-02-28-Preview) by Eugene Shvets. [Online]. Available: https://azure.microsoft.com/en-us/documentation/articles/search- api-indexers-2015-02-28-preview/ [13]. Introduction to Microsoft Azure Storage by Tamara Myers. [Online]. Available: https://azure.microsoft.com/en-us/documentation/articles/storage-introduction/#access-to-blob- table-queue-and-file-resources [14]. Cloud storage appliances: backup and recovery mode simple by Jason Perlow. [Online]. Available: http://www.zdnet.com/article/cloud-storage-appliances-backup-and-recovery-made- simple/ [15]. Introducing the Windows Azure Content Delivery Network by Brad Calder. [Online]. Available: https://azure.microsoft.com/en-us/blog/introducing-the-windows-azure-content- delivery-network/ [16]. ¿Qué es Azure Active Directory? By Markus Vilcinskas. [Online]. Available: https://azure.microsoft.com/es-es/documentation/articles/active-directory-whatis/ [17].Que es la conectividad? [Online]. Available: http://comunikt08.blogspot.com.co/2008/07/que-es-la-conectividad.html [18]. Cuál es el significado de almacenamiento. Concepto, Definición, Que es Almacenamiento. [Online]. Available: https://edukavital.blogspot.com.co/2013/01/definicion-de- almacenamiento.html [19]. Procesamiento de la información. [Online]. Available: http://fccea.unicauca.edu.co/old/procesamiento.htm [20]. Plataforma virtual Microsoft Azure. [Online]. Available: https://manage.windowsazure.com [21]. Portal Microsoft Azure. [Online]. Available: https://portal.azure.com [22]. Azure Pricing Calculator. [Online]. Available: https://azure.microsoft.com/en- us/pricing/calculator/ [23]. Telestream Wirecast. [Online]. Available: http://www.telestream.net [24]. Azure Media Player. [Online]. Available: https://ampdemo.azureedge.net [25].Cómo escalar aplicaciones. SCALE UP vs. SCALE OUT y las posibilidades con Windows y SQL Azure. [Online]. Available: https://blogs.msdn.microsoft.com/warnov/2010/08/03/cmo- escalar-aplicaciones-scale-up-vs-scale-out-y-las-posibilidades-con-windows-y-sql-azure/