Computação Ubíqua: definição, princípios e tecnologias

Tamanho: px
Começar a partir da página:

Download "Computação Ubíqua: definição, princípios e tecnologias"

Transcrição

1 Ubíqua: definição, princípios e tecnologias Carlos Eduardo Cirilo Departamento de Universidade Federal de São Carlos Rodovia Washington Luis, km 235 CEP São Carlos, SP, Brasil RESUMO A computação ubíqua abrange um modelo de computação no qual usuários móveis, serviços e recursos são capazes de descobrir outros usuários, serviços e recursos. A idéia básica é que a computação mova-se para fora das estações de trabalho e computadores pessoais e torne-se pervasiva em nossa vida cotidiana. Uma série de princípios e tecnologias que estão por trás desse paradigma computacional devem ser mantidos em mente para o desenvolvimento de aplicações e dispositivos ubíquos. Palavras-chave ubíqua, mobilidade, tecnologia embarcada, redes sem fio, tecnologias de desenvolvimento, IHC, descoberta de serviços. 1. INTRODUÇÃO Nos dias atuais, com a convergência das tecnologias de rádio, dos microprocessadores e dos dispositivos eletrônicos digitais de uso pessoal, tornou-se possível fazer com que os dispositivos com certo poder de processamento computacional, tanto móveis quanto estacionários, cooperem entre si para fornecer ao usuário acesso instantâneo a novos serviços de forma transparente. Essa característica levou ao surgimento do conceito de ubiqüidade na computação [1]. A computação ubíqua abrange um modelo de computação no qual usuários móveis, serviços e recursos são capazes de descobrir outros usuários, serviços e recursos. Nesse paradigma computacional, as responsabilidades pela execução de determinado serviço necessário para o usuário são distribuídas entre uma variedade de dispositivos, cada qual com suas tarefas e funcionalidades específicas. Este artigo apresenta os principais conceitos que giram em torno da computação ubíqua, apresentando sua definição, princípios e tecnologias envolvidos. 2. COMPUTAÇÃO UBÍQUA 2.1. Mobilidade e Tecnologia Embarcada Por ser uma área de pesquisa emergente, algumas pessoas utilizam os termos computação pervasiva 1, computação ubíqua, computação nomádica, computação móvel e tantos outros como sinônimos. Contudo, existem diferenças conceituais entre eles, conforme elucidado abaixo [2]. A computação móvel consiste em sistemas computacionais distribuídos em diferentes dispositivos que comunicam-se entre si através de uma rede de comunicação sem fio, o que permite a mobilidade desses aparelhos [3]. O usuário, então, é capaz de 1 O termo pervasivo não existe no vocabulário da língua portuguesa. Entretanto, como tem sido amplamente adotado com termo emergente na literatura da área em português, pervasivo será usado neste texto como a tradução do inglês pervasive, cuja definição é apresentada no decorrer deste trabalho. utilizar os serviços que um computador oferece independente de sua localização física. Assim, tem-se um aumento da capacidade de mover fisicamente serviços computacionais juntamente com o usuário em movimento, transformando a computação numa atividade que pode ser carregada para qualquer lugar. No entanto, existem certas limitações nessa abordagem. A principal limitação da computação móvel é que o dispositivo não possui a capacidade de obter de forma flexível informações sobre o contexto em que a computação ocorre e adaptá-la adequadamente. Logo, os usuários têm de alterar manualmente as configurações da aplicação à medida que se movem, o que pode ser uma característica não desejável para boa parte os usuários [1]. Já o conceito de computação pervasiva implica que o computador está embarcado ao ambiente de forma invisível para o usuário, tendo a capacidade de obter informações acerca do ambiente circundante e utilizá-la para controlar, configurar e ajustar a aplicação para melhor se adequar às características do ambiente. O ambiente também pode e deve ser capaz de detectar outros dispositivos que adentrem a ele. Dessa interação surge a capacidade de computadores agirem de forma inteligente no ambiente em que o usuário se locomove, sendo esse ambiente saturado por sensores e serviços computacionais [1]. A computação pervasiva postula quatro paradigmas fundamentais [4]: Descentralização: durante a era mainframe, computadores superpoderosos forneciam suas capacidade de processamento para terminais burros. Com o advento dos computadores pessoais (PCs), a arquitetura clienteservidor foi introduzida, deslocando o poder computacional do servidor para as estações de trabalho clientes. A computação pervasiva deu um passo ainda maior, distribuindo responsabilidades entre uma variedade de dispositivos, cada qual com suas tarefas e funcionalidades específicas. Cada uma dessas entidades autônomas contribuem para um ambiente computacional heterogêneo, cooperando-se entre si como uma comunidade mútua e estabelecendo redes dinâmicas de relacionamento. Uma nova tarefa que emerge a partir dessa descentralização é a sincronização das atualizações de informação entre os variados dispositivos. As bases de dados presentes nos dispositivos com diferentes capacidades e recursos limitados devem se manter consistentes. Diversificação: na computação pervasiva existe um clara tendência em adotar dispositivos que melhor se adéquam aos requisitos de um determinado grupo de usuários para desempenhar uma tarefa específica, ao invés de computador de propósito geral. Um dos maiores desafios que surgem daí é como gerenciar as mais díspares capacidades desses mais variados dispositivos. Cada um fornece uma plataforma com suas próprias características, o que faz com que se torne difícil prover aplicações homogêneas entre eles.

