Passa al contenuto principale

4. Definitions (Definizioni)

In questa sezione sono definiti alcuni termini tecnici. Una scala temporale (timescale) è un quadro di riferimento in cui il tempo è espresso come il valore di un contatore binario che aumenta in modo monotono con un numero indefinito di bit. Conta in secondi e frazioni di secondo, quando viene impiegato un punto decimale. La scala temporale del Tempo Coordinato Universale (Coordinated Universal Time, UTC) è definita dalla ITU-R TF.460 [ITU-R_TF.460]. Sotto gli auspici della Convenzione del Metro del 1865, nel 1975 la CGPM [CGPM] ha fortemente approvato l'uso dell'UTC come base per il tempo civile.

La scala temporale del Tempo Coordinato Universale (UTC) rappresenta il tempo solare medio (mean solar time) come diffuso dai laboratori nazionali di standard (national standards laboratories). Il tempo di sistema (system time) è rappresentato dall'orologio di sistema (system clock) mantenuto dall'hardware e dal sistema operativo. L'obiettivo degli algoritmi NTP è quello di minimizzare sia la differenza di tempo (time difference) che la differenza di frequenza (frequency difference) tra UTC e l'orologio di sistema. Quando queste differenze sono state ridotte al di sotto delle tolleranze nominali (nominal tolerances), si dice che l'orologio di sistema è sincronizzato (synchronized) con UTC.

La data di un evento è il tempo UTC in cui l'evento ha luogo. Le date sono valori effimeri (ephemeral values) designati con T maiuscolo. Il tempo di esecuzione (running time) è un'altra scala temporale che coincide con la funzione di sincronizzazione del programma NTP.

Un timestamp (timestamp) T(t) rappresenta sia la data UTC sia l'offset temporale (time offset) dall'UTC al tempo di esecuzione t. Il significato inteso dovrebbe essere chiaro dal contesto. Sia T(t) l'offset temporale, R(t) l'offset di frequenza (frequency offset), e D(t) il tasso di invecchiamento (aging rate, derivata prima di R(t) rispetto a t). Allora, se T(t_0) è l'offset temporale UTC determinato a t = t_0, l'offset temporale UTC al tempo t è

T(t) = T(t_0) + R(t_0)(t-t_0) + 1/2 * D(t_0)(t-t_0)^2 + e

dove e è un termine di errore stocastico (stochastic error term) discusso più avanti in questo documento. Mentre il termine D(t) è importante quando si caratterizzano oscillatori di precisione (precision oscillators), è ordinariamente trascurato per gli oscillatori di computer. In questo documento, tutti i valori temporali sono in secondi (s) e tutti i valori di frequenza sono in secondi per secondo (seconds-per-second, s/s). È talvolta conveniente esprimere gli offset di frequenza in parti per milione (parts-per-million, ppm), dove 1 ppm è uguale a 10^(-6) s/s.

È importante nelle applicazioni di cronometraggio informatico valutare le prestazioni della funzione di cronometraggio. Il modello di prestazioni NTP (performance model) include quattro statistiche che vengono aggiornate ogni volta che un client effettua una misurazione con un server. L'offset (offset, theta) rappresenta l'offset temporale di massima verosimiglianza (maximum-likelihood time offset) dell'orologio del server rispetto all'orologio di sistema. Il ritardo (delay, delta) rappresenta il ritardo di andata e ritorno (round-trip delay) tra il client e il server. La dispersione (dispersion, epsilon) rappresenta l'errore massimo (maximum error) inerente alla misurazione. Aumenta a una velocità pari alla tolleranza di frequenza massima disciplinata dell'orologio di sistema (maximum disciplined system clock frequency tolerance, PHI), tipicamente 15 ppm. Il jitter (jitter, psi) è definito come la media quadratica (root-mean-square, RMS) delle differenze di offset più recenti, e rappresenta l'errore nominale (nominal error) nella stima dell'offset.

Mentre le statistiche theta, delta, epsilon e psi rappresentano misurazioni dell'orologio di sistema rispetto a ciascun orologio del server separatamente, il protocollo NTP include meccanismi per combinare le statistiche di diversi server per disciplinare e calibrare più accuratamente l'orologio di sistema. L'offset di sistema (system offset, THETA) rappresenta la stima di offset di massima verosimiglianza (maximum-likelihood offset estimate) per la popolazione del server. Il jitter di sistema (system jitter, PSI) rappresenta l'errore nominale nella stima dell'offset di sistema. Le statistiche delta ed epsilon vengono accumulate a ciascun livello di strato (stratum level) dall'orologio di riferimento per produrre le statistiche di ritardo radice (root delay, DELTA) e dispersione radice (root dispersion, EPSILON). La distanza di sincronizzazione (synchronization distance, LAMBDA) uguale a EPSILON + DELTA / 2 rappresenta l'errore massimo dovuto a tutte le cause. Le formulazioni dettagliate di queste statistiche sono fornite nella Sezione 11.2. Sono disponibili per le applicazioni dipendenti al fine di valutare le prestazioni della funzione di sincronizzazione.