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