Internet budoucnosti
Více surfařů, více dat a více služeb: web neustále roste, a činí tak závratnou rychlostí. Za to vděčí mimo jiné i novým technologiím a lepšímu kódování. V tomto článku vám prozradíme vše o budoucnosti internetu.
MARKUS MANDAU, PETR KRATOCHVÍL
PETR KRATOCHVÍL
Web se v zákulisí neustále mění. Podle našeho redaktora z toho ale mají surfaři jen velmi malý prospěch.
S nadsázkou by se dalo říci, že nejmladší generace se pravděpodobně naučí dřív surfovat na internetu než chodit. Přístup k internetu pro ni bude stejně přirozený jako dýchání – a stejně tak i nepřetržitý. Bylo by skvělé, kdyby internet budoucnosti byl právě takový: přesný, rychlý a bezpečný. To však mohou zaručit jen takové technologie, které dokážou držet krok s růstem celosvětového webu. Některé z nich jsou již do praxe zaváděny, nicméně ještě potřebují čas na „doladění“. Rozšíření stávajících IP adres zavedením protokolu IPv6 probíhá již mnoho let a nějaký ten „pátek“ ještě probíhat bude. Také zavedení DNSSEC (Domain Name System Security Extensions), které zaručuje pravost webových adres, ještě chvíli potrvá. Plánují se i nové podmořské kabely přes severozápadní pás Arktidy. Ty by měly zkrátit dobu odezvy u spojení do Japonska o 60 milisekund. Internet budoucnosti nevznikne „jednou ranou“ a pokládka dalších a dalších kilometrů kabelů rozhodně není řešením, jak účinně řídit neustále rostoucí tok dat na surfaře. Namísto toho zajistí potřebnou optimalizaci mozaika nových softwarových technologií na různých úrovních, od datového centra až po prohlížeč. My vám prozradíme, v jakém stavu jednotlivé technologie jsou a které z nich budou v příštím roce nasazeny v praxi.
Lepší kontrola toku dat
Rychlé zpracování a odeslání petabajtů dat – k tomu musí člověk oddělit software od hardwaru. Google názorně předvádí, jak to může fungovat.
Mezinárodní telekomunikační unie OSN oznámila, že v roce 2011 byla on-line jedna třetina světové populace; datový provoz na webu činil v průměru 90 000 GB za sekundu – to je přesně 30 exabytů za měsíc! Otázkou ale je, jak takto vysoký tok dat efektivně řídit. Google to předvedl svým hlavním síťovým dodavatelům, což jsou Cisco a Juniper. To nijak nepřekvapuje, protože komunikace mezi datovými centry Googlu a samotnými webovými surfaři tvoří podle měření Arbor Networks 6 až 10 procent celosvětového datového provozu. Na summitu Open Network Summit v dubnu Google umožnil malé nahlédnutí do situace, jak reguluje provoz mezi centry. Bylo to obrovské překvapení, protože se tento gigant očividně rozloučil s tradiční architekturou sítě.
Pro poskytovatele je obvyklé, že zvyšují kapacitu sítě tím, že oslovují velké dodavatele a nakupují jejich hardware zároveň s odpovídajícím softwarem. Pokud však jde o hardware, Google jedná přímo s čínskými výrobci a propojuje router a přepínače přes SDN (Software-Defined Network), který je řízen pomocí protokolu OpenFlow. OpenFlow funguje nezávisle na firmwaru routeru a přepínačích sítě. To administrátorovi umožňuje řídit cestu datových paketů centrálně v jeho síti a vyhnout se tak překážkám. Administrátor také v případě potřeby může přiřadit větší prioritu např. zálohám, e-mailové komunikaci či „videotokům“. Google vyžaduje flexibilní kontrolu nad datovým tokem, protože jeho vnitřní síť musí v krátkém čase přesunout mnoho petabajtů dat. Dá se očekávat, že v dlouhodobém horizontu převezmou technologii SDN pravděpodobně všichni poskytovatelé.
Kdo má nejrychlejší souborový systém na světě?
Web kromě přenosu dat provádí stále větší počet „úkolů“, například v rámci služeb cloud computingu nebo u úložišť dat. Třeba Amazon EC2 cloud představuje jedno procento z celého internetového provozu. V loňském roce uložil 762 miliard datových „objektů“, a tudíž zpracoval 500 000 úkolů za sekundu. Zaručit integritu dat pod takovýmto „vysokým tlakem“ mohou pouze specializované souborové systémy, které spravují metadata odděleně od vlastního obsahu souborů.
Jedním z příkladů může být Hadoop Distributed File System (HDFS), který najdete třeba na Facebooku, Yahoo nebo v cloudu EC2. V rámci tohoto systému se automaticky vytvoří několik kopií a na každém uzlu má server, který je využíván pouze ke správě metadat (viz vpravo). Proto je možné pomocí HDFS řídit mnoho paralelních přístupů k petabajtům dat. Díky tomu lze označit open-source souborový systém HDFS jako jeden z nejrychlejších na světě.
PROGNÓZA: STÁLE ROSTOUCÍ WEBOVÝ PROVOZ
Nejpřesnější údaje o webovém provozu přináší Visual Networking Index od firmy Cisco. Předpovídá v příštích třech letech zdvojnásobení provozu, přičemž „na vině“ jsou také mobilní zařízení.
OPENFLOW: GOOGLE MÁ NOVOU SÍŤ
OpenFlow v Googlu organizuje provoz mezi počítačovými centry. Tato open-source technologie může ve srovnání s obvyklým softwarem určeným pro směrovače a přepínače mnohem efektivněji distribuovat velké objemy dat.
HDFS: SOUBOROVÝ SYSTÉM PRO PETABAJTY
Pouze distribuované souborové systémy, jako je Hadoop Distributed File System, mohou spravovat tisíce souběžných přístupů k obrovskému množství dat; za správu zde zodpovídají speciální servery.
Pokud je potřeba uložit soubor, master server získá jeho metadata (jméno, velikost atd.) 1 a obsah je uložen na datový server 2 . Poté dá master server 3 instrukce zrcadlení dat dalšímu racku 4 .
Stabilní protokol pro připojení
Žádné internetové stránky se v prohlížeči neotevřou bez http, jakkoliv je tento protokol neefektivní. Jeho nástupce je rychlejší o 50 procent.
Základní kámen internetové komunikace, Hypertext Transfer Protocol (HTTP), je beznadějně zastaralý. Poslední verze 1.1 se objevila už před třinácti lety, což je v IT světě příliš dlouhá doba. Jako doplněk k „přepravnímu“ protokolu TCP, který balí data do jednotlivých paketů, se HTTP zabývá transportem obsahu webové stránky ze serveru a ten určuje způsob, jakým jsou prvky internetové stránky odeslány. Za tímto účelem HTTP 1.1 umožňuje pouze jednu žádost za TCP spojení, což znamená, že všechny prvky webové stránky (text, obrázky, skripty) jsou zasílány jednotlivě jeden po druhém. Současné prohlížeče obcházejí toto omezení tak, že vytvoří až šest paralelních TCP spojení. To stále není dostatečně účinné, jelikož jeden server dokáže pojmout každé další připojení se zpožděním 500 milisekund a s každým připojením pošle novou zbytečnou HTTP hlavičku – kvůli tomu je přenášeno více dat, než je nutné, a navíc jsou hlavičky odeslány v nekomprimované formě. Kromě toho se protokolu může „ptát“ pouze klient. I když server sám o sobě ví, že by ve skutečnosti měl klientovi odeslat ještě více dat, musí čekat, až o to požádá samotný klient. HTTP také nezajišťuje šifrování; proto se používají další protokoly, jako například SSL.
Google a Microsoft vyvíjejí HTTP 2.0
IETF (Internet Engineering Task Force) hodlá řešit mnohé nevýhody HTTP 1.1 a příští rok počítá se zavedením verze 2.0 jako standardu. V průběhu tohoto roku se rozhodne o tom, jaké technologie budou využity. Do věci se vložil Google i Microsoft a každý představil své vlastní návrhy – a oba jsou považovány za horké kandidáty. Google již dva roky používá SPDY. Jedná se o protokol, který jednak upravuje, jednak doplňuje protokol HTTP 1.1. Protokol SPDY je již integrován do Firefoxu, Chromu a prohlížeče Silk na Kindlu; stejně tak tuto technologii podporují všechny služby Googlu, Amazonu, Twitteru a webového serveru Apache. SPDY umožňuje, aby HTTP pakety byly zasílány paralelně, komprimuje data a také se stará o povinné šifrování pomocí SSL. Měření ukázala, že tento protokol urychluje přenos dat až o 50 procent.
Koncepce Googlu (z pohledu Microsoftu) však opomíjí potřeby aplikací na mobilních zařízeních.
Microsoft chce totiž také vyřešit problém s rychlostí protokolu HTTP a jeho „mobilitou“. Pro paralelizaci využívá technologii SPDY, zároveň však umožňuje flexibilitu při šifrování a kompresi, protože obojí vyžaduje výpočetní výkon a též snižuje životnost baterie. Microsoft předepisuje použití web sockets, jež zřídí trvalé obousměrné spojení mezi klientem a serverem – koncept, který se nejlépe hodí k těm aplikacím, které neustále zasílají data na web či přijímají data k dalšímu zpracování.
HTTP 2.0: DVĚ MAPY PRO NOVÝ PROTOKOL
Nová verze webového protokolu týkající se optimalizace HTTP 1.1 by měla být zveřejněna v příštím roce. Na stole jsou v tuto chvíli dva soupeřící návrhy od Googlu a Microsoftu.
WEBOVÉ PROTOKOLY
HTTP: Řídí transport webového obsahu (obrázků, textu) mezi serverem a prohlížečem.
SPDY: Umožňuje paralelní zpracování a komprimaci http datových paketů.
SSL: Šifruje data posílaná přes http.
WEBSOCKET: Vytváří oboustranné spojení mezi browserem a serverem.
TCP: Transportuje datové pakety mezi serverem a browserem. optional
FIREFOX 13: TEĎ UŽ S HTTP 2.0
S protokolem SPDY od Googlu teď můžete surfovat rychleji. Protokol je nyní aktivován jak v Chrome, tak i ve Firefoxu 13. Uživatelé si ho mohou vyzkoušet například na webu isspdyenabled.com.
Rychlejší engine pro nové prohlížeče
Současné webové stránky jsou už téměř jako softwarový kód, jehož provedení (otevření stránky) je potřeba urychlit.
Původně měly HTML a JavaScript sloužit pouze pro tvorbu převážně statických webových stránek – vrcholem „dynamiky“ u nich byly formuláře nebo animované nabídky. Mezitím však došlo k takovému vývoji webu, že se v současnosti oba jazyky využívají i k programování. To, že je mnoho funkcí napsáno v JavaScriptu, ale může vést k problémům s výkonem. Zásadní problém je v tom, že JavaScript pro každou otevřenou webovou stránku běží pouze v jednom threadu, takže prohlížeč nemůže na stránce současně spustit více skriptů. Každá interakce, kterou uživatel provede, např. kliknutí myší, tedy potenciálně vede ke zpoždění.
K řešení těchto překážek existují různé přístupy. Například standard HTML5 zavádí tzv. Web Worker. Jedná se o rozhraní v prohlížeči, které umožňuje, aby rozsáhlé kódy byly vykonávány v samostatném threadu. Programátor webových stránek pak musí zajistit pouze to, že skripty lze spustit nezávisle na interakci uživatele. Web Worker poté vypočítá „výsledek“, který ihned přenese do prohlížeče. Ten ho pak začlení do webové stránky.
Webový kód optimalizovaný pro hardware
Web Workery znamenají velký krok k optimalizaci skriptovacího jazyka pro vícejádrové procesory. Problémem je však to, že podporu technologie Web Worker například najdete až u nedávno představené verze Internet Exploreru 10; u celé řady mobilních zařízení na platformě Android podpora zcela chybí.
Faktem také je, že samotný Web Worker nenabízí neomezený multithreading. Ten je možný pouze v rámci hlubšího zásahu, jako je to například u open-source projektu Fabric Engine (Open Source Project Fabric Engine). To také umožňuje napsat webový kód, který je vykonán tak rychle jako například v C++. Trik spočívá v zavedení dalšího enginu s vlastním kompilátorem v prohlížeči, přičemž tento engine odpovídá pouze za výkon. Je napsán ve svém vlastním jazyce Fabric KL, jako rozšíření JavaScriptu. Obdobným způsobem postupuje Intel se svým projektem River-Trail. Na rozdíl od Web Workerů však obě metody nejsou součástí webového standardu.
Zajímavým trendem je akcelerace pomocí GPU (označovaná jako WebGL) – neboť i grafická jádra v mobilních zařízeních spočítají animace rychleji než CPU. To poskytuje zcela nový pohled na webovou stránku a výsledky takovéto akcelerace jsou více než zřejmé (viz vpravo). WebGL přesouvá komplexní grafické operace na bedra GPU a také urychluje výpočty 3D. Až doposud byl pro tento účel volbou číslo 1 kód ActionScript v aplikaci Adobe Flash; jeho výkon a bezpečnost však zaostávají daleko za všemi očekáváními. Proto lze očekávat, že v dlouhodobém horizontu mohou WebGL a HTML5 jako otevřené standardy pravděpodobně nahradit Flash.
Díky projektu CreateJS nabízí cestu od Flash k HTML5-Exportu i Adobe. Bohužel pokud jde o mobilní zařízení, pak je WebGL zatím stále ještě v plenkách.
HARDWAROVÁ PODPORA V PROHLÍŽEČI
Tři postupy efektivně zpracovávají javascript ve vícejádrových procesorech: Web Worker, Fabric engine a River Trail. WebGL vypočítá animace na grafickém čipu. To ale nezvládne každý prohlížeč.
FABRIC ENGINE URYCHLUJE WEBOVÝ KÓD
Pomocí techniky multithreading zpracovává Fabric engine javascripty tak rychle jako běžný software napsaný v C++. Benchmark ukazuje měření tzv. simulace „Monte Carlo“.
INTERAKTIVNÍ 3D INTERNET DÍKY WEBGL
Rozsáhlé 3D krajiny, takové, jaké lze nalézt na webových stránkách ro.me, běží hladce pouze na grafickém čipu. WebGL slouží jako rozhraní mezi GPU a prohlížečem.
Vlastní web pro miliardu zařízení
Za několik let bude na webu více strojů než lidí. Jejich datový provoz však funguje podle zcela jiných pravidel.
Jako surfař vnímáte model celosvětového webu (World Wide Web) poměrně jednoduše: PC, notebooky a smartphony se připojí k serveru a před každým z těchto zařízení sedí osoba, která si pročítá webové stránky nebo chatuje se svými přáteli. Stále rostoucí počet zařízení si však také během této doby na webu vyměňuje mezi sebou informace. Například podle studie E-plus bylo v sousedním Německu v roce 2010 distribuováno 2,3 milionu SIM karet pouze pro komunikaci mezi zařízeními. Příští rok se předpokládá, že tento počet dosáhne hranice pěti milionů. Nejjednodušší způsob komunikace M2M (Machine to Machine) zde představuje zaslání SMS.
V průmyslu, a dokonce i ve státních institucích, jako je ETSI (European Telecommunication Standard Institute), probíhají projekty, které definují nové protokoly, které jsou optimalizované pro „internetové stroje“. Je to nezbytné i proto, aby se v budoucnosti zabránilo tomu, aby si lidé a stroje navzájem na webu překáželi.
Podle vývojáře čipů Mikea Mullera (chief technology officer ARM) bude do roku 2020 on-line přibližně 100 miliard zařízení. Experti totiž předpokládají, že za pár let budou automobily, kola a domácí spotřebiče vybaveny zařízením umožňujícím přístup na web. Už existují některá města, jejichž osvětlení je řízeno přes internet (viz vpravo). V centru M2M zařízení je mikrokontrolér, který je zodpovědný za řízení a komunikaci. To zahrnuje i žárovky s IPv6 adresou nebo kardiostimulátory. V současné době bude také možné ovládat stroje pomocí stále menších čipů. Společnost ARM nedávno odhalila plán na „Cortex-MO+“. Velikost tohoto nejmenšího 32bitového procesoru je jen jeden milimetr.
Komunikační kanály vyhrazeny pro stroje
Vývojáři sítí pro „stroje“ ale musí počítat s tím, že „strojní“ hardware má v současnosti nižší výpočetní výkon. Vestavěné mikrokontroléry stále využívají 8- nebo 16bitové příkazy, které už v klasickém IT světě nevykonávají počítačové programy od Windows 95.
K tomu jsou potřeba omezené komunikační protokoly, které přesně splňují jejich požadavky (viz vpravo). Například světelný senzor integrovaný do sítě pouličních světel jednoduše musí pouze dvakrát denně na krátkou dobu odeslat naměřená data.
Společnost IBM pomocí MQTT (Message Queuing Telemetry Transport) zveřejnila svůj vlastní protokol zpráv pro „stroje“. Jedná se prakticky o ekvivalent HTTP, jen s menším záhlavím; tudíž je určen pro nižší overhead, například pro přenos dat z RFID čipů. V průmyslu se stále dohadují o tom, ve kterém frekvenčním pásmu by se bezdrátová komunikace měla odehrávat. V tuto chvíli je otázkou spíše to, zda by M2M komunikace měla být vůbec otevřena pro 3G síť (UMTS). V dlouhodobém horizontu by 3G a 4G (LTE) mohly zůstat vyhrazeny pro člověka, jelikož většina strojů komunikuje pouze přes síť 2G (GSM).
POULIČNÍ OSVĚTLENÍ PROPOJENO DO SÍTĚ
CityTouch od Philipsu umožňuje kompletní kontrolu nad osvětlením města, a to přes webové rozhraní, jelikož propojí všechny světelné zdroje mezi sebou v rámci sítě. Tento systém již funguje v Londýně i v Praze.
MINIATURNÍ ZAŘÍZENÍ S PŘIPOJENÍM NA WEB
Internet je všudypřítomný: žárovka s webovou adresou je řízena mikrokontrolérem JN5148-001. Senzor LifeTouch HRV011 měří srdeční aktivitu a měření hlásí do nemocnice. 1 2
KOMUNIKAČNÍ PROTOKOLY PRO SENZORY
Síťová zařízení komunikují se svými vlastními protokoly, které jsou přizpůsobeny jejich potřebám a jejich slabému výpočetnímu výkonu. Čtyřmi nejdůležitějšími jsou:
ROLL: Routing Protocol pro nízkovýkonné a ztrátové sítě je protokol, pomocí kterého se světelné senzory vzájemně připojí k síti pro přenos stavových zpráv.
6LOWPAN: Aby mohla být zařízení začleněna do stávající sítě s co nejnižšími náklady, získají svou jedinečnou IP adresu IPv6 přes nízkoenergetickou síť Wireless Personal Area Network, založenou na standardu IPv6.
COAP: Constrained Application Protocol umožňuje efektivnější přenos dat mezi 8bitovými mikrokontroléry s nižším výpočetním výkonem (100 kB ROM a 10 kB RAM) – například v tepelných senzorech v kontejnerech.
MQTT: Společností IBM vyvinula Message Queuing Telemetry Transport, což je komunikační protokol, vhodný i pro zprávy čipů RFID.