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.

2.3. PRINCÍPIOS 13<br />

garantir a disponibilida<strong>de</strong> dos <strong>dados</strong> <strong>em</strong> todas as situações (por ex<strong>em</strong>plo, <strong>em</strong> situações <strong>de</strong> <strong>de</strong>sconexão).<br />

Para ultrapassar situações <strong>de</strong> <strong>de</strong>sconexão (com todas as réplicas) é necessário manter cópias locais dos<br />

<strong>dados</strong>. Nestas condições, o serviço é assegurado recorrendo às cópias locais.<br />

O serviço <strong>de</strong> <strong>gestão</strong> <strong>de</strong> <strong>dados</strong> fornece dois tipos <strong>de</strong> operação: leitura e escrita. Embora existam<br />

aplicações <strong>em</strong> que apenas é necessário ler os <strong>dados</strong>, num número significativo <strong>de</strong> aplicações é necessário<br />

permitir aos utilizadores modificar<strong>em</strong> os <strong>dados</strong>. Assim, a disponibilida<strong>de</strong> do serviço <strong>de</strong> <strong>gestão</strong> <strong>de</strong> <strong>dados</strong><br />

<strong>de</strong>ve consi<strong>de</strong>rar não só a possibilida<strong>de</strong> <strong>de</strong> ler os <strong>dados</strong>, mas também <strong>de</strong> os modificar (in<strong>de</strong>pen<strong>de</strong>nt<strong>em</strong>ente<br />

da conectivida<strong>de</strong> existente).<br />

Numa situação <strong>em</strong> que a conectivida<strong>de</strong> não é total e <strong>em</strong> que exist<strong>em</strong> computadores <strong>de</strong>sconectados<br />

durante longos períodos, os esqu<strong>em</strong>as que garant<strong>em</strong> uma consistência forte [37] (por ex<strong>em</strong>plo, baseados<br />

na utilização <strong>de</strong> trincos (locks)) apresentam uma baixa taxa <strong>de</strong> disponibilida<strong>de</strong> para escrita [30]. Em<br />

particular, torna-se impossível garantir uma consistência forte para as réplicas mantidas num compu-<br />

tador <strong>de</strong>sconectado s<strong>em</strong> impedir que os <strong>dados</strong> possam ser modificados. Por um lado, as modificações<br />

executadas após o momento da <strong>de</strong>sconexão por outros computadores são <strong>de</strong>sconhecidas. Por outro lado,<br />

as modificações executadas localmente não po<strong>de</strong>m ser propagadas para os outros computadores. As-<br />

sim, para permitir a continuida<strong>de</strong> do serviço <strong>em</strong> situações <strong>de</strong> <strong>de</strong>sconexão, é necessário recorrer a cópias<br />

fracamente consistente, permitindo aos utilizador ler e modificar qualquer réplica 4 .<br />

Quando existe conectivida<strong>de</strong> entre os computadores que mantêm réplicas dos <strong>dados</strong>, po<strong>de</strong>m existir<br />

condições que tornam aceitável ou recomendável a fraca consistência das réplicas. Neste caso é possível<br />

evitar os custos da sincronização entre várias réplicas para modificar os <strong>dados</strong> e utilizar comunicação<br />

retardada (lazy) para propagar as modificações.<br />

2.3.2 Reconciliação <strong>de</strong>pen<strong>de</strong>nte da situação<br />

A utilização <strong>de</strong> um mo<strong>de</strong>lo <strong>de</strong> replicação optimista com uma política <strong>de</strong> acesso aos <strong>dados</strong> lê qual-<br />

quer/escreve qualquer réplica permite a execução concorrente <strong>de</strong> modificações sobre um mesmo ob-<br />

jecto. Estas modificações, efectuadas <strong>em</strong> vários fluxos <strong>de</strong> activida<strong>de</strong> [41], po<strong>de</strong>m originar a divergência<br />

das réplicas dos objectos. Para lidar com este probl<strong>em</strong>a, o serviço <strong>de</strong> <strong>gestão</strong> <strong>de</strong> <strong>dados</strong> <strong>de</strong>ve possuir um<br />

mecanismo <strong>de</strong> reconciliação.<br />

Dos ex<strong>em</strong>plos apresentados na secção 2.2 é possível verificar que exist<strong>em</strong> diferentes formas <strong>de</strong> tratar<br />

as modificações concorrentes e que as proprieda<strong>de</strong>s <strong>de</strong>sejáveis da reconciliação <strong>de</strong> várias réplicas variam<br />

para diferentes aplicações. Por ex<strong>em</strong>plo, tanto no sist<strong>em</strong>a <strong>de</strong> conferência assíncrono como na agenda<br />

partilhada, as várias réplicas po<strong>de</strong>m ser actualizadas aplicando as modificações efectuadas por uma or-<br />

4 Note-se que a consistência fraca entre as réplicas <strong>de</strong> um sist<strong>em</strong>a não impe<strong>de</strong> que possa existir uma réplica que mantenha o<br />

estado “oficial” dos <strong>dados</strong>, como se discute na secção 4.1.

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

Saved successfully!

Ooh no, something went wrong!