亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

城域傳輸設(shè)備中同一虛容器映射通道帶寬復(fù)用的實現(xiàn)方法

文檔序號:7942053閱讀:410來源:國知局
專利名稱:城域傳輸設(shè)備中同一虛容器映射通道帶寬復(fù)用的實現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域,具體地說,涉及城域網(wǎng)傳輸設(shè)備或相關(guān)同步數(shù)字體系傳輸領(lǐng)域?qū)崿F(xiàn)多用戶共用同一虛容器映射通道(VC-TRUNK)帶寬復(fù)用的方法。
背景技術(shù)
在目前城域網(wǎng)傳輸設(shè)備中,為了充分利用上行通道的帶寬,通常是多個用戶共用一個上行通道。在這種情況下,必須給共用通道的用戶分配各自的帶寬,否則就會造成用戶數(shù)據(jù)的競爭,沒辦法保證各自的帶寬。
目前給用戶分配各自的帶寬的具體做法是對于共用上行通道的每個用戶,在設(shè)備的接入側(cè)首先進行帶寬承諾接入速率(CAR,Commit Access Rate)控制,超過帶寬的數(shù)據(jù)則被丟棄。如圖1所示,圖1為現(xiàn)有技術(shù)上行通道帶寬共享的實現(xiàn)方法示意圖。在接入側(cè)采用CAR模塊進行帶寬控制,假如用戶A的帶寬要求是6M,用戶B的帶寬要求是4M,那么在接入CAR模塊就保證了用戶A可以通過6M的數(shù)據(jù),用戶B可以通過4M的數(shù)據(jù),超過帶寬部分將會被丟棄,通過CAR模塊的數(shù)據(jù)包轉(zhuǎn)發(fā)至上行通道,上行通道的帶寬為用戶A和用戶B帶寬之和,即10M,給這兩個用戶分配10M的上行通道帶寬正好足夠。
上述處理方法保證了用戶的基本接入帶寬,用戶之間的數(shù)據(jù)帶寬不會互相影響,各用戶的數(shù)據(jù)帶寬總是固定的。但是當(dāng)某一個用戶沒有數(shù)據(jù)發(fā)送或者數(shù)據(jù)流量很少時,共用該通道的其他用戶由于在接入側(cè)受到CAR模塊的限制沒法使用這部分空出的帶寬,從而造成帶寬的浪費,帶寬的利用率低。

發(fā)明內(nèi)容
本發(fā)明目的在于提供一種城域傳輸設(shè)備中同一虛容器映射通道帶寬復(fù)用的實現(xiàn)方法,以實現(xiàn)共享通道的用戶帶寬的統(tǒng)計復(fù)用,保證各自用戶有足夠帶寬的同時,充分利用數(shù)據(jù)量少的用戶帶寬。
本發(fā)明通過以下技術(shù)方案實現(xiàn)一種城域傳輸設(shè)備中同一虛容器映射通道帶寬復(fù)用的實現(xiàn)方法,該方法包括A)判斷虛容器映射通道發(fā)送側(cè)的當(dāng)前活動隊列的第一個數(shù)據(jù)包的包長是否小于或等于該活動隊列當(dāng)前狀態(tài)變量值,如果該數(shù)據(jù)包的包長小于或等于該活動隊列當(dāng)前狀態(tài)變量值,則通道先發(fā)送該數(shù)據(jù)包,再設(shè)置狀態(tài)變量值等于當(dāng)前狀態(tài)變量值與該數(shù)據(jù)包的包長的差值,然后判斷該隊列是否為空,如果隊列為空,則將該隊列從活動隊列中刪除,執(zhí)行步驟B,如果隊列不為空則返回步驟A;如果該數(shù)據(jù)包的包長大于該隊列當(dāng)前狀態(tài)變量值,則設(shè)置該狀態(tài)變量值等于當(dāng)前狀態(tài)變量值與遞增量的和值;B)輪詢下一活動隊列,返回步驟A。
其中,所述步驟A之前包括,設(shè)定每個活動隊列的遞增量,并設(shè)置每個活動隊列的狀態(tài)變量值為0,設(shè)置輪詢指針指向虛容器映射通道發(fā)送側(cè)的第一個活動隊列。
步驟B所述輪詢下一活動隊列的步驟包括,設(shè)置輪詢指針指向虛容器映射通道發(fā)送側(cè)的下一個活動隊列。
較佳地,所述步驟A之前還可以包括,判斷當(dāng)前活動隊列是否有待發(fā)送數(shù)據(jù)包,如果有則執(zhí)行步驟A,否則執(zhí)行步驟B。
較佳地,所述每個隊列的遞增量的值相同。
較佳地,步驟A所述將隊列從活動隊列中刪除的步驟進一步包括,設(shè)置刪除隊列的狀態(tài)變量值為0。
較佳地,所述的虛容器映射通道為虛容器上行共享映射通道,或為虛容器下行共享映射通道。
本發(fā)明在城域網(wǎng)傳輸設(shè)備的通道發(fā)送處通過判斷虛容器映射通道發(fā)送側(cè)的當(dāng)前隊列的第一個數(shù)據(jù)包的包長是否小于或等于該隊列當(dāng)前狀態(tài)變量值,以及通過不斷循環(huán)地調(diào)整各隊列當(dāng)前狀態(tài)變量值來決定各隊列中數(shù)據(jù)包的發(fā)送,實現(xiàn)了出口帶寬的統(tǒng)計復(fù)用,當(dāng)通道中任一用戶數(shù)據(jù)流量少時,該通道的其它用戶可利用該用戶不用的帶寬,充分地利用了共享通道的帶寬。由于本發(fā)明可為端口下的每個隊列設(shè)置各自遞增量,同時也保證了用戶的基本帶寬。相對于現(xiàn)有進行帶寬接入CAR控制技術(shù),本發(fā)明擺脫了CAR控制技術(shù)的限制,實現(xiàn)了帶寬的共享與統(tǒng)計復(fù)用,提高了帶寬的利用率。


