izpis_h1_title_alt

Low-bandwidth Distributed Application Framework for IoT devices
ID Dolenc, Dejan (Avtor), ID Kos, Andrej (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (1,22 MB)
MD5: 29308C8E9BFC5AC7ECB49F4AB0D29C12

Izvleček
IoT devices often have severe system resource and communication limitations. When developing IoT applications these limitations affect the design of APIs that are used. Commonly, APIs are designed for the web, in which the API design priorities are very different. Using them in IoT applications can lead to very high overhead due to things like polling, multiple requests, and unneeded data. For these applications more specialized, streamlined, and efficient APIs are required. This includes the use of special low-power networks and more efficient protocols in the entire application stack. LDAF is designed to allow applications to, in a way, be split between a device and server (or multiple servers), with a highly optimized data link, which uses low-overhead protocols and binary schema-based encoding, between them. This means that functions that require heavy processing or fetch data from unoptimized sources can be moved to the server and only transfer the results to the rest of the application. This special architecture allows LDAF to make special application-aware optimizations as well as data pre-processing. This can have a tremendous effect when it is running on a device with constrained system resources, like an IoT device. It is especially valuable with Blockchain-based decentralized applications. They are designed with an entirely different set of requirements and considerations, which makes them very difficult to implement on IoT devices. LDAF makes this considerably easier. We have tested the framework in a number of different use cases. We made a hashing service to test the potential of offloading the CPU-intensive task to the server, a DNS service, and a weather data proxy to test the potential data savings of cherry-picking request data. Our main use case was Swether, which is a Blockchain-based distributed IoT application that has traditionally required a fast and stable internet connection along with capable hardware, but with LDAF its network traffic, CPU load, and code size have been dramatically reduced. LDAF has been proven to work as expected. It allows us to easily make highly specialized APIs that greatly reduce both data and system resource usage of client devices without sacrificing functionality. With the rise of the cloud, containers, and reliable infrastructure services, developers are using hardware, services, and platforms made by other companies to reduce upfront costs, increase scalability, and maintain their focus on their application instead of the infrastructure. We believe a version of LDAF could be made into such a service, offering extreme scalability and ease of use, while maintaining the level of customization of the standalone version.

Jezik:Angleški jezik
Ključne besede:Framework, application, IoT, Blockchain, Low bandwidth, API, protocol
Vrsta gradiva:Diplomsko delo
Organizacija:FE - Fakulteta za elektrotehniko
Leto izida:2019
PID:20.500.12556/RUL-110062 Povezava se odpre v novem oknu
Datum objave v RUL:11.09.2019
Število ogledov:1236
Število prenosov:270
Metapodatki:XML DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Slovenski jezik
Naslov:Razširjeni porazdeljeni aplikacijski okvir za IoT naprave z nizko komunikacijsko hitrostjo
Izvleček:
IoT naprave imajo pogosto omejene sistemske vire in komunikacijske zmožnosti. Med razvojem aplikacij za te naprave je potrebno upoštevati te omejitve tudi ko se načrtuje API-je. Ti API-ji so pogosto načrtovani za spletne vmesnike, v katerih so prioritete zelo drugačne. Zanašajo se lahko na povpraševanje (polling), možnost večih zahtevkov in podobno, kar jih naredi precej neučinkovite. Za IoT aplikacije se potrebuje bolj specializirane in učinkovite API-je. Med drugim tudi tiste, ki uporabljajo posebne tehnologije za zmanjševanje porabe električne energije in bolj učinkovite protokole čez celoten aplikacijski sklad. LDAF je zasnovan tako, da aplikacije na nek način razdeli med odjemalcem in strežnikom (ali večimi strežniki), ter ju poveže z zelo optimizirano podatkovno povezavo, ki uporablja učinkovite protokole, ki so bili načrtovani za IoT, binarno kodiranje na osnovi sheme (schema-based encoding). Na ta način lahko funkcije, ki zahtevajo intenzivno obdelavo ali pa pridobivajo podatke iz neoptimiziranih virov, prestavimo na strežnik in samo rezultate prenesemo do preostale aplikacije. S tako arhitekturo lahko s pomočjo LDAF izvedemo posebne aplikativno usmerjene optimizacije. To ima lahko še bolj občuten vpliv, če je odjemalska naprava zelo omejena, kar se tiče komunikacije ali sistemskih virov. To je še bolj pomembno, če govorimo o decentraliziranih aplikacijah, ki uporabljajo Blockchain tehnologije. Te so zasnovane z popolnoma drugačnimi zahtevami, zaradi katerih jih je težko implementirati na IoT napravah. Z LDAF je ta process pomembno lažji. Programsko ogrodje smo testirali v različnih primerih. Naredili smo API za računanje prstnega odtisa (hash) podatkov, da smo raziskali možnost prenašanja procesorsko zahtevnih funkcij na strežnik, DNS storitev in posredovalec za vremenske podatke, s katerim smo testirali potencial zmanjševanja količine prenesenih podatkov z selektivnim pošiljanjem. Naš glavni primer je bil Swether, ki je IoT naprava, ki uporablja Blockchain tehnologije. Ta je vedno zahteval hitro in stabilno podatkovno povezavo, ter precej zmogljivo strojno opremon in se je z uporabo LDAF-a se je podatkovni promet, poraba sistemskih virov in velikost kode občutno zmnjšala. Dokazali smo, da LDAF deluje v skladu s pričakovanji. Z njim lahko ustvarimo specializirane API-je, s katerimi lahko zelo zmanjšamo porabo sistemskih virov in podatkovni promet, brez oviranja delovanja aplikacije. Z razvojem »oblačne arhitekture«, kontejnerjev in zanesljivih ponudnikov oblačne infrastrukture se razvijalci vedno bolj pogosto odločajo za že razvito strojno opremo, storitve in platforme. S tem si zmanjšajo začetno ceno svoje aplikacije, povečajo skalabilnost in se lažje fokusirajo na razvoj namesto na infrastrukturo. Posebna različica LDAF bi lahko bila prilagojena takem delovanju. Postala bi lahko platforma za razvoj modernih distribuiranih aplikacij z vsemi možnostmi prilagoditve kot samostojna različica, a z zelo dobro skalabilnostjo in lahko uporabo.

Ključne besede:Programsko ogrodje, aplikacija, IoT, Blokovne verige, nizka podatkovna hitrost, API, protokol

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj