Dificuldades para a Implementação de um Sistema de
GameClouding
Hugo N. de Oliveira, Matheus C. de Melo, Ricardo Mendes Costa Segundo1,
Rostand Costa, Tatiana Aires Tavares1
Laboratório de Aplicações de Vídeo Digital (LAViD) - Universidade Federal da Paraíba
(UFPB)
João Pessoa - PB – Brasil
{hugo.neves, matheus.melo, ricardo, rostand, tatiana}@lavid.ufpb.br
Abstract. The following text explains some characteristics of Cloud
Computing, as well as the advantages, disadvantages and problems to develop
GameClouding systems.
Resumo. O texto seguinte explica algumas características da Computação em
Nuvens, assim como vantagens, desvantagens e problemas para implantar
sistemas de GameClouding.
1. Aspectos gerais
Deparamo-nos constantemente com diversas inovações, podemos listar celulares e
computadores com mais tecnologia até carros mais confortáveis; tudo isso com o
propósito e não único de facilitar nosso cotidiano. Nessa mesma linha, destacamos a
Computação em Nuvens, tecnologia computacional já utilizada em grande escala por
empresas como Google, Amazon e Microsoft, mas que ainda é muito pesquisada e sofre
grandes contribuições da comunidade acadêmica.
Acredita-se que esse termo, “Computação em Nuvem”, surgiu em 2006, em uma das
palestras da Google [Ruschel, M., p.3]. A Nuvem é uma super estrutura, ou podemos
até dizer infra-estrutura, onde há comunicação entre seus componentes, basta apenas o
usuário ter um sistema operacional e acesso a internet para poder acessar a nuvem e
dispor de seus serviços, sem se preocupar com instalação e atualização de software
[Ruschel, M., p.2].
A computação compartilhada e a eliminação da distância entre usuários e servidores,
são duas de várias propostas dessa nova tecnologia computacional que torna a internet
ainda mais flexível e disponível aos seus usuários [Armbrust et all]. Como toda
novidade tecnológica, apesar de muitas vantagens, também enfrenta alguns obstáculos.
Desse modo, esse artigo apresenta um estudo sobre os principais problemas e
dificuldades da Computação em Nuvens ser desenvolvida em maior escala.
2. Características da Computação em Nuvens
2.1 Conceitos da Computação em Nuvens
Cloud Computing usa o servidor para realizar as operações feitas sobre os dados, sendo
assim, todo o corpo de um aplicativo e os arquivos necessários para executá-lo precisam
estar previamente guardados no servidor. O servidor é um computador com uma
capacidade de processamento muito mais alta que um computador doméstico, podendo
executar tarefas impossíveis ou que levariam muito tempo para um computador
doméstico.
“A Computação em Nuvens é uma evolução dos serviços e produtos de tecnologia da
informação sob demanda, também chamada de Utility Computing” [Ruschel, M.].
“Computação em Nuvens se refere tanto às aplicações oferecidas como serviço pela
internet quanto ao hardware e softwares nos servidores que provêm estes serviços. Os
serviços foram por muito tempo referidos como Software como Serviço” [Armbrust, M.
et all]. A sigla em inglês para Software como Serviço (SaaS) é amplamente usada.
Software como Serviço trata da distribuição de softwares como um serviço prestado por
uma empresa direto de seu servidor, para que as informações sejam passadas para o
cliente.
Com o conceito de nuvem, além do SaaS, surgiu a idéia de pagamento por utilização de
recursos computacionais, permitindo que um usuário ou empresa requisite ao servidor
mais ou menos poder de processamento [Ruschel, M.] (Platforma como Serviço - PaaS)
e armazenamento de dados (Database como Serviço - DaaS) de acordo com suas
necessidades diárias, que podem variar de tempos em tempos [Prasad, B.].
2.2 GameClouding
Com a evolução das técnicas de administração de rede -- e seus recursos
computacionais associados -- surgiu a ideia de desenvolver jogos fundamentados no
conceito de Cloud Computing. A, o motor do jogo não mais executa no cliente, mas sim
na nuvem, onde é realizada a maior parte dos processos mais intensivos do ponto de
vista computacional. O cliente do jogo resume-se ao envio de eventos para a nuvem e o
recebimento de um stream de vídeo. Os eventos recebidos dos clientes, juntamente com
o estado do jogo, permitem a renderização do ambiente virtual também na nuvem, e as
imagens resultantes são enviadas para os clientes em streaming. Desta forma, o jogo
tem uma dependência bem menor do dispositivo cliente específico do usuário.
Alguns outros jogos em rede necessitam ser instalados em parte no servidor e em parte
na máquina do usuário. O usuário também poderá usufruir de jogos colaborativos ou
totalmente nas nuvens através de sistemas embarcados.Também há muitos dos jogos
para internet que são feitos com linguagens para web como ActionScript. São jogos em
geral com gráficos simples, que necessitam de pequena ou quase nenhuma instalação de
componentes apesar de não haver uma estrutura como a nuvem que faça comunicação
cliente/servidor.
2.2 Diferenças para a computação tradicional
Enquanto a Computação tradicional utiliza recursos provenientes dos computadores
pessoais para executar aplicações e guardar informações, Cloud Computing usa os
recursos provenientes dos mainframes e repassa as informações requeridas pelo usuário
por meio de interação pela internet. Desta maneira, os programas são instalados na
central de dados e executados direto de lá.
3. Obstáculos para a Cloud Computing
Uma Cloud Computing é um sistema complexo que requer um sistema estável e
manutenção constante. Os jogos que podem ser rodados num sistema em nuvens são
dos mais variados tipos, o que demanda um tempo de resposta pequeno do sistema. Os
principais obstáculos para a criação de um sistema em Nuvens serão abordados a seguir.
3.1 Atrasos na Rede
Principalmente em países sem avançadas estruturas de rede, como o Brasil, acesso a
Internet com alta largura de banda é uma dificuldade para grande parte da população,
atrasando a disseminação de serviços de Cloud Computing pelo mundo, como o serviço
de GameClouding.
Outro fator que complica o acesso à GameClouding em parte dos países é a pouca
quantidade de Centrais de dados, pois quanto maior a distância entre o usuário e o
servidor, maior será o atraso. Para uma boa experiência para o usuário de aplicações em
tempo real como jogos, o atraso máximo entre ação (ex: clique do mouse) e reação (ex:
modificação do cenário do jogo) deve ser menor que 0,1s [Roesler].
3.2 Tempo de processamento
Por maior a capacidade de processamento de dados que um servidor possua, haverá um
tempo mínimo de processamento que precisa ser previsto. Até um potente servidor em
Nuvem quando sobrecarregado pode representar um atraso desconfortável para o
usuário. Este tempo em um sistema de GameClouding abrange não só o processamento
dos dados, mas também a geração dos vídeos que darão retorno ao usuário.
3.3 Compressão/Descompressão de vídeo
A necessidade da máxima compressão dos vídeos, com perda mínima de informações,
torna-se um problema para o avanço de uma estrutura de GameClouding, já que torna-se
necessário o desenvolvimento de novos compressores e técnicas ou de outro sistema de
compressão que diminua a latência.
Conclusão
Desse modo, GameClouding é uma tecnologia que inspira diversos estudos, os quais
podem trazer grandes ganhos para área acadêmica de jogos, como também avanços para
estudos gerais de computação nas nuvens.
Referências
Armbrust, M. et all (2010). “A View of Cloud Computing”, Berkeley Reliable Adaptive
Distributed Systems Laboratory (RAD lab), University of California, USA.
Prasad, B., Choi, E. and Lumb, I. (2009). “A Taxonomy and Survey of Cloud
Computing Systems”, University Jeongneung-Dong, Korea; York University,
Canada.
Roesler, Valter. Transmissão Multimídia em Redes de Computadores, Unisinos, Julho
de 2001.
Ruschel, M., Zanotto, M. and Mota W. (2010), “Computação em Nuvem”, Pontifícia
Universidade Católica do Paraná, Curitiba, Brazil.
Download

Dificuldades para a Implementação de um Sistema de GameClouding