tesi magistrale 2014

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

Upload: mirko-mancin

Post on 04-Jun-2015

348 views

Category:

Engineering


7 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Tesi Magistrale 2014

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

Page 2: Tesi Magistrale 2014

Introduzione

Internet of Things (IoT) = Infrastruttura di rete globale e dinamica con capacità di

auto-configurazione che conterà decine di miliardi di dispositivi eterogenei sempre connessi

Gartner says the Internet of Things Installed Base will grow to 26 Billion units by 2020

Scenari applicativi dell’IoT

Page 3: Tesi Magistrale 2014

Eterogeneità

Connect All IP-based Smart Objects

• Nuovi metodi per raggiungere bassissimo consumo energetico e garantire l’interoperabilità

• Utilizzo dello stack protocollare fornito da IPv6

• Nuovi protocolli “lightweight” (ad es. CoAP/UDP)

Page 4: Tesi Magistrale 2014

Smart Objects

Caratterizzati da:

• Alto rate di 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-power and Lossy Networks (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”

Page 5: Tesi Magistrale 2014

Extended Internet

L’IoT Hub rappresenta un ponte tra Internet e Internet of Things

Page 6: Tesi Magistrale 2014

IoT Hub

Svolge un ruolo centrale e fondamentale all’interno di una rete IoT locale e come ponte tra Internet e Internet of Things

Local Hub

• Semplifica l’interazione e la comunicazione tra nodi e servizi eterogenei all’interno e all’esterno della rete.

• Dispositivo con risorse di calcolo maggiori rispetto ad uno Smart Object e non presenta vincoli di basso consumo.

• Offre alcuni servizi essenziali ed altri opzionali, in base allo scenario d’utilizzo come ad esempio servizi di storage/caching, di proxy, di origin server, ecc.

• Possibilità di accedere in modo trasparente, sicuro e standard ad uno o più IoT Hub

• Focus sulle risorse e sui dati senza preoccuparsi dei dettagli della rete

Page 7: Tesi Magistrale 2014

Obiettivi:

• Progettazione di un nuovo livello di astrazione per le reti IoT esistenti

• Clonare e virtualizzare gli 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

Page 8: Tesi Magistrale 2014

L’Architettura Generale

Remote Hub a

Hub

Replica Manager

Cloud Access Control

Broker

VPNLocal Hub a

Smart Objects

HubHubLocal Hub

HubRemote Hub

MQTT

Comunicazione con gli Hub

Page 9: Tesi Magistrale 2014

Use Cases - Polling

Cloud Access Control

Smart Object(Server)

Cloud IoT Hub

“select”

Cloud IoT Hub

Cloud IoT Hub

IoT Hub

“polling”

VPN

RichiestaRisposta

• Client vuole avere informazioni da uno specifico Smart Object

• Lo Smart Object viene interrogato in polling dall’IoT Hub.

• I meccanismi di sincronizzazione degli Hub aggiornano i dati sul Cloud

Page 10: Tesi Magistrale 2014

Use Cases - Observing

Cloud Access Control

Cloud IoT Hub

“select”

Cloud IoT Hub

Cloud IoT Hub

IoT Hub

“polling”

VPN

RichiestaRisposta

Smart Object(Server)

“observing”- proxy -

• Client vuole osservare una specifica risorsa offerta da uno Smart Object

• Il Client effettua una singola richiesta allo Smart Object dichiarando il proprio interesse per la risorsa

• Lo Smart Object risponde alla prima richiesta all’IoT Hub Locale.

• L’Hub locale si sincronizza con il suo clone in Cloud che provvederà a rispondere alla richiesta originale

• Ad ogni variazione delle risorsa lo Smart Object invierà un messaggio al suo Hub che sincronizzandosi con

il proprio clone inoltrerà il messaggio al Client interessato.

Page 11: Tesi Magistrale 2014

Use Cases - Pushing

Cloud IoT Hub

Cloud IoT Hub

Cloud IoT Hub

IoT Hub

“polling”

VPN

Smart Object(Client)

“pushing”

• Lo SmartObject si comporta come un client:

Non detiene le risorse localmente

Pubblica i dati sull’IoT Hub

• I dati aggiornati vengono sincronizzati con il Cloud automaticamente.

• Le risorse salvate e sincronizzate sono disponibili per i client esterni interessati

Page 12: Tesi Magistrale 2014

L’Architettura Cloud

Replica Manager

Cloud Access Control

La piattaforma Cloud per il sistema sviluppato è stata realizzata tramite l’utilizzo

della suite Open Source OpenStack

I servizi e moduli che sono stati progetti e sviluppati lato Cloud sono:

• 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

• Cloudify Module, per l’analisi delle metriche relative al Cloud

Remote Hub

Broker

Local Hub

MQTT

Page 13: Tesi Magistrale 2014

Il Protocollo di Sincronizzazione

• Lo scambio viene garantito in due fasi tramite uno scambio di messaggi secondo

il protocollo 2PC (2 Phase Protocol Commit)

• Il protocollo è indipendente dal tipo di agente che lo esegue (non c’è distinzione

tra Hub locali e remoti)

• Il protocollo è stato incapsulato tramite il protocollo MQTT

• Ogni variazione nella lista delle risorse viene notificata dall’Hub sorgente a quello

destinatario

• All’arrivo di una nuova risorsa da sincronizzare, l’Hub ricevente “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

Page 14: Tesi Magistrale 2014

• Dongle USB: ha come obiettivo la riduzione dei costi provenienti dall’acquisto di nodi general purpose che sfruttano tale

protocollo e per permettere di avere dei dispositivi plug&play da utilizzare in diversi scenari applicativi (IoT Hub/Gateway

e/o dei nodi “foglia” da inserire all’interno di una rete esistente).

• Shield “Arduino-like”: consente di avere accesso a tutti i pin disponibili del microcontrollore ed interfacciarsi per esempio

ad un Arduino o ad un’altra scheda esterna per la gestione della parte di sensing.

Al progetto hanno lavorato anche:

Ing. Giovanni Franco (Professore del corso di Costruzioni Elettroniche)

Alessandro Padovani, Studente Ingegneria Elettronica

Andrea Picchi, Studente Ingegneria Elettronica

Nicola Pignoloni, Studente Ingegneria Elettronica

Eduard Ionut Chirica, Studente Ingegneria Elettronica

Gli Smart Object sviluppati

Page 15: Tesi Magistrale 2014

Conclusioni

Sviluppo di un'architettura per raggiungere una rete IoT in remoto “virtualizzando” le funzionalità della rete fisica.

Il Cloud rende fruibili i servizi ubiquitari.

L’architettura realizzata si compone quindi dei seguenti elementi:

• Una rete IoT con differenti Smart Object;

• Il Cloud che ospita diverse istanze di macchine virtuali che costituiscono le virtualizzazioni degli IoT Hub;

• Un protocollo di sincronizzazione che tiene sincronizzati gli Hub (locale e remoto)

• Un server REST che tramite delle API, interagisce con il Cloud e visualizza le diverse risorse disponibili grazie alla

presenza degli IoT Hub remoti

Il tutto è stato validato e testato per garantire il funzionamento e l’interoperabilità tra i diversi elementi.

Page 16: Tesi Magistrale 2014

Sviluppi Futuri

• Integrare l’architettura proposta in un testbed reale per poter far misurazioni di latenza e performance rispetto al

carico di rete

• Aggiungere opportuni livelli di sicurezza e di autenticazione/autorizzazione per permette l’accesso al Cloud e agli Hub

in modo sicuro

• Creazione di una serie di API per 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.

Page 17: Tesi Magistrale 2014

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