Applicazione dei protocolli TPSN ed FTSP per la sincronizzazione di smart sensor nelle reti wireless Contesto: Negli ultimi anni c’è stata grande diffusione delle reti di sensori per applicazioni di misura W1 Wn Power Line Reti di sensori molti nodi collaborazione Problema Nasce la necessità di sincronizzare i nodi sensori Nodo N Strumento di misura N Se i nodi sono collegati in maniera wired con segnale di trigger allora Se i nodi sono collegati in sicuramente ogni strumento maniera wireless si perde la riceverà il comando nello “stesso” aleatorio SistemiDisallineamento sincronizzatipossibilità di ricevere il comando tempo degli altri compiendo così nello stesso istante temporale. una misura coerente. Bus di comunicazione In tale ambito sincronismo vuol dire determinismo: Nodo 1 Determinismo dell’inizio dell’operazione di misura Strumento di misura 1 Nodo 2 Determinismo della durata dell’operazione di misura Strumento di misura 2 Host PC Stato dell’arte E diverse sono le soluzioni possibili: Soluzioni hardware Soluzioni software Uso di dispositivi GPS Uso di protocolli di sincronizzazione Elevata precisione Implementazione economica Prestazioni soddisfacenti Aumento costo Tempi di start-up Copertura del segnale Complessità computazionele Problematiche della sincronizzazione wireless •Esempio: •2 orologi • Differenza di ora (offset) A orario B 1) B si vuole sincronizzare con A 2) A invia la sua ora a B 3) B riceve l’ora e modifica la sua ora a quella di A Attenzione: B riceve l’ora non istantaneamente ma dopo un ritardo di propagazione quindi non si sincronizza perfettamente Problematiche della sincronizzazione wireless •Esempio: •2 orologi segnano la stessa ora A B Dopo un periodo di tempo gli orologi risultano non sincronizzati a causa della temperatura invecchiamento del componente ecc. Attenzione: Necessità di sincronizzare dopo un periodo di tempo Protocolli di sincronizzazione Si basano Scambio messaggi: two-way one-way sender timestamp receiver sender timestamp Sincronizzazione : Sender-Receiver Receiver-Receiver receiver Studi presenti in letteratura sulle reti di sensori wireless protocolli TPSN Timing-sync Protocol for Sensor Networks FTSP Flooding Time Synchronization Protocol BSB Broadcast Synchronization over Bluetooth RBS Reference Broadcast Synchronization PTP Precision Time Protocol ARSP TSECM (S. Ganeriwal, R. Kumar, M.B. Srivastava) (M. Maròti, B. Kusy, G. Simon, À. Lédeczi) (R. Casas, H.J. Gracia, A. Marco, J.L. Falco) (J. Elson, L. Girod, D. Estrin) (J. Kannisto, T. Vanhatupa, M. Hannikainen, T.D. Hamalainen) Adaptive-Rate Time Synchronization Protocol (D. Macii, D. Petri) Time Synchronization with Extended Clock Model (H. Liming) Synchronization phase TPSN:funzionamento Consideriamo una rete di due nodi 1) “A” invia un messaggio a T1 2) “B” riceve questo pacchetto a T2= T1+Δ+d; 3) “B”risponde all’istante T3 con i Δ = [(T2-T1) - (T4-T3)]/2 tempi T2,T3. 4) “A”al tempoT4= T3-Δ+d ha a tuti d = [(T2-T1) + (T4-T3)]/2 i timestamp,T1,T2,T3,T4 5) “A” calcola offset e propagation delay e aggiorna il proprio timer Δ = offset d = prop. delay A B Perche? Tra l'invio di un messaggio e la sua ricezione c'è un ritardo aleatorio introdotto dal canale wireless • • • • • • T2=T1+Δ+d+SA+RB Calcolo offset T4=T3-Δ+d+SB+RA Δ = offset d = prop. delay Send time (aleatorio): tempo speso per la costruzione del pacchetto per andare dal livello applicazione al livello MAC, dovuto al carico di lavoro della CPU. (fino a 100ms) Access time (aleatorio): tempo per l'accesso al canale (da ms a s) Trasmission time (deterministico): tempo impiegato per trasmettere i bit di dati (≈10ms) Propagation time (deterministico): tempo impiegato per la propagazione sul link wireless (<1us) Reception time (deterministico): tempo impiegato per ricevere i bit e passarli al livello MAC (≈10ms) Receive time (aleatorio): tempo impiegato dal pacchetto per andare dal livello MAC al livello applicazione (fino a 100ms) [(T2-T1) - (T4-T3)]/2 =Δ +(SA-SB)/2+(RB-RA)/2 [(T2-T1)+(T4-T3)]/2 =d +(SA+SB)/2+(RB+RA)/2 Protocolli basati su regressione lineare: FTSP Flooding Time Synchronization Protocol – Maróti, Kusy, Simon, Lédeczi Ts = timestamp del sender Tr = timestamp del receiver = mTs + b • Sincronizzazione temporale dell’intera rete con errori dell’ordine del (tempo globale) (tempo locale) µs • Scalabilità fino a centinaia di nodi Invio di Ts [1] per l’allineamento dei clock • Invio di 8 timestamp (Ts [2], Ts il receiver Robustezza ai cambiamenti di [9]), topologia della calcola rete e ail’offset guastiTs di [n] – Tr [n] e salva gli 8edata collegamenti nodipoint risultanti (Ts [n], offset [n]), i quali vengono impiegati per il calcolo della retta di regressione, rappresentante la retta • che Elevata precisione igrazie al timestamping a l’errore livello MAC e meglio approssima dati sperimentali (minimizza compensazione del clock drift e della variabilità della comunicazione quadratico) Invio di Ts [10], il receiver registra il proprio tempo locale Tr [10], linea di regressione mediante la regressione lineare point calcola il termine di correzione Δ = mTs [10] + b usando data i coefficienti errore calcolati con la regressione e corregge il proprio tempo Tr [10] = Tr [10] +Δ