Virtual environments where users can interact with each other as well as with the environment are today used in many application areas ranging from military simulations to massive multiplayer online games. But no matter the application area, as soon as the number of users reaches a certain threshold, hosting a virtual environment on a single machine can become problematic. Speed and quality of the network connection will limit the number of concurrently connected users in terms of acceptable visual quality and hardware requirements of the server will be strict. With a single point of failure, system reliability could easily be compromised by means of network or host failure. Distribution of the virtual environment therefore seems a reasonable approach in order to address this problem. Hardware and network requirements would not be so critical and it would increase reliability by having no single point of failure. Unfortunately distribution introduces new problems dealing with synchronization of the world state within the distribution network. A possible solution to these problems with the focus on reliability will be presented in this thesis. The solution uses a peer to peer platform that is able to adapt to changes in the network infrastructure as a base for all communication. To improve synchronization efficiency the network will be dynamically divided into multicast groups based on synchronization needs. The solution will be tested for performance with the network fully functioning and in a number of more of less broken states to determine the reliability. The results from the tests conclude that the system is able to perform with what must be seen as acceptable performance levels even in very problematic network environments. The scalability of the system did also meet the expectations but the results would have benefited from more experimentation with larger user populations.
Virtuella världar där användare kan träffas och interagera med både varandra och miljön används idag i inom flera områden så som militära simulatorer och online-spel. Men det spelar ingen roll vad användningsområdet är, när antalet anvädare når en viss gräns blir det problematiskt att hålla den virtuella världen på en maskin. Distribuering kan vara en lösning på detta problem men som i sin tur drar med sig nya problem i form av synkroniseringssvårigheter. En potentiell lösning presenteras i rapporten som använder peer-to-peer-tekniker för att hålla informationen synkroniserad och försöker upprätthålla en hög tillgänlighet under svåra nätverksförhållande. Lösningen har testats och uppvisade låvande resultat inom båda skalbarhet och pålitlighet men skulle behöva fler tester för att ge definitiva resultat.