2 Conectividade: múltiplos dispositivos estão de certa forma ligados uns aos outros. Não há limites: eles trocam informações entre si através de infravermelho, podem ser conectados com plugs, comunicam-se via rede sem fio, etc. s podem ser trocados entre dispositivos heterogêneos. Documentos podem viajar através de redes e ser acessíveis de qualquer lugar. Celulares GSM se beneficiam dos acordos de roaming 2 internacionais, o que permite que se conectem em redes de comunicação diferentes de suas redes nativas. Um handheld pode se comunicar com um telefone celular através de infravermelho para sincronizar dados. Alternativamente, o mesmo handheld pode se conectar através da porta serial a uma Local Area Network (LAN). Num primeiro momento, isso pode parecer contrário à diversificação descrita anteriormente. Questões de especificidade de plataforma são os maiores obstáculos para aplicações e intercâmbio de informações: a capacidade de armazenamento entre os dispositivos são diferentes; processadores distintos impõem diferentes restrições de desempenho e uso de memória; sistemas operacionais são numerosos e freqüentemente são executados em um dispositivo em particular; o tamanho e a forma dos dispositivos requerem diferentes plugs, e assim por diante. Uma abordagem para alcançar a conectividade e interoperabilidade é a adoção de padrões. Isso resulta em uma importante tarefa para a indústria de Tecnologia da Informação (TI): padrões abertos devem ser estabelecidos e preparados para enfrentar as demandas dos mais diversos dispositivos. Padrões de comunicação, linguagens de marcação e software independente de plataforma devem ser integrados para formar a base da interoperabilidade. Novos padrões como WAP, UMTS, Bluetooth ou IrDA foram criados por amplas iniciativas da indústria, os quais definem os protocolos de comunicação necessários, bem como as conexões físicas subjacentes. Simplicidade: como mencionado anteriormente, os dispositivos pervasivos são ferramentas bastante especializada que não são elaborados para uso específico. De um ponto de vista de usabilidade, eles devem desempenhar bem as tarefas para as quais foram designados. Isso delineia o quarto paradigma da computação ubíqua: atingir a simplicidade no uso. As palavras-chave aqui são: disponibilidade, conveniência e facilidade de uso. Acesso à informação e gerenciamento devem ser desempenhados sem gastar tempo significativo para aprender como usar a tecnologia. Qualquer computador de qualquer forma deve ser uma ferramenta simples e facilmente acessível na vida diária, assim como um telefone é hoje. A computação ubíqua, por sua vez, integra mobilidade em larga escala com a funcionalidade da computação pervasiva, isto é, qualquer dispositivo computacional, sob posse de um usuário em movimento, pode construir, dinamicamente, modelos computacionais do ambiente em que está inserido e configurar seus serviços dependendo da necessidade (Figura 1). A idéia básica é que a computação move-se para fora das estações de trabalho e PCs e torna-se pervasiva no cotidiano dos indivíduos. Marc Weiser, idealizador da computação ubíqua, 2 Termo originado no padrão GSM que designa a habilidade de um usuário de uma rede em obter conectividade em áreas fora da localidade geográfica onde está registrado, ou seja, obtendo conectividade através de uma outra rede onde é visitante. A rede que está sendo visitada pode ou não pertencer à mesma operadora de telefonia celular. visionou há um pouco mais de uma década que, no futuro, computadores estariam presentes nos mais comuns objetos do dia-a-dia: etiquetas de roupas, xícaras de café, interruptores de luz, canetas, etc, de forma invisível para o usuário. Neste mundo de Weiser, é necessário aprender a conviver com computadores, e não somente interagir com eles [5]. Pervasiva Ubíqua Móvel Figura 1 - Relação entre computação pervasiva, ubíqua e móvel [1] A Tabela 1 apresenta as dimensões das computações pervasiva, móvel e ubíqua. O grau de embarcamento refere-se, de forma geral, o grau de inteligência dos computadores, embutidos em um ambiente pervasivo, para detectar, explorar e construir dinamicamente modelos computacionais de seus ambientes: Tabela 1- Dimensões da Ubíqua [2] Pervasiva Móvel Ubíqua Mobilidade Baixa Alta Alta Grau de embarcamento Alto Baixo Alta Mas, quem seria responsável pela adaptação do modelo computacional de acordo com o ambiente: a aplicação, o dispositivo, ou ambos? Existem duas abordagens opostas para projetar sistemas adaptativos: application-transparent (o dispositivo é inteiramente responsável pela adaptação) e laissezfaire (o dispositivo não provê nenhum suporte para adapatação) [6]. Obviamente, a segunda abordagem não é desejável. No entanto, a primeira abordagem também não é o suficiente para prover adaptação adequada. Para tornar claro, considere o seguinte caso de duas aplicações multimídia distintas: em uma o usuário está assistindo a uma conferência usando um dispositivo móvel, e na outra o usuário está assistindo a um vídeo ao vivo recebido de um servidor remoto também em seu dispositivo móvel. Agora considere os seguintes cenários: no primeiro, o usuário se move de uma área com largura de banda suficiente para sua aplicação para outra área onde a largura de banda disponível é insuficiente para a aplicação. No segundo cenário, a bateria do dispositivo do usuário esgota-se rapidamente. Ambos cenários lidam com mudanças na disponibilidade de recursos. Na abordagem application-tranparent, o dispositivo poderia se comportar da mesma maneira, seja qual for a aplicação que estiver sendo executada. Entretanto, diferentes reações podem ser desejáveis de acordo com o tipo de aplicação executada. Por exemplo, no primeiro cenário, um dispositivo não adaptativo poderia não fazer nada e deixar a qualidade de áudio e vídeo prejudicada. No segundo cenário, o dispositivo apenas daria um alerta de bateria fraca para o usuário sem qualquer assistência de como contornar a situação. Por outro lado, com um dispositivo adaptativo, vários comportamentos podem ser esperados, cada qual sendo desempenhado da melhor forma de acordo com a situação. Por exemplo, no primeiro cenário, o dispositivo poderia tentar se adaptar requisitando que o servidor diminua a qualidade de vídeo em decorrência da menor largura de banda. No segundo cenário, o dispositivo pode tentar conservar a bateria reduzindo o brilho da tela (além de alertar o

3 usuário quanto ao baixo nível de energia). Diante disso, em uma abordagem ainda mais adaptativa, é possível que o dispositivo interaja com a aplicação para que esta decida como se adaptar. Logo, numa abordagem application-aware, a aplicação colabora com o sistema de software subjacente, o qual lhe fornece informações de status sobre os recursos disponíveis. A aplicação utiliza essas informações para tomar decisões de como se adaptar às mudanças na disponibilidade dos recursos. Cada aplicação pode se adaptar de sua própria maneira. A Figura 2 ilustra o espectro das estratégias de adaptação disponíveis. Laissez-faire (nenhum suporte do dispositivo) Application-aware (colaboração entre dispositivo e a aplicação) Figura 2 Espectro das estratégias de adaptação [6] Application-transparent (dispositivo inteiramente responsável) 2.2. Tecnologias de Rede Sem Fio A conectividade é um dos aspectos chave dentro da computação ubíqua. Uma rede de comunicação sem fio é necessária para permitir mobilidade aos dispositivos comunicantes em um ambiente de computação ubíqua [3]. O conceito da comunicação de qualquer lugar e a qualquer momento é o conceito das redes que oferecem serviços de comunicação pessoal, como voz e dados. Os serviços de Comunicação Pessoal (PCS) referem-se a sistemas celulares que operam em bandas de alta freqüência. Entretanto, os serviços a serem oferecidos na computação ubíqua vão além dos serviços de comunicação pessoal. Outras tecnologias sem fio de média e curta distância surgiram para prover a interação entre dispositivos, de forma transparente para o usuário. Esta interação vai desde a conexão sem fio de um PC a seus periféricos, eliminando assim o cabeamento excessivo, até a conexão e comunicação entre dispositivos nos mais diversos ambientes (residência, escritório, chão de fábrica, sala de aula, lojas e shoppings, hotéis, aeroportos, automóvel, etc) para a realização das mais diversas tarefas. Tecnologias de comunicação sem fio de curta e média distância, tais como o Bluetooth, Wi-Fi e HomeRF, juntamente com as redes de longa distância, compõem uma estrutura básica de suporte aos sistemas de computação ubíqua [1]. Essas tecnologias são descritas sucintamente a seguir Redes Sem Fio de Longa Distância WiMAX WiMAX (Worldwide Interoperability for Microwave Access) é uma tecnologia de acesso de banda larga sem fio de longa distância, baseado no padrão IEEE , tipicamente oferecendo 10 Mbps em até 10 Km, embora velocidades de até 70 Mbps são alcançáveis sobre 10 Km [7]. WiMAX suporta Qualidade de Serviços (QoS) total, largura de banda sob demanda e é orientado a conexão. Além disso, suporta controle centralizado e oferece suporte multimídia [8]. Sistemas Celulares A tecnologia de rádio celular digital é a mais interessante tecnologia para conectividade de longa distância para dispositivos ubíquos [4]. Um único sistema celular interconecta várias pequenas áreas de cobertura de rádio, denominadas células. A idéia básica do sistema celular é o reuso da freqüência, que permite que um mesmo conjunto de canais possa ser reutilizado em áreas geográficas diferentes, distantes o suficiente umas das outras de forma que interferências estejam dentro de limites toleráveis [9]. Com a evolução da tecnologia de rádio, novas gerações de sistemas celulares têm surgido e oferecido serviços multimídia mais sofisticados de comunicação pessoal. Hoje, por exemplo, os celulares de terceira geração representam a convergência das seguintes tecnologias: Internet (navegação web, , informações, m-commerce), telefonia (voz, vídeo, fax etc) e mídia de difusão (TV, rádio, entretenimento e informação, serviços de localização) para o suporte a seis grande classes de serviços: voz, mensagens, comutação de dados, multimídia, multimídia de alto padrão e multimídia interativa de alto nível [1]. Existem quatro grandes tipos de sistemas celulares [10]: PDC/JDC Personal Digital Cellular ou Japanese Digital Cellular. (Amplamente implantado no Japão); TDMA (D-AMPS/IS-54/IS-136) - Implantado nos EUA e América do Sul; CDMA (IS-95) amplamente implantado nos EUA; GSM Global System for Mobile Communication. Padrão desenvolvido na Europa e implantado amplamente no mundo todo. Uma comparação entre as gerações de sistemas celulares está resumida Tabela 2: Tabela 2 Comparação entre as gerações de celulares [11] Redes Sem Fio de Curta e Média Distância O objetivo maior das redes de longa distância vistas acima é o provimento de serviços de comunicação pessoal que permitam ao usuário acessar, de forma única, serviços sofisticados de qualquer lugar do mundo e a qualquer momento. Estes serviços atendem parte dos requisitos de comunicação da computação ubíqua. Um outro requisito é a provisão da comunicação 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 [1]. DECT O DECT (Digital Enhanced Cordless Telecommunications) foi projetado pela ETSI para ser usado como um padrão de conexão sem fio para telefones e outros equipamentos de escritório. Nos Estados Unidos, o DECT algumas vezes é conhecido como Personal Wireless Telecommunications (PWT) [4]. O padrão DECT é bem completo, abrangendo a interface com o usuário com funções como transferência de chamada e teleconferência, assim como a interface de ar. Ele permite interoperabilidade entre handsets DECT e estações base [4]. Um sistema DECT é composto por uma estação base e pelo menos um handset. O padrão DECT define capacidade suficiente para a interface de ar para permitir conversas simultâneas entre handsets internos e entre partes internas e

4 externas. O conceito DECT também suporta outros dispositivos de escritório, tais como aparelhos de fax e telefones sem fio [4]. Bluetooth O Bluetooth é uma tecnologia para conexão sem fio de curta distância entre dispositivos. A conexão sem fio para comunicações locais surgiu de uma necessidade de eliminar os fios que ligam dispositivos a acessórios. A Ericsson foi uma das primeiras empresas a reconhecer essa necessidade e, a partir daí, a identificar outras aplicações com enorme potencial, tais como: um telefone móvel se comunicando com uma impressora, ou um PDA se comunicando com o PC para realizar alguma tarefa, sem qualquer configuração ou intervenção manual do usuário [1]. Em 1994 a Ericsson envidou esforços com o objetivo de criar uma tecnologia de comunicação sem fio de baixo custo para telefones móveis e seus dispositivos periféricos. No ano de 1998, IBM, Toshiba, Nokia e Intel juntaram-se à Ericsson para desenvolver a especificação de um padrão global aberto para a conectividade sem fio entre os dispositivos de telecomunicações e os de computação. Esta especificação foi denominada Bluetooth [1][4]. Os mais importantes pontos de projeto do Bluetooth são o baixo consumo de energia, baixo custo e a habilidade de suportar redes ad hoc de alta velocidade. Com uma taxa de dados básica de 1 Mbps, o Bluetooth é adequado para interconexão de computadores pessoais com impressoras, scanners, teclados e outros dispositivos. O canal de comunicação também é adequado para conexões de voz em tempo real entre um headset e um telefone móvel [4]. IrDA A Associação de Dados Infravermelho IrDA (Infrared Data Association) estabeleceu vários padrões de comunicação através de luz infravermelha, onde o IrDA-Data e o IrMC são os mais importantes. A tecnologia infravermelha suporta apenas conexão ponto-a-ponto. Tem alcance de curta distância, de até um metro, com ângulo estreito entre o transmissor e o receptor o cone de visão é de 30. Qualquer sinal fora deste angulo não será recebido os patrocinadores do IrDA sustentam que o IrDA deverá suportar um angulo de visão de 60, o que possibilitaria suporte a um numero maior de serviços, tais como: a conexão de mouse, joystick, etc., no PC. O início da troca de dados requer que os dispositivos estejam em linha direta de visão, uma vez que os raios infravermelho não atravessam objetos sólidos. Essas duas últimas características da tecnologia infravermelha mencionadas representam as suas maiores desvantagens [1]. O IrDA é uma tecnologia similar o Bluetooth no que diz respeito a comunicação de curta distância. No entanto, existem diferenças significativas devido às características da tecnologia de transporte. Os emissores de luz infravermelha no IrDA são equipamentos direcionais, o que significa que dois dispositivos que desejam se comunicar devem estar apontados um para o outro para que a comunicação seja realizada com êxito. Já os transmissores de rádio no Bluetooth são dispositivos onidirecionais (que se propaga em todas as direções), o que significa que um número de pessoas em dado ambiente que possuem dispositivos Bluetooth podem interagir com os dispositivos umas das outras independente se o dispositivo estiver visível em suas mãos ou guardado no bolso de alguém [4]. Além da característica direcional, o IrDA oferece altas taxas de dados de 4 Mbps, além de ser um tecnologia barata (menos de $5). Tipicamente, os dispositivos que utilizam a conexão IrDA são os periféricos de computadores (modems, impressoras, scanners, etc.), além de PDAs, relógios, equipamentos industriais, etc [1][4]. HomeRF A tecnologia HomeRF foi projetada tendo em mente redes pequenas de baixo tráfego, em residências e pequenos ambientes comerciais. Visa à comunicação entre o PC e seus periféricos, bem como entre dispositivos inteligentes de uma residência. Ela não é projetada para a comunicação entre dispositivos portáteis (outras tecnologias, como o Bluetooth, são melhores para isso), tampouco para a formação de redes ad hoc (imediatas) é do tipo de rede configure-a e deixe-a [12]. Algumas versões da HomeRF suportam velocidades de até 10Mbps. As conexões são do tipo ponto-a-ponto com alcance de 25 a 60 metros. Permite diversas redes no mesmo ambiente físico, com suporte de até 127 dispositivos por rede. Como tem alto consumo de energia, não é adequada para utilização em dispositivos portáteis. Não se integra facilmente a outras redes sem fio existentes. Entretanto, seu custo é relativamente baixo (menos de $200 dólares por dispositivo), é fácil de instalar, além de não exigir ponto de acesso [1]. A HomeRF pode coexistir com o Bluetooth da seguinte maneira: Bluetooth para substituir o cabeamento doméstico, por exemplo, entre o PC e seus periféricos e a HomeRF como rede local de interconexão, por exemplo, entre mais de um PC [1]. WiFi O Instituto dos Engenheiros Elétricos e Eletrônicos - IEEE desenvolveu uma especificação de rede local sem fio, denominada , ou ainda Wi-Fi. As redes são rápidas, confiáveis e têm alcance de até 100 metros, que pode ser ainda maior em áreas abertas. Do lado negativo, exigem hardware de ponto de acesso para a interconexão 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 conexões Ethernet comum, tornando a facilmente integrável com outras redes Ethernet com fio em uma corporação). Além disso, não suporta serviços de telefonia, sendo um padrão de uso estrito para a comunicação de dados serviços de voz podem ser suportados pela quando a voz é transmitida como dado, como é o caso na tecnologia de voz sobre IP [1]. ZigBee ZigBee utiliza pequenos sinais de rádio digital de baixo consumo de energia baseado no padrão IEEE para WPAN (Wireless Personal Area Networks) como uma técnica de sinalização na qual um nó continuamente transmite pequenos pacotes para anunciar sua presença a outras unidades móveis [8]. Os protocolos do ZigBee foram projetados para uso em aplicações embarcadas que requerem baixas taxas de dados e baixo consumo de energia e pouca latência. O foco real do ZibBee é definir uma rede mesh de propósito geral, barata, autoorganizada que possa ser usada para controle industrial, sensoriamento embarcado, coleta de dados médicos, alerta de fumaça e intrusos, automação de construções e automação doméstica. A rede resultante irá utilizar muito pouca energia, assim dispositivos individuais deverão permanecer ligados por um ano ou dois utilizando a bateria original [8]. UWB UWB (Ultra-Wideband) é uma tecnologia para transmitir informação a taxas de dados que excedam 100 Mbps, distribuída sobre uma ampla largura de banda sobre curtas distâncias. Essa tecnologia é projetada para fornecer um uso

