Computação Ubíqua Ciente de Contexto: Desafios e Tendências



Documentos relacionados
Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME

2 Fundamentação Conceitual

IW10. Rev.: 02. Especificações Técnicas

Arquitetura dos Sistemas de Informação Distribuídos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Sistemas Distribuídos

SISTEMAS DISTRIBUIDOS

Introdução ao Modelos de Duas Camadas Cliente Servidor

4 Segmentação Algoritmo proposto

Sistemas Distribuídos

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Tecnologia PCI express. Introdução. Tecnologia PCI Express

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

MÓDULO 4 Meios físicos de transmissão

5 Mecanismo de seleção de componentes

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Disciplina: Introdução à Informática Profª Érica Barcelos

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

Márcio Leandro Moraes Rodrigues. Frame Relay

3 SCS: Sistema de Componentes de Software

4 Arquitetura básica de um analisador de elementos de redes

III.2. CABLE MODEMS CARACTERÍSTICAS BÁSICAS UNIDADE III SISTEMAS HÍBRIDOS

3 Arquitetura do Sistema

3 Qualidade de serviço na Internet

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Rede Corporativa. Tutorial 10 mar 2009 Fabio Montoro. Introdução

7.Conclusão e Trabalhos Futuros

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Evolução na Comunicação de

Computadores de Programação (MAB353)

Roteamento e Comutação

Redes de Computadores sem Fio

Cap. 1 Introdução. Redes sem Fio e Sistemas Móveis de Computação. Prof. Eduardo Barrére. Material Base: Marcelo Moreno. eduardo.barrere@ice.ufjf.

Engenharia de Software III

Visão geral das redes sem fio

1 Problemas de transmissão

Gerenciamento de Incidentes

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

REDES DE COMPUTADORES

Projeto de controle e Automação de Antena

Introdução a computação móvel. Middlewares para Rede de Sensores sem Fio. Uma avaliação na ótica de Adaptação ao Contexto

Sistemas Distribuídos. Aleardo Manacero Jr.

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA

Trabalhos Relacionados 79

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

Fundamentos de Hardware

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Aplicativo para elaboração de questionários, coleta de respostas e análise de dados na área da saúde em dispositivos móveis

TEORIA GERAL DE SISTEMAS

CHECK - LIST - ISO 9001:2000

Chamada de Participação V Competição de Avaliação - IHC 2012

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Sistemas Distribuídos. Introdução

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

1

ISO/IEC 12207: Gerência de Configuração

Gerência de Redes NOC

Forneça a próxima onda de inovações empresariais com o Open Network Environment

Feature-Driven Development

Sistemas Distribuídos

Suporte a redes CAN para Aplicações Embarcadas

MANUAL DE IMPLANTAÇÃO SISTEMA DE INVENTÁRIO CACIC GOVERNO FEDERAL SOFTWARE PÚBLICO

Capítulo 4 - Roteamento e Roteadores

Programa de Instalação do Lince GPS

Arquitetura de Rede de Computadores

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO

PLANOS DE CONTINGÊNCIAS

Análise em aparelhos de telefonia celular

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

Engenharia de Sistemas Computacionais

1 Introduc ao 1.1 Hist orico

Técnicas e ferramentas de ataque. Natiel Cazarotto Chiavegatti

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

BlackBerry Mobile Voice System

XDOC. Solução otimizada para armazenamento e recuperação de documentos

PROJETO DE REDES

PESQUISA-AÇÃO DICIONÁRIO

Programa de Atualização de Pontos do Lince GPS

FERRAMENTAS E SOLUÇÕES DE APOIO À GESTÃO E MANUTENÇÃO DE ATIVOS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. Prof. Angelo Augusto Frozza, M.Sc.

Quando se fala em ponto eletrônico, a primeira coisa que vem à sua cabeça ainda é dor?

PLANEJAMENTO DE CAPACIDADE EM INFRA-ESTRUTURAS SUPORTADAS POR SERVIÇOS TERCEIRIZADOS DE REDE DE COMUNICAÇÃO DE DADOS

A INTERNET E A NOVA INFRA-ESTRUTURA DA TECNOLOGIA DE INFORMAÇÃO

SISTEMAS DISTRIBUÍDOS

Entendendo como funciona o NAT

PROJETO DE REDES

Funções específicas de cada camada do modelo OSI da ISO.

Transcrição:

Capítulo 3 Computação Ubíqua Ciente de Contexto: Desafios e Tendências Antonio Alfredo Ferreira Loureiro, Ricardo Augusto Rabelo Oliveira, Thais Regina de Moura Braga Silva, Waldir Ribeiro Pires Júnior, Lillian Brandão Rezende de Oliveira,Rande Arievilo Moreira,Rafael Guimarães Siqueira,Bruno Pontes Soares Rocha,Linnyer Beatrys Ruiz Abstract Ubiquitous computing defines a new paradigm in which devices with processing and communication capacity are embedded into everyday elements, providing services in a transparentwaytousers. Itispossibletonoticethatthiskindofcomputinghasastrong connection with physical world features, as well as those presented by its users profiles. In this way, if ubiquitous systems are capable of using as input relevant information about entities(e.g., people, places or objects) related to the application, they can provide services that are more appropriate, dynamic and optimized, increasing the user satisfaction and minimizing resource consumption, such as energy, processing, communication, among others. Such information is called context and represents the basic input element for context-aware computing. The goal of this short course is to discuss research trends on the ubiquitous context-aware field, presenting and analyzing the research performed on specific challenges. Such proposal presents interesting solutions to problems ranging from physical aspects of wireless communication to the design of applications available to the users. Resumo A computação ubíqua é um novo paradigma no qual dispositivos com capacidade de processamento e comunicação são embutidos nos elementos do dia-a-dia, provendo serviços de forma transparente aos usuários. Pode-se observar que esse tipo de computação possui forte ligação com as características do mundo físico, bem como aquelas apresentadas pelos perfis de seus usuários. Assim, caso um sistema ubíquo seja capaz de utilizar como entrada informações relevantes sobre as entidades(e.g., pessoas, lugares, objetos)

