Coda je v informatice název distribuovaný souborový systém, který byl vyvíjen jako výzkumný projekt na Univerzitě Carnegie Mellon od roku 1987 pod vedením Mahadeva Satyanarayanana. Coda pochází přímo ze starší verze AFS (AFS-2) a nabízí mnoho podobných funkcí. Souborový systém InterMezzo byl inspirován souborovým systémem Coda. Coda je stále ve vývoji, ale vývoj se místo výzkumu zaměřil na vytvoření robustního produktu pro komerční použití.
Vlastnosti
Coda má mnoho vlastností, které jsou žádané u síťových souborových systémů a několik funkcí, které se nenacházejí nikde jinde:
- offline provoz pro mobilní zařízení
- volně dostupný pod svobodnou licencí
- vysoce výkonný díky trvalé cache na straně klienta
- replikace serveru
- zabezpečení autentizaci, šifrování a řízení přístupu
- pokračování probíhajících operací po krátkodobém selhání spojení se serverem
- přizpůsobování kapacitě síťového spojení
- dobrá škálovatelnost
- dobře definovaná sémantika sdílení, včetně situací při selhání sítě
Coda používá lokální cache pro poskytnutí přístupu k serverovým datům, když je síťové spojení ztraceno. Za normálního provozu uživatel čte a zapisuje do souborového systému normálně, zatímco klient načítá („hromadí“) všechna data která uživatel uvedl jako důležitá pro případ odpojení od sítě. Pokud je připojení ztraceno, Coda klient použije data z lokální cache a zapíše si všechny změny. Tento provozní stav je nazýván jako offline provoz. Po znovupřipojení sítě se klient přesune do stavu znovuzačlenění, tzn. pošle zapsané změny na server. Poté se přepne zpět do normálního („připojeného“) stavu.
Od AFS se Coda také liší metodou replikace dat. AFS pro své soubory používá pesimistickou replikační strategii. Umožňuje pouze jednomu read/write serveru přijímat změny a všechny ostatní servery se chovají jako read-only repliky. Coda umožňuje všem serverům přijímat změny, čímž umožňuje větší dostupnost serverových dat v případě rozdělení sítě. To AFS neumožňuje.
Tyto jedinečné vlastnosti představují možnost vzniku sémanticky odlišných kopií stejného souboru nebo adresářů, to je známé jako „konflikt“. Změny vytvořené během offline provozu mohou potenciálně kolidovat se změnami, jiných právě připojených uživatelů, na stejném objektu. Zabraňuje znovuzačlenění. Optimistická replikace může potenciálně způsobit souběžnou aktualizaci stejných souborů na různých serverech. Zabraňuje replikaci. V prvním případě se jedná o „místní/globální“ konflikt, v druhém případě se jedná o „server/server“ konflikt. Coda má rozsáhlé prostředky pro opravu, manuální i automatické, které se starají o opravy chyb obou typů.
Souborový systém Coda je vyvíjen na platformě Linux. V současné době byl začleněn do Linuxového jádra 2.6. Byl také začleněn no distribuce FreeBSD. Efekty tohoto systému byly portovány do Microsoft Windows platforem, od éry Windows 95/ Windows 98, Windows NT[1] a Windows XP[2] díky open source projektům jako DJGCC DOS C Compiler a Cygwin.[1]
Odkazy
Související články
Reference
V tomto článku byl použit překlad textu z článku Coda (file system) na anglické Wikipedii.
- ↑ a b Braam, P. J. et al. Porting the coda file system to windows. Proceedings of the annual conference on USENIX Annual Technical Conference. USENIX Association, 1999, s. 30. Dostupné online [cit. 2009-04-15]. (anglicky) Je zde použita šablona
{{Cite journal}}
označená jako k „pouze dočasnému použití“.
- ↑ Coda Support for Windows XP [online]. [cit. 2009-04-15]. Dostupné online. (anglicky) Je zde použita šablona
{{Cite web}}
označená jako k „pouze dočasnému použití“.
Externí odkazy