Le Smart Cities rappresentano un’evoluzione del concetto di centro urbano attraverso nuove tecnologie che non solo consentono di fruire di servizi avanzati, ma di diventare parte attiva della comunità urbana. Tali sistemi “socio-tecnologici” si basano su approcci e paradigmi computazionali che hanno come obiettivo una crescita sostenibile della città attraverso servizi avanzati, migliorando al contempo la qualità della vita dei cittadini.
Dal punto di vista ICT, i centri urbani possono essere considerati come un ecosistema di “cose” o things con cui i cittadini interagiscono quotidianamente: arredo urbano, edifici pubblici, trasporti, monumenti, illuminazione pubblica, nonché smartphone e dispositivi personali. Grazie ai recenti progressi tecnologici queste “cose” sono (quasi) sempre connesse e possono interagire con l’ambiente, non solo passivamente fornendo dati attraverso sensoristica interna, ma anche attivamente lanciando comandi su attuatori, nell’ottica dell’Internet delle “cose” (preferibilmente Internet of Things o IoT).
La creazione di servizi intelligenti su complesse infrastrutture urbane è una sfida attuale e di importanza strategica. Bisogna gestire sistemi fortemente eterogenei, implementando soluzioni scalabili e che consentano di configurare i dispositivi dinamicamente, anche fornendo politiche e servizi di controllo avanzati.
A tal fine, una possibile soluzione è ricorrere all’approccio Software Defined, attraverso il quale meccanismi base e funzionalità/servizi/politiche avanzate vengono separati ed implementati su due livelli sovrapposti: dati e controllo, rispettivamente.
La trasposizione di tale approccio al contesto delle Smart Cities risulta di particolare efficacia, aprendo nuovi scenari e mercati a sviluppatori e fornitori di servizi, e soprattutto impattando sui cittadini, amplificandone le opportunità e le modalità di coinvolgimento attivo.
La realizzazione del paradigma Software Defined Cities (SDC) porterebbe ad una infrastruttura in grado di trasformare il complesso ecosistema tecnologico-urbano in un ambiente “programmabile” dove comuni, aziende, ricercatori e cittadini potrebbero facilmente collaborare nello sviluppo di servizi innovativi intelligenti.
Specifiche funzioni di virtualizzazione dei servizi base al cittadino (City Functions Virtualization) complementano e completano questa visione Software Defined di città intelligenti e programmabili.
Per realizzare la visione SDC le funzionalità dell’infrastruttura sensoristico-informatica che costituisce la Smart city, e che puo’ anche includere dispositivi privati tra cui smartphones e PDA, verranno dunque organizzate su due livelli (o plane) sovrapposti seguendo il paradigma Software Defined: il data plane ed il control plane.
Nel data plane del middleware di gestione di una Software Defined City andranno specificati tutti i meccanismi e le funzionalità base che il nodo deve fornire al livello superiore, funzionalità che devono essere esposte in maniera uniforme. Tali funzionalità saranno prevalentemente relative al networking (forwarding) e alle operazioni di sensing e attuazione (probing, repurposing, actuation). Questo permetterà di combinare dispositivi per creare oggetti o things complessi, semplicemente collegandoli e coordinandoli via software. Dunque, uno tra i piu’ importanti requisiti da soddisfare a questo livello sara’ certamente la programmabilità di tali funzionalità base attraverso interfacce uniformi, per mezzo di API interoperabili ed interoperanti tra tecnologie diverse. Questa sara’ una delle sfide piu’ impegnative lanciate dallo SDC, in quanto, come già detto sopra, i nodi possono essere altamente eterogenei (smartphones, smart boards, telecamere, sensorististica, etc.) e sono spesso resource-constrained, ossia limitati sia nelle capacità di processamento che di archiviazione quanto in termini energetici. Inoltre andranno tenuti in considerazione gli aspetti relativi alla mobilità come anche quelli di rete ed interconnessione tra dispositivi.
D’altro canto, il control plane si occuperà di orchestrare e gestire l’ecosistema SDC. Il coordinamento dovra’ essere implementato attraverso un sistema di supervisione che avra’ completa visione dell’infrastruttura SDC sottostante e potra’ gestirla seguendo le specifiche delle applicazioni che ne faranno uso. In particolare, logiche orientate e dettate dalle applicazioni che useranno tale infrastruttura dovranno essere implementate nel control plane ed attuate nel data plane attraverso specifiche interazioni. Dunque il control plane da un lato (northbound) interagirà con gli application provider e le loro applicazioni, dall’altro implementerà le richieste che vengono da queste ultime interagendo col data plane (southbound).
Dal punto di vista infrastrutturale dunque, la parte del middleware relativa al data plane dovrà girare sui nodi SDC, mentre per il control plane sarà necessario un sistema di elaborazione indipendente e raggiungibile dai nodi, anche su Cloud.
A Messina abbiamo avviato un progetto per l’implementazione di tale middleware SDC: Stack4Things [S4T]. In tale attività abbiamo scelto come punto di partenza OpenStack [OS] come middleware per la gestione dei nodi, in particolare nell’implementazione dei servizi del control plane. In relazione alle funzionalità del data plane, si è scelto di basarsi su WAMP [WAMP] per risolvere le problematiche relative il networking attraverso reverse tunneling, e su containers, plugins e FUSE (Filesystem in Userspace) [FUSE] per implementare l’interfaccia ed i meccanismi di contestualizzazione dei nodi, abilitando il control plane ad iniettare il codice e la configurazione che risponde alle richieste dell’applicazione sui nodi che verranno utilizzati.
In parallelo stiamo portando avanti l’iniziativa di creare un’infrastruttura Smart City per una software defined Messina. Il progetto #SmartMe [SMARTME] ha come scopo la realizzazione di una piattaforma open data e di una infrastruttura composta da sensori ed attuatori installati su autobus, lampioni, edifici di istituzioni cittadine ed altri dispositivi disseminati sul territorio cittadino. Grazie a tale infrastruttura, è già possibile raccogliere dati e informazioni per la creazione di servizi alla cittadinanza. Anche i cittadini sono coinvolti in #SmartMe attraverso l’utilizzo di smartphone con i quali è possibile interagire con gli oggetti e contribuire con i sensori disponibili nel dispositivo.
Il software ufficiale utilizzato in #SmartMe è Stack4Things, e dunque l’iniziativa risulta essere per noi anche un banco di prova sul quale testare l’approccio SDC, in particolare attraverso applicazioni di Smart Mobility. I risultati preliminari sono incoraggianti: sebbene al momento l’accesso all’infrastruttura è circoscritto, l’approccio di fornire una cittadina programmabile dagli sviluppatori sembra funzionare, implementando il control plane sul datacenter dell’Università di Messina ed il data plane sui sensori ed attuatori al momento disponibili sul territorio messinese. E’ già possibile installare diverse applicazioni sui nodi attraverso il sistema iniettando anche le relative politiche di controllo, facendo anche coesistere piu’ applicazioni sullo stesso nodo. La sperimentazione proseguirà per investigare in particolare la scalabilità del framework SDC, mentre nuovi sviluppi dal punto di vista della dependability e sicurezza sono previsti nel breve-medio periodo.
[S4T] D. Bruneo, S. Distefano, F. Longo, G. Merlino, A. Puliafito, V. D’Amico, M. Sapienza, and G. Torrisi, “Stack4Things as a fog computing platform for Smart City applications”, Computer Communications Workshops (INFOCOM WKSHPS), 2016 IEEE Conference on, April, 2016.
URL: http://stack4things.unime.it/
[OS] Sefraoui, Omar, Mohammed Aissaoui, and Mohsine Eleuldj. “OpenStack: toward an open-source solution for cloud computing.” International Journal of Computer Applications 55.3 (2012).
URL: https://www.openstack.org/
[WAMP] “WAMP [URL],” http://wamp.ws.
[FUSE] “Filesystem in Userspace – FUSE [URL]” https://github.com/libfuse/libfuse
[SMARTME] D. Bruneo, S. Distefano, F. Longo, G. Merlino, A. Puliafito, “Turning Messina into a Smart City: the #SmartME Experience”, Smart Blue City Conference, Limassol Cyprus, April 2016.
URL: http://smartme.unime.it/