Vyšlo v týdeníku CHIPweek č. 13/96, 26. března 1996
Vytištěno z adresy: http://www.earchiv.cz/a96/a613k150.php3

Network-Centric Computing

V minulém dílu jsme se začali zabývat směry, kterými se nejspíše bude ubírat vývoj současných výpočetních modelů. Mezi perspektivními výpočetními modely má významné postavení i ten, který stojí v pozadí za dnes tolik populárním a často citovaným jazykem Java.

Až dosud jsme v našich úvahách o výpočetních modelech předpokládali jednu velmi důležitou skutečnost - že po síti jsou mezi jednotlivými uzly přenášena data, a nikoli programy. Přesněji že po síti cestují pouze „čistá" data, zatímco vše potřebné pro jejich zpracování (prezentaci, vyhodnocení apod.) se již nachází na místě, na které tato data směřují. Jedna z možných variant distribuovaných výpočetních modelů, kterými jsme se začali zabývat minule, je postavena právě na myšlence změnit toto zakořeněné dogma, a společně s daty přenášet po síti i programy.

Nezvládnutelná složitost

Rozeberme si nejprve důsledky, které přináší dosavadní přístup spočívající v přenášení „čistých" dat. Jedním z nich je skutečnost, že potřebné prostředky pro zpracování přenášených dat musí být na cílovém počítači dostupné trvale, tak aby je bylo možné využít bezprostředně po doručení dat. To pak ale znamená, že všechny tyto prostředky musí být udržovány v jakémsi „pohotovostní" stavu, tak aby je bylo možné okamžitě spustit. Většinou tedy musí být řádně nainstalovány do operačního systému daného počítače, musí být umístěny na jeho pevném disku, a k dispozici musí být také potřebná kapacita operační paměti pro jejich spuštění. V důsledku toho pak musí být patřičným způsobem dimenzován celý uzlový počítač i jeho operační systém: musí být vybaven dostatečným objemem paměti i disků, a samozřejmě také dostatečně výkonným procesorem.

Dalším důležitým faktorem je i náročnější správa takovéhoto „plnokrevného" uzlového počítače. Zajistit jeho řádnou funkceschopnost, včetně správného nakonfigurování všech aplikací, ovladačů, knihoven a dalších systémových zdrojů je samozřejmě tím těžší, čím bohatší je repertoár prostředků které mají být trvale k dispozici. A to ještě není řeč o všelijakých upgradech, updatech a nových verzích obecně - i zde je velmi důležité starat se o aktuálnost programového vybavení daného počítače, tak aby se nestávalo že přijatá data již předpokládají novější verzi prostředků na své zpracování, zatímco k dispozici jsou jen verze starší.

Celá problematika správy uzlových počítačů přitom dostává ještě zcela novou dimenzi v okamžiku, kdy se místo jednoho uzlového počítače začne jednat o správu desítek až stovek počítačů, například v rámci nějakého podniku, firmy apod. O tom, jak těžký a pracný úkol to je, by jistě mohl vyprávět každý správce sítě.

Směrem k jednoduchosti

Myšlenka přenášet po síti kromě dat i vše potřebné pro jejich zpracování je velmi převratnou myšlenkou, která nabízí možnost jak se efektivně vyrovnat s nástrahami dosavadní složitosti a náročnosti koncových uzlů. Nyní již není nutné, aby na koncových uzlech jednotlivé programy čekaly v záloze na případ, že by byly skutečně zapotřebí. V důsledku toho pak koncový uzel nepotřebuje tak velký pevný disk, aby na něm mohl mít nahrány všechny takovéto programy. Ještě důležitější než úspora nákladů za dostatečně velký pevný disk však zřejmě bude odstranění problémů se správným konfigurováním příslušných programů a s udržováním aktuálnosti jejich verzí. Jestliže vám někdo ze sítě pošle nějaká data a spolu s nimi i programové prostředky pro jejich zpracování, lze právem očekávat že to budou správné (aktuální) verze těchto prostředků.

