next up previous contents index
Next: Způsoby výběru parent serverů: Up: Implementace ICP v PET Previous: Stručný popis zpracovávání požadavku

Detekce nedosažitelných serverů

 Použití ICP má jednu velkou nevýhodu. Pokud žádný z dotazovaných počítačů nepošle kladnou odpověď, musíme čekat na odpovědi od všech počítačů nebo na vypršení časového intervalu pro čekání na odpovědi. Je - li některý server nefunkční, čekáme pak tedy na vypršení časového intervalu. Je proto vhodné nějakým způsobem detekovat výpadek některého ze sibling serverů.

Pro vyřešení tohoto problému jsme nalezli následující řešení:

Pokud sibling server neodpoví před vypršením časového limitu, je u něj nastaven příznak a příště na něj nečekáme. Tento příznak se nastavuje i pokud se nepodaří spojit s některým parent serverem při získávání dokumentů. Příznak je zrušen pokud přijde od tohoto počítače odpověď na nějaký ICP.

Výše popsaná detekce však nemusí ve všech případech pracovat správně. Pokud totiž nastavíme příznak nedosažitelnosti u nejpomalejší sibling počítač nemusí dostat po výpadku šanci se znovu přihlásit. Jeho odpověď přijde vždy později než odpověď posledního počítače na který čekáme. Pokud bychom příznak nastavili u počítače, který je pouze parentem, také bychom ho nikdy nedokázali odstranit. Řešením výše zmíněných problémů je v určitých intervalech čekat na odpovědi od všech sibling počítačů a zkoušet všechny parent počítače. Tento interval je nastavitelný v konfiguračním souboru.


next up previous contents index
Next: Způsoby výběru parent serverů: Up: Implementace ICP v PET Previous: Stručný popis zpracovávání požadavku
Stanislav Pavlicek
2000-06-12