本發(fā)明涉及網(wǎng)絡(luò)流控制技術(shù)領(lǐng)域,具體涉及一種網(wǎng)絡(luò)緩存受限的分布最優(yōu)流控制方法。
背景技術(shù):
多服務(wù)網(wǎng)絡(luò)是通信網(wǎng)絡(luò)重要組成部分,可大致分為彈性業(yè)務(wù)和非彈性業(yè)務(wù)兩類。彈性業(yè)務(wù),如文件傳輸,視頻點擊,網(wǎng)頁服務(wù)等,對網(wǎng)絡(luò)時延要求不敏感,其傳輸速率可變;非彈性業(yè)務(wù),如視頻流服務(wù),語音業(yè)務(wù)等,因服務(wù)的即時性,對網(wǎng)絡(luò)時延有較高的要求,傳輸速率不可變。本設(shè)計專注于優(yōu)化有線網(wǎng)絡(luò)彈性業(yè)務(wù)的資源利用。
與非彈性業(yè)務(wù)相比,彈性業(yè)務(wù)不采用接納控制機制(即在服務(wù)連接前先檢查現(xiàn)有網(wǎng)絡(luò)資源是否滿足服務(wù)的需要,如不能則不接受服務(wù)連接),故存在資源暫時耗盡,不能滿足當(dāng)前所有服務(wù)的需求,繼而發(fā)生擁塞的情況。這時網(wǎng)絡(luò)的服務(wù)質(zhì)量就會下降,不能很好地滿足用戶體驗。故應(yīng)有一種機制來控制業(yè)務(wù)服務(wù)源端的發(fā)送速率,使其不超過服務(wù)目的端的接受能力,達到防止網(wǎng)絡(luò)資源耗盡的發(fā)送,從而有效避免擁塞,提高網(wǎng)絡(luò)服務(wù)質(zhì)量,優(yōu)化網(wǎng)絡(luò)資源利用及網(wǎng)絡(luò)資源分配公平性的目的。流控制(flow control)是實現(xiàn)上述目的的一種機制,在數(shù)據(jù)發(fā)送端控制發(fā)送速率繼而實現(xiàn)端到端吞吐量最優(yōu)化,防止丟包發(fā)生的宗旨。
現(xiàn)有的關(guān)于流控制的工作可以大致歸為兩類:基于窗口的流控制和基于速率的流控制。
1)基于窗口的流控制:
代表是以傳輸控制協(xié)議(Transmission Control Protocol)及其改進版協(xié)議(TCP-Reno,TCP-Vegas,FAST-TCP等)為主的一類網(wǎng)絡(luò)傳輸層的協(xié)議。上述TCP協(xié)議的共同缺點是對RTT的測量準(zhǔn)確度要求很高,發(fā)送窗口受RTT的波動影響很大,故RTT的測量及估計是這些協(xié)議的一個挑戰(zhàn)。
2)基于速率的流控制:
以O(shè)FC為代表的基于速率的流控制,以鏈路帶寬為限制條件,調(diào)整流速率,使經(jīng)過鏈路的流速率之和小于鏈路帶寬。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是為了解決現(xiàn)有技術(shù)中的上述缺陷,提供一種網(wǎng)絡(luò)緩存受限的分布最優(yōu)流控制方法。
本發(fā)明的目的可以通過采取如下技術(shù)方案達到:
一種網(wǎng)絡(luò)緩存受限的分布最優(yōu)流控制方法,所述流控制方法包括:
(1)源節(jié)點:
S1、將源節(jié)點的發(fā)送速率初始化為任一大于等于零同時小于等于源節(jié)點所在鏈路的鏈路帶寬的值,該數(shù)據(jù)流傳輸路徑的價格初始化為任一大于零的值,記錄該數(shù)據(jù)流初始化的發(fā)送速率到源節(jié)點;
S2、創(chuàng)建頭部攜帶節(jié)點所記錄的最新發(fā)送速率的數(shù)據(jù)包,以該發(fā)送速率發(fā)送上述數(shù)據(jù)包;
S3、收到來自目的節(jié)點的反饋包后,取出該包頭中的路徑價格信息,并以此更新源節(jié)點記錄的路徑價格;
S4、根據(jù)節(jié)點記錄的路徑價格,周期性計算節(jié)點發(fā)送速率并記錄到節(jié)點,返回步驟S2執(zhí)行;
(2)目的節(jié)點:
每收到來自源節(jié)點的數(shù)據(jù)包,產(chǎn)生一個頭部攜帶路徑價格信息的反饋包,該反饋包的路徑價格置0,向源節(jié)點發(fā)送該反饋包;
(3)中間節(jié)點:
R1、初始化鏈路價格為任一大于零的值,記錄該鏈路價格到中間節(jié)點,初始化經(jīng)過該鏈路的流速率之和為零,記錄該鏈路的流速率之和到節(jié)點;
R2、每收到來自源節(jié)點的不同流的數(shù)據(jù)包,將節(jié)點記錄的流速率之和與該數(shù)據(jù)包包頭攜帶的發(fā)送速率相加,用所得值替換節(jié)點記錄的流速率之和,記錄流速率之和到節(jié)點,轉(zhuǎn)發(fā)數(shù)據(jù)包;
R3、每收到來自目的節(jié)點的反饋包,將節(jié)點記錄的鏈路價格與該反饋包包頭的路徑價格相加,用所得值替換該反饋包包頭中的路徑價格,轉(zhuǎn)發(fā)反饋包;
R4、周期性計算鏈路價格并記錄到中間節(jié)點,周期性將中間節(jié)點記錄的流速率之和清零。
進一步地,所述源節(jié)點的步驟S4中計算節(jié)點發(fā)送速率的公式如下:
其中,發(fā)送速率xs:流s的發(fā)送速率,ws:流s的權(quán)重參數(shù),L(s):流s經(jīng)過的鏈路的集合,pl:鏈路l的緩存價格,其中,為路徑價格,通過反饋包的頭部攜帶信息獲取和更新。
進一步地,所述中間節(jié)點的步驟R4中鏈路價格的計算公式如下:
其中,pl(t):t時刻鏈路l的鏈路價格,Δt:更新周期,Ql:鏈路l緩存上限,ql:Δt時間鏈路l發(fā)送的緩存,Bl:鏈路l當(dāng)前被占用緩存;S(l):流經(jīng)鏈路l的所有流的集合,qs:Δt時間鏈路l收到的緩存。
本發(fā)明相對于現(xiàn)有技術(shù)具有如下的優(yōu)點及效果:
本發(fā)明公開的一種網(wǎng)絡(luò)緩存受限的分布最優(yōu)流控制方法考慮了鏈路有限的緩存對于流控制的影響,使得鏈路利用率得以提高;直接從緩存的角度出發(fā),更接近流控制的本質(zhì),即防止緩存溢出。
附圖說明
圖1是本發(fā)明公開的一種網(wǎng)絡(luò)緩存受限的分布最優(yōu)流控制方法的流程圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
實施例
(1)從有限緩存角度分析問題
最優(yōu)流控制的模型中,由于對每個鏈路而言,所有流的發(fā)送速率的和總是小于鏈路帶寬,因而對于每個鏈路來說,隊列中的數(shù)據(jù)包個數(shù)總是很少甚至為零,故鏈路沒有得到最大限度的運用,進而造成資源的浪費;另一方面,流控制的宗旨是防止緩存溢出,故將有限緩存納入考慮范圍內(nèi)會更直接地達到在實際網(wǎng)絡(luò)中的流控制的目的。
(2)將問題由所有集中流控制拆分為分布流控制
由于本發(fā)明的目的是最大化整個網(wǎng)絡(luò)的資源利用率,故原始問題需考慮所有流的資源利用,而傳輸?shù)耐话l(fā)性使得直接優(yōu)化所有流的吞吐量變得難以實現(xiàn),故針對單個流采取優(yōu)化措施繼而達到整個網(wǎng)絡(luò)的最優(yōu)化是一種可行有效的解決方案。
基于上述問題解決思路,本實施例公開的一種網(wǎng)絡(luò)緩存受限的分布最優(yōu)流控制方法,分別基于源節(jié)點、目的節(jié)點以及中間節(jié)點,具體包括下列步驟:
(1)源節(jié)點:
S1、將源節(jié)點的發(fā)送速率初始化為任一大于等于零同時小于等于源節(jié)點所在鏈路的鏈路帶寬的值,該數(shù)據(jù)流傳輸路徑的價格初始化為任一大于零的值,記錄該數(shù)據(jù)流初始化的發(fā)送速率到源節(jié)點;
S2、創(chuàng)建頭部攜帶節(jié)點所記錄的最新發(fā)送速率的數(shù)據(jù)包,以該發(fā)送速率發(fā)送上述數(shù)據(jù)包;
S3、收到來自目的節(jié)點的反饋包后,取出該包頭中的路徑價格信息,并以此更新源節(jié)點記錄的路徑價格;
S4、根據(jù)節(jié)點記錄的路徑價格,周期性計算節(jié)點發(fā)送速率并記錄到節(jié)點,返回步驟S2執(zhí)行。
具體實施方式中,源節(jié)點的步驟S4中計算節(jié)點發(fā)送速率的公式如下:
其中,發(fā)送速率xs:流s的發(fā)送速率,ws:流s的權(quán)重參數(shù),L(s):流s經(jīng)過的鏈路的集合,pl:鏈路l的緩存價格,其中,為路徑價格,通過反饋包的頭部攜帶信息獲取和更新。
(2)目的節(jié)點:
每收到來自源節(jié)點的數(shù)據(jù)包,產(chǎn)生一個頭部攜帶路徑價格信息的反饋包,該反饋包的路徑價格置0,向源節(jié)點發(fā)送該反饋包。
(3)中間節(jié)點:
R1、初始化鏈路價格為任一大于零的值,記錄該鏈路價格到中間節(jié)點,初始化經(jīng)過該鏈路的流速率之和為零,記錄該鏈路的流速率之和到節(jié)點;
R2、每收到來自源節(jié)點的不同流的數(shù)據(jù)包,將節(jié)點記錄的流速率之和與該數(shù)據(jù)包包頭攜帶的發(fā)送速率相加,用所得值替換節(jié)點記錄的流速率之和,記錄流速率之和到節(jié)點,轉(zhuǎn)發(fā)數(shù)據(jù)包;
R3、每收到來自目的節(jié)點的反饋包,將節(jié)點記錄的鏈路價格與該反饋包包頭的路徑價格相加,用所得值替換該反饋包包頭中的路徑價格,轉(zhuǎn)發(fā)反饋包;
R4、周期性計算鏈路價格并記錄到中間節(jié)點,周期性將中間節(jié)點記錄的流速率之和清零。
具體實施方式中,中間節(jié)點的步驟R4中鏈路價格的計算公式如下:
其中,pl(t):t時刻鏈路l的鏈路價格,Δt:更新周期,Ql:鏈路l緩存上限,ql:Δt時間鏈路l發(fā)送的緩存,Bl:鏈路l當(dāng)前被占用緩存;S(l):流經(jīng)鏈路l的所有流的集合,qs:Δt時間鏈路l收到的緩存。
接下來以一個具體實例來操作上述步驟:
現(xiàn)有一個流從節(jié)點1流經(jīng)節(jié)點2,3,4最后到達節(jié)點5。
(1)源節(jié)點1:
S1、源節(jié)點1的發(fā)送速率初始化為源節(jié)點1所在鏈路的鏈路帶寬的值,該數(shù)據(jù)流傳輸路徑的價格初始化為2,記錄該數(shù)據(jù)流初始化的發(fā)送速率到源節(jié)點1;
S2、創(chuàng)建頭部攜帶節(jié)點1所記錄的最新發(fā)送速率的數(shù)據(jù)包,以該發(fā)送速率發(fā)送這些數(shù)據(jù)包;
S3、收到來自目的節(jié)點5的反饋包后,取出該包頭中的路徑價格信息,并以此更新源節(jié)點1記錄的路徑價格;
S4、根據(jù)節(jié)點1記錄的路徑價格,周期性計算節(jié)點1發(fā)送速率并記錄到節(jié)點1,返回S2執(zhí)行。
(2)目的節(jié)點5:
每收到來自源節(jié)點1的數(shù)據(jù)包,產(chǎn)生一個頭部攜帶路徑價格信息的反饋包,該反饋包的路徑價格置0,向源節(jié)點1發(fā)送該反饋包。
(3)中間節(jié)點2,3,4:
R1、初始化鏈路價格為任一大于零的值,記錄該鏈路價格到相應(yīng)的中間節(jié)點2,3,4,初始化經(jīng)過該鏈路的流速率之和為零,分別記錄該鏈路的流速率之和到節(jié)點2,3,4;
R2、每收到來自源節(jié)點1的不同流的數(shù)據(jù)包,分別將節(jié)點2,3,4記錄的流速率之和與該數(shù)據(jù)包包頭攜帶的發(fā)送速率相加,分別用所得值替換節(jié)點2,3,4記錄的流速率之和,分別記錄流速率之和到節(jié)點2,3,4,轉(zhuǎn)發(fā)數(shù)據(jù)包;
R3、每收到來自目的節(jié)點的反饋包,分別將節(jié)點2,3,4記錄的鏈路價格與該反饋包包頭的路徑價格相加,用所得值替換該反饋包包頭中的路徑價格,轉(zhuǎn)發(fā)反饋包;
R4、周期性計算鏈路價格并分別記錄到中間節(jié)點2,3,4,周期性將中間節(jié)點2,3,4記錄的流速率之和清零。
綜上所述,本實施例公開的一種網(wǎng)絡(luò)緩存受限的分布最優(yōu)流控制方法考慮了鏈路有限的緩存對于流控制的影響,使得鏈路利用率得以提高;直接從緩存的角度出發(fā),更接近流控制的本質(zhì),即防止緩存溢出。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。