Научная статья на тему 'Модель процесса обмена данными в потоковой P2P сети с применением стратегии Layered Coding Aware Rarest-First'

Модель процесса обмена данными в потоковой P2P сети с применением стратегии Layered Coding Aware Rarest-First Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
74
11
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гайдамака Юлия Васильевна, Самуйлов Андрей Константинович

В статье построена модель процесса обмена данными между пользователями в потоковой P2P сети с буферизацией в виде дискретной цепи Маркова. Показано как можно обобщить модель [1, 3] для того, чтобы применить ее для стратегии Layered Coding Aware Rarest-First, являющейся модификацией стратегии Advanced Rarest-First [2].

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гайдамака Юлия Васильевна, Самуйлов Андрей Константинович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Модель процесса обмена данными в потоковой P2P сети с применением стратегии Layered Coding Aware Rarest-First»

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

Российский университет дружбы народов, доцент кафедры систем

телекоммуникаций ygaidamaka@mail.ru

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

Российский университет дружбы народов, аспирант кафедры систем

телекоммуникаций asam1988@gmail.com

Модель процесса обмена данными в потоковой P2P сети с применением стратегии Layered Coding Aware Rarest-First

Аннотация

В статье построена модель процесса обмена данными между пользователями в потоковой P2P сети с буферизацией в виде дискретной цепи Маркова. Показано как можно обобщить модель [1, 3] для того, чтобы применить ее для стратегии Layered Coding Aware Rarest-First, являющейся модификацией стратегии Advanced Rarest-First [2].

Введение

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

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

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

Процесс обмена данными

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

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

целевого пользователя нет ни одной порции данных из отсутствующих у рассматриваемого пользователя, а также, если в начале такта все места с 1-места по M-место буфера заполнены (нет пустых мест). Такт заканчивается так называемым «сдвигом» содержимого буфера каждого пользователя: порция, находящаяся на M-месте буфера, отправляется на воспроизведение, остальные порции данных в буфере сдвигаются на одну позицию вправо к концу буфера, а 0-место буфера остается свободным для загрузки наиболее свежей порции от сервера-источника видео данных на следующем такте. Далее в этой статье мы будем рассматривать только стратегии Rarest-First и Layered Coding Aware Rarest-First (LCA-RF).

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

Математическая модель

Для рассматриваемой сети с N пользователями и одним сервером состояние каждого пользователя (n-пользователя) представлено парой z(n)=(a(n), x(n)), где a(n) - индикатор присутствия пользователя в сети: (a(n)=1 если пользователь находится в сети и a(n)=0 в противном случае), и х (n)=( x0 (n) ,x i (n) ,...,Xm (n)) - состояние буфера пользователя. При этом хт (n) - состояние m-места буфера n-пользователя, т.е. хт (n )=1, если m-место буфера занято порцией данных и Хт (n )=0 в противном случае, т = 0,M . Места с первого (m=1) до последнего (m=M) предназначены для загрузки порций данных от других пользователей, а 0-место (m=0) для загрузки порций данных от сервера. Таким образом, наиболее старая порция данных, которая будет отправлена на воспроизведение на ближайшем такте, находится на M-месте, а порция данных, находящаяся на M-месте, отправится на воспроизведение через M тактов.

Заметим, что если на каждом такте M-место буфера n-пользователя, присутствующего в сети, заполнено, то n-пользователь будет просматривать видео без пауз в воспроизведении. Введенные обозначения проиллюстрированы на рис. 1.

Матрица X=( х (n ))n =LN описывает состояние буферов всех пользователей, а вектор индикаторов a=(a (n ))„=l.n определяет состояние всех пользователей в сети, следовательно, состояние системы можно представить в виде пары Z =( z (n ))=( a,X )=( a (n) ,x (n ))„=l.n , причем строка n матрицы X соответствует состоянию буфера присутствующего в сети n-пользователя и dimX=N(M+1). Таким образом, пространство состояний системы определяется формулой Z= {0,1 j^xj 0,1 }Л?(м+1) и \Z\=2N(M+1).

