Summary: | Tradicionalmente, utiliza-se um servidor central para prover suporte a MMOGs (massively multiplayer online games, ou jogos online maciçamente multijogador), nos quais o número de participantes é da ordem de dezenas de milhares. Muitos trabalhos foram realizados com o intuito de criar um modelo de suporte completamente descentralizado, par-a-par, para este tipo de aplicação, minimizando o custo de manutenção da sua infraestrutura, mas algumas questões críticas persistem. Exemplos de problemas do modelo de suporte par-a-par são: vulnerabilidade a trapaça, sobrecarga da banda de envio dos pares e dificuldade para manter a consistência da simulação entre os diferentes participantes. Neste trabalho, é proposta a utilização de nodos de baixo custo geograficamente distribuídos, operando como um servidor distribuído de jogo. O modelo de distribuição proposto e alguns trabalhos relacionados também são apresentados. Para tratar o custo de comunicação imposto aos servidores, foi projetado aqui um novo refinamento para a técnica de gerenciamento de interesse, reduzindo significativamente a largura de banda necessária ao jogo. Foram realizadas simulações utilizando o simulador ns-2, comparando diferentes algoritmos de área de interesse. Os resultados demonstram que a nossa proposta é a que tem a menor utilização de largura de banda, com uma redução em 33,10% do tráfego máximo, e em 33,58% do tráfego médio, quando comparada com outros algoritmos de gerenciamento de interesse. Além disso, em uma arquitetura de servidor distribuído para MMOGs, com recursos heterogêneos, os nodos servidores podem ser facilmente sobrecarregados pela alta demanda dos jogadores por atualizações de estado. Neste trabalho, é proposto também um esquema de balanceamento de carga que utiliza o tráfego de rede como a carga a balancear entre os servidores e tem como objetivos principais: alocar a carga nos servidores proporcionalmente à capacidade de cada um e reduzir tanto quanto possível o overhead introduzido pela própria distribuição. O esquema de balanceamento é dividido em três fases: seleção local de servidores para participarem, o balanceamento em si e o posterior refinamento da divisão de carga. Quatro algoritmos foram propostos: ProGReGA, ProGReGA-KH, ProGReGA-KF e BFBCT. Destes, o ProGReGA foi o que introduziu o menor overhead de todos e o ProGReGA-KF foi o que se mostrou mais eficiente para reduzir o número de migrações de jogadores entre servidores. === Traditionally, a central server is used to provide support to MMOGs (massively multiplayer online games), where the number of participants is in the order of tens of thousands. Much work has been done trying to create a fully peer-to-peer model to support this kind of application, in order to minimize the maintenance cost of its infra-structure, but critical questions remain. Examples of the problems relative to peer-to-peer MMOG support systems are: vulnerability to cheating, overload of the upload links of the peers and difficulty to maintain consistency of the simulation among the participants. In this work, it is proposed the utilization of geographically distributed lower-cost nodes, working as a distributed server to the game. The distribution model and some related works are also presented. To address the communication cost imposed to the servers, we specify a novel refinement to the area of interest technique, significantly reducing the necessary bandwidth. Simulations have been made with ns-2, comparing different area of interest algorithms. The results show that our approach achieves the least bandwidth utilization, with a 33.10% maximum traffic reduction and 33.58% average traffic reduction, when compared to other area of interest algorithms. Besides, in a distributed MMOG server architecture, with heterogeneous resources, the server nodes may become easily overloaded by the high demand from the players for state updates. In this work, we also propose a load balancing scheme, which considers the network traffic as the load to balance between the servers, and it has the following main objectives: allocate load on the servers proportionally to the power of each one of them and reduce as much as possible the overhead introduced by the distribution itself. It is is divided in three phases: local selection of servers, balancing and refinement. Four algorithms were proposed: ProGReGA, ProGReGA-KH, ProGReGA-KF and BFBCT. From these, ProGReGA has proved to be the best for overhead reduction and ProGReGA-KF is the most suited for reducing player migrations between servers.
|