Анализ стратегий заполнения буфера оборудования пользователя при предоставлении услуги потокового видео в одноранговой сети

Анализ стратегий заполнения буфера оборудования пользователя при предоставлении услуги потокового видео в одноранговой сети

Ключевые слова: одноранговая сеть, цепь Маркова, буфер, порция данных, вероятность непрерывного воспроизведения, вероятность непрерывного просмотра, задержки передачи данных

Услуга потокового видео в сетях подвижной связи стала доступной уже в сетях стандарта 3G, а в сетях 4G может предоставляться пользователям с разным уровнем качества. Для обмена потоковыми данными в сетях подвижной связи стали использоваться наложенные P2P-сети (Peer-to-Peer). На качество предоставляемой по технологии P2P услуги могут значительно повлиять задержки, возникающие при передаче потоковых данных от одного пользователя к другому. В виде цепи Маркова построена модель изменения состояния буферов пользователей P2P-сети с потоковым видео в режиме реального времени с учетом стратегии заполнения буфера оборудования пользователя, а также задержек передачи данных. Получен метод расчета вероятности просмотра видео без пауз в воспроизведении.

Гайдамака Ю.В.,

доцент кафедры систем телекоммуникаций РУДН, ygaidamaka@mail.ru

Самуйлов А.К.,

аспирант кафедрыI систем телекоммуникаций РУДН, asam 1988@gmail.com

1. Введение

Технология P2P используется в сетях с потоковым видео в режиме реального времени для того, чтобы наиболее эффективно использовать ресурсы каждого пользователя в сети [1]. Пользователь использует свои скорости загрузки и отдачи видео потока для перераспределения видео данных в сети, одновременно играя роль как клиента, загружающего данные, так и сервера, отдающего данные. При этом нагрузка на сервер-источник потокового видео значительно уменьшается. В Р2Р-сети одним из показателей качества восприятия на уровне пользователя (QoE, Quality of Experience) является вероятность непрерывного воспроизведения, т.е. вероятность просмотра пользователем видео без пауз в воспроизведении [2-4]. Для обеспечения непрерывного воспроизведения потокового видео применяется механизм буферизации. Видео поток разбивается на порции данных, например, длиной около 1 секунды, а в оконечном терминале пользователя, которым может являться ТВ-приставка (STB, set top box) или персональный компьютер, предусмотрен буфер для хранения порций видео данных. При подключении нового пользователя к видеопотоку сначала заполняется буфер в терминале этого пользователя, а уже затем порции данных из буфера начинают поступать в видеоплеер. Задержка в воспроизведении видео потока позволяет каждому пользователю за время воспроизведения очередной порции видео данных загрузить недостающие порции видео данных от сервера или от других пользователей сети, тем самым заполняя пустые места в своем буфере.

В статье в виде цепи Маркова (ЦМ) построена модель изменения состояний буферов пользователей в сети Р2Р с потоковым видео в режиме реального времени и получен метод расчета вероятности просмотра видео без пауз в воспроизведении. Для численного анализа ввиду большой размерности пространства состояний ЦМ разработана имитационная модель функционирования Р2Р сети.

2. Описание процесса обмена данными

Уточним процедуру распределения потоковых видео данных в сети Р2Р с учетом механизма буферизации [4,5]. Рассмотрим сеть Р2РТУ с N пользователями, постоянно находящимися в сети, и одним сервером-источником видео данных, который транслирует единственный телевизионный канал, который смотрят все пользователи. Процесс воспроизведения видео потока разбит на такты, длина каждого такта соответствует времени воспроизведения одной порции данных. Считаем, что каждый пользователь сети имеет буфер, рассчитанный на М+1 порцию данных. Места буфера пронумерованы следующим образом: 0-место буфера предназначено для хранения наиболее «свежей» порции данных, только что полученной от сервера-источника видео данных, остальные /я-места буфера, /я=1,...,М-1 , предназначены для хранения порций данных, которые уже получены (скачаны) от соседей на предыдущих тактах или будут скачаны на следующих тактах. Последнее М-место буфера предназначено для хранения наиболее «старой» порции, которая будет отправлена на воспроизведение на ближайшем такте [5,6]. Для каждого пользователя определена группа соседних пользователей («соседей»), от которых он может пытаться загружать данные на каждом такте.

