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.
104 Dodatek B. Uzgadnianie w asynchronicznym systemie<br />
Przez konfigurację C będziemy rozumieli stan wszystkich procesów wraz z<br />
zawar<strong>to</strong>ścią ich buforów. Konfiguracja początkowa jest ustalo<strong>na</strong> w sposób taki,<br />
iż każdy procesów jest w stanie początkowym, a bufory wiadomości są puste.<br />
Konfigurację początkową będziemy <strong>na</strong>zywali przyległą do innej konfiguracji, jeżeli<br />
różni się o<strong>na</strong> stanem wewnętrznym tylko jednego procesu p.<br />
Na krok wykonywany przez proces p składają się <strong>na</strong>stępujące czynności:<br />
wyko<strong>na</strong>nie operacji odbierz(p), zmiany stanu wewnętrznego, wysłaniu skończonego<br />
zbioru wiadomości do innych procesów. Wyko<strong>na</strong>nie kroku jest całkowicie<br />
uzależnione od e =(p, m), co będziemy <strong>na</strong>zywać zdarzeniem i jeżeli e przenosi<br />
konfigurację C do nowej konfiguracji, <strong>to</strong> nowa konfiguracja będzie oz<strong>na</strong>cza<strong>na</strong><br />
jako e(C).<br />
Przebiegiem σ będziemy określali skończony bądź nieskończony ciąg zdarzeń.<br />
Jeżeli σ będzie skończone <strong>to</strong> wynikową konfigurację dla C oz<strong>na</strong>czymy<br />
jako σ(C). Mówimy, że σ(C) jest osiągalne z C. C posiada war<strong>to</strong>ść decyzyjną<br />
v jeżeli y p = v dla jakiegoś p. P jest częściowo poprawny gdy spełnia<br />
<strong>na</strong>stępujące wymagania:<br />
1. Żad<strong>na</strong> z osiągalnych konfiguracji nie posiada więcej, jak jednej war<strong>to</strong>ści<br />
decyzyjnej.<br />
2. Dla każdej z war<strong>to</strong>ści v ∈{0, 1}, któraś z osiągalnych konfiguracji ustala<br />
war<strong>to</strong>ść v.<br />
P jest całkowicie poprawny niezależnie od jednego niepoprawnie działającego<br />
procesu jeżeli jest częściowo poprawny oraz każdy osiągalny przebieg posiada<br />
war<strong>to</strong>ść decyzyjną v. Możemy powiedzieć, że konfiguracja C jest dwuokreślo<strong>na</strong>,<br />
lubjednookreślo<strong>na</strong>, gdy istnieją dla niej przebiegi zarówno prowadzące,<br />
w pierwszym przypadku do decyzji {0, 1} lub tylko do 0 lub 1 w drugim przypadku.<br />
Konfigurację jednookreśloną rozróżniamy <strong>na</strong> 0-określoną i 1-określoną.<br />
Lemat 1 Załóżmy, że istnieje pew<strong>na</strong> konfiguracja C. Przebiegi σ 1 ,σ 2 prowadzą<br />
odpowiednio do wynikowych konfiguracji C 1 oraz C 2 . Jeżeli zbiory procesów<br />
biorących udział w przebiegach σ 1 ,σ 2 są rozłączne, <strong>to</strong> σ 1 może być zas<strong>to</strong>sowa<strong>na</strong><br />
do C 2 oraz σ 2 do C 1 i oba przebiegi będą prowadziły do pewnej konfiguracji<br />
C 3 .<br />
Dowód. Możemy podzielić N procesów <strong>na</strong> dwa rozłączne podzbiory A i B.<br />
Jeżeli σ 1 jest przebiegiem, który wiąże się ze zmianą stanu tylko dla procesów<br />
w A (brak komunikacji z B) orazσ 2 jest przebiegiem, który wiąże się ze zmianą<br />
stanu tylko dla procesów w B (brak komunikacji z A), <strong>to</strong> σ 1 (C A ) jest nową<br />
konfiguracją w A, aσ 2 (C B ) jest nową konfiguracją w B, po zas<strong>to</strong>sowaniu obu<br />
przebiegów. Ponieważ σ 1 ,σ 2 są rozłączne, <strong>to</strong> σ 1 (C A ) i σ 2 (C B ) też są rozłączne