Você está na página 1de 71

XXI Simpsio Brasileiro de Redes de Computadores

NDICE

45

Computao Ubqua: Princpios, Tecnologias e Desafios


Regina Borges de Araujo Departamento de Computao Universidade Federal de S. Carlos (UFSCar) Caixa Postal 676 13565-905 So Carlos - SP Brasil
regina@dc.ufscar.br

Abstract. The basic idea behind ubiquitous computing is that computing moves out of the workstation and personal computers to become pervasive in ours day to day lives. Marc Weiser, considered the father of ubiquitous computing, shimmered one decade ago that, in the future, computers would inhabit the most trivial objects: from clothes tags, coffee mugs, light interrupters, pen, watches, etc., in an invisible way to the user. This text discusses some of the main issues and technologies involved in this Weisers world, in which we should learn to live with computers and not only interact with them. Resumo. A idia bsica da computao ubqua que a computao move-se para fora das estaes de trabalho e computadores pessoais e torna-se pervasiva em nossa vida cotidiana. Marc Weiser, considerado o pai da computao ubqua, vislumbrou h uma dcada atrs que, no futuro, computadores habitariam os mais triviais objetos: etiquetas de roupas, xcaras de caf, interruptores de luz, canetas, etc, de forma invisvel para o usurio. Este texto discute as principais questes e tecnologias envolvidas neste mundo de Weiser, em que devemos aprender a conviver com computadores, e no apenas a interagir com eles.

Prefcio
A convergncia das tecnologias de rdio, dos microprocessadores e dos dispositivos eletrnicos digitais pessoais est levando ao conceito de ubiqidade no qual dispositivos inteligentes, mveis e estacionrios, coordenam-se entre si para prover aos usurios acesso imediato e universal a novos servios, de forma transparente, que visam aumentar as capabilidades humanas. Os termos computao pervasiva, computao ubqua e computao mvel so, muitas vezes, utilizados como sinnimos por algumas pessoas, entretanto, ser visto que eles so conceitualmente diferentes. A computao ubqua integra mobilidade em larga escala com a funcionalidade da computao pervasiva. O potencial de aplicaes da computao ubqua limitado apenas pela imaginao - com a conexo, monitoramento e coordenao de dispositivos localizados em casas, edifcios e carros inteligentes, atravs de redes sem fio locais e de longa distncia com alta largura de banda, as aplicaes variam desde o controle

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

46

de temperatura, luzes e umidade de uma residncia, at aplicaes colaborativas com suporte mobilidade. Pesquisas em computao ubqua esto sendo realizadas por pesquisadores do mundo todo em tpicos que vo de prottipos de rede que provem acesso bsico a qualquer tipo de dispositivo sem fio, suporte mobilidade na rede, de forma transparente, segurana, tratamento de contexto, otimizao de espao de armazenamento, largura de banda e uso de energia; formatao, compresso, entrega e apresentao de contedo multimdia que se adapta a diferentes condies de largura de banda e de recursos de dispositivos; at a adaptao da aplicao e da apresentao multimdia aos dispositivos do usurio etc. O objetivo deste texto dar uma viso geral das questes envolvidas nesta rea emergente de pesquisa. Agradecimentos Gostaria de agradecer a todos os meus alunos de mestrado do Programa de Ps Graduao em Cincia da Computao do DC da UFSCar, que esto trabalhando em algumas das questes discutidas aqui, e com quem tive vrias discusses sobre o assunto. Agradecimentos especiais para Taciana Novo Kudo, Richard Werner Nelm e Alessandro Rodrigues da Silva pela contribuio em algumas partes do texto.

1. Introduo
A idia bsica da computao ubqua que a computao move-se para fora das estaes de trabalho e computadores pessoais (PCs) e torna-se pervasiva1 em nossa vida cotidiana. Marc Weiser, considerado o pai da computao ubqua, vislumbrou h uma dcada atrs que, no futuro, computadores habitariam os mais triviais objetos: etiquetas de roupas, xcaras de caf, interruptores de luz, canetas, etc, de forma invisvel para o usurio. Neste mundo de Weiser, devemos aprender a conviver com computadores, e no apenas interagir com eles [1]. Dois cenrios so utilizados para ilustrar o conceito de computao ubqua, as tecnologias envolvidas e os desafios a serem vencidos. O primeiro cenrio descreve o potencial da computao ubqua para aumentar as capabilidades dos profissionais. O segundo cenrio ilustra as diferentes vises que se pode ter de uma mesma aplicao na dimenso da computao ubqua. A apresentao desses cenrios demonstra algumas das questes envolvidas nesta desafiadora rea emergente de pesquisa. Cenrio 1. Potencializando as Capabilidades da Jovem Executiva (adaptada de [2]) Janete a diretora de uma organizao que depende de servios de computao e est participando de uma reunio importante na matriz de sua empresa, em So Paulo. Ela est em uma sala de conferencia com trs colegas de trabalho e dois participantes remotos que
1

O termo pervasivo no existe no vocabulrio portugus. Entretanto, para evitar confuso com outros termos tambm emergentes na rea, pervasivo ser usado neste texto como a traduo do termo em ingls pervasive, cuja definio dada no texto principal.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

47

participam atravs de um sistema de videoconferncia por computador. O sistema permite que esta equipe de Janete veja e oua os participantes remotos bem como use um quadro branco compartilhado para edio de documentos e explorao de dados em conjunto. Infelizmente Janete tem que deixar a reunio mais cedo, pois ter que pegar um avio para visitar um fornecedor em Paris. Felizmente ela pode continuar a participar da reunio atravs de seu PDA inteligente. To logo ele (PDA) detecta que ela saiu da sala de reunies, ele redireciona a parte de udio da reunio para o telefone celular dela. Quando ela entra no carro que vai lev-la ao aeroporto, o seu PDA procura por uma tela maior a sua volta e acha a tela embutida atrs do banco do motorista. O PDA ento passa a exibir os fluxos de vdeo da reunio na tela do carro, incluindo as pessoas e o quadro branco compartilhado. Alm disso, a poro de udio da reunio transferida para o sistema de alto-falantes do carro. Conforme o carro se movimenta rumo ao aeroporto, o vdeo se adapta automaticamente para refletir a mudana de qualidade da rede, alterando a sua resoluo. Conforme a reunio progride, uma mensagem instantnea mostrada na tela informando Janete sobre um incndio na central de dados da empresa em Pernambuco. Ela toca na tela sensvel a toque sobre a mensagem com o objetivo de discar o numero de telefone do transmissor da mensagem. O transmissor, o gerente da central de dados, relata que o fogo na central danificou seriamente alguns servidores importantes, mas que felizmente os back-ups esto seguramente armazenados em u outro local. Janete decide mudar seus m planos e voar para Pernambuco imediatamente para ajudar nos reparos. Ela pede ao gerente da central de dados para enviar a ela um relatrio detalhado dos danos sofridos para que ela possa planejar os reparos. Ela ativa seu agente pessoal de software usando o teclado embutido no carro e solicita ao agente para mudar as suas reservas de vo de Paris para Pernambuco. Ela tambm pede que todos os arquivos referentes configurao da central de dados sejam transferidos para o seu PDA assim que a largura de banda de rede necessria esteja disponvel. O agente rearranja os vos. Alm disso, o agente infere que ela no ser capaz de cumprir seus compromissos em Paris e ento cancela a reserva de hotel usando os servios on-line do hotel, bem como as reunies com o fornecedor atravs do envio de e-mail apropriado de notificao. Assim que Janete sai do carro, o agente pessoal de software salta do computador do carro para o PDA e varre a rea a procura de uma conexo de rede melhor. Conforme ela entra no terminal do aeroporto, o agente detecta uma LAN sem fio na qual ele se autentica e comea a baixar os dados solicitados sobre a configurao da central de dados. Enquanto Janete espera pelo seu vo no terminal, ela chama o gerente da central de dados para ouvir os ltimos acontecimentos. Assim que ela embarca no avio, seu PDA novamente varre a rea em busca de possveis servios em seu ambiente e detecta que ele pode se conectar a tela e teclado embutidos no assento do avio usando uma rede sem fio interna ao avio. O PDA mostra o ambiente de trabalho (desktop) de Janete na tela enfatizando as informaes da central de dados. Depois do avio decolar, Janete planeja cuidadosamente os reparos necessrios, usa os servios de compra rpida para pedir as partes necessrias de equipamentos e/ou software e solicita free-lancers com as habilidades necessrias para aliviar o trabalho de seus prprios funcionrios que esto trabalhando 24 horas por dia. O agente pessoal do PDA automaticamente prioriza suas solicitaes e transfere alguns arquivos via a rede lenta do avio. Quando o avio pousa e Janete vai para o

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

48

terminal de desembarque, o PDA pode transferir arquivos usando a LAN sem fio do terminal. Quando Janete chega na central de dados, as primeiras ofertas de free-lancers j chegaram, e os fornecedores de equipamentos j receberam os pedidos para substituio das partes danificadas. Cenrio 2. Uma aplicao para vrios dispositivos (adaptado de [3]) Um gelogo do Instituto Americano de Geologia foi mandado para um local remoto no oeste dos EUA para examinar os efeitos de um terremoto recente. Usando um PC, e um software denominado MANNA2, que suporta as atividades do gelogo em qualquer dispositivo que ele usar, o gelogo baixa mapas e relatrios existentes sobre a rea de modo a se preparar para a visita. Como o PC no um equipamento mvel e o gelogo precisa viajar, os documentos so transferidos para um laptop e o gelogo pega um avio at o local onde ocorreu o terremoto. Neste avio no h suporte para rede, portanto o laptop desabilita a conexo de rede e oferece apenas computao local. Quando o gelogo examina os vdeos do local, a interface do usurio chaveia automaticamente para monitor branco e preto e reduz a taxa de quadros por segundo, para ajudar a conservar bateria. Ao chegar ao aeroporto, o gelogo aluga um carro e dirige at o local. Ele recebe uma mensagem atravs do sistema MANNA pelo celular, alertando-o para examinar um local em particular. Como o fone celular oferece espao de tela extremamente limitado, o mapa da regio no mostrado. Em vez disso, o celular mostra a localizao geogrfica, orientaes de como chegar l, e a posio atual do gelogo (GPS). Um recurso que permite ao gelogo responder a mensagem tambm oferecido pelo software. Chegando no local, o gelogo usa o seu palmtop para tomar notas sobre a regio. Como o palmtop conta com uma caneta de toque (styllus) para interao, no permitida a interao atravs de cliques duplos ou cliques direita. Mais ainda, como o tamanho da tela tambm um problema no palmtop, um layout mais conservador adotado para ser mostrado ao gelogo. Ao completar a investigao, o gelogo prepara uma apresentao em dois formatos. Primeiro uma apresentao do seu percurso pelo local, com anotaes, feita para o HUD (heads-up display). Como o HUD tem capacidade limitada para tratar entrada de texto (usa o prprio dispositivo mvel), a aplicao MANNA oferece interao baseada em voz. Uma outra apresentao, mais convencional, preparada para ser visualizada em telo. Como o propsito da apresentao no telo no o de interao, mecanismos de interao so removidos. Questes observadas nos cenrios acima descritos: A informao acessada atravs de mltiplos dispositivos heterogneos A aplicao segue o usurio em movimento Os dispositivos interagem entre si

MANNA aplicao multimdia que deve executar em varias plataformas e que pode ser usada de forma colaborativa via Internet.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

49

Algumas tarefas so executadas de forma autnoma Dispositivos diferentes apresentam vises diferentes da mesma aplicao O ambiente troca informaes com os dispositivos e vice-versa A aplicao responde a mudanas no ambiente Questes que devem ser respondidas para que os cenrios acima tornem-se cenrios amplamente difundidos: Como mudar de uma rede para outra de forma transparente, sem que isto seja refletido na aplicao? Como fazer com que dispositivos descubram outros dispositivos ao seu redor e interajam entre si para a realizao de servios? Como fazer com que um ambiente inteligente aprenda sobre os dispositivos e as aes do usurios no ambiente e reflita na aplicao esse contexto aprendido. Como projetar aplicaes acessadas/executas de/em diferentes dispositivos sem ter que projetar as interfaces e funcionalidades para cada dispositivo separadamente? Estas e outras questes perfazem o assunto deste livro e sero discutidas no decorrer dos prximos captulos. 1.1 Definies Por ser uma rea emergente de pesquisa, termos como computao ubqua, computao pervasiva, computao nomdica, computao mvel e outros tantos, tm sido usados muitas vezes como sinnimos, embora sejam diferentes conceitualmente e empreguem diferentes idias de organizao e gerenciamento dos servios computacionais. Na medida em que a rea evolui, esses conceitos vo sendo melhor compreendidos e suas definies se tornam mais claras. A definio e diferenciao entre estes conceitos so mostradas a seguir [4]. O que Computao Mvel? A computao mvel baseia-se no aumento da nossa capacidade de mover fisicamente servios computacionais conosco, ou seja, o computador torna-se um dispositivo sempre presente que expande a capacidade de um usurio utilizar os servios que um computador oferece, independentemente de sua localizao. Combinada com a capacidade de acesso, a computao mvel tem transformado a computao numa atividade que pode ser carregada para qualquer lugar. Limitaes da Computao mvel Uma importante limitao da computao mvel que o modelo computacional no muda enquanto nos movemos, isto , o dispositivo no capaz de obter flexivelmente informao sobre o contexto no qual a computao ocorre e ajust-la corretamente. Numa soluo para acomodar a mudana de ambiente, os usurios poderiam manualmente controlar e configurar a aplicao medida que se movem, o que seria i vivel e inaceitvel pela maioria dos n usurios

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

50

O que Computao Pervasiva? O conceito de computao pervasiva implica que o computador est embarcado no ambiente de forma invisvel para o usurio. Nesta concepo, o computador tem a capacidade de obter informao do ambiente no qual ele est embarcado e utiliz-la para dinamicamente construir modelos computacionais, ou seja, controlar, configurar e ajustar a aplicao para melhor atender as necessidades do dispositivo ou usurio. O ambiente tambm pode e deve ser capaz de detectar outros dispositivos que venham a fazer parte dele. Desta interao surge a capacidade de computadores agirem de forma inteligente no ambiente no qual nos movemos, um ambiente povoado por sensores e servios computacionais. O que Computao Ubqua? A computao ubqua beneficia-se dos avanos da computao mvel e da computao pervasiva. A computao ubqua surge ento da necessidade de se integrar mobilidade com a funcionalidade da computao pervasiva, ou seja, qualquer dispositivo computacional, enquanto em movimento conosco, pode construir, dinamicamente, modelos computacionais dos ambientes nos quais nos movemos e configurar seus servios dependendo da necessidade. A tabela 1 mostra as dimenses da computao ubqua.

Computao Pervasiva Mobilidade Grau de embarcamento Baixa

Computao Mvel Alta

Computao Ubqua Alta

Alto

Baixo

Alta

Tabela 1 Dimenses da Computao Ubqua adaptado de [4]

O grau de embarcamento indica, de maneira geral, o grau de inteligncia dos computadores, embutidos em um ambiente pervasivo, para detectar, explorar e construir dinamicamente modelos de seus ambientes. Como se relacionam as computaes ubqua, pervasiva e mvel? Tendo em vista todas as definies mencionadas acima, o termo computao ubqua ser usado aqui como uma juno da computao pervasiva e da computao mvel. A justificativa de se realizar uma diferenciao desses termos que um dispositivo que est embutido em um ambiente, no necessariamente mvel. Devido a isso, quando for utilizado o termo computao ubqua, considerar-se-o o alto grau de dispositivos embarcados da computao pervasiva juntamente com o alto grau de mobilidade da computao mvel, conforme mostra a Figura 1.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

51

Computao pervasiva

Computao ubqua

Computao mvel

Figura 1 Relao entre Computao Ubqua, Pervasiva e Mvel

1.2 Princpios da Computao Ubqua (adaptado de [5]) Pelos menos trs princpios so identificados na Computao Ubqua, a saber: Diversidade - Ao contrario do PC, que um dispositivo de propsito geral que atende varias necessidades distintas do usurio, tais como: edio de texto, contabilidade, navegao na web, etc., os dispositivos ubquos acenam com uma nova viso da funcionalidade do computador, que a de propsito especifico, que atende necessidades especificas de usurios particulares. Apesar de vrios dispositivos poderem oferecer funcionalidades que se sobrepem, um pode ser mais apropriado para uma funo do que outro. Por exemplo, o palmtop bom para fazer anotaes rpidas, mas no o melhor dispositivo para navegar na web. Um telefone de tela pode ser o dispositivo escolhido pelo usurio em sua casa para navegar pela internet, com todo o potencial de cores e boa resoluo que este dispositivo pode oferecer. Um outro aspecto da diversidade o de como gerenciar as diferentes capabilidades de diferentes dispositivos, uma vez que cada dispositivo tem caractersticas e limitaes prprias tornando difcil oferecer aplicaes comuns. Descentralizao - Na computao ubqua as responsabilidades so distribudas entre vrios dispositivos pequenos que assumem e executam certas tarefas e funes. Estes dispositivos cooperam entre si para a construo de inteligncia no ambiente, que refletida nas aplicaes. Para isso uma rede dinmica de relaes formada, entre os dispositivos e entre dispositivos e servidores do ambiente, caracterizando um sistema distribudo. Quando os dispositivos tm que atualizar informaes com os servidores ou com outros dispositivos, em especial com dispositivos de diferentes capacidades, questes de sincronizao emergem e sero discutidas no capitulo sobre sincronizao. Outra questo relacionada distribuio inclui o gerenciamento, pelos servidores, das aplicaes que executam nos dispositivos. Os servidores precisam manter registros de perfis de usurios e de dispositivos com capacidades diferentes. Alm disso, o servidor deve ser altamente flexvel, bem como poderoso, para tratar um vasto nmero de dispositivos em movimento. Conectividade - Na computao ubqua, tem-se a viso da conectividade sem fronteiras, em que dispositivos e as aplicaes que executam neles movem-se juntamente com o usurio, de forma transparente, entre diversas redes heterogneas, tais como as redes sem fio de longa distncia e redes de media e curta distancia. Para que se atinja a conectividade e interoperabilidade desejada preciso basear as aplicaes em padres comuns, levando ao desafio da especificao de padres abertos.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

52

1.3 Aplicaes Uma das primeiras demonstraes de como a computao ubqua pode ajudar os usurios em suas tarefas dirias foi realizada nos laboratrios da XeroxPARC com o Xerox PARCTab [6], que localizava um usurio dentro de um edifcio, dentre outras funcionalidades. Outras reas de aplicao da computao ubqua incluem: ensino, trabalho colaborativo, residncias e automveis inteligentes, descritas logo abaixo. Exemplos de Computao Pervasiva no Ensino O objetivo dar suporte aos professores em suas atividades de produo de material didtico e aos alunos na anotao das aulas de forma personalizada. Exemplos de projetos nesta rea incluem: o Classroom 2000 [7] do Georgia Institute of Technology que compreende um conjunto de tecnologias de hardware e software para a captura de aulas presenciais e posterior disponibilizao do material capturado sob a forma de hiperdocumentos multimdia customizados; o Lecture Browser [8] um projeto da Universidade de Cornell que difere do eClass ao utilizar tcnicas de viso computacional e combinao de mais de uma fonte de vdeo para produzir seus hiperdocumentos multimdia resultantes do processo de captura da aula dada pelo professor; o Authoring on the Fly [9] um projeto de suporte ao ensino da Universidade de Freiburg na Alemanha que difere de outros sistemas dessa natureza em funo do poderoso modelo de sincronizao das mdias capturadas da aula, das diversas formas de representao do material capturado, e das funcionalidades fornecidas para acesso posterior a esse material. Exemplos de Computao Pervasiva no Trabalho Colaborativo Oferece suporte a reunies formais e/ou informais entre participantes de um mesmo grupo. Exemplos de projetos nesta rea incluem: o sistema DUMMBO (Dynamic, Ubiquitous, Mobile Meeting Board) [10], do Georgia Institute of Technology voltado para a captura de atividades de uma reunio informal. Esse sistema registra os desenhos feitos em uma lousa eletrnica compartilhada e a voz de cada membro da reunio, e disponibiliza essa informao sob a forma de hiperdocumentos multimdia sincronizados; o sistema TeamSpace [11] que um projeto colaborativo entre o Georgia Institute of Technology, IBM e Boeing com foco na captura de atividades envolvidas em uma reunio formal local ou distribuda. Esse sistema registra uma parcela maior dos artefatos apresentados durante uma reunio, incluindo slides, anotaes, itens de agenda, vdeo e udio de cada membro da reunio; o projeto iRoom (Interactive Room) [12] da Universidade de Stanford que focaliza as interaes com dispositivos computacionais, tais como PCs, laptops, PDAs e superfcies eletrnicas, em um espao de trabalho conectado a uma rede sem fio. Um de seus principais desafios envolve o suporte movimentao de dados e de controle entre esses vrios dispositivos de interao de forma transparente, para no interromper o processo de colaborao. Exemplos de Computao Ubqua em Aplicaes que exigem maior movimentao do usurio Guias tursticos eletrnicos trabalham normalmente com informaes de localizao dos usurios e utilizao de dispositivos portteis para conferir maior mobilidade aos usurios. Os

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

53

