Computação Ubíqua: evolução, definição e objetivos
1. Computação Ubíqua
Prof. Waldir Ribeiro Pires Junior
Semana de Informática – PUC Minas SG
Belo Horizonte, MG
8 de Maio de 2009
1
2. Sumário
• Sobre o palestrante
Introdução
•
• Definição, objetivos e características
• Primeiros projetos
• Principais áreas de pesquisa
• Aplicações e cenários de uso
Desafios associados
•
• Conclusões
Referências
•
2
3. Sobre o Palestrante
• Bacharel em Ciência da Computação pela UFMG (2002)
• Pós-graduação em Sistemas Móveis e Convergentes em
Telefonia Celular pela UEA (2006)
– Padrões de projeto em JavaME, Componentização de SW para
dispositivos móveis
• Mestrando em Ciência da Computação pela UFMG (2008)
– Computação móvel e ubíqua, Computação ciente de contexto e
Sistemas distribuídos
– Engenharia de SW aplicada a aplicações móveis/ubíquas
• Engenheiro de SW no Núcleo de Engenharia de SW e
Sistemas Synergia (DCC-UFMG)
• Professor Assistente da PUC Minas SG
3
5. Introdução
Opções
●
O agente inteligente
●
A televisão
●
Gráficos 3D, realidade virtual
●
Os computadores de “Jornada nas Estrelas”
●
A interface GUI refinada
●
Nenhuma das opções acima
●
5
7. Introdução
Interface com o usuário – evolução
●
Válvulas a vácuo e interruptores
●
Cartões perfurados
●
Linha de comando e teclado
●
Interface gráfica de usuário
●
Mouse, joystick, pedais, capacetes
●
Comando de voz, personificação
●
Telas sensíveis ao toque, multitoque (entrada e saída)
●
Linguagem natural (perguntas e respostas)
●
Interfaces tangíveis (foco no toque, ambiente físico)
●
Vamos para a resposta!
●
7
8. Introdução
• A computação irá
Desaparecer!
–
– Ser descentralizada
– Focada no usuário e suas atividades
– Estará em todos os lugares e coisas!
?
8
9. Introdução: Evolução da Computação
9
Computers in the year 2004. Fortunatelly, they were wrong!
10. Introdução: Evolução da Computação
Centralized Personal Portable Pervasive
Computing Computing Computing Computing
Internet
Hw/Sw
Growth!
Advancements!
User oriented User oriented
Machine oriented Task oriented
One computer One computer Many devices “Invisible” devices
10
Many people One person One person Many people
13. Introdução: Evolução da Computação
Why use the keyboard?
Connect the devices to
The brain!
13
14. Composição de Sistemas de Computação
Comunicação remota Sistemas Computação Computação
Tolerancia a falhas Distribuídos Móvel Pervasiva/Ubiqua
Alta disponibilidade
Acesso a informações
remotas Ambientes
Segurança distribuída Inteligentes
Arquiteturas
Cliente/servidor
N-tier
Redes Móveis
Cluster
Acesso móvel a
P2P
Informações
Aplicações adaptativas
Grid
Redes de dados
Sistemas cientes de
Computação nas
sem fio
energia
nuvens
WLAN
Sensibilidade de
Virtualização de
GPRS/EDGE/HSDPA
localização
plataformas
Interação
Homem
Máquina
Espaços inteligentes
Invisibilidade
Redes de
Escalabilidade
sensores
Gestão de perfil e
sem fio
contexto
14
16. Sumário
• Sobre o palestrante
• Introdução
• Definição, objetivos e características
Primeiros projetos
•
• Principais áreas de pesquisa
Aplicações e cenários de uso
•
• Desafios associados
Conclusões
•
• Referências
16
17. Definição
Dicionário Merrian-Webster
●
Ubiquitous: existing or being everywhere at the same time, constantly
●
encountered
Pervasive: to become diffused through every part of
●
Mark Weiser: pesquisador do PARC – XEROX, Centro de
●
Pesquisas da Xerox (PARC) em Palo Alto, EUA
Termo proposto no final da década de 90
●
Citações
●
A melhor ferramenta é aquela que é invisível para o usuário. Esta se mistura
–
com o ambiente diário do usuário a tal ponto de se tornar indistinguível do
mesmo
Termos similares
●
Everyware, Calm technology, Pervasive computing, Ambient technology,
●
dsappearing computing 17
18. Definição
Artigos publicados por Mark Weiser:
●
quot;The Computer for the 21st Century,quot; Scientific American, pp. 94-10,
●
September 1991
quot;Some Computer Science Problems in Ubiquitous Computing,quot;
●
Communications of the ACM, July 1993. (reprinted as quot;Ubiquitous
Computingquot;. Nikkei Electronics; December 6, 1993; pp. 137-143.)
Energia, conectividade sem fio e usabilidade, privacidade
–
quot;Hot Topics: Ubiquitous Computingquot; IEEE Computer, October 1993.
●
Desafios: agregação de elementos computacionais sem fio, mobilidade,
–
usabilidade
quot;The world is not a desktopquot;. Interactions; January 1994; pp. 7-8.
●
Falha básica: tornar o computador visível
–
18
19. Computação Ubíqua: Definição
• Codição onde o processamento das informações é integrado a
atividades e objetos do dia a dia do usuário
• Ativação pelo usuário de diversos dispositivos e sistemas
computacionais de forma simultânea, em alguns casos sem saber que
está fazendo isto.
• Evolução do paradigma “desktop”
• Rede composta de dispositivos pequenos, baratos e robustos
distribuídos ao longo da vida diária do usuário
• Dispositivos computacionais em vários lugares
• Nas pessoas (internamente??)
• Nos veículos, nos tecidos, nos móveis
• Nos produtos que consumimos
• Dentre outros
19
20. Computação Ubíqua: Objetivos
• Melhor interação das pessoas com dispositivos que têm
capacidade de processamento de informação
– Melhor = mais intuitivo, natural, transparente
– Forma mais natural e comum do que acontece atualmente
– Será que isso é bom? Será que vai melhorar a vida do usuário?
• Computação deve ser adaptada à localização ou contexto
onde as pessoas se encontram
• Ex: hora, localização geográfica, data, clima, humor, profissão, estados
físicos ou psicológicos, dentre outros
• Como colectar ou detectar mudanças de contexto do usuário?
• Onde estamos?
– Ainda longe de alcançar esse objetivo
20
21. Computação Ubíqua: Características
• Novo paradigma computacional que permite o acesso aos
recursos computacionais independente da localização
– “Anywhere”, “Everyware”
• Capacidade de acessar informações, aplicações e serviços a
qualquer lugar e a qualquer momento independente de
dispositivo
– Serviços ubíquos que acompanham o usuário
• As pessoas irão interagir com dispositivos com capacidade de
processamento de forma mais “natural”
– Interação homem-máquina centrada no usuário
• Usuário não precisa estar ciente da existência de uma infra-
estrutura computacional embutida no ambiente
21
– Transparência
22. Sumário
• Sobre o palestrante
• Introdução
• Definição, objetivos e características
• Primeiros projetos
• Principais áreas de pesquisa
Aplicações e cenários de uso
•
• Desafios associados
Conclusões
•
• Referências
22
23. Primeiros Projetos: Live Wire
Criado por Natalie
Jeremijenko no laboratório
da XEROX PARC
Cabo de plástico conectado a
um pequeno motor elétrico
no teto da sala controlado
por uma conexão de rede
LAN
Atividade na rede era visível
quando o cabo era girado
pelo motor
0.1 voltas por pacote de
tráfego
Exemplo de calm tecnology
23
24. Primeiros Projetos: Active Badge (1992)
Diversas salas do prédio
•
contendo sensores de captação
de sinais de rádio (IR)
Cartão que permitia a localização
•
dos usuários de uma empresa no
provimento de serviços
– Informações de localização
– Redirecionamento
de chamadas telefônicas
– Localização de empregados
O sistema permite a execução de
•
comandos:
24
http://portal.acm.org/citation.cfm?id=128759
25. Primeiros Projetos: MediaCup (1999)
Desenvolvida pela TECO, Alemanha
•
Possui sensores de temperatura e
•
movimento
Comunicação sem fio (IR)
•
– Entre copos, a máquina de café
– Outros dispositivos
Compartilhamento de
•
informações de contexto
do ambiente
Recursos
•
– Avisar sobre eventos (reuniões)
– Avisar que o café está quente demais
para beber
– Avisar que um novo café está disponível
na máquina
http://mediacup.teco.edu/
– Pode usá-la para beber café e chá
25
26. Primeiros Projetos: MediaCup (1999)
Objetivos
•
– Como adicionar elementos
computacionais em objetos do dia
a dia
– Aplicar restrições como bateria,
energia, conectividade sem fio
– Controle de estados de contexto
(bebendo, sobre a mesa, vazia,
etc.)
– Criação de uma rede de dados
sem fio de baixo custo
– Construção de redes ad-hoc em
ambientes contendo um conjunto
de dispositivos
– Tarefas colaborativas entre
dispositivos (máquina de café,
relógio, copo, portas, etc)
http://mediacup.teco.edu/
26
28. Outros Projetos
Smart Object
WiFi
Weather forecasts
Stock market reports
News
Alarm clock
RSS feeds
Emails
API in Java or Perl
RFID reader
Violet's Nabaztag
28
29. Sumário
• Sobre o palestrante
Introdução
•
• Definição, objetivos e características
• Primeiros projetos
• Principais áreas de pesquisa
Aplicações e cenários de uso
•
• Desafios associados
Conclusões
•
• Referências
29
31. Computação Móvel
Permite acesso a informações de qualquer lugar e
●
momento
Reflete uma sociedade “dependente de informações”
●
Apresenta uma nova “forma” de como utilizamos um
●
computador
Computador ou elemento computacional?
●
De cada 10 processadores produzidos no mundo, apenas
●
um tem como destino um computador
Mobilidade Comunicação Computação
Processamento
Sem Fio Pessoal
Portátil Em qualquer
Tipos variados lugar
+ + =
Conectado a Em qualquer lugar
Pode ser levado Portátil
uma rede de A qualquer momento
a qualquer lugar
dados e voz Poder trabalhar longe
Não depende de
que provê serviços do desktop em locais
energia da tomada
onde tarefas precisam
31
ser executadas
32. Computação Nômade
• Não possui residência fixa, mudando de local
permanentemente e não se fixa muito tempo em um único
local
• Colocar dados e software móveis da mesma maneira que os
usuários
– O acesso a estes dados é feita de forma transparente
– Requer uma reconfiguração de acesso a serviços e dados a cada
mudança -> adaptabilidade
• Três fases
– Descoberta de recursos
– Localização de serviços
– Capacidade disponíveis (poder computacional, armazenamento,
comunicação)
• Requer uma base de serviços e recursos altamente distribuída
32
33. Computação Autonômica – IBM (2001)
• Iniciativa de desenvolvimento de sistemas computacionais
capazes de se auto gerenciar
– Minimizar a complexidade crescente no gerenciamento de sistemas
computacionais
– Baseado no sistema autonômico mais famoso conhecido: o sistema
nervoso humano
• Controle de funções involuntárias do corpo: digestão, metabolismo,
respiração, batimento cardíaco, dentre outros.
• A proposta da IBM é fazer com que sistemas computacionais simulem o
sistema nervoso humano para aumentar sua capacidade de auto
gerenciamento
Self-optimization:
monitoramento e controle
de recursos automáticos Self-protection:
Self-healing:
Self-configuration: para garantir o identificação e
descoberta e
configuração funcionamento adequado proteção
correção
automática de de acordo com os proativa de
automática de
componentes 33
requisitos definidos ataques arbitrários
falhas
34. Ambientes Inteligentes
• Ambientes eletrônicos sensíveis e responsíveis a presença de
pessoas
• Dispositivos trabalham em conjunto para prover suporte a
pessoas na execução de atividades do dia a dia
• Tendência: os dispositivos se tornarem invisíveis diante de
nossa visão
• Conceitos:
Dispositivos embutidos no ambiente
–
Ciente de contexto
–
Personalização de atividades
–
Adaptabilidade de serviços e informações
–
Comportamento antecipatório
–
• Problemas
– Privacidade, impacto econômico, social, político e cultural
34
35. Exemplo de Cenário
Ellen retorna para a casa depois de um longo dia de trabalho. Na porta
de frente, ela é reconhecida por um sistema de vigilância inteligente, o
alarme é desativado e a porta é destravada e aberta automaticamente.
Quando ela entra pela sala, o mapa da casa indica que seu marido
Pedro está em uma feira de arte em Paris e que sua filha Carol está no
quarto brincando com uma tela de interação. O serviço de vigilância
infantil remoto recebe uma notificação de que Ellen está em casa e é
desativado. Ao entrar na cozinha, a tela do menu familiar é ativada
indicando que não há mensagens novas não lidas. A lista de compras
composta pela geladeira inteligente necessita da confirmação de Ellen
para ser enviada ao supermercado para entrega.
35
36. Computação Distribuída
Sistemas de hardware e software contendo mais de um único
●
elemento de processamento
Elementos fisicamente distantes
●
Execução simultânea e comunicação via rede
●
Arquiteturas de sistemas distribuídos
●
Cliente/servidor, N-tier, P2P
●
Acesso a dados e serviços remotos (RPC)
●
Algoritmos distribuídos
●
Confiança no envio de dados e alocação de recursos na rede
●
Consensus
●
Segurança
●
Confiabilidade, privacidade
●
36
37. Usabilidade – Interface Homem-Máquina
Estudo da interação entre usuários e computadores
●
Intercessão de várias ciências: computação, comportamental, desenho,
●
dentre outras
Tópicos de interesse
●
Computação centrada ao usuário
●
Realidade aumentada (augmented reality)
●
37
38. Computação Ciente de Contexto
Sistemas que possuem a percepção do ambiente
●
Inclui pessoas próximas, dispositivos, luminosidade, nível de ruído,
●
temperatura, conectividade de rede e condição social
Aspectos de contexto
●
Localização (onde), vizinhos (com quem) e recursos (com o quê)
●
Processamento ciente de contexto
●
Usa informações de contexto para seletivamente apresentar informação
●
e serviços
Automaticamente executar um serviço
●
Anexar informações de contexto para tratamento posterior
●
Desafios
●
Como detectar e reagir a mudanças de contexto?
●
38
39. Computação Ciente de Contexto
Como ligar uma luz?
Flip a switch Say “Turn on the lights”
● ●
Hardwired Speech
● ●
Clap hands Say “Turn on that light”
● ●
Sound Multimodal
● ●
Touch screen on wall computer “I want to read a book”
● ●
GUI dialog box It’s dark outside
●
Click on a GUI map that Infer action
● ●
represents the environment
Make a specific gesture
●
Use a PDA, cell phone, …
●
Vision
●
Walk into the room
●
Automatic
●
39
40. Redes de Sensores Sem-Fio
Define uma rede de dispositivos computacionais denominados
●
sensores que cooperam entre si com o objetivo de monitorar
condições físicas ou ambientais de um local ou região
Temperatura, som, vibração, pressão, movimento, luminosidade, dentre
●
outros
Especialização de redes ad hoc com características bem
●
específicas
Características
●
São geralmente usadas em ambientes inóspitos de difícil acesso
●
Grande quantidade de dispositivos executando uma única aplicação
●
Componentes compactos e autônomos
●
Coletam, processam e entregam dados coletados do ambiente a um
●
observador, comunicação sem fio em múltiplos saltos
40
41. Redes de Sensores Sem-Fio
Cenários de uso
●
Observação ambiental
●
Desastres naturais, fogo, enchentes,
–
monitoramento de espécies de animais
Aplicações militares
●
Detecção de transmissões
–
eletromagnéticas
Construção civil
●
Casas e edifícios inteligentes
–
Saúde
●
Sensores “in-body”
–
Redes veiculares
●
Manutenção, monitoramento,
–
comunicação, tráfego
41
Dentre outras.
●
42. Redes de Sensores Sem-Fio: Redes
Veiculares
PUMA: GM + Segway two seater
42
43. Redes de Sensores Sem-Fio: Redes
Veiculares
Busca por vagas no centro de uma cidade
43
47. Redes de Sensores Sem-Fio
Tópicos de pesquisa
●
Melhores algoritmos, arquiteturas e sistemas
●
Extensão ou interligação de RSSF com outros tipos de nós
●
Killer applications, aplicabilidade das RSSFs no dia a dia
●
Melhoras no hardware e no software utilizado
●
Segurança
●
Autenticação, gerenciamento de chaves, proteção a ataques
–
Gestão de dados
●
Agregação e fusão de dados, compressão
–
Energia
●
Durabilidade, desempenho de baterias, uso de energias alternativas
–
Testes reais
●
Muitas simulações, poucos testes reais
– 47
48. Sumário
• Sobre o palestrante
Introdução
•
• Definição, objetivos e características
• Primeiros projetos
• Principais áreas de pesquisa
• Aplicações e cenários de uso
• Desafios associados
• Conclusões
• Referências
48
49. Aplicações e Cenários de Uso
Redes residenciais
•
Entretenimento e Jogos
•
Serviços de inteligência
•
Aprendizado ubíquo
•
Turismo e Transporte
•
Negócios e Shopping
•
Laboratórios de pesquisa
•
Monitoramento de saúde
•
Controle de ambientes
•
49
55. Sumário
• Sobre o palestrante
Introdução
•
• Definição, objetivos e características
• Primeiros projetos
• Principais áreas de pesquisa
• Aplicações e cenários de uso
• Desafios associados
• Conclusões
• Referências
55
56. Desafios Associados
• Complexidade • Interatividade com o usuário
• Várias decisões, vários • Interface humano computador
dispositivos, automação “natural”
• Energia • Qualidade de serviço
– Maior consumo: transmissão • Adaptabilidade,
disponibilidade, segurança,
• Processamento desempenho,
• Poder e custo no manutenibilidade,
processamento personalização
• Armazenamento • Temas éticos
• Coleta de dados – Privacidade, “intrusiveness”,
impacto social e cultural
• Transmissão de dados
– Taxa, conectividade
56
57. Desafios
Privacidade
• Quem deve ter acesso a suas informações de contexto?
• Como e onde esta informação está armazenada?
• É interessante compartilharmos estas informações?
• Como controlar quem acessa meus dados de contexto?
57
58. Desafios
Segurança
Como disponibilizar serviços
•
seguros?
Autenticidade: com quem eu
•
estou falando?
Como proteger estes dados?
•
Temas éticos e filosóficos
To ubiComp or not to ubiComp
●
Seres cibernéticos?
●
Tudo controlado por máquinas?
●
58
59. Desafios
Confiança
Confiabilidade nos elementos (serviço, dispositivo e usuário)
●
Energia
• Consumo diretamente proporcional à transmissão de dados
• Soluções de otimização de consumo de energia em
dispositivos embarcados
• Lixo tecnológico
– Baterias, placas de circuito, metais
59
60. Sumário
• Sobre o palestrante
Introdução
•
• Definição, objetivos e características
• Primeiros projetos
• Principais áreas de pesquisa
• Aplicações e cenários de uso
Desafios associados
•
• Conclusões
• Referências
60
61. Conclusões: Porque Computação
Ubíqua?
• Mudança de paradigma computacional
– O futuro é sem fio
• Alta demanda
– Profissionais qualificados (mercado e
academia)
– Novos produtos e serviços
– Trabalho de integração entre os mundos com
e sem fio
• Benefícios
– Atividades humanas podem se beneficiar
• Desafios
– Devem ser pesquisados e solucionados
61
62. Conclusões: Porque Computação
Ubíqua?
• Teoria e prática Computação de mesa
– Tecnologias interessantes e
impactantes precisam de
aplicações e serviços Computação móvel Ambiente inteligente
interessantes e práticos
• O paradigma traz novos
Computação desagregada
desafios Computação invisível
– Tecnológicos e éticos
Realidade aumentada
• Desafio para o sucesso
– O projeto de aplicações e
Computação móvel
serviços para as novas
infraestruturas de Ubicomp = +
comunicação sem fio
Ambiente inteligente
62
63. Conclusões: Pesquisa@UFMG.br
Computação móvel/ubíqua Engenharia de software para
● ●
aplicações móveis
Computação ciente de
●
contexto Cloud computing
●
Sistemas distribuídos
●
63
64. Conclusões: Pesquisa@UFMG.br
Frameworks Web para Sistemas baseados em
● ●
aplicações ubíquas eventos
Contexto coletivo
●
64
66. Referências
• Computação Ubíqua
– Disciplina da Pós-graduação em Ciência da Computação, UFMG, 2008
– Prof. Antonio A. F. Loureiro
• Mark Weiser
– quot;The Computer for the 21st Century,quot; Scientific American, pp. 94-10,
September 1991
• http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html
– quot;Some Computer Science Problems in Ubiquitous Computing,quot;
Communications of the ACM, July 1993.
– quot;Hot Topics: Ubiquitous Computingquot; IEEE Computer, October 1993.
– quot;The world is not a desktopquot;. Interactions; January 1994; pp. 7-8.
• Context Aware Computing Applications
– Bill N. Schilit, Norman Adams, and Roy Want
66