• Nenhum resultado encontrado

SmartVNC: An Effective Remote Computing Solution for Smartphones. MAC0463 Renato Augusto Vieira Nishimori

N/A
N/A
Protected

Academic year: 2021

Share "SmartVNC: An Effective Remote Computing Solution for Smartphones. MAC0463 Renato Augusto Vieira Nishimori"

Copied!
31
0
0

Texto

(1)

MAC0463

Renato Augusto Vieira Nishimori

SmartVNC: An Effective

Remote Computing

(2)

Computação Remota

● Permite acesso remoto aos desktops;

● Uso: acesso a arquivos e dados, assistência remota, infraestruturas de desktops virtuais; ● Mais de 60 softwares de computação

(3)

Tipos de software de computação

remota

● Envio de dados dos pixels. Exemplo: VNC. Servidor codifica e envia, cliente recebe, decodifica e renderiza.

● Baseado em primitivas gráficas (comandos de desenho básicos do SO). Exemplo: RDP (Microsoft).

(4)

Motivação da criação do SmartVNC

● Adequado para uso de computador como cliente, mas não para smartphones: tela menor, falta de mouse e teclado físico.

(5)

Inflação: motivos

● Zoom problem: Necessário dar zoom para interagir com elementos pequenos da GUI;

● Pan problem: Necessário mover a janela de visualização para ter acesso a todos os elementos da GUI;

(6)

Inflação: motivos

● Keyboard problem: Necessário toque

adicional para abrir o teclado e mais toques para utilizar teclas como Ctrl, F1;

● Error problem: Mais fácil de cometer erros, mais difícil desfazê-los.

(7)

Diminuir redundância para diminuir

o esforço

● Objetivo: Diminuir o TaskEffort(PC),

efetuando operações de forma agregada;

● Tarefa repetitiva: aparece ao menos 2 vezes no histórico, de comprimento pelo menos 2;

(8)

Redundância

● Monitor no computador captura operações efetuadas pelo usuário e analise operações redundantes. Exemplo:

ABCABCDABE -> XXDYE (X = ABC, Y = AB); ● Redundância = (10 - 5) / 10 = 50%

● Experimentos: Redundância entre 20% e 40%, média de 30.96%;

(9)

Considerações na redução da

redundância no Smartphone

● Nem todas as operações podem ser substituídas por uma de comprimento um;

● Não leva em conta a inflação.

● Experimentos -> Inflação de 3.31.

(10)

Como diminuir? Macros!

● Sequência de operações gravadas que podem ser reproduzidas depois;

Dois tipos:

● Macros de aplicação: Específica para programa. Ex: Excel, iMacros (browser);

● Macros "cruas": Grava cliques do mouse (coordenadas) e teclas digitadas. Ex: AutoHotkey.

(11)

Princípios do Design SmartVNC

● Servidor SmartVNC (coexiste com o servidor VNC, transparentemente);

● Cliente SmartVNC: Integrado com o cliente de computação remota (Overlay do cliente VNC).

● Permitir criar macros robustas e extensíveis no PC e usá-las no smartphone.

(12)

Front-end no smartphone

● Não intrusiva, coexistir com o cliente de VNC;

● Não limitar o usuário caso macros

relevantes não estejam disponíveis;

(13)

Smart-macros

● Robustez de macros de aplicação,

generalidade de macros "cruas";

● Como o SO assume a responsabilidade de providenciar callbacks para a aplicação quando elementos da GUI são invocados ou

manipulados, cada elemento tem

informações como aplicação a qual

(14)

Smart-macros

● Sequência de operações onde cada

operação é representada pelo elemento da GUI, novo estado e entrada do usuário;

(15)

Parametrização de macros

● Na hora da gravação da macro, identifica certas operações como parametrizáveis.

(16)

Reproduzindo as smart-macros

● Quando a smart-macro é invocada no smartphone, o comando vai para o SmartVNC Server (não é visível ao VNC Server).