principais objetivos dessa classe de aplicaes so registrar os locais visitados e identificar a posio atual do usurio dentro de um espao de interao, como campus universitrio, museu, etc. O CampusAware [13] um sistema de turismo que utiliza informaes de localizao para fornecer servios aos usurios. O sistema permite que o usurio faa anotaes em seus dispositivos sobre os locais que esto visitando, fornecendo tambm informaes de como encontrar determinados locais de interesse e a posio atual do usurio. O CampusAware possui um repositrio central com trs bancos de dados para informaes contextuais e sociais, como as anotaes dos usurios e locais visitados. O CampusAware utiliza o GPS para obteno de informaes de localizao em ambientes abertos. O sistema Rememberer [14] parte do projeto Cooltown [15], dirigido pelo Hewlett-Packard Laboratories. Seu objetivo capturar experincias pessoais e estimular discusses ou outras formas de interao pessoal atravs de dispositivos portteis sem fio. Para capturar informao de localizao em recintos fechados, esse sistema utiliza RFID (radio frequency identification) [16]. Um exemplo de aplicao desse sistema em visita a museus, onde cmeras fotogrficas registram interaes dos usurios no museu, e disponibiliza essas informaes na ordem em que os locais foram visitados, permitindo ainda que o usurio faa anotaes sobre esses lugares. Exemplos de Computao Ubqua na Residncia Inteligente Basicamente, as aplicaes de computao ubqua que abrangem o domnio domstico tm por objetivo conhecer as atividades dos moradores de uma casa e fornecer servios que aumentem a qualidade de vida deles. O EasyLiving [17] um projeto da Microsoft Research que se preocupa com o desenvolvimento de arquiteturas e tecnologias para ambientes inteligentes, focando particularmente em uma sala de estar residencial. O ambiente contm um computador, telas eletrnicas (incluindo uma tela grande), caixas de som, sofs e mesa de caf, entre outros itens. Os servios so fornecidos para melhorar o ambiente, como por exemplo, automatizar o controle de luz, tocar msica baseado na localizao (dependendo da preferncia do usurio), e ainda transferir automaticamente o contedo de uma tela para outra. O Adaptive House [18] um projeto da Universidade de Colorado e tem como objetivo desenvolver uma casa que se programe observando o estilo de vida e desejos dos habitantes e aprendendo a se antecipar s suas necessidades. O sistema desenvolvido no Adaptive House chamado ACHE (Adaptive Control of Home Environments), e foi desenvolvido basicamente para controlar o sistema de AVAC (Aquecedor, Ventilador, Ar condicionado), iluminao e gua. Exemplos de Computao Ubqua em outros domnios Outros domnios de aplicao so automveis, penitencirias, laboratrios, etc. No domnio automotivo a ateno principal na posio do usurio/dispositivo. Segundo Herrtwich [19] o setor automotivo um bom atrativo para a computao ubqua, pois os dispositivos de comunicao j podem estar integrados nos automveis (devido ao seu tamanho), os equipamentos de comunicao podem utilizar as fontes de energia do prprio automvel, o preo dos equipamentos de comunicao relativamente pequeno comparado com o valor do automvel, e o mais importante, que muitos servios, como pedido de socorro e rastreamento remoto, so de interesse dos compradores e dos produtores de automveis.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

54

1.4 Consideraes finais Novas arquiteturas devem ser criadas para tratar da diversidade e das limitaes dos dispositivos ubquos e de outras tecnologias envolvidas. Entretanto, com o aumento do potencial de processamento e armazenamento de dispositivos que esto cada vez mais baratos, a emergncia de discos minsculos, processadores milimtricos, clulas de energia em miniatura, telas pequenas com resoluo cada vez melhor, alm dos avanos no reconhecimento da fala e da escrita manual, do aumento das redes de comunicao sem fio com capacidade cada vez maior, do surgimento de padres abertos para conexo e interoperabilidade entre redes diferentes, a computao ubqua no parece to distante e certamente vai causar um enorme impacto na sociedade e no estilo de vida das pessoas. O prximo capitulo descreve diferentes tipos de dispositivos.

2. Dispositivos
Os cenrios mostrados no capitulo 1 oferecem uma pequena amostra do potencial de aplicao da computao ubqua. Na medida em que a residncia, o meio de transporte e o trabalho do usurio tornam-se os cenrios de aplicao da computao ubqua, oferecendo servios como segurana, comodidade, informao, entretenimento, e muito mais, um universo incrvel de dispositivos diferentes dever existir para suportar estes servios. Exemplos incluem: controles, sensores e atuadores para residncias e automveis, eletrodomsticos, ar-condicionado, aquecedor, relgios e etiquetas inteligentes, alm de toda a linha branca de utenslios domsticos, TVs, celulares, PDAs, consoles de jogos e muito mais. A existncia de mltiplos dispositivos, seja para o acesso a informao, ao entretenimento, embutidos em utenslios domsticos, embarcados em ambientes inteligentes, etc., constitui-se em um dos desafios da computao ubqua, conforme visto no capitulo 1. Uma tentativa de classificar esses dispositivos ilustrada na tabela 2. Por questo de falta de espao, ser apresentado, no texto a seguir, apenas um resumo das caractersticas principais de cada classe de dispositivos [5] [20]. 2.1 Controles Inteligentes Os controles inteligentes caracterizam-se por serem muito pequenos podendo ser integrados a lmpadas, interruptores, termostatos, sensores, atuadores etc., em aplicaes que variam de controle de segurana residencial (sensores em portas e janelas para detectar a entrada de intrusos, atuadores para acender/apagar lmpadas especficas em horrios especficos etc), a controle de comodidades para o usurio (sensores de temperatura, atuadores para ligar/desligar/programar sistemas de aquecimento/resfriamento de ambiente residencial etc.). Os controles so conectados a redes domesticas e gerenciados local ou remotamente, atravs da Web ou applets Java, em aplicaes locais.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

55

Cartes Inteligentes Os cartes inteligentes (smartcards) merecem uma seo a parte dentro dos controles inteligentes, devido ao alto potencial de uso, em larga escala, em aplicaes do tipo: Autenticao de usurio, assinatura eletrnica e criptografia. O carto inteligente pode funcionar como um carto telefnico (nos telefones GSM), sistema de acesso a um local fsico de trabalho, em aplicaes de home banking, bolsa eletrnica (dinheiro digital) e muito mais. A prxima gerao de cartes para transaes financeiras possuem confiabilidade muito superior ao carto magntico no d para copiar. Estas aplicaes podem executar fora e/ou no prprio carto.

Controles Inteligentes Controles de processo de manufatura Controles residenciais Termostatos Etiquetas inteligentes Controles de bombas de ar, gua, gs etc. Cartes inteligentes Controles em sistemas automotivos

Utenslios Inteligentes Quiosques Terminais de Ponto de Venda Centrais de telecomunicaes Eletro domsticos da linha branca (geladeiras, maquinas de lavar roupa etc.) Terminais de Caixa eletrnico Maquinas de venda automtica Instrumentos de monitoramento medico Sistemas de Entretenimento TV Caixas digitais set-top-box Consoles de jogos Cmeras digitais Brinquedos inteligentes Reprodutores de musica MP3

Dispositivos de Acesso a Informao Telefones Celulares Telefones de tela Agentes Pessoais Digitais - PDAs Computadores de mo Computadores portteis Pagers

Tabela 2. Uma classificao dos dispositivos ubquos (adaptado de [5])

Um carto inteligente composto basicamente de um chip de no mximo 25 mm2 de tamanho, com os seguintes componentes e respectivas configuraes tpicas: CPU de 8, 16 ou 32 bits (co-processador opcional para criptografia), Memria RAM de 4KB, ROM de 16KB que contm o sistema operacional e funes de comunicao e de segurana (DES, RSA), alm de EEPROM para dados permanentes (aplicao). Os Sistemas operacionais existentes para cartes inteligentes incluem: JavaCard, Mutos e Windows para smartcards. As propriedades fsicas, eltricas, mecnicas e de programao (sistema de arquivos) dos cartes inteligentes so especificadas pelo Padro ISO 7816 [21]. A padronizao da interface de acesso s aplicaes tambm um aspecto importante para que aplicaes possam ser acessadas por leitoras diferentes ou levadas para leitoras de outros fabricantes. Iniciativas de padronizao de APIs para aplicaes de cartes inteligente incluem: PC/SC [22] e OpenCard Framework OCF [23].

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

56

2.2 Utenslios Inteligentes difcil estabelecer uma linha divisria clara entre as classes de dispositivos, em especial os controles inteligentes e os utenslios inteligentes. Os controles inteligentes podem estar embutidos em utenslios que so controlados por um ou mais microprocessadores. Desta forma, podemos considerar os utenslios como sendo mais inteligentes e complexos do que os controles inteligentes. Os utenslios inteligentes aumentam a funcionalidade de equipamentos j conhecidos e que hoje prestam um conjunto de servios dedicados. Os utenslios inteligentes, em ambientes de computao ubqua, interagem entre si para aumentar o conforto dos usurios, seja em casa, no carro, no escritrio, no banco, no hospital, nas ruas, nos shoppings etc. Exemplos de aplicao de utenslios inteligentes incluem: Otimizao do consumo de energia (aquecimento seletivo por cmodo da casa; aquecimento diferenciado por ocupao da casa; aquecimento de gua em funo do perfil dos moradores); manuteno de utenslios (diagnstico e atualizao remota de micro-cdigo em utenslios da linha branca), comunicao entre etiquetas de roupa e a mquina de lavar. Esses dispositivos podem ser acessados e operados remotamente via web, por exemplo. Computao Automotiva Um numero cada vez maior de microprocessadores, controladores, sensores e atuadores esto sendo embutidos nos vrios componentes dos automveis de mais alto custo. Atualmente, estes componentes interagem entre si, mas em breve estaro se comunicando tambm com o mundo exterior para estender a interface tradicional do motorista e oferecer servios do tipo: sistemas de navegao (uso do GPS para determinao de localizao do veiculo com o objetivo de orientar o motorista sobre as melhores rotas para chegar ao destino); telemtica (componentes do carro comunicam-se com componentes de fora do carro, atravs de comunicao sem fio, para informao sobre alternativas de rotas face a congestionamentos, bloqueios, condies climticas etc); informe sobre acidente ou falhas em componentes do automvel (problemas no air bag so notificados para a montadora via fone celular); monitoramento dos dados sobre o veiculo pelas montadoras (temperatura do leo, informes da montadora para o motorista, envio de atualizaes de software); acesso a informao(servios de e-mail, acesso a Internet); entretenimento (difuso de udio digital DAB; TV) e muito mais. Trs fatores da indstria automotiva esto levando as montadoras a implementarem em seus carros sistemas genricos de barramento que interconectam componentes eletrnicos, atravs de barramento e no mais de fiao com interconexo ponto-a-ponto [20]: (1) aumento da complexidade da montagem do veiculo devido ao peso da fiao necessria para interconectar um numero cada vez maior de componentes eletrnicos, aumentando tambm o custo do veiculo; (2) o custo cada vez maior dos componentes personalizados para cada fabricante; (3) a diferena grande de tempo entre os ciclos de desenvolvimento dos dispositivos eletrnicos e do modelo de um carro novo o sistema eletrnico de um carro novo que entra em linha de produo j est defasado em termos de custo e tecnologia em relao a nova gerao de eletrnicos disponvel nas prateleiras. Com o barramento, que age como uma rede de comunicao, diferentes componentes, com interfaces bem definidas, podem ser conectados. Estas interfaces tm que

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

57

ser padronizadas para que os componentes possam ser desenvolvidos por terceiros, e de forma independente do carro em si.. Existem varias iniciativas de padronizao das redes automotivas em andamento, tais como: os americanos J1850 definido pela Sociedade dos Engenheiros Automotivos e Onboard Diagnostics - ODB-II, o europeu Controller rea Network CAN, o padrao aberto Local Interconnect Network LIN, o barramento IDB Intelligente Transportation Systems Data Bus, entre outros. 2.3 Dispositivos de Acesso a Informao Os dispositivos de acesso informao provem comunicao entre usurios, anotao, acesso informao etc., visando aumentar as capabilidades humanas, em especial no trabalho. Exemplos desse tipo de dispositivo incluem: Assistentes Digitais Pessoais PDA, PC de bolso (baseados no W/CE), Sub-notebooks (intermedirios entre computador de mo e lap-top), Telefone celular; Telefones inteligentes (combinam telefone mvel com PDA), Telefones de tela (convergncia do telefone com terminal de acesso internet), etc. Dispositivos de Mo Os primeiros dispositivos moveis de acesso informao eram descendentes dos organizadores e possuam teclado e tela relativamente grandes, com vrios conectores e slots de expanso (exemplos: Psion e W/CE Handheld Pro). J os PDAs caracterizam-se pela tela sensvel a toque. A interao com o dispositivo baseada em apontador (stylus), a entrada de texto feita por reconhecimento de escrita manual (exemplos: Palm, WorkPad da IBM, Pocket PC etc.). Outros dispositivos incluem: leitores multimdia portteis e reprodutores de contedo para ler/ouvir livros eletrnicos (exemplo: e-BookMan). Nos dispositivos de mo, tudo menor que no PC, com tecnologias normalmente muito diferentes das do PC. Alguns exemplos de servios oferecidos incluem: livro de endereos e telefones, calendrio, atividades a fazer, editor de texto, calculadora, despertador, e-mail, sincronizao de dados e jogos, navegadores, relgios globais, gerente de arquivos, planilhas, aplicaes financeiras, reprodutores de mdia, recursos de desenho etc. Telefones Celulares Os celulares oferecem vrios servios, entre eles: Paging, transmisso de dados, fax, mensagens curtas - SMS (at 160 caracteres), WAP (para acesso a servios de escalas de vo, previso do tempo, informaes de trnsito, cotao de aes, reserva de hotel etc). O oferecimento de servios multimdia o alvo principal dos fabricantes de celulares, o que est se tornando possvel na medida em que aumenta-se a implantao e abrangncia das redes sem fio de maior capacidade de largura de banda, aumenta-se o potencial de processamento dos processadores de celulares e tambm a capacidade das baterias. A seo abaixo descreve aspectos das tecnologias de hardware dos dispositivos, que diferem muito das tecnologias do PC [5] [20]. Apesar de algumas dessas tecnologias poderem ser usadas nas outras classes de dispositivos, elas se referem, em especial, aos dispositivos de acesso a informao.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

58

2.4 Aspectos de Hardware dos Dispositivos Ubquos [20] Bateria: Tecnologia Limitante Uma tecnologia que limita a velocidade de desenvolvimento de novos servios para os dispositivos a bateria. A velocidade de desenvolvimento das baterias menor do que a de outras tecnologias. Desta forma, qualquer avano rapidamente superado pelo aumento de consumo de energia dos processadores mais rpidos. Pesquisadores do mundo todo trabalham com o objetivo de descobrir novas fontes de energia que sejam mais leves, suportem mais tempo de fala e de processamento de aplicaes, alm de serem menos agressivas ambientalmente. Baterias de Niquel-Cadmo (NiCad), pesadas e sujeitas a perda de capacidade, foram substitudas por tecnologias como as de Niquel-Metal Hbrido (NiMH), mais leves, maior capacidade e menor agressividade ambiental. Baterias de Ltio-on (Li ion), encontradas hoje em vrios tipos de equipamentos eletrnicos, possuem baixa capacidade de energia mas suportam um tempo mais longo de fala graas a reduo da necessidade de energia dos dispositivos modernos. Clulas de ltio polmero, que usam gel para o eletrlito, refletem uma das tecnologias mais modernas na rea de baterias. Feita de camadas finas e flexveis, podem assumir qualquer forma ou tamanho. Telas Nos dispositivos de acesso a informao, o CRT - Tubo de Raios Catdicos - substitudo pela LCD Tela de Cristal Liquido. Apesar de ter um custo mais alto, a LCD pesa menos e consome menos energia. As tecnologias de LCD so: OLED - Diodo Orgnico Emissor de Luz, inventado h 15 anos mas s agora disponvel comercialmente; Semicondutor Cristalino, compostos orgnicos que permitem a construo de d ispositivos flexveis (construdo em qualquer tamanho e cor); LEP - Polmero Emissor de Luz; CoG - Chip-no-vidro; LCoG Cristal sobre Vidro Lquido. Essas tecnologias permitem a criao de telas minsculas (tamanho de pixel de 10 micrmetros). Como so extremamente pequenas, requerem alguma forma de magnificao (canho multimdia, capacetes etc). Memria O desenvolvimento da tecnologia de memrias orientado, em parte, pelos telefones inteligentes, cmeras digitais, tocadores MP3 e PDAs. Atualmente, vivel a integrao de vrios megabytes em dispositivos mveis, atravs de tecnologias como a dos micro discos rgidos removveis (Microdrive da IBM que suporta de 340MB a G1B), e memrias Flash no volteis (em telefones inteligentes e PDAs). A memria RAM nos telefones inteligentes e PDAs requer menos energia e prov acesso mais rpido. Com capacidade tpica de 2 a 16MB, contm o Sistema Operacional e os dados da aplicao. Esses dispositivos normalmente possuem slots de expanso para memria adicional. Os tipos de memria RAM disponveis incluem: RAM esttica SRAM que ideal para cache. Requer pouca energia, no faz refresh, possui esquema mais simples de endereamento e guarda os dados que mudam com freqncia os outros so armazenados em flash ou DRAM; RAM Unitransistor - Ut-RAM, esttica e dinmica em um nico chip, possui maior capacidade de memria em chips menores, que requer menos energia; RAM magneto-resistiva MRAM e RAM ferroeltrica FRAM, ambas so uma tendncia na combinao de memria magntica e

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

59

semicondutora com comportamento similar ao da RAM esttica, que requer menos energia, pois no tem os ciclos de regenerao dos bits (refresh) que a RAM dinmica tem. Com estas duas ultimas tecnologias de memria, necessrio apenas um nico tipo de memria nos dispositivos mveis, pois elas substituem a combinao de voltil e no voltil atualmente em uso. Processadores As melhorias na fabricao do CMOS tm levado a estruturas cada vez menores com um nmero cada vez maior de transistores. A voltagem abaixou de 3,3V em 1995 para 1,35V em 2002. H menor emisso de calor e caches maiores. Com o problema critico da limitao das tecnologias de baterias, a tecnologia dos processadores tem avanado a ponto de oferecer mecanismos que permitem a reduo da voltagem do dispositivo por software, o que reduz o ciclo do clock (roda mais devagar), economizando energia. O processador SpeedStep da Intel faz o gerenciamento da energia ajustando a freqncia interna do clock e a voltagem do ncleo. Ele se adapta a mudanas no fornecimento de energia, desligando as partes da CPU que no so necessrias no atual processamento. A transio entre os modos econmico e normal transparente. Entrada de dados Teclados O tamanho dos dispositivos de acesso a informao imposto pela necessidade de E/S de dados, uma vez que o tamanho dos componentes de E/S (teclado, LCD) influencia o tamanho total do dispositivo mvel. Quando os dispositivos de E/S so integrados em um mesmo dispositivo, difcil esperar que se tornem menores do que j so nos dias de hoje. Entretanto, quando considerados separados, os avanos na tecnologia vo certamente tornlos menores. Dependendo do tamanho do dispositivo, o teclado pode oferecer um conjunto completo de teclas ou um conjunto limitado para a entrada dos dados. Quanto menor o numero de teclas, mais complexa ser a operao do dispositivo. Por outro lado, um teclado completo acoplado a um dispositivo certamente vai deix-lo maior. Teclados Virtuais em Telas Sensveis a Toque Quando os teclados so omitidos, por exemplo, por falta de espao no dispositivo, outras tecnologias so usadas, tais como: Teclados na Tela - em dispositivos com telas grandes, substitui-se o teclado mecnico pelo teclado virtual (tela sensvel a toque) e Teclado Fitaly teclado que apresenta layout especial, diferente do QWERTY. As letras so organizadas baseadas na freqncia individual e probabilidade de transies na lngua Inglesa. As letras i, t, a, l, n, e, d, o, r, s, espao perfazem 73% das teclas usadas na lngua inglesa. Adicionando-se as letras c, h, u, m, chega-se a 84%. As demais teclas esto todas no mximo a duas teclas de distancia da rea central. A figura 2 mostra um teclado Fitaly na tela de um Pocket PC (W/CE). Teclados Tegic T9 O padro T9 (Text on 9 digits).[24] usa nmeros para entrada de texto, onde cada tecla numrica associada a um conjunto de letras. O nmero pressionado vrias vezes, por exemplo, as letras A, B e C so associadas ao digito 2 no teclado. A tecla 2 tem que ser pressionada uma vez para A, duas vezes para B e trs vezes para C. Quando

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

60

surge ambigidades, isto , quando uma palavra representada pela mesma seqncia de teclas, o usurio tem que ajudar. O T9 usado para entrada de texto em telefones moveis e PDAs. Um outro tipo de teclado o Octave que mapeia cada letra do alfabeto em um de oito traos (strokes) distintos. Os traos so baseados em smbolos que representam uma parte comum caracterstica das letras que eles representam, localizados ao redor das pontas do boto/tela sensvel a toque em forma de estrela. Desenhos e textos explicativos sobre o Octave podem ser encontrados em [25].

Figura 2. Exemplo de um teclado Filtaly na tela de um Pocket PC (W/CE)

Alguns dispositivos, p questes, por exemplo, de falta de espao, podem omitir or totalmente o uso do teclado. Nestes casos, tecnologias alternativas, como reconhecimento de escrita a mo ou reconhecimento de voz so utilizadas. Reconhecimento de escrita a mo Tecnologia vivel quando estiverem disponveis: poder de processamento suficiente e telas sensveis a toque. O maior desafio desta tecnologia o reconhecimento de palavras completas, que muito mais difcil do que o reconhecimento de letras individuais, pois requer uma captura muito precisa dos dados e retorna o reconhecimento com atraso. Outros mtodos limitam-se ao reconhecimento de caracteres separados. Aqui, requer-se que o stylus seja levantado depois de cada caractere. O reconhecimento de caractere normalmente atinge alta taxa de reconhecimento, mas requer cooperao do usurio. O numero de formas que uma letra pode ser desenhada para ser reconhecida muitas vezes limitado. A figura 3 mostra um exemplo de reconhecimento de escrita a mo. Para o reconhecimento de caracteres de linguagens asiticas, o sistema operacional SO do Palm pode ser estendido para a verso CJKOS extenso de SO que adapta o SO do Palm para E/S em chins, japons e koreano), como mostra a figura 4. Reconhecimento de Voz o mtodo de entrada mais natural. Requer espao mnimo para ser integrado no dispositivo. uma tecnologia cara (requer alto poder computacional). A fala contnua j est disponvel

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

61

em PCs e uma questo de tempo at que esteja disponvel nos dispositivos mveis. O telefone o dispositivo mais bvio para a integrao com reconhecimento de voz (entrada de nmeros de telefone em servios de agenda, via voz, j disponvel). Os desafios dos futuros sistemas de reconhecimento de voz incluem: reconhecimento de fala contnua, compreenso de solicitaes complexas, traduo para outras lnguas etc. 2.5 Sistemas de Entretenimento Os sistemas de entretenimento envolvem dispositivos cujo uso voltado principalmente ao lazer. Exemplos incluem: TV (via cabo, satlite, microondas), Set-top-boxes (caixa sobre a TV que promove a interface entre os provedores do servio de difuso e a TV do consumidor), Console de jogos (exemplos: Dreamcast da Sega, Playstation2 da Sony, Dolphin da Nintendo e X-box da Microsoft), Cmeras digitais, Brinquedos inteligentes, Reprodutores de musica MP3 etc.

Figura 3. Exemplo de reconhecimento de escrita

Figura 4. Exemplo de tela com CJKOS no Pocket PC

3. Software de Sistemas de Computao Ubqua


Devido as limitaes de memria, capacidade de processamento e bateria dos dispositivos, alm da diversidade de tipos, alta latncia das redes de comunicao sem fio, etc., as aplicaes para os dispositivos tm que ser projetadas tendo em mente essas limitaes. Os Sistemas operacionais, por sua vez, tm que ser projetados tendo em mente as caractersticas do dispositivo e o objetivo de u A computao ubqua traz novos requisitos para as so. infraestruturas de servio, ou middlwares, tais como: descoberta de servios, adaptao da aplicao, alm de frameworks que atendem necessidades especificas. Estas e outras questes relacionadas ao software de sistemas de computao ubqua so discutidas a seguir.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

