Теперь опишем общую стратегию восстановления состояния R.
1. Пусть S будет текущим правильным состоянием графа Gr
И пусть Gc будет соответствующей конфигурацией. Возникший сбой F изменяет состояние Gr из S в Sf. Если F влияет на избыточную вершину, то восстановление не производится. Если F генерирует ошибку E(Sj), инициируется попытка восстановления.
2. E(Sj)
связана с активной вершиной xi, то xi фиксирует E(Sj) и начинает роль локального супервизора. xi выполняет одно из следующих действий:
а) Если имеется дополнительный узел xs в окрестности N(xi), которая покрывает E(Sj), то xi переводит состояние xs из 0 в Sj и восстановление закончено. В этом случае ошибка E(Sj) поглощается вершиной xs.
б) если в N(xi) нет избыточных вершин, которые покрывают ошибку E(Sj), то xi заменяет свое собственное состояние Si на состояние Sj.Таким образом вводится новая ошибка Si и восстановление продолжается.
в) Если шаги а) и б) не могут быть выполнены, что означает, что попытки восстановления не удались, а узел xi оставляет состояние системы неизменным, т.е. R(Sf) = Sf.
Рассмотрим пример применения описанной выше стратегии на рис. 1.4 а. Представлен базовый граф системы Gb, а на рис.1.4 в. – соответствующий избыточный граф Gr.
Возможные ошибки в графе Gr(Gb) могут быть предоставлены таким образом, что они разбиваются на три непересекающиеся подмножества {E(1)},{E(3),E(4)} и {E(2)}, которые обнаруживаются в узлах с состояниями 4,2 и 1. Путсь текущее состояние граф Gr есть S=(a,b,c,d,e,f) = (1,2,3,4,0,4,0) и соответствующая конфигурация Gc (Рис. 1.4 с). Пусть произошел сбой Fc, который перевел Gr в состояние Sf=(1,2,-1,0,4,0) из – за ошибки Е(3), заменяя конфигурациюGc на Gc1(Рис. 1.4с). Вершина в b состоянии 2 обнаружила ошибку E(3) и , таким образом, стала локальным супервизором.
Согласно стратегии R так как в окрестности N(b) нет избыточных вершин, вершина b изменяет свое состояние из 2 в состояние 3, и вместо ошибки E(3) фиксируется ошибка E(2) (Рис. 1.4 e). Вершина а обнаруживает ошибку E(2) и становится локальным супервизором. Так как в соседстве вершины а нет избыточных вершин, чтобы покрыть ошибку E (2), она заменяет собственное состояние на состояние 2 и генерирует ошибку E(1) (Рис.1.4f). Заметим,что а сейчас обращается к набору ошибок {E(3),E(4)}, связанному с состоянием 2.
Теперь вершина е выявляет ошибку Е(1).Вершина е имеет избыточную вершину f в своем соседстве, которая покрывает ошибку Е(1).Вершина е активизирует вершину f и переводит ее в состояние I. Таким образом, f поглощает ошибку и система восстанавливается. Новая правильная конфигурация , которой соответсвует состояние S = (2,3,-1,0,4,1) показана на рис. 1.4 g.
Модуль – самостоятельный компонент программного обеспечения, имеющий дело с ресурсами, представленные обычно в форме данных, и сообщающиеся с другими модулями через хорошо определенный интерфейс. Связь осуществляется через местные порты ввода – вывода, определенные на интерфейсе модуля. Совокупность взаимосвязанных модулей определяет логическую конфигурацию системы. Логическая конфигурация отображается на физическую конфигурацию, состоящую из процессоров объединенных подсистемой связи. Отметим, что в таких системах более чем один модуль может быть распределен на один процессор. Динамическая конфигурация должна обеспечивать способность создавать и уничтожать копии модулей, связывать и разрывать порты во время функционирования системы. Будем различать два типа систем исходя из того. Как влияет отказ одного или более модулей не выводит систему за пределы возможности выполнять ее основные функции. Второй тип систем характеризуется тем, что выход из строя любого модуля приводит систему на границу возможности выполнения ею своих основных функций.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.