Časová prodleva
Časová prodleva,[1] obvyklejší však je anglický výraz timeout nebo time-out, je v počítačových sítích a v programování označení pro dobu, po jejímž uplynutí se předpokládá, že určitá činnost skončila neúspěchem (chybou).[2]
Slovem timeout se označuje jak vlastní časová prodleva (tj. časový interval), tak vyčerpání (nebo překročení) tohoto intervalu (sloveso time out), případně i spuštění akce, která má napravit, obejít nebo ohlásit chybu.
Použití
Používáním časových prodlev se zabraňuje tomu, aby docházelo k nepřiměřeně dlouhému nebo nekonečnému čekání (zablokování), kterému v některých případech (v komunikačních protokolech) nelze zabránit uspořádáním prostředků. Proto se používají softwarové časovače.[3] V některých systémech je vyčerpání stanovené časové prodlevy v zásadě běžnou situací a nemusí signalizovat vůbec žádnou nebo žádnou závažnou chybu. Může např. vést k přepnutí na spolehlivější, avšak dražší nebo pomalejší metodu, nebo k opakování činnosti, která neuspěla vlivem krátkodobých vlivů (rušení, kolize signálu, krátkodobý nedostatek prostředků nebo zahlcení).
V počítačových sítích je typickým použitím časové prodlevy čekání na potvrzení odeslaného paketu. Pokud potvrzení není přijato ve stanoveném čase, bude provedeno opakované vysílání paketu.[4]
Časová prodleva by měla být stanovena tak, aby za obvyklé situace nedocházelo k jejímu překračování.
Časová základna
Časová prodleva nemusí nutně využívat hodiny reálného času, ale také může být založena na jiném počítadle. Některé síťové protokoly například omezují, kolikrát může být paket přeposlán (viz směrování). Internet Protocol (IP) má například v záhlaví paketu pole nazvané TTL (anglicky time-to-live, doba života), které je nastaveno na pevně stanovenou hodnotu (v IPv4 obvykle násobek 32) a při průchodu každým směrovačem sníženo o 1. Pokud hodnota TTL dosáhne nuly, bude paket zahozen. Tím se zabrání tomu, aby pakety bloudily sítí navždy, pokud jsou např. díky směrovací smyčce nebo nesprávné konfiguraci posílány stále dokola. Původním záměrem bylo implementovat okénko v reálném čase, což však bylo zavrženo kvůli neexistenci časové synchronizace mezi směrovači.
Odkazy
Reference
V tomto článku byl použit překlad textu z článku Timeout (Netzwerktechnik) na německé Wikipedii.
- AČ slovník VT 1986, s. 452.
- Microsoft Task.Wait.
- Tanenbaum 2009, 6.7.2 Communication Deadlocks.
- RFC793, 1.5. Operation, 3.7. Data Communication – Retransmission Timeout.
Literatura
- MINIHOFER, Oldřich; KRATOCHVÍLOVÁ, Jindra, 1986. Anglicko-český slovník výpočetní techniky. Praha: SNTL. 494 s.
- RFC793: Transmission Control Protocol [online]. Internet Engineering Task Force (IETF), září 1981. Dostupné online.
- TANENBAUM, Andrew S., 2009. Modern Operating Systems. 3. vyd. London: Pearson Education International.
- Microsoft, 2021. Task.Wait Method [online]. Microsoft, 2021. Dostupné online.