Анализ вероятности непрерывного воспроизведения видеопотока в P2P-сети

Математическая теория телетрафика и сети телекоммуникаций

УДК 621.39

Анализ вероятности непрерывного воспроизведения видеопотока в P2P-сети

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

Кафедра систем телекоммуникаций Российский университет дружбы народов ул. Миклухо-Маклая, д. 6, Москва, 117198, Россия

В статье в виде цепи Маркова построена модель процесса заполнения буфера пользователей одноранговой (P2P, peer-to-peer) сети, получено стационарное распределение вероятностей состояний буферов пользователей сети и исследована вероятность просмотра видео без пауз в воспроизведении в зависимости от размера буфера.

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

1. Введение

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

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

Статья поступила в редакцию 2 июля 2011 г.

Работа выполнена при частичной поддержке РФФИ (грант 10-07-00487-а).

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

Уточним процедуру распределения потоковых видеоданных в сети P2P с учётом механизма буферизации. Рассмотрим сеть P2PTV с N пользователями, постоянно находящимися в сети, и одним сервером-источником видеоданных, который транслирует один телевизионный канал, т.е. все пользователи смотрят только этот канал. Процесс воспроизведения видеопотока разбит на такты, длина каждого такта соответствует времени воспроизведения одной порции данных. Считаем, что каждый пользователь сети имеет буфер, рассчитанный на М + 1 порцию данных. Места буфера пронумерованы следующим образом: 0-место буфера предназначено для хранения наиболее «свежей» порции данных, только что полученной от сервера — источника видеоданных, остальные m-места буфера, т = 1,... ,М — 1, предназначены для хранения порций данных, которые уже получены (скачаны) на предыдущих тактах или будут скачаны на следующих тактах. Последнее M-место буфера предназначено для хранения наиболее «старой» порции, которая будет отправлена на воспроизведение на ближайшем такте.

Определим действия, которые совершаются сервером и пользователями на каждом такте. В начале такта сервер случайным образом выбирает любого пользователя сети и начинает загружать ему порцию данных на 0-место его буфера. Каждый пользователь, которого сервер не выбрал для загрузки порции данных, выполняет следующие действия. Если в буфере есть пустые места (отсутствуют порции данных), то пользователь выбирает равновероятно другого пользователя (так называемого целевого пользователя) и пытается загрузить от него одну из недостающих порций данных. Если у целевого пользователя найдётся хотя бы одна порция данных из тех, что отсутствуют у рассматриваемого пользователя, попытка загрузки будет успешной. Если таких порций несколько, то номер места буфера для загрузки порции определяется в соответствии со стратегией загрузки. Наиболее распространёнными являются стратегия загрузки Rarest First (RF), при которой пользователь на каждом такте пытается загрузить наиболее «свежую», реже всего встречающуюся в сети порцию данных, и стратегия загрузки Greedy (Gr), при которой выбирается самая «старая», т.е. наиболее близкая к воспроизведению порция данных [5]. Пользователь ничего не загрузит от других пользователей на данном такте, если у целевого пользователя нет ни одной порции данных из отсутствующих у рассматриваемого пользователя, а также если в начале такта все места с 1-места по М-место буфера заполнены, т.е. пустых мест нет. Такт заканчивается так называемым сдвигом содержимого буфера каждого пользователя — порция, находящаяся на М-месте буфера, отправляется на воспроизведение, остальные порции данных в буфере сдвигаются на одну позицию вправо к концу буфера, т.е. 0-место буфера остаётся свободным для загрузки наиболее «свежей» порции от сервера - источника видеоданных на следующем такте. Иллюстрация данного процесса показана на рис. 1, где изображён фрагмент сети с одним сервером и двумя пользователями h и п, каждый пользователь имеет буфер с шестью местами.

С гр.п егия Rarest Kirsl

Стратегия Greedy

Рис. 1. Иллюстрация стратегий Rarest First и Greedy

