User:NicoletaCorocea/sandbox/Internet of Things

= Internet of Things = Cresterea rapida a tehnologiei si a serviciilor conectate la internet au permis IoT (Internet of Things) sa fie unul dintre campurile importante in domeniul informatic. Standardele, tehnologiile si platformele care targeteaza sistemul IoT sunt dezvoltate foarte rapid. IoT permite dispozitivelor sa comunice si sa coordoneze decizii in multe aplicatii diferite incluzand sanatatea, casele inteligente si automatizarea in industrie.

In prezent, conceptul cunoscut sub numele de Internet of Things, se confrunta cu o crestere rapida in ceea ce priveste numarul de aplicatii in care poate fi integrat. Datorita dezvoltarii tehnologiei si totodata a internetului, noi provocari si oportunitati sunt abordate cu ingeniozitate si usurinta. Conceptul de IoT se refera la folosirea tehnologiei si integrarea acesteia in produsele si scenariile deja existente in scopul conectarii acestora la internet.

Trebuie remarcat faptul ca infrastructura, in cazul de fata internetul, joaca un rol vital in realizarea acestei interconectari. Dezvoltarea domeniului de comunicatii a permis utilizatorilor finali sa poata utiliza mai multe tehnologii pentru interconectarea dispozitivelor IoT. Printre cele mai folosite tehnologii de comunicatie in cadrul IoT se numara Bluetooth, WiFi, ZigBee, NFC, LoRaWAN si RFID.

Principalul obiectiv al domeniului IoT este reprezentat de dorinta de incorporare a sistemelor electronice in cat mai multe obiecte fizice. Sistemele electronice folosite pot fi senzori, platforme de comunicatie sau elemente de afisare interactive. In acest fel, un obiect fizic, banal, poate fi transformat intr-un obiect inteligent care transmite si receptioneaza informatii. Faptul ca dispozitivele mobile au avut si ele parte de o evolutie exponentiala face ca reteaua formata de echipamentele IoT sa fie dusa la un nivel mai inalt. Datorita acestui lucru, aproape orice gadget ce este conectat la internet poate comunica foarte usor cu orice dispozitiv mobil. Prin interconectarea obiectelor inteligente de diferite feluri, se pot crea solutii inteligente pentru o mare parte dintre neplacerile intampinate in societatea curenta.

Unele din problemele la care IoT a venit cu rezolvari robuste sunt cele legate de comunicarea fara fir, localizarea si identificarea obiectelor. Asadar sistemul global de localizare (GPS), sistemul global pentru comunicatii mobile (GSM) sau tehnologiile de identificare prin radiofrecventa (RFID), care fac si obiectul lucrarii de fata, incep sa fie utilizate intr-o varietate de initiative ce au scopul de a oferi solutii la limitarile din ziua de astazi

Conceptul de Internet of Things a ajuns sa fie folosit in majoritatea domeniilor, iar unde nu este folosit acum, cel mai probabil, in viitor va fi. Odata cu aparitia tehnologiei 5G se vor putea conecta si mai multe dispozitive la o singura retea, iar o mare provocare a acestui domeniu va deveni securitatea aplicatiilor. Daca toate echipamentele sunt conectate la internet si comunica intre ele, o vulnerabilitate a unui singur echipament poate corupe intreg sistemul.

Probleme Specifice
IoT a devenit rapid o forta de transformare, schimband stilul de viata a milioane de oameni. Interconectare unui numar mare de dispozitive inteligente a dus piata IoT la peste 25 de milioane de dispozitive in uz. Dispozitivele pentru casele inteligente includ produse, difuzoare inteliente, ecrane inteligente, becuri, termostate, sisteme de securitate inteligente si nu numai. Odata cu cresterea si implementarea interconectarii dispozitivelor inteligente, numarul de functionari defectuoase a crescut, iar aceasta este o problema nerezolvata. In cele mai multe cazuri, sistemele IoT au de suferit din pricina consumului ridicat de energie, pierderilor de informatii si a legaturilor cu zgomot. Pe langa acestea, se aduna si problemele de securitate, confidentialitate si problemele de incredere.

Laith Farhan et al. fac un review concis a problemelor si a provocarilor IoT in.

Probleme de securitate
Problemele de securitate reprezinta o provocare pentru retele si aplicatii inca de la inceputurile lor. In IoT securitatea, confidentialitatea si increderea sunt factori critici care influenteaza buna functionare a sistemelor. Deoarece IoT implica transmiterea datelor ca pachete prin intermediul retelelor, trebuie luate masuri suplimentare pentru a se mentine confidentialitatea si integritatea datelor. O alta problema ce apare in dezvoltarea sistemelor IoT este aceea ca dezvoltarea se axeaza in prinicpal pe rezultat, pe functionarea sistemlui, iar securitatea datelor este lasata la o parte. Acest fapt lasa o usa deschisa pentru atacuri de securitate, mai ales deoarece IoT este un domeniu relativ nou, cu o evolutie rapida.

Datorita faputului ca se lucreaza cu date personale, aplicatiile IoT trebuie sa fie securizate.