● No entanto a reprodução da smart-macro é visível em tempo real pelo VNC Server.

(17)

Reproduzindo as smart-macros

● Modo parametrizado: Se a smart-macro requer input do usuário, o front-end automaticamente faz o zoom e pan para o elemento da GUI relacionado.

● Modo contínuo: Reprodução das smart-macros com valores padrão (caixas de texto, check-boxes, etc).

(18)

Recomendação offline de Macros

● Servidor SmartVNC monitora atividade do usuário e gera um relatório de atividades repetitivas: aplicação, tamanho, sequência de operações e frequência.

● Filtra e ordena de acordo com preferências do usuário (tamanho, frequência). Usuário pode então selecionar novas macros.

(19)

Servidor SmartVNC

● C#, HyperSQL.

(20)

Módulos do servidor SmartVNC

● Frontend;

● GUI Element Extractor (transformar

operações "cruas" em operações com elementos da GUI e recuperar uma ID única para cada elemento);

(21)

Módulos do servidor SmartVNC

● Gerador de macro;

● Reprodutor de operações; ● Recomendador de macros;

● Manipulador de exceções. Exemplo: Clicar em um link antes que a página carregue,

notificações ou alertas bloqueando

(22)

Cliente SmartVNC no Smartphone

● Modificação no AndroidVNC, um cliente VNC open-source (2 arquivos: VNCActivity e VNCCanvas, responsável pela GUI).

(23)

Módulos do cliente SmartVNC

● Painel de overlay (menu da aplicação); ● Visualizador de macros;

● Visualizador de parâmetros e exceções;

● Receptor de notificações (novas macros, updates).

(24)

Considerações de implementações

futuras

● Portabilidade possível para Mac OS, Linux. ● Portabilidade para iPhone, Windows Phone,

Symbian: depende de clientes VNC open-source.

● Uso para qualquer app, não apenas para aplicativos de computação remota.

(25)

Avaliação de Performance

● Windows XP SP3, monitor de 19 polegadas (1280 x 1024) e Samsung Galaxy, tela 4 polegadas (800 x 480).

● 9 programas, 6 tarefas de complexidade variada para cada programa.

● Comparação com o Android VNC e PC (sem macros).

(26)

Metodologia

● 22 voluntários, nem todos usuários de smartphones.

● Fazer três tarefas (de diferentes

complexidades) em dois programas

aleatórios entre os nove. ● 54 macros pré-definidas.

(27)
(28)
(29)

Resultado da recomendação offline

de macros

(30)

Avaliação da redução de esforço

● De 14.85% a 70.30%; ● Média de 37.71%.

(31)

Referências

Documentos relacionados

Com relação à análise de sequenciamento de genomas e ao GRC (Genome Reference Consortium), que é responsável por manter e melhorar a montagem do genoma de referência humano e do

Relatar o desenvolvimento da Escala de Acurácia de Diagnóstico de Enfermagem (EADE), um instrumento para avaliar a acurácia de diagnósticos de enfermagem a partir de dados

A assistência da equipe de enfermagem para a pessoa portadora de Diabetes Mellitus deve ser desenvolvida para um processo de educação em saúde que contribua para que a

Ao final do trabalho, no ultimo item será apresentado, os indicadores relacionados aos atendimentos realizados na Defensoria Pública do Estado de São Paulo, Regional de

Esses achados, além de esclarecerem associações controversas na literatura em relação ao papel dos genes DRD2 e DRD4 em fenótipos psiquiátricos, também sugerem um

O poder parece ter como finalidade a eliminação do povo, enquanto unidade de homens que têm um ideal comum e identificam os meios para o alcançar, e em particular do povo cristão

Serviu também para revisar os conteúdos químicos trabalhados em sala de aula e como ferramenta de diagnóstico, pois através dele foi possível identificar quais os aspectos

 Orientação quanto às questões financeiras e orçamentárias para a elaboração de Plano de Trabalho em projetos de extensão, ensino, pesquisa e desenvolvimento