李 姍,袁 遠,彭宇行1.長沙師范學院 電子與信息工程系,長沙 410100.國防科學技術大學 計算機學院,長沙 410073
網絡編碼P2P流媒體中的動態段粒度研究*
李姍1+,袁遠2,彭宇行2
1.長沙師范學院 電子與信息工程系,長沙 410100
2.國防科學技術大學 計算機學院,長沙 410073
網絡編碼技術已證明能夠提高P2P流媒體系統的整體性能,但是現有系統采用固定段粒度編碼方式存在諸多局限性,為了克服固定段粒度的缺點,且適應實際網絡的隨機特性,提出了動態段粒度的新概念,即源節點在編碼時能夠動態調節編碼塊的段粒度。從編碼方式、取值范圍及輸出能力三方面回答了升階和降階編碼實現動態段粒度所面臨的問題。最后設計了一種動態段粒度調節策略,該策略中源節點能夠根據播放緩沖量和源節點服務能力來動態調節編碼塊的段粒度。實驗表明該策略能夠有效提高網絡抖動和節點攪動時的服務質量。
網絡編碼;P2P流媒體;動態段粒度
2005年后,網絡編碼技術[1]相繼應用于P2P數據分發系統[2]和P2P流媒體系統[3]中,并逐步成為研究的熱點[4-5]。較傳統的P2P流媒體[6]而言,網絡編碼技術具有傳輸協議更簡單,動態網絡適應性更強,系統擴展性更好等優勢[7]。在基于網絡編碼的P2P流媒體系統中,媒體文件被劃分成等大小且具有時序的原始數據塊(original block),多個原始數據塊組成數據段(segment),隨機線性網絡編碼(randomized linear network coding)就作用在每個數據段內原始數據塊上。“段粒度”(segment granularity)指每個數據段所包含的原始數據塊數目。對于每個數據段,多個源節點同時向一個請求節點分發該段的編碼塊(coded block);請求節點在未解碼編碼塊時,通過再編碼為更多節點提供服務。當請求節點收到數目等于段粒度的線性無關編碼塊后,則通過高斯約旦消去法解碼,得到原始數據塊用于播放[8]。
段粒度作為編碼范圍,是P2P流媒體系統中的關鍵參數。研究表明[9],段粒度取值會影響系統各方面的性能:段粒度設定較大時,每次編碼的數據量增加,計算開銷明顯增大,造成較大編解碼延遲;另外,段粒度增大也會導致編碼塊上附加系數開銷增大,降低傳輸效率;再次,原始數據只有在一個數據段全部解碼后才能得到,段粒度過大將帶來較大的播放啟動延遲,且降低抗網絡抖動能力,影響服務質量。段粒度設定較小時,由于數據段切換次數增多,請求節點向源節點發送“剎車消息”也越多,將導致更多的段間線性相關冗余,影響傳輸效率;此外,已證明段粒度太小還會使得數據塊在對等網絡的節點中分布不均勻,導致魯棒性下降[10]。
目前,基于網絡編碼的P2P流媒體系統的相關研究中都是將媒體文件的段粒度設定為固定值[9,11-12],即段粒度取值在整個媒體數據分發過程中保持不變,因此稱為固定段粒度(fixed segment granularity)。大部分固定段粒度取值研究通過模擬實驗和海量數據實測來獲取一個較優的固定值,不但開銷大,而且不能夠適應于動態變化網絡環境,影響了服務質量[12];少部分段粒度通過數學模型分析計算得到最優值,由于模型本身不能完全刻畫實際網絡的隨機特性,從而對應用的指導意義有限[13]。
針對固定段粒度存在的上述局限性,本文提出了動態段粒度的概念及其實際應用的策略,即在基于網絡編碼的P2P流媒體系統中,源節點可根據請求節點需求動態調節編碼塊的段粒度,能夠有效克服由于P2P系統的自發性和網絡隨機特性導致固定段粒度過大或者過小的問題,進一步提高系統的服務質量。本文的主要貢獻如下:
(1)提出了動態段粒度概念與基本原理。與固定段粒度的傳統思路不同,為進一步提高P2P流媒體系統的服務質量提供了新的突破方向。
(2)解決了實現動態段粒度面臨的3個難點,即編碼方式問題、取值范圍問題和輸出能力問題,證明了源節點可以在不解碼的情況下通過升階編碼和降階編碼方式動態調整編碼塊的段粒度,為動態段粒度策略的設計提供了理論支持。
(3)設計了一種高效動態段粒度調節策略。請求節點根據緩沖狀況和源節點的服務能力周期性地計算動態段粒度,源節點則根據請求節點的反饋來調節編碼塊的段粒度,提高了系統在網絡抖動和節點攪動時的服務質量。
動態段粒度指的是在基于隨機線性網絡編碼的P2P流媒體系統中,每個媒體文件在分發過程中段粒度不再是一個固定值,而允許源節點在生成編碼塊時進行動態調節,以適應P2P系統自發性及實際網絡隨機特性,有效提高系統的服務質量。
動態段粒度的優勢在于:在請求節點協同配合下,當網絡狀況良好,且請求節點播放緩沖中的有效原始數據量富余時,源節點動態增加編碼塊的段粒度,這樣可減小段間切換開銷,提高帶寬資源利用率;當請求節點播放緩沖的有效原始數據量較小,且有節點退出或者網絡狀況不佳時,源節點動態減小編碼塊的段粒度,幫助請求節點快速完成解碼,保證播放質量。
下面用一個例子,從請求節點的角度說明動態段粒度較固定段粒度的優勢。
如圖1所示,黑色曲線表示源節點收到編碼塊的數據量;灰色曲線表示解碼得到的原始數據;藍色曲線表示已播放的數據量。這3條曲線均為累積曲線,即所代表的數據量都隨著時間不斷累積增加。其中編碼塊曲線由于受到實際隨機因素的影響,曲線不光滑,也沒有固定的斜率,數據量增長時快時慢;原始數據曲線按照隨機線性網絡編碼的方式,只有在請求節點收到等于段粒度數目的線性無關編碼塊時才能解碼,因此是階梯狀的;播放曲線在理想的情況下應該是一條以媒體播放碼率R為固定斜率的直線。如圖1(a)所示,假設系統采用固定段粒度方式,段粒度為m,則請求節點只有在收到m個線性無關編碼塊時才能完成該段數據的解碼,因此固定段粒度下的有效原始數據曲線的階梯高度都為固定值m。這樣當編碼塊曲線增長變慢時,則有可能導致原始數據播放完時,接收到的下一段編碼塊沒有達到m(紅叉的位置),不能解碼成原始數據,從而影響播放的連續性。如圖1(b)所示,系統采用動態段粒度,請求節點在編碼塊曲線增長變緩時也能夠及時完成解碼,即原始數據曲線的階梯高度是動態變化的,使得緩沖區中有效原始數據不會被清空,保證播放的流暢性。

