Alma Mater Studiorum (cid:1) Universita(cid:18) di Bologna SCUOLA DI SCIENZE Corso di Laurea in Informatica per il Management Progettazione e Implementazione di una piattaforma di Geofencing per il Context-Aware Advertising Relatore: Presentata da: Chiar.mo Prof. Filippo Boiani Marco Di Felice Sessione II Anno Accademico 2015/2016 A chi mi ha messo al mondo, a chi l’ha reso un posto interessante... Introduzione La diffusione di smartphone e dispostivi mobili a cui si (cid:18)e assistito nel- l’ultima decade ha portato con s(cid:18)e lo sviluppo di nuovi sistemi e tecnologie basate sulla localizzazione. Questi sistemi vengono chiamati Location Based Systems (LBS) [1] ed il loro successo (cid:18)e stato reso possibile dai sensori come GPS, antenna WiFi e accelerometro che hanno permesso agli sviluppatori di creare contenuti e servizi basati sulla posizione dell’utente. Una delle tecnologie su cui si basano i LBS (cid:18)e chiamata Geofencing e consiste nella creazione di aree virtuali (dette geofence) per delimitare luoghi di interesse (Point of Interests) e noti(cid:12)care l’utente quando entra, esce o si trova nelle vicinanze di una delle aree delimitate. Questa caratteristica viene utilizzata soprattutto per realizzare applicazioni che ricordano all’utente di svolgeredelleazioni, peresempioun’appdipromemoriachericordaall’utente di comprare il latte quando si trova vicino ad un supermercato. Dal punto di vista economico, uno degli utilizzi piu(cid:18) promettenti (cid:18)e il co- siddetto Context Aware Advertising: i possessori di dispositivi mobili che si trovano a camminare nelle vicinanze di un negozio o un centro commer- ciale possono essere considerati possibili clienti e ricevere delle noti(cid:12)che con pubblicit(cid:18)a o questionari [2]. Esistono altre applicazioni tra cui: il monitoraggio delle (cid:13)otte di camion, in controllo di animali domestici o il monitoraggio dei comportamenti delle i ii INTRODUZIONE folle [3, 4]. Oltre alla posizione, le suddette applicazioni hanno bisogno di conoscere altre informazioni contestuali come tipo di attivit(cid:18)a, ora, velocit(cid:18)a, et(cid:18)a o sesso, per poter inviare noti(cid:12)che di interesse per l’utente. Gliesempiillustraticorrispondonoasistemidettipro-attivi inquantonon (cid:18)e l’utente a richiedere esplicitamente le informazioni ma sono le applicazioni ad inviare delle noti(cid:12)che in base a suoi spostamenti. Siccome gli spostamenti devono essere tracciati in maniera continua emergono delle problematiche legate alla privacy dell’utente e al consumo di batteria dei dispositivi. Nel seguente lavoro verr(cid:18)a analizzato nel dettaglio cos’(cid:18)e il Geofencing, le sue applicazioni e le tecnologie sulla quale si basa. Verranno presi in conside- razionealcuniproblemirelativiall’utilizzodelletecnologiediposizionamento, con particolare attenzione ai consumi di batteria. Verr(cid:18)a inoltre descritta la progettazione e l’implementazione di una piatta- forma client-server composta da un servizio web | sviluppato in stile REST- ful | accessibile da un sito web e un’applicazione mobile sviluppata in iOS. Il sito web permette ai possessori di attivit(cid:18)a commerciali di creare e gestire dei POI nonch(cid:18)e di monitorare gli spostamenti dei possibili clienti. Dopo aver installato l’applicazione mobile sul proprio smartphone, i clienti potranno ricevere noti(cid:12)che una volta oltrepassati i con(cid:12)ni di un geofence. L’applicazione mobile verra(cid:18) testata e analizzata in termini di prestazioni, consumo di batteria e frequenza di aggiornamenti di posizione con riferimenti a valutazioni simili reperibili in letteratura. Latrattazione(cid:18)estrutturatacomesegue: all’inizio(capitolo1)verra(cid:18)intro- dotto il concetto di geofencing e le sue applicazioni. Nel capitolo 2 verranno analizzate le tecnologie di posizionamento, le soluzioni al problema di con- sumo della batteria ed il supporto dei database. Nel capitolo 3 e 4 verra(cid:18) descritto il sistema che (cid:18)e stato sviluppato e i suoi dettagli implementativi. INTRODUZIONE iii Il documento termina con l’analisi del sistema e delle tecnologie di posizio- namento (capitolo 5) e si conclude con un breve sommario in cui vengono speci(cid:12)cate le difficolt(cid:18)a affrontate e i possibili sviluppi futuri. Indice Introduzione i 1 Il Geofencing 1 1.1 Cos’(cid:18)e il Geofencing? . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Differenze tra Geofencing e Beacons . . . . . . . . . . . . . . . 2 1.3 Le applicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3.1 Promemoria . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3.2 Pubblicit(cid:18)a basate sulla localizzazione . . . . . . . . . . 4 1.3.3 Coupon, sconti e fedelt(cid:18)a della clientela . . . . . . . . . 5 1.3.4 Gestione di grandi eventi ed emergenze . . . . . . . . . 6 1.3.5 Trasporti . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.6 Sicurezza e droni . . . . . . . . . . . . . . . . . . . . . 7 2 Le Tecnologie del Geofencing 9 2.1 Tecnologie di Localizzazione . . . . . . . . . . . . . . . . . . . 10 2.1.1 Global Positioning System . . . . . . . . . . . . . . . . 10 2.1.2 Posizionamento Tramite WiFi: Fingerprinting . . . . . 12 2.1.3 Posizionamento Basato sulla Rete Cellulare . . . . . . 13 2.2 Gestione della Batteria . . . . . . . . . . . . . . . . . . . . . . 14 2.2.1 Confronto tra la varie tecnologie e problemi . . . . . . 14 v vi INTRODUZIONE 2.2.2 Soluzioni proposte . . . . . . . . . . . . . . . . . . . . 15 2.3 Supporto dei Database . . . . . . . . . . . . . . . . . . . . . . 17 2.3.1 Sistemi NoSQL . . . . . . . . . . . . . . . . . . . . . . 17 2.3.2 Funzionalit(cid:18)a . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.3 Algoritmi . . . . . . . . . . . . . . . . . . . . . . . . . 19 3 Progettazione di un sistema di Geofencing per dispositivi mobili 23 3.1 Applicazione Web . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.1 Point of Interest . . . . . . . . . . . . . . . . . . . . . 24 3.1.2 Utenti . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.3 Funzionalit(cid:18)a . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2 Applicazione Mobile . . . . . . . . . . . . . . . . . . . . . . . 27 3.2.1 Funzionalit(cid:18)a . . . . . . . . . . . . . . . . . . . . . . . . 27 4 Dettagli Implementativi 35 4.1 Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.1.1 POI circolari . . . . . . . . . . . . . . . . . . . . . . . 36 4.1.2 POI poligonali. . . . . . . . . . . . . . . . . . . . . . . 38 4.1.3 Utente . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.2 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2.1 Routing . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2.2 Servizio di Ricerca dei POI . . . . . . . . . . . . . . . . 42 4.3 Client Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.4 Client Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.4.1 Core Location Framework . . . . . . . . . . . . . . . . 50 4.4.2 Monitoraggio del livello di batteria . . . . . . . . . . . 53 INDICE vii 5 Analisi e Valutazioni 55 5.1 Valutazioni effettuate in letteratura . . . . . . . . . . . . . . . 56 5.2 Test e Valutazioni dell’Applicazione . . . . . . . . . . . . . . . 57 Conclusioni 61 Bibliogra(cid:12)a 63
Description: