Virtlab:Komponenty/Rezervační server

Z VirtlabWiki

Přejít na: navigace, hledání

Původní verze virtuální síťové laboratoře umožňovala jednotlivým uživatelům, aby si mohli zarezervovat určitý čas, kdy budou s Virtlabem exkluzivně pracovat a nemohlo tedy dojít ke konfliktu, kdy více uživatelů současně zde bude chtít najednou systém používat. Nevýhodou bylo, že rezervace mohly být uskutečněny pouze v rámci přesně daných timeslotů, což neumožňovalo přílišnou flexibilitu v čase. Dále virtuální laboratoř neumožňovala spouštění více logicky stejných úloh najednou a proto při návrhu distribuované varianty bylo třeba počítat s tím, že bude moci najednou pracovat i více uživatelů z více lokalit a to na obecně různých úlohách. Bylo proto nutné navrhnout nový rezervační systém, který bude umět nejen rezervovat uživateli nějaký čas, ale bude zprostředkovávat rezervaci fyzických síťových zařízení v libovolné lokalitě distribuované virtuální laboratoře.

Aby ovládací software (PHP skript) vědět, které síťové prvky z celého distribuovaného systému může uživateli nabídnout bylo třeba implementovat i funkci vyhledávání volných zařízení v systému. A v neposlední řadě vznikl požadavek na to, aby určité prvky lokalit byly zpřístupněny jiným lokalitám jen po určitý časový interval, nejlépe v týdenním časovém plánu.

Rezervační server je démon, který běží vždy na jednom serveru v každé lokalitě distribuovaného systému a tedy v celém systému běží tolik instancí, kolik je definováno lokalit. Tento server má vždy určeno jméno své lokality, jména vzdálených lokalit a IP adresy jejich rezervačních serverů. Dále má ke každé lokalitě uveden seznam síťových prvků místní lokality, které může vzdáleným lokalitám poskytnout k zarezervování a to podle daného týdenního rozvrhu.

Když ovládací software chce zarezervovat určité prvky, pošle rezervačnímu serveru dotaz, které prvky jsou globálně v celém distribuovaném systému pro něj v určeném čase k dispozici. Rezervační server žádost zpracuje a odešle i do vzdálených lokalit. Každá lokalita má definován XML soubor s popisem vybavení místní laboratoře. Z něj rezervační server vybere nezarezervované a povolené prvky a odešle výsledný XML soubor tazateli. Rezervační server, který rozdistribuovával dotaz ovládacího software, poskládá všechny přijaté XML popisy dostupného vybavení do jediného souboru, který vrátí tazateli. Není-li k dispozici žádný síťový prvek, je vrácen platný soubor, ovšem bez zařízení.

Ovládací software XML soubor od Rezervačního serveru zpracuje, vybere z něj vhodné prvky, a může dále žádat o zarezervování seznamu síťových prvků v daném časovém rozmezí. K tomu vygeneruje globálně unikátní rezervační id ve tvaru 'celé číslo @ název lokality'. Rezervační server žádost rozdělí a pošle každé vzdálené lokalitě v žádosti jen ty prvky, které jí patří. Aby se eliminovaly konflikty, řekne místní rezervační server vzdáleným kolegům, aby onu rezervaci považovali za dočasnou. Povede-li se dočasná rezervace u všech žádaných lokalit, je všem rezervace potvrzena trvale. Může ovšem dojít k tomu, že si někdo před námi již daný síťový prvek zarezervoval a není možné rezervaci u některých z rezervačních serverů provést. Pak k potvrzení samozřejmě nedojde, po dané časové prodlevě dočasné rezervace vyprší a žádost o rezervaci selže.


  • na žádost jednotlivých lokalit poskytuje popisy síťových prvků (XML), které jsou žádající lokalitě k dispozici v intervalu uvedeném v požadavku – žádající lokalita použije pro algoritmus mapování logické topologie na fyzickou
  • přijímá, řeší a eviduje rezervační požadavky na laboratorní prvky své lokality od ostatních lokalit
    • také od své vlastní lokality jako speciálního případu


Detailní informace pro vývojáře

Osobní nástroje