Pr-1st-1.1-m12-Slajd37: Różnice pomiędzy wersjami
Nie podano opisu zmian |
|||
Linia 4: | Linia 4: | ||
W podanym przykładzie wiadomość <math>M</math> jest rozgłaszana przez proces <math>P_1</math> (<math>Q_1</math>), który następnie ulega awarii. Dla zwiększenia czytelności, pominięto strzałki oznaczające fakt wysłania przez proces wiadomości do samego siebie oraz od procesów <math>P_3</math> i <math>P_4</math>. W nawiasach klamrowych podano zawartość zbioru <math>ack_i</math> procesów. Zauważmy, że wiadomość <math>M</math> ta dotarła jedynie do monitora <math>Q_2</math>, który przesłał ją dalej do pozostałych procesów, ale nie dostarczył do <math>P_2</math>. Po otrzymaniu wiadomości <math>M</math> od <math>Q_2</math>, monitor <math>Q_3</math> rozsyła ją ponownie. Wiadomość ta dociera do <math>Q_2</math> w wyniku czego do zbioru <math>ack_i</math> dodawany jest proces <math>P_3</math>. Monitor <math>Q_4</math> postępuje identycznie: odbierając wiadomość <math>M</math> od <math>Q_2</math>, rozsyła ją, wstrzymując jednak dostarczenie do procesu aplikacyjnego <math>P_4</math>. Gdy wiadomość dotarła do monitora <math>Q_2</math> od ''Q3 i Q4'', zbiór <math>ack_i</math> został powiększony o identyfikatory procesów <math>P_3</math> i <math>P_4</math>. W tym momencie monitor <math>Q_2</math> może już dostarczyć wiadomość <math>M</math> do procesu <math>P_2</math>, gdyż wie, że dotarła do monitorów wszystkich poprawnych procesów. Analogicznie postępują monitory <math>Q_3</math> oraz <math>Q_4</math>. | W podanym przykładzie wiadomość <math>M</math> jest rozgłaszana przez proces <math>P_1</math> (<math>Q_1</math>), który następnie ulega awarii. Dla zwiększenia czytelności, pominięto strzałki oznaczające fakt wysłania przez proces wiadomości do samego siebie oraz od procesów <math>P_3</math> i <math>P_4</math>. W nawiasach klamrowych podano zawartość zbioru <math>ack_i</math> procesów. Zauważmy, że wiadomość <math>M</math> ta dotarła jedynie do monitora <math>Q_2</math>, który przesłał ją dalej do pozostałych procesów, ale nie dostarczył do <math>P_2</math>. Po otrzymaniu wiadomości <math>M</math> od <math>Q_2</math>, monitor <math>Q_3</math> rozsyła ją ponownie. Wiadomość ta dociera do <math>Q_2</math> w wyniku czego do zbioru <math>ack_i</math> dodawany jest proces <math>P_3</math>. Monitor <math>Q_4</math> postępuje identycznie: odbierając wiadomość <math>M</math> od <math>Q_2</math>, rozsyła ją, wstrzymując jednak dostarczenie do procesu aplikacyjnego <math>P_4</math>. Gdy wiadomość dotarła do monitora <math>Q_2</math> od ''Q3 i Q4'', zbiór <math>ack_i</math> został powiększony o identyfikatory procesów <math>P_3</math> i <math>P_4</math>. W tym momencie monitor <math>Q_2</math> może już dostarczyć wiadomość <math>M</math> do procesu <math>P_2</math>, gdyż wie, że dotarła ona do monitorów wszystkich poprawnych procesów. Analogicznie postępują monitory <math>Q_3</math> oraz <math>Q_4</math>. | ||
[[pr-1st-1.1-m12-Slajd36 | << Poprzedni slajd]] | [[pr-1st-1.1-m12-toc|Spis treści ]] | [[pr-1st-1.1-m12-Slajd38 | Następny slajd >>]] | [[pr-1st-1.1-m12-Slajd36 | << Poprzedni slajd]] | [[pr-1st-1.1-m12-toc|Spis treści ]] | [[pr-1st-1.1-m12-Slajd38 | Następny slajd >>]] |
Wersja z 14:25, 8 wrz 2006
Ilustracja algorytmu jednolitego rozgłaszania niezawodnego z potwierdzeniami od wszystkich
W podanym przykładzie wiadomość jest rozgłaszana przez proces (), który następnie ulega awarii. Dla zwiększenia czytelności, pominięto strzałki oznaczające fakt wysłania przez proces wiadomości do samego siebie oraz od procesów i . W nawiasach klamrowych podano zawartość zbioru procesów. Zauważmy, że wiadomość ta dotarła jedynie do monitora , który przesłał ją dalej do pozostałych procesów, ale nie dostarczył do . Po otrzymaniu wiadomości od , monitor rozsyła ją ponownie. Wiadomość ta dociera do w wyniku czego do zbioru dodawany jest proces . Monitor postępuje identycznie: odbierając wiadomość od , rozsyła ją, wstrzymując jednak dostarczenie do procesu aplikacyjnego . Gdy wiadomość dotarła do monitora od Q3 i Q4, zbiór został powiększony o identyfikatory procesów i . W tym momencie monitor może już dostarczyć wiadomość do procesu , gdyż wie, że dotarła ona do monitorów wszystkich poprawnych procesów. Analogicznie postępują monitory oraz .