Conform, cele mai relevante provocari de securitate ale aplicatiilor IoT sunt:


 * 1) Confidentialitatea datelor. Aplicatiile IoT prelucreaza si transmit date personale precum date legate de sanatate de la senzori de monitorizare sau obiceiuri de vizionare in cazul televizoarelor inteligente. Scaparea de sub control a acestor date pot pune in pericol utilizatorii. Astfel ca, aplicatiile IoT trebuie sa aiba in vedere asigurarea transmiterii datelor in mod confidential.
 * 2) Securitatea datelor. Datele transmise trebuie protejate pentru a nu fi observate si capturate de alte dispozitive malitioase.
 * 3) Lipsa unui standard. Datorita faptului ca exista o multime de standarde utilizate pentru dispozitivele IoT si pentru transmiterea datelor, distingerea procedurilor permise si a celor nepermise reprezinta o provocare.
 * 4) Atacuri de securitate si Vulnerabilitati ale sistemelor. In aceste categorii intra securitatea sistemelor,  securitatea aplicatiilor si securitatea retelelor. Securitatea sistemelor se concentreaza in principal pe intregul sistem IoT si identifica problemele care pot aparea si le trateaza. Securitatea aplicatiilor se rezuma la tratarea problemelor conform cerintelor, iar securitatea retelei presupune transmiterea datelor in siguranta intre dispozitive.
 * 5) Autentificarea datelor reprezinta abilitatea sistemului de a securiza datele si de a limita acceul la acestea numai persoanelor care au permisiuni.

Quality of Service
In multe aplicatii, datele trebuie sa fie livrare intr-un anumit timp la destinatie, altfel acestea vor avea o valoare mai mica. Cerintele QoS sunt indeplinite folosind diferite servicii si facandu-se gestionarea intarzierii, a pachetelor pierdute si a latimii de banda disponibile. Aceste cerinte sunt necesare pentru a avea un serviciu IoT de succes. Astfel ca, calitatea serviciilor necesita cercetare suplimentare si stabiliarea, implementarii, a optimizarii si a managementului. QoS ajuta la gestionarea capabilitatilor sistemului si a resurselor sale pentru a pune la dispozitie serviciile IoT necesare. Comunicarea, dispozitivele si calculul computational sunt componentele de baza ale sistemelor IoT si sunt importante in egala masura. IoT trebuie sa asigure o buna functionare a acestora.

In sunt prezentate cele mai importante metrici ale calitatii serviciilor in IoT:

QoS pentru comunicare
Retelele de comunicare din IoT sunt responsabile pentru transmiterea datelor in timp real in jurul lumii. Aplicatile pot fi sensibile la intarzieri sau pot sa le tolereze. Pentru a indeplini cerintele diverselor aplicatii, este necesara imbunatatirea calitatii retelelor si adugarea de valoare la acestea. Pentru masurarea calitatii serviciilor se considera latimea de banda, care determina cate date se pot transmite intr-un interval de timp. Tranzitul pachetelor si eficienta de transmitere masora numarul de pachete care au fost trimise sau primite in retea. Daca latenta este mare, numarul de pachete transmise va scadea si va impacta eficienta aplicatiei. Un sistem IoT de incredere trebuie sa asigure un timp de conexiune al retelei mare sa fie disponibila cat mai mult, sa asigure securitatea datelor transmise. Intre toate aceste cerinte, trebuie sa se aiba in vedere si costurile retelei.

QoS pentru dispozitive
IoT promite o arie larga de dispozitive cu senzori, echipate cu tehnologii RFID si care in mod implicit comunica intr-o retea inteligenta. In ceea ce priveste cerintele pentru dispozitive, trebuie luata in considerare greutatea acestora. Sunt preferate obiectele/senzorii care sunt redusi ca dimensiune si greutate. Acuratetea, timpul de raspuns si aria de acoperire sunt caracteristici importante in alegerea senzorilor in IoT. Pe langa acestea, senzorii alegi trebuie sa fie stabili in timp, sa fie cat mai putini influentati de factorii externi, si sa nu fie mari consumatori de energie.

QoS pentru calculul computational
Datorita unui volum mare de date, aplicatiile IoT trebuie sa fie scalate in cloud pentru a se creste eficienta. Scalabilitatea  este in lucru necesar in aplicatiile IoT, acestea fiind lideri in producerea de date. In aceste situatii, scalare verticala este de preferat fara de cea verticala. Disponibilitatea este necesara pentru a oferi utilizatorilor serviciile necesare atunci cand este nevoie de ele,  in timp ce increderea este data de functionarea corecta pe o perioada cat mai mare de tip, fara a aparea erori. De multe ori, pretul poate fi crescut, dar trebuie tinut cont in aceste cazuri de: retea, memorie si putere computationala. Capacitatea, timpul de raspuns si securitatea  sunt alte criterii importante in calitatea serviciilor IoT.

