Tesi magistrale in ingegneria informatica
Progettazione e sviluppo di un gateway per la gestione efficiente a servizi e risorse per l'accesso locale e remoto in scenari di Internet of Things attraverso tecniche di Cloud Computing
1. PROGETTAZIONE E SVILUPPO DI UN GATEWAY PER LA GESTIONE EFFICIENTE E L’ACCESSO A SERVIZI E RISORSE LOCALI E REMOTE
IN SCENARI DI INTERNET OF THINGS ATTRAVERSO
TECNICHE DI CLOUD COMPUTING
DESIGN AND IMPLEMENTATION OF A GATEWAY FOR THE EFFICIENT MANAGEMENT AND ACCESS TO LOCAL AND REMOTE SERVICES AND RESOURCES IN INTERNET OF THINGS SCENARIOS THROUGH CLOUD COMPUTING TECHNIQUES
Relatore:
Chiar.mo Prof. Simone Cirani
Correlatore:
Dott. Ing. Marco Picone
Tesi di Laurea Magistrale di:
Mirko Mancin
2. Introduzione
Internet of Things (IoT)= Infrastruttura di rete globale e dinamica con capacità di
auto-configurazione che conterà decine di miliardi di dispositivieterogeneisempre connessi
Gartner says the Internet of Things Installed Base will grow to 26 Billion units by 2020
Scenari applicativi dell’IoT
3. Eterogeneità
Connect All IP-based Smart Objects
•Nuovi metodi per raggiungere bassissimo consumo energeticoe garantire l’interoperabilità
•Utilizzo dello stackprotocollare fornito da IPv6
•Nuovi protocolli “lightweight” (ad es. CoAP/UDP)
4. Smart Objects
Caratterizzati da:
•Alto ratedi pacchetti brevi
•CPU dimensionata in base alle esigenze di elaborazione
•Accesso e memorizzazione efficiente dei dati
Come può essere usato
•Reti di sensori a basso consumo, chiamate anche Low-powerand LossyNetworks(LLN)
•In reti che supportano per IPv6 tramite 6LoWPAN
Esempio di uno
smart object sviluppato
“Uno Smart Object è un dispositivo con una propria capacità elaborativa, periferiche di I/O ed interfacce di rete che permettono una connessione sia a Internet (tramite IP) sia con altri oggetti simili”
6. IoTHub
Svolge un ruolo centrale e fondamentaleall’interno di una rete IoT localee come ponte tra Internet e Internet of Things
Local Hub
•Semplifica l’interazione e la comunicazionetra nodi e servizi eterogenei all’interno e all’esterno della rete.
•Dispositivo con risorse di calcolo maggioririspetto ad uno Smart Object e non presenta vincoli di basso consumo.
•Offre alcuni servizi essenzialied altri opzionali, in base allo scenario d’utilizzo come ad esempio servizi di storage/caching, di proxy, di originserver, ecc.
•Possibilità di accedere in modo trasparente, sicuroe standardad uno o più IoTHub
•Focus sulle risorsee sui datisenza preoccuparsi dei dettagli della rete
7. Obiettivi:
•Progettazionedi un nuovo livello di astrazioneper le reti IoT esistenti
•Clonare e virtualizzaregli Hub locali per la gestione trasparente delle risorse in Cloud
•Soluzione per accesso remoto trasparente
Lo scopo è creare un’architettura:
•Scalabile
•Affidabile
•Performante
Obiettivi della Tesi
8. L’Architettura Generale
Remote Hub a
Hub
Replica Manager
Cloud Access Control
Broker
VPN
Local Hub a
Smart Objects
Hub
Hub
Local
Hub
Hub
Remote Hub
MQTT
Comunicazione
con gli Hub
9. Use Cases -Polling
Cloud Access Control
Smart Object
(Server)
Cloud IoT Hub
“select”
Cloud IoT Hub
Cloud IoT Hub
IoT Hub
“polling”
VPN
Richiesta
Risposta
•Client vuole avere informazioni da uno specifico Smart Object
•Lo Smart Object viene interrogato in polling dall’IoTHub.
•I meccanismi di sincronizzazione degli Hubaggiornano i dati sul Cloud
10. Use Cases -Observing
Cloud Access Control
Cloud IoT Hub
“select”
Cloud IoT Hub
Cloud IoT Hub
IoT Hub
“polling”
VPN
Richiesta
Risposta
Smart Object
(Server)
“observing”
-proxy -
•Client vuole osservareuna specifica risorsa offerta da uno Smart Object
•Il Client effettua una singola richiesta allo Smart Objectdichiarando il proprio interesseper la risorsa
•Lo Smart Object risponde alla prima richiestaall’IoTHubLocale.
•L’Hublocale si sincronizzacon il suo clone in Cloudche provvederà a rispondere alla richiesta originale
•Ad ogni variazione delle risorsalo Smart Object invierà un messaggio al suo Hubche sincronizzandosi con il proprio clone inoltrerà il messaggio al Client interessato.
11. Use Cases -Pushing
Cloud IoT Hub
Cloud IoT Hub
Cloud IoT Hub
IoT Hub
“polling”
VPN
Smart Object
(Client)
“pushing”
•Lo SmartObjectsi comporta come un client:
Non detiene le risorse localmente
Pubblicai dati sull’IoTHub
•I dati aggiornati vengono sincronizzati con il Cloudautomaticamente.
•Le risorse salvate e sincronizzate sono disponibili per i client esterni interessati
12. L’Architettura Cloud
Replica Manager
Cloud Access Control
La piattaforma Cloudper il sistema sviluppato è stata realizzatatramite l’utilizzo della suite Open Source OpenStack
I servizi e moduli che sono stati progetti e sviluppati lato Cloudsono:
•Replica Manager, per la gestione delle repliche degli IoT Hub
•Broker per la comunicazione tra gli Hub con protocollo MQTT secondo il pattern Publish/Subscribe
•Servizi REST, per il controllo e la gestione degli accessi dall’esterno
•CloudifyModule, per l’analisi delle metriche relative al Cloud
Remote Hub
Broker
Local Hub
MQTT
13. Il Protocollo di Sincronizzazione
•Lo scambio viene garantito in due fasi tramite uno scambio di messaggi secondo il protocollo 2PC(2 PhaseProtocolCommit)
•Il protocollo è indipendente dal tipo di agente che lo esegue (non c’è distinzione tra Hublocali e remoti)
•Il protocollo è stato incapsulato tramite il protocollo MQTT
•Ogni variazione nella lista delle risorse viene notificata dall’Hubsorgente a quello destinatario
•All’arrivo di una nuova risorsa da sincronizzare, l’Hubricevente “manda in loopback” il messaggio entrante emulando quindi l’arrivo di un pacchetto tradizionale e lasciando inalterato il flusso operativo di gestione delle risorse
Remote Hub
Broker
Local Hub
MQTT
Local Hub
Remote Hub
16. Sviluppi Futuri
•Integrare l’architetturaproposta in un testbed realeper poter far misurazioni di latenza e performance rispetto al carico di rete
•Aggiungere opportuni livelli di sicurezza e di autenticazione/autorizzazioneper permette l’accesso al Cloud e agli Hub in modo sicuro
•Creazione di una serie di APIper la gestione unica del Cloud senza ricorrere alle dashboard OpenStack e Cloudify. Con tale servizio è possibile per esempio integrare nuove funzionalità quali interfacce custom, integrazione di un’App ad-hoc per dispositivi mobile, ecc.
17. PROGETTAZIONE E SVILUPPO DI UN GATEWAY PER LA GESTIONE EFFICIENTE E L’ACCESSO A SERVIZI E RISORSE LOCALI E REMOTE
IN SCENARI DI INTERNET OF THINGS ATTRAVERSO
TECNICHE DI CLOUD COMPUTING
DESIGN AND IMPLEMENTATION OF A GATEWAY FOR THE EFFICIENT MANAGEMENT AND ACCESS TO LOCAL AND REMOTE SERVICES AND RESOURCES IN INTERNET OF THINGS SCENARIOS THROUGH CLOUD COMPUTING TECHNIQUES
Relatore:
Chiar.mo Prof. Simone Cirani
Correlatore:
Dott. Ing. Marco Picone
Tesi di Laurea Magistrale di:
Mirko Mancin