1064
X Salão de
Iniciação Científica
PUCRS
Projeto de um Medidor de Velocidades de Upload e Download
para Dispositivos Móveis
Daiane Azevedo de Fraga1, Kleber Hugo Stangherlin1, Paulo Airton Moraes Pereira Junior1, Jorge
Guedes Silveira1 (orientador)
1
Faculdade de Engenharia, PUCRS
Resumo
Este trabalho apresenta a metodologia e os resultados de uma pesquisa realizada no
campo de sistemas web para dispositivos móveis. O objetivo é desenvolver um sistema web
capaz de medir a vazão de dados nos dois sentidos de uma conexão. O sistema deve ser capaz
de operar em dispositivos móveis para, deste modo, aferir a percepção do usuário em relação
à qualidade dos serviços oferecidos pela rede.
Introdução
Os velocímetros, ou medidores de velocidades de upload e download, medem a vazão
de dados de uma conexão nos sentidos de ida e volta, conforme definido em (MATHIS,
2001). Eles são utilizados pelos usuários para aferir a qualidade dos serviços presentes na rede
(QoS, do inglês, Quality of Service). Contudo, devido à grande demanda de serviços que
atuam sobre a rede IP (Internet Protocol), o acesso à web não está mais limitado apenas aos
PCs (Personal Computer), ele passou também para as telas dos dispositivos móveis, desde
celulares até Smartphones e PDAs (Personal Digital Assistants).
Neste cenário, surgiu a necessidade de desenvolver um medidor de velocidade capaz
de operar em dispositivos móveis. Entretanto, o desenvolvimento web para estes dispositivos
é muito exigente quando comparado ao desenvolvimento para PCs, devido às diversas
limitações existentes nos navegadores voltados a estes dispositivos. Pode-se citar como
exemplo a incompatibilidade dos navegadores quando interpretam códigos para o PC
tradicional, dificuldade na renderização do conteúdo, entre outros.
X Salão de Iniciação Científica – PUCRS, 2009
1065
Metodologia
Na primeira etapa deste trabalho foi realizada uma pesquisa sobre o desenvolvimento
web em dispositivos móveis. Através desta pesquisa observou-se que a maioria dos
navegadores para esses dispositivos não possuem suporte ao Flash (tecnologia de
desenvolvimento/apresentação de animações e interatividade web). Também foi constatado
que deve haver atenção quanto ao uso de JavaScript e CSS (Cascading Style Sheets), visto
que estas tecnologias possuem seus recursos limitados em plataformas móveis.
Em seguida foram analisados códigos de alguns velocímetros para PCs disponíveis na
Internet. Em geral, estes velocímetros possuíam códigos com estruturas simples, utilizando
apenas HTML (HyperText Markup Language) e JavaScript. Na maioria das vezes, esses
medidores exibem os resultados em uma tela composta por gauges (relógios), que indicam o
valor medido com um ponteiro. A interface onde são gerados os resultados geralmente utiliza
ActionScript (linguagem de script utilizada em aplicações Flash) ou JavaScript.
Com as pesquisas realizadas até o momento, optou-se por utilizar como base o código
de um velocímetro desenvolvido apenas em HTML e JavaScript, e distribuído através do site
Brandon Checketts sob a licença GPL (General Public License). Este velocímetro trabalha
apenas com uma imagem, manipulada dinamicamente pelo JavaScript para gerar as progress
bars, que auxiliam na exibição dos resultados (Figura 1). Originalmente, esse velocímetro não
funciona em dispositivos móveis, por isso são necessárias diversas mudanças visando adaptar
esse sistema às limitações impostas por estas plataformas.
Figura 1 (a) Durante o carregamento do teste de velocidade. (b) Apresentação dos resultados.
X Salão de Iniciação Científica – PUCRS, 2009
1066
Desta forma, frente às restrições existentes no desenvolvimento com JavaScript
voltado à plataforma móvel, não foi possível portar o velocímetro em seu formato original.
Estas restrições incluem pontos como a compatibilidade com os principais navegadores,
interface de fácil interpretação e moderação no uso da linguagem JavaScript.
O velocímetro portado utiliza uma página simples, feita em HTML para exibir os
resultados em texto puro, visto que as progress bars foram retiradas. A rotina em Java Script
que efetivamente faz a medição foi adaptada às limitações do dispositivo, de modo que ela
utiliza o mínimo de recursos, visando principalmente diminuir o tempo de processamento da
página no navegador.
Foram realizados testes no emulador Device Emulator V2, criado pela Microsoft
Corporation. Este emulador disponibiliza um hardware virtual para o desenvolvimento de
aplicações voltadas aos dispositivos móveis.
Resultados e Conclusões
Os testes iniciais realizados no simulador apresentaram valores fora do esperado para a
vazão de dados. Entretanto isto se deve a limitações existentes na utilização do emulador em
tarefas com temporização crítica. Como trabalhos futuros, podem ser realizados testes em
dispositivos móveis reais, uma vez que a página de resultados já é apresentada corretamente.
Este trabalho também contribui com a melhor aferição da percepção do usuário final,
em relação aos serviços oferecidos pela rede, visto que o medidor desenvolvido disponibiliza
uma maneira simples de medir a vazão de dados, por meio de uma página web que é acessível
por qualquer navegador compatível.
Referências
MATHIS, M., ALLMAN, M., A Framework for Defining Empirical Bulk Transfer Capacity
Metrics, RFC3148, 2001
Browsers Para Mobile – Nova Era. Disponível em: http://www.tableless.com.br/browsers-para-mobile-novaera. Acesso em: 5 jun. 2009.
Brandon Checketts – Open Source Speedtest. Disponível em: http://www.brandonchecketts.com/open-sourcespeedtest. Acesso em: 5 jun. 2009.
W3C:
Práticas
Recomendadas
Para
Desenvolvimento
Web.
Disponível
em:
http://www.mobilelife.com.br/2006/07/03/w3c-praticas-recomendadas-para-desenvolvimento-web. Acesso em: 4
jun. 2009.
Microsoft Device Emulator 2.0 -- Standalone Release. Disponível em:
http://www.microsoft.com/downloads/details.aspx?FamilyID= dd567053-f231- 4a64-a648fea5e7061303&displaylang=en. Acesso em: 4 jun. 2009.
X Salão de Iniciação Científica – PUCRS, 2009
Download

Projeto de um Medidor de Velocidades de Upload e para