213 research outputs found

    Surviving sensor network software faults

    Full text link
    We describe Neutron, a version of the TinyOS operating system that efficiently recovers from memory safety bugs. Where existing schemes reboot an entire node on an error, Neutron’s compiler and runtime extensions divide programs into recovery units and reboot only the faulting unit. The TinyOS kernel itself is a recovery unit: a kernel safety violation appears to applications as the processor being unavailable for 10–20 milliseconds. Neutron further minimizes safety violation cost by supporting “precious ” state that persists across reboots. Application data, time synchronization state, and routing tables can all be declared as pre-cious. Neutron’s reboot sequence conservatively checks that pre-cious state is not the source of a fault before preserving it. Together, recovery units and precious state allow Neutron to reduce a safety violation’s cost to time synchronization by 94 % and to a routing protocol by 99.5%. Neutron also protects applications from losing data. Neutron provides this recovery on the very limited resources of a tiny, low-power microcontroller

    Surviving sensor network software faults

    Get PDF
    ManuscriptWe describe Neutron, a version of the TinyOS operating system that efficiently recovers from memory safety bugs. Where existing schemes reboot an entire node on an error, Neutron's compiler and runtime extensions divide programs into recovery units and reboot only the faulting unit. The TinyOS kernel itself is a recovery unit: a kernel safety violation appears to applications as the processor being unavailable for 10-20 milliseconds. Neutron further minimizes safety violation cost by supporting "precious" state that persists across reboots. Application data, time synchronization state, and routing tables can all be declared as precious. Neutron's reboot sequence conservatively checks that precious state is not the source of a fault before preserving it. Together, recovery units and precious state allow Neutron to reduce a safety violation's cost to time synchronization by 94% and to a routing protocol by 99:5%. Neutron also protects applications from losing data. Neutron provides this recovery on the very limited resources of a tiny, low-power microcontroller

    PROPOSED MIDDLEWARE SOLUTION FOR RESOURCE-CONSTRAINED DISTRIBUTED EMBEDDED NETWORKS

    Get PDF
    The explosion in processing power of embedded systems has enabled distributed embedded networks to perform more complicated tasks. Middleware are sets of encapsulations of common and network/operating system-specific functionality into generic, reusable frameworks to manage such distributed networks. This thesis will survey and categorize popular middleware implementations into three adapted layers: host-infrastructure, distribution, and common services. This thesis will then apply a quantitative approach to grading and proposing a single middleware solution from all layers for two target platforms: CubeSats and autonomous unmanned aerial vehicles (UAVs). CubeSats are 10x10x10cm nanosatellites that are popular university-level space missions, and impose power and volume constraints. Autonomous UAVs are similarly-popular hobbyist-level vehicles that exhibit similar power and volume constraints. The MAVLink middleware from the host-infrastructure layer is proposed as the middleware to manage the distributed embedded networks powering these platforms in future projects. Finally, this thesis presents a performance analysis on MAVLink managing the ARM Cortex-M 32-bit processors that power the target platforms

    A Hypothetical Database-Driven Web-Based Meteorological Weather Station with Dynamic Datalogger System

    Get PDF
    This paper proposes the development and implementation strategies of a hypothetical database-driven web-based meteorological (meteo) weather station with a dynamic datalogger system to provide up-to-the-minute real-time ground-based weather information online to any interested client. The meteo weather station will provide weather data/information for eight parameters namely: relative humidity; solar radiance; wind speed; wind direction; barometric pressure; temperature; nefobasimeter for monitoring and measuring cloud height, thickness and number of layers detection; and rainfall. The hypothetical design present techniques that can be used to capture and log meteo data in a dynamic relational database management system (DRDBMS) and implements a TCP/IP network server. The meteo weather information will be collected from sensors incorporated into measuring instruments and transmitted via 1–Wire network and stored in the TINI’s non–volatile static random access memory (NV-SRAM). The TINI processes and uploads the information over a TCP/IP network via a switch, router, common gateway interface (CGI), very small aperture terminal (VSAT) via an Internet service provider (ISP) to the Internet for any interested user in the world. More so, although the acquired data will be made available as they are being logged to both the Internet and the database (DRDBMS) but the data will be automatically deleted every 24 hours at 00:00G MT from the TINI’s NV-SRAM to free the memory for the next day data at the same 00:00G MT. As a result of this, the DRDBMS which is an object for data/information storage using the MySQL stores the meteo data/information which can be retrieved by any interested client on request. However, the request will be made possible via the use of web pages, where the each meteo data/information will be displayed and accessed using special user login codes (username and password) upon subscription. Keywords: DBMS, Dynamic datalogger, embedded systems, html, hypothetical weather station, JavaScript, meteorology, MySQL, PHP, TCP/IP protocol, Tiny INternet interface (TINI), WAMP server, web development

    Specification Based Bug Detection for Embedded Software

    Get PDF
    Traditional compilers do not automatically analyze processor specifications, thousands of pages of which are available for modern processors. The specifications describe constraints and requirements for processors, and therefore, are useful for software development for these processors. To bridge this gap, our tool em-SPADE analyzes processor specifications and creates processor-specific rules to detect low-level programming errors. This work shows the potential of automatically analyzing processor specifications to detect low-level programming errors at compile time. em-SPADE is a compiler extension to automatically detect software bugs in low-level programs. From processor specifications, em-SPADE preprocessor extracts target-specific rules such as register use and read-only or reserved registers. A special LLVM pass in em-SPADE then uses these rules to detect incorrect register assignments. Our experiments with em-SPADE have correctly extracted 652 rules from 15 specifications and consequently found 20 bugs in ten software projects. In addition, we explore the use of data mining techniques to learn more about the nature and type of complex checkable rules other than access and reserved bit rules. After applying the frequent itemset mining technique on three specifications, we found that the mining can report complex checkable rules from the specifications with a precision of 53.53% to 82.22% and recall of 36.88% to 75.18%. Thus, the data mining approach is useful for learning complex type of rules in large specifications. These techniques help us identify complex rules. In addition, insights gained from the mining results can be used to improve and standardize specifications. The work is generalizable to other types of specifications and shows the clear prospects of using processor specifications to enhance compilers

    ESTCube-1 kĂ€su- ja andmehaldussĂŒsteemi tarkvara

    Get PDF
    Antud töö raames sai loetletud ESTCube-1 KĂ€su- ja AndmehaldussĂŒsteemile ehk pardaarvutile esitatud nĂ”uded. Vastavalt nĂ”uetele sai arendatud pardaarvuti tark- vara, mis sisaldab FreeRTOS ajureid andmesiinide ja pardaseadmete jaoks, vea- haldust, kĂ€suhaldurit, moodulit telemeetria salvestamiseks ning failisĂŒsteeme jadali- idesega ferroelektriliste muutmĂ€lude ja vĂ€lkmĂ€lude jaoks. Mitmed arendatud tarkvaramoodulitest on leidnud kasutust ka ESTCube-1 kaamerasĂŒsteemi pardal. Arendatud tarkvaral on sooritatud teste kahel satelliidi maapealsel mudelil ning orbiidil lendaval satelliidil. MĂ”ningate eranditega on orbiidil tĂ€heldatud prob- leemid edukalt reprodutseeritud maapealsetel mudelitel, ning uus parandustega versioon tarkvarast on edukalt orbiidil olevale satelliidile laetud. Orbiidil on pardaarvutil edukalt katsetatud satelliidi orientatsiooni mÀÀramise ja juhtimise tarkvara. Andurite mÔÔdiste eeltöötluse algoritmid on orbiidil testi- tud ning satelliidi orientatsiooni mÀÀramise algoritmi vĂ€ljundit on vĂ”rreldud par- dakaamera piltidega. Kasutades satelliidi osutamise algoritmi koos pardaarvuti skriptidega, on tĂ€idetud ka osa ESTCube-1 missioonist - pildistada Eestit kos- mosest. Seni on ESTCube-1 olnud orbiidil veidi ĂŒle aasta ning kĂ”ik satelliidi sĂŒsteemid on endiselt töökorras

    Efficient and Reliable Task Scheduling, Network Reprogramming, and Data Storage for Wireless Sensor Networks

    Get PDF
    Wireless sensor networks (WSNs) typically consist of a large number of resource-constrained nodes. The limited computational resources afforded by these nodes present unique development challenges. In this dissertation, we consider three such challenges. The first challenge focuses on minimizing energy usage in WSNs through intelligent duty cycling. Limited energy resources dictate the design of many embedded applications, causing such systems to be composed of small, modular tasks, scheduled periodically. In this model, each embedded device wakes, executes a task-set, and returns to sleep. These systems spend most of their time in a state of deep sleep to minimize power consumption. We refer to these systems as almost-always-sleeping (AAS) systems. We describe a series of task schedulers for AAS systems designed to maximize sleep time. We consider four scheduler designs, model their performance, and present detailed performance analysis results under varying load conditions. The second challenge focuses on a fast and reliable network reprogramming solution for WSNs based on incremental code updates. We first present VSPIN, a framework for developing incremental code update mechanisms to support efficient reprogramming of WSNs. VSPIN provides a modular testing platform on the host system to plug-in and evaluate various incremental code update algorithms. The framework supports Avrdude, among the most popular Linux-based programming tools for AVR microcontrollers. Using VSPIN, we next present an incremental code update strategy to efficiently reprogram wireless sensor nodes. We adapt a linear space and quadratic time algorithm (Hirschberg\u27s Algorithm) for computing maximal common subsequences to build an edit map specifying an edit sequence required to transform the code running in a sensor network to a new code image. We then present a heuristic-based optimization strategy for efficient edit script encoding to reduce the edit map size. Finally, we present experimental results exploring the reduction in data size that it enables. The approach achieves reductions of 99.987% for simple changes, and between 86.95% and 94.58% for more complex changes, compared to full image transmissions - leading to significantly lower energy costs for wireless sensor network reprogramming. The third challenge focuses on enabling fast and reliable data storage in wireless sensor systems. A file storage system that is fast, lightweight, and reliable across device failures is important to safeguard the data that these devices record. A fast and efficient file system enables sensed data to be sampled and stored quickly and batched for later transmission. A reliable file system allows seamless operation without disruptions due to hardware, software, or other unforeseen failures. While flash technology provides persistent storage by itself, it has limitations that prevent it from being used in mission-critical deployment scenarios. Hybrid memory models which utilize newer non-volatile memory technologies, such as ferroelectric RAM (FRAM), can mitigate the physical disadvantages of flash. In this vein, we present the design and implementation of LoggerFS, a fast, lightweight, and reliable file system for wireless sensor networks, which uses a hybrid memory design consisting of RAM, FRAM, and flash. LoggerFS is engineered to provide fast data storage, have a small memory footprint, and provide data reliability across system failures. LoggerFS adapts a log-structured file system approach, augmented with data persistence and reliability guarantees. A caching mechanism allows for flash wear-leveling and fast data buffering. We present a performance evaluation of LoggerFS using a prototypical in-situ sensing platform and demonstrate between 50% and 800% improvements for various workloads using the FRAM write-back cache over the implementation without the cache

    Can Evil IoT Twins Be Identified? Now Yes, a Hardware Behavioral Fingerprinting Methodology

    Full text link
    The connectivity and resource-constrained nature of IoT, and in particular single-board devices, opens up to cybersecurity concerns affecting the Industrial Internet of Things (IIoT). One of the most important is the presence of evil IoT twins. Evil IoT twins are malicious devices, with identical hardware and software configurations to authorized ones, that can provoke sensitive information leakages, data poisoning, or privilege escalation in industrial scenarios. Combining behavioral fingerprinting and Machine/Deep Learning (ML/DL) techniques is a promising solution to identify evil IoT twins by detecting minor performance differences generated by imperfections in manufacturing. However, existing solutions are not suitable for single-board devices because they do not consider their hardware and software limitations, underestimate critical aspects during the identification performance evaluation, and do not explore the potential of ML/DL techniques. Moreover, there is a dramatic lack of work explaining essential aspects to considering during the identification of identical devices. This work proposes an ML/DL-oriented methodology that uses behavioral fingerprinting to identify identical single-board devices. The methodology leverages the different built-in components of the system, comparing their internal behavior with each other to detect variations that occurred in manufacturing processes. The validation has been performed in a real environment composed of identical Raspberry Pi 4 Model B devices, achieving the identification for all devices by setting a 50% threshold in the evaluation process. Finally, a discussion compares the proposed solution with related work and provides important lessons learned and limitations

    Exploiting Fine-Grained Spatial Optimization for Hybrid File System Space

    Get PDF
    Over decades, I/O optimizations implemented in legacy file systems have been concentrated on reducing HDD disk overhead, such as seek time. As SSD (Solid-State Device) is becoming the main storage medium in I/O storage subsystems, file systems integrated with SSD should take a different approach in designing I/O optimizations. This is because SSD deploys the peculiar device characteristics that do not take place in HDD, such as erasure overhead on flash blocks and absence of seek time to positioning data. In this paper, we present HP-hybrid (High Performance-hybrid) file system that provides a single hybrid file system space, by combining HDD and SSD partitions. HP-hybrid targets for optimizing I/O while considering the strength and weakness of two different partitions, to store large-scale amounts of data in a cost-effective way. Especially, HP-hybrid proposes spatial optimizations that are executed in a hierarchical, fine-grained I/O unit, to address the limited SSD storage resources. We conducted several performance experiments to verify the effectiveness of HP-hybrid while comparing to ext2, ext4 and xfs mounted on both SSD and HDD
    • 

    corecore