I det här examensarbetet presenterar vi Keso, ett distribuerat och helt decentraliserat filsystem baserat på en peer-to-peer infrastruktur benämnt DKS. Under designen av Keso har vi försökt lösa flera av de problem som existerar i dagens distribuerade filsystem.

Traditionellt sett har decentraliserade filsystem byggt på idén om att ha centrala filservrar och för att klara belastningen och garantera tillräcklig tillgänglighet har ofta dyr specialhårdvara krävts. Systemadministratörerna förväntas vidare aktivt underhålla systemet för att balansera belastningen över olika maskiner, flytta data mellan olika hårddiskar och manuellt lägga till nya filservrar och klienter.

En annan nackdel med centraliserade system är att stora mängder lagringskapacitet slösas bort. Våra mätningar har visat att mycket data i ett produktionsfilsystem är redundant och att stora mängder diskutrymme på arbetsstationerna är outnyttjat. I det system vi undersökte fanns det mer än tre gånger så mycket ledigt diskutrymme på arbetsstationerna som det totalt sett fanns data sparat på filservrarna.

De huvudsakliga målen för Keso har varit att Keso ska tillvarata outnyttjade resurser, undvika att spara redundant data i onödan och att det ska vara ett skalbart, självorganiserande och säkert filsystem som är väl lämpat för verklig användning.

Genom att basera Keso på peer-to-peer-teknik har det blivit skalbart, feltolerant och självorganiserande. Tanken är att Keso ska köra på vanliga arbetsstationer och därigenom utnyttja tidigare outnyttjad lagringskapacitet. Keso tillhandahåller också metoder för att skydda privat data och tillhandahålla access-kontroll trots att det är byggt på opålitliga komponenter. Filsystemet utnyttjar faktumet att stora mängder data i ett traditionellt filsystem är redundant genom att låta filer som innehåller datablock med samma innehåll referera till samma fysiska datablock. Detta uppnås samtidigt som kryptering används för att uppnå säkerhet och accesskontroll.