identificação de oportunidades de melhoria do consumo ... · profissional e em especial ao meu...
TRANSCRIPT
Pós-Graduação em Ciência da Computação
Identificação de Oportunidades de Melhoria do
Consumo Energético de Dispositivos Móveis através
de um Estudo Experimental
Por
Paulo Henrique Raulino Costa Dissertação de Mestrado Profissional
Universidade Federal de Pernambuco
posgraduaçã[email protected]
www.cin.ufpe.br/~posgraduacao
RECIFE, SETEMBRO/2011
2
Universidade Federal de Pernambuco
CENTRO DE INFORMÁTICA
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
PAULO HENRIQUE RAULINO COSTA
Identificação de Oportunidades de Melhoria do Consumo
Energético de Dispositivos Móveis através de um Estudo
Experimental
Este trabalho foi apresentado à Pós-Graduação em Ciência
da Computação do Centro de Informática da Universidade
Federal de Pernambuco como requisito parcial para
obtenção do grau de Mestre Profissional em Ciência da
Computação.
Orientador: Professor Fabio Queda Bueno da Silva, PhD.
RECIFE, SETEMBRO/2011
3
Catalogação na fonte Bibliotecária Jane Souto Maior, CRB4-571
Costa, Paulo Henrique Raulino Identificação de oportunidades de melhoria de consumo energético de dispositivos móveis através de um estudo experimental / Paulo Henrique Raulino Costa - Recife: O Autor, 2009. 100 folhas: Il., fig., tab. Orientador: Fábio Queda Bueno da Silva. Dissertação (mestrado profissional) - Universidade Federal de Pernambuco. CIn, Ciência da Computação, 2009. Inclui bibliografia e anexo. 1. Ciência da Computação. 2. Engenharia de software. 3. Consumo de energia. 4. Dispositivos móveis. I. Silva, Fábio Queda Bueno da (orientador). II. Título. 004 CDD (22. ed.) MEI2011 – 188
5
Aos meus pais Honorina Martins Raulino Costa
E Raimundo Alves Costa (in memorian)
6
Agradecimentos
A Deus, que trilha meus caminhos;
As minhas filhas Marília Costa e Mariana Costa, pelo amor que tenho, por
acreditarem em mim e pelo apoio em minhas decisões;
Aos professores do CIn, responsáveis pela minha formação no Mestrado
Profissional e em especial ao meu orientador Fábio Silva, pelas recomendações,
pelas críticas, correções e disponibilidade;
Aos amigos que me ajudaram neste trabalho: Antônio Cavalcanti, Rivaldo
Oliveira e Diogo Severo;
A todos do Projeto Samsung que acreditam no meu potencial, em especial à
Thatiana Kabbaz, Tatiana Bittencourt, Nancy de Lira e Rafael Marques;
A Leila Oliveira e aos colegas do Mestrado Profissional, que me estimularam a
seguir em frente;
Ao Projeto CIn / Samsung pelo apoio no desenvolvimento deste trabalho;
7
Ventos nem sempre nos levam para as rotas planejadas, mas nos levam a descobrir novos
mundos. Mundos estes que, depois de dominados, nos trazem boas lembranças dos
desafios superados.
8
Resumo
Os dispositivos móveis são a principal plataforma computacional da atualidade.
Sua popularização agregou diversos serviços, principalmente os do tipo always-on
(sempre ativo), possibilitando o que conhecemos hoje como Convergência Digital. Esses
serviços estão cada vez mais complexos e exigindo maior poder computacional,
consequentemente maior consumo de energia, comprometendo a autonomia de uso
desses dispositivos.
Tendo em vista que a autonomia de uso dos dispositivos moveis está
comprometida, a identificação de oportunidades para otimizar o consumo energético, sem
comprometer a qualidade de serviço, torna-se fundamental. Este trabalho experimental
avalia cinco cenários de consumo energético do dispositivo móvel alvo do experimento,
mostrando a variação de sua autonomia.
Foi criado um experimento com um cenário de controle onde o dispositivo
encontrava-se em modo idle (espera) e cenários de avaliação. Para cada cenário de
avaliação foi modificada uma variável importante do ponto de vista do consumo
energético e posteriormente foram analisadas as variações do consumo de energia entre
os cenários de avaliação com o cenário de controle.
Mesmo levando-se em consideração que os cenários de avaliação foram
escolhidos mediante a suspeita de alto consumo e não cobrem todos os casos possíveis, a
análise feita evidencia que todos os cenários executados possuem oportunidade de
melhoria energética e em alguns casos estas melhorias são significativas.
Palavras-chave: Consumo de Energia, Técnicas de Gerenciamento de Energia,
Tecnologia Verde, Dispositivos Móveis, Engenharia de Software, Engenharia de
Hardware, Protocolos de Rede.
9
Abstract
Mobile devices are the primary computing platform today. His popularity has
added several services, especially those like always-on, allowing what is now known as
Digital Convergence. These services are increasingly complex and requiring more
computing power, hence higher power consumption, compromising the autonomy of
these devices.
Given that the autonomy of the use of mobile devices is committed to identifying
opportunities to optimize energy consumption, without compromising quality of service
becomes critical. This experimental study evaluates five scenarios of the mobile device
energy consumption target for the experiment, showing the variation of its autonomy.
It created an experiment with a control scenario where the device was in idle
mode (standby) and assessment scenarios. For each scenario evaluation was modified an
important variable in terms of energy consumption and subsequently analyzed the
variations in energy consumption between the scenarios with the scenario assessment of
control.
Even taking into account that the assessment scenarios were chosen by suspected
high consumption and do not cover all possible cases, the analysis shows that all
scenarios are executed opportunity to improve energy and in some cases these
improvements are significant.
Keywords: Power Consumption, Power Management Techniques, Green Technology,
Mobile Devices, Software Engineering, Hardware Engineering, Network Protocols.
10
LISTA DE FIGURAS
Figura 1 - Fluxo de Projeto ............................................................................................... 26
Figura 2 - Ferramenta de configuração da fonte e coleta de dados .................................. 29
Figura 3 - Ambiente de Laboratório ................................................................................. 30
Figura 4 - Sinalização de rede do cenário Somente Registrado ....................................... 34
Figura 5 - Dispositivo sob a influencia de dois sinais de mesma intensidade .................. 39
Figura 6 - Sinalização do Cenário Falha de Histerese ...................................................... 40
Figura 7 - Curvas de consumo dos trinta experimentos .................................................... 45
Figura 8 - Características da Curva de Consumo idle ....................................................... 46
Figura 9 – Consumo do Experimento 1 sem os lóbulos ................................................... 47
Figura 10 - Consumo dos trinta experimentos sem os lóbulos ......................................... 48
Figura 11 - Histograma do Cenário Registrado na Rede .................................................. 50
Figura 12 - Curva do experimento 1 retificada pela Mediana ......................................... 51
Figura 13 - Histograma do Cenário Intervenções do Sistema Operacional ...................... 54
Figura 14 - Característica da Curva de Consumo Bluetooth Ativado .............................. 55
Figura 15 - Consumo do Experiemento 1 Sem os Lóbulos .............................................. 57
Figura 16 - Histograma do Cenário Bluetooth Ativado .................................................... 59
Figura 17 - Curva Características de Consumo Hysteresis Failure .................................. 60
Figura 18 – Curva Hysteresis Failure Sem os Lóbulos..................................................... 62
Figura 19 - Histograma do Cenário Falha de Histerese .................................................... 64
Figura 20 - Curva Características de Consumo Luz do Visor .......................................... 65
Figura 21 - Curva Luz do Visor Sem os Lóbulos ............................................................. 67
Figura 22 – Histograma do Cenário Luz do Visor ............................................................ 69
Figura 23 - Histograma Somente Registrado para Duração 302,57s ................................ 73
Figura 24 - Histograma Consumo Intervenções Sistema Operacional Duração 302,57s . 75
Figura 25 - Histograma Bluetooth Ativado para Duração 302,57s .................................. 77
Figura 26 - Histograma Falha Configuração da Operadora para Duração 302,57s .......... 79
Figura 27 - Histograma Configuração da Luz do Visor para Duração 302,57s ............... 81
11
LISTA DE TABELAS
Tabela 1 - Estatística do Cenário Registrado na Rede ...................................................... 49
Tabela 2 - Estatística do Cenário Intervenções do Sistema Operacional .......................... 53
Tabela 3 - Estatística do Cenário Bluetooth Ativado ........................................................ 58
Tabela 4 - Estatística do Cenário Falha de Histerese ........................................................ 63
Tabela 5 – Estatística do Cenário do Luz do Visor .......................................................... 68
Tabela 6 - Experimento de Menor Tempo de Medição em Cada Cenário ....................... 70
Tabela 7 - Estatística Somente Registrado para Duração 302,57s .................................... 72
Tabela 8 - Estatística Intervenções do Sistrema Operacional Duração 302,57s ............... 74
Tabela 9 - Estatística Bluetooth Ativado para Duração 302,57s ...................................... 76
Tabela 10 - Estatística Falha Configuração da Operadora para Duração 302,57s ............ 78
Tabela 11 - Estatística Configuração da Luz do Visor para Duração 302,57s ................. 80
Tabela 12 - Economia nos Experimentos Realizados ....................................................... 85
12
LISTA DE EQUAÇÕES
Equação 1 - Equação da Potência ..................................................................................... 21
13
SUMÁRIO
1 INTRODUÇÃO ......................................................................................................... 15
1.1 Objetivos Gerais ................................................................................................. 17
1.2 Objetivos Específicos ......................................................................................... 18
1.3 Estrutura da Dissertação ..................................................................................... 18
2 REFERENCIAL TEÓRICO.................................................................................... 20
2.1 Técnicas de Gerenciamento de Energia em Hardware ....................................... 20
2.2 Técnicas de Gerenciamento de Energia em Software ........................................ 21
2.3 Consumo de Energia em Aparelhos Celulares ................................................... 22
3 METODOLOGIA ..................................................................................................... 24
3.1 Classificação da Pesquisa ................................................................................... 24
3.2 Etapas da Pesquisa ............................................................................................. 25
4 EXPERIMENTOS .................................................................................................... 28
4.1 Ambiente de Laboratório ................................................................................... 28
4.2 Procedimento de Execução do Experimento ...................................................... 32
4.3 Descrição dos Cenários ...................................................................................... 33
4.4 Avaliação dos Cenários ...................................................................................... 44
4.4.1 Cenário: Somente Registrado na Rede ........................................................... 45
4.4.2 Cenário: Somente Registrado na Rede, Consumo Retificado ........................ 51
4.4.3 Cenário: Bluetooth Ativado ............................................................................ 55
4.4.4 Cenário: Falha na Configuração da Rede da Operadora ................................ 60
4.4.5 Cenário: Configuração da Luz do Visor ......................................................... 65
4.5 Avaliação do Consumo ...................................................................................... 70
4.5.1 Cenário: Somente Registrado na Rede ........................................................... 72
4.5.2 Cenário: Intervenções do Sistema Operacional .............................................. 74
4.5.3 Cenário: Bluetooth Ativado. ........................................................................... 76
4.5.4 Cenário: Falha na Configuração da Rede da Operadora ................................ 78
4.5.5 Cenário: Configuração da Luz do Visor ......................................................... 80
5 CONSIDERAÇÕES FINAIS ................................................................................... 82
14
5.1 Discussões .......................................................................................................... 82
5.2 Conclusão ........................................................................................................... 84
5.3 Trabalhos Futuros ............................................................................................... 86
6 REFERÊNCIAS ........................................................................................................ 87
7 ANEXO: CÓDIGO DO PROGRAMA DA FONTE DC ....................................... 90
15
1 INTRODUÇÃO
Os dispositivos computacionais estão cada vez mais presentes no nosso dia a dia,
seja na educação, saúde, artes, esportes, negócios, etc. Cada vez mais nossas vidas são
gerenciadas por dispositivos computacionais, mesmo quando não estamos percebendo, ao
levar consigo um medidor de insulina, por exemplo, este dispositivo essencial para a
vida, contém computação.
Para atender a crescente demanda de serviços, a complexidade dos dispositivos
computacionais vem crescendo em ritmos acelerado, o aumento de sua complexidade trás
consigo a necessidade de sistemas cada vez mais poderosos e consequentemente, que
consomem cada vez mais energia. Esta crescente demanda não exige somente sistemas
cada vez mais complexos, mas também que os dispositivos sejam cada vez menores,
leves, de dimensões reduzidas, design avançado e principalmente, móvel.
Dispositivos pequenos e móveis trazem consigo a necessidade de auto-
alimentação, não sendo necessariamente como os sistemas biológicos autótrofos, que
sejam heterótrofos, mas que possuam uma boa autonomia de funcionamento. Qual a
utilidade de um dispositivo móvel se ele permanece funcional apenas por alguns minutos
ou até mesmo por poucas horas?
Os handsets, ou aparelhos de telefonia celular, deixaram de ser meros dispositivos
de comunicação de voz sem fio, tornaram-se dispositivos de convergência de
computação, passado a conviver no nosso dia a dia das mais diversas formas. Assistir
TV, jogar, controlar sua agenda, pesquisar na rede mundial de computadores, orientarem
a rota enquanto estamos nos deslocando, rodar aplicações de negócios, etc, são alguns
exemplos de como cada vez mais este dispositivo está concentrando nossa demanda de
serviços e tudo isso, associado a necessidade de levar consigo na mão e que caiba no
bolso.
A convergência computacional em dispositivos móveis sem fio, associada à
comunicação, entretenimento e uma alta performance, exige uma demanda de energia
cada vez mais crescente. Esta demanda aumenta com uma velocidade muito maior que o
crescimento da capacidade de fornecimento de energia das baterias. Desse modo, o
consumo de energia vem sendo cada vez mais relevante na concepção dos dispositivos,
16
ou seja, o grande desafio é desenvolver sistemas capazes de prover cada vez mais
serviços, consumindo cada vez menos energia.
Sklavos, N. e Touliou, K. [1] afirmam que durante a última década os dispositivos
móveis cresceram em um ritmo exponencial, as exigências dos consumidores e os
avanços tecnológicos transformaram os dispositivos de comunicação pessoal de uma
simples plataforma de comunicação de voz em uma plataforma rica em aplicações
multimídia com acesso à internet, conferência de vídeo, posicionamento global,
associado a uma alta qualidade de áudio e vídeo bem como jogos de complexidade
avançada e que todas estas funcionalidades eleva o nível de potência destes dispositivos
ao nível de desktop e, como estes dispositivos não possuem um suprimento externo de
energia constante, isso impõe limites estreitos no seu consumo total de energia. Sklavos,
N. e Touliou, K. [1] afirmam também que a baixa capacidade e o curto período de vida
útil da bateria são fatores limitadores no desenvolvimento dos dispositivos móveis.
Outro fator importante é a limitação do tamanho e do peso dos dispositivos móveis que
impede a utilização de baterias grandes e pesadas. Destacam também, que embora a
tecnologia das baterias tenha crescido, este crescimento não acompanhou o
desenvolvimento e a demanda de energia das plataformas sem fio. Sklavos, N. e Touliou,
K. [1] referenciam também que outro ponto que faz com que o consumo de energia seja
um parâmetro crítico, é a dissipação de calor que deve se manter em níveis baixos para
não causar incomodo, danos ou acidentes aos seus usuários. Devido a sua concepção de
criação, as baterias provêem energia a partir de reações químicas, baterias de grandes
dimensões, possuem grande quantidade de produtos químicos, que em caso de acidente
resultam em danos mais sérios. Estes acidentes não são raros, em Cedar Hill, Texas um
aparelho celular explodiu no ouvido do usuário durante uma chamada, noticiado pela My
FOX dfw [2].
À medida que evoluímos tecnologicamente, os dispositivos são concebidos de
forma a trocarem informações com outros sistemas, surgindo à concepção de always-on,
ou seja, os dispositivos atualmente estão provendo serviços que necessitam estarem
sempre conectados a um ou mais sistemas para troca de informações. Para dispositivos
móveis wireless, esta conectividade constante tem um alto custo, um alto consumo de
energia, que para os dispositivos móveis, cujo suprimento é limitado pela capacidade da
17
bateria, implica em diminuição significativa de sua autonomia de funcionamento. Para
que esta autonomia de funcionamento seja a máxima, devemos desenvolver sistemas que
possuam uma alta eficiência energética, ou seja, que a quantidade de energia
efetivamente utilizada pelo dispositivo para realizar suas funções, seja próxima da
energia total consumida.
Dispositivos com uma baixa eficiência energética necessitam de recargas
constantes, o que é crítico em dispositivos móveis wireless.
Com o intuito de aumentar a capacidade de processamento, foram inseridos nas
pastilhas de silício dos processadores, uma quantidade cada vez maior de transistores
cada vez menores, resultando em uma maior área ocupada no chip e consequentemente
no aumento do consumo de energia. Com esse acréscimo no consumo há um aumento na
temperadora dos circuitos que resulta em sua expansão, diminuindo a proximidade entre
os componentes e exigindo um aumentar na dissipação de calor [3].
Como a geração de energia atualmente no planeta, em sua maioria é oriunda de
fontes poluentes, equipamentos com alta eficiência energética são vistos como
ecologicamente corretos, recebendo a denominação de Green Technology1, e resultando
em uma maior aceitação pela população.
Diversas técnicas são empregadas visando à redução do consumo de energia, tais
como: utilização de processadores mais eficientes, clock2 do sistema com velocidade
variável, capacidade de identificar e desligar os subsistemas que não estão em uso
retornando a sua alimentação quando requisitados, utilização de lógica de baixa voltagem
e gerenciamento de energia avançada de software.
1.1 Objetivos Gerais
A pesquisa tem como objetivo geral buscar junto ao corpo científico, as
metodologias e técnicas de gerenciamento de energia em dispositivos móveis, e
1 Green Tecnology ou Environmental Technology (Envirotech) ou Clean Technology (Cleantech) é a
aplicação da tecnologia para um desenvolvimento sustentável [9]. 2 Clock é um tipo particular de sinal que oscila entre um nível alto e um nível baixo utilizado para
coordenar as ações de circuitos lógicos [10].
18
identificar as melhores práticas a serem adotadas nos projetos destes dispositivos,
objetivando a concepção de produtos com a máxima eficiência energética.
1.2 Objetivos Específicos
Realizar experimentos abordando cenários chaves com o intuito de evidenciar ou
não a redução do consumo a partir da comparação das características dos cenários, para
que sirva de subsídio na viabilidade de implementação. Os cenários abordam
características nas áreas de engenharia de software, engenharia de hardware,
configuração do perfil de utilização e configuração de rede.
1.3 Estrutura da Dissertação
A dissertação está estruturada seguindo as orientações da norma NBR
14724:2005. O Referencial Teórico está desenvolvido no capítulo 2. Assim, a dissertação
tem a seguinte estrutura:
Capítulo 2 – REVISÃO DA LITERATURA
Técnicas de Gerenciamento de Energia em Hardware: Apresentação dos
conceitos básicos sobre o consumo de energia em módulos de hardware.
Técnicas de Gerenciamento de Energia em Software: Apresentação dos
conceitos básicos sobre o gerenciamento do consumo de energia através
de software.
Consumo de Energia em Aparelhos Celulares: Aborda o consumo de
energia em dispositivos móveis.
Capítulo 3 – METODOLOGIA
Descrição da metodologia utilizada, classificação do método empregado e
apresentação das principais etapas.
19
Capítulo 4 – EXPERIMENTOS
Descrição do ambiente de laboratório, dos cenários abordados, procedimentos de
execução dos experimentos e avaliação dos resultados.
Capítulo 5 – CONSIDERAÇÕES FINAIS
Considerações finais do estudo, discorrendo sobre limitações e contribuição.
20
2 REFERENCIAL TEÓRICO
Atualmente estamos em uma mudança de paradigma quando tratamos sobre a
eficiência energética dos dispositivos móveis. A alta complexidade dos sistemas
embarcados, nestes dispositivos, exige uma eficácia energética, que deve ser considerada
em todos os níveis de sua concepção.
O simples controle do consumo de energia dos dispositivos está longe do
desejável, atualmente em alguns projetos realiza-se o gerenciamento de seu consumo,
todavia, o que os dispositivos de maior capacidade necessitam, como os Smartphones3 e
Tablets4, é de uma Gestão do Consumo de Energia. A Gestão do Consumo de Energia
não é somente um problema de hardware, mas uma questão de concepção todo o sistema
e processos de desenvolvimento, englobando hardware, software, protocolos de
comunicação e Gerencia de Projeto.
Os dispositivos de telefonia móvel, por exemplo, mesmo sendo concebido de
forma eficiente quanto à gestão de energia, mas no caso em que a operadora não pratique
esta gestão na configuração dos seus protocolos de comunicação de sua rede, o sistema
irá funcionar de forma ineficiente neste quesito.
2.1 Técnicas de Gerenciamento de Energia em Hardware
Como técnica de Gerenciamento de Energia no hardware, também denominada
Gerenciamento de Energia em Silício, podemos adotar a redução da tensão de
alimentação. A potência(P) [4], Equação 1, de um sistema é proporcional a um meio da
Capacitância Efetiva (C) pelo quadrado da tensão (V) e pela frequencia de operação,
neste caso, reduzindo-se a tensão para a sua metade, a potência é reduzida em um quarto.
3 Smartphone: é um telefone celular que combina as funcionalidades de um computador pessoal capaz de
executar programas e realizar conexão de dados, com as de realizar chamadas de voz [11]. 4 Tablests: E um computador pessoal muito fino e de tela plana equipado com touch screen, capaz de
realizar conexão de dados atraves da rede celular e demais redes wireless [12].
21
Equação 1 - Equação da Potência
A técnica de variação da tensão de operação com o objetivo de redução do
consumo dos sistemas é denominada de DVS (Dynamic Voltage Scaling) [5]. Contudo,
ao reduzir a tensão de alimentação tornamos o sistema mais susceptível ao ruído, o que
diminui o seu desempenho. Para aumentar o desempenho dos sistemas faz uso de DFS
(Dynamic Frequency Scalling) [5]. Como alternativa para reduzir este efeito, podemos
utilizar circuitos lógicos com tecnologia AVC (Advanced very-low-voltage CMOS Logic)
[6], que operam à baixa tensão e atrasos de propagação bastante reduzida.
2.2 Técnicas de Gerenciamento de Energia em Software
O controle dinâmico da frequência do clock, também pode ser um aliado no
gerenciamento de energia, pois o consumo de energia está diretamente relacionado à
frequência do clock do sistema, neste caso, o controle dinâmico da frequência do clock
pode ser utilizado para reduzir o consumo de energia do software. Esta redução é feito da
seguinte maneira: aumentando-se a velocidade do clock do processador quando a
demanda de processamento é elevada e baixa-se sua velocidade em tarefas não críticas.
Os processadores digitais são baseados em circuitos CMOS (Complementary
metal–oxide–semiconductor), que consomem energia principalmente durante a mudança
de estado lógico. A intensidade do consumo de energia é diretamente proporcional à
frequência destas mudanças de estado lógico. Portanto, reduzindo-se a frequência do
clock, reduz-se a quantidade de mudança de estado lógico e, conseqüentemente o
consumo de energia.
O controle dinâmico da tensão e da frequencia do clock é utilizado em conjunto
para alcançar uma maior eficiência energética, explorando ao máximo a utilização do
processador da seguinte forma: diminuindo a DFS (Dynamic Frequency Scalling) [5] e a
DVS (Dynamic Voltage Scaling) [5] no processador quando sua carga é baixa e,
aumentando quando sua carga aumenta. O mais importante neste caso é garantir que
22
todas as tarefas das aplicações sejam cumpridas em tempo real, para tal é necessário um
plano de gestão de software integrado que controle o sistema, o processador e os
periféricos, de modo a identificar o ponto de equilíbrio entre a velocidade de clock e a
velocidade de execução das aplicações a fim de garantir a percepção de execução como
em tempo real, pelo usuário.
Para os computadores pessoais, PC, e laptops, existem duas padronizações: a
Advanced Power Management (APM) [7] e a Advanced Configuration and Power
Interface (ACPI) [8]. Estas padronizações não atendem eficazmente aos requisitos de
gerenciamento de dispositivos móveis. O APM [7] utiliza a BIOS para o gerenciamento
de energia, já no ACPI [8] o gerenciamento de energia é feito pelo sistema operacional,
que realiza o DFS (Dynamic Frequency Scalling) e o DVS (Dynamic Voltage Scaling)
[5], também controla a inicialização de vários periféricos, podendo assim desligar quase
todo o PC em caso de ociosidade do sistema denominado hibernação. O ACPI [8] possui
quatro níveis de hibernação, quanto maior o nível de hibernação, menor será o consumo
de energia, contudo o tempo de retorno do sistema é maior.
2.3 Consumo de Energia em Aparelhos Celulares
O maior consumo da engine celular é o módulo de RF (Rádio Frequência), que é
responsável pela comunicação com as estações rádio-base, ou seja, responsável em
transmitir e receber os sinais de rádio. Este consumo apresenta uma variação muito
grande, sendo o seu maior valor durante uma chamada (em conversação), e o seu menor
valor quando em espera. Ocorre este fato porque durante uma chamada os transmissores
de RF estão ligados para enviar o sinal de conversação entre o aparelho celular e a
estação rádio-base (torre celular) o qual ele está conectado. No modo em que está apenas
registrado na rede celular, também denominado de modo idle, o aparelho celular
encontra-se com os transmissores de RF desligado. Esses transmissores são ligados
durante pouco tempo em intervalos regulares para troca de informações de controle [14].
Shih, Bahl e Sinclair [15], previram o consumo de energia de aparelhos celulares
em diferentes modos de operação como: em espera, em chamada e falando, em chamada
e ouvindo, em tom de chamada e realizando tentativas de chamadas. O trabalho é apenas
23
uma estimativa do consumo real do aparelho, isto porque a quantidade de parâmetros de
RF que afetam o consumo são muitos, influenciando inclusive a configuração que as
operadoras realizam em suas redes.
Rulnick, J. M., Bambos, N. [16] em seu artigo ressaltam a importância do
dispositivo ouvir primeiro antes de transmitir. O dispositivo primeiro ouve a rede e avalia
as interferências existentes, havendo interferência o dispositivo simplesmente não
transmite e busca uma outra faixa de operação que possa ligar seus transmissores e enviar
seus dados com uma certeza maior que será recebida pelo seu destinatário, com isso o
dispositivo não desperdiça seu limitado recurso de energia, em realizar atividades de
transmissão com a possibilidade de que seu destinatário não receba de forma eficiente a
informação, tão relevantes para dispositivos móveis.
Balasubramanian N. [17], desenvolveram em seu artigo um modelo de avaliação
de atividades de rede para as tecnologias GMS (2G) e UMTS (3G) orientado ao consumo
de energia. Este modelo possui um protocolo que minimiza o consumo de energia
baseado nos atrasos e tolerâncias dos usuários, avaliando dados inúteis e que não
possuem relevância em serem trados. O ponto focal neste artigo resulta em avaliar as
informações tanto das operadoras quanto dos usuários que não são relevantes e
descartando-as, com isso o sistema passa a economizar energia, demonstrando que o
sistema gastaria bem mais energia em transmitir informações sem antes avaliar a sua
importância.
24
3 METODOLOGIA
A busca por respostas é uma das principais características do ser humano, e a
aquisição e o acúmulo deste conhecimento são os pilares da civilização humana. As
primeiras respostas estruturadas sobre as grandes perguntas universais foram construídas
através dos Mitos, surge as Mitologias, ELIADE, MIRCEA [18].
A busca por respostas as questões que não temos informações para solucionar, fez
surgir a pesquisa científica. Segundo GIL [19] “O objetivo fundamental da pesquisa é
descobrir respostas para problemas mediante o emprego de procedimentos científicos”.
3.1 Classificação da Pesquisa
A abordagem que iremos apresentar a cerca da pesquisa, é a forma clássica
descrita a seguir:
Do ponto de vista da natureza, trata-se de uma pesquisa aplicada, pois
“objetiva gerar conhecimento para aplicação prática dirigido à solução de
problema específica”, MARCONI [20]
Do ponto de vista da forma de abordagem do problema, trata-se de uma
pesquisa quantitativa, pois “considera que tudo pode ser quantificável para
classificação e requer o uso de recursos e de técnicas estatísticas para
análise”, GIL [19].
Do ponto de vista dos objetivos, trata-se de uma pesquisa descritiva, pois
“visa descrever as características do fenômeno e a relação entre variáveis.
Envolve o uso de técnicas padronizadas de coleta de dados, assumindo a
forma de levantamento”, GIL [19].
Do ponto de vista dos procedimentos técnicos, apresenta a característica
de pesquisa experimental, pois é “um objeto de estudo, selecionando-se
variáveis, definindo-se a forma de controle e de observação dos efeitos
que a variável produz no objeto”, GIL [19].
25
3.2 Etapas da Pesquisa
Formular a Pergunta. Converter a necessidade de informação em uma
pergunta que possa ser respondida.
Quais as tecnologias, metodologias e estratégias de desenvolvimento que
podem ser adotadas no projeto de dispositivos móveis para aumentar sua
autonomia de funcionamento utilizando-se a mesma bateria?
Rastrear Evidências. Buscar na literatura as melhores evidências para
responder a pergunta.
Avaliação Critica. Avaliar criticamente as evidências para a sua validade,
o impacto, e aplicabilidade.
Integração. Integrar os elementos avaliados com a experiência prática e os
valores desejados e circunstâncias para tomar a decisão sobre a
consolidação do trabalho.
Avaliação da eficácia. Avaliar a nossa eficácia na execução e buscando
maneiras de melhorar o trabalho.
Realização de Experimento. Avaliar estatisticamente o potencial de ganho
enérgico dos dispositivos móveis.
O fluxo de projeto que adotamos, segui uma sequencia de etapas executadas
rigorosamente como planejado, Figura 1.
A fase inicial é denominada de “Preparação” é a fase onde realizamos a
preparação dos equipamentos para realização dos testes de acordo com o cenário
planejado. Nesta fase, realizamos a configuração do simulador de rede celular com o
cenário do experimento que iremos realizar. Configuramos também o dispositivo móvel
de acordo com este cenário, realizamos as conexões da fonte de alimentação e ativamos o
software de configuração e coleta de dados da fonte. Configuramos também o
cronômetro que irá medir o tempo de execução do experimento. E por fim, visitamos
novamente todos os equipamentos para verificar se todos estão programados como
planejado.
26
Figura 1 - Fluxo de Projeto
A fase seguinte é a de execução dos experimentos, todos os experimentos são
repetidos 30 vezes a sua execução. Cada experimento é executado de acordo com o
cenário planejado, contudo de uma forma geral, para a execução dos experimentos são
seguidos os seguintes passos:
Ativar coletas de dados;
Aguardar 3 segundos para estabilização;
Ativar alimentação do dispositivo móvel;
Aguardar 3 segundos para estabilização;
Ligar o dispositivo móvel;
Fechar a gaiola de Faraday;
Aguardar o registro e o completo desligamento do visor;
Ligar o cronômetro de 5 minutos;
Aguardar a finalização do período de testes;
27
Abrir a gaiola de Faraday;
Desligar o dispositivo móvel;
Aguardar a desconexão da rede;
Aguardar o completo desligamento do visor do sistema operacional do
dispositivo móvel;
Aguardar 3 segundo para estabilização;
Desligar a alimentação do dispositivo móvel;
Aguardar 3 segundos para estabilização;
Desativar a coleta de dados;
Após a execução dos experimentos, avaliamos se a execução foi ou não bem
sucedida, em caso negativo, descartamos o experimento e o realizamos novamente, em
caso positivo, partiremos para a próxima execução até que o trigésimo experimento seja
concluído.
Com a finalização dos experimentos, partimos para a formação dos dados, nesta
fase preparamos os dados para que seja importado por um programa que venha a fazer
todo o calculo estatístico das amostras, no nosso caso, utilizamos o módulo de estatística
do Excel 2007.
Por fim, com a massa de dados, realizamos a análise dos resultados obtidos
visando identificar as características de cada cenário.
28
4 EXPERIMENTOS
4.1 Ambiente de Laboratório
Para realização do experimento, iremos utilizar um simulador de rede celular SAS
V.34.0.486 desenvolvido pela Anite Telecom. O objetivo na utilização deste simulador é
de termos o controle de todo o ambiente de testes. No caso de utilizarmos a rede de uma
operadora não teríamos como configurar os parâmetros de rede de acordo com o cenário
desejado. Este simulador irá prover o sinal de Rádio Frequência celular 2G na faixa de
900 MHz que irá comunicar-se com o aparelho celular também de tecnologia 2G. Neste
estudo incial, não iremos abordar o consumo dos dispositivos celulares de tecnologia 3G.
Neste experimento iremos utilizar uma fonte de alimentação externa programável
da fabricada pela Agilent DC Power Supply E3640A, esta fonte irá prover a energia
necessária para o funcionamento do aparelho celular, bem como fornecer as informações
sobre o consumo. Por tratar-se de um estudo inicial e para minizar a quantidade de
variáveis envolvidas, não iremos utilizar a bateria conectada no dispositivo, já que esta
influenciaria no consumo de energia fornecido pela fonte, e neste caso inicial estamos
interessados única e exclusivamente no consumo do dispositivo. Para compatibilizar a
interface de alimentação do aparelho celular com a fonte externa programável, sem a
utilização da bateria, iremos utilizar uma interface denominada Test JIG SGH-S500 Test
JIG GH 80-01909A.
A coleta das medições de consumo é realizada por um programa desenvolvido em
JAVA, Figura 2. Este aplicativo comunica-se com a fonte externa através da interface
(porta) de comunicação serial COM, realizando a sua configuração e coleta de
informações referentes ao fornecimento de energia pela fonte. Com esta configuração, a
taxa de amostragem de leitura de consumo que obtivemos foi de 3/7 de segundos. Com
esta taxa obtivemos acima de 700 amostras de consumo por cada experimento.
29
Como estamos tratando de um ambiente controlado e livre de influências externas,
utilizamos uma Gaiola de Faraday5 para impedir que sinais de Rádio Frequência externos
viessem a influenciar no experimento. Estas influências poderiam vir tanto em forma de
ruído como sinais de outras Operadoras, assim estamos impedindo que o dispositivo
móvel gaste energia tratando estes sinais que não fazem parte do experimento e
influenciariam diretamente em seu consumo.
Figura 2 - Ferramenta de configuração da fonte e coleta de dados
O ambiente de testes fica assim constituído, um simulador de rede celular que irá
prover o sinal celular, um aparelho de referência alvo do nosso experimento, uma
interface de alimentação, uma fonte programável para alimentação e medição do
consumo de energia do dispositivo em teste e um programa desenvolvido em JAVA para
programação e coleta de dados de consumo.
5 Gaiola de Faraday é uma superfície condutora que envolve uma dada região do espaço e que impede a
entrada de perturbações produzidas por campos elétricos e ou eletromagnéticos externos, Tipler, Mosca
[4].
30
O programa comunica-se com a fonte de alimentação através da porta serial do
computador, porta COM, configurando a alimentação que será fornecida ao dispositivo
móvel e também realizando a leitura de consumo do dispositivo Samsung SGH-U600.
Figura 3 - Ambiente de Laboratório
Ressaltamos que, como não estamos utilizando a bateria acoplada ao dispositivo,
toda a energia fornecida pela fonte é a consumida pelo dispositivo. Para o caso de
acoplarmos a bateria ao dispositivo temos três cenários, a saber:
Cenário 1: A energia fornecida pela fonte seria utilizada tanto para realizar
a recarga da bateria quanto para alimentar o dispositivo, neste caso a
energia fornecida pela fonte é superior a energia consumida pelo
dispositivo.
Cenário 2: A bateria fornecer energia para o dispositivo, neste caso, a
energia fornecida pela fonte é menor que a energia consumida pelo
dispositivo.
Cenário 3: A bateria não fornecer energia para o dispositivo, e não está em
estado de recarga.
31
Nos cenários 1 e 2, a energia fornecida pelo fonte não é a energia consumida pelo
dispositivo, não sendo alvo do nosso estudo. Para o caso do cenário 3, não temos como
garantir que este cenário esteja ocorrendo. Por estes motivos é que optamos por não
utilizar a bateria nos experimentos, somente assim temos a garantia que toda energia
fornecida pela fonte é a energia consumida pelo dispositivo.
Para alimentar o dispositivo sem a bateria, utilizamos uma interface de
alimentação Test JIG. Ressaltamos também, que não temos controle sobre as aplicações
que estão em execução no dispositivo e que este estudo está focado apenas no seu
consumo, sendo o dispositivo tratado como uma caixa preta. A Figura 3 mostra o
ambiente de laboratório e seus componentes onde os experimentos são realizados.
32
4.2 Procedimento de Execução do Experimento
A suíte de experimentos para cada cenário é composta de trinta experimentos, e
para manter a fidelidade de cada execução, adotamos um procedimento de execução
descrito passo a passo, os passos de execução, estes passos devem ser seguidos
rigorosamente para garantir a fidelidade de cada amostra do experimento. Cada
experimento possui duração de aproximadamente cinco minutos.
Descrevemos abaixo os passos de execução do experimento:
1. Ativar a coletas dos dados;
2. Aguardar 3 segundos para estabilização
3. Ativar alimentação para o celular
4. Aguardar 3 segundos para estabilização
5. Ligar o celular
6. Fechar à gaiola
7. Aguardar o registro e o completo desligamento do display
8. Ligar o cronômetro de 5 minutos
9. Aguardar a finalização do período de testes
10. Abrir à gaiola
11. Desligar o celular
12. Aguardar a desconexão da rede
13. Aguardar o completo desligamento do display do celular
14. Aguardar 3 segundo para estabilização
15. Desligar a alimentação do celular
16. Aguardar 3 segundos para estabilização
17. Desativar a coleta dos dados
33
4.3 Descrição dos Cenários
Após pesquisarmos sobre diversas técnicas de gerenciamento de energia em
dispositivos móveis, chegamos à conclusão que seria necessário a realização de
experimentos para evidenciarmos o efeito do consumo de energia em diversos cenários,
Os estudos estão focados especificamente em aparelho celular.
Com o objetivo de avaliarmos o consumo de energia do dispositivo móvel,
montamos os cenários dos experimentos com característica que representam as áreas de
Engenheira de Software, Engenharia de Hardware, Configurações da rede da Operadora e
Perfil de Usuário. Faremos a avaliação do consumo do dispositivo em uma configuração
padrão de fábrica, esta configuração é obtida através do menu do dispositivo no item
“Restaurar Configuração de Fábrica”, sendo esta a condição que adotaremos como
referência, a partir daí, iremos alterar uma característica que representa a área de análise
do nosso interesse e avaliar a influência dessa variável no consumo do dispositivo.
Uma característica importante do ponto de vista do consumo é o fato de vibrar ou
não o dispositivo durante o recebimento de uma chamada. Apesar deste fato não ocorrer
no cenário atual, evidenciamos que o dispositivo não foi configurado com esta
característica, não sendo portando, alvo do nosso estudo.
34
4.3.1 Cenário: Somente Registrado na Rede
Este cenário é caracterizado apenas pelo registro do aparelho celular na rede
(também denominado como Cenário Idle) e servirá como referência para avaliar o
consumo dos cenários das áreas de interesses de nossa análise. O experimento consiste
em ligarmos o dispositivo, realizar o registro na rede simulada do laboratório e aguardar
um período de cinco minutos, em seguida, desligamos o dispositivo e aguardamos a
finalização do processo de registro na rede e de todo o sistema do dispositivo. As
configurações tanto do dispositivo quanto da rede celular (simulador) são as
configurações iniciais, default.
Figura 4 - Sinalização de rede do cenário Somente Registrado
A Figura 4 mostra a troca de sinalização do dispositivo com a rede celular
(simulador), onde podemos observar a fase de registro e desconexão.
Uma característica importante do ponto de vista de consumo de energia é a
iluminação do visor do aparelho. Podemos varia a sua intensidade e o tempo de
luminosidade, somente com estes dois parâmetros, há diversas combinações.
35
Neste cenário iremos adotar a seguinte combinação: 100% da iluminação do visor
por um tempo de 10 segundos e posteriormente, 50 % de iluminação do visor por um
tempo de 5 segundos. Esta escolha foi uma escolha intermediária das configurações
existente no dispositivo, o intuito neste caso, colocar uma configuração que o usuário
poderá escolher sem conhecimento ou necessidade.
Ressaltamos que mesmo desligado, o dispositivo fica em modo de espera,
aguardando a próxima requisição de ligar o dispositivo, consequentemente, consumindo
energia.
Durante todo o experimento, iremos realizar a medição de seu consumo, a fim de
identificarmos seu consumo total, o seu consumo parcial e o consumo de eventos com
características semelhantes, bem como identificar e analisar a sua curva característica.
O experimento consiste em:
Previamente, configurar o dispositivo com a iluminação do visor a 100%
por um tempo de 10 segundos e em seguida, com iluminação a 50% por
um tempo de 5 segundos e desligamos o dispositivo para execução dos
experimentos. Esta configuração é realizada no menu configurações e em
seguida, luz do visor;
Programar o simulador para registro do dispositivo na rede celular;
Iniciar a coleta de informações de consumo;
Ligar o dispositivo móvel;
Aguardar que a luz do visor seja desligada;
Esperar durante um período de cinco minutos;
Desligar o dispositivo móvel;
Aguardar a desconexão com a rede celular e finalização de todos os
processos do sistema do dispositivo;
Finalizar a coleta de informações de consumo;
36
4.3.2 Cenário: Somente Registrado na Rede, Consumo Retificado
Durante o estudo de consumo do cenário Somente Registrado na rede,
observamos que a curva de consumo dos experimentos realizados, apresentava impulsos
de consumo de grande intensidade e frequência. Iremos analisar a influência destes
impulsos e avaliar o grau de economia no consumo de energia, caso fosse realizado um
trabalho de melhoria de Engenharia de Software no sistema operacional do dispositivo
para eliminar estes impulsos tornando a curva retificada. Notemos que isso é uma
estimativa de consumo e não um exemplo prático.
No período de espera do dispositivo, também denominado de Idle, onde não é
realizada nenhuma requisição por parte do usuário, o dispositivo não realizou troca de
sinalização com a rede celular (simulador), que pode ser comprovado na Figura 4 onde
podemos ver que as trocas de sinalização foram realizadas somente nas fases de registro e
desconexão com a rede celular, se nenhuma sinalização foi trocada com a rede celular, os
pulsos de consumo observados foram ocasionados por requisições internas do
dispositivo, desta forma podemos concluir que estes picos de consumo não foram
utilizados para este fim, sua existência deve-se a requisições interna do dispositivo.
37
4.3.3 Cenário: Bluetooth Ativado
Com o intuito de manter-se sempre conectado com a rede de dados, também
usualmente denominado de always-on, os dispositivos móveis estão incorporando outras
tecnologias de comunicação sem fio além das providas pelas redes de telefonia celular,
são exemplos destas tecnologias: Infrared6, Bluetooth
7, ZigBee
8 e Wi-Fi
9. Cada
tecnologia de transmissão wireless incorporada ao dispositivo, está associada a um
hardware, que para prover a funcionalidade deverá está alimentado (consumindo
energia). Contudo muitos são os usuários que nunca ou case nunca se utilizam destas
tecnologias para troca de dados, neste caso, a energia utilizada para a alimentação do
módulo de hadware Bluetooth estará sendo consumida sem benefício algum ao usuário,
ou seja, esta energia estará sendo desperdiçada.
O nosso objetivo com este experimento é quantificar a energia consumida pelo
hardware Bluetooth ativado sem a necessidade de prover serviços ao usuário e avaliar a
economia de energia, caso um Agente Inteligente de Engenharia de Hardware,
identificasse que o módulo está ativido sem o provimento de serviço e o desativasse até
que o usuário ou uma aplicação requisitasse algum serviço.
O experimento consiste em:
Previamente, ligamos o dispositivo para ativar o módulo Bluetooth como
preparação para a execução dos experimentos. A ativação é realizada no
menu configurações, Bluetooth, ativar. Após ativar o módulo, desligamos
o dispositivo;
Também previamente, programamos o simulador para registro do
dispositivo na rede celular;
Iniciar a coleta de informações de consumo;
6 A radiação infrared (infravermelha) é uma radiação não ionizante na porção invisível do espectro
eletromagnético que está adjacente aos comprimentos de onda longos [21]. 7 Bluetooth é uma especificação industrial para áreas de redes pessoais sem fio [22].
8 O termo ZigBee designa um conjunto de especificações para a comunicação sem-fio entre dispositivos
eletrônicos [23]. 9 Wi-Fi é uma marca registrada da Wi-Fi Alliance, que é utilizada por produtos certificados que pertencem
à classe de dispositivos de rede local sem fios [24].
38
Ligar o dispositivo móvel;
Aguardar que a luz do visor seja desligada;
Esperar durante um período de cinco minutos;
Desligar o dispositivo móvel;
Aguardar a desconexão com a rede celular e finalização de todos os
processos do sistema do dispositivo;
Finalizar a coleta de informações de consumo;
39
4.3.4 Cenário: Erro na Configuração da Rede da Operadora
Os dispositivos móveis deixaram de ser um provedor de serviço isolado e
tornaram-se provedores de serviços conectados, mais e mais os dispositivos trocam
informações entre si e entre provedores de serviços que estão localizados em qualquer
parte do globo. Para realizar essa troca de informações, os dispositivos utilizam redes de
conectividade sem fio, redes wireless, mas de forma geral utilizam a rede de telefonia
celular instalada e difundida em todo planeta.
Para prover cobertura, a rede de telefonia celular é constituída de diversas torres
que fornecem aos dispositivos o sinal de rádio frequência para comunicação. Na maioria
das situações, o dispositivo não está sob a influência de apenas uma torre celular,
principalmente nos centros urbanos de grande densidade populacional. Nesta situação, os
dispositivos estão sob influências de diversos sinais com diversos níveis de intensidade.
Estamos interessando em uma situação em particular onde o dispositivo desloca-
se até uma posição onde está sob a influência dos sinais de duas torres com a mesma
intensidade, Figura 5.
Figura 5 - Dispositivo sob a influencia de dois sinais de mesma intensidade
Nesta situação, o dispositivo está sob a influência dos sinais das torres “X” e “Y”
de mesma intensidade, para que o móvel não fique selecionando as torres “X” e “Y”
40
indefinidamente, a rede informa um valor de diferença entre os dois sinais para que a
seleção para torre vizinha seja efetivada, esta diferença de sinal é denominada de Margem
de Histerese, ou seja, o móvel não irá selecionar a torre vizinha até a diferença de sinal
entre a torre vizinha e a torre atual seja maior que o valor da Margem de Histerese.
Sendo “Sx” o nível de recepção do sinal da torre “X” e “Sy” o nível de recepção
do sinal da torre “Y”, e “H” o valor da Margem de Histerese, o algoritmo para este
cenário é:
IF (Sy-Sx) > H, THEN (SELECT Y)
Suponha agora que a rede celular esteja programada de forma errônea, com o
valor de Margem de Histerese, “H”, muito baixo ou zero, nesta situação qualquer
diferença mínima entre os sinais resultará na seleção da célula vizinha pelo móvel, neste
cenário a seleção para torre vizinha será repetida indefinidamente.
Figura 6 - Sinalização do Cenário Falha de Histerese
41
A Figura 6 mostra a sinalização entre o dispositivo móvel e o simulador
programado com esta falha de configuração de rede. Observe que na figura o móvel está
inicialmente registrado na célula “B”, em seguida realiza registro na celular “A”,
posteriormente retorna a célula “B” e continua neste ciclo indefinidamente até que o
usuário desloque-se para outra localização onde a diferença de sinal é significativa.
Ressaltamos que o usuário não percebe esta situação, este consumo de energia realizado
pelo dispositivo para realizar a constante troca de torre é completamente transparente
para o usuário, que está alheio a esta situação.
O objetivo deste experimento é analisar o quanto de energia é gasto e, portanto,
poderia ser economizado se um Agente Inteligente de análise da configuração de rede da
Operadora Celular, identificasse o cenário de falha e impedisse que o dispositivo
executasse ações que não viesse a trazer benefícios no seu desempenho de iteração com a
rede celular.
O experimento consiste em:
Programar o simulador com o cenário de falha de histerese;
Iniciar a coleta de informações de consumo;
Ligar o dispositivo móvel;
Aguardar que a luz do visor seja desligada;
Esperar durante um período de cinco minutos;
Desligar o dispositivo móvel;
Aguardar a desconexão com a rede celular e finalização de todos os
processos do sistema do dispositivo;
Finalizar a coleta de informações de consumo;
42
4.3.5 Cenário: Configuração da Luz do Visor
Em muitas das situações, os usuários modificam as configurações dos dispositivos
móveis para situações que resultem em um consumo maior de energia sem trazer
benefícios a sua usabilidade.
Como exemplo de perfil de uso, adotamos o cenário onde por algum motivo o
usuário alterou o tempo de iluminação do visor para permanecer ligado a 100% de sua
intensidade por um tempo de três minutos e com 50% de sua intensidade por um tempo
de um minuto.
O objetivo deste experimento é avaliar a economia no consumo de energia, caso
um Agente Inteligente, identificasse o tempo que o usuário necessita de iluminação do
visor para atender as suas necessidades de visualização das informações.
O agente, por exemplo, iria diminuindo este período de iluminação do visor até
que o usuário requisitasse novamente a iluminação tão logo ela fosse desligada, para isso,
basta o usuário pressionar qualquer tecla para que a iluminação fosse restaurada e
consequentemente, informando ao Agente que necessita de um tempo maior de
iluminação do visor.
O agente deve identificar situações particulares de utilização do usuário, como o
fato de certos aplicativos estarem em execução, como jogos por exemplos, e não levar em
consideração este tempo na operação normal do dispositivo.
No nosso caso, adotaremos que o tempo confortável que o usuário necessita de
iluminação do visor é de dez segundos com o visor a 100% de sua intensidade, seguido
de cinco segundos com 50% de sua intensidade.
43
O experimento consiste em:
Previamente, configurar o dispositivo com a iluminação do visor a 100%
de sua intensidade por um tempo de 180 segundos e em seguida, com
iluminação a 50% de sua intensidade por um tempo de 60 segundos;
Programar o simulador para registro do dispositivo na rede celular;
Iniciar a coleta de informações de consumo;
Ligar o dispositivo móvel;
Aguardar que a luz do visor seja desligada;
Esperar durante um período de cinco minutos;
Desligar o dispositivo móvel;
Aguardar a desconexão com a rede celular e finalização de todos os
processos do sistema do dispositivo;
Finalizar a coleta de informações de consumo;
44
4.4 Avaliação dos Cenários
Após a realização dos experimentos, onde os dados foram formatados e
analisados, este procedimento foi realizado para cada um dos trinta experimentos de cada
cenários apresentado.
Durante a análise, nos deparamos com particularidades que serão detalhadas no
confronto de cada caso.
A curva de consumo de cada um dos trinta experimentos é mostrada para dar uma
visão da semelhança das curvas características dos experimentos, contudo para uma
melhor visualização o detalhamento das características da curva de consumo é feita
apenas em uma curva de consumo de um dos experimentos, já que as demais possuem a
mesma característica.
45
4.4.1 Cenário: Somente Registrado na Rede
As curvas características de consumo que obtivemos nos experimentos realizados
são mostradas na Figura 7, onde estão traçadas todas as trinta curvas referentes aos trinta
experimentos realizados. A taxa de amostragem dos dados foram de 3/7 de segundos.
Podemos observar que todas as curvas possuem a mesma característica, e este foi
o objetivo de traçarmos todas em uma mesma área, contudo notamos que as curvas não
estão completamente alinhadas, isso é ocasionado pela diferença de tempo entre o passo
de ativar a coleta dos dados e o passo de ligar o dispositivo.
Figura 7 - Curvas de consumo dos trinta experimentos
0,00000000
0,10000000
0,20000000
0,30000000
0,40000000
0,50000000
0,60000000
0,70000000
0,80000000
1
33
65
97
12
9
16
1
19
3
22
5
25
7
28
9
32
1
35
3
38
5
41
7
44
9
48
1
51
3
54
5
57
7
60
9
64
1
67
3
70
5
73
7
76
9
80
1
83
3
86
5
89
7
46
A fim de descrevermos melhor cada etapa desde experimento, tomamos somente a
curva do experimento 1, mostrada na Figura 8. Nesta figura podemos observar seis
características de estados, referenciadas pelas letras: A, B, C, D, E e F.
O lóbulo “A” da curva é o momento em que ligamos o dispositivo móvel, neste
ponto o sistema operacional é inicializado e o display do aparelho é ligado, durante este
processo, o dispositivo liga seus transmissores de rádio frequência para fazer o registro na
rede o que ocasiona o pico “C” no lóbulo “A”.
O lóbulo “B” é o momento em que desligamos o dispositivo, sempre que
realizamos qualquer requisição ao dispositivo, este liga o seu visor, por este motivo é que
tanto o lóbulo “B” como o “A”, possuem a curva mais alta, sendo a de maior consumo.
Durante este processo, o dispositivo também liga seus transmissores para informar a rede
a sua desconexão, pico “D”.
Figura 8 - Características da Curva de Consumo idle
0,00
0,10
0,20
0,30
0,40
0,50
0,60
0,70
0,80
15
,23
3
15
,23
7
15
,24
1
15
,24
5
15
,25
0
15
,25
4
15
,25
8
15
,26
3
15
,26
7
15
,27
1
15
,27
6
15
,28
0
15
,28
4
15
,28
9
15
,29
3
15
,29
7
15
,30
1
15
,30
6
15
,31
0
15
,31
4
15
,31
9
15
,32
3
15
,32
7
Registered
Experimento: 01
47
A Figura 9 mostra a curva de consumo do experimento 1 após a remoção dos
lóbulos “A” e “B”. O nível de consumo “E” caracteriza-se pelo estado de espera do
dispositivo, este é o estado de menor consumo e mesmo estando neste estado de espera,
observamos a existência de picos de consumo caracterizados por “F”.
Figura 9 – Consumo do Experimento 1 sem os lóbulos
Como o nosso foco neste momento é o estado apenas registrado na rede celular,
sem qualquer intervenção do usuário no dispositivo, eliminamos os lóbulos de consumo
“A” e “B”, pois estes se referem ao estado do dispositivo onde o visor está ligado e
estamos interessados em eliminar esta influência de consumo.
Para avaliação dos resultados, alinhamos todas as curvas de consumo dos
experimentos, eliminando os atrasos do inicio de cada experimento, resultando no gráfico
da Figura 10.
0,00
0,02
0,04
0,06
0,08
0,10
0,12
15
,24
0
15
,24
4
15
,24
8
15
,25
1
15
,25
5
15
,25
9
15
,26
3
15
,26
6
15
,27
0
15
,27
4
15
,27
7
15
,28
1
15
,28
5
15
,28
9
15
,29
2
15
,29
6
15
,30
0
15
,30
3
15
,30
7
15
,31
1
15
,31
5
15
,31
8
15
,32
2
Registered
Experimento: 01
48
Em seguida, tomamos a curva com menor duração, sendo este o tempo em que o
consumo é avaliado para todos os trinta experimentos.
Figura 10 - Consumo dos trinta experimentos sem os lóbulos
A partir destes dados, calculamos o consumo dos trinta experimentos, para um
intervalo de 306,725 segundos.
A avaliação estatística dos experimentos encontra-se na Tabela 1. Nesta tabela, o
lado esquerdo mostra os valores de consumo dos experimentos. No lado direito da tabela,
temos na parte superior o histograma mostrando seus seis intervalos com suas respectivas
frequências, na parte inferior é mostrado o Resultado Estatístico dos experimentos.
0,00000000
0,02000000
0,04000000
0,06000000
0,08000000
0,10000000
0,12000000
0,14000000
0,16000000
00
:00
:00
,00
0
00
:00
:10
,76
5
00
:00
:21
,53
1
00
:00
:32
,29
6
00
:00
:43
,06
2
00
:00
:53
,82
8
00
:01
:04
,60
9
00
:01
:15
,37
5
00
:01
:26
,14
0
00
:01
:36
,90
6
00
:01
:47
,67
1
00
:01
:58
,43
7
00
:02
:09
,21
8
00
:02
:19
,98
4
00
:02
:30
,75
0
00
:02
:41
,51
5
00
:02
:52
,28
1
00
:03
:03
,04
6
00
:03
:13
,81
2
00
:03
:24
,57
8
00
:03
:35
,35
9
00
:03
:46
,14
0
00
:03
:56
,90
6
00
:04
:07
,68
7
00
:04
:18
,46
8
00
:04
:29
,23
4
00
:04
:40
,01
5
00
:04
:50
,78
1
00
:05
:01
,56
2
49
Experimento do Consumo de Energia Cenário: Registrado na Rede Celular Experimento Consumo (J) Duração do Experimento (em seg.): 306,725
1 13,560
2 13,379 Histograma
3 13,189 Intervalos Frequências
4 13,049 12,96531911 1 5 13,186 13,14537529 5 6 13,186 13,32543146 8 7 13,396 13,50548764 10 8 13,240 13,68554381 4
9 13,276 Valores maiores que 13,68554381 2
10 13,397
11 13,106
12 13,349 Resultado Estatístico
13 13,448
14 13,282 Média 13,32738221 15 12,965 Erro padrão 0,038237007 16 13,530 Mediana 13,33496865 17 13,866 Modo #N/D 18 13,035 Desvio padrão 0,209432714 19 13,745 Variância da amostra 0,043862062 20 13,159 Curtose 0,353740225 21 13,336 Assimetria 0,519321313 22 13,425 Intervalo 0,900280879
23 13,057 Mínimo 12,96531911
24 13,573 Máximo 13,86559999 25 13,539 Soma 399,8214663 26 13,334 Contagem 30 27 13,402 Maior(1) 13,86559999 28 13,377 Menor(1) 12,96531911
29 13,325 Nível de confiança(95,0%) 0,078203459
30 13,111
Tabela 1 - Estatística do Cenário Registrado na Rede
50
Podemos observar que o maior consumo observado é de 13,865 Joules, o menor é
de 12,965 Joules e a média de consumo dos experimentos é de 13,327 Joules. O valor da
mediana é de 13,335 Joules, metade das amostras tem valores inferiores a ela, e metade
das amostras tem valores ou superiores a ela.
Figura 11 - Histograma do Cenário Registrado na Rede
O Histograma, como pode ser observado claramente na Figura 11, segui uma
distribuição Normal com Desvio Padrão 0,209432 e a Variância de 0,043862 mostrando
uma baixa dispersão dos valores obtidos. A Curtose cujo valor é 0,353 e
conseqüentemente pouco maior do que zero, mostra que a distribuição é pouco mais
afunilada (concentrada) que a distribuição normal. O valor da Assimetria positivo e
próximo a zero (de 0,519) mostra que os valores da Média e Mediana são bem próximos
e a curva apresenta certa simetria, ou seja, o seu lado direito é pouco semelhante ao lado
esquerdo.
0
2
4
6
8
10
12
Fre
qü
ên
cia
Intervalos
Histograma
Freqüência
51
4.4.2 Cenário: Somente Registrado na Rede, Consumo Retificado
Observamos que mesmo sem receber nenhuma solicitação do usuário, o
dispositivo móvel apresentava um grande quantidade de picos de consumo de energia, em
princípio imaginamos que estes picos de consumo, seriam respostas as requisições da
rede, contudo ao analisar a troca de sinalização entre o dispositivo e a rede, observamos
que não havia troca de sinalização neste período, desta forma, este picos de consumo são
ocasionados exclusivamente por tarefas realizadas pelo sistema operacional do
dispositivo.
Observamos aqui, um potencial de melhoria no consumo do dispositivo, mas
especificamente na Área de engenharia de Software. Desta forma, iremos realizar a
comparação do consumo de energia, caso fosse realizado um trabalho de melhoria no
código do dispositivo e este não apresentasse os picos de consumo, Figura 12.
Figura 12 - Curva do experimento 1 retificada pela Mediana
0,0000
0,0200
0,0400
0,0600
0,0800
0,1000
0,1200
15
,24
0
15
,24
4
15
,24
8
15
,25
1
15
,25
5
15
,25
9
15
,26
3
15
,26
6
15
,27
0
15
,27
4
15
,27
7
15
,28
1
15
,28
5
15
,28
9
15
,29
2
15
,29
6
15
,30
0
15
,30
3
15
,30
7
15
,31
1
15
,31
5
15
,31
8
15
,32
2
Registered - Retified Curve
Execução: 01
52
A idéia é, realizando-se um trabalho de melhoria de Engenharia de Software no
sistema operacional do dispositivo, assim seu consumo não apresentaria inúmeros picos
de consumo, porém seu consumo seria de um valor maior que o consumo de espera, pois
o sistema operacional necessita de energia para realizar rotinas interna. Observamos que
este não é um resultado prático, mas apenas estimado para ilustrar o cenário.
A busca de um valor médio maior foi definida a partir do cenário somente
registrado, onde retificamos sua curva para o valor da Mediana, este valor foi adotado
para retificamos a curva de consumo pelos seguintes motivos: é um valor maior que o
estado de espera do dispositivo, o que possibilita uma margem de operação, e também
por representar a metade da população amostral.
Realizamos a retificação das trinta curvas dos trinta experimentos. Os valores
obtidos desta retificação e sua análise estatística são apresentados na Tabela 2. O gráfico
do histograma desta retificação, e mostrado na Figura 13.
Como mostra a Tabela 2, o valor de maior consumo foi de 9,381 Joules e o de
menor consumo de 9,293 Joules. A média de consumo foi de 9,346 Joules e a mediana de
9, 356 Joules.
53
Experimento do Consumo de Energia Cenário: Registrado na Rede Celular - Retificado pela Mediana
Experimento Consumo (Joules) Duração do Experimento (seg): 306,725
1 9,362
2 9,372 Histograma
3 9,378 Intervalos Frequências
4 9,382 9,32 7 5 9,370 9,36 9
6 9,372 9,40 14
7 9,371 Valores maiores que 9,40 0
8 9,376
9 9,370
10 9,362
11 9,337
12 9,342
13 9,326 Resultado Estatístico
14 9,342
15 9,350 Média 9,346090559
16 9,357 Erro padrão 0,00491095 17 9,357 Mediana 9,356954131 18 9,361 Modo #N/D 19 9,366 Desvio padrão 0,026898379 20 9,362 Variância da amostra 0,000723523 21 9,363 Curtose -1,02289966 22 9,338 Assimetria -0,58630925 23 9,327 Intervalo 0,088572173 24 9,316 Mínimo 9,293142081
25 9,310 Máximo 9,381714254 26 9,306 Soma 280,3827168 27 9,301 Contagem 30 28 9,302 Maior(1) 9,381714254 29 9,312 Menor(1) 9,293142081
30 9,293 Nível de confiança(95,0%) 0,01004402
Tabela 2 - Estatística do Cenário Intervenções do Sistema Operacional
54
O desvio padrão de 0,026 e a variância de 0,0007 mostrando uma dispersão
extremamente baixa dos valores obtidos. Esta baixa dispersão deve-se ao fato dos valores
dos experimentos serem resultantes da poda ou retificação da curva, não permitindo
nenhum valor superior ao adotado para a poda, representando também um valor artificial,
não prático, isso explica a inexistência de valores acima de 9,40.
Figura 13 - Histograma do Cenário Intervenções do Sistema Operacional
0
5
10
15
9,32 9,36 9,40 Mais
Fre
qü
ên
cia
Intervalos
Histograma
Freqüência
55
4.4.3 Cenário: Bluetooth Ativado
O experimento foi executado trinta vezes seguindo rigorosamente os passos de
execução, todas os experimentos foram realizadas com o dispositivo no interior de uma
Gaiola de Faraday, para eliminar as influências de sinais de rádio frequência externos.
Figura 14 - Característica da Curva de Consumo Bluetooth Ativado
Todos os trinta experimentos apresentaram uma curva de consumo com as
mesmas características a mostrada na Figura 14 onde mostramos a curva de consumo do
experimento 1.
0,00
0,10
0,20
0,30
0,40
0,50
0,60
0,70
9,3
41
9,3
46
9,3
50
9,3
55
9,3
59
9,3
64
9,3
68
9,3
72
9,3
77
9,3
81
9,3
86
9,3
90
9,3
95
9,3
99
9,4
04
9,4
08
9,4
12
9,4
17
9,4
21
9,4
26
9,4
30
9,4
35
9,4
39
Bluetooth Activated
Experimento: 01
56
Esta curva de consumo apresenta as seguintes características:
Os lóbulos “A” e “B” da curva são os momentos em que ligamos e
desligamos o dispositivo respectivamente, neste momento a luz do visor é
ligada e por este motivo o consumo é bem acentuado;
Os picos “C” e “D” são relativos ao registro e desconexão da rede
respectivamente. Neste momento os transmissores do dispositivo são
ligados para que haja troca de sinalização com a rede celular.
O nível de consumo “E” caracteriza-se pelo estado de espera do
dispositivo sendo este o estado de menor consumo.
Os picos de consumo “F” são intervenções do sistema operacional do
dispositivo;
A curva senoidal de consumo “G” é relativa ao funcionamento do módulo
de hardware Bluetooth do dispositivo.
Eliminamos os lóbulos de consumo “A” e “B” para avaliarmos apenas o consumo
do dispositivo com o módulo de Bluetooth ativado, este remoção é para eliminar o
consumo de registro e desconexão da rede celular bem como o consumo relativo a
iluminação do visor do dispositivo.
Para avaliação dos resultados, alinhamos todas as curvas de consumo dos
experimentos, eliminando os atrasos do inicio de cada experimento. Em seguida,
tomamos a curva com menor duração, sendo este o tempo em que o consumo é avaliado
para todos os trinta experimentos.
A Figura 15 mostra a curva de consumo do experimento 1 sem os lóbulos “A” e
“B”. Nesta figura, podemos identificar claramente o nível de consumo em espera “E” e a
curva senoidal de consumo “G” relativo ao funcionamento do módulo de hardware
Bluetooth do dispositivo. Observamos também nesta figura, os picos de consumo
relativos a intervenção do sistema operacional, “F”.
57
Figura 15 - Consumo do Experiemento 1 Sem os Lóbulos
A partir destes dados, calculamos o consumo dos trinta experimentos para um
intervalo de 302,570 segundos.
Os resultados estão descrito na Tabela 3. No lado esquerdo da tabela, são
mostrados os valores de consumo dos trinta experimentos. No lado direito da tabela,
temos na parte superior o histograma mostrando seus quatro intervalos com suas
respectivas frequências, na parte inferior é mostrado o Resultado Estatístico dos
experimentos.
0,00
0,02
0,04
0,06
0,08
0,10
0,12
0,14
0,16
0,18
0,20 9
,34
1
9,3
46
9,3
50
9,3
55
9,3
59
9,3
64
9,3
68
9,3
72
9,3
77
9,3
81
9,3
86
9,3
90
9,3
95
9,3
99
9,4
04
9,4
08
9,4
12
9,4
17
9,4
21
9,4
26
9,4
30
9,4
35
9,4
39
Bluetooth Activated
Experimento: 01
58
Experimento do Consumo de Energia Cenário: Bluetooth Ativado Experimento Consumo (J) Duração do Experimento (seg): 302,57
1 14,378
2 14,449 Histograma
3 14,089 Intervalo Frequências
4 13,992 13 0 5 14,461 14 2 6 14,500 15 27
7 13,970 Valores maiores que 15 1
8 14,130 9 14,616
10 14,470
11 14,333
12 14,409 Resultado Estatístico
13 14,874 Média 14,48208704 14 14,433 Erro padrão 0,082756495 15 14,575 Mediana 14,45511138 16 16,571 Modo 14,08890930
17 14,782 Desvio padrão 0,453275993 18 14,201 Variância da amostra 0,205459126 19 14,537 Curtose 16,06565028 20 14,350 Assimetria 3,453104522 21 14,593 Intervalo 2,601586197 22 14,352 Mínimo 13,96980251 23 14,575 Máximo 16,57138871 24 14,582 Soma 434,4626113 25 14,089 Contagem 30
26 14,089 Nível de confiança(95,0%) 0,169256035
27 14,537 28 14,350
29 14,593
30 14,582
Tabela 3 - Estatística do Cenário Bluetooth Ativado
59
A Tabela 3 mostra que o Desvio Padrão é de 0,4532 e a Variância de 0,2054
também podemos observar graficamente na Figura 16 que o Histograma apresenta uma
distribuição Normal. Isso mostra que os valores de consumo forma muito próximos e
concentrados no intervalo entre 14 e 15 Joules.
A Curtose de valor 16,056 muito maior do que 1, mostra que a curva é bastante
afunilada (concentrada) que a distribuição Normal. O valor da Assimetria de 3,4431
positivo diz que a curva apresenta simetria e que os valores da Média e Mediana são
próximos.
Figura 16 - Histograma do Cenário Bluetooth Ativado
Podemos observar que o consumo mínimo é de 13,969 Joules, o máximo de
16,571 Joules, a média de 14,482 Joules e a mediana de 14,455 Joules.
0
10
20
30
13 14 15 Mais
Fre
qü
ên
cia
Intervalo
Histograma
Freqüência
60
4.4.4 Cenário: Falha na Configuração da Rede da Operadora
O experimento foi executado trinta vezes seguindo rigorosamente os passos de
execução, todos os experimentos foram realizadas com o dispositivo no interior de uma
Gaiola de Faraday, para eliminar as influências de sinais de rádio frequência externos.
Todos os experimentos apresentaram uma curva de consumo com as mesmas
características.
Na Figura 17 mostramos a curva de consumo do experimento 1. Esta curva de
consumo apresenta as seguintes características:
Figura 17 - Curva Características de Consumo Hysteresis Failure
0,00
0,10
0,20
0,30
0,40
0,50
0,60
0,70
20
,81
1
20
,81
6
20
,82
0
20
,82
5
20
,82
9
20
,83
3
20
,83
8
20
,84
2
20
,84
7
20
,85
1
20
,85
6
20
,86
0
20
,86
4
20
,86
9
20
,87
3
20
,87
8
20
,88
2
20
,88
7
20
,89
1
20
,89
5
20
,90
0
20
,90
4
20
,90
9
Hysteresis Failure
Experimento: 01
61
Os lóbulos “A” e “B” da curva são os momentos em que ligamos e
desligamos o dispositivo respectivamente, neste momento a luz do visor é
ligada e por este motivo o consumo é bem acentuado;
Os picos “C” e “D” são relativos ao registro e desconexão da rede
respectivamente. Neste momento os transmissores do dispositivo são
ligados para que haja troca de informações com a rede celular;
O nível de consumo “E” caracteriza-se pelo estado de espera do
dispositivo sendo este o estado de menor consumo;
Os picos de consumo “F” são intervenções do sistema operacional do
dispositivo;
O nível de consumo “H” é o nível de energia gasta pelo dispositivo para
realizar a seleção da torre vizinha;
Como podemos observar, o dispositivo está periodicamente consumindo energia
com a atividade de seleção da torre vizinha sem trazer benefício algum ao usuário.
Vemos aqui um ponto de melhoria na configuração da rede a qual o dispositivo está
conectado, esta rede está configurada de forma incorreta, levando o dispositivo a
consumir energia em uma atividade que não trás benéficos. Analisaremos agora o quanto
de energia o dispositivo está consumindo com esta atividade que poderia ser
economizada caso um agente inteligente identificasse esta situação, impedisse a sua
execução até que o cenário fosse modificado.
Haja vista que o foco é avaliar o consumo na atividade de seleção da torre vizinha,
sem a intervenção de outras variáveis, iremos remover os lóbulos “A” e “B” pois estes
possuem a influência significativa de consumo da luz do visor bem como dos
transmissores do dispositivo, dentre outras variáveis.
Para avaliação dos resultados, alinhamos todas as curvas de consumo dos
experimentos, eliminando os atrasos do inicio de cada experimento.
Em seguida, tomamos a curva com menor duração, sendo este o tempo em que o
consumo é avaliado para todos os trinta experimentos.
62
A Figura 18 mostra a curva de consumo do experimento 1 sem os lóbulos “A” e
“B”. Nesta figura, podemos identificar claramente os níveis de consumo em espera “E”, o
nível de consumo de seleção da torre vizinha “H” e os picos de consumo do sistema
operacional, “F”.
Figura 18 – Curva Hysteresis Failure Sem os Lóbulos
A partir destes dados, calculamos o consumo dos trinta experimentos para um
intervalo de 306,663 segundos.
Os resultados estão descrito na Tabela 4. No lado esquerdo da tabela, são
mostrados os valores de consumo dos experimentos. No lado direito da tabela, temos na
parte superior o histograma mostrando seus cinco intervalos com suas respectivas
frequências e na parte inferior é mostrado o Resultado Estatístico dos experimentos.
0,00
0,05
0,10
0,15
0,20
0,25
0,30
20
,81
1
20
,81
6
20
,82
0
20
,82
5
20
,82
9
20
,83
3
20
,83
8
20
,84
2
20
,84
7
20
,85
1
20
,85
6
20
,86
0
20
,86
4
20
,86
9
20
,87
3
20
,87
8
20
,88
2
20
,88
7
20
,89
1
20
,89
5
20
,90
0
20
,90
4
20
,90
9
Hysteresis Failure
Experimento: 01
63
Experimento do Consumo de Energia Cenário: Hysteresis Failure Experimento Consumo (J) Duração do Experimento (seg): 306,66
1 74,980
2 74,663 Histograma
3 72,553 Intervalo Frequências
4 74,772 71 1 5 73,776 73 4 6 73,561 75 18 7 73,307 77 6
8 74,902 Valores maiores que 77 1
9 73,678
10 74,189
11 74,929
12 75,884 Resultado Estatístico
13 73,233 Média 74,25746972 14 72,722 Erro padrão 0,260003933 15 73,513 Mediana 74,28595195 16 72,941 Modo #N/D 17 74,383 Desvio Padrão 1,424100192 18 73,121 Variância da amostra 2,028061358 19 70,820 Curtose 1,950043297 20 74,643 Assimetria 0,403201911 21 75,156 Intervalo 7,628816625
22 76,028 Mínimo 70,82037806 23 72,435 Máximo 78,44919469
24 78,449 Soma 2227,724092 25 73,727 Contagem 30
26 76,132 Nível de confiança(95,0%) 0,531767743
27 74,144
28 75,059
29 74,783
30 75,240
Tabela 4 - Estatística do Cenário Falha de Histerese
64
A Tabela 4 mostra que o Desvio Padrão é de 1,424 e a Variância de 2,028,
também podemos observar graficamente na Figura 19 que o histograma apresenta uma
distribuição Normal. A curtose de valor 1,9500 maior do que 1, mostra que a curva é
muito mais afunilada (concentrada) que a distribuição Normal. O valor da Assimetria de
0,4032 positivo e próximo a zero nos diz que a curva apresenta simetria elevada e que os
valores da Média e Mediana são próximos.
Figura 19 - Histograma do Cenário Falha de Histerese
Podemos observar também que o consumo mínimo é de 70,820 Joules, o máximo
de 78,449 Joules e a média de 74,257 Joules.
65
4.4.5 Cenário: Configuração da Luz do Visor
O experimento foi executado trinta vezes seguindo rigorosamente os passos de
execução, todos os experimentos foram realizados com o dispositivo móvel no interior de
uma Gaiola de Faraday, para eliminar as influências de sinais de rádio frequência
externos.
Todos os experimentos apresentaram uma curva de consumo com as mesmas
características.
Na Figura 20 mostramos a curva de consumo do experimento 1. Esta curva de
consumo apresenta as seguintes características:
Figura 20 - Curva Características de Consumo Luz do Visor
0,00
0,10
0,20
0,30
0,40
0,50
0,60
0,70
15
,36
1
15
,36
6
15
,37
0
15
,37
5
15
,37
9
15
,38
3
15
,38
8
15
,39
2
15
,39
7
15
,40
1
15
,40
6
15
,41
0
15
,41
4
15
,41
9
15
,42
3
15
,42
8
15
,43
2
15
,43
7
15
,44
1
15
,44
5
15
,45
0
15
,45
4
15
,45
9
Display - 100% 3min - 50% 1min
Experimento: 01
66
Os lóbulos “A” e “B” da curva são os momentos em que ligamos e
desligamos o dispositivo respectivamente, neste momento a luz do visor é
ligada e por este motivo o consumo é bem acentuado;
Os picos “C” e “D” são relativos ao registro e desconexão da rede
respectivamente. Neste momento os transmissores do dispositivo são
ligados para que haja troca de informações com a rede celular;
O nível de consumo “E” caracteriza-se pelo estado de espera do
dispositivo sendo este o estado de menor consumo;
Os picos de consumo “F” são intervenções do sistema operacional do
dispositivo;
O nível de consumo “I” caracteriza o consumo do dispositivo móvel no
estado de espera e com a luz do visor a 100% de sua luminosidade;
O nível de consumo “J” caracteriza o consumo do dispositivo móvel no
estado de espera e com a luz do visor a 50% de sua luminosidade;
Para eliminar a influência do consumo de registro e desconexão com a rede
celular, eliminamos os lóbulos de consumo “A” e “B”.
A Figura 21 mostra a curva de consumo do experimento 1 sem os lóbulos “A” e
“B”. Nesta figura, podemos identificar claramente os níveis de consumo em espera “E”, o
nível de consumo do dispositivo móvel em espera com a iluminação do visor a 100%,
“I”, o nível de consumo dispositivo móvel em espera com a iluminação do visor a 50% e
os picos de consumo do sistema operacional, “F”.
67
Figura 21 - Curva Luz do Visor Sem os Lóbulos
Para avaliação dos resultados, alinhamos todas as curvas de consumo dos
experimentos, eliminando os atrasos do inicio de cada experimento. Em seguida,
tomamos a curva com menor duração, sendo este o tempo em que o consumo é avaliado
para todos os trinta experimentos.
A partir destes dados, calculamos o consumo dos trinta experimentos para um
intervalo de 311,91 segundos.
Os resultados estão descrito na Tabela 5. No lado esquerdo da tabela, são
mostrados os valores de consumo dos experimentos. No lado direito da tabela, temos na
parte superior o histograma mostrando seus cinco intervalos com suas respectivas
frequências, na parte inferior é mostrado o Resultado Estatístico dos experimentos.
0,00
0,05
0,10
0,15
0,20
0,25
0,30
0,35
0,40
0,45 1
5,3
61
15
,36
6
15
,37
0
15
,37
5
15
,37
9
15
,38
3
15
,38
8
15
,39
2
15
,39
7
15
,40
1
15
,40
6
15
,41
0
15
,41
4
15
,41
9
15
,42
3
15
,42
8
15
,43
2
15
,43
7
15
,44
1
15
,44
5
15
,45
0
15
,45
4
15
,45
9
Display - 100% 3min - 50% 1min
Experimento: …
68
Experimento do Consumo de Energia Cenário: Display 100% 50% Experimento Consumo (J) Duração do Experimento (seg): 311,91
1 128,673 2 129,679
Histograma 3 129,644
Intervalo Frequências
4 130,315
129,33 2
5 129,896
129,66 6 6 129,954
129,99 13
7 130,075
130,32 9
8 130,007
Valores maiores que 130,32 0
9 130,279 10 129,920 11 129,772 12 128,800
Resultado Estatístico
13 129,748
Média 129,7809098
14 130,295
Erro padrão 0,068909372 15 130,113
Mediana 129,7594669
16 129,746
Moda #N/D
17 129,376
Desvio padrão 0,377432174 18 129,771
Variância da amostra 0,142455046
19 130,280
Curtose 2,48678121 20 129,744
Assimetria -1,20698649
21 129,696
Intervalo 1,641600469 22 130,000
Mínimo 128,6730042
23 129,528
Máximo 130,3146047
24 129,845
Soma 3893,427294 25 129,724
Contagem 30
26 130,120
Nível de confiança(95,0%) 0,140935488
27 129,581 28 129,612 29 129,730 30 129,506
Tabela 5 – Estatística do Cenário do Luz do Visor
69
A Tabela 5 mostra que o Desvio Padrão é de 0,377 e a Variância de 0,142,
também podemos observar graficamente na Figura 22 que o Histograma apresenta uma
distribuição Normal. A curtose de valor 2,486 maior do que 1, mostra que a curva é
muito mais afunilada (concentrada) que a distribuição Normal. O valor da Assimetria de
-1,2069 negativa nos diz que a curva apresenta uma inclinação para a direita.
Figura 22 – Histograma do Cenário Luz do Visor
70
4.5 Avaliação do Consumo
A referência de nossa avaliação é o cenário Somente Registrado na Rede, os
demais cenários possuem a mudança de apenas uma característica que não influenciam
no serviço final provido ao usuário, mas acarreta em um aumento no consumo do
dispositivo.
Como abordado, o objetivo é identificarmos uma ordem de grandeza de economia
energética caso um Agente Inteligente venha a interferir no dispositivo com o objetivo de
reduzir o seu consumo sem uma consequente perda ou redução da qualidade do serviço
oferecido para o usuário.
Para avaliação dos resultados de todos os cenários, iremos tomar a curva com
menor tempo de medição de todos os experimentos em todos os cenários, este tempo será
o adotado para todos os experimentos de todos os cenários, para a medição do consumo e
posteriormente iremos realizar as análises estatísticas.
Experimento com Menor Tempo de Medição
Cenário Duração (Segundos)
Somente Registrado na Rede 306,72
Somente Registrado na Rede, Consumo Retificado 306,72
Bluetooth Ativado 302,57
Falha na Configuração da Rede da Operadora 306,66
Configuração da Luz do Visor 311,91
Tabela 6 - Experimento de Menor Tempo de Medição em Cada Cenário
71
A Tabela 6 apresenta a menor duração dos trinta experimentos realizados em cada
cenário. Podemos observar que o experimento de menor duração foi o de 302,57
segundos no cenário de Bluetooth Ativado. Este será o tempo de referência para medição
de consumo de todos os experimentos, o consumo acima deste tempo será desprezado.
72
4.5.1 Cenário: Somente Registrado na Rede
A Tabela 7 mostra os dados de consumo para o período de 302,57 segundos e a
Figura 23 o seu histograma.
Experimento do Consumo de Energia Cenário: Registrado na Rede Celular Experimento Consumo (J) Duração do Experimento (seg): 302,57
1 13,414 2 13,148
Histograma 3 13,034
Intervalos Frequências
4 12,788
12,45 0 5 12,936
12,85 2
6 12,964
13,25 21
7 13,249
13,65 6
8 13,094
Valores maiores que 13,65 1
9 13,120 10 13,229 11 12,883 12 13,193
Resumo Estatístico
13 13,276
Média 13,13935043 14 13,073
Erro padrão 0,040485994
15 12,797
Mediana 13,154397 16 13,369
Modo #N/D
17 13,654
Desvio padrão 0,221750921 18 12,874
Variância da amostra 0,049173471
19 13,570
Curtose -0,23544644
20 12,927
Assimetria 0,343930617 21 13,137
Intervalo 0,866260713
22 13,193
Mínimo 12,78810051 23 12,865
Máximo 13,65436122
24 13,413
Soma 394,180513 25 13,366
Contagem 30
26 13,180
Nível de confiança(95,0%) 0,082803153
27 13,178 28 13,232 29 13,160 30 12,863
Tabela 7 - Estatística Somente Registrado para Duração 302,57s
73
Figura 23 - Histograma Somente Registrado para Duração 302,57s
74
4.5.2 Cenário: Intervenções do Sistema Operacional
A Tabela 8 mostra os dados de consumo para o período de 302,57 segundos e a
Figura 24 o seu histograma.
Experimento do Consumo de Energia Cenário: Registrado na Rede Celular Retificado pela Mediana
Experimento Consumo (Joules) Duração do Experimento (seg): 302,57
1 9,165 2 9,175
Histograma
3 9,181
Intervalos Frequências
4 9,184
9,05 0 5 9,173
9,10 1
6 9,174
9,15 12
7 9,174
9,20 17
8 9,179
Valores maiores que 9,20 0
9 9,173 10 9,165 11 9,140 12 9,146 13 9,131
Resumo Estatístico
14 9,146
Média 9,149674055 15 9,154
Erro padrão 0,004781252
16 9,160
Mediana 9,160402496 17 9,161
Modo #N/D
18 9,165
Desvio padrão 0,026187997
19 9,169
Variância da amostra 0,000685811
20 9,164
Curtose -1,00096581 21 9,166
Assimetria -0,59212609
22 9,142
Intervalo 0,086997391 23 9,131
Mínimo 9,09723541
24 9,120
Máximo 9,184232801 25 9,114
Soma 274,4902217
26 9,111
Contagem 30
27 9,106
Nível de confiança(95,0%) 0,009778759
28 9,107 29 9,116 30 9,097
Tabela 8 - Estatística Intervenções do Sistrema Operacional Duração 302,57s
75
Figura 24 - Histograma Consumo Intervenções Sistema Operacional Duração 302,57s
76
4.5.3 Cenário: Bluetooth Ativado.
A Tabela 9 mostra os dados de consumo para o período de 302,57 segundos e a
Figura 25 o seu histograma.
Experimento do Consumo de Energia Cenário: Bluetooth Ativado Experimento Consumo (J) Duração do Experimento (seg): 302,57
1 14,378 2 14,449
Histograma 3 14,089
Intervalo Frequências
4 13,992
13 0 5 14,461
14 2
6 14,500
15 27
7 13,970
Valores maiores que 15 1
8 14,130
9 14,616
10 14,470 11 14,333 12 14,409
Resultado Estatístico
13 14,874
Média 14,48208704 14 14,433
Erro padrão 0,082756495
15 14,575
Mediana 14,45511138 16 16,571
Modo 14,0889093
17 14,782
Desvio padrão 0,453275993 18 14,201
Variância da amostra 0,205459126
19 14,537
Curtose 16,06565028
20 14,350
Assimetria 3,453104522 21 14,593
Intervalo 2,601586197
22 14,352
Mínimo 13,96980251 23 14,575
Máximo 16,57138871
24 14,582
Soma 434,4626113 25 14,089
Contagem 30
26 14,089
Nível de confiança(95,0%) 0,169256035
27 14,537
28 14,350
29 14,593 30 14,582
Tabela 9 - Estatística Bluetooth Ativado para Duração 302,57s
77
Figura 25 - Histograma Bluetooth Ativado para Duração 302,57s
0
10
20
30
13 14 15 Mais Fr
eq
üê
nci
a
Intervalo
Histograma
Freqüência
78
4.5.4 Cenário: Falha na Configuração da Rede da Operadora
A Tabela 10 mostra os dados de consumo para o período de 302,57 segundos e a
Figura 26 o seu histograma.
Experimento do Consumo de Energia Cenário: Hysteresis Failure
Experimento Consumo (J) Duração do Experimento (seg): 302,57
1 73,857 2 73,519
Histograma 3 71,064
Intervalo Frequências
4 73,423
70 1
5 72,428
75 26 6 72,131
80 3
7 72,407
Mais 0
8 73,557 9 73,022 10 72,829 11 73,858 12 74,523
Resultado Estatístico
13 71,746
Média 73,03869732 14 71,360
Erro padrão 0,265500357
15 72,238
Mediana 73,12876826 16 71,594
Modo #N/D
17 73,041
Desvio padrão 1,454205348 18 72,460
Variância da amostra 2,114713194
19 69,480
Curtose 1,599665475
20 73,296
Assimetria 0,246920067
21 73,809
Intervalo 7,623177485 22 75,162
Mínimo 69,48003114
23 71,215
Máximo 77,10320863 24 77,103
Soma 2191,16092
25 72,376
Contagem 30
26 75,042
Nível de confiança(95,0%) 0,543009193
27 73,216 28 73,912 29 73,503 30 73,988
Tabela 10 - Estatística Falha Configuração da Operadora para Duração 302,57s
79
Figura 26 - Histograma Falha Configuração da Operadora para Duração 302,57s
80
4.5.5 Cenário: Configuração da Luz do Visor
A Tabela 11 mostra os dados de consumo para o período de 302,57 segundos e a
Figura 27 o seu histograma.
Experimento do Consumo de Energia Cenário: Display 100% 50%
Experimento Consumo (J) Duração do Experimento (seg): 302,57
1 128,212 2 129,343
Histograma 3 129,273
Intervalo Frequências
4 129,885
129,00 3 5 129,421
129,33 8
6 129,570
129,66 12 7 129,669
129,99 7
8 129,667 Valores maiores que 129,99 0
9 129,863 10 129,572 11 129,338 12 128,402
Resultado Estatístico
13 129,358 Média 129,368693
14 129,846 Erro padrão 0,070484055
15 129,634 Mediana 129,3572165
16 129,356 Moda #N/D
17 129,012 Desvio padrão 0,386057071
18 129,383 Variância da amostra 0,149040062
19 129,870 Curtose 2,439108357
20 129,313 Assimetria -1,25036175
21 129,340 Intervalo 1,673525677
22 129,636 Mínimo 128,2116012
23 129,082 Máximo 129,8851269
24 129,373 Soma 3881,06079
25 129,302 Contagem 30
26 129,771 Nível de confiança(95,0%) 0,144156077
27 129,248 28 129,119 29 129,248 30 128,955
Tabela 11 - Estatística Configuração da Luz do Visor para Duração 302,57s
81
Figura 27 - Histograma Configuração da Luz do Visor para Duração 302,57s
82
5 CONSIDERAÇÕES FINAIS
5.1 Discussões
O objetivo do experimento é podermos avaliar o consumo dos cenários
apresentados e mensurar o grau de economia que podemos obter aplicando-se as técnicas
propostas pelos cenários.
Para a execução dos experimentos tínhamos que ter a certeza de que toda energia
suprida pela fonte de alimentação, fosse consumida única e exclusivamente pelo
dispositivo móvel. Para termos esta garantia, seria de fundamental importância que
realizássemos a alimentação do dispositivo sem a sua bateria acoplada. Sendo esta a
nossa maior dificuldade, pois ao removermos a bateria e alimentarmos o dispositivo
somente com o cabo de alimentação, o dispositivo não funcionava. Requisitamos ao
fabricante Samsung, uma interface de alimentação que possibilitasse o funcionamento do
dispositivo através de uma fonte DC sem a bateria acoplada ao dispositivo. O fabricante
nos enviou a interface o que tornou viável e confiável a realização dos experimentos.
Iremos relacionar os experimentos realizados para podemos avaliar o grau de
economia que conseguimos com a variação de apenas uma característica que represente
as áreas de engenharia de software, hardware, configuração da rede da operadora e perfil
de uso.
No cenário Somente Registrado, podemos observar que o consumo máximo foi de
13,654 Joules, o consumo mínimo foi de 12,788 Joules e a média de consumo para este
cenário é de 13,139 Joules.
No cenário Intervenção do Sistema Operacional, observamos que o consumo
máximo foi de 9,184 Joules, o consumo mínimo foi de 9,097 Joules e a média de
consumo para este cenário é de 9,149 Joules. Comparando com o cenário Somente
Registrado, obteríamos uma redução de 30,36% no consumo de energia, caso ações de
83
melhoria no desenvolvimento do Sistema Operacional do dispositivo, reduzisse o
consumo para no máximo o valor da mediana.
No cenário Bluetooth Ativado, observamos que o consumo máximo foi de 16,571
Joules, o consumo mínimo foi de 13,969 Joules e a média de consumo para este cenário é
de 14,482 Joules. Comparando com o cenário Somente Registrado, obtemos um aumento
de 10,21% no consumo de energia pelo fato do hardware do Bluetooth está ativado,
mesmo sem estar sendo utilizado pelo usuário. Sendo este o nível de economia de
energia, caso um Agente Inteligente de Engenharia de Hardware, identificasse que o
módulo está atividade sem o provimento de serviço e o desativasse até que o usuário ou
uma aplicação requisitasse algum serviço.
No cenário Falha na Configuração da Rede da Operadora, observamos que o
consumo máximo foi de 77,103 Joules, o consumo mínimo foi de 69,480 Joules e a
média de consumo para este cenário é de 73,038 Joules. Comparando com o cenário
Somente Registrado, obtemos um aumento de 455,87% no consumo de energia
ocasionado por uma falha na configuração da rede celular da operadora. Sendo este o
nível de economia de energia, caso um Agente Inteligente de análise da configuração de
rede da Operadora Celular, identificasse o cenário de falha e impedisse que o dispositivo
executasse ações que não viesse a trazer benefícios no seu desempenho de iteração com a
rede celular.
No cenário Luz do Visor, observamos que o consumo máximo foi de 129,885
Joules, o consumo mínimo foi de 128,211 Joules e a média de consumo para este cenário
é de 129,368 Joules. Comparando com o cenário somente registrado, obtemos um
aumento de 884,58% no consumo de energia ocasionado pela configuração da Luz do
Visor, uma característica do perfil de utilização do usuário. Sendo este o nível de
economia de energia caso um Agente Inteligente, identificasse o tempo que o usuário
necessita de iluminação do visor para atender as suas necessidades de visualização das
informações.
84
5.2 Conclusão
O termo Green Technology [4] está cada vez mais presente nas discussões e
estudos científicos relativos aos dispositivos móveis que são alimentados por baterias e
necessitam de uma grande autonomia e alto desempenho computacional.
Neste trabalho, discutimos sobre a abordagem e implementação de conceitos no
desempenho energético de sistemas computacionais. Discutimos técnicas que aplicada
aos dispositivos computacionais podem reduzir o consumo de energia sem, no entanto,
causar perda da qualidade de serviço provida ao usuário.
Neste estudo, podemos observar diversas técnicas em diferentes áreas de interesse
da Engenharia de Software de hardware e que podem nos auxiliar na economia de energia
em dispositivos móveis. Identificamos uma oportunidade de aplicar um Agente
Inteligente capaz atuar como gerente de energia do sistema operacional visando o
controle de consumo do dispositivo móvel.
A literatura da área mostra diversas técnicas que aplicadas aos dispositivos,
resultam na redução do seu consumo de energia e como forma de mensurar os efeitos das
técnicas propostas, montamos cenários que representassem a ação de um Agente
Inteligente capaz de adaptar as configurações do dispositivo as características de
funcionamento relativas as áreas de engenharia de software, hardware, configuração da
rede da operadora e perfil de utilização do dispositivo.
Como forma de mensurar o grau de economia que podemos atingir, realizamos
experimentos em cenários que, se gerenciados por Agentes Inteligentes, nos
proporcionarão uma significativa economia no consumo de energia destes dispositivos e
como resultado uma maior autonomia.
Ressaltamos que mesmo propondo um Agente Inteligente para realizar a gerência
de energia do dispositivo, e realizando os experimentos para avaliar o grau dessa
economia, existe a questão do consumo de energia do próprio Agente Inteligente para o
cumprimento desta tarefa, ainda necessita ser estudada.
85
A Tabela 12 relaciona os níveis de economia medidos nos cenários propostos,
contudo ressaltamos que os níveis de economia apresentados, referem-se a ocorrência dos
eventos desses cenários, tornando-se que o percentual de economia global dependerá da
frequência dessas ocorrências.
Cenário Economia (em %)
Engenharia de Software 30
Engenharia de Hardware 10
Rede da Operadora 455
Perfil de uso 884
Tabela 12 - Economia nos Experimentos Realizados
Concluímos, portanto que significativa economia de energia pode ser alcançada a
partir da identificação e tratamento de falhas na configuração da rede das operadoras bem
como na configuração do perfil de uso dos dispositivos. Com isso, podemos desenvolver
sistemas moveis capazes de utilizar energia de forma mais racional, aumentando assim a
sua autonomia de funcionamento.
86
5.3 Trabalhos Futuros
Como trabalhos futuros elencamos a necessidade de expansão do número de
cenários de avaliação para identificação de novas oportunidades de economia energética.
Vemos a necessidade de definir uma API configurável de gerência de energia
através da qual os modos de operação dos componentes do sistema podem ser
consultados e alterados para ser utilizada por aplicações para o monitoramento e
gerenciamento de energia.
No âmbito da Engenharia de Software, vemos a necessidade de avaliar o consumo
de energia relativo às boas práticas de programação associadas às diferentes plataformas
e sistemas operacionais, buscando identificar métodos e técnicas de alto desempenho com
baixo consumo relativo a cada plataforma. Ainda, a utilização de inteligência artificial,
como por exemplos Agentes Inteligentes, pode diminuir o consumo de energia, a partir
do aprendizado do comportamento do usuário, configurando o perfil de uso do
dispositivo de forma autônoma.
No âmbito da Engenharia de Hardware, podemos citar a gerência e consumo de
energia de memórias, processadores, ações em caso de falhas, gerência de dados
armazenados, dentre outros.
87
6 REFERÊNCIAS
[1] Sklavos, N. and Touliou, K., A System-Level Analysis of Power Consumption &
Optimizations in 3G Mobile Devices, Invited Paper, Proceedings of the 1st
International Conference on New Technologies, Mobility & Security (NTMS'07),
France, May 2-4, 2007, Springer, pp. 225-235, ISBN: 9781402062698, 2007.
[2] Man Hurt by „Exploding‟ Cell Phone,
http://www.myfoxdfw.com/dpp/news/120210-man-hurt-by-
%E2%80%98exploding%E2%80%99-cell-phone
[3] M. IRWIN and J. SHEN, “Revitalizing Computer Architecture Research”, 3rd
CRA – Conference on Grand Research Challenges in Computer Science and
Engineering, California, 2005
[4] TIPLER, Paul A. and MOSCA, Gene P. Physics for Scientists and Engineers ,
Volume 2: Electricity and Magnetism, Light. 6th edition, illustrated. Publisher W.
H. Freeman & Company, 2008
[5] A 32-bit PowerPC system-on-a-chip with support for dynamic voltage scaling and
dynamic frequency scaling, Nowka, K.J.; Carpenter, G.D.; MacDonald, E.W.;
Ngo, H.C.; Brock, B.C.; Ishii, K.I.; Nguyen, T.Y.; Burns, J.L.; Austin Res.
Lab., IBM Corp., Austin, TX, USA, Nov 2002, IEEE Solid-State Circuits Society
[6] Supply and threshold voltage scaling for low power CMOS, Gonzalez, R.;
Gordon, B.M.; Horowitz, M.A.;Comput. Syst. Lab., Stanford Univ., CA , Aug
1997, IEEE Solid-State Circuits Society
[7] Method And Apparatus for Computer System Power Management, Andrew
Radcliffe Rawson, Cedar Park. Tex. Gui Gil Sotomayor, Jr. West Palm Bach,
Fla.,United States Patent, Patent number: US 5,692,204, Nov. 25, 1997
[8] Method and Apparatus to Implement The ACPI (Advanced Configuration and
Power Interface) C3 State in a RDRAM Based System, Satchit Jain, San Jose, CA
88
(US); Siripong Sritanyaratana, Union City CA (US), Intel Corporation, Santa Clara,
CA (US), United States Patent, Patent no.: US 6,644,987 B2, Oct. 14, 2003
[9] Green Technology, http://www.green-technology.org/
[10] Clock Signal, J.19 V. Venkatachalam, M. Franz, and Ch. W. Probst; “A New Way
Of Estimating Compute Boundedness And Its Application To Dynamic Voltage
Scaling;” International Journal of Embedded Systems (IJES), Vol. 3, No. 1/2, pp.
17–30; 2007
[11] Wikipedia, Smartphones, http://www.3gpp.org/
[12] Wikipedia, Tablet Personal Computer, http://www.3gpp.org/
[13] Carter, MCSE: Microsoft Certified Systems Engineer, Wiley, September 1997
[14] M.P. Michael, “Energy awareness for mobile devices”, Research Seminar on
Energy Awareness, University of Helsinki, 2005
[15] E. Shih, P. Bahl, and M.J. Sinclair. "Wake on Wireless: An Event Driven Energy
Saving Strategy for Battery Operated Devices", Proc. of the Eighth Annual
ACM Conference on Mobile Computing and Networking, Altanta, Georgia, USA,
September 2002.
[16] Rulnick, J. M., Bambos, N., Mobile power management for wireless
communication networks, Department of Electrical and Computer Engineering,
WPI, Worcester, MA 01609, USA, ACM, Wireless Networks, Volume 3, Issue 1,
March 1997.
[17] Balasubramanian N., Balasubramanian A., Venkataramani A., Energy
Consumption in Mobile Phones: A Measurement Study and Implications for
Network Applications, Department of Computer Science, University of
Massachusetts Amherst, In Proceedings of ACM/USENIX Internet Measurement
Conference (IMC), Chicago, USA, November 2009
http://www.cs.umass.edu/~arunab/paper/tailender-imc09.pdf.
[18] ELIADE, Mircea: Aspectos do Mito. Tradução de Manuela Torres. Rio de Janeiro:
Edições 70, 1989.
89
[19] GIL, Antônio Carlos. Como elaborar projetos de pesquisa. 3 ed. São Paulo: Atlas,
1991
[20] MARCONI; LAKATOS, 2009, p.6
[21] InfraRed, http://www.infrared.org/
[22] Bluetooth, https://www.bluetooth.org/apps/content/
[23] ZigBee, http://zigbee.org/
[24] Wi-Fi, http://www.wi-fi.org/
90
7 ANEXO: CÓDIGO DO PROGRAMA DA FONTE DC
Arquivo.java
import java.io.*;
public class Arquivo {
private BufferedReader in;
private PrintWriter out;
private String[] buffer;
private int nextChar;
private int nextTokenLin, nextTokenCol;
private int primLin, contLin;
public Arquivo(String in, String out) {
try {
this.in = new BufferedReader(new FileReader(in));
this.out = new PrintWriter(new FileWriter(out), true);
this.initBuffer();
} catch (IOException e) {
throw new RuntimeException(e.toString());
}
}
protected void finalize() {
this.close();
}
public void close() {
try {
if (this.in != null) {
this.in.close();
this.in = null;
}
if (this.out != null) {
this.out.close();
this.out = null;
}
} catch (IOException e) {
throw new RuntimeException(e.toString());
}
}
public boolean isEndOfFile() {
return (this.nextTokenLin < 0);
}
91
public boolean isEndOfLine() {
return (this.nextTokenLin != this.primLin);
}
private String readLine() {
if (this.contLin <= 0)
return null;
String line = this.buffer[this.primLin];
if (this.nextChar > 0)
if (this.nextChar >= line.length())
line = "";
else
line = line.substring(this.nextChar, line.length()-1);
this.buffer[this.primLin] = null;
this.nextChar = 0;
this.primLin++;
this.contLin--;
if (this.nextTokenLin >= 0 && this.nextTokenLin <
this.primLin)
this.findNext();
return line;
}
private char readChar() {
if (this.contLin <= 0)
return '\0';
char newChar;
String line = this.buffer[this.primLin];
if (this.nextChar >= line.length()) {
newChar = '\n';
this.readLine();
} else {
newChar = line.charAt(this.nextChar++);
if (newChar != ' ' && this.nextTokenLin >= 0)
this.findNext();
}
return newChar;
}
public String readString() {
String next = null;
92
try {
this.checkEOF();
String line = this.buffer[this.nextTokenLin];
for (int i = this.primLin; i < this.contLin; i++)
this.buffer[i] = null;
this.buffer[0] = line;
this.nextTokenLin = this.primLin = 0;
this.contLin = 1;
int i, size = line.length();
for (i = this.nextTokenCol; i < size; i++)
if (line.charAt(i) == ' ')
break;
next = line.substring(this.nextTokenCol, i);
this.nextChar = i;
this.findNext();
} catch (IOException e) {
throw new RuntimeException(e.toString());
}
return next;
}
public int readInt() {
return Integer.valueOf(this.readString()).intValue();
}
public double readDouble() {
return Double.valueOf(this.readString()).doubleValue();
}
private void initBuffer() throws IOException {
this.buffer = new String[5];
this.nextChar = 0;
this.nextTokenLin = 0;
this.primLin = this.contLin = 0;
String line = this.in.readLine();
if (line == null) {
this.nextTokenLin = -1;
} else {
this.buffer[0] = line;
this.contLin++;
this.findNext();
}
}
private void checkEOF() throws EOFException {
if (this.isEndOfFile())
throw new EOFException();
}
private int appendLine(String str) {
if (this.contLin == 0)
93
this.primLin = 0;
if (this.primLin + this.contLin >= this.buffer.length) {
String[] src = this.buffer;
if (this.contLin >= this.buffer.length)
this.buffer = new String[2 * this.buffer.length];
System.arraycopy(src, this.primLin, this.buffer, 0,
this.contLin);
this.nextTokenLin -= this.primLin;
this.primLin = 0;
}
buffer[this.primLin + this.contLin] = str;
this.contLin++;
return (this.primLin + this.contLin - 1);
}
private void findNext() {
try {
String line = this.buffer[this.primLin];
if (line != null) {
int size = line.length();
for (int i = this.nextChar; i < size; i++)
if (line.charAt(i) != ' ') {
this.nextTokenCol = i;
return;
}
}
this.nextTokenLin = this.nextTokenCol = -1;
while ((line = this.in.readLine()) != null) {
int size = line.length();
for (int i = 0; i < size; i++)
if (line.charAt(i) != ' ') {
this.nextTokenCol = i;
this.nextTokenLin = this.appendLine(line);
return;
}
this.appendLine(line);
}
} catch (IOException e) {
throw new RuntimeException(e.toString());
}
}
public void print(char c) {
this.out.print(String.valueOf(c));
}
public void print(String s) {
this.out.print(s);
}
94
public void print(int i) {
this.out.print(i);
}
public void print(double d) {
this.out.print(d);
}
public void print(double d, int dec) {
this.out.print(this.formatDouble(d, dec));
}
public void println() {
this.out.println();
}
public void println(char c) {
this.out.println(String.valueOf(c));
}
public void println(String s) {
this.out.println(s);
}
public void println(int i) {
this.out.println(i);
}
public void println(double d) {
this.out.println(d);
}
public void println(double d, int dec) {
this.out.println(this.formatDouble(d, dec));
}
public void flush() {
this.out.flush();
}
private String formatDouble(double d, int dec) {
if (dec <= 0) {
return String.valueOf(Math.round(d));
}
StringBuffer res = new StringBuffer();
long aprox = (int) Math.round(d * Math.pow(10, dec));
if (d < 0) {
aprox = -aprox;
res.append('-');
}
String num = String.valueOf(aprox);
int n = num.length() - dec;
if (n <= 0) {
res.append("0.");
for (int i = 0; i < -n; i++)
95
res.append('0');
res.append(num);
} else {
char[] array = num.toCharArray();
res.append(array, 0, n).append('.').append(array, n, dec);
}
return res.toString();
}
}
96
TratadorPowerSupply.java
package main;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.comm.CommDriver;
import javax.comm.CommPortIdentifier;
import javax.comm.NoSuchPortException;
import javax.comm.PortInUseException;
import javax.comm.SerialPort;
import javax.comm.UnsupportedCommOperationException;
import exceptions.ComPortNotOpenedException;
import exceptions.InvalidPropertyException;
import propertieshandler.PropertiesGeneralImplementation;
import util.Param;
public class TratadorPowerSupply
{
private CommPortIdentifier port = null;
private SerialPort serialPort = null;
private InputStream inputStream;
private OutputStream outputStream;
private DataInputStream dis = null;
private DataOutputStream dos = null;
private boolean com_port_available;
public static final int MEASURE_CURRENT = 0;
public static final int MEASURE_VOLTAGE = 1;
public TratadorPowerSupply() throws InvalidPropertyException,
ComPortNotOpenedException
{
setCom_port_available(false);
String comport =
PropertiesGeneralImplementation.getValor(Param.PROPERTY_PS_COM_PORT);
if ((comport != null)&&(!comport.equals("")))
{
if (openComPort(comport))
{
setCom_port_available(true);
sendSCPI("System:Remote");
sleep(1000);
sendSCPI("*RST");
sleep(1000);
sendSCPI("Voltage 4.2");
97
sleep(1000);
sendSCPI("Output on");
}
else
{
throw new ComPortNotOpenedException();
}
}
else
{
throw new InvalidPropertyException();
}
}
public void releaseResources()
{
sendSCPI("Output off");
sendSCPI("System:Local");
setCom_port_available(false);
try {
if (dis != null) dis.close();
if (dos != null) dos.close();
if (serialPort != null) serialPort.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void sendSCPI(String scpi_command)
{
if (isCom_port_available())
{
String aux = scpi_command + '\n';
try {
dos.write(aux.getBytes());
dos.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public String readMeasure(int measure_type)
{
String res = "";
String measurestr = "";
switch (measure_type)
{
case MEASURE_CURRENT:
measurestr = "Current";
break;
case MEASURE_VOLTAGE:
98
measurestr = "Voltage";
break;
}
if ((!measurestr.equals(""))&&(isCom_port_available()))
{
sendSCPI("Measure:" + measurestr + '?');
try {
byte[] readBuffer = new byte[16];
byte[] b = new byte[1];
int i = 0;
int len = dis.read(b);
while((len == 1)&&(i < 16))
{
readBuffer[i] = b[0];
len = dis.read(b);
i++;
}
res = new String(readBuffer).trim();
}
catch (IOException e)
{
res =
PropertiesGeneralImplementation.getValor(Param.ERROR_INDICATION);
}
}
return res;
}
public void sleep(long sleep_time)
{
try
{
Thread.sleep(sleep_time);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public boolean openComPort(String comport)
{
boolean flag = false;
if (!isCom_port_available())
{
String driverName =
PropertiesGeneralImplementation.getValor(Param.PROPERTY_COM_PORT_DRIVER
_NAME);
99
String com_id = comport;
String appname =
PropertiesGeneralImplementation.getValor(Param.APP_NAME);
if ((com_id != null)&&(!com_id.equals("")))
{
if ((driverName !=
null)&&(!driverName.equals("")))
{
CommDriver commdriver;
try {
commdriver =
(CommDriver)Class.forName(driverName).newInstance( );
commdriver.initialize();
port =
CommPortIdentifier.getPortIdentifier(com_id);
serialPort = (SerialPort)
port.open(appname, 10000);
inputStream =
serialPort.getInputStream();
outputStream =
serialPort.getOutputStream();
dis = new
DataInputStream(inputStream);
dos = new
DataOutputStream(outputStream);
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8, SerialPort.STOPBITS_2, SerialPort.PARITY_NONE);
serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);
serialPort.enableReceiveTimeout(1000);
serialPort.setDTR(true);
flag = true;
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchPortException e) {
e.printStackTrace();
} catch (PortInUseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch
(UnsupportedCommOperationException e) {
e.printStackTrace();
}
}
}
}
100
return flag;
}
public boolean isCom_port_available() {
return com_port_available;
}
public void setCom_port_available(boolean com_port_available) {
this.com_port_available = com_port_available;
}
}