Sei sulla pagina 1di 7

Reti di sensori

Sono reti costituiti da nodi in grado di rilevare grandezze fisiche, di elaborare i dati e comunicare tra loro, muovendosi nelle prossimit del fenomeno da osservare. Le Wireless Sensor Networks presentano alcune caratteristiche simili alle reti ad-hoc, ma sono presentano alcune differenze: La rete pu comprendere un numero di nodi di ordini maggiori rispetto alle reti ad-hoc Possono essere caratterizzate da un alto livello di mobilit e densit I nodi sono molto pi limitati rispetto a risorse computazionali, memoria e alimentazione I nodi sono molto pi soggetti a guasti Nel disegnare una rete di sensori si fa riferimento a un certo numero di fattori: Affidabilit Un sensore pu non essere pi disponibile a causa di danneggiamenti o mancanza di energia, ma comunque questo evento non deve influenzare tutto il funzionamento della rete. Laffidabili di un singolo nodo pu essere calcolata facendo uso della distribuzione di Poisson:

Dove la failure rate. Perci laffidabilit di un gruppo di N nodi calcolato come:

Scalabilit: La densit di sensori pu raggiungere le molte centinaia in un un area di 10 metri di diametro. Topologia Il mezzo trasmissivo utilizzato: Pu essere o gli infrarossi, o onde radio, o segnali ottici Il consumo energetico: che pu essere dovuto allattivit di sensing, di data processing, e di comunicazione

Livello applicazione
I principali protocolli a livello applicazione sono tre: Sensor Management Protocol (SMP): con cui un amministratore interagisce con la rete di sensori assegnando task particolari o al singolo nodo o allintera rete, oppure effettuando delle Query che possono essere distinte in base alla modalit con cui sono effettuate. Il linguaggio utilizzato da questo protocollo il Sensor Query and Tasking Language. Task Assignment and Data Advertisement Protocol: che permette di spedire I propri interessi ad un particolare nodo o allintera rete, circa un particolare attributo o un certo numero di attributi. Oppure si pu fare in modo che sono i nodi a segnalare la presenza di nuovi dati disponibili e poi lutente pu scegliere se richiederli. Sensor Query and Data Dissemination Protocol: permette allutente di effettuare Query e leggerne quindi il risultato. Le Query che possono essere effettuate possono essere Attribute Based o Local Based

Livello trasporto
Reliable Multi-Segment Transport (RMST): Quando un pacchetto spedito dalla sorgente alla destinazione, tutti i nodi intermedi memorizzano i pacchetti ricevuti. Se un nodo si rende conto di non aver ricevuto un pacchetto, che quindi stato perso o corrotto, allora spedisce un NACK al nodo predecessore che glielo invia nuovamente, senza coinvolgere il nodo sorgente. Pump Slowly Fetch Quickly (PSFQ): quando un nodo riceve un pacchetto per prima cosa controlla che non sia un duplicato, confrontandolo con i pacchetti gi ricevuti e memorizzati in cache. Se il pacchetto nuovo allora decrementa il TTL e verifica il numero di sequenza. Se questultimo uguale al numero di sequenza atteso allora pu essere elaborato dal nodo e in seguito (se TTL0) viene inoltrato, secondo la modalit PUMP, al next hop dopo un intervallo di tempo t compreso tra Tmin e Tmax. Se invece esiste un gap tra il numero di sequenza atteso e quello ricevuto, allora si avvia la procedura FETCH con il quale il nodo richiede ai nodi vicini la ritrasmissione del pacchetto. Questultimo sar ritrasmesso dai nodi secondo la procedura PUMP. Nella modalit FETCH Quickly il pacchetto perso viene immediatamente ritrasmesso senza aspettare il tempo t. TCP e le sue varianti non sono adatte alle reti di sensori perch utilizzano forniscono alla comunicazione unaffidabilit end-to-end. Perci quando un pacchetto viene perso deve essere rispedito dal nodo sorgente. La lunghezza dei percorsi nella rete perci pu provocare un alto numero di ritrasmissioni, consumando la banda disponibile, consumando energia, e introducendo notevoli ritardi. Perci si deve pensare ad una nuovo modo di garantire laffidabilit della comunicazione. Approccio Event-to-Sink: in questo approccio laffidabilit di una comunicazione verificata tramite il report collettivo dei nodi che monitorano lo stesso evento Event-to-Sink Relable Transport (ESRT): il primo protocollo a fare uso dellapproccio event-to-sink. In questo caso si stima laffidabilit di una comunicazione sulla frequenza dei messaggi ricevuti dai nodi che monitorano il fenomeno. In particolare il protocollo decide laffidabilit di un evento in un intervallo di tempo detto di decisione. In questo intervallo di decisione saranno ricevuti un certo numero di pacchetti r i riguardanti lo stesso fenomeno. Se ri pi grande di una certa soglia allora stato rilevato in modo affidabile un nuovo evento. Il maggiore problema per questo protocollo quello di decidere la frequenza di reporting dei sensori. Perch se questa frequenza troppo alta allora si rischia di congestionare i propri buffer di trasmsissione, se invece troppo bassa non riusciamo ad ottenere il livello di affidabilit che vogliamo. Allora per decidere la frequenza f ogni nodo controlla il livello di congestione del proprio buffer e se esso ad un livello critico allora informa il sink. Il sink prende le decisioni in base ai Congestion Notifications (CN) ricevuti dai nodi e in base al livello di affidabilit desiderato. Dopo aver deciso la frequenza f effettua il broadcast ai nodi della rete.

