10   Virtuální prostředí pro spolupráci

Aktivita Virtuální prostředí pro spolupráci zastřešuje projekty na bázi multimediálních přenosů dat nad vysokorychlostními sítěmi. Aktivita v sobě zahrnuje dva základní směry: synchronní komunikační infrastrukturu požadující minimalizaci zpoždění pro efektivní interaktivní komunikaci (např. videokonference, telekonzultace, interakce se vzdálenými aplikacemi) a na část zabývající se jednosměrnými, a tedy svým charakterem spíše asynchronními přenosy bez požadavku na omezení zpoždění. Pracujeme v celém spektru aplikací, od čistě teoretického výzkumu a vývoje až po praktickou implementaci a podporu provozu produkčního prostředí pro spolupráci u pilotních uživatelů.

10.1   Synchronní komunikační infrastruktura

Hlavním předmětem výzkumu v rámci synchronní komunikační infrastruktury je distribuce a zpracování dat takovým způsobem, aby výsledné zpoždění ve smyslu end-to-end bylo co nejnižší. Pokračovali jsme ve výzkumu distribučních prvků v síti, umožňujících vysoce výkonné, robustní a uživatelem řízené synchronní zpracování a distribuci. Dále jsme se zabývali efektivním ukládáním dat a přístupu k nim i v případě, když uživatel není momentálně připojen on-line. Toto řešení je přípravou například na ukládání nekomprimovaného HD videa v reálném čase jako součást archivace HD videokonference.

10.1.1   Výzkum a vývoj distribuovaných aktivních prvků pro distribuci a zpracování multimediálních dat

V předchozím roce jsme započali vývoj samoorganizující se sítě distribuovaných aktivních prvků, která v konečné fázi umožní výrazné navýšení škálovatelnosti samotného aktivního elementu a efektivnější využití síťové infrastruktury. Tato samoorganizující se síť je navržena tak, aby striktně oddělovala mezi řídící částí a částí pro posílání samotných (většinou multimediálních) dat. Zatímco modely distribuce dat (tj. způsoby rozesílání dat mezi jednotlivými aktivními elementy tvořícími samoorganizující se síť) byly předmětem našeho výzkumu v průběhu minulého roku, letos jsme se zaměřili na prototypovou implementaci řídící části sítě, která je zodpovědná zejména za sestavení a koordinaci celé sítě, rozkládání zátěže či připojování a odpojování klientů.

Prototypová implementace nazvaná jSon byla vytvořena v jazyce C s využitím JXTA P2P prostředí. Detailní popis architektury jSon je možno nalézt v [PHH06]. Vytvořenou prototypovou implementaci jsme podrobili řadě testů, zejména testům škálovatelnosti, robustnosti a vlivu na celkové zpoždění zasílaných dat - naměřené výsledky je rovněž možno nalézt v [PHH06].

Mimo distribuci aktivních prvků jsme se v průběhu roku soustředili i na paralelní zpracování procházejících dat na aktivním prvku. Pro tyto účely jsme navrhli jeho paralelní architekturu [HoH06] vhodnou pro implementaci na výpočetním clusteru propojeném nízkolatenční sítí Myrinet. Před vlastním clusterem je umístěna distribuční jednotka, která mezi jednotlivé paralelní jednotky cyklicky rozesílá příslušné datové pakety, a agregační jednotka (potenciálně identická s distribuční, pokud je to implementačně vhodné), kde jsou data po zpracování na paralelních uzlech odeslána přímo na cílové adresy.

[Figure]

Figure 10.1: Navržená infrastruktura distribuovaného aktivního elementu

Implementaci jsme následně podrobili testům vlivu paralelního zpracování na výsledné přeskládání procházejících paketů. Po analýze výsledků jsme pro snížení přeuspořádání paketů procházejících aktivním elementem, což je inherentní vedlejší efekt takto jemné paralelizace, navrhli algoritmus explicitní synchronizace paralelních jednotek, nazvaný "Fast Circulating Token", jehož testy prokázaly zásadní a shora ohraničené snížení celkového počtu přeskládaných paketů. Pro jeho účely jsou paralelní jednotky uspořádány do logického kruhu, ve kterém si předávají token sloužící jako bariéra pro zahájení odesílání dat. Token v sobě mimo jiné obsahuje pořadové číslo oběhu, podle kterého se jednotky rozhodují, zda přijatý datový paket mají zahodit (v případě, že je příliš starý) nebo odeslat k cíli.

10.1.2   Podpora kvality služby (QoS) v aktivním směrovači (AR)