100 27º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos relacionadas à aplicação, os mesmos poderão prover serviços de maneira mais precisa, dinâmica e otimizada, aumentando a satisfação dos usuários e minimizando o consumo de recursos tais como energia, processamento, comunicação, entre outros. Tais informações são chamadas de contextos e representam o elemento básico de entrada para a computação ciente de contexto. O objetivo deste minicurso é discutir tendências de pesquisa na área da computação ubíqua ciente de contexto por meio da apresentação e análise de trabalhos realizados sobre desafios específicos da área. Tais resultados apresentam soluções interessantes para desafios que vão desde problemas relacionados com a parte física da comunicação sem fio utilizada, até outros ligados às aplicações oferecidas aos usuários. 3.1. Introdução A computação ubíqua é caracterizada pela presença de dispositivos portáteis, cada vez mais comuns devido aos avanços na fabricação de componentes eletrônicos. Esses dispositivos possuem uma considerável capacidade de processamento, com recursos para comunicação sem fio e armazenamento de dados. Essa última característica permitiu o crescimento do uso de equipamentos portáteis capazes de lidar com dados multimídia. Esses dispositivos se popularizaram como handhelds, PDAs, e, atualmente, têm aparecido como smartphones e celulares de grande capacidade computacional. Além das funcionalidades originais, como capacidade de comunicação via telefonia celular, tais dispositivos também possuem diversas funcionalidades e interfaces como GPS, rádio e TV, tocadores de áudio e câmeras fotográficas digitais. Esses dispositivos vêm sendo usados em aplicações que envolvem indústria, medicina, uso pessoal, etc. Uma das principais áreas de pesquisa dentro da computação ubíqua é a computação ciente do contexto(context-awareness). A computação ciente ou sensível ao contexto (Context-Aware Computing) define uma área de pesquisa relativamente recente, que possui aplicações em diferentes cenários computacionais e que apresenta desafios de implementação importantes, os quais têm sido o alvo da atenção de pesquisadores provenientes de diferentes partes do mundo. A proposta desta área é, em linhas gerais, elaborar uma maneira de coletar para dispositivos computacionais, entradas capazes de refletir as condiçõesatuaisdousuário,doambientenoqualomesmoseencontraedoprópriodispositivo computacional utilizado, considerando tanto suas características de hardware, como também de software e de comunicação. Tais entradas são os chamados contextos. Vários pesquisadores publicaram trabalhos no início da década de 90, descrevendo definições para o significado do termo contexto. Dey et al[dey(2001)] formalizaram a definição de contexto como sendo Qualquer informação que possa ser utilizada para caracterizar a situação de entidades(pessoa, lugar ou objeto) que sejam consideradas relevantes para interação entre um usuário e uma aplicação(incluindo o usuário e aaplicação)". Essa é uma das definições mais aceitas e utilizadas atualmente por pesquisadores da área, embora várias outras tenham sido propostas e discutidas. Pode-se observar que a

Livro Texto dos Minicursos 101 definição é bastante imparcial quanto aos tipos e variedades de dados que podem ser considerados como contextos, sendo ampla o suficiente para aceitar as diversas necessidades específicas de cada aplicação. Além disso, os autores também não restringem as fontes de contextos possíveis de serem utilizadas, permitindo que tais dados reflitam a situação de qualquer entidade relevante para cada caso em particular. Finalmente é interessante notar como os autores conseguem apresentar uma definição precisa para o termo, sem a necessidade de listar tipos ou classes específicas de contextos. Embora os primeiros artigos na área de computação sensível ao contexto tenham sidopublicadosnoiníciodadécadade90, essaáreadepesquisacontinuaaindahoje bastante ativa. Possui muitas questões em aberto, as quais demandam intenso trabalho de pesquisa para que sejam amplamente entendidas, encontrando-se as melhores e mais eficiente técnicas e soluções relacionadas. A seguir estão listados alguns dos desafios de pesquisa ainda existentes divididos em algumas sub-áreas: Sensoriamento: Escolha e inclusão dinâmica dos contextos mais apropriados a cada aplicação; Técnicas para coleta de contextos físicos, lógicos e virtuais; Atribuição de semântica uniforme aos contextos utilizados; Identificação e escolha de fontes de contextos; Modelagem: Modelo de arquitetura para sistemas cientes de contexto; Modelo para representação uniforme da sintaxe dos dados de contexto coletados; Modelo de armazenamento de dados contextuais; Modelo de comunicação adotado entre diversos usuários ou aplicações; Qualidade: Qualidade de contexto(qoc); Qualidade de serviço(qos); Qualidade das fontes de contexto; Gerenciamento de aplicações cientes de contexto; Tratamento de falhas; Automatização de tarefas; Utilização de algoritmos de aprendizado; Identificação e tratamento de contextos individuais conflitantes; Identificação e tratamento de contextos coletivos conflitantes; Segurança: Segurança para troca de dados entre usuários e aplicações; Confiabilidade das fontes de contextos; Segurança da Informação de contexto; Existem publicados na literatura vários trabalhos descrevendo diferentes aplicações para a computação ciente de contexto. A seguir estão listadas algumas das principais ideias de aplicações desse tipo. No entanto muitas outras ainda podem ser elaboradas, vistoqueessaéumaáreacompotencialparaseraplicadaemdiversosediferentesaspectos. Uma das mais citadas aplicações cientes de contexto está relacionada ao turismo. OtrabalhodeCheverstetal[Cheverstetal.(2000)]éumdentreváriosquedescrevem como utilizar elementos de contexto para tornar a experiência de turistas mais simples, personalizada e rica de informações e detalhes. Em particular, o trabalho citado apresenta uma plataforma chamada GUIDE, construída para atender a demandas específicas de turistas que viajam para conhecer cidades diferentes. Os requisitos para a ferramenta, tais como flexibilidade, uso de informações sensíveis ao contexto, suporte para informações dinâmicas e serviços interativos, foram obtidos com especialistas na área de turismo.

