Historia Czasu i Synchronizacji – od dyliżansów do Białego Królika
Ostatnio pochłonął mnie temat czasu i synchronizacji. Na BrandsIT.pl pokazały się już teksty omawiające te zagadnienia (https://brandsit.pl/czas-ukryty-i-niedoceniany-problem-nowoczesnych-technologii/; https://brandsit.pl/czas-i-synchronizacja-czy-przyszla-energetyka-bedzie-bezpieczna/; https://brandsit.pl/czas-i-pieniadze/). Może więc warto poświęcić parę akapitów ewolucji pojęcia „czasu” i związanej z nim „synchronizacji”.
Na przestrzeni wieków czas wyznaczany był przez słońce, według którego ustawiało się zegary (jak już zostały wynalezione). Ponieważ niektóre kraje były bardzo rozległe, godzina na ich wschodnich rubieżach różniła się od tej ustalanej na zachodzie. Przez setki lat, bez szybkiego i bezpośredniego kontaktu między miejscowościami, nie komplikowało to życia. Problemy nastąpiły wraz z pojawieniem się regularnej komunikacji międzymiastowej (na początku dyliżansy i karety), ale prawdziwe schody zapoczątkował rozwój sieci kolejowej w XIX wieku. Dla przykładu w Ameryce powstało 75 lokalnych stref czasowych (w samym Chicago były trzy), natomiast w Niemczech podróżni musieli zgadywać czy godzina odjazdu jest zgodna z Berlinem, Monachium czy Stuttgartem. Najrozsądniej podeszli do tego Anglicy, którzy od początku ustalili, że rozkłady protoplastów British Railways, bazowały na czasie londyńskim. Ujednolicenie było istotne, bo oprócz określenia precyzyjnej godziny odjazdu, pociągi jeżdżące wówczas po pojedynczych torach, unikały zderzenia z tymi jadącymi z naprzeciwka. Milowym krokiem był rok 1852, kiedy po rozbudowie sieci telegraficznej wzdłuż linii kolejowych, Królewskie Obserwatorium Astronomiczne w Greenwich, było w stanie rozesłać sygnał czasu prawie po całym kraju. Wkrótce czas londyński, przesyłany na stację, był już odniesieniem, na podstawie którego lokalne instytucje ustawiały swoje zegary. Po przyjęciu wzorca zaczęto zastanawiać się nad kwestią zgrania zegarów. Przypomnijmy, że ówczesne czasomierze mechaniczne nie były super precyzyjne i ich wskazania wraz z upływem czasu mogły się rozjeżdżać. W stolicach państw powstawały tzn. „zegary matki” (po ang. „mother clock”, po francusku „horlag-mère”, po niemiecku ”Primȁre Normaluhr”). Były one traktowane z największą atencją i to według ich wskazań regulowano zamiejscowe zegary. W ten sposób powstała nowoczesna synchronizacja.
Synchronizacja oczywiście zaistniała także w komputerach i Internecie. Pod koniec lat siedemdziesiątych, badania profesora Dawida Millsa (przez kolegów zwanego „Ojcem Czas” – „Father Time”) z Uniwersytetu w Delaware, zaowocowały pierwszymi wersjami protokołu NTP (Network Time Protocol), dziś znajdującego się w każdym urządzeniu. NTP połączył Unixa, Netware, Linuxa, BSD, OS X, a w końcu również i Microsoft Windows. Niektóre systemy wykorzystywały pełną wersję NTP, inne jak Windows i OS ograniczały się do jego uproszczonej wersji SNTP (Simple Network Time Protocol). Ale jak to zwykle bywa, pozostające ostatnio w stagnacji NTP i SNTP, zaczęły być wypierane w przemyśle przez protokół PTP IEEE1588 (Precision Time Protocol).
Oba rozwiązania są zbliżone i można dywagować nad ich zaletami i wadami. Ograniczeniem PTP jest stosowanie go w lokalnych sieciach przemysłowych i brak działania w Internecie. Zaletą PTP są za to lepsze dokładności synchronizacji, które nie tyle wynikają z samego protokołu, co z jego powiązania z kartą sieciową. W konsekwencji zintegrowania, pojawia się możliwość uwzględniania (kalibrowania) opóźnień wewnętrznych. Korekta następuje na niskim poziomie i nazwana jest w slangu technicznym znakowaniem sprzętowym czasem. Dzięki temu precyzja osiąga poziom nanosekund (miliardowych części sekundy).
Ale rekord synchronizacji należy do technologii White Rabbit (wykorzystującej PTP – Projects / White Rabbit · Open Hardware Repository (ohwr.org)) z CERN operującej na poziomie pikosekund (bilionowych części sekundy). Nie jest to jednak tylko sukces szwajcarskich zegarmistrzów (CERN jest w Szwajcarii), ale również znaczący polski wkład w światową technologię. White Rabbit (WR) – Biały Królik, to jedna z postaci Alicji w krainie czarów, ta która spotykając Alicję, mając problemy z punktualnością, wciąga ją do Krainy Czarów. Protokół współtworzyli w początkowej fazie m.in. absolwenci Politechniki Warszawskiej Tomasz Włostowski (CERN), Grzegorz Daniluk (Elproma), Maciej Lipiński (CERN), przy współudziale polskich firm Creotech (www.creotech.pl) i Elproma (www.elpromatime.com) Ta ostatnia podjęła wyzwanie wprowadzenia go na światowy rynek komercyjny: https://elpromatime.com/wp-content/uploads/2018/10/PTTI-2011-White-Rabbit.pdf
WR, początkowo zapowiadający się jako rychły sukces, niestety był opóźniany w procesie standaryzacji bez jasnych przyczyn. Gdy nie wiadomo o co chodzi to z reguły chodzi o pieniądze, więc nietrudno skonstatować, że nie był on popierany przez międzynarodowe lobby przemysłowe. Dopiero w maju 2020 protokół otrzymał standaryzację i został dołączony do PTP IEEE1588.