Virtlab:Komponenty/Rozdělení rezervačního a aktivačního serveru
Z VirtlabWiki
Verze z 11:33, 15. 10. 2007 Vav166 (Diskuse | příspěvky) ← Předchozí porovnání |
Verze z 09:07, 16. 10. 2007 Vav166 (Diskuse | příspěvky) Následující porovnání → |
||
Řádka 1: | Řádka 1: | ||
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: | 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: | ||
- | [[Image:P8030001.JPG|400px]] | + | [[Image:P8030001.JPG|thumb|left|400px|tabule s návrhem]] |
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]]. | 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]]. | ||
Řádka 12: | Řádka 12: | ||
[[Kategorie:Rezervační server]] | [[Kategorie:Rezervační server]] | ||
[[Kategorie:Aktivační server]] | [[Kategorie:Aktivační server]] | ||
+ | [[Kategorie:UNCOMPLETE]] |
Verze z 09:07, 16. 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.