XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010
XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010
XI Workshop de Testes e Tolerância a Falhas (WTF) - SBRC 2010
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
26 Anais<br />
Prova.<br />
1. Se t + 1 /∈ C d :<br />
P SafetyCond é satisfeita em t. Nós distinguimos então os dois casos seguintes:<br />
(a) existe um nó, S i com um REAL token (T oken(S i , t) = REAL) e não<br />
há nenhuma mensagem 〈TOKEN〉 pen<strong>de</strong>nte. Hyp. 1 assegura que S i é o<br />
único nó que po<strong>de</strong> chamar a função SafeSendToken e, consequentemente,<br />
enviar uma mensagem 〈TOKEN〉 a t + 1. Como SafeSendToken garante<br />
que T oken(S i , t i + 1) = NONE (linha 19), P SafetyCond é verda<strong>de</strong>ira<br />
a t + 1.<br />
(b) não existe um nó com um REAL token mas há uma mensagem<br />
〈P end REAL 〉 pen<strong>de</strong>nte, en<strong>de</strong>reçada a S i , no sistema. Hyp. 1 garante que<br />
nenhum site po<strong>de</strong> mandar uma nova mensagem 〈TOKEN〉 a t + 1, ou seja,<br />
a mensagem em questão é a única 〈P end REAL 〉 do sistema. Consequentemente,<br />
P SafetyCond é verda<strong>de</strong>ira a t + 1: se S i receber 〈P end REAL 〉 a<br />
t + 1, ele será o novo <strong>de</strong>tentor do token; senão ele é o único receptor <strong>de</strong>sta<br />
mensagem.<br />
2. Se t + 1 ∈ C d :<br />
Como P Hol<strong>de</strong>rMonitored é verda<strong>de</strong>ira a t, Hol<strong>de</strong>r(t) pertence a D(S d , t). Distinguimos<br />
então os seguintes dois casos:<br />
• Hol<strong>de</strong>r(t) é um nó <strong>de</strong> D(S d , t) diferente <strong>de</strong> S d . Como S d regera um novo<br />
token apenas quando todos os nós que ele monitora, com exceção <strong>de</strong>le<br />
mesmo, falharem (linhas 29 e 36), não há nenhum outro nó correto com<br />
um REAL token a t + 1, ou seja, Hol<strong>de</strong>r(t) se encontra falho a t + 1.<br />
• S d é o Hol<strong>de</strong>r(t). Como S d não <strong>de</strong>tém o REAL token, existe uma<br />
〈P end REAL 〉 que lhe é en<strong>de</strong>reçada. Neste caso, P Hol<strong>de</strong>rCount(t + 1)<br />
garante que o valor <strong>de</strong> count contido nesta mensagem não po<strong>de</strong> ser maior<br />
que o valor corrente count <strong>de</strong> S d . O teste da linha 23 irá então ignorar esta<br />
mensagem.<br />
Em ambos os casos P SafetyCond(t + 1) é verda<strong>de</strong>ira.<br />
Teorema 1 Para o máximo <strong>de</strong> k falhas consecutivas, nosso algoritmo assegura a proprieda<strong>de</strong><br />
<strong>de</strong> segurança.<br />
Prova. A <strong>de</strong>monstração é consequência direta dos lemas anteriores<br />
Teorema 2 Para o máximo <strong>de</strong> k falhas consecutivas, nosso algoritmo assegura a proprieda<strong>de</strong><br />
<strong>de</strong> vivacida<strong>de</strong>.<br />
Prova. A fim <strong>de</strong> <strong>de</strong>monstrar a proprieda<strong>de</strong> <strong>de</strong> vivacida<strong>de</strong>, basta provar que (1) se o token<br />
nunca se per<strong>de</strong>r, todo site que <strong>de</strong>tém o REAL token o enviará ao seu sucessor e (2) se o<br />
token é perdido <strong>de</strong>vido à falha do <strong>de</strong>tentor do REAL token, este será regerado pour um<br />
dos k nós sucessores do <strong>de</strong>tentor que falhou.<br />
A prova <strong>de</strong> (1) é trivial pois quando S i envia k + 1 cópias da mensagem 〈TOKEN〉<br />
(linha 18) a t, ele informa nesta mensagem que o próximo <strong>de</strong>tentor do token é o nó S i+1<br />
(Hol<strong>de</strong>r(t + 1) = S i+1 ). Como os canais são confiáveis e S i possui o maior valor <strong>de</strong><br />
count a t (P SafetyCond(t) e P Hol<strong>de</strong>rCount(t)), S i+1 terá o REAL a t + 1.<br />
Para provar (2), consi<strong>de</strong>remos que S i é o último nó a possuir o token que enviou<br />
as k + 1 cópias da mensagem 〈TOKEN〉 a t e que f é o número <strong>de</strong> sucessores falhos <strong>de</strong>