• 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

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

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

 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

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

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