Fig.1 Request node buffer data diagram圖1 請求節點緩沖數據量示意圖
本文稱增加段粒度的編碼方式為升階編碼,降低段粒度的編碼方式為降階編碼。升階編碼和降階編碼是實現動態段粒度的兩種基本編碼方式。雖然動態段粒度的基本原理容易理解,但是如何升階和降階編碼,能否應用到實際系統中,還需要先解答三方面問題:
(1)編碼方式問題。在基于網絡編碼的P2P數據分發系統中,源節點通常在收到編碼塊但不能解碼的情況下要求通過“再編碼”為請求節點提供服務[14]。因此首先需要討論如何在再編碼過程中完成升階或者降階編碼,這是實現動態段粒度的基本手段。
(2)取值范圍問題。再編碼過程中,源節點將受限于自身已獲取的編碼塊段粒度情況,并不能升階或者降階編碼出任意動態段粒度的編碼塊,如動態段粒度為1的編碼塊只有源節點能夠解碼出該段數據才能提供。因此還需要確定源節點能夠提供的動態段粒度的取值范圍。
(3)輸出能力問題。請求節點在新收到的編碼塊與已緩沖的編碼塊線性相關時,考慮到對解碼出整段原始數據沒有幫助,將丟棄這些新編碼塊。因此最后還需要討論在某一特定動態段粒度下,源節點能夠提供的線性無關編碼塊的數目,即動態段粒度下的輸出能力。
P2P系統中的內容服務器具有所有的原始數據塊,因此可以直接進行降階和升階編碼。本節主要討論源節點在不解碼編碼塊的情況下如何完成降階編碼和升階編碼,并分別從降階編碼和升階編碼兩個方面來回答上述3個問題,對動態段粒度可行性進行分析。
3.1降階編碼
源節點上降階編碼方式是在不解碼的情況下,將編碼塊中時序靠后的部分原始數據信息剔除,即通過再編碼處理,將編碼塊中時序靠后的隨機系數通過線性運算調整為0,得到降階編碼塊。
例1設基于網絡編碼的P2P流媒體系統的有限域為GF(28),初始段粒度為5,某源節點已收到3個段粒度為5的編碼塊,編碼系數分別為E1=[234,10,123, 146,85|C1],E2=[13,254,34,76,123|C2],E3=[222,134, 34,90,165|C3],其中C1、C2、C3表示每個編碼塊中編碼數據。每個假設要求降階到段粒度為3的編碼塊,
則源節點可以采用高斯消去法,降階編碼過程如下:

上述矩陣的第三行由于后兩個系數已變換為0,即為產生的段粒度為3的新編碼塊,將被發往請求節點。
在此基本編碼方式下,得到取值范圍定理。
定理1(取值范圍定理)假設源節點已收到段粒度為m的線性無關編碼塊數量為k(k≤m),則源節點能夠提供降階編碼塊的段粒度d滿足d∈{m,m-1,…,m-k+1}。
證明 采用第一數學歸納法進行證明。
(1)當k=1時,接收到的任意編碼塊都可以看作是包含該段m個原始塊信息的編碼塊,因此d∈{m}。
(2)當k=2時,假設兩個編碼塊系數矩陣如式(1)所示,如果e1m和e2m中至少有一個為0,則d∈{m, m-1}結論成立;如果e1m和e2m都不為0,則總可以通過線性行變換將其中第一個編碼塊的參數e1m變成0,即段粒度為m-1,如下所示,因此d∈{m,m-1},結論也成立:


定理1證明了這種降階編碼方式的可行性,同時也可以看出,降階編碼不能任意降低段粒度,而是收到的編碼塊越多,則能夠得到的段粒度越小。假設源節點收到k個段粒度為m的編碼塊,則最多能夠提供段粒度為m-k+1的降階編碼塊;特別的,當收到k=m時,則源節點已經可以解碼出段粒度為m的所有編碼塊,因此能夠提供任意段粒度不大于m的降階編碼塊。
源節點上采用降階編碼方式,等價于為請求節點分攤了解碼計算開銷,因此請求節點能夠在收到小于m個編碼塊時,提前解碼出部分原始數據,保證播放緩沖不被清空,如例2所示。
例2設源節點收到編碼塊段粒度m=5,采用段粒度為3的降階編碼為請求節點提供服務。如果請求節點收到3個降階編碼塊,系數向量分別為E1=[5, 10,12,0,0],E2=[43,13,0,0,0],E3=[73,54,2,0,0],組成的系數矩陣形如:

則通過高斯約旦消去法,此時已經可以解碼得到時序靠前的3個原始塊。
定理2(輸出能力定理)假設源節點已收到段粒度為m的線性無關編碼塊數量為k(k≤m),且源節點目前提供的降階編碼塊的段粒度為d,則系數矩陣所組成的線性空間的秩為
證明 采用第一數學歸納法進行證明。
(1)當k=1,d=m時,由于只有一個編碼塊,此時線性空間的秩為結論成立。
(2)當k=2,d∈{m,m-1}時,有:
從定理2中可以看出,針對動態段粒度為d,源節點在不接收新的編碼塊的情況下,最多能夠編碼出個線性無關的編碼塊。
3.2升階編碼
源節點上的升階編碼的基本編碼方式是在不解碼的情況下,將時序連續數據段的編碼塊通過線性組合的方式編碼在一起,提高段粒度,得到升階編碼塊。在此基本思想下,結合定理1,得到了以下推論。
推論1(取值范圍推論)假設段i的段粒度為m1,段i+1的段粒度為m2,且源節點已收到段i的線性無關編碼塊數量為k1(k1≤m1),收到段i+1的線性無關編碼數量為k2(k2≤m2),則源節點能夠提供變階編碼塊的段粒度d滿足
證明 由于源節點同樣可以利用高斯約旦消去法將時序靠前的編碼塊的系數變為0,從而可以將段i編碼塊靠前的系數變為0,而將段i+1編碼塊靠后的系數變為0,然后再求這兩個變階編碼塊線性組合,從而將這兩個編碼塊中所包含的原始數據的時序連接起來。根據定理1,源節點能夠提供段i的降階編碼塊的段粒度d1滿足1},能夠提供段i+1的降階編碼塊的段粒度d2滿足,則源節點能夠提供變階編碼塊的段粒度d滿足
考慮到為升階編碼,因此一般情況下對段i的編碼塊不作降階處理,而將段i+1的編碼進行降階,因此從推論1可以得到,源節點能夠提供的升階編碼塊的段粒度d滿足
推論2(輸出能力推論)假設段i的段粒度為m1,段i+1的段粒度為m2,且源節點已收到段i的線性無關編碼塊數量為k1(k1≤m1),收到段i+1的線性無關編碼數量為k2(k2≤m2),則源節點能夠提供段粒度為d的線性無關升階編碼塊的數目為
證明 升階編碼塊的段粒度為d,則段i+1的降階編碼塊的段粒度為d-m1,根據定理2,則一定有段i+1的降階編碼系數空間秩為,即可以降階編碼出個線性無關的段粒度為d-m1的編碼塊,這其中每個編碼塊都與段i的任意一個編碼塊進行線性組合,則能夠得到段粒度為d的升階編碼塊,因此命題得證。
推論2說明兩個段的編碼塊融合成一個段,將有更多的線性無關編碼塊產生。
在解決了3個動態段粒度可行性相關問題后,將結合現有的基于網絡編碼的P2P流媒體系統的數據分發策略,設計配套的動態段粒度調節策略。
4.1系統模型
系統模型如圖2所示,請求節點接收上游n個源節點的編碼塊服務,同時又為下游l個請求節點提供再編碼塊服務。請求節點將上游n個源節點傳輸的編碼塊存儲到接收緩沖區中,編碼塊解碼后被移交到播放緩沖區中等待播放,另外也可以再編碼成編碼塊繼續為下游l個請求節點服務。動態段粒度策略在合適的時機被觸發,可根據當前的源節點服務能力和緩沖區數據量計算出每個源節點的動態段粒度取值,并通知上游源節點進行升階或者降階編碼,保證請求節點的播放質量。
為了降低策略的復雜度,保證策略的收斂性,假設P2P流媒體系統中針對特定媒體文件A的最大動態段粒度為mmax,即升階編碼與降階編碼的范圍都限定在mmax內,不存在跨mmax的情況。mmax可以在系統初始化時設定任意值。任何源節點通過降階編碼或者升階編碼得到編碼塊中包含的原始塊信息嚴格按照時序排列。例如,編碼塊b1的段粒度為m1,編碼塊b2的段粒度為m2,則一定有m1≤mmax且m2≤mmax,b1包含mmax個原始塊中的第1個到第m1個原始塊的信息,不包含最后mmax-m1個原始塊信息;如果有m1 在動態段粒度調節策略中,請求節點需要根據自身數據緩沖情況和源節點的服務能力計算出最佳的動態段粒度。 (1)數據緩沖情況 接收緩沖區中編碼塊的分布情況用p維向量B來表示,稱作編碼塊分布向量。假設有B={b1,b2,…, bp},其中p表示將最大段粒度mmax劃分成 p個階段,每個階段 j(1≤j≤p)表示動態段粒度取值為((j-1) mmax/p,jmmax/p],第j個分量bj表示接收緩沖中動態段粒度取值在((j-1)mmax/p,kmmax/p]范圍內的編碼塊數量。 根據上面的假設,不難得到編碼塊分布向量B具有以下性質: Fig.2 System model圖2 系統模型示意圖 ②時序性。p個階段的編碼塊,只有第j個階段的編碼塊完成解碼,其后繼第 j+1個階段的編碼塊才能完成解碼,或者第j個階段與第 j+1個階段同時解碼。 (2)源節點服務能力 源節點服務能力通常可用請求節點接收到該源節點編碼塊的速率表示。請求節點利用指數加權平均法(exponential weighted moving average,EWMA)來周期性地計算每個源節點編碼塊的到達速率[15]。假設周期長度設定為T個時間單位,令-λi[t]表示源節點i在周期t內的編碼塊到達EWMA速率,作為對周期t+1的源節點服務能力的一種估計。在周期t結束時,可以計算為: 其中,α表示加權因子;λi[t]表示請求節點在周期t內檢測到源節點i的平均編碼塊到達速率。α較大時,歷史數據在EWMA平均值中所占的比重將迅速減小。EWMA平均法的優點在于,統計出來的編碼塊到達速率能夠將源節點服務能力和網絡環境的隨機抖動弱化,確保統計值與實際情況接近。 4.2調節算法 請求節點在每個周期結束時首先檢測源節點服務能力和數據緩沖情況,然后根據當前播放緩沖區的數據量來確定動態段粒度,即當數據量低于下限值β時,立即采用盡可能小的動態段粒度,保證能夠盡快解碼出原始數據;而當數據量高于上限值δ時,立即采用盡可能大的動態段粒度,保證減小段間切換的開銷;而當數據量在上下限之間時,則根據統計得到編碼塊到達速率,估計下一周期播放緩沖不會被清空到下限值以下所需要的動態段粒度取值。假設當前周期為t,令]表示周期t結束時所有源節點的聚合EWMA編碼塊到達速率,有令Bp[t]表示周期t結束時請求節點上播放緩沖區中還未播放的原始塊數目;令B[t]和bj[t]分別表示周期t結束時接收緩沖編碼塊分布向量和第j個階段對應的分量;假設R表示媒體文件的播放速率,用原始塊/秒(b/s)表示;M[t]和mi[t]分別表示周期t中各個源節點為請求節點提供的段粒度取值。動態段粒度調節策略的算法偽代碼如下所示。 請求節點在計算得到m[t+1]后,如果與當前的值不同,則通知各個源節點,源節點拿到新的動態段粒度后,將會調整編碼方式,通過升階或者降階編碼提供具有新的段粒度的編碼塊給請求節點。 本文通過與固定段粒度機制進行比較,驗證動態段粒度機制的有效性。仿真實驗通過Matlab來實現,由于本文研究對象為應用層上的隨機線性網絡編碼,仿真過程將忽略下層細節。 將基于網絡編碼的P2P流媒體系統的典型參數帶入到仿真實驗中,具體包括:有限域采用GF(28),文件大小Sf設定為400 MB,原始數據塊的小大So設定為1 KB,則原始塊數目為409 600。假設該文件的播放碼率R為480 Kb/s,則播放碼率R也可以表示為每秒60個原始塊。該媒體文件最大動態段粒度mmax為160,接收緩沖區中編碼塊的分布情況用8維向量B來表示,即p為8;播放緩沖區上下限β和δ分別設置為20和350。每個請求節點共有4個源節點為其提供服務,平均服務能力為每秒15個編碼塊,服從指數分布。 如圖3所示,綠色曲線表示請求節點收到的編碼塊的累積數量,藍色折線表示請求節點解碼出的原始數據塊的累積數量,紅色折線表示請求節點播放了原始數據塊的累積數量。從圖3(a)中可以看到采用固定段粒度在3.2 s、6.5 s和8.3 s左右時,紅色折線沒有連續,即播放緩沖被清空,而沒有新的原始數據到達,因此出現了播放停滯現象,影響了服務質量;從圖3(b)中可以看到采用動態段粒度,播放連續,藍色折線始終與紅色折線沒有交點,即緩沖始終沒有被清空,播放質量得到了保證。 如圖4所示,在2 s后1號源節點退出,而在4 s后請求節點找到新的源節點,服務能力也是每秒15個編碼塊;在5 s開始模擬1號源節點的上行服務能力提高到每秒60個編碼塊,而在7 s時下降到每秒15個編碼塊。發現動態段粒度策略能夠很好地適應源節點服務能力的抖動,隨著服務能力的降低而減小段粒度,而隨著服務能力的提高而增加段粒度,保證服務質量。 Fig.3 Request node buffer data when source node service ability stability圖3 源節點服務能力穩定時請求節點緩沖數據量 Fig.4 Request node buffer data when source node service ability shaking圖4 源節點服務能力抖動時請求節點緩沖數據量 針對固定段粒度存在的局限性,本文首先提出了動態段粒度的概念,然后針對升階和降階編碼實現動態段粒度時存在的問題,從編碼方式、取值范圍和輸出能力三方面給出了答案,最后在現有P2P流媒體系統的分發機制上,設計了一種動態段粒度調節策略。實驗表明該策略能夠進一步提高請求節點在網絡抖動和節點攪動下的播放質量。動態段粒度思想為基于網絡編碼的P2P流媒體系統提供了新思路,能夠進一步提高系統的服務質量。下一步將從宏觀上繼續開展動態段粒度相關研究,分析動態段粒度調節策略下的段粒度在全系統中的分布及變化情況,思考動態段粒度對整個數據分發過程的影響,找出其中內在規律,為動態段粒度概念應用到實際系統中提供更堅實的技術支持。 References: [1]Ahlswede R,Cai Ning,Li S R,et al.Network information flow[J].IEEE Transactions on Information Theory,2000, 46(4):1204-1216. [2]Gkantsidis C,Rodriguez P R.Network coding for large scale content distribution[C]//Proceedings of the 24th IEEE International Conference on Computer Communications,Miami, USA,Mar 13-17,2005.Piscataway,USA:IEEE,2005:2235-2245. [3]Wang M,Li Baochun.LAVA:a reality check of network coding in peer-to-peer live streaming[C]//Proceedings of the 26th IEEE International Conference on Computer Communications,Anchorage,USA,May 6-12,2007.Piscataway, USA:IEEE,2007:1082-1090. [4]Zhang Xinyu,Li Baochun.On the market power of network coding in P2P content distribution systems[J].IEEE Transactions on Parallel and Distributed Systems,2011,22 (12):2063-2070. [5]Halloush M,Radha H.Network coding with multigeneration mixing:a generalized framework for practical network coding [J].IEEE Transactions on Wireless Communications,2011,10 (2):466-473. [6]Zhang Xinyan,Liu Jiangchuan,Li Bo,et al.CoolStreaming/ DONet:a data-driven overlay network for live media streaming [C]//Proceedings of the 24th Annual Joint Conference of the IEEE Computer and Communications Societies,Miami,USA, Mar 13-17,2005.Piscataway,USA:IEEE,2005:2102-2111. [7]Xu Jin,Li Xiaofeng,Fu Zhizhong,et al.Recent advances in P2P streaming with network coding[J].Computer Science, 2012,39(3):1-8. [8]Wang M,Li Baochun.R2:random push with random network coding in live peer-to-peer streaming[J].IEEE Journal on Selected Areas in Communications,2007,25(9): 1655-1666. [9]Yuan Yuan.The research on performance evaluation and optimization techniques for network coding based data transmission[D].Changsha:National University of Defense Technology,2011. [10]Niu Di,Li Baochun.On the resilience-complexity tradeoff of network coding in dynamic P2P networks[C]//Proceedings of the 15th IEEE International Workshop on Quality of Service.Piscataway,USA:IEEE,2007:38-46. [11]Sheikh A M,Fiandrotti A,Magli E,et al.Distributed mediaaware scheduling for P2P streaming with network coding [C]//Proceedings of the 2013 IEEE International Conference on Acoustics,Speech and Signal Processing,Vancouver,Canada,May 26-31,2013.Piscataway,USA:IEEE,2013: 3597-3601. [12]Liu Zimu,Wu Chuan,Li Baochun,et al.UUSee:largescale operational on-demand streaming with random net coding[C]//Proceedings of the 29th IEEE International Conference on Computer Communication,San Diego,USA, Mar 14-19,2010.Piscataway,USA:IEEE,2010:1-9. [13]Feng Chen,Li Baochun.On large-scale peer-to-peer streaming systems with network coding[C]//Proceedings of the 16th ACM International Conference on Multimedia,Vancouver, Canada,Oct 26-31,2008.NewYork:ACM,2008:269-278. [14]Liu Yajie,Dou Wenhua.The P2P streaming media based on network coding[J].Computer Engineering and Science, 2006,28(9):33-34. [15]Floyd S,Jacobson V.Random early detection gateways forcongestion avoidance[J].IEEE/ACM Transactions on Networking,1993,1(4):397-413. 附中文參考文獻: [7]徐進,李曉峰,傅志中,等.應用網絡編碼的P2P流媒體技術研究進展[J].計算機科學,2012,39(3):1-8. [9]袁遠.基于網絡編碼的數據傳輸性能分析與優化技術研究[D].長沙:國防科學技術大學,2011. [14]劉亞杰,竇文華.基于網絡編碼的P2P流媒體[J].計算機工程與科學,2006,28(9):33-34. LI Shan was born in 1981.She received the M.S.degree from Hunan University in 2011.Now she is a lecturer at Changsha Normal College.Her research interests include network coding,P2P streaming media and data mining,etc. 李姍(1981—),女,湖南長沙人,2011年于湖南大學獲得碩士學位,現為長沙師范學院講師,主要研究領域為網絡編碼,P2P流媒體,數據挖掘等。主持湖南省教育科學研究優秀青年項目。 YUAN Yuan was born in 1980.He received the Ph.D.degree from National University of Defense Technology in 2011.Now he is an assistant researcher at National University of Defense Technology.His research interests include network coding and high performance computing,etc. 袁遠(1980—),男,湖南長沙人,2011年于國防科學技術大學獲得博士學位,現為國防科學技術大學計算機學院助理研究員,主要研究領域為網絡編碼,高性能計算等。主持國家自然科學基金項目。 PENG Yuxing was born in 1963.He is a professor at National University of Defense Technology.His research interest is parallel and distributed processing. 彭宇行(1963—),男,湖南長沙人,國防科技大學計算機學院研究員,主要研究領域為并行與分布式處理。 Exploring Dynamic Segment Granularity in Network Coding Based P2PStreaming* LI Shan1+,YUAN Yuan2,PENG Yuxing2 LI Shan,YUAN Yuan,PENG Yuxing.Exploring dynamic segment granularity in network coding based P2P streaming.Journal of Frontiers of Computer Science and Technology,2016,10(9):1262-1271. It has been proved that network coding technology can improve the overall performance of P2P streaming systems.However,the existing systems all use fixed segment granularity coding scheme for data dissemination.To overcome the limitations of fixed segment granularity coding scheme,and fit for the stochastic characteristic of real networks,this paper proposes the new concept of dynamic segment granularity,with which the peers can tune the segment granularity dynamically while encoding.Then this paper answers three questions about how to implement dynamic segment granularity,which are the coding modes,segment granularity range and output performance.Finally this paper designs a new coding scheme with dynamic segment granularity.According to the playing buffer states and the service capabilities of source peers,this scheme can tune the segment granularity of coded blocks dynamically.The experiments illustrate that this scheme can offer better QoS with network jitters or peer churns.It is believed that dynamic segment granularity shares a new idea of further improving the QoS of coding-based P2P streaming systems. Key words:network coding;P2P streaming;dynamic segment granularity 2016-02,Accepted 2016-05. *The National Natural Science Foundation of China under Grant No.61402514(國家自然科學基金);the Scientific Research Program of Hunan Provincial Education Department under Grant No.12B012(湖南省教育科學研究優秀青年項目). CNKI網絡優先出版:2016-05-19,http://www.cnki.net/kcms/detail/11.5602.TP.20160519.1513.002.html A TP393


5 性能評價


6 結束語



1.Department of Electronic and Information Engineering,Changsha Normal College,Changsha 410100,China
2.College of Computer Science,National University of Defense Technology,Changsha 410073,China
+Corresponding author:E-mail:Anglaia@163.com