MIRCO CENNAMO
TESI:Location Based Services (LBS)
Questo lavoro si pone come obiettivo quello di offrire dei Location Based Services (LBS) agli utenti dell'ateneo di Salerno. Negli ultimi anni sono stati introdotti sul mercato diversi dipositivi mobili aventi come caratteristica comune la portabilità,ovvero la capacità di essere connessi ad una rete di comunicazione durante gli spostamenti dell'utente. Tali dispositivi hanno introdotto nuovi scenari,in cui è possibile offrire servizi basati sulla locazione utente. L'ateneo di Salerno dispone di una infrastruttura di rete wireless che consente agli utenti siano essi studenti o docenti/tecnici di usufruire dei servizi wireless. L'idea è quella di individuare la locazione dell'utente connesso alla rete wireless ed offrire dei servizi ad hoc.
L'architettura è gestita in maniera centralizzata attraverso i CISCO WLC.Essi gestiscono tutti gli AP LWAPP presenti in ateneo. I WLC sono responsabili di politiche di sicurezza,gestione interferenze e QoS.Inoltre vi è un server RADIUS per implementare politiche di autenticazione.Infine due DB LDAP sono prensenti uno per gli studenti e l'altro per docenti/tecnici. I Cisco WLC vengono interrogati con il protocollo SNMP attraverso il proxy SISI,che cattura la request utente effettua le query necessarie e risponde mostrando una pagina personalizata in base alla locazione utente. Tre sono le tecniche utilizzate per l'individuazione della locazione del client. Nella tecnica di posizionamento Proximity sensing, la posizione del terminale mobile viene dedotta dalla posizione dell'AP con cui il MT si associa, poichè si presuppone che sia anche la più vicina in quanto riesce a fornire il link wireless di qualità migliore rispetto a quelli presenti nel raggio del mobile. Tale tecnica anche se è la più facile da implementare, soffre di varie problematiche come ad esempio poca accuratezza dovuta a propagazione multipath, o ancora a riflessione e scattering poichè il segnale inevitabilmente colpisce ostacoli fisici presenti nell'edificio come i muri, attenuandone l'intensità, ciò consegue che non sempre l'Access Point più vicino sarà scelto per l'associazione. Un'altra tecnica è la Lateration, essa individua la posizione utente attraverso il valore RSSI dedotto attraverso il beacon dell'Access Point con cui il Mobile Terminal si associa. L'idea di fondo di tale tecnica è stimare la distanza tra il Mobile Terminal e l'Access Point utilizzando modelli come quello del path-loss che mettono in relazione il valore RSSI con la distanza tra il MT e la BS con cui è associata. L'ultima tecnica implementata è il WLAN Fingerprinting. L'idea di fondo di tale tecnica è contrastare l'elevata variabilità del valore RSSI causata dalla natura stessa del canale wireless. Tale tecnica è divisa in una fase off-line e una on-line. Nella fase di off-line si determinano all'interno della zone di interesse alcune locazioni ”target”. Per ognuna di esse si effettuano n rilevazioni degli RSSI necessarie per ammortizzarne l'elevata varianza. Si ottiene così un vettore l' di RSSI di taglia m calcolato facendo la media dei valori ottenuti, la firma della locazione. L'insieme delle firme delle locazioni vengono chiamate radio maps. Tale fase viene anche chiamata training o calibration. Nella fase on-line si determina il vettore degli RSSI ascoltato dal device, sia esso l. Per ogni l', si effettua un confronto con il vettore l. Il confronto può essere fatto attraverso l'uso di vari algoritmi. Quello da noi scelto utilizza come metrica di confronto la distanza euclidea tra ogni l' ed l ed assume come posizione del device quel l' che restituisce distanza minore. Tutte e tre le tecniche di localizzazione utilizzano un demone UNIX. Il demone UNIX legge da due file di configurazione. Il primo controller ip.txt contiene gli ip dei WLC, mentre il secondo ControllerCommunity.txt la stringa community ovvero la password necessaria per la corretta esecuzione della query. Il demone per ogni indirizzo ip presente nel file di configurazione controller ip.txt effettua la query, utilizzando come stringa community quella presente nel file ControllerCommunity.txt. Le risposte dei WLC vengono poi salvate nel file di testo /tmp/QueryOutput.txt utilizando la funzione printInfoMobile. Tale ciclo viene ovviamente eseguito in loop e il file viene sovrascritto per tenere traccia di eventuali nuovi client che si associano e si dissosociano.
Nell'implementazione della tecnica Proximity Sensing, individuato il MAC Address del AP con cui il MT si è associato utilizando le informazioni generate dal demone viene dedotto il nome dell'AP e verrà poi restituito al client la sua posizione che si assume essere anche quella del client. Tale posizione è stata prelevata attraverso l'ausilio della piattaforma web Wireless Control System (WCS). La tecnica del Proximity sensing si è rilevata insufficiente per rispondere agli obiettivi prefissati, non è stato possibile con questo approccio aumentare la granularità. Per tale ragione sono state implementate le altre due tecniche che saranno illustrate in seguito. La tecnica Lateration utilizza i valori degli RSSI per determinare la distanza tra il MT e la BS. Come per la tecnica precedente si è individuato attraverso le informazioni generate dal demone il MAC address della BS con cui il MT si è associata. Il problema ora era di determinare un meccanismo che permettesse di individuare gli AP del piano e di eliminare così quelli installati su piani diversi. Per fare ciò è stato introdotto nel file mapping.txt un identificatore univoco di piano (id) associato ad ogni AP. Una volta individuato il nome dell'AP con cui il MT si è associato si identifica l'id. Tale id poi è stato utilizzato come chiave all'interno del file APlocation.xml per determinare gli AP presenti nel piano identificato dall'id. Ancora una volta queste informazioni sono state reperite dalla piattafoma software di management WCS.Sono stati poi recuperati gli RSS e scelto quello con valore maggiore. Con tale valore attraverso il modello del path loss viene restituita la distanza del MT con la BS con RSS maggiore. Questa tecnica supera i limiti del Proximity Sensing in quanto riesce ad ottenere una migliore accuratezza, evidenti però sono i limiti derivanti dall'elevata varianza dell'RSSI. Troppe sono le variabili che non è possibile prevedere, come ad esempio il passaggio di una persona durante le rilevazioni, testando però questa tecnica si è giunti ad avere risultati nel caso ottimo di +/- 5 metri. L'ultima tercnica implementata è stata il Fingerprinting. La fase off-line di tale tecnica è stata implementata attraverso l'utilizzo del file Aplocation.xml. Si sono scelte tre locazioni ‹target‹ per il caso di studio ovvero la location Stecca 7 piano 2 identificato dall'id 2. Dopo aver fatto per ognuna di esse 100 rilevazioni si sono ottenuti i tre vettori firma facendo la media dei valori ottenuti. Tali vettori firma sono stati associati alle locazioni mappandoli all'interno del file Aplocation.xml. Ogni locazione identificata dal nodo <location> contiene un insime di nodi <target> uno per ogni locazione. A sua volta tale nodo contiene oltre al tag <position> che ne identifica il nome una serie di figli <cell> che contengono a loro volta il nome della BS e il valore RSSI. Una volta determinato il vettore firma a runtime, questo viene poi confrontato con i vettori firma presenti nel sottoalbero identificato dall'id del piano. Un confronto attraverso la metrica euclidea stabilisce la location del MT e verrà effettuata una redirect all'url specificato dal nodo <link> presente nel sottoalbero.