62

3.1 Aplicao Os desenvolvedores de aplicaes para ambientes ubquos tm uma seleo limitada de linguagens de programao disponveis, dentre elas: Java, C e C++ (alm de algumas linguagens proprietrias). A linguagem Java oferece i dependncia de plataforma do cdigo n compilado e atende os requisitos de dispositivos pequenos. As linguagens C e C++ podem produzir cdigo nativo muito pequeno, alm de altamente otimizado para uma plataforma especfica. Estas linguagens so indicadas para programao em ambientes com fortes restries de memria, como o caso da maioria dos dispositivos ubquos. Os dispositivos ubquos processam executveis e dados direto de sua localizao em RAM ou ROM. A quantidade de memria nos dispositivos ubquos uma frao da de um PC (normalmente no tem disco rgido). A programao da aplicao deve ser eficiente pois o poder de processamento e a memria so recursos limitados. Deve-se evitar perder dados quando a bateria est com carga baixa. Muitas vezes o sistema operacional e as aplicaes no so atualizveis no tempo de vida do dispositivo. As aplicaes normalmente no so reiniciadas e podem executar para sempre. 3.1.1 O desenvolvimento de aplicaes para ambientes de computao ubqua Ao desenvolver aplicaes para dispositivos ubquos, os programadores devem ter em mente as seguintes restries: tamanho limitado da tela, capacidade limitada de entrada de dados, poder limitado de processamento, memria, armazenamento persistente e vida da bateria alta latncia, largura de banda limitada e conectividade intermitente (o que os dispositivos esperam encontrar em termos de conectividade) Frente s limitaes listadas acima, as aplicaes devem: Conectar-se a rede apenas quando necessrio Consumir da rede apenas os dados que realmente precisa Permanecer til mesmo quando desconectado Algumas estratgias para o desenvolvimento de aplicaes para dispositivos pequenos incluem: Manter simples. Remover caractersticas desnecessrias. Se possvel tornar essas caractersticas como uma aplicao secundria, separada. Menor melhor. Aplicaes menores usam menos memria no dispositivo e requerem tempo mais curto de instalao. Deixe o servidor fazer a maior parte do trabalho. Mover as tarefas computacionalmente intensivas para o servidor. Deixar o dispositivo mvel tratar a interface e quantidades mnimas de computao. Claro que isto depende de quo fcil e com que freqncia o dispositivo pode se conectar no servidor. Escolha a linguagem cuidadosamente. Linguagens da famlia Java, como o J2ME, no so a nica opo. Linguagens como C++ tambm devem ser consideradas.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

63

Se linguagem usada Java, minimizar uso de memria do sistema de execuo (run-time). Usar tipos escalares em vez de tipos objetos. No depender do garbage collector (voc mesmo deve gerenciar a memria eficientemente colocando as Referncias a objetos em NULL quando terminar de usar). Somente alocar objetos quando estes forem necessrios. Liberar os recursos rapidamente, reusar objetos e evitar excees. Estratgias de programao para codificao visando o melhor desempenho incluem: Usar variveis locais. mais rpido acessar variveis locais do que acessar membros de classes. Evitar concatenao de string. A concatenao de strings diminui o desempenho e pode aumentar o uso de memria da aplicao. Usar threads e evitar sincronizao. Qualquer operao que levar mais de 1/10 de um segundo para executar requer um thread separado. Evitar sincronizao tambm pode aumentar o desempenho. 3.1.2 Java para Ambientes Ubquos Applets, Servlets, JavaBeans e aplicaes Java so todos tipos de programas em Java e bem conhecidos dos profissionais da rea de Computao. Por questo de falta de espao, suas definies e caractersticas podem ser encontradas em [26], [27] e [28]. A independncia de plataforma que a Java oferece, a grande quantidade de bibliotecas disponveis (de suporte a construo de interfaces grficas a suporte de rede), e a existncia de maquinas virtuais embutidas em vrios dispositivos tornou a linguagem Java uma tecnologia chave para o desenvolvimento de software na computao ubqua. A figura 5 mostra como funciona a execuo de programas Java em diferentes dispositivos. O cdigo em Java compilado num cdigo neutro e padronizado denominado bytecode. O sistema operacional de cada dispositivo alvo utiliza um ambiente de execuo Java (Java runtime environment JRE) para interpretar e executar o byte code gerado na compilao, em tempo de execuo. Um interpretador de bytecode, tambm chamado de maquina virtual MV, traduz as instrues genricas em comandos nativos, especficos da maquina que est executando a aplicao. Desta forma, qualquer dispositivo que contenha uma maquina virtual Java pode executar um programa em Java sem que este tenha que ser recompilado. As diferentes especificaes da famlia Java Como os requisitos das diferentes classes de computadores so diferentes, uma linguagem Java de propsito geral que acomodasse todos esses requisitos diferentes estava tornando-se ingerenciavel. A SUN ento decidiu dividir a linguagem Java em diferentes especificaes, ilustradas na figura 6. Cada uma das verses de Java possui um Kit de Desenvolvimento de Software SDK (Software Development Kit) que implementa a verso correspondente. Segue abaixo a descrio da famlia Java.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

64

Cdigo em Java Compila bytecode Java Executa MV1 MV2 MV3

Figura 5. A execuo de cdigo Java em diferentes dispositivos

Perfi

Perfil

Perfil

Perfil

J2EE Java 2 Enterprise Edition

J2SE Java 2 Standard Edition

Perfil TV

Perfil fone de tela

Perfil PDA

Perfil Carro

J2ME - Java 2 Micro Edition APIs fundamentais Linguagem de programao Java Java HotSpot JVM KVM

Perfil Smart

Card VM

Figura 6. As diferentes especificaes da linguagem Java

J2SE - Standard Edition a especificao da linguagem Java para estaes de trabalho e PCs, para aplicaes dedicadas e applets. As maquinas virtuais so otimizadas. O objetivo maximizar desempenho e segurana ao custo de maior uso de memria. J2EE - Enterprise Edition O J2EE visa os sistemas servidores de grande porte corporativos para aplicaes de comercio eletrnico e de negcios na Web (e-business). Oferece caractersticas adicionais ao J2SE: servlets JSP, JDBC, Java Message Service, Java Naming e Interface de Diretrio, alm de Suporte a transaes (Java Transaction), correio eletrnico (Java Mail), XML, CORBA e EJB.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

65

J2ME Micro Edition Objetiva atender os requisitos de dispositivos ubquos com as seguintes limitaes: pouca memria, energia limitada, conexo intermitente rede; capabilidades grficas restritas, dentre outras. O J2ME introduz o conceito de Perfis que so subconjuntos da linguagem Java para diferentes grupos de dispositivos. composto de funcionalidade bsica mnima obrigatria. Classes adicionais, necessrias para suportar caractersticas tpicas de um grupo especifico de dispositivos, so includas em um perfil correspondente. Caso uma aplicao precise de funcionalidade adicional, no especificada no perfil do dispositivo, as bibliotecas correspondentes podem ser trazidas da rede de forma dinmica (cdigo de aplicao mais bibliotecas de classes). Inclui MVs, bibliotecas de APIs, ferramentas para colocar aplicao no dispositivo, e configura-lo. O J2ME ser detalhado mais adiante no texto. 3.1.3 A edio J2ME para Dispositivos ubquos - o lado do cliente A edio J2ME um conjunto de produtos, tecnologias, ferramentas e padres necessrios para criar aplicaes para dispositivos ubquos. Inclui suporte para desenvolvimento de aplicaes no dispositivo e fora do dispositivo. O J2ME disponvel em duas verses: CLDC - Configurao de dispositivo limitado, conectado (Connected, Limited Device Configuration) para fones celulares, PDAs e set-top boxes de mdia capacidade. Contm a mquina virtual KVM, um interpretador de linguagem Java para microprocessadores de 16bit ou 32-bit RISC/CISC em dispositivos com 128 a 512KB RAM, e conexo de rede intermitente. Oferece suporte total a linguagem Java (exceto ponto flutuante, finalizao e tratamento de erro). Contem verso minimizada dos pacotes java.lang, java.io, and java.til do J2SE. Implementa API javax.microedition.io, para conexes de rede (fones mveis e aparelhos de TV). CDC - Configurao de Dispositivo Conectado (Connected Device Configuration) permite desenvolver aplicaes para telefones de tela, set-top boxes, PDAs de alta capacidade, pontos-de-venda, navegao automotiva e utenslios domsticos. Contm uma mquina virtual completa - CVM para microprocessadores de 32-bit RISC/CISC/DSP em dispositivos com memria ROM maior que 512KB e memria RAM maior que 256KB, e conexo de rede sempre ativa. uma verso enxuta do J2SE mais classes do CLDC. Possui bibliotecas de UI restritas (telefones de tela, Set-top-boxes). O CLDC e CDC so aninhveis, isto , qualquer aplicao que executa uma configurao mnima capaz de executar numa configurao com recursos mais poderosos MIDP - Os Perfis J2ME O Perfil uma forma adicional de especificar o subconjunto de APIs Java, bibliotecas de classe e recursos de m quina virtual para uma famlia especfica de dispositivos. Os perfis objetivam atender necessidades de segmentos especficos da indstria. O MIDP Perfil do Dispositivo de Informao mvel (Mobile Information Device Profile) a especificao para um perfil J2ME. O MIDP foi projetado para operar acima do CLDC com o objetivo de capacitar as aplicaes Java para executarem em dispositivos mveis de informao (MIDs). Contem APIs para o ciclo de vida da aplicao, IU, rede e memria persistente

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

66

(java.sun.com/products/midp). Prov um ambiente de tempo de execuo padrao que permite a colocao dinmica de novos servios e aplicaes nos dispositivos do usurio. O MIDP um perfil padrao comum para dispositivos moveis, independente de fabricante. uma estrutura completa e de suporte para o desenvolvimento de aplicaes moveis. O MIDP estende o suporte conectividade oferecida pelo CDLC (via Connection framework ). Ele suporta um subconjunto do protocolo HTTP protocol, que pode ser implementado usando protocolos IP (TCP/IP) e no IP (WAP e i- mode atravs de um gateway para acesso aos servidores HTTP na internet). A estrutura de conexo Connection framework usada para suportar redes cliente-servidor e datagramas. O uso de protocolos especificados pelo MIDP permite que a aplicao seja portvel para todos os MIDs. As implementaes MIDP tm que oferecer suporte para acessar servidores e servios HTTP 1.1. Pode haver amplas variaes nas redes sem fio (e conseqente uso de gateways). A aplicao cliente e o servidor na internet no precisam estar cientes que redes no IP esto sendo usadas, tampouco precisa saber das caractersticas destas redes. Entretanto, a aplicao pode tirar vantagem deste conhecimento para otimizar as suas transmisses. Quando um MID no suportar IP, este pode utilizar um gateway para acessar a Internet. O gateway seria responsvel por servios do tipo DNS. O dispositivo e a rede podem definir e implementar polticas de segurana e acesso rede que restringem o acesso. MIDLets Aplicaes MIDP Um MIDLet uma aplicao MIDP que compreende um conjunto de classes projetado para ser executado e controlado pelo software de gerenciamento da aplicao, tambm chamado de software de gerenciamento MIDLet. O software de gerenciamento MIDLet uma aplicao que controla como os MIDlets so instalados, atualizados e desinstalados no dispositivo mvel. Ele gerencia dois tipos de MIDLets: Permanentes e do Sistema: MIDLets Permanentes - As MIDlets Permanentes residem, pelo menos parcialmente, em memria no voltil, tais como ROM ou EEPROM. Elas podem ser trazidas para um dispositivo e escritas na memria persistente do MID. Depois disso, um usurio pode executar uma MIDLet permanente repetidamente sem que esta tenha que ser trazida novamente. MIDlets do Sistema - So MIDlets permanentes especiais criadas pelo fabricante do MID. Executam funcionalidades especificas do dispositivo mvel e tm acesso a funcionalidades no publicas do dispositivo e possuem, normalmente, restries especiais para sua recuperao e instalao.

Fases do ciclo de vida de uma MIDLet O Software de gerenciamento MIDLet responsvel por mover entre as seguintes fases: Recuperao, Instalao, Lanamento, Gerenciamento de verso e Remoo.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

67

Aes resumidas que devem ser feitas para desenvolver aplicaes J2ME [29]:
1. Buscar e instalar CLDC e MIDP para Windows ou UNIX (Win32, Solaris, e Linux) 2. Instalar a KVM no dispositivo (atravs do HotSync do PDA) 3. Buscar e instalar o emulador do Palm OS (POSE) 4. Transferir a imagem da ROM de um Palm para o PC para ser usada com o emulador (disponvel de alguns fabricantes) 5. Buscar e instalar o Toolkit Wireless do J2ME para comear a desenvolver aplicaes J2ME para dispositivos MIDP

Produtos do Java2ME necessrios para o desenvolvimento de aplicaes do lado do dispositivo


APIs MIDP APIs do CLDC - Connected Limited Device Configuration Bibliotecas para: Programao da Interface do Usurio em um dispositivo que usa a API LCDUI - Limited Connected Device User Interface; RMS Armazenamento persistente de dados em um dispositivo Conectividade com um servidor ou com outro dispositivo atravs das APIs do GCF Generic Connection Framework

Ferramentas de desenvolvimento para Java


Visual Caf (Symantec) Jbuilder (Borland) Visual Studio J++ (MS) Visual Age (IBM) Outras ferramentas podem ser consultadas em [30]. Trs outras tecnologias so definidas para potencializar o uso do Java: Java Card, Java Embarcado e Java para Tempo-Real, definidos a seguir. Java Card Menor e mais limitada verso da famlia Java. No suporta strings, interface grfica, formato de bytecode comprimido. O Frum Java Card [31] especifica o subconjunto da linguagem para smart cards. As MVs so construdas por desenvolvedores de sistemas operacionais e ficam residentes na ROM do carto Java Embarcado Objetiva os controladores industriais, switches, e outros dispositivos com restries severas de memria, em dispositivos com visor orientado a caractere ou sem visor. No existe um

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

68

core mnimo obrigatrio classes desnecessrias podem ser omitidas, o que, naturalmente, limita a interoperabilidade. RTJS - Java para Tempo-Real O Java RTJS oferece suporte na criao de aplicaes para dispositivos automotivos, industriais etc., que exigem um comportamento de execuo previsvel. Resolve problemas de coleta de lixo, realiza escalonamento personalizado de processos e threads por compartilhamento de tempo, oferece gerenciamento avanado de memria, alm de prover acesso direto memria de sensores e atuadores, suporta a sincronizao de threads e objetos, trata eventos assncronos e etc. 3.1.4 Maquinas Virtuais Java KVM (Sun) A maquina virtual K da Sun, derivada da especificao da JVM. uma maquina otimizada para executar em sistemas com memria > 128KB. Objetiva o menor uso possvel de memria possvel, em vez de desempenho mximo. Executa em processadores de 16/32 bits. modular e extensvel, facilmente transportvel para plataformas diferentes. No suporta AWT ou swing - usa drivers de E/S especiais nativos. No implementa algumas caractersticas da MVJ padro (RMI, agrupamento de threads etc), outras so opcionais (ponto flutuante, arranjos multidimensionais, verificao de arquivo de classe) e outras ainda, so parcialmente implementadas (java.net e java.io). Para se ter uma idia do tamanho de uma maquina virtual, a KVM para PalmOS ocupa 50 a 70KB e 128KB quando em execuo. Executa em mais de 20 plataformas, entre elas: Solaris; W/32; telefones Sony, Nokia, Motorola e SO EPOC. Waba (Wabasoft) um produto de fonte aberto, com tecnologia baseada no Java similar mas no compatvel. A linguagem Waba, a Mquina Virtual Waba - MVW e o formato de arquivo de classe foram projetados para otimizar desempenho (omite caractersticas desnecessrias e/ou que usam muita memria). O tamanho da MVW de 64KB (32KB para o executvel e 32KB para as classes fundamentais). Os formatos de Arquivo de classe e bytecode so subconjuntos dos correspondentes em Java. Permite aos programadores usar ferramentas de desenvolvimento Java, desde que seja usado apenas o subconjunto suportado pelo Waba. Possui um conjunto de classes fundamentais (a menor possvel que contem funcionalidade para escrever programas complexos para dispositivos pequenos). Possui classes ponte, que permitem executar programas em Waba onde o Java for suportado. Usa bibliotecas nativas do dispositivo, o que melhora o desempenho. J9 Visual Age ME (IBM) uma maquina virtual menor e mais rpida que a KVM. Suporta adio de cores. Possui um ligador inteligente (linker), que Remove classes, mtodos e campos desnecessrios de suas aplicaes nas bibliotecas de classes. Suporta depurao remota (executa e depura a aplicao de um PDA num PC). O J9 usado pelo VAME (Visual Age ME) da IBM ambiente integrado para desenvolvimento de aplicaes Java embarcadas.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

69

A tabela 3 mostra uma comparao entre as maquinas virtuais para dispositivos ubquos. 3.1.5 A edio J2EE para Servidores em Ambientes de Computao Ubqua - o lado do servidor A plataforma Java2, Enterprise Edition (J2EE) define e simplifica aplicaes corporativas tratando de varios detalhes do comportamento da aplicao de forma automtica, sem a necessidade de programao complexa. J2EE inclui caractersticas da plataforma J2SE, tais como portabilidade, APIs JDBC para acesso a base de dados, CORBA para interao com recursos corporativos legados, alm de um modelo de segurana que protege os dados mesmo em aplicaes da Internet. A plataforma J2EE trata de complexidades que so inerentes a aplicaes corporativas, tais como gerenciamento de transaes, gerenciamento do ciclo de vida, compartilhamento de recursos etc., que podem ser usados pelas aplicaes e por componentes, facilitando assim o trabalho dos desenvolvedores que podem se concentrar na lgica da aplicao e na interface do usurio. KVM Plataformas Desempenho Uso de Memria Bibliotecas Padres Fonte Ambiente de desenvolvimento
Palm, W/CE, EPOC, Linux, W/MS, Solaris

Waba
Palm, W/CE

J9
Palm, W/CE, Neutrino, Linux,

Baixo 70KB
Independente de dispositivo

Alto 64KB
Dependente de dispositivo

Alto < 70KB


Dependente de dispositivo

J2ME
Sob licensa da Sun Ferramentas padro do Java com KVM na plataforma de desenvolvimento

Aberto Ferramentas padro do Java com Waba VM na plataforma de desenvolvimento

Java, J2ME
Proprietrio Ambiente de desenvolvimento integrado com depurao remota

Tabela 3. Comparao entre as maquinas virtuais para dispositivos ubquos[5][20].

O J2EE prove opes de interfaces para dispositivos dos mais diferentes tipos, com suporte a linguagens simples de marcao (HTML, WML, etc). Permite o carregamento de plug-ins Java para suporte a applets por navegadores Web, alm de suportar clientes como aplicaes Java independentes. O J2EE Edition oferece suporte total para componentes EJB - Enterprise JavaBeans, API JavaServlets, JSP - JavaServer Pages, alm de XML. O padro J2EE inclui

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

70

especificao completa e testes de conformidade para assegurar a portabilidade das aplicaes no mbito dos sistemas corporativos que suportam o J2EE. A edio J2EE compreende as seguintes tecnologias: EJBs (Enterprise JavaBeans) Arquitetura padro de componentes para a construo de aplicaes corporativas orientadas a objeto em Java. Constitui-se de API que permite a criao, uso e gerenciamento de componentes da aplicao, reusveis em diferentes plataformas. JSPs (Java Server Pages) permite a criao de contedo dinmico na web. Uma pagina JSP um documento que descreve como processar uma solicitao para criar uma resposta, atravs da combinao de formatos padro de marcao com aes dinmicas (atravs de scripts). Java Servlets API que estende a funcionalidade de um servidor Web, atravs de mdulos de aplicao implementados em Java Conectores Permite que a plataforma J2EE seja conectada a sistemas de informao heterogneos CORBA suporta interoperabilidade de aplicaes Java com outras aplicaes empresariais, atravs de uma linguagem de definio de interface IDL. JDBC (Java Database Connectivity ) API que promove a integrao com bancos de dados relacionais, alm de fornecer uma base comum sobre a qual ferramentas de alto nvel e interfaces possam ser construdas. 3.1.6 XML De modo a superar as limitaes da linguagem de marcao HTML que no separa a representao dos dados da apresentao em paginas da Web, foi criada a Linguagem de Marcao Extensvel XML (Extensible Markup Language). XML uma sintaxe baseada em texto que legvel tanto por computadores quanto por humanos. Oferece portabilidade de dados e reusabilidade em diferentes plataformas e dispositivos. Algumas das aplicaes do XML incluem: suporte a publicao independente de mdia, o que permite que documentos sejam escritos uma vez e publicados em mltiplos formatos de mdia e dispositivos. Do lado do cliente, o XML pode ser usado para criar vises personalizadas dos dados. Informaes sobre XML so abundantes na Web e na literatura em geral, por isso, e tambm pelo pouco espao disponvel, no entraremos em mais detalhes sobre o funcionamento do XML. 3.1.7 O Padro MVC para o desenvolvimento de aplicaes O modelo MVC Modelo-Apresentao-Controlador (Model-View-Controller) usado como padro para o desenvolvimento de aplicaes para dispositivos moveis, que oferece flexibilidade e uma ntida separao de responsabilidades. Ele visualiza a aplicao sob trs aspectos: Modelo (model), Apresentao (View) e Controlador (Controller): Modelo - Responsvel pelos dados e transaes da aplicao que podem ser associadas a ela. O modelo encapsula a lgica do negocio Apresentao Responsvel por apresentar os dados

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

71

