Looginen kello on mekanismi tapahtumien kronologisen ja kausaalisen suhteen määrittämiseksi hajautetuissa järjestelmissä , joissa ei ole yhtä fyysistä kelloa. Logiikkakellon algoritmien avulla voit saada tapahtumien osittaisen järjestyksen ajassa ja havaita syy-seuraus-suhteiden rikkomukset. Loogisen kellon tila voidaan sisällyttää sisäisiin viesteihin, jotka lähetetään järjestelmän solmujen välillä. Lamport ehdotti ja toteutti ensimmäisen kerran vuonna 1978, ja hänen työnsä palkittiin vuoden 2013 Turing-palkinnolla .
Tapahtumien kronologisen järjestyksen tunteminen on hyödyllistä laskelmien analysoinnissa, hajautettujen algoritmien luomisessa, yksittäisten tapahtumien seurannassa tai laskelmien edistymisessä [1] .
Toteutettaessa loogisia kelloalgoritmeja hajautetun järjestelmän jokaisella prosessilla on omat tietorakenteet loogisen ajan esittämiseksi, ja se käyttää erityistä protokollaa päivittäessään niitä. Tyypillisesti ne tallentavat loogisen paikallisen ajan saadakseen aikaleimat paikallisille tapahtumille ja loogisen globaalin ajan , joka vastaa prosessin globaalista ajasta. Protokolla määrittelee säännöt paikallisen loogisen ajan päivittämiselle tapahtumien suoritushetkellä sekä säännöt loogisen globaalin ajan päivitykselle edistymisen seuraamiseksi koko hajautetussa järjestelmässä [1] .
Merkittäviä esimerkkejä loogisista kelloista ovat: