3,572 research outputs found

    Blockchain leveraged decentralized IoT eHealth framework

    Get PDF
    Blockchain technologies recently emerging for eHealth, can facilitate a secure, decentral- ized and patient-driven, record management system. However, Blockchain technologies cannot accommodate the storage of data generated from IoT devices in remote patient management (RPM) settings as this application requires a fast consensus mechanism, care- ful management of keys and enhanced protocols for privacy. In this paper, we propose a Blockchain leveraged decentralized eHealth architecture which comprises three layers: (1) The Sensing layer –Body Area Sensor Networks include medical sensors typically on or in a patient body transmitting data to a smartphone. (2) The NEAR processing layer –Edge Networks consist of devices at one hop from data sensing IoT devices. (3) The FAR pro- cessing layer –Core Networks comprise Cloud or other high computing servers). A Patient Agent (PA) software replicated on the three layers processes medical data to ensure reli- able, secure and private communication. The PA executes a lightweight Blockchain consen- sus mechanism and utilizes a Blockchain leveraged task-offloading algorithm to ensure pa- tient’s privacy while outsourcing tasks. Performance analysis of the decentralized eHealth architecture has been conducted to demonstrate the feasibility of the system in the pro- cessing and storage of RPM data

    A Taxonomy of Self-configuring Service Discovery Systems

    Get PDF
    We analyze the fundamental concepts and issues in service discovery. This analysis places service discovery in the context of distributed systems by describing service discovery as a third generation naming system. We also describe the essential architectures and the functionalities in service discovery. We then proceed to show how service discovery fits into a system, by characterizing operational aspects. Subsequently, we describe how existing state of the art performs service discovery, in relation to the operational aspects and functionalities, and identify areas for improvement

    Fault Tolerant Adaptive Parallel and Distributed Simulation through Functional Replication

    Full text link
    This paper presents FT-GAIA, a software-based fault-tolerant parallel and distributed simulation middleware. FT-GAIA has being designed to reliably handle Parallel And Distributed Simulation (PADS) models, which are needed to properly simulate and analyze complex systems arising in any kind of scientific or engineering field. PADS takes advantage of multiple execution units run in multicore processors, cluster of workstations or HPC systems. However, large computing systems, such as HPC systems that include hundreds of thousands of computing nodes, have to handle frequent failures of some components. To cope with this issue, FT-GAIA transparently replicates simulation entities and distributes them on multiple execution nodes. This allows the simulation to tolerate crash-failures of computing nodes. Moreover, FT-GAIA offers some protection against Byzantine failures, since interaction messages among the simulated entities are replicated as well, so that the receiving entity can identify and discard corrupted messages. Results from an analytical model and from an experimental evaluation show that FT-GAIA provides a high degree of fault tolerance, at the cost of a moderate increase in the computational load of the execution units.Comment: arXiv admin note: substantial text overlap with arXiv:1606.0731

    FATMAS: a methodology to design fault-tolerant multi-agent systems

    Get PDF
    Un systĂšme multi-agent (SMA) est un systĂšme dans lequel plusieurs agents opĂšrent et interagissent. Chaque agent a la responsabilitĂ© d’exĂ©cuter des tĂąches. Cependant, chaque agent, pour diverses raisons, peut rencontrer des problĂšmes pendant l’exĂ©cution de ses tĂąches ; ce qui peut induire un disfonctionnement du SMA. Cependant, le SMA doit ĂȘtre en mesure de dĂ©tecter les sources de problĂšms (d’erreurs) afin de les contrĂŽler et ainsi continuer son exĂ©cution correctement. Un tel SMA est appelĂ© un SMA tolĂ©rant aux fautes. Il existe deux types de sources d’erreurs pour un agent : les erreurs causĂ©es par son environnment et les erreurs dĂ»es Ă  sa programmation. Dans la littĂ©rature, il existe plusieurs techniques qui traitent des erreurs de programmation au niveau des agents. Cependant, ces techniques ne traitent pas des erreurs causĂ©es par l’environnement de l’agent. Tout d’abord, nous distinguons entre l’environnment d’un agent et l’environnement du SMA. L’environnement d’un agent reprĂ©sente toutes les composantes matĂ©rielles ou logicielles que l’agent ne peut contrĂŽler mais avec lesquelles il interagit. Cependant, l’environnment du SMA reprĂ©sente toutes les composantes que le systĂšme ne contrĂŽle pas mais avec lesquelles il interagit. Ainsi, le SMA peut contrĂŽler certaines des composantes avec lesquelles un agent interagit. Ainsi, une composante peut appartenir Ă  l’environnement d’un agent et ne pas appartenir Ă  l’environnement du systĂšme. Dans ce travail, nous prĂ©sentons une mĂ©thodologie de conception de SMA tolĂ©rants aux fautes, nommĂ©e FATMAS, qui permet au concepteur du SMA de dĂ©tecter et de corriger, si possible, les erreurs causĂ©es par les environnements des agents. Cette mĂ©thodologie permettra ainsi de dĂ©limiter la frontiĂšre du SMA de son environnement avec lequel il interagit. La frontiĂšre du SMA est dĂ©terminĂ©e par les diffĂ©rentes composantes (matĂ©rielles ou logicielles) que le systĂšme contrĂŽle. Ainsi, le SMA, Ă  l’intĂ©rieur de sa frontiĂšre, peut corriger les erreurs provenant de ses composantes. Cependant, le SMA n’a aucun contrĂŽle sur toutes les composantes opĂ©rant dans son environnement. La mĂ©thodologie, que nous proposons, doit couvrir les trois premiĂšres phases d’un dĂ©veloppement logiciel qui sont l’analyse, la conception et l’implĂ©mentation tout en intĂ©grant, dans son processus de dĂ©veloppement, une technique permettant au concepteur du systĂšme de dĂ©limiter la frontiĂšre du SMA et ainsi dĂ©tecter les sources d’erreurs et les contrĂŽler afin que le systĂšme multi-agent soit tolĂ©rant aux fautes (SMATF). Cependant, les mĂ©thodologies de conception de SMA, rĂ©fĂ©rencĂ©es dans la littĂ©rature, n’intĂšgrent pas une telle technique. FATMAS offre au concepteur du SMATF quatre modĂšles pour dĂ©crire et dĂ©velopper le SMA ainsi qu’une technique de rĂ©organisation du systĂšme qui lui permet de dĂ©tecter et de contrĂŽler ses sources d’erreurs, et ainsi dĂ©finir la frontiĂšre du SMA. Chaque modĂšle est associĂ© Ă  un micro processus qui guide le concepteur lors du dĂ©veloppement du modĂšle. FATMAS offre aussi un macro-processus, qui dĂ©finit le cycle de dĂ©veloppement de la mĂ©thodologie. FATMAS se base sur un dĂ©veloppement itĂ©ratif pour identifier et dĂ©terminer les tĂąches Ă  ajouter au systĂšme afin de contrĂŽler des sources d’erreurs. À chaque itĂ©ration, le concepteur Ă©value, selon une fonction de coĂ»t/bĂ©nĂ©fice s’il est opportun d’ajouter de nouvelles tĂąches de contrĂŽle au systĂšme. Le premier modĂšle est le modĂšle de tĂąches-environnement. Il est dĂ©veloppĂ© lors de la phase d’analyse. Il identifie les diffĂ©rentes tĂąches que les agents doivent exĂ©cuter, leurs prĂ©conditions et leurs ressources. Ce modĂšle permet d’identifier diffĂ©rentes sources de problĂšmes qui peuvent causer un disfonctionnement du systĂšme. Le deuxiĂšme modĂšle est le modĂšle d’agents. Il est dĂ©veloppĂ© lors de la phase de conception. Il dĂ©crit les agents, leurs relations, et spĂ©cifie pour chaque agent les ressources auxquelles il a le droit d’accĂ©der. Chaque agent exĂ©cutera un ensemble de tĂąches identifiĂ©es dans le modĂšle de tĂąches-environnement. Le troisiĂšme modĂšle est le modĂšle d’interaction d’agents. Il est dĂ©veloppĂ© lors de la phase de conception. Il dĂ©crit les Ă©changes de messages entre les agents. Le quatriĂšme modĂšle est le modĂšle d’implĂ©mentation. Il est dĂ©veloppĂ© lors de la phase d’implĂ©mentation. Il dĂ©crit l’infrastructure matĂ©rielle sur laquelle le SMA va opĂ©rer ainsi que l’environnement de dĂ©veloppement du SMA. La mĂ©thodologie inclut aussi une technique de rĂ©organisation. Cette technique permet de dĂ©limiter la frontiĂšre du SMA et contrĂŽler, si possible, ses sources d’erreurs. Cette technique doit intĂ©grer trois techniques nĂ©cessaires Ă  la conception d’un systĂšme tolĂ©rant aux fautes : une technique de prĂ©vention d’erreurs, une technique de recouvrement d’erreurs, et une technique de tolĂ©rance aux fautes. La technique de prĂ©vention d’erreurs permet de dĂ©limiter la frontiĂšre du SMA. La technique de recouvrement d’erreurs permet de proposer une architecture du SMA pour dĂ©tecter les erreurs. La technique de tolĂ©rance aux fautes permet de dĂ©finir une procĂ©dure de rĂ©plication d’agents et de tĂąches dans le SMA pour que le SMA soit tolĂ©rant aux fautes. Cette derniĂšre technique, Ă  l’inverse des techniques de tolĂ©rance aux fautes existantes, rĂ©plique les tĂąches et les agents et non seulement les agents. Elle permet ainsi de rĂ©duire la complexitĂ© du systĂšme en diminuant le nombre d’agents Ă  rĂ©pliquer. RĂ©sumĂ© iv De mĂȘme, un agent peut ne pas ĂȘtre en erreur mais la composante matĂ©rielle sur laquelle il est exĂ©cutĂ© peut ne plus ĂȘtre fonctionnelle. Ce qui constitue une source d’erreurs pour le SMA. Il faudrait alors que le SMA continue Ă  s’exĂ©cuter correctement malgrĂš le disfonctionnement d’une composante. FATMAS fournit alors un support au concepteur du systĂšme pour tenir compte de ce type d’erreurs soit en contrĂŽlant les composantes matĂ©rielles, soit en proposant une distribution possible des agents sur les composantes matĂ©rielles disponibles pour que le disfonctionnement d’une composante matĂ©rielle n’affecte pas le fonctionnement du SMA. FATMAS permet d’identifier des sources d’erreurs lors de la phase de conception du systĂšme. Cependant, elle ne traite pas des sources d’erreurs de programmation. Ainsi, la technique de rĂ©organization proposĂ©e dans ce travail sera validĂ©e par rapport aux sources d’erreurs identifiĂ©es lors de la phase de conception et provenant de la frontiĂšre du SMA. Nous dĂ©montrerons formellement que, si une erreur provient d’une composante que le SMA contrĂŽle, le SMA devrait ĂȘtre opĂ©rationnel. Cependant, FATMAS ne certifie pas que le futur systĂšme sera toujours opĂ©rationnel car elle ne traĂźte pas des erreurs de programmation ou des erreurs causĂ©es par son environnement.A multi-agent system (MAS) consists of several agents interacting together. In a MAS, each agent performs several tasks. However, each agent is prone to individual failures so that it can no longer perform its tasks. This can lead the MAS to a failure. Ideally, the MAS should be able to identify the possible sources of failures and try to overcome them in order to continue operating correctly ; we say that it should be fault-tolerant. There are two kinds of sources of failures to an agent : errors originating from the environment with which the agents interacts, and programming exceptions. There are several works on fault-tolerant systems which deals with programming exceptions. However, these techniques does not allow the MAS to identify errors originating from an agent’s environment. In this thesis, we propose a design methodology, called FATMAS, which allows a MAS designer to identify errors originating from agents’ environments. Doing so, the designer can determine the sources of failures it could be able to control and those it could not. Hence, it can determine the errors it can prevent and those it cannot. Consequently, this allows the designer to determine the system’s boundary from its environment. The system boundary is the area within which the decision-taking process of the MAS has power to make things happen, or prevent them from happening.We distinguish between the system’s environment and an agent’s environment. An agent’s environment is characterized by the components (hardware or software) that the agent does not control. However, the system may control some of the agent’s environment components. Consequently, some of the agent’s environment components may not be a part of the system’s environment. The development of a fault-tolerant MAS (FTMAS) requires the use of a methodology to design FTMAS and of a reorganization technique that will allow the MAS designer to identify and control, if possible, different sources of system failure. However, current MAS design methodologies do not integrate such a technique. FATMAS provides four models used to design and implement the target system and a reorganization technique to assist the designer in identifying and controlling different sources of system’s failures. FATMAS also provides a macro process which covers the entire life cycle of the system development as well as several micro processes that guide the designer when developing each model. The macro-process is based on an iterative approach based on a cost/benefit evaluation to help the designer to decide whether to go from one iteration to another. The methodology has three phases : analysis, design, and implementation. The analysis phase develops the task-environment model. This model identifies the different tasks the agents will perform, their resources, and their preconditions. It identifies several possible sources of system failures. The design phase develops the agent model and the agent interaction model. The agent model describes the agents and their resources. Each agent performs several tasks identified in the task-environment model. The agent interaction model describes the messages exchange between agents. The implementation phase develops the implementation model, and allows an automatic code generation of Java agents. The implementation model describes the infrastructure upon which the MAS will operate and the development environment to be used when developing the MAS. The reorganization technique includes three techniques required to design a fault-tolerant system : a fault-prevention technique, a fault-recovery technique, and a fault-tolerance technique. The fault-prevention technique assists the designer in delimiting the system’s boundary. The fault-recovery technique proposes a MAS architecture allowing it to detect failures. The fault-tolerance technique is based on agent and task redundancy. Contrary to existing fault-tolerance techniques, this technique replicates tasks and agents and not only agents. Thus, it minimizes the system complexity by minimizing the number of agents operating in the system. Furthermore, FATMAS helps the designer to deal with possible physical component failures, on which the MAS will operate. It proposes a way to either control these components or to distribute the agents on these components in such a way that if a component is in failure, then the MAS could continue operating properly. The FATMAS methodology presented in this dissertation assists a designer, in its development process, to build fault-tolerant systems. It has the following main contributions : 1. it allows to identify different sources of system failure ; 2. it proposes to introduce new tasks in a MAS to control the identified sources of failures ; 3. it proposes a mechanism which automatically determines which tasks (agents) should be replicated and in which other agents ; 4. it reduces the system complexity by minimizing the replication of agents ; Abstract vii 5. it proposes a MAS reorganization technique which is embedded within the designed MAS and assists the designer to determine the system’s boundary. It proposes a MAS architecture to detect and recover from failures originating from the system boundary. Moreover, it proposes a way to distribute agents on the physical components so that the MAS could continue operating properly in case of a component failure. This could make the MAS more robust to fault prone environments. FATMAS alows to determine different sources of failures of a MAS. The MAS controls the sources of failures situated in its boundary. It does not control the sources of failures situated in its environments. Consequently, the reorganization technique proposed in this dissertation will be proven valid only in the case where the sources of failures are controlled by the MAS. However, it cannot be proven that the future system is fault-tolerant since faults originating from the environment or from coding are not dealt with

    Proxy Module for System on Mobile Devices (SyD) Middleware

    Get PDF
    Nowadays, users of mobile devices are growing. The users expect that they could communicate constantly using their mobile devices while they are also constantly moving. Therefore, there is a need to provide disconnection tolerance of transactions in the mobile devices’ platforms and its synchronization management. System on Mobile Devices (SyD) is taken as one of the examples of mobile devices’ platforms. The thesis studies the existing SyD architecture, from its framework into its kernel, and introduces the proxy module enhancement in SyD to handle disconnection tolerance, including its synchronization. SyD kernel has been extended for the purpose of enabling proxy module. SyDSync has been constructed for synchronization with the proxy. The timeout has been studied for seamless proxy invocation. A Camera application that tries to catch a stolen vehicle has been simulated for the practical purpose of using the proxy module extension

    Aika: A Distributed Edge System For Machine Learning Inference. Detecting and defending against abnormal behavior in untrusted edge environments

    Get PDF
    The edge computing paradigm has recently started to gain a lot of momentum. The field of Artificial Intelligence (AI) has also grown in recent years, and there is currently ongoing research that investigates how AI can be applied to numerous of different fields. This includes the edge computing domain. In Norway, there is currently ongoing research being conducted that investigates how the confluence between AI and edge computing can be used to hinder fish crime, by stationing surveillance equipment aboard fishing vessels, and perform all the monitoring directly on the vessel with support of AI. This is challenging for several reasons. First and foremost, the equipment needs to be stationed on the vessel, where actors may impose a threat to it and attempt to damage it, or interfere with the analytical process. The second challenge is to enable multiple machine learning pipelines to be executed effectively on the equipment. This requires a versatile computation model, where data is handled in a privacy preserving manner. This thesis presents Áika, a distributed edge computing system that supports machine learning inference in such untrusted edge environments. Áika is designed as a hierarchical fault tolerant system that supports a directed acyclic graph (DAG) computation model for executing machine inference on the edge, where a monitor residing in a trusted location can ensure that the system is running as expected. The experiment results demonstrate that Áika can tolerate failures while remaining operable with a stable throughput, although this will depend on the specific configuration and what computations that are implemented. The results also demonstrate that Áika can be used for both simple tasks, like counting words in a textual document, and for more complex tasks, like performing feature extraction using pre-trained deep learning models that are distributed across different workers. With Áika, application developers can develop fault tolerant and different distributed DAGs composed of multiple pipelines
    • 

    corecore