SlideShare a Scribd company logo
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
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
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)
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”
Extended Internet 
L’IoTHubrappresenta un ponte tra Internet e Internet of Things
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
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
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
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
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.
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
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
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
•DongleUSB:hacomeobiettivolariduzionedeicostiprovenientidall’acquistodinodigeneralpurposechesfruttanotaleprotocolloeperpermetterediaveredeidispositiviplug&playdautilizzareindiversiscenariapplicativi(IoTHub/Gatewaye/odeinodi“foglia”dainserireall’internodiunareteesistente). 
•Shield“Arduino-like”:consentediavereaccessoatuttiipindisponibilidelmicrocontrolloreedinterfacciarsiperesempioadunArduinooadun’altraschedaesternaperlagestionedellapartedisensing. 
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
Conclusioni 
Sviluppodiun'architetturaperraggiungereunareteIoTinremoto“virtualizzando”lefunzionalitàdellaretefisica. 
IlCloudrendefruibiliiserviziubiquitari. 
L’architetturarealizzatasicomponequindideiseguentielementi: 
•UnareteIoTcondifferentiSmartObject; 
•IlCloudcheospitadiverseistanzedimacchinevirtualichecostituisconolevirtualizzazionidegliIoTHub; 
•UnprotocollodisincronizzazionechetienesincronizzatigliHub(localeeremoto) 
•UnserverRESTchetramitedelleAPI,interagisceconilCloudevisualizzalediverserisorsedisponibiligrazieallapresenzadegliIoTHubremoti 
Iltuttoèstatovalidatoetestatopergarantireilfunzionamentoel’interoperabilitàtraidiversielementi.
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.
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

More Related Content

Viewers also liked

Interfaccia verso il BUS
Interfaccia verso il BUSInterfaccia verso il BUS
Interfaccia verso il BUSSergio Porcu
 
Diagnosi e integrazione disabili in Polonia
Diagnosi e integrazione disabili in PoloniaDiagnosi e integrazione disabili in Polonia
Diagnosi e integrazione disabili in PoloniaGilda Tobia
 
Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Sergio Porcu
 
Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Sergio Porcu
 
Lezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 oreLezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 oreMirko Mancin
 
Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Sergio Porcu
 
Storia di roma in 5 minuti
Storia di roma in 5 minutiStoria di roma in 5 minuti
Storia di roma in 5 minutiPaolo Gallese
 
Panoramica sul progetto OpenStack
Panoramica sul progetto OpenStackPanoramica sul progetto OpenStack
Panoramica sul progetto OpenStackPar-Tec S.p.A.
 
OpenOffice.org - Come rendersi indipendenti da MS Office
OpenOffice.org - Come rendersi indipendenti da MS OfficeOpenOffice.org - Come rendersi indipendenti da MS Office
OpenOffice.org - Come rendersi indipendenti da MS OfficeNicola Corti
 
Il plc linguaggi program
Il plc linguaggi programIl plc linguaggi program
Il plc linguaggi programGilda Tobia
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreMirko Mancin
 

Viewers also liked (19)

Interfaccia verso il BUS
Interfaccia verso il BUSInterfaccia verso il BUS
Interfaccia verso il BUS
 
Diagnosi e integrazione disabili in Polonia
Diagnosi e integrazione disabili in PoloniaDiagnosi e integrazione disabili in Polonia
Diagnosi e integrazione disabili in Polonia
 
Assembly1
Assembly1Assembly1
Assembly1
 
Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088Microprocessori INTEL 8086/8088
Microprocessori INTEL 8086/8088
 
Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086Formato istruzioni e direttive 8086
Formato istruzioni e direttive 8086
 
Assembly
AssemblyAssembly
Assembly
 
Lezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 oreLezione 4 arduino - corso 20 ore
Lezione 4 arduino - corso 20 ore
 
Array
ArrayArray
Array
 
Assembler 8086
Assembler 8086Assembler 8086
Assembler 8086
 
Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086Esercizi in linguaggio Assembly 8086
Esercizi in linguaggio Assembly 8086
 
Arduino&Raspberry
Arduino&RaspberryArduino&Raspberry
Arduino&Raspberry
 
Storia di roma in 5 minuti
Storia di roma in 5 minutiStoria di roma in 5 minuti
Storia di roma in 5 minuti
 
Il pic 16 f84a
Il pic 16 f84aIl pic 16 f84a
Il pic 16 f84a
 
Panoramica sul progetto OpenStack
Panoramica sul progetto OpenStackPanoramica sul progetto OpenStack
Panoramica sul progetto OpenStack
 
OpenOffice.org - Come rendersi indipendenti da MS Office
OpenOffice.org - Come rendersi indipendenti da MS OfficeOpenOffice.org - Come rendersi indipendenti da MS Office
OpenOffice.org - Come rendersi indipendenti da MS Office
 