102 27º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos O sistema combina tecnologias de computação móvel com uma estrutura de rede sem fio para apresentar aos visitantes informações adaptadas aos seus contextos pessoais e ambientais. Testes foram realizados por meio de utilização do sistema proposto por especialistas e também por usuários em potencial. O objetivo principal dos testes era revelar o grau de usabilidade do sistema, bem como pontos em que melhorias diversas deveriam ser realizadas. Schilit et al[schilit& Theimer(1994)] descrevem o Active Map Service", uma aplicação que mantém clientes informados sobre mudanças em seus ambientes. Mapas ativos descrevem a localização e as características de objetos dentro de alguma região enquanto os mesmos se modificam com o passar do tempo. Um aspecto importante, tratado com cuidado pelos autores do trabalho, é a questão de escala: mapas ativos devem tratar atualizações e consultas sobre regiões suficientemente grandes para satisfazer o interesse de clientes, assim como deve tratar picos de carga em regiões com intensa movimentação de usuários. Além disso, a solução proposta faz uso de endereçamentos e roteamentos multicast, uma vez que detecta grupos de usuários com interesses por atualizações comuns. Para garantir que não haverá sobrecarga nos canais de localização, provê limites garantidos no uso da largura de banda disponível. Embora possa ser utilizada por qualquer aplicação computacional para a qual seja relevante, o uso da sensibilidade ao contexto é especialmente importante para uma área em particular: a computação ubíqua e pervasiva. Este tipo de computação define uma nova maneira de relacionar usuários humanos e dispositivos computacionais. Essa é uma área recente de pesquisa que prevê a disponibilização de computação e comunicação sem fio o tempo todo e em todo lugar, permitindo que tais capacidades sejam incorporadas a elementos do dia-a-dia e utilizadas de maneira transparente[greenfield(2006)]. Especificamente, a mobilidade permitida aos usuários e seus objetos computacionaisemaplicaçõesubíquas,fazcomqueousodecontextosejaaindamaisimportante.as características utilizadas como entradas em tais soluções poderão se modificar a qualquer instante, e essa informação é crucial para que os melhores serviços sejam oferecidos aos usuários. Tais modificações podem ser observadas em situações nas quais o próprio usuário se movimenta de um local para outro, modificando-se assim as condições do ambiente corrente em variados aspectos(condições físicas, recursos físicos disponíveis, recursos computacionais disponíveis, fontes de contexto, conectividade, dentre outros) ou ainda quando outros usuários e/ou recursos se movimentam para dentro e para fora da área de interesse da aplicação. Interessante notar portanto o aspecto dinâmico do ambiente das aplicações, o qual faz da computação ciente de contexto uma aliada importante para o melhor funcionamento dos sistemas ubíquos. A restrição de recursos disponíveis para execução das aplicações é outro fator importante a ser considerado, sendo bastante afetado pela característica dinâmica das aplicações ubíquas e pervasivas. Uma vez que os recursos e serviços disponibilizados para os usuários se modificam ao longo do tempo, e os dispositivos utilizados são em geral pequenos, com poucas capacidades computacionais, de energia e memória, os sistemas desse tipo devem realizar um gerenciamento de recursos consistente de maneira a prolongar o tempo de vida da aplicação, mantendo os níveis de qualidade de serviço desejados pelos usuários. O uso de contextos é mais uma vez importante de ser utilizado como forma de manter as aplicações conscientes dos recursos disponíveis e demandados. Eles serão usados como entradas por algoritmos de

Livro Texto dos Minicursos 103 gerenciamento,capazesdecomparareescolheroqueprecisaeoquepodeserfeitopara os usuários. Oobjetivodesteminicursoéapresentaroestadodaartenapesquisaemalguns campos da pesquisa usando o computação ciente do contexto. A seção 3.2 apresenta dois trabalhos sobre a identificação de fontes de contextos e duas técnicas de aquisição de dados contextuais através da análise do sinal de rádio usado na comunicação sem fio. A seção 3.3 mostra a caracterização do usuário de dispositivos móveis através de perfis. A seção 3.4 propõe um sistema de a notificação de eventos para dispositivos móveis baseadonoperfilecontextosdousuário. Aseção3.5lidacomoconceitodecontextos coletivos, em situações nas quais os contextos dos diferentes usuários são discordantes ouincompatíveisentresie/oucomoambienteaseradaptadoeénecessáriolidarcom os problemas relacionados de maneira a maximizar a satisfação individual e coletiva dos usuários. A seção 3.6 aborda a segurança em dois tópicos, sobre confiabilidade dos dados compartilhados e a seleção adaptativa de protocolos de segurança. Por fim, a seção 3.7 possui os comentários finais sobre o tema de pesquisa abordado. 3.2. Aquisição de Dados Contextuais Aidentificaçãodefontesdecontextosnoambiente,bemcomoacoletadosdadoscontextuais por parte dos dispositivos ubíquos são tarefas importantes em sistemas ubíquos cientes de contexto. Cada tipo de dado contextual a ser utilizado apresenta seus próprios desafios de aquisição, processamento, co-relação com outros dados, verificação de qualidade, definição de sintaxe, associação semântica, dentre outros aspectos. Em particular, essa seção descreverá trabalhos que propõe soluções para aquisição de dois tipos de contextos importantes e frequentemente utilizados pelas aplicações: a qualidade do canal de comunicação sem fio e a localização. Sistema de Posicionamento Híbrido e Ubíquo para Dispositivos Móveis: Um sistema de posicionamento é uma ferramenta usada para determinar e registrar a localização de um objeto na superfície da Terra. Existem sistemas de posicionamento para ambientes internos e externos, alguns operam apenas em áreas delimitadas enquanto outros operam sobre toda a superfície do globo. Seu funcionamento, normalmente, se baseia na captura de sinais, de rádio, infra-vermelho ou de satélites, para determinar a posição de um dispositivo, de acordo com algum referencial ou sistema de coordenadas. O objetivo dessa seção é desenvolver um sistema de posicionamento híbrido e ubíquo para dispositivos móveis. Um sistema é caracterizado como híbrido quando apresenta uma mistura de tecnologias diferentes, nesse caso, ousodossinaisdecelular,redessemfioegps(globalpositioningsystem),parainferiraposiçãododispositivo.aubiquidadedosistemaestánofatodequeomesmo deverá proporcionar informação contínua de posição, alternando entre os sinais utilizados, para obter localização em ambientes internos e externos, mesmo que cada tecnologia utilizada proporcione uma precisão diferente no posicionamento do dispositivo. IdentificaçãodeEventosnoCanaldeComunicaçãoemRedesIEEE802.11:Aqualidade da comunicação em sistemas de comunicação sem fio depende de diversos fatoreseajustare/oualertarousuáriosobreascondiçõesdaredeéumimportante

