沙 巖
[摘要]為了實現藍牙網絡在主從節點間建立兩種通信鏈路類型來支持同步通信量或者面向數據的異步通信量,提出藍牙網絡的媒介接入控制(MAC),在此基礎上,再提出一種優化的支持QoS的差分調度算法。
[關鍵詞]藍牙 QoS 差分調度算法 媒介接入控制
中圖分類號:TP2文獻標識碼:A文章編號:1671-7597(2009)0220030-02
一、藍牙網絡通信面臨的要求
目前,藍牙網絡的接入兼容性高低引起了業內人士的注意,由于早期藍牙技術是針對單跳無線通信開發的,在一些移動設備上經常會遇到延遲和阻塞等問題,為了使其適合在多跳移動網絡中使用,服務質量(QoS,Quality of Service)技術被開發出來,可對藍牙協議本身進行改進,同時考慮將現有協議中的一些理想化的限制條件弱化,提高協議的適用性。藍牙協議標準中的現有協議規范大部分都限于靜態環境,沒有考慮節點的移動性,如何在節點移動、加入、撤出等情況下,保證散射網的有效性,當節點移動速度比較大時,解決節點在不同接入點、基站之間的切換,保證業務流的服務質量也就成為一個必須考慮的問題。本文針對藍牙媒介接入控制過程和輪詢方式的調度機制,改進了Diff-KFP算法,通過優化其參數來提高整個網絡的吞吐量以及QoS。
藍牙網絡中支持QoS保證所面臨的主要問題有以下四個方面。
1. 鏈路質量預測困難:無線信號傳輸面臨著路徑損耗、多徑衰落和干擾等問題,由于節點的移動等因素的影響,周圍環境不斷變化導致預測鏈路質量很困難。
2. 鏈路帶寬預測的困難:無限媒介的信道帶寬被周圍的節點共享,周圍節點的移動和這些節點業務量的變化是鏈路帶寬很難預測。
3. 分布式控制:由于信道使用權需要采用分布式獲得,這導致優先級的保證和資源的預留都帶有一定的隨機性。
4. 網絡的動態性:分別是移動設備通常使用電池作為電源、節點的移動性、網絡業務流的動態與不可預測。
隨著藍牙技術的發展,QoS已經成為通信系統必須支持的一項重要功能,已經是藍牙網絡的發展瓶頸了。
二、現有的藍牙網絡通訊方案分析
截止目前,國際上提出的移動Ad-hoc網絡實現和解決方案為數不多,如美國MeshNetworks公司的解決方案,以及以色列Commil公司提出的藍牙Fixed to Mobile Convergence(FMC)方案。
MeshNetworks公司方案主要技術特點如下:
(1)支持網絡和客戶端組網(Meshing):其Ad-hoc對等技術同時支持基礎設施的組網以及客戶端組網。使用Multi-Hopping TM路由技術可以將任何一個客戶設備轉變為一個路由器或重復器,從而改善了網絡覆蓋范圍,增加網絡的吞吐量。
(2)支持端到端的IP:由于所有的路由都是在IP層之下,各種網絡設備無需更改。
(3)網狀結構的頻譜復用和網絡吞吐量最大化:無論采用何種無線網絡技術,在網絡中所有節點都能彼此識別并間接或直接通信。避免了集中式結構中的瓶頸問題。網絡中的節點通過彼此合作來充分利用頻譜資源,避免過度競爭。
在FMC方案中,做了兩個重要的應用擴展:
(1)網絡用戶終端類型的擴展。將藍牙“三合一”手機應用的終端設備擴展為所有采用其CellarionTM技術所生產的移動設備,使得原來所局限于語音通信的應用面擴展到包括語音、數據通信在內的應用面。
(2)網絡覆蓋方式和范圍的擴展。將一般的藍牙Piconet網絡擴展為無縫覆蓋的藍牙蜂窩網絡,其網絡覆蓋范圍從一套房間、一層樓擴展到一個智能化樓宇范圍的區域網,覆蓋范圍更廣,覆蓋方式更靈活,對于實現網絡的自動切換方式參考了現有的蜂窩網絡切換方式。
在上述藍牙網絡中,數據的傳輸是由主節點驅動的時分復用機制調度機制進行的,并且時間片被分別分配給在一個皮克網內的一個主節點和一個從節點。主節點能在偶數時間片內發送給從節點數據包,而從節點只有在收到主節點數據包后才能在奇數時間片內給主節點發送數據包。由于藍牙主要采用基于主節點時分復用的輪叫調度策略(RR),然而當在輪詢序列中沒有等待傳輸的數據時,許多時間片被輪詢(Poll)或者空(Null)的數據包所占用而被浪費。
為了克服這種鏈接浪費問題,已經提出了很多調度算法,如Low power mode-based policy,這個算法能相對地達到低能消耗和有效的時間片利用效果。但它并不適合動態通信量,而且還需要大量信號開銷。因此比較偏向應用基于隊列狀態的優先級策略,而K-Fainess Policy(KFP)則由于它的相對合理的性能顯得很突出。雖然它根據數據通信量的特點可以展示不同的性能,但它并沒考慮藍牙網絡的QoS。為了解決這個問題,Differentialted KFP(Diff-KFP算法)被提了出來。它能通過基于每對主從節點的隊列狀態,有區別地調度稀缺無線電資源,從而提高吞吐量。而且還能為單獨的節點對保證公平性,通過使用合適的參數把QoS要求反應給調度機制。盡管Diff-KFP算法能提高吞吐量,但由于選擇了不合理的參數,現行通信還是可能被一個輪訓間隔而打斷。這樣就引起吞吐量的下降。這里我們提供Diff-KFP算法的詳細內容,并且優化它的參數來提高整體性能,另外這個改進了的Diff-KFP算法算法也能將QoS應用到調度之中。
三、藍牙網絡的媒介接入控制(MAC)
藍牙網絡在主從節點間可建立兩種通信鏈路類型來支持同步通信量或者面向數據的異步通信量:同步面向連接鏈路(SCO)和異步無連接鏈路(ACL)。主節點通過在規則的間隔中保留時間片來維護SCO鏈路。由于每6個時間片就有兩個為SCO鏈路保留,剩下的時間片為ACL鏈路保留。

