Tijd is cruciaal. Zeker in de IT. Tijd is de enige constante die met zekerheid continue op een vastgestelde wijze veranderd. Zonder gecontroleerde tijd ziet de wereld er compleet anders uit. Afspraken over tijd zijn cruciaal voor elektronische toegangssystemen, financiële transactie systemen, maar ook in medische IT systemen is de factor tijd cruciaal. Nog afgezien van je timeline op facebook of twitter. Goede afspraken over de factor tijd zijn levensreddend of kunnen levensbedreigend zijn als hier zaken mis gaan.
IT is in de laatste 20 jaar zo complex geworden dat we niet meer altijd bewust zijn van simpele, maar cruciale zaken. Een tijd goed afspreken met een paar mensen is al lastig. Wiens horloge houden we aan? Of kijken we allemaal tegelijk op dezelfde atoomklok om op tijd op onze afspraak te zijn?
Door het continue toenemen van de afhankelijkheid van IT in ons leven zijn er gelukkig mensen die zich daadwerkelijk ernstig druk maken over elementaire zaken, zoals tijd. Sinds heel lang werken computers met het NTP protocol (Network Time Protocol). Het Netwerktijdprotocol (NTP) is een protocol waarmee computers die onderling met elkaar in verbinding staan, hun interne klok kunnen synchroniseren met andere computers. Zo gaan transacties op de beurs goed, werkt een bankoverschrijving, een OV-chipsysteem en weet de verkeersleiding op Schiphol een vliegtuig tijdig naar de juiste landingsbaan te wijzen.
Opgeschrikt door kwetsbaarheden en zeer veel gebruikte encryptie programmatuur zoals openssl (veel gebruikt op internet voor alles wat met het bekende https:// communiceert), zijn een paar mensen verder gaan kijken naar andere zaken die iedereen gebruikt. Een van deze elementaire zaken in de IT is het NTP protocol. Na een inventarisatie is gebleken dat het NTP protocol op veel punten niet meer aan de eisen van deze tijd voldoet. Denk aan:
- Onvoldoende veilig.
- Niet betrouwbaar genoeg.
- Niemand onderhoudt actief de software (mede door de complexiteit)
- Niet groen. Doordat NTP op iedere computer wereldwijd wordt gebruikt, kan het verminderen van de cpu belasting op één computer met 0.1% al een geweldige impact hebben op het wereldwijde energie probleem.
Rondom veiligheid is het met het huidige NTP protocol apart geregeld. In essentie is het handig gebleken dat het NTP protocol waarmee alle computer wereldwijd verbonden zijn gelijk lopen met een atoomklok en een kalender die wij mensen gebruiken. Om dit te bereiken is een organisatie bedacht die gaat over de beruchte ‘leap second’. Ofwel af en toe is een correctie nodig op de computertijd (de centrale NTP servers) om te zorgen dat computers zich wel blijven schikken naar onze jaartelling, met jaren, maanden, dagen en soms een schrikkeljaar of de ‘schrikkelseconde’.
Nu is het mooie dat bijna niemand in de westerse wereld wat merkt van de schrikkelseconde correctie. Maar stel je voor: Alle systemen op Schiphol krijgen een tijd ‘reset’ om een tijdcorrectie door te voeren. Dit soort type wijzigingen wil je liever niet. Zeker niet als je in een vliegtuig zit. Maar aangezien het niet anders kan gebeurt dit ’s nachts wanneer het vliegverkeer in Europa minimaal is. Het is goed om te weten dat tijdens de invoering in 2012 van de vorige ‘schrikkelseconde’ een aantal computersystemen écht op hol zijn geslagen met desastreuze gevolgen.
De volgende invoering van de volgende schrikkelseconde staat gepland eind juni 2015. In Europa hebben we hier waarschijnlijk weinig last van, gezien de tijd van invoering. Echter op het geplande tijdstip is het spitsdrukte in de luchtverkeer in Azië en het Midden-Oosten. Ga jij vliegen op 30 juni 2015? Essentie van het probleem is dat de organisatie die besluit wanneer deze correctie actief wordt in Europa zit (Frankrijk). Daarnaast is het ook een technisch probleem wat te maken heeft met hoe het NTP protocol nu in elkaar zit.
Op Fosdem 2015 waren dit jaar de absolute kopstukken en trekkers aanwezig die het probleem met de computertijd voor de komende 100 jaar gaan oplossen. Op onderstaande foto staat de essentie van het probleem net iets anders verwoord. Ofwel: Als het NTP protocol en de software uit 1971 komt, dan zijn zorgen meer dan terecht.
De man die een enorme bijdrage gaat leveren aan de nieuwe implementatie versie van de software voor het NTP protocol (genaamd NTIMED) is de bij leven al legendarische open source hacker Poul-Henning Kamp . Op bovenstaande foto maakt hij ons deelgenoot van zijn verbazing over de status van het NTP protocol en code. Omdat de nieuwe versie van de cruciale tijd synchronisatie programmatuur zeer waarschijnlijk vroeg of laat op iedere computer wereldwijd te vinden is, is openheid belangrijk. De ontwikkeling vindt dan ook geheel plaats vanuit een open source initiatief om transparantie en licentie perikelen in gebruik te voorkomen. Ook is nu natuurlijk aanzienlijk meer aandacht voor toekomstig onderhoud van de code, met SSL perikelen nog altijd vers op het netvlies.
Bij het neerzetten en verbeteren van een complex high performance transactie systeem, is het meenemen van de factor tijd in het ontwerp van cruciaal belang. Zo zijn waardes van data en informatie zijn tijdsgebonden en is het juist omgaan in bewaren data met een juiste tijd een niet triviaal probleem. IT architectuur kan hier bij helpen!