865 resultados para Scriptor server
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.
Resumo:
El objetivo general de este trabajo es explorar las potenciales interacciones entre la alteración hidrológica y el estado de la vegetación de ribera en diversas cuencas hidrográficas españolas. La mayor parte del área de estudio está dentro de la región Mediterránea, una región caracterizada por un particular comportamiento climatológico, ecológico y socio-económico. Las cuencas estudiadas son: Guadiana, Guadalquivir, Tajo, y Duero. Para complementar el estudio y comparar resultados con otras regiones climáticas españolas se estudiaron dos Demarcaciones atlánticas: Cantábrico y Miño-Sil. El funcionamiento fluvial, en las áreas mediterráneas, presenta grandes variaciones en el régimen hídrico, siendo uno de los principales controladores de la estructura, composición y distribución de la vegetación de ribera. Para investigar las interacciones mencionadas previamente, se presenta un nuevo índice, Riparian Forest Evaluation (RFV). El objetivo de este índice es valorar el estado de la vegetación de ribera en base a los principales controladores hidro-morfológicos responsables de la dinámica fluvial, y por tanto, relacionados con el desarrollo del corredor ribereño. RFV divide la evaluación del bosque de ribera en cuatro componentes: continuidad longitudinal, transversal, y vertical (dimensiones espaciales), y condiciones del regenerado (dimensión temporal). La clasificación final está basada en las mismas cinco clases fijadas por la Directiva europea Marco del Agua (DMA) (2000/60/CE) para valorar el estado ecológico de las masas de agua. La aplicación de este índice en 187 masas de agua ha mostrado su facilidad de aplicación y su consistencia desde un punto de vista legislativo y técnicocientífico. En paralelo al diseño del índice RFV, se ha desarrollado una nueva herramienta para dar apoyo a la evaluación del bosque de ribera (RFV) y la extracción de variables hidromorfológicas a escala de masa de agua en lugar de a escala local (muestreo de campo local). Se trata de Riparian Characterisation by LiDAR (RiC-DAR), que permite valorar el estado del bosque de ribera de una manera semiautomática, en un modo cuasi-continuo, usando LiDAR de alta resolución. Esto hecho permite mejorar significativamente la calidad y cantidad de información comparado con la toma de datos en campo, lo que permite reducir los recursos, particularmente cuando se trabaja a escala de masas de agua. Una de las potenciales causas de la degradación del bosque de ribera es la alteración hidrológica; así una vez se ha realizado la evaluación del bosque de ribera basada en elementos hidro-morfológicos ligados al régimen hídrico (RFV), se han identificado las potenciales relaciones entre la alteración hidrológica y la degradación de la vegetación riparia. Para ello, se requiere contar con series de aforos fiables y de una duración apropiada. Para satisfacer este requerimiento, se ha creado una nueva herramienta: el Servidor de Datos para el Estudio de la Alteración Hidrológica (SEDAH). Esta herramienta genera datos diarios y mensuales completados para más años, construyendo así bases de datos más aptas para el estudio de la alteración hidrológica. (http://ambiental.cedex.es/Sedah) Haciendo uso de las herramientas y métodos desarrollados previamente, se han calculado diferentes indicadores de alteración hidrológica en 87 masas de agua que han sido analizados conjuntamente con el estado de la vegetación de ribera. Los resultados estadísticos han mostrado relaciones significativas entre ellos: la degradación de la vegetación podría estar fuertemente ligada a la alteración del régimen hídrico en años secos y a las sequías en el entorno mediterráneo. A su vez se ha analizado la relación del estado del bosque de ribera con el estado ecológico basado en la DMA, mostrando una relación no significativa. Esta y otras potenciales relaciones son discutidas a lo largo del documento. Los resultados permiten proponer recomendaciones de gestión de la vegetación de ribera y de manejo del régimen de caudales para masas de agua reguladas. ABSTRACT The general objective of this work is to explore the potential interactions between hydrologic alteration and degradation of the riparian vegetation, mainly focused in the Mediterranean Environment. The majority of the study area is part of the Spanish Mediterranean region, a geographical environment characterized by a singular climatologic, ecological and socio-economical behavior. The basins analysed in this work are: Guadiana, Guadalquivir, Tagus, Douro. In order to complete the results and compare those to other climatic regions in Spain, two Atlantic Districts where selected: Cantábrico and Miño-Sil. The river functioning, in the Mediterranean areas, presents great variations in the flow regimes being one of the main drivers of the riparian vegetation development. To explore the interactions stated above, a new index is presented, Riparian Forest Evaluation (RFV). This index is aimed to assess the status of the riparian vegetation based on the main hydromorphological drivers responsible of the river dynamic, and so, related to the development of the riparian corridor. RFV split the evaluation of the riparian forest into four components: longitudinal continuity, transversal continuity, vertical (structure) continuity and regeneration (temporal) continuity. The final classification is based in the same five classes to those stated in the European Water Frame Work directive to assess the ecological status. The application of this index over 187 water bodies has shown to be easily applicable and consistent from a regulatory perspective. In parallel to the design of RFV, a new tool has been developed to enhance the evaluation of the riparian forest and river morphology (RFV and morphological parameters) at water body scale rather than at local scale, i.e. when field surveyed at different sites. The Riparian Characterisation by LiDAR, RiC-DAR allows to assess the status of the riparian vegetation semi-automatically in a quasi-continuous way using high resolution LiDAR. This improves significantly the quantity and quality of information gathered through field sampling methods, reducing resources when working at larger scales. One of the potential major causes of degradation of the riparian forest is the hydrologic alteration; hence, once the evaluation of the riparian forest is done consistently based on hydro-morphological features linked to the hydrological regime (RVF), this work has identified potential relationships between hydrologic alteration and degradation of riparian vegetation. In order to do this, it is required to count with reliable series of flow records describing both reference and altered regimes. To satisfy this need, a new tool has been created, SEDAH, data server for assessing hydrologic alteration. This tool has completed daily and monthly gaps in the flow series to build up an improved database to assess the hydrologic alteration. This application is available on line (http://ambiental.cedex.es). Making use of the tools and methods developed previously, this work uses these data to work out indicators of hydrologic alteration through 87 water bodies to be analysed against the riparian status. These indicators are statistically analysed exploring significant relationships with the status of riparian vegetation and ecological status, showing some potential significant relationships; hence it seems that the degradation of riparian vegetation, particularly the regeneration, is associated with the alteration of the hydrologic regimen in dry years and draughts in Mediterranean environments. Furthermore, the analysis of the status of the ecological status and the status of the riparian vegetation has shown the lack of significant influence of the riparian vegetation in the final ecological status using the WFD approach applied in Spain. This and other potential relationships are discussed in this work. The results allow giving guidance on the management of both riparian vegetation and environmental flows of water bodies affected by flow regulation.
Resumo:
The aim of this project is to create a website which is useful both employees and students of a university, so employees can add information, if they log in with username and password access, and students can view this information . Employees may modify and display information such as title, room, or their faculty (from a list defined by the administrator), and most importantly, their schedule, whether class, tutoring, free time, or any of tasks that the administrator define. There will be a manager, responsible for managing employees, the availables faculties and the types of tasks that employees can use on their schedule. Students may see the employees schedules and rooms on the homepage. They differentiate between differents tasks of employees, because these are in different colors. They can also filter information for faculty, employee or day. To achieve our goal, we decided to program in Java using Servlets, which we will use to generate response to requests coming from users from the website. We will also use JSP, allowing us to create different websites files. We use JSP files and not HTML, because we need that the pages are dynamic, since not only want to show specific information, we like that information can change depending on user requests. The JSP file allows us to generate HTML, but also using JAVA language, which is necessary for our purpose. As the information we store is not fixed. We want this information can be modified at any time by employees and admin, so we need a database, which can be accessed from anywhere. We decided SQLite databases because are integrated quite well in our application, and offer a quick response. To access the database from our program, we simply connect it to the database, and with very few lines of code, add, delete or modify entries in different tables that owns the database. To facilitate the initial creation of the database, and the first tables, we use a Mozilla Firefox browser plugin, called SQLite Manager, which allows us to do so from a more friendly interface. Finally, we need a server that supports and implements specifications Servlets and JSP. We decided on the TomCat server, which is a container Servlets, because is free, easy to use, and compatible with our program. We realized all the project with Eclipse environment, also free program that allows integrating database, server and program the JSP and Servlets. Once submitted all the tools we used, we must first organize the structure of the web, relating each Servlets with JSP files. Next, create the database and the different Servlets, and adjust the database accesses to make sure we do it right. From here simply is to build up the page step by step, showing in each place we need, and redirect to different pages. In this way, we can build a complex website, free, and without being an expert in the field. RESUMEN. El objetivo de este proyecto, es crear una página web que sirva tanto a empleados como a alumnos de una universidad, de tal manera que los empleados podrán añadir información, mediante el acceso con usuario y contraseña, y los alumnos podrán visualizar está información. Los empleados podrán modificar y mostrar información como su título, despacho, facultad a la que pertenecen (de entre una lista definida por el administrador), y lo más importante, sus horarios, ya sean de clase, tutorías, tiempo libre, o cualquiera de las tareas que el administrador defina. Habrá un administrador, encargado de gestionar los empleados existentes, las facultades disponibles y los tipos de tareas que podrán usar los empleados en su horario. Los alumnos, podrán visualizar los horarios y despacho de los empleados en la página principal. Diferenciarán entre las distintas tareas de los profesores, porque estas se encuentran en colores diferentes. Además, podrán filtrar la información, por facultad, empleado o día de la semana. Para conseguir nuestro objetivo, hemos decidido programar en Java, mediante el uso de Servlets, los cuales usaremos para generar respuesta antes las peticiones que llegan de los usuarios desde la página web. También usaremos archivos JSP, que nos permitirán crear las diferentes páginas webs. Usamos archivos JSP y no HTML, porque necesitamos que las diferentes páginas sean dinámicas, ya que no solo queremos mostrar una información concreta, si no que esta información puede variar en función de las peticiones de usuario. El archivo JSP nos permite generar HTML, pero a la vez usar lenguaje JAVA, algo necesario para nuestro cometido. Como la información que queremos almacenar no es fija, si no que en todo momento debe poder ser modificada por empleados y administrador, necesitamos una base de datos, a la que podamos acceder desde la web. Nos hemos decidido por bases SQLite, ya que se integran bastante bien en nuestra aplicación, y además ofrecen una rápida respuesta. Para acceder a la base de datos desde nuestro programa, simplemente debemos conectar el mismo a la base de datos, y con muy pocas líneas de código, añadir, eliminar o modificar entradas de las diferentes tablas que posee la base de datos. Para facilitar la creación inicial de la base de datos, y de las primeras tablas, usamos un complemento del navegador Mozilla Firefox, llamado SQLite Manager, que nos permite hacerlo desde una interfaz más amigable. Por último, necesitamos de un servidor que soporte e implemente las especificaciones de los Servlets y JSP. Nos decidimos por el servidor TomCat, que es un contenedor de Servlets gratuito, de fácil manejo, y compatible con nuestro programa. Todo el desarrollo del proyecto, lo realizamos desde el entorno Eclipse, programa también gratuito, que permite integrar la base de datos, el servidor y programar los JSP y Servlets. Una vez presentadas todas las herramientas que hemos utilizado, primero debemos organizar la estructura de la web, relacionando cada archivo JSP con los Servlets a los que debe acceder. A continuación creamos la base de datos y los diferentes Servlets, y ajustamos bien los accesos a la base de datos para comprobar que lo hacemos correctamente. A partir de aquí, simplemente es ir construyendo la página paso a paso, mostrando en cada lugar lo que necesitemos, y redirigiendo a las diferentes páginas. De esta manera, podremos construir una página web compleja, de manera gratuita, y sin ser un experto en la materia.