104 27º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos serviço para este tipo de dispositivos. A qualidade percebida pelo usuário depende docontextoderede,oqualpodeserdefinidocomooseventosquepossuemumimpacto significativo na comunicação sem fio. A identificação do comportamento do canal de comunicação é necessária para obter a descrição deste contexto. Devido às características intrínsecas da propagação do sinal transmitido, é difícil medir e inferirocontextobásicodasredessemfio,comoporexemplo,predizerquandoabaixa qualidade do sinal de rádio é causada por interferência ou efeitos de atenuação devido ao ambiente da comunicação. Essa sub-seção apresenta um novo método para ogerenciamentocentradonousuárioemredessemfioqueusamopadrãoieee 802.11b/g, determinando a presença de mobilidade e interferência na comunicação. O método usa dois gráficos de controle estatístico, MCEWMA(Moving Centerline Exponential Weighted Moving Average) e o MCEWMV(Moving Centerline Exponential Weighted Moving Variance), associados com a análise de resolução múltipla com a transformada de wavelets[hansen& Meno(1977), Judd et al.(2008)]. 3.2.1. Sistema de Posicionamento Híbrido e Ubíquo para Dispositivos Móveis Um sistema de posicionamento é uma ferramenta usada para determinar e registrar a localização de um objeto na superfície da Terra. Existem sistemas de posicionamento para ambientes internos[priddge(2000), Kaemarungsi& Krishnamurthy(2004), Hightower & Borriello(2001), Bahl& Padmanabhan(2000)] e externos[hightower& Borriello (2001), Haeberlen et al.(2005), Cheng et al.(2005)], alguns operam apenas em áreas delimitadas[priddge(2000), Kaemarungsi& Krishnamurthy(2004), Bahl& Padmanabhan (2000)] enquanto outros operam sobre toda a superfície do globo[dittmer(2005)]. Seu funcionamento, normalmente, se baseia na captura de sinais, de rádio, infra-vermelho ou de satélites, para determinar a posição de um dispositivo, de acordo com algum referencial ou sistema de coordenadas. Muitos dispositivos móveis mais recentes já possuem capacidade de posicionamento através do Global Positioning System(GPS)[Dittmer(2005)], porém, o funcionamento correto do mesmo está praticamente restrito a ambientes externos pois não é possível receber o sinal dos satélites quando dentro de alguma construção ou com visibilidadereduzidadocéu[dittmer(2005)]. DevidoàessalimitaçãodoGPSeaofatode grande parte dos dispositivos ainda não serem compatíveis com o sistema GPS, torna-se justificável a implementação de um Wireless Positioning System(WPS). Esse sistema utilizaráadensamalhaderedessemfiodospadrõesieee802.11be802.11gjáinstaladas nas cidades para prover informações de posição. Também deverá funcionar dentro de construções e exigir pouco ajuste, ao contrário de alguns sistemas de localização para ambientes internos[priddge(2000)] e[kaemarungsi& Krishnamurthy(2004)]. 3.2.1.1. Estado da arte AprimeirainiciativaconhecidadeusodesinalWi-Ficomosinaldelocalizaçãoéoprojeto[Bahl& Padmanabhan(2000)], que registrava impressões digitais de sinais de redes Wi-Fi para determinar a posição de um dispositivo dentro de uma construção. A partir desse trabalho, surgiram outras tentativas de se determinar a posição de dispositivos utilizando sinais de Wi-Fi, e mais recentemente, essas iniciativas passaram a tentar mapear

Livro Texto dos Minicursos 105 ambientes externos desde campi de universidades, bairros e até cidades inteiras. O número de algoritmos de posicionamento aplicáveis é bem menor quando se desconhecearealposiçãodospontosdeacessodarede,umavezquemuitossebaseiam em métodos probabilísticos[haeberlen et al.(2005)], e requerem um grande volume de informações que não podem ser obtidos nesse caso. Com a posição dos pontos de acesso desconhecida existe um projeto da Intel chamado Placelab que comparou três algoritmos de posicionamento ao mapear três bairros com características diferentes em cidades distintas dos Estados Unidos[Cheng et al. (2005)]. Dentre os sistemas de posicionamento implementados para dispositivos móveis especificamente, podemos citar o[ericsson(n.d.)], que utiliza informações de sinais de celular GSM[GSMWORLD(n.d.)], para prover informação de posição, porém com uma precisãomenordoquenocasodeumwps.masprincipalmente,podemoscitaro[navizon(n.d.)], queutilizainformaçõesdegps,wpsederedesdecelularparaprover informações de posição. Seu funcionamento está praticamente restrito aos Estados Unidos,porémaidéiadeutilizarastrêsabordagensemummesmosistemaérelevantee constituiu um dos objetivos deste trabalho. Outrodesafiodesteprojetofoiomapeamentodaregiãoamostral,jáqueofuncionamento do algoritmo está aliado a esses mapas. A ideia é um mapeamento colaborativo, pelo uso de aparelhos que possuam dispositivos de GPS e um servidor para armazenamento e sincronização dos mapas. Para tal, foi implementado um cliente cujo funcionamento é transparente e não influencia no uso normal do aparelho. Parte do trabalho[akella et al.(2007)] consistiu em comprovar que a criação de um número imenso de redes sem fio, não-planejadas e não-gerenciadas, gerou um ambiente caótico, no qual praticamente toda rede sem fio sofre interferência de outra. Além disso, o artigo também explicita interferências de outras tecnologias sem fio, como telefonia celular ou Bluetooth, que afetam os valores de intensidade de sinal no momento da medição, assim como fatores climáticos e outros praticamente desconhecidos. Por essas razões, também é de suma importância que o mapeamento filtre alguns resultados de pouca confiabilidade devido à ocorrência de interferências. 3.2.1.2. Desenvolvimento Depois de uma revisão da bibliografia mencionada sobre sistemas de posicionamento, foi necessário um estudo prévio de detalhes de implementação da plataforma Android, devido a algumas peculiaridades acerca da programação para esta plataforma. Em seguida, a primeira etapa da implementação, que corresponde ao cliente de mapeamento, pôde ser desenvolvida. Essa aplicação basicamente coleta as seguintes informações em cada ponto mapeado através de coordenadas de GPS, redes Wi-fi detectadas naquele ponto, principalmente endereço Mac, Received Signal Strength Indicator(RSSI) e informações de célula de celular, principalmente Mobile Country Code(MCC), Mobile Network Code(MNC) e Cell Tower ID(CID); Além dessas informações, uma parte importante da aplicação é a inserção de mar-

106 27º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos cadores que em conjunto representam a localização simbólica de um conjunto de pontos, comoporexemplo: país-estado-cidade-bairro-estabelecimento. Oclientedeve possibilitar a inserção e remoção desses marcadores, que junto com as informações de ambiente, citadas anteriormente, representam a"impressão digital"de determinado ponto, e que será usada para o posicionamento, posteriormente. A Figura 3.1 mostra o emulador do Android executando o cliente de mapeamento. Figura 3.1. Cliente de Mapeamento Após construídos os mapas, o cliente de mapeamento os submete para o servidor, quando o usuário utilizar a funcionalidade Submit Scan. A interface do servidor responsável por esta operação de submissão e armazenamento dos mapas, foi a segunda etapa de implementação. Ao receber os mapas de um cliente, o servidor deve armazená-los de forma que possam ser encontrados facilmente, quando for necessário consultá-los. Para limitar o espaço de busca do algoritmo de posicionamento, foi utilizada uma combinação entreomnc,mcceocid,queéúnicaparaqualquercélulagsmnomundo,para indexar os arquivos de mapas. Nesse momento, o servidor também deve atualizar uma representação gráfica de todos os mapas já coletados, que utiliza sobreposição de mapas eumaapidogooglemaps[google(n.d.)],paraarepresentaçãodosmapas. AFigura 3.2 demonstra a representação em tempo real dos pontos mapeados ao redor do Instituto de Ciências Exatas(ICEX) da Universidade Federal de Minas Gerais(UFMG): A próxima etapa no desenvolvimento do sistema é a implementação do cliente de posicionamento. Ele basicamente interage com o servidor, enviando as informações do ambiente onde se encontra, para depois receber as informações de posição, calculadas pelo servidor. Depois de receber suas informações de localização, o cliente desenha sua posição em um mapa, utilizando funcionalidades integradas na própria plataforma Androidpararealizarsobreposiçãodemapas. AFigura3.3e3.4mostramoclientede posicionamento em execução no emulador. Finalmente, a última etapa do desenvolvimento é a implementação da interface do servidor que trata as requisições de posição do cliente de posicionamento. Ao receber uma requisição, o servidor executa um algoritmo que atribui pontos e pesos, para os pontos mapeados, de acordo com a similaridade com os dados de ambiente, enviados pelo cliente na requisição de posição. Baseado na soma dessas pontuações, ele determina

