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.

A.1. FILIAÇÃO 211<br />

2. Um servidor j, no qual o estado do servidor i é a_r<strong>em</strong>over(uid), após executar as verificações<br />

que consi<strong>de</strong>re necessárias, <strong>de</strong>ve submeter a operação agreeR<strong>em</strong>ove( j,uid) ou rollback(uid) se,<br />

respectivamente, concordar ou discordar da r<strong>em</strong>oção do servidor (e, caso concor<strong>de</strong>, actuar <strong>em</strong><br />

conformida<strong>de</strong> com essa <strong>de</strong>cisão).<br />

3. A execução da operação readyR<strong>em</strong>ove no servidor i, verifica se i é o responsável por efectuar a<br />

r<strong>em</strong>oção, consi<strong>de</strong>rando todos os pedidos <strong>de</strong> r<strong>em</strong>oção pen<strong>de</strong>ntes (i.e., se é o servidor com menor<br />

número <strong>de</strong> or<strong>de</strong>m na vista actual dos servidores que não se inclu<strong>em</strong> no conjunto <strong>de</strong> servidores<br />

prontos a ser<strong>em</strong> r<strong>em</strong>ovidos). O responsável pela r<strong>em</strong>oção, actua como patrocinador da r<strong>em</strong>oção e<br />

executa as seguintes operações (s<strong>em</strong> permitir acessos concorrentes <strong>de</strong> outros servidores ou clien-<br />

tes): (1) informa todos os coobjectos do volume quais são os servidores que vão ser r<strong>em</strong>ovidos;<br />

(2) submete as operações <strong>de</strong> r<strong>em</strong>oção respectivas (através do protocolo local <strong>de</strong> mudança <strong>de</strong> vista).<br />

O mecanismo <strong>de</strong> r<strong>em</strong>oção forçada <strong>de</strong> um servidor leva a que operações propagadas por um cliente<br />

para o servidor r<strong>em</strong>ovido sejam perdidas caso não tenham sido anteriormente propagadas para outro<br />

servidor que permaneça no sist<strong>em</strong>a. Assim, este mecanismo apenas <strong>de</strong>ve ser usado <strong>em</strong> relação aos servi-<br />

dores que se encontram permanent<strong>em</strong>ente <strong>de</strong>sconectados do sist<strong>em</strong>a (por ex<strong>em</strong>plo, <strong>de</strong>vido a ter<strong>em</strong> sido<br />

danificados). Se um servidor r<strong>em</strong>ovido não estiver permanent<strong>em</strong>ente <strong>de</strong>sconectado, ele <strong>de</strong>ve propagar as<br />

operações que recebeu <strong>de</strong> clientes para um servidor que esteja a replicar o volume e, caso pretenda, pedir<br />

a sua inserção no grupo <strong>de</strong> replicadores.<br />

A.1.8 Protocolo <strong>de</strong> execução dos blocos só-uma-vez <strong>em</strong> or<strong>de</strong>nações por verificação da<br />

estabilida<strong>de</strong><br />

Nos protocolos que or<strong>de</strong>nam as operações verificando a estabilida<strong>de</strong> da or<strong>de</strong>m (or<strong>de</strong>m causal – sec-<br />

ção 4.1.3, or<strong>de</strong>m total – secção 4.1.4.2), quando um servidor sai voluntariamente do grupo <strong>de</strong> replica-<br />

dores <strong>de</strong> um volume, o patrocinador assume a responsabilida<strong>de</strong> <strong>de</strong> executar os blocos só-uma-vez das<br />

operações que ainda não tenham sido executadas no servidor r<strong>em</strong>ovido. No entanto, como o patroci-<br />

nador po<strong>de</strong> já ter executado algumas das operações das quais <strong>de</strong>via executar os blocos só-uma-vez, o<br />

seguinte protocolo é usado para garantir que os blocos só-uma-vez são executados uma e uma só vez:<br />

1. Quando a réplica <strong>de</strong> um coobjecto num servidor é informada que esse servidor vai ser r<strong>em</strong>ovido<br />

do grupo <strong>de</strong> replicadores (passo 4 do protocolo <strong>de</strong> r<strong>em</strong>oção), executa uma operação que indica<br />

quais as operações executadas até esse momento e quais as operações pelas quais é responsável<br />

por executar os blocos só-uma-vez (neste caso, as operações recebidas no servidor e aquelas cuja<br />

responsabilida<strong>de</strong> possa ter sido <strong>de</strong>legada anteriormente). Esta operação <strong>de</strong>lega no patrocinador a<br />

responsabilida<strong>de</strong> <strong>de</strong> executar os blocos só-uma-vez das operações ainda não executadas.

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

Saved successfully!

Ooh no, something went wrong!