Научная статья на тему 'Алгоритмы оценки надежности структуры сенсорной сети'

Алгоритмы оценки надежности структуры сенсорной сети Текст научной статьи по специальности «Математика»

CC BY
498
218
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
СЕНСОРНАЯ СЕТЬ / ОТКАЗОУСТОЙЧИВОСТЬ / ОЦЕНКА СТРУКТУРЫ СЕТИ / НАДЕЖНОСТЬ / ГРАФ / SENSOR NETWORK / FAULT TOLERANCE / NETWORK ASSESSMENT / RELIABILITY / GRAPH

Аннотация научной статьи по математике, автор научной работы — Мочалов Владимир Анатольевич

Предлагаются алгоритмы оценки надежности структуры сенсорной сети, которые можно использовать в системах поддержки проектирования отказоустойчивых сенсорных сетей большой размерности и высокой степени связности. Рассматриваются алгоритмы вычисления нижней оценки вероятности связности двух узлов сенсорной сети на основе сжатия графа, описывающего сеть, а также оценка по количеству независимых путей.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Algorithms for assessing the reliability of sensor network

This paper proposes algorithms for assessing the reliability of sensor network that can be used in design support systems of fault tolerant sensor networks. We consider algorithms for computing the lower bound probability of two nodes based on the compression of the graph describing the sensor network, as well as an assessment of the number of independent paths. The suggested algorithms can be successfully applied in large-scale sensor networks with high node connectivity.

Текст научной работы на тему «Алгоритмы оценки надежности структуры сенсорной сети»

УДК 519.682

АЛГОРИТМЫ ОЦЕНКИ НАДЕЖНОСТИ СТРУКТУРЫ СЕНСОРНОЙ СЕТИ

В. А. Мочалов1,

аспирант

Московский технический университет связи и информатики

Предлагаются алгоритмы оценки надежности структуры сенсорной сети, которые можно использовать в системах поддержки проектирования отказоустойчивых сенсорных сетей большой размерности и высокой степени связности. Рассматриваются алгоритмы вычисления нижней оценки вероятности связности двух узлов сенсорной сети на основе сжатия графа, описывающего сеть, а также оценка по количеству независимых путей.

Ключевые слова — сенсорная сеть, отказоустойчивость, оценка структуры сети, надежность, граф.

Введение

Сенсорная сеть (СС) — это распределенная сеть необслуживаемых миниатюрных электронных устройств (узлов сети), обменивающихся информацией по беспроводной связи и способных регистрировать данные о параметрах внешней среды и передавать их на базовую станцию (сервер) с помощью ретрансляции от узла к узлу [1] (рис. 1).

На основе стандарта ZigBee создаются самооб-разующиеся и самовосстанавливающиеся сети: ZigBee-устройства благодаря встроенному программному обеспечению обладают способностью при включении питания сами находить друг друга и формировать сеть, а в случае выхода из строя какого-либо из узлов — устанавливать новые маршруты для передачи сообщений. Скорость передачи данных вместе со служебной информаци-

1 Научный руководитель — профессор кафедры математической кибернетики и информационных технологий МТУСИ, доктор техн. наук Е. Н. Турута.

ей в сетях ZigBee равна 250 Кбит/с, расстояние между узлами на открытом пространстве в среднем составляет сотни, а в помещении — десятки метров [1].

Узел сети, называемый сенсором, содержит датчик, воспринимающий данные от внешней среды (собственно сенсор), микроконтроллер, память, радиопередатчик, автономный источник питания. Такой узел будем называть элементарным узлом (ЭУ). Сенсорная сеть содержит узлы двух видов: функциональные узлы (Ф-узлы), осуществляющие сбор информации в некоторой окрестности каждой точки, и транзитные узлы (Т-узлы), выполняющие только передачу информации. Как правило, СС размещается на некотором объекте, распределенном в пространстве, причем заданы точки этого объекта, в которых обязательно должны быть размещены Ф-узлы. Ф-узел передает собранную информацию одному из Т-узлов, которые находятся в зоне передачи радиосигнала Ф-узла. Ф-узлы не осуществляют ретрансляцию сообщений от других узлов СС. Т-узлы, в отличие от Ф-узлов, не осуществляют сбор информации от внешней среды и предназначены только для ретрансляции сообщений. Размещение Т-узлов определяется на основе требований, предъявляемых к конкретной СС, важнейшим из которых является надежность.