V předchozích letech jsme navrhli model aktivního směrovače [HlS01] (síťového prvku schopného provádět uživatelem řízené zpracování uvnitř sítě), který je schopen do své paměti nahrávat uživatelské programy, které pak nad procházejícími daty provádí. Vzhledem k novým trendům v oblasti informačních technologií a novým požadavkům na směrovač kladeným jsme se v průběhu letošního roku soustředili na návrh jeho inovované architektury [RHH06] (viz obrázek), která splňuje veškeré požadavky. Proto jsme do směrovače přidali podporu virtuálních strojů (VM), možnost neuspořádaného zpracování bloků procházejících dat s využitím protokolu ARTP [Reb05] či komplexní architekturu systému správy zdrojů a možnost jejich hierarchického přidělování.

[Figure]

Figure 10.2: Architektura aktivního směrovače s podporou QoS a VM (large image)

Hlavní cíle této práce očekáváme v průběhu příštího roku, během kterého bychom chtěli vytvořit prototypovou implementaci navrženého směrovače a podrobit ji řadě testů, na jejichž základě pak chceme zvážit implementaci nejvhodnějších algoritmů pro zachování kvality služby do výše zmíněného aktivního elementu. Architekturu aktivního směrovače bychom v rámci výzkumu během příštího roku chtěli rozšířit i do distribuovaného/paralelního prostředí a studovat mechanismy pro zachování kvality služby a vyrovnávání zátěže uvnitř takto implementovaného paralelního prvku.

10.1.3   Model AE využívající programovatelný hardware pro distribuci dat

Výkon aktivního elementu (AE) do značné míry závisí na výkonu procesoru v počítači, na němž je spuštěn. Pro zvýšení výkonu AE by tak bylo zapotřebí minimalizovat množství operací, které musí procesor provést. To je možné realizovat implementací některých částí AE ve specializovaném hardwaru. V letošním roce jsme se zabývali akcelerací AE pomocí hardwarové karty COMBO [NFA03] vyvíjené v rámci aktivity Programovatelný hardware. Myšlenka akcelerace spočívá v tom, že hardwarová karta převezme část funkcí softwaru aktivního prvku a vykonává je za něj.

Pro akceleraci AE jsme uvažovali kartu COMBO, jež vzhledem k operačnímu systému funguje jako běžná síťová karta, která umožňuje data buď poslat operačnímu systému nebo je sama kompletně zpracovat a odeslat dál bez vědomí zbytku systému. V naší práci jsme se zaměřili na akceleraci celé cesty paketu zrcadlem, a to té nejjednodušší, kdy paket nevyžaduje žádné další zpracování mimo rozeslání na seznam cílových adres. Distribuční seznamy pro pakety, které není třeba nijak zpracovávat, jsou předávány periodicky z aktivního elementu do hardwarové karty. Pakety, u kterých karta zná distribuční seznam, jsou tak replikovány a přímo odesílány na cílové adresy bez účasti operačního systému a vlastního AE. Ostatní pakety jsou propuštěny do softwaru a jsou zpracovány standardním způsobem.

Jako součást implementace akcelerovaného aktivního elementu jsme vytvořili speciální nanoprogram pro kartu COMBO, který zajišťuje získávání potřebných informací z hlaviček procházejících paketů a jejich předávání vyhledávací jednotce, která podle těchto informací rozhoduje o dalším osudu paketu. V případě, že paket má být zpracován bez předání do softwaru, je výsledkem vyhledávání informace o tom, kolik kopií paketu je třeba vytvořit a jak se v každé kopii mají změnit hlavičky před odesláním do sítě. Záznam o každé kopii je umístěn do výstupní fronty a po aplikaci odpovídajících změn je paket přeposlán dále do sítě. Implementaci jsme otestovali pomocí simulátoru NSIM.

10.1.4   Distribuovaný systém se silnou podporou offline režimu

Navrhli jsme architekturu distribuovaného ukládáni dat, které umožňuje neomezený offline přístup k datům. Systém explicitně nerozlišuje mezi online a offline stavem. V návrhu jsme kladli důraz na absenci distribuovaného zamykání, které není funkční s neomezeným offline přístupem. Zároveň s absencí distribuovaného zamykání jsme se chtěli vyhnout konfliktním aktualizacím souborů. Jedna z možností byla použít verzované soubory, jež však způsobují problémy s koordinací čísel verzí. Navrhli jsme distribuovaný algoritmus pro správu čísel verzí bez nutnosti zamykání. Provedli jsme prototypovou implementaci, která ukázala dobrou škálovatelnost navrženého řešení. Do budoucna bychom chtěli podporovat alespoň v omezené formě i neverzované soubory.

10.2   Vyhledávání v multimediálních datech a HD streamování

