The design and implementation of a high performance server framework for a large scale multiplayer online game
| dc.contributor | Aalto-yliopisto | fi |
| dc.contributor | Aalto University | en |
| dc.contributor.advisor | Saikkonen, Heikki | |
| dc.contributor.author | Koskela, Jussi | |
| dc.contributor.department | Informaatio- ja luonnontieteiden tiedekunta | fi |
| dc.contributor.school | Teknillinen korkeakoulu | fi |
| dc.contributor.school | Helsinki University of Technology | en |
| dc.contributor.supervisor | Saikkonen, Heikki | |
| dc.date.accessioned | 2020-12-05T13:36:43Z | |
| dc.date.available | 2020-12-05T13:36:43Z | |
| dc.date.issued | 2008 | |
| dc.description.abstract | Tässä diplomityössä tarkastellaan suorituskykyisen Java-pohjaisen palvelinrungon suunnittelua ja toteutusta suuren pelaajamäärän verkkomoninpeliin. Työssä perehdytään yleisimpiin kuljetuskerroksen protokolliin sekä verkkosiirräntä-, samanaikaisuus- ja synkronointitekniikoihin ja arvioidaan niiden soveltuvuutta palvelinrungon toteutukseen. Arvioiden pohjalta toteutetaan palvelinrunko, joka tarjoaa tehokkaat palvelut viestien samanaikaiseen vastaanottamiseen, käsittelyyn ja lähettämiseen. Työssä esiteltävän palvelinrungon korkea suorituskyky perustuu yksisäikeisen kanavoidun estämättömän verkkosiirrännän ja säievarantopohjaisen tehtävien käsittelyn yhdistämiseen. Pelikohtaisten tehtävien käsittely synkronoidaan käyttäen uudentyyppisistä varattavista luku-kirjoitus-lukoista muodostettua puumaista lukitushierarkiaa. Tämä mahdollistaa tehtävien samanaikaisen käsittelyn oikeassa suoritusjärjestyksessä erittäin pienin estävyyksin. Konseptin toimivuus osoitetaan integroimalla suuren pelaajamäärän mäkihyppypelin pelilogiikka palvelinrungon yhteyteen ja kuormittamalla palvelintoteutusta asiakassovellussimulaattorin luomalla keinotekoisella kuormalla. Työssä havaitaan, että geneerisellä Java-pohjaisella palvelinrungolla pystytään mahdollistamaan pelilogiikan suorituskykyinen käsittely sekä samalla yksinkertaistamaan verkkomoninpelipalvelinten toteutusta huomattavasti. Sovelluskohtaisen ohjelmakoodin synkronointi jää kuitenkin edelleen vaativaksi ja virhealttiiksi tehtäväksi. | fi |
| dc.format.extent | 80 | |
| dc.identifier.uri | https://aaltodoc.aalto.fi/handle/123456789/95472 | |
| dc.identifier.urn | URN:NBN:fi:aalto-2020120554306 | |
| dc.language.iso | fi | en |
| dc.programme | Tietotekniikan tutkinto-ohjelma | fi |
| dc.programme.major | Ohjelmistotekniikka | fi |
| dc.programme.mcode | T-106 | fi |
| dc.rights.accesslevel | closedAccess | |
| dc.subject.keyword | servers | en |
| dc.subject.keyword | palvelimet | fi |
| dc.subject.keyword | computer games | en |
| dc.subject.keyword | tietokonepelit | fi |
| dc.subject.keyword | network input/output | en |
| dc.subject.keyword | verkkosiirräntä | fi |
| dc.subject.keyword | concurrency | en |
| dc.subject.keyword | samanaikaisuus | fi |
| dc.subject.keyword | synchronization | en |
| dc.subject.keyword | synkronointi | fi |
| dc.title | The design and implementation of a high performance server framework for a large scale multiplayer online game | en |
| dc.title | Suorituskykyisen palvelinrungon suunnittelu ja toteutus suuren pelaajamäärän verkkomoninpeliin | fi |
| dc.type.okm | G2 Pro gradu, diplomityö | |
| dc.type.ontasot | Master's thesis | en |
| dc.type.ontasot | Pro gradu -tutkielma | fi |
| dc.type.publication | masterThesis | |
| local.aalto.digiauth | ask | |
| local.aalto.digifolder | Aalto_03525 | |
| local.aalto.idinssi | 35610 | |
| local.aalto.inssilocation | P1 Ark Aalto | |
| local.aalto.openaccess | no |