Считаем, что в процессе функционирования СС возможны отказы как узлов сети, так и радиоканалов связи. Под отказом узла понимаем событие, приводящее к невозможности передачи через него информации с входящих каналов на исходящие. Отказ канала рассматривается как его

«разрыв», т. е. как полное нарушение способности передавать сигнал. В качестве показателя надежности как узла, так и канала связи примем вероятность их безотказной работы, полагая, что узлы и каналы являются невосстанавливаемы-ми, а их отказы независимы. Примем, что заданы значения этих показателей, а также радиусы передачи радиосигнала и стоимости узлов.

Требуется для заданного размещения Ф-узлов построить такую структуру СС, которая обеспечит передачу информации, полученной Ф-узлами, в центральный узел сети (сервер) с требуемой степенью надежности при заданных ограничениях на стоимость СС.

Искомая структура СС представляется графом, вершинам которого соответствуют функциональные и транзитные узлы СС, размещенные в определенных точках объекта, причем точки размещения Ф-узлов фиксированы, а точки размещения Т-узлов должны быть найдены. При этом Т-узлы могут быть как элементарными узлами, так и отказоустойчивыми структурами, включающими некоторое количество ЭУ (которое должно быть найдено, исходя из требуемой степени надежности передачи информации от Ф-узлов к серверу). Ребрам графа соответствуют радиоканалы между узлами сети.

В работах [2, 3] предложен алгоритм построения отказоустойчивой структуры СС, который осуществляет размещение Т-узлов сети (с учетом возможности построения отказоустойчивых структур Т-узлов), используя функцию приспособленности СС, характеризующую как степень надежности сети, так и затраты, требуемые для достижения необходимого уровня ее отказоустойчивости. Одним из возможных подходов к определению функции приспособленности является умножение значения показателя, характеризующего надежность СС, на значения функции Fst, которая характеризует степень (в процентах) удовлетворения потребности проектировщика в стоимости проекта СС.

Надежность структуры СС при заданном множестве ее Ф-узлов {Df}, f = 1, ..., к, определяется набором значений вероятностей связности Pfs каждого из узлов заданного множества {Df} с сервером. В качестве показателя надежности структуры СС примем минимальное из этих значений PFs = тт{Р^}, f = 1, ..., к [3].

Вероятность связности двух узлов Pfs может быть оценена методами, исключающими полный перебор (методы минимальных путей и сечений, оценки Эзари—Прошана и Литвака—Ушакова) [4]. Поскольку вычислительная сложность этих методов полиноминально возрастает с увеличением количества ребер графа, они могут применяться только при малой исходной размерности

и небольшой связности СС. Далее предлагаются алгоритмы оценки надежности структуры СС, характеризуемой вышеприведенным показателем, которые обладают меньшей вычислительной сложностью.

Алгоритмы оценки надежности СС

Вычисление нижней оценки вероятности связности двух узлов сенсорной сети на основе сжатия графа

Рассмотрим метод вычисления нижней оценки вероятности связности Pfs двух узлов сенсорной сети, обладающий линейной вычислительной сложностью. Он основан на уменьшении размерности графа, описывающего СС, до такого размера, при котором два рассматриваемых узла СС становятся соседями, после чего методом прямого перебора вычисляется вероятность связности этих узлов в небольшой окрестности. Уменьшение размерности осуществляется с помощью итерационной процедуры путем последовательного сжатия графа в 4 раза на каждой итерации.

Представим всю сеть в виде двумерной сетки N х M], «покрывающей» объект размещения СС, где N — число рядов (строк), а M — число столбцов. Размер h х w ячейки этой сетки, от которого зависят значения N и M (при заданной площади объекта), определяется заданным радиусом Я передачи радиосигнала сенсора. Для упрощения описания процедуры используем квадратную двумерную сетку (КДС), содержащую [п х п] ячеек. Пусть задано некоторое размещение узлов СС, полученное с помощью одного из алгоритмов базового или отказоустойчивого размещения. Назовем эти размещенные узлы реальными узлами СС (или узлами первого уровня). Полагаем, что