Определим действия, которые совершаются сервером и пользователями на каждом такте. В начале такта сервер случайным образом выбирает любого пользователя сети и начинает загружать ему порцию данных на 0-место его буфера. Каждый пользователь, которого сервер не выбрал для загрузки порции данных, выполняет следующие действия. Если в буфере есть пустые места (отсутствуют порции

Исследование выполнено при поддержке Министерства образования и науки Российской Федерации (соглашение 14.и02.21.1874, проект 8.7962.2013) и Российского фонда фундаментальных исследований (грант 12-07-00108-о).

данных), то пользователь выбирает равновероятно из группы соседей другого пользователя (т.н. целевого пользователя) и пытается загрузить от него одну из недостающих порций данных. Если у целевого пользователя найдётся хотя бы одна порция данных из тех, что отсутствуют у рассматриваемого пользователя, попытка загрузки будет успешной. Если таких порций несколько, то номер места буфера для загрузки порции определяется в соответствии со стратегией загрузки. Одной из распространенных является стратегия загрузки Latest First (LF), при которой пользователь на каждом такте пытается загрузить наиболее «свежую», последней полученную от сервера, порцию данных [4]. Пользователь ничего не загрузит от других пользователей на данном такте, если у целевою пользователя нет ни одной порции данных из отсутствующих у рассматриваемого пользователя, а также, если в начале такта все места с 1-места по М-место буфера заполнены, т.е. пустых мест нет. Такт заканчивается так называемым сдвигом содержимого буфера каждого пользователя - порция, находящаяся на M-месте буфера, отправляется на воспроизведение, остальные порции данных в буфере сдвигаются на одну позицию вправо к концу буфера, т.е. 0-место буфера остается свободным для загрузки самой «свежей» порции от сервера - источника видео данных на следующем такте.

В данной статье модель поведения пользователей, предложенная в [5, 6], расширена за счет того, что для каждого пользователя учтена задержка передачи данных от сервера (рис. 1), как это было предложено в [7].

/«*</)=О

ТО . м Нос произведение

0 1 м эдспрои (ведение

• Iasi 2) 1 йп-ПГ

і ШЗ) и 1 ... м<^3?я"е”'

Текущее врсч! МСКО клока на сервере

Рис. I. Схема соответствия состояний буферов с учетом задержек загрузки видеоданных

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

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

3. Построение модели

Для рассматриваемой сети с N пользователями и одним сервером состояние каждого п -пользователя представлено парой а:(л) = (/а£п,х(и)), где 1а$п - задержка передачи данных от сервера в тактах, и х(/?) = (*,,(л),х, («),---,хм (/г)) состояние его буфера. При этом хт(п) - состояние от -места буфера, т.е. .х„,(п) = 1, если от -место буфера занято порцией данных и хт (п) = 0 в противном случае. Места с первого (от = 1) до последнего (от = М) предназначены для загруз-

ки порций данных от других пользователей, а 0-место (от = 0) - для загрузки порций данных от сервера. Таким образом, наиболее «старая» порция данных, которая будет отправлена на воспроизведение на ближайшем такте, находится на М-месте, а порция данных, находящаяся на от-месте, отправится на воспроизведение через М-от тактов. Заметим, что если на каждом такте М-место буфера п -пользователя, присутствующего в сети, заполнено, то «-пользователь будет просматривать видео без пауз в воспроизведении.

Состояние системы представим в виде пары ъ = (1ац, X),

где 1ай = (!а%.../а£ц) - вектор, определяющий задержки

пользователей, а Х = (х(1),...,х(1М)) - матрица состояний

буферов пользователей, причем строка /; матрицы X соответствует состоянию буфера присутствующего в сети п -пользователя и £)т1Х = Ь)(М + 1). Пространство состояний

системы определяется формулой 2 = {0,1}К(М+1) и

|2| = 2*(М+1).

Обозначим М°(*(и)) и М1 (х(и)) множества номеров пустых и заполненных данными мест в буфере п -пользователя, т.е. Л/(х(л))=|/и: д^(я)=С1 »;=1,Ц, лУ(х(я))=|ш: л;„(и) = 1, т= I.М{, причем А/°(х(и))им'(х(л)) = {1,2,...,М}. Также обозначим

дjogjog, _ множество номеров МЄСТ В буфере / -пользователя, которые доступны для обмена данными с буфером j -пользователя, так как из-за влияния задержек для обмена будет доступен не весь буфер. Множество дпоказано на рИС_ 2 и определяется формулой:

lag, Jag, _ J{0’1.........М“ + U,Zj } * ЄСЛИ ,а& ~ laZj

I

lagfj)

