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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

11.1. REPLICAÇÃO 179<br />

O mecanismo <strong>de</strong> invocação diferida <strong>de</strong> procedimentos r<strong>em</strong>otos (QRPC) do sist<strong>em</strong>a Rover [79] é o<br />

que mais se aproxima da solução adoptada nesta dissertação. No sist<strong>em</strong>a Rover, os objectos po<strong>de</strong>m ser<br />

divididos <strong>em</strong> duas partes que corr<strong>em</strong> no cliente e no servidor e cooperam entre si. O mecanismo <strong>de</strong><br />

QRPCs permite invocar um procedimento r<strong>em</strong>oto <strong>de</strong> forma assíncrona. Po<strong>de</strong> ser usado para obter uma<br />

cópia <strong>de</strong> um objecto ou para propagar uma operação executada na cópia local do objecto após esta ter<br />

sido importada do servidor.<br />

O mecanismo <strong>de</strong> invocação cega proposto nesta dissertação é mais geral porque permite invocar<br />

operações sobre objectos dos quais apenas se possuí uma referência (DOORS) ou não se possui referência<br />

nenhuma (Mobisnap). O mecanismo <strong>de</strong> criação <strong>de</strong> cópias <strong>de</strong> substituição do sist<strong>em</strong>a DOORS permite,<br />

adicionalmente, observar o resultado provisório das operações submetidas.<br />

11.1.6 Propagação das modificações: propagar o quê?<br />

Para sincronizar as réplicas <strong>de</strong> um objecto, é necessário propagar entre os el<strong>em</strong>entos do sist<strong>em</strong>a as modi-<br />

ficações executadas. Para tal, exist<strong>em</strong> duas técnicas fundamentais. Primeiro, a propagação do estado, na<br />

qual um el<strong>em</strong>ento do sist<strong>em</strong>a envia uma cópia do estado do objecto para outro el<strong>em</strong>ento. Os seguintes<br />

sist<strong>em</strong>as utilizam esta técnica: Coda [87], Oracle Lite [115], Lotus Notes [101], Palm HotSync [117]<br />

e outro protocolos <strong>de</strong> sincronização para PDAs [1]. Segundo, a propagação <strong>de</strong> operações, na qual um<br />

el<strong>em</strong>ento do sist<strong>em</strong>a envia as operações que produziram as alterações no estado do objecto. Os seguintes<br />

sist<strong>em</strong>as utilizam esta aproximação: Bayou [161], Rover [79] e IceCube [85].<br />

Para avaliar a eficiência <strong>de</strong> cada uma das técnicas exist<strong>em</strong> vários aspectos que po<strong>de</strong>m ser consi<strong>de</strong>ra-<br />

dos, como se discutiu na secção 2.3.3.<br />

Primeiro, o tráfego gerado ao propagar as modificações. Neste caso, a eficiência <strong>de</strong>pen<strong>de</strong> da situação<br />

e está directamente relacionada com a dimensão dos objectos e da representação das operações.<br />

Em geral, um objecto t<strong>em</strong> uma dimensão muito superior à <strong>de</strong> uma operação. No entanto, um objecto<br />

po<strong>de</strong> reflectir um qualquer número <strong>de</strong> operações. Assim, quando o número <strong>de</strong> operações executadas é pe-<br />

queno, a propagação <strong>de</strong> operações ten<strong>de</strong> a ser mais eficiente. Para compensar este facto, alguns sist<strong>em</strong>as<br />

baseados <strong>em</strong> propagação do estado usam objectos <strong>de</strong> pequena dimensão (registos no Lotus Notes [101]<br />

e Palm HotSync [117]) ou usam a propagação <strong>de</strong> operações <strong>em</strong> algumas situações [152]. Alternativa-<br />

mente, quando um el<strong>em</strong>ento t<strong>em</strong> acesso à versão do el<strong>em</strong>ento a qu<strong>em</strong> <strong>de</strong>seja enviar as modificações,<br />

po<strong>de</strong> propagar-se apenas a diferença entre ambas as versões [164].<br />

Quando o número <strong>de</strong> operações executadas é gran<strong>de</strong>, a vantag<strong>em</strong> da propagação <strong>de</strong> operações ten<strong>de</strong><br />

a reduzir-se (ou anular-se). Para compensar este facto, alguns sist<strong>em</strong>as baseados na propagação <strong>de</strong><br />

operações comprim<strong>em</strong> a sequência <strong>de</strong> operações a propagar (por ex<strong>em</strong>plo o sist<strong>em</strong>a Rover [79]).<br />

Segundo, é necessário avaliar a complexida<strong>de</strong> do processo <strong>de</strong> obtenção e propagação da informação.

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

Saved successfully!

Ooh no, something went wrong!