Fernando Alberto de Sousa nusp: 3286224



Baixar 153.81 Kb.
Página4/4
Encontro29.07.2016
Tamanho153.81 Kb.
1   2   3   4

3.3.1 Capturando a intenção do usuário

Duas das principais habilidades do Aura são o suporte a mobilidade e a proteção dada aos usuários contra as variações de disponibilidade de recursos. Quando um usuário se move de um ambiente para outro, o Aura procura se reconfigurar para o novo ambiente e então o usuário poderá continuar trabalhando nas tarefas iniciadas em outro lugar. Como os recursos mudam de ambiente para ambiente (como a largura de banda wireless), o Aura procura adaptar as tarefas que estão sendo efetuadas para acomodarem a mudança, possivelmente reconfigurando certos serviços ou substituindo um serviço por outro.

Para o Aura alcançar estes objetivos é crucialque o sistema mantenha alguma representação da intenção do usuário. Sem esta capacidade, determinar quais ações do sistema irão ajudar mais do que atrapalhar é praticamente impossível. Por exemplo, suponha um usuário que está assistindo a um vídeo utilizando uma conexão de rede cuja largura de banda subitamente cai. O sistema deve reduzir a fidelidade do vídeo, pausar momentaneamente a execução e procurar outra conexão com uma boa largura de banda ou advertir o usuário que a tarefa não poderá ser executada por muito mais tempo. A escolha correta depende da tarefa.

Para tratar deste tipo de questão o Aura introduz uma nova abstração em forma de camada de sistema: a camada de tarefas. Esta camada, chamada Prisma, posiciona-se acima das aplicações individuais e serviços, mas abaixo do usuário (veja a figura a seguir). Através da representação explícita da intenção do usuário, a camada de tarefas disponibiliza para o resto do sistema uma base poderosa para a adaptação ou antecipação das necessidades do usuário. Nos dois cenários apresentados anteriormente, por exemplo, o sistema deve saber algumas coisas, como o plano de movimentação do usuário, os requisitos de recursos para as futuras atividades computacionais do usuário e as políticas de privacidade do interesse do mesmo.

Os ingredientes chave da arquitetura do Prisma são:


  • Representação explícita das tarefas do usuário como combinações de serviços abstratos.

  • Observação de contexto que permite ao Prisma configurar as tarefas de um modo que é apropriado para o ambiente.

  • Gerenciamento da infra-estrutura do ambiente que ajuda no monitoramento de recursos e na adaptação.

Cada uma destas capacidades está encapsulada em um componente do framework arquitetural: o Task Manager, Context Observer e Enviroment Manager, respectivamente (veja a figura a seguir)

Um conjunto de componentes chamados fornecedores de serviços (Service Suppliers) cuidam do que os serviços precisam para suportar uma tarefa do usuário.

Por fim, a infra-estrutura do Prisma suporta interações entre tais partes, construídas sobre middleware existente como uma chamada remota de Corba.

A figura a seguir mostra uma aplicação da arquitetura do Prisma. No cenário exposto, o ambiente Aura na casa de Fred coopera com o ambiente Aura no escritório dele para migrar tarefas entre os dois lugares. Quando Fred sai de um ambiente, o Context Observer local avisa o Task Manager do fato. O Task Manager então verifica o estado dos serviços que estão executando de forma independente de plataforma e aciona o Enviroment Manager local para parar tais serviços. Esta informação, junto com o estado da tarefa de Fred, é armazenada em um espaço de arquivos distribuído (Coda). Quando Fred entra no ambiente de seu escritório, o Context Observer local notifica o fato e informa o Task Manager local. O Task Manager reinstancia as tarefas a medida em que encontra e configura os fornecedores de serviços no novo ambiente. Esta reconfiguração tenta maximizar o uso de recursos locais para tentar atender melhor às diversas funções úteis dos recursos especificadas pela tarefa.



O framework arquitetural do Prisma tem diversos benefícios importantes. A representação explícita das tarefas do usuário, a introdução de uma entidade reponsável por “capturar” a intenção do usuário que pode guiar a busca por configurações ideias em cada ambiente. A representação de tarefas como combinações de serviços possibilita ao Aura determinar quando dar suporte dos serviços essenciais a uma tarefa, instanciando-os juntamente ou, se for o caso, gerar avisos antecipando ao usuário a impossibilidade da continuação da tarefa. Por prover um ambiente com capacidade de auto-monitoramento, a infra-estrutura pode detectar quando os requisitos de uma tarefa (com um mínimo tempo de resposta) não estão sendo contemplados e pode buscar configurações alternativas para atender à tarefa.

O protótipo atual suporta migração entre dois tipos de ambientes: plataformas Windows e Linux. Por exemplo, Microsoft Word e Emacs se tornam fornecedores dos serviços de edição de texto nas suas respectivas plataformas, enquanto que Media Player e Xanim se tornam os fornecedores dos serviços de execução de vídeos.

A implementação atual do Gerenciador de ambiente (Enviroment Manager) tem um serviço de registro rudimentar construído sobre soluções existentes como Jini e Salutation e confia nos sistemas de arquivos distribuídos como Coda para prover acesso aos arquivos em diferentes plataformas.

Atualmente, o Prisma está sendo estendido para suportar outros ambientes, tais como os baseados em PDAs e “salas espertas” (com algum tipo de dispositivo computacional como reconhecimento de faces, de voz, etc.). Mecanismos para gerenciar a interação de diversas tarefas de usuários também estão sendo desenvolvidos.


4. Conclusões
Notadamente os projetos de Computação Ubíqua apresentam um caráter muito audacioso. As características necessárias para atender as propostas dos projetos demandam uma grande evolução e pesquisa em diversas áreas de hardware e software.