如圖1顯示了一個主節點調度數據傳輸。一個主節點在奇數時間片輪詢一個從節點,被輪詢的從節點在一個連續的奇數時間片內傳輸數據包。然而藍牙技術通常采用輪叫調度策略(RR),許多時間片可能由于輪詢數據包或者空數據包的交換而被浪費了。
盡管RR是最簡單的調度算法,并且在皮克網內均勻地將數據傳輸機會分配給每對主從節點,但是鏈路浪費可能會引起吞吐量的下降,而且輪叫調度策略(RR)也沒有考慮這些節點的優先級。為了更有效的利用稀缺無線電資源,排隊狀態依靠數據包的調度策略。基于每對節點排隊狀態的KFP算法執行對優先級的輪詢。首先根據鏈路的利用來決定每對節點的類型,然后從所確定的類中分配合適的優先級。具有較多流通量的這對節點具有較高的優先級。在KFP中,優先級低的節點將傳輸機會讓個優先級高的節點。這樣KFP就能減少時間片的浪費。而且,為了保障公平,KFP有個臨界參數K.每對節點在得到服務機會時它的計數器值加一,否則就減一。
計數器的值代表每對節點得到和退讓的服務機會的數量。計數器的值可以為負,通過與計數器最大最小值間的比較的K值能夠平衡服務機會的分配。這樣KFP可以控制吞吐量和公平性,然而如果數據流通量特點是靜態的,并且集中在特定節點對上,計數器最大值和最小值間的差異能很快達到臨界值K,服務機會就有可能被這對節點所壟斷,那么KFP與RR就很類似了。由于計數器值的最大和最小值間的差距在K的范圍內并不減少,所以其他具有較低優先級的節點對就不再讓出服務機會。因此只要提供服務的時間片數量增加,當差距超過臨界值K時,KFP的性能就與RR類似。因此有最大計數器值的節點對與具有最小值的其他節點對影響了系統的整體性能。而且這個算法并沒有考慮到藍牙技術的QoS需求。
因此,需要有新的有效的調度方法來保留藍牙技術的優點,諸如低成本,低電量,低復雜度。并且用合理的公平性、對吞吐量提高的有效調度來滿足QoS要求。
四、支持QoS的差分調度算法
早先的KFP算法依靠數據包的調度策略而采用一個排隊狀態。在這個方案中,由主從節點對的排隊狀態信息決定優先級。例如當一個SCO鏈路形成時,這個鏈路只允許四個連續的時間片給ACL鏈路,可以應用一個或者三個時間片長度的數據包。如果主節點隊列線頭(HOL)數據包是一個三個時間片的包,而從節點隊列線頭數據包是一個時間片的包,那么這個鏈路利用率就是100%。因此調度分給這對最高等級并且優先為其提供服務機會。如果一個主節點或者從節點隊列線頭數據包是一個三個時間片的數據包,而另一個則是空,那么鏈路利用率是75%。這種情況下,這對就得到第二等級。同樣地,如果一個主節點或者一個從節點隊列線頭數據包是一個時間片數據包而另外一個是空,那么這個鏈路利用率是50%。只要兩個時間片有一個被使用,那么這個節點對就成為第三等級。通過這個確定過程,每對的優先級就能確定下來。

