11.04.2013 Views

gestão de dados partilhados em ambientes de computação móvel

gestão de dados partilhados em ambientes de computação móvel

gestão de dados partilhados em ambientes de computação móvel

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.1. MODELO GERAL 27<br />

Aplicação<br />

Atributos<br />

Proxies dos sub-objectos<br />

osroxies<br />

Adaptação<br />

Log<br />

Reconciliação<br />

Cápsula<br />

Sist<strong>em</strong>a<br />

Gestor do<br />

cluster<br />

sub-objectos<br />

Awareness<br />

Figura 3.2: Framework <strong>de</strong> componentes DOORS.<br />

dos. Por um lado, impl<strong>em</strong>enta as funcionalida<strong>de</strong>s necessárias para que o sist<strong>em</strong>a apresente uma elevada<br />

disponibilida<strong>de</strong> <strong>de</strong> acesso, entre as quais: a <strong>gestão</strong> da filiação <strong>de</strong> cada volume (i.e., do conjunto <strong>de</strong> servi-<br />

dores que replica cada volume); a <strong>gestão</strong> da sincronização dos <strong>dados</strong> entre os vários servidores; e a <strong>gestão</strong><br />

das réplicas secundárias (cache) nos clientes. Por outro lado, o núcleo do sist<strong>em</strong>a executa os serviços<br />

necessários ao funcionamento dos coobjectos, entre os quais: a <strong>gestão</strong> dos recursos locais associados a<br />

cada coobjecto (no cliente e no servidor); o serviço <strong>de</strong> <strong>de</strong>scoberta (<strong>de</strong> volumes); o serviço <strong>de</strong> propaga-<br />

ção <strong>de</strong> mensagens <strong>de</strong> awareness; o serviço <strong>de</strong> propagação síncrona <strong>de</strong> operações (entre um cliente e um<br />

servidor).<br />

O sist<strong>em</strong>a <strong>de</strong>lega nos coobjectos a impl<strong>em</strong>entação da maioria dos aspectos relacionados com a <strong>gestão</strong><br />

dos <strong>dados</strong> <strong>partilhados</strong>. Entre estes aspectos, po<strong>de</strong> <strong>de</strong>stacar-se a <strong>gestão</strong> da informação sobre as modifica-<br />

ções executadas pelos utilizadores, o mecanismo <strong>de</strong> reconciliação das várias réplicas nos servidores e a<br />

<strong>gestão</strong> da informação <strong>de</strong> awareness.<br />

Esta solução contribui para a flexibilida<strong>de</strong> do sist<strong>em</strong>a DOORS, permitindo a <strong>de</strong>finição <strong>de</strong> soluções<br />

específicas para cada probl<strong>em</strong>a. No entanto, coloca um enorme responsabilida<strong>de</strong> na impl<strong>em</strong>entação dos<br />

coobjectos, os quais têm <strong>de</strong> tratar <strong>de</strong> aspectos que normalmente são da responsabilida<strong>de</strong> do núcleo do<br />

sist<strong>em</strong>a. Para fazer face a este probl<strong>em</strong>a, o sist<strong>em</strong>a DOORS <strong>de</strong>fine um framework <strong>de</strong> componentes <strong>em</strong><br />

que se <strong>de</strong>compõe o funcionamento <strong>de</strong> um coobjecto <strong>em</strong> vários componentes (ver figura 3.2).<br />

Usando este framework, é possível criar um coobjecto compondo um componente que impl<strong>em</strong>enta<br />

o tipo <strong>de</strong> <strong>dados</strong> a criar, com um conjunto <strong>de</strong> componentes <strong>em</strong> que cada um impl<strong>em</strong>enta uma solução<br />

específica para um dos probl<strong>em</strong>as i<strong>de</strong>ntificados no framework. Assim, é possível reutilizar a mesma<br />

solução <strong>em</strong> diferentes coobjectos através da simples reutilização do componente que impl<strong>em</strong>enta essa<br />

solução.<br />

Esta aproximação adapta-se às características das aplicações cooperativas, como apresentadas no ca-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!