Hlavní navigace

IBP aneb síťové disky úplně jinak

23. 1. 2003
Doba čtení: 6 minut

Sdílet

Existuje celá řada protokolů a nástrojů pro sdílení disků po síti či přenášení souborů z místa na místo. Návrh IBP (Internet Backplane Protocol) se však radikálně liší od všeho, co jsem kdy v této oblasti viděl. Jeho autoři z laboratoře LoCI University of Utah se pokusili přenést filosofii IP (Internet Protocol) do oblasti ukládání dat.

IBP pochází z laboratoře LoCI (Logistical Computing and Internetworking) University of Utah. Jeho autoři vyšli ze skutečnosti, že základní filosofie Internetu se ukázala být mimořádně úspěšnou. Jaká je její charakteristika? Spojí se linky různých vlastníků. Nad nimi se postaví jednoduchá jednotná vrstva (IP), která skryje technické detaily jednotlivých linek (velikost paketů, lokální adresování či použitý model detekce chyb). Dostupnou přenosovou kapacitu sdílejí všichni účastníci sítě podle aktuální potřeby.

Cílem IBP je použít tyto myšlenky k sestrojení distribuovaného systému pro ukládání dat. Na první pohled to zní poměrně šíleně. Ovšem výsledek je docela zajímavý. Navržený zásobník pro síťové ukládání vypadá takto:

801

Labužníci jistě ocení, že má sedm vrstev. Spodní dvě jsou dány – zahrnují fyzická zařízení (disky, pásky a podobně) a operační systém koncového počítače, který k nim zprostředkovává přístup. Horní dvě vrstvy jsou zatím stále předmětem bádání a vývoje. Konkrétními výsledky a jasnou představou se tedy může pochlubit především prostřední trojice vrstev.

IBP


Základem celé rodiny je IBP, který poskytuje základní nespolehlivou ukládací vrstvu (analogii k IP). Klíčovou roli v IBP vrstvě hrají sklady (depots), které nabízejí ukládací prostor. Kdokoli může přidat do IBP sítě svůj sklad, definovat jeho ukládací politiku a umožnit ostatním ukládat zde data.

Když IBP klient ve službách aplikace potřebuje uložit data, požádá IBP sklad o alokaci odpovídajícího místa. Pro alokovaný prostor se v IBP používá název bajtové pole (byte array). Pokud sklad žádosti vyhoví, přidělí potřebný diskový prostor a jako odpověď pošle klientovi trojici tzv. schopností (capabilities) – pro čtení, zápis a správu.

Schopnost funguje jako klíč do zámku – kdokoli se prokáže odpovídající schopností, může provést tu kterou operaci. Klient proto může získanou schopnost předat dalšímu programu, který tak získá přístup k danému prostoru. Schopnosti jsou pochopitelně přenášeny šifrovaně, aby se zamezilo jejich zneužití.

Z hlediska bezpečnosti je zajímavé, že klient dostává přístup jen k prostoru, který si ve skladu alokoval. Nemá nejmenší tušení, co je uloženo mimo něj, komu to patří, kdy to bylo uloženo a podobně. Zbytek skladu je pro něj naprostým tajemstvím.

Doba uložení je omezená, politika serveru je dána součinem velikosti dat a doby uložení. Malý objem lze tedy uložit na delší dobu než velký. Cílem je bránit se proti zapomenutým datům, která chybná aplikace zapomene vymazat a budou ve skladu strašit navěky (nikdo další už k nim nemá klíč). Po uplynutí doby životnosti sklad může alokovaný prostor uvolnit, aniž by o tom informoval klienta nebo si dokonce žádal o jeho svolení. Ostatně původní klient už dávno nemusí existovat, protože své schopnosti předal jinam a sám skončil.

IBP implementuje dva modely ukládání: tvrdý a měkký. Podle tvrdého budou data uchována skutečně až do doby vypršení své životnosti. Dříve je sklad smí odstranit, jen pokud o ně již nikdo nemá zájem. Schopnost správy alokovaného prostoru totiž umožňuje měnit počet jeho čtenářů/zapiso­vatelů. Klesne-li na nulu, data už nemají žádného konzumenta a lze je bez následků odstranit.

Měkký model ukládání naproti tomu umožňuje skladu odstranit data kdykoli (např. když mu dojde místo). Je proto vhodný například pro realizaci vyrovnávacích pamětí, u nichž se bere jako přínos, když data v paměti najdeme. Ale předem se počítá s variantou, že tam nebudou.

IBP tedy nabízí základní úroveň abstrakce. Skrývá detaily jednotlivých operačních systémů a umožňuje uživatelům (klientům) sdílet dostupný prostor. Pro aplikační využití jsou však jeho služby poměrně primitivní a pracné. Proto máme k dispozici vyšší vrstvy.

L-Bone a NWS


V té nejbližší se řeší jednak volba vhodného skladu a jednak abstrakce síťového souboru. IBP sklady jsou organizovány do virtuální úložné sítě nazvané L-Bone (Logistical Backbone). Sklad se zaregistruje a správa L-Bone udržuje přehled o dostupných skladech a jejich parametrech. Klient pak může požádat o doporučení vhodných skladů.

Ve svém dotazu stanoví velikost a dobu uložení dat a případně regionální umístění skladu. Dostane seznam potenciálně vhodných skladů. Pak nastoupí Network Weather Service (NWS). Tato služba sleduje výkonnostní parametry jednotlivých skladů a umožní klientovi vybrat si ten nejnadějnější.

Dlužno přiznat, že L-Bone se celkem slušně rozvíjí. Zatímco začátkem roku 2002 bylo do sítě zařazeno zhruba 20 skladů s celkovou kapacitou 1 TB, v prosinci se již jednalo o 140 skladů rozptýlených po celém světě. Celková kapacita úložného prostoru činí přes 10 TB.

exUzel


L-Bone a NWS napomáhají klientovi ve volbě serveru, ovšem nesnímají z něj břemeno provádět primitivní IBP operace. To udělá až exUzel, který ztělesňuje abstrakci síťového souboru. Název je odvozen od i-uzlu, známého z operačního systému Unix. Zatímco i-uzel shromažďuje odkazy na diskové bloky, exUzel obsahuje odkazy na alokované IBP zdroje.

Jestliže je uložený soubor rozdělen do tří bajtových polí alokovaných ve dvou různých skladech, exUzel obsahuje adresy jednotlivých částí a odpovídající schopnosti. Z pohledu aplikace je možné „číst soubor“. exUzel se svými obslužnými rutinami se postará o vše potřebné – získá data z jednotlivých IBP skladů a předá je aplikaci v odpovídající podobě.

Na rozdíl od i-uzlu nemusí být všechna datová pole stejně velká. exUzel také umožňuje jejich překrývání a redundanci. Jeden exUzel tedy může obsahovat informace o několika kopiích téhož souboru, rozdělených na nestejně velké části a uložených v nejrůznějších skladech. Vůči aplikaci se stále tváří jako jeden soubor, detaily jeho síťového uložení jsou interní záležitostí exUzlu.

exUzly jsou, stejně jako schopnosti, přenositelné. Lze je převést do podoby XML dokumentu a pak předat jinému programu. Ten může běžet na jiném počítači, a to i pod jiným operačním systémem. Díky XML je exUzel přenositelný mezi různými platformami.

LoRS


Nad L-Bone a exUzly stojí vrstva logistických nástrojů. Je tvořena knihovnami a řádkovými příkazy, které je využívají. Najdete zde služby pro snadné uložení síťového souboru (a vytvoření odpovídajícího exUzlu), jeho načtení, prodloužení platnosti, vytváření a rušení duplikátů.

Zkratka LoRS znamená Logistical Runtime System. Značné možnosti mu dává především práce s replikami souborů. Díky nim lze například realizovat síťové vyrovnávací paměti, kde klient (díky L-Bone a NWS) stahuje nejbližší kopii. Replikace poskytuje samozřejmě ochranu před výpadky. Ať už jednoduchou (použije se jiná kopie odpovídající části souboru), tak rafinovanější v podobě RAID algoritmů a podobných. Do kompetence LoRS patří také šifrování či online komprese ukládaných dat.

Pokud je předem znám konzument, může LoRS vrstva realizovat i směrování souborů. Autor dat je uloží ve skladu, který má poblíž. LoRS vrstva pak vytvoří repliku ve skladu bližším ke konzumentovi a původní exemplář vymaže. Takto mohou data putovat přes několik skladů, až skončí ve skladu blízkém jejich příjemci. Ten je pak snadno a rychle získá.

Lze také paralelně stahovat různé části dat z několika skladů současně a zvýšit tak přenosovou rychlost (pokud nemají společné úzké místo, samozřejmě).

BRAND24

Aplikace


Zatím se spíše hledají. Z podstaty věci je zřejmé, že služby založené na IBP budou vhodné spíše pro ukládání souborů dočasného charakteru. Podařilo se zapojit IBP do několika projektů distribuovaného charakteru – pro ukládání dat a mezivýsledků či vzájemnou komunikaci procesů.

Zajímavou myšlenkou je IBP mail. Jedná se o modifikaci elektronické pošty, kdy vlastní dopis putuje obvyklou cestou, ale jeho přílohy se uloží do IBP skladu. Součástí dopisu pak místo dat jsou jen schopnosti potřebné pro jejich vyzvednutí. Pokud jste někdy dostali dopis s megabajtovou přílohou, kterou jste opravdu nechtěli číst po pomalé lince z domova, asi byste podobnou aplikaci uvítali.

Pokud vás IBP zaujalo, podrobnosti, dokumenty, software a tak najdete na loci.cs.utk.edu.

Líbí se vám IBP?

Byl pro vás článek přínosný?

Autor článku

Autor dělá nepořádek v příslovích, protože sítě nejen dělá, ale i učí a dokonce také řídí. Působí na Ústavu nových technologií a aplikované informatiky na Technické univerzitě v Liberci. Píše knihy.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).