Controlador - Recebe todas as solicitaes que chegam e controla as suas execues. Para executar uma solicitao, o controlador acessa o modelo e exibe as apresentaes conforme necessrio. Exemplos de uso do MVC na construo de aplicaes para celulares pode ser vistos em [32]. Benefcios do Uso do Padro MVC Separando o controlador do modelo e da apresentao, o fluxo da aplicao isolado. Desta forma, os desenvolvedores podem entender a perspectiva do usurio apenas olhando o controlador. O fluxo da aplicao pode ser alterado modificando-se o controlador sem alterao (ou pouca) do restante do cdigo Separando o modelo da apresentao, o modelo isolado de alteraes. Desta forma, os desenvolvedores podem alterar a aparncia da interface do usurio sem ter que mudar o modelo. Separando a apresentao do modelo, a apresentao poupada dos detalhes de como funciona o modelo. O modelo pode pegar seus dados de um armazenamento local, atravs da API RMS, de um servidor usando HTTP, de uma cache de memria ou de uma combinao dessas fontes Para usar a rede intermitentemente e ainda permanecer til quando desconectado, a poro cliente da aplicao deve decidir sobre quando buscar os dados do servidor e quando buscar os dados do armazenamento local. As estratgias de dados locais podem ser baseadas em cache ou sincronizao para melhorar a responsividade e manter a coerncia dos dados. O particionamento destes detalhes no modelo (do MVC) torna a implementao, teste e manuteno mais fcil do que se estivessem espalhados pela aplicao Limitaes do padro MVC O MVC pode aumentar o tamanho do cdigo (grande parte no controlador). Entretanto, a pior limitao do padro MVC que, apesar dele separar o modelo da apresentao, de tal forma que os desenvolvedores possam alterar a aparncia da interface do usurio sem ter que mudar o modelo, o MVC no muda o modelo da aplicao em si, que um requisito da computao ubqua. A mudana do modelo o resultado da adaptao da aplicao frente a limitaes de recursos da rede e do sistema. Pesquisas tm que ser feitas para o desenvolvimento de novas solues de engenharia de software que permitam a especificao e desenvolvimento desses sistemas. 3.2 Sistemas Operacionais Com a proliferao de inmeros dispositivos ubquos diferentes, reacendeu-se o mercado para novos sistemas operacionais personalizados para estes dispositivos.Assim como nos PCs, os sistemas operacionais de dispositivos ubquos so responsveis por gerenciar os recursos do dispositivo, e por oferecer aos programadores e usurios, uma maquina virtual que esconde a complexidade do hardware do dispositivo, tornando mais fcil a tarefa de programar suas aplicaes. Um dispositivo possui, tipicamente, os seguintes recursos: CPU, memria (RAM, Flash, ROM, EEPROM, etc), bateria, telas de diferentes tamanhos e tecnologias, diferentes

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

72

dispositivos de entrada (pequenos teclados, apontadores - stylus, tela sensvel a toque, processamento de voz) e sistema de arquivo. Com exceo das tecnologias envolvidas nos dispositivos, os recursos no mudam muito em relao a aqueles encontrados no PC. O que diferencia ento o sistema operacional de uma maquina tradicional do sistema operacional de um dispositivo ubquo? Uma das diferenas a especificidade do dispositivo. O PC uma maquina de propsito geral, enquanto que o dispositivo muitas vezes otimizado para realizar muito bem uma ou mais tarefas. A especializao do dispositivo um dos aspectos que determina o projeto do sistema operacional do dispositivo. No mundo dos PCs, h poucos competidores na rea de sistemas operacionais, mas no mundo dos dispositivos ubquos, o numero cada vez maior. Alguns exemplos de SO para esses dispositivos incluem: Palm OS (PDA), EPOC (celular), W/CE (Consumer Electronics), Java Card e W/Smart Card para Smart Cards, QXN, VxWorks etc. Provavelmente no haver monoplio equivalente ao da MS/Intel no mundo dos dispositivos ubquos. Nas sees abaixo, sero mostrados os sistemas operacionais de PDAs e celulares, bem como as caractersticas de alguns sistemas operacionais considerados como sistemas embarcados [5] [20] [33]. 3.2.1 PALM OS Desenvolvido pela Palm Inc., domina cerca de 70% do mercado de dispositivos de mo, apesar de proprietrio. O sucesso do PALM deve-se ao fato dele ser projetado especificamente para PDAs, ser fcil de usar, oferecer um nmero limitado de caractersticas, mas que so altamente otimizadas, levando ao uso de pouca memria e de UCP, o que garante vida mais longa de bateria. As novas verses do PalmOS suportam comunicao bluetooth, 64K cores, em PDAs multimdia integrados a fones m veis. Alm da Palm Inc., o Palm OS o sistema operacional de dispositivos da Sony, IBM, HandSpring entre outras. Para manter o SO pequeno e rpido, o Palm OS no separa as aplicaes umas das outras, o que traz problemas de estabilidade (se uma aplicao cai, o sistema todo cai) e de segurana, j que cada aplicao pode ler e alterar dados de outras aplicaes. As aplicaes tm que ser extremamente bem construdas e testadas. Toda a memria de um Palm reside em cartes de memria (um carto uma unidade lgica de RAM, ROM ou ambas). Cada carto de memria tem um espao de endereo mximo terico de 256MB. A memria dividida em Heap dinmico e Heap de armazenamento, que so gerenciados separadamente. O espao que deixado para a aplicao e muito pequeno (<36KB), por isso a memria da aplicao deve ser mantida a menor possvel, com aes do tipo: evitar gerao de estruturas grandes de pilhas, evitar uso de variveis globais e copias de base de dados na memria dinmica etc. O Heap dinmico alocado para pilha e heap de aplicaes em execuo. O Heap de Armazenamento retm dados permanentes, tais como base de dados e arquivos fonte da aplicao. uma memria protegida contra escrita , acessada apenas atravs do gerente de memria. Prov acesso rpido de leitura e lento de escrita. A integridade garantida atravs de suporte a transaes.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

73

O SO e aplicaes embutidas ficam em memria ROM. O gerente de memria aloca (pedaos de 64KB), desaloca, muda o tamanho e impede o acesso a outros pedaos da memria que podem estar na memria dinmica ou de armazenamento. O Palm OS no usa sistema de arquivo. O armazenamento estruturado em base de dados. Cada base de dados, gerenciada por um gerenciador de base de dados, possui mltiplos registros. Apenas uma aplicao roda por vez. No suporta threads - uma aplicao de busca pode invocar outras aplicaes para que elas faam, por ex., uma consulta em suas bases de dados. O controle volta para a aplicao que chamou. O Palm OS orientado a eventos que so tratados por tratadores de eventos. Eventos tpicos incluem: aes do usurio em interao com a aplicao; notificaes do sistema (alarme de tempo) e outros especficos da aplicao. Os programadores devem evitar cdigo que faa processamento enquanto espera por um evento (espera ociosa) para economizar bateria. As linguagens de programao disponveis so C, C++, Java e proprietrias. Dois pacotes para desenvolvimento de aplicaes so suportados: SDK (APIs para desenvolver aplicaes, funes de interface do usurio, gerenciamento do sistema e comunicao) e o CDK (Conduit Development Kit) que suporta a implementao de conduites para troca e sincronizao de dados entre uma aplicao de mesa e uma aplicao que roda no dispositivo. Suporte para Programao do Palm O suporte para programao inclui: CodeWarrior da Metrowerk e Compilador GNU C para Palm OS. Assim como ocorre para a maioria dos dispositivos ubquos, cada aplicao tem que ter um ID nico (creator ID) obtido da empresa, no caso, a Palm. 3.2.2 O Sistema Operacional Symbiam EPOC Criado pela Psion (agora mantido pela Symbian fundada pela Psio, Motorola, Panasonic, Ericsson e Nokia em 1998), o EPOC est disponvel para o NEC V30H (16 bits) e o ARM/StrongARM (32 bits) e possui as seguintes caractersticas: Escrito em C++ Suporta sistemas de tempo-real Mono-usurio Multitarefa tem baixa latncia no tratamento de interrupo e no chaveamento de contexto de tarefas, o que o torna ideal para responder ao usurio e receber dados do ar ao mesmo tempo preemptivo, com escalonador orientado a prioridade, isto , quando um processo de maior prioridade tem que ser executado, o processo atual suspenso Suporta e-mail e troca de mensagens, sincronizao de dados (entre dispositivo e PC) Suporta diferentes tipos de plataforma: Crystal (comunicadores com teclado pequeno); Quartz (pequenos comunicadores); Pearl (fones mveis inteligentes); VGA completo.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

74

Suporte para bluetooth e WAP. A arquitetura do EPOC constitui-se de 4 nveis: 1. Base - Contm sistema de execuo e ncleo com dois componentes: F32, que fornece carregador de bootstrap, acesso e monitoramento de sistemas de arquivo; e E32, que fornece escalonador, interrupo de relgio, gerenciamento de drivers do dispositivo e gerenciamento de memria, com o conceito de MMU para separar os espaos de endereo para cada aplicao, alm de ferramentas para checagem de erros de acesso invalido memria, desalocao de memria, verificao e limpeza de pilha e heap. 2. Middleware Oferece suporte a aplicao com SGBD, armazenamento de fluxos de caracteres, impresso, servidor de janelas, etc. 3. Interface Grfica do Usurio (EIKON) - Uma estrutura para GUIs que parte do SDK do EPOC e que oferece elementos de interface grfica padro, tais como botes de dilogos e menus; alm de tratar a entrada de dados e de comandos. A Eikon separa entre a funo da interface e a apresentao da interface, o que importante quando os tamanhos de tela e as funcionalidades de dispositivos mudam muito. 4. Aplicaes - Cada aplicao no EPOC tem ID nico para identificao de arquivo e associao a faixa 0x01000000 a 0x0fffffff reservada para propsito de desenvolvimento e teste. Antes da aplicao ser liberada, um ID nico tem que ser solicitado a Symbian. 3.2.3 O Sistema Operacional W/CE (Consumer Electronics) O W/CE no um SO de prateleira. Cada fabricante de dispositivo precisa configurar o W/CE para a plataforma de processador especfica de seu dispositivo. Normalmente o SO entregue em ROM, em contraste com os SOs baseados em disco, orientados a desktop, como o Linux ou BeOS. O W/CE oferecido em blocos modulares, o que permite a criao de um sistema apenas com as partes essenciais, economizando um espao precioso o tamanho do SO mantido consistente com o tamanho do dispositivo: um computador de mo, por exemplo, inclui mais funcionalidades do que um telefone inteligente. O W/CE diferencia-se totalmente do Palm OS que foi projetado de forma altamente otimizada para uma classe alvo de dispositivos. As tarefas executadas pelo ncleo do SO W/CE incluem: Gerenciamento de Processos e Threads Gerenciamento de memria Escalonamento de tarefas Tratamento de interrupo Caractersticas do W/CE Possui um Gerente de Grficos/Janelas/Eventos - GWE Suporta Armazenamento de Objetos (arquivos, registros e uma base de dados)

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

75

Suporta Interfaces de comunicao Infravermelho via IrDA, TCP/IP e drivers seriais Suporta 32 processos simultaneamente Suporta nmero ilimitado de threads, usadas para monitorar eventos assncronos, tais como:interrupo de hardware e atividades do usurio (depende de memria fsica disponvel) Suporta comunicao entre processos IPC (sees criticas, mutex e eventos) Suporta oito nveis de prioridades de t reads (do ocioso ao tempo critico). As h prioridades no podem mudar, exceto quando um thread de baixa prioridade retm recurso que um thread de alta prioridade precisa Suporta Interrupes que so usadas para notificar o SO sobre eventos externos Atende requisitos de um S.O. de tempo real no critico para aplicaes do tipo: comutao de telefonia, controle de processos de fabricao, sistemas automotivos de navegao etc. Trata os vrios tipos de armazenamento da mesma forma: cartes de memria flash, drivers de disco, ROM, RAM Possui memria virtual protegida de at G4B com Unidade de Gerenciamento de Memria MMU Suporta at 32MB por processo A memria disponvel dividida em dois blocos no W/CE[20]: 1. Memria de programa - Alocada e gerenciada como memria virtual que usada para pilha e heap em RAM. O SO e as aplicaes embutidas, como o Pocket Word verso compacta do WinWord -, so armazenadas e executadas diretamente da ROM, o que economiza no tempo de carregamento 2. Memria de armazenamento - Inclui os dados persistentes (normalmente armazenado em disco rgido). Parte da memria voltil referida como armazenagem de objetos (que retm registros do sistema, diretrios, todas as aplicaes e dados do usurio) com tamanho mximo de 16MB. Fora da rea de armazenagem de objetos, as bases de dados e os sistemas de arquivos podem ser instalados em RAM, ROM ou dispositivos externos. Cada sistema de arquivos pode ser dividido em mltiplos volumes, representados como pastas do diretrio raiz dos sistemas de arquivos. Os dados podem ser salvos em objetos arquivos ou bases de dados. Os arquivos so automaticamente comprimidos. O W/CE suporta Heap especial para o Sistema de Arquivos, registros e armazenagem de objetos (at 256MB) com servio de transao para assegurar integridade dos dados. Os esquemas de gerenciamento de memria suportados incluem a memria paginada com uso de cache e sem uso de cache e memria no paginada com uso de cache e sem uso de cache. A tabela de pginas mantida pelo hardware.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

76

