3,014 research outputs found

    A survey of communication protocols for internet of things and related challenges of fog and cloud computing integration

    Get PDF
    The fast increment in the number of IoT (Internet of Things) devices is accelerating the research on new solutions to make cloud services scalable. In this context, the novel concept of fog computing as well as the combined fog-to-cloud computing paradigm is becoming essential to decentralize the cloud, while bringing the services closer to the end-system. This article surveys e application layer communication protocols to fulfill the IoT communication requirements, and their potential for implementation in fog- and cloud-based IoT systems. To this end, the article first briefly presents potential protocol candidates, including request-reply and publish-subscribe protocols. After that, the article surveys these protocols based on their main characteristics, as well as the main performance issues, including latency, energy consumption, and network throughput. These findings are thereafter used to place the protocols in each segment of the system (IoT, fog, cloud), and thus opens up the discussion on their choice, interoperability, and wider system integration. The survey is expected to be useful to system architects and protocol designers when choosing the communication protocols in an integrated IoT-to-fog-to-cloud system architecture.Peer ReviewedPostprint (author's final draft

    Connecting the World of Embedded Mobiles: The RIOT Approach to Ubiquitous Networking for the Internet of Things

    Full text link
    The Internet of Things (IoT) is rapidly evolving based on low-power compliant protocol standards that extend the Internet into the embedded world. Pioneering implementations have proven it is feasible to inter-network very constrained devices, but had to rely on peculiar cross-layered designs and offer a minimalistic set of features. In the long run, however, professional use and massive deployment of IoT devices require full-featured, cleanly composed, and flexible network stacks. This paper introduces the networking architecture that turns RIOT into a powerful IoT system, to enable low-power wireless scenarios. RIOT networking offers (i) a modular architecture with generic interfaces for plugging in drivers, protocols, or entire stacks, (ii) support for multiple heterogeneous interfaces and stacks that can concurrently operate, and (iii) GNRC, its cleanly layered, recursively composed default network stack. We contribute an in-depth analysis of the communication performance and resource efficiency of RIOT, both on a micro-benchmarking level as well as by comparing IoT communication across different platforms. Our findings show that, though it is based on significantly different design trade-offs, the networking subsystem of RIOT achieves a performance equivalent to that of Contiki and TinyOS, the two operating systems which pioneered IoT software platforms

    Enabling stream processing for people-centric IoT based on the fog computing paradigm

    Get PDF
    The world of machine-to-machine (M2M) communication is gradually moving from vertical single purpose solutions to multi-purpose and collaborative applications interacting across industry verticals, organizations and people - A world of Internet of Things (IoT). The dominant approach for delivering IoT applications relies on the development of cloud-based IoT platforms that collect all the data generated by the sensing elements and centrally process the information to create real business value. In this paper, we present a system that follows the Fog Computing paradigm where the sensor resources, as well as the intermediate layers between embedded devices and cloud computing datacenters, participate by providing computational, storage, and control. We discuss the design aspects of our system and present a pilot deployment for the evaluating the performance in a real-world environment. Our findings indicate that Fog Computing can address the ever-increasing amount of data that is inherent in an IoT world by effective communication among all elements of the architecture

    A software-defined network solution for managing fog computing resources in sensor networks

    Get PDF
    The fast growth of Internet-connected embedded devices raises new challenges for the traditional network design, such as scalability, diversity, and complexity. To endorse these challenges, this thesis suggests the aggregation of several emerging technologies: software-defined networking (SDN), fog computing, containerization and sensor virtualization. This thesis proposes, designs, implements and evaluates a new solution based on the emergent paradigm of SDN to efficiently manage virtualized resources located at the network edge in scenarios involving embedded sensor devices. The sensor virtualization through the containers provides agility, flexibility and abstraction for the data processing, being possible to summarize the huge amount of data produced by sensor devices. The proposed architecture uses a software-defined system, managed by a Ryu SDN controller, and a websocket broker written from scratch that analyses the messages sent to the controller and activates containers when required. Performance and functional tests were performed to assess the time required from activating the sensor containers to being able to communicate with them. The results were obtained by sending four ICMP packets. The best time response results were obtained by the proactive controller behavior mode, when compared to the hybrid and reactive modes. This thesis contributed to fill the gaps in the area of IoT or sensor networks, concerning the design and implementation of an architecture that performed on-demand activation of offline IoT fog computing resources by using an SDN controller and sensor virtualization through containers.O rápido crescimento de dispositivos embebidos conectados à Internet gera novos desafios para a arquitetura de rede tradicional, tais como escalabilidade, diversidade e complexidade. Para resolver estes desafios, esta tese sugere a agregação de diversas tecnologias emergentes: rede definida por software (SDN), contentores, computação na periferia e virtualização de sensores. Esta tese propõe, projeta, implementa e avalia uma nova solução baseada no paradigma emergente do SDN para gerir, de forma eficiente, recursos virtualizados que se localizam na periferia da rede, em cenários com sensores embebidos. A virtualização de sensores, através do uso de contentores, fornece agilidade, flexibilidade e abstração para processamento de dados, sendo possível a sumarização do grande volume de dados produzido pelos sensores. A arquitetura proposta usa um sistema definido por software, gerido por um controlador SDN Ryu, e um websocket broker escrito desde o zero, que analisa as mensagens enviadas ao controlador e ativa contentores quando necessário. Foram realizados testes funcionais e de desempenho de forma a ser possível avaliar o tempo necessário desde a ativação de um contentor de sensores até ser possível a comunicação com este. Os resultados foram obtidos através do envio de quatro pacotes ICMP. O melhor resultado foi obtido pelo modo de comportamento proativo do controlador, quando comparado aos modos híbrido e reativo. Esta tese contribuiu para preencher as lacunas na área de IoT ou redes de sensores, no que diz respeito ao desenho e implementação de uma arquitetura que executa a ativação sob pedido de recursos computacionais e periféricos de IoT quando estes se encontram desligados, através do uso de um controlador SDN e virtualização de sensores através de contentores

    Revisiting Actor Programming in C++

    Full text link
    The actor model of computation has gained significant popularity over the last decade. Its high level of abstraction makes it appealing for concurrent applications in parallel and distributed systems. However, designing a real-world actor framework that subsumes full scalability, strong reliability, and high resource efficiency requires many conceptual and algorithmic additives to the original model. In this paper, we report on designing and building CAF, the "C++ Actor Framework". CAF targets at providing a concurrent and distributed native environment for scaling up to very large, high-performance applications, and equally well down to small constrained systems. We present the key specifications and design concepts---in particular a message-transparent architecture, type-safe message interfaces, and pattern matching facilities---that make native actors a viable approach for many robust, elastic, and highly distributed developments. We demonstrate the feasibility of CAF in three scenarios: first for elastic, upscaling environments, second for including heterogeneous hardware like GPGPUs, and third for distributed runtime systems. Extensive performance evaluations indicate ideal runtime behaviour for up to 64 cores at very low memory footprint, or in the presence of GPUs. In these tests, CAF continuously outperforms the competing actor environments Erlang, Charm++, SalsaLite, Scala, ActorFoundry, and even the OpenMPI.Comment: 33 page
    corecore