Obecně tedy myšlenka přenosu programů spolu s daty vede na značné zjednodušení koncových uzlů - ať již co do jejich výkonových parametrů (RAM, HD, CPU atd.), tak i co do náročnosti správy. Místo dosavadních, čím dál tím více „naducaných" počítačů, budou nyní postačovat jen značně „ořezané" stroje, po kterých se bude požadovat v zásadě jen jedna jediná základní funkčnost - schopnost „stáhnout si" ze sítě to, co budou skutečně potřebovat.

NC místo PC

Lze se divit, že se právě naznačené představy promptně chytila velká část počítačového průmyslu, vidí v něm zdroj dosud netušených zisků, a doslova se předhání ve slibech svých „ořezaných" síťových počítačů - kterým se mezitím začalo říkat „internetový terminál" (Internet Appliance), nebo poněkud výstižněji „síťový počítač" (Network Computer, zkratkou NC)? Díky své jednoduchosti budou moci být opravdu laciné (někteří výrobci hovoří o ceně do 500 dolarů, jiní dokonce do 300 dolarů), a vzhledem k tomu lze asi opravdu očekávat, že si je budou moci pořídit i lidé, kteří na dnešní počítače PC nemají. Ještě důležitější pak může být i aspekt jednoduchosti - největší odbytiště lze zřejmě očekávat v počítači dosud neposkvrněných domácnostech, kde skutečně nelze očekávat potřebné znalosti a schopnosti pro udržování softwarových konfigurací.

Nový výpočetní model

Zamysleme se nyní nad tím, jaký výpočetní model budou „internetové terminály" alias počítače NC a na nich provozované aplikace vlastně používat. Jeho podstatu se snaží naznačit dnešní obrázek.

Obrázek 1.
Představa modelu "Network-Centric Computing"
V mnohém bude tento nový výpočetní model připomínat dřívější model file server / pracovní stanice - zejména v tom, že programy i data budou uloženy jinde než budou skutečně spouštěny. Odlišnost ale bude v tom, že nyní již nebudou existovat žádné file servery, a jejich roli převezme síť jako taková (v rámci které samozřejmě budou existovat uzly plnící roli depozitářů souborů, ale ty nebudou pro koncové uzly přímo viditelné). Nejpodstatnější odlišností od původního modelu file server / pracovní stanice je pak celková filosofie - dochází zde k ještě větší nesymetričnosti ve vzájemném vztahu obou složek, neboť síť na sebe přebírá maximum odpovědnosti a funkčnosti, zatímco po terminálech (síťových počítačích) se požaduje jen opravdu nezbytné minimum. Síť jako taková se skutečně stává „středem světa", jakousi jednotnou a univerzální zásobárnou, ze které budou jednotlivé terminály čerpat na základě své momentální potřeby.

Označení nového výpočetního modelu není dosud příliš ustálené. Nejvýstižnější je zřejmě označení, které zavedla firma IBM. Ta tomuto modelu říká „Network-Centric Computing", čímž jakoby chtěla zdůraznit novou roli a nové postavení sítě jako takové, která se nyní stává skutečným středem všeho.

Nové možnosti

Principy, na kterých nový výpočetní model stojí, byly poprvé významnějším způsobem využity v programovacím jazyku Java - poněkud paradoxně k dalšímu zvýšení uživatelské atraktivnosti již tak dosti atraktivních WWW stránek v rámci služby World Wide Web. Konkrétně se jednalo o tom, že k obsahu těchto stránek bylo možné „přibalit" i programy, zajišťující různé efekty - například zobrazení běžícího titulku, animaci apod. Záhy se pak přišlo na to, že stejný mechanismus lze využít v rámci WWW i k dalším věcem, než jen ke zvyšování uživatelské atraktivnosti. V jazyku Java, ve kterém musí být „aktivní" přílohy WWW stránek napsány, mohou být vytvořeny například i programy typu celých funkčních spreadsheetů, kreslících programů, malých databázových programů apod.