Livro Texto dos Minicursos 107 Figura 3.2. Mapas em tempo real Figura 3.3. Cliente de Posicionamento qual o ponto de maior probabilidade de representar a posição atual do dispositivo e retornaascoordenadaseposiçãosimbólicaparaocliente,queporsuavezasexibenatela, como visto na Figura 3.4. O servidor também registra a posição do dispositivo através da sobreposição de mapas, como pode ser visto na Figura 3.5. Após essas etapas de desenvolvimento, o sistema de posicionamento já é capaz de manter o mapeamento colaborativo funcional e sempre atualizado e inferir posições para os dispositivos que as requisitarem. Os testes realizados são descritos na seção seguinte. 3.2.1.3. Resultados Ofuncionamentodosistemaéaliadoaomapeamentopréviodaáreasobreaqualomesmo deve operar. Como área para testes preliminares, optou-se por mapear as redes sem fio ao redordoprédiodoicex,nocampusdaufmg.comprovou-sequeestaeraumaregião boaparaarealizaçãodostestes,devidoàdensidadedepontosdeacessonessaárea,oque contribui para a precisão do sistema. O processo de testes do sistema foi prejudicado pela falta de um dispositivo real e portátil que executasse o sistema operacional Android, porque as informações de redes sem fio, sinais de celular e GPS não podiam ser obtidas diretamente através do emulador. Foram realizados alguns testes preliminares de precisão para o sistema, representados na Tabela 3.1: Em88%doscasososistemaretornoucomoposiçãoparaodispositivoopontoque representava aquele mais próximo de sua posição real. Em 8% dos casos ele retornou um ponto imediatamente vizinho, o que representa um erro de aproximadamente 10 metros para a densidade de pontos do mapeamento usada. Outros dois testes encontraram uma precisãomenordoqueade10metros,porémemnenhumdoscasosoerrosuperouos 40 metros. As variações na precisão do sistema são observadas porque existem pontos no

108 27º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos Figura 3.4. Sobreposiçãodemapasnocliente Figura 3.5. Posição de um dispositivo em tempo real Número de testes Erro(em número de pontos de distância) 44 0 4 1 1 2 1 3 Tabela 3.1. Testes preliminares de precisão do sistema mapeamento, nos quais os pontos de acesso detectados são os mesmos de outros pontos, e as medidas de intensidade de sinal durante o mapeamento foram diferentes das obtidas durante os testes de posicionamento, o que é provocado por interferências diversas, e até fatores climáticos. 3.2.2. Identificação de Eventos no Canal de Comunicação em Redes IEEE 802.11 A comunicação ubíqua tem como objetivo permitir o acesso à informações, serviços e aplicações em qualquer lugar e a qualquer momento. Sua utilização deve prover o usuário com acesso permanente à uma rede fixa ou móvel independentemente de sua posição física. Dispositivos móveis com várias interfaces de rede para acesso a diferentes tecnologiasderedesemfioestãocadavezmaispopulareseissointroduzaflexibilidadeda seleção e acesso aos diferentes tipos de redes. Das tecnologias de redes sem fio pode-se identificar as redes da telefonia celular, como por exemplo: GPRS, UMTS, CDMA2000; asredessemfiometropolitanas,definidaspelopadrãoieee802.16;easredessemfio locais, definidas no IEEE 802.11. Um usuário portando um smartphone com diferentes interfaces de rede pode usar as conexões disponíveis que melhor atendam a sua demanda. Uma vez conectado, o usuário utiliza os serviços disponíveis, mas a maneira como

Livro Texto dos Minicursos 109 é atendido depende de diversos fatores, que não são encontrados na comunicação com fio. Porexemplo,avariaçãodoníveldosinalrecebidoquecausamperdasdedadose mudanças continuas na velocidade das interfaces de rede sem fio. Somado a isso, os dispositivos possuem restrições com relação ao consumo de energia. O resultado final são novos requisitos para o funcionamento adequado das aplicações. Dadas essas diferenças na comunicação da rede com fio, o desenvolvimento de aplicações deve ser feito com foco em atender esses requisitos. Para isso, as informações do ambiente da comunicação são essenciais. 3.2.2.1. Motivação Para classificar a qualidade da comunicação, primeiro é necessário identificar as métricas paramedirequalotipodeimpactoqueoambientedecomunicaçãosemfiocausasobre ela. Essasmétricasdescrevemarelaçãoentreoníveldeenergiadosinalrecebidoea integridade dos dados transmitidos. As variações na qualidade da comunicação possuem diferentes impactos sobre o desempenho da aplicação, pois as interfaces de rede sem fio possuem variadas estratégias para lidar com os quadros perdidos. As seguintes métricas identificam esses efeitos: Vazão Ideal: a velocidade máxima do modem utilizado pela interface de rede sem fio, medida em MBps, selecionado de acordo com o canal de comunicação. Cada interfacederedesemfiopossuiumconjuntodemodems,quesãoselecionadosde acordo com as características do ambiente da comunicação; Vazão Efetiva: a vazão dos dados efetiva percebida pela aplicação durante a comunicação, medida em MBps. Este leva em conta a sobrecarga causada pelas retransmissões dos quadros e das mensagens de controle dos protocolos de rede, assim como a mudança do modem utilizado; Atraso: medida do impacto causado pelas sucessivas retransmissões e as mudanças nas interfacesderedesemfio, comoporexemploaescolhadosmodems, falhasde recebimentos de quadros e etc.; Variação no atraso: variação do atraso, que é associada a diferentes atrasos, gerados pela variabilidade presente na comunicação sem fio. A variação de atraso aumenta quando existe uma grande variabilidade na qualidade da comunicação. Aqui define-se o conceito de contexto da comunicação. Este contexto é composto pelo ambiente no qual receptor e transmissor se encontram e por suas interfaces de rede semfiodopadrãoieee802.11usadasparaacomunicação.esseambientepodeserdescritopelosimpactosquesãocausadosnosinalrecebidonainterfacederedesemfiodurante a comunicação. As interfaces de rede sem fio possuem parâmetros e programações internas que reconfiguram seu funcionamento automaticamente, em resposta ao ambiente. Por exemplo, a especificação do IEEE 802.11 deixa a cargo do fabricante da interface de rede a escolha do algoritmo de seleção de velocidade. A escolha da velocidade pode ser feita com o objetivo de manter a comunicação ativa, pois velocidades menores permitem

