АЛГОРИТМЫ ДЛЯ ЗАДАЧИ МНОГОАДРЕСНОЙ НАДЕЖНОЙ РАССЫЛКИ В БЕСПРОВОДНЫХ ЫБЯ^СЕТЯХ
А. И. Ляхов, А. А. Сафонов, А. Н. Юргенсон*, О. Д. Соколова*
Институт проблем передачи информации РАН, 127994, Москва, Россия * Институт вычислительной математики и математической геофизики СО РАН,
630090, Новосибирск, Россия
УДК 519.873; 004.057.4
Рассматривается задача многоадресной рассылки сообщений в беспроводных mesh-сетях. При исследовании задачи выбран критерий оптимальности — минимальная загрузка каналов с ограничением на вероятность потерь пакетов. Предложены алгоритмы, учитывающие особенности различных методов надежной доставки.
Ключевые слова: беспроводные сети, многоадресная доставка сообщений, надежность.
In this paper, we discuss the problem of groupcast packets delivery in wireless mesh-networks. The minimum channel occupancy time when the packet loss ratio is below a threshold value is considered as the criterion of optimality. In the paper, we propose algorithms which take into account various methods of reliable packet transmission.
Key words: wireless network, groupcast, reliability.
Введение. Традиционно в беспроводных сетях IEEE 802.11 [1, 2], работающих в инфраструктурном режиме или режиме ad hoc, и в mesh-сетях на основе стандарта IEEE 802.11s [3] задача передачи пакета группе получателей решается путем широковещательной передачи пакета без проверки того, была ли эта передача успешной для всех получателей (и даже без проверки того, была ли она успешной хотя бы для одного получателя из группы). Однако с увеличением доли мультимедийного трафика в общем объеме трафика телекоммуникационных операторов, обусловленным ростом популярности аудио- и видеоприложений, возрастает необходимость передачи пакетов, в том числе групповых, с предоставлением гарантии определенного уровня качества передачи, которое для мультимедийных приложений характеризуется величиной задержки пакетов при передаче и долей недоставленных пакетов. При использовании метода случайного множественного доступа к среде, являющегося основным для mesh-сетей на основе стандарта IEEE 802.11s, ограничение на долю пакетов, не доставленных конечному получателю, является существенно более жестким, чем ограничение на задержку пакета, поэтому в данной работе полагается, что требование по задержке всегда выполнено, и основное внимание уделяется удовлетворению требований к надежности передачи. Влияние межканальной интерференции на надежность не исследовано, методы решения проблем, обусловленных межканальной интерференцией, рассмотрены, например, в работе [4].
Альтернативой широковещательной передаче является серия индивидуальных передач каждому получателю. Такой способ доставки позволяет гарантировать необходимый уровень надежности передачи, однако требует кратного увеличения используемого канального
ресурса. В связи с этим рабочая группа WG11 Международного комитета по стандартизации локальных и городских сетей IEEE 802 LAN/MAN Standards Committee в рамках дополнения IEEE 802.11aa [5] к стандарту [2] разработала ряд методов, объединенных названием Groupcast with Retries (GCR), обеспечивающих большую надежность по сравнению с обычной широковещательной передачей и позволяющих при этом ограничить использование канального ресурса.
Методы GCR могут быть использованы как в одношаговых сетях в инфраструктурном режиме (сетях, состоящих из базовой станции и станций клиентов), так и в многошаговых одноранговых mesh-сетях IEEE 802.11s при передаче пакета группе получателей по дереву рассылки.
Алгоритмы построения дерева рассылки в беспроводных сетях на графе сети подробно описаны в [6-9]. Однако целью всех этих алгоритмов является построение дерева рассылки минимальной стоимости в предположении, что передача по ветвям дерева ведется либо широковещательно (см. [10]), либо индивидуально (множество приближенных алгоритмов построения дерева Штейнера [11]). В данной работе В данной работе предлагаются и исследуются алгоритмы построения дерева рассылки в предположении, что передача по ветвям дерева ведется с помощью методов GCR, описанных в п. 2.
Один из аппроксимационных алгоритмов, предназначенных для поиска дерева, оптимального для широковещательной передачи (покрывающее дерево с минимальным числом вершин, не являющихся его листьями) (см. [12]), выбран в данной работе в качестве отправной точки анализа решения. Разрабатываются оригинальные метрики стоимости дерева, учитывающие среднее число попыток передачи каждым узлом-ретранслятором исходя из того, что на каждом шаге ретрансляции передатчик осуществляет необходимое число широковещательных передач для гарантированной (с определенной вероятностью а{) доставки пакета всем приемникам одним из методов GCR. С учетом этих метрик предложены модификации "жадного" алгоритма построения дерева Штейнера. Кроме того, разработан оригинальный алгоритм приближения произвольного дерева к дереву с минимальной стоимостью в смысле любой из предложенных метрик, названный алгоритмом рекластери-зации.
Проведено тестирование эффективности в смысле разработанных метрик работы алгоритма Гуха [12] и его модификаций на графе топологии "решетка" 9 х 9. К деревьям, полученным с помощью этих алгоритмов, был дополнительно применен алгоритм рекластеризации. Проведен сравнительный анализ весов всех деревьев, построенных с учетом предложенных в работе метрик.
1. Модель сети и метрика стоимости дерева рассылки. Многошаговую беспроводную сеть (mesh-сеть) будем представлять ориентированным графом G(E, V), где V — множество вершин; E — множество ориентированных дуг, соответствующих открытым соединениям между узлами. Введем следующие обозначения: V0 Ç V — выделенное множество вершин, соответствующее группе узлов сети, которым необходимо передать пакет, s — вершина (источник), передающая пакет множеству V0.
При передаче пакетов в многошаговой сети используется четырехадресная схема, т. е. заголовок каждого пакета данных содержит четыре адреса, необходимых для его ретрансляции на каждом шаге одноадресного или многоадресного маршрута. В данной работе используется следующая терминология для обозначения узлов, соответствующих этим адресам: источник — узел, генерирующий пакет данных; передатчик — узел, передающий пакет на данном шаге маршрута; приемник — узел, принимающий пакет на данном шаге маршру-
та; конечный получатель — узел, которому в конечном счете должен быть доставлен пакет, генерируемый источником.
Будем называть кластером любое непустое подмножество вершин Vi, смежных с вершиной Vi, а саму вершину vi — лидером этого кластера. Каждой дуге ej = (v ,Vj) припишем вероятность pij неудачной попытки передачи пакета. Каждой вершине vi припишем стоимость ci(Vi) одной попытки передачи пакета от лидера vi всем вершинам кластера Vi. Эта величина зависит от применяемой сигнально-кодовой конструкции, определяющей при этом скорость передачи, и способа передачи, точнее, от объема накладных расходов при доступе к среде.
Полная стоимость передачи пакета от лидера к вершинам кластера определяется средним временем, на которое занимается беспроводная среда, включая все попытки передачи пакета. Таким образом, если лидер vi передает пакет кластеру Vi = {v\,...,vk}, то стоимость передачи Ci(Vi) узлом vi считаем равной ci(Vi)N(vi,Vi), где N(vi,Vj) — среднее число попыток передачи пакета.
Задача рассылки формулируется следующим образом. В графе G = (V, E) выделены вершина s и множество V0 конечных получателей. Требуется найти связное дерево T = G(V',E') С G с корневой вершиной s, где E G E, V0 С V', такое что
у^ Ci(V) ^ min
vieV "
(V" С V' — вершины дерева T, не являющиеся его листьями; Vi — кластер, вершины которого являются потомками vi в дереве T). Иными словами, необходимо минимизировать время занятия беспроводной сети при передаче пакетов группе получателей, полагая, что требования по надежности удовлетворяются с помощью одного из методов GCR. В частности, полагаем, что выбранный метод GCR настроен таким образом, что на каждом шаге ретрансляции доля пакетов, не доставленных любому из приемников, не превышает а.\. Выбранный метод GCR определяет также стоимостную функцию ci(Vi) (см. п. 2).
2. Методы передачи Groupcast with Retries (GCR). Спецификация IEEE 802.11aa [5], описывающая новые (по сравнению с основным стандартом IEEE 802.11 [2]) средства повышения эффективности передачи потоковых данных, в настоящее время предлагает следующие три метода надежной многоадресной передачи: 1) метод индивидуальных передач; 2) метод безусловных повторных передач; 3) метод блочной передачи.
2.1. Метод индивидуальных передач. Метод индивидуальных передач (directed multicast service (DMS)) представляет собой групповую рассылку, преобразованную в набор индивидуальных передач (по числу узлов-приемников): пакет, который следует передать, последовательно отправляется каждому из узлов-приемников индивидуально. При этом каждый узел подтверждает получение каждого пакета, за счет чего достигается максимально возможная надежность передачи.
Стоимость одной попытки передачи одного пакета длиной l методом индивидуальных передач зависит от числа узлов-приемников k и может быть оценена по формуле
c(vi ,Vi)Dus = (l + С )nk, (1)
где С — величина, характеризующая накладные расходы метода доступа (передача подтверждения и пр.); п — величина, характеризующая используемую при передаче сигнально-кодовую конструкцию (полагаем, что при передаче всем узлам-приемникам используется одна и та же сигнально-кодовая конструкция).
Если в (1) l ^ ж, то 1 ^ 0, однако для коротких пакетов, в частности голосовых, 1 ~ 1. Теоретически 1 ^ ж при l ^ 0, однако длина пакета не может быть меньше некоторого минимального значения, поэтому значение 1 = ж никогда не достигается.
Без потери общности для сигнально-кодовой конструкции можно положить п = 1. В дальнейшем в данной работе величина п во всех выражениях опущена.
Ограничивая число попыток передачи каждому узлу-приемнику j кластера Vi значением |~logp_ а1], обеспечиваем выполнение требований по надежности. Тогда при передаче пакета методом индивидуальных передач среднее число N(vi,Vi)dms попыток передачи пакета узлом vi кластеру Vi, обеспечивающее вероятность потери пакета, не превышающую а\, равно
N (Vi,Vi)dms = -+ -+ ••• + --(2)
1 - Pi1 1 - Pi2 1 - Pik
(k — число приемников), суммарная стоимость передачи методом DMS равна
Ci(V)
dms = (l + OkN (vi,Vi) dms • (3)
2.2. Метод безусловных повторных передач. Метод безусловных повторных передач (unsolicited retry (GCR-U)) представляет собой групповую рассылку, при которой пакет передается широковещательно, но несколько раз. При этом узлы-приемники не отправляют подтверждений о приеме пакета. Статистически обеспечивается надежность доставки пакета, уровень которой хотя и уступает уровню надежности, достигаемому с помощью метода DMS, но обеспечивается фиксированными и, как правило, меньшими затратами канального ресурса.
Стоимость одной попытки передачи одного пакета длиной l методом безусловных повторных передач от числа узлов-получателей не зависит. Минимальное число N(vi,Vi)ocr-u попыток передачи пакета узлом vi кластеру Vi, обеспечивающее вероятность потери пакета, не превышающую а1, равно
N (vi,Vi )gcr-u = Г ^ !• (4)
Здесь p = p(Vi) = max {pij}, vj E Vi.
Суммарная стоимость передачи методом GCR-U равна
Ci(Vi)gcr-u = IN (vi,Vi)gcr-u- (5)
2.3. Метод блочной передачи. Метод блочной передачи (GCR-Block-ACK (GCR-B)) представляет собой групповую рассылку с блочными подтверждениями пакетов и является расширением метода Block ACK для индивидуальных передач, описанного в стандарте IEEE 802.11 [2]. Метод основан на сборе подтверждений Block ACK успешного приема конечной последовательности пакетов от одного или нескольких узлов-приемников и в зависимости от реализации предоставляет практически любое соотношение между достигаемой надежностью доставки пакета и затратами канального ресурса.
В данной работе рассматривается следующая схема блочной передачи. Узел-отправитель передает блок, состоящий из нескольких пакетов данных (DATA), узлам-приемникам. Затем узел-отправитель передает запрос на подтверждение Block AckReq каждому узлу-приемнику, ожидая от них ответ в течение малого промежутка времени (рис. 1).
При передаче блока, состоящего из b пакетов данных, кластеру, состоящему из k узлов, стоимость попытки передачи в расчете на один пакет равна
Узел-отправитель
Узел-приемник 1
Узел-приемник 2
Block Block
Data Data Data AckReq AckReq
Block Ack
Block Ack
Рис. 1. Пример последовательности кадров при передаче методом блочной передачи узлом-отправителем (GCR originator) двум узлам-приемникам (GCR group member)
c(vi,Vi) gcr-b = l + kÇ/b.
(6)
Для подтверждения приема пакетов необходимы два служебных пакета (на рис. 1 пакеты Block AckReq и Block Ack ); для коротких пакетов (например, голосовых), для которых l = 1, можно положить £ = 2, в отличие от метода DMS, в котором для коротких пакетов £ = 1. Среднее число N(ii,Vi)ocR-B попыток передачи пакета узлом vi кластеру Vi равно
N (Vi,Vi)GCR-B
1 - Pil
+
1
1 - Pi2 1
+ ... +
1
1 - Pik
+
1
+
1 - PilPi2 1 - PilPi3 11
+ ... +
1
+
1 - + !-+ ... +
1 - PilPi2Pi3 1 - PilPi2Pi4
1 - Pik-lPik 1
1 - Pik-2Pik-lPik ... + (-1) —
+ .
1
1 - PilPi2 ■■■'Pik
(7)
При этом каждый пакет передается до тех пор, пока не будет передан успешно, т. е. обеспечивается максимальная надежность передачи а\ = 0. В данном случае число попыток не ограничивается, так как это приводит к чрезмерному усложнению расчета стоимости, неприемлемому при дальнейшем анализе.
С учетом формул (6), (7) суммарная стоимость передачи методом GCR-B равна
Ci(Vi)GCR-B = (l + kÇ/b)N (Vi,Vi)gcr-b.
(8)
3. Алгоритмы решения задачи рассылки. Для вычисления стоимости надежной рассылки с помощью методов, описанных в данном пункте, разработан алгоритм, в котором используется модификация алгоритма поиска дерева Штейнера [11].
"^Кадный" алгоритм поиска дерева Штейнера (алгоритм 1)
Шаг 1. Пусть V' := {в}.
ШШаг 2. Для каждого ребра каждого кластера V припишем стоимость Каждому
ребру в1т = (у1,ут) (V Е V', т. е. V — лидер, а ут не входит в кластер вершины V) припишем стоимость, на которую увеличится стоимость отправки пакета от лидера в кластер, если в этот кластер добавить вершину vm (см. (3), (5), (8)). Остальным ребрам е\т припишем
1
стоимость, которая получится, если вершина V станет лидером, а ее кластер будет состоять из одной вершины vm.
Ш!аг 3. С использованием алгоритма Флойда найдем кратчайшие расстояния между всеми парами вершин.
ШШаг 4. По найденной матрице расстояний найдем кратчайший путь, такой что начальная вершина принадлежит какому-либо кластеру, а конечная вершина принадлежит множеству У0 (выделенная вершина, еще не включенная ни в один кластер). Для каждой вершины найденного пути (кроме последней) создаем соответствующие кластеры и заносим их в V'. Возвращаемся на шаг 2. Если все выделенные вершины включены в кластеры, то конец алгоритма.
Алгоритм имеет сложность порядка 0(и'(шЛ + и3)), где и = ¡V|; ш = Е|; и' = Л — сложность расчета формул (2), (3); (4), (5) или (7), (8) (в зависимости от метода рассылки). Так, для формул (2), (3) Л = О(к) (к — степень вершины), для формул (4), (5) Л = 0(1), при вычислении по формулам (7), (8) требуется 0(2к) операций. Поэтому для метода GCR-B, возможно, более предпочтительна аппроксимация (будем называть ее алгоритмом 2), которая в формуле (7) использует только первую группу слагаемых. Тогда пересчет матрицы расстояний на каждом шаге не требуется (на шаге 4 делается переход сразу на шаг 3) и сложность алгоритма равна 0(и'и3). Полученное решение можно использовать для дальнейших расчетов.
После того как с помощью алгоритма 1 или алгоритма 2 построены кластеры, к ним можно применить дополнительную процедуру рекластеризации (один или несколько раз) для улучшения решения. Так как каждую вершину можно поместить в различные кластеры, то можно рассматривать различные варианты поиска оптимального решения.
Алгоритм рекластеризации (алгоритм 3)
ШШаг 1 аналогичен шагу 2 алгоритма 1. Остальным ребрам ет припишем стоимость, которая получится, если вершина V станет лидером, а ее кластер будет состоять из одной вершины vm.
ШШаг 2. С использованием алгоритма Флойда найдем кратчайшие расстояния между всеми парами вершин. Упорядочим кратчайшие пути по возрастанию.
Шаг 3. По очереди рассмотрим пути, такие что начальная вершина х Е V, или является лидером, а конечная у Е У0. Для вершины у вычислим стоимость, на которую уменьшится стоимость кластера, если удалить из него вершину у. Если кластер состоит из одной вершины, то рассмотрим цепочку вершин до кластера из двух и более вершин. (На рис. 2 показан граф, такой что если требуется перенести вершину х3 из ее кластера в кластер Рис. 2. Схема переноса вершины вершины х4, то нужно удалить всю цепочку х\,х2,х3, так из одного кластера в друшй как х\,х2 — вершины-передатчики.) Сравним стоимость (серые вершины принадлежат полученного пути и стоимость пути после перемещения множеству Уо) вершины в другой кластер (по матрице расстояний). Ес-
ли новый путь дешевле и не создает циклов, то удаляем старый путь, а для нового создаем соответствующие кластеры. Если нового, более дешевого пути не найдено, то алгоритм заканчивает работу.
Сложность алгоритма рекластеризации порядка О (и3 + и'и2 Л).
4. Результаты численных расчетов. Проведены расчеты стоимости дерева рассылки для всех описанных в п. 3 методов и сравнение их с модифицированным алгоритмом Гуха. В классическом алгоритме Гуха [12] множество вершин разбивается на кластеры по критерию максимального количества соседей без учета вероятности потери сообщений. При таких условиях стоимость рассылки может быть значительно больше стоимости рассылки по другим алгоритмам. Для получения оптимальных результатов с помощью алгоритма Гуха находилось только начальное решение, а затем применялась рекластеризация (алгоритм 3) по соответствующей формуле.
На рис. 3 приведены результаты работы алгоритмов. Использовались связные графы: решетка \V| = 81 с разной степенью сгущения: р =1 (вершина "видит" четырех соседей), р = 5 (вершина "видит" 24 соседа). Также варьировались следующие параметры: количество выделенных вершин (число конечных получателей) \Vo\ = 3,10, 30, 50, 70, вероятность потери пакета, выбираемая для каждой пары соседних станций в диапазонах p Е (0,3; 0,6), p Е (0,01; 0,6), p Е (0,01; 0,9). Длина пакета l = 1; для метода DMS £ =1; для метода GCR-B £ = 2, b = 3; при этом а\ = 0, 05. По оси ординат отложена нормированная стоимость рассылки пакета по построенному дереву (для нормирования выбиралось лучшее решение, и веса всех решений делились на вес лучшего решения).
Анализ гистограмм на рис. 3 позволяет сделать следующие выводы:
1. Стоимость рассылки с использованием метода DMS всегда дороже по сравнению с другими методами. Чем больше количество выделенных вершин \Vo\ (т. е. число конечных получателей) и сгущение сетки р, тем выше стоимость рассылки с помощью метода DMS. Чем меньше разброс вероятностей p, тем существеннее увеличение стоимости при использовании метода DMS.
2. В случае использования метода GCR-U при небольшом разбросе вероятности p со сгущением сетки р алгоритм Гуха с рекластеризацией находит значительно лучшее решение, чем алгоритм 1. При увеличении разброса p лучшее решение находит алгоритм 1 с рекластеризацией. Это можно объяснить тем, что при небольшом разбросе вероятности p средние количества передач пакета приближенно равны, поэтому дешевле рассылать пакет максимально возможному количеству соседей.
3. При малых \Vo\ и р алгоритм Гуха с рекластеризацией находит значительно худшее решение по сравнению с алгоритмом 1.
4. При различных значениях р, p, \ V0\ алгоритмы 1 и 2, алгоритм Гуха с рекластеризацией в случае использования метода GCR-B работают почти одинаково, но сложность алгоритма 2 и алгоритма Гуха существенно меньше.
5. Рассылка с использованием метода GCR-U почти всегда оказывается дешевле рассылки в случае использования метода GCR-B. Обратное верно только при р =1. Большая стоимость рассылки с использованием метода GCR-B объясняется, в частности, тем, что стоимостная функция, вычисленная по формулам (7), (8) для метода GCR-B, получена в предположении максимальной надежности (а\ = 0), в то время как при выводе стоимостной функции по формулам (4), (5) для метода GCR-U ограничение по надежности было слабее: а\ = 0,05.
5. Оценка работы алгоритмов. Оценим работу алгоритмов в наихудшем случае при использовании метода GCR-B (формулы (7), (8)). При поиске дерева широковещательной рассылки одним из классических алгоритмов для разбиения множества вершин на кластеры является алгоритм Гуха [12]. При разбиении множества вершин на кластеры следующую вершину алгоритм Гуха выбирает по критерию максимального количества соседей и не учи-
о Е
X
о ^
0
3
1 I
я =
о &
3
Е &
О
Я
2,0 1,8 1,6 1,4 1,2 1,0 0,8 0,6 0,4 0,2 | 0,0-1-
р=1/>=(0,3;0,6)
Р=$Р =(0,3; 0,6)
0 ^
и §
1
3
я
о &
3
Е &
о
я
3,5 3,0 2,5 2,0 1,5 1,0 0,5 0,0
р=1 />=(0,01; 0,6)
р=5 /?=(0,01; 0,6)
70
р=1 р =(0,01; 0,9)
р=5 ^=(0,01; 0,9)
50
70
■ ОиЬаОМ8+
■ оме
□ ОМ8+
■ ОиЬаи+
■ ося-и
□ оск-и+
■ ОиЬаВ+
□ ося-вг
■ ОСК-В2+
□ ося-в
■ оск-в+
■ ОиЬаОМ8+
■ оме
□ ОМ8+
■ ОиЬаи+
■ ося-и
□ ося-и+
■ ОиЬаВ+
□ ося-вг
■ ОСК-В2+
□ ося-в
■ оск-в+
■ ОиЬаОМ8+
■ оме
□ ОМ8+
■ ОиЬаи+
■ ося-и
□ ося-и+
■ ОиЬаВ+
□ ося-вг
■ ОСК-В2+
□ ося-в
■ оск-в+
Рис. 3. Результаты работы алгоритмов:
GuhaDMSH--алгоритм Гуха о рекластеризацией при использовании метода DMS,
DMS — алгоритм 1 при использовании метода DMS,
DMSH--алгоритм 1 с рекластеризацией при использовании метода DMS,
GuhaUH--алгоритм Гуха о рекластеризацией при использовании метода GCR-U,
GCR-U — алгоритм 1 при использовании метода GCR-U,
GCR-UH--алгоритм 1 с рекластеризацией при использовании метода GCR-U,
GuhaBH--алгоритм Гуха о рекластеризацией при использовании метода GCR-B,
GCR-B2 — алгоритм 2 при использовании метода GCR-B,
GCR-B2H--алгоритм 2 с рекластеризацией при использовании метода GCR-B,
GCR-B — алгоритм 1 при использовании метода GCR-B, GCR-BH--алгоритм 1 с рекластеризацией при использовании метода GCR-B
тывает вероятности потери сообщений. Поэтому всегда можно подобрать граф, для которого алгоритм Гуха будет находить сколь угодно плохое решение. На рис. 4,а приведен пример графа, в котором вероятность потери пакета равна р01 = р21 = 0, р02 = 1-е (е — сколь угодно малая величина). Если вершина хо будет передавать пакет всем своим соседям (а именно это
решение найдет алгоритм Гуха), то стоимость передачи пакета будет равна 7/(4е), т. е. сколь угодно велика. В то же время, если бы передача пакета происходила сначала от вершины Х0 к вершине Х\, а затем от Х1 к Х2, то стоимость составила бы 31/3.
Рассмотрим случай, когда все вероятности потери пакета равны р, пакет рассылается всем вершинам, стоимости рассылки пакета у всех вершин одинаковы и равны единице. В этих условиях алгоритм 2 (см. п. 4) не видит разницы в выборе следующей вершины (среднее число попыток передать пакет равно 1/(1 — р)). На рис. 4,б сплошными линиями показан граф, на котором алгоритм 2 может найти наихудшее решение: лидерами кластеров будут Х0,Х1,Х2,...,Хк-1 (т. е. пакет передается по цепочке) и итоговая стоимость составит (5^)/3(1 — р). В то же время, если бы вершина Х0 передавала пакет сразу всем своим соседям, то итоговая стоимость была бы равна к/(1— р) — 01/(1— р2) + С|/(1 — р3) + ... + (—1)к-1 /(1—рк). Нетрудно заметить, что наибольшее различие между этими двумя решениями достигается при р = 0, т. е. в случае, когда пакет передается по цепочке, нужно к предач, а в случае, когда вершина Х0 передает пакет сразу всем соседям, нужна только одна передача. Таким образом, решение, найденное алгоритмом 2, может быть в 5к/(3 + 2к) раз хуже оптимального (т. е. при больших к — в 2,5 раза).
Оценим работу описанного в п. 4 алгоритма 1 при тех же условиях. Создание новых кластеров происходит для каждой вершины, а не для группы вершин. Кроме того, в дальнейшем добавление вершин происходит последовательно. Таким образом, если вершина Х0 передает пакет всем своим соседям, то на следующем шаге алгоритм "видит" одинаковые стоимости создания кластеров с лидерами Х1}...,Хк (см. рис. 4,в). Если алгоритм создаст кластеры сначала с лидером Х1, затем с Х2 и т. д., то при р = 0 итоговое количество передач будет равно к + 1 (сплошные линии на рис. 4,в). В то же время, если бы сначала был создан кластер с лидером Хк, то затем дешевле было бы добавлять вершины х'1,...,хк_ 1 в кластер с лидером Хк, а не создавать другие кластеры. Во втором варианте потребуется только две передачи пакета (сначала от вершины Х0, затем от Хк). Таким образом, решение, найденное алгоритмом 1, может быть в (3 + 7к)/(6 + 4к) раз хуже оптимального (т. е. в пределе при больших к — в 1,75 раза).
В аналогичном случае для формул (4), (5) решение, найденное алгоритмом, может быть в (к + 1)/2 раз хуже оптимального.
В алгоритме рекластеризации в случае, когда все вероятности потери пакета p = 0 и исходное решение (для которого проводится рекластеризация) представляет собой двоичное дерево (сплошные линии на рис. 5), рекластеризации не произойдет. Количество пересылок по такому дереву равно \(n — 1)/2]. Однако, если бы можно было переносить сразу по две вершины, то можно было бы разослать пакет за \(n — 1)/k] передач (если можно построить такое дерево, чтобы у каждого лидера было по k потомков). В пределе при больших k получим такую же оценку, как и в рассмотренном выше случае: полученное решение может быть в 1,75 раза хуже оптимального. В аналогичном случае для формул (4), (5) можно получить следующую оценку: решение, найденное алгоритмом, может быть в k/2 раз хуже оптимального.
Заключение. Разработан метод маршрутизации многоадресных мультимедийных потоков информации в беспроводных mesh-сетях, учитывающий такие современные способы обеспечения надежности групповой рассылки, как методы индивидуальной передачи, безусловных повторных передач, блочной передачи. Предложены эвристические алгоритмы, реализующие рассылку по этим методам. Проведенные численные расчеты показали, что для повышения эффективности групповой рассылки необходимо: 1) правильно выбрать способ обеспечения надежности с учетом плотности размещения станций сети, диапазона разброса вероятностей неудачной передачи и числа конечных получателей; 2) использовать алгоритм построения дерева, максимально учитывающий выбранный способ обеспечения надежности.
Список литературы
1. ВишнЕвский В. M. Широкополосные беспроводные сети передачи информации / В. M. Вишневский, А. И. Ляхов, С. Л. Портной, И. Л. Шахнович. М.: Техносфера, 2005.
2. IEEE Std 802.11-2007. IEEE Standard for Information technology — Telecommunications and information exchange between systems — Local and metropolitan area networks — Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. -Revision of IEEE Std 802.11-1999. N. Y.: IEEE, 2007. [Electron. resource]. http://ieeexplore.ieee.org/ servlet/opac?punumber=4248376.
3. IEEE P802.11s/D11.0. Draft Standard for Information Technology — Telecommunications and information exchange between systems — Local and metropolitan area networks — Specific requirements — Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications: Amendment: Mesh Networking / IEEE Standards Activities Department. N. Y.: IEEE, 2011. [Electron. resource]. http://ieeexplore.ieee.org/servlet/opac?punumber=5756331.
4. Shakhov V. V., Hyünseung Choo. Analytical approach for channel assignments in cellular networks // Springer-Verlag Lecture Notes in Comp. Science. 2003. V. 2657. P. 466-473.
5. IEEE P802.11aa/D3.0. Draft Standard for Information Technology — Telecommunications and information exchange between systems — LAN/MAN Specific requirements — Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications: Amendment 3: MAC Enhancements for Robust Audio Video Streaming. N. Y.: IEEE, 2011.
Рис. 5. Пример графа, для которого алгоритм рекластеризации дает наихудшие результаты
6. Мизин И. А. Сети коммуникации пакетов / И. А. Мизин, В. А. Богатырев, А. П. Кулешов. М.: Радио и связь, 1986.
7. Скрипов С. А. Оценка качества протоколов маршрутизации для сенсорных сетей // Программные продукты и системы. 2008. № 4. С. 125-127.
8. Вишневский В., ЛлконцЕВ Д., Сафонов А., Шпилев С. Маршрутизация в широкополосных беспроводных mesh-сетях стандарта IEEE 802.11s // Электроника: Наука, технология, бизнес. 2008. № 6. С. 64-69.
9. Гайдулин А. Моделирование алгоритма маршрутизации передаваемых данных в беспроводных сетях со смешанными типами коммутации // Вестн. Нижегор. ун-та. 2008. № 1. С. 93-99.
10. Ruiz P. M., Gomez-Skarmeta A. F. Approximating optimal multicast trees in wireless multi-hop networks // Proc. of the 10th IEEE symp. on computers and communications (ISCC 2005), La Manga (Spain), June 2005. P. 686-691.
11. Winter P. Steiner problem in networks // A survey Networks. 1987. V. 17, N 2. P. 129-167.
12. Guha S., Khuller S. Approximation algorithms for connected dominating sets // Algorithmica. 1998. V. 20, N 4. P. 374-387.
Ляхов Андрей Игоревич — д-р техн. наук, зав. лабораторией Института проблем передачи информации РАН; e-mail: [email protected];
Сафонов Александр Александрович — канд. техн. наук, ст. науч. сотр. Института проблем передачи информации РАН; e-mail: [email protected];
Юргенсон Анастасия Николаевна — канд. физ.-мат. наук, науч. сотр. Института вычислительной математики и математической геофизики СО РАН; e-mail: [email protected];
Соколова Ольга Дмитриевна — канд. техн. наук, науч. сотр. Института вычислительной математики и математической геофизики СО РАН; e-mail: [email protected]
Дата поступления — 25.05.11