4817
правок
Irina (обсуждение | вклад) |
Irina (обсуждение | вклад) |
||
Строка 30: | Строка 30: | ||
== Нотация и предположения == | == Нотация и предположения == | ||
Система G состоит из n распределенных процессоров и m каналов двухточечной связи. Канал не обязательно имеется между каждой парой процессоров, но предполагается, что коммуникационная сеть остается связной даже при наличии сбоев (как процессоров, так и каналов). Все процессоры имеют уникальные имена, | Система G состоит из n распределенных процессоров и m каналов двухточечной связи. Канал не обязательно имеется между каждой парой процессоров, но предполагается, что коммуникационная сеть остается связной даже при наличии сбоев (как процессоров, так и каналов). Все процессоры имеют уникальные имена, над которыми существует полный порядок (например, лексикографический). | ||
Компонент (канал или процессор) считается ''исправным'', если его поведение соответствует спецификации, и ''сбойным'' в противном случае. Далее рассматриваются три класса | Компонент (канал или процессор) считается ''исправным'', если его поведение соответствует спецификации, и ''сбойным'' в противном случае. Далее рассматриваются три класса сбоев компонентов, а именно: пропуски, ошибки синхронизации и византийские ошибки. | ||
• ''Пропуск'' имеет место, когда сбойный компонент не способен выдать заданный выходной результат (примером может служить потеря сообщения). | • ''Пропуск'' имеет место, когда сбойный компонент не способен выдать заданный выходной результат (примером может служить потеря сообщения). | ||
Строка 39: | Строка 39: | ||
• ''Ошибка синхронизации'' имеет место, когда сбойный компонент пропускает выдачу заданного результата либо выдает его слишком рано или слишком поздно. | • ''Ошибка синхронизации'' имеет место, когда сбойный компонент пропускает выдачу заданного результата либо выдает его слишком рано или слишком поздно. | ||
• ''Византийская ошибка'' [12] (также известная как «задача византийских генералов» [https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%B2%D0%B8%D0%B7%D0%B0%D0%BD%D1%82%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D1%85_%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D0%BB%D0%BE%D0%B2]) имеет место в случае, когда компонент ведет себя не в соответствии со своей спецификацией – например, предоставляет выходной результат, отличный от заданного. В частности, рассматриваются | • ''Византийская ошибка'' [12] (также известная как «задача византийских генералов» [https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%B2%D0%B8%D0%B7%D0%B0%D0%BD%D1%82%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D1%85_%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D0%BB%D0%BE%D0%B2]) имеет место в случае, когда компонент ведет себя не в соответствии со своей спецификацией – например, предоставляет выходной результат, отличный от заданного. В частности, рассматриваются византийские ошибки, то есть такие, которые можно обнаружить с помощью протокола аутентификации сообщений, примером которого могут служить коды исправления ошибок или цифровые подписи. | ||
правок