110 27º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos o funcionamento da interface em modo mais robustos, que suportam melhor as variações no sinal. Em outras situações, a velocidade maior pode ser preferida em detrimento da permanência da conexão. A otimização da qualidade da comunicação numa rede sem fio é essencial para a melhoria do desempenho das aplicações que usam a comunicação ubíqua. Dentre as estratégias usadas para tal, a adaptação é o elemento central. A implementação das estratégias adaptativas pode ocorrer em diversos níveis, sobre os dados transmitidos, sobre alguma funcionalidade da aplicação ou na reconfiguração da interface de rede sem fio. As estratégias envolvidas, podem ser, por exemplo, a escolha de algoritmos adequados para a compressão dos dados, o uso de diferentes algoritmos nas aplicações dependendo das condiçõesdacomunicaçãoeoajustedofuncionamentodaplacaderedesemfio. Dispositivos que utilizam outras interfaces ou a presença de muitas redes sem fio nas proximidades são fontes de interferência. Os próprios objetos presentes no ambiente onde a comunicação acontece afetam as características da comunicação. A mobilidade dos dispositivos expõe as interfaces à diferentes efeitos de propagação e atenuação do sinal. Contudo,émuitodifícilinferirapartirdosinalrecebido,quandoaquedanaqualidadesedeveàinterferênciaouàmobilidade. Ainformaçãosobreocontextodacomunicaçãoéessencialparaumaadaptaçãodamesma,nointuitodeseatingiromelhor desempenho das aplicações. A descrição do contexto da comunicação é um fator importante para se atingir uma boa qualidade na comunicação. Neste caso, a Figura 3.6(a) mostra a situação inicial, noqualousuárioestápróximoaopontodeacessosecomunicandoaumavelocidadede 11MBps. Os círculos verdes mostram a potência do sinal, a cor mais escura indica mais energiaeamaisclara,menosenergia. Odeslocamentodousuárioparalongedoponto de acesso causa uma queda de velocidade de comunicação, devido à variação deste sinal, como mostrado na Figura 3.6(b). Em situações como essa, a Figura 3.6(c) mostra uma estratégia de melhoria que pode ser feita: aumentar da potência da antena do ponto de acesso, de maneira que o usuário continue sendo atendido com uma velocidade adequada. Mascasoaperdadevelocidadesejacausadaporumainterferência,amesmaestratégia de adaptação pode causar resultados adversos. A Figura 3.7 mostra este cenário, ondeumusuárioseencontranoalcancededoispontosdeacessoeestabeleceacomunicaçãocomumdeles. Osinalquechegasobreesteusuárioéasomadosinaloriundo dosdoispontosdeacesso. Nestecaso,comonãoestáconectadoaosegundopontode acesso, o usuário não pode evitar a interferência causada, como é mostrado na Figura 3.7(a). A Figura 3.7(b) mostra o impacto da presença de interferência na velocidade de comunicação, a qual diminui devido às sucessivas perdas. Caso não seja identificado que esta diminuição de velocidade é causada pela interferência, a Figura 3.7(c) mostra que a mesma estratégia adotada na solução anterior pode gerar mais interferência, acarretando em problemas de comunicação em outros elementos na rede. A importância de conhecer os efeitos destes eventos é acentuada pela necessidade deidentificarquandoainterfacederedesemfiopodemudarseusmodosdefuncionamento, possibilitando assim para melhor lidar com essas situações limite. Quando a interface identifica uma qualidade ruim do sinal recebido, ela aciona o algoritmo que escolhe a velocidade, modificando a vazão ideal. Esta mudança causa um impacto também na

Livro Texto dos Minicursos 111 (a) Usuário próximo ao ponto de acesso. (b) Deslocamento para longe do ponto de acesso, queda de velocidade. (c) Aumento da potência de transmissão, recuperação da velocidade. Figura 3.6. Adaptação da potência da antena do ponto de acesso (a) Usuário em região sob efeito de interferência. (b) Quedanavelocidadedevidoaerrosdecomunicação causados pela interferência (c) Aumento da potência de transmissão, interferência causa perda de conexão em outros elementos. Figura 3.7. Adaptação da potência da antena do ponto de acesso. vazão efetiva e no atraso presente. Em ambientes com muita interferência, esse algoritmo pode ser ativado diversas vezes, ocasionando mais mudanças nos modems e aumentando com isso a variação do atraso. Em ambientes com mobilidade, e sem interferência, essa escolha dos modems pode mudar de maneira gradual, com a velocidade diminuindo proporcionalmente ao deslocamento. De posse dessa informação, os usuários e as aplicações podem adaptar a interface, de maneira a melhorar essa vazão, como por exemplo, aumentar da potência de transmissão em situações de deslocamento. A decisão adequada deve levar em conta as restrições dos dispositivos e os requisitos da aplicação.

112 27º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos Para auxiliar na identificação da estratégia correta de adaptação, neste ponto são definidos os eventos do contexto da comunicação. Esses eventos são a presença de mobilidade e de interferência, de maneira não exclusiva, no contexto da comunicação. A distinção destes eventos se faz necessária por causa das possíveis estratégias a serem adotadas na melhoria da comunicação. Ajustificativaemseutilizarsomenteavariaçãodosinalparaadetecçãodamovimentaçãoédevidoaofatoqueexisteumarelaçãodiretaentreessavariaçãoeaqualidade da comunicação percebida pelas aplicações. Além disso, nem todo sistema computacional é dotado de ferramentas de localização. Por exemplo, considerando somente a variação do sinal, existem situações onde tal movimentação não efetua nenhum impacto. O importanteparaestetrabalhoéidentificarqueavariaçãodosinalpodeserassociadaaalgum tipo de movimentação e que não seja não relacionada com a presença de interferência. Assim como, na presença de interferência ou de mobilidade, as respectivas variações do sinal sejam identificadas. Para uma identificação mais precisa destes eventos, é considerado o ambiente de comunicação interno, no qual a velocidade de deslocamento entre o receptor e o transmissorélimitadaeasfontesdeinterferênciasãoasmaiscomunsdeseencontraremum ambiente interno. Apesar desta restrição, que se faz essencial nessa caracterização, este é ocenáriomaiscomumdeutilizaçãodasredessemfiodopadrãoieee802.11. No sentido de melhorar a tomada de decisão de tais mecanismos, esta tese fornece ummecanismoquepermitedistinguiremtemporealecomaltaprecisãoeventosdemobilidade e interferência a partir do monitoramento constante dos valores de sinal medido na interface. 3.2.2.2. Propagação de sinais Apartirdavisãogeraldafísicadepropagaçãoemambientessemfio,acomunicaçãoé descrita como dependente da separação que existe entre o transmissor e o receptor. Essa separação pode ser associada à distância, à velocidade de deslocamento, às características do ambiente da comunicação e às fontes de interferência. O sinal transmitido chega ao receptor como uma ou mais ondas que foram afetadas pelos efeitos de propagação no ambiente, sendo este fenômeno conhecido como multipath. Dessa maneira, essas ondas são componentes que formam o sinal recebido. Se não existirem obstáculos entre o receptor e o transmissor, algumas dessas ondas serão consideradas como principais na transmissão, somadas com as outras geradas pelos efeitos da reflexão, dispersão e refração. Esses efeitos podem causar mudanças de fase e atenuações em cada componente. A Figura 3.8 ilustra este cenário. Considerando um transmissor e um receptor separados por uma distânciademuminstantedetempot,asondasdesinalemitidaspercorremdiferentes caminhos e o resultado final que chegam no receptor é um somatório destas ondas.