KEP的操作在圖2中顯示出來,這里countermaster,countermin,counteri和counterhighest分別代表在所有節點對中的最大計數值,最小計數值,第i節點對計數值和具有最高等級的節點對計數值。每對節點的計數器跟蹤記錄這對節點所接受過的過度或偏少的服務機會,這個值用來服務的控制。當每對主從節點在RR內被連續的訪問時,不管它是否在KFP中為最高等級,所被輪詢的節點對要么得到服務或者就放棄服務的機會。每對節點值在這對節點放棄服務機會或者搶占其他節點機會時,就會相應的加一或者減一。只有在最大計數值和最小計數值間的差異不超過臨界值K時才允許服務機會的更替,例如在最大值時就會發生不公平性。如果沒有允許一對主從節點放棄服務機會,那么它就在預定時間片內傳遞數據包。
我們所提出的支持QoS的差分調度算法,Diff-KFP算法在圖3中顯示出來。每對優先級和計數值的決定過程跟KFP相類似。新算法在保證公平性的技術方面有三點與KFP不同。首先,如果不是在最大值與最小值之間而是在最大值與當前對計數值間的差值小于K值,那么主節點就檢查。如果是這樣的話,主節點就根據節點對服務等級來決定這對節點是否放棄調度轉變。因此,這樣就能夠阻止具有最大計數值的節點對和具有最小的節點對對整個系統的性能的限制。第二,每個計數器減少的值,stepi對于每對節點反應他的QoS要求是不同的,而在KFP中都是相同的。這樣,通過合適地選擇步長和更新Diff-KFP算法參數,我們能較好的控制性能。圖3中,stepi和stepmax分別代表第i對節點的步長和所有節點對中的步長最大值。最后,在圖4的流程圖中的右分支那里顯示出來了,通過(stepmax-stepi)增加計數值來克服超過K值的問題。
五、小結
中國電信、中國移動、中國聯通已在1月8日取得了國內3G牌照,意味著移動通信終端將發生大的變革,在現有的PDA、筆記本、手機等移動終端所支持的藍牙協議上,還是面臨著網絡延遲和阻塞等問題。
參考文獻:
[1]蔡海慧,方旭名.藍牙自組網中的調度策略.電信快報,2003,(10):30~34.
[2]馬忠建,方旭明,蔡海慧,傲丹.藍牙AdHoc網調度策略的設計與仿真.系統仿真學報,2006,18(9):2546~2549,2608.