La gestione remota dei dispositivi embedded

OMA LWM2M (Lightweight M2M) è uno standard di comunicazione specificato da OMA (Open Mobile Alliance) appositamente per l’industria del M2M (machine-to-machine) e dell’ IoT (Internet of Thing); in particolare è stato studiato per eseguire la gestione remota, sia dal punto di vista di configurazione che applicativo, di una vasta gamma di dispositivi embedded connessi.
Il mercato dell’industria M2M è composto da diversi segmenti (automotive, smart city, building automation, smart energy, agriculture, security and safety, health, etc.), nei quali il numero di dispositivi connessi è in crescita esponenziale. Anche se gli use case sono naturalmente diversi, tutti condividono la necessità non solo di dover far comunicare piattaforme in rete e dispositivi remoti attraverso una varietà di reti di comunicazione, ma anche di gestirne la configurazione e controllarne le funzionalità: i nuovi scenari applicativi, infatti, richiedono di poter operare remotamente su questi dispositivi per accenderli e spegnerli, configurarne i parametri di funzionamento, installare applicazioni e servizi, monitorarne il funzionamento, raccoglierne i dati, correggere eventuali problemi e così via.
Questi scenari sono al momento coperti da una pletora di tecnologie proprietarie, con il conseguente problema di diffusione, di interoperabilità e di alto costo. D’altro canto, gli standard storicamente definiti per la gestione remota degli apparati, dai router broadband della rete fissa agli smartphone, non sono particolarmente adatti per il parco dispositivi connessi in espansione, ovvero quelli con risorse limitate. Tradizionalmente il mercato M2M ha sempre pensato che gli “end-device” (sensori, attuatori, etc) fossero collegati in reti locali low power (ZigBee e Z-Wave, ad esempio) e che poi “uscissero” su Internet per raggiungere la piattaforma applicativa attraverso un dispositivo cellulare o un gateway. Negli ultimi anni, tuttavia, la tendenza è stata quella di collegare tali dispositivi direttamente alla rete Internet, ad esempio attraverso IPv6 over Low Power Wireless (6LoWPAN) che, definito da IETF, consente di collegare dispositivi low-power wireless o wired, come ad esempio i PLC.
Questi protocolli sono disegnati per il trasporto di payload molto contenuti (meno di 127 byte) e i dispositivi hanno generalmente risorse limitate, ad esempio di memoria (e.g. 16 kB di RAM e 128 kB di Flash), di computing o di batteria.
OMA LWM2M nasce con l’obiettivo specifico di permettere la gestione remota dei dispositivi “a risorse limitate” e si caratterizza per quattro caratteristiche fondamentali:

  1. è disegnato per implementare l’architettura REST;
  2. è pensato per l’utilizzo di un data model estensibile basato sul concetto di risorsa REST;
  3. è progettato per adattarsi alle performance dei dispositivi “resource constrained”;
  4. è basato sul riuso del CoAP (Constrained Application Protocol) definito da IETF come variante di HTTP per i dispositivi IoT low-cost.

OMA LWM2M definisce il protocollo di comunicazione tra un server, tipicamente ospitato in un data center pubblico o privato e gestito da un M2M Service Provider, un Network Provider o un Application Provider, ed un client che risiede sul dispositivo ed è generalmente integrato in librerie software o funzioni native del sistema operativo.

 

Figura A - La relazione tra LWM2M Client e LWM2M Server

Il protocollo si compone di quattro interfacce (“Bootstrap”, “Device Discovery and Registration”,  “Device Management and Service Enablement” e “Information Reporting”) implementate su uno stack protocollare che usa IETF CoAP (Constrained Application Protocol) come protocollo di trasporto su UDP e SMS. In maniera analoga a HTTP, CoAP definisce gli header, i codici di richiesta/risposta, gli attributi e i meccanismi di ritrasmissione, contenendo le dimensioni dell’overhead di messaggio, riducendo la frammentazione, supportando il multicast; a differenza di HTTP, i messaggi COAP sono scambiati in maniera asincrona su un trasporto datagram-oriented quale l’UDP. Inoltre il messaggio CoAP è codificato in formato binario, permettendo un overhead minimo di 4 byte, quindi adatto a dispositivi resource-constrained.
La parte di sicurezza della comunicazione, ovvero la garanzia di un canale sicuro tra Server e Client, è assicurata dall’implementazione dello standard DTLS (Datagram Transport Layer Security), sia in modalità preshared key sia public key technology.

 

Figura B - Il protocollo di comunicazione

OMA LWM2M definisce le funzionalità di provisioning e bootstrapping, che permettono al Server di gestire le chiavi, il controllo di accesso e la sicurezza nella fase di pairing tra server e client; iI data model, inoltre, è organizzato in modo tale che le informazioni sono rese disponibili in forma di “risorse REST” organizzate a loro volta in “oggetti”: ad esempio, ogni dispositivo contiene l’oggetto “Firmware” che riassume le risorse usate per aggiornare il firmware.
Gli oggetti definiti all’interno della prima release dello standard LWM2M coprono:

  • Security & Access Control: per gestire gli aspetti di sicurezza tra server e client e l’accesso ai dati;
  • Device: informazioni specifiche sul device;
  • Firmware: per la gestione e gli aggiornamenti del firmware;
  • Location: per la gestione delle informazioni sulla posizione e sulla localizzazione del dispositivo;
  • Connettività: per la gestione e il monitoraggio delle risorse legate alla connettività, allo stato delle connessioni e delle relative statistiche.

L’astrazione tra il protocollo di trasferimento e il data model offre l’indubbio vantaggio di poter estendere la base dati in maniera illimitata, ovvero definendo a posteriori oggetti e risorse per coprire le caratteristiche fisiche e applicative più disparate. Tali estensioni possono essere specificate anche da altri soggetti diversi da OMA: ad esempio IPSO Alliance ha già definito una lista di oggetti compatibili con LWM2M per scopi legati alle applicazioni smart city. In realtà qualsiasi organizzazione o azienda può creare nuovi oggetti compatibili con OMA LWM2M: OMA mantiene un sito pubblico (registry) dove questi oggetti possono essere registrati e catalogati.
Dalla diffusione di OMA LWM2M si attendono i seguenti benefici per l’intera catena dell’industria M2M:

  • riduzione della frammentazione nell’area della gestione remota dei dispositivi M2M, abilitando soluzioni plug-and-play e la diversificazione della varietà di dispositivi e servizi gestibili;
  • crescita del mercato M2M in vari segmenti, specialmente quelli per i quali è necessario che il costo del device sia bassissimo al fine di mantenere business model sostenibili;
  • riduzione del time-to-market di nuove applicazioni e sistemi;
  • riduzione dei costi e della complessità dell’interfacciamento tra i device M2M e le piattaforme server (e cloud), con una conseguente facilitazione dell’innovazione su entrambi i fronti;
  • aumento dell’offerta di device connessi e piattaforme di gestione interoperabili.

Quando uno standard viene creato, occorre un certo tempo per ottenere una penetrazione significativa nel mercato di riferimento; nel caso del OMA LWM2M, esistono già una serie di soluzioni commerciali messe in campo da server provider e produttori di moduli M2M (es. ARM). Anche il mondo open source si è adoperato per la distribuzione di soluzioni sia server (ad esempio Eclipse Foundation) che client.
L’ecosistema, quindi, è in movimento; OMA, dal canto suo, continua a lavorare sulla nuova versione del protocollo, ma nel mentre opera anche come riferimento per la registrazione degli oggetti definiti anche terze parti ed organizza Test Fest per la verifica pratica dell’interoperabilità delle varie implementazioni.

 

Torna all'articolo