Garuda Anche il sink deve propagare dei messaggi di controllo verso i sensori. Questi messaggi possono essere Query, messaggi di gestione, e possono essere spediti all'interno di una certa area, o solo ad un certo numero di sensori. Le caratteristiche di questo protocollo sono: Out-of-sequence forwarding Uso di NACK Local loss recovery

Routing Protocols
Data Centric Protocols
Flooding In questi protocolli i dati acquisiti da un sensore vengono trasmessi in flooding all'interno della rete. Perci ogni nodo che riceve questi dati li spedir ai nodi vicini. Per questo tipo di algoritmi presentano spesso dei grossi svantaggi: Tutti i nodi della rete si troveranno a trasmettere e a ricevere una copia degli stessi dati provocando quindi uno spreco di banda e di energie possibile che due sensori raccoglieranno dati da due regioni che sono parzialmente sovrapposte. Il flooding dei dati relativi alle regioni sovrapposte conporta chiaramente un inutile spreco di banda. I nodi non tengono conto delle risorse e dell'energia a disposizione degli altri nodi Gossiping un nodo trasmette i propri dati solo ad un vicino scelto casualmente. Evita quindi il fenomeno dell'implosione e consente di trasmettere le informazioni di routing all'interno della rete consumando non troppa energia. Il problema che i dati vengono diffusi molto lentamente all'interno della rete. Sensor Protocol for Information via Negotiation (SPIN) I nodi comunicano i dati che hanno solo a quei nodi che sono interessati. In particolare si usano tre tipi di messaggio: Quando un sensore ha nuovi dati raccolti allora trasmette un Advertisement (ADV) ai suoi vicini I nodi che sono interessati spediranno un messaggio di richiesta REQ per appunto richiedere i dati che sono stati raccolti Il sensore allora invia questi dati in messaggi DATA

Versioni: SPIN 1: semplice ed evita il fenomeno della congestione, per presenta lo svantaggio di non isolare i nodi che non sono interessati ai dati. SPIN 2: funziona come SPIN 1 con la differenza che se un nodo scende sotto una certa soglia di energia, entra in uno stato "Dormiente", cio riduce la sua partecipazione all'attivit del protocollo, e vi parteciper solo se strettamente necessario per raggiungere i nodi rimanenti. Directed Diffusion un algoritmo di routing di tipo Data-Centric, nel senso che i dati collezionati dai nodi sono identificati dagli attributi, a cui sar associato il valore misurato dal sensore. Queste permette ai sink di effettuare delle Query basati solo sugli attributi a cui interessato, risparmiando quindi risorse energetiche e di banda. Le Query generate dalle sink vengono definite in base agli "interessi" che definiscono una lista di attributi e di valori a cui il sink interessato. Queste query vengono inviate in broadcast dal sink all'interno della rete. Quando un nodo riceve una query con gli interessi del sink memorizzer in memoria il link da cui l'ha ricevuta (gradient) in modo tale da costruirsi un percorso verso il sink per l'invio dei dati. Perci ogni entry all'interno del campo di interessi sar composto dai seguenti campi:

