852 resultados para SERVER
Resumo:
The availability of electronic health data favors scientific advance through the creation of repositories for secondary use. Data anonymization is a mandatory step to comply with current legislation. A service for the pseudonymization of electronic healthcare record (EHR) extracts aimed at facilitating the exchange of clinical information for secondary use in compliance with legislation on data protection is presented. According to ISO/TS 25237, pseudonymization is a particular type of anonymization. This tool performs the anonymizations by maintaining three quasi-identifiers (gender, date of birth and place of residence) with a degree of specification selected by the user. The developed system is based on the ISO/EN 13606 norm using its characteristics specifically favorable for anonymization. The service is made up of two independent modules: the demographic server and the pseudonymizing module. The demographic server supports the permanent storage of the demographic entities and the management of the identifiers. The pseudonymizing module anonymizes the ISO/EN 13606 extracts. The pseudonymizing process consists of four phases: the storage of the demographic information included in the extract, the substitution of the identifiers, the elimination of the demographic information of the extract and the elimination of key data in free-text fields. The described pseudonymizing system was used in three Telemedicine research projects with satisfactory results. A problem was detected with the type of data in a demographic data field and a proposal for modification was prepared for the group in charge of the drawing up and revision of the ISO/EN 13606 norm.
Resumo:
One of the key factors for a given application to take advantage of cloud computing is the ability to scale in an efficient, fast and reliable way. In centralized multi-party video conferencing, dynamically scaling a running conversation is a complex problem. In this paper we propose a methodology to divide the Multipoint Control Unit (the video conferencing server) into more simple units, broadcasters. Each broadcaster receives the media from a participant, processes it and forwards it to the rest. These broadcasters can be distributed among a group of CPUs. By using this methodology, video conferencing systems can scale in a more granular way, improving the deployment.
Resumo:
We introduce the need for a distributed guideline-based decision sup-port (DSS) process, describe its characteristics, and explain how we implement-ed this process within the European Union?s MobiGuide project. In particular, we have developed a mechanism of sequential, piecemeal projection, i.e., 'downloading' small portions of the guideline from the central DSS server, to the local DSS in the patient's mobile device, which then applies that portion, us-ing the mobile device's local resources. The mobile device sends a callback to the central DSS when it encounters a triggering pattern predefined in the pro-jected module, which leads to an appropriate predefined action by the central DSS, including sending a new projected module, or directly controlling the rest of the workflow. We suggest that such a distributed architecture that explicitly defines a dialog between a central DSS server and a local DSS module, better balances the computational load and exploits the relative advantages of the cen-tral server and of the local mobile device.
Resumo:
El presente trabajo describe la construcción de una aplicación que controla a un Non Player Character (NPC), en un mundo virtual. La aplicación desarrollada, que tiene como nombre BotManager, realiza dos tareas fundamentales: 1) conectarse al repositorio de conocimiento, que en esta implementación es una ontología expresada en OWL, para obtener las acciones que debe realizar el NPC dentro del mundo virtual; y 2) ordenar al NPC que realice estas acciones en un mundo virtual creado con la plataforma OpenSimulator. BotManager puede tener variadas aplicaciones, por lo tanto puede ser usada como complemento en mundos virtuales aplicados a la educación, simulación, ocio, etc. Ahora bien, la principal razón que motivó el desarrollo del BotManager fue la de crear un sistema de demostración automática de tareas en un mundo virtual destinado a la educación/ entrenamiento. De esta forma, un Sistema Inteligente de Tutoría integrado con un mundo virtual podría demostrar paso a paso a un estudiante cómo realizar una tarea en el mundo virtual. La ontología que lee el BotManager extiende la ontología propuesta en la tesis “Una propuesta de modelado del estudiante basada en ontologías y diagnóstico pedagógico-cognitivo no monótono” de Julia Parraga en el 2011 (Ontología de Julia). La construcción y las pruebas del BotManager se llevaron a cabo en tres etapas: 1) creación de la Ontología de Acciones del NPC que extiende la Ontología de Julia; 2) diseño e implementación de la aplicación en C# que lee la ontología que contiene el plan de acción del NPC, y ordena al NPC realizar las acciones en el mundo virtual; y 3) pruebas de la aplicación con la práctica “preparación de una taza de cafe”, que es parte de un Laboratorio Virtual de Biotecnología. El BotManager se ha diseñado como una aplicación cliente que se conecta a un servidor de Open- Simulator. Por lo tanto, puede ejecutarse en una máquina distinta a la del servidor. Asimismo, en la implementación del BotManager se ha utilizado una librería gratuita denominada LibOpenMetaverse que permite controlar un NPC de forma remota.---ABSTRACT---This paper describes the construction of an application that controls a Non Player Character (NPC), in a virtual world. The application developed, called BotManager, performs two main tasks: 1) the connection to the repository of knowledge, which in this implementation is an ontology expressed in OWL, and retrieving the actions to be performed by the NPC within the virtual world; and 2) commanding the NPC to perform these actions in a virtual world created with the OpenSimulator platform. BotManager can have diverse applications, therefore it can be used as a complement in virtual worlds applied to education, simulation, entertainment, etc. However, the main reason behind the development of BotManager was to create an automatic demonstration of tasks in a virtual world for education / training. Thus, a virtual world integrated with an Intelligent Tutoring Systems could demonstrate step by step to a student how to perform a task in the virtual world. The ontology used by the BotManager extends ontology proposed in the thesis “A proposal for modeling ontologies based student and not monotonous teaching-cognitive diagnosis” by Julia Parraga in 2011 (Julia’s Ontology). Construction and testing of BotManager were conducted in three stages: 1) creation of the NPC Actions Ontology by extending the Julia’s Ontology; 2) design and implementation of the application in C# that reads the ontology containing the plan of action of the NPC, and commands the NPC to perform the read plan in the virtual world; and 3) testing of the application with the practice “preparing a cup of coffee”, which is part of a Virtual Laboratory of Biotechnology. The BotManager has been designed as a client application that connects to an OpenSimulator server. Therefore, it can run on a different machine to the server. To implement the BotManager we have used a free library called libopenmetaverse that allows us to control a NPC remotely.
Resumo:
Aunque se han logrado importantes avances en estudios de laboratorio con diseños experimentales poco representativos (e.g., Farrow y Reid, 2012; Nieminen, Piirainen, Salmi, y Linnamo, 2013), a día de hoy, todavía se desconoce a cabalidad cómo los jugadores de tenis de diferente nivel de pericia calibran o ajustan sus movimientos a las demandas espacio-temporales presentes en la tarea de resto de un primer servicio. ! Escasos trabajos se han llevado a cabo in situ y a la mayoría se les puede cuestionar algún aspecto de la metodología empleada. Así pues, en varios estudios la frecuencia de grabación ha sido limitada (e.g., a 50 Hz en Jackson y Gudgeon, 2004; Triolet, Benguigui, Le Runigo y Williams, 2013), o la velocidad del saque ha sido visiblemente inferior a la habitual (cf. Carboch, Süss y Kocib, 2014; Williams, Singer y Weigelt, 1998). También, en algunos estudios los participantes experimentados no han sido jugadores de nivel internacional (e.g., Avilés, Ruiz, Sanz y Navia, 2014), y el tamaño muestral ha sido muy pequeño (e.g., Gillet, Leroy, Thouvarecq, Mégrot y Stein, 2010). ! Además, en los diferentes trabajos se han utilizado una diversidad de métodos e instrumentos de medida y los criterios de codificación del inicio de los movimientos y de las respuestas han diferido; como consecuencia el lapso visomotor de respuesta (LVMr) ha sido muy dispar variando considerablemente de 198 a 410 ms. Considerando los inconvenientes señalados anteriormente, el presente estudio tuvo como objetivo determinar un modelo técnico de regulación temporal de los movimientos y de la respuesta del restador, tomando en cuenta el flujo continuo de información proporcionado por el sacador. Para ello, se realizó un análisis cronométrico de los restos de doce jugadores de diferente nivel deportivo (seis internacionales y seis nacionales) que respondieron de forma natural enviando sus devoluciones hacia las dianas. Se grabaron las acciones de los restadores y sacadores con una cámara Casio Exilim Pro Ex-F1 de alta velocidad (300 Hz) y luego se realizó un análisis imagen por imagen cada 3.33 ms. Una vez obtenidos los datos de los vídeos se realizaron análisis con las pruebas de ANOVA de un factor, ANCOVA con la velocidad del saque como covariable, U de Mann-Whitney y Chi-cuadrado de Pearson. En cuanto a la regulación del movimiento hasta el momento del despegue, los jugadores internacionales iniciaron sus acciones antes que los jugadores nacionales lo que podría indicar una mejor preparación al ejecutar los movimientos como reflejo del nivel de pericia. Los jugadores internacionales iniciaron la elevación del pie posterior a -293 ms y los jugadores nacionales a -202 ms. Todas estas acciones se fueron enlazando unas con otras y fue en el momento del impacto del sacador donde los restadores demostraron una remarcable coordinación perceptivo-motriz. Por consiguiente, los jugadores internacionales despegaron e iniciaron el vuelo a tan solo -6.5 ms del impacto y los jugadores nacionales lo hicieron más tarde a +19.5 ms. A lo largo de la secuencia temporal, todo parece indicar que las informaciones que utilizan los restadores interactúan entre sí; información más temprana y menos fiable para anticipar o moverse antes e información más tardía y más fiable para regular la temporalización de las acciones. Los restadores de nivel internacional y nacional anticiparon a nivel espacial en un bajo porcentaje (7.7% vs. 13.6%) y en tiempos similares (-127 vs. -118 ms) sugiriendo que la utilización de variables ópticas tempranas y menos fiables solo se produce en contadas ocasiones. Por otra parte, estos datos se relacionan con una gran precisión en la respuesta ya que tanto los jugadores internacionales como los nacionales demostraron un alto porcentaje de acierto al responder (95.4% vs. 96.7%). Se había señalado que los jugadores internacionales y nacionales se diferenciarían en el tiempo de caída (i.e., aterrizaje) del primer pie del salto preparatorio, sin embargo ese efecto no fue encontrado (128 vs. 135 ms). Tampoco se hallaron diferencias en el porcentaje de caída con el pie contrario a la dirección de la pelota (58% vs. 62%). Donde sí ambos grupos se diferenciaron fue en el tiempo de caída del segundo pie (147 vs. 168 ms). Esta diferencia de 21 ms fue crucial y fue una prueba de la mayor rapidez de los jugadores internacionales; sugiriendo que ésta acción se podría relacionar con el momento del inicio de la respuesta. Aunque los jugadores internacionales hayan demostrado ser más rápidos en relación con sus capacidades funcionales, ambos grupos no se diferenciaron en todas las variables relacionadas con el LVMr. Ellos no utilizaron esos valiosos milisegundos ganados en el instante de la caída del segundo pie para responder más pronto, ya que el LVMr del miembro superior fue el mismo para ambos grupos (179 vs. 174 ms). Es como si hubiesen tenido todo el tiempo del mundo para seguir ajustando sus acciones hasta el propio golpeo. Además, estos tiempos largos sugieren que en la gran mayoría de los restos la información clave que determinó la respuesta fue detectada (extraída) en momentos cercanos al golpeo del sacador y en la primera parte del vuelo de la pelota. Asimismo, se constató que en general el LVMr se ve influenciado por el tipo de información utilizada. De esta manera, cuando se tomaron en cuenta los ensayos en los que hubo anticipación espacial reflejados en el LVMr del cuerpo entero los tiempos disminuyeron (152 vs. 136 ms). Por otra parte, existieron ocasiones (13%) en los que tanto los jugadores internacionales como los nacionales respondieron tarde recibiendo saques directos (208 vs. 195 ms). Es muy posible que en estos casos los jugadores hayan tenido problemas para detectar la información respondiendo fuera de los márgenes temporales de acción lo que mermó su rendimiento. Lo mismo pudo haber ocurrido cuando ambos grupos de jugadores corrigieron el movimiento del miembro superior tras el impacto (17% vs. 10%) lo que aumentó el tiempo en responder al redirigir la respuesta hacia el lado correcto (208 vs. 205 ms). Además, los jugadores internacionales obtuvieron tiempos de movimiento menores que el de los jugadores nacionales (509 vs. 531 ms) lo que se reflejó en un tiempo total de actuación menor (683 vs. 703 ms). Por último, en cuanto al rendimiento del resto, los jugadores internacionales obtuvieron valores superiores a los jugadores nacionales (1.3 vs. 0.9). ABSTRACT Although there have been significant advances in laboratory studies with unrepresentative experimental designs (e.g., Farrow y Reid, 2012; Nieminen, Piirainen, Salmi, y Linnamo, 2013), today it is still unknown to full extent how tennis players of different levels of expertise calibrate or adjust their movements to the spatial-temporal demands present in the return of a first serve. Few studies have been carried out in situ and some aspects of the methodology most of them used can be questioned. Thus, in several studies the recording frequency has been limited (e.g., a 50 Hz en Jackson y Gudgeon, 2004; Triolet, Benguigui, Le Runigo y Williams, 2013), or serve speed was visibly lower than the usual one (cf. Carboch, Süss y Kocib, 2014; Williams, Singer y Weigelt, 1998). Also, in some studies, experienced participants have not played at international level (e.g., Avilés, Ruiz, Sanz y Navia, 2014), and the sample size has been very small (e.g., Gillet, Leroy, Thouvarecq, Mégrot y Stein, 2010). Furthermore, different works have used a variety of methods and measurement instruments and coding criteria of the onset of movements and responses have differed; due to this, visuomotor response delay (LVMr) has been very uneven, varying considerably from 198-410 ms. Considering the drawbacks mentioned above, this study aimed to determine a technical model of temporal regulation of movements and returner’s response, taking into account the continuous flow of information provided by the server. For this, a chronometric analysis of the returns of twelve players (six international and six national) of different sports level, that naturally responded by hitting their returns towards the targets, was performed. Actions of servers and returners were recorded with a Casio Exilim Pro Ex-F1 high speed camera (300 Hz) and then every 3.33 ms analysis was made frame by frame. Once the data of the videos were obtained, analyses were performed using one factor ANOVA test, ANCOVA with the speed of the serve as a covariate, U of Mann- Whitney and Pearson’s Chi-square test. As for the regulation of movement until the moment of serve, international players began their actions before national players, which could indicate that they were better prepared to execute movements reflecting the level of their expertise. International players began raising the rear foot at -293 ms and national players at -202 ms. All these actions were being linked to each other and it was at the moment of impact of the server when the receivers demonstrated a remarkable perceptual-motor coordination. Therefore, international players took off and started their flight just -6.5 ms before the serve and national players did the same somewhat later: +19.5 ms after the serve. Along the timeline, everything seems to indicate that the information used by returners interact with each other; early information which is less reliable to anticipate or move before, and later information more reliable appears to regulate the timing of actions. Returners of international and national levels anticipated at spatial level in a low percentage (7.7% vs. 13.6%) and in similar times (-127 vs. -118 ms) suggesting that the use of early and less reliable optical variables is only produced on rare occasions. Moreover, these data relate to a precise response as both international and national players showed a high percentage of success in responding (95.4% vs. 96.7%). It had been noted that international and national players would differ in the time the fall (i.e., landing) of the first foot of the split-step, however, this effect was not found (128 vs. 135 ms). No differences in the percentage of fall with the opposite foot to the direction of the ball (58% vs. 62%) were found. Where the two groups differed was in the time of the fall of the second foot (147 vs. 168 ms). This difference of 21 ms was crucial and it was a proof of mayor speed of international players; suggesting that this action could be related to the onset time of response. Although international players have proven to be faster in relation to their functional capabilities, both groups did not differ in all variables related to LVMr. They did not use those precious milliseconds earned at the time of the fall of the second foot to respond as soon, since the LVMr of the upper limb was the same for both groups (179 vs. 174 ms). It is as if they had all the time in the world to continue to adjust their actions until the return itself. Furthermore, these long times suggest that in the vast majority of the returns, key information that determined the response was detected (pick-up) in moments close to the hit of the server and in the first part of the ball flight. It was also found that in general the LVMr is influenced by the type of information used. Thus, when taking into account the trials during which there was spatial anticipation, reflected in LVMr of the whole body, the times decreased (152 vs. 136 ms). On the other hand, there were occasions (13%) where both international and national players responded late, thus receiving aces (208 vs. 195 ms). It is quite possible that in these cases the players have had trouble to pick-up information, responding out of temporary margins of action, which affected their performance. The same could have occurred when both groups of players corrected upper limb movement after impact (17% vs. 10%), which increased the time to respond and to redirect the return towards the right side (208 vs. 205 ms). Moreover, international players scored lower movement times than the national players (509 vs. 531 ms), which was reflected in a shorter total response time (683 vs. 703 ms). Finally, as far as the performance of return is concerned, international players scored above the national players values (1.3 vs. 0.9).
Resumo:
En esta tesis se aborda el problema de la externalización segura de servicios de datos y computación. El escenario de interés es aquel en el que el usuario posee datos y quiere subcontratar un servidor en la nube (“Cloud”). Además, el usuario puede querer también delegar el cálculo de un subconjunto de sus datos al servidor. Se presentan dos aspectos de seguridad relacionados con este escenario, en concreto, la integridad y la privacidad y se analizan las posibles soluciones a dichas cuestiones, aprovechando herramientas criptográficas avanzadas, como el Autentificador de Mensajes Homomórfico (“Homomorphic Message Authenticators”) y el Cifrado Totalmente Homomórfico (“Fully Homomorphic Encryption”). La contribución de este trabajo es tanto teórica como práctica. Desde el punto de vista de la contribución teórica, se define un nuevo esquema de externalización (en lo siguiente, denominado con su término inglés Outsourcing), usando como punto de partida los artículos de [3] y [12], con el objetivo de realizar un modelo muy genérico y flexible que podría emplearse para representar varios esquemas de ”outsourcing” seguro. Dicho modelo puede utilizarse para representar esquemas de “outsourcing” seguro proporcionando únicamente integridad, únicamente privacidad o, curiosamente, integridad con privacidad. Utilizando este nuevo modelo también se redefine un esquema altamente eficiente, construido en [12] y que se ha denominado Outsourcinglin. Este esquema permite calcular polinomios multivariados de grado 1 sobre el anillo Z2k . Desde el punto de vista de la contribución práctica, se ha construido una infraestructura marco (“Framework”) para aplicar el esquema de “outsourcing”. Seguidamente, se ha testado dicho “Framework” con varias implementaciones, en concreto la implementación del criptosistema Joye-Libert ([18]) y la implementación del esquema propio Outsourcinglin. En el contexto de este trabajo práctico, la tesis también ha dado lugar a algunas contribuciones innovadoras: el diseño y la implementación de un nuevo algoritmo de descifrado para el esquema de cifrado Joye-Libert, en colaboración con Darío Fiore. Presenta un mejor comportamiento frente a los algoritmos propuestos por los autores de [18];la implementación de la función eficiente pseudo-aleatoria de forma amortizada cerrada (“amortized-closed-form efficient pseudorandom function”) de [12]. Esta función no se había implementado con anterioridad y no supone un problema trivial, por lo que este trabajo puede llegar a ser útil en otros contextos. Finalmente se han usado las implementaciones durante varias pruebas para medir tiempos de ejecución de los principales algoritmos.---ABSTRACT---In this thesis we tackle the problem of secure outsourcing of data and computation. The scenario we are interested in is that in which a user owns some data and wants to “outsource” it to a Cloud server. Furthermore, the user may want also to delegate the computation over a subset of its data to the server. We present the security issues related to this scenario, namely integrity and privacy and we analyse some possible solutions to these two issues, exploiting advanced cryptographic tools, such as Homomorphic Message Authenticators and Fully Homomorphic Encryption. Our contribution is both theoretical and practical. Considering our theoretical contribution, using as starting points the articles of [3] and [12], we introduce a new cryptographic primitive, called Outsourcing with the aim of realizing a very generic and flexible model that might be employed to represent several secure outsourcing schemes. Such model can be used to represent secure outsourcing schemes that provide only integrity, only privacy or, interestingly, integrity with privacy. Using our new model we also re-define an highly efficient scheme constructed in [12], that we called Outsourcinglin and that is a scheme for computing multi-variate polynomials of degree 1 over the ring Z2k. Considering our practical contribution, we build a Framework to implement the Outsourcing scheme. Then, we test such Framework to realize several implementations, specifically the implementation of the Joye-Libert cryptosystem ([18]) and the implementation of our Outsourcinglin scheme. In the context of this practical work, the thesis also led to some novel contributions: the design and the implementation, in collaboration with Dario Fiore, of a new decryption algorithm for the Joye-Libert encryption scheme, that performs better than the algorithms proposed by the authors in [18]; the implementation of the amortized-closed-form efficient pseudorandom function of [12]. There was no prior implementation of this function and it represented a non trivial work, which can become useful in other contexts. Finally we test the implementations to execute several experiments for measuring the timing performances of the main algorithms.
Resumo:
El objetivo del proyecto es implantar un sistema de monitorización, con la peculiaridad de encontrarse en alta disponibilidad, esto es, que el servicio (la monitorización de una infraestructura) se preste forma continua y no se vea interrumpido. Dado que el propósito del sistema es monitorizar activamente una infraestructura, ha sido necesario desplegar una infraestructura, además del sistema de monitorización. La infraestructura en cuestión está compuesta por un servidor de documentación, un servidor de base de datos, un servidor de aplicaciones y un servidor web. El sistema de monitorización se ha desplegado en la misma red de área local de esta infraestructura y monitoriza que los servicios prestados por los componentes de esta infraestructura se encuentren operativos y funcionando adecuadamente. Así pues, se tendría un sistema de monitorización local funcional. No obstante, el proyecto plantea un sistema escalable, que esté preparado para el crecimiento de la infraestructura y continúe siendo eficiente. Para ello, sistema de monitorización se encuentre dividido por dos componentes: Sonda delegada: monitoriza localmente los activos de la infraestructura a monitorizar, es el escenario anteriormente descrito. Sonda maestra: recibe los resultados de la monitorización realizada, este sistema puede estar desplegado en otra red distinta a la sonda delegada. Este enfoque no solo es escalable, sino también es fiel a la realidad, pues puede darse el caso de que las sondas pertenezcan a distintas infraestructuras e inclusive, distintas organizaciones, y se comuniquen a través de internet, mediante un mecanismo confiable a ser posible. El proyecto plantea que ambas sondas se encuentren en alta disponibilidad (en adelante HA, referente a high availability), y que cada sonda está compuesta por dos equipos (nodos, en adelante). Como se analizará en posteriores capítulos, existen diversas configuraciones que permiten implantar un sistema en HA, la configuración escogida para el proyecto es Activo – Pasivo(los detalles de esta configuración también se explican en posteriores capítulos). Para finalizar, se estudiara la posibilidad de ofrecer respuestas activas en ciertas situaciones y configuraciones adicionales sobre el sistema de monitorización base. Por otro lado, para la implantación del proyecto se ha usado software de código abierto para la virtualización de la infraestructura (Virtual Box y GNS3), los sistemas operativos base (Linux), el sistema de monitorización(Nagios Core) así como el software que implementa la HA (corosync y pacemaker).---ABSTRACT---The aim of the Project is to implement a monitoring system, with the peculiarity of being deployed in high availability, what it is that the service (monitoring infrastructure) is provided continuously and not interrupted. As the purpose of the system is monitoring infrastructure actively, an infrastructure has been deployed, and also the monitoring system. The infrastructure monitored is composed of a documentation server, a server database, an application server and a Web server. The monitoring system has been also deployed on the same LAN of this infrastructure and monitors the services provided by the components of this infrastructure are operational and working as expected. This is a local monitoring system functional. However, the project also proposes a scalable system that is ready for growth of infrastructure and efficient. This is the reason of divide the system in two components: Slave Component: monitors locally the infrastructure assets to be monitored, this is the scenario described above. Master Component: get the results from the monitoring, provided by the Slave Component. This system can be deployed in a different network than the slave component. This approach is not only scalable but also a real scenario, as may be the case that the Components belongs to different infrastructures and even, different organizations, also this components can communicate over the Internet, through a reliable mechanism if possible. The project proposes that both Components are deployed in high availability (HA onwards concerning high availability), each Component is composed of two servers (nodes, hereafter). As will be discussed in later chapters, there are several settings available to deploy a system in HA, the configuration chosen for the project is Active - Passive (details of this configuration are also explained in later chapters). Finally the possibility of offering active responses in certain situations and additional settings on the monitoring system will be discussed. On the other hand, for the implementation of the project, open source software has been used, for virtualization infrastructure (Virtual Box and GNS3), code-based operating systems (Linux), the monitoring system (Nagios core), as well as the software that implements the HA (corosync and pacemaker).
Resumo:
En este proyecto se va desarrollar una aplicación distribuida para la diagnosis y monitorización de automóviles. Se pretende poder realizar estas funciones en prácticamente cualquier automóvil del mercado (con fabricación a partir del año 1996 para el caso de automóviles gasolina y para el año 2000 en el caso de automóviles diésel) de manera remota, aprovechando la conectividad a Internet que actualmente brindan la mayoría de los smartphones. La viabilidad del proyecto reside en la existencia de estándares para la diagnosis de la electrónica del motor. Para poder llevar a cabo esta tarea, se empleará una interfaz de diagnóstico ELM327 bluetooth, que servirá de enlace entre el vehículo y el teléfono móvil del usuario y que a su vez se encargara de enviar los datos que reciba del vehículo a un terminal remoto. De esta manera, se tendrá la aplicación dividida en dos partes: por un lado la aplicación que se ejecuta en el terminal móvil del usuario que actuará como parte servidora, y por el otro la aplicación cliente que se ejecutará en un terminal remoto. También estará disponible una versión de la aplicación servidora para PC. El potencial del proyecto reside en la capacidad de visualización en tiempo real de los parámetros más importantes del motor del vehículo y en la detección de averías gracias a la funcionalidad de lectura de la memoria de averías residente en el vehículo. Así mismo, otras funcionalidades podrían ser implementadas en posteriores versiones de la aplicación, como podría ser el registro de dichos parámetros en una base de datos para su posterior procesado estadístico; de este modo se podría saber el consumo medio, la velocidad media, velocidad máxima alcanzada, tiempo de uso, kilometraje diario o mensual… y un sin fin de posibilidades. ABSTRACT. In this project a distributed application for car monitor and diagnostic is going to be developed. The idea is to be able to connect remotely to almost any car (with production starting in 1996 in the case of petrol engines and production starting in 2000 in case of diesel engines) using the Internet connection available in almost every smartphone. The project is viable because of the existence of standards for engine electronic unit connection. In order to do that, an ELM327 bluetooth interface is going to be used. This interface works as a link between the car and the smartphone, and it is the smartphone which sends the received data from the car to a remote terminal (computer). Thus, the application is divided into two parts: the server which is running on smartphone and the client which is running on a remote terminal. Also there is available a server application for PC. The potential of the project lies in the real-time display data capacity of the most important engine parameters and in the diagnostic capacity based on reading fault memory. In addition, other features could be implemented in later versions of the application, as the capacity of record data for future statistic analysis. By doing this, it is possible to know the average fuel consumption, average speed, maximum speed, time of use, daily or monthly mileage… and an endless number of possibilities.
Resumo:
En el departamento de Ocio Digital de bq se desarrollan multitud de proyectos con diferentes modelos de negocio y diferentes stack tecnológicos. Para llevar a cabo todos estos proyectos, es necesario tener un ecosistema de desarrollo lo más unificado y centralizado posible. Por eso, en el departamento existe una plataforma genérica de servicios REST sobre la que se apoyan todos los aplicativos desarrollados. Para agilizar y facilitar la integración de los aplicativos con la plataforma de servicios,se desarrolla este SDK (Software Development Kit) basado en JavaScript llamado corbel-js. Este SDK ha de funcionar tanto en aplicaciones web, como en un middleware basado en node.js desarrollado también en la organización, por lo que el SDK se ha desarrollado de forma híbrida, siendo capaz de ejecutarse tanto en en el lado del cliente, como en el lado del servidor. Además, como parte de la filosofía del departamento, el desarrollo del SDK está basado en tecnologías Open Source, usando metodologías ágiles de desarrollo y un sistema de integración continua y revisión de código, garantizando la calidad del mismo. ABSTRACT A lot of different kinds of software projects are developed in the digital department of bq. To easily develop all of these projects, each one with its own business model and technology stack, it is necessary to have an unique software ecosystem. Because of that, in the software department a generic service REST platform has been developed. To support an easy integration of the applications with the service platform of the organization, this SDK(Software Development Kit) has been developed in JavaScript. As the SDK has to run under a web application and under a software middleware based in node.js, also developed in the organization, the SDK is hybrid, being capable of run inside a web client application or inside a node.js application server. As a part of the software philosophy of the department, the development of the SDK is made with a whole open source software stack, using agile software methodologies.
Resumo:
Los Centros de Datos se encuentran actualmente en cualquier sector de la economía mundial. Están compuestos por miles de servidores, dando servicio a los usuarios de forma global, las 24 horas del día y los 365 días del año. Durante los últimos años, las aplicaciones del ámbito de la e-Ciencia, como la e-Salud o las Ciudades Inteligentes han experimentado un desarrollo muy significativo. La necesidad de manejar de forma eficiente las necesidades de cómputo de aplicaciones de nueva generación, junto con la creciente demanda de recursos en aplicaciones tradicionales, han facilitado el rápido crecimiento y la proliferación de los Centros de Datos. El principal inconveniente de este aumento de capacidad ha sido el rápido y dramático incremento del consumo energético de estas infraestructuras. En 2010, la factura eléctrica de los Centros de Datos representaba el 1.3% del consumo eléctrico mundial. Sólo en el año 2012, el consumo de potencia de los Centros de Datos creció un 63%, alcanzando los 38GW. En 2013 se estimó un crecimiento de otro 17%, hasta llegar a los 43GW. Además, los Centros de Datos son responsables de más del 2% del total de emisiones de dióxido de carbono a la atmósfera. Esta tesis doctoral se enfrenta al problema energético proponiendo técnicas proactivas y reactivas conscientes de la temperatura y de la energía, que contribuyen a tener Centros de Datos más eficientes. Este trabajo desarrolla modelos de energía y utiliza el conocimiento sobre la demanda energética de la carga de trabajo a ejecutar y de los recursos de computación y refrigeración del Centro de Datos para optimizar el consumo. Además, los Centros de Datos son considerados como un elemento crucial dentro del marco de la aplicación ejecutada, optimizando no sólo el consumo del Centro de Datos sino el consumo energético global de la aplicación. Los principales componentes del consumo en los Centros de Datos son la potencia de computación utilizada por los equipos de IT, y la refrigeración necesaria para mantener los servidores dentro de un rango de temperatura de trabajo que asegure su correcto funcionamiento. Debido a la relación cúbica entre la velocidad de los ventiladores y el consumo de los mismos, las soluciones basadas en el sobre-aprovisionamiento de aire frío al servidor generalmente tienen como resultado ineficiencias energéticas. Por otro lado, temperaturas más elevadas en el procesador llevan a un consumo de fugas mayor, debido a la relación exponencial del consumo de fugas con la temperatura. Además, las características de la carga de trabajo y las políticas de asignación de recursos tienen un impacto importante en los balances entre corriente de fugas y consumo de refrigeración. La primera gran contribución de este trabajo es el desarrollo de modelos de potencia y temperatura que permiten describes estos balances entre corriente de fugas y refrigeración; así como la propuesta de estrategias para minimizar el consumo del servidor por medio de la asignación conjunta de refrigeración y carga desde una perspectiva multivariable. Cuando escalamos a nivel del Centro de Datos, observamos un comportamiento similar en términos del balance entre corrientes de fugas y refrigeración. Conforme aumenta la temperatura de la sala, mejora la eficiencia de la refrigeración. Sin embargo, este incremente de la temperatura de sala provoca un aumento en la temperatura de la CPU y, por tanto, también del consumo de fugas. Además, la dinámica de la sala tiene un comportamiento muy desigual, no equilibrado, debido a la asignación de carga y a la heterogeneidad en el equipamiento de IT. La segunda contribución de esta tesis es la propuesta de técnicas de asigación conscientes de la temperatura y heterogeneidad que permiten optimizar conjuntamente la asignación de tareas y refrigeración a los servidores. Estas estrategias necesitan estar respaldadas por modelos flexibles, que puedan trabajar en tiempo real, para describir el sistema desde un nivel de abstracción alto. Dentro del ámbito de las aplicaciones de nueva generación, las decisiones tomadas en el nivel de aplicación pueden tener un impacto dramático en el consumo energético de niveles de abstracción menores, como por ejemplo, en el Centro de Datos. Es importante considerar las relaciones entre todos los agentes computacionales implicados en el problema, de forma que puedan cooperar para conseguir el objetivo común de reducir el coste energético global del sistema. La tercera contribución de esta tesis es el desarrollo de optimizaciones energéticas para la aplicación global por medio de la evaluación de los costes de ejecutar parte del procesado necesario en otros niveles de abstracción, que van desde los nodos hasta el Centro de Datos, por medio de técnicas de balanceo de carga. Como resumen, el trabajo presentado en esta tesis lleva a cabo contribuciones en el modelado y optimización consciente del consumo por fugas y la refrigeración de servidores; el modelado de los Centros de Datos y el desarrollo de políticas de asignación conscientes de la heterogeneidad; y desarrolla mecanismos para la optimización energética de aplicaciones de nueva generación desde varios niveles de abstracción. ABSTRACT Data centers are easily found in every sector of the worldwide economy. They consist of tens of thousands of servers, serving millions of users globally and 24-7. In the last years, e-Science applications such e-Health or Smart Cities have experienced a significant development. The need to deal efficiently with the computational needs of next-generation applications together with the increasing demand for higher resources in traditional applications has facilitated the rapid proliferation and growing of data centers. A drawback to this capacity growth has been the rapid increase of the energy consumption of these facilities. In 2010, data center electricity represented 1.3% of all the electricity use in the world. In year 2012 alone, global data center power demand grew 63% to 38GW. A further rise of 17% to 43GW was estimated in 2013. Moreover, data centers are responsible for more than 2% of total carbon dioxide emissions. This PhD Thesis addresses the energy challenge by proposing proactive and reactive thermal and energy-aware optimization techniques that contribute to place data centers on a more scalable curve. This work develops energy models and uses the knowledge about the energy demand of the workload to be executed and the computational and cooling resources available at data center to optimize energy consumption. Moreover, data centers are considered as a crucial element within their application framework, optimizing not only the energy consumption of the facility, but the global energy consumption of the application. The main contributors to the energy consumption in a data center are the computing power drawn by IT equipment and the cooling power needed to keep the servers within a certain temperature range that ensures safe operation. Because of the cubic relation of fan power with fan speed, solutions based on over-provisioning cold air into the server usually lead to inefficiencies. On the other hand, higher chip temperatures lead to higher leakage power because of the exponential dependence of leakage on temperature. Moreover, workload characteristics as well as allocation policies also have an important impact on the leakage-cooling tradeoffs. The first key contribution of this work is the development of power and temperature models that accurately describe the leakage-cooling tradeoffs at the server level, and the proposal of strategies to minimize server energy via joint cooling and workload management from a multivariate perspective. When scaling to the data center level, a similar behavior in terms of leakage-temperature tradeoffs can be observed. As room temperature raises, the efficiency of data room cooling units improves. However, as we increase room temperature, CPU temperature raises and so does leakage power. Moreover, the thermal dynamics of a data room exhibit unbalanced patterns due to both the workload allocation and the heterogeneity of computing equipment. The second main contribution is the proposal of thermal- and heterogeneity-aware workload management techniques that jointly optimize the allocation of computation and cooling to servers. These strategies need to be backed up by flexible room level models, able to work on runtime, that describe the system from a high level perspective. Within the framework of next-generation applications, decisions taken at this scope can have a dramatical impact on the energy consumption of lower abstraction levels, i.e. the data center facility. It is important to consider the relationships between all the computational agents involved in the problem, so that they can cooperate to achieve the common goal of reducing energy in the overall system. The third main contribution is the energy optimization of the overall application by evaluating the energy costs of performing part of the processing in any of the different abstraction layers, from the node to the data center, via workload management and off-loading techniques. In summary, the work presented in this PhD Thesis, makes contributions on leakage and cooling aware server modeling and optimization, data center thermal modeling and heterogeneityaware data center resource allocation, and develops mechanisms for the energy optimization for next-generation applications from a multi-layer perspective.
Resumo:
Los sistemas microinformáticos se componen principalmente de hardware y software, con el paso del tiempo el hardware se degrada, se deteriora y en ocasiones se avería. El software evoluciona, requiere un mantenimiento, de actualización y en ocasiones falla teniendo que ser reparado o reinstalado. A nivel hardware se analizan los principales componentes que integran y que son comunes en gran parte estos sistemas, tanto en equipos de sobre mesa como portátiles, independientes del sistema operativo, además de los principales periféricos, también se analizan y recomiendan algunas herramientas necesarias para realizar el montaje, mantenimiento y reparación de estos equipos. Los principales componentes hardware internos son la placa base, memoria RAM, procesador, disco duro, carcasa, fuente de alimentación y tarjeta gráfica. Los periféricos más destacados son el monitor, teclado, ratón, impresora y escáner. Se ha incluido un apartado donde se detallan los distintos tipos de BIOS y los principales parámetros de configuración. Para todos estos componentes, tanto internos como periféricos, se ha realizado un análisis de las características que ofrecen y los detalles en los que se debe prestar especial atención en el momento de seleccionar uno frente a otro. En los casos que existen diferentes tecnologías se ha hecho una comparativa entre ambas, destacando las ventajas y los inconvenientes de unas frente a otras para que sea el usuario final quien decida cual se ajusta mejor a sus necesidades en función de las prestaciones y el coste. Un ejemplo son las impresoras de inyección de tinta frente a las laser o los discos duros mecánicos en comparación con y los discos de estado sólido (SSD). Todos estos componentes están relacionados, interconectados y dependen unos de otros, se ha dedicado un capítulo exclusivamente para estudiar cómo se ensamblan estos componentes, resaltando los principales fallos que se suelen cometer o producir y se han indicado unas serie tareas de mantenimiento preventivo que se pueden realizar para prolongar la vida útil del equipo y evitar averías por mal uso. Los mantenimientos se pueden clasificar como predictivo, perfectivo, adaptativo, preventivo y correctivo. Se ha puesto el foco principalmente en dos tipos de mantenimiento, el preventivo descrito anteriormente y en el correctivo, tanto software como hardware. El mantenimiento correctivo está enfocado al análisis, localización, diagnóstico y reparación de fallos y averías hardware y software. Se describen los principales fallos que se producen en cada componente, cómo se manifiestan o qué síntomas presentan para poder realizar pruebas específicas que diagnostiquen y acoten el fallo. En los casos que es posible la reparación se detallan las instrucciones a seguir, en otro caso se recomienda la sustitución de la pieza o componente. Se ha incluido un apartado dedicado a la virtualización, una tecnología en auge que resulta muy útil para realizar pruebas de software, reduciendo tiempos y costes en las pruebas. Otro aspecto interesante de la virtualización es que se utiliza para montar diferentes servidores virtuales sobre un único servidor físico, lo cual representa un importante ahorro en hardware y costes de mantenimiento, como por ejemplo el consumo eléctrico. A nivel software se realiza un estudio detallado de los principales problemas de seguridad y vulnerabilidades a los que está expuesto un sistema microinformático enumerando y describiendo el comportamiento de los distintos tipos de elementos maliciosos que pueden infectar un equipo, las precauciones que se deben tomar para minimizar los riesgos y las utilidades que se pueden ejecutar para prevenir o limpiar un equipo en caso de infección. Los mantenimientos y asistencias técnicas, en especial las de tipo software, no siempre precisan de la atención presencial de un técnico cualificado, por ello se ha dedicado un capítulo a las herramientas de asistencia remota que se pueden utilizar en este ámbito. Se describen algunas de las más populares y utilizadas en el mercado, su funcionamiento, características y requerimientos. De esta forma el usuario puede ser atendido de una forma rápida, minimizando los tiempos de respuesta y reduciendo los costes. ABSTRACT Microcomputer systems are basically made up of pieces of hardware and software, as time pass, there’s a degradation of the hardware pieces and sometimes failures of them. The software evolves, new versions appears and requires maintenance, upgrades and sometimes also fails having to be repaired or reinstalled. The most important hardware components in a microcomputer system are analyzed in this document for a laptop or a desktop, with independency of the operating system they run. In addition to this, the main peripherals and devices are also analyzed and a recommendation about the most proper tools necessary for maintenance and repair this kind of equipment is given as well. The main internal hardware components are: motherboard, RAM memory, microprocessor, hard drive, housing box, power supply and graphics card. The most important peripherals are: monitor, keyboard, mouse, printer and scanner. A section has been also included where different types of BIOS and main settings are listed with the basic setup parameters in each case. For all these internal components and peripherals, an analysis of their features has been done. Also an indication of the details in which special attention must be payed when choosing more than one at the same time is given. In those cases where different technologies are available, a comparison among them has been done, highlighting the advantages and disadvantages of selecting one or another to guide the end user to decide which one best fits his needs in terms of performance and costs. As an example, the inkjet vs the laser printers technologies has been faced, or also the mechanical hard disks vs the new solid state drives (SSD). All these components are interconnected and are dependent one to each other, a special chapter has been included in order to study how they must be assembled, emphasizing the most often mistakes and faults that can appear during that process, indicating different tasks that can be done as preventive maintenance to enlarge the life of the equipment and to prevent damage because of a wrong use. The different maintenances can be classified as: predictive, perfective, adaptive, preventive and corrective. The main focus is on the preventive maintains, described above, and in the corrective one, in software and hardware. Corrective maintenance is focused on the analysis, localization, diagnosis and repair of hardware and software failures and breakdowns. The most typical failures that can occur are described, also how they can be detected or the specific symptoms of each one in order to apply different technics or specific tests to diagnose and delimit the failure. In those cases where the reparation is possible, instructions to do so are given, otherwise, the replacement of the component is recommended. A complete section about virtualization has also been included. Virtualization is a state of the art technology that is very useful especially for testing software purposes, reducing time and costs during the tests. Another interesting aspect of virtualization is the possibility to have different virtual servers on a single physical server, which represents a significant savings in hardware inversion and maintenance costs, such as electricity consumption. In the software area, a detailed study has been done about security problems and vulnerabilities a microcomputer system is exposed, listing and describing the behavior of different types of malicious elements that can infect a computer, the precautions to be taken to minimize the risks and the tools that can be used to prevent or clean a computer system in case of infection. The software maintenance and technical assistance not always requires the physical presence of a qualified technician to solve the possible problems, that’s why a complete chapter about the remote support tools that can be used to do so has been also included. Some of the most popular ones used in the market are described with their characteristics and requirements. Using this kind of technology, final users can be served quickly, minimizing response times and reducing costs.
Resumo:
En este proyecto se ha estudiado el abanico de posibilidades que las plataformas web y móviles ofrecen para aprender lenguajes de programación compilados. A continuación, se ha realizado el diseño y la implementación de una plataforma para el aprendizaje de lenguajes de programación desde dispositivos móviles, con posibilidad de compilación remota desde la aplicación desarrollada, analizando el proceso y las elecciones de desarrollo tomadas. Así, se ha desarrollado una app mediante la plataforma de desarrollo Cordova, que puede ser distribuida para todas las plataformas móviles que esta soporta, incluyendo las más populares: iOS y Android. Para la parte servidora se ha utilizado un servidor Apache (PHP) y el sistema NoSQL MongoDB para la base de datos. Para mayor facilidad en la gestión del contenido de la app, se ha desarrollado en paralelo un gestor web de la base de datos, el cual permite añadir, editar y eliminar contenido de la misma a través de una interfaz agradable y funcional. ABSTRACT. In this project I have studied the range of possibilities that web and mobile platforms offer to learn compiled programming languages. Next, I have designed and implemented a platform for learning programming languages from mobile devices, giving the possibility of remote compilation within the developed application. In this terms, I have developed an app with the Cordova development platform, which can be distributed for all the mobile platforms Cordova supports, including the most popular ones: iOS and Android. For the server part, I have used an Apache (PHP) server and the NoSQL database system MongoDB. In order to offer a more usable system and a better database management, I have also developed a web manager for the database, from which database content can be added, edited and removed, through a clear and functional interface.
Resumo:
Este Proyecto Fin de Grado (PFG) tiene como objetivo diseñar e implementar un sistema que genere un fichero de texto que contenga la configuración básica de un encaminador. De esta manera se desea mejorar la eficiencia del personal del departamento donde se va a implantar dicho sistema, liberando a los miembros del mismo de un trabajo repetitivo que se hace varias veces al día. Hasta ahora, esta configuración la realiza cada instalador. Para ello, una vez que se ha cargado y probado la configuración en distintos equipos de manera satisfactoria, se generan un conjunto de plantillas que sirven de modelo para las siguientes configuraciones. Aunque el instalador toma estas plantillas como punto de partida, tiene que modificar manualmente todas las variables que dependen de cada configuración particular. Por tanto, aunque no ha de ejecutar todos los comandos paso a paso, sí debe hacer una revisión total de cada plantilla para generar la configuración adecuada y después cargarla en el encaminador. Para cada configuración se consultan un total de entre tres y siete plantillas. Si a esto se añade que en el departamento se configuran encaminadores de la marca Cisco y Teldat, que de cada marca se utilizan distintos modelos y que la empresa ofrece cuatro tipos de servicio, cada uno con sus particularidades, la tarea de configurar un equipo es costosa. El sistema estará constituido por un servidor web que alojará una base de datos y un programa que permite realizar operaciones de consulta sobre la misma, un sitio web sencillo que hará las funciones de interfaz de usuario y una aplicación que permite generar el fichero de texto que contiene la configuración del encaminador en base a una serie de condicionantes. La base de datos desarrollada es una representación de la utilizada en el entorno real que tiene como objetivo realizar simulaciones del funcionamiento que tendrá el sistema. Por su parte, la funcionalidad del sitio web debe ser la de ofrecer al usuario una interfaz sencilla de utilizar y de interpretar, a través de la cual se puedan realizar consultas a la base de datos así como presentar los resultados de dichas consultas de forma ordenada. La aplicación se encargará de validar los datos a partir de los que se va a generar la configuración, determinar qué plantillas se deben consultar en función a aspectos como el servicio a configurar o la marca del encaminador y finalmente generar el fichero de texto resultado. De este modo, el instalador simplemente tendrá que volcar la información de dicho fichero sobre el encaminador. El sistema se ha diseñado de manera que sea lo más flexible a cambios, puesto que la idea de los miembros del departamento es ampliar la funcionalidad de esta herramienta. ABSTRACT. This Final Degree Project is focused on the design and implementation of a system which is able to generate a text file that contains the basic configuration of a router. With this system we want to improve the efficiency of the department members where this system is going to be introduced, releasing them from repetitive work which is done several times per day. Up to now, each installer has to configure the router manually. After checking the configuration of several devices successfully, they create a set of templates which work as models. Although the installers use those templates, they have to modify the variables that depend on the specific features of each kind of configuration. Thus, even though they don´t have to execute the commands step by step, they have to do a review of each used template in order to generate the right configuration. For each configuration, three to seven templates have to be checked. In addition, if the configured routers are both Cisco and Teldat, there are several models per brand and the company offers four types of services to be installed, so the configuration becomes a hard task to do. The system is comprised of a web server in which both the database and the program responsible for doing queries are hosted, a simple web site that will be the graphic user interface, and an application focused on generating the text file which contains the router configuration based on a set of conditions. The developed database is the representation of the real one and its aim is to simulate the way the system will work. The function of the web site is to offer an easy interface whereby you can submit a query or you can see the obtained results as a data table. Furthermore, the application has to validate the data in which the text file with the router configuration is based on. Then, it has to decide which templates it is going to use according to different aspects, such as the brand of the router or the type of service we want to configure. Finally, the application generates a text file with the necessary commands. As a result of this, the user of the system only has to copy the contents of this file to the router. The system has been designed to be flexible to changes because the members of the department want to increase the utility of this tool in the future.
Resumo:
La forma de consumir contenidos en Internet ha cambiado durante los últimos años. Inicialmente se empleaban webs estáticas y con contenidos pobres visualmente. Con la evolución de las redes de comunicación, esta tendencia ha variado. A día de hoy, deseamos páginas agradables, accesibles y que nos presenten temas variados. Todo esto ha cambiado la forma de crear páginas web y en todos los casos se persigue el objetivo de atraer a los usuarios. El gran auge de los smartphones y las aplicaciones móviles que invaden el mercado actual han revolucionado el mundo del estudio de los idiomas permitiendo compatibilizar los recursos punteros con el aprendizaje tradicional. La popularidad de los dispositivos móviles y de las aplicaciones ha sido el principal motivo de la realización de este proyecto. En él se realizará un análisis de las diferentes tecnologías existentes y se elegirá la mejor opción que se ajuste a nuestras necesidades para poder desarrollar un sistema que implemente el enfoque llamado Mobile Assisted Language Learning (MALL) que supone una aproximación innovadora al aprendizaje de idiomas con la ayuda de un dispositivo móvil. En este documento se va a ofrecer una panorámica general acerca del desarrollo de aplicaciones para dispositivos móviles en el entorno del e-learning. Se estudiarán características técnicas de diferentes plataformas seleccionando la mejor opción para la implementación de un sistema que proporcione los contenidos básicos para el aprendizaje de un idioma, en este caso del inglés, de forma intuitiva y divertida. Dicho sistema permitirá al usuario mejorar su nivel de inglés mediante una interfaz web de forma dinámica y cercana empleando los recursos que ofrecen los dispositivos móviles y haciendo uso del diseño adaptativo. Este proyecto está pensado para los usuarios que dispongan de poco tiempo libre para realizar un curso de forma presencial o, mejor aún, para reforzar o repasar contenidos ya aprendidos por otros medios más tradicionales o no. La aplicación ofrece la posibilidad de que se haga uso del sistema de forma fácil y sencilla desde cualquier dispositivo móvil del que se disponga como es un smartphone, tablet o un ordenador personal, compitiendo con otros usuarios o contra uno mismo y mejorando así el nivel de partida a través de las actividades propuestas. Durante el proyecto se han comparado diversas soluciones, la mayoría de código abierto y de libre distribución que permiten desplegar servicios de almacenamiento accesibles mediante Internet. Se concluirá con un caso práctico analizando los requisitos técnicos y llevando a cabo las fases de análisis, diseño, creación de la base de datos, implementación y pruebas dentro del ciclo de vida del software. Finalmente, se migrará la aplicación con toda la información a un servidor en la nube. ABSTRACT. The way of consuming content on the Internet has changed over the past years. Initially, static websites were used with poor visual contents. Nevertheless, with the evolution of communication networks this trend has changed. Nowadays, we expect pleasant, accessible and varied topic pages and such expectations have changed the way to create web pages generally aiming at appealing and therefore, attracting users. The great boom of smartphones and mobile applications in the current market, have revolutionized the world of language learning as they make it possible to combine computing with traditional learning resources. The popularity of mobile devices and applications has been the main reason for the development of this project. Here, the different existing technologies will be examined and we will try to select the best option that adapts to our needs in order to develop a system that implements Mobile Assisted Language Learning (MALL) that in broad terms implies an approach to language learning with the help of a mobile device. This report provides an overview of the development of applications for mobile devices in the e-learning environment. We will study the technical characteristics of different platforms and we will select the best option for the implementation of a system that provide the basic content for learning a language, in this case English, by means of an intuitive and fun method. This system will allow the user to improve their level of English with a web interface in a dynamic and close way employing the resources offered by mobile devices using the adaptive design. This project is intended for users who do not have enough free time to make a classroom course or to review contents from more traditional courses as it offers the possibility to make use of the system quickly and easily from any mobile device available such as a smartphone, a tablet or a personal computer, competing with other users or against oneself and thus improving their departing level through different activities. During the project, different solutions have been compared. Most of them, open source and free distribution that allow to deploy storage services accessible via the Internet. It will conclude with a case study analyzing the technical requirements and conducting phases of analysis, design and creation of a database, implementation and testing in the software lifecycle. Finally, the application will be migrated with all the information to a server in the cloud.
Resumo:
Los ataques a redes de información son cada vez más sofisticados y exigen una constante evolución y mejora de las técnicas de detección. Para ello, en este proyecto se ha diseñado e implementado una plataforma cooperativa para la detección de intrusiones basada en red. En primer lugar, se ha realizado un estudio teórico previo del marco tecnológico relacionado con este ámbito, en el que se describe y caracteriza el software que se utiliza para realizar ataques a sistemas (malware) así como los métodos que se utilizan para llegar a transmitir ese software (vectores de ataque). En el documento también se describen los llamados APT, que son ataques dirigidos con una gran inversión económica y temporal. Estos pueden englobar todos los malware y vectores de ataque existentes. Para poder evitar estos ataques, se estudiarán los sistemas de detección y prevención de intrusiones, describiendo brevemente los algoritmos que se tienden a utilizar en la actualidad. En segundo lugar, se ha planteado y desarrollado una plataforma en red dedicada al análisis de paquetes y conexiones para detectar posibles intrusiones. Este sistema está orientado a sistemas SCADA (Supervisory Control And Data Adquisition) aunque funciona sobre cualquier red IPv4/IPv6, para ello se definirá previamente lo que es un sistema SCADA, así como sus partes principales. Para implementar el sistema se han utilizado dispositivos de bajo consumo llamados Raspberry PI, estos se ubican entre la red y el equipo final que se quiera analizar. En ellos se ejecutan 2 aplicaciones desarrolladas de tipo cliente-servidor (la Raspberry central ejecutará la aplicación servidora y las esclavas la aplicación cliente) que funcionan de forma cooperativa utilizando la tecnología distribuida de Hadoop, la cual se explica previamente. Mediante esta tecnología se consigue desarrollar un sistema completamente escalable. La aplicación servidora muestra una interfaz gráfica que permite administrar la plataforma de análisis de forma centralizada, pudiendo ver así las alarmas de cada dispositivo y calificando cada paquete según su peligrosidad. El algoritmo desarrollado en la aplicación calcula el ratio de paquetes/tiempo que entran/salen del equipo final, procesando los paquetes y analizándolos teniendo en cuenta la información de señalización, creando diferentes bases de datos que irán mejorando la robustez del sistema, reduciendo así la posibilidad de ataques externos. Para concluir, el proyecto inicial incluía el procesamiento en la nube de la aplicación principal, pudiendo administrar así varias infraestructuras concurrentemente, aunque debido al trabajo extra necesario se ha dejado preparado el sistema para poder implementar esta funcionalidad. En el caso experimental actual el procesamiento de la aplicación servidora se realiza en la Raspberry principal, creando un sistema escalable, rápido y tolerante a fallos. ABSTRACT. The attacks to networks of information are increasingly sophisticated and demand a constant evolution and improvement of the technologies of detection. For this project it is developed and implemented a cooperative platform for detect intrusions based on networking. First, there has been a previous theoretical study of technological framework related to this area, which describes the software used for attacks on systems (malware) as well as the methods used in order to transmit this software (attack vectors). In this document it is described the APT, which are attacks directed with a big economic and time inversion. These can contain all existing malware and attack vectors. To prevent these attacks, intrusion detection systems and prevention intrusion systems will be discussed, describing previously the algorithms tend to use today. Secondly, a platform for analyzing network packets has been proposed and developed to detect possible intrusions in SCADA (Supervisory Control And Data Adquisition) systems. This platform is designed for SCADA systems (Supervisory Control And Data Acquisition) but works on any IPv4 / IPv6 network. Previously, it is defined what a SCADA system is and the main parts of it. To implement it, we used low-power devices called Raspberry PI, these are located between the network and the final device to analyze it. In these Raspberry run two applications client-server developed (the central Raspberry runs the server application and the slaves the client application) that work cooperatively using Hadoop distributed technology, which is previously explained. Using this technology is achieved develop a fully scalable system. The server application displays a graphical interface to manage analytics platform centrally, thereby we can see each device alarms and qualifying each packet by dangerousness. The algorithm developed in the application calculates the ratio of packets/time entering/leaving the terminal device, processing the packets and analyzing the signaling information of each packet, reating different databases that will improve the system, thereby reducing the possibility of external attacks. In conclusion, the initial project included cloud computing of the main application, being able to manage multiple concurrent infrastructure, but due to the extra work required has been made ready the system to implement this funcionality. In the current test case the server application processing is made on the main Raspberry, creating a scalable, fast and fault-tolerant system.