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.

212 APÊNDICE A. DOORS<br />

2. Quando a réplica <strong>de</strong> um coobjecto num servidor é informada que esse servidor vai servir <strong>de</strong> patro-<br />

cinador à r<strong>em</strong>oção <strong>de</strong> outro servidor (passo 5 do protocolo <strong>de</strong> r<strong>em</strong>oção), executa uma operação que<br />

indica quais as operações executadas até esse momento. Até à conclusão da sessão sincronização<br />

executada no âmbito do protocolo <strong>de</strong> r<strong>em</strong>oção, mais nenhuma operação é executada nessa réplica<br />

do coobjecto. Esta operação <strong>de</strong>lega no servidor a r<strong>em</strong>over a responsabilida<strong>de</strong> <strong>de</strong> executar os blocos<br />

só-uma-vez das operações que já foram executadas no patrocinador.<br />

3. Após a sessão <strong>de</strong> sincronização do protocolo <strong>de</strong> r<strong>em</strong>oção (passo 6), a réplica do coobjecto no<br />

servidor a r<strong>em</strong>over executa todas as operações que já tenham sido executadas no patrocinador e<br />

pelas quais é responsável por executar os blocos só-uma-vez (para tal, po<strong>de</strong> ter <strong>de</strong> executar outras<br />

operações). A sessão <strong>de</strong> sincronização executada garante que no servidor a r<strong>em</strong>over é possível<br />

executar essas operações.<br />

4. Após a sessão <strong>de</strong> sincronização do protocolo <strong>de</strong> r<strong>em</strong>oção, a réplica do coobjecto presente no pa-<br />

trocinador retoma a sua execução normal, i.e., executa todas as operações possíveis. No entanto,<br />

fica responsável por executar os blocos só-uma-vez <strong>de</strong> todas as operações pelas quais o servidor<br />

r<strong>em</strong>ovido era responsável e que ainda não tinham sido executadas quer no servidor r<strong>em</strong>ovido quer<br />

no patrocinador no início do protocolo (i.e., as operações cujo número <strong>de</strong> sequência seja superior<br />

ao máximo dos números <strong>de</strong> sequência indicados como executados pelas operações submetidas nos<br />

passos 4 e 5 <strong>de</strong>ste protocolo).<br />

Quando se processa a r<strong>em</strong>oção forçada <strong>de</strong> um servidor, os blocos só-uma-vez das operações recebidas<br />

nesse servidor não são executadas <strong>em</strong> nenhum outro servidor. Assim, neste caso, não se garante que todos<br />

os blocos só-uma-vez sejam executados.<br />

A.2 Sincronização epidémica<br />

Os protocolos <strong>de</strong> sincronização epidémica são estabelecidos entre pares <strong>de</strong> servidores para sincronizar<br />

o estado <strong>de</strong> um conjunto <strong>de</strong> coobjectos pertencentes a um volume. Durante estas sessões epidémicas os<br />

servidores propagam entre si as operações que conhec<strong>em</strong> (in<strong>de</strong>pen<strong>de</strong>nt<strong>em</strong>ente do servidor no qual foram<br />

recebidas). Desta forma, cada servidor recebe, para cada coobjecto, todas as operações submetidas <strong>em</strong><br />

todos os servidores, directa ou indirectamente.<br />

No sist<strong>em</strong>a DOORS foram impl<strong>em</strong>entados dois algoritmos <strong>de</strong> sincronização. Primeiro, um algoritmo<br />

<strong>de</strong> sincronização bilateral, <strong>em</strong> que dois servidores trocam entre si as novas operações que conhec<strong>em</strong>.<br />

Segundo, um algoritmo <strong>de</strong> sincronização unilateral que permite a um servidor enviar para outro servidor<br />

as operações que conhece. Estes algoritmos são apresentados brev<strong>em</strong>ente <strong>de</strong> seguida — uma discussão

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

Saved successfully!

Ooh no, something went wrong!