На данном такте сервер выбрал fa-пользователя, чтобы загрузить ему порцию данных на 0-место буфера. Поскольку на рассматриваемом такте сервер не выбрал n-пользователя для загрузки порции данных и у него два пустых места в буфере (1-место и 4-место), то n-пользователь выбрал fa-пользователя (целевого пользователя), чтобы скачать у него одну порцию данных и заполнить одно из пустых мест в своём буфере. Так как он имеет два пустых места, и у целевого пользователя присутствуют обе соответствующие порции данных, то определять, какую из этих порций n-пользователь будет скачивать у fa-пользователя, в данном случае будет стратегия выбора. Если сеть построена на основе стратегии Rarest First, то n-пользователь скачает у fa-пользователя порцию на 1-место буфера, а если сеть построена на основе стратегии Greedy, то n-пользователь скачает у fa-пользователя порцию данных на 4-место буфера.

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

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

Состояние системы представим в виде пары Z =

Обозначим через М0 (х (п)) и М1 (х (п)) множества номеров пустых и заполненных данными мест в буфере п-пользователя соответственно, т.е. М° (х (п)) = {т : хт (п) = 0, т = 1,М}, М1 (х (п)) = {т : хт (п) = 1,т = 1,М}, причём

М0 (x (п)) u М1 (x (п)) = {1, 2,..., М}. Тогда М0 (x (п)) п М1 (x (h)), п = fa, —

множество номеров мест в буфере п-пользователя, на которые возможна загрузка порций данных от Л,-пользователя. Если М0 (х (п)) п М1 (х (к)) = 0, то номер те (х (п), х (К)) места буфера для загрузки порции определяется в соответствии со стратегией загрузки 5 по формуле

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

и

\Z | = 2N (м+2).

min{т : т g М0 (x (п)) п М1 (x (fa))} , ¿="Rarest First"; max {m : m e M0 (x (n)) п M1 (x (fa))} , ^"Greedy".

Обозначим через Sx (п) операцию сдвига вектора x (п). Если x (п) = (хо (п) ,Х1 (п) ,..., Хм-1 (п) , Хм (п)) ,

то

Sx (п) = (0, х0 (п),..., хм-1 (п)).

Введём ti — момент сдвига содержимого буфера. При построении модели в дискретном времени предполагается, что если в момент ti — 0 буфер находился в состоянии x (п), то в момент ti + 0 он находится в состоянии Sx (п). Предположим, что пользователь с вероятностью /3 (п) может принять решение уйти из сети или с вероятностью а (п) остаться в сети только в момент ti, т.е.

Р {al+1 (п) = 1\а1 (п) = 0} = а (п),

Р {al+1 (п) = 0|аг (п) = 0} = 1 — а (п),

Р {al+1 (п) = 0\а1 (п) = 1} = р (п), Р {al+1 (п) = 1\а1 (п) = 1} = 1 — р (п).

Для простоты предположим, что, как показано на рис. 2, вероятности появления пользователя в сети и ухода из неё одинаковы для всех пользователей, т.е. а (п) =

а., р (п) = р, п = T^N.

Будем считать, что при уходе п-пользователя из сети соответствующая строка матрицы X обнуляется, т.е. х (п) = 0. Предполагается, что пользователь может покинуть сеть или появится в ней только в момент а не в моменты ^ — 0 или и + 0, причём а1(п) = 1, если пользователь в момент ^ остался (или появился) в сети и а1(п) =0 в противном случае.

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

1. В момент ^ для каждого пользователя системы с вероятностями а и Р разыгрывается его появление в сети, либо уход из неё, затем для всех пользователей происходит сдвиг буфера.

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

3. Каждый из присутствующих (а1 (п) = 1) в сети пользователей, которого сервер не выбрал для загрузки, выполняет следующие действия:

— если в буфере есть пустые места, т.е. М0 (х (п)) = 0, то п-пользователь выбирает случайным образом из присутствующих в сети пользователей К-пользователя, К = п, а1 (К) = 1, причём М1 (х (К)) — множество заполненных данными мест в буфере К-пользователя;

— если М0 (х (п)) п М1 (х (К)) = 0, то п-пользователь выбирает в соответствии со стратегией загрузки 5 место (х (п), х (К)) в буфере, на которое он будет загружать порцию данных от К-пользователя;

— если М0 (х (й))пМ1 (х (К)) = 0 или в буфере п-пользователя нет пустых мест (М0 (х (п)) = 0), то никаких действий не выполняется.

Обозначим Zг = (аг, Хг) состояние сети в момент ^ — 0, как показано на рис. 3, где также проиллюстрированы другие необходимые для дальнейшего изложения обозначения. Нетрудно убедиться, что последовательность