Além disso, é necessário que haja algum tipo de trabalho em conjunto para facilitar a tarefa de integração que tais projetos implicam.

Os requisitos dos frameworks e middleware desenvolvidos não estão bem definidos, até porque uma das maiores dificuldades, quando se fala em computação ubíqua, é definir um limite. Até onde vamos inserir computação no cotidiano das pessoas? Até que ponto vamos conseguir reduzir a exigência da atenção do usuário? Não existem respostas muito claras para tais questões.

Os projetos, atualmente, estão em versões de protótipo ou em versões iniciais que ainda estão um pouco longe de atender completamente todas as expectativas de seus idealizadores.

É importante frizar novamente a importância do trabalho em conjunto para que os requisitos de integração (que constituem o principal ou um dos principais problemas) sejam atendidos e, por isso, o uso de tecnologias abertas (open-source) e amplamente documentadas parece ser fundamental para conseguir o intercâmbio desejado. O intercâmbio permite testes em larga escala, por grupos de usuários heterogêneos o que

certamente contribui para o amadurecimento dos subsistemas construídos.

O amadurecimento dos subsistemas permitirá a construção de aplicações melhores quanto à criação de aplicações utilizadas em larga escala. Trata-se de um desenvolvimento que ocorre em paralelo.

Ainda que muitos avanços tenham ocorrido recentemente, parece ainda faltar um longo caminho até que a computação ubíqua seja totalmente viável em larga escala e se aproxime do que foi idealizado por seus visionários. Interfaces e dispositivos melhores, mais discretos, mais leves, menores, mais baratos, mais econômicos e menos intrusivos precisam ser construídos. O avanço nas plataforma de integração, que também se faz necessário, ajudaria a toná-las menos custosas e mais práticas, além de viabilizar o desenvolvimento em uma variedade maior de ambientes.



5. Referências

5.1 Links para os Projetos

Gaia: http://choices.cs.uiuc.edu/gaia/

One.world: http://cs.nyu.edu/rgrimm/one.world/

Aura: http://www-2.cs.cmu.edu/~aura/
5.2 Outros Projetos de Computação Ubíqua

  • Ninja (Berkeley)

  • Oxygen (MIT)

  • Future Computing Environments (Georgia Tech)

  • Pervasive Computing (IBM)

  • Ubicomp (Universität Karlsruhe)

  • Multimodal Interfaces (CMU)

  • Portolano (UW)

  • Ubiquitous Computing (Xerox Parc)

  • Endeavour (Berkeley)

  • Cooltown (HP)

  • Easy Living (Microsoft)

5.2 Papers, Teses e outros

  • [AMCRC04] Jalal AlMuhtadi, Shiva Chetan, Anand Ranganathan, and Roy Campbell. Super spaces: A middleware for largescale pervasive computing environments. In Proceedings of the Second IEEE Annual Conference on Pervasive Computing and Communications Workshops, page 198. IEEE Computer Society, 2004.

  • [DoCS] University of Illinois at UrbanaChampaign Departament of Computer Science. Gaia project, active spaces for ubiquitous computing. http://gaia.cs.uiuc.edu. [dW] Universidade de Washington. Projeto one.world. http://one.cs.washington.edu.

  • [ea04a] CarlFredrik et al. A contextaware middleware for applications in mobile ad hoc envirnments. In Proceedings of 2nd Workshop on Middleware for Pervasive and AdHoc Computing, pages 107--110. ACM Press, 2004.

  • [ea04b] Suskil K. Prasad et al. Syd: a middleware testbed for collaborative applications over small heterogeneous devices and data stores. In Proceedings of the International Middleware Conference, pages 352--371, Toronto, Canada, October 2004. Springer.

  • [Gri02] Robert Grimm. System Support for Pervasive Applications. PhD thesis, Washington University, October 2002.

  • [HM04] Markus C. Huebscher and Julie A. McCann. Adaptive middleware for context aware applications in smarthomes. In Proceedings of the 2nd workshop on Middleware for pervasive and adhoc computing, pages 111--116. ACM Press, 2004.

  • [MMH04] Mirco Musolesi, Cecilia Mascolo, and Stephen Hailes. Adapting asynchronous messaging middleware to ad hoc networking. In Proceedings of the 2nd workshop on Middleware for pervasive and adhoc computing, pages 121--126. ACM Press, 2004.

  • [RAM + 04] U. Ramachandran, Gregory Abowd, Martin Modahl, Bikash Agarwalla, and Scott Saponas. Toward a standad ubiquitous computing framework. In Proceedings of 2nd Workshop on Middleware for Pervasive and AdHoc Computing, pages 135--139. ACM Press, 2004.

  • [RBH04] Peter Rigole, Yolande Berbers, and Tom Holvoet. Mobile adaptive tasks guided by resource contracts. In Proceedings of the 2nd workshop on Middleware for pervasive and adhoc computing, pages 117--120. ACM Press, 2004.

  • [RHC + 02] Manuel Rom’an, Christopher Hess, Renato Cerqueira, Anand Ranganathan,

  • Roy H. Campbell, and Klara Nahrstedt. A middleware infrastructure for active spaces. IEEE Pervasive Computing, 1(4):74--83, 2002.

  • [SG02] Jo”ao Pedro Sousa and David Garlan. Aura: an architectural framework for user mobility in ubiquitous computing environments. In Proceedings of the IFIP 17th World Computer Congress TC2 Stream / 3rd IEEE/IFIP Conference on Software Architecture, pages 29--43. Kluwer, B.V., 2002.


1   2   3   4


©principo.org 2016
enviar mensagem

    Página principal