АВ СБЕРвН

1

2

3

4

5

6

7

8

©—сервер {§>)—Ф-узел О—Т-узел

■ Рис. 2. Размещение реальных узлов исходной СС

в каждой ячейке можно разместить не более одного реального узла СС и что радиус R передачи радиосигнала сенсора таков, что узел, размещенный в некоторой ячейке, например нижний узел блока A1 (рис. 2), может осуществить непосредственную связь (т. е. без использования промежуточных узлов) только с узлами, размещенными в любой из восьми соседних ячеек (узлом блока B1 и верхним узлом блока B2). Такие пары реальных узлов назовем непосредственно связанными узлами. Вероятность связности двух таких узлов определяется значениями вероятности безотказной работы узлаpy и каналарк: Рнс = р^рк. Предлагаемую процедуру рассмотрим на примере СС, размещение реальных узлов которой показано на рис. 2.

Алгоритм вычисления нижней оценки вероятности связности заданного функционального узла СС с сервером

Данный алгоритм состоит из следующих шагов. Задана КДС, содержащая [n х n] ячеек и некоторое размещение узлов СС в ней. Известны вероятности безотказной работы узлов сети и каналов связи.

Шаг 1. Построить сжатую сетку первого уровня: разбить заданную начальную КДС на квадратные блоки размерностью 2 х 2 ячейки, называемые блоками первого уровня (см. рис. 2: 8 х 8 блоков или 16 х 16 ячеек). Каждый блок первого уровня содержит некоторое множество реальных узлов СС, число k которых может быть от 0 до 4. Если k > 1, то все эти узлы блока попарно непосредственно связаны.

Шаг 2. Создать пустую сжатую сетку второго уровня, т. е. КДС размерностью [n/2 х п/2]. Каждый блок второго уровня состоит из 2 х 2 блоков первого уровня (созданных на шаге 1).

Шаг 3. В пустую сжатую сетку второго уровня, созданную на шаге 2, ввести узлы, называемые далее эквивалентными узлами (Э-узлами) второго уровня, следующим образом (рис. 3: 4 х 4 блоков второго уровня или 8 х 8 блоков первого уровня): в каждый блок первого уровня данной пустой сжатой сетки вводится один Э-узел, если соответствующий блок первого уровня, полученный из начальной КДС на шаге 1, содержит хотя бы один реальный узел (Ф-узел, Т-узел или сервер). Каждый Э-узел Bt второго уровня соответствует непустому множеству Wt реальных узлов vlk, которые размещены в одном блоке первого уровня и попарно непосредственно связаны. Вероятность безотказной работы этого эквивалентного узла принимается равной Py = max Ps, где Ps — вероятность безотказной работы произвольного узла ks, ks е Q1, Q1 — множество узлов, содержащихся в исходном блоке первого уровня.

АВ CDEFGH

1 2 О ; О ' ^ 1 i i i i

о о ' ! i i i i i

3 ! ! i i i i i i

4 1 ! w ! i ^ !

5 о | о I 'S)

6 о

7 ! QH i v" ! " ^

8 о 1

■ Рис. 3. Размещение эквивалентных узлов второго уровня (сжатая сетка второго уровня)

Шаг 4. Последовательно вычислить вероятности связей Э-узлов второго уровня с соседними Э-узлами, учитывая количество реальных узлов, входящих в подмножества, сопоставленные с эквивалентными узлами, и непосредственные связи этих реальных узлов внутри данных подмножеств. Рекурсивные вычисления вероятностей связей начинать с блока первого уровня, который содержит серверный узел (блок Е7 на рис. 2). Для этого выполнить процедуру вычисления вероятностей связей между соседними Э-узлами (ВВСГЭУ) в графе у-го уровня. Входными данными для процедуры ВВСГЭУ являются КДС Э-узлов у-го уровня, для которых необходимо вычислить вероятности связей, а также КДС блоков (у - 1)-го уровня с уже известными вероятностями связей.

Описание процедуры ВВСГЭУ.

