Você está na página 1de 66

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
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
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
Introdução

• Qual é o futuro da computação?

?
4
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
Introdução

6
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
Introdução

• A computação irá
– Desaparecer!
– Ser descentralizada
– Focada no usuário e suas atividades
– Estará em todos os lugares e coisas!

?
8
Introdução: Evolução da Computação

9
Computers in the year 2004. Fortunatelly, they were wrong! 
Introdução: Evolução da Computação

Centralized Personal Portable Pervasive


Computing Computing Computing Computing

Internet
Hw/Sw
Growth!
Advancements!

Machine oriented Task oriented User oriented User oriented

One computer One computer Many devices “Invisible” devices


Many people One person
10
One person Many people
Introdução: Evolução da Computação

Man-Machine Interaction 11
Introdução: Evolução da Computação

Surface Technologies 12
Introdução: Evolução da Computação

Why use the keyboard?

Connect the devices to


The brain!

13
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
Cluster Redes Móveis
P2P Acesso móvel a
Informações
Grid Aplicações adaptativas
Computação nas Sistemas cientes de Redes de dados
nuvens energia sem fio
Virtualização de Sensibilidade de WLAN
plataformas localização GPRS/EDGE/HSDPA
Interação
Homem
Máquina

Espaços inteligentes
Invisibilidade
Escalabilidade Redes de
Gestão de perfil e sensores
contexto sem fio

14
Padrões de Redes Sem Fio

15
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
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
Definição
● Artigos publicados por Mark Weiser:
● "The Computer for the 21st Century," Scientific American, pp. 94-10,
September 1991
● "Some Computer Science Problems in Ubiquitous Computing,"
Communications of the ACM, July 1993. (reprinted as "Ubiquitous
Computing". Nikkei Electronics; December 6, 1993; pp. 137-143.)
– Energia, conectividade sem fio e usabilidade, privacidade
● "Hot Topics: Ubiquitous Computing" IEEE Computer, October 1993.
– Desafios: agregação de elementos computacionais sem fio, mobilidade,
usabilidade
● "The world is not a desktop". Interactions; January 1994; pp. 7-8.
– Falha básica: tornar o computador visível

18
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
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
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
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
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
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
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
– Pode usá-la para beber café e chá http://mediacup.teco.edu/
25
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
Outros Projetos

The Marble Answering Machine

27
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
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
Principais Áreas de Pesquisa

30
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

Processamento Mobilidade Comunicação Computação


Portátil Em qualquer
Sem Fio Pessoal
Tipos variados lugar
Pode ser levado
a qualquer lugar
+ Portátil + Conectado a
uma rede de = Em qualquer lugar
A qualquer momento
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
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
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
Self-healing: de recursos automáticos Self-protection:
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 requisitos definidos ataques arbitrários 33
falhas
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
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
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
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
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
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
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
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.
Redes de Sensores Sem-Fio: Redes
Veiculares

PUMA: GM + Segway two seater

42
Redes de Sensores Sem-Fio: Redes
Veiculares
Busca por vagas no centro de uma cidade

43
Redes de Sensores Sem-Fio
Operações militares

44
Redes de Sensores Sem-Fio
Gestão de emergências

45
Redes de Sensores Sem-Fio
Gestão de desastres naturais

46
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
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
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
Aplicações e Cenários de Uso

50
Aplicações e Cenários de Uso

51
Computador Vestível (Wearable Computer)

52
Computador Vestível (Wearable Computer)

53
Telepresença

54
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
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,
• Processamento disponibilidade, segurança,
desempenho,
• Poder e custo no manutenibilidade,
processamento personalização
• Armazenamento • Temas éticos
• Coleta de dados – Privacidade, “intrusiveness”,
• Transmissão de dados impacto social e cultural
– Taxa, conectividade

56
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
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
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
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
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
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
serviços para as novas Computação móvel
infraestruturas de Ubicomp = +
comunicação sem fio
Ambiente inteligente

62
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
Conclusões: Pesquisa@UFMG.br
● Frameworks Web para ● Sistemas baseados em
aplicações ubíquas eventos
● Contexto coletivo

64
Conclusões
● Fim!
● Contato
● wpjr2@yahoo.com
● Perguntas?

65
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
– "The Computer for the 21st Century," Scientific American, pp. 94-10,
September 1991
• http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html
– "Some Computer Science Problems in Ubiquitous Computing,"
Communications of the ACM, July 1993.
– "Hot Topics: Ubiquitous Computing" IEEE Computer, October 1993.
– "The world is not a desktop". Interactions; January 1994; pp. 7-8.
• Context Aware Computing Applications
– Bill N. Schilit, Norman Adams, and Roy Want
66