Elosztott adattároló felhő fejlesztése network coding felhasználásával

OData támogatás
Konzulens:
Sipos Márton Ákos
Automatizálási és Alkalmazott Informatikai Tanszék

Az elmúlt években a felhős tárhely szolgáltatások jelentős teret nyertek az informatikában, mind a fejlesztők, mind a felhasználók körében. Az adatok szolgáltató tulajdonában lévő eszközön való tárolása helyfüggetlenséget biztosít, egyszerűsíti a kommunikációt és a fájlmegosztást, valamint az erőforrások szabadon méretezhetők az igények változásának megfelelően.

A számos kiegészítő funkció - amelyek beépülnek a felhőkbe - kielégítése céljából azonban a felhő alapú adattárolásnak új kihívásokkal kell szembenéznie. Az elvárás egy olyan felhőszolgáltatás, amely biztonságosan képes tárolni az adatainkat, úgy, hogy közben alacsony adathozzáférési időt biztosít.

A dolgozat alapötlete, hogy a felhőben tárolni kívánt fájlt osszuk több részre, és az egyes darabok halmazait külön helyezzük el önálló felhőszolgáltatásokban. Így azzal, hogy a fájl részeit redundánsan tároljuk, növeljük az adat biztonságos tárolását. Az adathozzáférési sebességet egy algoritmus segítségével növeljük, amely képes a gyorsabb válaszidejű szolgáltatásoktól több csomagot kérni, így nincs kiszolgáltatva az alkalmazásunk a leglassabb kiszolgálási idővel rendelkező szervernek. Az adat illetéktelenekkel szembeni védelme és a biztonságos tárolás érdekében a fájl feldarabolása során a keletkezett részeken hibajavító kódolást végzünk a Network Coding technika segítségével.

A dolgozatban készítünk egy saját felhőszolgáltatást. Ehhez kialakítunk egy szerver központú architektúrát, amely képes a felhőszolgáltatásokkal történő fájlműveletekre. A kliens által feltöltött fájlokat szétdarabolja, azokon elvégzi a Network Coding algoritmust, és feltölti a részeket az önálló felhőkbe. A letöltés során visszanyeri ezeket a részeket, és előállítja az eredeti fájlt. A kliens oldalon sokkal kevesebb erőforrás áll rendelkezésre, ezért szeretnénk ezeket a műveleteket egy szabadon méretezhető, nagyobb teljesítményű szerverre bízni.

Az adatelérési sebesség maximalizálása érdekében mérésekkel azt vizsgáljuk, hogy hány felhőszolgáltatásból szükséges párhuzamosan a kódolt részeket letölteni ahhoz, hogy elérjük azt a csomagszámot, amelyből már elő tudjuk állítani a korábban feltöltött fájlunkat. Technológia oldalról a rendszert PHP és C++ nyelveken fejlesztjük, továbbá Ubuntu szervert használunk.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.