УДК 519.17+519.24
Показатель надёжности для беспроводных самоорганизующихся сетей
Д. А. Мигов *
Предлагается новый подход для описания надёжности беспроводных самоорганизующихся сетей. Предполагается, что узлы сети подвержены отказам и сеть способна оставаться работоспособной при выходе из строя определённого количества узлов. Для подобных сетей предлагается новый показатель надёжности — вероятность того, что стоки сети (узлы, предназначенные для сбора информации с остальных узлов) связаны друг с другом и имеют возможность устанавливать соединение с остальными узлами сети, количество которых должно превышать заданное пороговое значение. На основе известного метода факторизации разработан метод расчета данного показателя. Продемонстрирована его работа
на примере задачи оптимального размещения стоков в сети.
Ключееые слова: надёжность сети, беспроводные самоорганизующихся сети, беспроводные сенсорные сети, оптимальное размещение стоков, случайный граф, метод факторизации.
1. Введение
Беспроводные самоорганизующихся сети (БСС, wireless ad hoc networks) получают всё большее развитие в последние два десятилетия, что связано, в первую очередь, с многочисленными приложениями в различных областях, простотой их развёртывания и рядом других преимуществ. Основная цель при использовании таких сетей заключается в мониторинге различных объектов: зданий, местности и многих других. Узлы БСС содержат некоторые датчики, которые могут быть самыми разнообразными. Чаще других используются датчики температуры, давления, влажности, освещённости, вибрации, реже — магнитоэлектрические, химические, звуковые и некоторые другие. Набор применяемых датчиков зависит от функций, выполняемых сетью. Сток в БСС является центральным функциональным узлом, принимающим и обрабатывающим все данные, или шлюзом для передачи данных на обработку базовой станции. Как правило, БСС содержит один или несколько стоков.
БСС представляют собой достаточно широкий класс сетей, включающий в себя беспроводные сенсорные сети (wireless sensor networks), транспортные сети (VANET), беспроводные mesh-сети и другие. Узлы БСС являются, как правило, относительно дешёвыми и подвержены отказам. Например, для беспроводных сенсорных сетей решающее значение имеет ограниченность заряда аккумуляторной батареи узла. Относительная дешевизна узлов даёт возможность обеспечивать их избыточность для поддержания работоспособности сети. Способность самоорганизации и самовосстановления БСС позволяет в случае отказа части узлов спонтанно формировать новую структуру сети.
При рассмотрении задач, касающихся анализа надёжности сетей различного назначения, в качестве модели сети используется, как правило, случайный граф [1,2]. Для элементов графа
*Работа поддержана грантом РФФИ № 14-07-31069.
(вершин и рёбер) задаются вероятности присутствия, что соответствует надёжности элементов сети (узлов и каналов связи). Изучаются различные ограничения и уточнения этой модели: ненадёжными могут быть каналы связи или/и узлы, наличие выделенных узлов сети — полюсов, для которых необходимо обеспечить возможность устанавливать соединение друг с другом, ограничение на диаметр сети [3-5] и другие. В качестве показателя надёжности сети обычно выступает вероятность связности соответствующего случайного графа, однако, изучаются и другие, например, средняя вероятность связности пар вершин [6] и ожидаемый размер связной компоненты [7]. Вне зависимости от того, какой показатель используется, задача точного расчёта надёжности является NP-трудной.
Значительная часть проведённых к настоящему моменту исследований в области надёжности сетей касаются случая ненадёжных рёбер и абсолютно надёжных узлов [4-9]. Для этого случая разработано достаточное количество точных и приближённых алгоритмов. Сети с ненадёжными узлами также изучались, при этом рассматривались две интерпретации связности сети. Так, в первом случае сеть предполагается работоспособной, если заданное множество узлов (терминалов) остаётся связным [10]. Во втором случае сеть работоспособна, если все неотказавшие узлы остаются связанными [11, 12] — так называемая «остаточная» надёжность (residual connectedness reliability). Данные показатели надёжности не позволяют адекватно описать функционирование БСС, так как в обоих случаях в сети может остаться слишком мало узлов для обеспечения мониторинга, при этом сеть будет оставаться надёжной с точки зрения этих показателей.
Для анализа надёжности БСС было предложено несколько показателей. Часть из них [13, 14] описывает надёжность сети как вероятность покрытия заданной территории. В другом случае [15] надёжность сети определяется как вероятность существования пути от стока (предполагается, что БСС содержит только один сток) к по крайней мере одному работоспособному узлу в заданном кластере (targeting cluster). При этом предполагается, что отказам подвержены узлы БСС. В другой работе этих же авторов [16] исследуется модель, в рамках которой каждый узел БСС может находиться в одном из трёх состояний: работоспособном, отказавшем, способным только быть транзитным узлом при передаче данных. Третье состояние возможно при отказе датчиков в узле с сохранением модуля для беспроводной связи.
В данной работе предлагается новый показатель надёжности для БСС с ненадёжными узлами. Предполагается, что сеть функционирует исправно, если работоспособные узлы, количество которых не меньше заданного наперёд порогового значения, могут передавать данные стокам, которые должны быть связанны друг с другом. Предлагаемый показатель надёжности определяется как вероятность исправного функционирования БСС в вышеуказанном смысле. В следующем пункте вводятся необходимые обозначения и определения, на основе которых даётся формальное определение предлагаемого показателя надёжности. Далее описывается метод его расчёта и проводятся численные эксперименты на примере оптимального размещения стоков в БСС.
2. Основные определения и обозначения
Будем представлять структуру БСС в виде неориентированного графа G = (V, E, K), в котором: V — множество вершин, E — множество рёбер, K — множество полюсов, т.е. выделенных вершин графа. Вершины графа G соответствуют узлам сети, рёбра — каналам связи, а полюса — стокам. Через N обозначим количество вершин графа, через M — количество рёбер. Предполагается, что сеть содержит хотя бы один сток. Через S обозначим количество элементов в V/K. Ребро, образованное смежными вершинами u, v будем обозначать как (u,v).
Узлы сети подвержены независимым отказам, что описывается значениями вероятностей присутствия каждой вершины в графе. Далее эту характеристику будем называть также надёжностью узла. Предполагается, что надёжность каналов связи сети на порядки превосходит надёжность узлов, поэтому в рамках рассматриваемой модели каналы связи полагаются абсолютно надёжными. Надёжность узла V будем обозначать как р*. Как правило, стоки БСС также можно считать абсолютно надёжными. Изложенные в данной статье результаты остаются верными и для случая ненадёжных стоков — отличие будет состоять лишь в наличие предварительного этапа в алгоритме расчёта надёжности, что разъясняется при описании этого алгоритма.
Предполагается, что сеть в состоянии оставаться работоспособной при выходе из строя определённого количества узлов, количество которых не должно превышать заданное пороговое значение. Другими словами, сеть успешно функционирует, если остаётся не менее Т работоспособных узлов, имеющих связь с каким-либо стоком. К их числу не относятся сами стоки, поэтому накладывается следующее условие на Т: 1 < Т < N — | К |. Вторым требованием к возможности сети успешно функционировать является связность стоков сети между собой. Под надёжностью беспроводной самоорганизующийся сети будем понимать вероятность её успешного функционирования. Ниже приводится формальное определение данной характеристики.
Элементарным событием ( будем называть частную реализацию графа, определяемую присутствием или отсутствием каждой из вершин. Присутствующие вершины будем называть исправными, отсутствующие — отказавшими. Через Уд обозначим множество исправных вершин. Пространство элементарных событий обозначим П.
Вероятность элементарного события равна произведению вероятностей присутствия исправных вершин, умноженному на произведение вероятностей отсутствия отказавших вершин:
р (()= П р* П (1—р*).
Определим случайную величину У : П ^ N следующим образом: У (() — это количество вершин из Уд/К, связанных с каким-либо стоком.
Элементарное событие ( будем называть успешным, если вершины К связны посредством вершин из Уд и У (() > Т
Произвольное событие (то есть объединение некоторых элементарных событий) будем называть успешным, если оно состоит только из успешных элементарных событий. Событие будем называть неуспешным, если оно состоит только из элементарных событий, которые не являются успешными.
Определим надёжность сети как вероятность события, образованного всеми успешными элементарными событиями. Будем обозначать данный показатель как Кк,т(С). Далее под надёжностью сети будет подразумеваться именно этот показатель, если не оговорено обратное.
3. Метод факторизации
Для расчёта введённого показателя надёжности БСС удобно использовать известный метод факторизации (ветвления, Мура-Шеннона) — универсальный метод точного расчёта различных характеристик надёжности [1]. В основе метода факторизации лежит разделение вероятностного пространства на два подмножества, определяемых отказом или исправным состоянием выбранного (в общем случае произвольным образом) ненадёжного элемента — узла или канала связи. Элемент, по которому производиться факторизация, называется разрешающим. Таким образом, мы переходим к рассмотрению двух новых графов, в одном из которых
Рис. 1. Процедура факторизации для вероятности связности графа с ненадёжными рёбрами
элемент присутствует с вероятностью 1 (ветвь стягивания), в другом — с вероятностью 0 (ветвь удаления). Вероятность первого из этих событий будет равна вероятности присутствия элемента, вероятность второго — вероятности отсутствия элемента. К полученным графам рекурсивно применяется эта же процедура. Формула полной вероятности при этом даёт искомое выражение для надёжности на каждом шаге факторизации. В общем случае для системы Б с ненадёжными элементами формула имеет следующий вид:
где R(S) это надёжность системы S, R(S|e works) — надёжность системы S при условии, что элемент e исправен, R(S|e fails) — надёжность системы S при условии, что элемент e отказал, re — надёжность элемента e.
Метод факторизации для вероятности связности графа G с ненадёжными рёбрами проиллюстрирован на рис. 1. Формула (1) принимает в данном случае следующий вид:
где ре — надёжность ребра в; С* — граф С, стянутый по ребру; 0\в — граф, получаемый из С удалением ребра в. Рекурсии продолжаются до получения либо несвязного графа, либо до получения графа, для которого вероятность связности можно вычислить непосредственно — графа специального вида или графа малой размерности.
Расчёт Rк,т(С) осуществляется по тому же принципу, но несколько более сложно, в первую очередь, из-за необходимости выполнения двух условий: связности полюсов и наличия достаточного количества присоединённых к ним других вершин. Соответственно, оконечных вариантов, т.е. графов, на которых рекурсии заканчиваются, будет больше. В качестве разрешающего элемента удобно брать одну из смежных какому-либо полюсу вершин, либо смежную какой-нибудь из уже пройденных вершин с надёжностью 1. Если окажется, что такой вершины из числа ещё непройденных нет, то надёжность текущего графа полагается равной 0. Таким образом, взяв за основу один из полюсов, можно накапливать количество присоединённых к нему вершин. Мы сохраним названия «ветвь стягивания» и «ветвь удаления», хотя собственно процесс стягивания в графе не осуществляется, равно как и удаление. Вместо этого соответствующие вершины графа помечаются соответственно как абсолютно надёжные, либо как отказавшие. Рассмотрим отдельно ветви стягивания и удаления такого процесса и перечислим оконечные варианты графов.
Ветвь стягивания. По этой ветви увеличивается количество присоединённых к полюсу вершин. Если их количество достигло Т, то необходима проверка связности полюсов путём,
R(S) = reR(S|e works) + (1 — re)R(S|e fails),
(1)
R(G) = PeR(G*e) + (1 — Pe)R(G\e),
(2)
проходящем через абсолютно надёжные узлы. Если проверка пройдена успешно, то получен оконечный подграф, который соответствует успешному событию. Если проверка дала отрицательный результат, то далее факторизация продолжается только с целью обеспечить связность полюсов. Другими словами, попросту подсчитывается вероятность связности полюсов в графе с ненадёжными вершинами, что удобно осуществлять методом из [10].
Ветвь удаления. По этой ветви уменьшается количество вершин, которые в процессе дальнейшего ветвления потенциально могли бы стать абсолютно надёжными. Следовательно, событие, соответствующее графу, полученному по этой ветви, может являться заведомо неуспешным по двум причинам: несвязности полюсов или невозможности достижения нужного количества присоединённых к полюсам вершин. Целесообразно проверять сначала первое условие, то есть установить, связаны ли полюса посредством вершин с ненулевой надёжностью. Если ответ отрицательный, надёжность текущего графа полагается равной 0. Если ответ положительный, то проверяем второе условие: количество непройденных вершин должно быть достаточным для достижения нужного количества присоединённых к полюсам вершин, то есть числа Т. Если нерассмотренных вершин ровно столько, чтобы обеспечить это условие, то все их делаем абсолютно надёжными и помечаем как пройденные. Тем самым мы полностью выделяем успешное подсобытие из данного события. Но при этом возможна ситуация, когда часть из этих вершин будет несвязна с полюсами, так как соединяющие их вершины могут быть помечены как отказавшие. Поэтому необходимо осуществить проверку связности абсолютно надёжных пройденных вершин (все полюса изначально помечаются как пройденные). Если проверка дала отрицательный результат, то надёжность текущего графа полагается равной 0. В противном случае для получения надёжности текущего графа требуется перемножить значения надёжности присоединённых вершин.
4. Алгоритм для расчёта надёжности
беспроводных самоорганизующихся сетей
Для описания алгоритма используются следующие обозначения. Графы, возникающие при факторизации, будем представлять массивом вероятностей Р, Р[г] — вероятность того, что узел г находится в исправном состоянии. Надёжность такого графа будем обозначать просто Я(Р). Исходному графу С будет соответствовать массив надёжностей его вершин, обозначим его Ро. Введём для каждого из графов в рассмотрение величину х — количество рассмотренных узлов, и величину у — количество узлов, абсолютно надёжных, соединённых с каким-либо полюсом. Через X будем обозначать множество пройденных узлов. Нам понадобится функция Кк(Р) — функция вычисления вероятности связности узлов К в графе Р с ненадёжными узлами, метод её расчёта приведён в [10]. Также необходимо использовать три различных функции проверки связности, упомянутые в описании ветвей факторизации:
ЭШквСоппес^у^у (Р) — проверка связности полюсов графа посредством вершин с ненулевой вероятностью присутствия;
ЗШквЯеНаЫеСоппес^у^у (Р) — проверка связности полюсов путём, проходящем через абсолютно надёжные вершины;
Яе11аЬ1еЫо(1е8Соппес^¥^у (Р) — проверка связности абсолютно надёжных пройденных вершин посредством этих же вершин.
Для проверки связности в каждом из случаев удобно использовать обход графа в ширину, имеющий вычислительную сложность 0(М).
Будем предполагать, что полюса абсолютно надёжны. В противном случае на предварительном этапе полюса делаются абсолютно надёжными, а полученное в итоге значение надёжности сети нужно будет умножить на исходные значения надёжности полюсов. Также на предварительном этапе все полюса помечаются как пройденные.
Рекурсивная процедура Factoring(P,x,y) представляет собой алгоритм факторизации для расчёта надёжности графа, соответствующего массиву P. Значения x и y являются зависимыми от P, однако, чтобы их не восстанавливать каждый раз по массиву P, они вынесены как отдельные параметры. Таким образом, получаем выражение для надёжности исходной сети: RK,T(G) = Factoring(P0, 0, 0). 1: function Factoring(P, x, y) 2: RContract ^ 0 3: RRemoval ^ 0
4: if 3v G V/X : 3u G X : e = (u, v) G E, P[u] = 1 then 5: X ^ X U v
6: p ^ P [v] > «Ветвь стягивания»
7: P [v] ^ 1
8: x ^ x +1
9: y ^ y +1
10: if y = T then
11: if SinksReliableConnectivity (P) then RContract ^ p
12: else RContract ^ p * RK (P)
13: end if
14: else RContract ^ p*Factoring(P,x,y)
15: end if
16: P[v] ^ 0 > «Ветвь удаления»
17: y ^ y — 1
18: if Connectivity (P) then
19: if S — x + y = T then
20: r ^ 1
21: for all i : P [i] > 0 do
22: r ^ r * P[i]
23: P[i] ^ 1
24: end for
25: if ReliableNodesConnectivity(P) then
26: RRemoval ^ (1 — p) * r
27: else RRemoval ^ 0
28: end if
29: else RRemoval ^ (1 — p)*Factoring(P,x,y)
30: end if
31: else RRemoval ^ 0
32: end if
33: end if
34: Return RContract + RRemoval > «Финальные вычисления»
35: end function
Как и для других характеристик сетевой надёжности, точный расчёт представленного показателя является NP-трудной задачей, так как включает в себя в качестве подзадачи расчёт вероятности связности подмножества вершин сети. Несмотря на это, предложенный алгоритм позволяет оперировать с БСС средней размерности (до сотни узлов). Для структур большой
а о
Рис. 2. Оптимальное размещение стоков для Т = 15 при р = 0.1, 0.5 (а) и при р = 0.9 (б)
размерности возможно использование метода из [8], адаптированного для рассматриваемого показателя. Этот метод позволяет оперировать с различными показателями надёжности, главное условие его применимости — наличие метода факторизации для расчёта данного показателя надёжности. Метод позволяет принимать решение о достаточной надёжности (или ненадёжности) сети по отношению к заданному порогу без исчерпывающего расчёта.
5. Результаты численных экспериментов
Продемонстрируем работу предложенного алгоритма на примере решения оптимизационной задачи по размещению стоков в сети. Пусть граф, соответствующий структуре сети, представляет собой решётку 5 х 5. Требуется разместить в узлах этой решётки три стока с целью максимизировать надёжность сети, то есть вероятность доступности до стоков для как минимум T других узлов сети с условием связности стоков между собой. Были рассмотрены три значения для показателя T: 10, 15, 20. Для каждого из этих значений оптимум искался для трёх случаев: надёжность каждого узла сети составляла 0.1, 0.5, 0.9. Задача решалась полным перебором всех возможных трёхэлементных комбинаций узлов сети, для каждого варианта размещения подсчитывалось соответствующие значение надёжности сети. Расчёт занял около трёх часов на ПЭВМ с процессором Intel Core Duo 2.93 GHz.
При T =15 получились различные оптимальные размещения при разных значениях надёжности узла (рис. 2).
При T = 10 и T = 20 оптимальные размещения не отличались для разных значений надёжностей узлов сети (рис. 3).
Естественно, для каждого из случаев также оптимумами будут и все варианты расстановки стоков, изоморфные представленным. Для каждого из вариантов размещения, приведённых на рис. 2, существует по 4 изоморфных размещения. Вариант размещения, приведённый на рис. 2 (а), имеет 32 изоморфных конфигурации, а вариант размещения, приведённый на рис. 2 (б ), — две.
6. Заключение
В данной работе предлагается новый подход для описания надёжности беспроводных самоорганизующихся сетей. За основу был взят широко известный и всесторонне изученный показатель надёжности — вероятность связности графа, соответствующего структуре сети. При этом были учтены важные факторы, характерные для функционирования БСС: подвержен-
Рис. 3. Оптимальное размещение стоков для T = 20 (a) и T = 10 (б)
ность узлов отказам и способность сети оставаться работоспособной при выходе из строя определённого количества узлов.
На основе этого показателя можно вводить в рассмотрение другие показатели надёжности, более точно описывающие интересующую предметную область. Актуальным является введение ограничения на длину кратчайшего пути (под длиной понимается количество транзитных узлов) от узла к ближайшему стоку - аналогично ограничению на диаметр для сетей, в которых все узлы должны иметь возможность устанавливать соединение с остальными. Ввод данного ограничения сделает такой показатель более интересным с точки зрения практических приложений, но и более трудоёмким для расчёта.
Можно снять требование о связности стоков сети, что имеет место, например, для БСС, в которых стоки связываются с базовой станцией напрямую и независимо друг от друга. Метод расчёта надёжности при подобных изменениях не будет принципиально отличаться от метода, предложенного в настоящей статье. Для всех этих показателей задача их точного расчёта будет также КР-трудной, однако, используя приём из [8], можно за приемлемое время получать нижнюю и верхнюю границы надёжности и делать вывод о достаточной надёжности/ненадёжности БСС по отношению к заданному порогу. Данные подходы позволят решать задачи анализа надёжности БСС, в частности задачи оптимального расположения стоков в таких сетях.
Литература
1. Colbourn Ch.J. The combinatorics of network reliability. N.Y.: Oxford Univ. press, 1987. 160 p.
2. Райгородский A.M. Модели случайных графов и их применение // Труды МФТИ. 2010. Т.2, №4. С. 130-140.
3. Мелентъев B.A. Функция структурной отказоустойчивости и d-ограниченная компонента связности графа вычислительной системы // Прикладная дискретная математика. 2008. № 2(2). С. 102-106.
4. Мигов Д.А. Расчёт надёжности двухполюсной сети с ограничением на диаметр с использованием сечений // Проблемы информатики. 2011. № 11. C. 4-9.
5. Petingi L. Combinatorial and computational properties of a diameter constrained network reliability model // Proc. Int. Conf. on Applied Computing (ACC'08). Istanbul, Turkey, 2008. P. 337-345.
6. Родионов А.С., Родионова O.K. Кумулятивные оценки средней вероятности связности пары вершин случайного графа // Проблемы информатики. 2013. № 19. C. 3-12.
7. Youssef M., Khorramzadeh Y, Eubank S. Network reliability: The effect of local network structure on diffusive processes // Physical Review. 2013. E 88(5). Article 052810.
8. Won J.-M., Karray F. Cumulative update of all-terminal reliability for faster feasibility decision // IEEE transactions on reliability. 2010. V. 59, № 3. P. 551-562.
9. Цициашвили Г.Ш., ОсиповаМ.А., Лосев А.С. Асимптотические формулы для вероятностей связности случайных графов // Автоматика и вычислительная техника. 2013. № 2. С. 22-28.
10. Shooman A.M. Algorithms for network reliability and connection availability analysis // Electro/95 Int. Professional Program Proc. Boston, USA 1995. P. 309-333.
11. Liu Sh., Cheng K., Liu X. Network reliability with node failures // Networks. 2000. V. 35. P. 109-117.
12. Colbourn Ch.J., Satyanarayana A., Suffel C., Sutner K. Computing residual connectedness reliability for restricted networks // Discrete Applied Mathematics. 1993. V. 44. P. 221-232.
13. Cai W., Jin X., Zhang Y., Chen K., Tang /.Research on reliability model of large-scale wireless sensor networks // Proc. of IEEE Int. Conf. on Wireless Communications, Networking and Mobile Computing (WiC0M'2006). Wuhan, China, 2006. P. 1-4.
14. Shazly M.H., Elmallah E.S., Harms J.J., AboElFotoh H.M.F. On area coverage reliability of wireless sensor networks // Proc. of IEEE Conf. on Local Computer Networks (LCN'2011). Bonn, Germany. P. 580-588.
15. AboElFotoh H.M.F., Iyengar S.S., Chakrabarty K. Computing reliability and message delay for cooperative wireless distributed sensor networks subject to random failures // IEEE transactions on reliability. 2005. V. 54, №1. P. 145-155.
16. Shazly M.H., Elmallah E.S., AboElFotoh H.M.F. A three-state node reliability model for sensor networks//Proc. of IEEE Global Telecommunications Conf (GL0BEC0M'2010). Miami, USA. P. 1-5.
Статья поступила в редакцию 11.04.2014; переработанный вариант - 23.06.2014.
Мигов Денис Александрович
к.ф.-м.н., научный сотрудник лаборатории моделирования динамических процессов в информационных сетях Института вычислительной математики и математической геофизики СО РАН (630090, Новосибирск, пр. Лаврентьева, 6), тел. (383) 332-69-49, e-mail: [email protected].
New network reliability model for wirelles ad hoc networks
D. Migov
In this article, the problem of reliability analysis of wireless ad hoc networks is considered. It is assumed that a network contains imperfect nodes and carries on operating even if some nodes fail. We define the reliability of such network as the probability that sink nodes are connected and can collect data from other nodes the amount of which exceeds a specified threshold limit. New calculating method of this index is proposed which is based on a well-known factoring method. Experiments show that this method can be used for optimal sink nodes placement in network in order to obtain the most reliable version of network topology.
Keywords: network reliability, wireless ad hoc network, wireless sensor network, optimal sink nodes placement, random graph, factoring method.