Livro Texto dos Minicursos 113 Figura 3.8. Múltiplos caminhos da propagação da onda transmitida 3.2.2.3. Interferência Considerando um transmissor e um receptor, que utilizam a interface de rede IEEE 802.11, épossíveldividirasfontesdeinterferênciaemdoisgrupos. Oprimeiroéodasinterferências geradas por outros elementos de rede que também usam a interface IEEE 802.11, mas não estão participando diretamente da comunicação. O segundo são aparelhos comuns que também trabalham na faixa de freqüência ISM usada pelo IEEE 802.11. Em relação ao primeiro grupo é possível identificar as seguintes interferências: Co-canal: ocorre no momento em que outros elementos fisicamente próximos utilizam canais adjacentes e possuem uma potência de transmissão elevada, causando interferência. A recomendação do próprio padrão para esse caso é o uso de canais quenãosesobrepõem,comooscanais3,6ou11; Direta: ocorre quando outros elementos não conhecidos utilizam o mesmo canal de comunicação. Por exemplo, vizinhos que utilizam o mesmo canal em sua rede semfiodoméstica.dadaagrandepopularidadedoieee802.11éumcasocomum. Considerando o contexto de redes internas em casas e escritórios, sobre o segundo grupo, é possível identificar as seguintes fontes de interferência: Telefonessemfio: Trabalhamnafaixadefreqüênciade2.4GHze5.4GHz. Sua principal característica é o uso constante do canal de transmissão, para manter a qualidadedacomunicaçãodevoz,edaaltapotência,jáqueoalcancedeusoéuma das principais características deste tipo de aparelho; Bluetooth: Este padrão tem se tornado cada vez mais popular, presente em muitos dispositivos portáteis. Ele não possui grande potência de transmissão, uma vez quetemofocoemeconomizarenergiaeutilizaumatécnicadeenviocomsalto de freqüência, trocando os canais de uso a uma taxa de aproximadamente 3200 ms, para minimizar o uso de canais que sofrem interferência. Em contrapartida, a interferênciaquecausasobreoieee802.11jáébemconhecida,comovistoem[punnoose et al.(2001)] e[jung-hyuck& Jayant(2003)];

114 27º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos Microondas: Outro elemento relativamente comum em ambientes internos é o forno de microondas, que possui uma margem de fuga de energia, a qual interfere nas interfaces IEEE 802.11 que se encontram próximas a estes aparelhos. 3.2.2.4. Qualidade da Comunicação Define-se qualidade da comunicação em uma interface de rede IEEE 802.11 como a relação da quantidade de bits alterados ao comparar o quadro transmitido e o mesmo quadro recebido. O quadro transmitido é uma seqüência de bits que compõe os dados, o cabeçalho e o preâmbulo enviados pelo transmissor e o quadro recebido é a seqüência recebida no receptor. Este quadro recebido pode ser alterado pelos efeitos que atuam sobre o sinal, descritos na seção 3.2.2.2. Uma boa qualidade de comunicação é descrita como o caso ondeosefeitosdocanalnãoafetemoquadrorecebido,ficandoesteomaispróximodo quadro que foi enviado. Nestetrabalho,paraseinferiressaqualidadeéusadaamedidadoRSSI Receiver Signal Strength Indicator que mede a intensidade do sinal do último quadro recebido. Esse valor é mensurado no preâmbulo do quadro e indica a quantidade de energia presente na interface. Esse valor pode ser recuperado acessando funções específicas do driver do dispositivo. 3.2.2.5. Identificação de eventos O método de identificação de eventos efetua a análise sobre os dados amostrados na placa deredesemfio. EssasamostrasdasmedidasdoRSSIsãoumajaneladedezmedidas consecutivas, espaçadas com um intervalo de tempo de 10 ms. A série temporal que descreve o canal de comunicação sem fio é não-linear, não gaussiana e não estacionária. A Figura 3.9 mostra todas as etapas envolvidas no processo. Figura 3.9. Metodologia de identificação Essas características foram consideradas no modelo de maneira a fazer viável a descriçãodaassimetriaforteentreasamostraseasvariaçõesdamédiaedadispersão.a complexidade da série temporal prevê o uso de modelos simples de previsão, justificando

Livro Texto dos Minicursos 115 o uso das estratégias de médias móveis exponenciais nos gráficos de controle(os gráficos de controle clássicos utilizam modelos mais simples e menos expressivos). Também, cabe notar que a variabilidade e assimetria são melhor caracterizados pela análise de multiresolução. Dessa forma, o uso conjunto dos dois métodos é justificado pelos seguintes pontos: Análise Temporal: O gráfico de controle MCEWMA identifica eventos fora de controlequeaparecem namédiadasamostrasdasmedidasderssi eográfico de controle MCEWMV identifica as situações fora de controle sobre a variância. Utilizando esses gráficos de controle, o controle estatístico de processos permite a investigação da amplitude do sinal identificando tendências de situações fora de controle. Mas a informação sobre a variabilidade entre as diferentes amostras das medidas de RSSI não são totalmente identificadas, sendo necessário uma análise espectral entre essas medidas; Análise Espectral: A transformada de wavelets permite identificar a variabilidade de um conjunto de amostras sucessivas das medidas de RSSI. Aplicada sobre os dados suavizados na saída do MCEWMA, o resultado da transformada é usado para descrever a variabilidade entre as diferentes amostras. A transformada é aplicada sobre as medidas suavizadas e não sobre as medidas para evitar o ruído presente nasmedidas.oruídoeaamplitudedosinalsãoverificadospelosgráficosdecontrole. Relaciona a variabilidade das medidas. Descreve as frequências presentes em cada janela δt. Numa janela δt, níveis maiores indicam um transiente relativo a mobilidade. Níveis menores indicam presença de interferência Apartirdosvetoresgeradospelosgráficosdecontrole,x ε,su ε esl ε,associados com o escalograma e a identificação do módulo feitos na análise de wavelets, armazenadosnosvetoreseem,épossívelidentificarocomportamentodasérietemporalecom isso associar este comportamento aos eventos presentes no ambiente da rede sem fio. Com esta informação, e após uma série de testes, feitos para garantir um intervalo deconfiançade95%,ainformaçãodoseventosfoiusadaparacriaratabela3.2. Esta tabela enumera os eventos, associados com interferência e mobilidade e apresenta a descrição. Esta informação é utilizada para mostrar ao usuário a descrição no momento que é feita a identificação de cada evento. 3.2.2.6. Identificação de Eventos Estes testes foram conduzidos em um ambiente interno de uma casa, considerando o cenário de baixa densidade de usuários e uma distribuição não planejada de pontos de acesso na vizinhança. Associado a isso, foram utilizados telefones sem fio e dispositivos Bluetooth como fonte de interferência. Toda a mobilidade foi feita em aproximadamente 0.5 m/s, uma velocidade para uma pessoa andando e usando um dispositivo móvel(a noção de mobilidade humana aindaéumtópicoparapesquisas;comopodeservistoem,gonzálezetal.2008).