圖1為現(xiàn)有技術(shù)上行通道帶寬共享的實現(xiàn)方法示意圖;圖2為采用赤字循環(huán)調(diào)度方法實現(xiàn)帶寬的統(tǒng)計復(fù)用的流程圖;圖3a表示隊列#1發(fā)送第一個數(shù)據(jù)包的過程示意圖,圖3b表示隊列#2發(fā)送第一個數(shù)據(jù)包的過程示意圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案、及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明進一步詳細說明。
本發(fā)明在通道發(fā)送處采用赤字循環(huán)調(diào)度(DRR,Deficit Round Robin)方法實現(xiàn)帶寬的統(tǒng)計復(fù)用。其基本思想是由于不同用戶的數(shù)據(jù)包存儲在各自的隊列中,因此為一個端口下的每個隊列分別設(shè)定一個遞增量。設(shè)隊列i的遞增量為Quantumi,隊列i在第k次循環(huán)中發(fā)送的字節(jié)數(shù)為bytesi,k。隊列i在第一次循環(huán)中允許發(fā)送的包的字節(jié)數(shù)不能超過其遞增量,即bytesi,1≤Quantumi。如果包發(fā)送之后隊列i變空,該隊列的狀態(tài)變量DeficitCounteri被置為零;否則,將當(dāng)前隊列的遞增量與該隊列在K次循環(huán)中發(fā)送的字節(jié)數(shù)的余額(Quantumi-bytesi,k)被存放到狀態(tài)變量DeficitCounteri中。在后續(xù)的循環(huán)中,隊列i可以發(fā)送的字節(jié)數(shù)為前一次循環(huán)的狀態(tài)變量DeficitCounteri與遞增量Quantumi之和。
下面以實現(xiàn)上行共享通道帶寬的復(fù)用為例進行詳細的說明。
參見圖2所示,圖2為采用赤字循環(huán)調(diào)度方法實現(xiàn)上行通道帶寬的統(tǒng)計復(fù)用的流程圖。其過程如下步驟201,首先進行初始化,將上行通道發(fā)送側(cè)每個隊列的狀態(tài)變量DeficitCounter清零,輪詢指針指向第一個隊列,并為每個隊列設(shè)定一遞增量Quantum,所設(shè)定各隊列的遞增量Quantum可以相同,也可不同;步驟202,判斷隊列有無待發(fā)送的數(shù)據(jù)包,即判斷當(dāng)前隊列是否是活動隊列,如果是,則執(zhí)行步驟203,如果不是則轉(zhuǎn)至步驟204,在該步驟輪詢指針指向下一隊列;步驟203,將輪詢指針?biāo)傅漠?dāng)前活動隊列的狀態(tài)變量值設(shè)置為該活動隊列當(dāng)前態(tài)變量值與該隊列遞增量值之和;步驟205,取出當(dāng)前活動隊列的第一個數(shù)據(jù)包,判斷該數(shù)據(jù)包的大小是否小于或等于當(dāng)前活動隊列的狀態(tài)變量值,如果是則執(zhí)行步驟206,否則轉(zhuǎn)至步驟204,在該步驟輪詢指針指向下一隊列,然后返回執(zhí)行步驟202;步驟206,發(fā)送當(dāng)前數(shù)據(jù)包,然后設(shè)置當(dāng)前活動隊列的狀態(tài)變量為當(dāng)前狀態(tài)變量與所發(fā)送數(shù)據(jù)包的包長之差,該狀態(tài)變量值作為下一次循環(huán)的狀態(tài)變量;步驟207,判斷當(dāng)前活動隊列是否為空,如果是則執(zhí)行步驟208,否則返回步驟205;步驟208,將空數(shù)據(jù)包的活動隊列刪除,并將該活動隊列的狀態(tài)變量置為0,返回步驟204,在該步驟輪詢指針指向下一隊列,然后轉(zhuǎn)至執(zhí)行步驟202。
例如,如圖3a和圖3b所示,圖3a表示隊列#1發(fā)送第一個數(shù)據(jù)包的過程示意圖,圖3b表示隊列#2發(fā)送第一個數(shù)據(jù)包的過程示意圖。圖3中,有四個隊列,每個隊列中分別有大小不同的數(shù)據(jù)包,隊列都處于等待發(fā)送數(shù)據(jù)包狀態(tài)(backlogged)。初始化步驟中,設(shè)置每個隊列的狀態(tài)變量DeficitCounter都為零,每個隊列的遞增量Quantum1的值為500,輪循指針最初指向第一個隊列#1。首先對隊列#1進行處理,將遞增量Quantum1的值500加到隊列的狀態(tài)變量DeficitCounter1上,獲得當(dāng)前狀態(tài)變量DeficitCounter1值為500,判斷當(dāng)前DeficitCounter1的值(=500)是不是大于位于隊列頭的包的長度(=200),若是,將位于隊列頭的包發(fā)送出去,令狀態(tài)變量DeficitCounter1=DeficitCounter1-包的長度=500-200=300,再判斷DeficitCounter1的值(=300)是不是大于當(dāng)前隊列的第一個包的長度(=750)(由于隊列#1是數(shù)據(jù)包200已被發(fā)送,該隊列數(shù)據(jù)包750成為第一個數(shù)據(jù)包),由于DeficitCounter1的值(=300)小于當(dāng)前隊列的第一個包的長度(=750),隊列#1在第一次輪循中只發(fā)送了一個包之后,輪循指針指向下一個活動隊列,如圖3b所示,隊列#1所對應(yīng)的狀態(tài)變量為300,輪詢指針指向隊列#2,對隊列#2依上述方法進行處理,圖中隊列#1陰影部分表示該數(shù)據(jù)被發(fā)送。按照順序?qū)γ總€活動隊列(#2、#3、#4)都進行上述操作后,輪循指針又指向隊列#1,此時隊列#1狀態(tài)變量DeficitCounter1將等于它原來的值加上隊列#1的遞增量,即DeficitCounter1=DeficitCounter1+Quantum1=300+500=800,然后進行和第一次處理方法一樣的操作。
因此按DDR方法,在輪詢一遍隊列#1至隊列#4后,上行通道處理中發(fā)送的數(shù)據(jù)流依次為隊列#1中的200數(shù)據(jù)包、隊列#2中的500數(shù)據(jù)包、隊列#3中的100數(shù)據(jù)包、隊列#4中的200數(shù)據(jù)包。各個隊列所分配的帶寬由其遞增量Quantum來保證,各個隊列得到發(fā)送的機會與各自的Quantum值成正比。在圖3a和圖3b的示例中,隊列i的保證帶寬為(Quantumi/(Quantum1+Quantum2+Quantum3+Quantum4))*上行帶寬,若隊列4暫無數(shù)據(jù)發(fā)送,隊列i的保證帶寬為(Quantumi/(Quantum1+Quantum2+Quantum3))*上行帶寬。由上述帶寬的計算可見,在任一用戶無數(shù)據(jù)發(fā)送時,其他有數(shù)據(jù)待發(fā)送的用戶帶寬將增加。由此可見,在城域網(wǎng)設(shè)備的實現(xiàn)通道發(fā)送處采用DDR方法都是在有數(shù)據(jù)需要發(fā)送的活動隊列之中進行的,當(dāng)一個隊列有報文需要發(fā)送時,將其插入活動隊列,當(dāng)某個隊列上掛接的報文發(fā)送完畢后,將其從活動隊列中去除,從而保證了當(dāng)一些隊列空閑時,有數(shù)據(jù)需要發(fā)送的隊列可得到更多的發(fā)送機會,使得各隊列的帶寬都得到提高,實現(xiàn)了通道帶寬的共享和帶寬的統(tǒng)計復(fù)用。
以上實現(xiàn)帶寬復(fù)用的方法不僅適用上行共享通道的帶寬復(fù)用,也適用于下行共享通道的帶寬復(fù)用,其實現(xiàn)的方法和原理與實現(xiàn)上行共享通道帶寬的復(fù)用的方法和原理相同。
權(quán)利要求
1.一種城域傳輸設(shè)備中同一虛容器映射通道帶寬復(fù)用的實現(xiàn)方法,其特征在于,該方法包括A)判斷虛容器映射通道發(fā)送側(cè)的當(dāng)前活動隊列的第一個數(shù)據(jù)包的包長是否小于或等于該活動隊列當(dāng)前狀態(tài)變量值,如果該數(shù)據(jù)包的包長小于或等于該活動隊列當(dāng)前狀態(tài)變量值,則通道先發(fā)送該數(shù)據(jù)包,再設(shè)置狀態(tài)變量值等于當(dāng)前狀態(tài)變量值與該數(shù)據(jù)包的包長的差值,然后判斷該隊列是否為空,如果隊列為空,則將該隊列從活動隊列中刪除,執(zhí)行步驟B,如果隊列不為空則返回步驟A;如果該數(shù)據(jù)包的包長大于該活動隊列當(dāng)前狀態(tài)變量值,則設(shè)置該狀態(tài)變量值等于當(dāng)前狀態(tài)變量值與遞增量的和值;B)輪詢下一活動隊列,返回步驟A。
2.根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,所述步驟A之前包括,設(shè)定每個活動隊列的遞增量,并設(shè)置每個活動隊列的狀態(tài)變量值為0,設(shè)置輪詢指針指向虛容器映射通道發(fā)送側(cè)的第一個活動隊列。
3.根據(jù)權(quán)利要求1或2所述的實現(xiàn)方法,其特征在于,步驟B所述輪詢下一活動隊列的步驟包括,設(shè)置輪詢指針指向虛容器映射通道發(fā)送側(cè)的下一個活動隊列。
4.根據(jù)權(quán)利要求1或2所述的實現(xiàn)方法,其特征在于,所述步驟A之前包括,判斷當(dāng)前活動隊列是否有待發(fā)送數(shù)據(jù)包,如果有則執(zhí)行步驟A,否則執(zhí)行步驟B。
5.根據(jù)權(quán)利要求1或2所述的實現(xiàn)方法,其特征在于,設(shè)置所述每個活動隊列的遞增量的值相同。
6.根據(jù)權(quán)利要求1或2所述的實現(xiàn)方法,其特征在于,步驟A所述將該隊列從活動隊列中刪除的步驟進一步包括,設(shè)置刪除隊列的狀態(tài)變量值為0。
7.根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,所述的虛容器映射通道為虛容器上行共享映射通道,或者為虛容器下行共享映射通道。
全文摘要
公開了一種城域傳輸設(shè)備中同一虛容器映射通道帶寬復(fù)用的實現(xiàn)方法,該方法包括A)判斷虛容器映射通道發(fā)送側(cè)的當(dāng)前隊列的第一個數(shù)據(jù)包的包長是否小于或等于該隊列當(dāng)前狀態(tài)變量值,如果該數(shù)據(jù)包的包長小于或等于該隊列當(dāng)前狀態(tài)變量值,則通道先發(fā)送該數(shù)據(jù)包,再設(shè)置狀態(tài)變量值等于當(dāng)前狀態(tài)變量值與該數(shù)據(jù)包的包長的差值,然后判斷該隊列是否為空,如果隊列為空,則將該隊列從活動隊列中刪除,執(zhí)行步驟B,如果隊列不為空則返回步驟A;如果該數(shù)據(jù)包的包長大于該隊列當(dāng)前狀態(tài)變量值,則設(shè)置該狀態(tài)變量值等于當(dāng)前狀態(tài)變量值與遞增量的和值;B)輪詢下一活動隊列,返回步驟A。本發(fā)明實現(xiàn)了帶寬的共享與統(tǒng)計復(fù)用,提高了帶寬的利用率。
文檔編號H04L12/54GK1503517SQ02153320
公開日2004年6月9日 申請日期2002年11月27日 優(yōu)先權(quán)日2002年11月27日
發(fā)明者劉建華, 韋超 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1