Virtlab:Komponenty/Rozdělení rezervačního a aktivačního serveru

Z VirtlabWiki

(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
Verze z 14:09, 14. 8. 2007
Gry72 (Diskuse | příspěvky)

← Předchozí porovnání
Verze z 09:19, 15. 10. 2007
Vav166 (Diskuse | příspěvky)
(Stránka Virtlab:DistrRezervServerSplit přemístěna na stránku Virtlab:Komponenty/Rozdělení rezervačního a aktivačního serveru)
Následující porovnání →

Verze z 09:19, 15. 10. 2007

Původní rezervační server v sobě obsahoval kód spouštěný jako dětský proces, který zajištoval aktivaci virtuálních topologií před začátkem jednotlivých rezervací. Rodičovský proces rezervačního serveru informoval svůj dětský (aktivační) proces o významých událostech pomocí signálů. Z důvodu větší modularity jsme provedli oddělení aktivačního kódu do samostatné komponenty, čímž znikl samostatně spouštěný aktivační server. Komunikace mezi rezervačním a aktivačním serverem nyní probíhá přes TCP. Způsob rozdělení a následnou komunikaci mezi servery popisuje obrázek:

Komunikace mezi rezervačním a aktivačním serverem (vždy jen v rámci téže lokality) probíhá na portu 50002/TCP. Příkazy protokolu jsou popsány v komunikačním protokolu aktivačního serveru.

V případě nějaké změny (nové rezervace, zrušení rezervace) pošle rezervační server pokyn aktivačnímu serveru, aby se podíval do databáze a podle toho si nastavil alarm na čas nejbližší rezervace. Když rezervační server zpracovává novou rezervaci (resp. příkaz ATTACH), přepošle informaci o virtuální topologii požadované pro danou rezervaci aktivačním serveru, který si ji uloží do souboru (<resID>.dat). V případě, že pak nastane čas konkrétní rezervace, spustí aktivační server aktivační skript. V případě zrušení rezervace posílá rezervační server aktivačnímu serveru jako parametr příkazu delresid ResID zrušené rezervace, takže už si může vytvořený soubor smazat.

Za normálních okolností smaže soubor <resID>.dat aktivační skript po dokončení své činnosti.

Osobní nástroje