Математическая модель передачи потоковых данных прикладного уровня по беспроводным каналам связи
Ключевые слова: беспроводной канал, математическая модель, потоковые данные, чанки, ARQ, FEC, WAN.
Павлова М.М., Абилов А.В.
Передачу потоковых данных по беспроводным каналам, с учетом возникающих потерь пакетов можно считать случайным процессом. Потери являются случайным событием, и могут приводить к невозможности воспроизведения полученных данных. Данные могут искажаться на всех уровнях модели OSI по разным причинам. Это может быть как искажение битов на физическом уровне, так и потеря пакетов и сегментов на сетевом и транспортном уровнях соответственно. Рассматривается предложенная математическая модель передачи потоковых данных по беспроовдным сетям связи, основанная на использовании уравнений переменных состояния. Данная модель учитывает процессы передачи и коррекции потерь пользовательских данных. Все передаваемые данные состоят из блоков, которые в свою очередь делятся на порции данных одинакового размера — чанки. При этом чанк является элементарной единицей данных на прикладном уровне, каждая из которых передается отдельным пакетом сетевого уровня. Полученная математическая модели передачи потоковых данных в сетях WLAN, позволит описывать в динамике потоковый процесс передачи и выявлять его основные закономерности.
Введение
Все случайные явлеиия можно разделить на три типа: случайные величины, события и процессы. Передачу потоковых данных, с учетом возникающих в канале потерь можно считать случайным процессом, сами потери
— случайным событием, а вероятность их появления — случайной величиной. Если учесть, что передаваемые данные могут переходить из одного состояния в другое в дискретные моменты времени, то процесс передачи может быть описан в виде динамической системы [2, 3]. Для выявления закономерности перехода данных из одного состояния в другое, необходимо задать математическую модель процесса передачи данных. Один из методов задания математической модели для недетерминированной динамической системы основывается на использовании уравнений переменных состояния [4, 6, 10], т.к. нет однозначного или взаимно-однозначного соответствия значения передаваемых и принимаемых данных.
Прежде, чем рассмотреть математическую модель потоковой передачи, необходимо принять во внимание, что есть два типа каналов: прямой канал (для передачи данных от Сервера к Клиенту) и канал обратной связи (для передачи информации о состоянии прямого канала связи или ответов получения данных). В данной работе, под каналом связи понимается набор протоколов разных уровней модели 051, взаимодействие которых способствует продвижению данных от передатчика к приемнику. При этом канал связи будет рассматриваться только на прикладном уровне, т.к. в этом случае любые корректировки вводятся программно, изменение же на уровнях ниже требуют физической модификации оборудования [ 1 ].
1. Передача потоковых данных по каналу прямой
связи
Беспроводная сеть, для которой рассматриваются модели передачи, использует концепцию «Клиент-Сервер» (рис. 1), в которой одна станция, далее называемая Сервером, передает потоковые данные другой станции, называемой Клиентом.
/
га
•-в*г
Клиент Сервер
Рис. 1. Модель беспроводной сети топологи «Клиент-Сервер»
Примем, что процесс передачи данных инициируется приложением по запросу Клиента и все передаваемые данные делятся на блоки, которые в свою очередь состоят из X чанков (chunk) - порций данных одинакового размера на прикладном уровне модели OSI (рис. 2). В рассматриваемой модели чанк считается элементарной единицей данных, каждая из которых передается отдельным пакетом сетевого уровня.
X 1 2 3 Х-1 X 1 2 3 Х-1І х 1 2 3 Х-1 X 1
Блок данных Блок данных Блок данных
Рис.2. Представление потока данных
Каждый переданный блок может быть представлен вектором потока данных ■A'(g), значения которого в
общем случае есть ансамбль возможных комбинаций над полем Галуа (Galois Field) второго порядка GF(g), где g -элемент двоичной группы GF(2). Элементы имеют два 2 состояния, состояние «1» означает наличия чанков данных, «О» — их отсутствие.
Вектор потока данных X(g) формируется сочетанием
вектора данных 3(g) и вектора избыточности R(g)i
размерность которых равна X. Количество избыточных чанков R в блоке не зависит от передаваемого контента, может быть статическим и задаваться программно или стохастическим, то есть зависеть от информации обратной связи.
Примем, что данные по прямому каналу однозначно передаются источником (Сервером), и поэтому у вектора данных есть только одна разрешенная комбинация D(g) = {d,.d:....«/*} = {!..1} • Формат вектора
избыточности отделяется,- как
%)={'...^......^Но. Д1. -.1) •• Вект°р П0Т0К{
данных вычисляется по- формуле
*(«) = £(«)^- А}
где- £> -• число- чанков данных, Я- — число чанко! избыточности, © — сложение векторов по модулю 2. Пример его ф ормир ования пр едставлен на рис. -3.
(6)
IО IО |0 |0 |0 |0 |0 11 [Т
ЗШЕ
1
1 М’МЧ 1° 0 -
1Ш
Блок
Рнс.-З. Вектор потока данных с избыточностью
Как видно на рис.- 3,- количество элементов «1»- в векторе данных, не- соответствует- реальному количеству чанков данных- в • блоке • потока, - т. к. неко торые из чанкої являются- избыточными, и это- необходимо- для того, чтобы соответствовать размерности векторов.- Чтс касается вектора потока, элемент «1»- обозначает присутствие чанка данных,- а элемент «О»- -• чанка избыточности. В случае статической- избыточности ^ вектора Я^). есть только одна решенная комбинация
одинаковая для каждого блока передачи. В итоге получаем, что структур а сформир ованного вектора потокг ■^(ё) соответствуетструктуреблока впотокеданных.
Данные могут теряться на всех- уровнях и разньш причинам,- Это- может быть как искажение битов на физическом уровне, так и потеря пакетов и- сегментов ш сетевом и транспортном уровнях соответственно [7]. Если чанк прибывает к Клиенту после процедуры коррекции или не достиг его по какой-то гуичине, то он считаете* потерянньм. Процесс потерь чанков в канале представив вектором- потерь- который- после суммирования (
Х(§) по- правилу сложения по модулю 2 приводит к
вектору оценки 2 (§). Следовательно, процесс передачі
потоковых данных может бьггь опис аны на баз е ур авненга пер еменных со стояния,- которые ■ рас сматриваются- в рамках ге ории оценки иуїр авления следующим образ ом [10] :^|
К, (г) = л (к +;,*)Д (§)©с(к+лл)я1 (§), О)
<3>
где А(к+1,к) ‘ - переходная матрица источника данных;
В(Л+/,Л)' —' переходная матрица источника потерь
С(к+І, к) - переходная матрица источника избьпочности
к —текущий номер в ектора оценки.
Согаасно- (1)- модель- источника данных можнс представить следующим образом:
А(к + 1,к) Д(§)
1 о о • V Г
0 1 I 0 і = 1
о”’"о~"["Г I 1
(4)
Уравнение- (4)- описывает- источник- потока- дакньо
расположенный на- Сервере,- уравнение (2)- описывает источник потерь,- которые- могут возникать на всем пути прохождения информации от- Сервера к- Клиенту, а уравнение (3) описывает результирующее состояние - 6лок« данных на стороне Клиента. Влияние аддитивных-потерь на поток данных в канале пр оявляется как сумма в ектор ое Х(§) и- .-Следовательно, вектор оценки может был
представлен как 2№= {х„х„ ...хх}&{*„■№,,...пх}.
Процесс- образования аддитивных потерь, в блоке с из бьпочностью пр едставлен на рис. 4.
Ш ,*.и чМ Ч.Ш •|.|.|оМ.М.М'И- ил. 1» ,Ш
• 11 и| 111-т *; 11! X; 1!М *■ йшжЬ
\тт
Я.(х) U) Ш Рнс.-4. Представление вектора оценки
Чтобы выяснить, какие чанки в блоке считать потерянными, необходимо поэлементно сравнить содержание вектора потока данных и вектора оценки. Если значение соответствующих элементов совпадает, то данные Клиентом получены, если нет (как в 4-й и- 7-й порядковых позициях на рис. 4.),- то потерялись- на како,М; 1$ из уровней-
Уравнение- (3)- описывает процесс- приема данных до процедуры коррекции- потерь данных, либо без нее. Чтобь: принять во внимание процедуру прямой коррекции потерь чанков (Forward Error- Correction — FEC), которая может быть выполнена вследствие ввода избыточности, введем в модель вектор коррекции 7(g).- Его задача -
компенсировать вектор потерь W'(g)-' Возможность
компенс ации з ависит от избьпочно сти блока. С принятием во- внимание процедуры коррекции получаем- вектор оценки:
Z (g) = 1(g) ©^(g) ©7(g) (5)
Вектор коррекции 7(g) зависит от- вектора из бьпочности R (g) -и опр еделяется следующим о бр азом:
?(«) =
, если
1-І (р)
О ,если£ш>£г
1-І )•<
еде- V/( € ОД И- ^ € ОД—'/-ые-двоичные-элементы-векторов
избьпочности ипотерь, соответственно. А
Это- означает,- что- чанки избыточности компенсируют все потерянные чанки, если вес вектора потерь (т.е. сумм* элементов «1»- в векторе потерь,- соответствующая числу потерянных чанков в блоке)- будет равен или меньше веса в ектора из бьпочности (т. е. сумма элементов «1» в в ектор ( избьпочности,- соответствующая числу избыточных чанков в блоке). В этом случае в ектор оценки £ (§) будет
равен вектору потока- Х{%) В противном случае
элементы вектора- коррекции- Х(я) ■ будут- равны- «О»,- »
вектор 7(^) не сможет компенсировать вектор #’(£)
Попустим, число потерянных чанков в блоке- равно 2- и число чанков избьпочности так же 2 ("рис.тогда данные
вектор К (#) не сможет компенсировать вектор IV(^') ■
Допустим, число потерянных чанков в блоке равно 2 и число чанков избыточности так же 2 (рис. 5), тогда данные можно полностью восстановить при использовании, например, кода Рида-Соломона.
X»(g) -
4(g) -
ш-
0 1 1 1 I 1 1 0 0 1
0
0 0 0 0 1 0 0 1 0 0
©
0 0 0 0 1 а 0 1 0 0
Z,(g) = X,(g)
о о
Рис. 5. Вектор оценки с учетом коррекции потерь
соответственно. У этого вектора есть только одна разрешенная комбинация ^(§) = {1,1.....!}•
Ме)
■Но
0 1 0 0
©
•1 1 ■
ш
1 1 1 1
АСК Al'K SACK АСК
Таким образом, определена математическая модель процесса передачи потоковых данных с избыточностью FEC, которая может быть основой для имитационного моделирования процесса передачи и восстановления чанков [9]. Данная модель позволит разрабатывать алгоритмы прямой коррекции потерь чанков на прикладном уровне модели OSI.
Избыточные чанки в блоке не несут в себе пользовательской информации, что приводит к дополнительной непроизводительной загрузке канала передачи даже при отсутствии потерь чанков. Решить эту проблему можно путем адаптивного управления количеством избыточных чанков в блоке в зависимости от интенсивности потерь в потоке данных по прямому каналу. Для разработки алгоритмов адаптивного управления избыточностью необходимо наличие канала обратной связи.
2. Передача потоковых данных по каналу обратной
связи
Канал обратной связи может использоваться для передачи служебной информации от Клиента к Серверу, с целью адаптации параметров передачи по прямому каналу (например, избыточности или количества перезапросов), а также для уведомления, либо об успешном приеме чанка данных - ответ АСК, либо о потере одного или нескольких чанков — ответ NACK.
Информация, передаваемая по каналу обратной связи может быть представлена с помощью трех векторов: F(g)
- вектор сообщения обратной связи, E(g) - вектор потерь
в канале обратной связи вектор оценки обратной
связи.
(g)=*>(* +(g) (7)
Ei.,(g)=B(k + i.k)Et(g) (В)
£*./(*) <9> где D(k +1,к) - переходная матрица сообщения обратной
связи; В(к + 1,к) ~ переходная матрица источника потерь.
Процесс образования вектора оценки обратной связи, при использовании метода основанного на ретрансляции потерянных чанков (Automatic Repeat reQuest - ARQ алгоритм), представлен на рис. 6.
Элемент «1» в позиции вектора F(g) обозначает
присутствие ответа АСК или NACK, содержащего информацию о получении или потере чанков данных,
рк(б)
Рис. 6. Представление векгора оценки в канале обратной связи
Передача ответа NACK происходит, если чанк данных прямого потока не был получен, по истечению определенного периода времени [8]. В векторе потерь F(g) в элемент «1» обозначает потерю чанка в потоке
сообщений обратной связи. Потери в канале обратной связи проявляются как сумма по модулю 2 векторов F(g) и £(#)• Следовательно, суммирующий вектор
обратной связи может быть представлен как: U(g) = {fl.f!,...fx}®fere2....ex}. Например,
t/(g)={l,l.l,l}©{0,l,0,0}={l,0.l,l}> где 2-й по порядку
слева чанк был потерян. При потере чанка обратной связи нет возможности его восстановить, и это влечет за собой сбой управления прямым каналом связи.
3. Адаптация параметров передачи
Для поддержания требуемого качества передачи потоковых данных и оптимизации процесса передачи, необходимо варьировать значение избыточности в блоке (при использовании механизма FEC) или количество возможных перезапросов (при использовании механизма ARQ), в зависимости от интенсивности потерь чанков прямого канала, так как недостаточная избыточность приведет к невозможности исправления потерянных чанков, а ее переизбыток — к уменьшению доли информационных чанков. Далее, за параметры потоковой передачи данных примем число чанков избыточности и количество возможных перезапросов.
Для решения задачи адаптации параметров передачи по критерию обеспечения заданного качества облуживания и пропускной способности прямого канала связи необходимо использовать алгоритмы оценки состояния прямого канала связи (т.е. измерения интенсивности потерь чанков), а также алгоритм
управления избыточностью и количеством возможных перезапросов (т.е. автоматическое регулирование их количества в зависимости от результатов оценки
состояния канала) [8, 9].
Источник потока данных принимает решение о необходимости изменения параметров передачи, на основе анализа полученной информации обратной связи. Она может поступать от Клиента периодически или по запросу. В первом случае, информация обратной связи посылается источнику потока по результатам оценки интенсивности потерь чанков, после принятии определенного числа блоков. Во втором случае
информация обратной связи посылается источнику, по запросу, на основе порогового критерия который реализуется на стороне Клиента. Передача служебного сообщения происходит, только если интенсивность потерь чанков пересекает минимальный или максимальный порог. Для реализации второго метода требуется два блока
принимающих решения: на стороне Клиента (решение о посылке информации обратной связи) и на стороне Сервера (изменяет избыточность или число перезапросов по результатам полученной от Клиента информации). Алгоритм адаптивной коррекции чанков реализуетя программно. В представленной работе, рассматривается первый вариант передачи сообщений обратной связи, когда задаётся фиксированное число анализируемых Клиентом блоков.
Рассмотрим алгоритм коррекции потерь чанков с адаптацией избыточности. Клиент оценивает поток данных, и в идеальном случае все чанки в блоке принимаются правильно. Анализ вектора оценки реализуется через момент времени с порядковым номером к, который может быть определен как текущий номер фазы вектора оценки. Интервал между моментами к (период одного блока) определим как = X/v, где v -скорость передачи чанков (чанков в секунду). Вектор
избыточности R(g) может генерироваться автономно,
изменяясь по определенному закону, или подчиняться внешнему воздействию, в зависимости от информации обратной связи. В общем случае, вектор избыточности R(g) может быть сгенерирован синхронно с вектором
оценки Z(g). Это означает, что избыточность в блоке
может изменяться с периодом 1к. Для изменения избыточности с таким периодом, информация обратной связи отправляется Серверу после получения каждого блока входящего потока. Однако в этом случае краткосрочные и быстрые изменения коэффициента потерь в сети могут вызвать отправку сообщений обратной связи с чрезмерно высокой интенсивностью, и, следовательно, частое и неэффективное изменение избыточности. Интенсивное получение информации
обратной связи, может привести к перегрузке Сервера.
Для измерения интенсивности потерь чанков необходимо, чтобы Клиент получил с сервера определенное количество блоков М (рис. 7) [5]. Оценка интенсивности потерь происходит в момент времени т как количество потерянных чанков за иигервал измерения, который определим, как tm = М-tk . Результаты
измерений, полученные источником по каналу обратной связи, применяются для принятия решения по изменению избыточности на Сервере.
11ериод посылки сообщения по каналу обратной связи в общем случае определим как t,=F-tm, где F
количество измерений произведенных на стороне Клиента (рис. 7). Если принять F = 1, то это означает, что
сообщение обратной связи посылается на каждом
интервале измерения. Интервал обратной связи t
необходимо выбирать исходя из требуемой точности измерения интенсивности потерь чанков, которая определяется размером выборки измерения. Сервер потока данных в этом случае периодически получает результат измерения интенсивности потерь чанков и принимает решение о выборе количества избыточных чанков.
Структурная схема процесса передачи потоковых данных с адаптацией избыточности представлена на рис. 8. Интенсивность потерь чанков (Chunk Loss Rate -CLR) обозначим как Q.
Источник потока данных состоит из источника данных, описываемый вектором D(g), источника избыточности,
описываемого вектором R^g), а так же блока управления,
который влияет на количество чанков избыточности в векторе li(g)■ Из источника потока данных информация
поступает в прямой канал связи, в котором, под воздействием источника потерь часть информационных данных (чанков) теряется. Для восстановления потерянных данных используется механизм РЕС, применение которого имитируется на стороне Клиента вводом вектора коррекции Р(#) •
1 2 3 F-I ¥ 1 V
^\ и
? М 1 2 3 М-1 м ч
1 2 3 Х-1 X ч
Поток данных -------------►
Рис. 7. Временная структура циклов измерения и обратной связи
Источник потока данных - Сервер
L _П0Т*рь "F(g)~U(g)|
Сеть
Рис. 8. Структурная схема процесса передачи потоковых данных с адаптивной избыточностью
После процедуры коррекции определенного количества принятых блоков, происходит оценка интенсивности потерь Q, результаты которой по каналу обратной связи посылаются в блок управления на источнике после фиксированного количества измерений.
Заключение
Представленная математическая модель позволяет отразить процессы прямой потоковой передачи данных, а так же данных обратной связи по беспроводным каналам, и использовать как основу для имитационного моделирования. Модели передачи данных обратной связи позволят создавать, описывать и анализировать
возможные алгоритмы оценки качества передачи потоковых данных, а так же методы управления параметрами передачи, такими как избыточность и
количество возможных перезапросов. Возможность управления параметрами передачи позволит поддерживать требуемое качество обслуживания Клиентов беспроводной сети с учетом нестационарного характера потерь данных в беспроводных сетях.
Литература
1.Абилов А.В. Качество обслуживания в одноранговых (Р2Р) сетях с обратной связью. Отчет по проекту № 16132 аналитической ведомственной целевой программы «Развитие научного потенциала высшей школы (2006-2008 годы)». Ижевск, ИжГТУ, 2009.-25 с.
2.Алиев Т.П. Основы моделирования дискретных систем. -СПб: СПбГУ ИТМО, 2009. - 363 с.
3.ГОСТ 21878-76 Случайные процессы и динамические системы. Термины и определения
4Деруссо П.. Рой Р.. Клоуз Ч. Пространство состояний в теории управления / Пер. с англ. - М.: Наука, 1970.-620 с.
5.Емельянов В.Н., Абилов А.В. Применение адаптивных
алгоритмов управления с использованием временного окна для передачи потоковых данных // T-Comm - Телекоммуникации и транспорт, 2012. -№7-С. 85-91.
6.Медич Дж. Статистические оптимальные линейные оценки и управление / Пер. с англ. - М.: Энергия, 1973. - 440 с.
7.Мелентьев О.Г. Теоретические аспекты передачи данных по каналам с группирующимися ошибками / Под редакцией профессора В. П. Шувалова - М.: Горячая линия-Телеком, 2007.
- 232 с.: ил
8 .Павлова М.М. Абиюв А.В.. Оценка эффективности алгоритма ARQ при передаче потоковых данных в WLAN // T-Comm. - Телекоммуникации и транспорт, 2012 - №7 -С. 141-146.
9.Павлова М.М. Эффективность адаптивного алгоритма FEC для передачи потоковых данных // Сборник трудов научнотехнической конференции «Молодые ученые - ускорению научно-технического прогресса в XXI веке». Ижевск: Изд-во ИжГТУ, 2011, С. 52-57.
10. Сейдж Э„ Меле Дж. Теория оценивания и ее применение в связи и управлении / Пер. с англ. - М.: Связь, 1976.-495 с.
Mathematical model of transsmition streaming data application layer over w'reless channels
Pavlova M.M., Abilov A.V. Abstract
Data streaming over wireless channels with losses can be considered as a random process. Losses are a random event, and may lead to the impossibility of data playback. The data can be distorted at all levels of the OSI model for various reasons. This may be as a distortion of bits on the physical level, as well as a loss of packets and segments on the network and transport levels, respectively. This article reviews the mathematical model of data streaming over wireless networks, based on the use of equations of the state variables. This model takes into account the processes of transmission and correction of losses of user data. All traffic is made up of blocks, which in their turn are divided into data chunks of equal sizes. A chunk is a basic unit of data on the applied level. It is transmitted as a separate package of the network level. The resulting mathematical model of transmission of streaming data over WLAN networks allow us to describe the streaming process of transfer in dynamics, and to identify its fundamental regularities.
Keywords; ARQ, chunks, FEC, mathematical model, stream data, wireless channel, WLAN.