10.03.2015 Views

Odporność na błędy bizantyjskie w systemach peer-to-peer - Instytut ...

Odporność na błędy bizantyjskie w systemach peer-to-peer - Instytut ...

Odporność na błędy bizantyjskie w systemach peer-to-peer - Instytut ...

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.

4.4 Pro<strong>to</strong>kół zachłanny 69<br />

(a)<br />

(b)<br />

(c)<br />

Rysunek 4.3: Operacja utworzenia kopii obiektu z uwzględnieniem niepoprawnie<br />

działających replik, f = 1. (a) Klient wykonuje jedną kopię, która zostaje<br />

zniszczo<strong>na</strong>. (b) Klient wykonuje 2f +1kopii, jed<strong>na</strong> replika nie odpowiada. (c)<br />

Klient wykonuje jedną kopię, która zostaje wysła<strong>na</strong> do innych replik. Klient<br />

czeka <strong>na</strong> 2f +1odpowiedzi.<br />

musi odbyć się z zachowaniem kolejności <strong>na</strong>pływających operacji. Dalsze wywołania<br />

dotyczące usuniętego obiektu nie mogą być już dalej obsługiwane.<br />

4.4 Pro<strong>to</strong>kół zachłanny<br />

W tym paragrafie zostanie opisany pro<strong>to</strong>kół zachłanny, który realizuje pełną replikację<br />

usługi, odporną <strong>na</strong> błędy <strong>bizantyjskie</strong>. Pro<strong>to</strong>kół gwarantuje poprawność<br />

tak długo, jak tylko liczba replik działających w sposób bizantyjski nie przekracza<br />

f podczas wyko<strong>na</strong>nia.<br />

Inicjacja grupy replik 7 . Zakładamy, że replika może zostać zaproszo<strong>na</strong> do<br />

grupy replikującej lub sama zaprosić inne węzły do grupy tworzonej przez siebie<br />

samą, <strong>na</strong><strong>to</strong>miast nie może sama przyłączyć się do którejś z grup. Skąd bierze<br />

się takie ograniczenie? Po podłączeniu do systemu węzeł może być „bezrobotny”<br />

w tym sensie, że nie <strong>na</strong>leży do żadnej grupy replik i nikt jeszcze nie wysłał do<br />

7 Zarówno w SC-ABC, jak i BFT nie opisano, w jaki sposób grupa replik powin<strong>na</strong> zostać<br />

utworzo<strong>na</strong> zostawiając <strong>to</strong> zagadnienie do rozpatrzenia przez projektantów systemów pod kątem<br />

konkretnego zas<strong>to</strong>sowania. Tworzenie grupy replik określa się częs<strong>to</strong> fazą rozdania (ang. deal<br />

phase).

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

Saved successfully!

Ooh no, something went wrong!