專利名稱:一種粗粒度動態(tài)帶寬分配方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)通信領(lǐng)域,涉及共享信道中對多個(gè)網(wǎng)絡(luò)接入設(shè)備帶寬的分配方法,具體是一種粗粒度動態(tài)帶寬分配方法,可應(yīng)用于需要根據(jù)網(wǎng)絡(luò)業(yè)務(wù)流量特性和當(dāng)前系統(tǒng)狀態(tài)為網(wǎng)絡(luò)接入設(shè)備實(shí)時(shí)分配帶寬,并盡可能小的引入額外帶寬計(jì)算開銷的網(wǎng)絡(luò)環(huán)境中。
背景技術(shù):
通信技術(shù)的飛速發(fā)展,使得越來越多的用戶可以方便的接入互聯(lián)網(wǎng)。與此同時(shí),多媒體業(yè)務(wù)的快速增長,使得用戶對網(wǎng)絡(luò)的需求呈現(xiàn)出多樣化的趨勢。因此,如何將有限的帶寬合理、快速的分配給有需求的用戶,從而為更多的用戶提供服務(wù),提高網(wǎng)絡(luò)資源的利用率以及獲得更好的用戶體驗(yàn),已經(jīng)成為各個(gè)網(wǎng)絡(luò)服務(wù)提供商迫切需要解決的問題。
帶寬分配方式主要分為靜態(tài)和動態(tài)兩種類型。靜態(tài)帶寬分配通過定義CIR(承諾信息速率)為用戶分配固定帶寬,不論此時(shí)是否有數(shù)據(jù)傳輸以及數(shù)據(jù)傳輸?shù)膸拰?shí)際為多少,都占用了分配到的固定帶寬。動態(tài)帶寬分配根據(jù)數(shù)據(jù)流的帶寬和QoS策略,由系統(tǒng)根據(jù)DBA(動態(tài)帶寬分配)算法,對系統(tǒng)的可用帶寬進(jìn)行動態(tài)分配。靜態(tài)帶寬分配方法簡單,但靈活性差,不能根據(jù)業(yè)務(wù)負(fù)載狀態(tài)合理的分配帶寬,降低了通信系統(tǒng)帶寬的利用率。一般的實(shí)時(shí)動態(tài)帶寬分配方式,雖然很好的克服了上述缺點(diǎn),但實(shí)現(xiàn)起來過于精細(xì),需要實(shí)時(shí)精確的獲得各個(gè)用戶實(shí)際需要的帶寬值,然后根據(jù)這個(gè)帶寬值為用戶分配所需帶寬。因此要求執(zhí)行DBA算法的CPU有較強(qiáng)的處理能力,并且隨著接入用戶數(shù)量的增多、帶寬的增加以及需求帶寬值的大幅度變化,都會使執(zhí)行DBA算法的CPU的計(jì)算量急劇增加,超出通信系統(tǒng)的可控范圍。所以需要提出一種既能減輕通信系統(tǒng)的處理壓力,又能很好的根據(jù)業(yè)務(wù)流的動態(tài)特性為各個(gè)用戶快速、合理分配帶寬的方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服上述動態(tài)帶寬分配方式的不足,提供一種粗粒度動態(tài)帶寬分配方法。本方法采用的粗粒度動態(tài)帶寬分配方法不需要精確計(jì)算用戶需要的帶寬值,只需要通過對業(yè)務(wù)流量特性的統(tǒng)計(jì)以及對當(dāng)前緩存中等待傳輸?shù)臄?shù)據(jù)隊(duì)列狀態(tài)的采集,在規(guī)定的帶寬分配周期到來時(shí)為各個(gè)用戶分配帶寬,并且每次帶寬值的變化量是帶寬更新步長的整數(shù)倍。實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案如下本發(fā)明粗粒度動態(tài)帶寬分配方法包括如下步驟(I)根據(jù)用戶的需求和網(wǎng)絡(luò)環(huán)境,配置系統(tǒng)帶寬分配周期t、用戶的帶寬參數(shù)、緩存隊(duì)列門限、加權(quán)系數(shù)β以及阻尼系數(shù)P,m,n的值,將用戶的帶寬分配標(biāo)志F初始化為O;(2)判斷是否有用戶舉手,即舉手用戶為第一次有數(shù)據(jù)需要傳輸,如果沒有,轉(zhuǎn)到步驟(3),如果有,為舉手用戶分配協(xié)議帶寬B。,并開始統(tǒng)計(jì)該用戶的加權(quán)平均帶寬Ba,在第一個(gè)統(tǒng)計(jì)周期t內(nèi)不做加權(quán)處理,經(jīng)過M個(gè)帶寬分配周期t,獲得穩(wěn)定的加權(quán)平均帶寬Ba,舉手用戶不執(zhí)行以下的帶寬分配算法;(3)對沒有舉手但滿足統(tǒng)計(jì)M個(gè)帶寬分配周期t以及上一周期分配帶寬值Blri大于初始帶寬Bmin條件的用戶,根據(jù)統(tǒng)計(jì)的加權(quán)平均帶寬和當(dāng)前隊(duì)列狀態(tài)執(zhí)行以下的帶寬分配操作,對沒有舉手不滿足上述條件的用戶,不執(zhí)行以下的帶寬分配算法;(3.1)按照當(dāng)前緩存隊(duì)列長度Gn將用戶分為兩組,Gn小于等于保證門限G。的分為A組,Gn大于G。的分為B組;(3.2)對A組中的用戶進(jìn)行帶寬分配,按照用戶的帶寬分配標(biāo)志F將用戶分為兩組,將F為O的用戶分為AO組,將F為I的用戶分為Al組;3. 2.1)對AO組中的用戶進(jìn)行帶寬分配;3.2. La)為該用戶的帶寬判決門限上限G(n_1)u賦值保證門限G。,帶寬判決門限下限G(n_1)d賦值Gdl,分配帶寬為協(xié)議帶寬B。,并置帶寬分配標(biāo)志F為I,轉(zhuǎn)到步驟3. 2. l.b); 3.2. l.b)判斷是否在此次帶寬分配周期內(nèi)對所有的AO組用戶完成了帶寬分配,如果是,完成對AO組用戶的帶寬分配,如果不是,為下一個(gè)AO組內(nèi)的用戶循環(huán)執(zhí)行3. 2.1. a);3. 2. 2)采取快增慢減策略對Al組中的用戶進(jìn)行帶寬分配;3. 2. 2. a)判斷該用戶的帶寬判決門限下限G(n_1)d是否小于或等于Gdl,如果是,轉(zhuǎn)到步驟3. 2. 2. b),如果不是,將該用戶移動到BI組,轉(zhuǎn)到步驟3. 2. 2. e);3. 2. 2. b)判斷該用戶的當(dāng)前緩存隊(duì)列長度Gn是否大于或等于帶寬判決門限上限G(n_1)u,如果是,為該用戶G(n_1)u賦值,保證門限G。,帶寬判決門限下限G(n_1)d賦值Gdl,分配帶寬增加為協(xié)議帶寬B。,轉(zhuǎn)到步驟3. 2. 2. e),如果不是,判斷該用戶的加權(quán)平均帶寬Ba是否大于或等于G(n_1)u對應(yīng)的Be,如果是,為該用戶G(n_1)u賦值賦值Gdl,分配帶寬為B。,轉(zhuǎn)到步驟3. 2. 2. e),如果不是轉(zhuǎn)到步驟3. 2. 2. c);3. 2. 2. c)判斷該用戶的6 是否連續(xù)P次小于帶寬判決門限下限G(n_1)d,如果不是,為該用戶分配帶寬為上周期分配帶寬Blri,轉(zhuǎn)到步驟3. 2. 2. e),如果是,判斷該用戶的Ba是否小于帶寬判決門限上限G(n_1)d對應(yīng)的等效帶寬Be,如果不小于,為該用戶分配帶寬為上周期分配帶寬Blri,轉(zhuǎn)到步驟3. 2. 2. e),如果小于,為該用戶帶寬判決門限上限G(n_1)u賦值帶寬判決門限下限G(n_1)d,將G(n_1)d對應(yīng)的Gdj的下一個(gè)門限Gd(j+1)賦給G(n_1)d,如果G(n_1)d為Gmin則不改變G(n_1)d的值,為該用戶分配帶寬為Blri減Λ Bd,轉(zhuǎn)到步驟3. 2. 2. d);3. 2. 2. d)判斷該用戶的帶寬是否是初始帶寬Bmin,如果是,將該用戶的F置為0,轉(zhuǎn)到步驟3. 2. 2. e),如果不是則直接轉(zhuǎn)到步驟3. 2. 2. e);3. 2. 2. e)判斷是否在此次帶寬分配周期內(nèi)對所有的Al組用戶完成了帶寬分配,如果是,完成對Al組用戶的帶寬分配,如果不是,為下一個(gè)Al組內(nèi)的用戶循環(huán)執(zhí)行3. 2. 2. a);(3. 3)對B組中的所有用戶預(yù)分配協(xié)議帶寬B。,預(yù)分配的帶寬不計(jì)入剩余帶寬Bs,按照用戶的帶寬分配標(biāo)志F將用戶分為兩組,將F為O的用戶分為BO組,將F為I的用戶分為BI組;3. 3.1)對BO組中的用戶進(jìn)行帶寬分配;3. 3.1. a)對該用戶帶寬判決門限上限G(n_1)u賦值Gul,帶寬判決門限下限G(n_1)d賦值保證門限G。,為該用戶分配帶寬B。,并置F為1,轉(zhuǎn)到步驟3. 3.1. b);
3.3. l.b)判斷是否在此次帶寬分配周期內(nèi)對所有的BO組用戶完成了帶寬分配,如果是,完成對BO組用戶的帶寬分配,如果不是,為下一個(gè)BO組內(nèi)的用戶循環(huán)執(zhí)行3. 3.1. a);3. 3. 2)采取慢增快減策略對BI組中的用戶進(jìn)行帶寬分配;3. 3. 2. a)判斷當(dāng)前網(wǎng)絡(luò)中是否有未分配的帶寬,如果沒有,轉(zhuǎn)到步驟3. 4),如果有未分配的帶寬,轉(zhuǎn)到步驟3 .3. 2. b);3. 3. 2. b)判斷該用戶帶寬判決門限上限G(n_1)u是否大于或等于Gul,如果不是,為該用戶G(n_1)u賦值Gul,帶寬判決門限下限G(n_1)d賦值保證門限G。并分配協(xié)議帶寬B。,轉(zhuǎn)到步驟3. 3. 2. h),如果是,轉(zhuǎn)到步驟3. 3. 2. c);3. 3. 2. c)判斷該用戶當(dāng)前緩存隊(duì)列長度Gn是否連續(xù)m次大于或等于G(n_1)u,如果不是,轉(zhuǎn)到步驟3. 3. 2. e),如果是,判斷該用戶的上周期分配帶寬Blri是否小于該用戶的最高帶寬Bmax,如果是,轉(zhuǎn)到步驟3. 3. 2. d),如果不是,判斷剩余帶寬Bs是否大于或等于Bmax減協(xié)議帶寬B。,如果是,為該用戶分配帶寬為Bmax,轉(zhuǎn)到步驟3. 3. 2. f),如果不是,為該用戶分配帶寬為Bc加Bs,轉(zhuǎn)到步驟(3. 4);3. 3. 2. d)判斷剩余帶寬Bs是否大于或等于該用戶的上周期分配帶寬Blri減B。加Λ Bu,如果是,對該用戶G(n_1)d賦值G(n_1)u,G(n_1)u對應(yīng)的Gui的下一個(gè)門限Gu(i+1)賦給G(n_1)u,如果G(n_1)u為Gmax則不改變G(n_1)u的值,為該用戶分配帶寬為Blri加ABu,且分配帶寬不超過Bmax,轉(zhuǎn)到步驟3. 3. 2. h),如果不是,為該用戶分配帶寬為Blri加剩余帶寬Bs,轉(zhuǎn)到步驟(3. 4);3. 3. 2. e)判斷該用戶當(dāng)前緩存隊(duì)列長度Gn是否連續(xù)η次小于G(n_1)d,如果是,用y表示Gn連續(xù)η次小于G(n_1)d的次數(shù),轉(zhuǎn)到步驟3. 3. 2. f),如果不是,判斷網(wǎng)絡(luò)剩余帶寬Bs是否大于或等于該用戶的Blri減B。,如果是,為該用戶分配帶寬為上周期分配帶寬Blri,轉(zhuǎn)到步驟3.3.2. h),如果不是,為該用戶分配帶寬為協(xié)議帶寬B。加剩余帶寬Bs,轉(zhuǎn)到步驟(3.4);3. 3. 2. f)判斷(BlriI* Δ Bu)是否小于B。,如果是,轉(zhuǎn)到步驟3. 3. 2. g),如果不是,對該用戶G(n__1)d賦值為G(n_1)d對應(yīng)的Gui的下η個(gè)門限值Gu(i_n),G(n_1)u賦值為Gu(i_n+1),為該用戶分配帶寬為此_11*八811),轉(zhuǎn)到步驟3.3.2.10 ;3. 3. 2. g)對G(n_1)u賦值Gul,G(n_1)d賦值G。并分配協(xié)議帶寬B。,轉(zhuǎn)到步驟3. 3. 2. h);3. 3. 2. h)判斷是否在此次帶寬分配周期內(nèi)對所有的BI組用戶完成了帶寬分配,如果是,完成對BI組用戶的帶寬分配,轉(zhuǎn)到步驟(4),如果不是,為下一個(gè)BI組內(nèi)的用戶循環(huán)執(zhí)行3. 3. 2. a);(3. 4)為BI組未分配帶寬的用戶分配協(xié)議帶寬Bc ;(4)完成此次帶寬分配,轉(zhuǎn)到步驟(2)進(jìn)入下次帶寬分配周期。本發(fā)明在步驟(3)中的加權(quán)平均帶寬Ba :在帶寬分配的時(shí)間間隔t內(nèi)對用戶的網(wǎng)絡(luò)流量進(jìn)行統(tǒng)計(jì),通過統(tǒng)計(jì)t時(shí)間內(nèi)傳輸?shù)臄?shù)據(jù)分組,計(jì)算出該用戶本周期t時(shí)間間隔內(nèi)的平均帶寬Bt,再與上一周期的疊加平均帶寬Bt^進(jìn)行算術(shù)平均,得到本周期的疊加平均帶寬Bt%進(jìn)而得到這一段時(shí)間的加權(quán)平均帶寬Ba,即Ba=β為加權(quán)系數(shù),O ^ β ^ I0本發(fā)明在步驟3. 2. 2)中的快增慢減策略如果用戶在上一個(gè)帶寬分配周期獲得的帶寬Blri小于協(xié)議帶寬B。,對該用戶在這一個(gè)帶寬分配周期的帶寬調(diào)整采用快增慢減策略,即待發(fā)送數(shù)據(jù)分組隊(duì)列長度大于或等于某個(gè)門限值時(shí),立即將該用戶的分配帶寬快速增加到協(xié)議帶寬B。,而當(dāng)待發(fā)送數(shù)據(jù)分組隊(duì)列長度連續(xù)P個(gè)t周期小于或等于某個(gè)門限值時(shí),I < P < 5,并且Ba小于或等于這個(gè)門限值對應(yīng)的等效帶寬時(shí),才將用戶的分配帶寬減少一個(gè)固定量ABd。本發(fā)明在步驟3. 3. 2)中的慢增快減策略如果用戶Blri大于或等于B。時(shí),對該用戶的帶寬調(diào)整采用慢增快減策略,即待發(fā)送數(shù)據(jù)分組隊(duì)列長度連續(xù)m個(gè)t周期大于或等于某個(gè)門限值,I 5,并且網(wǎng)絡(luò)中有未分配的額外帶寬資源時(shí),才將用戶的帶寬增加一個(gè)固定量ABu,而當(dāng)待發(fā)送數(shù)據(jù)分組隊(duì)列長度連續(xù)η次個(gè)t周期小于某個(gè)門限值,I < η < 5,將用戶的帶寬減少一個(gè)固定量Λ Bu,如果下一個(gè)周期隊(duì)列繼續(xù)減少并連續(xù)η個(gè)t周期小于另一個(gè)門限值,則將用戶的帶寬減少一個(gè)固定量2* Δ Bu,以此類推,直到帶寬減少到B。,或者網(wǎng)絡(luò)中有其他用戶需要增加帶寬到B。,但是網(wǎng)絡(luò)中沒有剩余帶寬資源Bs時(shí),當(dāng)前用戶的帶寬也會立即減少。通過設(shè)置多個(gè)門限值作為判斷帶寬分配的參考量,由協(xié)議帶寬Be*t得到保證門限G0,由初始帶寬Bmin*t得到最小門限Gmin,由最高帶寬Bmax*t得到最大門限Gmax,分別設(shè)置高 于和低于G。的隊(duì)列門限值,低于G。的門限個(gè)數(shù)為Nd,高于G。的門限個(gè)數(shù)為Nu,由(Gtj-Gmin) /(Nd+1)得到隊(duì)列門限間隔ΛGd,進(jìn)而得到保證門限G。以下的隊(duì)列門限值Gdi,I彡Nd,Gdi的值隨著i的減小而減小,由(Gmax-Gt5V(Nl^l)得到隊(duì)列門限間隔AGu,進(jìn)而得到保證門限G0以上的隊(duì)列門限值Guj,Nu, Guj的值隨著j增大而增大。通過Gdl/t得到對應(yīng)的等效帶寬Bedi,作為加權(quán)平均帶寬Ba的比較參考值。根據(jù)AGdA得到協(xié)議帶寬B。以下的帶寬更新步長ABd, Λ Gu/t得到協(xié)議帶寬B。之上的帶寬更新步長ABU。本發(fā)明與現(xiàn)有技術(shù)對比所具有的特點(diǎn)1、本發(fā)明以用戶的協(xié)議帶寬為基礎(chǔ),只在規(guī)定的帶寬分配周期到來時(shí)執(zhí)行帶寬分配算法為各個(gè)用戶分配帶寬,不需要精確的計(jì)算出用戶需要的帶寬值,只需通過對用戶業(yè)務(wù)流量特性進(jìn)行統(tǒng)計(jì)以及對當(dāng)前緩存中等待傳輸?shù)臄?shù)據(jù)隊(duì)列狀態(tài)進(jìn)行采集,將統(tǒng)計(jì)和采集到的參數(shù)與設(shè)置的帶寬變化判決條件進(jìn)行比較,滿足特定的條件后,才對用戶的帶寬進(jìn)行調(diào)整,不滿足條件不改變用戶的帶寬值,采用這種粗粒度動態(tài)帶寬分配方法可以預(yù)測用戶需要的帶寬值,克服了帶寬分配的盲目性,避免了帶寬分配過程中的大幅度震蕩,同時(shí)也節(jié)省了帶寬分配的系統(tǒng)資源開銷。2、本發(fā)明在用戶的分配帶寬高于協(xié)議帶寬時(shí)采用快增加慢減少的策略,使用戶在有突發(fā)數(shù)據(jù)傳輸時(shí),可以迅速獲得高帶寬。在用戶的分配帶寬低于協(xié)議帶寬時(shí)采用慢增加快減少的策略,能夠讓用戶在網(wǎng)絡(luò)中有剩余帶寬的情況下獲得更大的帶寬,而且慢增加快減少讓用戶可以相對公平的獲取額外帶寬,同時(shí)在用戶不需要額外帶寬時(shí),也可以迅速釋放帶寬,供其他用戶使用。3、根據(jù)隊(duì)列狀態(tài)和帶寬分配標(biāo)志對用戶進(jìn)行分組,對每組用戶采取不同的帶寬分配方法,使帶寬分配方法更加準(zhǔn)確、快速、有效,同時(shí)節(jié)省了 CPU的計(jì)算資源,因此可以很好地控制帶寬分配算法的系統(tǒng)資源開銷。
圖1為本發(fā)明的帶寬分配示意圖2為本發(fā)明的隊(duì)列門限設(shè)置示意圖;圖3為本發(fā)明的帶寬分配總體流程圖;圖4為本發(fā)明的AO組帶寬分配分支流程圖;圖5為本發(fā)明的Al組帶寬分配分支流程圖;圖6為本發(fā)明的BO組帶寬分配分支流程圖;圖7為本發(fā)明的BI組帶寬分配分支流程圖。
具體實(shí)施例方式為使本發(fā)明目的、技術(shù)方案以及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)例,對本 發(fā)明進(jìn)行近一步地詳細(xì)說明。參照圖1,本發(fā)明提供的一種粗粒度動態(tài)帶寬分配方法,首先設(shè)置帶寬分配參數(shù),包括帶寬分配周期t、協(xié)議帶寬B。、初始帶寬Bmin、最高帶寬Bmax、加權(quán)平均帶寬Ba、等效帶寬Be、隊(duì)列門限G,帶寬調(diào)整策略包括舉手示意、快增慢減、慢增快減,其中協(xié)議帶寬B。網(wǎng)絡(luò)服務(wù)提供商在用戶接入網(wǎng)絡(luò)時(shí)承諾給予用戶的一個(gè)帶寬額度,即協(xié)議帶寬B。。這個(gè)帶寬值是網(wǎng)絡(luò)服務(wù)提供商必須保證用戶在需要時(shí)能夠獲得的。初始帶寬Bmin :用戶接入網(wǎng)絡(luò)后,在沒有數(shù)據(jù)需要傳輸時(shí),分配給用戶的帶寬值Bminj O Bmin < Bc。最高帶寬Bmax:允許用戶占用的最大網(wǎng)絡(luò)帶寬值Bmax,防止用戶過度占用帶寬,導(dǎo)致其他的用戶在需要時(shí)無法分配到額外的帶寬,Bc ( Bmax。加權(quán)平均帶寬Ba :在帶寬分配的時(shí)間間隔t內(nèi)對用戶的網(wǎng)絡(luò)流量進(jìn)行統(tǒng)計(jì),通過統(tǒng)計(jì)t時(shí)間內(nèi)傳輸?shù)臄?shù)據(jù)分組,計(jì)算出該用戶本周期t時(shí)間間隔內(nèi)的平均帶寬Bt,再與上一周期的疊加平均帶寬Bt:進(jìn)行算術(shù)平均,得到本周期的疊加平均帶寬Bt%進(jìn)而得到這一段時(shí)間的加權(quán)平均帶寬Ba,即Ba =β為加權(quán)系數(shù),O彡β彡I。隊(duì)列門限G :通過設(shè)置一些隊(duì)列門限值來反映當(dāng)前的隊(duì)列狀態(tài),從而采取相應(yīng)的措施進(jìn)行帶寬分配。等效帶寬:根據(jù)對應(yīng)的隊(duì)列門限值G和帶寬分配周期t獲得的帶寬Be,即=G/t??煸雎郎p策略如果用戶在上一個(gè)帶寬分配周期獲得的帶寬Blri小于協(xié)議帶寬B。,對該用戶在這一個(gè)帶寬分配周期的帶寬調(diào)整采用快增慢減策略,即待發(fā)送數(shù)據(jù)分組隊(duì)列長度大于或等于某個(gè)門限值時(shí),立即將該用戶的分配帶寬快速增加到協(xié)議帶寬B。,而當(dāng)待發(fā)送數(shù)據(jù)分組隊(duì)列長度連續(xù)P個(gè)t周期小于或等于某個(gè)門限值時(shí),I < P < 5,并且Ba小于或等于這個(gè)門限值對應(yīng)的等效帶寬時(shí),才將用戶的分配帶寬減少一個(gè)固定量ABd。慢增快減策略如果用戶Blri大于或等于B。時(shí),對該用戶的帶寬調(diào)整采用慢增快減策略,即待發(fā)送數(shù)據(jù)分組隊(duì)列長度連續(xù)m個(gè)t周期大于或等于某個(gè)門限值,I < m < 5,并且網(wǎng)絡(luò)中有未分配的額外帶寬資源時(shí),才將用戶的帶寬增加一個(gè)固定量ABu,而當(dāng)待發(fā)送數(shù)據(jù)分組隊(duì)列長度連續(xù)η次個(gè)t周期小于某個(gè)門限值,5,將用戶的帶寬減少一個(gè)固定量Λ Bu,如果下一個(gè)周期隊(duì)列繼續(xù)減少并連續(xù)η個(gè)t周期小于另一個(gè)門限值,則將用戶的帶寬減少一個(gè)固定量2*ABU,以此類推,直到帶寬減少到B。,或者網(wǎng)絡(luò)中有其他用戶需要增加帶寬到B。,但是網(wǎng)絡(luò)中沒有剩余帶寬資源Bs時(shí),當(dāng)前用戶的帶寬也會立即減少。
舉手示意用戶沒有業(yè)務(wù)傳輸時(shí)分配帶寬Bmin,只要用戶有業(yè)務(wù)需要傳輸就通知系統(tǒng),即謂之舉手示意,系統(tǒng)立刻為其分配協(xié)議帶寬B。,并開始統(tǒng)計(jì)加權(quán)平均帶寬Ba。僅舉例網(wǎng)絡(luò)中的三個(gè)用戶參與帶寬分配,每個(gè)用戶的具體帶寬參數(shù)的設(shè)定如表I所示表I用戶帶寬參數(shù)表
權(quán)利要求
1. 一種粗粒度動態(tài)帶寬分配方法,其特征包括如下步驟(1)根據(jù)用戶的需求和網(wǎng)絡(luò)環(huán)境,配置系統(tǒng)帶寬分配周期t、用戶的帶寬參數(shù)、緩存隊(duì)列門限、加權(quán)系數(shù)β以及阻尼系數(shù)P,m,η的值,將用戶的帶寬分配標(biāo)志F初始化為O;(2)判斷是否有用戶舉手,即舉手用戶為第一次有數(shù)據(jù)需要傳輸,如果沒有,轉(zhuǎn)到步驟(3),如果有,為舉手用戶分配協(xié)議帶寬B。,并開始統(tǒng)計(jì)該用戶的加權(quán)平均帶寬Ba,在第一個(gè)統(tǒng)計(jì)周期t內(nèi)不做加權(quán)處理,經(jīng)過M個(gè)帶寬分配周期t,獲得穩(wěn)定的加權(quán)平均帶寬Ba,舉手用戶不執(zhí)行以下的帶寬分配算法;(3)對沒有舉手但滿足統(tǒng)計(jì)M個(gè)帶寬分配周期t以及上一周期分配帶寬值Blri大于初始帶寬Bmin條件的用戶,根據(jù)統(tǒng)計(jì)的加權(quán)平均帶寬和當(dāng)前隊(duì)列狀態(tài)執(zhí)行以下的帶寬分配操作,對沒有舉手不滿足上述條件的用戶,不執(zhí)行以下的帶寬分配算法;(3.1)按照當(dāng)前緩存隊(duì)列長度Gn將用戶分為兩組,Gn小于等于保證門限G。的分為A組, Gn大于G。的分為B組;(3. 2)對A組中的用戶進(jìn)行帶寬分配,按照用戶的帶寬分配標(biāo)志F將用戶分為兩組,將 F為O的用戶分為AO組,將F為I的用戶分為Al組;.3.2.1)對AO組中的用戶進(jìn)行帶寬分配;.3.2. La)為該用戶的帶寬判決門限上限G(n_1)u賦值保證門限G。,帶寬判決門限下限 G(n-1)d賦值Gdl,分配帶寬為協(xié)議帶寬B。,并置帶寬分配標(biāo)志F為I,轉(zhuǎn)到步驟3. 2.1. b);.3.2. l.b)判斷是否在此次帶寬分配周期內(nèi)對所有的AO組用戶完成了帶寬分配,如果是,完成對AO組用戶的帶寬分配,如果不是,為下一個(gè)AO組內(nèi)的用戶循環(huán)執(zhí)行3. 2.1. a);.3.2. 2)采取快增慢減策略對Al組中的用戶進(jìn)行帶寬分配;.3.2. 2. a)判斷該用戶的帶寬判決門限下限G(n_1)d是否小于或等于Gdl,如果是,轉(zhuǎn)到步驟3. 2. 2. b),如果不是,將該用戶移動到BI組,轉(zhuǎn)到步驟3. 2. 2. e);.3.2. 2. b)判斷該用戶的當(dāng)前緩存隊(duì)列長度Gn是否大于或等于帶寬判決門限上限G(Iri) u,如果是,為該用戶G(n_1)u賦值,保證門限G。,帶寬判決門限下限G(n_1)d賦值Gdl,分配帶寬增加為協(xié)議帶寬B。,轉(zhuǎn)到步驟3. 2. 2. e),如果不是,判斷該用戶的加權(quán)平均帶寬Ba是否大于或等于G(n_1)u對應(yīng)的Be,如果是,為該用戶G(n_1)u賦值賦值Gdl,分配帶寬為B。,轉(zhuǎn)到步驟3. 2. 2. e),如果不是轉(zhuǎn)到步驟3. .2. 2. c);.3.2. 2. c)判斷該用戶的Gn是否連續(xù)P次小于帶寬判決門限下限G(n_1)d,如果不是,為該用戶分配帶寬為上周期分配帶寬Blri,轉(zhuǎn)到步驟3. 2. 2. e),如果是,判斷該用戶的Ba是否小于帶寬判決門限上限G(n_1)d對應(yīng)的等效帶寬Be,如果不小于,為該用戶分配帶寬為上周期分配帶寬Blri,轉(zhuǎn)到步驟3. 2. 2. e),如果小于,為該用戶帶寬判決門限上限G(n_1)u賦值帶寬判決門限下限 G(n—i)d,將 G(n-1)d 對應(yīng)的Gdj的下一個(gè)門限Gd(j+1)賦給G(n-1) d,如果G(η-1) d為Gmin則不改變G(n_1)d的值,為該用戶分配帶寬為Blri減ABd,轉(zhuǎn)到步驟3. 2. 2. d);.3.2. 2. d)判斷該用戶的帶寬是否是初始帶寬Bmin,如果是,將該用戶的F置為0,轉(zhuǎn)到步驟3. 2. 2. e),如果不是則直接轉(zhuǎn)到步驟.3. 2. 2. e);.3.2. 2. e)判斷是否在此次帶寬分配周期內(nèi)對所有的Al組用戶完成了帶寬分配,如果是,完成對Al組用戶的帶寬分配,如果不是,為下一個(gè)Al組內(nèi)的用戶循環(huán)執(zhí)行3. 2. 2. a); (3. 3)對B組中的所有用戶預(yù)分配協(xié)議帶寬B。,預(yù)分配的帶寬不計(jì)入剩余帶寬Bs,按照用戶的帶寬分配標(biāo)志F將用戶分為兩組,將F為O的用戶分為BO組,將F為I的用戶分為BI組;.3. 3.1)對BO組中的用戶進(jìn)行帶寬分配;.3. 3.1. a)對該用戶帶寬判決門限上限G(n_1)u賦值Gul,帶寬判決門限下限G(n_1)d賦值保證門限G。,為該用戶分配帶寬B。,并置F為1,轉(zhuǎn)到步驟3. 3.1. b);.3. 3.1. b)判斷是否在此次帶寬分配周期內(nèi)對所有的BO組用戶完成了帶寬分配,如果是,完成對BO組用戶的帶寬分配,如果不是,為下一個(gè)BO組內(nèi)的用戶循環(huán)執(zhí)行3. 3.1. a); 3. 3. 2)采取慢增快減策略對BI組中的用戶進(jìn)行帶寬分配;.3. 3. 2. a)判斷當(dāng)前網(wǎng)絡(luò)中是否有未分配的帶寬,如果沒有,轉(zhuǎn)到步驟3. 4),如果有未分配的帶寬,轉(zhuǎn)到步驟3. 3. 2. b);.3. 3. 2. b)判斷該用戶帶寬判決門限上限G(n_1)u是否大于或等于Gul,如果不是,為該用戶G(n_1)u賦值Gul,帶寬判決門限下限G(n_1)d賦值保證門限G。并分配協(xié)議帶寬B。,轉(zhuǎn)到步驟 3. 3. 2. h),如果是,轉(zhuǎn)到步驟3. 3. 2. c);.3. 3. 2.c)判斷該用戶當(dāng)前緩存隊(duì)列長度Gn是否連續(xù)m次大于或等于G(n_1)u,如果不是, 轉(zhuǎn)到步驟3. 3. 2. e),如果是,判斷該用戶的上周期分配帶寬Blri是否小于該用戶的最高帶寬Bmax,如果是,轉(zhuǎn)到步驟3. 3. 2. d),如果不是,判斷剩余帶寬Bs是否大于或等于Bmax減協(xié)議帶寬B。,如果是,為該用戶分配帶寬為Bmax,轉(zhuǎn)到步驟3. 3. 2. f),如果不是,為該用戶分配帶寬為BcJPBs,轉(zhuǎn)到步驟(3.4);.3. 3. 2. d)判斷剩余帶寬Bs是否大于或等于該用戶的上周期分配帶寬Blri減B。加ABu, 如果是,對該用戶G(n_1)d賦值G(n_1)u,的下一個(gè)門限Gu(i+1)賦給G(n_1)u,如果 G(n_1)u為Gmax則不改變G(n_1)u的值,為該用戶分配帶寬為Blri加Λ Bu,且分配帶寬不超過Bmax, 轉(zhuǎn)到步驟3.3.2. h),如果不是,為該用戶分配帶寬為Blri加剩余帶寬Bs,轉(zhuǎn)到步驟(3.4);.3. 3. 2. e)判斷該用戶當(dāng)前緩存隊(duì)列長度Gn是否連續(xù)η次小于G(n_1)d,如果是,用y表示 Gn連續(xù)η次小于G(n_1)d的次數(shù),轉(zhuǎn)到步驟3. 3. 2. f),如果不是,判斷網(wǎng)絡(luò)剩余帶寬Bs是否大于或等于該用戶的Blri減B。,如果是,為該用戶分配帶寬為上周期分配帶寬Blri,轉(zhuǎn)到步驟 3. 3.2. h),如果不是,為該用戶分配帶寬為協(xié)議帶寬B。加剩余帶寬Bs,轉(zhuǎn)到步驟(3.4);.3. 3. 2. f)判斷(Bn+y*ABu)是否小于B。,如果是,轉(zhuǎn)到步驟3. 3. 2. g),如果不是,對該用戶G(n_1)d賦值為G(n_1)d對應(yīng)的Gui的下η個(gè)門限值Gu(1_n),G(n_1)u賦值為Gu(i_n+1),為該用戶分配帶寬為(BlriI* Δ Bu),轉(zhuǎn)到步驟3. 3. 2. h);.3. 3. 2. g)對G(n_1)u賦值Gul,G(n_1)d賦值G。并分配協(xié)議帶寬B。,轉(zhuǎn)到步驟3. 3. 2. h);.3.3. 2. h)判斷是否在此次帶寬分配周期內(nèi)對所有的BI組用戶完成了帶寬分配,如果是,完成對BI組用戶的帶寬分配,轉(zhuǎn)到步驟(4),如果不是,為下一個(gè)BI組內(nèi)的用戶循環(huán)執(zhí)行 3. 3. 2. a);(3. 4)為BI組未分配帶寬的用戶分配協(xié)議帶寬B。;(4)完成此次帶寬分配,轉(zhuǎn)到步驟(2)進(jìn)入下次帶寬分配周期。
2.根據(jù)權(quán)利要求1所述的粗粒度動態(tài)帶寬分配方法,其特征在于所述步驟⑶中的加權(quán)平均帶寬Ba的計(jì)算在帶寬分配的時(shí)間間隔t內(nèi)對用戶的網(wǎng)絡(luò)流量進(jìn)行統(tǒng)計(jì),通過統(tǒng)計(jì)t時(shí)間內(nèi)傳輸?shù)臄?shù)據(jù)分組,計(jì)算出該用戶本周期t時(shí)間間隔內(nèi)的平均帶寬Bt,再與上一周期的疊加平均帶寬Bt^進(jìn)行算術(shù)平均,得到本周期的疊加平均帶寬 Bt%進(jìn)而得到這一段時(shí)間的加權(quán)平均帶寬Ba,即Ba=β為加權(quán)系數(shù),0^ β ^ Io
3.根據(jù)權(quán)利要求1所述的粗粒度動態(tài)帶寬分配方法,其特征在于在步驟3.2. 2)采用的快增慢減方法為如果用戶在上次帶寬分配周期獲得的帶寬Blri小于協(xié)議帶寬B。,對該用戶在本次帶寬分配周期的帶寬調(diào)整采用快增慢減策略,即待發(fā)送數(shù)據(jù)分組隊(duì)列長度大于或等于判決門限上限值時(shí),立即將該用戶的分配帶寬快速增加到協(xié)議帶寬B。,而當(dāng)待發(fā)送數(shù)據(jù)分組隊(duì)列長度連續(xù)P個(gè)t周期小于或等于判決門限下限值時(shí),I < P < 5,并且Ba小于或等于這個(gè)門限值對應(yīng)的等效帶寬時(shí),將用戶的分配帶寬減少一個(gè)固定量ABd。
4.根據(jù)權(quán)利要求1所述的粗粒度動態(tài)帶寬分配方法,其特征在于在步驟3.3. 2)采用的慢增快減方法為如果用戶Blri大于或等于B。時(shí),對該用戶的帶寬調(diào)整采用慢增快減策略,即待發(fā)送數(shù)據(jù)分組隊(duì)列長度連續(xù)m個(gè)t周期大于或等于判決門限上限值,I < m < 5,并且網(wǎng)絡(luò)中有未分配的額外帶寬資源時(shí),將用戶的帶寬增加一個(gè)固定量ABu,而當(dāng)待發(fā)送數(shù)據(jù)分組隊(duì)列長度連續(xù)η個(gè)t周期小于判決門限下限值,5,將用戶的帶寬減少一個(gè)固定量Λ Bu,如果下一個(gè)周期隊(duì)列長度繼續(xù)減少并連續(xù)η個(gè)t周期小于下一個(gè)門限值,則將用戶的帶寬減少一個(gè)固定量2* Δ Bu,以此類推,直到帶寬減少到B。,或者網(wǎng)絡(luò)中有其他用戶需要增加帶寬到B。,但是網(wǎng)絡(luò)中沒有剩余帶寬資源Bs時(shí),當(dāng)前用戶的帶寬也會立即減少。
5.根據(jù)權(quán)利要求1所述的粗粒度動態(tài)帶寬分配方法,其特征在于通過設(shè)置多個(gè)門限值作為判斷帶寬分配的參考量,由協(xié)議帶寬Be*t得到保證門限G。,由初始帶寬Bmin*t得到最小門限Gmin,由最高帶寬Bmax*t得到最大門限Gmax,分別設(shè)置高于和低于G。的隊(duì)列門限值, 低于G。的門限個(gè)數(shù)為Nd,高于G。的門限個(gè)數(shù)為Nu,由(Gtj-GminV(Nfl)得到隊(duì)列門限間隔 Λ Gd,進(jìn)而得到保證門限G。以下的隊(duì)列門限值Gdi,Nd, Gdi的值隨著i的減小而減小, 由(Gmax-Gt5V(NJl)得到隊(duì)列門限間隔AGu,進(jìn)而得到保證門限G。以上的隊(duì)列門限值Guj,1^ j ^ Nu, Guj的值隨著j增大而增大;通過Gdi/t得到對應(yīng)的等效帶寬Bedi,作為加權(quán)平均帶寬Ba的比較參考值;根據(jù)Λ Gd/t得到協(xié)議帶寬B。以下的帶寬更新步長Λ Bd, Δ Gu/t得到協(xié)議帶寬B。之上的帶寬更新步長ABU。
全文摘要
本發(fā)明公開了一種粗粒度動態(tài)帶寬分配方法,用于解決共享信道中多個(gè)用戶之間快速、有效分配帶寬的問題。該方法首先對用戶的協(xié)議帶寬、初始帶寬、最高帶寬、隊(duì)列門限帶寬分配參數(shù)進(jìn)行配置。然后等待用戶舉手,為其分配協(xié)議帶寬并統(tǒng)計(jì)用戶的加權(quán)平均帶寬。待加權(quán)平均帶寬趨于穩(wěn)定,根據(jù)用戶的加權(quán)平均帶寬、當(dāng)前緩存隊(duì)列與等效帶寬、隊(duì)列門限的大小關(guān)系進(jìn)行帶寬分配。協(xié)議帶寬以下采用快增慢減策略分配帶寬,以上采用慢增快減策略分配帶寬。本發(fā)明具有系統(tǒng)資源占用率小的優(yōu)點(diǎn),可用于需要對系統(tǒng)帶寬進(jìn)行快速、有效的分配,而又不希望引入過多的帶寬計(jì)算開銷的通信系統(tǒng)中。
文檔編號H04L12/911GK103023819SQ20121059649
公開日2013年4月3日 申請日期2012年12月14日 優(yōu)先權(quán)日2012年12月14日
發(fā)明者邱智亮, 張冰, 趙哲, 張奭, 潘偉濤, 孫漢汶, 賀亮, 姚明旿, 鮑民權(quán), 劉煥峰 申請人:西安電子科技大學(xué)