А. Создать пустое множество «входных узлов» Мвх. Каждый элемент этого множества для текущей итерации алгоритма будет содержать массив узлов блока (у - 1)-го уровня, относительно которых необходимо вычислить вероятности связи с ближайшими узлами соседних блоков (у - 1)-го уровня без учета узлов других блоков (у - 1)-го уровня, т. е. вероятности прямой связи между блоками. При невозможности связаться напрямую с соседним блоком (у - 1)-го уровня вычислить вероятность связи двух соседних блоков (у - 1)-го уровня с использованием не более одного узла третьего блока (у - 1)-го уровня, являющегося соседним к двум рассматриваемым (связь Е5-D4 осуществляется через блок D5, см. рис. 2). На первой итерации инициализировать множество Мвх, добавив в него один серверный узел блока (у - 1)-го уровня, относительно которого будет производиться вычисление вероятностей связи

Э-узла у-го уровня, содержащего серверный узел, с соседними Э-узла у-го уровня (связи на первой итерации: Е7-Е6, Е7^08, E7-F6, Е7-Е8 на рис. 3).

B. Создать пустое множество обработанных блоков (у - 1)-го уровня Оо б. Каждый элемент этого множества будет содержать блок (у - 1)-го уровня и «входные узлы» внутри этого блока, с которыми удалось связаться одному из соседних блоков. На первой итерации инициализируем множество Оо б, добавив в него серверный блок (у - 1)-го уровня и серверный узел, находящийся внутри этого блока.

C. Создать временный массив «входных узлов» Твх для текущей итерации. Для каждого элемента множества Мвх вычислить вероятности связи с ближайшими узлами соседних блоков (у - 1)-го уровня. Для вычисления вероятности связи с соседним блоком необходимо, чтобы выполнялось одно из двух условий:

1) соседний блок (у - 1)-го уровня не находится во множестве Оо б;

2) соседний блок находится во множестве Оо б, и в то же время имеется возможность прямой связи с его «входными ячейками». В этом случае вероятность связи вычисляется от элемента множества Мвх к «входным узлам» соседнего блока.

Непосредственная связь между двумя соседними Э-узлами В1 и Ву у-го уровня (т. е. без использования других Э-узлов) существует в том и только в том случае, когда существует хотя бы одна пара непосредственно связанных реальных узлов (или Э-узлов (у - 1)-го уровня) vlk и >т, принадлежащих различным множествам Wi и Wу (т. е. vlk е Wi и у е W), где Wi, Wу — множества реальных непосредственно связанных узлов, соответствующие Э-узлам В1 и В.

Вероятность связи между двумя соседними Э-узлами у-го уровня В1 и Ву рассчитывается методом простого перебора с учетом вероятности безотказной работы реальных узлов (или Э-узлов (у - 1)-го уровня) и связей между ними [4]. Таким образом, вычисленное значение вероятности связи между двумя соседними Э-узлами у-го уровня учитывает вероятности несовместимых событий, каждое из которых соответствует связности Э-узлов В1 и Ву относительно выбранных реальных узлов (или Э-узлов (у - 1)-го уровня). Общая схема вычисления вероятности связи между соседними узлами показана на рис. 4, а (>1->4 — вероятности безотказной работы узлов; ^1-р6 — вероятности безотказной работы каналов). Процесс вычисления вероятности связности рассмотрим на примере Э-узлов Е7 и Е6. Вычисление вероятности связи между Э-узлами Е7 и Е6 осуществляется относительно серверного узла, который находится в блоке первого уровня Е7 (см. рис. 2). Связь серверного узла с ближайшим

а) б) в)

■ Рис. 4. Схемы вычисления вероятности связи: а — базовая схема; б — связь сервера с верхними узлами внутри блока Е7; в — связь верхних узлов блока Е7 с блоком Е6

узлом соседнего блока первого уровня Е6 (нижний узел блока Е6 на рис. 2) осуществляется через верхние узлы блока первого уровня Е7. Поэтому вначале вычисляются вероятности связи серверного узла с верхними узлами блока первого уровня Е7 Рир1 и Рир2 (рис. 4, б), после чего вычисляется вероятность связи верхних узлов блока первого уровня Е7 с ближайшим узлом блока первого уровня Е6 РЕ7_Е6 (рис. 4, в).

