Virtlab:Komponenty/Rozdělení rezervačního a aktivačního serveru
Z VirtlabWiki
Verze z 10:04, 15. 10. 2007 Vav166 (Diskuse | příspěvky) ← Předchozí porovnání |
Verze z 11:33, 15. 10. 2007 Vav166 (Diskuse | příspěvky) Následující porovnání → |
||
Řádka 3: | Řádka 3: | ||
[[Image:P8030001.JPG|400px]] | [[Image:P8030001.JPG|400px]] | ||
- | 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 [[Virtlab:Aktivační server – komunikační protokol | komunikačním protokolu aktivačního serveru]]. | + | 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 [[Virtlab:Protokoly/Aktivační server | 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ě 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. |
Verze z 11:33, 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.