Peer-to-peer arhitektuuri rakendamine virtuaalmaailmades

Date

2012

Journal Title

Journal ISSN

Volume Title

Publisher

Tartu Ülikool

Abstract

Klassikaliste klient-server arhitektuuril põhinevate virtuaalmaailmade üheks nõrgaks kohaks on serverid, milledesse virtuaalmaailma kliendid ühenduvad. Kui tegemist on suure kasutajaskonna ja suure kasutatavusega virtuaalmaailmaga, siis kipuvad serverite halduskulud kasvama väga kiiresti ning nende kesise haldamise korral võivad kasutajad kogeda ebameeldivusi antud teenuse tõrkumise tõttu. Lisaks sellele on ka kontroll antud keskkonna üle serverite haldajatel, mistõttu võivad viimased ette teatamata oma teenused sulgeda. Klient-server arhitektuuril põhinevad populaarsetest teenustest nii World of Warcraft kui ka Second Life. Peer-to-peer (P2P) arhitektuur erineb klient-server arhitektuurist selle poolest, et iga osaleja P2P-l põhinevas võrgus võib käituda nii kliendi kui ka serverina – puudub keskne ühenduspunkt. Peer-to-peer tehnoloogial põhinevad näiteks populaarne failivahetuskesk-kond BitTorrent1 ja suhtluskeskkond Skype2. Tuhandete kasutajatega ja rikkaliku sisuga virtuaalmaailmad võivad vajada võrdlemisi palju ressursse, sh. arvutusvõimsust, internetiühenduse ribalaiust ja andmete salvestus-mahtu. Klient-server mudeli puhul on pudelikaelaks serverid, milledesse kliendid ühendu-vad – serverid peavad olema piisavalt võimsad ning neid peab olema piisavalt palju, et kliente samaaegselt hallata ja virtuaalmaailma simulatsiooni töös hoida. Peer-to-peer mudel kõrvaldab selle pudelikaela, võimaldades ühel kliendil jagada ülesandeid laiali teistele, vähem koormatud klientidele. Näiteks, kui kasutajad kirjutavad skripte, mis vajavad arvestatava hulga arvutusvõimsust (animeerides mingit objekti või lahendades mõnda arvutusülesannet), siis klient-server mudeli puhul on serveri ülesandeks klientide skripte jooksutada ning suur klientide ja skriptide arv võib serveri üle koormata. Seevastu P2P arhitektuuri puhul on võimalik rakendada koormusjaotusalgoritme ning leida kliendid, kellele võiks delegeerida mõnede skriptide jooksutamise selle alusel, kui palju ressursse ja arvutusvõimsust neil parasjagu üle on. Selline peer-to-peer tehnoloogial põhinev koormuse jaotamine võimaldab pakkuda kee-rulisemat ja rikkalikumat virtuaalmaailma kogemust klientidele. Koormuse jaotamine võimaldab vähendada teenusepakkuja kulusid interneti teenusele ja energiale. Siiski võib P2P võrgu osaliste koondkulu olla suuremgi kui tavalise klient-server võrgu puhul, kuna kõik osalised võivad olla võrdselt hõivatud, andes oma panuse ressursside kasutamisse. Samal ajal lisab P2P kasutamine ka turvariske, võrreldes klient-server mudeliga, milles on sisuliselt ainult üks usaldust vajav komponent – server. Käesoleva töö eesmärgiks on võrrelda klient-server mudeli ja peer-to-peer mudeli efektiivsust ja P2P arhitektuuri rakendatavust virtuaalmaailmades. Selleks viisime läbi katsed teadusuuringute tarbeks ehitatud virtuaalmaailmaga VirtualLife.
The purpose of the given thesis is to investigate the usability and effectiveness of peer-to-peer architecture in contrast to traditional client-server architeture when simulating virtual worlds. In addition, we study how peer-to-peer helps to reduce the cost of ownership for the service provider as opposed to the traditional client-server architecture. A number of experiments were conducted with scientific research project VirtualLife using both peer-to-peer and client-server architectures. The experiments were conducted on a special-purpose cluster computer consisting of multiple virtual nodes. Some experiments were also repeated on a non virtualized environment consisting of physical computers, since it was found that the virtualized environment might have had a negative effect on the performance of the simulation. Based on the experiment results we conclude that using peer-to-peer architecture when simulating virtual worlds helps to provide a better user experience while reducing the cost of ownership for the service provider. We also confirm that the usage of peer-to-peer architecture might increase the bandwidth load and resource usage for the client participating in the virtual world.

Description

Keywords

Citation