Gradient: che sarebbe il link dal quale stato ricevuto l'interesse. Ogni Gradient sar composto da: un campo data rate richiesto dal vicino un campo di durata dell'interesse

Timestamp: che indica l'istante di tempo che ha ricevuto l'ultima richiesta ai propri dati Se non esiste allora crea una nuova entry Se esiste ma non c' i gradient allora lo imposta con quello che gli ha inviato la richiesta Se invece esistono entrambi allora vengono solamente aggiornati i campi Timestamps e Duration field

Quando un nodo riceve un interesse controlla nella propria cache se ne esiste una:

Gli interessi vengono inviati dal sink in flooding o usando altri meccanismi pi sofisticati. I gradient vengono invece stabiliti con il link dal quale per prima ha ricevuto l'interesse, o in base all'energia rimanente ai nodi vicini. Mentre nello SPIN sono i nodi ad avvertire che sono disponibili nuovi dati da spedire in rete, nello DD il sink ad effettuare le Query ai vari nodi. Vantaggi: Non necessita di Identificativo per i nodi Ogni nodo pu fare l'aggregazione e il caching dei dati scambiati un protocollo di routing di tipo on-demand, perci abbastanza efficiente dal punto di vista energetico Non adatto a quelle applicazioni che richiedono continui scambi di dati, visto che il sink deve richiederli continuamente con delle Query, causando quindi un grosso overhead e ritardi nella comunicazione Ogni applicazione pu definire dei gruppi di parametri differenti che devono essere quindi conosciuti a priori da tutti i nodi all'interno della rete Ogni nodo deve controllare nella propria cache se ha i dati richiesti, questo processo di maching pu causare uno spreco enorme di risorse dal punto di vista computazionale ed energetico

Svantaggi:

LEACH un algoritmo di routing di tipo gerarchico, quindi non tutti i nodi comunicano allo stesso modo visto che si trovano su livelli differenti. basato due fasi. La fase d set-up e la fase di steady state. Fase di set-up I sensori scelgono un cluster head per un certo periodo di tempo e con una certa probabilit Ogni nodo sceglie in maniera random un valore compreso tra 0 e 1 Se il valore random scelto sopra il valore di soglia T(n) allora il sensore diventa cluster-head

T(n) viene definito per un gruppo di nodi che negli ultimi periodi non sono stati cluster head, come:

T ( n)=
dove:

P 1P[r mod (1 /P)]


P sarebbe la tendenza di diventare un cluster head r identifica il periodo di tempo corrente

Un volta diventato cluster head il nodo diffonder all'interno della rete dei messaggio di advertisement per informare gli altri nodi. Poi i nodi della rete, in base ai messagi di advertisement ricevuti, sceglieranno il cluster head che pi gli conviene, in base a criteri energetici. Fase di steady state In questa fase i sensori cominciano a trasmettere i propri dati verso il cluster head che li aggrega e sua volta li spedir verso il sink. Dopo un certo periodo di tempo la rete torner nella fase di start-up per scegliere un nuovo cluster head. I parametri critici che devono essere fissati sono 2: Il numero di cluster head che devono essere presenti all'interno della rete Se il numero piccolo allora ci sar molta distanza da un nodo e il suo cluster head Se il numero troppo grande allora ci saranno molti cluster head che trasmetteranno il traffico verso il sink, causando probabilmente una situazione di congestione La durata dei periodi di vita dei cluster head se troppo grande allora il routing non sar abbastanza veloce per far fronte ai guasti e alla mobilit dei nodi; Se troppo piccolo allora vi saranno continui cambiamenti di cluster head provocando un grosso overhead all'interno della rete Vantaggi: completamente distribuito e non ha bisogno di conoscere l'intera topologia di rete Usa il routing single hop quando i nodi di un cluster sono direttamente connessi al loro cluster head Svantaggi: Il clustering dinamico provoca un certo overhead non adatto a regioni di grandi dimensioni Protocolli di routing Energy-Aware La rete rappresentata da un grafo in cui tutti i nodi conoscono la loro esatta posizione. Perci ogni nodo si ricava un sottografo che gli assicura una comunicazione a basso consumo energetico, ad esempio scegliendo quei percorsi in cui i nodi effettuano trasmissioni a corta distanza, perch sappiamo che la potenza di trasmissione richiesta aumenta con l'n-esima potenza della distanza. Quality of Service Protocol (QSR)

