UNIVERSIDADE FEDERAL DE S ˜
AO CARLOS
CENTRO DE CI ˆENCIAS EXATAS E DE TECNOLOGIAPROGRAMA DE P ´OS-GRADUAC¸ ˜AO EM CI ˆENCIA DA COMPUTAC¸ ˜AO
M
ARCIOR
ODRIGOF
ALVOUMA AVALIAC
¸ ˜
AO EXPERIMENTAL DO USO
DE DESKTOPS VIRTUAIS
O
RIENTADOR: P
ROF. D
R. H
ERMESS
ENGERS˜ao Carlos – SP
UNIVERSIDADE FEDERAL DE S ˜
AO CARLOS
CENTRO DE CI ˆENCIAS EXATAS E DE TECNOLOGIAPROGRAMA DE P ´OS-GRADUAC¸ ˜AO EM CI ˆENCIA DA COMPUTAC¸ ˜AO
M
ARCIOR
ODRIGOF
ALVOUMA AVALIAC
¸ ˜
AO EXPERIMENTAL DO USO
DE DESKTOPS VIRTUAIS
Dissertac¸˜ao apresentada ao Programa de P´os-Graduac¸˜ao em Ciˆencia da Computac¸˜ao da Univer-sidade Federal de S˜ao Carlos, como parte dos re-quisitos para a obtenc¸˜ao do t´ıtulo de Mestre em Ciˆencia da Computac¸˜ao, ´area de concentrac¸˜ao: Sis-temas Distribu´ıdos e Redes
Orientador: Prof. Dr. Hermes Senger
S˜ao Carlos – SP
Ficha catalográfica elaborada pelo DePT da Biblioteca Comunitária da UFSCar
F197ae
Falvo, Marcio Rodrigo.
Uma avaliação experimental do uso de desktops virtuais / Marcio Rodrigo Falvo. -- São Carlos : UFSCar, 2014. 66 f.
Dissertação (Mestrado) -- Universidade Federal de São Carlos, 2014.
1. Sistemas distribuídos. 2. Virtualização. 3. Desktop Virtual. 4. VDI. I. Título.
`
A
GRADECIMENTOS
Gostaria de agradecer a minha fam´ılia pelo apoio e compreens˜ao pelos meus momentos
de ausˆencia. Ao meu orientador pela paciˆencia e por acreditar em mim. A diretoria e colegas
de trabalho da Secretaria Geral de Inform´atica pela ajuda vinda de v´arias maneiras, desde uma
simples conversa para motivac¸˜ao at´e a ajuda t´ecnica. Por fim, agradec¸o a Deus por ter vivido
”I gotta keep breathing. Because tomorrow the sun will rise. Who knows what the tide could bring?”
R
ESUMO
Um conjunto de servidores conectados `a Internet pode proverdesktops virtuaisem um am-biente virtual de computac¸˜ao. Cada usu´ario pode ter seu pr´oprio desktop virtual, acessando
atrav´es da Internet por meio de dispositivos como um computador comum ou dispositivos
m´oveis, como um notebook, tablet ou celular. Dentre os benef´ıcios da virtualizac¸˜ao de desktops, incluem-se a melhoria na utilizac¸˜ao dos recursos de computacionais como pro-cessador, mem´oria, disco e rede, a reduc¸˜ao de custos para a administrac¸˜ao dos recurso (que
passa a atuar de forma centralizada e mais eficiente), backup centralizado e possibilidade
de acesso remoto, onde quer que o usu´ario esteja. Muitas empresas j´a vem adotando o uso
de desktops virtuais no ambiente de trabalho dos seus funcion´arios e colaboradores.
Entre-tanto, as instituic¸˜oes de ensino tradicionalmente utilizamdesktopslocais, tanto para uso do corpo docente, corpo administrativo e t´ecnico, como tamb´em para os seus alunos.
Como o tema ´e bem pouco explorado no ambiente de universidades e instituic¸˜oes de
en-sino superior, o presente trabalho tem como objetivo principal responder algumas quest˜oes
sobre a utilizac¸˜ao de desktops virtuais. O que se pode esperar em termos da qualidade de
experiˆencia dos usu´arios de desktops virtuais em func¸˜ao de sua execuc¸˜ao remota? Quais
aplicac¸˜oes t´ıpicas apresentam maior ou menor degradac¸˜ao em termos de qualidade de
ex-periˆencia `a medida que alguns parˆametros da rede (como por exemplo a latˆencia) se
degra-dam? Qual ´e o consumo de recursos (processador, mem´oria, E/S e rede) para a execuc¸˜ao de
desktops virtuais? Como principais contribuic¸˜oes, este trabalho apresenta uma avaliac¸˜ao
experimental de uma infraestrutura de desktops virtuais implementada na Secretaria de Inform´atica da UFSCar. Foram realizados experimentos para avaliar a qualidade de
ex-periˆencia do usu´ario com um conjunto de cinco aplicac¸˜oes t´ıpicas de um laborat´orio de
ensino da universidade. Foram testados seis n´ıveis de qualidade de servic¸o da rede para
medir o seu impacto na qualidade de experiˆencia dos usu´arios. Tamb´em foram feitos testes
variando-se a quantidade dedesktopsvirtuais executando simultaneamente para verificar o consumo de recursos, que servir´a de base para um futuro planejamento de capacidade.
A
BSTRACT
A server cluster connected to the Internet can support virtual desktops in a virtual computing
environment. Each user can have his/her own virtual desktop, accessed through the
Inter-net by means of devices such as laptop, PC, notebook, tablet or smartphone. The benefits
of desktop virtualization include the possibility of improving utilization of computational
resources such as processor, memory, disk and network; a more efficient management;
cen-tralized backup, and remote accessibility independently on the user location.
Education institutions have traditionally used local desktops for use of faculty,
administra-tive and technical staffs, as well as for their students. Managing these desktops requires
a technical staff to take care of installation, configuration, updating and maintaining in a
personalized manner, according to each user profile. In this manner, administration is
cos-tly and inefficient. Several companies increasingly adopted virtual desktops delivered by
an infrastructure of centralized servers, while education institutions are late in this process.
The diversity of applications used by different areas of teaching create demand for studies
to better understand the performance of virtual desktop infrastructure.
The purpose of this study is to evaluate virtual desktop infrastructure from the perspective
of user quality of experience. To accomplish this, a virtual desktop infrastructure have been
deployed at UFSCAR, and a set of experiments were carried out at our labs employing
five different applications. To evaluate the influence of the networking quality of service
on the user experience, we produced 5 scenarios with different communication latencies.
Finally, we also executed experiments to evaluate the demand for computational resources
(e.g., processor, memory, I/O, and network) as more virtual desktops are spawned. This
experiment can provide important information for future capacity planning.
L
ISTA DE
F
IGURAS
2.1 Fluxo de comunicac¸˜ao do protocolo PCoIP . . . 23
2.2 Pilha do protocolo RDP . . . 25
2.3 Formato de uma mensagem RDP . . . 26
2.4 Vis˜ao geral dos componentes de uma arquitetura VDI . . . 28
2.5 Vis˜ao geral dos componentes de uma arquitetura VDI distribu´ıda em diferentes data centers. Fonte (CALYAM, 2011) . . . 29
2.6 Vis˜ao geral da arquitetura de VDI Xendesktop. Adaptado de Wang (WANG; LIANG, 2011) . . . 30
2.7 Exemplo da arquitetura de VDI da Microsoft. Adaptado de Wang (WANG; LI-ANG, 2011) . . . 34
2.8 Exemplo da arquitetura de VDI da VMWare Horizon View. Fonte (VMWARE, 2012c) . . . 35
2.9 Exemplo da arquitetura de administrac¸˜ao do vCenter. Fonte (WMWARE, 2008) . 36 2.10 Arquitetura b´asica da disciplina de fila do Linux. Adaptado de (HEMMINGER et al., 2005) . . . 38
3.1 Infraestrutura deDesktopsVirtuais . . . 45
3.2 Infraestrutura do ambiente de teste . . . 47
3.3 Quantidade de testes realizados . . . 48
3.4 Arranjo de teste sequencial (A) e n˜ao sequencial (B) . . . 49
3.5 Qualidade de experiˆencia por aplicac¸˜ao - Digitac¸˜ao de textos . . . 51
3.6 Qualidade de experiˆencia por aplicac¸˜ao - V´ıdeo . . . 52
3.8 Qualidade de experiˆencia por aplicac¸˜ao - Eclipse . . . 54
3.9 Qualidade de experiˆencia por aplicac¸˜ao - Matlab . . . 55
3.10 M´edia da qualidade de experiˆencia das aplicac¸˜oes em diferentes condic¸˜oes de
rede . . . 56
3.11 M´edia da taxa de transferˆencia de dados entre Cliente e Servidor de Conex˜ao . 57
3.12 M´edia de utilizac¸˜ao de CPU por aplicac¸˜ao e quantidade de desktops virtuais . . 58
3.13 M´edia de utilizac¸˜ao de mem´oria por aplicac¸˜ao e quantidade de desktops virtuais 59
3.14 Operac¸˜oes de leitura durante a carga do Eclipse em 25 desktops virtuais . . . . 60
3.15 M´edia de operac¸˜oes de E/S de leitura por aplicac¸˜ao e quantidade de desktops
virtuais . . . 61
L
ISTA DE
T
ABELAS
2.1 Tipos de mensagens msgType do protocolo RDP . . . 27
2.2 Tipos de mensagens msgFlags do protocolo RDP . . . 27
2.3 Escala de valores do modelo MOS . . . 38
3.1 Tipo de teste executado em cada aplicac¸˜ao . . . 42
3.2 Localizac¸˜ao dos laborat´orios de inform´atica no campus UFSCar S˜ao Carlos . . 43
3.3 Latˆencias utilizadas nos experimentos . . . 44
S
UM
ARIO
´
CAP´ITULO 1 – INTRODUC¸ ˜AO 12
1.1 Objetivos . . . 14
1.2 Metodologia . . . 14
1.3 Justificativa . . . 15
1.4 Estrutura da dissertac¸˜ao . . . 15
CAP´ITULO 2 – TECNOLOGIAS E TRABALHOS RELACIONADOS 17 2.1 Virtualizac¸˜ao . . . 17
2.2 Computac¸˜ao em nuvem . . . 18
2.3 Desktops locais e desktops virtuais . . . 20
2.4 Protocolos de distribuic¸˜ao dedesktopsvirtuais . . . 21
2.4.1 O protocolo PC over IP (PCoIP) da Teradici . . . 22
2.4.2 O protocolo ICA/HDX da Citrix . . . 23
2.4.3 Remote Desktop Protocol (RDP) . . . 24
2.5 Infraestrutura de desktops virtuais (VDI) . . . 26
2.5.1 Citrix: XenDesktop . . . 30
2.5.2 Microsoft RDS . . . 32
2.5.3 VMware Horizon View . . . 34
2.6 Emulac¸˜ao de redes com NetEm . . . 37
CAP´ITULO 3 – UMA AVALIAC¸ ˜AO EXPERIMENTAL DO USO DE DESKTOPS
VIRTUAIS 40
3.1 Objetivos dos experimentos . . . 40
3.2 Selec¸˜ao das aplicac¸˜oes . . . 41
3.3 Qualidade de servic¸o da rede da UFSCar . . . 42
3.4 Descric¸˜ao do ambiente de experimentos . . . 44
3.5 Projeto de experimentos . . . 46
3.5.1 Testes para a avaliac¸˜ao da qualidade de experiˆencia dos usu´arios . . . . 46
3.5.2 Testes de capacidade . . . 50
3.6 Resultados obtidos . . . 50
3.6.1 Resultados dos testes de qualidade de experiˆencia . . . 50
3.6.2 Resultados dos testes de capacidade . . . 55
3.7 Conclus˜ao . . . 56
CAP´ITULO 4 – CONCLUS ˜AO 62 4.1 Trabalhos futuros . . . 63
REFER ˆENCIAS 64 GLOSS ´ARIO 67 AP ˆENDICE A – OARNET E O PROJETO VDPILOT 68 AP ˆENDICE B – PROCEDIMENTOS DE TESTES DE APLICAC¸ ˜OES 69 B.1 Procedimento de teste com Microsof Word . . . 69
B.2 Procedimento de teste com Microsoft Media Player . . . 70
B.3 Procedimento de teste com Microsoft Internet Explorer . . . 70
B.4 Procedimento de teste com Eclipse . . . 71
Cap´ıtulo 1
I
NTRODUC
¸ ˜
AO
As instituic¸˜oes de ensino brasileiras encontram-se face a uma s´erie de desafios na ´area de
tecnologia da informac¸˜ao. Com a virtualizac¸˜ao e a computac¸˜ao em nuvem, abrem-se
possibili-dades para oferecer uma plataforma para melhorar a qualidade de ensino e a partilha de recursos
educacionais.
Os alunos do ensino presencial geralmente dependem dos laborat´orios informatizados da
universidade para terem acesso a hardware e software necess´arios para sua aprendizagem. Para
poder continuar seus estudos fora da universidade, os alunos s˜ao obrigados a instalar em seu
computador pessoal as ferramentas necess´arias e ainda enfrentam os problemas de requisitos
de hardware e de licenciamento de alguns softwares. H´a tamb´em a situac¸˜ao dos alunos do
ensino a distˆancia, que enfrentam os mesmos problemas, al´em de n˜ao poderem contar com
laborat´orios informatizados. Logo, o desafio das instituic¸˜oes de ensino ´e provisionar recursos
computacionais para aprendizado para al´em dos laborat´orios, indo para as casas dos alunos e
professores, podendo ter acesso a toda a plataforma de ensino a qualquer hora, dentro do seu
ritmo.
Do pondo de vista da instituic¸˜ao de ensino, os desafios est˜ao voltados a pr´opria manutenc¸˜ao
da infraestrutura. Para manter os laborat´orios informatizados funcionais, a administrac¸˜ao
res-pons´avel pelos laborat´orios precisa ter uma equipe de suporte, investir periodicamente na
substi-tuic¸˜ao dos computadores e gerenciar as licenc¸as de softwares.
A equipe de suporte tem por func¸˜ao prestar manutenc¸˜ao ao hardware e ao software dos
computadores dos laborat´orios. O trabalho de manutenc¸˜ao dos computadores dos laborat´orios
envolve a troca de pec¸as danificadas, como discos r´ıgido, fontes de alimentac¸˜ao de energia,
placas de rede, processadores, placas m˜ae, etc. Outra func¸˜ao da equipe ´e atualizar o sistema
1 Introduc¸˜ao 13
disciplinas lecionadas em cada um dos laborat´orios. Contudo, o trabalho da equipe demanda
tempo, e tamb´em ´e repetitivo pois a manutenc¸˜ao de software ´e feita m´aquina por m´aquina.
A substituic¸˜ao dos equipamentos antigos dos laborat´orios por novos tamb´em ´e um custo
ne-cess´ario por conta da demanda crescente dos softwares por maior capacidade de processamento
e armazenamento do hardware.
A respeito dos custos de licenciamento, um desktop de laborat´orio que ficar apenas oito horas por dia acess´ıvel utiliza portando apenas um terc¸o da utilidade da licenc¸a. Logo, quanto
mais for estendido o tempo de utilizac¸˜ao das licenc¸as, mais seus custos ser˜ao amortizados
de-vido ao crescimento da sua taxa de utilizac¸˜ao. Frentes a estes desafios e das possibilidades
de virtualizac¸˜ao e de computac¸˜ao em nuvem, algumas universidades est˜ao utilizandodesktops
virtuais para o provisionamento de recursos para atividade de ensino.
Desktopsvirtuais s˜ao computadores pessoais virtualizados, executando em uma infraestru-tura gerenciada por hipervisor. Esta infraestruinfraestru-tura fica localizada em um data center dentro da
pr´opria instituic¸˜ao ou em um provedor de nuvem. ´E composta por um conjunto de m´aquinas
com grande capacidade de processamento e mem´oria e tamb´em de uma grande ´area de
arma-zenamento. O usu´ario acessa seudesktoputilizando um software cliente que faz primeiro uma autenticac¸˜ao e depois a conex˜ao com odesktopvirtual. O cliente envia para odesktop coman-dos de mouse e teclado e odesktopenvia ao cliente apenas os pixels necess´arios para atualizar a imagem vista pelo usu´ario no cliente.
A adoc¸˜ao de desktopsvirtuais pode ajudar as instituic¸˜oes de ensino e pesquisa a diminuir seus custos de gerenciamento e aquisic¸˜ao de equipamentos, al´em aumentar a disponibilidade
de acesso do aluno aos recursos de ensino e pesquisa normalmente restritos nos laborat´orios. A
equipe de suporte poder´a criar perfis dedesktopsvirtuais, com softwares espec´ıficos para cada disciplina, e disponibilizar a quantidade de instˆancias necess´arias para cada laborat´orio dentro
do tempo necess´ario. Ao final do uso, estas instˆancias podem ser apagadas. As atualizac¸˜oes de
sistema operacional e correc¸˜oes de seguranc¸a podem ser aplicadas uma ´unica vez e replicadas
para as instˆancias. Logo, o esforc¸o de gerencia da equipe de suporte ´e menor e mais eficiente.
Quanto a substituic¸˜ao das m´aquina antigas dos laborat´orios para novas, a frequˆencia pode
1.1 Objetivos 14
1.1
Objetivos
Uma infraestrutura dedesktopsvirtuais permite o acesso adesktopssem as limitac¸˜oes im-postas por um ambiente f´ısico, como disponibilidade e localizac¸˜ao. A disponibilidade diz
res-peito ao tempo permitido para acesso ao recurso, e a localizac¸˜ao assume que o aluno deve se
deslocar at´e o ambiente f´ısico, como o laborat´orio. J´a o acesso aodesktopvirtual ´e feito atrav´es da rede, logo a qualidade de experiˆencia do usu´ario ´e fortemente influenciada pelo desempenho
da rede que interliga a infraestrutura que provisiona odesktope o cliente final.
Outro fator que vai influenciar na qualidade de experiˆencia do usu´ario s˜ao os tipos de
aplicac¸˜oes que ser˜ao executadas nodesktopvirtual. Uma ferramenta que produz gr´aficos tridi-mensionais, por exemplo, demanda mais recursos que outra que manipula texto. Isto acontece
devido ao funcionamento do protocolo, que recebe do dispositivo do cliente comandos de mouse
e teclado, e retorna atualizac¸˜oes de pixels da tela do cliente. Quanto mais a aplicac¸˜ao demandar
atualizac¸˜ao de imagens, maior ser´a o tr´afego na rede.
O objetivo deste trabalho ´e avaliar a viabilidade do uso dedesktopsvirtuais nos laborat´orios das instituic¸˜oes de ensino e pesquisa, substituindo o uso do computador pessoal com sistema
operacional e aplicac¸˜oes instaladas localmente, visando diminuir os custos de gerencia dos
laborat´orios e facilitar o acesso ao ambiente de estudo.
A principal foco deste trabalho ´e avaliar o impacto do uso dedesktopsvirtuais (em vez dos locais) sobre a qualidade de experiˆencia do usu´ario. Outro enfoque relacionado ´e investigar
a influencia dos diferentes n´ıveis de qualidade de servic¸o de rede sobre os diferentes tipos de
aplicac¸˜oes que o usu´ario pode utilizar. A respeito da infraestrutura necess´aria para viabilizar
o uso dedesktopsvirtuais, este trabalho procura levantar quais s˜ao os requisitos em termos de recursos computacionais necess´arios para implementar uma infraestrutura dedesktopsvirtuais.
1.2
Metodologia
Para atingir os objetivos deste trabalho foram realizados experimentos in vitro, nos quais um ambiente foi preparado e oferecido para avaliac¸˜ao por parte de usu´arios, a fim de medir
a qualidade de experiˆencia no uso dedesktops virtuais, comparado com o uso de estac¸˜oes de trabalho locais. O estudo teve in´ıcio com a escolha de algumas aplicac¸˜oes representativas
tipi-camente utilizadas em laborat´orio. A seguir, foram levantadas as condic¸˜oes de latˆencia da rede
tipicamente observadas em um ambiente real, que foram reproduzidas nos experimentos. Para
cen-1.3 Justificativa 15
trado na qualidade percebida pelos usu´arios. Com estes parˆametros foram criados experimentos
e aplicados aos usu´arios. Para o levantamento dos requisitos em termos de recursos
computaci-onais necess´arios para implementar um infraestrutura de desktops virtuais, foram feitos testes
de uso de at´e vinte e cinco desktops virtuais executando simultaneamente um mesmo tipo de
aplicac¸˜ao. Esta execuc¸˜ao foi feita por meio de macros de gravac¸˜ao de ac¸˜oes de teclado e mouse,
logo os testes foram feitos sem a presenc¸a de usu´arios.
O tipo de teste aplicado nos experimentos com usu´arios foi o subjetivo. Os testes subjetivos
d˜ao uma medida da percepc¸˜ao do usu´ario frente ao sistema proposto. J´a o teste de capacidade
de infraestrutura foi objetivo, produzindo informac¸˜oes de uso de processamento, mem´oria e
disco para cada tipo de aplicac¸˜ao e quantidade de desktops executando simultaneamente.
1.3
Justificativa
O cen´ario alvo do estudo s˜ao as instituic¸˜oes de ensino e pesquisa, com um ou mais campi,
conectadas a uma infraestrutura de rede internet de alta velocidade, como ´e a rede Ipˆe (RNP,
2013). Com esta infraestrutura de conectividade dispon´ıvel, ´e poss´ıvel agregar servic¸os que
possam facilitar o acesso a aplicac¸˜oes necess´arias para estudo, ensino e pesquisa. A
infraes-trutura dedesktopsvirtuais pode disponibilizar para acesso remoto,desktopscom aplicac¸˜oes e capacidade de hardware necess´arias.
A rede Ipˆe ´e uma rede de fibra ´otica operada pela Rede Nacional de Ensino e Pesquisa
(RNP). Ela conecta instituic¸˜oes de ensino e pesquisa a fim de haver comunicac¸˜ao e colaborac¸˜ao
entre elas, al´em de servir de laborat´orio de testes e desenvolvimento de aplicac¸˜oes Este conjunto
de instituic¸˜oes ´e formado por unidades de pesquisa e instituic¸˜oes p´ublicas de ensino superior.
No Brasil, cerca de 800 instituic¸˜oes est˜ao conectadas.
1.4
Estrutura da dissertac¸˜ao
Esta dissertac¸˜ao est´a dividida em 4 cap´ıtulos, incluindo o cap´ıtulo introdut´orio:
• OCap´ıtulo 2apresenta o levantamento dos conceitos e tecnologias utilizados na dissertac¸˜ao:
virtualizac¸˜ao, computac¸˜ao em nuvem, protocolos de distribuic¸˜ao dedesktops, infraestru-turas de desktops virtuais, emulac¸˜ao de redes, an´alise de tr´afego e MOS (Means Score Opinion).
1.4 Estrutura da dissertac¸˜ao 16
projeto de experimentos, resultados e an´alises.
Cap´ıtulo 2
T
ECNOLOGIAS E TRABALHOS RELACIONADOS
Este cap´ıtulo descreve as principais tecnologias relacionadas com este trabalho. S˜ao
apre-sentados os conceitos de virtualizac¸˜ao, computac¸˜ao em nuvem edesktopvirtual. Tamb´em s˜ao descritos conceitos, arquiteturas de infraestrutura de desktopsvirtuais e protocolos relaciona-dos.
2.1
Virtualizac¸˜ao
Em Silberschatz, Galvin e Gagne (2009) os autores definem virtualizac¸˜ao como a tecnologia
que permite aos sistemas operacionais executarem como aplicac¸˜oes dentro de outros sistemas
operacionais. Com a virtualizac¸˜ao, um sistema operacional compilado para uma determinada
arquitetura executa em um outro sistema operacional tamb´em nativo aquela CPU.
A ideia fundamental por tr´as de uma m´aquina virtual ´e abstrair o hardware de um
compu-tador em v´arios ambientes de execuc¸˜ao, de tal forma a criar a ilus˜ao de que cada ambiente est´a
sendo executado em seu pr´oprio computador individual.
A implementac¸˜ao de m´aquinas virtuais requer v´arios componentes. Na base est´a o
hospe-deiro, o sistema de hardware que executa as m´aquinas virtuais. O gestor de m´aquinas virtuais
(VMM), tamb´em conhecido como hipervisor, instancia e controla as m´aquinas virtuais,
for-necendo uma interface idˆentica `a do hospedeiro (exceto no caso de paravirtualizac¸˜ao). Cada
m´aquina virtual hospedada (do inglˆes guest) receber´a uma c´opia virtual do hospedeiro. Nor-malmente, o cliente ´e um sistema operacional chamado de hospede. Logo, uma ´unica m´aquina
f´ısica pode executar v´arios sistemas operacionais hospedados ao mesmo tempo, cada um em
sua pr´opria m´aquina virtual.
2.2 Computac¸˜ao em nuvem 18
uma vez que ela provˆe a capacidade de alocar e desalocar dinamicamente recursos
computa-cionais de um aglomerado de servidores para aplicac¸˜oes, de acordo com a demanda (ZHANG;
CHENG; BOUTABA, 2010). A virtualizac¸˜ao tamb´em permite a computac¸˜ao sob demanda, ou
computac¸˜ao utilit´aria que ´e, modelo de fornecimento de recursos computacionais, como CPU,
mem´oria e disco, que s˜ao disponibilizados apenas quando necess´ario em vez de alocados de
forma est´atica. Atrav´es do provisionamento dinˆamico de m´aquinas virtuais, da consolidac¸˜ao
da carga de trabalho, e ainda do ligamento e desligamento de servidores quando necess´ario, os
operadores de datacenter podem manter a qualidade servic¸o pretendida enquanto conseguem uma alta utilizac¸˜ao dos servidores e alta eficiencia energ´etica (KUSIC, 2009).
2.2
Computac¸˜ao em nuvem
Em MARSTONA (2011), computac¸˜ao em nuvem ´e definida como:
“ ´E um modelo de servic¸o onde servic¸os computacionais (ambos hardware e software) s˜ao fornecidos sob demanda aos consumidores, pela rede e de maneiraself-service, independente do dispositivo computacional utilizado ou localizac¸˜ao do usu´ario. Os recursos necess´arios para proporcionar o n´ıvel de qualidade de servic¸o requisitada s˜ao compartilhados, dinamicamente es-cal´aveis, rapidamente provisionados, virtualizados e liberados com a m´ınima interac¸˜ao do provedor de servic¸o. Os usu´arios pagam pelo servic¸o como uma despesa operacional sem incidir em despesas significantes com capital inicial, com os servic¸os em nuvem utilizando um sistema de medic¸˜ao que divide os recursos computacionais em blocos apropriados”
Na definic¸˜ao do NIST (US National Institute of Standards and Technology):
“Computac¸˜ao em nuvem ´e um modelo que possibilita de forma conveniente, o acesso sob demanda a um conjunto compartilhado de recursos computacionais (como rede, servidores, armazenamento, aplicativos e servic¸os) que podem ser rapidamente provisionados e liberados com o m´ınimo esforc¸o de gerencia-mento ou interac¸˜ao do provedor de servic¸o” (MELL P; GRANCE, 2011).
Ainda de acordo com o NIST, o modelo de computac¸˜ao em nuvem apresenta cinco
carac-ter´ısticas essenciais, que s˜ao:
• Servic¸os sob demanda: um consumidor pode obter capacidades computacionais, como
tempo de utilizac¸˜ao de servidor ou armazenamento em rede conforme a necessidade, sem
precisar de interac¸˜ao humana com seu provedor;
• Acesso amplo `a rede: capacidades est˜ao dispon´ıveis pela rede e acessadas atrav´es de
mecanismos padr˜ao que promovem a utilizac¸˜ao de plataformas heterogˆeneas tais como
2.2 Computac¸˜ao em nuvem 19
• Agrupamento de recursos: Os recursos computacionais dos provedores s˜ao
agrupa-dos para atender m´ultiplos consumidores utilizando o modelo inquilino ou
multi-arrendat´ario (do inglˆes multitenancy). Nesse modelo, uma aplicac¸˜ao atende a m´ultiplos usu´arios individuais (inquilinos outenants) por´em de forma isolada. ´E diferente do mo-deloon-premiseem que uma c´opia do software deve ser instalada nos servidores do cli-ente;
• R´apida elasticidade: As capacidades computacionais podem ser rapidamente ajustadas
de acordo com a demanda, at´e mesmo de forma autom´atica. Para o consumidor, a
ca-pacidade de provisionamento pode parecer ilimitada e pode ser adquirida em qualquer
quantidade e qualquer momento;
• Servic¸o mensurado: A utilizac¸˜ao dos recursos pode ser monitorada, controlada e
repor-tada ao consumidor, proporcionando transparˆencia no fornecimento do servic¸o.
O NIST tamb´em define trˆes modelos b´asicos de entrega de servic¸os em nuvem. No
mo-delo denominado Software como Servic¸o (SaaS), a aplicac¸˜ao executa na nuvem do provedor de
servic¸o, eliminando a necessidade de instalar e executar a aplicac¸˜ao no computador do cliente.
Assim, este modelo utiliza as funcionalidades de software, sem precisar saber qual tecnologia ´e
necess´aria para funcionar, como tamb´em n˜ao precisa se preocupar com atualizac¸˜oes e correc¸˜oes
de seguranc¸a. Como exemplo de SaaS, podemos citar os servic¸os da Salesforce, Netsuite,
Go-ogle Apps para aplicac¸˜ao de e-mail GMail, Facebook ou Twiter. O modelo denominado
Pla-taforma como Servic¸o (PaaS) ´e fornecido uma plaPla-taforma para desenvolvimento, implantac¸˜ao
e gerenciamento de aplicac¸˜oes sem os custos e a complexidade de compra e gerenciamento do
hardware e software. Como exemplo, podemos mensionar o Windows Azure, Force.com,
Goo-gle App Engine. Por fim, no modelo Infraestrutura como Servic¸o (IaaS) existe um conjunto de
componentes de hardware, tais como storage, ciclos de CPU, capacidade de mem´oria, banda de
rede, que s˜ao entregues como servic¸os atrav´es da rede por empresas como Amazon, Terramark
e Rackspace.
O NIST define ainda quatro modelos de implementac¸˜ao de nuvens. No modelo denominado
Nuvem Privada, os recursos servem apenas a uma determinada organizac¸˜ao e seus usu´arios, ofe-recendo como vantagem seu total controle sobre os mesmos. Em contrapartida exige um
inves-timento grande por parte da organizac¸˜ao para montar sua infraestrutura. No modelo deNuvem Comunit´aria, a infraestrutura de nuvem ´e compartilhada por uma comunidade de organizac¸˜oes com interesses em comum. J´a o modelo deNuvem P´ublicaoferece seus recursos como servic¸os ao p´ublico em geral. Este modelo apresenta vantagens aos seus clientes, que n˜ao precisam
respon-2.3 Desktops locais e desktops virtuais 20
sabilidade da infraestrutura para o provedor de nuvem. Por fim, o modelo deNuvem H´ıbrida, uma combinac¸˜ao das vantagens das Nuvens Privadas e P´ublicas, ´e poss´ıvel deixar parte dos
servic¸os em cada uma delas, como tamb´em mandar para a Nuvem P´ublica o excedente da carga
de trabalho na Nuvem Privada.
Com o avanc¸o da sociedade moderna, servic¸os essenciais ´agua, esgoto, energia el´etrica, g´as
encanado e telefonia s˜ao considerados commodities, que traduzido para o portuguˆes significa mercadoria. Tais servic¸os est˜ao dispon´ıveis para que qualquer pessoa possa acess´a-los sem a
preocupac¸˜ao de onde ou como s˜ao fornecidos. Neste modelo de neg´ocio, o usu´ario apenas deve
pagar pelo que consome. Da mesma forma, a computac¸˜ao vem sendo comoditizada, sendo chamada de computac¸˜ao utilit´aria. O paradigma que vem possibilitando esta comoditizac¸˜ao ´e
a computac¸˜ao em nuvem, permitindo que os usu´arios utilizem a computac¸˜ao como um servic¸o,
pelo mesmo modelo denominado Pay-as-You-Go (BUYYA, 2009).
2.3
Desktops locais e desktops virtuais
Odesktoplocal, tamb´em denominado cliente pesado (do inglˆesthick client), ´e um compu-tador de uso pessoal ou coletivo, em que o processamento ´e feito todo localmente, nele sendo
instalados o sistema operacional, softwares aplicativos e utilit´arios. Esse modelo tradicional de
uso de desktops feito pelas organizac¸˜oes, est´a fundamentado em fornecer a cada usu´ario um computador com a maior capacidade de processamento e armazenamento poss´ıveis, com todos
os softwares necess´arios para que o usu´ario possa utilizar. Como odesktoppermanece fisica-mente na organizac¸˜ao, o usu´ario necessita se deslocar ao local onde ele est´a para fazer uso, al´em
de depender dos hor´arios de disponibillidade do recurso. O mesmo problema acontece nas salas
de ensino de escolas e universidades.
De acordo com Sridharan (2011), o gerenciamento deste tipo de ambiente ´e custoso pois
requer uma equipe de suporte dedicada `a instalac¸˜ao, configurac¸˜ao, atualizac¸˜ao e manutenc¸˜ao de
hardware e software, e da implementac¸˜ao de medidas de seguranc¸a, como instalac¸˜ao de
anti-v´ırus efirewall. Al´em disso, este modelo intrinsecamente subutiliza estes recursos, resultando em um baixo retorno de investimento (ROI). Al´em disso, como os dados ficam localmente
ar-mazenados, em caso de dano ou roubo da m´aquina, h´a perda de dados e tamb´em a possibilidade
de serem acessados por pessoas n˜ao autorizadas.
Segundo a empresa VMWare (WMWARE, 2008), devido `as desvantagens na utilizac¸˜ao de
possibili-2.4 Protocolos de distribuic¸˜ao de desktops virtuais 21
tando a centralizac¸˜ao de recursos e melhorias no gerenciamento .
De acordo com Casas (2013), um desktopvirtual pode ser definido a partir do conceito de
desktopremoto. O autor explica que o paradigma dodesktopremoto permite ao usu´ario acessar o conte´udo e aplicac¸˜oes executadas em seus computadores pessoais atrav´es de uma conex˜ao de
rede. Quando estes computadores s˜ao provisionados por meio de um gerenciador de m´aquina
virtual ou hipervisor, osdesktopsremotos se transformam no paradigma dosdesktopsvirtuais remotos. Neste caso, o desktop virtual ´e renderizado por um servidor, e o usu´ario necessita apenas de um dispositivo com capacidade de visualizac¸˜ao (por exemplo: um computador
pes-soal,tablet,smartphone, etc), um software client e uma conex˜ao de rede para acessar odesktop
virtual de qualquer local. Este servic¸o tem sido tradicionalmente instalado em redes locais de
empresas, onde o desempenho da rede ´e ´otimo e a qualidade de experiˆencia sofrida por estes
usu´arios geralmente n˜ao ´e um problema.
O projeto VDPilot e o Laborat´orio de Computac¸˜ao Virtual s˜ao exemplos destas iniciativas.
O projeto VDPilot (OARNET, 2013c), iniciado pelo Concelho Consultivo do Conselho de
Re-gentes de Ohio (OHIOHIGTERED, 2013), ´e um estudo de viabilidade de uma “nuvem dedesktops
virtuais” para os laborat´orios e salas de aula das instituic¸˜oes conectadas a OARnet(OARNET,
2013a). O projeto VDPilot utiliza o acesso de alta velocidade das universidades, de modo a:
• Avaliar a experiˆencia do usu´ario ao acessardesktopsvirtuais, comparado ao acesso f´ısico
de um laborat´orio;
• Analisar os desafios e reduc¸˜oes de custos, devido aos recursos compartilhados entre as
instituic¸˜oes membros da OARnet.
A Universidade do Estado da Carolina do Norte (NCSU) criou em 2003 o Laborat´orio de
Computac¸˜ao Virtual (VCL) (NCSU, 2013), que veio fornecer atrav´es da Internet, a mais de trinta
mil alunos e professores, acesso remoto adesktopsvirtuais com diversas configurac¸˜oes de hard-ware e softhard-ware. Para isso, a universidade desenvolveu um softhard-ware que dinamicamente
provisi-ona recursos computaciprovisi-onais aos usu´arios, mediante agendamentos (LI; TODERICK; LUNSFORD,
2009). Esse software mais tarde foi encubado pelo Projeto Apache (APACHE, 2013).
2.4
Protocolos de distribuic¸˜ao de
desktops
virtuais
imediata-2.4 Protocolos de distribuic¸˜ao de desktops virtuais 22
mente do desktop as respostas aos comandos em forma de imagens que v˜ao se atualizando. Esta
comunicac¸˜ao para acontecer de forma remota precisa de um protocolo espec´ıfico.
Aqui s˜ao descritos os principais protocolos que permitem a distribuic¸˜ao dedesktops virtu-ais. Esses protocolos permitem a comunicac¸˜ao entre os clientes por meio dos quais os usu´arios
interagem com os servidores que executam os desktops virtuais
2.4.1
O protocolo PC over IP (PCoIP) da Teradici
PCoIP ´e um protocolo propriet´ario da Teradici Corporation, destinado a renderizar as
ima-gens geradas no servidor hospedeiro localizado na infraestrutura de VDI no data center e transmiti-las de forma comprimida aos dispositivos clientes. Foi adotado como protocolo padr˜ao
nos produtos da empresa VMWare para sua plataforma de VDI, chamada VMWare View.
Ou-tro protocolo suportado ´e o RDP. De acordo com o fabricante (TERADICI, 2013), as trˆes
ca-racter´ısticas essenciais do protocolo s˜ao a renderizac¸˜ao no servidor hospedeiro, a utilizac¸˜ao de
m´ultiplos codificadores de v´ıdeo e audio e a adaptac¸˜ao do protocolo `as condic¸˜oes de rede.
Assim que a imagem ´e renderizada no hospedeiro, o protocolo transmite ao cliente apenas
os pixeis compactados atrav´es da rede, e n˜ao os dados. Logo o cliente precisa apenas
decodi-ficar estes pixeis, atualizando a imagem mostrada ao usu´ario. Pelo fato do cliente n˜ao receber
dados e sim pixeis, evitam-se problemas de incompatibilidade entre servidor hospedeiro e
cli-ente, pois n˜ao existe dependˆencia do cliente em relac¸˜ao `a controladora gr´afica, ou mesmo em
relac¸˜ao `a aplicac¸˜ao ou sistema operacional executados no hospedeiro. Como o protocolo realiza
a entrega de pixeis de forma unilateral (one-way delivery) para os clientes, isto propicia a com-pleta independˆencia sobre a latˆencia da rede e limitac¸˜ao de banda de transmiss˜ao, possibilitando
uma melhor experiˆencia do usu´ario com o ambiente dedesktopvirtual.
Como a imagem do hospedeiro ´e feita de diferentes elementos, tais como gr´aficos, textos,
fotografias, ´ıcones e v´ıdeos, o protocolo PCoIP decomp˜oe estes diversos elementos e faz uso de
diversos codificadores de acordo com cada tipo, a fim de otimizar a transmiss˜ao e decodificac¸˜ao,
al´em de consumir menor banda de transmiss˜ao.
O protocolo pode ser configurado para que automaticamente varie a qualidade da imagem
enviada do hospedeiro ao cliente, de acordo com as condic¸˜oes da banda de transmiss˜ao,
dimi-nuindo a qualidade quando a rede est´a congestionada, ou aumentando quando n˜ao. O PCoIP
utiliza UDP para transmitir os pixeis, o mesmo utilizado em outras aplicac¸˜oes de tempo real
como voz sobre Ip e IPTV.
2.4 Protocolos de distribuic¸˜ao de desktops virtuais 23
o software client, e destino, o servidor de conex˜ao. Tamb´em mostra a comunicac¸˜ao entre o
servidor de conex˜ao e odesktophospedado no aglomerado de virtualizac¸˜ao.
Figura 2.1: Fluxo de comunicac¸˜ao do protocolo PCoIP
2.4.2
O protocolo ICA/HDX da Citrix
O protocolo de Arquitetura de Computac¸˜ao Independente (ICA), ´e propriet´ario da Citrix.
Seu principal objetivo ´e permitir que um conjunto centralizado de servidores baseados em
Mi-crosoft Windows entreguem aplicativos ou m´aquinas virtuais para usu´arios de outras
platafor-mas, como Mac OS e Linux (AMAZON, 2013).
Pela perspectiva do modelo OSI, o protocolo ICA pertence `a camada de apresentac¸˜ao, que
´e definida para servic¸os de convers˜ao de dados, compress˜ao e descompress˜ao, encriptac¸˜ao e
decriptac¸˜ao. A transferˆencia de dados entre servidor e cliente geralmente inclui movimentos de
mouse e eventos de teclado.
A arquitetura do protocolo ICA ´e baseada em 32 canais virtuais com prioridades diferentes
cada um. O fornecimento de QoS ´e baseado na priorizac¸˜ao, assim, dados menos importantes
s˜ao descartados se necess´ario (WANG; LIANG, 2011).
Com o surgimento de outras soluc¸˜oes de VDI, como PCoIP, a Citrix adicionou novas
tec-nologias e componentes do lado do servidor, rede e cliente, a fim de integrar com o protocolo
ICA e assim surgiu a marca HDX.
HDX, que ´e o acrˆonimo de “High Definition User Experience”, n˜ao ´e um protocolo ou tecnologia, mas sim uma marca ou termo guarda-chuva que engloba outros sub-componentes
desenvolvidos pela Citrix ou adquiridos por ela de outros fabricantes. Exemplos disso incluem
o HDX MediaStrem, HDX RealTime, HDX 3D e HDX IntelliCache, este ´ultimo adquirido de
2.4 Protocolos de distribuic¸˜ao de desktops virtuais 24
Plug-in-Play, que da suporte a dispositivos USB, impressoras, m´ultiplos monitores,smart cards
e digitalizadores (CITRIX, 2013).
De acordo com a Citrix, existem mais de sessenta aspectos relacionados ao HDX, um deles
´e a Orquestrac¸˜ao Adaptativa, em que os componentes se adaptam de acordo com as condic¸˜oes
de rede e do dispositivo cliente.
2.4.3
Remote Desktop Protocol (RDP)
O protocolo RDP (Remote Desktop Protocol) ´e uma tecnologia propriet´aria da Microsoft, que estende a fam´ılia T-120 de padr˜oes de protocolos do ITU (ITU, 2009). O RDP ´e um
proto-colo multicanal que permite a troca de dados entre dispositivos de forma serial, permite o envio
de informac¸˜oes de licenciamento, dados criptografados (teclado, atividade do mouse), pixeis e
quaisquer interac¸˜oes entre o desktop remoto e o cliente. O RDP oferece um servic¸o multiponto,
permitindo inclusive m´ultiplas sess˜oes com v´arios participantes.
O RDP foi concebido para operar sobre v´arias tecnologias e protocolos como rede ISDN,
IPX, NetBIOS e TCP/IP. As vers˜oes mais recentes utilizam apenas TCP/IP. O RDP trata das
camadas de aplicac¸˜ao e de apresentac¸˜ao do modelo RM-ISO/OSI, e utiliza outros servic¸os de
camadas inferiores, tais como sess˜ao e de transporte.
A pilha de protocolos do RDP, mostrada pela Figura 2.2, ´e composta pelos seguintes
com-ponentes, que s˜ao o MCS (Multipoint Communication Service), o GCC (Generic Conference Control):
2.5 Infraestrutura de desktops virtuais (VDI) 25
• O MCS controla a atribuic¸˜ao de canais (fazendo multiplexac¸˜ao de dados em canais
vir-tuais predefinidos no protocolo), os n´ıveis de prioridade e a segmentac¸˜ao dos dados que
est˜ao sendo enviados. Ele reduz as pilhas m´ultiplas de RDP a uma ´unica entidade, da
pers-pectiva do GCC. O MCS ´e parte da fam´ılia T.120 do ITU(ITU, 2009), sendo composto
por dois padr˜oes: o T.122, que define os servic¸os multiponto e o T.125, que especifica o
protocolo de transmiss˜ao de dados.
• O GCC implementa um servic¸o de sess˜oes. Ele permite a criac¸˜ao e a exclus˜ao de
co-nex˜oes de sess˜ao e controla os recursos fornecidos pelo MCS. Cada protocolo do
Ter-minal Server (atualmente, apenas o RDP e o ICA da Citrix recebem suporte) tem um
parˆametro na instˆancia da pilha de protocolos carregada (uma pilha de escuta aguardando
um pedido de conex˜ao). O driver de dispositivo do Terminal Server, implementado pelo
m´odulo Wdtshare.sys, coordena e gerencia as atividades dos protocolos RDP para
trans-ferˆencia, compress˜ao, criptografia, e enquadramento de dados de interface. O GCC utiliza
o servic¸o de transporte do TCP implementado pelo m´odulo Tdtcp.sys.
A Figura 2.3 mostra o formato das mensagens do protocolo RDP e as Tabelas 2.2 e 2.2
listam os tipos de mensagens e seu significado (MICROSOFT, 2013).
Figura 2.3: Formato de uma mensagem RDP
2.5
Infraestrutura de desktops virtuais (VDI)
De acordo com a VMWare (VMWARE, 2006), a Infraestrutura deDesktopsVirtuais (VDI) ´e uma soluc¸˜ao de computac¸˜ao baseada em servidores que fornece ambientes dedesktopcomo um servic¸o corporativo hospedado. VDI permite aos administradores manter e gerenciar em um
data center, todos os aplicativos dos usu´arios, dados e sistema operacional. Tamb´em fornece isolamento entre os desktops enquanto compartilha recursos de hardware subjacentes, al´em disso, permite que administradores fornec¸amdesktopscom todos os benef´ıcios da virtualizac¸˜ao, como a gest˜ao central, consolidac¸˜ao de hardware e flexibilidade de recursos.
Segundo a empresa (VMWARE, 2006), com VDI ´e poss´ıvel montar uma infraestrutura
2.5 Infraestrutura de desktops virtuais (VDI) 26
Tabela 2.1: Tipos de mensagens msgType do protocolo RDP
Mensagem Significado
CB MONITOR READY
0x0001 Monitor Ready PDU CB FORMAT LIST
0x0002 Format List PDU CB FORMAT LIST RESPONSE
0x0003 Format List Response PDU CB FORMAT DATA REQUEST
0x0004 Format Data Request PDU CB FORMAT DATA RESPONSE
0x0005 Format Data Response PDU CB TEMP DIRECTORY
0x0006 Temporary Directory PDU CB CLIP CAPS
0x0007 Clipboard Capabilities PDU CB FILECONTENTS REQUEST
0x0008 File Contents Request PDU CB FILECONTENTS RESPONSE
0x0009 File Contents Response PDU CB LOCK CLIPDATA
0x000A Lock Clipboard Data PDU CB UNLOCK CLIPDATA
0x000B Unlock Clipboard Data PDU
Tabela 2.2: Tipos de mensagens msgFlags do protocolo RDP
Mensagem Significado
CB MONITOR READY
0x0001 Monitor Ready PDU CB RESPONSE OK
0x0001 Utilizada pelas PDUs Format List Response, Format Data Response, e File Contents Response para indicar que as solicitac¸˜oes associadas as PDUs Format List, Format Data Request e File Contents Request foram processadas com sucesso. CB RESPONSE FAIL
0x0002 Utilizada pelas PDUs Format List Response, Format Data Response e File Contents Response para indicar que as PDUs associadas Format List, Format Data Request e File Contents Request n˜ao foram processadas com sucesso.
CB ASCII NAMES
0x0004 Utilizada pela vari´avel Short Format Name da PDU Format List Response para indicar que o formato dos nomes est˜ao em ASCII 8.
ser acessados pelos usu´arios de qualquer computador outhin-client da rede da instituic¸˜ao. A soluc¸˜ao de VDI oferece controle centralizado dosdesktopse de seus dados, assim como a ca-pacidade de consolidar m´aquinas virtuais e otimizar recursos de utilizac¸˜ao dodata center. Os usu´arios ganham a flexibilidade de poder acessar seusdesktopsde qualquer lugar.
2.5 Infraestrutura de desktops virtuais (VDI) 27
• Um ambiente dedesktopisolado dos outros; • Os dados est˜ao mais seguros em umdata center; • Todas as aplicac¸˜oes executam em uma m´aquina virtual;
• As ferramentas de gerˆencia tamb´em funcionam em m´aquinas virtuais;
• As imagens s˜ao gerenciadas de forma centralizada;
• Desktopspodem ficar sempre ligados e conectados;
• Os usu´arios podem ter acesso aos seusdesktopsde qualquer lugar.
A Figura 2.4 mostra uma vis˜ao geral dos v´arios componentes de uma arquitetura de desk-topvirtual. Do lado do servidor temos um hipervisor utilizado para criar grupos de desktops
virtuais com aplicac¸˜oes comuns como Word, Excel, Internet Explorer, Media Player e outras
mais especializadas como, por exemplo, Matlab e Eclipse. Cada grupo cont´em instˆancias do
mesmo perfil dedesktopvirtual e os usu´arios s˜ao vinculados a cada um destes grupos. Os desk-topsvirtuais compartilham os recursos computacionais do mesmo hardware f´ısico e sistema de armazenamento de dados. Do lado do cliente, os usu´arios se conectam ao servidor de conex˜ao
via um protocolo de distribuic¸˜ao de desktops virtuais, como o PCoIP, ICA/HDX ou RDP. Este
servidor de conex˜ao autentica o usu´ario consultando o servic¸o de autenticac¸˜ao que
posterior-mente autoriza o usu´ario a conectar ao desktop virtual por meio de umthin-clientou software cliente instalado nos dispositivos comotablets, celulares ou computadores.
Figura 2.4: Vis˜ao geral dos componentes de uma arquitetura VDI
Calyam (2011) relaciona algumas das caracter´ısticas que impulsionam o VDI, das quais
se incluem o suporte ao sistema operacional, aplicac¸˜oes e atualizac¸˜oes de seguranc¸a, que s˜ao
mais f´aceis de gerenciar de forma centralizada atrav´es de ferramentas de gerenciamento, do
2.5 Infraestrutura de desktops virtuais (VDI) 28
est´a relacionada ao usu´ario de dispositivos m´oveis, que tem acesso amplo as suas aplicac¸˜oes e
dados uma vez que pode utilizar, por exemplo, seu celular, tablet esmartphone, para acessar seudesktopvirtual. Um outro aspecto citado pelo autor ´e a maior seguranc¸a dos dados, j´a que est˜ao alocados na infraestrutura dodata center. E por fim, o n´umero dedesktopssubutilizados consumindo energia ´e reduzido. De acordo com Dasilva (2012), dispositivos thin-clientsn˜ao utilizam mais que 40 watts, ao contr´ario dos 300 watts ou mais utilizados por um computador
pessoal.
A Figura 2.5 mostra a vis˜ao geral de uma arquitetura com dois ou maisdata centers, onde s˜ao executados osdesktopsvirtuais e gerenciadas as conex˜oes destes com os thin-clients. Em cadadata centerum hipervisor executa osdesktopsvirtuais. Do lado do cliente, este se conecta remotamente a um servidor de conex˜ao (broker). O servidor de conex˜ao autentica o usu´ario utilizando a base de usu´ario do servic¸o Active Directoy.
Figura 2.5: Vis˜ao geral dos componentes de uma arquitetura VDI distribu´ıda em diferentesdata centers. Fonte (CALYAM, 2011)
Existem alguns estudos sobre m´etodos de otimizac¸˜ao da alocac¸˜ao dedesktopsvirtuais em uma infraestrutura de VDI com v´arios servidores hospedeiros. Sridharan (2011) identifica e
2.5 Infraestrutura de desktops virtuais (VDI) 29
problema de fragmentac¸˜ao de disco, que pode ocorrer durante a alocac¸˜ao e desalocac¸˜ao de
desktopsvirtuais em uma infraestrutura de VDI com m´ultiplosdata centers.
2.5.1
Citrix: XenDesktop
XenDesktop ´e o nome do produto comercial de VDI da empresa Citrix. A soluc¸˜ao suporta
apenas desktops virtuais com sistema operacional Microsoft Windows, enquanto que o lado do cliente suporta plataformas diferentes como Windows, Linux e Mac OS. O hipervisor
uti-lizado pode ser o pr´oprio Citrix XenServer ou de outros fabricantes, como Microsoft Hyper-V
e VMWare ESXi. O protocolo de comunicac¸˜ao utilizado para VDI ´e o ICA (WANG; LIANG,
2011).
A Figura 2.6 mostra os principais componentes da arquitetura da plataforma Xendesktop.
Al´em destes componentes, podem ser instalados outros suplementares, como um servidor de
licenc¸as, DNS e DHCP. Os principais componentes da arquitetura s˜ao:
Figura 2.6: Vis˜ao geral da arquitetura de VDI Xendesktop. Adaptado de Wang (WANG; LIANG, 2011)
• O desktop receptor: ´e o software executando no lado do cliente, ele faz a conex˜ao no
desktopremoto atrav´es do protocolo ICA.
• Gateway de acesso: para o cliente se conectar aodesktopremoto, antes ele deve se
co-nectar aogatewaypara autenticac¸˜ao. Esta autenticac¸˜ao ´e feita via conex˜ao segura SSL.
• Controlador de entrega de desktops: respons´avel por gerenciar a conex˜ao entre odesktop
2.5 Infraestrutura de desktops virtuais (VDI) 30
• Plataforma de virtualizac¸˜ao: ´e o hipervisor respons´avel em gerenciar as m´aquinas
vir-tuais. O XenServer ´e a plataforma de virtualizac¸˜ao da Citrix, por´em outros hipervisores
podem ser utilizados.
• Servidor de provisionamento: respons´avel em fornecer as imagens dos sistemas
opera-cionais. Essas imagens tem um perfil de uso j´a pr´e-configurado, exceto as aplicac¸˜oes.
Quando um desktop virtual ´e inicializado, sua imagem ´e fornecida pelo servidor de
pro-visionamento.
• Controlador de entrega de aplicac¸˜oes: respons´avel pela entrega de aplicac¸˜oes. Cada
perfil de usu´ario tem uma lista de aplicac¸˜oes associadas, esse usu´ario pode ent˜ao escolher
as aplicac¸˜oes a serem carregadas.
• Desktop virtual: ´e odesktopexecutando do lado do servidor. Para que estedesktoppossa
ser conectado a um cliente ele tem um software agente instalado que aceita as conex˜oes
com o protocolo ICA.
• Servic¸o de diret´orio: respons´avel pela autenticac¸˜ao do usu´ario.
Para que o usu´ario acesse um desktop virtual atrav´es de seu cliente, ele deve passar por um
processo de autenticac¸˜ao, cuja sequˆencia ´e:
1. O usu´ario atrav´es de um navegador de Internet se conecta ao gateway de acesso, este gera
uma p´agina de autenticac¸˜ao;
2. O usu´ario informa suas credenciais e o gateway autentica as credenciais no servic¸o de
diret´orio;
3. Ap´os autenticado com sucesso, e gateway de acesso conecta no controlador de entrega de
deskto;
4. O Controlador recupera as credenciais do usu´ario no Gateway de Acesso e as autentica
novamente no Servic¸o de Diret´orio;
5. Ap´os autenticado com sucesso o Controlador relaciona ao usu´ario quais desktops est˜ao
dispon´ıveis a ele;
6. O Gateway de Acesso retorna ao usu´ario uma p´agina contendo a lista de desktops virtuais
2.5 Infraestrutura de desktops virtuais (VDI) 31
Com a lista de desktops dispon´ıveis exibida no navegador, o usu´ario escolhe qual deseja
acessar, e o sistema segue os procedimentos:
1. O Gateway de Acesso envia ao Controlador a informac¸˜ao de qual desktop foi escolhido
pelo usu´ario;
2. O Controlador verifica se existe um desktop virtual disponivel para o usu´ario atrav´es do
seu estatus, caso n˜ao houver, o Controlador requisita ao hipervisor que seja inicializado
um novo. Ap´os inicializado o desktop abre uma porta ICA para esperar a conex˜ao do
cliente;
3. O Controlador cria um arquivo ICA do desktop virtual e transfere este arquivo ao Gateway
de Acesso, que repassa ao cliente;
4. O cliente executa o arquivo ICA e envia uma requisic¸˜ao de conex˜ao ao Gateway de
Acesso;
5. O Gateway de Acesso repassa a requisic¸˜ao de conex˜ao ao desktop virtual;
6. O desktop virtual envia ao Controlador um pedido de validac¸˜ao de autenticac¸˜ao;
7. Para a validac¸˜ao, o Controlador obtem uma licenc¸a no Servidor de Licenc¸as e a envia
junto com as credencias ao desktop virtual. A conex˜ao ´e finalmente criada ap´os o desktop
virtual autenticar as credenciais no Servic¸o de Diret´orio.
2.5.2
Microsoft RDS
O Servic¸o de DesktopRemoto (RDS) ´e propriet´ario da Microsoft. O protocolo utilizado pelo RDS para conectar o cliente e o servidor ´e o RDP. Os principais componentes do RDS s˜ao
mostrados na Figura 2.7. Eles s˜ao (WANG; LIANG, 2011):
• Cliente de Desktop Remoto: ´e o software cliente executado no dispositivo, utilizado para
acessar odesktopvirtual. Esse cliente conecta o dispositivo aodesktopvirtual utilizando o protocolo RDP;
• Gateway de Desktop Remoto: autoriza a conex˜ao de clientes e fornece uma conex˜ao
segura para estes clientes acessarem odesktopvirtual;
• Servic¸o de Conex˜ao: ´e respons´avel por atribuir o desktop virtual correto ao cliente e
2.5 Infraestrutura de desktops virtuais (VDI) 32
pessoal ou receber um dinamicamente. No caso do desktoppessoal, esse ´e atribu´ıdo ao mesmo usu´ario. No caso de uma atribuic¸˜ao dinˆamica, o Servic¸o de Conex˜ao atribui ao
usu´ario qualquer desktop virtual dispon´ıvel do grupo que o usu´ario tem autorizac¸˜ao de acesso;
• Servidor de Sess˜ao: respons´avel por hospedar programas baseados no Windows ou a ´area
de trabalho completa do Windows para clientes. Os usu´arios podem se conectar a um
servidor de sess˜ao para executar programas, salvar arquivos e usar recursos de rede nesse
servidor;
• Servidor de Virtualizac¸˜ao: cont´em o hipervidor Hyper-V da Microsoft para hospedar e
fornecer m´aquinas virtuais;
• Servic¸o de Diret´orio: respons´avel pela autenticac¸˜ao do usu´ario.
Os procedimentos para um cliente se conectar a um desktop remoto s˜ao:
1. O cliente se conecta ao Servidor de Sess˜ao, que redireciona a conex˜ao para o Servic¸o de
Conex˜ao;
2. O Servic¸o de Conex˜ao consulta no Servic¸o de Diret´orio quais s˜ao as configurac¸˜oes do
desktop virtual atribu´ıdo ao usu´ario;
3. O Servic¸o de Conex˜ao recupera o desktop virtual do usu´ario no Servidor de Virtualizac¸˜ao.
Caso o desktop n˜ao estiver em execuc¸˜ao, ele ´e inicializado pelo Servidor de Virtualizac¸˜ao;
4. O Servidor de Conex˜ao retorna ao Servidor de Sess˜ao as informac¸˜oes do desktop virtual
recuperado;
5. O Servidor de Sess˜ao repassa estas informac¸˜oes ao cliente;
6. O cliente se conecta ao desktop virtual.
2.5.3
VMware Horizon View
O VMWare Horizon View ´e a soluc¸˜ao de VDI apresentada pela VMware (VMWARE, 2013b).
At´e a vers˜ao 5.1 da plataforma o nome do produto era apenas View, na vers˜ao atual 5.2 foi
acrescentado o Horizon no nome. A Figura 2.8 mostra os componentes da soluc¸˜ao e a relac¸˜ao
entre eles (VMWARE, 2012c). Nela est˜ao representados os dispositivos cliente, tais como tablets,
2.5 Infraestrutura de desktops virtuais (VDI) 33
Figura 2.7: Exemplo da arquitetura de VDI da Microsoft. Adaptado de Wang (WANG; LIANG, 2011)
de um cliente de conex˜ao (View Client) instalado nestes dispositivos, pode acessar odesktop
virtual.
Figura 2.8: Exemplo da arquitetura de VDI da VMWare Horizon View. Fonte (VMWARE, 2012c)
O software cliente view instalado nos dispositivos requer autenticac¸˜ao do usu´ario pelas credenciais do Active Directory ou via token. Ap´os autenticado, o usu´ario pode selecionar
odesktopvirtual de uma lista dedesktopsautorizados para seu uso, al´em de poder escolher o protocolo de distribuic¸˜ao, PCoIP (padr˜ao) ou RDP, e tamb´em a qualidade da imagem dodesktop
virtual.
O software client com modo localpermite ao usu´ario carregar todo o arquivo do desktop
virtual em seu dispositivo cliente, especificamente em sistemas operacionais Windows, e utilizar
2.5 Infraestrutura de desktops virtuais (VDI) 34
desktopvirtual entre odata center e o desktopslocal do usu´ario, quando este utiliza o cliente view em modo local, al´em de tamb´em sincronizar o desktop virtual em modo local com o
desktopdodata center, replicando as alterac¸˜oes realizadas pelo usu´ario.
Oservidor de conex˜ao do viewgerencia toda a comunicac¸˜ao entre o cliente view e odesktop
virtual, tamb´em ´e respons´avel pelo processo de autenticac¸˜ao do usu´ario, vinculac¸˜ao do usu´ario
a um desktop virtual espec´ıfico e estabelecimento de uma conex˜ao segura entre os usu´arios e os desktops. Dentro de uma infraestrutura de desktop virtual, s˜ao instalados dois ou mais servidores de conex˜ao.
Quando o servidor de conex˜ao ´e instalado, uma aplicac¸˜ao de administrac¸˜ao web tamb´em ´e
instalada, ela permite aos administradores gerenciar o servidor de conex˜ao de qualquer lugar,
sem precisar instalar uma aplicac¸˜ao no computador local.
O agente do view ´e instalado em todas as m´aquinas virtuais, sistemas f´ısicos e servidores que ser˜ao utilizados como fontes para a virtualizac¸˜ao dedesktops. Em m´aquinas virtuais, este agente se comunica com o cliente para disponibilizar recursos como monitoramento de conex˜ao,
impress˜ao e acesso a dispositivos USB conectados localmente. Se uma m´aquina virtual for a
fonte de virtualizac¸˜ao, primeiro o agente ´e instalado nela e em seguida ela pode ser usada como
modelo para outras derivadas dela ou vinculadas a ela. Ao criar um conjunto de m´aquinas
derivadas, nestas o agente ´e automaticamente instalado. O agente tamb´em propicia uma forma
de autenticac¸˜ao ´unica (do inglˆes single sign-on), em que os usu´arios s˜ao solicitados a fazer autenticac¸˜ao apenas quando se conectam no servidor de conex˜ao view, n˜ao sendo solicitada
uma segunda vez para conectar a umdesktopvirtual.
O vCenter ´e o servic¸o central de administrac¸˜ao de todos os servidores instalados com a plataforma de virtualizac¸˜ao VMware ESX/ESXi. Como mostra a Figura 2.9, o vCenter ´e o
ponto central para configurac¸˜ao, provisionamento e gerenciamento de m´aquinas virtuais nodata center, atuando na distribuic¸˜ao de m´aquinas virtuais nos servidores f´ısicos e de armazenamento, na atribuic¸˜ao de CPU e recursos de mem´oria para as m´aquinas virtuais.
Com relac¸˜ao `a virtualizac¸˜ao dedesktops, s˜ao utilizados modelos para criar grupos de virtuali-zac¸˜ao, al´em de hospedar outras m´aquinas virtuais da pr´opria infraestrutura de virtualizac¸˜ao de
desktops, como o servidor de conex˜ao, de Active Directory, e instˆancias dele mesmo. Pode-se instalar o servic¸o compositor no mesmo servidor instalado o vCenter, um servidor Win-dows Server 2008, para assim poder criar grupos de clones de m´aquinas virtuais vinculadas
(VMWARE, 2012a) (VMWARE, 2012b), em que dados duplicados s˜ao compartilhados de forma
2.6 Emulac¸˜ao de redes com NetEm 35
Figura 2.9: Exemplo da arquitetura de administrac¸˜ao do vCenter. Fonte (WMWARE, 2008)
De acordo com o fabricante (VMWARE, 2013a), no gerenciamento de grupos ´e poss´ıvel criar
grupos com com v´ariosdesktopsvirtuais, em que uma imagem destedesktop ´e utilizada como base. Ao utilizar uma m´aquina virtual, pode-se automatizar a criac¸˜ao de quantas c´opias forem
necess´arias, configurando um n´umero m´ınimo e m´aximo dedesktopsvirtuais gerados no grupo. O gerenciamento de grupos permite tamb´em aplicar pol´ıticas de gerencia em todos os desk-topsvirtuais, tais como pol´ıticas de vinculac¸˜ao de usu´arios aos desktopsdo grupo. Neste caso existem duas formas. A primeira ´e a vinculac¸˜ao do usu´ario a umdesktop virtual, em que ele sempre volta a se conectar, podendo personaliz´a-lo, instalar aplicac¸˜oes e armazenar dados. Na
segunda forma, n˜ao existe v´ınculo, odesktopvirtual pode ser apagado e recriado ap´os o uso, e qualquer usu´ario pode se vincular a ele.
2.6
Emulac¸˜ao de redes com NetEm
NetEm ´e uma melhoria nas possibilidades de controle de tr´afego do Linux que permite a
adic¸˜ao de atraso, perda de pacote e outros cen´arios. Ele ´e constru´ıdo utilizando os m´odulos
de Qualidade de Servic¸o (QoS) e Servic¸os Diferenciados (Diffserv) do kernel do Linux. A
motivac¸˜ao por tr´as do NetEm ´e prover uma maneira de reproduzir um ambiente de rede de
longa distˆancia em um laborat´orio . Netem ´e controlado pela ferramenta de linha de comando
‘tc’, que ´e parte do pacote de ferramentas iproute2 (HEMMINGER et al., 2005).
Emuladores de rede s˜ao ferramentas importantes para fazer a pesquisa e desenvolvimento
relacionados com protocolos e aplicac¸˜oes de rede. Com a emulac¸˜ao de rede, ´e poss´ıvel realizar
testes de cen´arios de rede realistas, de forma controlada, o que n˜ao ´e poss´ıvel usando apenas
2.7 Avaliac¸˜ao subjetiva utilizando Mean Opinion Score 36
populares no mundo da pesquisa ´e NetEm. Esta ferramenta de c´odigo livre ´e amplamente
utilizada em diferentes tipos de cen´arios de redes experimentais (JURGELIONIS, 2011).
O NetEm ´e constitu´ıdo de duas partes, que s˜ao um pequeno m´odulo do kernel que cuida
da disciplina de fila e uma ferramenta de linha de comandos para configurar estas filas. A
comunicac¸˜ao entre a ferramenta e o m´odulo do kernel ´e feita por uma interface chamada
Ne-tlink. A Figura 2.10 mostra a arquitetura de disciplina de filas do Linux. Nela, a disciplina de
filas est´a posicionada entre a sa´ıda da pilha de protocolo TCP/IP e a interface de rede.
Figura 2.10: Arquitetura b´asica da disciplina de fila do Linux. Adaptado de (HEMMINGER et al., 2005)
A disciplina de fila tem duas interfaces principais. Uma interface enfileira pacotes para
serem enviados e a outra interface libera os pacotes para o dispositivo de rede. A disciplina
de fila segue a pol´ıtica de envio de pacotes passados como parˆametros. O Linux tem uma
rica variedade de disciplinas de enfileiramento, priorizac¸˜ao e pol´ıticas de controle de taxa, a
disciplina padr˜ao de enfileiramento ´e a FIFO.
O usu´ario especifica os parˆametros para o emulador atrav´es de argumentos para o
co-mando ‘tc’. Sem nenhum parˆametro, o NetEm funciona com uma fila FIFO, sem atraso, perda,
duplicac¸˜ao ou reordenac¸˜ao de pacotes.
2.7
Avaliac¸˜ao subjetiva utilizando Mean Opinion Score
origi-2.7 Avaliac¸˜ao subjetiva utilizando Mean Opinion Score 37
nalmente criada para testes de julgamento de qualidade de transmiss˜ao de voz, mas tamb´em foi
bastante utilizada para medir a qualidade de experiˆencia para aplicac¸˜oes envolvendo VDI.
A escala de classificac¸˜ao vai de 1 (p´essimo) a 5 (excelente) de acordo com a Tabela 2.3:
Tabela 2.3: Escala de valores do modelo MOS
Valor Qualidade Perturbac¸˜ao
1 P´essimo Muito Importuno 2 Ruim Importuno
3 Razo´avel Um pouco importuno
4 Bom Percept´ıvel mas n˜ao importuno 5 Excelente Impercept´ıvel
Os testes subjetivos d˜ao uma vis˜ao real do usu´ario frente ao sistema proposto. Em Wang
(2012), os usu´arios da China Telecom avaliaram a experiˆencia de uso de alguns aplicativos e
classificaram de acordo com um modelo MOS adaptado. Em Nakazawa, Koizumi e Hirasawa
(2012), os autores estudam a influˆencia do uso de desktops virtuais no ensino a distˆancia, nas
condic¸˜oes das redes m´oveis do Jap˜ao. Neste estudo 10 usu´arios realizam diversos testes e
classificam tamb´em de acordo com o MOS. Tamb´em em Casas (2013), o autor apresenta um
estudo de qualidade de experiˆencia aplicado em 52 usu´arios utilizando desktop virtual em um
laborat´orio de testes dedicado, baseado na plataforma de VDI da Citrix. Aqui os usu´arios
tamb´em utilizam o modelo MOS para pontuar a QoE. Este estudo fornece resultados sobre o
comportamento do usu´ario quando confrontado com condic¸˜oes vari´aveis de rede com relac¸˜ao a
Cap´ıtulo 3
U
MA AVALIAC
¸ ˜
AO EXPERIMENTAL DO USO DE
DESKTOPS VIRTUAIS
Este cap´ıtulo descreve o projeto e o desenvolvimento dos experimentos realizados como
parte deste trabalho. Inicialmente, foram selecionadas algumas aplicac¸˜oes t´ıpicas encontradas
nas salas de aula informatizadas. Como os trabalhos relacionados apontam para a latˆencia de
rede como sendo o fator mais influente na qualidade de experiˆencia do usu´ario, foram
defi-nidas faixas de latˆencia a serem investigadas ao longo dos experimentos. A escolha dessas
faixas se baseia em alguns testes preliminares realizados em ambiente real, incluindo-se
algu-mas latˆencias maiores com objetivo de investigar zonas de limite para o testein vitro. O cap´ıtulo tamb´em apresenta os resultados obtidos e as an´alises realizadas.
3.1
Objetivos dos experimentos
De modo geral, os experimentos realizados mostram a influˆencia de parˆametros de
de-sempenho da infraestrutura (tais como latˆencia de rede e perda de pacotes) na percepc¸˜ao de
qualidade por parte do usu´ario. Idealmente, as diferentes zonas de latˆencia dever˜ao incluir
valo-res t´ıpicos observados em ambientes reais, al´em de evidenciar zonas de latˆencia lim´ıtrofes (por
exemplo, o que usu´ario considera como qualidade aceit´avel e ruim), para diferentes tipos de
aplicac¸˜oes. O projeto de experimentos deve levar em conta a noc¸˜ao de qualidade sob o ponto de
vista da percepc¸˜ao do usu´ario. Portanto, os resultados devem se basear na avaliac¸˜ao feita com
usu´arios reais. Ao final, espera-se estabelecer as diferentes faixas de valores dos parˆametros
3.2 Selec¸˜ao das aplicac¸˜oes 39
3.2
Selec¸˜ao das aplicac¸˜oes
A experiˆencia do usu´ario em utilizar um desktop virtual depende do tipo de aplicac¸˜ao a ser executada. Uma ferramenta que lida com gr´aficos tridimensionais, por exemplo, demanda
mais recursos ou recursos diferentes daqueles que outra que manipula textos. Para cobrir um
bom n´umero de ferramentas representativas utilizadas pelos usu´arios, foi feito um levantamento
de quais softwares s˜ao instalados nas salas de aula informatizadas da Secretaria Geral de
In-form´atica da UFSCar, utilizadas para as aulas pr´aticas, e depois classificados de acordo com
seu uso.
As aplicac¸˜oes instaladas nos laborat´orios foram classificadas em ferramentas de uso geral
e de uso espec´ıfico. As ferramentas de uso geral s˜ao utilizadas pela maioria dos usu´arios para
elaborar documentos, navegar na Internet e assistir a v´ıdeos. As selecionadas para tal aplicac¸˜ao
foram o Microsoft Word, Windows Media Player e Internet Explorer. J´a as ferramentas de uso
espec´ıfico s˜ao aquelas que apenas alguns grupos de usu´arios precisam utilizar, de acordo com
a especificidade de sua ´area. As ferramentas escolhidas est˜ao voltadas para c´alculo matem´atico
e estat´ıstico e desenvolvimento e est˜ao instaladas em todos os laborat´orios informatizados do
campus da UFSCar em S˜ao Carlos. Foram usados o Matlab (MATHWORKS, 2014), utilizado
para realizac¸˜ao de c´alculo num´erico e estat´ıstica, e o Eclipse (ECLIPSE FOUNDATION, 2014),
utilizado para desenvolvimento de software.
Uma vez identificadas as ferramentas, elas foram instaladas em umdesktopf´ısico e um ou-tro virtualizado. O primeiro foi utilizado como base de comparac¸˜ao, pois as aplicac¸˜oes estavam
instaladas localmente e n˜ao dependiam das condic¸˜oes da rede. Odesktopvirtualizado serviu de modelo a ser distribu´ıdo para os usu´arios envolvidos no experimento. A distribuic¸˜ao dodesktop
virtual consiste no processo de se criar v´arias instˆancias de um modelo dedesktop, associar este conjunto de instˆancias aos usu´arios e, atrav´es de um programa cliente, o usu´ario acessa e utiliza
estedesktop. No final do uso da instˆancia, ela volta ao seu estado original, como se n˜ao tivesse sido utilizada.
Para cada ferramenta foi feito um planejamento das atividades que o usu´ario devia executar,
explorando uma das funcionalidades de cada aplicac¸˜ao. Os testes est˜ao relatados no Apˆendice
B. A Tabela 3.1 mostra na primeira coluna o nome da aplicac¸˜ao e na segunda coluna o objetivo
do teste aplicado.
• Microsoft Word: o objetivo deste teste ´e avaliar a qualidade de experiˆencia do usu´ario
em aplicac¸˜oes de digitac¸˜ao de textos. Caso os recursos de hardware alocados n˜ao sejam