Big Data
Domeniul IoT si multitudinea de dispozitive interconectate produce o cantitate masiva de date care sunt colectate si agregate prin intermediul obiectelor inteligente. Aceste date reprezinta o sursa de ingrijorare in privinta IoT. In viitor, va fi necesara dezvoltarea tehnicilor care convertesc datele reprezentate haotic in date structurate care pot fi folosite. O data la doi ani, datele isi dubleaza dimensiunea si este de asteptat sa se ajnga la 44 Zettabytes in urmatorii ani. Big data sunt definite de “cei 5 V”, prezentati si in figura:


 * “Velocitatea” se refera la viteza cu care datele sunt colectate, transferate si procesate. Viteza de procesare a datelor poate sa difere de la aplicatie la aplicatie. In unele aplicatii, datele pot fi prelucrate in ordine, in functie de sosirea lor in aplicatie. In cazul aplicatiilor de analiza a datelor, este necesar ca acestea s fie prelucrate in timp real.
 * “Varietatea”  se refera la faptul ca dispozitivele inteligente din IoT produc date diferite. Acestea nu sunt structurate si pot fi imagini, fisiere audio, XML, text etc. Pentru a face fata cerintelor, datele trecuie organizate si procesate intr-un mod de inteles si consistent.
 * “Veridicitatea”  da necesitatea ca datele colectate de la dispozitive sa fie corecte, filtrate de datele corupte.
 * “Volumul” vine cu provocarea de a incadra o cantitate mare de date. Provocarea in IoT este de a transmite rapid volume mari de date.
 * “Valoarea” reprezinta extragerea informatiilor importante dintr-un volum mare de date. Pentru aceasta, s-au dezvoltat algoritmi pentru extragerea caracteristicilor, analizarea trendurilor folosind AI etc. Indeplinirea acestora reprezinta adevarate provocari in aplicatiile IoT.

Scheme de adresare
Identificarea unica a obiectelor este o problema critica pentru functionarea si pentru succesul aplicatiilor IoT. Aplicatiile IoT au nevoie sa clasifice in mod unic mii de dispozitive si sa le controleze de la distanta prin internet. Cele mai critice probleme ale crearii adreselor unice sunt fiabilitatea, unicitatea si persistenta. Dispozitivele indeligente au nevoie de adrese unice care sa le permita sa comunice unele cu celelalte si sa fie o parte din internet, IPv4 foloseste adrese de 32 de biti care asigura o capacitate de 4.3 miliarde de adrese IP care sunt aproape epuizate. IPv6 utilizeaza 128 de biti, ceea ce ofera o abundenta de adrese disponibile. Un grup de cercetatori a conceput o schema de adresare usoara pentru a rezolva problema de eterogenitate in IoT. In acest model, schema propusa are interconexiuni potrivite si fixabile intre WSN-uri (Wireless sensor network) si internet, pe baza IPv6, folosind protocolul 6LowPAN.

Consum de energie
IoT interconecteaza o multitudine de dispozitive si retele de o mare varietate ce sunt conectate la internet. Energia este considerata o resursa cruciala pentru dispozitivele inteligente din IoT deoarece majoritatea aplicatiilor au nevoie de o baterie. In aceste cazuri, este prudent sa nu se consume energie prin transmisii nenecesare de date sau protocoale costisitoare, precum HTTP, TCP.

Potrivit tehnologiile IoT sunt comode, dar vin cu un cost: costul energiei si al eficientei. Un dispozitiv inteligent nu este neaparat “verde”. Dispozitivele nu salveaza energie in mod automat. Exista totusi tool-uri care imbunatatesc consumul de energie. Becurile inteligente care se sting automat cand iesi din camera sunt un exemplu.

O alta problema a consumului de energie este reprezentata de “energia fantoma”. Aceasta este energia consumata de dispozitivele care sunt stinse. Obiectele inteligente care necesita o comanda vocala pentru a fi aprinse sunt consumatoare de energie prin faptul ca acestea asteapta continuu comada de pornire.

Eterogenitatea Dispozitivelor/Legaturilor
O caracteristica importanta a domeniului IoT este varietatea dispozitivelor si a legaturilor dintre acestea. Toate acestea functioneaza cu protocoale diferite si cu formate de date diferite. Se implementeaza o mare varietate de retele, se folosesc dispozitive diferite pentru a asigura functionalitati diferite. In acest caz, natura eterogena a legaturilor si a obiectelor este o piesa cheie in interconectarea dispozitivelor si, astfel, este o provocare. Intrebarea care apare este: Putem avea un model arhitectural care sa poate sa cuprinda si sa suporte aceasta varietate? In se prezinta o arhitectura bazata pe SDN care sa gestioneze numeroase tipuri de dispozitive si legaturi ale acestora. SDN presupune decuplarea obiectelor si a aplicatiilor si utilizarea unui “panou de control” pentru gestionarea tuturor.

Scalare Masiva
Numarul de noduri de senzori implementate in lume poate sa fie de oridinul miliardelor sau chiar mai mult. Scalarea masiva este o provocare serioasa si influenteaza protocoalele de rutare. Scalabilitatea este numarul tot mai mare de dispozitive si retele dupa lansarea IoT. Prin urmare, orice schema de rutare trebuie sa se potriveasca si sa se adapteze si sa fie scalabila la un numar urias de senzori. Pe masura ce tehnologia IoT prolifereaza si lucrurile devin tot mai sofisticate, multe dintre aplicatii necesita interactiune umana. Un om in “bucla” algoritmului permite utilizatorului sa schimbe rezultatul unui eveniment sau proces. De exemplu, masinile autonome sunt un exemplu clar de “human in the loop”. Masina se conduce in principal singura, dar tot are nevoie de un om sa fie atent la drum si sa ia o actiune in caz de urgenta. In momentul in care sistemul de senzori detecteaza ceva neobisnuit pe drum (gheata, drum in constructie etc), masina ar trebui sa predea controlul omului. Un scenariu controversat este acela in care un accident cu daune nu poate fi evitat: ar trebui ca omul sa ia ultima decizie sau algoritmul?