Fornisce la Qualit di servizio a differenti categorie di traffico: traffico sensibile ai ritardi ma non alle perdite dei pacchetti traffico sensibile alla perdita dei pacchetti ma non ai ritardi traffico non sensibile n ai ritardi n alla perdita dei pacchetti traffico sensibile sia ai ritardi sia alla perdita dei pacchetti Il suo funzionamento basato sul comportamento delle formiche nella ricerca del cibo: Abbiamo delle formiche che partono dal loro nido (Sink) vengono mandate in esplorazione (Scout messages) alla ricerca di cibo (Task=dati richiesti), e lasciano una scia chimica sul percorso (Connection cache che memorizza delle informazioni temporanee). Le formiche trovano delle locazioni con del cibo (nodi che collezionano i dati richiesti memorizzano il task loro assegnato all'interno del T-cache); e ritornano indietro verso il nido (N-messages che modificano la C-cache). La formiche poi raccoglieranno il cibo (I-messages) per portarlo al nido (Sink). Gli Update messages sono usati nel caso vi siano dei cambiamenti nei task assegnati. Una volta che la route principale stata trovata, il flusso dei dati seguir quel determinato percorso. Ma si pu anche impostare un parametro width che indica il numero di hop con il quale i dati si possono allontanere dalla backbone route. Questo consente di creare dei percorsi alternativi nel caso di quasti nella backbone, e quindi consente di aumentare la robustezza della rete. Per presenta anche lo svantaggio di provocare un certo overhead e un certo consumo di potenza per trovare questi percorsi alternativi. Questo protocollo inoltre consente l'aggregazione di flussi o la fusione di flussi con task uguali o caratteristiche simili.

Protocolli MAC
Come sappiamo i protocolli MAC coordinano l'accesso al mezzo da parte dei nodi della rete. Questi protocolli devono presentare 3 caratteristiche principali: Collisions Avoidance: evitare le collisioni Energy Efficiency: devono risparmiare l'energia dei nodi Scalabilit: devono essere efficienti anche in presenza di un numero elevato di nodi nella rete

Devono poi salvaguardare le performance in termini di ritardi, Throughput, Fairness e utilizzazione di banda. Per quanto riguarda il consumo energetico di un nodo di una WSN, i principali processi che lo provocano sono le attivit di comunicazione, in particolare la trasmissione e la ricezione di dati da altri nodi e i periodi di ascolto sul canale senza alcune ricezione di dati. I fattori che causano lo spreco di energia durante una comunicazione sono i lunghi tempi di ascolto senza una effettiva ricezione di dati Le collisioni che quindi richiedono la ritrasmissione dei dati inviati L'Overhead di controllo per mantenere ad esempio la topologia della rete L'overhearing, inteso come l'ascolto di trasmissioni da parte di altri nodi che non sono diretti al nodo considerato. Nella progettazione di questi protocolli bisogna tenere in considerazione i seguenti punti: Alta densit di nodi all'interno della rete Alta probabilit di collisioni Basse risorse energetiche e computazionali nei nodi La ricezione e la trasmissione consumano approssimativamente la stessa quantit di energia Lo spegnimento e l'accensione delle interfacce consuma una certa quantit di energia Le tecniche di accesso di tipo TDMA non sono raccomandate visto che richiedono una buona sincronizzazione dei nodi e necessitano di clock costosi da realizzare all'interno dei nodi di una WSN Vediamo adesso alcuni protocolli di accesso al mezzo:

IEEE 802.11 Sviluppato per la realizzazione delle WLAN, si basa su una comunicazione a 4 fasi (RTS/CTS/Data/ACK). Esso usa il DCF come coordination function per appunto coordinare i nodi per l'accesso al mezzo.