Content uploaded by Rafael Pires
Author content
All content in this area was uploaded by Rafael Pires on Apr 27, 2017
Content may be subject to copyright.
Comunicação
entre Componentes da Aplicação
e
m
Ambiente Pervasivo
Rafael Pereira Pires
,
Ricardo Miotto Redin,
Rubens Cesar Belusso
João Carlos Damasceno Lima, Iara Augustin
Núcleo de Ciência da Computação
Universidade Federal
de Santa Maria
(UF
SM
)
Centro
de Tecnologia, sala 336
97105
-
900
Santa Maria
RS
Bra
s
il
{
rafaelpp
,
redin, belusso, caio, august
}@inf.ufsm
.br
Abstract.
The computational setting of Pervasive Computing, where the
computation is
always
-
on,
available anytime, anywhere and acessible
with
any device, require the development of specific solutions to this environment.
In this environment, the communication is I-
centric.
This paper discusses the
involved aspects and it describes the main current limitations and feasible
solutions relative
to comunication from the point of view of mobile devices.
Resumo.
O cenário computacional da Computação Pervasiva, onde a
computação está sempre disponível, é independente de
dispositivo
,
localização e tempo, exige que sejam desenvolvidas soluções específ
icas
a
esse ambiente
.
Neste novo ambiente computacional, a comunicação é
centrada no usuário e não no dispositivo como ocorre atualmente.
Este
artigo
discute as questões envolvidas e descreve as
principais
limitações atuais
e
possíveis soluções
referentes
à comunicação do ponto de vista dos dispositivos
móveis
.
1.
Introdução
A computação móvel, na década de 90, introduziu o uso de dispositivos portáteis
(PDAs) e, mais recentemente, o acesso a recursos computacionais via telefones
celulares. A natureza de suas propriedades
portabilidade, mobilidade e conectividade
introduz restrições aos sistemas e aplicações. Apesar da evolução natural da
tecnologia, acredita-se que as limitações dos dispositivos portáteis, como bateria,
tamanho do
display,
capacidade de
processamento,
capacidade de armazenamento e
largura de banda da rede móvel
, permanecerão limitados, principalmente se comparados
ao ambiente de rede fixa [Satyanarayanan 2001]. Desta forma, a construção de
aplicações para o ambiente pervasivo deve levar
em conta essas restrições naturais a fim
de superá
-
las, ou ao menos, amenizá
-
las.
Com a popularização dos dispositivos portáteis, tanto pelo custo quanto pelas
funcionalidades
que oferecem, nota-se um crescente interesse no estudo da mobilidade
em sistemas de computação. Essa mobilidade pode ser tanto de usuários, código ou de
dispositivos. Um cenário computacional que está se consolidando como o ambiente
computacional do futuro é a Computação Pervasiva [Saha, 2003]. Nesta visão, o poder
computacional
está
sempre disponível, se encontra em qualquer lugar, a todo momento
e é acessível com qualquer dispositivo [IBM, 2005
].
A computação pervasiva propõe o
deslocamento da computação para a centralização no usuário e suas atividades. Nesta
visão, quem deve ser reconhecido pelo sistema é o usuário e não os equipamentos
que
ele porta ou usa (
como estão definidos os sistemas computacionais atuais
).
As aplicações pervasivas requerem um novo modelo de projeto e execução para
expressar a semântica siga-me : as aplicações seguem o usuário conforme este se
desloca no espaço [Augustin, 2004]. Neste modelo, as aplicações são distribuídas,
móveis e conscientes do contexto (adaptam-se aos recursos disponíveis no momento e
local onde o usuário se encontra). Neste artigo, su
mariza
-se as questões envolvidas em
um dos aspectos mais importantes para essas aplicações: a comunicação.
A origem da motivação deste trabalho está no projeto sendo desenvolvido pelo
grupo GMob (grupo de pesquisa em sistemas de computação móvel) , chamado pBuy1
,
que introduz características de pervasividade em um sistema legado, chamado Portal de
Compras, desenvolvido pela empresa SIG Soluções em Informática e Gestão
(
www.sig
brasil
.com.br
). Dentre os estudos realizados para a modelagem do pBuy,
identificou
-
se que as aplicações necessitarão de um serviço de comunicação que trate as
características peculiares dos dispositivos portáteis.
O resto deste artigo está organizado da seguinte forma. A seção 2 discute os
desa
fios identificados para disponibilizar a comunicação centrada no usuário. A seção 3
analisa as restrições impostas pelo ambiente móvel sob o ponto de vista da
comunicação. A seção 4 discorre sobre alguns trabalhos relacionados cujos resultados
serão utilizados para modelagem do serviço de comunicação no projeto pBuy
.
Considerações finais são relatadas na seção 5.
2. Comunicação em ambiente da
Computação Pervasiva
Com a popularização dos dispositivos eletrônicos e acesso à informação em escala
global,
tem
-
se
notado um grande aumento na variedade e no número desses
dispositivos. Esse aumento está causando uma descentralização na estrutura das redes.
A tendência é que os pontos finais de comunicação não sejam somente
desktops
, mas
uma gama de dispositivos com tamanho e funcionalidades variadas que se comunicam
através de redes cabeadas e sem fio.
A dispersão dos elementos computacionais e a possibilidade de acesso de
qual
quer lugar ou dispositivo faz com que a comunicação seja centrada no usuário. O
ser humano passa a ser o ponto de partida no projeto dos serviços
.
Assim como a
comunicação humana é caracterizada por interações com um conjunto de objetos em
seu ambiente, os sistemas de comunicação não devem ser construídos baseados em
tecnologias específicas, mas na análise do espaço de comunicação individual. O
resultado é um sistema de comunicação que se adapta às demandas específicas de cada
indivíduo (
I-
centric)
[Zeletin, 2004]
.
A comunicação I-
centric
deve agir em função das necessidades do usuário e,
para i
sso, requer um alto grau de
pró
-
atividade e auto adaptação
dos sistemas de suporte
1
Projeto finan
ciado pela FINEP (Financiadora de Estudos e Projetos), período de realização: 2005 e
2006.
a ela. Este deve também suportar características como consciência de ambiente,
personalização e adaptabilidade à situação.
No momento atual da tecnologia está-se iniciando a construção de um ambiente
computacional pervasivo, onde a computação está inserida em todo o lugar, e
preferencialmente, invisível ao usuário-final. Os elementos computacionais embutidos
no ambiente terão um alto grau de interação para atender as preferê
ncias e atividades de
cada usuário. Isto requer repensar o modelo de comunicação entre componentes das
aplicações.
Neste sentido, iniciou-se uma pesquisa para identificar as tecnologias
disponíveis que podem ser utilizadas nesta nova visão de ambiente computacional. A
seguir são destacados os principais aspectos identificados como requisitos a serem
atendidos pelo serviço de comunicação que será modelado para as aplicações do projeto
pBuy.
3
.
As limitações
impostas pelo
ambiente móvel
atual
Restrições são da natureza do ambiente móvel e têm origem em vários elementos:
dispositivos móveis, rede sem fio, movimento do usuário, etc.
3.1 Rede Móvel
O ambiente móvel tem limitações inerentes ao meio em que opera. A largura de banda
efetiva das Redes Sem Fio é somente uma fração da disponível nas redes cabeadas, que
variam de 10 a 100Mbps
rede Ethernet, e de 622Mbps a gigabits (previsões)
rede
ATM. Comparada a elas, a rede sem fio é limitada. Embora a velocidade de acesso
máxima hoje é
108
Mbps
para as redes sem fio, o padrão mais comum é o acesso a
11Mbps. Portanto, a utilização eficiente da banda é de vital importância para a
aplicação
, pois existirão redes com diferentes capacidades e as aplicações devem
executar em todos esses ambientes de forma a atingir a e
xp
e
ctativa do usuário
-
final.
O protocolo IEEE 802.11 é o padrão atual em redes sem fio, opera na banda de
freqüência de 2,4GHz. Tornou-se padrão nos últimos anos seguindo às especificações
802.11a., 802.11b e 802.11g que operam nas velocidades de 54Mbps, 11Mbps e
54Mbps respectivamente.
Outro protocolo que tem ganhado espaço é o bluetooth (
www.bluetooth.org
),
que
tem como objetivo principal prover um mecanismo que permita que dispositivos
móveis sejam interligados através de enlaces de rádio de baixa freqüência. Pela
especificação, os enlaces de comunicação podem ter alcance de 10cm à 10m, sendo que
este limite pode ser estendido até 100m aumentando
-
se a potência de transmissão
.
3.2 Dispositivos móveis
Outro fator a considerar é a velocidade do processamento dos dispositivos
móveis. Quanto maior a latência que pode ser tolerada no processamento, menor será o
consumo de energia. Assim, velocidade de processamento, custo de armazenamento
(em termos de energia), quantidade de dados transmitidos e recebidos e a latência
tolerada são os fatores a serem considerados nos vários aspectos do acesso e
organização dos dados para comunicação.
Logo, as soluções eficientes no consumo de energia são importantes neste
ambiente po
rque:
tornam possível o uso de baterias pequenas e com menor capacidade para
executar o mesmo conjunto de aplicações. Baterias menores são importantes do
ponto de vista da portabilidade, tornando a unidade móvel mais compacta e leve;
o cliente pode trabalh
ar por um tempo maior sem o problema da troca de bateria,
o que conduz a uma economia financeira e à diminuição no impacto ambiental.
Assim, novos modelos de organização e acesso aos dados
e de aplicações
devem
ser projetados a partir das considerações acima. Para tal, um dos principais problemas
a
ser tratado vem da variabilidade da conectividade à rede, que é inerente ao movimento
do usuário.
3.3 Desconexões planejadas
As desconexões no ambiente móvel têm várias causas: voluntária, falta de energia,
muda
nça de área de cobertura (
handoff
). Os terminais móveis são freqüentemente
desconectados da rede, como uma forma de economizar energia. As unidades móveis
podem se desconectar de uma determinada rede caso não concordem com o nível de
serviço disponível ou queiram economizar energia. A preocupação com a desconexão
faz parte do suporte à computação móvel, por isso mecanismos para tratar
handoffs
,
recuperar informaç
ões
e consistência de
caching
são necessários.
A principal distinção entre desconexão
2
e falha
é sua natureza eletiva
3
, pois estas
podem ser tratadas como falhas planejadas
as quais podem ser antecipadas e
preparadas. Durante o tempo de execução de uma aplicação, ela pode experimentar
vários graus de conectividade, desde a desconexão total até a conexão forte. Previsões
futuras indicam que acesso mais barato, alto desempenho, redes confiáveis ou forte
conectividade serão limitadas a poucos lugares, tais como trabalho ou casa, e o restante
serão definidos por uma fraca conectividade.
Como visto,
existem vários graus de conectividade
[
Mummert 1995
] :
desconexão
o cliente não tem conexão com a rede;
conexão fraca
conexão sobre um canal sem fio com largura de banda
restrita; e
conexão forte
conexão sobre uma rede fixa, rápida e confiável.
A
ssume
-
se que o cliente móvel experimenta cada um desses tipos de conexão ao
longo de um período de tempo. Entretanto,
considera
-se que somente um tipo de
conexão será experimentado durante uma mesma sessão. Essas conexões variantes
determinam os modos de operação dos sistemas, que devem dar suporte para as
2 Aqui, a desconexão é considerada voluntária, o sistema decide o momento dela ocorrer. Se a
desconexão for involuntária,
é considerada uma falha.
3 Termo introduzido por Dan Duchamp, 1992. Uma desconexão é eletiva pois o
host
pode informar
antecipadamente ao sistema que ocorrerá uma desconexão, e este pode executar um protocolo de
desconexão.
aplicações continuarem operando, apesar da variabilidade da conectividade à rede e sua
conseqüência na disponibilidade e acesso aos dados.
4
.
Contornando as Restrições do Ambiente Móvel
Computação pervasiva é uma área de pesquisa muito recente, derivada de sistemas
móveis e distribuídos. Poucos trabalhos abordam a comunicação neste ambiente. Para a
modelagem do serviço de comunicação do pBuy serão utilizadas alguns resultados de
pesquisas realizadas em campos co-relatos. Deste
s,
destacam-se: (i) o trabalho do
sistema de arquivos Coda [Satyanarayanan, 1990] e (ii) comunicação com
desacoplamento temporal e espacial do modelo Lime [Picco,
2001
].
4.1 Operação desconectada
resultado do projeto Coda
Operação desconectada é um modo de operação onde o cliente continua a usar os dados
da sua
cache
durante falhas temporárias da rede ou do servidor. A habilidade do
funcionamento desconectado também é útil mesmo quando a conectividade é
disponível, para, por exemplo,
economizar bateria
dos dispositivos móveis
.
Porém, quando desconectado, o cliente sofre várias limitações:
Falhas de
cache
podem impedir o progresso de aplicações
;
Atualizações em dados compartilhados não são visíveis a outros clientes
;
Maior propensão a
conflitos de atu
ali
zação
;
Exaustão do espaço da
cache
é uma possibilidade
.
No Coda - sistema de arquivos móveis que aprofundou o estudo da desconexão
planejada
- um gerente de
cache
opera em três estados: (i)
hoaring
, modo conectado,
onde o gerente guarda dados úteis em antecipação à desconexão; (ii)
emulation
, estado
em que o cliente está desconectado fisicamente; e (iii)
reintegration
,
quando
reconectado, sincroniza sua
cache
. A figura 1 ilustra os estados e as transições entre
eles.
Figura 1. Estados do gerente de cache no Coda [Kistler
,
1992]
Desconexão
Reintegration
Hoaring
Emulation
Conexão
Lógica
Conexão Física
4.2 Espaço de objetos
resultados do projeto Lime
A comunicação entre componentes da aplicação que estejam espalhados por várias
máquinas, as quais podem estar desconectadas momentaneamente, requer um novo
modelo baseado n
um
conceito de desacoplamento espacial e temporal entre emissor e
recebedor e com comunicação oportunista. Desacoplado no sentido que a comunicação
acontece em face a desconexões, e oportunista porque explora a conectividade se esta
torna
-se disponível. Um dos modelos com esta característica de assincronismo é o
espaço de tuplas
[Picco, 2001].
No modelo Lime, agentes móveis são programas que podem viajar entre
hosts
móveis e toda comunicação é via um
Esp
aço de Tuplas Transiente, que incorpora o
conceito de mobilidade (física e lógica). O Espaço de T
uplas
é permanentemente
associado aos agentes móveis nos
hosts
móveis. O compartilhamento transiente permite
a reconfiguração dinâmica de seu conteúdo de acordo com a migração do agente ou
variações na conectividade (
hosts
móveis entram e saem da rede). Cada agente móvel
tem acesso à Interface do Espaço de Tuplas (IET) que é permanentemente associada
com o agente e transferida conforme este se movimenta. Cada IET contém informações
que deseja compartilhar com outros agentes, e é acessada com operações Linda
tradicionais:
leitura com retirada
(
in
),
leitura sem retirada
(
rd
)
e
escrita
(
out
).
5
.
Considerações Finais
A comunicação no ambiente pervasivo, por causa dos seus requisitos, envolve várias
questões e desafios de pesquisa. Neste cenário, onde desconexões são freqüentes, faz-
se
necessário
um
serviço
de comunicação que leve em consideração o estado da
rede
e o
tipo de conexão
.
Este
serviço está atualmente sendo modelado juntamente com outros
serviços de suporte às aplicações no projeto pBuy. Resultados iniciais da pesquisa
identificaram os requisitos e questões a serem resolvidas.
Para o desenvolvimento da solução, estão sendo utilizados métodos, técnicas e
fer
ramentas de análise e projeto orientado a objetos. Particularmente, usam-se Padrões
de Projeto e Diagramas UML a fim de facilitar futuras alterações e evoluções. A
plataforma de desenvolvimento adotada, pela ampla aceitação, facilidades em
mobilidade e por
tabilidade, é Java em suas versões J2SE, J2ME e J2EE.
O serviço de comunicação estará permanentemente disponível no dispositivo
móvel (PDA, celular) e será a ponte de comunicação das aplicações do pBuy,
executando no dispositivo, com o mundo externo. Este será responsável por controlar o
estado da rede e identificar o tipo de acesso. Estratégias de
cach
e serão utilizadas para
os momentos de desconexões. Outra questão a ser tratada é como fornecer tal
funcionalidade considerando as diferentes capacidades de
PDAs e celulares.
Refer
ê
nc
ia
s
Augustin, I. Abstrações para uma linguagem de programação visando aplicações
móveis em um ambiente de pervasive computing. 2004. Tese (Doutorado em Ciência
da Computação)
Universidade Federal do Rio Grande do Sul.
Kistler, J.J., Satyanarayanan, M. Disconnected operation in the Coda File System. ACM
Transactions on Computer Systems 10(1), February, 1992.
IBM. Site sobre pesquisa em computação pervasiva. Disponível em
http://www.research.ibm.com/thinkresearch/pervasive.shtml
Mummert, L. B., Ebling, M. R., Satyanarayanan, M. Exploiting weak connectivity for
mobile file access. CM Press, New York, USA, 1995.
Picco, G. P., Murphy, A. L.; Roman, G
-
C. Lime: a Middleware for Physical and Logical
Mobility. International Conference on Distributed Computing Systems, Phoenix,
USA, april, 2001.
Saha, D.; Mukherjee, A. Pervasive Computing: a Paradigm for the 21st Century. IEEE
Computer, New York:IEEE Computer Society, v.36, n.3, p.25
-
31, mar. 2003.
Satyanarayanan, M. Pervasive Computing: Vision and Challenges. IEEE Personal
Communications, New York, 2001.
Satyanarayanan, M., Kistler, J. J., Kumar, P., Okasaki, M.E., Siegel, E.H., Steere, D.C.
Coda: A Highly Available File System for a Distributed Workstation Environment.
IEEE Transaction on Computers 39(4), April, 1990.
Zeletin, R. P., Steglich, S., Arbanowski, Stefan. Pervasive Communication A Human-
centered Service Architecture. 10
th
IEEE International Workshop on future Trends of
distributed Computing systems, 2004.