Você está na página 1de 10

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

tecnologias
Carlos Eduardo Cirilo
Departamento de Computação – Universidade Federal de São Carlos
Rodovia Washington Luis, km 235 – CEP 13.565-905
São Carlos, SP, Brasil
carlos_cirilo@dc.ufscar.br

RESUMO utilizar os serviços que um computador oferece independente de


A computação ubíqua abrange um modelo de computação sua localização física. Assim, tem-se um aumento da
no qual usuários móveis, serviços e recursos são capazes de capacidade de mover fisicamente serviços computacionais
descobrir outros usuários, serviços e recursos. A idéia básica é juntamente com o usuário em movimento, transformando a
que a computação mova-se para fora das estações de trabalho e computação numa atividade que pode ser carregada para
computadores pessoais e torne-se pervasiva em nossa vida qualquer lugar. No entanto, existem certas limitações nessa
cotidiana. Uma série de princípios e tecnologias que estão por abordagem. A principal limitação da computação móvel é que o
trás desse paradigma computacional devem ser mantidos em dispositivo não possui a capacidade de obter de forma flexível
mente para o desenvolvimento de aplicações e dispositivos informações sobre o contexto em que a computação ocorre e
ubíquos. 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
Palavras-chave boa parte os usuários [1].
Computação ubíqua, mobilidade, tecnologia embarcada, redes Já o conceito de computação pervasiva implica que o
sem fio, tecnologias de desenvolvimento, IHC, descoberta de computador está embarcado ao ambiente de forma invisível
serviços. para o usuário, tendo a capacidade de obter informações acerca
do ambiente circundante e utilizá-la para controlar, configurar e
1. INTRODUÇÃO ajustar a aplicação para melhor se adequar às características do
Nos dias atuais, com a convergência das tecnologias de ambiente. O ambiente também pode e deve ser capaz de
rádio, dos microprocessadores e dos dispositivos eletrônicos detectar outros dispositivos que adentrem a ele. Dessa interação
digitais de uso pessoal, tornou-se possível fazer com que os surge a capacidade de computadores agirem de forma
dispositivos com certo poder de processamento computacional, “inteligente” no ambiente em que o usuário se locomove, sendo
tanto móveis quanto estacionários, cooperem entre si para esse ambiente saturado por sensores e serviços computacionais
fornecer ao usuário acesso instantâneo a novos serviços de [1]. A computação pervasiva postula quatro paradigmas
forma transparente. Essa característica levou ao surgimento do fundamentais [4]:
conceito de ubiqüidade na computação [1]. • Descentralização: durante a era mainframe,
A computação ubíqua abrange um modelo de computação computadores superpoderosos forneciam suas capacidade
no qual usuários móveis, serviços e recursos são capazes de de processamento para “terminais burros”. Com o advento
descobrir outros usuários, serviços e recursos. Nesse paradigma dos computadores pessoais (PCs), a arquitetura cliente-
computacional, as responsabilidades pela execução de servidor foi introduzida, deslocando o poder
determinado serviço necessário para o usuário são distribuídas computacional do servidor para as estações de trabalho
entre uma variedade de dispositivos, cada qual com suas tarefas clientes. A computação pervasiva deu um passo ainda
e funcionalidades específicas. maior, distribuindo responsabilidades entre uma variedade
Este artigo apresenta os principais conceitos que giram em de dispositivos, cada qual com suas tarefas e
torno da computação ubíqua, apresentando sua definição, funcionalidades específicas. Cada uma dessas entidades
princípios e tecnologias envolvidos. autônomas contribuem para um ambiente computacional
heterogêneo, cooperando-se entre si como uma
2. COMPUTAÇÃO UBÍQUA comunidade mútua e estabelecendo redes dinâmicas de
relacionamento. Uma nova tarefa que emerge a partir
2.1. Mobilidade e Tecnologia Embarcada dessa descentralização é a sincronização das atualizações
Por ser uma área de pesquisa emergente, algumas pessoas de informação entre os variados dispositivos. As bases de
utilizam os termos computação pervasiva1 , computação ubíqua, dados presentes nos dispositivos com diferentes
computação nomádica, computação móvel e tantos outros como capacidades e recursos limitados devem se manter
sinônimos. Contudo, existem diferenças conceituais entre eles, consistentes.
conforme elucidado abaixo [2].
• Diversificação: na computação pervasiva existe um clara
A computação móvel consiste em sistemas computacionais
tendência em adotar dispositivos que melhor se adéquam
distribuídos em diferentes dispositivos que comunicam-se entre
aos requisitos de um determinado grupo de usuários para
si através de uma rede de comunicação sem fio, o que permite a
desempenhar uma tarefa específica, ao invés de
mobilidade desses aparelhos [3]. O usuário, então, é capaz de
computador de propósito geral. Um dos maiores desafios
1
que surgem daí é como gerenciar as mais díspares
O termo “pervasivo” não existe no vocabulário da língua portuguesa. capacidades desses mais variados dispositivos. Cada um
Entretanto, como tem sido amplamente adotado com termo fornece uma plataforma com suas próprias características,
emergente na literatura da área em português, “pervasivo” será usado o que faz com que se torne difícil prover aplicações
neste texto como a tradução do inglês “pervasive”, cuja definição é homogêneas entre eles.
apresentada no decorrer deste trabalho.
• Conectividade: múltiplos dispositivos estão de certa visionou há um pouco mais de uma década que, no futuro,
forma ligados uns aos outros. Não há limites: eles trocam computadores estariam presentes nos mais comuns objetos do
informações entre si através de infravermelho, podem ser dia-a-dia: etiquetas de roupas, xícaras de café, interruptores de
conectados com plugs, comunicam-se via rede sem fio, luz, canetas, etc, de forma invisível para o usuário. Neste
etc. Emails podem ser trocados entre dispositivos mundo de Weiser, é necessário aprender a conviver com
heterogêneos. Documentos podem viajar através de redes computadores, e não somente interagir com eles [5].
e ser acessíveis de qualquer lugar. Celulares GSM se
beneficiam dos acordos de roaming2 internacionais, o que
permite que se conectem em redes de comunicação Computação Computação Computação
diferentes de suas redes nativas. Um handheld pode se Pervasiva Ubíqua Móvel
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 Figura 1 - Relação entre computação pervasiva, ubíqua e móvel
momento, isso pode parecer contrário à diversificação [1]
descrita anteriormente. Questões de especificidade de
plataforma são os maiores obstáculos para aplicações e A Tabela 1 apresenta as dimensões das computações
intercâmbio de informações: a capacidade de pervasiva, móvel e ubíqua. O grau de embarcamento refere-se,
armazenamento entre os dispositivos são diferentes; de forma geral, o grau de inteligência dos computadores,
processadores distintos impõem diferentes restrições de embutidos em um ambiente pervasivo, para detectar, explorar e
desempenho e uso de memória; sistemas operacionais são construir dinamicamente modelos computacionais de seus
numerosos e freqüentemente são executados em um ambientes:
dispositivo em particular; o tamanho e a forma dos
dispositivos requerem diferentes plugs, e assim por Tabela 1- Dimensões da Computação Ubíqua [2]
diante. Uma abordagem para alcançar a conectividade e
Computação Computação Computação
interoperabilidade é a adoção de padrões. Isso resulta em
Pervasiva Móvel Ubíqua
uma importante tarefa para a indústria de Tecnologia da Mobilidade Baixa Alta Alta
Informação (TI): padrões abertos devem ser estabelecidos
Grau de
e preparados para enfrentar as demandas dos mais “embarcamento”
Alto Baixo Alta
diversos dispositivos. Padrões de comunicação,
linguagens de marcação e software independente de Mas, quem seria responsável pela adaptação do modelo
plataforma devem ser integrados para formar a base da computacional de acordo com o ambiente: a aplicação, o
interoperabilidade. Novos padrões como WAP, UMTS, dispositivo, ou ambos? Existem duas abordagens opostas para
Bluetooth ou IrDA foram criados por amplas iniciativas projetar sistemas adaptativos: application-transparent (o
da indústria, os quais definem os protocolos de dispositivo é inteiramente responsável pela adaptação) e laissez-
comunicação necessários, bem como as conexões físicas faire (o dispositivo não provê nenhum suporte para adapatação)
subjacentes. [6]. Obviamente, a segunda abordagem não é desejável. No
• Simplicidade: como mencionado anteriormente, os entanto, a primeira abordagem também não é o suficiente para
dispositivos pervasivos são ferramentas bastante prover adaptação adequada. Para tornar claro, considere o
especializada que não são elaborados para uso específico. seguinte caso de duas aplicações multimídia distintas: em uma o
De um ponto de vista de usabilidade, eles devem usuário está assistindo a uma conferência usando um dispositivo
desempenhar bem as tarefas para as quais foram móvel, e na outra o usuário está assistindo a um vídeo ao vivo
designados. Isso delineia o quarto paradigma da recebido de um servidor remoto também em seu dispositivo
computação ubíqua: atingir a simplicidade no uso. As móvel. Agora considere os seguintes cenários: no primeiro, o
palavras-chave aqui são: disponibilidade, conveniência e usuário se move de uma área com largura de banda suficiente
facilidade de uso. Acesso à informação e gerenciamento para sua aplicação para outra área onde a largura de banda
devem ser desempenhados sem gastar tempo significativo disponível é insuficiente para a aplicação. No segundo cenário,
para aprender como usar a tecnologia. Qualquer a bateria do dispositivo do usuário esgota-se rapidamente.
computador de qualquer forma deve ser uma ferramenta Ambos cenários lidam com mudanças na disponibilidade de
simples e facilmente acessível na vida diária, assim como recursos.
um telefone é hoje. Na abordagem application-tranparent, o dispositivo poderia
A computação ubíqua, por sua vez, integra mobilidade em se comportar da mesma maneira, seja qual for a aplicação que
larga escala com a funcionalidade da computação pervasiva, estiver sendo executada. Entretanto, diferentes reações podem
isto é, qualquer dispositivo computacional, sob posse de um ser desejáveis de acordo com o tipo de aplicação executada. Por
usuário em movimento, pode construir, dinamicamente, exemplo, no primeiro cenário, um dispositivo não adaptativo
modelos computacionais do ambiente em que está inserido e poderia não fazer nada e deixar a qualidade de áudio e vídeo
configurar seus serviços dependendo da necessidade (Figura 1). prejudicada. No segundo cenário, o dispositivo apenas daria um
A idéia básica é que a computação move-se para fora das alerta de bateria fraca para o usuário sem qualquer assistência
estações de trabalho e PCs e torna-se pervasiva no cotidiano dos de como contornar a situação. Por outro lado, com um
indivíduos. Marc Weiser, idealizador da computação ubíqua, dispositivo adaptativo, vários comportamentos podem ser
esperados, cada qual sendo desempenhado da melhor forma de
2
Termo originado no padrão GSM que designa a habilidade de um acordo com a situação. Por exemplo, no primeiro cenário, o
usuário de uma rede em obter conectividade em áreas fora da dispositivo poderia tentar se adaptar requisitando que o servidor
localidade geográfica onde está registrado, ou seja, obtendo diminua a qualidade de vídeo em decorrência da menor largura
conectividade através de uma outra rede onde é visitante. A rede que de banda. No segundo cenário, o dispositivo pode tentar
está sendo visitada pode ou não pertencer à mesma operadora de conservar a bateria reduzindo o brilho da tela (além de alertar o
telefonia celular.
usuário quanto ao baixo nível de energia). Diante disso, em uma outras de forma que interferências estejam dentro de limites
abordagem ainda mais adaptativa, é possível que o dispositivo toleráveis [9].
interaja com a aplicação para que esta decida como se adaptar. Com a evolução da tecnologia de rádio, novas gerações de
Logo, numa abordagem application-aware, a aplicação sistemas celulares têm surgido e oferecido serviços multimídia
colabora com o sistema de software subjacente, o qual lhe mais sofisticados de comunicação pessoal. Hoje, por exemplo,
fornece informações de status sobre os recursos disponíveis. A os celulares de terceira geração representam a convergência das
aplicação utiliza essas informações para tomar decisões de seguintes tecnologias: Internet (navegação web, e-mail,
como se adaptar às mudanças na disponibilidade dos recursos. informações, m-commerce), telefonia (voz, vídeo, fax etc) e
Cada aplicação pode se adaptar de sua própria maneira. A mídia de difusão (TV, rádio, entretenimento e informação,
Figura 2 ilustra o espectro das estratégias de adaptação serviços de localização) para o suporte a seis grande classes de
disponíveis. serviços: voz, mensagens, comutação de dados, multimídia,
Application-aware multimídia de alto padrão e multimídia interativa de alto nível
(colaboração entre
dispositivo e a aplicação)
[1].
Existem quatro grandes tipos de sistemas celulares [10]:
• PDC/JDC – Personal Digital Cellular ou Japanese Digital
Laissez-faire Application-transparent
(nenhum suporte (dispositivo inteiramente Cellular. (Amplamente implantado no Japão);
do dispositivo) responsável) • TDMA (D-AMPS/IS-54/IS-136) - Implantado nos EUA e
Figura 2 – Espectro das estratégias de adaptação [6] América do Sul;
• CDMA (IS-95) – amplamente implantado nos EUA;
2.2. Tecnologias de Rede Sem Fio • GSM – Global System for Mobile Communication.
A conectividade é um dos aspectos chave dentro da Padrão desenvolvido na Europa e implantado amplamente
computação ubíqua. Uma rede de comunicação sem fio é no mundo todo.
necessária para permitir mobilidade aos dispositivos Uma comparação entre as gerações de sistemas celulares
comunicantes em um ambiente de computação ubíqua [3]. está resumida Tabela 2:
O conceito da comunicação de qualquer lugar e a qualquer
momento é o conceito das redes que oferecem serviços de Tabela 2 – Comparação entre as gerações de celulares [11]
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 2.2.2. Redes Sem Fio de Curta e Média
comunicação sem fio de curta e média distância, tais como o Distância
Bluetooth, Wi-Fi e HomeRF, juntamente com as redes de longa O objetivo maior das redes de longa distância vistas acima é
distância, compõem uma estrutura básica de suporte aos o provimento de serviços de comunicação pessoal que permitam
sistemas de computação ubíqua [1]. Essas tecnologias são ao usuário acessar, de forma única, serviços sofisticados de
descritas sucintamente a seguir. qualquer lugar do mundo e a qualquer momento. Estes serviços
atendem parte dos requisitos de comunicação da computação
2.2.1. Redes Sem Fio de Longa Distância ubíqua. Um outro requisito é a provisão da comunicação dentro
de ambientes fechados, como uma sala, de tal forma que
WiMAX dispositivos de um lado da sala possam se comunicar com
WiMAX (Worldwide Interoperability for Microwave dispositivos do outro lado [1].
Access) é uma tecnologia de acesso de banda larga sem fio de
longa distância, baseado no padrão IEEE 802.16, tipicamente DECT
oferecendo 10 Mbps em até 10 Km, embora velocidades de até O DECT (Digital Enhanced Cordless Telecommunications)
70 Mbps são alcançáveis sobre 10 Km [7]. WiMAX suporta foi projetado pela ETSI para ser usado como um padrão de
Qualidade de Serviços (QoS) total, largura de banda sob conexão sem fio para telefones e outros equipamentos de
demanda e é orientado a conexão. Além disso, suporta controle escritório. Nos Estados Unidos, o DECT algumas vezes é
centralizado e oferece suporte multimídia [8]. conhecido como Personal Wireless Telecommunications (PWT)
[4].
Sistemas Celulares O padrão DECT é bem completo, abrangendo a interface
A tecnologia de rádio celular digital é a mais interessante com o usuário com funções como transferência de chamada e
tecnologia para conectividade de longa distância para teleconferência, assim como a interface de ar. Ele permite
dispositivos ubíquos [4]. interoperabilidade entre handsets DECT e estações base [4].
Um único sistema celular interconecta várias pequenas Um sistema DECT é composto por uma estação base e pelo
áreas de cobertura de rádio, denominadas “células”. A idéia menos um handset. O padrão DECT define capacidade
básica do sistema celular é o reuso da freqüência, que permite suficiente para a interface de ar para permitir conversas
que um mesmo conjunto de canais possa ser reutilizado em simultâneas entre handsets internos e entre partes internas e
áreas geográficas diferentes, distantes o suficiente umas das
externas. O conceito DECT também suporta outros dispositivos impressoras, scanners, etc.), além de PDAs, relógios,
de escritório, tais como aparelhos de fax e telefones sem fio [4]. equipamentos industriais, etc [1][4].

