Кіріспе

Сенімді хабар таратуды тоқтату (TRB) - бұл қателер болған кезде хабарды қабылдау процестерінің жиынтығына тарату міндетін қамтитын, үлестірілген есептеулердегі мәселе. Әсіресе, жіберуші және кез келген басқа процесс кез келген уақытта сәтсіздікке ұшырауы мүмкін ("жағылу").

Мәселе сипаттамасы

TRB протоколы жүйелерді әдетте жіберу процессіне және қабылдау процестерінің жиынтығына ұйымдастырады, оған жіберушінің өзі кіруі мүмкін. Процесс "дөре" деп аталады, егер ол орындалу кезінде кез-келген уақытта сәтсіздікке ұшырамайды. Протоколдың мақсаты - деректерді ("хабарламаны") жіберушіден қабылдау процестерінің жиынтығына беру. Процесс протоколды орындау кезінде көптеген I/O операцияларды орындауы мүмкін, бірақ ақыр соңында TRB протоколын шақырған процестегі қосымшаға тапсыру арқылы хабарламаны "беріп береді". Хаттама қабылдау процестеріне маңызды кепілдіктер беруі тиіс. Мысалы, барлық дұрыс қабылдау процестері, егер жіберуші де дұрыс болса, жіберушінің хабарламасын беруі керек. Қабылдау процессі арнайы хабарды ("жөнелтуші ақаулы") жіберуі мүмкін, егер жіберуші сәтсіз болса, бірақ барлық дұрыс процестер немесе ешқайсысы жеткізбейді. Сондықтан оған берілген деректердің басқа да барлық дұрыс процестерге берілгендігі дұрыс процеске кепілдік беріледі. Нақтырақ айтқанда, TRB протоколы төмендегі төрт формалды қасиеттерге сәйкес болуы керек. Аяқтау: әрбір дұрыс процесс белгілі бір құндылық береді. Дұрысдық: егер жіберуші дұрыс болса және хабарды таратады, онда әрбір дұрыс процесс толықтықты береді: процесс хабарды ең көп дегенде бір рет береді, ал егер ол қандай да бір хабарды таратады, онда оны жіберуші таратты. Келісім: егер дұрыс процесс хабарды жеткізсе, онда барлық дұрыс процестер жеткізеді. Жүйедегі ақаулардың болуы осы қасиеттерді қанағаттандыруды қиындатады. Қарапайым, бірақ жарамсыз TRB протоколы жіберушінің хабарламаны барлық процестерге таратуы және қабылдау процестерінің хабарламаны алғаннан кейін дереу жеткізуі мүмкін. Алайда, егер қателер пайда болса, бұл протокол келісімді қанағаттандырмайды: егер хабарды кейбір процестерге жібергеннен кейін, бірақ басқаларға жіберместен бұрын жіберуші құлап кетсе, онда процестердің бірінші жиынтығы хабарды жеткізе алады, ал екінші жиынтық TRB-ді жеткізеді. Бұл консенсус туралы негізгі үлестірілген есептеу проблемасына жақын, бірақ бірдей емес.