п-пилйэовзгель

Суачтгвэяие видйа

Jtj")

I (вправление вилф

nojiiimi от сервера воспроизведении

Рис. 1. Состояние буфера п-пользователя

Обозначим M° (х (n)) и M1 (x (n)) множества номеров пустых и заполненных данными мест в буфере n-пользователя, т.е. M°(х(n))={ m: xm(n)=0,m = 1,M}, M1 (x(n))={ m: xm(n)=1, m = 1,M}, причем M0(x(n))uM1 (x(n)) = { 1,2,...,M} . Тогда M0(x(n))nM1 (x(h)) множество номеров мест в буфере n-пользователя, на которые возможна загрузка порций данных от h-пользователя, n^h . Если M°(x(n))nM1 (x(h))^Я, то номер m6( x (n) ,x (h)) места буфера для загрузки порции определяется в соответствии со стратегией загрузки öe{RF,Gr}, т.е.

m6(x(n), x(h))=min{m: meM°(x(n))nM1 (x(h))} для стратегии RF.

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

Введем 1^ - момент сдвига содержимого буфера. При построении модели в дискретном времени предполагается, что если в момент 11 —0 буфер находился в состоянии x(n), то в момент t!+0 он находится в состоянии Sx(n).

Предположим, что пользователь может уйти из сети или появиться в сети только в момент tх. Обозначим (индикатор присутствия пользователя в сети) состояние n-пользователя в момент tх—0, т.е. a1 (n)=1 в момент 11—0 , если он находится в сети, в противном случае a1 (n)= 0 . Пусть а(n) вероятность появления и ß(w) вероятность ухода пользователя из сети:

P{aL+1(n) = 1|а[(ц) =0} = cc(ii), P{at+1(n) = 0|a[(>) = 0} = i-ct(ii), i>{aI+,(«) - 0|af(a^ 1} - ß(n), P(at+1(n) = l|al(n) = 1} = 1 - ß(ii).

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

Обозначим Zx = (A1'X1) состояние сети в момент tх—0 , как показано на рис. 2, где также проиллюстрированы другие необходимые для дальнейшего изложения обозначения. Нетрудно убедиться, что последовательность {Z х} = { Z Ч >0} образует цепь Маркова над пространством состояний Z = {0,1}N Х{0,1}N (M+1, вообще говоря, разложимую, с одним классом Z существенных состояний, ZcZ .

Ъ1 ' Zw

V

/-такт

Рис. 2. Состояния ЦМ на -такте Введем обозначения: п1 (Z) - абсолютная вероятность ЦМ {Z1}1>0 на шаге 1 находиться в состоянии Z, т. е. п1 (Z)= Р{Zх = Z} и п/,т(Z,Y) переходная вероятность ЦМ на шаге 1.

Заметим, что переходные вероятности nu+1 (Z ,Y) зависят от номера m6(х(n),х(h)) и от вероятностей появления а и в ухода пользователя из сети. Т.е. переходные вероятности зависят от стратегии 6 выбора порции данных для загрузки от другого пользователя сети, а абсолютные вероятности k(Z) удовлетворяют уравнениям Колмогорова-Чепмена: TI1+1(Y) = 2zez*re1CZ)nll+1CZ,Y)fYG ZJ > 0.

Заметим, что в [1] на основе описанной выше ЦМ, были получены формулы для расчета вероятности непрерывного просмотра.

Стратегия Layered Coding Aware Rarest-First

Для того чтобы улучшить качество изображения, рекомендуется использовать многослойное кодирование видеопотока, так как этот метод кодирования предназначен для работы при различных ограничениях на пропускную способность. Идея метода заключается в том, что потоковые данные кодируются в непересекающиеся слои, именуемые базовым слоем и слоями улучшения качества. Базовый слой содержит основные данные, необходимые для воспроизведения видео потока с минимальным уровнем качества. Данные из слоев улучшения качества не являются обязательными для загрузки: в слоях улучшения качества содержатся дополнительные данные, которые используются для предоставления услуги видео с более высоким качеством изображения. Однако при использовании многослойного кодирования видеопотока могут возникнуть некоторые проблемы. Основная проблема заключается в том, что данные из какого-либо слоя улучшения качества не могут быть использованы для воспроизведения, если не загружены данные из нижележащих слоев. В этом заключается основной недостаток применения стратегии RF при многослойном кодировании: эта стратегия не учитывает того, насколько полезна будет та или иная порция данных для пользователя, что приведет к увеличению объема бесполезного трафика и, возможно, перебоям в воспроизведении.

Стратегия LCA-RF лишена этого недостатка, так как она принимает во внимание тот факт, что базовый слой имеет приоритет над слоями улучшения качества, а также то, что нижележащие слои должны быть скачаны до тех слоев, что лежат выше них. Таким образом, объем бесполезных данных будет сведен к минимуму, при сохранении самого большого преимущества применения стратегии RF - обеспечения непрерывного просмотра видео пользователями.

Преимущество модели, описанной в предыдущем разделе, заключается в том, что внеся минимальные изменения, ее можно адаптировать к стратегии LCA-RF.

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

необходимо изменить формулу, описывающую стратегию: ms(x(n),x(h)) = {m:mE М°(х{и)) П MA(x(li))r

minm{a X quot(m,L) + b X mod(m,L)}}:

где quot(m, L) -целая часть от деления m на L, а mod(m,L) -остаток от деления m на L, a и b параметры, задающие приоритет порций данных.

Таким образом, внеся минимальные изменения, мы можем адаптировать модель статьи [1] для любой стратегии. В частности показано, что модель может быть использована для новой, предложенной в данной статье, стратегии LCA-RF.

Заключение

В статье представлена модель обмена данными между пользователями потоковой P2PTV сети. Модель построена в терминах ЦМ, с помощью которой в [1, 3] были получены формулы для анализа показателей качества функционирования системы. Наша цель заключалась в том, чтобы показать, что внеся изменения в модель, предложенную в [1], ее можно применять и для других стратегий. В статье мы применили эту модель к стратегии A-RF [2] и разработали новую стратегию LCA-RF.

Основной задачей наших дальнейших исследований является проведение численного анализа различных стратегий с целью определения оптимальной стратегии с точки зрения основных вероятностных характеристик непрерывность воспроизведения и задержки начала воспроизведения.

Авторы выражают благодарность проф. К.Е. Самуйлову за советы по методам исследований, плодотворные дискуссии и замечания при подготовке статьи.

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

Литература

1. Adamu A., Gaidamaka Yu., Samuylov A. Discrete Markov Chain Model for Analyzing Probability Measures of P2P Streaming Network // Proc. of the IEEE 11th International Conference on Next Generation Wired/Wireless Networking NEW2AN 2011, St. Petersburg, Russia. 2011 Pp. 428-439.

2. Ning Wang, Hailun Xia, Zhimin Zeng, Nana He. An Advanced Rarest-First Scheme Used In Mobile Layered P2p Streaming // Proc. Of the 2nd IEEE International Conference on Network Infrastructure and Digital Content, 2010 - 2010 - Pp. 56-61.

3. Adamu A., 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.

4. Xuemin Shen, Heather Yu, John Buford, Mursalin Akon. Handbook of Peer-to-Peer Networking / / Springer. - 2010. 1421 p.

5. Setton E., Girod B. Peer-to-Peer Video Streaming / / Springer. - 2007. 150 p.

6. 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-81.

7. Yipeng Zhou, Dah 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.

i Надоели баннеры? Вы всегда можете отключить рекламу.