т м»

0 [ г

Воспроизведен не

M

Воспроіпвслсннс

M-lag

I скупке время вило* потока на сервере

Рис. 2. Множество мест в буфере, доступных для обмена данными между пользователями

Тогда А/“(і(п))ПА/,“г'',% — множество номеров «пустых» мест в буфере п -пользователя, доступных для загрузки данных от /(-пользователя, а м'(\(Іі))Г\МІаКі''І“І!" ~

множество номеров заполненных данными мест в буфере А -пользователя, доступных для отдачи данных п -пользователю. Из-за наличия в сети задержек одна и та же порция данных в буферах пользователей с разными задержками будет расположена на местах с разными номерами. Для того, чтобы установить соответствие между этими номерами используется следующая операция: от = г-к^п . Здесь от - номер места в буфере п -пользователя, г - номер места с соответствующей пор-

цией данных в буфере /; -пользователя, т є МІах"'І“Кі’

. Таким образом, номер тіі(х(п),х(/і),Іах„,1а£ІІ) места буфера п -пользователя для загрузки порции данных от її -пользователя определяется в соответствии со стратегией загрузки 8 по формуле

тв (х(и),х(/і),/а^„,/одл) = тіп {(л/° (х(и))П А/'"*"1*** )П

П{ю: т = г-1а)>п + /й£л,г (х(й))ПЛ//‘*'/в** )||.

Обозначим Л'х

= (о,х0(и), --.дм_|(и)). Введем /, - момент сдвига содержимого буфера, / = 1,2,... При построении модели в дискретном времени предполагается, что если в момент 1,-0 буфер находился в состоянии х(л), то в момент і, + 0 он находится в состоянии 5х(л).

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

Согласно протоколу распределения данных в одноранговой сети с учетом механизма буферизации на интервале [//,//+і), соответствующем /-такту, сервером и пользователями совершаются следующие действия:

1. В момент I, для всех пользователей происходит сдвиг буфера:

• порция данных, находившаяся в буфере пользователя на М-месте, отправляется на воспроизведение;

• все остальные порции данных в буфере сдвигаются на одну позицию вправо к концу буфера;

• О-место в буфере пользователя освобождается.

2. В момент //+0 сервер равновероятно выбирает любого из пользователей в сети, задержка воспроизведения которого минимальна, и начинает загружать ему порцию данных на 0-место его буфера. Если выбран / -пользователь, то х0 (/) = 1 в момент /,+) — 0 .

3. Каждый из пользователей в сети ( п -пользователь), которого сервер не выбрал для загрузки, равновероятно выбирает из своих соседей в сети А -пользователя, и в соответствии со стратегией загрузки 5 пытается загрузить от него недостающие данные. Если в соответствии со стратегией загрузки 5 выбрано место в буфере п -пользователя, то и-пользователь начнет загружать соответствующую порцию данных от А -пользователя. Иначе никаких действий не выполняется.

Модель процесса обмена данными между буферами пользователей Р2Р-сети без учета задержек передачи данных от сервера была построена в виде цепи Маркова в [5,6].

4. Анализ вероятностных характеристик

Основной характеристикой рассматриваемой системы является вероятность РУ[п) того, что «-пользователь в

конце такта на М-месте буфера имеет порцию данных для

воспроизведения видео потока. Из [5,6] следует, что вероятность PV(n) непрерывного воспроизведения имеет вид

PV

Здесь р, (и,/) вычисляется рекуррентно:

Pi (я.0) = —, Р\ (л,/+1) = />| (n,i)+Pn(nj) Q„{i),

N

/ = I.М-1,

где />, (n,i) - вероятность того, что на /' -месте в буфере я-пользователя имеются данные; pn(n,i) - вероятность того, что на / -месте в буфере п -пользователя данные отсутствуют; О,, (/) - вероятность того, что у одного или нескольких соседей имеется порция данных для загрузки п -пользователю на / -место буфера.

Таким образом, получены искомые вероятностные характеристики исследуемой модели, и мы можем перейти к численному анализу показателей качества функционирования P2P сети.

5. Анализ

Как и в [5], численный анализ с использованием аналитической модели, разработанной в разделе 3, связан с вычислительными сложностями из-за большой размерности задачи, поскольку в реальных сетях число пользователей достигает значения N = 10\ а число мест в буфере М = 10 . В качестве исходных данных численного анализа мы выбрали значения N = 300, М = 40, а число соседей выбрано равным 60. Также для простоты изложения все множество N пользователей было разбито на три непересекающихся группы так, что задержка воспроизведения для всех польз

зователей внутри группы одинакова: # = (!#,,

:=1

lagk = lagk., k,k’e N, V/ = 1,2,3 . Для этой системы средствами имитационного моделирования были исследованы вероятность наличия данных для каждого места буфера пользователя, вероятность выбора места в буфере для загрузки данных, вероятность непрерывного воспроизведения для групп пользователей с различными задержками передачи данных от сервера.

На рис. 3 и 4 рассмотрен случай, когда задержка передачи данных от сервера для пользователей первой группы равна 0 тактов, а задержки во второй и в третьей группах равны 10 и 20 тактов соответственно. Из г рафика на рис. 3 видно, что наибольшую вероятность просмотра видео без пауз в воспроизведении будут иметь пользователи третьей группы с самой большой задержкой передачи данных от сервера. Это объясняется тем, что порция данных понадобится им позже, чем пользователям остальных групп, и за время задержки передачи данных для третьей группы требуемая порция успеет распространиться между пользователями первой и второй групп.

Это подтверждает график на рис. 4. В соответствии со стратегией LF в первую очередь для загрузки данных выбирается пустое место буфера с наименьшим номером. Для первых мест буфера пользователи первой группы могут скачивать данные только от соседей из своей же группы, пользователи второй группы — от соседей из первой и второй групп, а пользователи из третьей группы — от соседей из всех групп.

Литература

1. Sellon Е.. Girod В. Peer-to-Peer Video Streaming // Springer. -2007.-150 p.

2. Hei X. Liang C, Liang J, Liu Y, Ross K. A measurement study of a large-scale P2P IPTV System. IEEE Trans. Multimedia, vol. 9, no. 8, pp. 1672-1687, Dec. 2007.

3. IVи D.. Liu K. Ross К. IV. Queuing Network Models for MultiChannel Live Streaming Systems // Proc. of the 28th Conference on Computer Communications (IEEE Infocom 2009), April 19-25, 2009. - Rio de Janeiro, Brazil. - Pp. 73-81.

4. Yipeng Zhou, Dali M. Chiu, Lui J.C.S. A Simple Model for Analyzing P2P Streaming Protocols // Proc. of IEEE Int. Conf. IN Network Protocols (ICNP 2007), Oct. 19, 2007, pp. 226-235.

5. Адаму А., Гайдамака Ю.В.. Самуилов А.К. К анализу состояния буфера пользователя одноранговой сети с потоковым трафиком. // T-Comm - Телекоммуникации и Транспорт. - №7, 2011.-С. 8-12.

6. Aininu Adamu, Yuliya Gaidamaka, and Audrey Samuylov Discrete Markov Chain Model for Analyzing Probability Measures of P2P Streaming Network // Lecture Notes in Computer Science. - Germany, Heidelberg: Springer. - 2011. - Vol. 6869. - Pp. 428-439.

7. Zhao Y.. Slien H. A simple analysis on P2P streaming with peer playback lags // Proc. of the 3rd International Conference on Communication Software and Networks (IEEE ICCSN 2011), May 27-29, 2011. Xi'an, China. - Pp. 396-400.

Analysis of playback continuity for video streaming in Peer-to-Peer networks with data transfer delays

Yuliya Gaidamaka, ygaidamaka@mail.ru Andrey Samuylov, asam 1988@gmail.com

Abstract

Video streaming service is already available in 3G networks, while in 4G networks it can be provided with different levels of quality. Generally video providers use overlay P2P networks to provide the service with higher quality without affecting their own infrastructure. However, data transfer delays from one user to another may affect the overall quality. In this paper, we present a model of the data exchange process between users in P2P live streaming network with buffering mechanism and data transfer delays. We study the probability measures of the model - buffer position occupancy probability and playback continuity.

Keywods P2P network, live streaming, buffer occupancy, playback continuity, Markov chain model, transfer delays.