專利名稱:一種usp期間的幀發(fā)送方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種USP(Unscheduled ServicePeriod,非調(diào)度服務(wù)期)期間的幀發(fā)送方法和設(shè)備。
背景技術(shù):
802.11e協(xié)議是對802.11協(xié)議的QoS(Quality of Service,服務(wù)質(zhì)量)特性增強,該協(xié)議定義了四個硬件發(fā)送AC(Access Category,隊列),每個幀屬于一個AC,而每個AC使用不同的信道競爭參數(shù)競爭信道,從而實現(xiàn)了無線信道上的QoS功能。
協(xié)議還定義了新的節(jié)能模式APSD(Automatic Power Save Delivery,自動節(jié)能發(fā)送),這種節(jié)能模式在EDCA(Enhanced Distributed Channel Access,增強的分布式信道訪問)模式下的硬件實現(xiàn)被稱為U-APSD(Unscheduled APSD,非調(diào)度自動節(jié)能發(fā)送)。在U-APSD模式下,QAP(Quality of service AccessPoint,支持802.11e的無線局域網(wǎng)WLAN接入點)需要單獨維護一個delivery緩存隊列,在QSTA(Quality of service Station,支持802.11e的WLAN終端站點)進入睡眠狀態(tài)時,QAP需要將符合條件的幀緩存至delivery隊列。Delivery緩存隊列中幀的發(fā)送方式也和802.11中定義的不同,QSTA無需定時監(jiān)聽這個隊列中是否有緩存幀,而是定時醒來通過發(fā)送幀來觸發(fā)QAP將delivery隊列中的幀發(fā)給自己。QAP收到QSTA發(fā)來的觸發(fā)幀后,需要將delivery緩存隊列中一定個數(shù)的幀發(fā)送給QSTA,QSTA需要在接入QAP時指定這個個數(shù)的最大值,而這個將幀發(fā)送給QSTA的時間段稱為USP。QAP在USP期間發(fā)送的幀頭部的EOSP(End of Service Period,服務(wù)結(jié)束)位為0,最后一個幀的EOSP位為1。QSTA收到EOSP位為1的幀后可以繼續(xù)進入睡眠模式。
現(xiàn)有技術(shù)中,QAP向QSTA發(fā)送幀的步驟如圖2所示,包括
步驟s201、QSTA通知QAPQSTA進入睡眠模式。
步驟s202、QAP在QSTA睡眠期間,將需要向QSTA發(fā)送的幀緩存到隊列。
步驟s203、QSTA在預(yù)定的時間到達時醒來。
步驟s204、QSTA向QAP發(fā)送觸發(fā)幀,通知QAPQSTA已經(jīng)處于喚醒狀態(tài)。
步驟s205、QAP向QSTA發(fā)送緩存的N個幀,N由QSTA指定。其中前N-1個幀F(xiàn)RAME 1至FRAME N-1的EOSP為0,最后一個幀F(xiàn)RAME N的EOSP為1。具體的,QAP將緩存的幀分發(fā)到不同的AC隊列中,進行競爭發(fā)送。
步驟s206、QSTA接收到QAP發(fā)送的EOSP=1的幀時,繼續(xù)進入睡眠模式。
使用該方法時,由于不同AC中的幀競爭信道的能力是不同的,也就會存在高優(yōu)先級的EOSP=1的幀被先發(fā)送給QSTA的情況。這種情況下,QSTA收到EOSP=1的幀后認為QAP的USP已經(jīng)結(jié)束,可以進入休眠狀態(tài),QSTA進入休眠狀態(tài)后,就不會再接收幀。這樣,QSTA就不能接收到在EOSP=1的幀后發(fā)送的所有幀,從而導(dǎo)致這些幀被丟棄。
現(xiàn)有技術(shù)中通過逐幀確認可以解決該問題。逐幀確認的原理為將不同AC的幀緩存在同一個delivery隊列后,USP開始后,QAP軟件從隊列中取出一個幀,交給QAP硬件發(fā)送,并要求QAP硬件在幀發(fā)送完成時上報QAP軟件;QAP硬件上報該幀發(fā)送完成時,QAP軟件從隊列中取出下一個幀,再交給硬件進行發(fā)送,并要求在幀發(fā)送完成時上報軟件;依次往復(fù),直至將隊列中的幀發(fā)送完畢。
使用該逐幀確認的方法時,因每個幀都需要硬件將幀的發(fā)送結(jié)果上報給軟件,會直接導(dǎo)致系統(tǒng)負載較重;而軟件知道這個結(jié)果后才能發(fā)送后一個幀,致使發(fā)送同樣個數(shù)的幀的總時間增長,QSTA需要保持正常工作狀態(tài)的時間增長,浪費了QSTA的資源。
發(fā)明內(nèi)容
本發(fā)明要解決的問題是提供一種USP期間的幀發(fā)送方法,以保證UPS期間,QAP需要向QSTA發(fā)送幀時,QAP隊列中的最后一個幀在最后向QSTA發(fā)送。
為達到上述目的,本發(fā)明提供一種USP期間的幀發(fā)送方法,包括以下步驟QAP將除最后一個幀之外的所有幀向QSTA發(fā)送;所述QAP對所述發(fā)送的幀進行統(tǒng)計,在除所述最后一個幀之外的所有幀發(fā)送完成時,將最后一幀發(fā)送給QSTA。
其中,所述QAP將除最后一個幀之外的所有幀向QSTA發(fā)送的步驟具體包括所述QAP接收到所述QSTA發(fā)送的觸發(fā)幀后,獲取需要向所述QSTA發(fā)送的幀的數(shù)目;所述QAP從緩存中讀取與所述數(shù)目相同的幀;所述QAP將所述讀取的幀中除最后一個幀外的所有幀分發(fā)到對應(yīng)隊列;所述QAP將所述隊列中的幀向所述QSTA競爭發(fā)送。
其中,所述QAP對所述發(fā)送的幀進行統(tǒng)計的具體方法為所述QAP通過計數(shù)器對所述發(fā)送的幀進行統(tǒng)計。
其中,所述QAP通過計數(shù)器對所述發(fā)送的幀進行統(tǒng)計的步驟具體為所述QAP設(shè)置計數(shù)器,所述計數(shù)器的初始值為除所述最后一個幀之外的所有幀的數(shù)目;所述QAP每向所述QSTA發(fā)送一幀,將所述計數(shù)器的值減1。
其中,所述QAP在除所述最后一個幀之外的所有幀發(fā)送完成時,將最后一幀發(fā)送給QSTA的步驟具體為所述QAP檢測所述計數(shù)器的數(shù)值,所述計數(shù)器數(shù)值為0時,判斷為除所述最后一個幀之外的所有幀已經(jīng)發(fā)送完成,并將最后一幀發(fā)送給QSTA。
其中,所述除最后一個幀之外的所有幀的服務(wù)結(jié)束位EOSP標識為0,所述最后一個幀的EOSP標識為1。
本發(fā)明還提供一種QAP設(shè)備,包括控制模塊,用于將除最后一個幀之外的所有幀發(fā)送至隊列模塊;在統(tǒng)計發(fā)現(xiàn)除所述最后一個幀之外的所有幀發(fā)送完成時,將最后一幀發(fā)送至幀發(fā)送模塊;隊列模塊,用于將從所述控制模塊接收到的幀向QSTA發(fā)送。
其中,還包括計數(shù)器模塊,用于根據(jù)所述控制模塊的設(shè)置將計數(shù)初始值設(shè)為除最后一個幀之外的所有幀的數(shù)目;所述隊列模塊每發(fā)送一個幀時,將所述計數(shù)減1;當所述計數(shù)為0時,通知所述控制模塊除所述最后一個幀之外的所有幀發(fā)送完成。
其中,還包括緩存模塊,用于存儲QAP需要向QSTA發(fā)送的幀,并提供給所述控制模塊。
其中,還包括接收模塊,用于接收QSTA發(fā)送的觸發(fā)幀,并通知所述控制模塊。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點實現(xiàn)了USP期間QAP將EOSP=1的幀最后發(fā)送給QSTA,有效的節(jié)約了系統(tǒng)資源,保證了通信的正常和802.11e協(xié)議定義的U-APSD節(jié)能模式的效果。
圖1是現(xiàn)有技術(shù)中802.11e協(xié)議中不同的AC隊列競爭信道的示意圖;圖2是現(xiàn)有技術(shù)中USP期間QAP向QSTA發(fā)送幀的流程圖;圖3是本發(fā)明的實施例一中,一種USP期間的幀發(fā)送方法流程圖;圖4是本發(fā)明的實施例二中,一種USP期間的幀發(fā)送方法流程圖;圖5是本發(fā)明的實施例三中,一種QAP設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式
針對USP時最后一個幀(EOSP=1)被提前發(fā)送給QSTA的問題,本發(fā)明一種USP期間的幀發(fā)送方法的核心在于,假設(shè)USP期間QAP有N個幀要發(fā)送給QSTA,則QAP收到觸發(fā)幀后,先將前面N-1個幀向QSTA發(fā)送,并對這N-1個幀的發(fā)送進行統(tǒng)計,當這N-1個幀都已經(jīng)向QSTA發(fā)送完畢后,QAP再將最后一個幀向QSTA發(fā)送,從而可以保證EOSP=1的幀最后發(fā)送。
以下結(jié)合附圖和實施例,對本發(fā)明的實施方式做進一步說明。
本發(fā)明的實施例一中,一種USP期間的幀發(fā)送方法如圖3所示,包括步驟s301、在USP時間開始時,QAP將緩存內(nèi)除最后一個幀之外的所有幀分發(fā)到對應(yīng)的隊列。
USP時間開始的標志為QAP接收到QSTA發(fā)送的觸發(fā)幀,QSTA通過該觸發(fā)幀通知QAPQSTA已經(jīng)處于喚醒狀態(tài)。此時QAP需要向QSTA發(fā)送緩存的幀,發(fā)送的幀的個數(shù)由QSTA進行指定。以下以QSTA要求QAP向其發(fā)送10個幀為例,則QAP將緩存中的第10個幀設(shè)置為最后一幀。本步驟中,QAP首先讀取緩存中的前9個幀,并將這前9個幀分發(fā)到對應(yīng)的AC隊列中。
步驟s302、QAP的隊列內(nèi)的幀自動競爭向QSTA發(fā)送。
QAP將AC隊列中的9個幀進行自動競爭發(fā)送。同時,這些幀的EOSP=0。
步驟s303、QAP對發(fā)送的幀進行統(tǒng)計,發(fā)現(xiàn)除最后一個幀之外的所有幀都已發(fā)送完成。
QAP對AC隊列中需要向QSTA發(fā)送的9個幀進行統(tǒng)計,并在某一時刻發(fā)現(xiàn)隊列中的9個幀都已發(fā)送完成。
步驟s304、QAP將緩存內(nèi)最后一幀發(fā)送給QSTA。
QAP將緩存中的最后一幀(即第10幀)EOSP設(shè)置為1,并將該幀分發(fā)到對應(yīng)的隊列中,向QSTA發(fā)送。QSTA收到EOSP位為1的幀后,繼續(xù)進入睡眠模式,USP時間結(jié)束。
在步驟s303的實現(xiàn)方式上,可以設(shè)置計數(shù)器實現(xiàn)QAP對除最后一個幀之外的所有幀是否已經(jīng)向QSTA發(fā)送完成的統(tǒng)計,本發(fā)明的實施例二中,以QSTA要求QAP向其發(fā)送10個幀時,QAP通過設(shè)置計數(shù)器對幀發(fā)送進行統(tǒng)計的具體場景為例,USP期間的幀發(fā)送方法如圖4所示,包括
步驟s401、QSTA通知QAPQSTA進入睡眠模式。
QAP在QSTA睡眠期間,將需要向QSTA發(fā)送的幀緩存到隊列。
步驟s402、QSTA在預(yù)定的時間到達時醒來。
步驟s403、QSTA向QAP發(fā)送觸發(fā)幀,通知QAPQSTA已經(jīng)處于喚醒狀態(tài)。
步驟s404、QAP讀取緩存中存儲的前N=10個幀,并將除第10個幀之外的前9個幀分發(fā)到對應(yīng)的隊列,此時將計數(shù)器的初始值設(shè)置為N-1=10-1=9。
步驟s405、QAP的隊列內(nèi),自動競爭發(fā)送第1個幀至第9個幀F(xiàn)RAME1至FRAME 9,這些幀不是最后一個幀,因此其EOSP=0。
步驟s406、QAP在每發(fā)送完一幀時,將幀指向的計數(shù)器減1。
步驟s407、隊列內(nèi)的9個幀都發(fā)送完畢時,QAP內(nèi)的計數(shù)器由9變?yōu)?。
步驟s408、QAP將隊緩存中的第10個幀F(xiàn)RAME 10的EOSP位設(shè)置為1,分發(fā)到對應(yīng)的隊列中并向QSTA發(fā)送。
步驟s409、QSTA接收到QAP發(fā)送的EOSP=1的幀時,繼續(xù)進入睡眠模式。
本實施例中也可以采用其他計數(shù)方式,只要能夠?qū)Τ詈笠粋€幀的其它幀的發(fā)送是否完成進行統(tǒng)計檢測即可。另外,在QAP緩存中的幀數(shù)小于QSTA要求發(fā)送的幀數(shù)時,如QSTA要求QAP向其發(fā)送10個幀,而QAP緩存隊列中只有8個幀,則QAP將第8個幀設(shè)置為最后一幀,首先將前7個幀向QSTA發(fā)送,該流程與實施例一和實施例二描述的過程相似。以上情況在此不作重復(fù)描述。
通過使用以上實施例一和實施例二所描述的方法,實現(xiàn)了USP期間QAP將EOSP=1的幀最后發(fā)送給QSTA,有效的節(jié)約了系統(tǒng)資源,保證了通信的正常和802.11e協(xié)議定義的U-APSD節(jié)能模式的效果。
本發(fā)明的實施例三中,一種QAP設(shè)備的結(jié)構(gòu)如圖5所示,包括控制模塊10和隊列模塊20,具體的控制模塊10,用于對QAP向QSTA發(fā)送的幀進行控制。具體地,在USP時間到來需要向QSTA發(fā)送N個幀時,按順序獲取緩存的前N個幀,并將其中的前N-1個幀發(fā)送至隊列模塊20;在統(tǒng)計發(fā)現(xiàn)除該N-1個幀全部發(fā)送完成時,將緩存的第N個幀轉(zhuǎn)發(fā)至隊列模塊20。
隊列模塊20,用于將從控制模塊10接收到的幀向QSTA發(fā)送。具體地,該發(fā)送分為兩個階段,第一階段是將從控制模塊10接收到的N-1個幀通過自動競爭向QSTA發(fā)送,第二階段是將從控制模塊10接收到的最后一幀,即第N個幀向QSTA發(fā)送。
另外,該QAP設(shè)備還包括計數(shù)器模塊30、緩存模塊40和接收模塊50,具體功能描述如下計數(shù)器模塊30,用于根據(jù)控制模塊10的設(shè)置對已發(fā)送的幀的個數(shù)進行統(tǒng)計。具體的,可以該模塊的計數(shù)初始值設(shè)為除最后一個幀之外的所有幀的數(shù)目;當隊列模塊20每發(fā)送一個幀時,將該計數(shù)器模塊30的計數(shù)減1;當該計數(shù)為0時,計數(shù)器模塊30通知控制模塊10除最后一個幀之外的所有N-1個幀已經(jīng)發(fā)送完成。
緩存模塊40,用于緩存QAP需要向QSTA發(fā)送的幀,并在USP時間開始時,將緩存的幀提供給控制模塊10,其中最后一個幀的EOSP=1,其他幀的EOSP=0。
接收模塊50,接收QSTA發(fā)送的觸發(fā)幀和進入睡眠模式通知,并通知控制模塊10??刂颇K10接收到接收模塊50轉(zhuǎn)發(fā)的由QSTA發(fā)送的觸發(fā)幀時,表明USP時間開始;控制模塊10接收到接收模塊50轉(zhuǎn)發(fā)的由QSTA發(fā)送的睡眠模式通知時,停止幀發(fā)送,并將需要發(fā)送的幀存儲在緩存模塊40中。
通過使用以上實施例三所描述的QAP設(shè)備,實現(xiàn)了USP期間QAP將EOSP=1的幀最后發(fā)送給QSTA,有效的節(jié)約了系統(tǒng)資源,保證了通信的正常和802.11e協(xié)議定義的U-APSD節(jié)能模式的效果。
以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護范圍。
權(quán)利要求
1.一種USP期間的幀發(fā)送方法,其特征在于,包括以下步驟QAP將除最后一個幀之外的所有幀向QSTA發(fā)送;所述QAP對所述發(fā)送的幀進行統(tǒng)計,在除所述最后一個幀之外的所有幀發(fā)送完成時,將最后一幀發(fā)送給QSTA。
2.如權(quán)利要求1所述USP期間的幀發(fā)送方法,其特征在于,所述QAP將除最后一個幀之外的所有幀向QSTA發(fā)送的步驟具體包括所述QAP接收到所述QSTA發(fā)送的觸發(fā)幀后,獲取需要向所述QSTA發(fā)送的幀的數(shù)目;所述QAP從緩存中讀取與所述數(shù)目相同的幀;所述QAP將所述讀取的幀中除最后一個幀外的所有幀分發(fā)到對應(yīng)隊列;所述QAP將所述隊列中的幀向所述QSTA競爭發(fā)送。
3.如權(quán)利要求1所述USP期間的幀發(fā)送方法,其特征在于,所述QAP對所述發(fā)送的幀進行統(tǒng)計的具體方法為所述QAP通過計數(shù)器對所述發(fā)送的幀進行統(tǒng)計。
4.如權(quán)利要求3所述USP期間的幀發(fā)送方法,其特征在于,所述QAP通過計數(shù)器對所述發(fā)送的幀進行統(tǒng)計的步驟具體為所述QAP設(shè)置計數(shù)器,所述計數(shù)器的初始值為除所述最后一個幀之外的所有幀的數(shù)目;所述QAP每向所述QSTA發(fā)送一幀,將所述計數(shù)器的值減1。
5.如權(quán)利要求4所述USP期間的幀發(fā)送方法,其特征在于,所述QAP在除所述最后一個幀之外的所有幀發(fā)送完成時,將最后一幀發(fā)送給QSTA的步驟具體為所述QAP檢測所述計數(shù)器的數(shù)值,所述計數(shù)器數(shù)值為0時,判斷為除所述最后一個幀之外的所有幀已經(jīng)發(fā)送完成,并將最后一幀發(fā)送給QSTA。
6.如權(quán)利要求1至5中任一項所述USP期間的幀發(fā)送方法,其特征在于,所述除最后一個幀之外的所有幀的服務(wù)結(jié)束位EOSP標識為0,所述最后一個幀的EOSP標識為1。
7.一種QAP設(shè)備,其特征在于,包括控制模塊,用于將除最后一個幀之外的所有幀發(fā)送至隊列模塊;在統(tǒng)計發(fā)現(xiàn)除所述最后一個幀之外的所有幀發(fā)送完成時,將最后一幀發(fā)送至幀發(fā)送模塊;隊列模塊,用于將從所述控制模塊接收到的幀向QSTA發(fā)送。
8.如權(quán)利要求7所述QAP設(shè)備,其特征在于,還包括計數(shù)器模塊,用于根據(jù)所述控制模塊的設(shè)置將計數(shù)初始值設(shè)為除最后一個幀之外的所有幀的數(shù)目;所述隊列模塊每發(fā)送一個幀時,將所述計數(shù)減1;當所述計數(shù)為0時,通知所述控制模塊除所述最后一個幀之外的所有幀發(fā)送完成。
9.如權(quán)利要求7所述QAP設(shè)備,其特征在于,還包括緩存模塊,用于存儲QAP需要向QSTA發(fā)送的幀,并提供給所述控制模塊。
10.如權(quán)利要求7所述QAP設(shè)備,其特征在于,還包括接收模塊,用于接收QSTA發(fā)送的觸發(fā)幀,并通知所述控制模塊。
全文摘要
本發(fā)明公開了一種USP期間的幀發(fā)送方法,包括以下步驟QAP將除最后一個幀之外的所有幀向QSTA發(fā)送;QAP對發(fā)送的幀進行統(tǒng)計,在除最后一個幀之外的所有幀發(fā)送完成時,將最后一幀發(fā)送給QSTA。本發(fā)明還公開了一種QAP設(shè)備。通過使用本發(fā)明,實現(xiàn)了USP期間QAP將EOSP=1的幀最后發(fā)送給QSTA,有效的節(jié)約了系統(tǒng)資源,保證了通信的正常和802.11e協(xié)議定義的U-APSD節(jié)能模式的效果。
文檔編號H04L12/56GK101051982SQ20071010698
公開日2007年10月10日 申請日期2007年5月16日 優(yōu)先權(quán)日2007年5月16日
發(fā)明者徐百忱, 王斌, 夏苗青 申請人:杭州華三通信技術(shù)有限公司