apresentação de monografiaendler/courses/mobile/... · sistema de localização física indoor de...
TRANSCRIPT
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
O Projeto OxygenO Projeto Oxygen
Apresentação de MonografiaProjeto Oxygen
Marcelo Ferreira [email protected]
Apresentação de MonografiaProjeto Oxygen
Marcelo Ferreira [email protected]
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 2Slide 2
MotivaçãoMotivação
�� HomemHomem ee ComputadorComputador•• Computação centrada na máquinaComputação centrada na máquina
–– InteraçãoInteração –– tecladosteclados, , monitoresmonitores, mice, mice–– ProgramaçãoProgramação –– linguagenslinguagens poucopouco expressivasexpressivas e de e de difícildifícil compreensãocompreensão–– Não há contextoNão há contexto……
•• Computação centrada Computação centrada no no homemhomem–– Interação Interação –– GestosGestos, , vozvoz, , olharolhar–– Programação Programação –– Próxima da linguagem Próxima da linguagem do do homemhomem, , baseada em intençõesbaseada em intenções, ,
metasmetas……–– Percepção Percepção do do contextocontexto
�� Evolução TecnológicaEvolução Tecnológica•• Computação MóvelComputação Móvel•• Inteligência Inteligência ArtificialArtificial•• Interação HomemInteração Homem--ComputadorComputador
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 3Slide 3
OxygenOxygen
�� Desafios:Desafios:•• Ubíquo Ubíquo –– computação em todo lugarcomputação em todo lugar•• Embutido Embutido –– computação no mundo humanocomputação no mundo humano•• Nômade Nômade –– mobilidade de usuários e computaçõesmobilidade de usuários e computações•• Adaptável Adaptável –– flexibilidade frente a mudançasflexibilidade frente a mudanças•• Poder e eficiência Poder e eficiência –– computação livre de restrições de recursoscomputação livre de restrições de recursos•• Intencional Intencional –– identificação de objetos pela intençãoidentificação de objetos pela intenção•• Eterno Eterno –– o sistema não pode pararo sistema não pode parar
�� O nome OxygenO nome Oxygen•• “Futuro em que os dispositivos de computação estarão “Futuro em que os dispositivos de computação estarão
livremente disponíveis e facilmente acessíveis, como o oxigênio livremente disponíveis e facilmente acessíveis, como o oxigênio é hoje”é hoje”
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 4Slide 4
Visão GeralVisão Geral
�� ComponentesComponentes•• E21E21•• H21H21•• N21N21•• O2SO2S•• K21K21
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 5Slide 5
PesquisaPesquisa
�� O desenvolvimento do projeto é organizado da seguinte O desenvolvimento do projeto é organizado da seguinte forma:forma:
•• Tecnologias de dispositivosTecnologias de dispositivos•• Tecnologias de redeTecnologias de rede•• Tecnologias de softwareTecnologias de software•• Tecnologias de interação e percepçãoTecnologias de interação e percepção•• Tecnologias de usuárioTecnologias de usuário
�� AplicaçõesAplicações•• Sala inteligenteSala inteligente•• Acompanhamento de congressosAcompanhamento de congressos•• Anjo da GuardaAnjo da Guarda•• GuiasGuias
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 6Slide 6
Tecnologias de DispositivosTecnologias de Dispositivos
�� CricketCricket•• Sistema de localização física indoor de dispositivosSistema de localização física indoor de dispositivos•• Requisitos:Requisitos:
–– PrivacidadePrivacidade–– Administração e manutenção não centralizadosAdministração e manutenção não centralizados–– Independente de tecnologia dos dispositivos de usuárioIndependente de tecnologia dos dispositivos de usuário–– GranularidadeGranularidade
•• BeaconsBeacons•• ListenersListeners
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 7Slide 7
CricketCricket
�� BeaconsBeacons•• Fixado ao ambiente a ser anunciadoFixado ao ambiente a ser anunciado•• Define uma string associada ao espaço,Define uma string associada ao espaço,
transmitida por RFtransmitida por RF–– Pode trazer nome de um servidor dePode trazer nome de um servidor de
informações ou resolvedor de nomesinformações ou resolvedor de nomespara os recursospara os recursos
•• MultiplicidadeMultiplicidade–– Tolerância a falhas, precisão e coberturaTolerância a falhas, precisão e cobertura
•• Baixo custo ~US$10.00Baixo custo ~US$10.00
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 8Slide 8
CricketCricket
�� ListenersListeners•• Fixado ao dispositivo que devem obter informções Fixado ao dispositivo que devem obter informções
sobre localizaçãosobre localização•• Informações serão usadas para inferir sobre o Informações serão usadas para inferir sobre o
contexto espacial (API)contexto espacial (API)•• Informar aos serviços pertinentesInformar aos serviços pertinentes•• Exemplo: ImpressoraExemplo: Impressora
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 9Slide 9
CricketCricket
�� Determinação de localizaçãoDeterminação de localização•• RF + ultraRF + ultra--somsom
–– Beacon envia ao mesmo tempo informação do espaço por RF e um Beacon envia ao mesmo tempo informação do espaço por RF e um pulso ultassônicopulso ultassônico
–– A diferença entre chegada dos dois sinais é usada pelo listener A diferença entre chegada dos dois sinais é usada pelo listener para para o cálculo da distânciao cálculo da distância
•• Informação de qual é o beacon mais próximoInformação de qual é o beacon mais próximo�� Redução de interferênciaRedução de interferência
•• Não existe coordenação para as transmissõesNão existe coordenação para as transmissões•• Listeners não emitem sinalListeners não emitem sinal•• Colisões em RFColisões em RF•• UltraUltra--som vulnerável a múltiplos caminhossom vulnerável a múltiplos caminhos•• Randomização do acessoRandomização do acesso
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 10Slide 10
CricketCricket
�� Comparativo entre sistemas de localização Comparativo entre sistemas de localização indoorindoor
Bat Acrive Badge Radar Cricket Privacidade do
usuário Não Não Possível, mas com
computação do usuário
Sim
Descentralizado Não Não
A Base de dados de sina is RF é centralizada
Sim
Redes he terogêneas Sim Sim Não Sim
Custo Alto Alto
Sem custo extra, mas rede
homogênea
Baixo (~US$10)
Facilidade de instalação
Difícil, pois requer matriz de
sensores
Difícil, pois requer matriz de
sensores
Mapeamento prévio de sinais RF Fácil
����cricket2.mpeg
2:42
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 11Slide 11
Tecnologias de DispositivosTecnologias de Dispositivos
�� H21H21•• Dispositivos anônimos portáteisDispositivos anônimos portáteis•• Sem armazenamento local de dadosSem armazenamento local de dados•• Configuração automática via softwareConfiguração automática via software
–– Permite seu uso em vários ambientes para vários propósitosPermite seu uso em vários ambientes para vários propósitos–– Preferências do usuárioPreferências do usuário–– Reconhecimento do tipo de redeReconhecimento do tipo de rede
•• Facilidades de interaçãoFacilidades de interação•• Ferramenta universal para comunicação e computaçãoFerramenta universal para comunicação e computação•• Conservação da energiaConservação da energia•• Por enquanto, protótipo baseado em tecnologia comercialPor enquanto, protótipo baseado em tecnologia comercial
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 12Slide 12
H21H21
�� AutoconfiguraçãoAutoconfiguração•• Utiliza software local ou remoto para reconfiguração e Utiliza software local ou remoto para reconfiguração e
execução de tarefas particulares de cada tipo de ferramentaexecução de tarefas particulares de cada tipo de ferramenta•• Hardware de comunicação possui apenas entradas de sinais Hardware de comunicação possui apenas entradas de sinais
das antenas, conversor analógico/digital, saída através de som das antenas, conversor analógico/digital, saída através de som ou vídeoou vídeo
•• Interface de rede adaptávelInterface de rede adaptável–– Código pode ser trazido automaticamente para incorporar novos Código pode ser trazido automaticamente para incorporar novos
protocolos, permitindo handoff vertical (além do horizontal)protocolos, permitindo handoff vertical (além do horizontal)•• Adaptações de acordo com condições do canalAdaptações de acordo com condições do canal
–– Baixo ruído permite diminuição na potência de transmissãoBaixo ruído permite diminuição na potência de transmissão–– Levar em conta economia de energiaLevar em conta economia de energia
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 13Slide 13
H21H21
�� Protótipo iPaqProtótipo iPaq•• Compaq Ipaq com processador StrongArm 200MHzCompaq Ipaq com processador StrongArm 200MHz•• Backpack especialmente desenvolvido para o projetoBackpack especialmente desenvolvido para o projeto
–– CâmeraCâmera–– AceleradorAcelerador–– FPGAFPGA–– 2 slots PCMCIA2 slots PCMCIA
•• ArmazenamentoArmazenamento•• Comunicação sem fioComunicação sem fio
–– LinuxLinux����
guide.mpeg0:51
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 14Slide 14
Tecnologias de RedeTecnologias de Rede
�� INS INS –– Intentional Naming ServiceIntentional Naming Service•• Sistema Sistema de de resolução resolução de de nomes nomes -- RequisitosRequisitos
–– ExpressividadeExpressividade: : manipular diversos tipos manipular diversos tipos de de dispositivosdispositivos, com , com consultas arbitráriasconsultas arbitrárias
–– AdaptabilidadeAdaptabilidade: : conforme mobilidadeconforme mobilidade, , desempenhodesempenho, , mudança na mudança na melhor localização melhor localização do do serviçoserviço
–– RobustezRobustez: : tolerância tolerância a a falhas falhas dos dos resolvedoresresolvedores, , balanceamento balanceamento de de cargacarga
–– Fácil configuraçãoFácil configuração: : mínima intervenção humanamínima intervenção humana•• Busca pelo que Busca pelo que se se deseja deseja e e não onde encontránão onde encontrá--lolo•• UsoUso dede linguagemlinguagem dede nomes intencionaisnomes intencionais•• ResoluçãoResolução dede nomes combinada ao roteamentonomes combinada ao roteamento
–– Associação entre nome Associação entre nome e e localização localização é é feita feita no no momento momento do do envio envio de de cada mensagem cada mensagem (late binding)(late binding)
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 15Slide 15
INSINS
�� LateLate--bindingbinding•• Dois tipos Dois tipos de de serviçosserviços
–– Anycast intencionalAnycast intencional; Multicast ; Multicast intencionalintencional
����cricket.mpeg
1:47
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 16Slide 16
Tecnologias de RedeTecnologias de Rede
�� Segurança baseada em proxySegurança baseada em proxy•• Uso Uso de infrade infra--estrutura estrutura de de chaves públicaschaves públicas
–– ProblemaProblema: Alto : Alto consumo consumo de CPUde CPU•• Uso Uso de proxies de proxies implementados em implementados em software, software,
que executarão em máquinas mais potentesque executarão em máquinas mais potentes•• Cada dispositivo possui Cada dispositivo possui um proxyum proxy•• Proxy o Proxy o representarepresenta, , podendo buscar podendo buscar
informações sigilosas em seu nomeinformações sigilosas em seu nome•• Dois tiposDois tipos de de protocolosprotocolos
–– Device to proxyDevice to proxy–– Proxy to proxyProxy to proxy
•• Funcionalidade Funcionalidade antianti--vírusvírus����
proxy.mpeg2:48
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 17Slide 17
Tecnologias de SoftwareTecnologias de Software
�� MetaglueMetaglue•• Sistemas distribuídos modulares precisam de uma “cola” para Sistemas distribuídos modulares precisam de uma “cola” para
a interconexão de componentesa interconexão de componentes•• Extensão Extensão de Java de Java para programação para programação de de agentesagentes•• Provê Provê a a máquina máquina virtual virtual Metaglue para execução Metaglue para execução dos dos agentesagentes•• Overhead Overhead em relação em relação a Java a Java puropuro é é considerado desprezívelconsiderado desprezível•• OptouOptou--se se por não utilizar por não utilizar um um mecanismo específico mecanismo específico de de
comunicaçãocomunicação, , como como CORBACORBA•• DefineDefine umauma infrainfra--estrutura mais leve para controleestrutura mais leve para controle ee
comunicação entre os componentescomunicação entre os componentes•• AgentesAgentes se se comunicam basicamente por chamadascomunicam basicamente por chamadas dede métodosmétodos
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 18Slide 18
MetaglueMetaglue
�� FuncionalidadesFuncionalidades•• GerenciamentoGerenciamento de de configuraçãoconfiguração
–– Base de dados SQL Base de dados SQL interna para gerenciamento interna para gerenciamento dos dos atributos atributos ((parâmetrosparâmetros modificáveismodificáveis) dos ) dos agentesagentes
–– Ferramenta Ferramenta Web Web para edição para edição dos dos atributosatributos, , mesmo mesmo de de agentes em agentes em execuçãoexecuçãoAttribute location = new Attribute(Attribute location = new Attribute(““locationlocation””););
System.out.System.out.printlnprintln((““I run onI run on ““ + location.+ location.getValuegetValue());());
•• Configuração Configuração de de agentesagentes–– Primitiva para definir requisitos Primitiva para definir requisitos de de execução execução de de cada agentecada agente
tiedTotiedTo(location.(location.getValuegetValue());());
tiedTo(device.Television);tiedTo(device.Television);
–– Movimentação Movimentação dede agentes paraagentes para local local onde requisitosonde requisitos são atendidossão atendidos
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 19Slide 19
MetaglueMetaglue
�� FuncionalidadesFuncionalidades•• Conexões entre agentesConexões entre agentes
–– Primitiva para definir dependências entre agentesPrimitiva para definir dependências entre agentes, , por meio por meio de de funcionalidades funcionalidades ((atributosatributos) ) -- dinamismodinamismoAgentAgent speechSynthesizerspeechSynthesizer == reliesOnreliesOn(speech.Synthesizer);(speech.Synthesizer);
speechSynthesizer.say(speechSynthesizer.say(““Hello! How are you?Hello! How are you?””););
–– DiretórioDiretório de de agentes agentes (Catalog) (Catalog) para para as as buscasbuscas•• Estados Estados de de agentesagentes
–– Armazenamento Armazenamento ee recuperaçãorecuperação dede estados estados dede agentesagentesfreeze();freeze();
defrost();defrost();
•• ModificaçãoModificação dede sistema em execuçãosistema em execução–– ManutençãoManutenção do do funcionamentofuncionamento
•• Espera por agentes Espera por agentes dosdos quais dependiaquais dependia•• Disparo automático Disparo automático de de agente que satisfaz agente que satisfaz a a funcionalidadefuncionalidade
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 20Slide 20
MetaglueMetaglue
�� FuncionalidadesFuncionalidades•• Gerenciamento Gerenciamento de de recursosrecursos
–– Agentes devem Agentes devem se se manter informados sobre os recursos que os satisfazemmanter informados sobre os recursos que os satisfazem, , masmas o o cenário cenário é é dinâmicodinâmico
–– Informações sobre alternativas devem estar presentes Informações sobre alternativas devem estar presentes no no momento momento de de subsituição subsituição de de agentesagentes
–– Especificação Especificação das das funcionalidades em funcionalidades em alto alto nívelnível–– Negociadores prontos ou extensíveis para implementação Negociadores prontos ou extensíveis para implementação de de funções funções
específicasespecíficas•• Broadcasting de Broadcasting de eventoseventos
–– TrocaTroca dede mensagens entre agentesmensagens entre agentes–– Agentes Agentes se se registramjunto aos outros para recebimentoregistramjunto aos outros para recebimento dede notificaçõesnotificações ee
tratamento adequadotratamento adequado–– Suporte Suporte a a notificação notificação de de gruposgrupos, , pode pode ser ser usada para sinalizar mudanças usada para sinalizar mudanças
de de contextocontexto
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 21Slide 21
MetaglueMetaglue
�� FuncionalidadesFuncionalidades•• DebuggingDebugging
–– GUI GUI para análise para análise dos dos agentesagentes (Catalog Monitor)(Catalog Monitor)–– Mostra agentes ativos Mostra agentes ativos e e interconexões interconexões de de dependênciadependência–– Interação através Interação através de de chamadas chamadas de de métodos métodos e e visualização visualização de de
resultadosresultados–– Saída Saída textual dos textual dos agentes centralizada em agentes centralizada em um logum log
����metaglue.mpeg
3:04
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 22Slide 22
Tecnologias de softwareTecnologias de software
�� GoalsGoals•• Uso Uso de de metas abstratas metas abstratas de alto de alto nível para nível para a a expressão expressão dos dos
requisitos requisitos dos dos usuáriosusuários•• Sistema pode disponibilizar Sistema pode disponibilizar a a implementaçãoimplementação de um de um agente que agente que
utiliza os recursos atualmente disponíveisutiliza os recursos atualmente disponíveis•• Resolução Resolução de meta de meta não não é é estáticaestática, , deve haver monitoramento deve haver monitoramento
constante constante do do ambiente para ambiente para responder responder às modificaçõesàs modificações•• Princípios arquiteturaisPrincípios arquiteturais::
–– FromalizaçãoFromalização dede metas como construção semântica explícitametas como construção semântica explícita–– EstratificaçãoEstratificação das das aplicações em aplicações em CamadaCamada de de planejamentoplanejamento e e
CamadaCamada de de computaçãocomputação•• É um framework de É um framework de propósito geral para propósito geral para a a construção construção de de
sistemas adaptativos baseados em metassistemas adaptativos baseados em metas
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 23Slide 23
GoalsGoals
�� ExpressõesExpressões•• TeleConference(X,Y)TeleConference(X,Y)
–– Não provoca o disparo de um códigoNão provoca o disparo de um código–– Resolução da meta procurando por uma ou mais técnicas Resolução da meta procurando por uma ou mais técnicas
capazescapazes
�� Satisfação de uma meta:Satisfação de uma meta:•• Enumeração das técnicas aplicáveisEnumeração das técnicas aplicáveis•• Avaliação de cada técnica candidataAvaliação de cada técnica candidata•• Seleção da técnica por heurística (otimalidade)Seleção da técnica por heurística (otimalidade)•• Implementação do planejamentoImplementação do planejamento
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 24Slide 24
GoalsGoals
�� Rede distribuída Rede distribuída de de contextoscontextos–– Cada contextoCada contexto possui seu repositório possui seu repositório local de local de técnicas técnicas
personalizadas personalizadas de de acordo acordo com com preferências preferências de de alguma entidadealguma entidade
Copyright Copyright 2003 2003 LaboratLaboratóório rio TeleMídia TeleMídia -- Dep. Informática Dep. Informática –– PUCPUC--RioRio
Projeto OxygenProjeto OxygenSlide 25Slide 25
ConclusõesConclusões
�� IntegraçãoIntegração•• Oxygen é um grande projeto, que demanda a integração de Oxygen é um grande projeto, que demanda a integração de
vários laboratório de pesquisa do MITvários laboratório de pesquisa do MIT•• Mostra a capacidade de sinergia do institutoMostra a capacidade de sinergia do instituto
�� MarketingMarketing•• Várias publicações em revistas não especializadasVárias publicações em revistas não especializadas, com , com textos textos
em linguagem leigaem linguagem leiga•• Distribuição Distribuição de de vídeos demonstrativosvídeos demonstrativos
�� Criação Criação de de protótiposprotótipos•• DemonstramDemonstram a a viabilidade viabilidade de de introduçãointrodução de de ambientes ambientes
inteligentes nas vidasinteligentes nas vidas das das pessoaspessoas–– ProdutividadeProdutividade, , segurançasegurança e e bembem--estarestar ����
colaboration.mpeg7:56