V letošním roce jsme rozšířili vyhledávač multimediálních souborů o další země. Momentálně tak indexujeme následující domény nejvyšší úrovně (seřazeno abecedně): .at (Rakousko), .be (Belgie), .ca (Kanada), .com, .cz (Česko), .de (Německo), .dk (Dánsko), .edu, .es (Španělsko), .fi (Finsko), .fr (Francie), .gr (Řecko), .hu (Maďarsko), .ch (Švýcarsko), .ie (Irsko), .it (Itálie), .nl (Nizozemsko), .org, .pl (Polsko), .pt (Portugalsko), .se (Švédsko), .sk (Slovensko), .ua (Ukrajina) a .uk (Velká Británie).

Celkem indexujeme přes sedm miliónů unikátních adres multimediálních souborů. Do systému lze řízeně zadávat adresy webových/multimediálních serverů k zaindexování.

Pro zvýšení indexovacího výkonu jsme nasadili systém destilatorGRID (viz [Krs06]), který využívá masivní paralelizace formou předávání destilačních úkolů velkému množství koncových stanic. Tyto stanice jsou provozovány v počítačových studovnách vysokých škol, v mimopracovní době, kdy nejsou obsazeny studenty. Vyzkoušeli jsme nasazení v prostředí s 96 destilátory běžícími paralelně, což znamenalo cca padesátinásobný nárůst výkonu. Důvodem nelineárního nárůstu výkonu byl omezený výkon serveru, který distribuuje výpočetní úkoly koncovým stanicím.

Živý HD streaming v běžně dostupných formátech (Windows Media a Real Video) jsme realizovali společně se dvěma dodavateli obsahu. Prvním je systém HDTV1.CZ (nekomerční kulturní obsah dodávaný z mimoakademického prostředí) a druhý je Artyčok TV (aktivita AVU). Systém HDTV1.CZ vysílá v rozlišení 720 řádků, systém Artyčok TV vysílá ve formátech 720 a 1080 řádků.

10.3   Videokonferenční infrastruktura H.323/SIP

Rozvoj videokonferenční infrastruktury H.323 a SIP se tento rok nesl v duchu hlubší integrace obou podporovaných signalizačních protokolů (H.323 a SIP). Naše současná infrastruktura umožňuje nyní realizovat smíšené vícebodové videokonference přes MCU a využívá společného číslovacího plánu.

Produkční systém MCU, stejně jako všechny koncové videokonferenční stanice v naší správě jsou průběžně povyšovány na nejnovější verze firmware a jsou většinou schopny pracovat v obou signalizačních protokolech.

Do našeho portfolia koncových videokonferenčních stanic jsme tento rok doplnili dva nové typy. Integrační kodek Polycom HDX a týmové LifeSize Room. Oba typy těchto stanic jsou schopny realizovat videokonference v HD rozlišení (1280×720p). Posun v kvalitě přenášených signálů je natolik významný, že bude mít tento trend podle našeho názoru zcela zásadní vliv na další rozvoj a rozšíření videokonferenčních nástrojů.

Díky spolupráci s týmem ze SWITCH jsme získali aktuální verzi rezervačního systému pro MCU. Nyní provádíme úpravy v autentizačních modulech směrem k plánovanému federativnímu řešení AAI.

Aktuálně probíhá povýšení hardwarové části jednotky pro vícebodové videokonference MCU, které v první fázi umožní až ztrojnásobení kapacity tohoto zařízení a v dalším období lze doplněním dalších modulů tuto hodnotu ještě zvýšit.

10.4   Audiostreaming a broadcasting

Provoz systému pro digitální přenos audiosignálu ve vysoké kvalitě představuje nároky nejen na kvalitu zvukovou, ale také na velkou odolnost proti výpadkům. Pro zvýšení odolnosti a robustnosti našeho produkčního streamovacího systému jsme jej rozšířili o nové servery. V současné konfiguraci pořizují Ogg Vorbis streamy tři enkódovací servery z navzájem nezávislých zdrojů DVB-S, DVB-T a odbavovacího pracoviště Českého rozhlasu. Producenti běžící na těchto strojích vysílají streamy duplicitně na dva streamovací servery zapojené do tzv. Linux Virtual Server (LVS) clusteru, který je pak zpřístupňuje přes jedinou IP adresu odpovídající jménu radio.cesnet.cz. K této adrese se připojují klienti jednotlivých posluchačů.