116 27º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos Evento Detectado Tabela 3.2. Classificação de Eventos Descrição 1 Perda de Conexão 2 Perda de Conexão devido Interferência 3 Aproximando do AP 4 Interferência Fraca 5 Afastando do AP 6 Interferência Média 7 Movendo 8 Interferência Forte Emtodososgráficos,cadaexperimentofoifeitocomaduraçãode300seconds, earesoluçãodetemponoeixoxéassociadaataxadeamostragemde10ms. Paracada evento detectado, o mecanismo pode ser usado para alertar o usuário, usando as descrições mostradas na Tabela 3.2. A Figura 3.10 mostra o primeiro caso, onde não existe mobilidade ou interferência. Todas as flutuações dos sinais são devido ao ruído causado pelo decaimento em multi-caminho, o qual é ignorado pelo sistema de detecção e nenhum evento é registrado. Measures RSSI(dbm) 70 50 30 0 500 1000 1500 2000 2500 3000 time Detected Event time Figura 3.10. Investigação da comunicação em um dispositivo parado, sem a presença de interferência. Nenhum evento é identificado. A Figura 3.11 mostra a detecção de uma comunicação Bluetooth, que causa interferência sobre a comunicação WiFi. Para este tipo de interferência, uma interface BluetoothfoiativadaeusadacomoLanProfile,paraacessarumpontodeacessoBluetooth. Os eventos identificados estão nos pontos ressaltados no gráfico. No gráfico é mostrado o tempoondeoseventosforamdetectadoseonúmeroqueindicaoevento,comomostrado na Tabela 3.2. OcenáriodemobilidadeémostradonaFigura3.12.Nesteteste,ousuáriomove afastandodopontodeacesso,apartirdoinstante10000msaté15000ms,eoevento5 é detectado, como é mostrado no gráfico. Quando a movimentação é feita em direção ao ponto de acesso, até o tempo 24400 ms, outros eventos associados com mobilidade

Livro Texto dos Minicursos 117 Measures RSSI(dbm) 70 50 30 0 500 1000 1500 2000 2500 3000 time Detected Event 4 8 0 4 8 time 1760 1920 2080 2240 2400 2560 2720 2880 Figura 3.11. Investigação da comunicação em um dispositivo parado em um ambiente com interferência. também são detectados. Neste caso, duas outras identificações associadas a interferênciaforamfeitas,causadaspelospontosdeacessonaregião. Comisso,ocenáriofinalé mostrado na Figura 3.13, onde a mobilidade e a interferência aparecem: o usuário movimenta para um lugar onde existe a presença de interferência oriunda de diferentes pontos de acesso. Neste caso, esta informação mostra ao usuário a condição na qual se encontra a região que ele esta se deslocando. A importância deste resultado é oferecer ao usuário a informação sobre as condições do ambiente de comunicação, oferecendo ao usuário a opção de movimentar para fora da região de interferência. Measures RSSI(dbm) 70 50 30 0 500 1000 1500 2000 2500 3000 time 1120 1280 1440 1600 1760 1920 2080 2240 Detected Event 0 3 4 7 8 time Figura 3.12. A identificação do dispositivo movimentando. 3.2.2.7. Arquitetura e Implementação A implementação da metodologia proposta nessa tese, através de um software, foi feita com o foco em permitir que as aplicações sejam notificadas sobre a identificação da mo-

118 27º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos Measures RSSI(dbm) 70 50 30 0 500 1000 1500 2000 2500 3000 time Detected Event 0 4 8 800 960 1120 1280 time 1600 1760 1920 2080 2240 2400 2560 2720 2880 Figura 3.13. Identificação de um dispositivo movendo em um ambiente sujeito a interferências. bilidade e interferência. Diferente de uma API, que necessita apenas oferecer o acesso a determinadas funcionalidades do sistema, essa identificação é um sistema reativo, assíncrono. Dada essa característica, é necessário que essa implementação verifique constantemente a interface e, em seguida, disponibilize essa informação para as aplicações. A disponibilização das informações sobre a ocorrência de eventos pode ser feita de maneira ativa, onde é feita a notificação para as aplicações sobre alguma atualização no contexto, ou pode ser feita de maneira passiva, onde as aplicações buscam a informação sobre o contexto. Devido à necessidade de uma rápida reação ao contexto da comunicação sem fio, a disponibilização ativa desta informação permite uma adaptação adequada ao ambiente. A partir deste requisito, foi criado um middleware, integrado a diferentes sistemas operacionais, com o objetivo de permitir uma base de testes sólida, além de uma integração deste middleware de maneira mais transparente com as aplicações. O objetivo deste middleware é permitir a identificação dos eventos de mobilidade e interferência em diferentes tipos de sistemas operacionais. Os seus componentes são descritos a seguir: Amostragem: implementa uma interface com a API de cada sistema operacional, que permite a leitura das medidas de RSSI. Este módulo tem sua implementação específica para cada sistema operacional, atendendo às restrições de memória e processamento. Controle Estatístico: efetua o cálculo do MCEWMA e MCEWMV e a identificação dos eventos fora de controle; Filtro de Wavelet: efetua a transformada de wavelets e o cálculo do escalograma sobre os dados da janela amostral; Agente: efetuaocálculodoscoreboardegeraaidentificaçãodoevento. Também é específico para cada sistema operacional, uma vez que utiliza os sistemas de geração de eventos e de sinalização disponíveis.