Algorytm Cristiana
Algorytm Cristiana (wprowadzony przez Flaviu Cristiana w 1989 r.) to metoda synchronizacji zegara , która może być stosowana w wielu dziedzinach informatyki dystrybucyjnej, ale jest stosowana głównie w intranetach o małych opóźnieniach . Cristian zauważył, że ten prosty algorytm jest probabilistyczny, ponieważ osiąga synchronizację tylko wtedy, gdy przesyłania żądania w obie strony (RTT) jest krótki w porównaniu z wymaganą dokładnością. Nie radzi sobie również we wdrożeniach wykorzystujących pojedynczy serwer, przez co nie nadaje się do wielu aplikacji dystrybucyjnych, w których nadmiarowość może mieć kluczowe znaczenie.
Opis
Algorytm Cristiana działa między procesem P a serwerem czasu S podłączonym do źródła odniesienia czasu. Mówiąc prościej:
- P żąda czasu od S w czasie t 0 .
- Po otrzymaniu żądania od P , S przygotowuje odpowiedź i dołącza czas T z własnego zegara.
- P otrzymuje odpowiedź w czasie t1 , a następnie ustawia swój czas na T + RTT/2 , gdzie RTT= t1 -t 0 .
Jeśli RTT jest faktycznie podzielone równo między żądanie i odpowiedź, synchronizacja jest wolna od błędów. Ale z powodu nieprzewidywalnych wpływów założenie to często nie jest prawdziwe. Dłuższe RTT wskazują na zakłócenia, które są generalnie asymetryczne. Przesunięcie i fluktuacja synchronizacji są zatem minimalizowane przez wybranie odpowiedniego czasu RTT z zestawu wielu par żądanie/odpowiedź. To, czy RTT może zostać zaakceptowane w danym czasie, zależy od dryftu zegara i statystyk RTT. Wielkości te można mierzyć w trakcie synchronizacji, co samo w sobie optymalizuje metodę.
Zobacz też
- Wariancja Allana
- Algorytm Berkeleya
- Synchronizacja zegara
- Protokół dzienny , starszy protokół synchronizacji czasu przy użyciu portu TCP lub UDP 13
- ICMP Timestamp i ICMP Timestamp Reply , starszy protokół synchronizacji czasu przy użyciu ICMP
- Międzynarodowy czas atomowy
- Pula NTP , zbiór komputerów na całym świecie, które zapewniają bardzo dokładny czas za pośrednictwem protokołu Network Time Protocol
- Niewłaściwe użycie i nadużycie serwera NTP
- ntpd , OpenNTPD i Ntpdate
- Protokół precyzyjnego czasu
- Synchronizacja
- Time Protocol , starszy protokół synchronizacji czasu przy użyciu portu TCP lub UDP 37
- Serwer czasu