Узлы соседних блоков добавить во временный массив Твх. Все соседние блоки и узлы (у - 1)-го уровня, с которыми удалось связаться напрямую, добавить во множество Ооб. После этого очистить множество Мвх и скопировать в него элементы Твх.

D. Повторять шаг С до тех пор, пока множество Мвх не станет пустым.

В результате работы процедуры ВВСГЭУ получится граф, вершины Ві которого соответствуют Э-узлам второго уровня, а ребра — непосредственным связям между этими узлами (рис. 5).

Шаг 5. Создать пустую сжатую сетку третьего уровня, т. е. КДС размерностью [п/4 х п/4] блоков третьего уровня, каждый из которых состоит из

■ Рис. 5. Пример графа непосредственных связей между эквивалентными узлами второго уровня (первый сжатый граф)

■ Рис. 6. Пример последовательного вычисления вероятностей свя- ■ Рис. 7. Пример сжатого графа раз-

зи с соседними узлами второго сжатого графа размерно- мерностью [п/8 х п/8] в костью [п/4 х п/4] нечном состоянии

2 х 2 блоков второго уровня (созданных на шаге 2), и ввести в нее Э-узлы третьего уровня следующим образом: в каждый блок второго уровня данной пустой сжатой сетки вводится один Э-узел третьего уровня аналогично шагу 3. Каждый Э-узел третьего уровня Сг соответствует непустому множеству Zr Э-узлов второго уровня Вк, которые размещены в одном блоке второго уровня.

Шаг 6. Последовательно вычислить вероятности связей Э-узлов третьего уровня с соседними Э-узлами с помощью процедуры ВВСГЭУ аналогично шагу 4.

В результате получим граф, вершины которого соответствуют Э-узлам третьего уровня, а ребра — непосредственным связям между этими узлами (рис. 6).

Шаг 7. Повторять по аналогии шаги 5-6 для текущего сжатого графа до тех пор, пока функциональный узел и сервер не окажутся в соседних блоках. После чего вычислить нижнюю оценку вероятности связности Р^ Ф-узла с сервером в небольшой окрестности двух блоков методом прямого перебора.

На основе конечного состояния сжатого графа (рис. 7) и вычисляется нижняя оценка вероятности связности Р^ Ф-узла с сервером.

Алгоритм вычисления нижней оценки вероятности связности двух узлов сенсорной сети на основе сжатия графа обладает линейной вычислительной сложностью. Рассмотрим более простой алгоритм.

Вычисление нижней оценки вероятности связности по количеству независимых путей

Процедура поиска независимых путей (ПНП) находит все независимые пути (НП) от Ф-узла к серверу. Для этого двунаправленный связный граф (ДСГ), представляющий СС, преобразуется в ориентированный связный граф (ОСГ) для вычисления НП с помощью упрощенного алгоритма Форда—Фалкерсона (Ф-Ф). Алгоритм Ф-Ф [5, 6] осуществляет вычисление максимального потока от истока к стоку во взвешенном ориентированном графе. Для использования алгоритма Ф-Ф необходимо преобразовать ДСГ в ОСГ, заме-

няя все пары Т-узлов, связанных двунаправленным ребром, на четыре Т-узла, циклически связанных однонаправленными ребрами. Таким образом, один Т-узел преобразуется в два Т-узла, причем все входящие связи с других узлов поступают на первый Т-узел, исходящие же связи идут от второго Т-узла (рис. 8). Необходимо подчеркнуть, что имеется только одно преобразование из ДСГ в ОСГ, которое не зависит от способа обхода ДСГ.

Для того чтобы использовать одно ребро не более чем в одном пути, установим поток через каждое ребро в единицу. Упрощенный алгоритм Ф-Ф для поиска максимального потока и НП между двумя узлами (Ф-узлом и сервером) работает следующим образом.

Шаг 1. Найти возможный путь в графе между заданным Ф-узлом и сервером с использованием как незадействованных, так и уже задействованных ребер, но направленных в противоположном направлении.