Bluetooth HomeRF
O Bluetooth é uma tecnologia para conexão sem fio de A tecnologia HomeRF foi projetada tendo em mente redes
curta distância entre dispositivos. A conexão sem fio para pequenas de baixo tráfego, em residências e pequenos
comunicações locais surgiu de uma necessidade de eliminar os ambientes comerciais. Visa à comunicação entre o PC e seus
fios que ligam dispositivos a acessórios. A Ericsson foi uma das periféricos, bem como entre dispositivos inteligentes de uma
primeiras empresas a reconhecer essa necessidade e, a partir residência. Ela não é projetada para a comunicação entre
daí, a identificar outras aplicações com enorme potencial, tais dispositivos portáteis (outras tecnologias, como o Bluetooth,
como: um telefone móvel se comunicando com uma são melhores para isso), tampouco para a formação de redes ad
impressora, ou um PDA se comunicando com o PC para hoc (imediatas) – é do tipo de rede “configure-a e deixe-a” [12].
realizar alguma tarefa, sem qualquer configuração ou Algumas versões da HomeRF suportam velocidades de até
intervenção manual do usuário [1]. 10Mbps. As conexões são do tipo ponto-a-ponto com alcance
Em 1994 a Ericsson envidou esforços com o objetivo de de 25 a 60 metros. Permite diversas redes no mesmo ambiente
criar uma tecnologia de comunicação sem fio de baixo custo físico, com suporte de até 127 dispositivos por rede. Como tem
para telefones móveis e seus dispositivos periféricos. No ano de alto consumo de energia, não é adequada para utilização em
1998, IBM, Toshiba, Nokia e Intel juntaram-se à Ericsson para dispositivos portáteis. Não se integra facilmente a outras redes
desenvolver a especificação de um padrão global aberto para a sem fio existentes. Entretanto, seu custo é relativamente baixo
conectividade sem fio entre os dispositivos de telecomunicações (menos de $200 dólares por dispositivo), é fácil de instalar,
e os de computação. Esta especificação foi denominada além de não exigir ponto de acesso [1].
Bluetooth [1][4]. A HomeRF pode coexistir com o Bluetooth da seguinte
Os mais importantes pontos de projeto do Bluetooth são o maneira: Bluetooth para substituir o cabeamento doméstico, por
baixo consumo de energia, baixo custo e a habilidade de exemplo, entre o PC e seus periféricos e a HomeRF como rede
suportar redes ad hoc de alta velocidade. Com uma taxa de local de interconexão, por exemplo, entre mais de um PC [1].
dados básica de 1 Mbps, o Bluetooth é adequado para
interconexão de computadores pessoais com impressoras, WiFi
scanners, teclados e outros dispositivos. O canal de O Instituto dos Engenheiros Elétricos e Eletrônicos - IEEE
comunicação também é adequado para conexões de voz em desenvolveu uma especificação de rede local sem fio,
tempo real entre um headset e um telefone móvel [4]. denominada 802.11, ou ainda Wi-Fi.
As redes 802.11 são rápidas, confiáveis e têm alcance de até
IrDA 100 metros, que pode ser ainda maior em áreas abertas. Do lado
A Associação de Dados Infravermelho – IrDA (Infrared negativo, exigem hardware de ponto de acesso para a
Data Association) estabeleceu vários padrões de comunicação interconexão entre os dispositivos da rede, que tem um custo
através de luz infravermelha, onde o IrDA-Data e o IrMC são os relativamente alto (equipamentos mais sofisticados podem
mais importantes. A tecnologia infravermelha suporta apenas custar acima de $1200). Esses pontos de acesso podem ter
conexão ponto-a-ponto. Tem alcance de curta distância, de até suporte para conexões Ethernet comum, tornando a 802.11
um metro, com ângulo estreito entre o transmissor e o receptor facilmente integrável com outras redes Ethernet com fio em
– o cone de visão é de 30°. Qualquer sinal fora deste angulo não uma corporação). Além disso, não suporta serviços de telefonia,
será recebido – os patrocinadores do IrDA sustentam que o sendo um padrão de uso estrito para a comunicação de dados –
IrDA deverá suportar um angulo de visão de 60°, o que serviços de voz podem ser suportados pela 802.11 quando a voz
possibilitaria suporte a um numero maior de serviços, tais é transmitida como dado, como é o caso na tecnologia de voz
como: a conexão de mouse, joystick, etc., no PC. O início da sobre IP [1].
troca de dados requer que os dispositivos estejam em linha
direta de visão, uma vez que os raios infravermelho não ZigBee
atravessam objetos sólidos. Essas duas últimas características da ZigBee utiliza pequenos sinais de rádio digital de baixo
tecnologia infravermelha mencionadas representam as suas consumo de energia baseado no padrão IEEE 802.15.4 para
maiores desvantagens [1]. WPAN (Wireless Personal Area Networks) como uma técnica
O IrDA é uma tecnologia similar o Bluetooth no que diz de sinalização na qual um nó continuamente transmite pequenos
respeito a comunicação de curta distância. No entanto, existem pacotes para anunciar sua presença a outras unidades móveis
diferenças significativas devido às características da tecnologia [8].
de transporte. Os emissores de luz infravermelha no IrDA são Os protocolos do ZigBee foram projetados para uso em
equipamentos direcionais, o que significa que dois dispositivos aplicações embarcadas que requerem baixas taxas de dados e
que desejam se comunicar devem estar apontados um para o baixo consumo de energia e pouca latência. O foco real do
outro para que a comunicação seja realizada com êxito. Já os ZibBee é definir uma rede mesh de propósito geral, barata, auto-
transmissores de rádio no Bluetooth são dispositivos organizada que possa ser usada para controle industrial,
onidirecionais (que se propaga em todas as direções), o que sensoriamento embarcado, coleta de dados médicos, alerta de
significa que um número de pessoas em dado ambiente que fumaça e intrusos, automação de construções e automação
possuem dispositivos Bluetooth podem interagir com os doméstica. A rede resultante irá utilizar muito pouca energia,
dispositivos umas das outras independente se o dispositivo assim dispositivos individuais deverão permanecer ligados por
estiver visível em suas mãos ou guardado no bolso de alguém um ano ou dois utilizando a bateria original [8].
[4].
Além da característica direcional, o IrDA oferece altas taxas UWB
de dados de 4 Mbps, além de ser um tecnologia barata (menos UWB (Ultra-Wideband) é uma tecnologia para transmitir
de $5). Tipicamente, os dispositivos que utilizam a conexão informação a taxas de dados que excedam 100 Mbps,
IrDA são os periféricos de computadores (modems, distribuída sobre uma ampla largura de banda sobre curtas
distâncias. Essa tecnologia é projetada para fornecer um uso
eficiente da escassa largura de banda de rádio enquanto permite acender/apagar lâmpadas específicas em horários
conectividade sem fio com alta taxa de dados [8]. específicos etc), a controle de comodidades para o usuário
É uma tecnologia de rede sem fio para redes de área (sensores de temperatura, atuadores para
pessoal, conhecidas por PAN (Personal Area Network), ou seja, ligar/desligar/programar sistemas de
usando aparelhos sem fio próximo ao usuário, como por aquecimento/resfriamento de ambiente residencial etc.).
exemplo, impressoras, mouse, teclado ou MP3 Player com no Os controles são conectados a redes domésticas e
máximo 10 metros de distância [13]. gerenciados local ou remotamente, através da Web ou
applets Java, em aplicações locais.
2.3. Dispositivos • Sistemas de entretenimento: Os sistemas de
Os dispositivos ubíquos combinam os quatro paradigmas da entretenimento envolvem dispositivos cujo uso é voltado
computação pervasiva apresentados anteriormente: eles são principalmente ao lazer. Exemplos incluem: TV (via cabo,
fortemente descentralizados, diversificados, conectados e satélite, microondas), Set-top-boxes (caixa sobre a TV
simples de usar [4]. que promove a interface entre os provedores do serviço de
Muitos dispositivos são produzidos em massa com o intuito difusão e a TV do consumidor), Console de jogos
de abranger um grande escopo de usuários. Eles fornecem (exemplos: Dreamcast da Sega, Playstation2 da Sony,
soluções amplamente aplicáveis no domínio de uso pessoal e Dolphin da Nintendo e X-box da Microsoft), câmeras
profissional, como email, acesso à Internet, jogos, etc. Outros digitais, brinquedos inteligentes, reprodutores de música
dispositivos estão focados em um segmento muito específico de MP3, etc.
utilização, como dispositivos de controle industrial aplicados Claro que muitos dispositivos podem oferecer uma
em processos manufatureiros, dentre outros. Sua forma é combinação de aplicações e, dessa maneira, se encaixarem em
altamente customizada e executam aplicações específicas [4]. mais que uma dessas quatro categorias [4].
A existência de múltiplos dispositivos, seja para o acesso a
informação, ao entretenimento, embutidos em utensílios 2.4. Tecnologias de Desenvolvimento
domésticos, embarcados em ambientes inteligentes, etc, Como mencionado anteriormente, as aplicações ubíquas
constitui-se um dos desafios da computação ubíqua. Essa devem lidar com uma série de diferentes características de
incrível variedade de dispositivos pode ser estruturada em hardware dos dispositivos e mudanças de ambientes [4]. Devido
categorias, conforme segue [1][4]: a restrições físicas de memória, capacidade de processamento e
• Dispositivos de acesso à Informação: os dispositivos de bateria dos dispositivos, além da diversidade de tipos, alta
acesso à informação provêm comunicação entre usuários, latência das redes de comunicação sem fio, dentre outros, as
anotação, acesso à informação, etc, com o objetivo de aplicações para dispositivos ubíquos devem ser projetadas sem
estender as capacidades humanas, especialmente no perder de vista tais limitações. Os Sistemas Operacionais, por
trabalho. Dominantes nessa categoria estão os sua vez, devem ser projetados tendo em vista as características
organizadores de bolso portáteis chamados de Assistentes do dispositivo e o objetivo do uso. A computação ubíqua traz
Digitais Pessoais – PDAs. Eles são utilizados para novos requisitos para as infra-estruturas de serviço, ou
carregar informações relevantes e são aptos a se middlewares, tais como: descoberta de serviços, adaptação de
conectarem em redes inteligentes. Suas aplicações conteúdo, além de frameworks que atendam às necessidades
compreendem o Gerenciamento de Informações Pessoais específicas [1].
(PIM), o que inclui calendário, agenda de endereços e Muitos sistemas operacionais foram desenvolvidos para
funcionalidades de email. Além disso, outros dispositivos satisfazer às necessidades específicas da computação ubíqua:
que compreender a categoria de acesso à informação Google Android, Windows CE, Windows for Smart Cards,
podem ser citados, tais como: PCs de bolso, telefones Palm OS, EPOC, QNX, GEOS, e muitos outros. Todos eles
celulares, telefones de tela (convergência do telefone com rodam em dispositivos com pouca memória e a maioria são
terminal de acesso à Internet), smartphones, etc. projetados para executarem em muitas diferentes plataformas de
• Utensílios inteligentes: essa categoria abrange um amplo processadores [4].
escopo de utensílios familiares, os quais são melhorados No topo desses sistemas operacionais, os componentes
por embutirem mais inteligência e conectividade usando middlewares fornecem uma abstração das dependências
tecnologias ubíquas. No ambiente ubíquo, os utensílios específicas do sistema operacional, conforme ilustrado na
inteligentes interagem entre si para aumentar o conforto Figura 3 seguir.
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 Figura 3 – Camadas de software em um dispositivo [4]
integrados a lâmpadas, interruptores, termostatos,
sensores, atuadores, etc, em aplicações que variam desde Interfaces comuns entre as aplicações e componentes de
controle de segurança residencial (sensores em portas e software dedicados alavancam a portabilidade. Além de
janelas para detectar a entrada de intrusos, atuadores para bibliotecas e componentes proprietários, as iniciativas da
indústria estão desenvolvendo um crescente número de bibliotecas correspondentes podem ser trazidas da rede de
frameworks padronizados e Aplication Programming Interfaces forma dinâmica. Inclui MVs, bibliotecas de APIs, ferramentas
(APIs) direcionados a sistemas ubíquos [4]. para colocar aplicação no dispositivo, e configurá-lo [1][4].
Ao desenvolver aplicações para dispositivos ubíquos, os A edição JME é um conjunto de produtos, tecnologias,
programadores devem ter em mente as seguintes restrições: ferramentas e padrões necessários para criar aplicações para
• tamanho limitado da tela, capacidade limitada de entrada dispositivos ubíquos. Inclui suporte para desenvolvimento de
de dados, poder limitado de processamento, memória, aplicações no dispositivo e fora do dispositivo. O JME é
armazenamento persistente e vida da bateria; e disponível em duas versões [1][4]:
• alta latência, largura de banda limitada e conectividade • CLDC - Configuração de dispositivo limitado,
intermitente (o que os dispositivos esperam encontrar em conectado (Connected, Limited Device Configuration)
termos de conectividade). para telefones celulares, PDAs e set-top boxes de média
capacidade. Contém a máquina virtual KVM, um
2.4.1. Java para Ambientes Ubíquos interpretador de linguagem Java para microprocessadores
A independência de plataforma que a Java oferece, a grande de 16-bit ou 32-bit RISC/CISC em dispositivos com 128 a
quantidade de bibliotecas disponíveis (de suporte a construção 512KB RAM, e conexão de rede intermitente. Oferece
de interfaces gráficas a suporte de rede), e a existência de suporte total a linguagem Java (exceto ponto flutuante,
maquinas virtuais embutidas em vários dispositivos tornou a finalização e tratamento de erro). Contém versão
linguagem Java uma tecnologia chave para o desenvolvimento minimizada dos pacotes java.lang, java.io, and java.útil do
de software na computação ubíqua [4]. J2SE. Implementa API javax.microedition.io, para
A Figura 4 mostra como funciona a execução de programas conexões de rede (fones móveis e aparelhos de TV).
Java em diferentes dispositivos. O código em Java é compilado • CDC - Configuração de Dispositivo Conectado
num código neutro e padronizado denominado bytecode. O (Connected Device Configuration) permite desenvolver
sistema operacional de cada dispositivo alvo utiliza um aplicações para telefones de tela, set-top boxes, PDAs de
ambiente de execução Java (Java runtime environment – JRE) alta capacidade, pontos-de-venda, navegação automotiva
para interpretar e executar o bytecode gerado na compilação, em e utensílios domésticos. Contém uma máquina virtual
tempo de execução. Um interpretador de bytecode, também completa - CVM para microprocessadores de 32-bit
chamado de máquina virtual – VM, traduz as instruções RISC/CISC/DSP em dispositivos com memória ROM
genéricas em comandos nativos, específicos da máquina que maior que 512KB e memória RAM maior que 256KB, e
está executando a aplicação. Desta forma, qualquer dispositivo conexão de rede sempre ativa. É uma versão “enxuta” do
que contenha uma máquina virtual Java pode executar um Java Standar Edition (JSE) mais classes do CLDC. Possui
programa em Java sem que este tenha que ser recompilado. bibliotecas de UI restritas (telefones de tela, Set-top-
boxes).
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
Figura 4 – A execução do código Java em diferentes dispositivos persistente. Provê um ambiente de tempo de execução padrão
[1] que permite a colocação dinâmica de novos serviços e
aplicações nos dispositivos do usuário. O MIDP é um perfil
Como os requisitos das diferentes classes de computadores padrão comum para dispositivos moveis, independente de
são diferentes, uma linguagem Java de propósito geral que fabricante. É uma estrutura completa e de suporte para o
acomodasse todos esses requisitos diferentes estava tornando-se desenvolvimento de aplicações móveis.
insustentável. Então, a Sun Microsystems, quem inicialmente Três outras tecnologias são definidas para potencializar o
criou a tecnologia Java, decidiu dividir a linguagem em uso do Java: Java Card, Java Embarcado e Java para Tempo-
diferentes especificações. Cada uma das versões de Java possui Real [1]:
um Kit de Desenvolvimento de Software – SDK (Software
Development Kit) que implementa a versão correspondente. Java Card
Menor e mais limitada versão da família Java. Não suporta
JME – Micro Edition strings, interface gráfica, e possui formato de bytecode
Tem como objetivo atender os requisitos de dispositivos comprimido. O Fórum Java Card
ubíquos com as seguintes limitações: pouca memória, energia (http://www.javacardforum.org/) especifica o subconjunto da
limitada, conexão intermitente à rede; capacidades gráficas linguagem para smart cards. As MVs são construídas por
restritas, dentre outras. O JME introduz o conceito de Perfis, desenvolvedores de sistemas operacionais e ficam residentes na
que são subconjuntos da linguagem Java para diferentes grupos ROM do cartão.
de dispositivos, com o intuito de minimizar a quantidade de
memória requerida pelas bibliotecas de classes Java. É Java Embarcado
composto de funcionalidade básica mínima obrigatória. Classes Objetiva os controladores industriais, switches, e outros
adicionais, necessárias para suportar características típicas de dispositivos com restrições severas de memória, em dispositivos
um grupo especifico de dispositivos, são incluídas em um perfil com visor orientado a caractere ou sem visor. Não existe um
correspondente. Caso uma aplicação precise de funcionalidade core mínimo obrigatório – classes desnecessárias podem ser
adicional, não especificada no perfil do dispositivo, as omitidas, o que, naturalmente, limita a interoperabilidade.
comandos em um PC irão apenas necessitar de um simples
RTJS - Java para Tempo-Real aperto de uma tecla ou mesmo aceitar requisições de voz ou
O Java RTJS oferece suporte na criação de aplicações para possuir reconhecimento de escrita [4].
dispositivos automotivos, industriais etc, que exigem um Em seu influente e fascinante livro “O design do dia a dia”
comportamento de execução previsível. Resolve problemas de [16], Donald Norman, psicólogo cognitivo e pioneiro em
coleta de lixo, realiza escalonamento personalizado de usabilidade, descreveu o conceito de affordance, que se refere
processos e threads por compartilhamento de tempo, oferece às propriedades percebidas e reais de um objeto, principalmente
gerenciamento avançado de memória, além de prover acesso as propriedades fundamentais que determinam de que maneira o
direto à memória de sensores e atuadores, suporta a objeto poderia ser usado. As affordances fornecem fortes
sincronização de threads e objetos, trata eventos assíncronos e indicações para a operação dos objetos. Cadeiras são para
etc. sentar. Maçanetas são para girar. Interruptores são para
É bom manter em mente que Java não é a única opção para pressionar. Bolas são para atirar ou quicar, etc. Quando se tira
desenvolver aplicações para dispositivos ubíquos. Linguagens proveito das affordances, o usuário sabe o que fazer apenas ao
como C e C++ também podem ser consideradas [1]. A escolha olhar: não são necessárias imagens ilustrativas, rótulos ou
da linguagem adequada vai depender das características do instruções. Objetos complexos podem exigir explicações, mas
projeto. objetos simples não devem precisar deles. Quando objetos
simples precisam de imagens, rótulos ou instruções, o design
2.5. Interação Humano-Computador (IHC) fracassou.
Weiser e Seely Brown [14] usaram o termo “tecnologia Segundo Norman, o usuário precisa de ajuda, sendo que
calma” para descrever um importante aspecto de sua visão de apenas as coisas certas têm de ser visíveis a ele para indicar que
computação ubíqua: o fato de que a computação não deve peças devem ser operados e de que maneira, de forma a indicar
continuar a monopolizar a atenção do usuário. Em muitos casos, como o usuário deve interagir com o aparelho. A visibilidade
a atividade de computação deve silenciosamente ser executada indica o mapeamento entre as ações pretendidas e as operações
em segundo plano (sem que o usuário perceba) e tornar seu concretas. A visibilidade indica distinções cruciais, de modo
resultado acessível à percepção periférica do usuário de forma que se possa, por exemplo, diferenciar um recipiente de sal e
ubíqua. um de pimenta. A visibilidade dos efeitos das ações também é
Dessa maneira, os computadores tendem a se tornar mais e importante. É ela que indica se as luzes foram devidamente
mais “invisíveis” em nossas vidas. Assim como o minúsculo acendidas, se a tela de projeção foi baixada até a altura correta,
motor presente dentro de um CD player, o qual ninguém está se a temperatura da geladeira está ajustada corretamente, e
interessado em saber com funciona, um sistema computacional assim por diante. É a falta de visibilidade que torna tantos
construído dentro de um MP3 player que faz download de aparelhos controlados por computador tão difíceis de operar. E
músicas da Internet se tornará a coisa mais natural do mundo. é um excesso de visibilidade que torna o equipamento de som
Não importará se foi feito em Java ou qual o modo que a pilha ou o aparelho de DVD entupido de dispositivos e
TCP/IP foi implementada. Não é a tecnologia viabilizadora que sobrecarregado de aplicativos tão intimidantes para o usuário.
interessa, mas sim as aplicações e os serviços oferecidos terão a Todas essas características descritas por Norman são podem
maior influência visível em nossa cultura high-tech [4]. ser aplicadas para atender à simplicidade esperada dos
Logo, é precisos que as aplicações sejam simples e fáceis de dispositivos ubíquos. No entanto, simples não deve ser
utilizar a partir da perspectiva e do contexto do usuário. Esse é confundido com primitivo. A computação ubíqua provê uma
um dos quatro paradigmas pregados dentro da computação visão holística: hardware e software devem estar integrados sem
pervasiva/ubíqua: a simplicidade. A flexibilidade de um emendas e direcionados para necessidades bem específicas do
computador pessoal de propósito geral é certamente uma usuário final. A complexidade da tecnologia deve estar
façanha técnica. Porém, isso tem seu preço: esses computadores escondida por trás de uma interface com o usuário amigável.
estão se tornando incrivelmente complicados. Por exemplo, Alcançar a facilidade de uso intencionada requer esforços
muito das funcionalidades dos processadores de texto atuais substanciais no projeto e desenvolvimento das aplicações. Para
confundem a maioria dos usuários e reduz a facilidade de uso. obter acesso rápido a funções e aplicativos, hierarquias
Apesar da capacidade de plug-and-play, instalar um novo complicadas de menus e caixas de diálogo não são aceitáveis.
software geralmente é um desafio para usuários não Reconhecimento de fala, uso intuitivo, operações que requerem
especialistas [4]. o uso de apenas uma das mãos, inicialização rápida ou telas
Como já mencionado anteriormente, dispositivos ubíquos sensíveis ao toque são apenas algumas das características de
são ferramentas extremamente especializadas que são utilizadas interfaces com o usuários maduras. Fornecer todas elas em um
para um propósito específico e não geral. De um ponto de vista pequeno e barato dispositivo é definitivamente uma tarefa
de usabilidade, eles desempenham bem as tarefas para os quais desafiadora pra os desenvolvedores [4].
foram projetados. Nesses dispositivos, disponibilidade,
conveniência e facilidade de uso são pré-requisitos 2.6. Descoberta de Serviços
fundamentais. O acesso e o gerenciamento da informação No contexto de computação ubíqua, quando um cliente
devem ser realizados sem se gastar tempo significativo em móvel se move de um ambiente para outro, ele deseja conhecer
aprender como usar a tecnologia. A aceitação do usuário da quais são os serviços que estão disponíveis no novo contexto
interface fornecida pelo dispositivo terá grande impacto na em que se inseriu [3].
aceitação dos produtos e serviços oferecidos dentro da próxima Existe, então, uma grande necessidade por um mecanismo
geração da TI. Um computador, independente da forma em que que permita que os dispositivos em um determinado ambiente
foi fabricado, deve ser uma ferramenta facilmente acessível na interajam dinamicamente uns com os outros e ofereça serviços
vida diária, assim como um telefone é hoje. Enquanto seleção e para outros dispositivos, bem como torne viável que outros
educação apropriados dos grupos de usuários era requerida para dispositivos busquem por um tipo de serviço específico que
gerenciar a complexidade dos sistemas computacionais possa ser requisitado em determinado momento. Esta
tradicionais, computadores ubíquos são intuitivos de usar e não característica é chamada de descoberta de serviços [4].
deveriam sequer requerer a leitura de um manual. Processos que Diversas arquiteturas de software surgiram para tentar
hoje requerem procedimentos de instalação e levam vários solucionar este problema. Essas arquiteturas são essencialmente
frameworks de coordenação que sugerem certos modos e meios Se os fornecedores e solicitantes dos serviços são estáticos,
de interação entre dispositivos. Três das mais importantes então existe pouca necessidade para descoberta dinâmica de
arquiteturas são: Jini, Universal Plug and Play (UPnP) e serviços. A descoberta dinâmica de serviços4 é necessária para
Satutation – todas iniciativas de indústrias. A descoberta de permitir que solicitantes dos serviços mudem de fornecedores
serviços, em termos gerais, significa que um subconjunto das quando tanto um como outro são móveis, quando o acesso à
capacidade seguintes são suportadas por um dispositivo [1][4]: rede é intermitente e quando os fornecedores ou requisitantes
• Habilidade de anunciar sua presença à rede; falham. A descoberta dinâmica de serviços envolve a
• Descoberta automática de dispositivos na vizinhança e dissociação do fornecimento de serviços a partir de uma
também daqueles localizados remotamente; requisição e suporte a anúncios e descoberta dinâmicos de
• Habilidade de descrever seus serviços e reconhecer os fornecedores e solicitantes de serviços [8].
serviços (capacidades) dos outros dispositivos; Existem duas abordagens para anúncios e descoberta
• Capacidade de se auto-configurar sem a intervenção de dinâmicos de serviços: push e pull. Push utiliza broadcast ou
um administrador; multicast para anunciar as requisições de serviços disponíveis
• Interação com outros dispositivos na rede parar ou capacidades de serviços para uma certa quantidade de partes
desempenhar uma função. desconhecidas. Requisições de serviços e descrições de serviços
Um framework de coordenação pode fazer com que são subtipos de mensagens enviadas para receptores de
dispositivos tornem-se cientes uns dos outros. Para que isto mensagens desconhecidos pelo remetente. O solicitante ou o
ocorra, algum padrão deve ser seguido pelos dispositivos. Um fornecedor fazem o matching5. Pull utiliza pesquisas para
dos desafios na descoberta de serviços é manter o equilíbrio localizar ou procurar listas de requisições ou capacidades
entre as necessidades de padronização e a autonomia de previamente anunciadas para um diretório mantido por alguma
dispositivos [17]. terceira parte conhecida, por exemplo, Jini, UPnP, UDDI, etc. A
O fornecimento de serviços de aplicações para dispositivos terceira parte faz o matching. A vantagem dos diretórios sobre
inteligentes implica no gerenciamento de serviços distribuídos broadcasts é que eles minimizam o tráfego de rede relacionado
ao longo de um ciclo de vida completo, conforme ilustrado na ao serviço de descoberta. A desvantagem dos diretórios é que
Figura 5 abaixo, e não apenas etapas específicas, como a eles requerem a administração de uma terceira parte, o diretório
descoberta de serviços. O projeto de fornecimento de serviços deve estar sempre disponível e ter uma localização bem
deve lidar com acessos a serviços intermitentes e trocas entre conhecida para solicitantes e fornecedores de serviços o
diferentes instâncias de serviços, por exemplo, a saída de uma localizarem [8].
rede sem fio para entrar em outra rede sem fio. Existem dois Existem várias dimensões de projeto para especificar a
aspectos distintos para isso: primeiro, definir um modelo de seleção de serviços: baseado em requisição versus baseado em
ciclo de vida genérico para o fornecimento do serviços; e, capacidades versus baseado em objetivos; exata versus inexata e
segundo, gerenciar esse ciclo de vida [8]. sintática versus semântica. É mais comum fazer o matching das
requisições de um único usuário comparando-se as descrições
Anúncio, Descoberta,
Seleção, Configuração,
Invocação, Término, Remoção de de serviços de múltiplos fornecedores em diretórios. O oposto
Composição Registros
Composição 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
Criação Execução Dissolução
procuram por solicitantes de serviços com os quais eles estão
dispostos a fornecer o serviço (ver Figura 6).
Diretório

Manutenção 2. Pesquisa por 1. Registro dos


Serviços Serviços
Cliente Serviço
Reinvocação, Atualização das
Descrições, Reconfiguração, 3. Descoberta
Atualização da Composição
Blackboard

Figura 5 – Ciclo de vida do serviço [8] 1. Registro da 2. Pesquisa Por


Na fase de criação, os processos de serviço registram-se em Requisição Requisições

diretórios de serviços. Solicitantes dos serviços buscam por Cliente 4 3 Serviço


serviços. Os serviços são selecionados, configurados e serviços
Figura 6 – Descoberta de Serviços guiada por fornecedores
múltiplos necessitam ser compostos. Na fase de execução, os publicando descrições de serviços. Adaptado de [8]
serviços são invocados e múltiplos serviços interligados
necessitam de coordenação. Na fase de manutenção, os Seleção de serviços baseada em requisição geralmente
processos de serviço, configurações de acesso e composições de implica que os serviços que satisfaçam à requisição devem
serviços devem ser atualizados. Na fase de dissolução, os existir no ambiente circundante, ao invés de estarem
serviços são desativados ou encerrados temporariamente pelos internamente no dispositivo. Isso levanta a questão de como o
próprios processos ou por solicitantes. Os serviços também solicitante de um serviço sabe se o serviço pode ou não pode
podem ser terminados permanentemente e removidos [8].

2.6.1. Anúncio, Descoberta3, Seleção e 4


O escopo do termo descoberta de serviços varia dependendo da
Configuração de Serviços 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
3
A descoberta de serviços também pode ser subclassificada em de serviço, resolução de nome de serviço e até mesmo invocação de
pesquisa em página branca (nome, endereço, etc), pesquisa em página serviço.
5
amarela (busca por tipos e atributos) e pesquisa em página verde Matching neste texto refere-se à ação de comparar se determinado
(informações sobre como invocar o serviço). serviço atende aos requisitos estabelecidos pela requisição.
desempenhá-lo (devido ao fato de o serviço ter ou não ter os O Meeting Room digitalizava os sinais a partir de 200
recursos necessários, habilidade, etc) [8]. microfones, cinco câmeras de vídeo e possuía um quadro
branco inteligente. Dois conjuntos de ferramentas eram usados
3. TRABALHOS RELACIONADOS para gerenciar os dados dos sensoriados. Os fluxos dos sensores
Muitas companhias e institutos de pesquisa tem eram gerenciados usando o sistema NIST SmartFlow, uma
empreendido iniciativas na área da computação ubíqua. Alguns camada middleware de fluxo de dados que fornecia abstração
dos primeiros projetos de pesquisa em computação ubíqua são do transporte de dados e oferecia formatos consistentes para os
apresentados a seguir. fluxos de dados. Metadados ou anotações dos fluxos de dados
eram atribuídos com descrições semânticas usando Architecture
Classroom 2000 and Tools for Linguistic Analysis Systems (ATLAS). Quando as
Uma funcionalidade bastante útil dos ambientes pessoas numa sala de encontros estavam conversando entre si, o
computacionais futuros será a habilidade de capturar as sistema era capaz de capturar a conversa, armazenar e
experiências reais vividas por seus habitantes e fornecer transcrever o encontro gravando conversas individualmente por
registros aos usuários para posterior acesso e visualização. Em falante, e disparar serviços associados a partir da Internet de
1995, um grupo do Georgia Institute of Technology acordo com o assunto da conversa [8].
empreendeu um projeto de três anos denominado Classroom
2000 na tentativa de dar suporte ao ensino e aprendizagem em Cooltown
uma universidade através da introdução de um suporte O projeto Cooltown da HP (2000-2003), desenvolveu uma
automatizado para a captura da aula [18]. Enquanto muitos visão da computação ubíqua para dar suporte a usuários móveis,
trabalhos de desenvolvimento nessa área focavam no fornecendo-lhes acesso a informações por meio de dispositivos
desenvolvimento de materiais multimídia melhorados, o projeto handhelds baseados na tecnologia Web e ligações entre o
Classroom 2000 tentou melhorar a geração de conteúdo através mundo virtual com o mundo físico real [20]. Um ponto chave
da instrumentação6 de um cômodo com as capacidades de da abordagem do Cooltown é que recursos do mundo físico
registrar uma aula ao invés dos próprios estudantes terem que podem ter uma presença na Web. Recursos físicos estão
fazer anotações manualmente e talvez transcrevê-las mais tarde. associados com um identificador de recursos simples padrão
O projeto tinha dois objetivos: (1) entender as questões de (Universal Resource Locator – URL). URLs de recursos físicos
projeto de uma aplicação de computação ubíqua para fornecer e virtuais podem ser descobertas e trocadas de forma bem
captura eficiente e capacidades de acesso para experiências simples. Assim, quando se entra em um novo cômodo, um PDA
reais ricas; e (2) entender o que é necessário para produzir uma pode receber uma mensagem contendo a URL daquela sala via
aplicação de computação ubíqua robusta cujo impacto em seu transmissão infravermelha a partir de um transmissor presente
domínio-alvo pode ser avaliado sobre um longo período de no cômodo, ou ler um código de barras contido no côpmodo,
tempo [8]. etc. O PDA estará então apto para acessar o website para o
O protótipo inicial foi um grande sistema de quadro branco cômodo para ver as facilidades e funcionalidades disponíveis.
eletrônico que permitia ao professor mostrar e anotar slides. Os
estudantes poderiam usar um tablet PC para fazer anotações em 4. CONSIDERAÇÕES FINAIS
suas próprias cópias dos slides. Inicialmente não havia A computação ubíqua envolve uma diversidade de
comunicação via rede. Em janeiro de 1997, uma segunda sala conceitos e tecnologias. Por ser um paradigma computacional
de aula foi especialmente instrumentada para o uso de um relativamente novo, ter um entendimento claro dos aspectos
protótipo do Classroom 2000. Microfones e câmeras de vídeo chave que o compõem é crucial para desenvolvedores que
foram embutidos no teto e os sinais capturados por eles eram almejam construir aplicações ou mesmo projetar dispositivos
armazenados. O quadro branco eletrônico foi usado novamente, ubíquos. Este artigo apresentou os principais conceitos por trás
mas desta vez conectado na rede. Dois projetores anexados ao da computação ubíqua, mostrando suas definições, princípios e
texto foram ligados a computadores conectados na rede também tecnologias envolvidas.
para visualização [8].

Smart Space e Meeting Room 5. REFERÊNCIAS


Os projetos NIST Smart Space e Meeting Room (1998- [1] Araújo, Regina Borges. (2003) “Computação Ubíqua:
2003) focavam no uso de dispositivos pervasivos, sensores e Princípios, Tecnologias e Desafios”, In: Simpósio Brasileiro de
redes de comunicação para fornecer uma infra-estrutura para Redes de Computadores, XXI, Natal. Minicurso: Livro Texto.
salas de encontro inteligentes sensíveis ao contexto que Natal, RN: UFRN/DIMAp: UnP, 2003. 363 p. p. 45-115.
detectam as atividades humanas em curso e geram uma resposta [2] Lyytinen, K. e Yoo, Y. (2002) “Issues and Challenges in
a essas atividades [19]. Os projetos foram divididos em duas Ubiquitous Computing”, Communications of the ACM, vol.45,
fases. Na primeira, espaços inteligentes experimentais foram no. 12, Dezembro. Apud {1}.
prototipados focando em: formas avançadas em interação [3] Adelstein , F. et al. (2005), “Fundamentals of Mobile
humano-computador, integração de redes sem fio pico-celulares and Pervasive Computing”, McGraw-Hill.
com descoberta de serviços dinâmica, configuração automática [4] Hansmann, U. et al. (2003), “Pervasive Computing
de dispositivos e infra-estruturas de software necessárias para Handbook”, Springer-Verlag.
programar aplicações de computação pervasiva. Na fase 2, o [5] Weiser, M. (1991), “The Computer for the 21st
foco eram as métrica de desenvolvimento, métodos de teste e Century”, Scientific American, vol.265,no.3,Setembro., pp.94-
referências padrões para fornecer implementações de referência 104. Apud {1}.
para servir como modelos para possíveis produtos comerciais [6] Satyanarayanan, M. (1996), “Fundamentals Challenges
[8]. in Mobile Computing”, Proceedings of the Fifteenth Annual
ACM Symposium on Principles of Distributed Computing
6
Instrumentação neste contexto refere-se ao processo de adicionar (PODC), Philadelphia, PA. Apud {3}.
sensores que atuam como fonte de informação no mundo físico. Essas [7] Nuaymi, L. (2007), “WiMAX: Technology for
fontes podem então ser configuradas e registradas para análise online Broadband Wireless Access”. John Wiley & Sons, Ltd. Apud
e offline. {8}.
[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.13-16. 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
http://pt.wikipedia.org/wiki/UWB. 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. 75-85. 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): 508–530. 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): 70–
81. Apud {8}.

Você também pode gostar