5 eficiente da escassa largura de banda de rádio enquanto permite conectividade sem fio com alta taxa de dados [8]. É uma tecnologia de rede sem fio para redes de área pessoal, conhecidas por PAN (Personal Area Network), ou seja, usando aparelhos sem fio próximo ao usuário, como por exemplo, impressoras, mouse, teclado ou MP3 Player com no máximo 10 metros de distância [13] Dispositivos Os dispositivos ubíquos combinam os quatro paradigmas da computação pervasiva apresentados anteriormente: eles são fortemente descentralizados, diversificados, conectados e simples de usar [4]. Muitos dispositivos são produzidos em massa com o intuito de abranger um grande escopo de usuários. Eles fornecem soluções amplamente aplicáveis no domínio de uso pessoal e profissional, como , acesso à Internet, jogos, etc. Outros dispositivos estão focados em um segmento muito específico de utilização, como dispositivos de controle industrial aplicados em processos manufatureiros, dentre outros. Sua forma é altamente customizada e executam aplicações específicas [4]. A existência de múltiplos dispositivos, seja para o acesso a informação, ao entretenimento, embutidos em utensílios domésticos, embarcados em ambientes inteligentes, etc, constitui-se um dos desafios da computação ubíqua. Essa incrível variedade de dispositivos pode ser estruturada em categorias, conforme segue [1][4]: Dispositivos de acesso à Informação: os dispositivos de acesso à informação provêm comunicação entre usuários, anotação, acesso à informação, etc, com o objetivo de estender as capacidades humanas, especialmente no trabalho. Dominantes nessa categoria estão os organizadores de bolso portáteis chamados de Assistentes Digitais Pessoais PDAs. Eles são utilizados para carregar informações relevantes e são aptos a se conectarem em redes inteligentes. Suas aplicações compreendem o Gerenciamento de Informações Pessoais (PIM), o que inclui calendário, agenda de endereços e funcionalidades de . Além disso, outros dispositivos que compreender a categoria de acesso à informação podem ser citados, tais como: PCs de bolso, telefones celulares, telefones de tela (convergência do telefone com terminal de acesso à Internet), smartphones, etc. Utensílios inteligentes: essa categoria abrange um amplo escopo de utensílios familiares, os quais são melhorados por embutirem mais inteligência e conectividade usando tecnologias ubíquas. No ambiente ubíquo, os utensílios inteligentes interagem entre si para aumentar o conforto dos usuários, seja em casa, no carro, no escritório, no banco, no hospital, nas ruas, nos shoppings centers, etc. Exemplos de aplicação de utensílios inteligentes incluem: otimização do consumo de energia (aquecimento seletivo por cômodo da casa; aquecimento diferenciado por ocupação da casa; aquecimento de água em função do perfil dos moradores); manutenção de utensílios (diagnóstico e atualização remota de micro-código em utensílios da linha branca), comunicação entre etiquetas de roupa e a máquina de lavar. Esses dispositivos podem ser acessados e operados remotamente via Web, por exemplo. Controles inteligentes: os controles inteligentes caracterizam-se por serem muito pequenos podendo ser integrados a lâmpadas, interruptores, termostatos, sensores, atuadores, etc, em aplicações que variam desde controle de segurança residencial (sensores em portas e janelas para detectar a entrada de intrusos, atuadores para acender/apagar lâmpadas específicas em horários específicos etc), a controle de comodidades para o usuário (sensores de temperatura, atuadores para ligar/desligar/programar sistemas de aquecimento/resfriamento de ambiente residencial etc.). Os controles são conectados a redes domésticas e gerenciados local ou remotamente, através da Web ou applets Java, em aplicações locais. Sistemas de entretenimento: Os sistemas de entretenimento envolvem dispositivos cujo uso é voltado principalmente ao lazer. Exemplos incluem: TV (via cabo, satélite, microondas), Set-top-boxes (caixa sobre a TV que promove a interface entre os provedores do serviço de difusão e a TV do consumidor), Console de jogos (exemplos: Dreamcast da Sega, Playstation2 da Sony, Dolphin da Nintendo e X-box da Microsoft), câmeras digitais, brinquedos inteligentes, reprodutores de música MP3, etc. Claro que muitos dispositivos podem oferecer uma combinação de aplicações e, dessa maneira, se encaixarem em mais que uma dessas quatro categorias [4] Tecnologias de Desenvolvimento Como mencionado anteriormente, as aplicações ubíquas devem lidar com uma série de diferentes características de hardware dos dispositivos e mudanças de ambientes [4]. Devido a restrições físicas de memória, capacidade de processamento e bateria dos dispositivos, além da diversidade de tipos, alta latência das redes de comunicação sem fio, dentre outros, as aplicações para dispositivos ubíquos devem ser projetadas sem perder de vista tais limitações. Os Sistemas Operacionais, por sua vez, devem ser projetados tendo em vista as características do dispositivo e o objetivo do uso. A computação ubíqua traz novos requisitos para as infra-estruturas de serviço, ou middlewares, tais como: descoberta de serviços, adaptação de conteúdo, além de frameworks que atendam às necessidades específicas [1]. Muitos sistemas operacionais foram desenvolvidos para satisfazer às necessidades específicas da computação ubíqua: Google Android, Windows CE, Windows for Smart Cards, Palm OS, EPOC, QNX, GEOS, e muitos outros. Todos eles rodam em dispositivos com pouca memória e a maioria são projetados para executarem em muitas diferentes plataformas de processadores [4]. No topo desses sistemas operacionais, os componentes middlewares fornecem uma abstração das dependências específicas do sistema operacional, conforme ilustrado na Figura 3 seguir. Figura 3 Camadas de software em um dispositivo [4] Interfaces comuns entre as aplicações e componentes de software dedicados alavancam a portabilidade. Além de bibliotecas e componentes proprietários, as iniciativas da

