Authors
Advisor(s)
Abstract(s)
A indústria dos jogos on-line em particular os MMOG movimenta milhões e milhões de
dólares tendo cada vez mais adeptos. Os jogadores exigem jogos cada vez mais apelativos
em termos gráficos e de conteúdo, com acessos cada vez mais rápidos e com uma taxa de
disponibilidade cada vez mais elevada.
Apesar de um jogo não ser uma aplicação crítica no sentido tradicional do termo, a
tolerância a falhas surge como um aspecto cada vez mais importante para assegurar uma
alta taxa de disponibilidade e assegurar a continuidade de um jogo na presença de falhas.
Algumas horas de inactividade de um jogo originam grandes prejuízos, tanto por perda
directa de jogadores nesse intervalo de tempo como por perda da credibilidade do jogo.
Nesta tese construímos uma versão tolerante a falhas do servidor de base de dados e
do servidor web do conhecido jogo Dungeons & Dragons (D&D). Foi implementada a
replicação de dados segundo o modelo “master-master modo activo-passivo” e a replicação
de estados seguindo o modelo “all-to-all” utilizando um servidor de load balancing e de
DNS. Com estas duas formas de replicação consegue-se garantir a continuidade do jogo na
presença de falhas de forma transparente para o utilizador.
O impacto dos mecanismos implementados no desempenho do jogo foi avaliado através
da realização de testes de carga com a ferramenta JMeter, simulando múltiplos jogadores em
simultâneo e obtendo os valores do throughput para as situações com e sem replicação, com
e sem falhas. Os resultados para simulações até 300 jogadores mostraram que o custo da
replicação de estados é reduzido não ultrapassando os 5% e o custo da replicação de dados
feita ao nível do jogo pode atingir cerca de 30% impondo-se a procura de novas soluções.
Os resultados mostram ainda que, com o aumento do número de utilizadores, a diferença
entre o throughput sem replicação e o throughput com replicação se vai atenuando o que
significa que o custo da replicação se vai repartindo pelos utilizadores.
The on-line video game industry, and MMOG in a special manner, bears million dollar transactions and a growing number of supporters. Players demand for more appealing games, both graphically and in contents, with even faster accesses and higher availability rates. Despite games not being critical applications in a traditional way, fault tolerance presents itself as an aspect of growing importance in the path to deliver higher availability rates and assure game continuity in the presence of faults. A few hours or even days of game downtime can represent significant losses, either by subsequent player resignation and a strong credibility decrement. In this thesis, a fault tolerant version of both web and database servers for the well-known game “Dungeons & Dragons” is built. Data replication is achieved through a “master- -master” model in an active-passive mode, and state replication follows the “all-to-all” model using a load balancing and DNS server. With these two replication methods, we can assure game quality and continuity under the presence of faults, in a transparent way for the user. The implemented procedures impact on game performance was accessed through load tests, carried on using the JMeter tool, simulating multiple simultaneous players and quantifying throughput values for situations with and without replication, with and without faults. Simulations with less than 300 players show a minimal state replication cost, lower than 5%, and data replication cost goes up to 30% urging the need for new solutions. Results also exhibit an attenuation in the difference between the throughput without replication and the throughput with replication, which becomes slender as the number of connected players raise, meaning that replication cost is apportioned through users.
The on-line video game industry, and MMOG in a special manner, bears million dollar transactions and a growing number of supporters. Players demand for more appealing games, both graphically and in contents, with even faster accesses and higher availability rates. Despite games not being critical applications in a traditional way, fault tolerance presents itself as an aspect of growing importance in the path to deliver higher availability rates and assure game continuity in the presence of faults. A few hours or even days of game downtime can represent significant losses, either by subsequent player resignation and a strong credibility decrement. In this thesis, a fault tolerant version of both web and database servers for the well-known game “Dungeons & Dragons” is built. Data replication is achieved through a “master- -master” model in an active-passive mode, and state replication follows the “all-to-all” model using a load balancing and DNS server. With these two replication methods, we can assure game quality and continuity under the presence of faults, in a transparent way for the user. The implemented procedures impact on game performance was accessed through load tests, carried on using the JMeter tool, simulating multiple simultaneous players and quantifying throughput values for situations with and without replication, with and without faults. Simulations with less than 300 players show a minimal state replication cost, lower than 5%, and data replication cost goes up to 30% urging the need for new solutions. Results also exhibit an attenuation in the difference between the throughput without replication and the throughput with replication, which becomes slender as the number of connected players raise, meaning that replication cost is apportioned through users.
Description
Keywords
Jogos on-line - Replicação de dados Jogos on-line - Tolerância a falhas Jogos on-line - Replicação de estados Jogos on-line - Metodologia - Estudo