18.03.2015 Views

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

<strong>XI</strong> <strong>Workshop</strong> <strong>de</strong> <strong>Testes</strong> e Tolerância a <strong>Falhas</strong> 23<br />

1<br />

2<br />

3<br />

4<br />

5<br />

6<br />

7<br />

8<br />

9<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

17<br />

18<br />

19<br />

20<br />

21<br />

/* D: Detection set */<br />

/* F: Faulty set */<br />

Initialisation ()<br />

count ← 0<br />

F ← { }<br />

case i = 0<br />

token ← REAL<br />

D ← {S 0 }<br />

case 0 < i ≤ k<br />

token ← BACKUP<br />

D ← {S 0 , .., S i }<br />

case k < i<br />

token ← NONE<br />

D ← { }<br />

UpdateDetection(D)<br />

SafeSendToken (〈TOKEN〉)<br />

to S i+1<br />

count ← count + 1<br />

Send 〈TOKEN,S i+1 ,count 〉<br />

to {S i+1 , .., S i+k+1 }<br />

token ← NONE<br />

D ← { }<br />

UpdateDetection(D)<br />

22<br />

23<br />

24<br />

25<br />

26<br />

27<br />

28<br />

29<br />

30<br />

31<br />

32<br />

33<br />

34<br />

35<br />

36<br />

37<br />

38<br />

39<br />

40<br />

41<br />

42<br />

SafeReceiveToken (〈TOKEN,S t ,count r 〉) from S j<br />

if count < count r then<br />

count ← count r<br />

D ← {S t , .., S i }<br />

if S i = S t then<br />

token ← REAL<br />

DeliverToken(〈TOKEN〉)<br />

else if D/F = {S i } then<br />

UseBackup()<br />

else<br />

token ← BACKUP<br />

updateDetection(D)<br />

ReceiveSuspected (S j )<br />

F ← F ∪ S j<br />

if D/F = {S i } then<br />

UseBackup()<br />

UseBackup ()<br />

count ← count + ( #(D) - 1 )<br />

token ← REAL<br />

UpdateToken(〈TOKEN〉)<br />

DeliverToken(〈TOKEN〉)<br />

Figura 2. Algoritmo tolerante à perda do token

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

Saved successfully!

Ooh no, something went wrong!