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 ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4.3 Zestaw dostępnych operacji 67<br />
r 1<br />
1<br />
Prepare{r 11 }<br />
Commit{r 11 }<br />
0<br />
1<br />
2<br />
3<br />
r 2<br />
1<br />
R g<br />
{r 1 1 , r 12 }<br />
R g { r 12 }<br />
Vote-request<br />
Pre-commit{r<br />
11 }<br />
Rysunek 4.2: Szkic działania pro<strong>to</strong>kołu dla grupy czterech replik i <strong>na</strong>desłania<br />
zleceń przez dwóch klientów.<br />
twierdzenia wyko<strong>na</strong>nia i musi zostać potwierdzony przez co <strong>na</strong>jmniej f +1<br />
replik. Opisa<strong>na</strong> procedura odpowiada pro<strong>to</strong>kołowi trójfazowego zatwierdzania<br />
[TS01].<br />
W przypadku, gdy replika j wysłała już komunikat vote-response z podanym<br />
wek<strong>to</strong>rem R j , wstawia wszystkie <strong>na</strong>pływające zlecenia do swojej kolejki<br />
i po zakończeniu bieżącej rundy sama może zainicjować nowe wyko<strong>na</strong>nie wysyłając<br />
vote-request. Mechanizm rund wprowadza do pro<strong>to</strong>kołu pewien s<strong>to</strong>pień<br />
synchroniczności, gdyż repliki muszą uzgodnić wyko<strong>na</strong>nie zanim przejdą do<br />
fazy realizacji zleceń. Tutaj <strong>na</strong>leży mieć <strong>na</strong> uwadze twierdzenie wprowadzone<br />
w rozdziale trzecim, które neguje istnienie pro<strong>to</strong>kołu, który byłby całkowicie<br />
asynchroniczny i pozwalał grupie replik dojść do konsensusu w obecności błędów.<br />
4.3 Zestaw dostępnych operacji<br />
Pro<strong>to</strong>kół <strong>bizantyjskie</strong>go uzgadniania pozwala <strong>na</strong> replikację usługi, dlatego moż<strong>na</strong><br />
w oparciu o ten pro<strong>to</strong>kół zrealizować więcej operacji, niż tylko put,get,delete,<br />
które tworzą ogólny interfejs DHT [DZDS03], ale również zaproponowaną w<br />
BFT operację invoke. Nazewnictwo me<strong>to</strong>d pozostanie zgodne z obowiązującym<br />
wsystemiePast [RD01a], który implementuje rozproszoną tablicę z kodowaniem<br />
mieszającym dla obiektów, zbudowany <strong>na</strong> bazie warstwy komunikacyjnej<br />
Pastry. Past nie umożliwia zlecania wyko<strong>na</strong>nia operacji <strong>na</strong> obiektach, jak<br />
również nie jest odporny <strong>na</strong> <strong>bizantyjskie</strong> uszkodzenia. Zaprojek<strong>to</strong>wano system<br />
bardzo podobny do Past o <strong>na</strong>zwie OceanS<strong>to</strong>re opracowany w Berkeley University<br />
of California [KBC + 00], w którego pro<strong>to</strong>typie Pond [REG + 03], zaimple-