V případě výpadku konektivity nebo streamovací služby jednoho ze serverů dojde k jeho vyjmutí z tzv. server poolu a provoz je automaticky přesunut na druhý server. Po obnovení služby je odstavený server automaticky přidán do skupiny server poolu zpět. Pro vlastní implementaci jsme použili svobodné programové vybavení z projektu keepalived, které pracuje nad vrstvou LVS jádra Linuxu a dovoluje sledovat dostupnost serverů na úrovních Layer 3, Layer 4 a Layer 5/7. Celý náš systém je tedy tvořen třemi enkódovacími a dvěma streamovacími servery a je odolný proti současnému výpadku dvou enkódovacích a jednoho streamovacího serveru. K ošetření výpadku i následné obnově zdroje dojde automaticky bez zásahu lidské obsluhy. Podrobný popis řešení je uveden v technické zprávě, produkční implementace bylo dosaženo.

Při implementaci vícekanálového streamovacího systému jsme chtěli dosáhnout obdobných cílů, které jsme si stanovili při stavbě dvoukanálového systému pro internetové vysílání - co možná nejvyšší kvalitu přenášeného zvuku, přijatelnou dostupnost ze strany klientů a stabilitu systému. Při hledání vhodných komponent a nástrojů, které bychom mohli pro sestavení takového streamovacího systému použít, se citelně projevila skutečnost, že vícekanálový streaming je technologie, která zatím není rozšířena. Většina aplikací, které se používají u běžného dvoukanálového zpracování, totiž více kanálů nepodporuje. Proto jsme museli použít jiné řešení, než jsme zvolili u stereofonního vysílání.

Celý systém jsme postavili na základě otevřeného formátu pro kódování a dekódování multimediálního obsahu Ogg Vorbis a na svobodném software VLC, který jej dokáže ve vícekanálové podobě generovat. Program VLC jsme použili na pozici producenta, který vytváří výstupní stream a předává jej svému výstupnímu modulu, který ho vysílá - zpřístupňuje jednotlivým koncovým klientům. Obecně však nic nebrání rozdělení systému na obvyklé oddělené části producenta a streamovacího serveru, protože producent VLC může vysílat Ogg Vorbis stream na jiný server, na němž běží instance VLC, která jej přijímá a protokolem HTTP pak nabízí koncovým klientům. Zvýšení odolnosti proti výpadkům lze zajistit stejnou technologií IP virtuálního serveru se sdílenou adresou, jakou používáme i u produkčního dvoukanálového systému.

Podpora vícekanálového zvuku není úplně běžná ani u klientů - přehrávačů zvuku. Z řady klientů podporujících Ogg Vorbis dokáže vícekanálový stream zpracovat jen VLC. Klient VLC je však svobodný a multiplatformní software, který dokáže pracovat s mnoha různými formáty a lze jej provozovat v prostředí Linux, Windows, Mac OS X, BSD, Solaris, WinCE a dalších. Díky kvalitě a dostupnosti jeho obliba i rozšíření stále významně roste. Provoz celého systému je stabilní, kvalitu zvuku považujeme za vysokou. Podrobný popis řešení je uveden v technické zprávě, produkční implementace bylo dosaženo.

V tomto roce bylo také cílem prověřit možnosti naší infrastruktury budované pro audiostreaming v oblasti streamování videa. Zvolili jsme opět otevřené formáty, video kodek Theora a transportní formát OGG. V tomto formátu jsme také vysílali přímý přenos v rámci multimediálního projektu Českého rozhlasu Leonardo - Odhalení (trochu jiná reality show, která sledovala život goril v pavilonu pražské ZOO). Ověřili jsme si tak nejen stabilitu vybudovaného řetězce pro audiostreaming a broadcasting, ale i kvalitu otevřených technologií, kterou zastřešuje organizace Xiph.

CESNET se pravidelně účastní projektů multimediální skupiny v ČRo. V minulých letech to byly např. přímé přenosy z hnízdění chráněných druhů ptáků, nebo přenos unikátního porodu vzácné formy nosorožce bílého. Letos byl multimediální projekt Českého rozhlasu Leonardo Odhalení velmi úspěšný, neboť zvítězil v prestižní soutěži Wildscreen v kategorii ARKive Interactive Awards. Tato největší a nejprestižnější přehlídka přírodovědných filmů a projektů probíhá jednou za dva roky v Bristolu a je pokládána za obdobu filmových Oscarů.

10.5   Přímá podpora

Přímá podpora plnila i v tomto roce svoji funkci a uspokojovala ad-hoc požadavky na technologické zabezpečení pro komunikující skupiny a jednotlivce. V rámci přímé podpory jsme distribuovali startovací videokonferenční kity pro nové řešitele, ověřovali nové produkty v oblasti synchronní komunikace a konzultacemi jsme podpořili rozvoj modelů synchronní komunikace na řadě větších instalací.

předchozí
obsah
následující
fond rozvojemetacentrumliberouterpřenosyvideoservereduroamdalší servery