Шаг 2. Ребра найденного пути пометить как задействованные. Ребра же, направленные в противоположном направлении найденного пути, пометить незадействованными.

Шаг 3. Повторять шаги 1 и 2 до тех пор, пока находятся новые пути.

Шаг 4. Максимальный поток от Ф-узла к серверу равен количеству независимых путей от Ф-узла к серверу.

Рассмотрим пример нахождения НП между Ф-узлом и сервером (рис. 9). Исходный граф с не-задействованными ребрами показан на рис. 9, а.

(^) — Т-узел —►— ZigBee

■ Рис. 8. Пример преобразования двунаправленного графа в ориентированный граф

■ Рис. 9. Пример поиска независимых путей: а — граф без потока; б — один путь используется; в — новый путь с одним ребром противоположного направления; г — итоговый результат (максимальный поток = 2)

Вначале находится путь с использованием неза-действованных ребер с потоком 1, которые помечаются как задействованные [4] (рис. 9, б). Затем находится новый путь с использованием одного задействованного ребра, но направленного в противоположном направлении (рис. 9, в). После этого ребра найденного пути отмечаются как задействованные, вес ребра, направленного в противоположном направлении, устанавливается в 0 (рис. 9, г). Таким образом, суммарное количество НП равняется двум.

После нахождения всех НП от Ф-узла к серверу может быть вычислена вероятность связности Р

f, от Ф-узла к серверу. того, что все НП Ф-узла Df неработоспособны:

Очевидно, Р, = 1 — QfS где QfS — вероятность

Qfs= П

Є Mf

fs

где

Mfs

собен:

qks — вероятность того, что данный k-й НП между Ф-узлом Df и сервером неработоспо-

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Литература

1. Турута Е. Н., Мочалов В. А. Проблемы проектирования отказоустойчивых сенсорных сетей // Тр. Московского технического университета связи и информатики. М.: ИД Медиа Паблишер, 2008. Т. 1. С. 128-132.

2. Мочалов В. А., Турута Е. Н. Интеллектуальная процедура выбора отказоустойчивой топологии и компонентов сенсорной сети // Тр. Междунар. науч.-техн. конф. «Интеллектуальные системы» (АШ'08) и «Интеллектуальные САПР» (CAD-2008). М.: Физматлит, 2008. Т. 1. С. 385-392.

3. Мочалов В. А., Турута Е. Н. Метод построения отказоустойчивой структуры сенсорной сети, осно-

= 1 - Р%’

где ркв — вероятность того, что к-й путь между

Ф-узлом Df и сервером работоспособен, определяемая как вероятность работоспособного состояния всех каналов и всех узлов, образующих этот путь, т. е.

Рр

= П Pij П

і ЄС%

,Є Bfs

где рт, Ру — вероятности работоспособного состояния (т. е. отсутствия отказа) соответственно узла Ьт и канала Су (между некоторыми узлами Ь1 и Ьу ); Скр — множество всех каналов, входящих в путь д^; Вк8 — множество всех узлов, входящих в путь д^ [2, 4].

Заключение

В статье рассмотрены алгоритмы вычисления нижней оценки вероятности связности Ф-узла с сервером СС. Эта оценка используется при построении отказоустойчивой структуры СС. С практической точки зрения, применение рассмотренных алгоритмов ведет к повышению эффективности процесса проектирования реальных СС достаточно большой размерности. Применение того или иного алгоритма определяется размерностью СС и ограничениями на время и стоимость его реализации. Предложенные алгоритмы можно использовать в системах поддержки проектирования отказоустойчивых сенсорных сетей.

ванный на применении генетического алгоритма // Тр. Московского технического университета связи и информатики, 2009 (в печати).

4. Райншке К., Ушаков И. А. Оценка надежности систем с использованием графов. М.: Радио и связь, 1988. С. 15-39.

5. Goodrich M-T., Tamassia R. Algorithm Design: Foundations, Analysis, and Internet Examples. — N. Y.: John Wiley & Sons, 2002. — Pt. 8.2.2.

6. Форд Л., Фалкерсон Д. Потоки в сетях: Пер. с англ. — М.: Мир, 1966. — 276 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.