6 indústria estão desenvolvendo um crescente número de frameworks padronizados e Aplication Programming Interfaces (APIs) direcionados a sistemas ubíquos [4]. Ao desenvolver aplicações para dispositivos ubíquos, os programadores devem ter em mente as seguintes restrições: tamanho limitado da tela, capacidade limitada de entrada de dados, poder limitado de processamento, memória, armazenamento persistente e vida da bateria; e alta latência, largura de banda limitada e conectividade intermitente (o que os dispositivos esperam encontrar em termos de conectividade) Java para Ambientes Ubíquos A independência de plataforma que a Java oferece, a grande quantidade de bibliotecas disponíveis (de suporte a construção de interfaces gráficas a suporte de rede), e a existência de maquinas virtuais embutidas em vários dispositivos tornou a linguagem Java uma tecnologia chave para o desenvolvimento de software na computação ubíqua [4]. A Figura 4 mostra como funciona a execução de programas Java em diferentes dispositivos. O código em Java é compilado num código neutro e padronizado denominado bytecode. O sistema operacional de cada dispositivo alvo utiliza um ambiente de execução Java (Java runtime environment JRE) para interpretar e executar o bytecode gerado na compilação, em tempo de execução. Um interpretador de bytecode, também chamado de máquina virtual VM, traduz as instruções genéricas em comandos nativos, específicos da máquina que está executando a aplicação. Desta forma, qualquer dispositivo que contenha uma máquina virtual Java pode executar um programa em Java sem que este tenha que ser recompilado. Figura 4 A execução do código Java em diferentes dispositivos [1] Como os requisitos das diferentes classes de computadores são diferentes, uma linguagem Java de propósito geral que acomodasse todos esses requisitos diferentes estava tornando-se insustentável. Então, a Sun Microsystems, quem inicialmente criou a tecnologia Java, decidiu dividir a linguagem em diferentes especificações. Cada uma das versões de Java possui um Kit de Desenvolvimento de Software SDK (Software Development Kit) que implementa a versão correspondente. JME Micro Edition Tem como objetivo atender os requisitos de dispositivos ubíquos com as seguintes limitações: pouca memória, energia limitada, conexão intermitente à rede; capacidades gráficas restritas, dentre outras. O JME introduz o conceito de Perfis, que são subconjuntos da linguagem Java para diferentes grupos de dispositivos, com o intuito de minimizar a quantidade de memória requerida pelas bibliotecas de classes Java. É composto de funcionalidade básica mínima obrigatória. Classes adicionais, necessárias para suportar características típicas de um grupo especifico de dispositivos, são incluídas em um perfil correspondente. Caso uma aplicação precise de funcionalidade adicional, não especificada no perfil do dispositivo, as bibliotecas correspondentes podem ser trazidas da rede de forma dinâmica. Inclui MVs, bibliotecas de APIs, ferramentas para colocar aplicação no dispositivo, e configurá-lo [1][4]. A edição JME é um conjunto de produtos, tecnologias, ferramentas e padrões necessários para criar aplicações para dispositivos ubíquos. Inclui suporte para desenvolvimento de aplicações no dispositivo e fora do dispositivo. O JME é disponível em duas versões [1][4]: CLDC - Configuração de dispositivo limitado, conectado (Connected, Limited Device Configuration) para telefones celulares, PDAs e set-top boxes de média capacidade. Contém a máquina virtual KVM, um interpretador de linguagem Java para microprocessadores de 16-bit ou 32-bit RISC/CISC em dispositivos com 128 a 512KB RAM, e conexão de rede intermitente. Oferece suporte total a linguagem Java (exceto ponto flutuante, finalização e tratamento de erro). Contém versão minimizada dos pacotes java.lang, java.io, and java.útil do J2SE. Implementa API javax.microedition.io, para conexões de rede (fones móveis e aparelhos de TV). CDC - Configuração de Dispositivo Conectado (Connected Device Configuration) permite desenvolver aplicações para telefones de tela, set-top boxes, PDAs de alta capacidade, pontos-de-venda, navegação automotiva e utensílios domésticos. Contém uma máquina virtual completa - CVM para microprocessadores de 32-bit RISC/CISC/DSP em dispositivos com memória ROM maior que 512KB e memória RAM maior que 256KB, e conexão de rede sempre ativa. É uma versão enxuta do Java Standar Edition (JSE) mais classes do CLDC. Possui bibliotecas de UI restritas (telefones de tela, Set-topboxes). O Perfil é uma forma adicional de especificar o subconjunto de APIs Java, bibliotecas de classe e recursos de máquina virtual para uma família específica de dispositivos. Os perfis objetivam atender necessidades de segmentos específicos da indústria. O MIDP Perfil do Dispositivo de Informação móvel (Mobile Information Device Profile) é a especificação para um perfil JME. O MIDP foi projetado para operar acima do CLDC com o intuito de capacitar as aplicações Java para executarem em dispositivos móveis de informação (MIDs). Contém APIs para o ciclo de vida da aplicação, IU, rede e memória persistente. Provê um ambiente de tempo de execução padrão que permite a colocação dinâmica de novos serviços e aplicações nos dispositivos do usuário. O MIDP é um perfil padrão comum para dispositivos moveis, independente de fabricante. É uma estrutura completa e de suporte para o desenvolvimento de aplicações móveis. Três outras tecnologias são definidas para potencializar o uso do Java: Java Card, Java Embarcado e Java para Tempo- Real [1]: Java Card Menor e mais limitada versão da família Java. Não suporta strings, interface gráfica, e possui formato de bytecode comprimido. O Fórum Java Card (http://www.javacardforum.org/) especifica o subconjunto da linguagem para smart cards. As MVs são construídas por desenvolvedores de sistemas operacionais e ficam residentes na ROM do cartão. Java Embarcado Objetiva os controladores industriais, switches, e outros dispositivos com restrições severas de memória, em dispositivos com visor orientado a caractere ou sem visor. Não existe um core mínimo obrigatório classes desnecessárias podem ser omitidas, o que, naturalmente, limita a interoperabilidade.

7 RTJS - Java para Tempo-Real O Java RTJS oferece suporte na criação de aplicações para dispositivos automotivos, industriais etc, que exigem um comportamento de execução previsível. Resolve problemas de coleta de lixo, realiza escalonamento personalizado de processos e threads por compartilhamento de tempo, oferece gerenciamento avançado de memória, além de prover acesso direto à memória de sensores e atuadores, suporta a sincronização de threads e objetos, trata eventos assíncronos e etc. É bom manter em mente que Java não é a única opção para desenvolver aplicações para dispositivos ubíquos. Linguagens como C e C++ também podem ser consideradas [1]. A escolha da linguagem adequada vai depender das características do projeto Interação Humano-Computador (IHC) Weiser e Seely Brown [14] usaram o termo tecnologia calma para descrever um importante aspecto de sua visão de computação ubíqua: o fato de que a computação não deve continuar a monopolizar a atenção do usuário. Em muitos casos, a atividade de computação deve silenciosamente ser executada em segundo plano (sem que o usuário perceba) e tornar seu resultado acessível à percepção periférica do usuário de forma ubíqua. Dessa maneira, os computadores tendem a se tornar mais e mais invisíveis em nossas vidas. Assim como o minúsculo motor presente dentro de um CD player, o qual ninguém está interessado em saber com funciona, um sistema computacional construído dentro de um MP3 player que faz download de músicas da Internet se tornará a coisa mais natural do mundo. Não importará se foi feito em Java ou qual o modo que a pilha TCP/IP foi implementada. Não é a tecnologia viabilizadora que interessa, mas sim as aplicações e os serviços oferecidos terão a maior influência visível em nossa cultura high-tech [4]. Logo, é precisos que as aplicações sejam simples e fáceis de utilizar a partir da perspectiva e do contexto do usuário. Esse é um dos quatro paradigmas pregados dentro da computação pervasiva/ubíqua: a simplicidade. A flexibilidade de um computador pessoal de propósito geral é certamente uma façanha técnica. Porém, isso tem seu preço: esses computadores estão se tornando incrivelmente complicados. Por exemplo, muito das funcionalidades dos processadores de texto atuais confundem a maioria dos usuários e reduz a facilidade de uso. Apesar da capacidade de plug-and-play, instalar um novo software geralmente é um desafio para usuários não especialistas [4]. Como já mencionado anteriormente, dispositivos ubíquos são ferramentas extremamente especializadas que são utilizadas para um propósito específico e não geral. De um ponto de vista de usabilidade, eles desempenham bem as tarefas para os quais foram projetados. Nesses dispositivos, disponibilidade, conveniência e facilidade de uso são pré-requisitos fundamentais. O acesso e o gerenciamento da informação devem ser realizados sem se gastar tempo significativo em aprender como usar a tecnologia. A aceitação do usuário da interface fornecida pelo dispositivo terá grande impacto na aceitação dos produtos e serviços oferecidos dentro da próxima geração da TI. Um computador, independente da forma em que foi fabricado, deve ser uma ferramenta facilmente acessível na vida diária, assim como um telefone é hoje. Enquanto seleção e educação apropriados dos grupos de usuários era requerida para gerenciar a complexidade dos sistemas computacionais tradicionais, computadores ubíquos são intuitivos de usar e não deveriam sequer requerer a leitura de um manual. Processos que hoje requerem procedimentos de instalação e levam vários comandos em um PC irão apenas necessitar de um simples aperto de uma tecla ou mesmo aceitar requisições de voz ou possuir reconhecimento de escrita [4]. Em seu influente e fascinante livro O design do dia a dia [16], Donald Norman, psicólogo cognitivo e pioneiro em usabilidade, descreveu o conceito de affordance, que se refere às propriedades percebidas e reais de um objeto, principalmente as propriedades fundamentais que determinam de que maneira o objeto poderia ser usado. As affordances fornecem fortes indicações para a operação dos objetos. Cadeiras são para sentar. Maçanetas são para girar. Interruptores são para pressionar. Bolas são para atirar ou quicar, etc. Quando se tira proveito das affordances, o usuário sabe o que fazer apenas ao olhar: não são necessárias imagens ilustrativas, rótulos ou instruções. Objetos complexos podem exigir explicações, mas objetos simples não devem precisar deles. Quando objetos simples precisam de imagens, rótulos ou instruções, o design fracassou. Segundo Norman, o usuário precisa de ajuda, sendo que apenas as coisas certas têm de ser visíveis a ele para indicar que peças devem ser operados e de que maneira, de forma a indicar como o usuário deve interagir com o aparelho. A visibilidade indica o mapeamento entre as ações pretendidas e as operações concretas. A visibilidade indica distinções cruciais, de modo que se possa, por exemplo, diferenciar um recipiente de sal e um de pimenta. A visibilidade dos efeitos das ações também é importante. É ela que indica se as luzes foram devidamente acendidas, se a tela de projeção foi baixada até a altura correta, se a temperatura da geladeira está ajustada corretamente, e assim por diante. É a falta de visibilidade que torna tantos aparelhos controlados por computador tão difíceis de operar. E é um excesso de visibilidade que torna o equipamento de som ou o aparelho de DVD entupido de dispositivos e sobrecarregado de aplicativos tão intimidantes para o usuário. Todas essas características descritas por Norman são podem ser aplicadas para atender à simplicidade esperada dos dispositivos ubíquos. No entanto, simples não deve ser confundido com primitivo. A computação ubíqua provê uma visão holística: hardware e software devem estar integrados sem emendas e direcionados para necessidades bem específicas do usuário final. A complexidade da tecnologia deve estar escondida por trás de uma interface com o usuário amigável. Alcançar a facilidade de uso intencionada requer esforços substanciais no projeto e desenvolvimento das aplicações. Para obter acesso rápido a funções e aplicativos, hierarquias complicadas de menus e caixas de diálogo não são aceitáveis. Reconhecimento de fala, uso intuitivo, operações que requerem o uso de apenas uma das mãos, inicialização rápida ou telas sensíveis ao toque são apenas algumas das características de interfaces com o usuários maduras. Fornecer todas elas em um pequeno e barato dispositivo é definitivamente uma tarefa desafiadora pra os desenvolvedores [4] Descoberta de Serviços No contexto de computação ubíqua, quando um cliente móvel se move de um ambiente para outro, ele deseja conhecer quais são os serviços que estão disponíveis no novo contexto em que se inseriu [3]. Existe, então, uma grande necessidade por um mecanismo que permita que os dispositivos em um determinado ambiente interajam dinamicamente uns com os outros e ofereça serviços para outros dispositivos, bem como torne viável que outros dispositivos busquem por um tipo de serviço específico que possa ser requisitado em determinado momento. Esta característica é chamada de descoberta de serviços [4]. Diversas arquiteturas de software surgiram para tentar solucionar este problema. Essas arquiteturas são essencialmente

8 frameworks de coordenação que sugerem certos modos e meios de interação entre dispositivos. Três das mais importantes arquiteturas são: Jini, Universal Plug and Play (UPnP) e Satutation todas iniciativas de indústrias. A descoberta de serviços, em termos gerais, significa que um subconjunto das capacidade seguintes são suportadas por um dispositivo [1][4]: Habilidade de anunciar sua presença à rede; Descoberta automática de dispositivos na vizinhança e também daqueles localizados remotamente; Habilidade de descrever seus serviços e reconhecer os serviços (capacidades) dos outros dispositivos; Capacidade de se auto-configurar sem a intervenção de um administrador; Interação com outros dispositivos na rede parar desempenhar uma função. Um framework de coordenação pode fazer com que dispositivos tornem-se cientes uns dos outros. Para que isto ocorra, algum padrão deve ser seguido pelos dispositivos. Um dos desafios na descoberta de serviços é manter o equilíbrio entre as necessidades de padronização e a autonomia de dispositivos [17]. O fornecimento de serviços de aplicações para dispositivos inteligentes implica no gerenciamento de serviços distribuídos ao longo de um ciclo de vida completo, conforme ilustrado na Figura 5 abaixo, e não apenas etapas específicas, como a descoberta de serviços. O projeto de fornecimento de serviços deve lidar com acessos a serviços intermitentes e trocas entre diferentes instâncias de serviços, por exemplo, a saída de uma rede sem fio para entrar em outra rede sem fio. Existem dois aspectos distintos para isso: primeiro, definir um modelo de ciclo de vida genérico para o fornecimento do serviços; e, segundo, gerenciar esse ciclo de vida [8]. Anúncio, Descoberta, Seleção, Configuração, Composição Invocação, Composição Término, Remoção de Registros Se os fornecedores e solicitantes dos serviços são estáticos, então existe pouca necessidade para descoberta dinâmica de serviços. A descoberta dinâmica de serviços 4 é necessária para permitir que solicitantes dos serviços mudem de fornecedores quando tanto um como outro são móveis, quando o acesso à rede é intermitente e quando os fornecedores ou requisitantes falham. A descoberta dinâmica de serviços envolve a dissociação do fornecimento de serviços a partir de uma requisição e suporte a anúncios e descoberta dinâmicos de fornecedores e solicitantes de serviços [8]. Existem duas abordagens para anúncios e descoberta dinâmicos de serviços: push e pull. Push utiliza broadcast ou multicast para anunciar as requisições de serviços disponíveis ou capacidades de serviços para uma certa quantidade de partes desconhecidas. Requisições de serviços e descrições de serviços são subtipos de mensagens enviadas para receptores de mensagens desconhecidos pelo remetente. O solicitante ou o fornecedor fazem o matching 5. Pull utiliza pesquisas para localizar ou procurar listas de requisições ou capacidades previamente anunciadas para um diretório mantido por alguma terceira parte conhecida, por exemplo, Jini, UPnP, UDDI, etc. A terceira parte faz o matching. A vantagem dos diretórios sobre broadcasts é que eles minimizam o tráfego de rede relacionado ao serviço de descoberta. A desvantagem dos diretórios é que eles requerem a administração de uma terceira parte, o diretório deve estar sempre disponível e ter uma localização bem conhecida para solicitantes e fornecedores de serviços o localizarem [8]. Existem várias dimensões de projeto para especificar a seleção de serviços: baseado em requisição versus baseado em capacidades versus baseado em objetivos; exata versus inexata e sintática versus semântica. É mais comum fazer o matching das requisições de um único usuário comparando-se as descrições de serviços de múltiplos fornecedores em diretórios. O oposto disso é usar um blackboard, um serviço em uma terceira parte, no qual requisições de serviços ao invés de descrições de serviços fornecidos são anunciados e fornecedores de serviços procuram por solicitantes de serviços com os quais eles estão dispostos a fornecer o serviço (ver Figura 6). Reinvocação, Atualização das Descrições, Reconfiguração, Atualização da Composição 2. Pesquisa por Serviços 3. Descoberta 1. Registro dos Serviços Figura 5 Ciclo de vida do serviço [8] Na fase de criação, os processos de serviço registram-se em diretórios de serviços. Solicitantes dos serviços buscam por serviços. Os serviços são selecionados, configurados e serviços múltiplos necessitam ser compostos. Na fase de execução, os serviços são invocados e múltiplos serviços interligados necessitam de coordenação. Na fase de manutenção, os processos de serviço, configurações de acesso e composições de serviços devem ser atualizados. Na fase de dissolução, os serviços são desativados ou encerrados temporariamente pelos próprios processos ou por solicitantes. Os serviços também podem ser terminados permanentemente e removidos [8] Anúncio, Descoberta 3, Seleção e Configuração de Serviços 3 A descoberta de serviços também pode ser subclassificada em pesquisa em página branca (nome, endereço, etc), pesquisa em página amarela (busca por tipos e atributos) e pesquisa em página verde (informações sobre como invocar o serviço) Registro da Requisição 2. Pesquisa Por Requisições 3 Figura 6 Descoberta de Serviços guiada por fornecedores publicando descrições de serviços. Adaptado de [8] Seleção de serviços baseada em requisição geralmente implica que os serviços que satisfaçam à requisição devem existir no ambiente circundante, ao invés de estarem internamente no dispositivo. Isso levanta a questão de como o solicitante de um serviço sabe se o serviço pode ou não pode 4 O escopo do termo descoberta de serviços varia dependendo da especificidade do projeto. Pode envolver a solicitação de uma lista de fornecedores de serviços disponíveis que se encaixam com a requisição. Pode ou não pode incluir seleção de serviço, configuração de serviço, resolução de nome de serviço e até mesmo invocação de serviço. 5 Matching neste texto refere-se à ação de comparar se determinado serviço atende aos requisitos estabelecidos pela requisição.

9 desempenhá-lo (devido ao fato de o serviço ter ou não ter os recursos necessários, habilidade, etc) [8]. 3. TRABALHOS RELACIONADOS Muitas companhias e institutos de pesquisa tem empreendido iniciativas na área da computação ubíqua. Alguns dos primeiros projetos de pesquisa em computação ubíqua são apresentados a seguir. Classroom 2000 Uma funcionalidade bastante útil dos ambientes computacionais futuros será a habilidade de capturar as experiências reais vividas por seus habitantes e fornecer registros aos usuários para posterior acesso e visualização. Em 1995, um grupo do Georgia Institute of Technology empreendeu um projeto de três anos denominado Classroom 2000 na tentativa de dar suporte ao ensino e aprendizagem em uma universidade através da introdução de um suporte automatizado para a captura da aula [18]. Enquanto muitos trabalhos de desenvolvimento nessa área focavam no desenvolvimento de materiais multimídia melhorados, o projeto Classroom 2000 tentou melhorar a geração de conteúdo através da instrumentação 6 de um cômodo com as capacidades de registrar uma aula ao invés dos próprios estudantes terem que fazer anotações manualmente e talvez transcrevê-las mais tarde. O projeto tinha dois objetivos: (1) entender as questões de projeto de uma aplicação de computação ubíqua para fornecer captura eficiente e capacidades de acesso para experiências reais ricas; e (2) entender o que é necessário para produzir uma aplicação de computação ubíqua robusta cujo impacto em seu domínio-alvo pode ser avaliado sobre um longo período de tempo [8]. O protótipo inicial foi um grande sistema de quadro branco eletrônico que permitia ao professor mostrar e anotar slides. Os estudantes poderiam usar um tablet PC para fazer anotações em suas próprias cópias dos slides. Inicialmente não havia comunicação via rede. Em janeiro de 1997, uma segunda sala de aula foi especialmente instrumentada para o uso de um protótipo do Classroom Microfones e câmeras de vídeo foram embutidos no teto e os sinais capturados por eles eram armazenados. O quadro branco eletrônico foi usado novamente, mas desta vez conectado na rede. Dois projetores anexados ao texto foram ligados a computadores conectados na rede também para visualização [8]. Smart Space e Meeting Room Os projetos NIST Smart Space e Meeting Room ( ) focavam no uso de dispositivos pervasivos, sensores e redes de comunicação para fornecer uma infra-estrutura para salas de encontro inteligentes sensíveis ao contexto que detectam as atividades humanas em curso e geram uma resposta a essas atividades [19]. Os projetos foram divididos em duas fases. Na primeira, espaços inteligentes experimentais foram prototipados focando em: formas avançadas em interação humano-computador, integração de redes sem fio pico-celulares com descoberta de serviços dinâmica, configuração automática de dispositivos e infra-estruturas de software necessárias para programar aplicações de computação pervasiva. Na fase 2, o foco eram as métrica de desenvolvimento, métodos de teste e referências padrões para fornecer implementações de referência para servir como modelos para possíveis produtos comerciais [8]. 6 Instrumentação neste contexto refere-se ao processo de adicionar sensores que atuam como fonte de informação no mundo físico. Essas fontes podem então ser configuradas e registradas para análise online e offline. O Meeting Room digitalizava os sinais a partir de 200 microfones, cinco câmeras de vídeo e possuía um quadro branco inteligente. Dois conjuntos de ferramentas eram usados para gerenciar os dados dos sensoriados. Os fluxos dos sensores eram gerenciados usando o sistema NIST SmartFlow, uma camada middleware de fluxo de dados que fornecia abstração do transporte de dados e oferecia formatos consistentes para os fluxos de dados. Metadados ou anotações dos fluxos de dados eram atribuídos com descrições semânticas usando Architecture and Tools for Linguistic Analysis Systems (ATLAS). Quando as pessoas numa sala de encontros estavam conversando entre si, o sistema era capaz de capturar a conversa, armazenar e transcrever o encontro gravando conversas individualmente por falante, e disparar serviços associados a partir da Internet de acordo com o assunto da conversa [8]. Cooltown O projeto Cooltown da HP ( ), desenvolveu uma visão da computação ubíqua para dar suporte a usuários móveis, fornecendo-lhes acesso a informações por meio de dispositivos handhelds baseados na tecnologia Web e ligações entre o mundo virtual com o mundo físico real [20]. Um ponto chave da abordagem do Cooltown é que recursos do mundo físico podem ter uma presença na Web. Recursos físicos estão associados com um identificador de recursos simples padrão (Universal Resource Locator URL). URLs de recursos físicos e virtuais podem ser descobertas e trocadas de forma bem simples. Assim, quando se entra em um novo cômodo, um PDA pode receber uma mensagem contendo a URL daquela sala via transmissão infravermelha a partir de um transmissor presente no cômodo, ou ler um código de barras contido no côpmodo, etc. O PDA estará então apto para acessar o website para o cômodo para ver as facilidades e funcionalidades disponíveis. 4. CONSIDERAÇÕES FINAIS A computação ubíqua envolve uma diversidade de conceitos e tecnologias. Por ser um paradigma computacional relativamente novo, ter um entendimento claro dos aspectos chave que o compõem é crucial para desenvolvedores que almejam construir aplicações ou mesmo projetar dispositivos ubíquos. Este artigo apresentou os principais conceitos por trás da computação ubíqua, mostrando suas definições, princípios e tecnologias envolvidas. 5. REFERÊNCIAS [1] Araújo, Regina Borges. (2003) Ubíqua: Princípios, Tecnologias e Desafios, In: Simpósio Brasileiro de Redes de Computadores, XXI, Natal. Minicurso: Livro Texto. Natal, RN: UFRN/DIMAp: UnP, p. p [2] Lyytinen, K. e Yoo, Y. (2002) Issues and Challenges in Ubiquitous Computing, Communications of the ACM, vol.45, no. 12, Dezembro. Apud {1}. [3] Adelstein, F. et al. (2005), Fundamentals of Mobile and Pervasive Computing, McGraw-Hill. [4] Hansmann, U. et al. (2003), Pervasive Computing Handbook, Springer-Verlag. [5] Weiser, M. (1991), The Computer for the 21st Century, Scientific American, vol.265,no.3,setembro., pp Apud {1}. [6] Satyanarayanan, M. (1996), Fundamentals Challenges in Mobile Computing, Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing (PODC), Philadelphia, PA. Apud {3}. [7] Nuaymi, L. (2007), WiMAX: Technology for Broadband Wireless Access. John Wiley & Sons, Ltd. Apud {8}.

10 [8] Poslad, Stefan (2009). Ubiquitous Computing Smart Devices, Smart Environments and Smart Interaction. Wiley. [9] Waldman, H. e Yacoub, M. D. (1997) Telecomunicações - Princípios e Tendências, Série Universidade, Editora Érica, 287 págs. Apud {1}. [10] Harte, L., Levine, R. e Kikta, R. (2002) 3G Wireless Demystified. McGraw-Hill, 496 pags. Apud {1}. [11] Foroohar, R. (2001) The Other Bubble. Newsweek. pp May. Apud {1}. [12] Miller, M. (2001) Descobrindo o Bluetooth, Editora Campus, 289 pags. Apud {1}. [13] Wikipédia A Enciclopédia Livre. Disponível em Acesso em 13/09/2009. [14] Weiser, M. e Seely Brown, J (1997), The Coming Age of Calm Technology, In Peter J. Denning e Robert M. Metcalfe (eds.), Beyond Calculation: The Next Fifty Years of Computing, pp Springer-Verlag. Apud {15}. [15] Stajano, F. (2002), Security for Ubiquitous Computing. John Wiley and Sons. [16] Norman, Donald A (2006), O Design do Dia-a-dia. Rocco. [17] Rekesh, J. (1999), UPnP, Jini and Salutation - A look at some popular coordination frameworks for future networked devices. Publication from California Software Labs. Apud {1}. [18] Abowd, G.D. (1999), Classroom 2000: an experiment with the instrumentation of a living educational environment. IBM Systems Journal, 38(4): Apud {8}. [19] Stanford, V., Garofolo, J. Galibert, O., Michel,Mand Laprun, C. (2003), The NIST Smart Space and Meeting Room Projects: signals, acquisition, annotation, and metrics. Apud {8}. [20] Kindberg, T. and Fox, A. (2002), System software for ubiquitous computing. IEEE Pervasive Computing, 1(1): Apud {8}.

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo

Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo Programação para Dispositivos Móveis Prof. Wallace Borges Cristo Acesso a informação Notícias, Ringtones, Vídeos Messenger/Chat Jogos Acesso a instituições financeiras M-commerce (Mobile Commerce) Aplicações

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Uma Introdução ao. Computação Móvel (MAC5743/MAC330) Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro

Uma Introdução ao. Computação Móvel (MAC5743/MAC330) Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro Uma Introdução ao J2ME Computação Móvel (MAC5743/MAC330) DCC-IME-USP Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro Visão Geral do Java 2 (1) A plataforma Java 2 engloba três elementos:

Leia mais

Comunicação Comunicação é o ato de transmissão de informações de uma pessoa à outra. Emissor: Receptor: Meio de transmissão Sinal:

Comunicação Comunicação é o ato de transmissão de informações de uma pessoa à outra. Emissor: Receptor: Meio de transmissão Sinal: Redes - Comunicação Comunicação é o ato de transmissão de informações de uma pessoa à outra. Comunicação sempre foi, desde o início dos tempos, uma necessidade humana buscando aproximar comunidades distantes.

Leia mais

NOVAS TECNOLOGIAS DE INFORMAÇÃO

NOVAS TECNOLOGIAS DE INFORMAÇÃO NOVAS TECNOLOGIAS DE INFORMAÇÃO Profª. Kelly Hannel Novas tecnologias de informação 2 HDTV WiMAX Wi-Fi GPS 3G VoIP Bluetooth 1 HDTV 3 High-definition television (também conhecido por sua abreviação HDTV):

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Computação Aula 01-02: Introdução 2o. Semestre / 2014 Prof. Jesus Agenda da Apresentação Definição e surgimento de Sistemas Distribuídos Principais aspectos de Sistemas Distribuídos

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Sistemas Operacionais 1- Introdução aos SOs Prof. Sílvio Fernandes Disciplina Sistemas

Leia mais

Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso

Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso Universidade Federal de Santa Catarina Departamento de Informática e Estatística Curso de Bacharelado em Ciências da Computação Marcus Vinicius Cruz Xavier Rascunho do trabalho de conclusão de curso Título

Leia mais

Arquiteturas para implantação de aplicações móveis wireless

Arquiteturas para implantação de aplicações móveis wireless Arquiteturas para implantação de aplicações móveis wireless Este tutorial apresenta uma visão geral da arquitetura para implantação de aplicações móveis wireless. Eduardo Tude Engenheiro de Teleco (IME

Leia mais

REDES INTRODUÇÃO À REDES

REDES INTRODUÇÃO À REDES REDES INTRODUÇÃO À REDES Simplificando ao extremo, uma rede nada mais é do que máquinas que se comunicam. Estas máquinas podem ser computadores, impressoras, telefones, aparelhos de fax, etc. Ex: Se interligarmos

Leia mais

Introdução à Computação Móvel. Carlos Maurício Seródio Figueiredo

Introdução à Computação Móvel. Carlos Maurício Seródio Figueiredo Introdução à Computação Móvel Carlos Maurício Seródio Figueiredo Sumário Visão da Computação Móvel Oportunidades de Pesquisa Alguns Interesses de Pesquisas Futuras Visão da Computação Móvel O que é Computação

Leia mais

Atividade Capitulo 6 - GABARITO

Atividade Capitulo 6 - GABARITO Atividade Capitulo 6 - GABARITO 1. A Internet é uma força motriz subjacente aos progressos em telecomunicações, redes e outras tecnologias da informação. Você concorda ou discorda? Por quê? Por todos os

Leia mais

Telecomunicações, Internet e tecnologia sem fio. slide 1

Telecomunicações, Internet e tecnologia sem fio. slide 1 Telecomunicações, Internet e tecnologia sem fio slide 1 Objetivos de estudo Quais os principais componentes das redes de telecomunicações e quais as principais tecnologias de rede? Quais os principais

Leia mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

UM FRAMEWORK PARA DESENVOLVIMENTO DE

UM FRAMEWORK PARA DESENVOLVIMENTO DE UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UM FRAMEWORK PARA DESENVOLVIMENTO DE APLICATIVOS EM WINDOWS MOBILE. PROPOSTA DE TRABALHO DE GRADUAÇÃO Aluno:

Leia mais

Comunicação sem fio (somente para determinados modelos)

Comunicação sem fio (somente para determinados modelos) Comunicação sem fio (somente para determinados modelos) Guia do Usuário Copyright 2006 Hewlett-Packard Development Company, L.P. Microsoft e Windows são marcas registradas da Microsoft Corporation nos

Leia mais

Introdução ao Subsistema Multimídia IP (IMS) Conceitos básicos de IMS e terminologia

Introdução ao Subsistema Multimídia IP (IMS) Conceitos básicos de IMS e terminologia Introdução ao Subsistema Multimídia IP (IMS) Conceitos básicos de IMS e terminologia Introdução Formalmente, o IP Multimedia Subsystem (IMS) é definido como:... um novo 'domínio' principal da rede (ou

Leia mais

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Abertos Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Caracterização de Sistemas Distribuídos Coulouris, Dollimore and Kindberg. Distributed Systems: Concepts and

Leia mais

Introdução à Informática. Aula 04. Sistemas Operacionais Aplicativos e Utilitários Transmissão e meios de transmissão de dados. Prof.

Introdução à Informática. Aula 04. Sistemas Operacionais Aplicativos e Utilitários Transmissão e meios de transmissão de dados. Prof. Aula 04 Sistemas Operacionais Aplicativos e Utilitários Transmissão e meios de transmissão de dados Sistema Operacional Um conjunto de programas que se situa entre os softwares aplicativos e o hardware:

Leia mais

Conexão Sem Fio Guia do Usuário

Conexão Sem Fio Guia do Usuário Conexão Sem Fio Guia do Usuário Copyright 2007 Hewlett-Packard Development Company, L.P. Windows é uma marca registrada da Microsoft Corporation nos Estados Unidos. Bluetooth é marca comercial dos respectivos

Leia mais

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta

Sistemas de Lotes (2) Sistemas de Lotes (3) Layout da MP em Sistemas de Lotes. Minimizar o tempo de resposta 1 Mono e multiprogramação Introdução Classificação (Aula 2) Recap Sistemas Máquina Profa. Patrícia Gerenciador D. CostaLPRM/DI/UFES Provê Fornece Compartilhamento programador máquina justa recursos Operacionais

Leia mais

Mude para digital. Sistema de rádio bidirecional digital profissional MOTOTRBO

Mude para digital. Sistema de rádio bidirecional digital profissional MOTOTRBO Sistema de rádio bidirecional digital profissional A solução de comunicação em rádios bidirecionais de próxima geração está aqui, com melhor desempenho, produtividade e preço e mais oportunidades para

Leia mais

Prof. Manuel A Rendón M

Prof. Manuel A Rendón M Prof. Manuel A Rendón M MORAES, C. C. Engenharia de Automação Industrial, Cap. 6 Tanenbaum, Redes de Computadores, Cap. 1.2 AGUIRRE, L. A. Enciclopédia da Automática, Volume II, Cap. 15.3 Escravo é um

Leia mais

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

TEORIA GERAL DE SISTEMAS

TEORIA GERAL DE SISTEMAS TEORIA GERAL DE SISTEMAS A Internet global A World Wide Web Máquinas de busca Surgiram no início da década de 1990 como programas de software relativamente simples que usavam índices de palavras-chave.

Leia mais

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS

J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS Ana Paula Carrion 1, Késsia Rita da Costa Marchi 1, Jaime Willian Dias 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil anapaulacarrion@hotmail.com,

Leia mais

Gerenciamento de Redes

Gerenciamento de Redes Gerenciamento de Redes As redes de computadores atuais são compostas por uma grande variedade de dispositivos que devem se comunicar e compartilhar recursos. Na maioria dos casos, a eficiência dos serviços

Leia mais

Comunicação Sem Fio (Somente em Determinados Modelos)

Comunicação Sem Fio (Somente em Determinados Modelos) Comunicação Sem Fio (Somente em Determinados Modelos) Guia do Usuário Copyright 2007 Hewlett-Packard Development Company, L.P. Microsoft é uma marca registrada da Microsoft Corporation nos Estados Unidos.

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES MEMÓRIAS DE AULA AULA 1 APRESENTAÇÃO DO CURSO, HISTÓRIA, EQUIPAMENTOS E TIPOS DE REDES Prof. José Wagner Bungart CONTEÚDO PROGRAMÁTICO Definição de Redes de Computadores e Conceitos

Leia mais

Universidade de Brasília

Universidade de Brasília Universidade de Brasília Introdução a Microinformática Turma H Redes e Internet Giordane Lima Porque ligar computadores em Rede? Compartilhamento de arquivos; Compartilhamento de periféricos; Mensagens

Leia mais

Roteiro. Linguagens, plataformas e ambientes de Desenvolvimento. Desenvolvimento de Aplicações para DM. Java. Linguagem C

Roteiro. Linguagens, plataformas e ambientes de Desenvolvimento. Desenvolvimento de Aplicações para DM. Java. Linguagem C Desenvolvimento de Aplicações para Dispositivos Móveis José de Ribamar Martins Bringel Filho Mestre em Ciência da Computação (UFC) bringel@cenapadne.br Roteiro Overview das Plataformas e Linguagens J2ME

Leia mais

Administração de Sistemas de Informação Gerenciais

Administração de Sistemas de Informação Gerenciais Administração de Sistemas de Informação Gerenciais UNIDADE V: Telecomunicações, Internet e Tecnologia Sem Fio. Tendências em Redes e Comunicações No passado, haviam dois tipos de redes: telefônicas e redes

Leia mais

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 17/09/2010. Carlos Eugênio Torres Engenheiro de Informática http://cetorres.

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 17/09/2010. Carlos Eugênio Torres Engenheiro de Informática http://cetorres. Módulo I - Introdução Aula 2 Carlos Eugênio Torres Engenheiro de Informática http://cetorres.com Faculdade Christus Sistemas de Informação 17/09/2010 Graduado em Ciência da Computação pela UFC, Brasil

Leia mais

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

Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME Java para Dispositivos Móveis Desenvolvendo Aplicações com J2ME Thienne M. Johnson Novatec Capítulo 1 Introdução à computação móvel 1.1 Computação móvel definições Computação móvel está na moda. Operadoras

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Introdução Redes de Computadores é um conjunto de equipamentos que são capazes de trocar informações e compartilhar recursos entre si, utilizando protocolos para se comunicarem e

Leia mais

ATIVIDADE 1. Definição de redes de computadores

ATIVIDADE 1. Definição de redes de computadores ATIVIDADE 1 Definição de redes de computadores As redes de computadores são criadas para permitir a troca de dados entre diversos dispositivos estações de trabalho, impressoras, redes externas etc. dentro

Leia mais

ESCOLA SECUNDÁRIA DO MONTE DA CAPARICA Curso de Educação e Formação de Adultos NS Trabalho Individual Área / UFCD

ESCOLA SECUNDÁRIA DO MONTE DA CAPARICA Curso de Educação e Formação de Adultos NS Trabalho Individual Área / UFCD 1 de 9 Desde o nascimento do telemóvel e o seu primeiro modelo vários se seguiram e as transformações tecnológicas que estes sofreram ditaram o nascimento de várias gerações. O Motorola DynaTac 8000X é

Leia mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

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

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

Leia mais

Telecomunicações. Prof. André Y. Kusumoto andre_unip@kusumoto.com.br

Telecomunicações. Prof. André Y. Kusumoto andre_unip@kusumoto.com.br Telecomunicações Prof. André Y. Kusumoto andre_unip@kusumoto.com.br Rede de Telefonia Fixa Telefonia pode ser considerada a área do conhecimento que trata da transmissão de voz através de uma rede de telecomunicações.

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS

DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS Aluno: Fábio Bicalho de Araujo Orientador: Marco Antonio Grivet Matoso Maia Introdução Um fato da atualidade: o mundo está se tornando cada vez mais

Leia mais

Aula 1 - Introdução e configuração de ambiente de desenvolvimento

Aula 1 - Introdução e configuração de ambiente de desenvolvimento Aula 1 - Introdução e configuração de ambiente de desenvolvimento Olá, seja bem-vindo à primeira aula do curso para desenvolvedor de Android, neste curso você irá aprender a criar aplicativos para dispositivos

Leia mais

Redes de Dados e Comunicações. Prof.: Fernando Ascani

Redes de Dados e Comunicações. Prof.: Fernando Ascani Redes de Dados e Comunicações Prof.: Fernando Ascani Redes Wireless / Wi-Fi / IEEE 802.11 Em uma rede wireless, os adaptadores de rede em cada computador convertem os dados digitais para sinais de rádio,

Leia mais

Aula 1 - Redes de computadores 15

Aula 1 - Redes de computadores 15 Aula 1 - Redes de computadores Objetivos Compreender os conceitos iniciais de redes de computadores. Compreender as principais classificações de redes. Definir e diferenciar as principais topologias de

Leia mais

Sistemas Distribuídos. Introdução

Sistemas Distribuídos. Introdução Sistemas Distribuídos Introdução Definição Processos Um sistema distribuído é um conjunto de computadores independentes, interligados por uma rede de conexão, executando um software distribuído. Executados

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

APLICAÇÕES PARA CASAS INTELIGENTES EM AMBIENTES PERVASIVOS

APLICAÇÕES PARA CASAS INTELIGENTES EM AMBIENTES PERVASIVOS APLICAÇÕES PARA CASAS INTELIGENTES EM AMBIENTES PERVASIVOS RESUMO Alessandro Lumertz Garcia 1 Anderson Yanzer Cabral 2 Este artigo apresenta tipos de aplicações que podem existir nas casas inteligentes,

Leia mais

Estrutura de um Rede de Comunicações. Redes e Sistemas Distribuídos. Tarefas realizadas pelo sistema de comunicação. Redes de comunicação de dados

Estrutura de um Rede de Comunicações. Redes e Sistemas Distribuídos. Tarefas realizadas pelo sistema de comunicação. Redes de comunicação de dados Estrutura de um Rede de Comunicações Profa.. Cristina Moreira Nunes Tarefas realizadas pelo sistema de comunicação Utilização do sistema de transmissão Geração de sinal Sincronização Formatação das mensagens

Leia mais

Fonte de Consulta: Sistemas de Informação e as Decisões Gerenciais na Era da Internet James A. O Brien NOTAS DE AULA

Fonte de Consulta: Sistemas de Informação e as Decisões Gerenciais na Era da Internet James A. O Brien NOTAS DE AULA NOTAS DE AULA 1. TENDÊNCIAS EM SISTEMAS DE MICROCOMPUTADORES Existem várias categorias principais de sistemas de computadores com uma diversidade de características e capacidades. Consequentemente, os

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores. Professor: Vilson Heck Junior Arquitetura de Computadores Professor: Vilson Heck Junior Agenda Conceitos Estrutura Funcionamento Arquitetura Tipos Atividades Barramentos Conceitos Como já discutimos, os principais componentes de um

Leia mais

Prof. Manuel A Rendón M

Prof. Manuel A Rendón M Prof. Manuel A Rendón M Kurose Redes de Computadores e a Internet Uma Abordagem Top-Down 5ª. Edição Pearson Cap.: 1 até 1.2.2 2.1.2 2.1.4 Como funciona uma rede? Existem princípios de orientação e estrutura?

Leia mais

Novas opções de Gerenciamento de Dispositivos do Windows *

Novas opções de Gerenciamento de Dispositivos do Windows * Informe Processadores Intel Core de 4ª geração e processadores Intel Atom Mobilidade com a Intel e o Windows 8.1* Novas opções de Gerenciamento de Dispositivos do Windows * O que levar em conta ao decidir

Leia mais

Manual do Usuário Microsoft Apps

Manual do Usuário Microsoft Apps Manual do Usuário Microsoft Apps Edição 1 2 Sobre os aplicativos da Microsoft Sobre os aplicativos da Microsoft Os aplicativos da Microsoft oferecem aplicativos para negócios para o seu telefone Nokia

Leia mais

Composição. Estrutura Fisica Redes Sistemas Operacionais Topologias de redes

Composição. Estrutura Fisica Redes Sistemas Operacionais Topologias de redes Composição Estrutura Fisica Redes Sistemas Operacionais Topologias de redes Aterramento Fio de boa qualidade A fiação deve ser com aterramento neutro (fio Terra) trabalhando em tomadas tripolares Fio negativo,

Leia mais

1. AULA 1 - INTRODUÇÃO À REDES DE COMPUTADORES

1. AULA 1 - INTRODUÇÃO À REDES DE COMPUTADORES 1. AULA 1 - INTRODUÇÃO À REDES DE COMPUTADORES Objetivos da Aula Aprender os conceitos básicos para compreensão das próximas aulas. Na maioria dos casos, os conceitos apresentados serão revistos com maior

Leia mais

Desenvolvimento de um Framework de Jogos 3D para Celulares

Desenvolvimento de um Framework de Jogos 3D para Celulares Desenvolvimento de um Framework de Jogos 3D para Celulares Fabrício Brasiliense Departamento de Informática e Estatística(INE) Universidade Federal de Santa Catarina (UFSC) Campus Universitário Trindade-

Leia mais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais Introdução Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Hardware Provê os recursos básicos de computação (CPU, memória, E/S,etc.) Programas (aplicações) Definem as maneiras

Leia mais

Automatizando o Data Center

Automatizando o Data Center Este artigo examina uma arquitetura alternativa que suporte a automação do data center e o provisionamento dinâmico sem a virtualização do sistema operacional. por Lori MacVittie Gerente Técnico de Marketing,

Leia mais

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

INFORMÁTICA IINTERNET / INTRANET

INFORMÁTICA IINTERNET / INTRANET INFORMÁTICA IINTERNET / INTRANET Objectivos História da Internet Definição de Internet Definição dos protocolos de comunicação Entender o que é o ISP (Internet Service Providers) Enumerar os equipamentos

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 02 História do desenvolvimento de software para dispositivos móveis Dalton Martins dmartins@gmail.com São

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 12 de agosto de 2010 Um sistema no qual componentes localizados em redes, se comunicam e coordenam suas ações somente por passagem de mensagens. Características:

Leia mais

TECNOLOGIA DA INFORMAÇÃO

TECNOLOGIA DA INFORMAÇÃO TECNOLOGIA DA INFORMAÇÃO TELECOMUNICAÇÕES As telecomunicações referem -se à transmissão eletrônica de sinais para as comunicações, incluindo meios como telefone, rádio e televisão. As telecomunicações

Leia mais

Novas opções do Gerenciamento de Dispositivos do Windows *

Novas opções do Gerenciamento de Dispositivos do Windows * Informe Processadores Intel Core de 4ª geração e processadores Intel Atom Mobilidade com a Intel e o Windows 8.1* Novas opções do Gerenciamento de Dispositivos do Windows * O que levar em conta ao decidir

Leia mais

www.smartptt.com.br e-mail: info@smartptt.com.br O SOFTWARE MOTORBO Suporte: e-mail: suporte@smartptt.com.br Suporte: Fone: +55 11 2914-3040

www.smartptt.com.br e-mail: info@smartptt.com.br O SOFTWARE MOTORBO Suporte: e-mail: suporte@smartptt.com.br Suporte: Fone: +55 11 2914-3040 O SOFTWARE MOTORBO Um sistema de controle de comunicações moderno não é composto apenas de hardware. Atualmente, software tem papel primordial. Com ele, é possível extrair todo o potencial disponibilizado

Leia mais

OptiView. Total integração Total controle Total Network SuperVision. Solução de Análise de Rede. Ninguém melhor que os. Engenheiros de Rede e a Fluke

OptiView. Total integração Total controle Total Network SuperVision. Solução de Análise de Rede. Ninguém melhor que os. Engenheiros de Rede e a Fluke Ninguém melhor que os OptiView Solução de Análise de Rede Total integração Total controle Total Network SuperVision Engenheiros de Rede e a Fluke Networks para saber o valor de uma solução integrada. Nossa

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com O que veremos hoje... Evolução Histórica Motivação Conceitos Características

Leia mais

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico Fundamentos de Java Prof. Marcelo Cohen 1. Histórico 1990 linguagem Oak; desenvolvimento de software embutido para eletrodomésticos S.O. para o controle de uma rede de eletrodomésticos o surgimento da

Leia mais

Introdução a Computação Móvel

Introdução a Computação Móvel Introdução a Computação Móvel Computação Móvel Prof. Me. Adauto Mendes adauto.inatel@gmail.com Histórico Em 1947 alguns engenheiros resolveram mudar o rumo da história da telefonia. Pensando em uma maneira

Leia mais

GUIA DE RECURSOS SMART

GUIA DE RECURSOS SMART GUIA DE RECURSOS SMART Características dos aplicativos da SMART TV 1.Android 4.2 dual-core smart TV 2.Conexão de rede (com fio/sem fio/pppoe/wlan HP) 3. Sync-View (opcional) 4. Multi-screen Interativa

Leia mais

Manual de Operação Aplicativo ClickIt

Manual de Operação Aplicativo ClickIt Manual de Operação Aplicativo ClickIt Rev. 1.1 Agosto/2010 GSControl Automação Ltda. Rua Washington Luiz, 675 ITC Conjunto 1101 Centro Porto Alegre RS CEP 90010-460 Telefone: (51)3026-0945 / (51)3287-2167

Leia mais

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

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

Uso de Virtual Lan (VLAN) para a disponibilidade em uma Rede de Campus

Uso de Virtual Lan (VLAN) para a disponibilidade em uma Rede de Campus Uso de Virtual Lan (VLAN) para a disponibilidade em uma Rede de Campus Edson Rodrigues da Silva Júnior. Curso de Redes e Segurança de Sistemas Pontifícia Universidade Católica do Paraná Curitiba, Fevereiro

Leia mais

COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr www.facom.ufu.br/~bacala/android

COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr www.facom.ufu.br/~bacala/android COMPUTAÇÃO MÓVEL Prof. M.Sc Sílvio Bacalá Jr www.facom.ufu.br/~bacala/android O que é computação Móvel Acesso à informação a qualquer lugar, a qualquer momento. O que é computação Móvel Tecnicamente: Processamento

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

O poder da colaboração e da comunicação baseadas na Nuvem

O poder da colaboração e da comunicação baseadas na Nuvem O poder da colaboração e da comunicação baseadas na Nuvem O Microsoft Office 365 é a suíte de Produtividade da Microsoft, que oferece as vantagens da Nuvem a empresas de todos os tamanhos, ajudando-as

Leia mais

Arquitetura de uma Rede JXTA

Arquitetura de uma Rede JXTA Page 1 of 6 Redes de Proteção SP Produtos de Rede Confiança e credibilidade. fone Produtos TrendNet: qualidade, (011) 6197-0707 garantia e ótimo custo/benefício. www.tudoderedesdeprotecao.com.br http://www.trendware.com.br

Leia mais

Redes Sem Fio e Móveis

Redes Sem Fio e Móveis Telecomunicação Redes Sem Fio e Móveis Geraldo Robson. Mateus Departamento de Ciência da Computação Universidade Federal de Minas Gerais Belo Horizonte - MG Tecnologia de comunicação à distância que possibilita

Leia mais

Iniciativa para Identificação de Oportunidades Tecnológicas para o Desenvolvimento da Internet do Futuro. Tania Regina Tronco

Iniciativa para Identificação de Oportunidades Tecnológicas para o Desenvolvimento da Internet do Futuro. Tania Regina Tronco Iniciativa para Identificação de Oportunidades Tecnológicas para o Desenvolvimento da Internet do Futuro Tania Regina Tronco Data: 15/04/2009 Motivadores A evolução da Internet causará um forte impacto

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Evolução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Componentes de um sistema computacional Conceituação Características desejáveis Organização

Leia mais

Interfaces Dinâmicas e Adaptativas para Celulares

Interfaces Dinâmicas e Adaptativas para Celulares Interfaces Dinâmicas e Adaptativas para Celulares Flavio Henrique Cardoso de Freitas, Silvano Maneck Malfatti Faculdade Católica do Tocantins (FACTO) Palmas TO Brasil {flaviohcf,silvanomalfatti}@hotmail.com

Leia mais

Unidade 1. Bibliografia da disciplina 15/11/2008. Curso Superior de Tecnologia: Banco de Dados Redes de Computadores

Unidade 1. Bibliografia da disciplina 15/11/2008. Curso Superior de Tecnologia: Banco de Dados Redes de Computadores Faculdade INED Curso Superior de Tecnologia: Banco de Dados Redes de Computadores Disciplina: Redes de Computadores Prof.: Fernando Hadad Zaidan 1 Unidade 1 Conceitos básicos de Redes de Computadores 2

Leia mais

WPAN ZigBee & Bluetooth SDIC Cap6. Redes Sem Fios

WPAN ZigBee & Bluetooth SDIC Cap6. Redes Sem Fios Redes Sem Fios As recomendações do IEEE (Institute of Electrical and Eletronics Engineers), particularmente as recomendações da série IEEE 802.11, são os exemplos mais conhecidos para os padrões de redes

Leia mais

Claudivan C. Lopes claudivan@ifpb.edu.br

Claudivan C. Lopes claudivan@ifpb.edu.br Claudivan C. Lopes claudivan@ifpb.edu.br Por que redes de computadores? Tipos de redes Componentes de uma rede IFPB/Patos - Prof. Claudivan 2 Quando o assunto é informática, é impossível não pensar em

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

Tipos de Sistemas Distribuídos (Cluster e Grid) Tipos de Sistemas Distribuídos (Cluster e Grid) Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência

Leia mais

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

RHOELEMENTS MOTOROLA DESENVOLVA MENOS. FAÇA MAIS.

RHOELEMENTS MOTOROLA DESENVOLVA MENOS. FAÇA MAIS. RHOELEMENTS MOTOROLA DESENVOLVA MENOS. FAÇA MAIS. RHOELEMENTS MOTOROLA FOLHETO COM TANTOS EQUIPAMENTOS MÓVEIS... VOCÊ, DEFINITIVAMENTE, QUER CRIAR UM APLICATIVO COMPATÍVEL COM TODOS ELES. COM RHOELEMENTS,

Leia mais

Thin Clients : aumentando o potencial dos sistemas SCADA

Thin Clients : aumentando o potencial dos sistemas SCADA Artigos Técnicos Thin Clients : aumentando o potencial dos sistemas SCADA Tarcísio Romero de Oliveira, Engenheiro de Vendas e Aplicações da Intellution/Aquarius Automação Industrial Ltda. Um diagnóstico

Leia mais

Atualmente dedica-se à Teleco e à prestação de serviços de consultoria em telecomunicações.

Atualmente dedica-se à Teleco e à prestação de serviços de consultoria em telecomunicações. Roteiro de Estudos Redes PAN II O Portal Teleco apresenta periodicamente Roteiros de Estudo sobre os principais temas das Telecomunicações. Os roteiros apresentam uma sugestão de tutoriais publicados para

Leia mais

Questão em foco: Mobilidade no PLM. Reduzindo as barreiras à inovação e à tomada de decisões de engenharia

Questão em foco: Mobilidade no PLM. Reduzindo as barreiras à inovação e à tomada de decisões de engenharia Questão em foco: Mobilidade no PLM Reduzindo as barreiras à inovação e à tomada de decisões de engenharia Tech-Clarity, Inc. 2011 Índice Introdução da questão... 3 O valor da mobilidade para a engenharia...

Leia mais

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro Introdução Sistemas Operacionais 1 Sistema Operacional: Um conjunto de programas, executado pelo computador como os outros programas. Função: Controlar o funcionamento do computador, disponibilizando seus

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

Curso Técnico de Nível Médio

Curso Técnico de Nível Médio Curso Técnico de Nível Médio Disciplina: Informática Básica 3. Software Prof. Ronaldo Software Formado por um conjunto de instruções (algoritmos) e suas representações para o

Leia mais

Tipos de Rede. Maria João Bastos MegaExpansão 16-03-2010

Tipos de Rede. Maria João Bastos MegaExpansão 16-03-2010 2010 Tipos de Rede Maria João Bastos MegaExpansão 16-03-2010 REDES Em computação, rede de área local (ou LAN, acrónimo de local área network) é uma rede de computador utilizada na interconexão de equipamentos

Leia mais

UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE INFORMÁTICA. Pizzaria Manão

UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE INFORMÁTICA. Pizzaria Manão UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE INFORMÁTICA Pizzaria Manão Emilio Gonçalves 41281 Fabrício Luís Santos da Silva 50293 Filipe Ribeiro Nalon 50295

Leia mais

COMPUTAÇÃO UBÍQUA, TECNOLOGIA SEM LIMITES

COMPUTAÇÃO UBÍQUA, TECNOLOGIA SEM LIMITES COMPUTAÇÃO UBÍQUA, TECNOLOGIA SEM LIMITES Marcelo Kahl, Diogo Floriano marcelo.kahl@gmail.com, dioogo.fl@hotmail.com Prof. Eliana V. Jaeger, Metodologia da Pesquisa Científica RESUMO: Este artigo tem como

Leia mais

SSC0748 - Redes Móveis

SSC0748 - Redes Móveis - Redes Móveis Introdução Redes sem fio e redes móveis Prof. Jó Ueyama Agosto/2012 1 Capítulo 6 - Resumo 6.1 Introdução Redes Sem fo 6.2 Enlaces sem fo, características 6.3 IEEE 802.11 LANs sem fo ( wi-f

Leia mais