本發(fā)明涉及無線通信技術(shù)領(lǐng)域,特別是指一種競爭窗口最小值的自適應(yīng)調(diào)整方法及裝置。
背景技術(shù):
無線局域網(wǎng)(wirelesslocalareanetwork,wlan)已經(jīng)稱為目前智能移動終端(含智能手機(jī)、平板電腦、筆記本電腦)等最重要的接入方式,wlan的熱點(diǎn)遍布于商業(yè)區(qū)域、辦公室、學(xué)校、醫(yī)院等各個(gè)場所,日益成為人們不可或缺的無線通信手段。wlan熱點(diǎn)既有企業(yè)、個(gè)人用戶自行安裝的專用的或私人的熱點(diǎn),也有中國移動、聯(lián)通、電信等運(yùn)營商安裝的公共熱點(diǎn)。多數(shù)情況下,企業(yè)和運(yùn)營商都必需評估熱點(diǎn)下所接入的終端數(shù),并盡可能的優(yōu)化網(wǎng)絡(luò)性能,以兼顧網(wǎng)絡(luò)部署的經(jīng)濟(jì)性和服務(wù)質(zhì)量。
wlan主要的國際標(biāo)準(zhǔn)是ieee802.11系列,現(xiàn)有的標(biāo)準(zhǔn)主要包括ieee802.11a,ieee802.11b,ieee802.11g等。
ieee802.11wlan可提供兩種媒體接入訪問機(jī)制:分布式協(xié)調(diào)功能(distributedcoordinationfunction,dcf)和點(diǎn)協(xié)調(diào)功能(pointcoordinationfunction,pcf)。目前主要使用的wlan設(shè)備采用的媒體接入控制(mediaaccesscontrol,mac)協(xié)議方案主要是dcf模式中基于載波偵聽多路訪問(carriersensemultipleaccess,csma)/沖突避免(collisionavoidance,ca)的框架。
dcf模式的基本訪問方式的實(shí)質(zhì)是通過兩次握手的ca機(jī)制,又稱為確認(rèn)(ack)機(jī)制,即只是有數(shù)據(jù)(data)幀和ack幀的發(fā)送,是一種相對簡單的握手機(jī)制。該方式實(shí)現(xiàn)起來比較簡單,當(dāng)一個(gè)終端成功接收目標(biāo)終端的數(shù)據(jù)之后,就發(fā)送一個(gè)ack幀,發(fā)送方在接收到ack幀后,就表示該數(shù)據(jù)幀發(fā)送成功。每一個(gè)終端中含有一個(gè)隊(duì)列,用于待發(fā)送數(shù)據(jù)的排隊(duì)。當(dāng)一個(gè)數(shù)據(jù)分組到達(dá)傳輸隊(duì)列前段時(shí),終端先使用csma機(jī)制進(jìn)行信道檢測。一個(gè)終端如果在發(fā)送一個(gè)數(shù)據(jù)幀之前檢測到信道的狀態(tài)為忙時(shí),就必須調(diào)用二進(jìn)制指數(shù)退避機(jī)制來競爭信道。退避的作用是將相互競爭信道的終端之間的媒體接入時(shí)間錯(cuò)開,從而降低發(fā)送數(shù)據(jù)時(shí)的沖突產(chǎn)生的概率。如果共享的信道保持空閑的時(shí)間超過了分布式幀間隔(dcfinter-framespace,difs),則就立即發(fā)送數(shù)據(jù)分組;如果信道處于忙狀態(tài),則說明共享的信道上有其他終端正在發(fā)送數(shù)據(jù)幀,故該終端的在隊(duì)列中首位的數(shù)據(jù)分組繼續(xù)等待發(fā)送,即推遲發(fā)送,待信道的狀態(tài)重新轉(zhuǎn)為空閑后,且空閑時(shí)間超過difs間隔,則重新啟動二進(jìn)制指數(shù)退避機(jī)制,以爭取共享信道的使用權(quán)。
終端從初始窗口值的均勻分布中隨機(jī)選擇一個(gè)退避時(shí)間(backofftime)作為計(jì)數(shù)器的初始值,開啟二進(jìn)制指數(shù)退避過程。該退避計(jì)數(shù)器的計(jì)數(shù)單位是以時(shí)隙(slot)為單位作減法(遞減)計(jì)數(shù),當(dāng)計(jì)數(shù)器值為0時(shí)終端方可發(fā)送數(shù)據(jù)。如果在退避過程中,若該終端再次探測到信道狀態(tài)處于忙時(shí),則退避計(jì)數(shù)器將停止做減法計(jì)數(shù)(凍結(jié)狀態(tài)),但不清零,直到偵聽信道空閑時(shí)間超過difs后,則恢復(fù)減法計(jì)數(shù)。
dcf模式下的基本訪問工作方式的過程,如圖1所示,圖1中,deferaccess表示接入判斷,beb表示二進(jìn)制指數(shù)退避算法。源終端在確認(rèn)信道空閑狀態(tài)的時(shí)間超過difs的情況時(shí)進(jìn)行數(shù)據(jù)幀分組發(fā)送。此時(shí)在同一基本服務(wù)集內(nèi)的有數(shù)據(jù)幀要傳輸?shù)钠渌K端,從該數(shù)據(jù)幀的相關(guān)位置中,獲取自己的網(wǎng)絡(luò)分配向量(networkallocationvector,nav),從而保留了相應(yīng)的后續(xù)傳輸時(shí)間。接收端的終端在成功收到一個(gè)分組數(shù)據(jù)以后,經(jīng)過短幀間間隔(shortinter-framespace,sifs)向發(fā)送端的終端回復(fù)一個(gè)ack分組。如果源終端收到ack分組,則該數(shù)據(jù)分組發(fā)送成功。
當(dāng)某一個(gè)終端需要發(fā)送數(shù)據(jù)幀時(shí),要通過載波偵聽機(jī)制來確定信道是否空閑,若信道處于忙狀態(tài),它將推遲發(fā)送直到信道處于空閑狀態(tài)的時(shí)間達(dá)到或超過difs時(shí),為了避免發(fā)生數(shù)據(jù)的沖突,這時(shí)該終端在發(fā)送數(shù)據(jù)幀前必須經(jīng)過一個(gè)附加的退避計(jì)數(shù)周期,將隨機(jī)的產(chǎn)生一個(gè)退避時(shí)間值,并將其存入退避計(jì)數(shù)器中,如果退避計(jì)數(shù)器中已經(jīng)存在著一個(gè)非0的值,那么該終端就不執(zhí)行產(chǎn)生隨機(jī)退避時(shí)間的這一過程。
隨機(jī)的退避時(shí)間產(chǎn)生的方法如下:
退避時(shí)間=int[cwi×random()]×slottime
其中,i表示終端的待傳輸?shù)臄?shù)據(jù)所處的退避階段,隨機(jī)函數(shù)random()用于產(chǎn)生一個(gè)均勻分布于[0,cw-1]范圍內(nèi)的偽隨機(jī)數(shù),cw表示競爭窗口(contentionwindow,cw)值,cw是物理層特征值cwmin(競爭窗口最小值)和cwmax(競爭窗口最大值)間的確定值,即cwmin<=cw<=cwmax;slottime為一個(gè)時(shí)隙時(shí)間,也是一個(gè)物理層的特征值。一個(gè)時(shí)隙的長度可以是20us。可知退避時(shí)間是一個(gè)以時(shí)隙時(shí)間為單位的隨機(jī)整數(shù)。
如圖2所示,每個(gè)終端都有要維護(hù)的cw參數(shù),cw的初始值是cwmin。若一個(gè)終端發(fā)送數(shù)據(jù)幀失敗時(shí),則說明當(dāng)前的網(wǎng)絡(luò)中負(fù)載較大或者鏈路狀況不好,該終端的cw值就會自動增加一倍,之后該終端每次因數(shù)據(jù)幀發(fā)送失敗而重傳時(shí),cw值都會增加一倍,即:
cw=2icwmin,i∈(0,m)
其中,i為數(shù)據(jù)幀重傳的次數(shù),m代表是最大重傳數(shù)。當(dāng)cw的值一直增加到cwmax時(shí),若在重傳數(shù)據(jù)幀時(shí),cw的值將維持cwmax值不變,直到該終端的當(dāng)前數(shù)據(jù)發(fā)送成功,或者達(dá)到了最大重傳次數(shù)的限制,cw值將會被重置為cwmin。
競爭窗口值越大,二進(jìn)制退避機(jī)制解決碰撞問題的能力就越強(qiáng),因?yàn)樵诶幂^大的競爭窗口值時(shí),終端之間選擇相同的退避值的概率就越小。在輕載情況下,較小的競爭窗口能保證較短的時(shí)延;另一方面,在重載的情況下,cw隨著碰撞次數(shù)的增加而指數(shù)遞增,降低了數(shù)據(jù)幀傳輸沖突的概率。競爭窗口值在達(dá)到cwmax后將不再增長,在重載情況下,確保了網(wǎng)絡(luò)的穩(wěn)定。數(shù)據(jù)幀成功發(fā)送或者重傳次數(shù)超過限制被丟掉時(shí),競爭窗口值均重置為cwmin。
當(dāng)終端數(shù)較少或業(yè)務(wù)量很少時(shí),窗口過大會引起不必要的延時(shí);當(dāng)終端數(shù)目很多且活躍的業(yè)務(wù)量較多的終端也很多時(shí),窗口過小會引起不同終端間的競爭沖突,從而也引起性能的下降。因此,在不同的業(yè)務(wù)、不同的終端數(shù)目下,合理的競爭窗口最小值的設(shè)定對wlan有重大意義,但是,現(xiàn)有技術(shù)中,競爭窗口最小值是固定的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種競爭窗口最小值的自適應(yīng)調(diào)整方法及裝置,以解決現(xiàn)有技術(shù)所存在的競爭窗口最小值是固定的問題。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種競爭窗口最小值的自適應(yīng)調(diào)整方法,包括:
在共用同一個(gè)信道的每個(gè)終端中各設(shè)置一個(gè)ccis計(jì)數(shù)器和一個(gè)ccis數(shù)組,所述ccis數(shù)組中的每個(gè)元素用于記錄相應(yīng)終端在有數(shù)據(jù)幀待發(fā)送且處于回退狀態(tài)時(shí)的信道連續(xù)空閑的時(shí)隙數(shù)目;
判斷終端i是否有數(shù)據(jù)幀待發(fā)送,若終端i有數(shù)據(jù)幀待發(fā)送,則終端i監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則初始化退避計(jì)數(shù)器執(zhí)行退避過程,ccis計(jì)數(shù)器開始計(jì)數(shù),在ccis計(jì)數(shù)期間,信道每經(jīng)過一個(gè)完整的空閑的時(shí)隙時(shí)間,退避計(jì)數(shù)器值減一、ccis計(jì)數(shù)器值加一;
終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道忙,則退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增,將ccis計(jì)數(shù)器的值存入ccis數(shù)組中的第一位,并將ccis計(jì)數(shù)器的值清零;
終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則退避計(jì)數(shù)器的值繼續(xù)遞減,ccis計(jì)數(shù)器的值從零開始遞增,直至退避計(jì)數(shù)器的值遞減為零,退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器停止遞增,并將ccis計(jì)數(shù)器的值按先后循序存入ccis數(shù)組的下一位;
在每次更新ccis數(shù)組時(shí),對ccis數(shù)組中的元素相加取平均值,基于得到的平均值,確定競爭窗口最小值。
進(jìn)一步地,所述終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道忙,則退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增包括:
終端i繼續(xù)監(jiān)聽信道,若終端i監(jiān)聽到自身發(fā)送數(shù)據(jù)或監(jiān)聽到其他終端發(fā)送數(shù)據(jù),則判斷信道忙,退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增。
進(jìn)一步地,所述競爭窗口最小值表示為:
cw_min=min(cw_max,int(c/{averageof[a1,a2,…an]}))
其中,cw_min表示競爭窗口最小值;cw_max表示預(yù)設(shè)的競爭窗口最大值;c是預(yù)設(shè)的正的常數(shù);a1,a2,...an表示ccis數(shù)組中的元素;averageof[a1,a2,…an]表示對ccis數(shù)組中的元素相加取平均值。
進(jìn)一步地,所述方法還包括:
若ccis數(shù)組的長度達(dá)到最大值時(shí),則采用移位寄存方式,存儲ccis計(jì)數(shù)器的值。
進(jìn)一步地,所述若ccis數(shù)組的長度達(dá)到最大值時(shí),則采用移位寄存方式,存儲ccis計(jì)數(shù)器的值包括:
刪除ccis數(shù)組中的第一個(gè)元素值且ccis數(shù)組中其余元素值左移一位,待存儲的ccis計(jì)數(shù)器的值添加在ccis數(shù)組的最后一位。
本發(fā)明實(shí)施例還提供一種競爭窗口最小值的自適應(yīng)調(diào)整裝置,包括:
設(shè)置模塊,用于在共用同一個(gè)信道的每個(gè)終端中各設(shè)置一個(gè)ccis計(jì)數(shù)器和一個(gè)ccis數(shù)組,所述ccis數(shù)組中的每個(gè)元素用于記錄相應(yīng)終端在有數(shù)據(jù)幀待發(fā)送且處于回退狀態(tài)時(shí)的信道連續(xù)空閑的時(shí)隙數(shù)目;
第一監(jiān)聽模塊,用于判斷終端i是否有數(shù)據(jù)幀待發(fā)送,若終端i有數(shù)據(jù)幀待發(fā)送,則終端i監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則初始化退避計(jì)數(shù)器執(zhí)行退避過程,ccis計(jì)數(shù)器開始計(jì)數(shù),在ccis計(jì)數(shù)期間,信道每經(jīng)過一個(gè)完整的空閑的時(shí)隙時(shí)間,退避計(jì)數(shù)器值減一、ccis計(jì)數(shù)器值加一;
第二監(jiān)聽模塊,用于終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道忙,則退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增,將ccis計(jì)數(shù)器的值存入ccis數(shù)組中的第一位,并將ccis計(jì)數(shù)器的值清零;
第三監(jiān)聽模塊,用于終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則退避計(jì)數(shù)器的值繼續(xù)遞減,ccis計(jì)數(shù)器的值從零開始遞增,直至退避計(jì)數(shù)器的值遞減為零,退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器停止遞增,并將ccis計(jì)數(shù)器的值按先后循序存入ccis數(shù)組的下一位;
確定模塊,用于在每次更新ccis數(shù)組時(shí),對ccis數(shù)組中的元素相加取平均值,基于得到的平均值,確定競爭窗口最小值。
進(jìn)一步地,所述第二監(jiān)聽模塊,用于終端i繼續(xù)監(jiān)聽信道,若終端i監(jiān)聽到自身發(fā)送數(shù)據(jù)或監(jiān)聽到其他終端發(fā)送數(shù)據(jù),則判斷信道忙,退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增。
進(jìn)一步地,所述競爭窗口最小值表示為:
cw_min=min(cw_max,int(c/{averageof[a1,a2,…an]}))
其中,cw_min表示競爭窗口最小值;cw_max表示預(yù)設(shè)的競爭窗口最大值;c是預(yù)設(shè)的正的常數(shù);a1,a2,...an表示ccis數(shù)組中的元素;averageof[a1,a2,…an]表示對ccis數(shù)組中的元素相加取平均值。
進(jìn)一步地,所述裝置還包括:
移位寄存模塊,用于若ccis數(shù)組的長度達(dá)到最大值時(shí),則采用移位寄存方式,存儲ccis計(jì)數(shù)器的值。
進(jìn)一步地,所述移位寄存模塊,用于刪除ccis數(shù)組中的第一個(gè)元素值且ccis數(shù)組中其余元素值左移一位,待存儲的ccis計(jì)數(shù)器的值添加在ccis數(shù)組的最后一位。
本發(fā)明的上述技術(shù)方案的有益效果如下:
上述方案中,在共用同一個(gè)信道的每個(gè)終端中各設(shè)置一個(gè)ccis計(jì)數(shù)器和一個(gè)ccis數(shù)組;判斷終端i是否有數(shù)據(jù)幀待發(fā)送,若終端i有數(shù)據(jù)幀待發(fā)送,則終端i監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則初始化退避計(jì)數(shù)器執(zhí)行退避過程,ccis計(jì)數(shù)器開始計(jì)數(shù),在ccis計(jì)數(shù)期間,信道每經(jīng)過一個(gè)完整的空閑的時(shí)隙時(shí)間,退避計(jì)數(shù)器值減一、ccis計(jì)數(shù)器值加一;終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道忙,則退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增,將ccis計(jì)數(shù)器的值存入ccis數(shù)組中的第一位,并將ccis計(jì)數(shù)器的值清零;終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則退避計(jì)數(shù)器的值繼續(xù)遞減,ccis計(jì)數(shù)器的值從零開始遞增,直至退避計(jì)數(shù)器的值遞減為零,退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器停止遞增,并將ccis計(jì)數(shù)器的值按先后循序存入ccis數(shù)組的下一位;在每次更新ccis數(shù)組時(shí),對ccis數(shù)組中的元素相加取平均值,基于得到的平均值,確定競爭窗口最小值。這樣,通過處于回退狀態(tài)時(shí)的信道連續(xù)空閑的時(shí)隙數(shù)目平均值自適應(yīng)調(diào)整競爭窗口最小值。
附圖說明
圖1為本發(fā)明實(shí)施例提供的dcf模式下的基本訪問工作方式示意圖;
圖2為本發(fā)明實(shí)施例提供的競爭窗口值變化示意圖;
圖3為本發(fā)明實(shí)施例提供的競爭窗口最小值的自適應(yīng)調(diào)整方法的流程示意圖;
圖4為本發(fā)明實(shí)施例提供的標(biāo)準(zhǔn)方法和競爭窗口最小值的自適應(yīng)調(diào)整方法的性能對比示意圖一;
圖5為本發(fā)明實(shí)施例提供的標(biāo)準(zhǔn)方法和競爭窗口最小值的自適應(yīng)調(diào)整方法的性能對比示意圖二;
圖6為本發(fā)明實(shí)施例提供的標(biāo)準(zhǔn)方法和競爭窗口最小值的自適應(yīng)調(diào)整方法的性能對比示意圖三;
圖7為本發(fā)明實(shí)施例提供的標(biāo)準(zhǔn)方法和競爭窗口最小值的自適應(yīng)調(diào)整方法的性能對比示意圖四;
圖8為本發(fā)明實(shí)施例提供的標(biāo)準(zhǔn)方法和競爭窗口最小值的自適應(yīng)調(diào)整方法的性能對比示意圖五。
具體實(shí)施方式
為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。
本發(fā)明針對現(xiàn)有的競爭窗口最小值是固定的問題,提供一種競爭窗口最小值的自適應(yīng)調(diào)整方法及裝置。
為了更好地理解本發(fā)明,先對二進(jìn)制指數(shù)退避機(jī)制進(jìn)行詳細(xì)說明:
終端在數(shù)據(jù)傳輸過程中產(chǎn)生沖突,其將選擇一個(gè)隨機(jī)的退避時(shí)間來避讓沖突且該退避時(shí)間的單位是時(shí)隙。啟動二進(jìn)制指數(shù)退避機(jī)制后,若信道空閑時(shí)退避時(shí)間將遞減1,退避時(shí)間遞減的過程稱為回退過程,相對于信道而言稱之為回退狀態(tài);若信道非空閑時(shí),退避時(shí)間將凍結(jié)(不遞減),此時(shí)稱為非回退過程,相對于信道而言稱之為非回退狀態(tài)。
從信道上看,可以把信道分為兩個(gè)狀態(tài),回退狀態(tài)和非回退狀態(tài)。所謂回退狀態(tài)是在difs/擴(kuò)展幀間間隔(extendedinter-framespace,eifs)后連續(xù)的一個(gè)無任何終端發(fā)送數(shù)據(jù)的時(shí)隙,在這個(gè)狀態(tài)下每過一個(gè)空閑的時(shí)隙,終端的回退計(jì)數(shù)器可以減一。其它的時(shí)間信道被占用,計(jì)數(shù)器的值凍結(jié)不作變化。凍結(jié)時(shí)間通常是由分組數(shù)據(jù)、ack數(shù)據(jù)以及必要的安全間隔構(gòu)成(含difs)。
本實(shí)施例定義的回退時(shí)間是由最大數(shù)量的連續(xù)空閑時(shí)隙組成的時(shí)間,兩個(gè)回退時(shí)間的間隔稱為凍結(jié)時(shí)間。
實(shí)施例一
如圖3所示,本發(fā)明實(shí)施例提供的競爭窗口最小值的自適應(yīng)調(diào)整方法,包括:
s101,在共用同一個(gè)信道的每個(gè)終端中各設(shè)置一個(gè)ccis計(jì)數(shù)器和一個(gè)ccis數(shù)組,所述ccis數(shù)組中的每個(gè)元素用于記錄相應(yīng)終端在有數(shù)據(jù)幀待發(fā)送且處于回退狀態(tài)時(shí)的信道連續(xù)空閑的時(shí)隙數(shù)目;
s102,判斷終端i是否有數(shù)據(jù)幀待發(fā)送,若終端i有數(shù)據(jù)幀待發(fā)送,則終端i監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則初始化退避計(jì)數(shù)器執(zhí)行退避過程,ccis計(jì)數(shù)器開始計(jì)數(shù),在ccis計(jì)數(shù)期間,信道每經(jīng)過一個(gè)完整的空閑的時(shí)隙時(shí)間,退避計(jì)數(shù)器值減一、ccis計(jì)數(shù)器值加一;
s103,終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道忙,則退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增,將ccis計(jì)數(shù)器的值存入ccis數(shù)組中的第一位,并將ccis計(jì)數(shù)器的值清零;
s104,終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則退避計(jì)數(shù)器的值繼續(xù)遞減,ccis計(jì)數(shù)器的值從零開始遞增,直至退避計(jì)數(shù)器的值遞減為零,退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器停止遞增,并將ccis計(jì)數(shù)器的值按先后循序存入ccis數(shù)組的下一位;
s105,在每次更新ccis數(shù)組時(shí),對ccis數(shù)組中的元素相加取平均值,基于得到的平均值,確定競爭窗口最小值。
本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法,在共用同一個(gè)信道的每個(gè)終端中各設(shè)置一個(gè)ccis計(jì)數(shù)器和一個(gè)ccis數(shù)組;判斷終端i是否有數(shù)據(jù)幀待發(fā)送,若終端i有數(shù)據(jù)幀待發(fā)送,則終端i監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則初始化退避計(jì)數(shù)器執(zhí)行退避過程,ccis計(jì)數(shù)器開始計(jì)數(shù),在ccis計(jì)數(shù)期間,信道每經(jīng)過一個(gè)完整的空閑的時(shí)隙時(shí)間,退避計(jì)數(shù)器值減一,ccis計(jì)數(shù)器值加一;終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道忙,則退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增,將ccis計(jì)數(shù)器的值存入ccis數(shù)組中的第一位,并將ccis計(jì)數(shù)器的值清零;終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則退避計(jì)數(shù)器的值繼續(xù)遞減,ccis計(jì)數(shù)器的值從零開始遞增,直至退避計(jì)數(shù)器的值遞減為零,退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器停止遞增,并將ccis計(jì)數(shù)器的值按先后循序存入ccis數(shù)組的下一位;在每次更新ccis數(shù)組時(shí),對ccis數(shù)組中的元素相加取平均值,基于得到的平均值,確定競爭窗口最小值。這樣,通過處于回退狀態(tài)時(shí)的信道連續(xù)空閑的時(shí)隙數(shù)目平均值自適應(yīng)調(diào)整競爭窗口最小值。
本實(shí)施例中,為了更好地理解本發(fā)明,可以假設(shè)某個(gè)無線局域網(wǎng)中有5個(gè)終端,且該5個(gè)終端共用同一個(gè)傳輸信道。每個(gè)終端都有一個(gè)用于計(jì)數(shù)的ccis計(jì)數(shù)器和一個(gè)用來調(diào)整競爭窗口最小值的ccis數(shù)組,ccis計(jì)數(shù)器和ccis數(shù)組的初始值為0,假設(shè)所述ccis數(shù)組的長度為n,所述ccis數(shù)組可以表示為[a1,a2,...an];某終端的ccis計(jì)數(shù)器開始計(jì)數(shù)的條件是當(dāng)該終端有數(shù)據(jù)幀待發(fā)送且該終端的退避計(jì)數(shù)處于回退狀態(tài)(非凍結(jié)狀態(tài))時(shí),則該終端的ccis計(jì)數(shù)器開始記錄該終端處于回退狀態(tài)時(shí)的信道連續(xù)空閑的時(shí)隙數(shù)目,也就是說,所述ccis數(shù)組中的每個(gè)元素用于記錄相應(yīng)終端在有數(shù)據(jù)幀待發(fā)送且處于回退狀態(tài)時(shí)的信道連續(xù)空閑的時(shí)隙數(shù)目。
本實(shí)施例中,每個(gè)終端的計(jì)數(shù)過程是相同的,ccis計(jì)數(shù)器的值,既與網(wǎng)絡(luò)的規(guī)模有關(guān),也與信道空閑與否有關(guān)系。下面以共用同一個(gè)信道且含有五個(gè)終端的無線局域網(wǎng)為例,簡述其中終端i的ccis計(jì)數(shù)器和ccis數(shù)組的工作過程,終端i的ccis計(jì)數(shù)器和ccis數(shù)組的工作過程包括:
a11,判斷終端i是否有數(shù)據(jù)幀待發(fā)送,若終端i有數(shù)據(jù)幀待發(fā)送,則終端i監(jiān)聽信道狀態(tài),若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則此時(shí)終端i隨機(jī)選擇一個(gè)退避時(shí)間作為退避計(jì)數(shù)器的初始值執(zhí)行退避過程,同時(shí),ccis計(jì)數(shù)器開始計(jì)數(shù),在ccis計(jì)數(shù)期間,信道每經(jīng)過一個(gè)完整的空閑的時(shí)隙(slot)時(shí)間,退避計(jì)數(shù)器值減一、ccis計(jì)數(shù)器值加一。
a12,終端i繼續(xù)監(jiān)聽信道,若信道空閑,退避計(jì)數(shù)器值繼續(xù)減一,ccis計(jì)數(shù)器值繼續(xù)加一,直至終端監(jiān)聽到信道忙,則退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增,將ccis的計(jì)數(shù)器的值存入ccis數(shù)組中的第一位,將ccis計(jì)數(shù)器的值清零,且不再計(jì)數(shù)。
a13,終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則退避計(jì)數(shù)器的值繼續(xù)遞減,ccis計(jì)數(shù)器重新開始計(jì)數(shù),ccis計(jì)數(shù)器的值從零開始遞增,直至退避計(jì)數(shù)器的值遞減為零或終端i監(jiān)聽到信道忙,此時(shí)退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器停止遞增,并將ccis計(jì)數(shù)器的值按先后循序存入ccis數(shù)組的下一位。
a14,在每次更新ccis數(shù)組時(shí),對ccis數(shù)組中的元素相加取平均值,基于得到的平均值,確定競爭窗口最小值;由于過長的回退時(shí)間浪費(fèi)信道資源,應(yīng)該降低競爭窗口大小,過小的回退時(shí)間容易產(chǎn)生較多的沖突,也浪費(fèi)信道資源,應(yīng)提升競爭窗口大小,總體上競爭窗口最小值和處于回退狀態(tài)時(shí)的信道連續(xù)空閑的時(shí)隙數(shù)目平均值是相反的調(diào)節(jié)關(guān)系(反比關(guān)系),具體的,可以根據(jù)式(1)確定競爭窗口最小值cw_min:
cw_min=min(cw_max,int(c/{averageof[a1,a2,…an]}))(1)
其中,cw_max表示預(yù)設(shè)的競爭窗口最大值;c是預(yù)設(shè)的正的常數(shù);a1,a2,...an表示ccis數(shù)組中的元素;averageof[a1,a2,…an]表示對ccis數(shù)組中的元素相加取平均值。
本實(shí)施例中,優(yōu)選地,c的取值為15.5*32=496;當(dāng)c=496時(shí),能夠保證在低總流量下和現(xiàn)有的網(wǎng)絡(luò)性能接近,總體上c的取值在256~512之間都是可行的。
本實(shí)施例中,cw_max可以保持固定,也可以隨cw_min的變化而同步地增加減小。
本實(shí)施例中,cw_min若小于或大于預(yù)設(shè)的門限閾值,則可以限制在預(yù)設(shè)的門限閾值內(nèi)。
本實(shí)施例中,利用多個(gè)連續(xù)的空閑時(shí)隙數(shù)的平均值作為調(diào)整依據(jù);連續(xù)的空閑時(shí)隙數(shù)的平均值能夠表明信道上可用于用戶競爭的時(shí)長,考慮到信道不能過渡飽和,需要保留充分的空閑時(shí)隙,因此若空閑時(shí)隙數(shù)過少,則增加最小競爭窗口,反之則降低競爭窗口最小值;連續(xù)空閑時(shí)隙數(shù)同時(shí)受到終端數(shù)和終端上的業(yè)務(wù)量影響,是一個(gè)綜合的、易于計(jì)算的指標(biāo)。
a15,終端的其它功能不變,當(dāng)終端i再次傳送數(shù)據(jù)幀時(shí),則按照最新確定的cw_min進(jìn)行二進(jìn)制回退,并重復(fù)執(zhí)行a11-a14。
在前述競爭窗口最小值的自適應(yīng)調(diào)整方法的具體實(shí)施方式中,進(jìn)一步地,所述終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道忙,則退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增包括:
終端i繼續(xù)監(jiān)聽信道,若終端i監(jiān)聽到自身發(fā)送數(shù)據(jù)或監(jiān)聽到其他終端發(fā)送數(shù)據(jù),則判斷信道忙,退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增。
本實(shí)施例中,作為一可選實(shí)施例,所述終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則退避計(jì)數(shù)器的值繼續(xù)遞減,ccis計(jì)數(shù)器的值從零開始遞增包括:
終端i繼續(xù)監(jiān)聽信道,在自身發(fā)送分組數(shù)據(jù)后且收到ack幀后,信道空閑時(shí)間超過一個(gè)difs時(shí)間后,退避計(jì)數(shù)器的值繼續(xù)遞減,ccis計(jì)數(shù)器的值從零開始遞增;或,
終端i繼續(xù)監(jiān)聽信道,在自身發(fā)送分組數(shù)據(jù)若未收到ack幀,則從數(shù)據(jù)分組后的eifs時(shí)間后,退避計(jì)數(shù)器的值繼續(xù)遞減,ccis計(jì)數(shù)器的值從零開始遞增。
在前述競爭窗口最小值的自適應(yīng)調(diào)整方法的具體實(shí)施方式中,進(jìn)一步地,所述方法還包括:
若ccis數(shù)組的長度達(dá)到最大值時(shí),則采用移位寄存方式,存儲ccis計(jì)數(shù)器的值。
在前述競爭窗口最小值的自適應(yīng)調(diào)整方法的具體實(shí)施方式中,進(jìn)一步地,所述若ccis數(shù)組的長度達(dá)到最大值時(shí),則采用移位寄存方式,存儲ccis計(jì)數(shù)器的值包括:
刪除ccis數(shù)組中的第一個(gè)元素值且ccis數(shù)組中其余元素值左移一位,待存儲的ccis計(jì)數(shù)器的值添加在ccis數(shù)組的最后一位。
最后,通過仿真驗(yàn)證本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法的可行性:
首先,考慮網(wǎng)絡(luò)處于飽和狀態(tài),即始終有待發(fā)送數(shù)據(jù)。按照ieee802.11b協(xié)議規(guī)定,取11mbps的數(shù)據(jù)速率,標(biāo)準(zhǔn)方法規(guī)定競爭窗口最小值cwmin=31,競爭窗口最大值cwmax=1023。在仿真中,數(shù)據(jù)包的大小為228字節(jié)。本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法,取c=496。如圖4所示,顯然在終端數(shù)較少時(shí),本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法相對保守,網(wǎng)絡(luò)吞吐量低于標(biāo)準(zhǔn)方法。但隨著終端數(shù)的增加,現(xiàn)有的標(biāo)準(zhǔn)方法不能很好的應(yīng)對多個(gè)終端的沖突問題,吞吐量隨著終端數(shù)不斷明顯下降,本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法即使在終端數(shù)較多的情況下也始終維持較高的吞吐量水平,且性能沒有下降。
飽和情況是非常罕見的情況,實(shí)際上此時(shí)網(wǎng)絡(luò)基本不可用了,實(shí)際上的網(wǎng)絡(luò)大部分是非飽和的。其次假設(shè)每個(gè)終端的流量是相同的,為平均每秒100個(gè)分組(分組按照泊松分布到達(dá))。顯然在終端數(shù)較少時(shí),網(wǎng)絡(luò)是不飽和的。
如圖5所示,在終端數(shù)較少(14個(gè)或以下)的非飽和情況下,本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法和標(biāo)準(zhǔn)方法的性能是相同的,均能滿足所有終端的流量需求。然而,當(dāng)終端數(shù)超出上述值時(shí),網(wǎng)絡(luò)進(jìn)入飽和,現(xiàn)有的標(biāo)準(zhǔn)方法性能下降,而本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法可以進(jìn)一步提升吞吐量支持16個(gè)終端,且終端繼續(xù)增加時(shí)吞吐量保存基本恒定。在20個(gè)終端時(shí),本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法吞吐量比標(biāo)準(zhǔn)方法大概提高10.5%。
與上個(gè)實(shí)驗(yàn)相同,將每個(gè)數(shù)據(jù)包的長度設(shè)為1200字節(jié),仿真結(jié)果如圖6所示。顯然由于數(shù)據(jù)包長度的增加,吞吐量有很大的提升,同時(shí)飽和點(diǎn)也更早達(dá)到。仿真結(jié)果表明,對于長的數(shù)據(jù)分組,本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法也是適用的,性能保持穩(wěn)定,沒有明顯的下降。
上述假設(shè)中各終端的業(yè)務(wù)是相同的,實(shí)際上不同的終端是不同的業(yè)務(wù)需求。假設(shè)終端編號為1到30,編號為k的終端每秒平均發(fā)送k*10個(gè)分組,每個(gè)分組為228字節(jié)。
現(xiàn)在假設(shè)終端不斷按序號加入,因此流量不斷上升,由于編號大的終端流量更大,因此吞吐量需求大體上拋物線型。在16個(gè)終端或更少時(shí),本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法和標(biāo)準(zhǔn)方法的性能是相同的,均能滿足所有終端的流量需求。然而,當(dāng)終端數(shù)超出上述值時(shí),網(wǎng)絡(luò)進(jìn)入飽和,現(xiàn)有的標(biāo)準(zhǔn)方法吞吐量性能提升不足,且可能下降,而本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法隨終端繼續(xù)增加至少保存基本恒定。在20個(gè)終端時(shí),本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法吞吐量比標(biāo)準(zhǔn)方法大概提高7.9%,如圖7所示。
最后一組實(shí)驗(yàn)同上,但是序號為i的終端發(fā)送的數(shù)據(jù)包為i*40個(gè)字節(jié),即不僅每秒鐘的數(shù)據(jù)包數(shù)量不同,而且數(shù)據(jù)包的長度也不同,此時(shí)的性能仿真如圖8所示。通過圖8可知,在這種綜合的情況下,本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法仍然有很好的性能表現(xiàn)。
綜上,本發(fā)明實(shí)施例所述的競爭窗口最小值的自適應(yīng)調(diào)整方法的優(yōu)點(diǎn)包括:
(1)依賴的數(shù)據(jù)量少,僅需要終端觀察最近若干次的連續(xù)空閑時(shí)隙數(shù)。
(2)算法簡單且無狀態(tài),僅需要根據(jù)平均連續(xù)空閑時(shí)隙數(shù)做簡單的除法運(yùn)算,無需記錄歷史值,例如:上次的窗口狀態(tài)。
(3)適應(yīng)性廣,適合不同數(shù)量的終端,這些終端在不同的時(shí)間可以有不同的數(shù)據(jù)分組待發(fā)送,這些數(shù)據(jù)分組有不同的長度。
實(shí)施例二
本發(fā)明還提供一種最小競爭窗口的自適應(yīng)調(diào)整裝置的具體實(shí)施方式,由于本發(fā)明提供的最小競爭窗口的自適應(yīng)調(diào)整裝置與前述競爭窗口最小值的自適應(yīng)調(diào)整方法的具體實(shí)施方式相對應(yīng),該最小競爭窗口的自適應(yīng)調(diào)整裝置可以通過執(zhí)行上述方法具體實(shí)施方式中的流程步驟來實(shí)現(xiàn)本發(fā)明的目的,因此上述競爭窗口最小值的自適應(yīng)調(diào)整方法具體實(shí)施方式中的解釋說明,也適用于本發(fā)明提供的最小競爭窗口的自適應(yīng)調(diào)整裝置的具體實(shí)施方式,在本發(fā)明以下的具體實(shí)施方式中將不再贅述。
本發(fā)明實(shí)施例還提供一種最小競爭窗口的自適應(yīng)調(diào)整裝置,包括:
設(shè)置模塊,用于在共用同一個(gè)信道的每個(gè)終端中各設(shè)置一個(gè)ccis計(jì)數(shù)器和一個(gè)ccis數(shù)組,所述ccis數(shù)組中的每個(gè)元素用于記錄相應(yīng)終端在有數(shù)據(jù)幀待發(fā)送且處于回退狀態(tài)時(shí)的信道連續(xù)空閑的時(shí)隙數(shù)目;
第一監(jiān)聽模塊,用于判斷終端i是否有數(shù)據(jù)幀待發(fā)送,若終端i有數(shù)據(jù)幀待發(fā)送,則終端i監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則初始化退避計(jì)數(shù)器執(zhí)行退避過程,ccis計(jì)數(shù)器開始計(jì)數(shù),在ccis計(jì)數(shù)期間,信道每經(jīng)過一個(gè)完整的空閑的時(shí)隙時(shí)間,退避計(jì)數(shù)器值減一、ccis計(jì)數(shù)器值加一;
第二監(jiān)聽模塊,用于終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道忙,則退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增,將ccis計(jì)數(shù)器的值存入ccis數(shù)組中的第一位,并將ccis計(jì)數(shù)器的值清零;
第三監(jiān)聽模塊,用于終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則退避計(jì)數(shù)器的值繼續(xù)遞減,ccis計(jì)數(shù)器的值從零開始遞增,直至退避計(jì)數(shù)器的值遞減為零,退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器停止遞增,并將ccis計(jì)數(shù)器的值按先后循序存入ccis數(shù)組的下一位;
確定模塊,用于在每次更新ccis數(shù)組時(shí),對ccis數(shù)組中的元素相加取平均值,基于得到的平均值,確定競爭窗口最小值。
本發(fā)明實(shí)施例所述的最小競爭窗口的自適應(yīng)調(diào)整裝置,在共用同一個(gè)信道的每個(gè)終端中各設(shè)置一個(gè)ccis計(jì)數(shù)器和一個(gè)ccis數(shù)組;判斷終端i是否有數(shù)據(jù)幀待發(fā)送,若終端i有數(shù)據(jù)幀待發(fā)送,則終端i監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則初始化退避計(jì)數(shù)器執(zhí)行退避過程,ccis計(jì)數(shù)器開始計(jì)數(shù),在ccis計(jì)數(shù)期間,信道每經(jīng)過一個(gè)完整的空閑的時(shí)隙時(shí)間,退避計(jì)數(shù)器值減一、ccis計(jì)數(shù)器值加一;終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道忙,則退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增,將ccis計(jì)數(shù)器的值存入ccis數(shù)組中的第一位,并將ccis計(jì)數(shù)器的值清零;終端i繼續(xù)監(jiān)聽信道,若監(jiān)聽到信道空閑的時(shí)間超過一個(gè)difs時(shí)間,則退避計(jì)數(shù)器的值繼續(xù)遞減,ccis計(jì)數(shù)器的值從零開始遞增,直至退避計(jì)數(shù)器的值遞減為零,退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器停止遞增,并將ccis計(jì)數(shù)器的值按先后循序存入ccis數(shù)組的下一位;在每次更新ccis數(shù)組時(shí),對ccis數(shù)組中的元素相加取平均值,基于得到的平均值,確定競爭窗口最小值。這樣,通過處于回退狀態(tài)時(shí)的信道連續(xù)空閑的時(shí)隙數(shù)目平均值自適應(yīng)調(diào)整競爭窗口最小值。
在前述最小競爭窗口的自適應(yīng)調(diào)整裝置的具體實(shí)施方式中,進(jìn)一步地,所述第二監(jiān)聽模塊,用于終端i繼續(xù)監(jiān)聽信道,若終端i監(jiān)聽到自身發(fā)送數(shù)據(jù)或監(jiān)聽到其他終端發(fā)送數(shù)據(jù),則判斷信道忙,退避計(jì)數(shù)器的值停止遞減且ccis計(jì)數(shù)器的值停止遞增。
在前述最小競爭窗口的自適應(yīng)調(diào)整裝置的具體實(shí)施方式中,進(jìn)一步地,所述競爭窗口最小值表示為:
cw_min=min(cw_max,int(c/{averageof[a1,a2,…an]}))
其中,cw_min表示競爭窗口最小值;cw_max表示預(yù)設(shè)的競爭窗口最大值;c是預(yù)設(shè)的正的常數(shù);a1,a2,...an表示ccis數(shù)組中的元素;averageof[a1,a2,…an]表示對ccis數(shù)組中的元素相加取平均值。
在前述最小競爭窗口的自適應(yīng)調(diào)整裝置的具體實(shí)施方式中,進(jìn)一步地,所述裝置還包括:
移位寄存模塊,用于若ccis數(shù)組的長度達(dá)到最大值時(shí),則采用移位寄存方式,存儲ccis計(jì)數(shù)器的值。
在前述最小競爭窗口的自適應(yīng)調(diào)整裝置的具體實(shí)施方式中,進(jìn)一步地,所述移位寄存模塊,用于刪除ccis數(shù)組中的第一個(gè)元素值且ccis數(shù)組中其余元素值左移一位,待存儲的ccis計(jì)數(shù)器的值添加在ccis數(shù)組的最后一位。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。
以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。