21 декабря 2011 г. 16:22
"Инфокоммуникачионно-управленческие сети. Расчет и оптимизация систем связи"
К анализу состояния буфера пользователя одноранговой сети с потоковым трафиком
Построена модель процесса заполнения буфера пользователей одноранговой сети (peer-to-peer, Р2Р-сети) в виде цепи Маркова, получено стационарное распределение вероятностей состояний буферов пользователей сети. Исследована вероятность просмотра видео без пауз в воспроизведении в зависимости от размера буфера .
Ключевые слова: сеть P2P, одноранговая сеть, потоковый трафик, состояние буфера, непрерывный просмотр, цепь Маркова.
Адаму Амину,
аспирант кафедры систем телекоммуникаций РУДН, [email protected]
Гайдамака Ю.В.,
доцент кафедры систем телекоммуникаций РУДН,
к.ф.-м.н., доцент
Самуйлов А.К.,
студент кафедры систем телекоммуникаций РУДН, а$ат [email protected]
Работа выполнена при поддержке РФФИ [грант 10-07-00487-а).
Введение
Технология P2P используется в сетях с потоковым видео в режиме реального времени для того, чтобы наиболее эффективно использовать ресурсы каждого пользователя в сети. Пользователь использует свои скорости загрузки и отдачи видео потока для перераспределения видео данных в сети, одновременно играя роль как клиента, загружающего данные, так и сервера, отдающего данные. При этом нагрузка на сервер -источник потокового видео значительно уменьшается. В [1-5] исследован один из показателей качества обслуживания (QoS, Quality of Service) одноранговой сети
- вероятность того, что все пользователи загружают видео поток на скорости не ниже требуемой для воспроизведения (так называемая «вероятность всеобщей передачи»). Показателем качества восприятия на уровне пользователя (QoE, Quality of Experience) является вероятность непрерывного просмотра, т.е. вероятность просмотра пользователем видео без пауз в воспроизведении. Для обеспечения непрерывного воспроизведения потокового видео применяется механизм буферизации. Видео поток разбивается на порции данных, например, длиной около 1 с, а в оконечном терминале пользователя, которым может являться ТВ-приставка (STB, set top box) или персональный компьютер, предусмотрен буфер для хранения порций видеоданных. При подключении нового пользователя к видеопотоку сначала заполняется буфер в терминале этого пользователя, а уже затем порции данных из буфера начинают поступать в видеоплеер. Задержка в воспроизведении видео потока позволяет каждому пользователю за время воспроизведения очередной порции видео данных загрузить недостающие порции видео данных от серве-
ра или от других пользователей сети, тем самым заполняя пустые места в своем буфере.
В статье построена модель изменения состояния буферов пользователей сети Р2Р с потоковым видео в режиме реального времени в виде цепи Маркова (ЦМ) и получен метод расчета вероятности просмотра видео без пауз в воспроизведении. Для численного анализа ввиду большой размерности пространства состояний ЦМ разработана имитационная модель функционирования Р2Рсети.
Описание процесса обмена данными
Уточним процедуру распределения потоковых видео данных в сети Р2Р с учетом механизма буферизации. Рассмотрим сеть с N пользователями, постоянно находящимися в сети, и одним сервером - источником видео данных. Процесс воспроизведения видео потока разбит на такты, длина каждого такта соответствует времени воспроизведения одной порции данных. Считаем, что каждый пользователь сети имеет буфер, рассчитанный на М+1 порцию данных. Места буфера пронумерованы следующим образом: 0-место буфера предназначено для хранения наиболее свежей порции данных, только что полученной от сервера - источника видео данных, а М-место буфера - для хранения наиболее старой порции, которая будет отправлена на воспроизведение на ближайшем такте.
Определим действия, которые совершаются сервером и пользователями на каждом такте. В начале такта сервер случайным образом выбирает любого пользователя сети и начинает загружать ему порцию данных на 0-место его буфера. Каждый пользователь, которого сервер не выбрал для загрузки порции данных, выполняет следующие действия. Если в буфере есть пустые
места (отсутствуют какие-либо порции данных), то пользователь выбирает случайным образом из сети другого пользователя (т.н. целевого пользователя) и пытается загрузить от него одну из недостающих порций данных. Если у целевого пользователя найдётся хотя бы одна порция данных из тех, что отсутствуют у рассматриваемого пользователя, попытка загрузки будет успешной. Если таких порций несколько, то номер места буфера для загрузки порции определяется в соответствии со стратегией загрузки. Наиболее распространенными являются стратегия загрузки Rarest First (RF), при которой пользователь на каждом такте пытается загрузить наиболее свежую, реже всего встречающуюся в сети порцию данных, и стратегия загрузки Greedy (Or), при которой выбирается самая «старая», т.е. наиболее близкая к воспроизведению порция данных [6]. Пользователь ничего не загрузит от других пользователей на данном такте, если у целевого пользователя нет ни одной порции данных из отсутствующих у рассматриваемого пользователя, а также, если в начале такта все места с 1 -места по М-место буфера заполнены (нет пустых мест). Такт заканчивается так называемым сдвигом содержимого буфера каждого пользователя: порция, находящаяся на М-месте буфера, отправляется на воспроизведение, остальные порции данных в буфере сдвигаются на одну позицию вправо к концу буфера, а 0-место буфера остается свободным для загрузки наиболее «свежей» порции от сервера - источника видео данных на следующем такте. Пример сети P2P с N=4 пользователями схематично изображен на рис. 1.
Построение модели
Для рассматриваемой сети P2P с N пользователями и одним сервером состояние буфера каждого пользователя сети (Н -пользователя, п = I. N ) представлено
вектором x(/i) = (.v„(n)..v|(4-.хм(я)), где -V„ (/») -состояние tit -места буфера /I -пользователя: Хм (/7) = 1, если /;/ -место буфера занято порцией данных и хм (/;) = 0 в противном случае, т = 0. М . Места с первого (/// =1) до последнего (/// =М) предназначены для загрузки порций данных от других пользователей, а 0-место (/// =0) - для загрузки порций данных от сервера. Таким образом, наиболее «старая» порция данных, которая будет отправлена на воспроизведение на ближайшем такте, находится на М-месте, а порция данных, находящаяся на /// -месте, отправится на воспроизведение через М-/// тактов.
Заметим, что если на каждом такте М-место буфера пользователя заполнено (дгм(//)=1), то /7 -пользователь будет просматривать видео без пауз в воспроизведении. Введенные обозначения проиллюстрированы на рис. 2.
Таким образом, состояние системы (состояние буферов всех пользователей) представлено в виде матрицы X = (х(л))««Гы, где строка // соответствует состоянию буфера П -пользователя и dim X = N(M +1).
U.|r,| ' 'I
Рис. 1. Пример сети P2PTV с N=4 пользователями
Немало
буфера
Конец
буфера
Порция t от сервера
Воспроизведение
Рис. 2. Состояние буфера /7 -пользователя
Заметим, что спустя М тактов после начала функционирования пустой системы в любом столбце матрицы X находится как минимум одна единица, а в столбце 0 находится ровно одна единица, поскольку сервер загружает порцию данных только одному пользователю. Таким образом, пространство состояний сети on-ределяется формулой X = jo.lf(M*,>. |Х| = 2N(M*I>.
Обозначим А1°(х(п)) и ,W'(x(;;)) множества номеров пустых и заполненных данными мест в буфере // -пользователя, т.е.
М' (х(л)) = {г» : х_(п) = 0. т = 1.м},
Л/'(х(/?))= уп: хя(/?)=!. т = l.Mf, причем
Л/'(x(/j))UA/'(x(/j))= {1.2.......М}.
Тогда Л/ (х(/?))П А/' (х(/?)) - множество номеров мест в буфере // -пользователя, на которые возможна загрузка порций данных от h -пользователя, // ^ //. Если М "(х(н))Г\М'{х(1’))* 0, то номер mg(x(n).x(h)) места буфера для загрузки порции определяется в соответствии со стратегией загрузки 5, т.е.
"і,(х(н)х(Л))=
miliar: ш є А/ при с і paiei ни Rarest First:
= max {п/ їм € А/ "(х(м))ПА/' (ф))} при сіраісі ии (irccdy. Обозначим S\(n) операцию «сдвига» вектора -если х(н) = (лг,1(и).х,(н).-.хы_1(н).хы(н)), тогда Л'х(/>) - (0,д^(п)_ -. лгм_,(и)). При построении модели в
дискретном времени предполагается, что если в момент /; —0 буфер находился в состоянии то в момент
/# +0 он находится в состоянии »Vx(w).
ТЕХНОЛОГИИ ИНФОРМАЦИОННОГО ОБЩЕСТВА
Пусть /, - момент сдвига содержимого буфера. Согласно протоколу распределения потоковых видео данных в одноранговой сети с учетом механизма буферизации на интервале [/,./,.,)« соответствующем /-такту,
сервером и пользователями совершаются следующие действия (рис. 3).
1. В момент !, для всех пользователей происходит сдвиг буфера:
- порция данных, находившаяся в буфере пользователя на М-месте, отправляется на воспроизведение;
- все остальные порции данных в буфере сдвигаются на одну позицию вправо к концу буфера;
- 0-место в буфере пользователя освобождается.
2. В момент /, + О сервер равновероятно выбирает любого из N пользователей сети и начинает загружать ему порцию данных на 0-место его буфера. Если выбран //-пользователь, то хЛп) = 1 в момент
'ы-<>
3. Каждый пользователь, которого сервер не выбрал для загрузки, выполняет следующие действия:
- Если в буфере есть пустые места, т.е. М"(х(л))*0, то п-пользователь выбирает случайным образом из сети //-пользователя, //*//, причем мШ) - множество заполненных данными мест в буфере // -пользователя.
- Если Л/°(х(и)) ПМ'(х(//))* 0, то //пользователь выбирает в соответствии со стратегией загрузки 8 место т$(х(я).х(/ш 8 своем буфере,
на которое он будет загружать порцию данных от Ь-пользователя.
- Если А/°(х(/ї))ПА/,(х(Л)) = 0 и в буфере //пользователя нет пустых мест (,\/"т//))= 0), то никаких действий не выполняется.
Обозначим X и х' состояния сети и буфера // -пользователя соответственно в момент /,-0, как показано на рис. 3, где также проиллюстрированы другие необходимые для дальнейшего изложения обозначения. Нетрудно убедиться, что последовательность ІХ^ІХ7. /£0) образует цепь Маркова над пространством состояний Л* = {0ЛГЫ* вообще говоря, разложимую [7], с одним классом существенных состояний А*, X с X.
І .1
л I *•(»)[*(»)
х*‘
Рис. 3. Состояния ЦМ |Х; | на / -такте
Введем обозначения: ж (X) * абсолютная вероятность ЦМ (х') на шагв / находиться в состоянии X, I /М
те л^(Х) = />{Х/ =х}; Н/М(Х. V) • переходная вероятность ЦМ на /-шаге.
Заметим, что переходные вероятности П^ЧХ.У)
зависят от номера т$ (х(/;).х(/?)), т.е. от стратегии
8 выбора порции данных для загрузки от другого пользователя сети, а абсолютные вероятности ж'(Х)
удовлетворяют уравнениям Колмогорова-Чепмена:
Л'/*'(У)= £У(Х)П/М(Х.У), \еХ.1ъо.
Х«-Г
Анализ вероятностных характеристик
Основной характеристикой рассматриваемой системы является вероятность РУ(п) того, что //-
пользователь в конце такта на М-месте буфера имеет порцию данных для воспроизведения видео потока. Для нахождения этой вероятности введем функцию /г'(Х),
которая соответствует числу пользователей, у которых на /-месте есть порция данных для загрузки п-пользователю в соответствии со стратегией выбора, когда сеть находится в состоянии X :
*(*)= • • х 6 х'
Н= 1.Л’ А/о
где $ =| ' 1 - символ Кронекера.
\0, .!*'
Определим вероятность о' того, что на /-такте в
сети имеется порция данных для загрузки п-пользователю на /-место в его буфере в соответствии со стратегией выбора.
Утверждение I.
й(о)-о. й!(')= 1/г'(х)/-Гм- (2)
Обозначим рЧц./) (р[(п./)) - вероятность того,
что / -место буфера Ч -пользователя пусто (заполнено) на /-такте. Эти вероятности определяются следующим образом:
/*{у,'(и)=|}= =:/>>./)
У«Д' у<я>=ж<я».х »!*►=!
/»{*■'(«) = о}= ]Гт'(У)=:/^(/7./)
УсА’ (я)-0
Соотношение (3), связывающее вероятности состояний буфера л-пользователя на (/+1 )-шаге и /-шаге в соответствии со стратегией выбора, следует из формулы полной вероятности и проиллюстрировано на рис. 4.
як,■(«)=!}= 4»=1}+4:м=4 {?:(').
»=1.М- |3)
1 */(-)-<• 1 й(') 1 \ч 1
‘ 1 і— . _ ] _ .. і і 1— —>
Рис. 4. Изменение состояния / -места буфера п-пользователя на /-шаге
10
«раньше», чем при стратегии вг. Именно поэтому все-причем в рассматриваемом нами
гда руяг>ру примере на графиках рис. 5
PViir = 0.869 •
РУ =0.973
Заключение
Б статье исследована модель процесса обмена данными между пользователями одноранговой сети. Модель построена в терминах ЦМ, с помощью которой получены формулы для анализа показателей качества функционирования системы. Расчеты с помощью имитационной модели показали существенные неточности в результатах вычислений на графиках рис. 2 и рис. 3 статьи [6]. Задачей дальнейших исследований является разработка численных методов, построение и анализ модели в непрерывном времени.
Авторы выражают благодарность проф. К.Е. Самуилову за советы по методам исследований, плодотворные дискуссии и замечания при подготовке статьи.
Литература
1. Адаму А., Гайдамака Ю.В., Самуилов А.К. Анализ производительности одной схемы многоканальной передачи потоковых данных в одноранговых сетях // Труды 4-й отрас-
левой научной конференции-форума «Технологии информационного общества» 5-7 апреля 2010 г., Москва, МТУСИ -T-Comm - Телекоммуникации и Транспорт. 2010. - N7. -С. 14-18.
2. Adamu A.f Gaidamaka Yu., Samuylov A. Analytical Modeling of P2PTV Network // Proc. of the 2d International Congress on Ultra Modern Telecommunications and Control Systems (IEEE ICUMT 2010), Oct. 18-20, 2010. - Moscow, Russia. -Pp. 1115-1120.
3. 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.
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), April 19-25, 2009. - Rio de Janeiro, Brazil. - Pp. 73-8 1.
5. Setton E., Girod B. Peer-to-Peer Video Streaming // Springer. - 2007. - 150 p.
6 Yipeng Zhou, Oah 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. 226235.
7. Кельберт М.Я., Сухов Ю.И. Вероятность и статистика в примерах и задачах. Том 2: Марковские цепи как отправная точка теории случайных процессов // М.: МЦНМО. -
2010.-560 с.
MARKOV CHAIN MODEL FOR ANALYZING P2P STREAMING NETWORK Adamu Aminu,
PhD student, Telecommunication Systems Department, Peoples' Friendship University of Russia, [email protected]
Gaidamaka YuliyaV.,
An associate professor, Telecommunication Systems Department, Peoples' Friendship University of Russia, [email protected]
Samuylov Andrey K.,
Student, Telecommunication Systems Department, Peoples' Friendship University of Russia, asam [email protected]
Abstract
In this paper, we develop a model for the process of filling a buffer in user's environment in P2P live streaming network -buffer occupancy model. The model is derived in terms of discreet Markov chain. We study a probability measure of the model
- buffer occupancy distribution and the probability of playback continuity.
Keywords - P2P network, live streaming, buffer occupancy, playback continuity, Markov chain model.
12