O Gerente de Grficos/Janelas/Eventos - GWE A interface do W/CE com o usurio similar ao do MS/W, com suporte a menus, caixas de dilogo, cones, som, vdeo, e reconhecimento de escrita a mo. Toda aplicao tem que ter pelo menos uma janela, mesmo que esta no possa ser mostrada. Todas as mensagens que uma aplicao envia ou recebe so passadas pela fila de mensagens do thread da janela correspondente. Uma janela o ponto de entrada de cada aplicao. O Subsistema de Grficos, Janelas e Eventos GWE suporta APIs de programao da interface. Inclui funes de gerenciamento de energia e troca de mensagens. O Unicode o formato de texto nativo (2 bytes por caractere). Suporta biblioteca criptogrfica (CAPI) que armazena informao segura na memria. A autenticao de aplicaes feita atravs de assinatura com chave pblica. Suporta o uso de carto inteligente para segurana de dados sensveis (dados de at 64KB em carto acesso mais lento(EEPROM x RAM). O W/CE suporta as seguintes caractersticas de Comunicao e Rede: Comunicao serial SLIP e PPP (via cabo e infravermelho) Conexes de Rede (protocolos da Internet e de troca de arquivos) API WinInet (HTTP e FTP) API WinSock (sockets que suportam TCP/IP) API IrSock suporte a comunicao infravermelha (via IrDA Infrared Data Association) RAS Remote Access Service suporta upload/download de arquivos (via PPP para conectar no servidor) API Telephony suporta comunicao via modem para um hospedeiro remoto (s chama no recebe chamadas) Os drivers necessrios incluem: bateria, tela, porta serial, InfraVermelho, painel de toque. Os tipos de drivers no W/CE so: Nativos drivers de baixo nvel que usam caractersticas embutidas de um dispositivo (fonte ou teclado), ligados com o ncleo e residentes em ROM. Os drivers nativos so integrados na configurao do W/CE pelo fabricante do dispositivo Interface de fluxo de dados (serial) carregados como DLLs dedicadas Baseados na especificao da Interface de Driver de Rede (NDIS), em que protocolos podem ser implementados independentes dos drivers de hardware Outros tipos de drivers podem ser instalados (impressora, modem) 3.2.4 Linux Embarcado O Linux Embarcado na verdade um Linux enxuto com suporte especial para dispositivos ubquos. Possui as seguintes caractersticas :

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

77

Arquitetura microkernel - servios e caractersticas podem ser compiladas no ncleo ou carregadas como mdulos dinamicamente ligados em tempo de execuo Suporte multiusurio Sistema multitarefa, preemptivo, com escalonadores de tempo-real opcionais Suporte bsico para mltiplos processadores Tamanho do ncleo pode variar de 200KB a vrios MB (uma critica ao linux para dispositivos ubquos a de que ele necessita de 2 a 8 MB de memria em tempo de execuo) Suporta memria virtual com paginao Suporta verses enxutas do X-Window para interface do usurio Possui verses para processadores MIPS, ARM, Motorola e Intel W/SmartCards Os menores SOs executam em cartes inteligentes, com severas restries de memria e poder de processamento. Alguns SmartCards possuem uma maquina virtual Java em ROM que permite que applets Java sejam carregadas para o carto e executadas. Mltiplas applets podem ser executadas em alguns SOs, o que torna o SO para este ambiente bastante complexo, com o suporte a conceitos do tipo multiprogramao, escalonamento de tarefas, gerenciamento de recursos, proteo de memria etc. Um exemplo de SO complexo, porem primitivo, para SmartCards, o Windows para SmartCards. O SO W/SmartCard oferece para os programadores uma API bem definida, que esconde detalhes do carto e oferece funcionalidade independente de carto. Em vez de Java, usa bytecode gerado pelo VisualBasic, que executado em um ambiente de execuo no carto. O Sistema de arquivo baseado em uma FAT File Access Table. O nmero e tamanho de parties so estabelecidos durante configurao - apenas uma partio suportada no momento. Em termos de segurana, suporta autenticao, com o conceito de principais conhecidos, em que principais refere-se a usurio, grupo de usurios, ou sistemas. um sistema configurvel, onde um arquivo no carto criado para definir como o processo de autenticao de um principal conhecido. A autenticao similar h do PC, mas oferece um protocolo mais sofisticado de autenticao (padro de Encriptao de Dados - DES). Alm da Autenticao, prov tambm um esquema de Autorizao, com o uso de Listas de Controle de Acesso ACLs que estabelecem os direitos de acesso, atravs de mecanismos de autorizao (regras lgicas que definem quem tem permisso para fazer o que com um arquivo em particular). As ACLs so armazenadas dentro de arquivos, o que permite proteger as ACLs atravs de ACLs associadas. O W/SmartCard suporta applets que so implementadas em cdigo nativo ou Visual Basic (compiladas em bytecode, interpretadas por um sistema de execuo e executadas por

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

78

MV genrica). Apenas um sub-conjunto do Visual Basic pode ser usado, entretanto funcionalidades extras podem ser adicionadas, atravs de plug-ins. Outra iniciativa em sistemas operacionais para SmartCards o JavaCard. A interoperabilidade entre os dois difcil. Por exemplo, os modelos de direitos de acesso nos dois so completamente diferentes. Dados os sistemas operacionais para dispositivos ubquos vistos acima, pode-se observar que existem pelo menos duas linhas distintas de desenvolvimento: de um lado, um SO enxuto, altamente otimizado para aplicaes especificas, com interfaces nativas que exploram todas as caractersticas do hardware. Exemplo deste tipo de SO o PalmOS. Do outro lado, tem-se SOs complexos, de tempo-real, multitarefa, que tratam interrupes e chaveiam a CPU para outros processos mais prioritrios, como o caso do EPOC, usado em celulares, onde a aplicao mais importante o atendimento a chamadas ou a recepo de mensagens curtas, que podem chegar a qualquer momento, inclusive no momento em que o usurio est interagindo com outra aplicao. O projeto de sistemas operacionais para dispositivos ubquos devem ser pensados em funo dos tipos de aplicaes que devero ser oferecidas por um dispositivo, bem como as capacidades de hardware daquele dispositivo. O mercado acena com inmeras possibilidades e necessidades, o que leva a muitas oportunidades de desenvolvimento de novos SOs.

3.3 Middleware
Uma das principais funes de um middleware prover abstrao das dependncias do SO. O middleware, tipicamente uma camada entre o sistema operacional e as aplicaes, oferece certas operaes e estruturas de dados que permitem aos processos e usurios interoperarem em maquinas diferentes de forma consistente. Estas estruturas e operaes so muitas vezes denominadas na literatura como APIs, frameworks, bibliotecas, etc., que so consideradas como componentes de middleware. Segue abaixo uma breve descrio de alguns componentes construdos como resultado de iniciativas de empresas e outras de laboratrios de Universidades e Institutos de Pesquisa. 3.3.1 Componentes de Middleware no mercado

Interface de Programao da Aplicao APIs (Application Programming Interface)


As APIs Java funcionam como extenses para a plataforma Java, para suportar servios especficos da aplicao. Exemplos incluem: APIs JavaPhone suporta servios de telefonia, tais como: funcionalidades bsicas para tratar chamadas, funcionalidades de gerenciamento de informao pessoal PIM (Personal Information Management), suporte para tratamento de mensagens curtas, independente de rede ou hardware particular, suporte para monitoramento de bateria, e outras mais. JavaTV suporta servios de TV. Exemplos incluem: funcionalidades para sobreposio de vdeo e de grficos na tela da TV, suporte a servios que oferecem

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

79

diferentes vises sobre um mesmo dado, suporte a Guias Eletrnicos de Programao etc. PC/SC para SmartCards Interface de programao padronizada que permite acessar cartes inteligentes de forma independente da aplicao. Exemplos de servios incluem: APIs que abstraem os protocolos especficos dos terminais de leitura de cartes (leitoras), APIs para acesso a arquivos e autenticao, recursos de deteco de insero e remoo do carto, etc. Framework OpenCard (OCF) Assim como o PC/SC, o OCF uma API Java para desenvolver aplicaes de smartcards no lado do terminal (leitora). O objetivo do OCF tornar partes de uma soluo para smartcards, fornecidas tipicamente por diferentes fabricantes, independentes umas das outras. O OCF define dois conceitos bsicos: a camada de Terminal do carto (abstrao da leitora de cartes) e a camada de Servio do carto (suporte a servios de acesso a arquivos no carto, assinatura digital, instalao/desinstalao de applets etc.

Frameworks
Os frameworks pode ser definidos como estruturas bsicas para uma certa classe de aplicaes. Exemplo de classe de aplicao suportada por frameworks: WebTV iniciativas como a Especificao de Contedo Melhorado do Frum de Melhorias para a TV Avanada (ATEVF) definem formas padronizadas de difundir a TV de maneira melhorada. A WebTV parte desta especificao e consiste num software residente em uma set-top-box (caixa digital que age como interface entre o usurio e o provedor de contedo de TV) que objetiva receber dados e apresenta-los na forma de paginas da web na tela da TV. Para isso, consiste de trs elementos: gatilho para entregar eventos entre paginas ligadas; formatao de contedo para HTML e avisos para iniciar ao contedo da TV melhorada. Outros componentes de middleware incluem: Estruturas de suporte a base de dados, como por exemplo, o DB2 Everywhere, que oferece, alm de servios de armazenamento e recuperao de dados no dispositivo, suporte a sincronizao entre os dados do dispositivo e do servidor correspondente; Infraestruturas escalveis de suporte a mensagens, como o ME everyplace, disponvel para o PalmOS, W/CE, EPOC e outros. 3.3.2 Middlewares na Academia Bibliotecas, frameworks, toolkits e infra-estruturas de servios tm sido construdas para suportar aplicaes em ambientes ubquos. Nos laboratrios de pesquisa de Universidades e empresas, solues tm sido pesquisadas que convertem um espao fsico e seus dispositivos de computao ubqua em um sistema de computao programvel. Um dos desafios nesta tarefa como capturar e tratar os dados que so lidos de sensores e que, quando interpretados, definem um contexto que pode influenciar no fluxo da aplicao. Todas as estruturas vistas acima tratam do suporte a uma classe especifica de servios (telefonia, TV, smartcards). Os middlewares sendo pesquisados no meio acadmico so mais ambiciosos e oferecem solues mais completas para o suporte da mobilidade,

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

80

adaptabilidade de aplicaes, tratamento de contexto, descoberta de servios, etc. Segue abaixo um resumo de alguns desses projetos: Context Toolkit [34], um conjunto de ferramentas desenvolvido pelo Georgia Institute of Technology preocupa-se com tudo que referente a dados de contexto capturados atravs de sensores em ambientes de computao ubqua. Seu objetivo auxiliar o desenvolvimento de solues para tratar as dificuldades originadas da natureza da informao de contexto e, ento, facilitar a construo de aplicaes cientes de contexto. O Context Toolkit utiliza o conceito de widgets que utilizado nos toolkits de GUI (Graphical User Interface). Um widget de contexto um componente de software que fornece aplicao acesso a informao de contexto de seu ambiente operacional. O desafio a ser superado pelo Context Toolkit o tratamento de contexto. Gaia [35] uma infra-estrutura desenvolvida pela Universidade de Illinois que trata um espao ativo (ActiveSpace) e seus dispositivos de forma anloga a um SO tradicional, fornecendo servios bsicos, incluindo eventos, presena de entidades (dispositivos, usurios e servios), notificao de contexto, descoberta e sistema de nomes etc. O Espao Ativo corresponde a qualquer ambiente de computao ubqua que pode ser gerenciado pela infraestrutura Gaia [36]. Gaia utiliza uma nova abstrao para a computao que chamada de espao virtual do usurio (User Virtual Space). Um espao virtual do usurio composto por dados, tarefas e dispositivos que esto associados a um usurio; ele permanentemente ativo e independente de dispositivo; move-se com o usurio e mapeia dados e tarefas no ambiente de computao ubqua do usurio de acordo com seu contexto atual. Gaia converte um espao fsico e seus dispositivos de computao ubqua em um sistema de computao programvel. iROS (Interactive Room Operating System) [37] uma infra-estrutura construda pela Universidade de Stanford para dar suporte a aplicaes dentro de um espao fsico utilizando tambm a abordagem de SO. A infra-estrutura consiste de um meta-SO que une dispositivos com seus SOs especficos. O Espao de Trabalho Interativo (Interactive Workspace) considerado pelo iROS, consiste de um ambiente com alta tecnologia em que pessoas podem interagir de maneira colaborativa. A arquitetura do iROS composta por trs subsistemas: memria de eventos (EventHeap), memria de dados (Dateap) e ICrafter. O ncleo do iROS a memria de eventos, um repositrio central no qual todas as aplicaes do espao de trabalho interativo podem publicar eventos [38]. A memria de dados responsvel pela transformao e movimentao dos dados, permitindo que qualquer aplicao coloque dados num lugar associado ao ambiente local. O ICrafter responsvel pelo controle dos recursos no ambiente. Trata da adaptao de interfaces, bem como contexto, e descoberta de servios. Com exceo do Context Toolkit, que enfatiza o tratamento do contexto, outros projetos, tais como o Aura [39], o RCSM (Reconfigurable Context-Sensitive Middleware) e varios outros encontrados na literatura tm objetivos comuns, que so na verdades, os desafios da computao ubqua, a saber: tratamento da heterogeneidade de dispositivo, tratamento de contexto (localizao do usurio, autenticao, atividade, presena de outras pessoas por perto, etc.); adaptao e descoberta de servio, dentre outros.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

81

4. Segurana
Os objetivos gerais dos sistemas computacionais com relao a segurana so: Integridade da informao contra a adulterao dos dados Confidencialidade dos dados contra a exposio dos mesmos Disponibilidade do sistema contra a recusa de servio No caso dos sistemas de computao ubqua, estes trs objetivos se mantm e podem tornar-se crticos dependendo dos cenrios de aplicao. Quando o ambiente , por exemplo, uma rede domestica, que conecta dispositivos d tipo sensores de temperatura, o atuadores que ligam aquecedores, ar-condicionado etc., e que podem ser configurados a distancia, via web, a segurana no tangente ao controle de acesso e integridade dos dados critica, uma vez que crackers (hackers do mal), podem entrar no sistema e alterar valores de configurao, como temperatura do quarto do bebe, que pode levar ao comprometimento do bem estar dos moradores. Os riscos de acesso indevido e adulterao de dados se repetem em outros ambientes, como dentro de um automvel, por exemplo, quando prev-se que dispositivos internos podero ser acessados e mantidos remotamente pela montadora ou pelos fabricantes de peas. Em outros cenrios, como os de m-commerce (comercio mvel), os usurios acessam a Internet e efetuam compras, fornecendo dados pessoais como o numero do carto de credito e endereo do cliente para a entrega de mercadorias. Este tipo de cenrio no difere muito do cenrio da web com acesso via PC ou wap. O agravante aqui que o acesso feito por uma multiplicidade de dispositivos diferentes, onde cada um pode ter um sistema operacional diferente, que juntamente com as aplicaes e a limitao de recursos do prprio dispositivo, podem abrir novas brechas de segurana que so difceis de serem identificadas. Os cenrios que ilustram possveis problemas ocasionados por brechas na segurana so inmeros e assustador o que pode acontecer caso estas brechas sejam exploradas . No se tem a pretenso aqui de identificar e enumerar todos os possveis problemas de segurana em sistemas ubquos, at porque este um tema importante de pesquisa que est sendo explorado atualmente. Desta forma, e como existe vasta literatura na rea de segurana de sistemas tradicionais e da web, sero discutidos neste c apitulo, apenas os principais motivos que provocam as brechas nos sistemas de segurana de uma maneira geral e os conceitos bsicos de criptografia, uma das tcnicas mais importantes de segurana.

4.1 O que origina as brechas na segurana?


Os principais motivos que originam brechas na segurana e por conseqncia possibilitam invases so [40]: M configurao de Computadores e Sistemas: a m configurao ocorre tanto em softwares especficos de segurana, como firewalls, quanto em outros softwares no propriamente relacionados com segurana. A utilizao de verses antigas de softwares,

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

82

por exemplo, tambm contribui para o aparecimento de falhas de segurana, pois estes podem conter erros j conhecidos que facilitem uma invaso. Por exemplo, o uso de senhas padro, aps a instalao do sistema, uma causa comum de invases. Nos sistemas ubquos, dados e aplicaes podem estar parcial ou totalmente localizados em servidores que so acessados por dispositivos diferentes. Estes servidores podem estar sujeitos a m configurao. Falhas de Softwares: este tipo de falha bastante freqente e pode causar o funcionamento inadequado de um software sob certas condies, comprometendo o funcionamento do sistema ou possibilitando explorao de fraquezas para danificar ou ganhar acesso (como a no criptografia de senhas pelos protocolos telnet e ftp). Estes problemas, s vezes, so difceis de serem corrigidos se no existir uma atualizao do software para corrigir a falha. Neste caso, a soluo mais bvia seria no utilizar o programa, mas isto muitas vezes pode ser invivel devido grande utilizao deste. No caso da computao ubqua, os problemas de software podem estar no dispositivo e no servidor (sistema operacional, aplicaes, frameworks, middleware etc.) Falta de Conhecimento por Parte do Usurio: muitas falhas poderiam ser evitadas se os responsveis pelos sistemas e usurios tivessem o conhecimento sobre os problemas e solues. Por exemplo, um administrador de rede deveria ter conhecimento sobre as falhas dos softwares utilizados em sua rede e nos seus servidores ou o usurio deveria verificar se o seu navegador est utilizando uma conexo segura no momento que este deseja efetuar uma compra, via Web, de um produto. Desta maneira todas as pessoas que utilizam um sistema devem ter noes bsicas de segurana. Entretanto este um dos problemas de segurana mais difceis de ser resolvido. Em ambientes de computao ubqua, onde um dos objetivos tornar o computador e a rede invisveis para o usurio, embarcados em ambientes inteligentes que trocam informaes e engatilham aes independentemente do usurio, difcil visualizar o usurio se preocupando com questes de segurana. Ainda h muito a avanar nesta rea.

A Autenticao como forma de barrar o acesso indevido aos sistemas


No processo de autenticao, um u surio prova que quem ele diz que (dispositivo e servidor podem sofrer autenticao tambm). Dependendo da aplicao, apenas uma senha no suficiente ou no vivel. No controle do aquecimento domstico, por exemplo, a idia de proteger o patrimnio e o bem estar apenas com uma senha que eventualmente pode ser quebrada por crackers, no muito alentador. Alternativas como a Identidade Eletrnica, que usa cartes inteligentes e criptografia, so usadas.

Criptografia
A criptografia enderea trs questes: ajuda a autenticar pessoas e transaes, prov acesso seguro a dados ou servios e protege a privacidade da comunicao. Na dinmica da criptografia, um transmissor encripta dados usando uma chave. O recipiente dos dados decripta os dados de volta numa forma utilizvel usando uma chave, como mostra a figura 7. Os algoritmos criptogrficos classificam-se em: Simtricos e Assimtricos.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

83

Os algoritmos simtricos podem ser divididos em dois grupos, baseados na forma como os dados so processados: Bloco cifrado - quebra os dados em blocos de tamanho fixo (64 bits). Estes algoritmos so padronizados na indstria e so os mais usados. Exemplos incluem: DES (Data Encryption Standard), DES Triplo, AES (Advanced EncryptionStandard), RC2, RC4, RC5 Cadeia cifrada - encripta cada byte separadamente Texto plano
Algoritmo simtrico (modo de encriptao)

Chave secreta

Texto encriptado
Algoritmo simtrico (modo de decriptao)

Chave secreta

Texto plano
Figura 7. Dinmica da criptografia

Problemas com os Algoritmos Simtricos Os algoritmos simtricos apresentam varios problemas: usam a mesma chave para encriptar e decriptar; a chave em si tem que ser distribuda de forma segura, por exemplo, atravs de meio de transmisso no eletrnico como telefone ou correio; quando a troca de dados entre vrios participantes, deve haver chaves separadas para cada um.

Algoritmos Assimtricos
Para resolver o problema de distribuio de chaves que ocorre com os algoritmos simtricos, foram desenvolvidos os algoritmos assimtricos, tambm conhecidos como algoritmos de chave publica. As principais reas de uso da criptografia assimtrica incluem: distribuio de chaves, gerao de assinaturas digitais e encriptao e decriptao de informao. Nos algoritmos assimtricos, todos tm duas chaves: uma pblica e uma privada. As chaves so usadas em pares: uma para encriptao e outra para decriptao. A chave pblica acessvel a todos, e pode ser solicitada de um terceiro confivel, que garante que uma chave pblica especfica realmente pertena a aquela pessoa especfica. A chave privada fica com o dono e mantida em segredo. impossvel computar uma chave dada outra chave. O carto inteligente o meio ideal de armazenar esta chave o carto gera as assinaturas ou dados encriptados no carto e a chave privada nunca deixa o carto.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

84

Exemplo de uso do algoritmo assimtrico para encriptao de dados: se A quer enviar informao para B que s pode ser lido por B, A usa a chave publica de B para encriptar a informao. Somente a chave privada de B pode decriptar a informao e s B pode ler a informao enviada por A. Os principais algoritmos assimtricos incluem: RSA (Ron Reveste, Adi Chamar e Leonard Aclimam), DAS (Algoritmo de Assinatura Digital) e ECC (Criptografia por Curvas Elpticas).

Forma hbrida de utilizao dos Algoritmos Simtricos e Assimtricos


Os algoritmos simtricos so 10 a 1000 vezes mais rpidos que os algoritmos assimtricos, dependendo se a implementao em software ou em hardware. Os dois algoritmos podem ser usados de forma hbrida: o assimtrico para fazer a distribuio das chaves e o simtrico para encriptar dados.

4.2 Aspectos de Segurana nos Dispositivos


O nvel de segurana de um dispositivo varia muito de acordo com tipo de dispositivo, seu hardware, sistema operacional e a forma como executa as aplicaes. Alguns aspectos que influem na segurana dos dispositivos incluem: a execuo de software que no muda, no dispositivo, fica menos sujeita a brechas de segurana do que a execuo de software que carregado arbitrariamente no dispositivo. existncia de hardware de proteo de memria importante para isolar as aplicaes umas das outras. o poder computacional do dispositivo pode influenciar na segurana - quando este limitado, o suporte a assinaturas e encriptao pode ser implementado apenas com chaves de pequeno comprimento, deixando o sistema mais vulnervel. Um ponto importante na segurana dos dispositivos est em poder dos projetistas da aplicao: na implementao de aplicaes que precisam de segurana, o projetista deve estar ciente do nvel de segurana que o dispositivo cliente suporta!!!

4.3 Aspectos de Segurana no Servidor


Todos os aspectos relativos a segurana de servidores nos sistemas tradicionais, devem ser considerados nos sistemas de computao ubqua, tais como: Autenticao do servidor da aplicao e/ou dos dados, por exemplo, atravs de certificados digitais, para garantir que a interao est ocorrendo com o verdadeiro servidor para o dispositivo cliente. Restrio de acesso ao servidor Atualizao de todos os softwares no servidor Utilizao de ferramentas de busca de vulnerabilidades Restrio de funcionalidade

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

85

Restrio de relaes de confiana com outras mquinas etc. Proteo das chaves utilizadas pelo algoritmo de criptografia na proteo da comunicao com os dispositivos cliente Proteo do servidor contra comprometimento por usurios internos da rede/sistema e atacantes externos. Proteo da base de dados (que pode estar no mesmo servidor da aplicao, o que no aconselhvel, ou em servidores diferentes) Proteo contra acesso e alterao no autorizados s informaes Proteo contra acesso e alterao no autorizados a backups ou base de dados replicada Proteo contra comprometimento do servidor (invases e ataques do tipo recusa de servio - Denial-of-Service). Utilizao de criptografia para proteger dados confidenciais, tais como os nmeros de cartes de crdito; Instalao e configurao de firewall entre a Internet e a intranet da empresa provedora de aplicaes, visando a proteo do servidor de aplicaes e/ou dados contra acesso no autorizado e ataques de hackers Instalao e Configurao de firewall entre a rede interna e o servidor de aplicao e/ou dados, visando a limitao do acesso de dentro da Intranet a dados ou aplicaes que devem ser protegidos inclusive dos usurios da rede interna da empresa provedora de aplicaes/dados. O controle de acesso e a autenticao devem ser capazes de tratar diferentes tipos de dispositivos cliente e suas linguagens de marcao, tais como HTML para clientes PC, WML para clientes WAP, VoiceXML para telefones apenas de voz, HTML simples para PDAs etc. A privacidade deve ser garantida atravs da proteo do trafego de dados contra a exposio dos mesmo. Conexes seguras devem ser estabelecidas fim-a-fim entre os dispositivos e o provedor da aplicao. No PC, o protocolo SSL (Secure Socket Layer) usado para garantir a privacidade dos dados que trafegam na rede. Quando os dispositivos no tm capacidade de encriptao, um gateway pode ser colocado entre os dispositivos e o provedor da aplicao, de tal forma que a transmisso seja feita com texto claro at o gateway e de l at o provedor, segue encriptado [20]. Conforme ser visto no capitulo de Conectividade, algumas tecnologias de conexo, tais como Bluetooth, asseguram a privacidade na comunicao entre dispositivos. Entretanto, a rede sem fio, principalmente a de longa distancia, ainda est sujeita a muitos problemas de segurana que certamente abriro brechas para invases nos sistemas de computao ubqua.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

86

5. Conectividade
Conforme visto nos cenrios do capitulo 1, a conectividade um dos aspectos chave no conceito da computao ubqua. O conceito da comunicao de qualquer lugar e a qualquer momento o conceito das redes que oferecem servios de comunicao pessoal, como voz e dados. Os servios de Comunicao Pessoal PCS referem-se a sistemas celulares que operam em bandas de alta freqncia. Com a evoluo da tecnologia de radio, novas geraes de sistemas celulares tm surgido que oferecem servios multimdia mais sofisticados de comunicao pessoal. As geraes G1, G2, 21/G2 e G3 refletem essa evoluo. Entretanto, os servios a serem oferecidos na computao ubqua vo alm dos servios de comunicao pessoal. Outras tecnologias sem fio de media e curta distancia surgiram para prover a interao entre dispositivos, de forma transparente para o usurio. Esta interao vai desde a conexo sem fio de um PC a seus perifricos, eliminando assim o cabeamento excessivo, at a conexo e comunicao entre dispositivos nos mais diversos ambientes (residncia, escritrio, cho de fabrica, sala de aula, lojas e shoppings, hotis, aeroportos, automvel etc) para a realizao das mais diversas tarefas. Tecnologias de comunicao sem fio de curta e media distancia, tais como o Bluetooth, Wi-Fi e HomeRF, juntamente com as redes de longa distancia, compem uma estrutura bsica de suporte aos sistemas de computao ubqua. Este capitulo d uma viso geral sobre as tecnologias sem fio de rede de longa, media e curta distancia. 5.1 O Sistema Celular Um nico sistema celular interconecta varias pequenas reas de cobertura de radio, denominada de clulas. A idia bsica do sistema celular o reuso da freqncia, que proporciona que um mesmo conjunto de canais possa ser reutilizado em reas geogrficas diferentes, distantes o suficiente umas das outras de forma que interferncias estejam dentro de limites tolerveis. O conjunto de todos os canais disponveis no sistema alocado a um grupo de clulas denominado cluster. O numero de clulas por cluster constitui o padro de reuso que est intimamente relacionado com a capacidade e a qualidade da transmisso [41]. Quanto menor o tamanho da clula, maior o numero de clulas que podem ser empregadas, aumentando assim o numero de canais que podem ser atribudos aos usurios. Desta forma, a capacidade de um sistema celular determinada pelo tipo de padro de reuso, bem como a cobertura das clulas. Os sistemas sem fio so normalmente projetados usando um padro de reuso de 4, 7 ou 12 clulas. Um padro tpico de reuso o de sete clulas. Conforme aumenta a demanda por mais capacidade ou os nveis de servio precisam ser melhorados, clulas adicionais tm que ser empregadas. Os trs principais componentes de um sistema celular, mostrados na figura 8, so: Estao mvel Estaes Base Equipamento central de processamento (ou Centro de Comutao mvel - MSC)

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

87

A Estao Mvel a entidade que prov a funo de telefone mvel utilizado com o sistema celular. equipada com uma unidade de controle, um transceptor e sistema de antena que permite a comunicao com a estao-base mais prxima. A estao mvel gera um sinal de identificao para que a estao-base possa identific-la quando ativada. Para colocar uma chamada, sinaliza o inicio da chamada para a estao-base via um canal de controle. Para operar em modo analgico e digital, tanto a estao rdio-base quanto a estao mvel precisam ser modo dual (unidade de modo dual responde primeiro a um canal digital). As Estaes-Base gerenciam os canais de rdio dentro da clula. Contm uma unidade de controle, equipamento de radio-base e uma antena. A estao-base fornece a ligao entre a estao mvel e o equipamento central de processamento. Supervisiona chamadas, diagnostica problemas, passa mensagens de dados para o equipamento central de processamento e para as estaes mveis, monitora a potncia do sinal da estao mvel, varre todas as estaes mveis ativas nas clulas adjacentes e relata a potncia do sinal para a central, que mapeia todas as unidades mveis - este mapeamento determina qual clula deve servir uma estao mvel quando esta cruza de uma clula para outra (handoff). A rea de cobertura configurvel e pode ser projetada baseada na geografia, densidade demogrfica e requisitos de capacidade geral. trs descries gerais de tamanhos de clulas so possveis [42]: Macroclula clula tpica em um sistema celular. Oferece cobertura em um raio geralmente maior que 300m e at 40km Microclula Cobertura tpica num raio entre 60 e 300 m. As microcelulas so muitas vezes usadas para aumentar a capacidade do sistema, preencher pontos mortos ou para reduzir congestionamentos de handoff e de trafego em geral. Picoclulas Oferece cobertura em um raio de menos de 60 m. ideal para o interior de prdios ou campus local. A potncia do sinal de transmisso e o tamanho da antena ditam a cobertura de uma clula.
Estaes base Equipamento central de processamento (MSC)

Rede telefonica fixa

Estao Mvel

Figura 8. Um sistema celular tpico

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

88

O equipamento central de processamento conhecido como Centro de Comutao Mvel MSC. o centro nervoso do sistema, pois controla a operao mvel dentro das clulas. Pode alojar sistema de bilhetagem, arquivos de assinantes, informao estatstica sobre volume de trfego e contabilizaes em geral. O MSC conectado s estaes-base, atravs de linhas terrestres, enlaces microondas ou uma combinao das duas. O nmero de estaes-base que podem ser controladas varia. Num sistema pequeno, todas as estaes base so conectadas a um MSC que faz as atribuies de canais. Em um sistema grande pode haver uma hierarquia de MSCs. O MSC conectado Rede de Telefonia Pblica Comutada. Handoff A transferncia de uma chamada de um sistema de servio para outro enquanto a chamada est em progresso faz parte de qualquer sistema de comunicao mvel. Quando uma estao mvel se move entre clulas que so servidas pelo mesmo MSC, ocorre o denominado Handoff Intra-sistema. O Handoff intersistemas ocorre quando a estao mvel se move entre clulas servidas por MSCs diferentes. Neste caso, coordenao e sinalizao adicional so necessrias entre os dois MSCs. Roaming O Roaming define a capacidade de uma estao mvel se mover para fora de sua rea normal de servio, atravs da implementao de funes de rede que rastreiam a localizao do assinante e transferem essa informao do sistema de sua rea normal de servio para o sistema da rea temporria sendo visitada por ele. O servio de roaming habilitado, atravs de uma rede de sinalizao entre os MSCs, que podem ser de provedoras diferentes. A expanso da rede de sinalizao e os acordos entre operadoras tornam o roaming mais fcil. 5.2 A evoluo das Redes Sem Fio de Longa Distncia As tecnologias das redes de comunicao mvel sem fio evoluram atravs de mltiplas geraes, que so descritas a seguir.

5.2.1 Gerao 1: Os Sistemas Celulares Analgicos


A primeira gerao de telefonia celular caracterizava-se basicamente por ser analgica, utilizando modulao em freqncia para voz e modulao digital FSK ( Frequency Shift Keying) para sinalizao. Os primeiros sistemas analgicos foram: NMT - Nordic Mobile Telephone, NTT - Nippon Telephone and Telegraph, AMPS - Advanced Mobile Phone Service e TACS - Total Access Communications Systems. O problema com o celular da gerao 1 G1, que as taxas de dados oferecidas eram muito baixas e quaisquer novas caractersticas de servios exigiam alteraes de hardware tanto nas estaes moveis quanto nas redes celulares. A capacidade tpica de processamento dos sistemas G1 era de cerca de 500 mil instrues por segundo (versus 10 a 40 MIPS na G2) [43]. Servios de encriptao de dados, por exemplo, no poderiam ser implementados sem a digitalizao da rede.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

89

5.2.2. Gerao 2: Os Sistemas Celulares e os Servios de Comunicao Pessoal/ Redes de Comunicaes Pessoais PCS/PCN
A segunda gerao de sistemas celulares caracterizou-se pela digitalizao do sistema que oferece as seguintes vantagens sobre os analgicos: tcnicas de codificao digital de voz mais poderosas, maior eficincia espectral, melhor qualidade de voz, maior capacidade de utilizao, provimento de segurana nas comunicaes e transmisso de dados. O sistema celular e o PCS operam em faixas diferentes: 1.8-1.9 para PCS e 800-900MHz e competem entre si pelo mercado. O PCS possui tecnologia superior ao do sistema celular digital, e visa o mercado de massa oferecendo servios multimdia a baixo custo. Entretanto os sistemas celulares, com toda a infra-estrutura existente de milhes de assinantes no mundo todo, comeou a incorporar servios ditos do PCS. Como a implantao do PCS exige a superao de limitaes complicadas, tais como implantao de infra-estrutura e liberao do espectro usado por outros servios [41], alm da superioridade em relao ao sistema celular ficar cada vez menos evidente na medida que estes comeam a oferecer os servios at ento inerentes ao PCS, fica tambm mais difcil a viso da entrada macia do PCS no mercado. Os principais sistemas G2 incluem [43]: PDC/JDC Personal Digital Cellular ou Japanese Digital Cellular. (Amplamente implantado no Japo) TDMA (D-AMPS/IS-54/IS-136) - Implantado nos EUA e Amrica do Sul CDMA (IS-95) amplamente implantado nos EUA GSM Global System for Mobile Communication. Padro desenvolvido na Europa e implantado amplamente no mundo todo Dentre os mtodos de acesso da segunda gerao destacam-se: o TDMA (Time Division Multiple Access) e o CDMA (Code Division Multiple Access). O GSM (Groupe Speciale Mobile/Global System for Mobile Communications), padro europeu muito difundido no mundo todo, utiliza o mtodo de acesso TDMA, padronizado pela norma IS136. O CDMA, padronizado pela norma IS-95, muito utilizado pelas operadoras americanas, sul americanas e asiticas. O GSM foi padronizado em 1991 e oferece roaming internacional, alm de servios de localizao automtica, encriptao do sinal, autenticao e autorizao do usurio, anonimato, mensagens curtas - SMS, fax e servio de dados. Dentre os servios oferecidos pelo GSM, o SMS o servio mais popular (mais de 12 bilhes de mensagens/ms no mundo todo dados de 2000) [44]. O padro GSM est sendo adotado em mais de 160 paises (mais de 400 milhes de assinantes no mundo todo inclui GSM 1.8 e 1.9). Nos EUA prevalece o AMPS e , devido a falta de padronizao, foram adotados trs sistemas incompatveis: AMPS analgico, TDMA e CDMA na faixa de 1.9GHz. Tambm foi adotado o padro GSM na faixa de 1.9GHz. No Brasil, est sendo adotado o padro GSM na faixa de 1.8GHz [45]. Aps a implantao dos sistemas G2, que possibilitou atender a demanda reprimida por telefonia mvel, um novo cenrio de evoluo para as comunicaes sem fio se delineou, apontando para o surgimento de uma nova gerao de sistemas. Os principais fatores que motivam esse cenrio so [46]:

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

90

Demanda por servios de banda larga, isto , servios que requerem altas taxas de transmisso (servios de Multimdia); A enorme expanso da Internet e de seus servios associados, como o correio eletrnico, que demandam acesso rede a qualquer instante; Grande desenvolvimento de meios de transmisso via fibra ptica, o que capacitou a rede ISDN (Integrated Service Digital Network) para o fornecimento de servios de altas taxas de transmisso. Com isso a interface area passou a ser uma limitao transmisso desses servios para usurios mveis. A implantao de um sistema que suporte s demandas acima exigiria uma atualizao considervel dos equipamentos existentes no sistema G2. Para evitar esta atualizao, que implicaria em altssimos custos, uma gerao intermediaria foi criada, denominada 2,5 G, descrita a seguir.

5.2.3 A Gerao 2,5


A gerao G2,5 refere-se aos sistemas celulares com s ervios e taxas adicionais quelas oferecidas pelos sistemas G2, baseados no GSM, porm ainda no caracterizados como G3. A gerao G2,5 compreende: o Servio Geral de Radio por Comutao de Pacote - GPRS (General Packet Radio Service) e Dados a alta velocidade por comutao de circuito HSCSD (High Speed Circuit-Switched Data). O GRPS, assim como a Internet, usa a comutao de pacotes que, diferentemente da comutao de circuito, s usa a rede quando h dado para ser enviado. Com o GPRS, os mesmos servios da Internet, tais como e-mail e navegao on-line, so mais eficientemente compartilhados pelos seus usurios. Padronizado pelo ETSI European Telecommunications Standardizations Institute, representa a primeira implementao de comutao de pacotes dentro do GSM. O objetivo do GPRS conduzir voz nos pacotes, mas, por enquanto, precisa coexistir com o GSM circuito comutado e comutao de pacotes. O HSCSD supera a taxa de 9,6kbps do GSM original, agregando mltiplos canais bsicos de trafego para servios de dados, que atingem at 57,6kbps. Diferentes nmeros de canais podem ser atribudos para transmisso de dados na direo terminal cliente ? provedor (upstream) e na direo provedor ? terminal cliente (downstream). Apresenta uma capacidade mxima de taxa de dados igual a 64 kbps com a possibilidade de aumento de 2 a 4vezes, se utilizada a tecnologia de compresso de dados do GSM, possibilitando aplicaes de transmisso de arquivos longos e recepo de vdeo em movimento. As vantagens e desvantagens da gerao G2,5 so descritas abaixo. Vantagem do HSCSD Compatvel com o GSM , isto , no requer grandes alteraes ou investimentos pelo provedor do servio (envolve apenas atualizao do software da rede e adio de gateways que permitam conexo para as redes de dados) [44].

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

91

Desvantagens do HSCSD Exige novo aparelho para o assinante (terminal do usurio) No adequado para atender requisitos tpicos da Internet, como o envio de pequenos surtos de dados do cliente, devido atribuio esttica de canais Pode apresentar possvel perigo para a sade pois transmite mais que um telefone GSM comum, causando aumento de consumo de energia e superaquecimento (primeiros terminais se incendiaram Desperdia largura de banda, devido a utilizao de comutao de circuito. Enquanto estiver on-line, cada usurio precisa manter um circuito aberto inteiro de 9.6kbps ou mais Vantagens do GPRS Oferece transio suave para as redes G3 (arquitetura de rede, servios e modelo de negcios so similares) Oferece conexo permanente com a Internet com taxas de transmisso de dados de 20 a 171kbps Otimiza tempo de ar e consumo de energia, uma vez que, com a comutao de pacotes, o ar usado apenas quando dados esto sendo enviados Suporta conexes virtuais permanentes para fontes de dados , ou seja, a informao pode chegar automaticamente Acesso a Internet mvel no interfere com a recepo de chamadas (sesso de dados suspensa enquanto a chamada atendida) Capacita servios de mensagem por difuso, difuso seletiva ou unicast. Desvantagens do GPRS No garante largura de banda (importante para vdeo em tempo-real) Apresenta problema de superaquecimento e mesmo limite de velocidade do HSCSD Apesar do avano da tecnologia G2 para a G2,5, existe ainda demanda por largura de banda cada vez maior, o que leva a tecnologia da comunicao sem fio para a terceira gerao G3, que visa uma total integrao, em nvel global, da comunicao pessoal.

5.2.4 A Gerao G3
Os celulares de terceira gerao representam a convergncia das seguintes tecnologias: Internet (navegao web, e-mail, informaes, m-commerce), telefonia (voz, vdeo, fax etc) e mdia de difuso (TV, radio, entretenimento e informao, servios de localizao) para o suporte a seis grande classes de servios: voz, mensagens, comutao de dados, multimdia, multimdia de alto padro e multimdia interativa de alto nvel. As principais caractersticas dos sistemas G3 so conhecidas coletivamente como IMT-2000 (International Mobile Telecommunications) e compreendem: [47] utilizao no

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

92

mundo todo; utilizao em todas as aplicaes moveis; suporte a comutao de pacotes e comutao de circuito; taxa de dados de at 2Mbps e alta eficincia do espectro. Os tipos de servios a serem oferecidos pelo IMT-2000 so mostrados na tabela 4. A proposta mais importante do IMT-2000 o UMTS (W-CDMA). O W-CDMA foi projetado para permitir interoperao com o GSM, apresentando um canal de 5 MHz que representa quatro vezes a capacidade do CDMAOne e vinte e cinco vezes a capacidade do GSM, com tcnica de codificao que oferece velocidade mxima de 4Mbps [44]. Cada terminal W-CDMA pode acessar vrios servios diferentes ao mesmo tempo, entre eles: filmes, videoconferncia, acesso a Internet, jogos multimdia, e outros como o roaming global, esperado para 2005. At que o WCDMA esteja totalmente implantado, os usurios devero ter dispositivos multi-modo, capazes de comutar para qualquer tecnologia disponvel no momento [48]. A tabela 5 mostra o tempo de entrega de dados nas diferentes geraes dos sistemas celular.

Motivos para o atraso na adoo do celular G3


Alguns dos problemas que podem atrasar a entrada de novos servios em operao incluem [41] [20]: O espectro alocado para o UMTS no est disponvel em alguns paises. Nos EUA, por exemplo, essas freqncias so usadas por estaes de TV cujos contratos expiram em 2004 com opes para extenso do prazo de concesso. A liberao dever ser progressiva, de acordo com a demanda, o que pode levar a atrasos na entrada em operao dos servios A G3 requer novo hardware para transmisso, de modo que uma ampla coberturaG3 pode demorar.

Motivo para Otimismo O W-CDMA foi originado no Japo e adotado para u no G3 pelo ETSI. - European so Telecommunications Standardizations Institute. Resolvidos os problemas de patenteamento do W-CDMA, ele dever ser amplamente disponibilizado uma vez que ele suportado pela comunidade GSM, que fornece a tecnologia dominante hoje [20]. A tabela 6 mostra um resumo das caractersticas das geraes G2, G2,5 e G3. Os sistemas celulares atuais, por comutao de circuitos, provem conexo dependendo da disponibilidade de um circuito. No UMTS, a conexo por comutao de pacotes, usando o Protocolo da Internet (IP), prov uma conexo virtual que est sempre disponvel para qualquer ponto da rede. UMTS promete realizar um ambiente Virtual Home em que um usurio em roaming poder ter acesso aos mesmos servios que um usurio est acostumado a ter quando est em casa ou no escritrio.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

93

Classe de Servios MM interativa

Velocidade de sada dos dados

Velocidade de entrada dos dados

Exemplo

Comutao

256kbps 20kbps 19.2kbps 43.2kbps 28.8kbps 28.8kbps

256kbps 2Mbps 768kbps 43.2kbps 28.8kbps 28.8kbps

Videoconferencia TV Navegao web Fax E-mail Telefonia

Circuito Pacote Pacote Circuito Pacote Circuito

MM de alto nivel

Multimidia
Comutao de dados

Mensagens simples

Fala

Tabela 4. Tipos de servios no IMT-2000 (adaptado de [48]).

Servio
E-mail (10KB) Pgina web (9KB) Arquivo texto (40KB) Relatrio (2MB) Clip de Video (4MB) Filme com qualidade TV (6GB)

RDSI 1s 1s 5s 2m 4m 104h

G2 (GSM) 8s 9s 33s 28m 48m 1100h

G2,5 (GPRS) 0,7s 0,8s 3s 2m 4m 52h

G3 (UMTS) 0,04s 0,04s 0,2s 7s 14s ~5h

Tabela 5. Tempo de entrega nas diferentes geraes [44]

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

94

Sistemas G2 Chamadas telefnicas Correio de voz Recebimento/envio de simples mensagens de e email Velocidade: 10 Kbps

Sistemas G2,5 Chamada telefnica/fax Correio de voz Recebimento/envio de mensagens maiores Navegador Web Navegao/Mapas Noticias atualizadas Velocidade: at 171.2 Kbps (GPRS) e at 256Kbps (HSCSD com compresso de dados)

Sistemas G3 Chamadas telefnicas/ fax Roaming Global Recebimento/envio de mensagens maiores Web de alta velocidade Navegao/Mapas Vdeo Conferncia TV Streaming Agenda eletrnica Aplicaes multimdia Velocidade: 144Kbps 2Mbps

Tabela 6 Comparao entre as geraes de celulares (adaptada de [49])

5.2.5 A Gerao G4
A quarta gerao das comunicaes mveis envolve uma mistura de conceitos e tecnologias para inovaes na alocao e utilizao do espectro, comunicaes a rdio, redes, servios e aplicaes. Consiste na evoluo da rede G3, de suporte a redes de pacotes e de comutao de circuitos, para uma rede apenas de pacotes, alm da possvel convergncia com as redes locais sem fio - WLAN para o suporte a aplicaes de contedo multimdia mais sofisticados, tais como: vdeo colorido com imagens de alta qualidade, jogos com animaes grficas 3D, servios de udio em vrios canais, correio multimdia, servios baseados na localizao do usurio e muito mais. Prev-se aqui taxas de dados superiores a 100Mbps e 1Gbps. Novas tecnologias de acesso como MC-CDMA ( Multicarrier-CDMA) e OFDM (Orthogonal Frequency Division Multiplexing), assim como antenas inteligentes, tcnicas de codificao espao-temporal etc., devem caracterizar as tecnologias dos sistemas G4.

5.3 Redes Sem Fio de Curta e Media Distncia


O objetivo maior dos sistemas celulares vistos acima o provimento de servios de comunicao pessoal que permitam ao usurio acessar, de forma nica, servios sofisticados de qualquer lugar do mundo e a qualquer momento. Estes servios atendem parte dos requisitos de comunicao da computao ubqua. Um outro requisito a proviso da comunicao dentro de ambientes fechados, como uma sala, de tal forma que dispositivos de um lado da sala possam se comunicar com dispositivos do outro lado. Esta seo descreve as principais tecnologias de rede de media e curta distancia: Bluetooh, FIR, HomeRF e 802.11 [50].

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

95

5.3.1 A Tecnologia Bluetooth


A comunicao sem fio para comunicaes locais surgiu de uma necessidade de eliminar os fios que ligam dispositivos a acessrios. A Ericsson foi uma das primeiras empresas a reconhecer essa necessidade e, a partir da, a identificar outras aplicaes com enorme potencial, tais como: um telefone mvel se comunicando com uma impressora, ou um PDA se comunicando com o PC para realizar alguma tarefa, sem qualquer configurao ou interveno manual do usurio. Em 1998, um consorcio liderado pela Ericsson, com a participao da Nokia, IBM, Toshiba e Intel foi criado para desenvolver a especificao de um padro global aberto para a conectividade sem fio entre os dispositivos de telecomunicaes e os de computao. Esta especificao foi denominada Bluetooth. Muitas outras empresas se associaram ao consorcio deste ento, mais de 2000. O nome Bluetooth foi dado em homenagem a Herald I. Bluetooth rei da Dinamarca (910-985), primeiro a unificar o pas. A comunicao com o Bluetooth onidirecional com alcance de at 10m. Suporta servios de transmisso sncronos e assncronos. A taxa de transferncia de dados de at 1Mbps. Conecta dois ou mais dispositivos que no esto na linha de viso um do outro. Exemplos incluem: o envio de fotos de uma cmera digital para o disco rgido; a conexo de um PCs com seus perifricos - impressoras, scanners, teclados, mouse, microfones etc.; a conexo de voz em tempo-real entre fone de ouvido e telefone mvel. O Bluetooh oferece uma soluo em um chip nico. Prev-se que a tecnologia seja utilizada em mais de 100 milhes de dispositivos at 2002. O Bluetooth utiliza a faixa de freqncia ISM - Medico-Cientifica-Industrial de 2,45GHz (2,4000 a 2,4835). Esta faixa muito ruidosa pois tambm utilizada por outros dispositivos, tais como: portes automticos, monitores de bebes, telefones sem fio etc. De modo a minimizar os problemas de interferncia, os rdios Bluetooth utilizam uma tcnica denominada espalhamento do espectro por de salto de freqncia FHSS (Frequency Hopping Spread Spectrum), que consiste no seguinte: a banda dividida em 79 freqncias portadoras (com espaos de 1MHz entre elas); um sinal salta de uma freqncia para outra no decorrer de uma mesma transmisso. Isto significa que uma transmisso Bluetooth no permanece numa mesma freqncia o tempo bastante para ser afetada por rudos nessa freqncia. Os padres de salto de freqncia so pseudo-aleatrios e tm que ser sincronizados para poder haver comunicao.

Piconet
Um grupo de dispositivos Bluetooth comunicantes constituem uma Piconet. Na piconet, um dispositivo age como principal e os outros so secundrios. O primeiro dispositivo a iniciar a comunicao assume o papel de principal. Dispositivos secundrios sincronizam seus relgios internos e seqncias de salto de freqncia com os do principal. Cada piconet pode conter at oito dispositivos Bluetooth diferentes, entretanto, numa transmisso de voz full-duplex (comunicao nas duas direes), apenas trs dispostivos so suportados ao mesmo tempo. O mesmo canal de salto de freqncia compartilhado por todos os dispositivos de uma mesma piconet. Os relgios internos dos dispositivos secundrios so sincronizados ao relgio do dispositivo principal, de tal forma que, todos os dispositivos na piconet saltam de

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

96

freqncia na mesma seqncia. Cada piconet tem ento uma identidade prpria, baseada em canais de salto de freqncia diferentes. Assim, varias piconets podem conviver num mesmo espao compartilhado sem interferncias entre si [50].

Redes de Disperso
As redes de disperso (scatternet) so formadas por duas ou mais piconets que se sobrepem. At dez piconets, com 80 dispositivos bluetooth diferentes, podem ser includas numa rede de disperso mais que isso pode saturar a rede, uma vez que a banda dividida em apenas 79 freqncias. Um dispositivo em uma piconet pode comunicar-se com dispositivos em outra piconet. Um dispositivo principal em uma piconet pode ser secundrio em outra. Uma rede de disperso com duas piconets mostrada na figura 9. Piconet 2 Piconet 1 principal
Disp 1

principal
Disp 2

secundrio
Disp 7

secundrio
Disp 2

secundrio
Disp 5

secundrio
Disp 4

secundrio
Disp 6

secundrio
Disp 3

Figura 9. Uma Redes de disperso com duas piconets, onde dois dispositivos principais podem servir de ponte entre as duas redes [44].

Dispositivos dentro da piconet estabelecem enlaces para comunicao sob demanda. Dois tipos de enlaces so definidos: SCO Sncrono orientado a conexo (Synchronous Connection-Oriented) comunicao ponto-a-ponto dedicada entre dispositivos principal e secundrio. O dispositivo principal reserva slots de tempo fixos para comunicao e pode suportar at trs enlaces SCO com o mesmo dispositivo secundrio (ou outros) cada um de at 64Kbps para voz em cada direo. ACL Assncrono sem conexo (Asynchronous Connection-Less) utiliza quaisquer slots no reservados para um enlace SCO. O dispositivo principal pode se comunicar com um secundrio numa base por-slot. Um dispositivo secundrio s pode se comunicar com o principal depois deste t-lo endereado. Os dispositivos Bluetooth suportam tambm uma mistura de canais SCO e ACL. A transmisso full-duplex no Bluetooth utiliza o esquema de TDD Duplex por Diviso de Tempo (Time Division Duplex). No TDD, cada freqncia portadora dividida em slots de tempo de 625s de durao. Os dispositivos principais transmitem em slots pares e os secundrios em slots impares. Desta forma, alternando-se de um lado para outro, uma mesma freqncia pode ser compartilhada por duas transmisses diferentes.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

97

Quaisquer dispositivos Bluetooth, dentro de um raio de dez metros, podem estabelecer uma conexo ponto-a-ponto ou ponto-a-multiponto de forma ad-hoc (imediata).

Conexes seguras com o Bluetooth


A segurana oferecida com o Bluetooth inclui autenticao baseada em chaves privadas de 128 bits e encriptao. Trs mecanismos bsicos so especificados: Gerenciamento de Chave utiliza trs tipos de chaves no processo de gerenciamento de chave: uma para o usurio (ou dispositivo), em que digita-se uma senha numrica; o dispositivo gera uma chave privada para o enlace e autentica com o segundo dispositivo; por fim, o dispositivo gera uma chave privada para encriptao, a partir da chave do enlace, e autentica com o segundo dispositivo. Autenticao do dispositivo Um esquema de desafio-resposta utilizado para verificar se o outro dispositivo reconhece uma chave secreta compartilhada. A autenticao um sucesso quando os dois dispositivos reconhecem a mesma chave, caso contrario a conexo abortada. Encriptao de pacotes a especificao Bluetooth define trs modos de encriptao: modo 1 - no h encriptao; modo 2 apenas o trafego ponto-a- ponto encriptado (o ponto-a-multiponto no); e modo 3 todo o trafego encriptado.

5.3.2 Infravermelho
A Associao de Dados Infravermelho IrDA (Infrared Data Association) estabeleceu vrios padres de comunicao atravs de luz infra-vermelha, onde o IrDA-Data e o IrMC so os mais importantes. A tecnologia infravermelha suporta apenas conexo ponto-a-ponto. Tem alcance de curta distancia, de at um metro, com ngulo estreito entre o transmissor e o receptor o cone de viso de 30o. Qualquer sinal fora deste angulo no ser recebido - os patrocinadores do IrDA sustentam que o IrDA dever suportar um angulo de viso de 60o, o que possibilitaria suporte a um numero maior de servios, tais como: a conexo de mouse, joystick, etc., no PC. O inicio da troca de dados requer que os dispositivos estejam em linha direta de viso, uma vez que os raios infravermelho no atravessam objetos slidos. Essas duas ultimas caractersticas da tecnologia infravermelha mencionadas representam as suas maiores desvantagens. O infravermelho adequado para conexes de dados de alta velocidade (por exemplo, quando se quer conectar um dispositivo a uma rede com fio). Tipicamente, os dispositivos que utilizam a conexo IrDA so os perifricos de computadores (modems, impressoras, scanners, etc.), alm de PDAs, relgios, equipamentos industriais etc. O infravermelho p rojetado para a conexo entre dois pontos. Tem uma base de instalao bastante grande, entretanto raramente utilizado. Isto porque no inicio de sua implantao, em dispositivos do tipo lap-top, por exemplo, no funcionava bem. Os problemas diminuram muito mas percepo negativa ficou marcada, o que acabou gerando um ciclo vicioso: os fornecedores no implementam suporte total a IrDA porque os usurios no solicitam e os usurios no solicitam IrDA a menos que tenha suporte total. Apesar de barato (menos de $5), poucos fornecedores o instalam nos computadores de mesa e outros dispositivos

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

98

(exceo para a Apple). Nos servios de fala, suporta apenas um canal digital de voz. A segurana no especificada deixada para o protocolo de nvel mais alto [5][20]. Apesar das limitaes, a IrDA tem algumas caractersticas interessantes: a largura de banda de 4 a 16 Mbps, muito alm do 1Mbps do Bluetooth.. Os varios tipos de IrDA incluem: SIR (Serial Infrared) padro original 115 kbps MIR (Medium Infrared) 1.152Mbps (suficiente para transmisso e recepo de vdeo com qualidade de TV) No implementado amplamente (escolha recai no SIR e FIR) FIR (Fast Infrared) At 4Mbps

Embutido na maioria dos novos computadores (opo padro do W/98 e 2000) VFIR (Very Fast Infrared) Chega a 16Mbps Ainda no implementado amplamente Novas atualizaes podem levar a velocidades de 50Mbps.

O padro IrMC (Infrared Mobile Communications) define como transmitir dados de voz, full-duplex, por um enlace IrDA. A tabela 7 mostra uma comparao entre a IrDA e outras tecnologias concorrentes.

5.3.3 Tecnologia HomeRF


A HomeRF uma iniciativa do grupo de trabalho HomeRF, um consorcio liderado por uma empresa parcialmente possuda pela Intel, a Proxim. Outras empresas participantes incluem: Motorola, Compaq, Intel, Cayman etc. A tecnologia HomeRF foi projetada tendo em mente redes pequenas de baixo trafego, em residncias e pequenos ambientes comerciais. Visa a comunicao entre o PC e seus perifricos, bem como entre dispositivos inteligentes de uma residncia. Ela no projetada para a comunicao entre dispositivos portteis (outras tecnologias, como o bluetooth, so melhores para isso), tampouco para a formao de redes ad hoc (imediatas) do tipo de rede configure-a e deixe-a[50]. HomeRF baseada no Protocolo de Acesso Sem Fio Compartilhado SWAP (Shared Wireless Access Protocol), que suporta seis canais de voz baseados no padro Digital Enhanced Cordless Telephone DECT, alm de um canal de dados baseado na especificao IEEE 802.11. Verses atuais da HomeRF suportam velocidades de at 10Mbps. Assim como o Bluetooth, a HomeRF utiliza a faixa de freqncia ISM - Medico-Cientifica-Industrial de

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

99

2,45GHz. Para minimizar os problemas de interferncia, os rdios HomeRF utilizam espalhamento do espectro por salto de freqncia. Para alguns tipos de dispositivos, o padro de salto de 50 saltos por segundo, em intervalos de 1MHz. As conexes so do tipo ponto-a-ponto com alcance de 25 a 60 metros. Permite diversas redes no mesmo ambiente fsico, com suporte de at 127 dispositivos por rede. Como tem alto consumo de energia, no adequada para utilizao em dispositivos portteis. No se integra facilmente a outras redes sem fio existentes. Entretanto, seu custo relativamente baixo (menos de $200 dlares por dispositivo), fcil de instalar, alm de no exigir ponto de acesso. A HomeRF pode coexistir com o Bluetooth da seguinte maneira: bluetooth para substituir o cabeamento domestico, por exemplo, entre o PC e seus perifricos e a HomeRF como rede local de interconexo, por exemplo, entre mais de um PC.

5.3.4 Tecnologia 802.11 Wi-Fi


O Instituto dos Engenheiros Eltricos e Eletrnicos - IEEE desenvolveu uma especificao de rede local sem fio, denominada 802.11b, ou ainda Wi-Fi Fidelidade Sem Fio (Wireless Fidelity). A Aliana de Compatibilidade da Ethernet Sem Fio WECA (Wireless Ethernet Compatibility Alliance), patrocinada por empresas do tipo 3Com, Apple, Lucent, Nokia, Compaq etc., adotou a 802.11b como soluo para redes corporativas sem fio. Assim como o Bluetooth e HomeRF, a 802.11 utiliza a faixa de freqncia ISM de 2,45GHz. Para minimizar os problemas de interferncia, a 802.11b utiliza a tcnica de espalhamento do espectro por seqncia direta DSSS (Direct Sequence Spread Spectrum) em que, diferentemente do FHSS utilizada pelo Bluetooth e HomeRF, os sinais so fixos dentro de um canal de 17MHz mas encobertos por rudos que so criados com o intuito de reduzir a interferncia de outros rudos. A utilizao do DSSS resulta em uma tecnologia de rede com taxa de transmisso de dados de at 11 Mbps. Por outro lado, essas redes ficam mais suscetveis a rudos de outros dispositivos que tambm utilizam a banda de 2.G4Hz por isso esta tecnologia no to adequada para atender as necessidades de redes residenciais que possuem dispositivos que utilizam esta mesma banda, tais como: controle de portes automticos, forno de micro-ondas, telefone sem fio entre outros. As redes 802.11b so rpidas, confiveis e tm alcance de at 100 metros, que pode ser ainda maior em reas abertas. Do lado negativo, exigem hardware de ponto de acesso para a interconexo entre os dispositivos da rede, que tem um custo relativamente alto (equipamentos mais sofisticados podem custar acima de $1200). Esses pontos de acesso podem ter suporte para conexes Ethernet comum, tornando a 802.11b facilmente integrvel com outras redes Ethernet com fio em uma corporao). A configurao desta rede mais complexa e mais cara do que, por exemplo, a HomeRF, o que a torna no muito adequada, pelo menos no momento, para uso em residncias, apesar dos fabricantes promoverem-na para este fim. Mais ainda, a 802.11b no suporta servios de telefonia, sendo um padro de uso estrito para a comunicao de dados servios de voz podem ser suportados pela 802.11b quando a voz transmitida como dado, como o caso na tecnologia de voz-sobreIP. Como a 802.11 no facilmente configurvel, redes ad hoc, que se formam de modo

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

100

espontneo, no so suportadas, o que pode tornar a tecnologia Bluetooth mais adequada para redes em locais pblicos, tais como cybercafes, do que a 802.11. Outras bandas de freqncia esto sendo consideradas para a especificao de redes locais sem fio que suportem velocidades mais altas. O IEEE est trabalhando na banda de radio freqncia de 5GHz para a especificao do novo padro 802.11a que visa redes de at 54Mbps. A tabela 7 resume as principais vantagens e desvantagens de cada uma das tecnologias de redes sem fio de curta e media distancia discutidas aqui. A tabela 8, adaptada de [50], compara as tecnologias descritas acima.

5.3.5 Redes Domsticas


Os lares de hoje esto repletos de aparelhos eletro-eletrnicos sem nenhuma ou pouca interao entre eles, com um numero crescente de controles remoto e cabos. As redes domsticas surgem para integrar todos esses aparelhos, para que o usurio final possa usufruir conforto, praticidade e comodidade em sua casa. As tecnologias discutidas nas sees acima, tais como o bluetooth e HomeRF, utilizam radio freqncia para a comunicao entre os dispositivos. Solues que eliminam ou minimizam o cabeamento e possibilitam a interconexo de dispositivos domsticos a baixo custo, envolvem a utilizao das redes de energia eltrica e de telefonia. Vrios projetos que fazem uso essas duas redes tm surgido, tais como: HomePlug e X10, que utilizam a rede eltrica, e HomePNA, que usa a linha telefnica [66] [67]. Um dos mais abrangentes o X10, descrito a seguir. O Padro X10 O X10 um padro para a conexo e controle de aparelhos domsticos, atravs do cabeamento de fornecimento de energia eltrica. Sinais de controle so transmitidos entre dispositivos, atravs dos cabos de energia eltrica existentes na casa do usurio, usando uma portadora de sinal modulado sobre a corrente alternada normal (AC). Isto torna o X10 adequado para a conexo dos mais diversos dispositivos numa casa comum. Os controles de comando so limitados e no h verificaes de compatibilidade entre um dispositivo e os controles de comando. O endereamento para os dispositivos limitado a 256 endereos os quais devem ser administrados manualmente, o que em alguns casos podem causar conflitos entre dispositivos em casas diferentes, mas com o mesmo endereo. Mais informaes sobre o X10 em [67] Neste capitulo foram vistas as tecnologias de rede de longa, media e curta distancia para a interconexo de dispositivos. O prximo capitulo descreve as iniciativas que propiciam que esses dispositivos comuniquem-se entre si no apenas para a troca de informaes, mas tambm para a busca de servios.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

101

Bluetooth

IRDA

HomeRF

802.11b (Wi-Fi)

Aplicao

Substituio de Substituio de Formao de cabeamento e na cabeamento e na redes domesticas formao de formao limitada e/ou de pequenas redes ad hoc de redes ad hoc empresas RF 2.G4Hz Luz Infravermelha Ponto-a-ponto RF 2.G4Hz

Formao de redes corporativas e/o campi RF 2.G4Hz

Tecnologia

Tipo de Rede

1 para muitos (<= 8)

1 para poucos

Muitos para muitos 11Mbps Dados (voz s sobre dados) 100 ms 360 graus

Velocidade Servio suportado Alcance Angulo de conexo Tcnica de espalhamento do espectro Necessidade de ponto de acesso Carga de energia exigida Custo por dispositivo

1Mbps Voz e dados

4Mbps (tpica) Voz e dados

10Mbps Voz e dados

10 ms 360 graus

1m 30 graus

50 ms 360 graus

FHSS

FHSS

DSSS

No

No

No

Sim

Baixa

Baixa

Alta

Alta $250 a >1200 (custo do equipamento de ponto de acesso)

$ 70 a 120

< $3

$100 a 300

Tabela 7. Comparao entre Bluetooth xIRDA x HomeRF x Wi-Fi (adaptada de [50])

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

102

Bluetooth

Vantagens Adequado para substituir o cabeamento Adequado quando se requer a formao de redes ad hoc Custo relativamente baixo Rpida (4Mbps) Baixo Custo (< $3) Baixo consumo de energia No sofre interferncias Segura Amplamente instalada Muito rpida (10Mbps) Fcil de instalar Suporta at 127 dispositivos por rede Suporta varias redes no mesmo ambiente fsico Muito rpida (11Mbps) Fcil integrao com redes locais com fio existentes Longo alcance (100 ms ou mais)

Desvantagens Sofre interferncias Conexo lenta com rede local sem fio de alta velocidade (1Mbps x 11Mbps)

IrDA

Faixa de alcance limitada (1 m) Cone estreito de conexo (30 graus) Requer linha direta de viso entre dispositivos comunicantes Topologia um-para-um (apenas um dispositivo se comunica por vez) Alto consumo de energia Sofre interferncias No integra facilmente com outras redes sem fio

HomeRF

Wi-Fi

Requer equipamento de ponto de acesso (pode ter alto custo) Alto consumo de energia Sofre interferncias No suporta servios de voz Difcil configurao e manuteno

Tabela 8. Resumo das principais vantagens e desvantagens das tecnologias discutidas (adaptada de [50]).

6. Descoberta de Recursos
No capitulo 5, foram discutidas tecnologias que suportam a conectividade entre dispositivos. As expectativas de aplicaes no ambiente da computao ubqua foram ilustradas nos cenrios do capitulo 1. Naqueles cenrios, os dispositivos comunicam-se entre si no apenas para a troca/sincronizao de dados mas para a realizao de tarefas mais complexas, como,

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

103

por exemplo, um celular que procura, dentro de um automvel, um dispositivo que possa oferecer um servio de alto-falante, ou ainda, um PDA, que dentro de uma rede interna de um avio, busca pelo servio de uma tela maior para servir de sada para os dados processados no PDA. Estes cenrios no podem ser realizados apenas com a conectividade. Algo mais necessrio que propicie a identificao de servios em uma rede. Este algo a mais a chamada Descoberta de Servio. Alguns grupos tm trabalhado na especificao de padres para a descoberta de servios. Uma dessas especificaes, a especificao de Referncia para Computadores em Redes Moveis - MNCRS (Mobile Network Computer Reference Specification), prope um conjunto de padres para a interao entre aplicaes, servidores e protocolos de rede. Em particular, uma das especificaes deste conjunto a Descoberta de Servio [51]. No mundo dos dispositivos mveis especializados e heterogneos prontos para operar num ambiente ubquo, uma arquitetura para coordenar a interao entre dispositivos necessria. Essas arquiteturas so essencialmente frameworks de coordenao que sugerem certos modos e meios de interao entre dispositivos. Algumas das arquiteturas de descoberta de servio disponveis que merecem destaque incluem: Jini [52], Universal Plug and Play [53] e Salutation [54] todas iniciativas de indstrias. A coordenao da interao entre dispositivos deve oferecer aos dispositivos as seguintes funcionalidades: Habilidade de anunciar sua presena rede Descoberta automtica de dispositivos na vizinhana e tambm daqueles localizados remotamente Habilidade de descrever seus servios e reconhecer os servios (capacidades) dos outros dispositivos Capacidade de se auto-configurar sem a interveno de um administrador Um framework de coordenao pode fazer com que dispositivos tornem-se cientes uns dos outros. Para que isto ocorra, algum padro deve ser seguido pelos dispositivos. Um dos desafios na descoberta de servios manter o equilbrio entre as necessidades de padronizao e a autonomia de dispositivos [55]. Jini leva padronizao para um extremo enquanto UPnP leva autonomia para um outro extremo. Essas tecnologias so descritas a seguir.

6.1 Jini
A tecnologia Jini, da Sun Microsystems, um framework de coordenao evoludo e adaptado de pesquisas acadmicas e implementado especificamente para Java. Jini usa o termo federao para representar a coordenao entre dispositivos. Uma federao uma coleo de dispositivos autnomos os quais podem tornar-se cientes uns dos outros e cooperar se for necessrio. Um subsistema Jini contm servios de consulta que mantm informao dinmica sobre dispositivos disponveis. Esses servios so a chave para o funcionamento adequado do sistema Jini.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

104

Os Servios de Consulta Jini


Os servios de consulta do Jini, que executam numa rede, podem ser descobertos por dispositivos atravs de protocolos bem definidos. Todo dispositivo deve descobrir um ou mais desses servios de consulta antes que possa entrar para uma federao. A localizao desses servios pode ser conhecida de antemo, ou eles podem ser descobertos usando difuso seletiva. possvel formar grupos de servios de consulta e associar nomes a eles, o que permite que um dispositivo procure por um grupo especfico na sua vizinhana. Por exemplo, numa empresa, decises administrativas podem forar que alguns dispositivos de armazenamento pertenam a algum grupo especial, com acesso restrito. Quando um dispositivo localizar um servio de consulta de interesse ele pode agora dizer sobre ele mesmo ao servio (registrar), ou pedir ao servio informaes sobre outros dispositivos da federao. Quando o dispositivo se registra, ele pode associar um conjunto de propriedades que podem ser usadas por consultas de outros dispositivos.

Expondo as Interfaces
Durante o processo de registro possvel para um dispositivo enviar cdigo Java para o servio de consulta. Esse cdigo essencialmente um proxy que pode ser usado para contatar uma interface no dispositivo e invocar mtodos desta interface. Um dispositivo pode ento automaticamente transferir esse proxy para si mesmo e chamar mtodos dentro de outro dispositivo. Isso realizado usando a Invocao de Mtodo Remoto RMI (Remote Method Invocation) que permite a um programa Java chamar um mtodo num programa Java executando remotamente, atravs de alguma interface exposta. O ponto principal aqui que ambos dispositivos devem ter Java embutido para que tudo funcione. Porm, possvel evitar o uso de RMI e usar servios de consulta do Jini simplesmente para extrair informao sobre um dispositivo. Um protocolo proprietrio pode ento ser usado para contatar o dispositivo. Nesse caso o servio de consulta reduzido a um diretrio de servios. Os servios de consulta podem formar grupos e trocar informaes entre si, de forma hierrquica, para resolver uma determinada solicitao de um dispositivo. Esses servios tambm tentam certificar-se que eles possuem um acurado registro do conjunto de dispositivos ativos no momento. Isso feito atravs de um contrato de registro, por um tempo determinado, que os dispositivos devem renovar periodicamente para que os servios de consulta mantenham suas informaes atualizadas. Aps o trmino do tempo determinado, os dispositivos que no atualizaram seus registros tero esses registros automaticamente removidos das bases de dados 6.2 Universal Plug and Play O Plug and Play Universal - UPnP, desenvolvido pela Microsoft, um framework definido num nvel mais baixo que o Jini. Embora seja considerado, em alguns aspectos, uma extenso do Plug and Play, que detecta automaticamente a existncia de dispositivos novos no barramento de PCs, para o ambiente de redes, seu framework de implementao muito diferente do Plug and Play. O UPnP trabalha basicamente com as camadas mais baixas dos protocolos de rede TCP/IP, implementando padres nesse nvel ao invs do nvel de

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

105

aplicao. Isto envolve a adio de protocolos adicionais ao conjunto de protocolos implementados nos dispositivos. Ao contrario do Jini, que focaliza na autonomia, o UPnP focaliza na padronizao de protocolos especficos e a aderncia dos fabricantes a estes novos padres. Com a definio desses protocolos, o UpnP permite que os dispositivos construam suas prprias APIs que implementam esses protocolos, em qualquer linguagem ou plataforma que desejarem. A Descoberta de Servios no UPnP O UPnP usa um protocolo especial, SSDP (Simple Service Discovery Protocol) que habilita dispositivos para anunciarem sua presena rede, bem como descobrir dispositivos disponveis. Ele pode funcionar com ou sem um servio de diretrio. O protocolo de descoberta (SSDP) usa HTTP sobre UDP nos modos de comunicao unicast e multicast. Esses protocolos podem ser referidos como HTTPU (UDP unicast) e HTTPMU (UDP multicast) respectivamente. O processo de registro/solicitao envia e recebe dados no formato HTTP, mas contendo uma semntica especial. Uma mensagem de anncio chamada ANNOUNCE e uma mensagem de requisio chamada OPTIONS esto embutidas em HTML para facilitar esse processo. Um dispositivo entrando na rede pode ento enviar um ANNOUNCE multicast, informando ao mundo sua presena. Um servio de diretrio, se presente, pode armazenar essa informao, ou outros dispositivos talvez vejam a informao diretamente. A mensagem multicast enviada por um canal multicast reservado (endereo) ao qual todos dispositivos devem escutar. A mensagem ANNOUNCE deve tambm conter uma URI que identifica o recurso (por exemplo, dmtf:printer) e uma URL para um arquivo XML que fornece a descrio do dispositivo anunciante. Este arquivo usa uma folha de estilos adaptada para vrios tipos de dispositivos. Uma requisio para a descoberta de dispositivo tambm pode ser multicast (uma mensagem OPTIONS), para a qual os dispositivos podem responder diretamente, ou pode ser direcionada a um servio de diretrio, se presente. Configurao O UpnP tambm resolve o problema da associao automtica de endereos IP e nomes de DNS a um dispositivo sendo conectado a rede. Para isso, mais alguns protocolos so introduzidos. U maneira de associar um endereo IP consultar um servidor DHCP na ma rede. Se no estiver presente, ento o dispositivo pode escolher um IP de uma faixa reservada de endereos IP, conhecida como rede LINKLOCAL (faixa de endereos 169.254.x.x ?). O dispositivo deve usar o protocolo ARP para achar um endereo que no est sendo usado nesta faixa e associar a si mesmo. Isto conhecido como AutoIP. Para conseguir isso, um plano de DNS multicast foi proposto, que permite aos dispositivos conectados: Descobrir servidores DNS via multicast; Resolver consultas de DNS sobre eles prprios via multicast Quando conectado a uma rede que no possua nenhum servidor DNS localmente, um dispositivo pode enviar um pacote multicast e descobrir um servidor DNS remoto e ento

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

106

us-lo para resoluo de nomes na Internet (como resoluo de URLs). O prprio dispositivo pode opcionalmente escutar o canal multicast e responder a consultas para seu prprio nome. Assim que termina o processo de descoberta e a descrio XML de um dispositivo recebida, protocolos proprietrios podem passar a controlar a comunicao entre dispositivos. 6.3 Salutation O framework de coordenao Salutation parece ser um framework mais rigoroso e til, na perspectiva de coordenao, do que Jini ou UPnP. O Salutation posiciona-se entre autonomia de dispositivos e padronizao, o que permite a vrios fabricantes adaptar muitos de seus produtos especificao e interoperarem uns com os outros. Descoberta de Servios no Salutation No Salutation, um dispositivo quase sempre comunica-se diretamente com um gerenciador (Salutation Manager), que pode estar no mesmo dispositivo ou localizado remotamente. Um conjunto de gerenciadores (SLMs) coordenam-se uns com os outros. Eles agem como agentes que fazem tudo em nome de seus clientes. Mesmo a transferncia de dados entre dispositivos, incluindo mdias diferentes e transportes, mediada por eles. Toda tentativa de registrar um dispositivo feita com o SLM local ou mais prximo disponvel. Os SLMs descobrem outros SLMs prximos e trocam informao de registro, que possvel utilizando mdulos de transporte (Transport Managers) que podem usar difuso internamente. Chamada remota a procedimentos (RPC) usada opcionalmente. O conceito de um servio quebrado numa coleo de unidades funcionais, cada unidade representando alguma funo essencial, como Fax, Impresso, Scan. Uma descrio de servio ento uma coleo de descries de unidades funcionais, cada uma possuindo uma coleo de registros de atributos (nome, valor). Esses registros podem ser consultados e comparados durante o processo de descoberta de servio. Certas funes de comparao bem definidas podem ser associadas com uma consulta que procura por um servio. A requisio de descoberta de servio enviada ao SLM local que poder invocar outros SLMs, atravs de chamadas remotas de procedimentos RPC (mais especificamente a RPC ONC da SUN). O Salutation define APIs para que clientes possam invocar aquelas operaes e recuperar os resultados. Comunicao no Salutation Uma das funcionalidades importantes que o Salutation tenta prover a independncia de protocolo de transporte. A comunicao entre clientes e unidades funcionais (servios) pode ser feita de diversas maneiras. No modo nativo, os clientes podem usar protocolos nativos e falar uns com os outros diretamente sem envolver os SLMs na transferncia de dados. No modo emulado, os SLMs gerenciam a sesso e agem como um condute para os dados, entregando-os como mensagens. Isso proporciona algo muito interessante a independncia de protocolo de transporte. No modo salutation, os SLMs no carregam apenas os dados, mas tambm definem os formatos de dado a serem usados na transmisso. Nesse modo, padres bem definidos de interoperao com unidades funcionais so seguidos, permitindo a interoperabilidade genrica. Toda comunicao nos ltimos dois modos mencionados envolve

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

107

APIs e eventos bem definidos. Descries de dados seguem uma notao (codificao) popular chamada ASN.1 (Abstract Syntax Notation One) da OSI. Ao invs de gerenciamento com contratos temporrios, os SLMs podem ser consultados para checar periodicamente a disponibilidade de unidades funcionais e reportar o estado. Isso permite que um cliente ou unidade funcional (servio) torne-se ciente quando qualquer um deles no estiver mais disponvel. O Salutation j possui inmeras unidades funcionais definidas para vrios propsitos como fax e correio eletrnico por voz. O Jini independente de plataforma. O UPnP implica na padronizao que nem todos os fabricantes podem estar dispostos a seguir. O Salutation mostra ser uma soluo mais flexvel devido a sua independncia de protocolo e de linguagem de programao utilizada. Qual dos trs dever dominar o mercado uma questo ainda no respondida pelo mercado. At o momento, no h um lder incontestvel.

7. Adaptao de Aplicaes em Ambientes Ubquos


A adaptao em ambientes de computao ubqua uma questo atual importante de pesquisa. Os ambientes de computao ubqua so caracterizados pela grande diversidade de dispositivos, heterogeneidade de redes e conexo intermitente. As aplicaes tm que se ajustar a mudanas nesses ambientes, de forma transparente para o usurio [4], [56]. Uma aplicao pode sofrer adaptao de dados e/ou de controle. A adaptao de dados implica numa transformao dos dados usados com freqncia pela aplicao para verses que se adaptam aos recursos disponveis, sem a perda da representao, por exemplo, uma textura pode ser transformada para uma outra verso de textura com resoluo menor. J a adaptao de controle implica na modificao do fluxo de controle da aplicao, ou seja, no seu comportamento. Por exemplo, uma aplicao pode, a partir da notificao de aumento de atraso na rede, introduzir um buffer de recepo de dados, em tempo de execuo, para a diminuio da latncia [57]. A adaptao orientada por uma poltica de adaptao. O tipo da aplicao, bem como o tipo dos dados da aplicao, muitas vezes dita a escolha da poltica de adaptao. Um modelo de adaptao deve levar a poltica de adaptao em considerao (quando adaptar, o que adaptar, quanto adaptar, consideraes de custo etc), alm de outras questes, tais como: deteco de conflito de interesses e como resolve-los, grau de interveno do usurio na poltica de adaptao etc. [58]. 7.1 Estratgias de adaptao As estratgias de adaptao podem ser classificadas de trs maneiras [59]: 1. Transparente para a aplicao o sistema toma para si a responsabilidade integral da adaptao, ficando entre a aplicao e o dado. Esta abordagem prov compatibilidade retroativa com as aplicaes existentes e no necessita de modificao na aplicao. Entretanto, as polticas de adaptao, neste caso, so dependentes do tipo dos dados e tambm do tipo da aplicao. Assim, para cada

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

108

tipo de aplicao uma nova poltica deve ser estabelecida, no sendo possvel o uso de polticas genricas. 2. Laissez-faire - independente do sistema, somente a aplicao alterada. Nesta estratgia no h um gerenciador central de adaptao, somente a aplicao alterada - o sistema no est ciente de adaptao. Isto torna mais difcil a escrita do cdigo das aplicaes, porem, a adaptao feita sob medida resultando num melhor resultado final e permitindo ao usurio entrar com parmetros. 3. Ciente da aplicao promove uma sociedade entre a aplicao e o sistema para prover a adaptao. Esta estratgia envolve muitas vezes a existncia de uma camada entre a aplicao e o sistema operacional, que responsvel pelo monitoramento e controle de recursos, bem como as decises sobre a aplicao de polticas de adaptao. As estratgias de adaptaes Laissez-faire e ciente de aplicao permitem a adaptao tanto do controle quanto dos dados. J a adaptao transparente para a aplicao limitada apenas a dados. 7.2 Parmetros de adaptao normalmente considerados A adaptao de aplicaes normalmente se baseia no monitoramento dos recursos de rede, de hardware e de software, e na conseqente modificao de tipos de dados, tais como vdeo, imagens, udio, texto [60]. Os recursos de rede que podem sofrer flutuao incluem: largura de banda, latncia e taxa de erro na rede. J os recursos de hardware dos dispositivos que podem variar incluem: tamanho e resoluo da tela, quantidade de cores, memria, poder de processamento, carga da bateria etc. Os recursos de software que variam se restringem s capacidades do sistema operacional ou da aplicao para suportar um determinado tipo de dado (por exemplo, Post script ou extenses HTML no padronizadas) ou extenses de protocolo, como o IP multicast. Modificaes no udio, por exemplo, incluem alteraes do nmero de canais (Surround, estreo ou mono), reduo da freqncia de amostragem do sinal sonoro e algoritmos de compresso. Em situaes mais estritas, como no caso de mensagens de voz, um sintetizador utilizado para converter udio em texto. Vrias aes de adaptao podem ser aplicadas aos tipos de dados multimdia: a compresso pode ser usada tanto em quadros de vdeo quanto em quadros de imagens, resultando ou no em perda da informao. A reduo da dimenso ou da resoluo do vdeo ou da imagem pode ser feita durante o processo de compresso ou aplicada separadamente. Filtros podem ser aplicados a vdeos para descartar quadros semelhantes. Quanto aos textos, formataes e aliasing de fontes podem ser retirados para uma representao mais dinmica na tela. Fontes muito complexas podem ser descartadas em prol do uso de outras mais simples. Em ambientes virtuais tridimensionais, os recursos monitorados so os mesmos, entretanto os parmetros sujeitos a alteraes so outros. A adaptao da aplicao normalmente est relacionada ao monitoramento dos recursos do sistema, da rede e das polticas do usurio e eventual adaptao da aplicao ao estado atual desses recursos. A adaptao de aplicaes 3D normalmente envolve parmetros do tipo: quantidade de quadros exibidos por segundo, qualidade da imagem, que afetada por vrias outros parmetros, dentre eles, o nmero de polgonos exibidos num determinado momento, a quantidade de

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

109

fontes de luz e a qualidade de texturas (resoluo, quantidade de cores). Estes ltimos parmetros dificilmente so monitorados em tempo real, pois o nus disso muito alto. Em vez disso, a adaptao da aplicao tratada localmente, normalmente pelos motores de sintetizao da cena, tendo como base as capacidades mximas do terminal. J a adaptao de controle em ambientes virtuais tridimensionais, em tempo-real, raramente discutida na literatura e assunto de pesquisa [61]. A adaptao da aplicao (apresentao, dados e controle) uma rea bastante ativa de pesquisa dentro da computao ubqua.

8. Sincronizao
Para entender as questes relacionadas a sincronizao, cinco situaes so descritas a seguir [5] [20]: 1. Situao 1. Com a multiplicidade de dispositivos que podem ser usados pelos usurios e que oferecem um mesmo servio, tal como agenda de nomes, dados gerados em um dispositivo devem ser replicados nos outros dispositivos daquele usurio, caso contrario, se o usurio quiser acessar a sua agenda atravs de um dispositivo diferente, ver uma verso diferente dos dados. Por exemplo, um usurio que adiciona um endereo em sua agenda no celular, poder querer acessar a agenda a partir do PDA em um outro momento. Se a informao nova que estava no celular no foi replicada para a agenda do PDA, o usurio vai se frustrar pois no ter acesso aos ltimos dados gerados. 2. Situao 2. Um usurio em movimento, por exemplo, dentro de um carro, pode estar acessando uma aplicao, cujos dados esto armazenados em um servidor remoto. Num determinado momento, a conexo pode ser interrompida, seja por falta de cobertura da rede sem fio, ou para economizar nos custos de conexo, o usurio deve ser capaz de continuar o trabalho localmente, por exemplo, gerando novos dados ou modificando dados que foram carregados previamente na memria local do dispositivo. Quando a conexo do dispositivo com o servidor for restabelecida, os dados alterados no dispositivo local devem ser replicados para o servidor, pois estes dados podero ser acessados via outros dispositivos. 3. Situao 3. Ocorre devido as diferenas de software ou hardware dos diferentes dispositivos. Considere o seguinte exemplo [5]: um celular, com menos memria e sistema operacional diferente do PC, tem o potencial de armazenar uma forma reduzida do nome e numero de telefone de uma pessoa. Mais ainda, pode armazenar no mximo 300 registros, onde cada registro identificado por um ID de um byte. Por outro lado, no PC, cada registro pode ser identificado por um ID de 16 bytes ou mais. Se os registros tiverem que ser atualizados nos dois equipamentos, como fazer a correspondncia entre os identificadores? 4. Situao 4. Quando registros so alterados (bem como adicionados ou excludos) na base de dados do servidor ou do dispositivo, as alteraes efetuadas devem ser registradas, bem como o tempo em que foram realizadas (possivelmente atravs de estampilhas de tempo), para que o sincronizador possa saber quando os dados foram

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

110

alterados pela ultima vez e assim solicitar a lista dos registros alterados desde a ultima sincronizao bem sucedida. Desta forma, as alteraes podero ser reproduzidas de forma integra nas replicas dos dados em outros dispositivos ou servidores. 5. Situao 5. Quando duas replicas exatas de dados, armazenadas em dois locais diferentes, forem acessadas e modificadas por dois usurios diferentes, ao mesmo tempo, como atualizar esses dados? O objetivo (e tambm desafio) da sincronizao manter dois (ou mais) conjuntos de dados idnticos mesmo quando alteraes so feitas em ambos os conjuntos, ao mesmo tempo. No se pretende discutir aqui todas as solues possveis de sincronizao para as situaes descritas acima, mas sim ilustrar a complexidade desta questo, at porque os casos descritos representam apenas algumas situaes que envolvem sincronizao, e certamente no abarcam todas as situaes possveis, e apresentar algumas solues, e produtos, descritos na literatura. A sincronizao tratada, atravs de protocolos de sincronizao. Estes protocolos consistem, tipicamente, das seguintes fases [20] 1. Fase de pr -sincronizao Nesta fase so realizadas: a autenticao do servidor e do dispositivo, que assegura que o servidor quem ele diz que e o dispositivo idem; a autorizao que verifica se o dispositivo est autorizado a executar a alterao solicitada; e a determinao das capabilidades do dispositivo para que o servidor possa otimizar o fluxo de dados a ser enviado para o dispositivo. 2. Fase de sincronizao Nesta fase os dados de sincronizao so trocados entre dois parceiros de sincronizao. Cada parceiro tem uma tabela de mapeamento de IDs locais para IDs globais. Todos os IDs locais das entradas de dados so mapeados em IDs globais e, na sincronizao, apenas as entradas novas, alteradas ou excludas so trocadas entre os dois parceiros. Haver conflito quando ambos atualizaram a mesma entrada. Este conflito pode ser resolvido de varias maneiras: tentativa de fuso das entradas, duplicao das entradas, prevalecimento de uma entrada sobre a outra, notificao do usurio parta que ele decida o que fazer. 3. Fase de pos-sincronizao Nesta fase, tarefas como a atualizao de tabelas de mapeamento, reportagem de conflitos no resolvidos etc., so realizadas. Algumas das solues para tratar a sincronizao incluem: o Protocolo de sincronizao SyncML[62], IrMC, Mobile Application Link [63]. Produtos existentes incluem: AvantGo [64], DB2 [65], etc.

9. Desafios da Computao Ub qua


H vrios desafios a serem superados na computao ubqua nos nveis tecnolgico, social e organizacional. No nvel social, pesquisadores afirmam que a computao ubqua trar problemas de segurana e privacidade e mudar a forma como os trabalhadores e empresas

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

111

interagem entre si, o que gera novas preocupaes, por exemplo, como o empregador supervisiona os empregados, j que computadores estaro por toda parte conectados uns aos outros por redes. Igualmente desafiador entender como os avanos tecnolgicos podem ajudar ou prejudicar o ser humano e o bem-estar social. Por exemplo, a agregao de dados capturados por sensores pode resultar numa maior comunicao social; mas isso tambm pode permitir a organizaes discernir mais e mais sobre os padres de atividades e preferncias pessoais das pessoas, e dessa forma levar a invaso de privacidade e por em risco o nvel de confiana nas relaes sociais. Um resumo dos principais desafios da computao ubqua no nvel tecnolgico dado a seguir: Novas Arquiteturas - Projeto e a implementao de arquiteturas computacionais que possibilitem a configurao dinmica de servios ubquos em larga escala; Tratamento de Contexto - um dos grandes desafios no tratamento do contexto a coleta dos dados de diversos sensores e o processamento desses dados em informaes de contexto e a disseminao dessas informaes para centenas de aplicaes executadas em diversos dispositivos. Integrao da mobilidade em larga escala com a funcionalidade da computao pervasiva Integrao das redes sem fio de forma transparente para o usurio Segurana nas redes sem fio e nos sistemas ubquos Tratamento da multiplicidade de dispositivos Melhor utilizao dos recursos dos dispositivos pessoais - armazenar e gerenciar informaes a partir do dispositivo Realizao da tarefa apropriada no dispositivo apropriado - aplicaes em diferentes dispositivos que exploram as caractersticas nicas de cada um deles

Criao de metodologias de desenvolvimento de aplicaes em que a aplicao se move juntamente com o usurio Etc.

Referncias
1. Weiser, M. (1991), The Computer for the 21st Century, Scientific American, vol.265, no.3,Setembro., pp.94-104. 2. Banavar, G. E Bernstein, A. (2002) Software Infrastructure and Design Challenges for Ubiquitous Computing Applications. Communications of the ACM, vol.45, no.12, Dezembro., pp.92-96. 3. Eisenstein, J., Vanderdonckt, J. e Puerta, A. (2000) Adapting to Mobile Contexts with User-Interface Modelling. IEEE Computer.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

112

4. Lyytinen, K. e Yoo, Y. (2002) Issues and Challenges in Ubiquitous Computing, Communications of the ACM, vol.45, no. 12, Dezembro. 5. Hansmann, U., Merk, L., Nicklous, M.S., Stober, T. (2001) Pervasive Computing Handbook, Ed. Springer. 409 pags. 6. Schilit, B. N., Adams, N., Gold, R., Tso, M., and Want, R.(1993) The ParcTab mobilecomputing system. Proceedings of the Workshop onWorkstation Operating Systems, p.3439. 7. Abowd, G.D.(1999) Classroom 2000: An experiment with the instrumentation of a living educational environment. IBM Systems Journal, v. 38, Outubro. 8. Mukhopadhyay, S., Smith, B. (1999) Passive Capture and Structuring of Lectures. Proceedings of ACM Multimedia. 9. Hrst, W., Mller, R. (1999) A Synchronization Model for Recorded Presentations and its Relevance for Information Retrieval. Proceedings of ACM Multimedia. 10.Brotherton, J.A., Abowd, G.D., Truong, K.N. (1998) Supporting Capture and Access Interfaces for Informal and Opportunistic Meetings. Georgia Institute of Technology Technical Report: GIT-GVU-99-06, Atlanta, GA. 11.Richter, H., at el. (2001) Integrating Metting Capture within a Collaborative Team Environment. Proceedings of the International Conference on Ubiquitous Computing (UbiComp-2001), Atlanta, GA. 12.Johanson, B., Fox, A., Winograd, T. (2002) The Interactive Workspaces Project: Experiences with Ubiquitous Computing Rooms. Pervasive Computing Magazine Special Issue on Systems. 13.Burrell, J., Gay, G. K., Kubo, K., Farina, N.(2002) Context-aware computing: A test case. Proceedings of the International Conference on Ubiquitous Computing, p.1 15. 14.Fleck, M., Frid, M., Kindberg, T., OBrien-Strain, E., Rajani, R., Spasojevic, M. (2002) From informing to remembering: Ubiquitous systems in interactive museums. IEEE Pervasive Computing, p.1321. 15.Kindberg, T., Barton, J. [2001] A Web-based Nomadic Computing System. Computer Networks: The International Journal of Computer and Telecommunications Networking, v.35, n 4, p. 443456, Maro. 16.AIM (2003). Radio Frequency Identification (RFID) home page. Disponvel em http://www.aimglobal.org/technologies/rfid/. The Association for Automatic Identification and Data Capture Technologies. 17.Brumitt, B., Meyers, B., Krumm, J., Kern, A., Shafer, S. A. (2000) Easyliving: Technologies for Intelligent Environments. Proceedings of the Handheld and Ubiquitous Computing Second International Symposium (HUC2000), p.12-29.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

113

18.Mozer, M. C. (1998) The Neural Network House: An Environment that Adapts to its Inhabitants. In American Association for Artifcial Intelligence Spring Symposium on Intelligent Environments, p.110-114. 19.Herrtwich, R. G. (2002) Ubiquitous Computing in the Automotive Domain. Proceedings of the Pervasive Computing First International Conference, p. 15, Agosto 20.Burkhard, T J., Henn, H., Hepper, S., Rindtorff, K., Schack, T. (2002) Pervasive Computing: Technology and Architecture of Mobile Internet Applications. Ed. AddisonWesley. 410 pags. 21.International Organization for Standards (1999). Em www.iso.ch. Consultado em 30 de Maro de 2003. 22.PC/SC Workgroup (1999) PC/SC Specification 1.0. Em www.pcscworkgroup.com 23.OCF Open Card Framework. Em www.opencard.org 24.Sistema de Entrada T9. Em www.t9.com/demo_page2.html 25.Sistema de entrada Octave da e- acute.Em www.e- acute.fr 26.Como aplicar a tecnologia Java para dispositivos pequenos: www.javaworld.com. 27.Documentos sobre Java: http://java.sun.com/infodocs 28.Tutoriais sobre Java: http://java.sun.com/docs/books/tutorial 29.Sobre o J2ME em. http://www.java.sun.com/products/j2me 30.Ferramentas para programao de dispositivos: http://www.chicagowireless.org/ tools.html 31.Forum Java Card: www.javacardforum.org 32.MVC em: http://java.sun.com/blueprints/guidelines/designing_enterprise_applica tions_2e/app- arch/app- arch2.html 33.Tanenbaum, A. S. (2001) Modern Operating Systems. Second Edition. Prentice Hall, 951 pags. 34.Salber, D., Dey, A.K., Abowd, G.D. (1999) The Context Toolkit: Aiding the Development of Context-Enabled Applications. CHI99, ACM Press, p.434-441, Pittsburgh, PA, Maio. 35.Romn, M., Hess, C., Cerqueira, R., Ranganathan, A., C ampbell, R.H., Nrstedt K. (2002) A middleware infrastructure for Active Spaces. IEEE Pervasive Computer, v.1, n.4, p. 74-83, Outubro-Dezembro. 36.Hess, C.K., Roman, M., Campbell, R.H., (2002) Building Applications for Ubiquitous Computing Environments. Proceedings of the Pervasive Computing First International Conference, p. 16-29, Agosto. 37.Johanson, B., Fox, A., Winograd, T. (2002) The Interactive Workspaces Project: Experiences with Ubiquitous Computing Rooms. Pervasive Computing Magazine Special Issue on Systems.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

114

38.Ponnekanti, S., Johanson, B. (2003) Portability, Extensibility and Robustness in iROS. Proceedings of the IEEE International Conference on Pervasive Computing and Communications. Dallas-Fort Worth, Texas, Maro. 39.Garlan, D. Et al.(2002) Project Aura: Toward Distraction-Free Pervasive Computing. IEEE Pervasive Computing, p.22-31, Abril-Junho. 40.Freire, L. (2002) Um Ambiente Integrado de Ensino e Avaliao de Segurana em Sistemas da Web, Tese de Mestrado defendida em Agosto de 2002 no PPG-CC do DC UFSCar. 41.Waldman, H. e Yacoub, M. D.(1997) "Telecomunicaes - Princpios e Tendncias", Serie Universidade, Editora Erica, 287 pgs. 42.Christensen, G., Florack, P. G. e Duncan, R. (2001) "Wireless Intelligente Networking". Mobile Communications Series, Artech House, 418 pags. 43.Harte, L., Levine, R. e Kikta, R.(2002) "3G Wireless Demystified". McGraw-Hill, 496 pags. 44.Dornan, A. (2001) "Wireless Communication: o guia essencial de comunicao sem fio". Editora Campus, Rio de Janeiro. 45.GSM World (2002) "The Wireless Revolution" em http://www.gsmworld.com. Consultado em 20/12/ 2002. 46.Massaud, E. M.(2000) "Estudo de tcnicas de alocao dinmica de recursos e sincronismo para servios de multimdia num sistema mvel celular CDMA de banda larga". Dissertao de Mestrado. Departamento de Engenharia de Telecomunicaes e Controle. Escola Politcnica, USP, So Paulo. 47.UMTS (2001) "Universal Mobile Telecommunications System (UMTS)". Web Proforum Tutorials.Em http://www.iec.org 48.Underhill, W. E Dickey, C. (2001) "Lost in a mobile maze". Newsweek. pp. 17. May. 49.Foroohar, R. (2001) "The Other Bubble". Newsweek. pp.13-16. May. 50.Miller, M. (2001) "Descobrindo o Bluetooth", Editora Campus, 289 pags. 51.MNCSDS (1999) "Mobile Network Computer Service Discovery Specification, version 1.1", Maro. Em ttp://www.oadg.or.jp/activity/mncrs/servdisc/spec/ serv_disc.html. 52.Jini. Em http://www.jini.org/ 53.UPnP. Em http://www.upnp.org/ 54.Salutation. Em http://www.salutation.org/ 55.Rekesh, J. (1999), UPnP, Jini and Salutation - A look at some popular coordination frameworks for future networked devices. Publication from California Software Labs. 56.Raatikainen, K. (2002) Middleware for Mobile Applications Beyond 3G, Nokia Research Center and University of Helsinki. Disponvel em: www.cs.helsinki.fi/u /kraatika/Papers/MobileMiddleware.pdf.

XXI Simpsio Brasileiro de Redes de Computadores


NDICE

115

57.Lara, E., Wallach D. S. and Zwaenepoel, W. (2001) "Puppeteer: Component-based Adaptation for Mobile Computing," Proceedings of the 3rd USENIX Symposium on Internet Technologies and Systems, San Francisco, California, in http://www.cs.rice.edu/~delara/papers. 58.Rao, D. (2001) Efficient and Portable Middleware for application-level Adaptation, Master of Science thesis, Department of Computer Science and Applications Virginia Tech, Blacksburg, Virginia. 59.Noble, B. (1998) Mobile Data Access, doctoral thesis, School of Computer Science, Carnegie Mellon university, May, CMU-CS-98-118. 60.Fox, S., Gribble, E., Brewer, A. and Elan, A. (1997) Adapting to Network and Client Variability via On-Demand Dynamic Distillation University of California at Berkeley, July. 61.Silva, A. R..; Laffranchi, M., Araujo, R. B.(2003). "A Adaptao de Jogos 3D Multiusurio a Ambientes Ubquos", submetido ao Semish2003. 62.SyncML. Em www.syncml.org. 63.MAL - Mobile Application Link. Em www.mobilelink.org. 64.AvantGo. Em www.avantgo.com/frontdoor/index.html 65.DB2 - IBM DB2 Everywhere. Em www.ibm.com/software/data/db2/everyplace 66.Weatherall, J. and Jones, A. (2002) Ubiquitous Networks and their Applications. IEEE Wireless Communications, Fevereiro. 67.X10 Technology. Em: www.extremetech. com/article2/0,3973,133763,00.asp