本發(fā)明涉及通信技術(shù)領(lǐng)域,更具體地,涉及一種基于虛擬發(fā)送隊列的多路傳輸調(diào)度方法及系統(tǒng)。
背景技術(shù):
近年來,隨著在線高清視頻、即時網(wǎng)絡(luò)游戲等流媒體業(yè)務(wù)的快速發(fā)展,用戶帶寬需求的急劇增加,網(wǎng)絡(luò)傳輸數(shù)據(jù)量爆炸式增長。傳統(tǒng)的以tcp(transmissioncontrolprotocol,傳輸控制協(xié)議)為代表的單子路徑傳輸協(xié)議難以滿足用戶的傳輸需求,因此以mptcp(multipathtcp,多路處傳輸控制協(xié)議)、sctp(streamcontroltransmissionprotocol,流控制傳輸協(xié)議)為代表的多子路徑傳輸協(xié)議應(yīng)運而生。多子路徑傳輸協(xié)議能夠利用終端設(shè)備的多個網(wǎng)絡(luò)接口,在用戶與服務(wù)器間建立多端到端的子路徑,并利用多子路徑進行并行傳輸,從而大大提高用戶的可用帶寬。
然而,目前的多子路徑傳輸協(xié)議還并不完善,特別是面向?qū)崟r性要求極高的流媒體業(yè)務(wù)時,仍然存在許多問題。其中一個重要的問題是子路徑質(zhì)量差異導(dǎo)致的數(shù)據(jù)包亂序問題。異構(gòu)網(wǎng)絡(luò)環(huán)境下,例如,一個移動用戶在自己的智能手機上同時使用wifi與4g端口建立多路連接,在線觀看視頻。4g子路徑往往擁有較低的丟包率,但是傳輸時延往往較長。而wifi子路徑正好相反,擁有較高的丟包率,但傳輸時延相對較短。此時,如果采用傳統(tǒng)輪詢調(diào)度算法,依次向兩路發(fā)送等量數(shù)據(jù)包,由于延遲與丟包的影響,順序發(fā)送的數(shù)據(jù)包,會亂序到達接收方,造成接收方緩存堵塞,出現(xiàn)視頻卡頓現(xiàn)象,嚴重影響用戶的體驗質(zhì)量。目前多子路徑傳輸協(xié)議默認的調(diào)度算法是最快子路徑優(yōu)先算法。該算法對輪詢算法進行了改進,每次發(fā)送數(shù)據(jù)時選擇可用子路徑中往返時延(roundtriptime,rtt)最小的,將其發(fā)送窗口填滿為止,如果還有剩余數(shù)據(jù),就選擇rtt次小的,依次類推,直至所有數(shù)據(jù)發(fā)送完畢。
上述現(xiàn)有技術(shù)能夠在一定程度上緩解數(shù)據(jù)包亂序的問題,然而當子子路徑間時延差異較大時,效果并不好;此外,最快子路徑優(yōu)先算法選用往返時延作為數(shù)據(jù)包到達接收方快慢的預(yù)測標準,沒有考慮累積確認、往返單程時延差異造成的誤差,進一步降低了控制精度。
技術(shù)實現(xiàn)要素:
本發(fā)明為克服上述問題或者至少部分地解決上述問題,提供一種基于虛擬發(fā)送隊列的多路傳輸調(diào)度方法及系統(tǒng)。
根據(jù)本發(fā)明的一個方面,提供一種多路傳輸調(diào)度方法,包括:
步驟1,獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的時延;
步驟2,基于所述測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的時延,獲得待發(fā)送數(shù)據(jù)包基于虛擬隊列的多路傳輸策略。
進一步,所述步驟1進一步包括:
獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的相對單程傳輸時延;獲取各子路徑的當前排隊時延;
將所述各子路徑的單程傳輸時延和當前排隊時延加和,獲得所述各子路徑的相對到達時延。
進一步,所述步驟2中獲得待發(fā)送數(shù)據(jù)包基于虛擬隊列的多路傳輸策略的步驟進一步包括:
打破各子路徑的發(fā)送窗口限制,為所述各子路徑建立虛擬發(fā)送隊列,用以存儲所述各子路徑發(fā)送窗口之外被分配到各子路徑發(fā)送的數(shù)據(jù)包序號。
進一步,所述步驟1中獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的相對單程傳輸時延的步驟進一步包括:
獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的接收時間戳;
基于所述接收時間戳與原有傳輸協(xié)議中自帶的發(fā)送時間戳,計算相對單程傳輸時延。
進一步,所述步驟1中獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的接收時間戳的步驟進一步包括:
為傳輸協(xié)議增加接收時間戳選項,接收方記錄收到數(shù)據(jù)包的本地時間,存入接收時間戳內(nèi);
接收方將收到所述測試數(shù)據(jù)包的本地時間數(shù)據(jù)包通過確認字段反饋給所述發(fā)送方。
進一步,所述步驟1中獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的相對單程傳輸時延的步驟進一步包括:
獲取所述測試數(shù)據(jù)包多次通過各子路徑的相對單程傳輸時延,對所述多次相對單程傳輸時延進行平滑處理。
進一步,所述步驟2中為所述各子路徑建立虛擬發(fā)送隊列的步驟進一步包括:
將待發(fā)送數(shù)據(jù)包分配到各子路徑中發(fā)送至接收方的時延最短的子路徑。
進一步,所述步驟2中為所述各子路徑建立虛擬發(fā)送隊列的步驟進一步包括:
如果所述時延最短的子路徑的發(fā)送窗口有空閑,將所述待發(fā)送數(shù)據(jù)包放入所述發(fā)送窗口進行發(fā)送;
如果所述發(fā)送窗口沒有空閑,所述待發(fā)送數(shù)據(jù)包放入所述延遲最短子路徑的虛擬發(fā)送隊列;
更新所述發(fā)送窗口或虛擬發(fā)送隊列的大小。
進一步,所述步驟2后還包括:
任一條子路徑收到確認字段時,檢測當前子路徑的虛擬發(fā)送隊列是否有待發(fā)送數(shù)據(jù)包,如果有則發(fā)送所述待發(fā)送數(shù)據(jù)包,并將其移出所述虛擬發(fā)送隊列,更新所述虛擬發(fā)送隊列的長度。
根據(jù)本發(fā)明另一個實施例,提供一種多路傳輸調(diào)度系統(tǒng),包括:
時延獲取模塊,用于獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的時延;
策略獲取模塊,用于基于所述測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的時延,獲得待發(fā)送數(shù)據(jù)包基于虛擬隊列的多路傳輸策略。
本申請?zhí)岢鲆环N基于虛擬發(fā)送隊列的多路傳輸調(diào)度方法及系統(tǒng),本發(fā)明所述方案通過添加接收時間戳選項,計算相對單程傳輸時延,并通過對樣本數(shù)據(jù)的平滑處理獲得平滑相對單程傳輸時延的同時,利用虛擬發(fā)送隊列中的數(shù)據(jù)量與當前子路徑發(fā)送速率計算排隊時延,將相對單程傳輸時延與排隊時延的加和可以計算出當前路徑的相對到達時延,實現(xiàn)數(shù)據(jù)包到達預(yù)測;利用數(shù)據(jù)包的相對到達時延進行數(shù)據(jù)包調(diào)度,并在每條子路徑的發(fā)送窗口之外建立虛擬發(fā)送隊列,從而起到確保數(shù)據(jù)包最大程度上按序到達,提高傳輸效率的有益效果。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為根據(jù)本發(fā)明實施例一種基于虛擬發(fā)送隊列的多路傳輸調(diào)度方法的整體流程示意圖;
圖2根據(jù)本發(fā)明實施例一種基于虛擬發(fā)送隊列的多路傳輸調(diào)度方法的中接收時間戳選項格式示意圖;
圖3根據(jù)本發(fā)明實施例一種基于虛擬發(fā)送隊列的多路傳輸調(diào)度方法的中虛擬發(fā)送隊列示意圖;
圖4為根據(jù)本發(fā)明實施例一種基于虛擬發(fā)送隊列的多路傳輸調(diào)度系統(tǒng)的整體框架示意圖。
具體實施方式
下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
如背景技術(shù)部分內(nèi)容所示,為了解決多路徑傳輸過程中的數(shù)據(jù)包亂序問題,首先需要對多條子路徑的狀態(tài)進行評估,準確預(yù)測數(shù)據(jù)包通過不同路徑發(fā)送時到達接收方的時間。而后,通過設(shè)計科學(xué)的調(diào)度方案,將數(shù)據(jù)包分配到不同的子路徑,從而實現(xiàn)高效的數(shù)據(jù)調(diào)度,提高傳輸效率。
如圖1,本發(fā)明一個具體實施例中,示出一種多路傳輸調(diào)度方法,包括:
步驟1,獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的時延;
步驟2,基于所述測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的時延,獲得待發(fā)送數(shù)據(jù)包基于虛擬隊列的多路傳輸策略。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度方法,所述步驟1進一步包括:
獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的相對單程傳輸時延;獲取各子路徑的當前排隊時延;
將所述各子路徑的單程傳輸時延和當前排隊時延加和,獲得所述各子路徑的相對到達時延。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度方法,所述步驟2中獲得待發(fā)送數(shù)據(jù)包基于虛擬隊列的多路傳輸策略的步驟進一步包括:
打破各子路徑的發(fā)送窗口限制,為所述各子路徑建立虛擬發(fā)送隊列,用以存儲所述各子路徑發(fā)送窗口之外被分配到各子路徑發(fā)送的數(shù)據(jù)包序號。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度方法,所述步驟1中獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的相對單程傳輸時延的步驟進一步包括:
獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的接收時間戳;
基于所述接收時間戳與原有傳輸協(xié)議中自帶的發(fā)送時間戳,計算相對單程傳輸時延。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度方法,所述步驟1中獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的接收時間戳的步驟進一步包括:
為傳輸協(xié)議增加接收時間戳選項,接收方記錄收到數(shù)據(jù)包的本地時間,存入接收時間戳內(nèi);
接收方將收到所述測試數(shù)據(jù)包的本地時間數(shù)據(jù)包通過確認字段反饋給所述發(fā)送方。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度方法,所述步驟1中獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的相對單程傳輸時延的步驟進一步包括:
獲取所述測試數(shù)據(jù)包多次通過各子路徑的相對單程傳輸時延,對所述多次相對單程傳輸時延進行平滑處理。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度方法,所述步驟2中為所述各子路徑建立虛擬發(fā)送隊列的步驟進一步包括:
將待發(fā)送數(shù)據(jù)包分配到各子路徑中發(fā)送至接收方的時延最短的子路徑。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度方法,所述步驟2中為所述各子路徑建立虛擬發(fā)送隊列的步驟進一步包括:
如果所述時延最短的子路徑的發(fā)送窗口有空閑,將所述待發(fā)送數(shù)據(jù)包放入所述發(fā)送窗口進行發(fā)送;
如果所述發(fā)送窗口沒有空閑,所述待發(fā)送數(shù)據(jù)包放入所述延遲最短子路徑的虛擬發(fā)送隊列;
更新所述發(fā)送窗口或虛擬發(fā)送隊列的大小。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度方法,所述步驟2后還包括:
任一條子路徑收到確認字段時,檢測當前子路徑的虛擬發(fā)送隊列是否有待發(fā)送數(shù)據(jù)包,如果有則發(fā)送所述待發(fā)送數(shù)據(jù)包,并將其移出所述虛擬發(fā)送隊列,更新所述虛擬發(fā)送隊列的長度。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種預(yù)測數(shù)據(jù)包到達時延的方法,通過接收時間戳選項計算單程到達時間,對數(shù)據(jù)包分配到不同子路徑時到達接收方的時間進行預(yù)測。而后,以到達時間最短為依據(jù),對數(shù)據(jù)包在子路徑間進行分配調(diào)度。與傳統(tǒng)調(diào)度方法不同,本發(fā)明并不受限于子路徑發(fā)送窗口的限制,而是創(chuàng)新性構(gòu)建虛擬發(fā)送隊列,從而在路徑質(zhì)量差異較大的異構(gòu)網(wǎng)絡(luò)環(huán)境下更好的保證數(shù)據(jù)包順序到達接收方,進而提高傳輸效率。到達時間從而在發(fā)送窗口之外構(gòu)建虛擬隊列。
以多路徑傳輸控制協(xié)議(mptcp)為例,可利用tcp頭部的選項字段,增加接收時間戳選項。選項格式如圖2所示,包括1個字節(jié)的選項頭部與4個字節(jié)的時間戳內(nèi)容。每當接收方收到一個數(shù)據(jù)包時,會記錄此時的系統(tǒng)時間,并將其放入接收時間戳內(nèi),隨該數(shù)據(jù)包的ack字段反饋給發(fā)送方。
由于mptcp本身是tcp協(xié)議的多路徑擴展,因而,mptcp的每條子路徑也繼承了標準tcp的時間戳選項。該選項記錄了發(fā)送方發(fā)送該數(shù)據(jù)包時的系統(tǒng)時間,接收方收到該選項后,將其隨該數(shù)據(jù)包的ack字段反饋給發(fā)送方。因此,在添加了接收時間戳選項的多路徑傳輸系統(tǒng)中,接收方每次收到ack后,都能從中提取該數(shù)據(jù)包的發(fā)送時間(發(fā)送方發(fā)送該數(shù)據(jù)包時的方發(fā)送系統(tǒng)時間)與到達時間(接收方收到該數(shù)據(jù)包時的接收方系統(tǒng)時間)。由于,發(fā)送方與接收方的系統(tǒng)時間并不統(tǒng)一,所以,通過兩者作差只能得到相對的傳輸時延。該時延雖然不能作為絕對時間直接使用,但是可以比較各條子路徑的該參數(shù),得到傳輸時延最小的路徑。
設(shè)一個有n條子路徑的多路連接s={1,…,n}。owdik表示第i條子路第k次測量獲得的單程傳輸時延。通過如下公式,子路徑i維護平滑相對單程時延sowdi:
其中,α為平滑權(quán)重因子,反應(yīng)新數(shù)據(jù)對平滑值的影響,此處可令α=0.2。
為了預(yù)測數(shù)據(jù)包到達接收的時延,在獲得了sowdi之后,還應(yīng)計算當前子路徑的排隊時延qdi:
其中,qi表示子路徑i當前虛擬發(fā)送隊列中數(shù)據(jù)包的個數(shù);srtti表示子路徑i的平滑往返時間;swndi表示子路徑i的發(fā)送窗口大小,單位為數(shù)據(jù)包的個數(shù)。srtti的獲得方法與標準tcp相同:
其中,rttik表示第i條子路第k次測量獲得的往返傳輸時延;β為平滑權(quán)重因子,此處β=0.125。
在獲得了平滑相對單程傳輸時延與排隊時延后,可以通過下式獲得子路徑i當前的相對到達時延adi:
adi=sowdi+qdi,
獲得了相對到達時延adi之后,就可對數(shù)據(jù)包通過不同子路徑發(fā)送時到達接收方的快慢進行比較。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種利用虛擬發(fā)送隊列構(gòu)造方法,方法流程包括:
設(shè)第i條子路徑的發(fā)送窗口大小為swndi,表示發(fā)送方可以連續(xù)發(fā)送的數(shù)據(jù)量。mptcp默認的調(diào)度算法,只利用發(fā)送窗口本身的大小,每次選擇往返時延(rtt)最小的路徑,填滿其發(fā)送窗口即止。當路徑間時延差異較大時,并不能很好的解決亂序問題。例如,mptcp兩條子路徑的rtt分別為10ms與100ms。發(fā)送窗口大小都為2mtu(maximumtransmissionunit,最大傳輸單元)。如果按照mptcp默認的調(diào)度算法,數(shù)據(jù)包1、2會被分配到子路徑1,數(shù)據(jù)包3、4被分配到子路徑2,然后等數(shù)據(jù)包1、2傳輸完畢后,再利用子路徑1傳送數(shù)據(jù)包5、6。通過計算可知,數(shù)據(jù)包3、4到達接收方的時間約為100÷2=50ms。而數(shù)據(jù)包5、6到達接收方的時間約為10+10÷2=15ms。數(shù)據(jù)包5、6先于數(shù)據(jù)包3、4到達接收方,出現(xiàn)了亂序。
因此,考慮到這種情況,為每條子路徑設(shè)立虛擬發(fā)送隊列,如圖2所示,設(shè)子路徑i的虛擬發(fā)送隊列為qi,用來表示發(fā)送窗口之外預(yù)期分配到該路徑的數(shù)據(jù)包,其長度為qi。其中,發(fā)送窗口內(nèi)的數(shù)據(jù)可以一次性發(fā)送,而發(fā)送窗口之外的數(shù)據(jù)需要排隊等候,直到發(fā)送窗口空閑之后方可發(fā)送。
每次有數(shù)據(jù)包需要發(fā)送時,需要按照實施例一中提供的方法,計算其對應(yīng)到每一條子路徑的相對到達時延adi,而后將其分配到相對到達時延最短的路徑上。如果該路徑的發(fā)送窗口未滿,則將其放入發(fā)送窗口中。如果該路徑的發(fā)送窗口未滿,則將其放入該子路徑對應(yīng)的虛擬隊列中。完成上述操作后,需要更新虛擬隊列長度及發(fā)送窗口大小。
每當某條子路徑收到ack時,檢測當前子路徑的虛擬發(fā)送隊列是否有數(shù)據(jù)包需要發(fā)送,如果有則發(fā)送該數(shù)據(jù)包,并將其移出虛擬發(fā)送隊列,并更新虛擬發(fā)送隊列與發(fā)送窗口。
綜合上述兩個具體實施例,本發(fā)明提供一種基于虛擬發(fā)送隊列的最快到達調(diào)度(fas)方法,本實施例具體流程包括:
對于任意子路徑i,定義一個三元組π(srtti,sowdi,swndi)描述子路徑的狀態(tài)信息。其中,srtt表示該路徑的平滑往返時間,其維護方法與標準tcp相同。s表示當前連接中所有子流的集合?;谠撊M,提出最快到達調(diào)度(fas)算法如下:
算法1.fas算法
輸入:各子流狀態(tài)信息π(srtti,sowdi,swndi),i∈s
輸出:最快到達接收方的子路徑序號
1:while有數(shù)據(jù)包需要發(fā)送do
2:for每一條子流i∈s
3:ifqi=0//虛擬發(fā)送隊列為空,此時無需排隊
4:ti=sowdi
5:else//虛擬發(fā)送隊列不為空,此時需要排隊
6:
7:ifi為第一條子路徑//初始化tmin與select_path
8:tmin=ti
9:select_path=i
10:elseifti<tmin
11:tmin=ti
12:select_path=i
13:returnselect_path
在該算法中,qi與swndi的單位都為最大傳輸單元mtu。如果qi<swndi,說明當前數(shù)據(jù)包只要被分配到該子路徑就可以被立即發(fā)送,所以數(shù)據(jù)包到達接收方的時間等于sowdi。否則,需要計算在虛擬隊列中等待的時間并加上sowdi才是預(yù)計到達時間。選擇所有路徑中預(yù)計到達時間最短的路徑進行發(fā)送。
綜上所述,本發(fā)明實施例通過添加接收時間戳選項計算單程到達時間,對數(shù)據(jù)包分配到不同子路徑時到達接收方的時間進行預(yù)測。而后,以到達時間最短為依據(jù),對數(shù)據(jù)包在子路徑間進行分配調(diào)度。通過構(gòu)建虛擬發(fā)送隊列,避免子路徑發(fā)送窗口的限制,在路徑質(zhì)量差異較大的異構(gòu)網(wǎng)絡(luò)環(huán)境下更好的保證數(shù)據(jù)包順序到達接收方,提高傳輸效率。
如圖2,在本發(fā)明又一個具體實施例中,展示出一種多路傳輸調(diào)度系統(tǒng),包括:
時延獲取模塊a1,用于獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的時延;
策略獲取模塊a2,用于基于所述測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的時延,獲得待發(fā)送數(shù)據(jù)包基于虛擬隊列的多路傳輸策略。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度系統(tǒng),所述時延獲取模塊還用于:
獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的相對單程傳輸時延;獲取各子路徑的當前排隊時延;
將所述各子路徑的單程傳輸時延和當前排隊時延加和,獲得所述各子路徑的相對到達時延。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度系統(tǒng),所述策略獲取模塊還用于:
打破各子路徑的發(fā)送窗口限制,為所述各子路徑建立虛擬發(fā)送隊列,用以存儲所述各子路徑發(fā)送窗口之外被分配到各子路徑發(fā)送的數(shù)據(jù)包序號。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度系統(tǒng),所述時延獲取模塊還用于:
獲取測試數(shù)據(jù)包通過各子路徑發(fā)送至接收方的接收時間戳;
基于所述接收時間戳與原有傳輸協(xié)議中自帶的發(fā)送時間戳,計算相對單程傳輸時延。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度系統(tǒng),所述時延獲取模塊還用于:
為各子路徑增加接收時間戳選項,接收方記錄收到數(shù)據(jù)包的本地時間,存入接收時間戳內(nèi);
接收方將收到所述測試數(shù)據(jù)包的本地時間數(shù)據(jù)包通過確認字段反饋給所述發(fā)送方。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度系統(tǒng),所述時延獲取模塊還用于:
獲取所述測試數(shù)據(jù)包多次通過各子路徑的相對單程傳輸時延,對所述多次相對單程傳輸時延進行平滑處理。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度系統(tǒng),所述策略獲取模塊還用于:
將待發(fā)送數(shù)據(jù)包分配到各子路徑中發(fā)送至接收方的時延最短的子路徑。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度系統(tǒng),所述策略獲取模塊還用于:
如果所述時延最短的子路徑的發(fā)送窗口有空閑,將所述待發(fā)送數(shù)據(jù)包放入所述發(fā)送窗口進行發(fā)送;
如果所述發(fā)送窗口沒有空閑,所述待發(fā)送數(shù)據(jù)包放入所述延遲最短子路徑的虛擬發(fā)送隊列;
更新所述發(fā)送窗口或虛擬發(fā)送隊列的大小。
在本發(fā)明上述任一具體實施例的基礎(chǔ)上,提供一種多路傳輸調(diào)度系統(tǒng),還包括確認發(fā)送模塊,用于:
任一條子路徑收到確認字段時,檢測當前子路徑的虛擬發(fā)送隊列是否有待發(fā)送數(shù)據(jù)包,如果有則發(fā)送所述待發(fā)送數(shù)據(jù)包,并將其移出所述虛擬發(fā)送隊列,更新所述虛擬發(fā)送隊列的長度。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
最后,本申請的方法僅為較佳的實施方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。