2 research outputs found

    Objects that agree on task frequency in the IoT: A lifetime-oriented consensus based approach

    Get PDF
    Some key features of the end-systems impact on the way communications happen within the IoT: available objects' resources are limited, different objects may provide the same information (e. g. sense the same physical measure), the number of nodes in the IoT is quickly overcoming the number of Internet hosts with greater reliability issues. This entails for a new paradigm of communication with respect to those characterizing the traditional Internet. Before providing the required information about the physical world, objects coordinate with the other objects in groups and provide a unified service to the external world (the application that requires the service), with the intent to distribute the load of the requested services according to specific community defined rules, which could be: lifetime extension, QoS (Quality of Service) maximization, reward maximization, or others. In this paper other than describing the characteristics of this new communication paradigm and challenges it is called to address, we also propose a first solution for its implementation that relies on a distributed optimization protocol based on the consensus algorithm. Results of simulations and real experiments are also presented that show the viability in implementing the new communication model in a distributed way

    Abstracting Application Development for Resource Constrained Wireless Sensor Networks

    Get PDF
    Ubiquitous computing is a concept whereby computing is distributed across smart objects surrounding users, creating ambient intelligence. Ubiquitous applications use technologies such as the Internet, sensors, actuators, embedded computers, wireless communication, and new user interfaces. The Internet-of-Things (IoT) is one of the key concepts in the realization of ubiquitous computing, whereby smart objects communicate with each other and the Internet. Further, Wireless Sensor Networks (WSNs) are a sub-group of IoT technologies that consist of geographically distributed devices or nodes, capable of sensing and actuating the environment.WSNs typically contain tens to thousands of nodes that organize and operate autonomously to perform application-dependent sensing and sensor data processing tasks. The projected applications require nodes to be small in physical size and low-cost, and have a long lifetime with limited energy resources, while performing complex computing and communications tasks. As a result, WSNs are complex distributed systems that are constrained by communications, computing and energy resources. WSN functionality is dynamic according to the environment and application requirements. Dynamic multitasking, task distribution, task injection, and software updates are required in ļ¬eld experiments for possibly thousands of nodes functioning in harsh environments.The development of WSN application software requires the abstraction of computing, communication, data access, and heterogeneous sensor data sources to reduce the complexities. Abstractions enable the faster development of new applications with a better reuse of existing software, as applications are composed of high-level tasks that use the services provided by the devices to execute the application logic.The main research question of this thesis is: What abstractions are needed for application development for resource constrained WSNs? This thesis models WSN abstractions with three levels that build on top of each other: 1) node abstraction, 2) network abstraction, and 3) infrastructure abstraction. The node abstraction hides the details in the use of the sensing, communication, and processing hardware. The network abstraction speciļ¬es methods of discovering and accessing services, and distributing processing in the network. The infrastructure abstraction uniļ¬es different sensing technologies and infrastructure computing platforms.As a contribution, this thesis presents the abstraction model with a review of each abstraction level. Several designs for each of the levels are tested and veriļ¬ed with proofs of concept and analyses of ļ¬eld experiments. The resulting designs consist of an operating system kernel, a software update method, a data uniļ¬cation interface, and all abstraction levels combining abstraction called an embedded cloud.The presented operating system kernel has a scalable overhead and provides a programming approach similar to a desktop computer operating system with threads and processes. An over-the-air update method combines low overhead and robust software updating with application task dissemination. The data uniļ¬cation interface homogenizes the access to the data of heterogeneous sensor networks. A uniļ¬cation model is used for various use cases by mapping everything as measurements. The embedded cloud allows resource constrained WSNs to share services and data, and expand resources with other technologies. The embedded cloud allows the distributed processing of applications according to the available services. The applications are implemented as processes using a hardware independent description language that can be executed on resource constrained WSNs. The lessons of practical ļ¬eld experimenting are analyzed to study the importance of the abstractions. Software complexities encountered in the ļ¬eld experiments highlight the need for suitable abstractions.The results of this thesis are tested using proof of concept implementations on real WSN hardware which is constrained by computing power in the order of a few MIPS, memory sizes of a few kilobytes, and small sized batteries. The results will remain usable in the future, as the vast amount, tight integration, and low-cost of future IoT devices require the combination of complex computation with resource constrained platforms
    corecore