Protocoale utilizate
Pentru a adopta pe deplin IoT in viata de zi cu zi pentru a oferi servicii de inalta calitate utilizatorilor si pentru a accelera extinderea larga a tehnologiilor si a inovatiilor IoT, o serie de standarde care abordeaza multe aspecte ale IoT ((de exemplu, interoperabilitate, fiabilitate și operații de descoperire) sunt necesare. Cu toate acestea, multe țări, organizații și comunitati de cercetare din întreaga lume contribuie activ la standardizarea IoT ca în viitor sa se poata obține beneficii economice extraordinare alaturi de multe alte beneficii.

Conform principalele protocoale care sunt utilizate azi pentru a implementa IoT pot fi clasificate in categorii, in functie de scopul fiecarui protocol. Aceste categorii sunt: protocoale aplicatie, protocoale de descoperire, de infrastructura si protocoale de influenta.

Protocoalele aplicatie
Protocoalele de aplicație sunt necesare pentru a gestiona comunicarea intre dispozitivele IoT, gateway-uri, internet și aplicații. Aceste protocoale sunt necesare sa actualizeze serverele online cu cele mai recente fluxuri de date ale dispozitivului final alaturi de transportarea comenzilor de la aplicatii la actuatoarele dispozitivului final.

Constrained application protocol
Constrained application protocol este un protocol aplicatie pentru dispozitivele limitate la resurse care reprezinta baza pentru aplicatiile si serviciile IoT. Acest protocol a fost conceput de IETF pe baza REST, care a fost considerat un mod simplu de schimb de date intre clienti si servere prin protocolul HTTP. REST permite serviciilor web sa fie consumate de clienti si de catre servere folosind URI (uniform resource identifier) si metodele HTTP: GET, POST, PUT, DELETE.

CoAP este un protocol potrivit pentru comunicarea in domeniile IoT si M2M datorita caracteristicilor importante:


 * Unele functionalitati HTTP au fost modificate de catre acest protocol pentru a indeplini cerintele IoT(consum redus de energie, functionarea in prezenta pierderilor de informatie si a legaturilor cu zgomot).
 * Permite comunicare unicast si multicast.
 * CoAP este bazat pe UDP, iar acesta nefiind de incredere, CoAP foloseste diferite tipuri de mesaje si raspunsuri pentru confirmare.
 * Permite clientilor CoAP sa acceseze resurse pe servere HTTP printr-un proxy invers care translateaza status code-urile HTTP in coduri de raspuns CoAP folosind CoAPCHTTP.

Message queue telemetry transport (MQTT)
Message queue telemetry transport este un protocol de mesagerie lansat de IBM si standardizat in 2013 de OASIS. Protocolul MQTT este construit peste TCP si pune la dispozitie o conexiune optima si usoara pentru dispozitivele IoT. Un feature important este dat de suportul pentru dezvoltarea aplicatiilor si serviciilor distribuite. Fiecare client poate sa publice servicii si sa actioneaze ca un generator de date sau sa fie subscriber pentru datele livrate de alti clienti.

Protocolul MQTT asigura fiabilitate prin trei niveluri de QoS si are un overhead scazut, comparativ cu celelalte protocoale construite peste TCP. Este conceput pentru a utiliza o latime de banda mica a retelei si mai putine procesari de mesaje. Aceste lucruri prelungesc durata de viata a dispozitivelor IoT cu baterie. Permite mai multe tipuri de rutare: one-to-one, one-to-many, many-to-many.

Extensible messaging and presence protocol (XMPP)
Extensible messaging and presence protocol (XMPP) a fost standardizat pentru chat instant, apeluri video/audio. XMPP exista de peste un deceniu, astfel ca ii lipsesc cerintele necesare pentru a furniza servicii de chat necesare pentru noile aplicatii. Cu toate acestea, protocolul XMPP a recastigat o multime de atentie ca protocol de comunicare adecvat pentru aplicatii de mesagerie instant in domeniul de aplicare al IoT pentru urmatoarele motive:


 * Este construit peste TCP.
 * Pune la dispozitie diferite tipuri de sisteme de mesagerie: sincron (request/response) si asincron (publish/subscribe)
 * Este extensibil, permitand adaugarea de noi functionalitati pentru a fi utilizate prin protocolul XMPP extins.
 * Este un protocol sigur deoarece utilizeaza TLS/SSL. Mai mult, XMPP pune la dispozitie mai multe caracteristici pozitive pentru securitate, cum ar fi autentificare, masurarea confidentialitatii si controlul accesului.

Advanced message queuing protocol (AMQP)
Advanced message queuing protocol (AMQP) a fost conceput pentru a asigura fiabilitatea tranzactiilor financiare. Pentru a face schimb de mesaje, AMQP necesita un protocol de transport fiabil, cum ar fi TCP. AMQP este o optiune buna pentru aplicatiile orientate spre mesaje in IoT pentru caracteristicile sale, prezentate mai jos:


 * Pune la dispozitie comunicarea asincrona publish/subscribe.
 * Ofera caracteristica ‘store-and-forward’ pentru a asigura fiabilitatea chiar si dupa intreruperile retelei.
 * Este un protocol sigur, foloseste TLS/SSL peste TCP.
 * Asigura comunicare de incredere punand la dispozitie trei garantii de livrare a mesajelor: cel mult o data, cel putin o data, exact o data.
 * Poate trimite o cantitate foarte mare de mesaje pe secunda. S-a constatat ca AMPQ poate procesa 300 de milioane de mesaje pe zi intr-un mediu distribuit de 2000 de utilizatori.

Data distribution service (DDS)
Data distribution service (DDS) a fost proiectat pentru IoT in timp real si pentru comunicare M2M. DDS ofera multe caracteristici importante:


 * Este un protocol publish-subscribe.
 * Se bazeaza pe o arhitectura fara broker si utilizeaza multicasting pentru a asigura QoS si fiabilitate ridicata pentru aplicatii.
 * Sprijina fiabilitatea, securitatea, prioritatea si multe altele.

Conform, implementarea DDS poate fi redusa la dispozitive embedded sau la masini multicore high-end. DDS poate pune la dispozitie conectivitate real time, many-to-many, necesara pentru aplicatiile performante device-to-device. De asemenea, DDS este un protocol de mesagerie interoperabil pentru conectarea in timp real a retelelor de dispozitive la cloud.

Representational state transfer (REST)
Representational state transfer (REST) este un stil arhitectural software. Datorita faptului ca depinde foarte mult de HTTP, este uneori considerat un protocol. Acesta utilizeaza sincron metodele GET, POST, PUT si DELETE pentru a pune la dispozitie o abordare de mesagerie orientata spre resurse. REST joaca un rol important in IoT si M2M pentru diferitele sale caracteristici:


 * Este compatibil cu toate platformele comerciale cloud IoT si M2M.
 * Acesta poate fi implementat cu usurinta pe smartphone, deoarece necesita doar o biblioteca HTTP care exista in zilele noastre pe toate sistemele de operare.
 * Caracteristicile HTTP, cum ar fi autentificarea si caching-ul pot fi complet utilizate in REST.
 * Este sigur deoarece foloseste TLS/SSL.
 * Poate folosi atat formatul XML, cat si JSON pentru mesajele care sunt primite de diversi clienti.

Mai multe standarde si protocoale de nivel de sesiune (aplicatie)  utilizate in IoT au fost propuse in literatura de specialitate si au fost discutate pe scurt in aceasta sectiune. Potrvit, aceste standarde depind in totalitate de aplicatie si alegerea intre ele este strans legata de aplicatia dorita. MQTT este cel mai utilizat in IoT datorita nivelului general redus de consum de energie. Alegerea dintre aceste standarde este specifica organizatiei si aplicatiilor. De exemplu, daca o aplicatie a fost deja construita cu XML si poate, prin urmare, sa accepte mai multe informatii in header, XMPP ar putea fi cea mai buna optiune de ales dintre aceste protocoale. Pe de alta parte, daca aplicatia este sensibila la consumul de putere si nivelul de date, atunci alegerea MQTT ar fi cea mai buna optiune. Daca aplicatia necesita functionalitati REST, fiind bazata pe HTTP, atunci CoAP este cea mai buna solutie, daca nu singura.

Protocoale de descoperire a serviciilor
Pentru a utiliza pe deplin dispozitivele IoT, este nevoie de protocoale pentru a descoperi resursele si serviciile oferite de aceste dispozitive intr-un mod real, eficient si dinamic. Exista un numar diferit de protocoale pentru a ajuta in acest sens, dar cele mai raspandite sunt multicast Domain Name System (mDNS), DNS Service Discovery (DNS-SD) și Resource Directory (RD). Multe eforturi de cercetare au fost efectuate pentru a dezvolta si adopta versiuni usoare ale acestor protocoale pentru a servi in diferite medii IoT.

Multicast domain name system (mDNS)
Multicast domain name system (mDNS) descoperă resurse bazate pe un mecanism de request/response. Acesta trimite un mesaj multicast la toate nodurile din jur. Atunci cand un nod primeste numele sau in mesaj, face multicast la un mesaj de raspuns, inclusiv adresa sa IP. Apoi, toate nodurile actualizeaza tabelul lor de informatii cu numele dat si adresa IP. MDNS este o optiune buna pentru dispozitivele IoT datorita caracteristicilor sale:


 * Nu necesita reconfigurare manuala pentru a gestiona dispozitivele.
 * Este adaptabil, acesta continua sa functioneze in caz de orice esec din infrastructura.

DNS service discovery
DNS service discovery utilizeaza mDNS pentru a face multicast la mesajele standard prin UDP. Acest procest implica doi pasi mari: descoperirea numelor serviciilor necesare si asocierea adreselor IP acestor nume folosind mDNS. Acest protocol ofera multe beneficii:


 * Foloseste nume host impreuna cu IP-uri, deoarece acestea se pot schimba.
 * Pastreaza numele host-urilor constante cat mai mult timp pentru a creste increderea. De exemplu, daca un client cunoaste si foloseste un device specific azi, el sa fie capabil sa il reutilizeze si alta data fara nicio problema de incredere.
 * Nu are nevoie de foarte multe resurse.

Un dezavantaj major al mDNS, DNS-SD, este cache-ingul intrarilor.

Resource directory (RD)
Resource directory (RD) functioneaza ca un repository pentru a stoca link-urile web pentru resursele hostate pe device-urile inteligente si care pot fi accesate numai prin REST/CoAP. Prin urmare, nu necesita protocoale suplimentare pentru a-si indeplini activitatea. RD este organizat ca domenii de nume si subdomenii ca DNS, dar folosit CoAP in loc deDNS. Intrarile din RD sunt diferite fata de cele din DNS traditional, neavand o stare. Ca rezultat, acestea au nevoie de a primi date noi de la obiectele inteligente. Utilizarea RD ofera o abordare similara cu DNS-SD pentru a efectua interogarea, dar pe baza descrierii resurselor gazduite, a atributelor, a relatiilor si a parametrilor acestora prin formatul REST restrans. Acest protocol ofera functionalitatile de creare, updatare, stergere pentru a mentine intrarile din director

Protocoale de infrastructura
In lumea IoT, protocoalele de infrastructura sunt necesare pentru a stabili infrastructura de comunicare necesara pentru a sprijini activitatea diferitelor aplicatii si servicii IoT. In aceasta sectiune, vor fi examinate cele mai proeminente protocoale de infrastructura.

Routing over low power and lossy networks (ROLL)
Routing over low power and lossy networks (ROLL) este interesata de scenariile IoT. Recent, s-a dezvoltat protocolul de rutare pentru retelele cu energie redusa sau cu pierderi(RPL), care este de asteptat sa fie una dintre optiunile speciale pentru rutare in IoT. Principale caracteristici ale RPL sunt:


 * Suporta cerinte minimale pentru rutare peste legaturile slabe.
 * Suporta diferite modele de trafic (point-to-point, point-to-multipoint, si multipoint-to-point)
 * Mentine cel putin cate o cale catre radacina pentru fiecare nod pentru a efectua cautari rapide.
 * Accepta doua moduri de operare: moduri de stocare si non-stocare.

IPv6 for low power wireless personal area networks
IPv6 for low power wireless personal area networks este dezvoltat pentru a face protocolul IPv6 compatibil cu dispozitivele care au o capacitate a puterii mica. 6LoWPAN combina un set de mai multe protocoale care faciliteaza procesul de integrare a nodurilor de senzori in retelele IPv6. Prinicpalele caracteristici ale 6LoWPAN sunt:


 * Pune la dispozitie compresia header-ului pentru a reduce suprasolicitarea transmisiei.
 * Pune la dispozitie tehnici de fragmentare pentru indeplinirea cerintei maxime a unitatii de transmisie in IPv6.
 * Ofera redirectionarea catre link layer pentru a sustine livrarea multi-hop.

EPCglobal
EPCglobal este o initiativa a oragnizatiei de standarde GS1. Prinicpalele obiective ale protocolului EPCglobal este sa sprijine adoptarea pe scara larga a unui identificator unic de produs electronic (EPC) si sa utilizeze tehnologii RFID si wireless pentru a permite conectarea la internet a dispozitivelor utilizate zilnic.

Martin Lorenz et. al descriu in importanta acestui framework arhitectural. Framework-ul EPCgobal este un concept care descrie o retea wireless de senzori autoconfigurabila al carei scop este de a oferi obiectelor un mijloc de a se interconecta si de a interactiona. Pe baza acestei idei, reteaua EPC defineste sisteme de informatii protocoale de comunicare si tipuri de date care sustin captarea, stocarea si schimbul de date EPC intre participantii la o retea.

Unique/universal/ubiquitous identifier (UID)
Unique/universal/ubiquitous identifier (UID)  este utilizat pentru a indentifica in mod unic obiecte si locuri din lumea reala pentru a putea fi accesate cu usurinta. Acesti identificatori unici ajuta solutiile care utilizeaza UID sa asigure vizibilitatea globala a obiectelor si a locurilor.

Desi nu sunt cu adevarat unice, unii identificatori de acest tip pot fi adecvati pentru identificarea dispozitivelor in multe aplicatii practice si sunt, cu abuz de limbaj, inca denumite coduri “unice” alocate prin alegere si sunt fortate sa ramana unice prin utilizarea unui registru central, cum ar fi serviciile de informare EPC. Metodele de genereare a acestor id-uri pot fi combinate, ierarhic sau individual, pentru a crea alte scheme de generare a id-urilor care sa garanteze unicitatea. In multe cazuri, un obiect poate avea mai multi identificatori unici, fiecare fiind utilizat pentru identificarea intr-un anumit scop.

Bluetooth low-energy (BLE)
Bluetooth low-energy (BLE) a fost dezvoltat in principal pentru a sprijini aplicatiile noi IoT din healthcare, divertismentul la domiciliu si al altor domenii care nu necesita un nivel ridicat de transmisie a datelor. BLE a fost adoptat rapid de catre producatorii de smartphone-uri si este acum disponibil pentru cele mai recente versiuni ale acestora. In prezent, multe sisteme de operare mobile existente, precum Android si iOS, accepta standardul BLE:


 * Foloseste unde radio cu distanta scurta cu o cantitate minima de putere, comparativ cu Bluethoot traditional.
 * Raza de acoperire este de aproximativ 100m, comparativ cu a 10m in cazul Bluethoot traditional.
 * Latenta este de 15 ori mai scurta decat traditionalul Bluethoot.
 * Ofera doua moduri de operare pentru dispozitive: slave sau master intr-o topologie star.

Z-Wave
Z-Wave este un protocol wireless care a imbunatatit automatizarea in medii rezidentiale si usoare. Scopul acestui protocol este de a permite unei unitati de control sa trimita mesaje scurte, fiabile, catre unul sau mai multe noduri din reteaua IoT pentru a efectua procese de automatizare. Ofera numeroase caracteristici:


 * Este un protocol de comunicare wireless de mica putere.
 * Acopera o comunicare point-to-point pe o raza de 30m.
 * Suporta evitarea coliziunilor de date.
 * Ofera transmisiune de incredere prin utilizarea mesajelor ACK.

Z-Wave este un protocol bazat pe wireless care este utilizat in principal pentru casele inteligente. Este reprezentat de o retea mesh, care foloseste unde radio care folosesc putina energie. Ca toate celelalte protocoale destinate utilizarii pe piata de case inteligente si birouri inteligente, un sistem Z-Wave poate fi controlat de la distanta prin internet de pe un telefon, tableta sau alt dispozitiv inteligent, sau din apropiere printr-un speaker inteligent sau panou de control.

Zig-Bee Smart Energy
Potrivit, ZigBee este unul dintre cele mai utilizate standarde in IoT care este dedicat pentru comunicarea pe raze medii in casele inteligente, control de la distanta si asistenta medicala. Topologiile utilizate sunt: topologia star, peer-to-peer sau tree-cluster. Un coordonator controleaza reteaua si poate fi localizat in centrul topologiei star, oriunde intr-o topologie peer-to-peer, sau ca radacina a unui arbore intr-o topologie cluster. Standardul ZigBee defineste doua profiluri de stiva: ZigBee si ZigBee-Pro. Aceste profiluri accepta mesh networking complet si lucreaza cu diferite aplicatii, permitand implementari cu memorie redusa si putere de procesare mica. ZigBee-Pro ofera mai multe caracteristici, incluzand securitate cu schimb de chei simetrice, scalabilitate si performanta imbunatatita.

Tehnologia 5G
Daniel Minoli et.al detaliaza in impactul pe care il are tehnologia 5G asupra IoT si alte aspecte ale integrarii retelelor 5G si ale aplicatiilor IoT in mediile oraselor inteligente.

Sistemul 5G extinde mediul 5G adaugand capabilitati New Radio (NR), dar procedand astfel incat LTE si NR sa poate evolua in moduri complementare. Dupa cum s-ar putea imagina, un sistem 5G implica dispozitive conectate la o retea de acces 5G, care la randul sau este conectata la o retea de baza 5G. Reteaua de acces 5G poate incldue statii de baza radio 3GPP (3rd Generation Partnership Project)  si/sau o alta retea non-3GPP. Reteaua principala 5G ofera imbunatatiri majore in comparatie cu un sitem 4G in zona de “transare” a retelei si a arhitecturii bazate pe servicii. In special, nucleul 5G este conceput pentru a sprijini implementarea cloud si IoT. Sistemele 5G subsumeaza concepte importante ale sistemului 4G, cum ar fi:


 * capabilitatile de economisire a energiei ale radiourilor IoT cu banda ingusta (NB-IoT)
 * transmisia sigura de date mici cu latenta scazuta pentru dispozitivele cu putere mica
 * dispozitive care salveaza energia prin intrarea in stare de sleep.

Mai multe moduri de evolutie pot fi luate in considerare de catre furnizorii de servicii (inclusiv furnizorii de servicii IoT) pentru a atinge o configuratie tinta folosind 5G. Aceasta evolutie poate dura chiar si 10 ani.

Beneficiile IOT pe urma 5G :


 * Posibilitatea de a avea mai multe dispozitive interconectate intr-o retea.
 * Viteze mari de transfer a datelor. Succesul pe piata a solutiilor IoT este strans leata de performanta, care este strans legata de viteza de comnicare cu alte dispozitive IoT, telefoane, tablete si alte implementari software. Prin 5G, transferul de date va fi de 10 ori mai rapid ca in retelele LTE curente. Spre exemplu, in cazul dispozitivelor pentru case inteligente, cresterea vitezei de comunicare va reduce intarzierile (lag) si va imbunatati reactia si notificarile. Pe langa acestea, toate dispozitivele IoT vor beneficia, inclusiv cele din healthcare si din aplicatiile din industrie.
 * Incredere crescuta in retea. In plus fata de viteza crescuta, retelele 5G pot opera cu mai multa incredere si pot crea conexini mult mai stabile. Este foarte important sa avem retele de incredere si stabile pentru dispozitivele IoT, mai ales pentru incuietori de usi inteligente, camere de supraveghere si alte sisteme de monitorizare care depind de update-uri in timp real.
 * Includerea 5G in IoT poate avea ca impedimente pregatirea retelei, trecerea treptata la 5G si pastrarea functionalitatilor existente, asigurarea interoperabilitatii datelor, si stabilirea modelelor de business 5G.

Protocoale de Influenta
Protocoalele de influenta sunt protocoale si mecanisme care influenteaza acceptabilitatea IoT in ceea ce priveste confidentialitate, securitatea, interoperabilitatea si multe altele. Standardizarile trebuie considerate o parte importanta si critica a procesului de definire si dezvltare a IoT. S-au realizat multe eforturi de cercetare si colaborare pentru a realiza diferite aspecte ale IoT. Cu toate acestea, fara un efort global pentru procesul de standardizare, IoT nu poate atinge o scara gloala. Standardizarea domeniilor este inca la inceput. Prin urmare, numai prin efort si colaborare se poate adopta intr-un final o solutie IoT completa.

Comoditatea Consumatorului
Multe produse IoT “entry-level” se incadreaza fara probleme in activitatile de zi cu zi pentru simplificarea sarcinilor de rutina. Gasirea cheilor, deblocarea usii, aprinderea si oprirea luminilor -  aceste obiceiuri pot fi automatizate cu senzori si software-uri inteligente. O casa cu adevarat inteligenta are o multitudine de dispozitive care iti stiu preferintele, anticipeaza nevoile tale si raspund dinamic la comportamentul tau astfel incat tu sa petreci mai putin timp gestionand setari din casa si mai mult timp traind in ea.

Incuietori inteligente pentru usi
Un exemplu bun in acest caz este August Pro 3rd Gen with Connect care permite deschiderea usilor de la distanta, printr-o comanda a a telefonului.

Trackere inteligente
Sunt dispozitive mici care pot fi atasate de lucruri importante (chei, posete, telecomenzi) si care ajuta la gasirea acestora. Multe dintre aceste dispozitive folosesc Bluethoot cu raza scurta. In cazul in care  ai uitat cheile sau nu gasesti telecomanda, pot scoate sunete pentru a semnala locatia. Alte dispozitive care folosesc GPS, pot sa trimita locatia de oriunde de pe Pamant. Un astfel de dispozitiv este Tile care vine in diferite dimensiuni petru a indeplini cerinte diferite.

Aplicatii pentru case inteligente
In aceasta gama sunt incluse aparatele de aer conditionat care pot fi comandate de la distanta, dar si aparatele casnice din bucatarie. Un exemplu bun in acest caz este cuptorul inteligent de la Bosch. Acesta vine impreuna cu aplicatia “Home Connect”  care te ajuta sa programezi cuptorul de la distanta.

Smart Energy si Salvarea resurselor
In lupta pentru utilizarea a cat mai putine resurse, unele produse IoT sunt facute sa ajute la diminuarea costurilor energiei electrice sau a apei. Dispozitivele IoT inteligente pot sa urmareasca consumul de resurse si sa afiseze in timp real consumul acestora. Ajuta la automatizarea operatiilor pentru lumini, incalzire/racire si a altor functii pentru a reduce consumul.

In aceasta categorie intra prizele inteligente, cum ar fi Wemo Mini Smart Plug care te ajuta sa diminuezi energia consumata de produsele aflate in stand-by. Permite aprinderea si stingerea dispozitivelor de la distanta, folosind conexiunea la internet, si permite setarea de reguli automate care sa se adapteze la obieceiurile tale.

Pentru gradina, exista controllere care permit irigarea “inteligenta” cu stropitori. Acestea ajuta la diminarea consumului de apa si permit programarea de la distanta a pornirii/opririi irigatului atunci cand umiditatea a atins o anumita valoare.

IoT pentru intreprinderi
IoT are multe de oferit intreprinderilor, atat firmelor tehnice care doresc sa se implice in actiuni, cat si pentru numeroasele industrii care sunt transformare prin injectarea de dispozitive inteligente conectate in procesele de productie, lanturi de furnizare, urmarirea performantei si alte domenii. Companiile trebuie sa profite din plin de dispozitivele IoT si platoformele si instrumentele IoT pentru a construi modele de afaceri care vor prospera intr-o lume conectata.

Spre exemplu, IoT isi gaseste utilitate si in Blockchain. IoT Chain (ITC) este dezvoltat ca un sistem de operare care utilizeaza conceptul de blockchain si permite datelor sa fie stratificate si pastrate intr-o maniera decentralizata si oferind protectie prin combinarea a milioane de noduri IoT din retea.

Securitatea aplicatiilor IoT
Securitatea este un element cheie in sistemele IoT si aceasta nu ar trebui sa reprezinta o constrangere in lansarea de noi servicii. Cisco ofera solutii pentru protejarea datelor in aplicatiile IoT. Cisco introduce o arhitectura de securitate cuprinzatoare pentru IoT si imbunatateste disponibilitatea, increderea si siguranta in mediile operationale, in timp ce simplifica transmisia datelor spre cloud.

Destinata in mod exclusiv firmelor, solutia de securitate Atos ofera un avantaj firmelor pentru securizarea aplicatiilor IoT.

O solutie convenabila pentru utilizatori este Bitdefender Box. Acesta promite sa protejeze intreaga retea a casei, impreuna cu dispozitivele IoT. Blocheaza malware-ul, impiedica furtul de parole, al identitatii si atacurile malitioase pe toate dispozitivele interconectate la internet.