專利名稱:提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率的方法及節(jié)點的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)編碼技術(shù)領(lǐng)域,具體涉及提高基于隨機網(wǎng)絡(luò)編碼的多播 傳輸效率的方法及源節(jié)點和宿節(jié)點。
背景技術(shù):
所謂網(wǎng)絡(luò)編碼,就是指讓網(wǎng)絡(luò)中的節(jié)點不光擁有存儲轉(zhuǎn)發(fā)數(shù)據(jù)分組的能 力,還能夠?qū)π畔⑦M行編碼操作,從而能夠大幅度提高網(wǎng)絡(luò)在執(zhí)行多播應(yīng)用 時的吞吐率和帶寬利用率。
圖1給出了一個通過網(wǎng)絡(luò)編碼改善網(wǎng)絡(luò)吞吐率的網(wǎng)絡(luò)拓樸圖,如圖l所
示,假設(shè)圖中所有線路的傳輸速率均為lbit/單位時間,而節(jié)點s要利用該網(wǎng) 絡(luò)同時向節(jié)點Y和節(jié)點Z多播信息。假設(shè)某一單位時間內(nèi),S向T和U分 別發(fā)出比特bi和b2,如果每個節(jié)點都只有存儲轉(zhuǎn)發(fā)功能,則節(jié)點W只能從 b,和b2中選擇一個傳給節(jié)點X,顯然節(jié)點Y和節(jié)點Z無法同時收全b,和b2, 網(wǎng)絡(luò)提供給節(jié)點S到節(jié)點Y和Z的多播速率小于2bit/單位時間。而如果在 該網(wǎng)絡(luò)的節(jié)點中引入編碼功能,即讓節(jié)點W將bi和b2作異或運算的結(jié)果傳 給節(jié)點X,再由X將該結(jié)果分別傳給Y和Z,則節(jié)點Y可以通過該結(jié)果和 自己從節(jié)點T收到的比特求解出節(jié)點S發(fā)送給U的比特。而節(jié)點Z也可以 通過類似的方式收到S發(fā)給T的比特。從而使S向Y和Z多播的速率達到 了 2bit/單位時間。
現(xiàn)有技術(shù)已經(jīng)證明任何網(wǎng)絡(luò)中,假設(shè)在進行單播時源到各接收點 (Ti,T2,…,Tn》的最大速率分別為(MFi,MF2,…,MFn),則該源必定能夠以 min{MFm(m=l,2,...,n) }的速率同時對所有接收節(jié)點進行多播,將min{MFm (m=l,2,...,n))稱為源節(jié)點到所有宿節(jié)點的最大流中的最小值。而從圖l可
以看到,若節(jié)點不具備編碼功能,該速率min(MFm—2bit/單位時間通常是無 法達到的,而只有引入了網(wǎng)絡(luò)編碼,該速率才可以達到?,F(xiàn)有技術(shù)還證明 如果網(wǎng)絡(luò)中的節(jié)點具有數(shù)據(jù)編碼的能力,則無論在何種拓樸的網(wǎng)絡(luò)中進行多 播,理論上的min(MFm)都是可以達到的。
網(wǎng)絡(luò)編碼技術(shù)分為隨才幾網(wǎng)絡(luò)編碼和確定性網(wǎng)絡(luò)編碼兩個分支。隨才幾網(wǎng)絡(luò) 編碼是指網(wǎng)絡(luò)中所有鏈路的編碼向量都是隨時間變化的,即每個節(jié)點在得到 一次發(fā)送機會后都隨機地對已經(jīng)收到的數(shù)據(jù)進行編碼操作并且發(fā)送出去。
使用隨機網(wǎng)絡(luò)編碼的網(wǎng)絡(luò)中使用了 "代"的概念,即將數(shù)據(jù)源需要多 播到宿節(jié)點的所有原始數(shù)據(jù)塊分為若干組,除最后一組,每組含有相等數(shù)量 的原始數(shù)據(jù)塊。在整個多播過程中,節(jié)點的編碼操作都只在屬于同一組的原 始數(shù)據(jù)塊及它們進行線性組合后生成的新數(shù)據(jù)塊之間進行。稱一組原始數(shù)據(jù) 塊和由它們線性組合生成的全部新數(shù)據(jù)塊組成的集合為一代??梢?,整個多 播過程中的編碼搡作都是在屬于同 一代的數(shù)據(jù)塊之間進行的。
根據(jù)以上描述給出現(xiàn)有的基于隨機網(wǎng)絡(luò)編碼的多播流程圖,如圖2所 示,其具體步驟如下
步驟201:在多播過程開始之前,在現(xiàn)有網(wǎng)絡(luò)的基礎(chǔ)上計算出一個多播 過程使用的邏輯子拓樸。
步驟202:預(yù)先設(shè)定一個每代多播分組的代發(fā)送持續(xù)總數(shù)或者代發(fā)送持 續(xù)時長。
代發(fā)送持續(xù)總數(shù)指的是,源節(jié)點發(fā)送每代多播分組的數(shù)目稱為代發(fā)送持 續(xù)總數(shù)。例如若代發(fā)送持續(xù)總數(shù)為D,則源節(jié)點持續(xù)發(fā)送D數(shù)目的當前代 多播分組后,將轉(zhuǎn)入下一代多播分組的發(fā)送過程。
代發(fā)送持續(xù)時長指的是,源節(jié)點發(fā)送每代多播分組的持續(xù)時長稱為代發(fā) 送持續(xù)時長。例如若代發(fā)送持續(xù)時長為」f,則源節(jié)點持續(xù)發(fā)送Jf時長的 當前代多播分組后,將轉(zhuǎn)入下一代多播分組的發(fā)送過程。
本步驟中設(shè)定的代發(fā)送持續(xù)總數(shù)為d*(i///2),代發(fā)送持續(xù)時長為d*〃/z。 其中,d為每代原始數(shù)據(jù)塊的個數(shù),//為源節(jié)點所有出向鏈路的速率總和,
/為每個多播分組的長度,/2為源節(jié)點到宿節(jié)點的最大流中的最小值,該值 在構(gòu)造多播拓樸的過程中可計算得到。
步驟203:多播邏輯子拓樸中的源節(jié)點確定將要發(fā)送一個多播分組,根 據(jù)當前代多播分組的已發(fā)送數(shù)目和預(yù)先設(shè)定的代發(fā)送持續(xù)總數(shù),或者根據(jù)當 前代多播分組的已發(fā)送持續(xù)時長和預(yù)先設(shè)定的代發(fā)送持續(xù)時長,判斷是否應(yīng) 進入新的當前代,若是,執(zhí)行步驟204;否則,執(zhí)行步驟205。
具體地,若當前代多播分組的已發(fā)送數(shù)目小于預(yù)先設(shè)定的代發(fā)送持續(xù)總 數(shù),或者,當前代多播分組的已發(fā)送持續(xù)時長小于預(yù)先設(shè)定的代發(fā)送持續(xù)時 長,則源節(jié)點繼續(xù)進行當前代多播分組的發(fā)送過程;否則,源節(jié)點開始下一 代多播分組的發(fā)送過程。
步驟204:源節(jié)點將當前代的下 一代作為新的當前代。
步驟205:源節(jié)點隨機生成一個d維向量,計算該"維向量*表示本代所 有待發(fā)原始數(shù)據(jù)塊的原始數(shù)據(jù)向量,將得到的數(shù)據(jù)塊封裝入分組,將該數(shù)據(jù) 塊的代編號和生成的d維編碼向量填入分組頭部后,將該分組發(fā)送出去。
假設(shè)該子拓樸中源節(jié)點到所有宿節(jié)點最大流中的最小值是塊/單位時 間,則源節(jié)點向外發(fā)送數(shù)據(jù)的速率是塊/單位時間。
多播分組的格式如圖3所示,主要由分組頭部和分組內(nèi)容組成,其中,
分組頭部包括代編號和編碼向量如向量元素1、向量元素2.....向量
元素d,分組內(nèi)容即數(shù)據(jù)塊。
步驟206:中間節(jié)點收到多播分組,判斷該多播分組是否攜帶了新信息, 若是,執(zhí)行步驟207;否則,執(zhí)行步驟208。
判斷該分組是否攜帶了新信息的具體過程為假設(shè)在收到該分組前,該 中間節(jié)點共收到了 a個與該分組屬于同一代的分組,其中,共有6(6《d)
個分組頭部中封裝的編碼向量是線性無關(guān)的,則收到該分組之后,該分組頭 部中的編碼向量和原有分組頭部中的向量共"+l個,如果該fl+l個向量中有 6+1個向量線性無關(guān),則稱該分組攜帶了新信息。
步驟207:中間節(jié)點將該分組保存到緩存空間中,轉(zhuǎn)至步驟209。步驟208:中間節(jié)點丟棄將該分組,執(zhí)行步驟209。
步驟209:中間節(jié)點的一條出向鏈路獲得一個發(fā)送機會,中間節(jié)點將緩 存空間中的所有當前代的分組所封裝的數(shù)據(jù)塊進行一次隨機線性組合,生成 一個數(shù)據(jù)塊,并將各分組頭部中的編碼向量進行相同的隨機線性組合,得到 一個新的編碼向量,將該生成的數(shù)據(jù)塊封裝入一個分組,將當前代的代編號 和得到的新編碼向量填入該分組頭部,然后將該分組從有發(fā)送機會的鏈路發(fā) 送出去。
中間節(jié)點收到第 一個屬于當前代的下 一代的分組時,清空緩存中的當前 代分組,進入下一代分組的發(fā)送過程,即此后下一代變?yōu)樾碌漠斍按?,?后若再收到原當前代的分組,直接丟棄,不再處理。
步驟210:宿節(jié)點收到中間節(jié)點發(fā)來的攜帶代編號的多播分組,根據(jù)已 保存的與該代編號對應(yīng)的所有分組中的編碼向量和該分組中的編碼向量,判 斷是否能對該代編號對應(yīng)代的多播分組解碼成功,若是,對該代的分組進行 解碼,將得到的原始數(shù)據(jù)塊發(fā)送給上層實體;否則,繼續(xù)等待下一個多播分 組。
具體地,若宿節(jié)點已收到的與該代編號對應(yīng)代的多播分組中,包含d個 線性無關(guān)的編碼向量,則宿節(jié)點確定能夠?qū)υ摯嗖シ纸M解碼成功。
可以看出,源節(jié)點在判斷是否應(yīng)轉(zhuǎn)入新當前代分組的發(fā)送時,是根據(jù)由 源節(jié)點到各宿節(jié)點的最大流中的最小值計算得到的代發(fā)送持續(xù)總數(shù)或者代 發(fā)送持續(xù)時長判斷的。實際上,源節(jié)點持續(xù)發(fā)送多少個每代多播分組后或者 持續(xù)發(fā)送多少時長的每代多播分組后,再轉(zhuǎn)入下一代多播分組的發(fā)送,是決 定系統(tǒng)性能的一個重要因素。若持續(xù)發(fā)送的每代多播分組數(shù)過多,會造成帶 寬的浪費,而持續(xù)發(fā)送的每代多播分組數(shù)過少則會造成系統(tǒng)的可靠性下降, 甚至造成宿節(jié)點無法正確解碼。而,在多播分組傳輸過程中,網(wǎng)絡(luò)情況是不 斷變化的,網(wǎng)絡(luò)中源節(jié)點到各宿節(jié)點的最大流中的最小值也要隨之發(fā)生變 化,此時源節(jié)點應(yīng)該調(diào)整代發(fā)送持續(xù)總數(shù)。而現(xiàn)有技術(shù)中, 一旦根據(jù)構(gòu)造多 播邏輯子拓樸中得到的源節(jié)點到各宿節(jié)點的最大流中的最小值確定代持續(xù)
發(fā)送總數(shù)或代持續(xù)發(fā)送時長后,代持續(xù)發(fā)送總數(shù)或代持續(xù)發(fā)送時長將不再改 變,這就無法適應(yīng)網(wǎng)絡(luò)變化,降低了多播傳輸效率。
發(fā)明內(nèi)容
本發(fā)明實施例提供提高基于隨機編碼網(wǎng)絡(luò)的多播傳輸效率的方法及源節(jié)點 和宿節(jié)點,以提高多播傳輸效率。
本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的 一種提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率的方法,包括 源節(jié)點接收各宿節(jié)點對一代多播分組進行解碼的解碼結(jié)果信令,所述解碼 結(jié)果信令為成功解碼時的解碼成功信令或者不能成功解碼時的非解碼成功信
令;
源節(jié)點根據(jù)所述解碼結(jié)果信令,調(diào)整所述多播分組的代發(fā)送持續(xù)寬度; 源節(jié)點按照調(diào)整后的代發(fā)送持續(xù)寬度,發(fā)送后續(xù)代的多播分組。 一種提高基于隨機網(wǎng)絡(luò)編碼的傳輸效率的源節(jié)點,該源節(jié)點包括 解碼結(jié)果信令接收模塊,接收各宿節(jié)點對一代多播分組進行解碼的解碼結(jié)
果信令,所述解碼結(jié)果信令為成功解碼時的解碼成功信令或者不能成功解碼時
的非解碼成功信令,將解碼結(jié)果信令發(fā)送給代發(fā)送持續(xù)寬度調(diào)整模塊;
代發(fā)送持續(xù)寬度調(diào)整模塊,根據(jù)解碼結(jié)果信令接收模塊發(fā)來的解碼結(jié)果
信令,調(diào)整多播分組的代發(fā)送持續(xù)寬度,根據(jù)調(diào)整后的代發(fā)送持續(xù)寬度,進
行下一代多播分組的發(fā)送。
一種提高基于隨機網(wǎng)絡(luò)編碼的傳輸效率的宿節(jié)點,該宿節(jié)點包括 平均接收速率計算模塊,計算所在宿節(jié)點的所在入向鏈路接收每一代多
播分組的平均接收速率;
解碼模塊,在對一代多播分組成功解碼時,從所在宿節(jié)點的各入向鏈路
的平均接收速率計算模塊中取出各平均接收速率,將各平均接收速率相加,
將所得和值攜帶在解碼成功信令中發(fā)送給源節(jié)點。
一種提高基于隨機網(wǎng)絡(luò)編碼的傳輸效率的宿節(jié)點,該宿節(jié)點包括
代分組接收數(shù)目計數(shù)模塊,對所在宿節(jié)點接收每一代多播分組的數(shù)目進
行計數(shù);
解碼模塊,在對一代多播分組成功解碼時,從所在宿節(jié)點的代分組接收 數(shù)目計數(shù)模塊中取出已接收該代多播分組的數(shù)目,將該數(shù)目攜帶在解碼成功 信令中發(fā)送給源節(jié)點。
與現(xiàn)有技術(shù)相比,本發(fā)明實施例中,宿節(jié)點在對一代多播分組解碼成功
時,將解碼成功信令反饋給源節(jié)點;當未能對一代多播分組成功解碼時,則 將非解碼成功信令反饋給源節(jié)點,使得源節(jié)點可以及時得知多播傳輸?shù)木W(wǎng)絡(luò) 狀況,從而對多播分組的代發(fā)送持續(xù)寬度及時進行調(diào)整,從而提高了多播傳 輸效率。
圖1為現(xiàn)有的網(wǎng)絡(luò)編碼對網(wǎng)絡(luò)吞吐率改善的網(wǎng)絡(luò)拓樸示意圖; 圖2為現(xiàn)有的基于隨機網(wǎng)絡(luò)編碼的多播流程圖; 圖3為現(xiàn)有的基于隨機網(wǎng)絡(luò)編碼的多播分組的結(jié)構(gòu)示意圖; 圖4為本發(fā)明實施例一提供的提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率 的流程圖5為本發(fā)明實施例二提供的提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率 的流程圖6為本發(fā)明實施例一提供的提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率 的系統(tǒng)組成圖7為本發(fā)明實施例三提供的提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率 的流程圖8為本發(fā)明實施例四提供的提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率 的流程圖9為本發(fā)明實施例三提供的提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率 的系統(tǒng)組成圖。
具體實施例方式
下面結(jié)合附圖及具體實施例對本發(fā)明再作進一步詳細的說明。
為方便描述起見,首先給出本發(fā)明實施例所使用的主要技術(shù)用語的定
義
數(shù)據(jù)量記錄器宿節(jié)點為自己的每一條入向鏈路維護一個數(shù)據(jù)量記錄 器,用于記錄該鏈路所收到的每一代多播分組的長度C針。該長度用于與 計時器記錄的每一代多播分組的接收時長r賴^一起,估算該鏈路接收每代 多播分組時源節(jié)點到該宿節(jié)點的平均最大流K賴#。
計時器宿節(jié)點為自己的每一條入向鏈路維護一個計時器,用于記錄該 鏈路接收每代多播分組所用的時長7\錫#。該時長用于與數(shù)據(jù)量記錄器中記 錄的該鏈路所收到的該代多播分組的長度C《財一起,來估算該鏈路接收每 代多播分組時源節(jié)點到該宿節(jié)點的平均最大流r顏子。
平均接收速率記錄器宿節(jié)點為自己的每一條入向鏈路維護一個平均接 收速率記錄器,該記錄器中以K代編號的形式存儲著該鏈路接收每代多播分組
期間的平均接收速率,其中,r Y七薦矛一 C ■/代銷子。
解碼成功信令宿節(jié)點對某代多播分組成功解碼后,向源節(jié)點反饋解碼 成功信令。
信息量不足信令宿節(jié)點若在完成原當前代向新當前代轉(zhuǎn)換時,仍然未 對原當前代多播分組成功解碼,則向源節(jié)點發(fā)送指示未解碼成功的信息量不 足信令。
圖4為本發(fā)明實施例一提供的提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率 的流程圖,如圖4所示,其具體步驟如下
步驟401:源節(jié)點在自身維護一個時鐘,設(shè)時鐘的初始值為0,并初始 化代發(fā)送持續(xù)時長Zl t/*〃/z。
其中,/為每個多播分組的長度,/2為多播邏輯子拓樸中源節(jié)點到所有 宿節(jié)點的最大流中的最小值。
本步驟中,源節(jié)點也可不維護一個時鐘,而維護一個計數(shù)器,且在開始 發(fā)送每一代多播分組前,將該計數(shù)器初始化為0,此后源節(jié)點每發(fā)送一個多 播分組,計數(shù)器的值加1,且源節(jié)點初始化代發(fā)送持續(xù)總數(shù)為^(////o,其中, //為源節(jié)點所有出向鏈路的速率總和。
步驟402:宿節(jié)點為自身的每條入向鏈路分別維護一個數(shù)據(jù)量記錄器、 一個計時器和一個平均接收速率記錄器,并設(shè)定數(shù)據(jù)量記錄器的初始值 C =0,計時器的初始值7;=0,平均接收速率記錄器的初始值^=0,其中, w表示4戈編號,初始化附=1。
步驟403:源節(jié)點發(fā)送當前代的第一個多播分組,啟動時鐘。
步驟404:宿節(jié)點從一條入向鏈路收到一個多播分組,根據(jù)該多播分組 中的代編號w,判斷該入向鏈路的接收速率記錄器中是否已保存^,若是, 執(zhí)行步驟405;否則,執(zhí)行步驟406。
步驟405:宿節(jié)點在接收完該多播分組時,將數(shù)據(jù)量記錄器中已保存的 Cw加上該多播分組的長度,以得到的和值替換C^,然后計算該替換后的C^ 與計時器的計時值7^相除后的值以該^值替換平均接收速率記錄器 中已保存的4的值,轉(zhuǎn)至步驟407。
步驟406:宿節(jié)點重新啟動計時器開始計時,當該多播分組接收完畢時,
記錄該多播分組的長度0 ,計算rm=cOT/rw,其中,4為計時器的計時值,
將該^記錄在該入向鏈路的平均接收速率記錄器中,然后將所述C^記錄在 該入向鏈路的數(shù)據(jù)量記錄器中。
步驟407:宿節(jié)點判斷是否能夠?qū)υ摱嗖シ纸M所在代m成功解碼,若是, 執(zhí)行步驟408;否則,執(zhí)行步驟409。
步驟408:宿節(jié)點從自身的每條入向鏈路的平均接收速率記錄器中分別 取出rw,將取出的所有J^相加,將所得的和值放入解碼成功信令,將該信 令通過單播路由機制傳送到源節(jié)點,并從每條入向鏈路的平均接收速率記錄 器中清除^n,從每條入向鏈路的數(shù)據(jù)量記錄器中清除C^,轉(zhuǎn)至步驟412。
步驟409:宿節(jié)點判斷自身是否已完成第m代到第m+l代的轉(zhuǎn)換,若
是,執(zhí)行步驟410;否則,執(zhí)行步驟411。
若宿節(jié)點的所有入向鏈路都收到了第m+l代多播分組,或者已有一條 入向鏈路收到了第w+2代多播分組,則宿節(jié)點確定自身已完成第m代到第 w+l代的轉(zhuǎn)換。
步驟410:宿節(jié)點根據(jù)已接收到的所有第m代的多播分組中的編碼向量, 計算成功解碼還需的編碼向量,將計算得到的編碼向量攜帶在信息量不足信 令中發(fā)送給源節(jié)點,并從每條入向鏈路的平均接收速率記錄器中清除^, 從每條入向鏈路的數(shù)據(jù)量記錄器中清除Cw,轉(zhuǎn)至步驟412。
步驟411:宿節(jié)點等待下一個多播分組,轉(zhuǎn)至步驟404。
步驟412:源節(jié)點接收到宿節(jié)點發(fā)來的控制信令,判斷該信令為解碼成 功信令還是信息量不足信令,若為解碼成功信令,執(zhí)行步驟414;若為信息 量不足信令,執(zhí)行步驟4B。
步驟413:源節(jié)點根據(jù)信息量不足信令中攜帶的代編號,從自身取出與 該代編號對應(yīng)的原始數(shù)據(jù)塊,然后將該信息量不足信令中攜帶的解碼成功還 需的編碼向量與原始數(shù)據(jù)塊分別相乘,將得到的每個數(shù)據(jù)塊放入一個多播分 組,將各多播分組通過單播路由機制發(fā)送給宿節(jié)點。
步驟414:源節(jié)點判斷是否已收齊所有宿節(jié)點發(fā)來的第m代的控制信令 解碼成功信令或信息量不足信令,若是,執(zhí)行步驟416;否則,執(zhí)行步驟415。
步驟415:源節(jié)點繼續(xù)等待下一個控制信令,轉(zhuǎn)至步驟412。
步驟416:源節(jié)點判斷是否所有宿節(jié)點發(fā)來的控制信令都為解碼成功信 令,若是,執(zhí)行步驟417;否則,執(zhí)行步驟418。
步驟417:源節(jié)點調(diào)整代發(fā)送持續(xù)時長<formula>formula see original document page 15</formula>轉(zhuǎn)至 步驟419。
其中,Jf'為調(diào)整后的代發(fā)送持續(xù)時長;d為每代原始數(shù)據(jù)塊的數(shù)目; /為每個多播分組的長度,其單位與Cn相同;v為各解碼成功信令中所包含 的^的最小值;為源節(jié)點的所有出向鏈路的速率總和;A:為常數(shù),且&0, A:的作用是平衡系統(tǒng)的吞吐率和實時性之間的矛盾,當^0時,系統(tǒng)的吞吐
率最大,k每增大l,源節(jié)點在發(fā)送每代多播分組時將多發(fā)送一個多播分組。
若步驟401中,源節(jié)點對代發(fā)送持續(xù)總數(shù)進行了初始化,則本步驟中, 源節(jié)點在調(diào)整完代發(fā)送持續(xù)時長后,可進一步計算<formula>formula see original document page 16</formula>,其中,
」壙為調(diào)整后的代發(fā)送持續(xù)總數(shù),為向上取整運算符。
步驟418:源節(jié)點調(diào)整代發(fā)送持續(xù)時長<formula>formula see original document page 16</formula>
其中,zU為當前代發(fā)送持續(xù)時長,w為各信息量不足信令中所包含的 成功解碼還需的編碼向量的最大個數(shù),其余各變量的含義與步驟417相同。
同樣,若步驟401中,源節(jié)點對代發(fā)送持續(xù)總數(shù)進行了初始化,則本步 驟中,源節(jié)點在調(diào)整完代發(fā)送持續(xù)時長后,可進一步計算」<formula>formula see original document page 16</formula> 其中,」e'為調(diào)整后的代發(fā)送持續(xù)總數(shù),廠V為向上取整運算符。
步驟419:源節(jié)點檢測到時鐘值等于Z1/,則確定當前代多播分組發(fā)送過 程結(jié)束,令Jezir;并在發(fā)送當前代的下一代即新當前代的第一個多播 分組時,重新啟動時鐘,轉(zhuǎn)至步驟404。
若步驟401中,源節(jié)點對代發(fā)送持續(xù)總數(shù)進行了初始化,則本步驟為 源節(jié)點檢測到計數(shù)器值等于調(diào)整前的代發(fā)送持續(xù)總數(shù)Je,則確定當前代多 播分組發(fā)送過程結(jié)束,令」^」e';并在發(fā)送當前代的下一代即新當前代 的第一個多播分組時,重新啟動計數(shù)器,轉(zhuǎn)至步驟404。
在網(wǎng)絡(luò)傳輸時延較大或者源節(jié)點到宿節(jié)點距離較遠的多播邏輯子拓樸 中,很可能出現(xiàn)源節(jié)點根據(jù)第《代控制信令進行代發(fā)送持續(xù)時長」f的調(diào)整 后,已經(jīng)在進行第《+^^l)代分組的發(fā)送過程了。這樣,在收到第《+A:代控 制信令前,源節(jié)點還將收到第《+l到第《+A:-l代的控制信令,而顯然這些控 制信令不能反映調(diào)整后的宿節(jié)點的接收情況,因此不能根據(jù)這些控制信令進 行代發(fā)送持續(xù)時長的調(diào)整。以下給出本發(fā)明實現(xiàn)動態(tài)調(diào)整發(fā)送持續(xù)時長的實 施例二
圖5為本發(fā)明實施例二提供的提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率 的流程圖,如圖5所示,其具體步驟如下 步驟501 511與步驟401~411相同。
步驟512:源節(jié)點收到宿節(jié)點發(fā)來的控制信令,判斷該控制信令是否為 信息量不足信令,若是,執(zhí)行步驟513;否則,執(zhí)行步驟514。
步驟513:源節(jié)點將該信息量不足信令中攜帶的解碼成功還需的編碼向 量與原始數(shù)據(jù)塊分別相乘,將得到的每個數(shù)據(jù)塊放入一個多播分組,將各多 播分組通過單播路由機制發(fā)送給宿節(jié)點。
步驟514:源節(jié)點判斷該控制信令中的代編號是否與自身已記錄的代編 號"相同,若是,執(zhí)行步驟515;否則,繼續(xù)等待下一個控制信令,轉(zhuǎn)至步 驟512。
步驟515:源節(jié)點判斷是否已收齊所有宿節(jié)點發(fā)來的與已記錄的代編號 "對應(yīng)的控制信令,若是,執(zhí)行步驟517;否則,執(zhí)行步驟516。
步驟516:源節(jié)點繼續(xù)等待下一個控制信令,轉(zhuǎn)至步驟512。
步驟517:源節(jié)點判斷是否所有控制信令都為解碼成功信令,若是,執(zhí) 行步驟518;否則,執(zhí)行步驟519。
步驟518:源節(jié)點調(diào)整代發(fā)送持續(xù)時長<formula>formula see original document page 17</formula>,并更 新 n=/ +1,轉(zhuǎn)至步驟520。
其中,Jf的計算公式中的各變量的含義與步驟417相同,p為源節(jié)點 正在發(fā)送的多播分組所屬代的代編號。
步驟519:源節(jié)點調(diào)整代發(fā)送持續(xù)時長<formula>formula see original document page 17</formula>,并更新w=p+l。
其中,的計算公式中的各變量的含義與步驟418相同,/7為源節(jié)點 正在發(fā)送的多播分組所屬代的代編號。
步驟520:源節(jié)點檢測到時鐘值等于J"則確定當前代多播分組發(fā)送過 程結(jié)束,令」t」f';并在發(fā)送當前代的下一代即新當前代的第一個多播 分組時,重新啟動時鐘,轉(zhuǎn)至步驟504。
圖6為本發(fā)明實施例一提供的提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率 的系統(tǒng)組成圖,如圖6所示,其主要包括宿節(jié)點和源節(jié)點,其中
宿節(jié)點包括平均接收速率計算模塊61、解碼模塊62和缺失編碼向量
計算模塊63, 一個宿節(jié)點的一條入向鏈路對應(yīng)一個平均接收速率計算模塊 61,每個宿節(jié)點具有一個解碼模塊62和一個缺失編碼向量計算模塊63,各 模塊的功能具體如下
平均接收速率計算模塊61:計算所在入向鏈路接收每一代多播分組的平均 接收速率。
解碼模塊62:接收到多播分組,判斷是否能夠?qū)υ摱嗖シ纸M成功解碼,若 是,則從與所在宿節(jié)點的各入向鏈路對應(yīng)的各平均接收速率計算模塊61中獲取 所在宿節(jié)點的每條入向鏈路接收該代多播分組的平均接收速率,將各平均接收 速率相加得到該宿節(jié)點接收該代多播分組的平均接收速率,將該宿節(jié)點接收該 代多播分組的平均接收速率發(fā)送給源節(jié)點;否則,判斷是否已完成從該多播分 組所在代到下一代的轉(zhuǎn)換,若已完成,則將該多播分組所在代的代編號發(fā)送給 缺失編碼向量計算模塊63,接收缺失編碼向量計算模塊63發(fā)來的成功解碼該 代多播分組還需的編碼向量,將該編碼向量攜帶在信息量不足信令中發(fā)送給源 節(jié)點;若未完成,則繼續(xù)等待該代的下一個多播分組。
缺失編碼向量計算模塊63:用于在接收到解碼模塊62發(fā)來的代編號后, 根據(jù)所在宿節(jié)點已接收到的與該代編號對應(yīng)的多播分組,計算成功解碼該代多 播分組還需的編碼向量,將該編碼向量發(fā)送給解碼模塊62。
源節(jié)點包括解碼結(jié)果信令接收模塊64和代發(fā)送持續(xù)時長調(diào)整模塊65, 其中
解碼結(jié)果信令接收模塊64:接收各宿節(jié)點發(fā)來的解碼成功信令和信息 量不足信令,將該解碼成功信令或信息量不足信令發(fā)送給代發(fā)送持續(xù)時長調(diào) 整模塊65。
代發(fā)送持續(xù)時長調(diào)整模塊65:接收解碼結(jié)果信令接收模塊64發(fā)來的解 碼成功信令和信息量不足信令,當確定已經(jīng)收齊宿節(jié)點發(fā)來的針對一代多播 分組的解碼結(jié)果信令解碼成功信令和/或信息量不足信令后,判斷宿節(jié)點 發(fā)來的針對該代多播分組的解碼結(jié)果信令是否都為解碼成功信令,若是,根 據(jù)各解碼成功信令中的各宿節(jié)點的平均接收速率,調(diào)整當前代發(fā)送持續(xù)時
長;否則,根據(jù)各信息量不足信令中的成功解碼還需的編碼向量的個數(shù),調(diào) 整當前代發(fā)送持續(xù)時長。根據(jù)調(diào)整后的代發(fā)送持續(xù)時長,進行下一代多播分 組的發(fā)送。
代發(fā)送持續(xù)時長調(diào)整模塊65也可以代發(fā)送持續(xù)總數(shù)調(diào)整模塊代替,代 發(fā)送持續(xù)總數(shù)調(diào)整模塊用于,接收解碼結(jié)果信令接收模塊64發(fā)來的解碼成 功信令或信息量不足信令,當確定已經(jīng)收齊宿節(jié)點發(fā)來的針對一代多播分組 的解碼結(jié)果信令解碼成功信令或信息量不足信令后,判斷宿節(jié)點發(fā)來的針 對該代多播分組的解碼結(jié)果信令是否都為解碼成功信令,若是,根據(jù)各解碼 成功信令中的各宿節(jié)點的平均接收速率,調(diào)整當前代發(fā)送持續(xù)總數(shù);否則, 根據(jù)各信息量不足信令中的成功解碼還需的編碼向量的個數(shù),調(diào)整當前代發(fā) 送持續(xù)總數(shù)。根據(jù)調(diào)整后的代發(fā)送持續(xù)總數(shù),進行下一代多播分組的發(fā)送。
如圖6所示,平均接收速率計算模塊61主要包括分組長度記錄模塊 611、接收時長計時模塊612和平均接收速率確定模塊613,其中
分組長度記錄模塊611:用于記錄所在入向鏈路接收到的每一代多播分 組的長度。
接收時長計時模塊612:用于對所在入向鏈路接收每一代多播分組所花 費的時長進行計時.
平均接收速率確定模塊613:每接收完一代的一個多播分組時,計算分 組長度記錄模塊611中的該代多播分組長度與接收時長計時模塊612中的該 代多播分組的計時值的商,以該商值更新自身保存的該代多播分組的平均接 收速率值。
如圖6所示,源節(jié)點還可包括調(diào)整代編號記錄模塊66,用于記錄調(diào) 整代發(fā)送持續(xù)時長所針對的多播分組的代編號。
且,代發(fā)送持續(xù)時長調(diào)整模塊65在調(diào)整完當前代發(fā)送持續(xù)時長后,獲 取當前正在發(fā)送的多播分組的代編號,確定將要發(fā)送的下一代多播分組的代 編號,將該下一代的代編號記錄在調(diào)整代編號記錄模塊66中。
且,代發(fā)送持續(xù)時長調(diào)整模塊65在確定已收齊宿節(jié)點發(fā)來的針對調(diào)整代編號記錄模塊66中記錄的代編號的多播分組的解碼結(jié)果信令解碼成功 信令和/或信息量不足信令后,根據(jù)與該代編號對應(yīng)的解碼結(jié)果信令調(diào)整與 該代編號對應(yīng)代的代發(fā)送持續(xù)時長。
圖7為本發(fā)明實施例三提供的提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率 的流程圖,如圖7所示,其具體步驟如下
步驟701:源節(jié)點初始化代發(fā)送持續(xù)總數(shù)為D=d*(////z)。
步驟702:宿節(jié)點為接收到的每一代多播分組分別維護一個代接收分組 數(shù)目計數(shù)器A^,,,并初始化L ,=0。
其中,w為代編號,/為宿節(jié)點編號。
步驟703:源節(jié)點確定要發(fā)送多播分組,判斷已發(fā)送的當前代的多播分 組數(shù)目是否小于D,若是,執(zhí)行步驟705;否則,執(zhí)行步驟704。 步驟704:源節(jié)點將當前代的下一代作為新的當前代。 步驟705:源節(jié)點構(gòu)造多播分組,并發(fā)送出去。
步驟706:宿節(jié)點/從一條入向鏈路收到一個多播分組,根據(jù)該多播分 組中攜帶的代編號w,將自身為第w代多播分組維護的調(diào)整為A^,尸A^ 汁l。
步驟707:宿節(jié)點/判斷是否能夠?qū)υ摱嗖シ纸M所在代m成功解碼,若 是,執(zhí)行步驟708;否則,執(zhí)行步驟709。
步驟708:宿節(jié)點M夸攜帶A^.,的解碼成功信令傳送到源節(jié)點,轉(zhuǎn)至步 驟712。
步驟709:宿節(jié)點/判斷自身是否已完成第m代到第m+l代的轉(zhuǎn)換,若 是,執(zhí)行步驟710;否則,執(zhí)行步驟711。
步驟710:宿節(jié)點z'根據(jù)已接收到的所有第m代的多播分組中的編碼向 量,計算成功解碼還需的編碼向量,將計算得到的編碼向量和攜帶在 信息量不足信令中發(fā)送給源節(jié)點,轉(zhuǎn)至步驟712。
步驟711:宿節(jié)點z'等待下一個多播分組,轉(zhuǎn)至步驟706。
步驟712:源節(jié)點接收到宿節(jié)點/發(fā)來的控制信令,判斷該信令為解碼
成功信令還是信息量不足信令,若為解碼成功信令,執(zhí)行步驟714;若為信 息量不足信令,執(zhí)行步驟713。
步驟713:源節(jié)點根據(jù)信息量不足信令中攜帶的代編號,從自身取出與 該代編號對應(yīng)的原始數(shù)據(jù)塊,然后將該信息量不足信令中攜帶的解碼成功還 需的編碼向量與原始數(shù)據(jù)塊分別相乘,將得到的每個數(shù)據(jù)塊放入一個多播分 組,將各多播分組通過單播路由機制發(fā)送給宿節(jié)點/。
步驟714:源節(jié)點判斷是否已收齊所有宿節(jié)點發(fā)來的第w代的控制信令 解碼成功信令或信息量不足信令,若是,執(zhí)行步驟716;否則,執(zhí)行步驟715。
步驟715:源節(jié)點繼續(xù)等待下一個控制信令,轉(zhuǎn)至步驟712。
步驟716:源節(jié)點判斷是否所有宿節(jié)點發(fā)來的控制信令都為解碼成功信 令,若是,執(zhí)行步驟717;否則,執(zhí)行步驟718。
步驟717:源節(jié)點調(diào)整代發(fā)送持續(xù)總數(shù)£>= D-l或Z>M"jc ( ), 本流程結(jié)束。
其中,Max ()表示取最大值。
步驟718:源節(jié)點調(diào)整代發(fā)送持續(xù)總數(shù)<formula>formula see original document page 21</formula>
其中,4,,,表示第f個宿節(jié)點發(fā)來的攜帶代編號m的信息量不足信令中 攜帶的解碼成功還需的編碼向量的數(shù)目。
圖8為本發(fā)明實施例四提供的提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率 的流程圖,如圖8所示,其具體步驟如下
步驟801 811與步驟701-711相同。
步驟812:源節(jié)點收到宿節(jié)點發(fā)來的控制信令,判斷該控制信令是否為 信息量不足信令,若是,執(zhí)行步驟813;否則,執(zhí)行步驟814。
步驟813:源節(jié)點將該信息量不足信令中攜帶的解碼成功還需的編碼向 量與原始數(shù)據(jù)塊分別相乘,將得到的每個數(shù)據(jù)塊放入一個多播分組,將各多 播分組通過單播路由機制發(fā)送給宿節(jié)點。
步驟814:源節(jié)點判斷該控制信令中的代編號是否與自身已記錄的代編
號w相同,若是,執(zhí)行步驟815;否則,執(zhí)行步驟816。
步驟815:源節(jié)點判斷是否已收齊所有宿節(jié)點發(fā)來的與已記錄的代編號 w對應(yīng)的控制信令,若是,執(zhí)行步驟817;否則,執(zhí)行步驟816。
步驟816:源節(jié)點繼續(xù)等待下一個控制信令,轉(zhuǎn)至步驟812。
步驟817:源節(jié)點判斷是否所有控制信令都為解碼成功信令,若是,執(zhí) 行步驟818;否則,執(zhí)行步驟819。
步驟818:源節(jié)點調(diào)整代發(fā)送持續(xù)總數(shù)/)= D-1或》M"x ( A^,,.), 本流程結(jié)束。
其中,M"jc ()表示取最大值。
步驟819:源節(jié)點調(diào)整代發(fā)送持續(xù)總數(shù)Z^D+Max( ,,)或Z> D *Max (c(7 "- i m,',.))或D= Z) *Max ( i m, ),.)。
其中,i^,.,表示第/個宿節(jié)點發(fā)來的攜帶代編號m的信息量不足信令中 攜帶的解碼成功還需的編碼向量的數(shù)目。
圖9為本發(fā)明實施例三提供的提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率 的系統(tǒng)組成圖,如圖9所示,其主要包括宿節(jié)點和源節(jié)點,其中
宿節(jié)點包括代分組接收數(shù)目計數(shù)模塊91、解碼模塊92、缺失編碼向 量計算模塊93, 一個宿節(jié)點對應(yīng)一個代分組接收數(shù)目計數(shù)模塊91,每個宿 節(jié)點具有一個解碼模塊92和一個缺失編碼向量計算模塊93,各模塊的功能 具體如下
代分組接收數(shù)目計數(shù)模塊91:統(tǒng)計所在宿節(jié)點接收每一代多播分組的數(shù)目。
解碼模塊92:接收到多播分組,判斷是否能夠?qū)υ摱嗖シ纸M成功解碼,若 是,則從所在宿節(jié)點的代分組接收數(shù)目計數(shù)模塊91中獲取所在宿節(jié)點接收該代 多播分組的代分組接收數(shù)目,將該數(shù)目和代編號攜帶在解碼成功信令中發(fā)送給 源節(jié)點;否則,判斷是否已完成從該多播分組所在代到下一代的轉(zhuǎn)換,若已完 成,則從所在宿節(jié)點的代分組接收數(shù)目計數(shù)模塊91中獲取所在宿節(jié)點接收該代 多播分組的代分組接收數(shù)目,并向缺失編碼向量計算模塊93發(fā)送該代多播分組
的代編號,接收缺失編碼向量計算模塊93發(fā)來的成功解碼該代多播分組還需的 編碼向量,將該數(shù)目、該編碼向量和代編號攜帶在信息量不足信令中發(fā)送給源 節(jié)點;若未完成,則繼續(xù)等待該代的下一個多播分組。
缺失編碼向量計算模塊93:用于在接收到解碼模塊92發(fā)來的代編號后, 根據(jù)所在宿節(jié)點已接收到的與該代編號對應(yīng)的多播分組,計算成功解碼該代多 播分組還需的編碼向量,將該編碼向量發(fā)送給解碼模塊92。
源節(jié)點包括解碼結(jié)果信令接收模塊94和代發(fā)送持續(xù)總數(shù)調(diào)整^^莫塊95, 其中
解碼結(jié)果信令接收模塊94:接收各宿節(jié)點發(fā)來的解碼成功信令和信息量 不足信令,將該解碼成功信令或信息量不足信令發(fā)送給代發(fā)送持續(xù)總數(shù)調(diào)整 模塊95。
代發(fā)送持續(xù)總數(shù)調(diào)整模塊95:接收解碼結(jié)果信令接收模塊94發(fā)來的解 碼成功信令或信息量不足信令,當確定已經(jīng)收齊宿節(jié)點發(fā)來的針對一代多播 分組的解碼結(jié)果信令解碼成功信令或信息量不足信令后,判斷宿節(jié)點發(fā)來 的針對該代多播分組的解碼結(jié)果信令是否都為解碼成功信令,若是,根據(jù)各 解碼成功信令中的各宿節(jié)點的該代分組接收數(shù)目,調(diào)整當前代發(fā)送持續(xù)總 數(shù);否則,根據(jù)各信息量不足信令中的成功解碼還需的編碼向量的個數(shù)和/ 或代分組接收數(shù)目,調(diào)整當前代發(fā)送持續(xù)總數(shù)。根據(jù)調(diào)整后的代發(fā)送持續(xù)總 數(shù),進行下一代多播分組的發(fā)送。
另外,本實施例中的源節(jié)點還可包括調(diào)整代編號記錄模塊96,用于 記錄調(diào)整代發(fā)送持續(xù)總數(shù)所針對的多播分組的代編號。
且,代發(fā)送持續(xù)總數(shù)調(diào)整模塊95在調(diào)整完當前代發(fā)送持續(xù)總數(shù)后,獲 取當前正在發(fā)送的多播分組的代編號,確定將要發(fā)送的下一代多播分組的代 編號,將該下一代的代編號記錄在調(diào)整代編號記錄模塊96中。
且,代發(fā)送持續(xù)總數(shù)調(diào)整模塊95在確定已收齊宿節(jié)點發(fā)來的針對調(diào)整 代編號記錄模塊96中記錄的代編號的多播分組的解碼結(jié)果信令后,根據(jù)與 該代編號對應(yīng)的解碼結(jié)果信令調(diào)整與該代編號對應(yīng)代的代發(fā)送持續(xù)總數(shù)。
從圖4 6所示實施例可以看出,當所有宿節(jié)點能夠?qū)δ骋淮亩嗖シ纸M 成功解碼時,源節(jié)點根據(jù)各宿節(jié)點接收該代多播分組的最小接收速率,減少 代發(fā)送持續(xù)時長,從而減少了冗余多播分組的發(fā)送;當只有部分宿節(jié)點或者 沒有任何宿節(jié)點能夠?qū)δ?一代多播分組成功解碼時,源節(jié)點則根據(jù)不能成功 解碼的各宿節(jié)點發(fā)來的成功解碼還需的最大編碼向量的個數(shù),增加代發(fā)送持
續(xù)時長,從而提高了成功解碼的概率,提高了多播傳輸可靠性。
從圖7 9所示實施例可以看出,當所有宿節(jié)點能夠?qū)δ骋淮亩嗖シ纸M 成功解碼時,源節(jié)點根據(jù)各宿節(jié)點接收該代多播分組的數(shù)目,減少代發(fā)送持 續(xù)總數(shù),從而減少了冗余多播分組的發(fā)送;當只有部分宿節(jié)點或者沒有任何 宿節(jié)點能夠?qū)δ?一代多播分組成功解碼時,源節(jié)點則根據(jù)不能成功解碼的各 宿節(jié)點發(fā)來的成功解碼還需的最大編碼向量的個數(shù)和/或接收該代多播分組 的數(shù)目,增加代發(fā)送持續(xù)時長,從而提高了成功解碼的概率,提高了多播傳 輸可靠性。
持續(xù)寬度。
以上所述僅為本發(fā)明的過程及方法實施例,并不用以限制本發(fā)明,凡在 本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均應(yīng)包含在 本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1、一種提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率的方法,其特征在于,包括源節(jié)點接收各宿節(jié)點對一代多播分組進行解碼的解碼結(jié)果信令,所述解碼結(jié)果信令為成功解碼時的解碼成功信令或者不能成功解碼時的非解碼成功信令;
2、 如權(quán)利要求l所述的方法,其特征在于,所述源節(jié)點接收解碼成功信令 之前進一步包括宿節(jié)點從一條入向鏈路接收到多播分組,計算該入向鏈路接收該多播分組 所在代的多播分組的平均接收速率;且,當宿節(jié)點對一代多播分組成功解碼時,宿節(jié)點計算自身所有入向鏈路 接收該代多播分組的平均接收速率和,將該平均接收速率和攜帶在解碼成功信 令中發(fā)送給源節(jié)點;所述源節(jié)點調(diào)整所述多播分組的代發(fā)送持續(xù)寬度為當源節(jié)點確定已收齊 所有宿節(jié)點發(fā)來的針對一代多播分組的解碼成功信令時,則根據(jù)各解碼成功信 令中的平均接收速率和調(diào)整代發(fā)送持續(xù)寬度。
3、 如權(quán)利要求2所述的方法,其特征在于,所述代發(fā)送持續(xù)寬度以時長表示,所述源節(jié)點調(diào)整多播分組的代發(fā)送持續(xù)寬度包括 源節(jié)點計算^^'=^/*//計^ (〃//),其中,」,'為調(diào)整后的代發(fā)送持續(xù)寬度;d為每代原始數(shù)據(jù)塊的數(shù)目; /為每個多播分組的長度;v為各解碼成功信令中的平均接收速率和中的最 小值;//為源節(jié)點的所有出向鏈路的速率總和;&為常數(shù),且松0。
4、 如權(quán)利要求l所述的方法,其特征在于,所述源節(jié)點接收非解碼成功信 令之前進一步包括宿節(jié)點確定不能對一代多播分組成功解碼,計算成功解碼該代多播分組還 需的編碼向量,將該成功解碼還需的編碼向量攜帶在非解碼成功信令中發(fā)送給源節(jié)點;所述源節(jié)點調(diào)整所述多播分組的代發(fā)送持續(xù)寬度為當源節(jié)點確定已收齊 所有宿節(jié)點發(fā)來的針對一代多播分組的解碼結(jié)果信令時,則根據(jù)各非解碼成功信令中的成功解碼還需的編碼向量調(diào)整代發(fā)送持續(xù)寬度。
5、 如權(quán)利要求4所述的方法,其特征在于,所述代發(fā)送持續(xù)寬度以時長表示,所述源節(jié)點調(diào)整多播分組的代發(fā)送持續(xù)寬度包括 源節(jié)點計算^^'=/1 * (t// ) ,其中,為調(diào)整后的代發(fā)送持續(xù)寬度;A為當前的代發(fā)送持續(xù)寬度, d為每代原始數(shù)據(jù)塊的數(shù)目;"為各非解碼成功信令中攜帶的成功解碼還需 的編碼向量的最大數(shù)目,/為每個多播分組的長度;i7為源節(jié)點的所有出向 鏈路的速率總和;A:為常數(shù),且fe0。
6、 如權(quán)利要求4所述的方法,其特征在于,所述代發(fā)送持續(xù)寬度以數(shù)目表示,所述源節(jié)點調(diào)整多播分組的代發(fā)送持續(xù)寬度包括源節(jié)點計算Z^D+Max ( i^,,,)或D= D *Max (( d- ));其中,D為代發(fā)送持續(xù)寬度;i M,,表示第!'個宿節(jié)點發(fā)來的針對第m代多播分組的非解碼成功信令中攜帶的解碼成功還需的編碼向量的數(shù)目;d為原始數(shù)據(jù)塊的數(shù)目;M"x ()表示取最大值。
7、 如權(quán)利要求l所述的方法,其特征在于,所述源節(jié)點接收解碼成功信令 之前進一步包括宿節(jié)點接收到多播分組,計算自身已接收到該多播分組所在代的多播分組 的數(shù)目,且在確定對一代多播分組成功解碼時,將該宿節(jié)點已接收該代多播分 組的數(shù)目攜帶在解碼成功信令中發(fā)送給源節(jié)點;所述源節(jié)點調(diào)整多播分組的代發(fā)送持續(xù)寬度為當源節(jié)點確定已收齊所有 宿節(jié)點發(fā)來的針對一代多播分組的解碼成功信令時,根據(jù)各解碼成功信令中攜 帶的已接收該代多播分組的數(shù)目調(diào)整所述多播分組的代發(fā)送持續(xù)寬度。
8、 如權(quán)利要求7所述的方法,其特征在于,所述代發(fā)送持續(xù)寬度以數(shù)目表示,所述源節(jié)點調(diào)整多播分組的代發(fā)送持續(xù)寬度包括源節(jié)點將各解碼成功 信令中攜帶的已接收該代多播分組的數(shù)目的最大值作為調(diào)整后的代發(fā)送持續(xù)寬度。
9、 如權(quán)利要求l所述的方法,其特征在于,所述源節(jié)點接收非解碼成功信 令之前進一步包括宿節(jié)點接收到多播分組,計算自身已接收到該多播分組所在代的多播分組 的數(shù)目;當宿節(jié)點不能對一代多播分組成功解碼時,計算成功解碼該代多播分組還 需的編碼向量,將該成功解碼還需的編碼向量和已接收該代多播分組的數(shù)目攜 帶在非解碼成功信令中發(fā)送給源節(jié)點;所述源節(jié)點調(diào)整多播分組的代發(fā)送持續(xù)寬度為當源節(jié)點確定已收齊所有 宿節(jié)點發(fā)來的針對一代多播分組的解碼結(jié)果信令時,根據(jù)各非解碼成功信令中 攜帶的成功解碼還需的編碼向量和已接收該代多播分組的數(shù)目調(diào)整代發(fā)送持續(xù) 寬度。
10、 如權(quán)利要求9所述的方法,其特征在于,所述代發(fā)送持續(xù)寬度以數(shù)目 表示,所述源節(jié)點調(diào)整多播分組的代發(fā)送持續(xù)寬度包括 源節(jié)點計算Z> D( n,,+ i 附,,,)/7V附,,);其中,D為代發(fā)送持續(xù)寬度;,表示第!'個宿節(jié)點發(fā)來的針對第m代 多播分組的非解碼成功信令中攜帶的解碼成功還需的編碼向量的數(shù)目;, 表示第/個宿節(jié)點發(fā)來的針對第w代多播分組的非解碼成功信令中攜帶的已 接收該代多播分組的數(shù)目;d為原始數(shù)據(jù)塊的數(shù)目;Ma;c ()表示取最大值。
11、 如權(quán)利要求l所述的方法,其特征在于,所述源節(jié)點調(diào)整多播分組 的代發(fā)送持續(xù)寬度之后進一步包括源節(jié)點記錄正在發(fā)送的多播分組所屬代 的下一代的代標識;所述源節(jié)點調(diào)整多播分組的代發(fā)送持續(xù)寬度包括源節(jié)點根據(jù)宿節(jié)點發(fā) 來的與所記錄的代標識對應(yīng)的解碼結(jié)果信令,調(diào)整多播分組的代發(fā)送持續(xù)寬度。
12、 一種提高基于隨機網(wǎng)絡(luò)編碼的傳輸效率的源節(jié)點,其特征在于,該 源節(jié)點包括解碼結(jié)果信令接收模塊,接收各宿節(jié)點對一代多播分組進行解碼的解碼結(jié) 果信令,所述解碼結(jié)果信令為成功解碼時的解碼成功信令或者不能成功解碼時 的非解碼成功信令,將解碼結(jié)果信令發(fā)送給代發(fā)送持續(xù)寬度調(diào)整模塊;代發(fā)送持續(xù)寬度調(diào)整模塊,根據(jù)解碼結(jié)果信令接收模塊發(fā)來的解碼結(jié)果 信令,調(diào)整多播分組的代發(fā)送持續(xù)寬度。
13、 如權(quán)利要求12所述的源節(jié)點,其特征在于,所述源節(jié)點進一步包括調(diào)整代標識記錄模塊,用于記錄調(diào)整代發(fā)送持續(xù)寬度所針對的代標識; 所述代發(fā)送持續(xù)寬度調(diào)整模塊在確定已收齊宿節(jié)點發(fā)來的針對調(diào)整代 標識記錄模塊中記錄的代標識對應(yīng)代的多播分組的解碼結(jié)果信令后,根據(jù)該 代標識對應(yīng)的解碼結(jié)果信令,調(diào)整多播分組的代發(fā)送持續(xù)寬度,調(diào)整完畢, 獲取當前正在發(fā)送的多播分組的代標識,根據(jù)該代標識確定將要發(fā)送的下一 代多播分組的代標識,將該下一代的代標識記錄在調(diào)整代標識記錄模塊中。
14、 一種提高基于隨機網(wǎng)絡(luò)編碼的傳輸效率的宿節(jié)點,其特征在于,該 宿節(jié)點包括平均接收速率計算模塊,計算所在宿節(jié)點的所在入向鏈路接收每一代多 播分組的平均接收速率;解碼模塊,在對一代多播分組成功解碼時,從所在宿節(jié)點的各入向鏈路 的平均接收速率計算模塊中取出各平均接收速率,將各平均接收速率相加, 將所得和值攜帶在解碼成功信令中發(fā)送給源節(jié)點。
15、 如權(quán)利要求14所述的宿節(jié)點,其特征在于,該宿節(jié)點進一步包括 缺失編碼向量計算模塊,接收解碼模塊發(fā)來的代標識,計算成功解碼與該代標識對應(yīng)代的多播分組還需的編碼向量,將該編碼向量發(fā)送給解碼模塊;且,解碼模塊在不能對一代多播分組成功解碼時,將該代多播分組的代 標識發(fā)送給缺失編碼向量計算模塊,接收缺失編碼向量計算模塊發(fā)來的編碼 向量,將該編碼向量攜帶在非解碼成功信令中發(fā)送給源節(jié)點。
16、 一種提高基于隨機網(wǎng)絡(luò)編碼的傳輸效率的宿節(jié)點,其特征在于,該 宿節(jié)點包括代分組接收數(shù)目計數(shù)模塊,對所在宿節(jié)點接收每一代多播分組的數(shù)目進 行計數(shù);解碼模塊,在對一代多播分組成功解碼時,從所在宿節(jié)點的代分組接收 數(shù)目計數(shù)模塊中取出已接收該代多播分組的數(shù)目,將該數(shù)目攜帶在解碼成功 信令中發(fā)送給源節(jié)點。
17、 如權(quán)利要求16所述的宿節(jié)點,其特征在于,該宿節(jié)點進一步包括 缺失編碼向量計算模塊,接收解碼模塊發(fā)來的代標識,計算成功解碼與該代 標識對應(yīng)代的多播分組還需的編碼向量,將該編碼向量發(fā)送給解碼模塊;且,解碼模塊在不能對一代多播分組成功解碼時,從所在宿節(jié)點的代分 組接收數(shù)目計數(shù)模塊中取出已接收該代多播分組的數(shù)目,并將該代多播分組 的代標識發(fā)送給缺失編碼向量計算模塊,接收缺失編碼向量計算模塊發(fā)來的 編碼向量,將該編碼向量和所述已接收該代多播分組的數(shù)目攜帶在非解碼成功信令中發(fā)送給源節(jié)點。
全文摘要
本發(fā)明公開了提高基于隨機網(wǎng)絡(luò)編碼的多播傳輸效率的方法和源節(jié)點、宿節(jié)點。源節(jié)點接收各宿節(jié)點對一代多播分組進行解碼的解碼結(jié)果信令,所述解碼結(jié)果信令為成功解碼時的解碼成功信令或者不能成功解碼時的非解碼成功信令;源節(jié)點根據(jù)所述解碼結(jié)果信令,調(diào)整所述多播分組的代發(fā)送持續(xù)寬度。本發(fā)明使得源節(jié)點可以及時得知多播傳輸?shù)木W(wǎng)絡(luò)狀況,從而對多播分組的代發(fā)送持續(xù)寬度及時進行調(diào)整,從而提高了多播傳輸效率。
文檔編號H04L12/18GK101365150SQ200710138079
公開日2009年2月11日 申請日期2007年8月8日 優(yōu)先權(quán)日2007年8月8日
發(fā)明者馮萊利, 晗 劉, 庚 張, 涂曉東, 牛長喜, 王少勇 申請人:華為技術(shù)有限公司;電子科技大學