1,293 research outputs found
Improving The Fault Tolerance of Ad Hoc Routing Protocols using Aspect-oriented Programming
[ES] Las redes ad hoc son redes inalámbricas distribuidas formadas por nodos móviles que se ubican
libremente y dinámicamente, capaces de organizarse de manera propia en topologÃas arbitrarias y
temporales, a través de la actuación de los protocolos de encaminamiento. Estas redes permiten a las
personas y dispositivos conectarse sin problemas rápidamente, en áreas sin una infraestructura de
comunicaciones previa y con un bajo coste. Muchos estudios demuestran que los protocolos de
encaminamiento ad hoc se ven amenazados por una variedad de fallos accidentales y maliciosos, como
la saturación de vecinos, que puede afectar a cualquier tipo de red ad hoc, y el ruido ambiental, que
puede afectar en general a todas las redes inalámbricas. Por lo tanto, el desarrollo y la implementación
de estrategias de tolerancia a fallos para mitigar el efecto de las fallos, es esencial para el uso práctico
de este tipo de redes. Sin embargo, los mecanismos de tolerancia a fallos suelen estar implementados
de manera especÃfica, dentro del código fuente de los protocolos de encaminamiento que hace que i)
ser reescrito y reorganizado cada vez que una nueva versión de un protocolo se libera, y ii) tener un
carácter completamente remodelado y adaptado a las nuevas versiones de los protocolos. Esta tesis de
máster explora la viabilidad de utilizar programación orientada a aspectos (AOP), para desarrollar e
implementar los mecanismos de tolerancia a fallos adecuados para toda una familia de protocolos de
encaminamiento, es decir, las versiones actuales y futuras de un protocolo determinado (OLSR en este
caso). Por otra parte, se propone una nueva metodologÃa para ampliar estos mecanismos a diferentes
familias de protocolos proactivos (OLSR, BATMAN y Babel) con un nuevo concepto de AOP, el metaaspecto.
La viabilidad y efectividad de la propuesta se ha evaluado experimentalmente, estableciendo
asà un nuevo método para mejorar la implementación de la portabilidad y facilidad de mantenimiento
de los mecanismos de tolerancia a fallos en los protocolos de enrutamiento ad hoc y, por lo tanto, la
fiabilidad de las redes ad hoc.[EN] Ad hoc networks are distributed networks consisting of wireless mobile nodes that can freely and
dynamically self-organize into arbitrary and temporary topologies, through the operation of routing
protocols. These networks allow people and devices to seamlessly interconnect rapidly in areas with no
pre-existing communication infrastructure and with a low cost. Many studies show that ad hoc routing
protocols are threatened by a variety of accidental and malicious faults, like neighbour saturation,
which may affect any kind of ad hoc network, and ambient noise, which may impact all wireless
networks in general. Therefore, developing and deploying fault tolerance strategies to mitigate the
effect of such faults is essential for the practical use of this kind of networks. However, those fault
tolerance mechanisms are usually embedded into the source code of routing protocols which causes
that i) they must be rewritten and redeployed whenever a new version of a protocol is released, and ii)
they must be completely redeveloped and adapted to new routing protocols. This master thesis
explores the feasibility of using Aspect-Oriented Programming (AOP) to develop and deploy fault
tolerance mechanisms suitable for a whole family of routing protocols, i.e. existing and future versions
of a given protocol (OLSR in this case). Furthermore, a new methodology is proposed to extend these
mechanisms to different families of proactive protocols (OLSR, B.A.T.M.A.N and Babel) using a new
concept in AOP, the meta-aspect. The feasibility and effectiveness of the proposal is experimentally
assessed, thus establishing a new method to improve the deployment, portability, and maintainability
of fault tolerance mechanisms for ad hoc routing protocols and, therefore, the dependability of ad hoc
networks.Bustos RodrÃguez, AJ. (2012). Improving The Fault Tolerance of Ad Hoc Routing Protocols using Aspect-oriented Programming. http://hdl.handle.net/10251/18421Archivo delegad
Scalable Storage for Digital Libraries
I propose a storage system optimised for digital libraries. Its key features are its heterogeneous scalability; its integration and exploitation of rich semantic metadata associated with digital objects; its use of a name space; and its aggressive performance optimisation in the digital library domain
A theory for observational fault tolerance
In general, faults cannot be prevented; instead, they need to be tolerated to guarantee certain degrees of software dependability. We develop a theory for fault tolerance for a distributed pi-calculus, whereby locations act as units of failure and redundancy is distributed across independently failing locations. We give formal definitions for fault tolerant programs in our calculus, based on the well studied notion of contextual equivalence. We then develop bisimulation proof techniques to verify fault tolerance properties of distributed programs and show they are sound with respect to our definitions for fault tolerance.peer-reviewe
Building energy modelling and monitoring by integration of IoT devices and Building Information Models
In recent years, the research about energy waste and CO2 emission reduction has gained a strong momentum, also pushed by European and national funding initiatives. The main purpose of this large effort is to reduce the effects of greenhouse emission, climate change to head for a sustainable society. In this scenario, Information and Communication Technologies (ICT) play a key role. From one side, advances in physical and environmental information sensing, communication and processing, enabled the monitoring of energy behaviour of buildings in real-time. The access to this information has been made easy and ubiquitous thank to Internet-of-Things (IoT) devices and protocols. From the other side, the creation of digital repositories of buildings and districts (i.e. Building Information Models - BIM) enabled the development of complex and rich energy models that can be used for simulation and prediction purposes. As such, an opportunity is emerging of mixing these two information categories to either create better models and to detect unwanted or inefficient energy behaviours.
In this paper, we present a software architecture for management and simulation of energy behaviours in buildings that integrates heterogeneous data such as BIM, IoT, GIS (Geographical Information System) and meteorological services. This integration allows: i) (near-) real-time visualisation of energy consumption information in the building context and ii) building performance evaluation through energy modelling and simulation exploiting data from the field and real weather conditions. Finally, we discuss the experimental results obtained in a real-world case-study
Diversity and Adjudication
This paper takes an axiomatic and calculational view of diversity (or "N-version programming"), where multiple implementations of the same specification are executed in parallel to increase dependability. The central notion is "adjudication": once we have multiple, potential different, outcomes, how do we come to a single result? Adjudication operators are explicitly defined and some general properties for these explored
The future of Cybersecurity in Italy: Strategic focus area
This volume has been created as a continuation of the previous one, with the aim of outlining a set of focus areas and actions that the Italian Nation research community considers essential. The book touches many aspects of cyber security, ranging from the definition of the infrastructure and controls needed to organize cyberdefence to the actions and technologies to be developed to be better protected, from the identification of the main technologies to be defended to the proposal of a set of horizontal actions for training, awareness raising, and risk management
Application Driven MOdels for Resource Management in Cloud Environments
El despliegue y la ejecución de aplicaciones de gran escala en sistemas distribuidos con unos parametros de Calidad de Servicio adecuados necesita gestionar de manera eficiente los recursos computacionales. Para desacoplar los requirimientos funcionales y los no funcionales (u operacionales) de dichas aplicaciones, se puede distinguir dos niveles de abstracción: i) el nivel funcional, que contempla aquellos requerimientos relacionados con funcionalidades de la aplicación; y ii) el nivel operacional, que depende del sistema distribuido donde se despliegue y garantizará aquellos parámetros relacionados con la Calidad del Servicio, disponibilidad, tolerancia a fallos y coste económico, entre otros. De entre las diferentes alternativas del nivel operacional, en la presente tesis se contempla un entorno cloud basado en la virtualización de contenedores, como puede ofrecer Kubernetes.El uso de modelos para el diseño de aplicaciones en ambos niveles permite garantizar que dichos requerimientos sean satisfechos. Según la complejidad del modelo que describa la aplicación, o el conocimiento que el nivel operacional tenga de ella, se diferencian tres tipos de aplicaciones: i) aplicaciones dirigidas por el modelo, como es el caso de la simulación de eventos discretos, donde el propio modelo, por ejemplo Redes de Petri de Alto Nivel, describen la aplicación; ii) aplicaciones dirigidas por los datos, como es el caso de la ejecución de analÃticas sobre Data Stream; y iii) aplicaciones dirigidas por el sistema, donde el nivel operacional rige el despliegue al considerarlas como una caja negra.En la presente tesis doctoral, se propone el uso de un scheduler especÃfico para cada tipo de aplicación y modelo, con ejemplos concretos, de manera que el cliente de la infraestructura pueda utilizar información del modelo descriptivo y del modelo operacional. Esta solución permite rellenar el hueco conceptual entre ambos niveles. De esta manera, se proponen diferentes métodos y técnicas para desplegar diferentes aplicaciones: una simulación de un sistema de VehÃculos Eléctricos descrita a través de Redes de Petri; procesado de algoritmos sobre un grafo que llega siguiendo el paradigma Data Stream; y el propio sistema operacional como sujeto de estudio.En este último caso de estudio, se ha analizado cómo determinados parámetros del nivel operacional (por ejemplo, la agrupación de contenedores, o la compartición de recursos entre contenedores alojados en una misma máquina) tienen un impacto en las prestaciones. Para analizar dicho impacto, se propone un modelo formal de una infrastructura operacional concreta (Kubernetes). Por último, se propone una metodologÃa para construir Ãndices de interferencia para caracterizar aplicaciones y estimar la degradación de prestaciones incurrida cuando dos contenedores son desplegados y ejecutados juntos. Estos Ãndices modelan cómo los recursos del nivel operacional son usados por las applicaciones. Esto supone que el nivel operacional maneja información cercana a la aplicación y le permite tomar mejores decisiones de despliegue y distribución.<br /
- …