Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológii TÍMOVÝ PROJEKT 2009/2010 Protokol pre hromadnú aktualizáciu súboru ponuka k projektu Tím PSS 05 Bc. Rastislav Szabó Bc. Marek Koža Bc. Ján Šugarek Bc. Gabriel Ševeček Bc. Peter Pristaš Bc. Viliam Pilarčík
Obsah ponuky Zadanie... 3 Motivácia... 3 Členovia tímu... 4 Hrubý návrh a plán projektu... 7 Predpokladané zdroje... 8 Priorita tém... 8 Rozvrh členov tímu... 9 2
Zadanie Analyzujte spôsoby synchronizácie súborov medzi rôznymi uzlami (e.g. rsync) a spôsoby efektívneho prenosu rovnakých dát do viacerých cieľových uzlov lokálnej počítačovej siete na platforme OS typu Unix (zamerajte sa na možnosti využitia multicast-u na systémoch FreeBSD a Linux). Navrhnite algoritmus pre zisťovanie zmenených častí v cieľových súboroch a protokol pre efektívnu synchronizáciu súboru zo zdrojového uzla do viacerých cieľových uzlov (pričom sa budú prenášať len zmenené časti). Riešenie implementujte a overte jeho funkčnosť a efektívnosť. Motivácia Spomedzi tém, ktoré boli určené pre tímový projekt sme sa rozhodli uchádzať o tému Protokol pre hromadnú aktualizáciu súboru. Pre túto tému sa jednoznačne zhodli všetci členovia nášho tímu. Všetci členovi nášho tímu sa aktívne zaujímajú o problematiku operačných systémov, čo potvrdzujú i nami dosiahnuté výsledky predmetu Operačné systémy bakalárskeho štúdia. Zároveň sa zaujímame i o problematiku počítačových sietí, čo potvrdzuje náš výber predmetov inžinierskeho štúdia, absolvované semestre CCNA niektorých našich členov. Táto téma dokonalým spojením týchto dvoch oblastí nášho záujmu a jedinečnou príležitosťou prehĺbiť si naše vedomosti a zručnosti v týchto oblastiach. 3
Členovia tímu Bc. Rastislav Szabó programovacie jazyky PHP, C, C++, C#, Perl, Java, JavaScript databázové systémy MySQL, PostgreSQL, SQLite správa sieťových zariadení, dva semestre CCNA Bakaláraska práca na tému Vizualizácia lokalizácie IP adries úspešne obhájená známkou A. Popri škole pracuje ako vedúci web developer v spoločnosti CREAS s.r.o. e-mail: rastislav.szabo@gmail.com Bc. Marek Koža programovanie v asm (motorola), C, perl, lua, php linux & embedded systémy (mips, intel xscale) správa serverov bežiacich na systéme linux (bežné služby, virtualizácia, high availability) správa sieťových zariadení a prevádzka sietí so zameraním na alternatívne technológie (ethernet, wireless 802.11, Mikrotik RouterOS, openwrt na platforme ar71xx) vo voľnom čase amatérska elektronika V súčasnosti popri škole pracuje ako systémový administrátor na Univerzite Komenského v Bratislave, vo voľnom čase ako systémový administrátor v OZ Ynet. e-mail: qyx@krtko.org 4
Bc. Gabriel Ševeček programovacie jazyky C, Java, Python, C# linux používateľ/administrácia správa sieťových zariadení Bakalárska práca na tému Forenzné nástroje na zbieranie digitálnych dôkazov v prostredí Unix (stále dáta) úspešne obhájená na známku B. V minulosti pracoval ako Unix administrátor v spoločnosti Soitron. e-mail: gabriel.sevecek@gmail.com Bc. Ján Šugarek programovacie jazyky: C/C++/C#, Java, PHP, HTML, JavaScript, AJAX, databázový systém: MySQL, správa systémov založených na OS Debian návrh, nainštalovanie a servis PC, základná inštalácia a administrácia siete Bakalárska práca na tému Forenzné nástroje na zbieranie digitálnych dôkazov v prostredí Windows (stále dáta) úspešne obhájená na známku A (výborne). Popri škole pracuje ako webový vývojár a servisný technik. e-mail: jsugarek@gmail.com 5
Bc. Peter Pristaš programovacie jazyky: C/C++, Java, PHP, HTML, Flash ActionScript, MySQL Mac OS X používateľ/administrácia inštalácia a administrácia siete práca s digitálnym spracovaním obrazu a zvuku: Final Cut Studio, Logic Studio, Adobe Premiere, Adobe Soundbooth Bakalárska práca na tému Vzdelávací materiál pre satelitné systémy a siete úspešne obhájená na známku B. V súčasnosti pracuje ako servisný technik a web dizajnér. e-mail: pristas.peter@gmail.com Bc. Viliam Pilarčík programovanie: java, C/C++, asm linux: pokročilý hardware: návrh, poradenstvo, servis PC, inštalácia/návrh a administrácia siete prvé dva CCNA semestre Bakalárkska práca na tému Virtuálny verifikačný panel s členmi NOR obhájená na známku B. Vo voľnom čase robí hudobného kritika a jazykového korektora pre hudobný magazín e-zine. V minulosti pracoval v HP Slovensko ako UNIX administrátor zákazníckych serverov. e-mail: vilozof@gmail.com 6
Hrubý návrh a plán projektu Systém by mal umožňovať hromadnú aktualizáciu zmeneného alebo nového súboru na ostatných uzloch v lokálnej počítačovej sieti, pričom prenos by mal byť čo najefektívnejší. Vzhľadom na to, že na viaceré uzly sa často budú prenášať rovnaké údaje, je vhodné využiť multicast. Predkladaný návrh protokolu a nástroja pre hromadnú aktualizáciu súboru nevychádza zo žiadneho existujúceho riešenia, nakoľko existujúce spôsoby synchronizácie súborov medzi rôznymi uzlami (napríklad rsync) zväčša nevyužívajú efektívny prenos rovnakých dát do viacerých cieľových uzlov lokálnej počítačovej siete (multicast). Systém bude sledovať zmeny súborov (odchytávať udalosť zápisu na súbor) a následne využitím počítania kontrolnej sumy malých blokov súboru porovnávať nový / zmenený súbor so súbormi uloženými na ostatných uzloch v lokálnej počítačovej sieti. Prenášať sa budú len zmenené bloky súboru - bloky s rôznou kontrolnou sumou. Dokončenie analýzy a hrubého návrhu projektu s prototypom implementácie je naplánovaný na koniec novembra až začiatok decembra 2009. Ukončenie riešenia projektu a odovzdanie výsledného riešenia s kompletnou dokumentáciou je naplánované na koniec apríla až začiatok mája 2010. 7
Predpokladané zdroje Vzhľadom na systém, na ktorom má byť riešenie nasadené, sa predpokladá využitie programovacieho jazyku C a prekladača gnu-gcc spolu s príslušnými nástrojmi na operačnom systéme Linux. Pri riešení projektu nepredpokladáme dlhodobejšie využitie akýchkoľvek špeciálnych prostriedkov. Pre vyriešenie úlohy a testovanie riešenia by mali byť postačujúce bežné pracovné stanice členov tímu a základná jednoduchá sieťová infraštruktúra. Toto je možné splniť jedným z nasledovných navrhnutých spôsobov: virtualizované prostredie viacerých počítačov prepojených vo virtuálnej sieti prístup do jednej zo školských učební (Cisco, CPU), kde sú k dispozícií pracovné stanice v sieti a je umožnený beh vlastného operačného systému a programového vybavenia (napr. formou umožnenia zavedenia systému z CD alebo USB pamäťového média). Priorita tém Zoznam tém, o ktoré máme záujem zoradených podľa priority: 1. Protokol pre hromadnú aktualizáciu súboru 2. Distribuovaný odkladací priestor virtuálnej pamäte 3. Vzdialený manažment súborov na CISCO zariadeniach 8
Rozvrh členov tímu -. /0 10 1 0-23!"## $!"%# &"## $ &"%# '"## $ '"%# (#"## $ (#"%# (("## $ (("%# ()"## $ ()"%# (*"## $ (*"%# (+"## $ (+"%# (%"## $ (%"%# (,"## $ (,"%# (!"## $ (!"%# (&"## $ (&"%# ('"## $ ('"%# )#"## $ )#"%# 9