專利名稱:數據驅動覆蓋網絡中的分段發送調度方法
技術領域:
數據驅動覆蓋網絡中的分段發送調度方法屬于互聯網技術領域,尤其涉及應用層覆蓋網絡技術。
背景技術:
隨著互聯網的使用越來越普及,多媒體應用尤其是實時直播的流媒體正在飛速地發展。跟其他類型的應用相比,實時直播的流媒體需要更高的網絡帶寬以及更強的節點轉發能力。
IP組播是支持實時直播流媒體應用的比較理想的方案。但是,IP組播改變了傳統互聯網的“單播”原則,而且一系列問題如組播管理、擁塞控制以及計費模型等問題都沒有得到很好的解決。所以部署互聯網規模的IP規模是一件非常困難的事情。隨后研究者轉向了應用層組播。應用層組播把組播樹建立在端系統,而不是路由器上。應用層組播克服了IP組播部署性差的缺點,而且可以提供更好的靈活性。但是,應用層的節點有著極大的不穩定性。節點的不穩定可能導致覆蓋網絡拓撲的不斷變化。這對于對流暢性要求很高的實時直播流媒體應用來說有著很大的負面影響。
無結構的覆蓋網絡可以比較好地解決節點不穩定的問題,因為其數據轉發不再依賴于組播樹。數據驅動覆蓋網絡就是無結構覆蓋網絡中的一種。在數據驅動覆蓋網絡中,并沒有預先定義好的父親/孩子,以及上游/下游等節點關系。每個節點都跟伙伴節點交換數據可用信息,然后選擇一個最好的伙伴節點請求某個數據分段。如果一個節點收到了分段請求,就應該把相應的分段發送給請求節點。這樣,在數據驅動覆蓋網絡中,是數據的可用性引導流媒體的傳播,而不依賴于某種固定的結構。因此數據驅動覆蓋網絡可以在動態的網絡環境中仍然支持較為流暢的流媒體傳播。
媒體流被劃分成很多個分段。每個節點從伙伴節點中選取一個最好的節點來請求某個分段,這個請求被發送至分段提供節點并存儲在分段提供節點的請求隊列中。為了提高流媒體的傳播質量,此前的研究一般集中在成員管理、數據可用性信息交換以及分段請求調度等方面。但對請求隊列中的請求的不同調度方法可能同樣會導致不同的流媒體傳播質量。本發明提出在用戶對播放流暢度要求較高時,采取高序號優先的分段發送調度方法;在用戶對播放延遲要求較高時,采取低序號優先的分段發送調度方法。以此來提高用戶滿意度。
發明內容
本發明的目的在于設計數據驅動覆蓋網絡中分段發送的調度方法,以提高數據驅動覆蓋網絡中流媒體傳播的用戶滿意度。
本發明所提出的方法的特征在于數據驅動覆蓋網絡中的分段提供節點為接收到的分段請求分配優先級,在用戶對播放流暢度要求較高時為請求分段序列號較高的分段請求賦予較高的優先級,在對播放延遲要求較高時為請求分段序列號較低的分段請求賦予較高的優先級。在調度分段發送時,根據分段請求優先級的高低采取依次發送的方法把對應的分段發送給請求節點。本發明運用在所有分段提供節點上,它包含以下實施步驟(1)初始化分段提供節點運行數據驅動覆蓋網絡協議;(2)分段提供節點收到分段請求,并為其分配優先級,在用戶對播放流暢度要求較高時為請求分段序列號較高的分段請求賦予較高的優先級,在用戶對播放延遲要求較高時為請求分段序列號較低的分段請求賦予較高的優先級;在實時直播流媒體應用中,媒體流在最靠前的一些分段都到達后才開始播放,因此如果低序號的分段請求被賦予較高的優先級,大部分節點會獲得較短的播放延遲;如果高序號的分段請求被賦予較高的優先級,則在較低序號的分段到達后媒體流能得到較為流暢的播放。
(3)分段提供節點把分段請求存儲在請求隊列中;(4)當分段提供節點調度分段發送時,從請求隊列中選擇一個優先級最高的請求,用所有發送帶寬發送相應分段給相應請求節點;由于每個分段只有在全部到達請求節點之后才是可用的(無論是用于播放還是用于轉發),所以采取依次發送的分段發送方法跟采取比例帶寬的分段發送方法相比,能使優先級較高的請求在得到更好服務的同時,不損害優先級較低的請求所獲得的服務;(5)在當前分段發送完畢后,進行新一輪的分段發送調度。
我們用用戶滿意度的概念來衡量實時直播流媒體的傳播質量。用戶滿意度是由兩方面的因素決定的一是流媒體播放流暢度,二是流媒體播放延遲。某個節點上的流媒體播放流暢度定義為在分段播放期限之前到達的分段數量與流媒體的分段總數的比值,用Pc表示;流媒體播放延遲定義為所有分段在該節點上的播放時刻與其在源節點上的播放時刻的差值的平均值,用Pd表示。用戶滿意度依據用戶對播放流暢度和播放延遲的偏好來進行定義。如果用戶只要求播放流暢度,則用戶滿意度可定義為U=Pc*100%;如果用戶只要求播放延遲,則用戶滿意度可定義為U=T/(T+Pd)*100%;如果用戶同等要求播放流暢度和播放延遲,則用戶滿意度可定義為U=Pc*T/(T+Pd)*100%分析和實驗表明,在用戶對播放流暢度要求較高時,高序號優先的優先級分配方法會提高用戶滿意度;在用戶對播放延遲要求較高時,低序號優先的優先級分配方法會提高用戶滿意度。
圖1.分段發送方法示意圖;Req分段請求,b總發送帶寬圖2.請求優先級分配示意圖;Req分段請求圖3.分段發送調度流程圖。
具體實施例方式
在數據驅動覆蓋網絡中,每個節點跟其他節點交換數據可用性信息,并據此決定從哪個伙伴節點請求某個分段的數據。分段請求到達分段提供節點的請求隊列中。當分段提供節點決定發送分段數據時,如果分段請求隊列中有多個請求,就需要對這些請求進行調度。這里有兩個問題需要考慮一是在分配好請求的優先級的情況下如何發送這些分段;二是如何為這些請求分配優先級。
如果已經分配好請求的優先級,有兩種常見的方法來發送分段一是根據優先級的高低依次發送;二是根據優先級進行比例帶寬分配,然后同時發送。假設分段發送節點的發送帶寬為b,則依次發送方法和比例帶寬發送方法的比較如圖1所示。
我們用一個實例來比較這兩種分段發送方法。假設分段提供節點為q,在t=0時刻,其請求隊列中有3個請求節點a請求分段sa,節點b請求分段sb,節點c請求分段sc。節點q的發送帶寬為6Mbps,每個分段長度為6M,為這3個請求分配的優先級分別為9、6和3。如果采取依次發送方法,節點q首先以全部帶寬發送分段sa到節點a,發送完畢后再以全部帶寬發送分段sb到節點b,發送完畢后再以全部帶寬發送分段sc到節點c。這樣,分段sa到達節點a的時間、分段sb到達節點b的時間和分段sc到達節點c的時刻分別為1秒、2秒和3秒。而如果采取比例帶寬發送方法,節點q在t=0的時刻分別以3Mbps的帶寬發送分段sa到節點a,以2Mbps的帶寬發送分段sb到節點b,以1Mbps的帶寬發送分段sc到節點c。在t=2秒時,節點a收到整個分段,同時節點q分別以4Mbps的帶寬發送分段sb到節點b,以2Mbps的帶寬發送分段sc到節點c。在t=2.5秒時,節點b收到整個分段,同時q以整個6Mbps的帶寬發送分段sc到節點c。在t=3秒時,節點c收到整個分段。這樣,采取這種方法后分段sa到達節點a的時間、分段sb到達節點b的時間和分段sc到達節點c的時刻分別為2秒、2.5秒和3秒。經過比較,顯然依次發送的方法比比例帶寬的方法更好,因為在優先級較高的請求獲取更好的服務的同時,優先級較低的請求并未受到損失。如果在節點發送某個分段的過程中有新的請求到達,則新請求被放到請求隊列中,直到當前分段發送完畢后,再進行下一輪的分段發送調度。
對于分配請求的優先級,有三種可能的選擇。第一種方法是到達請求隊列較早的請求被賦予較高的優先級,我們可以稱之為FIFO調度;第二種方法是請求分段序列號較高的請求被賦予較高的優先級,我們稱之為高序號優先調度;第三種方法是請求分段序列號較低的請求被賦予較高的優先級,我們稱之為低序號優先調度。三種優先級分配方法的比較如圖2所示。
在實時直播流媒體應用中,媒體流在最靠前的一些分段都到達后才開始播放,因此如果低序號的分段請求被賦予較高的優先級,大部分節點會獲得較短的播放延遲;如果高序號的分段請求被賦予較高的優先級,則在較低序號的分段到達后媒體流能得到較為流暢的播放。受此啟示,我們提出在用戶對播放流暢度要求較高時,采取高序號優先調度方法;在用戶對播放延遲要求較高時,采取低序號優先調度方法。序號和優先級的匹配函數是任意的,只要能滿足在高序號優先調度中,優先級隨著序號的增大而增大;在低序號優先調度中,優先級隨著序號的增大而較小。比如,如果節點i請求分段s,在高序號優先調度中其優先級可被分配為Pr(i,s)=(s+1),在低序號優先調度中其優先級可被分配為Pr(i,s)=1/(s+1)。通過模擬實驗,我們發現如果用戶對播放流暢度要求較高,高序號優先調度比低序號優先調度和FIFO調度能達到更高的用戶滿意度;如果用戶對播放延遲要求較高,低序號優先調度比高序號優先調度和FIFO調度能達到更高的用戶滿意度。
結合依次發送的分段發送方法,以及根據用戶對播放流暢度和播放延遲的不同要求采取的不同的優先級分配方法,我們的分段發送調度算法可以表示如圖3所示。
權利要求
1.數據驅動覆蓋網絡中的分段發送調度方法,其特征在于,該方法是在數據驅動覆蓋網絡中按照相應的數據驅動覆蓋網絡協議實現的,所屬方法依次含有以下步驟步驟1.初始化分段提供節點運行所述數據驅動覆蓋網絡協議;步驟2.分段提供節點收到位于所述數據驅動覆蓋網絡中的分段請求節點發來的分段請求,并按照請求的分段在媒體流中的序號來分配優先級,在用戶對播放流暢度要求較高時為請求分段序列號較高的分段請求賦予較高的優先級,在用戶對播放延遲要求較高時為請求分段序列號較低的分段請求賦予較高的優先級;步驟3.該分段提供節點把各分段請求存儲在分段請求隊列中;步驟4.當分段提供節點調度分段發送時,從分段請求隊列中選擇一個優先級最高的分段請求,用分段提供節點所有的發送帶寬發送相應的分段給相應的分段請求節點;步驟5.在當前分段發送完畢后,返回步驟4,進行新一輪的分段發送調度。
全文摘要
本發明設計應用層覆蓋網絡技術領域,其特征在于,在數據驅動覆蓋網絡中,當分段提供節點收到分段請求節點發來的分段請求后,根據請求分段的序列號為分段請求分配優先級,在用戶對播放流暢度要求較高時為請求分段序列號較高的分段請求賦予較高的優先級,在用戶對播放延遲要求較高時為請求分段序列號較低的分段請求賦予較高的優先級;然后把各分段請求存儲在請求隊列中;當分段提供節點要調度這些分段去發送時,從請求隊列中選擇優先級最高的一個請求分段,用所有的發送帶寬把相應分段發送給相應的分段請求節點。這種方法能夠有效地提高流媒體播放的用戶滿意度。
文檔編號H04L12/56GK1747448SQ20051008668
公開日2006年3月15日 申請日期2005年10月21日 優先權日2005年10月21日
發明者崔勇, 李丹, 徐恪, 吳建平 申請人:清華大學