In un sistema con un server centrale, la soluzione di sincronizzazione è banale; il server detterà l’ora del sistema. L’algoritmo di Cristian e l’algoritmo di Berkeley sono potenziali soluzioni al problema della sincronizzazione dell’orologio in questo ambiente.
Nel calcolo distribuito, il problema assume una maggiore complessità perché un tempo globale non è facilmente noto. La soluzione di sincronizzazione dell’orologio più utilizzata su Internet è il Network Time Protocol (NTP) che è un’architettura client-server a strati basata sul passaggio di messaggi User Datagram Protocol (UDP). Lamport timestamp e orologi vettoriali sono concetti dell’orologio logico nel calcolo distribuito.
In una rete wireless, il problema diventa ancora più impegnativo a causa della possibilità di collisione dei pacchetti di sincronizzazione sul supporto wireless e del più alto tasso di deriva degli orologi su dispositivi wireless a basso costo.
- Berkeley algorithmEdit
- Clock-sampling mutual network synchronizationEdit
- L’algoritmo di Cristianedit
- Global Positioning SystemEdit
- Inter-range Instrumentation Group time codesEdit
- Network Time ProtocolEdit
- Precision Time ProtocolEdit
- Sincronizzazione di trasmissione di referenzamodifica
- Sincronizzazione dell’infrastruttura di trasmissione di referenzamodifica
- Synchronous EthernetEdit
- Reti ad hoc wirelessEdit
Berkeley algorithmEdit
L’algoritmo di Berkeley è adatto per sistemi in cui non è presente una radiosveglia, questo sistema non ha modo di assicurarsi del tempo effettivo se non mantenendo un tempo medio globale come il tempo globale. Un server di tempo recupererà periodicamente il tempo da tutti i client di tempo, medierà i risultati e quindi riferirà ai client la regolazione che deve essere apportata ai loro orologi locali per raggiungere la media. Questo algoritmo evidenzia il fatto che gli orologi interni possono variare non solo nel tempo che contengono, ma anche nella frequenza di clock.
Clock-sampling mutual network synchronizationEdit
Clock-sampling mutual network synchronization (CS-MNS) è adatto per applicazioni distribuite e mobili. È stato dimostrato che è scalabile su reti mesh che includono nodi non adiacenti collegati indirettamente ed è compatibile con IEEE 802.11 e standard simili. Può essere accurato nell’ordine di pochi microsecondi, ma richiede una connettività wireless fisica diretta con ritardo di collegamento trascurabile (meno di 1 microsecondo) sui collegamenti tra nodi adiacenti, limitando la distanza tra nodi vicini a poche centinaia di metri.
L’algoritmo di Cristianedit
L’algoritmo di Cristian si basa sull’esistenza di un server temporale. Il time server mantiene il suo orologio utilizzando un orologio radio o altra fonte di tempo preciso, quindi tutti gli altri computer del sistema rimangono sincronizzati con esso. Un client time manterrà il suo orologio effettuando una chiamata di procedura al server time. Le variazioni di questo algoritmo rendono calcoli temporali più precisi considerando il tempo di propagazione della radio di rete.
Global Positioning SystemEdit
Oltre al suo utilizzo nella navigazione, il Global Positioning System (GPS) può essere utilizzato anche per la sincronizzazione dell’orologio. La precisione dei segnali di tempo GPS è ±10 nanosecondi.
Inter-range Instrumentation Group time codesEdit
I timecode IRIG sono formati standard per il trasferimento delle informazioni di temporizzazione. Gli standard di frequenza atomica e i ricevitori GPS progettati per la temporizzazione di precisione sono spesso dotati di un’uscita IRIG. Gli standard sono stati creati dal gruppo di lavoro per le telecomunicazioni dell’Inter-Range Instrumentation Group (IRIG) dell’esercito degli Stati Uniti, l’organismo di standard del Range Commanders Council. I lavori su questi standard iniziarono nell’ottobre 1956 e gli standard originali furono accettati nel 1960.
Network Time ProtocolEdit
Network Time Protocol (NTP) è un protocollo altamente robusto, ampiamente distribuito su Internet. Ben testato nel corso degli anni, è generalmente considerato lo stato dell’arte nei protocolli di sincronizzazione dell’ora distribuita per reti inaffidabili. Può ridurre gli offset di sincronizzazione a tempi dell’ordine di pochi millisecondi su Internet pubblico e a livelli sub-millisecondi su reti locali.
Una versione semplificata del protocollo NTP, Simple Network Time Protocol (SNTP), può essere utilizzato anche come un puro single-shot stateless protocollo di sincronizzazione primaria/secondaria, ma manca le caratteristiche sofisticate di NTP, e quindi ha molto più bassi livelli di prestazioni e affidabilità.
Precision Time ProtocolEdit
Precision Time Protocol (PTP) è un protocollo master/slave per la consegna di tempo altamente preciso su reti locali.
Sincronizzazione di trasmissione di referenzamodifica
L’algoritmo di sincronizzazione dell’ora di trasmissione di riferimento (RBS) viene spesso utilizzato nelle reti wireless e nelle reti di sensori. In questo schema, un iniziatore trasmette un messaggio di riferimento per sollecitare i ricevitori a regolare i loro orologi.
Sincronizzazione dell’infrastruttura di trasmissione di referenzamodifica
Il protocollo di sincronizzazione dell’infrastruttura di trasmissione di riferimento (RBIS) è un protocollo di sincronizzazione master/slave, come RBS, basato su un paradigma di sincronizzazione ricevitore/ricevitore. È specificamente progettato per essere utilizzato nelle reti wireless IEEE 802.11 configurate in modalità infrastruttura (ad esempio, coordinate da un punto di accesso). Il protocollo non richiede alcuna modifica al punto di accesso.
Synchronous EthernetEdit
Synchronous Ethernet utilizza Ethernet in modo sincrono in modo tale che, quando combinato con protocolli di sincronizzazione come PTP nel caso del progetto White Rabbit, si ottiene una precisione di sincronizzazione sub-nanosecondo.
Reti ad hoc wirelessEdit
La sincronizzazione viene ottenuta nelle reti ad hoc wireless tramite l’invio di messaggi di sincronizzazione in modo multi-hop e ogni nodo si sincronizza progressivamente con il nodo che è il mittente immediato di un messaggio di sincronizzazione. Gli esempi includono Flooding Time Synchronization Protocol (FTSP) e Harmonia, entrambi in grado di ottenere la sincronizzazione con precisione nell’ordine dei microsecondi.