di 

Data management

"Micro Big Data”, una nuova dimensione nella gestione dell’informazione

Come in altri campi della progettazione di sistemi informatici, servono modelli che astraggano struttura e comportamento del sistema a vari livelli in modo da permettere al progettista di affrontare i diversi problemi in modo ordinato

Foto di digital cat rilasciata sotto licenza cc - https://www.flickr.com/photos/14646075@N03/3048801532

In un precedente articolo sono state illustrate le principali caratteristiche dei sistemi di gestione di Data Stream (DSMS). Vedremo qui come tali sistemi, che generano flussi ininterrotti di grandi quantità di dati – i cosiddetti micro Big Data -, vengano utilizzati nella realizzazione di sistemi pervasivi.

Da tempo, la ricerca ha proposto un ampio spettro di soluzioni per la gestione di questo tipo di dati, incluse interfacce grafiche, estensioni dei tradizionali linguaggi di programmazione e di gestione dei dati, e un assortimento di sistemi “publish / subscribe”. Anche a livello di progettazione, sono stati individuati metodi di astrazione e di modellazione a più livelli che richiamano quanto ormai da tempo si usa fare nei sistemi di Basi di Dati. Pertanto, come in altri campi della progettazione di sistemi informatici, servono modelli che astraggano struttura e comportamento del sistema a vari livelli in modo da permettere al progettista di affrontare i diversi problemi in modo ordinato. Nella figura 1 vengono delineati i componenti principali di un sistema pervasivo: al livello più alto troviamo le applicazioni e le loro interfacce con l’utente, a quello più basso i componenti fisici che devono essere integrati per poter cooperare nel sistema.

Figura 1 – I componenti di un Sistema Pervasivo


L’obiettivo quindi è di fornire all’utente finale interfacce di alto livello analoghe a quelle cui è abituato per le Basi di Dati tradizionali (linguaggi SQL-like o NoSQL), tenendo tuttavia presente che, mentre in queste i dati sono memorizzati e le interrogazioni vengono eseguite di volta in volta, nei DSMS le interrogazioni sono inserite nei dispositivi periferici e vengono eseguite su un flusso continuo di dati. Al livello più basso il sistema deve mascherare le grandi differenze tecnologiche tra le varie sorgenti di dati, modellandole come “sensori astratti”; in tal modo è possibile utilizzare dispositivi fortemente eterogenei con meccanismi di tipo “plug and play” senza dover procedere a pesanti operazioni di riconfigurazione dei sistemi. La connessione/ disconnessione dinamica di nuovi utenti al sistema è infatti una situazione “fisiologica” nei sistemi pervasivi, facilmente intuibile data la mobilità di sorgenti e utilizzatori, i ruoli dei quali possono essere frequentemente scambiati. A questo proposito, per un sistema RFID modellato con una tabella, la figura 2 mostra con due semplici interrogazioni in SQL, come lo scambio di ruoli sia immediato.


Il primo prototipo di linguaggio dichiarativo simile a SQL per l’interrogazione di dati nelle WSN è stato TinyDB, proposto da S. Madden nel 2005[1]. Da allora, sono comparsi nella letteratura diversi linguaggi e sistemi per la gestione dei dati nei sistemi pervasivi, brevemente presentati nei riferimenti[2] [3].

La maggior parte di queste proposte è orientata ad un particolare tipo di applicazioni o particolari tipi di dispositivi. PerLa (Pervasive Language)[4] è un sistema in corso di sviluppo al Politecnico di Milano che si propone invece come approccio generalizzato alla gestione di sistemi pervasivi; un linguaggio simile a SQL è supportato da un middleware che uniforma le idiosincrasie dei diversi dispositivi usati nelle complesse reti di sensori e gestisce il sistema a run-time. PerLa consente all’utente di interagire con dispositivi astratti che mascherano uno o più dispositivi fisici o sistemi complessi quali, ad esempio, servizi web e reti sociali. L’aggiunta di un nuovo dispositivo avviene attraverso un meccanismo di tipo Plug & Play che usa un driver in formato XML, fornito con il dispositivo stesso, e crea il corrispondente dispositivo astratto. Il consorzio OGC (Open Geospatial Consortium) ha definito uno standard per la descrizione in XML di una grande quantità di dispositivi[5].

Infine, solamente menzioniamo il fatto che la maggior parte dei sistemi pervasivi opera con applicazioni sensibili al contesto (Context-Aware), che quindi rispondono e operano in modo diverso in funzione delle condizioni ambientali nelle quali si trova l’utente e delle sue personali preferenze. Il concetto di contesto è poi fondamentale per filtrare i dati, riducendone il volume e il “rumore informativo”, quando i dispositivi utente siano di piccole o piccolissime dimensioni (notebook, smartphone, ecc.)[6]. Le funzioni di Context-management rappresentano quindi un nuovo capitolo che si apre nella progettazione dei sistemi informativi.



[1] S. R. Madden, M. J. Franklin, J. M. Hellerstein, and W. Hong - Tinydb: an acquisitional query processing system for sensor networks - ACM Trans. Database Systems, Vol. 30, n. 1, pp.122–173, 2005

[2] E. Panigati, F. A. Schreiber, and C. Zaniolo - Data Streams and Data Stream Management Systems and Languages - Chapter 5 in F. Colace et Al.- Data Management in Pervasive Systems - Springer, Heidelberg, pp.93-111, 2015

[3] F. A. Schreiber and M. Roveri - Sensors and Wireless Sensor Networks as Data Sources: Models and Languages - Chapter 4 in F. Colace et Al.- Data Management in Pervasive Systems - Springer, Heidelberg, pp.69-92, 2015

[4] F.A. Schreiber, R. Camplani, M. Fortunato, M. Marelli, G. Rota - PerLa: A Language and Middleware Architecture for Data Management and Integration in Pervasive Information Systems - IEEE Transactions on Software Engineering, Vol. 38, n. 2, pp. 478-496, 2012

[5] Mike Botts and Alexandre Robin - Ogc sensorml: Model and xml encoding standard, v.2. - Open Geospatial Consortium, pp. 1–196, 2014.

[6] Bolchini C., Curino C.A., Orsi G., Rossato R., Quintarelli E., Schreiber F.A., Tanca L. - And What Can Context Do For Data? - Communications of ACM (VE), Vol.52, n. 11, pp.136-140, 2009