образует цепь Маркова над пространством состояний ^ = {0,1}М х {0,1}М(М+1), вообще говоря, разложимую, с одним классом 2 существенных состояний, 2 с Z.

Рис. 3. Состояния ЦМ {2г} на /-такте

Введём к1 = Р \Т} = Z} абсолютную вероятность цм №}1>0 на шаге I

находиться в состоянии Z и Пг'г+1 V) переходную вероятность ЦМ из состояния Z в состояние V на ¿-шаге (такте). Заметим, что переходные вероятности ПМ+1 У) зависят от номера (х (п), х (К)) и от вероятностей а появления и /3 ухода пользователя из сети. Таким образом, переходные вероятности зависят от стратегии ё выбора порции данных для загрузки от другого пользователя сети, а абсолютные вероятности к1 удовлетворяют уравнениям Колмогорова-Чепмена:

к1+1

хег

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

Основной характеристикой рассматриваемой системы является вероятность V (п) того, что п-пользователь в конце такта на М-месте буфера имеет порцию данных для воспроизведения видеопотока. Для нахождения этой вероятности введём функцию Кгп которая соответствует числу пользователей, у которых на г-месте есть порция данных для загрузки п-пользователю в соответствии со стратегией выбора, когда сеть находится в состоянии Z:

Кп = X] йт5 (x(п),x(h)),i, Z е ^

h=п, aг(h) = 1

5зЛ =

3 = г; 3 = г.

Определим вероятность Qlп (г) того, что на ¿-такте у одного или нескольких находящихся в сети пользователей имеется порция данных для загрузки п-пользователю

на г-место буфера и обозначим М(аг) = ^^ а1(]) число присутствующих в сети

пользователей, когда сеть находится в состоянии 1 = (а1, X1). Утверждение 1. Если число пользователей N (а1) ^ 2, тогда

Qln

Обозначим р0 (п, г) (р\ (п, г)) вероятность того, что г-место буфера «-пользователя пусто (заполнено) на ¿-такте. Эти вероятности определяются по следующим формулам:

Р {х\(п) = 1} = £ к1(У)=: р[(п,гу,

Yeг: у(п)=х(п), Xi(n) = 1, а1 (п) = 1

Р {х\(п) = 0} = Е &)=• Р1о(п,г).

Yeг: у( п)=х(п), Х1(п)=0, а1 (п) = 1

Соотношение, связывающее вероятности состояний буфера п-пользователя на (I+ 1)-такте и ¿-такте, следует из формулы полной вероятности:

Р {х+ (п) = 1} = Р {х[ (п) = 1, а1(п) = 1} (1 — Р)+

+ Р {х[ (п) = 0, а1(п) = 1} (1 — р)0:1п (г) + Р {х[ (п) = 1, а1 (п) = 0} а+

+ Р {х\

Из (3), учитывая, что Р {х\ (п) = 1,а1(п) = 0} = 0 и Р [х[ (п) = 0, а1 (п) = 0} =1, следует рекуррентное соотношение для вычисления вероятностей состояния буфера.

Утверждение 2.

Pi (п, 0) = 1,

N'

p[+1

г = 1,...,M - 1.

Предположим, что существует финальное распределение ЦМ {Z и обозначим р\ (п, г) = lim р\ (п, г) вероятность того, что на г-месте в буфере п-пользователя

имеются данные, и ро (п, i) = lim pl0 (п, г) вероятность того, что на г-месте в бу-

I

фере п-пользователя данные отсутствуют. Тогда из (4) следует

pi (n, 0) = ^,

Р1

i = 1,...,М - 1.

Заметим, что рекуррентное соотношение (5) даёт метод для расчёта вероятности р\ (п, М) того, что M-место буфера п-пользователя заполнено, которая и является вероятностью просмотра n-пользователем видео без пауз в воспроизведении:

V

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

5. Численный анализ

Численный анализ с использованием аналитической модели, разработанной в разделе 3, связан с рядом вычислительных сложностей. Для расчёта вероятностей р1 (п,г) по формуле (5) необходимо вычислить вероятность Qln (г) по формуле (2), т.е. фактически необходимо вычислить абсолютные вероятности ЦМ , решая на каждом ¿-такте уравнение (1). Однако следует иметь в виду, что вычисление абсолютных вероятностей ж1 (X) проводится на пространстве состояний с размерностью 121 = 2N(м+2). В реальных сетях число пользователей достигает значения N = 105, а число мест в буфере М = 102, поэтому из-за большой размерности задачи вычисления представляют собой некоторую проблему. Например, в качестве исходных данных численного анализа мы выбрали значения N = 1000 и М = 40. Поскольку метод вычисления матрицы переходных вероятностей Пг'г+1 (X, У) и нахождение решения уравнения (1) не являлись предметом исследования данной статьи, то задача на этом этапе была решена средствами имитационного моделирования. Ясно, что в имитационной модели размерность используемых массивов определяется размером буфера, т.е. размер памяти для хранения матрицы переходных вероятностей составляет О (ММ) единиц.

Рассмотрим сначала случай, когда пользователи могут появляться в сети с вероятностью а > 0 и покидать сеть с вероятностью /3 > 0. Заметим, что как появление в сети новых пользователей с пустым буфером (вероятность а), так и уход из сети пользователей с частично или полностью заполненным буфером (вероятность /3) снижают долю целевых пользователей, имеющих на г-месте порцию для загрузки п-пользователю. Для численного эксперимента зафиксируем вероятность а появления в сети новых пользователей, а вероятность /3 ухода пользователей из сети будем менять.

Рис. 4. Вероятность Qn (г) загрузки пользователю данных на г-место в

буфере, а =0, 01

Из графика на рис. 4 видно, что вероятность Qn (г) загрузки пользователю данных с ростом вероятности /3 ухода пользователя из сети в целом снижается. Это объясняется тем, что при одной и той же вероятности а появления пользователей рост вероятности /3, отвечающей за уход пользователей из сети, приводит

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

Аналогично вероятности Qn (i) на рис. 4 с ростом вероятности ft ухода пользователей уменьшается как среднее число Naverage пользователей в сети (рис. 5), так и вероятность р\ (п,М) наличия данных в буфере пользователя (рис. 6).

Рис. 6. Вероятность pi (п, М) наличия данных на М-месте в буфере

пользователя

6. Заключение

В статье исследована модель процесса обмена данными между пользователями сети P2PTV. Модель построена в терминах ЦМ, с помощью которой получены формулы для анализа показателей качества функционирования системы. Для небольшой размерности пространства состояний |Z| = 23(3+2) при N = 3, М = 3 была выписана матрица переходных вероятностей ЦМ и проведены расчёты по точным формулам (1). Результаты этих расчётов совпали с результатами имитационного моделирования. Задачей дальнейших исследований является разработка численных методов анализа показателей качества функционирования системы для большой размерности пространства состояний, построение и анализ модели с учётом скорости отдачи данных сервером и скорости загрузки и отдачи данных пользователями.

Литература

1. Setton E., Girod B. Peer-to-Peer Video Streaming. — Springer, 2007. — 150 p.

2. Adamu A., Gaidamaka Y., Samuylov A. Analytical Modeling of P2PTV Network // Proc. of the 2d International Congress on Ultra Modern Telecommunications and Control Systems (IEEE ICUMT 2010). — Moscow, Russia: 2010. — Pp. 1115-1120.

3. A Measurement Study of a Large-Scale P2P IPTV System / X. Hei, C. Liang, J. Liang et al. // IEEE Trans. Multimedia. — 2007. — Vol. 9, No 8. — Pp. 16721687.

4. Wu D, Liu Y., Ross K. W. Queuing Network Models for Multi-Channel Live Streaming Systems // Proc. of the 28th Conference on Computer Communications (IEEE Infocom 2009). — Rio de Janeiro, Brazil: 2009. — Pp. 73-81.

5. Yipeng Z., Dah M. C., Lui J. A Simple Model for Analyzing P2P Streaming Protocols // Proc. of IEEE Int. Conf. IN Network Protocols (ICNP 2007). — 2007. — Pp. 226-235.

UDC 621.39

Analysis of Continuous Playback Probability in P2P Network A. Adamu, Yu. V. Gaidamaka

Telecommunication Systems Department Peoples' Friendship University of Russia Miklukho-Maklaya str., 6, Moscow, 117198, Russia

In this paper a discrete Markov chain for analyzing the process of content distribution in P2P streaming network was introduced, the steady state probabilities were derived and the probability of continuous playback was analyzed.

Key words and phrases: P2P network, discrete Markov chain, buffer, chunk of content, probability of continuous playback.