Il plc
Il plcIl plc
Il plc
 
Il plc linguaggi program
Il plc linguaggi programIl plc linguaggi program
Il plc linguaggi program
 
Esercizi plc
Esercizi plcEsercizi plc
Esercizi plc
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 ore
 

Similar to Tesi Magistrale 2014

Microsoft Azure per l'IT Pro
Microsoft Azure per l'IT ProMicrosoft Azure per l'IT Pro
Microsoft Azure per l'IT ProMarco Parenzan
 
Seminario Cloud computing Ordine di latina - cloud computing
Seminario Cloud computing Ordine di latina - cloud computingSeminario Cloud computing Ordine di latina - cloud computing
Seminario Cloud computing Ordine di latina - cloud computingClaudio Pontili
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Marco Parenzan
 
Brand Rex residential cabling blolite solution
Brand Rex residential cabling blolite solution Brand Rex residential cabling blolite solution
Brand Rex residential cabling blolite solution Gianluca Musetti
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralMarco Parenzan
 
Internet of Things: mercato, tecnologie, applicazioni e competenze
Internet of Things: mercato, tecnologie, applicazioni e competenzeInternet of Things: mercato, tecnologie, applicazioni e competenze
Internet of Things: mercato, tecnologie, applicazioni e competenzeArmando Martin
 
Blockchain e IoT: il binomio della trasformazione digitale
Blockchain e IoT: il binomio della trasformazione digitaleBlockchain e IoT: il binomio della trasformazione digitale
Blockchain e IoT: il binomio della trasformazione digitaleMongoDB
 
Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018Andrea Tosato
 
Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingfrancesco pesare
 
Il Cloud Computing
Il Cloud ComputingIl Cloud Computing
Il Cloud Computingzambe92
 
Smau Bologna 2015 - Bmooble, Mesap
Smau Bologna 2015 - Bmooble, MesapSmau Bologna 2015 - Bmooble, Mesap
Smau Bologna 2015 - Bmooble, MesapSMAU
 
IOT: facciamo un po d' ordine
IOT: facciamo un po d' ordineIOT: facciamo un po d' ordine
IOT: facciamo un po d' ordineFabio Gatti
 
Iothings 2017 - Conferenza BUSINESS & TECHNOLOGY FOR ENTERPRISES
Iothings 2017 - Conferenza BUSINESS & TECHNOLOGY FOR ENTERPRISESIothings 2017 - Conferenza BUSINESS & TECHNOLOGY FOR ENTERPRISES
Iothings 2017 - Conferenza BUSINESS & TECHNOLOGY FOR ENTERPRISESPaola Visentin
 
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...Stefano Dindo
 
2015 CLOUD LOGIN - Servizi su Piattaforma Softlayer
2015 CLOUD LOGIN - Servizi su Piattaforma Softlayer2015 CLOUD LOGIN - Servizi su Piattaforma Softlayer
2015 CLOUD LOGIN - Servizi su Piattaforma SoftlayerServiceCloud - Esprinet
 
HCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsHCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsStefano Sanna
 
Gam04 introduzione a-netduino_final
Gam04   introduzione a-netduino_finalGam04   introduzione a-netduino_final
Gam04 introduzione a-netduino_finalDotNetCampus
 

Similar to Tesi Magistrale 2014 (20)

Microsoft Azure per l'IT Pro
Microsoft Azure per l'IT ProMicrosoft Azure per l'IT Pro
Microsoft Azure per l'IT Pro
 
Seminario Cloud computing Ordine di latina - cloud computing
Seminario Cloud computing Ordine di latina - cloud computingSeminario Cloud computing Ordine di latina - cloud computing
Seminario Cloud computing Ordine di latina - cloud computing
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Brand Rex residential cabling blolite solution
Brand Rex residential cabling blolite solution Brand Rex residential cabling blolite solution
Brand Rex residential cabling blolite solution
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Open source ed IoT
Open source ed IoTOpen source ed IoT
Open source ed IoT
 
Internet of Things: mercato, tecnologie, applicazioni e competenze
Internet of Things: mercato, tecnologie, applicazioni e competenzeInternet of Things: mercato, tecnologie, applicazioni e competenze
Internet of Things: mercato, tecnologie, applicazioni e competenze
 
Blockchain e IoT: il binomio della trasformazione digitale
Blockchain e IoT: il binomio della trasformazione digitaleBlockchain e IoT: il binomio della trasformazione digitale
Blockchain e IoT: il binomio della trasformazione digitale
 
Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018Azure IoTHub - Roboval 2018
Azure IoTHub - Roboval 2018
 
Post PC Devices
Post PC DevicesPost PC Devices
Post PC Devices
 
Tesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computingTesi - L'autenticazione nel cloud computing
Tesi - L'autenticazione nel cloud computing
 
Il Cloud Computing
Il Cloud ComputingIl Cloud Computing
Il Cloud Computing
 
Smau Bologna 2015 - Bmooble, Mesap
Smau Bologna 2015 - Bmooble, MesapSmau Bologna 2015 - Bmooble, Mesap
Smau Bologna 2015 - Bmooble, Mesap
 
IOT: facciamo un po d' ordine
IOT: facciamo un po d' ordineIOT: facciamo un po d' ordine
IOT: facciamo un po d' ordine
 
Iothings 2017 - Conferenza BUSINESS & TECHNOLOGY FOR ENTERPRISES
Iothings 2017 - Conferenza BUSINESS & TECHNOLOGY FOR ENTERPRISESIothings 2017 - Conferenza BUSINESS & TECHNOLOGY FOR ENTERPRISES
Iothings 2017 - Conferenza BUSINESS & TECHNOLOGY FOR ENTERPRISES
 
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
 
2015 CLOUD LOGIN - Servizi su Piattaforma Softlayer
2015 CLOUD LOGIN - Servizi su Piattaforma Softlayer2015 CLOUD LOGIN - Servizi su Piattaforma Softlayer
2015 CLOUD LOGIN - Servizi su Piattaforma Softlayer
 
HCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsHCIM08 - Mobile Applications
HCIM08 - Mobile Applications
 
Gam04 introduzione a-netduino_final
Gam04   introduzione a-netduino_finalGam04   introduzione a-netduino_final
Gam04 introduzione a-netduino_final
 

More from Mirko Mancin

CodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsMirko Mancin
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreMirko Mancin
 
Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreMirko Mancin
 
Lezione introduttiva su Arduino
Lezione introduttiva su ArduinoLezione introduttiva su Arduino
Lezione introduttiva su ArduinoMirko Mancin
 
Kangaroo system - send/receive program to/from CNC machine
Kangaroo system - send/receive program to/from CNC machineKangaroo system - send/receive program to/from CNC machine
Kangaroo system - send/receive program to/from CNC machineMirko Mancin
 
Wireless Open Weather (WOW)
Wireless Open Weather (WOW)Wireless Open Weather (WOW)
Wireless Open Weather (WOW)Mirko Mancin
 

More from Mirko Mancin (8)

CodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 3 - Corso Linux, Android e Internet of Things
 
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 2 - Corso Linux, Android e Internet of Things
 
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of ThingsCodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
CodingGym - Lezione 1 - Corso Linux, Android e Internet of Things
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 ore
 
Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 ore
 
Lezione introduttiva su Arduino
Lezione introduttiva su ArduinoLezione introduttiva su Arduino
Lezione introduttiva su Arduino
 
Kangaroo system - send/receive program to/from CNC machine
Kangaroo system - send/receive program to/from CNC machineKangaroo system - send/receive program to/from CNC machine
Kangaroo system - send/receive program to/from CNC machine
 
Wireless Open Weather (WOW)
Wireless Open Weather (WOW)Wireless Open Weather (WOW)
Wireless Open Weather (WOW)
 

Tesi Magistrale 2014

  • 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”
  • 5. Extended Internet L’IoTHubrappresenta un ponte tra Internet e Internet of Things
  • 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
  • 14. •DongleUSB:hacomeobiettivolariduzionedeicostiprovenientidall’acquistodinodigeneralpurposechesfruttanotaleprotocolloeperpermetterediaveredeidispositiviplug&playdautilizzareindiversiscenariapplicativi(IoTHub/Gatewaye/odeinodi“foglia”dainserireall’internodiunareteesistente). •Shield“Arduino-like”:consentediavereaccessoatuttiipindisponibilidelmicrocontrolloreedinterfacciarsiperesempioadunArduinooadun’altraschedaesternaperlagestionedellapartedisensing. 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
  • 15. Conclusioni Sviluppodiun'architetturaperraggiungereunareteIoTinremoto“virtualizzando”lefunzionalitàdellaretefisica. IlCloudrendefruibiliiserviziubiquitari. L’architetturarealizzatasicomponequindideiseguentielementi: •UnareteIoTcondifferentiSmartObject; •IlCloudcheospitadiverseistanzedimacchinevirtualichecostituisconolevirtualizzazionidegliIoTHub; •UnprotocollodisincronizzazionechetienesincronizzatigliHub(localeeremoto) •UnserverRESTchetramitedelleAPI,interagisceconilCloudevisualizzalediverserisorsedisponibiligrazieallapresenzadegliIoTHubremoti Iltuttoèstatovalidatoetestatopergarantireilfunzionamentoel’interoperabilitàtraidiversielementi.
  • 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