Computação Ubíqua e a Internet do Futuro Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br Universidade Federal de Minas Gerais Departamento de Ciência da Computação UDESC/CEAVI, Ibirama, SC, 27/9/2011
Falar de Computação Ubíqua e a Internet do Futuro é equivalente a falar do Problema da Sorveteria: se você não gosta tem algo errado; se você gosta, qual é o sabor de hoje?
Histórico da Comunicação
Qual é o tamanho do mundo do ponto de vista da comunicação? Ao longo do tempo, o homem tem conseguido atingir distâncias cada vez maiores ... ... e o mundo tem ficado cada vez “menor”
O problema fundamental em sistemas distribuídos Comunicação (troca de dados, informação) entre entidades comunicantes Problema existente em cenários onde há necessidade de trocar dados
Primórdios da comunicação sem fio (CSF) Fogo Sinais de fumaça Bandeiras Pombo correio Telégrafo óptico Hoje também existem vários “sabores” dependendo do tipo de acesso à Internet No futuro, possivelmente teremos uma maior diversidade!
Primórdios da CSF Grécia antiga Peça Agamemnon, escrita por Aeschylus em 458 aC, descreve como sinais de fogo foram usados, supostamente, para comunicar a queda de Tróia para Atenas numa distância acima de 450 km Aeschylus
Primórdios da CSF Grécia antiga Problema com sinais de fogo: Número de mensagens diferentes que podem ser enviadas é bastante limitado Problema identificado por Polybius, historiador grego do segundo século aC Não havia como mandar uma nova msg que necessitasse atenção imediata
Primórdios da CSF Grécia antiga Polybius de Megalopolis (c. 203aC–120aC) filho de Lycortas, historiador grego, famoso pelo seu livro chamado “The Histories” ou “The Rise of the Roman Empire” o qual cobre o período de 220aC a 146aC. Estátua de Polybius achada em Cleitor, Grécia
Primórdios da CSF Grécia antiga: Solução de Polybius Dois conjuntos de cinco tochas Suposições: Há um acordo prévio entre os sinalizadores sobre a codificação das letras e as regras de comunicação a serem usadas Alfabeto dividido em cinco conjuntos de cinco letras
Primórdios da CSF Grécia antiga: Solução de Polybius Regras de comunicação: Sinalizador que inicia a transmissão levanta duas tochas Sinalizador que irá receber a mensagem levanta duas tochas como confirmação que está pronto Sinalizador TX usa o conjunto de tochas da esquerda para indicar o conjunto do alfabeto a ser usado e o conjunto de tochas da direita para indicar a letra a ser transmitida Mensagens arbitrárias poderiam ser enviadas Método usado por quase 20 séculos Esses princípios valem ainda hoje e possivelmente enquanto não houver uma revolução tecnológica na CSF
Observação sobre os tipos de comunicação Comunicação sem fio e com fio são complementares Os dois tipos de comunicação devem continuar a crescer Com fio: fibra óptica Sem fio: novos protocolos e velocidades mais altas
O Nome do Jogo ou A Evolução da Computação em Ambientes de CSF
Evolução dos Sistemas Computacionais Computador Móvel
Computação Autonômica Computação na nova era Novas disciplinas Computação móvel/ nômade Computação ubíqua/ pervasiva Computação autonômica e “gêneros de computação” Computação ciente de localização Computação ciente de contexto “Inteligência de ambiente” Computação Móvel Ubíqua Computação Autonômica
Computação móvel Dispositivos computacionais portáteis + Comunicação sem fio Computação pessoal em qualquer lugar e a qualquer momento Ser capaz de trabalhar longe do desktop, em lugares onde tarefas precisam ser executadas Outro nome para computação móvel: Computação nômade para acessar dados e aplicações
Computação móvel Infra-estrutura Rede Comunicação sem fio Roteamento Segurança, privacidade, ... Hardware: Gerenciamento de energia Capacidade limitada PAN LAN MAN WAN Bluetooth USB IEEE 802.11 “WiFi” IEEE 802.3 Ethernet IEEE 802.16 “WiMAX” IP IEEE 802.20 (proposto)
Computação móvel Dispositivos portáteis Software/Dados Sincronização/replicação Aplicações móveis são aplicações para desktop numa “caixa menor”?
Computação móvel Dispositivos portáteis?
Computação ciente de ... Localização Contexto Físico Lógico
Computação ciente de localização Sistemas cientes de localização Rastreamento da localização Acesso a recursos e informação dependentes da localização Comportamento dependente da localização Computação ciente de “rastreamento” Oportunidades fantásticas nesta área!
Computação ciente de localização Exemplo: Guia turístico
Computação ciente de localização Tecnologias para ambientes externos GPS, 24 satélites http://www.gps.gov/ Global Positioning System (GPS) European Satellite Navigation System (Galileo) Métodos baseados em telefonia celular AOA, TOA, TDOA, E-OTD, A-GPS E911 (http://www.fcc.gov/911/enhanced/) Galileo, 30 satélites http://ec.europa.eu/dgs/ energy_transport/galileo/
Computação ciente de localização Tecnologias para ambientes internos Infravermelho Ultra-som RF (Radio Frequency) Wireless LAN Exemplo: Cricket Indoor Location System (Ultrasonic + RF) http://cricket.csail.mit.edu/
Computação ciente de contexto Sistemas cientes de contexto consideram um contexto (cenário, ambiente, ...) Contexto físico ambiente data e hora temperatura umidade capacidade do dispositivo recursos de infra-estrutura localização/rastreamento Contexto lógico interesses trabalho/lazer atividade preferências do usuário Individual/coletivo (social) Aspectos fundamentais da Internet do futuro! Soluções baseadas no usuário e não na rede!
Computação ciente de contexto Contexto como informação: Caracteriza uma situação de uma pessoa, lugar ou objeto relevante para a interação entre usuário e aplicação localização identidade estado e atividades de pessoas, grupos estado de objetos computacionais e físicos Processamento ciente de contexto Usa informação de contexto para seletivamente apresentar informação e serviços automaticamente executar um serviço anexar informação de contexto para tratamento posterior
Computação ciente de contexto Explora nosso dia-a-dia fisicamente logicamente Atualmente, “tentamos” incorporar o contexto às nossas aplicações móveis ainda de forma primitiva
Computação ciente de contexto Daqui para o futuro Dispositivos com Internet embutida estão se tornando cada vez mais populares Acesso à Internet está se tornando ubíquo Capacidade de comunicação está aumentando Redes com finalidades específicas tendem a desaparecer TV, dados, voz, ...
Computação ciente de contexto Hierarquia de redes
Computação ciente de contexto Questões de privacidade Quem pode acessar “sua” informação de contexto? Como e onde essa informação é armazenada? Quais são os potenciais benefícios de compartilhar essa informação? Como podemos controlar quem acessa nosso contexto? Aspectos fundamentais para a Internet do futuro
Computação ubíqua (Ubicomp) e a Internet do futuro Ubicomp integra computação ao ambiente A idéia é não ter computadores “visíveis” como objetos distintos Outros termos para computação ubíqua: Computação pervasiva Tecnologia calma Coisas que pensam Everyware (cunhado por Adam Greenfield) Internet pervasiva Objetivo: Embutir computação no ambiente e nos objetos do dia-a-dia Permitir às pessoas interagirem com dispositivos que têm capacidade de processamento de informação naturalmente Adaptar a partir do contexto onde elas se encontram
Crescimento da Internet e sistemas distribuídos Ubicomp Tendências em computação Comentários Mainframe (1a onda) Várias pessoas compartilham um computador Computador pessoal (2a onda) Um computador, uma pessoa Crescimento da Internet e sistemas distribuídos Computação ubíqua (Visão de Weiser: 3a onda da computação?) Vários computadores por usuário "Ubiquitous computing names the third wave in computing, just now beginning. First were mainframes, each shared by lots of people. Now we are in the personal computing era, person and machine staring uneasily at each other across the desktop. Next comes ubiquitous computing, or the age of calm technology, when technology recedes into the background of our lives."
Ubicomp Princípios de Mark Weiser para descrever computação ubíqua: A finalidade de um computador é ajudar uma pessoa a fazer algo O melhor computador é um “servo” quieto e invisível O computador deveria estender a inconsciência de uma pessoa Tecnologia deveria criar tranqüilidade Ao projetar a tecnologia calma, Mark Weiser e John Brown descrevem essa tecnologia como “aquela que informa mas não demanda nosso foco ou atenção”
Ubicomp i “The Coming Age of Calm Technology”, Mark Weiser and John Seeley Brown, Chapter 6. In: Beyond Calculation: The Next Fifty Years of Computing. Peter Denning and Robert Metcalfe, eds. 1998, xix, 313 p., 15 illus., Softcover, Springer http://en.wikipedia.org/wiki/Mark_Weiser Ambient Devices (http://www.ambientdevices.com)
Ubicomp Palavras-chaves da visão de Mark Weiser: Tecnologia calma Invisível Dispositivos na periferia de nossos sentidos O computador não é o centro da atração As melhores ferramentas são (quase) invisíveis aos seus usuários Relações pessoa-pessoa e pessoa-computador Hardware e software deveriam fundir em “underware”
Ubicomp Dispositivos computacionais por todo lugar nas pessoas (inclusive internamente?) nos veículos nos tecidos nos móveis nos produtos que consumimos … Podem variar de etiquetas passivas a dispositivos de informação conectados em rede
Ubicomp Atualmente, temos processadores embutidos em dispositivos eletro-eletrônicos carros, aviões, ... … No entanto, a maior parte deles não é conectada à rede interoperável ciente de contexto
Ubicomp Computação ubíqua significa levar a computação para fora do computador pessoal Conecte com o que as pessoas fazem Permeie o mundo físico UbiComp = “Pervasivo”, “Ambiente”, “Contexto” Base para a Internet do futuro!
Ubicomp em perspectiva Eletrodomésticos “inteligentes” O forno inteligente: Controlado por botões ou computador? Programado por tempo ou “alimento pronto”? É hora da auto limpeza? Faça a programação Há alguma “coisa” queimando? Alguma “coisa” entornou que precisa limpar o forno? Os suportes da panela, tabuleiro, ..., estão na posição correta? A pessoa está autorizada a operar o forno? O que você precisaria para confiar no seu forno? E na sua casa?
Computação desagregada Ubicomp Computação de mesa Computação móvel Ambiente inteligente Computação desagregada Computação invisível Realidade aumentada Ubicomp = Computação móvel + Ambiente inteligente
Ubicomp oferece novas opções Haja luz, mas como? Aperte o interruptor Solução física Bata palmas Som Toque um display de controle Diálogo baseado em uma interface de usuário Toque o mapa que representa o ambiente Use um tablet, celular, … Diga “Ligue as lâmpadas” Voz Diga “Ligue aquela lâmpada” Multimodal “Eu quero ler um livro” Está escuro Infere uma ação Faça um gesto específico Visão Entre na sala Automático
Ubicomp Questões de longo termo Atenção Complexidade Privacidade Segurança Extensibilidade
Ubicomp Complexidade (para usuários) Várias decisões para serem tomadas pelo sistema Vários dispositivos para gerenciar É necessário um certo grau de automação “Regras de comportamento” Mas, de onde obtê-las? Mas, como gerenciá-las?
Ubicomp Privacidade Sistema deve tomar várias decisões para/sobre uma pessoa Sistema precisa de informações Quem obtém a informação? Boas intenções podem se transformar em práticas inapropriadas
Ubicomp Segurança Começa pela disponibilidade de serviços Como você sabe com quem está falando? Ubicomp requer conectividade dinâmica troca de vários dados pessoais evitar acessos fraudulentos
Ubicomp Extensibilidade Interoperabilidade Vários domínios/vários tipos de ambientes Casa, trabalho, veículo Necessidade de padronização Configuração Ferramentas para gerenciar dispositivos e processos Validação
Ubicomp Como essas e outras questões são tratadas? Indústria segue em frente Aparecem soluções ad hoc Tentativa e erro Unificada vs. diversificada Teoria Técnicas Metodologia Ferramentas Do ponto de vista acadêmico, oportunidades incríveis de pesquisa! Do ponto de vista não acadêmico, oportunidades incríveis de desenvolvimento tecnológico de ponta! Nesse caso, a base científica é que permite o avanço tecnológico
O Desenvolvimento de Aplicações para o Ambiente de Computação Móvel/Ubíqua
Desenvolvendo aplicações e serviços Um exemplo “simples” Solução “tradicional”: Empresa disponibiliza versão de uma aplicação a partir da versão/site disponível para a rede fixa Exemplo de aplicações típicas dessa solução: Informações de vôos e bolsa de valores Correio eletrônico Agenda eletrônica Possivelmente, usuário terá que executar mais de uma aplicação seqüencialmente, lembrando e/ou cortando/colando dados de uma aplicação para outra
Exemplo de uma aplicação que segue esse princípio Michel combinou com Dilma de buscá-la no aeroporto Dilma enviou uma mensagem eletrônica para Michel com informações sobre o seu vôo, que foram armazenadas na agenda eletrônica do Michel O vôo está marcado para chegar às 17:21 da próxima quarta-feira e, normalmente, Michel gasta 45 min para ir de seu local de trabalho até o aeroporto
Exemplo de uma aplicação que segue esse princípio Michel marca o evento na sua agenda eletrônica para às 16:15 permitindo, assim, tempo para avaliar a situação antes de sair Nesse dia, Michel não está no escritório e precisa de algumas informações: Acesso a sua agenda eletrônica Informação do vôo Condições de tráfego
Exemplo de uma aplicação que segue esse princípio O que Michel deve fazer às 16:15: Receber uma notificação de sua agenda eletrônica sobre essa entrada Guardar informações sobre companhia aérea, vôo e horário, que podem ser anotadas no tablet Acessar o servidor Web do aeroporto ou da companhia aérea para saber informações sobre o vôo (este passo, provavelmente, irá exigir alguma navegação) Navegar pela página de informação do vôo informando número do vôo, data, etc
Exemplo de uma aplicação que segue esse princípio O que Michel deve fazer às 16:15: Verificar se o vôo está no horário ou não Se o vôo não estiver no horário, estimar quando os passos 1 a 5 serão repetidos Acessar o servidor Web de informação de tráfego (este passo, provavelmente, irá exigir alguma navegação) Determinar a hora em que ele terá que ir para o aeroporto
Exemplo de uma aplicação que segue esse princípio Todos os passos, exceto o 1, exigem atenção da pessoa que está usando o dispositivo Se a pessoa estivesse usando um desktop, poderia fazer tarefas típicas desse ambiente Em um tablet é pouco provável que a pessoa vá executar mais de uma aplicação simultaneamente e sua atenção deve ser maior para a tarefa sendo executada
Exemplo de uma aplicação que segue esse princípio Seja um projeto dessa aplicação, que usa uma abordagem baseada em tarefa Suponha que exista um serviço agregador de conteúdo de informação de vôo usando essa abordagem Neste caso, após Michel combinar com Dilma de buscá-la no aeroporto, ele contacta o serviço agregador e passa a informação sobre o vôo
Exemplo de uma aplicação que segue esse princípio Nova versão: O serviço monitora o status do vôo da Dilma Se o vôo está atrasado, Michel é notificado O serviço monitora a localização do Michel na cidade e o tempo esperado para chegar ao aeroporto baseado nas condições de tráfego daquele momento onde se encontra Michel recebe uma notificação de quando ele precisa ir para o aeroporto baseado nas informações do vôo e tráfego A notificação pode ser feita enviando uma mensagem para o tablet ou através de SMS
Exemplo de uma aplicação que segue esse princípio Segunda solução mais fácil para o usuário Serviço funciona como seu assistente A primeira solução é uma “miniaturização” de uma aplicação para o ambiente de CM, feita a partir de uma versão da rede fixa Trata o ambiente móvel e a tecnologia associada como um subconjunto do ambiente “tradicional”
Aspectos positivos do paradigma móvel/ubíquo O dispositivo móvel está sempre com o usuário e “sempre” ligado Não é comum um computador “desktop” ficar com o usuário Um “laptop” tende a ser ligado e conectado apenas quando o usuário está parado Interface mais “intuitiva”
Aspectos positivos do paradigma móvel/ubíquo Quando uma aplicação num dispositivo móvel relacionada, por exemplo, com: Agenda eletrônica ou escalonamento de tarefas; Localização física do usuário e/ou do servidor; Perfil do usuário dado um contexto (compras, deslocamento, viagem, entretenimento, etc) é possível fazer deduções a partir do contexto do usuário
Aspectos positivos do paradigma móvel/ubíquo Lado fixo da aplicação deve ter como foco enviar informações relacionadas com o contexto e com a atividade que está sendo executada Contexto e atividade podem assumir diferentes aspectos como localização física do usuário, condições físicas de comunicação, características físicas do dispositivo portátil, e prioridade para acessar/ter um dado
Aspectos positivos do paradigma móvel/ubíquo Tecnologias de CSF, como Bluetooth, são capazes de criar redes pessoais sem que o usuário perceba que isso está ocorrendo Obviamente, o usuário de um dispositivo móvel com Bluetooth deve programar o seu dispositivo para que isso ocorra da forma desejada
Aspectos positivos do paradigma móvel/ubíquo Tecnologia “push” é possivelmente a forma de comunicação mais apropriada para comunicar com o usuário Pode ser feita em janelas de tempo mais apropriadas de: comunicação (quando o canal experimenta uma qualidade melhor), e atenção do usuário (que pode estar voltada para outra atividade)
Comentários Novos/atuais processos de engenharia de software devem ser definidos/reavaliados Algumas ferramentas identificadas: Disponibilização de conteúdo de forma “apropriada” para o ambiente de CSF Ferramentas para “agregação” de conteúdo Serviços baseados na localização/rastreamento
Time Magazine Person of the Year: You “Yes, you. You control the Information Age. Welcome to your world.” Time Magazine, Dec. 25, 2006, vol. 167, no. 51 Sim, as pessoas tendem cada vez mais a controlar a era da comunicação e informação i
Time Magazine Future of Technology Time Magazine, June 19, 2000, vol. 155, no. 25 i
Comentários ... Internet se tornará ubíqüa ... ... Os acessos serão feitos através de enlaces de alta velocidade e baixa potência ... ... Diferentes dispositivos computacionais terão Internet embutida e conversarão entre si... ... Teremos dispositivos computacionais com múltiplas funções ... ... Um nome “interessante” para esse dispositivo seria WIDGET ... ... Em 2020, possivelmente teremos mais “coisas” online (“aparelhos”, veículos, prédios, etc) que pessoas ... ... Dispositivos programáveis serão tão baratos que serão embutidos em caixas, etc...
Conclusões do artigo Computação ubíqüa Internet embutida Possivelmente baseada numa infra-estrutura (pico) celular e satélite Redes móveis ad hoc Internet embutida
Redes de Sensores Sem Fio
Futuro da Computação passa pelas RSSFs
Rede de sensores e seus componentes Satélite Avião não-tripulado “Arara” Relatórios Imagens Estação Meteorológica Rede de sensores e seus componentes Outras fontes de dados podem ser usadas para auxiliar as funções da RSSF MICA2/MICAz Crossbow Banco de dados Internet Dado Processado Comando/ Consulta Observador Canal para enviar dados e receber comandos da Internet Dados são processados e roteados para o Gateway Nó sensor Gateway RSSF Dados Dados coletados pela RSSF Aplicação a ser monitorada por uma RSSF
Arquitetura típica de um nó sensor Tempo de vida limitado Memória limitada Baixa velocidade Elemento de Sensoriamento Elemento de Processamento Comunicação F O N T E D R G I A S E N O R MEMÓRIA R Á D I O A D C MICRO PROCESSADOR ALGORITMOS Requer supervisão Processador mais lento SO TEMPO REAL
RSSFs e Desafios Científicos
RSSFs e Desafios Científicos Do ponto de vista científico, há muito por ser feito: São redes com características bem distintas das redes tradicionais como a Internet Projetar aplicações para essas redes é desafiante devido à larga escala e várias restrições (físicas, operacionais) Não temos ainda fundamentos e modelos apropriados Interagem com várias outras áreas do conhecimento humano (aplicações) Esses modelos não estão claros ainda
RSSFs e a Ciência Brasileira Claramente permite criar uma agenda de pesquisa de longo prazo Tem o potencial de estabelecer avanços significativos para a CC e outras áreas do conhecimento É estratégico para o Brasil
RSSFs e a Ciência Brasileira Academia: Ciências exatas (CC, ...), humanas, sociais, engenharias Agências governamentais: EMBRAPA, Inst de Pesquisas da Amazônia, ... Indústrias ...
Conclusões
Comentários Imenso potencial para aplicar e usar os novos paradigmas de computação móvel/ubíqua Atividades humanas podem se beneficiar dessa tecnologia Premissa básica: Não adianta existir uma tecnologia interessante e de grande potencial se não existirem aplicações e serviços interessantes
Comentários A Internet móvel do futuro será baseada em um modelo centrado em comunicação de dados tendo o usuário como “foco” Nova Internet irá evoluir para incluir novas aplicações e serviços Como será a convivência entre o “velho” e o “novo”? Novos dispositivos, aplicações e serviços serão projetados, orientados a segmento específicos
Comentários Paradigma traz novos desafios Aplicações e serviços devem ser disponibilizados de forma consistente em redes e dispositivos diferentes Desafio importante/Oportunidade interessante O projeto de aplicações e serviços para as novas infra-estruturas de CSF é o grande desafio para o sucesso desse novo paradigma computacional Possivelmente onde haverão grandes oportunidades para o país competir no mercado internacional
Nos Bailes da Vida ou Falando um pouco sobre o nosso futuro Milton Nascimento & Fernando Brant Só quem toma um sonho Como sua forma de viver Pode desvendar o segredo de ser feliz A computação deve ser um instrumento meio para isso Com a roupa encharcada e alma repleta de chão Todo artista tem de ir aonde o povo está Se foi assim, assim será Cantando me disfaço e não me canso de viver Nem de cantar Levar essa personalização ao usuário será um grande desafio
Obrigado! Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br Universidade Federal de Minas Gerais Departamento de Ciência da Computação
Por que investir na sua formação (Mestrado e Doutorado)? É onde a inovação efetivamente ocorre De cada 10 PhDs formados nos EUA, 9 vão para a indústria EUA é o país de maior inovação em TIC Inovação vem /é feita por pessoas que passaram por esse processo Onde estudar no Brasil? Existem vários programas de PG (+80) mas a UFMG se destaca Bacharelado (último ENEM): 1º lugar da área e 3º geral PG (programa nível 7 CAPES) Colaboração com empresas fora do Brasil e várias empresas de tecnologia de ponta em BH Recebemos alunos de todo o Brasil (com bolsa) O único laboratório de pesquisa da Google na AL está em BH Possui grupos de pesquisa fortes em várias áreas da TIC