淺談基于中央服務(wù)器模型的藍(lán)牙多播技術(shù)論文
0引言
對(duì)于藍(lán)牙設(shè)備間的通信技術(shù),國(guó)內(nèi)外學(xué)者都做了大量的研究。引進(jìn)了設(shè)備分類的概念,按照一定的分類標(biāo)準(zhǔn)把屬于同一類的藍(lán)牙設(shè)備進(jìn)行組網(wǎng);研究了基于多播協(xié)議相對(duì)坐標(biāo)RCMP (relativecoordinatesbasedmulticastingprotocol)在藍(lán)牙位置網(wǎng)絡(luò)中的應(yīng)用;提出了實(shí)現(xiàn)一個(gè)動(dòng)態(tài)的藍(lán)牙分散網(wǎng)的多播機(jī)制GCBT (generalcore-basedtree)。以上文獻(xiàn)都是從不同的角度對(duì)藍(lán)牙設(shè)備間的通信進(jìn)行研究,但是還存在以下問(wèn)題:①?zèng)]有一個(gè)掌控全局的主設(shè)備,對(duì)網(wǎng)中的子設(shè)備依賴性太強(qiáng),如果某個(gè)子設(shè)備離開(kāi),整個(gè)網(wǎng)就會(huì)重新組織,另外如果某個(gè)子設(shè)備的性能較差,同時(shí)扮演著主設(shè)備的角色,就會(huì)影響整個(gè)網(wǎng)的通信質(zhì)量,同時(shí)也加速了子設(shè)備的耗電量,使得組建起來(lái)的網(wǎng)穩(wěn)定性較差;②對(duì)于一個(gè)主設(shè)備如何支持多于7個(gè)活躍的從設(shè)備尚未提出有效解決方案。
基于以上問(wèn)題,本文提出了一個(gè)基于中央服務(wù)器的通信模型,通過(guò)對(duì)中央服務(wù)器的藍(lán)牙協(xié)議進(jìn)行更改,使其可以支持多于7個(gè)活躍的藍(lán)牙從設(shè)備;另外,為了縮短活躍度高設(shè)備間通信時(shí)間的延遲,提出了基于活躍度的平等調(diào)度算法EASA。
1藍(lán)牙協(xié)議分析
藍(lán)牙是一種工作在全球統(tǒng)一開(kāi)放的2.4GHzISM (industrialscientificmedical)頻段的短距離無(wú)線通信技術(shù)。為了防止受到工作在ISM 頻段的其它信號(hào)的干擾,藍(lán)牙采用跳頻技術(shù)(79跳或23跳)確保鏈路的穩(wěn)定。藍(lán)牙信道被分為許多時(shí)隙(slot),每個(gè)時(shí)隙長(zhǎng)度為625μs。幾個(gè)藍(lán)牙設(shè)備共享一個(gè)信道形成微微網(wǎng)(piconet),多個(gè)微微網(wǎng)間通過(guò)橋節(jié)點(diǎn)形成散射網(wǎng)(scatternet);微微網(wǎng)中主動(dòng)發(fā)起請(qǐng)求的設(shè)備為主設(shè)備(master),接受請(qǐng)求的設(shè)備為從設(shè)備(slave),主從設(shè)備采用時(shí)分雙工(TDD)策略交替發(fā)送分組,主設(shè)備在偶時(shí)隙發(fā)送分組,從設(shè)備在奇時(shí)隙發(fā)送分組。每個(gè)微微網(wǎng)中的一個(gè)主設(shè)備最多只能和7個(gè)活躍的設(shè)備進(jìn)行通信,主設(shè)備采用輪詢算法對(duì)所有的活躍設(shè)備進(jìn)行調(diào)度。
1.1藍(lán)牙協(xié)議棧
藍(lán)牙協(xié)議是一種技術(shù)規(guī)范,是為了更好地使用藍(lán)牙技術(shù)而形成的共同約定;各種協(xié)議按照一定的規(guī)則進(jìn)行排列形成了藍(lán)牙協(xié)議棧。藍(lán)牙協(xié)議棧中最重要的就是藍(lán)牙核心協(xié)議了,這也是本文研究的核心。
藍(lán)牙核心協(xié)議包括服務(wù)發(fā)現(xiàn)協(xié)議、邏輯鏈路控制與適配協(xié)議、鏈路管理協(xié)議、基帶協(xié)議。其中服務(wù)發(fā)現(xiàn)協(xié)議定義了藍(lán)牙客戶端查詢到可用的藍(lán)牙服務(wù)器提供的服務(wù)類型以及服務(wù)的具體屬性信息,利用搜尋到的服務(wù)可以使藍(lán)牙設(shè)備之間建立相應(yīng)的鏈接,所以它是所有用戶模式的基礎(chǔ);邏輯鏈路控制與適配協(xié)議支持協(xié)議的復(fù)用以及數(shù)據(jù)包的分段和重組技術(shù),并匯報(bào)服務(wù)的質(zhì)量等信息,其通過(guò)流量控制和重傳模式,可以對(duì)每個(gè)信道進(jìn)行流量控制和重傳,但是,此協(xié)議只支持可靠性好的面向無(wú)連接的數(shù)據(jù)分組傳輸;鏈路管理協(xié)議負(fù)責(zé)各個(gè)藍(lán)牙設(shè)備間建立連接,規(guī)定了鏈路管理器主要包括5個(gè)部分:設(shè)備功率管理,鏈路質(zhì)量管理,鏈路控制管理,數(shù)據(jù)分組管理,鏈路安全管理;基帶協(xié)議是藍(lán)牙協(xié)議中最重要的協(xié)議,是核心協(xié)議中最底層的協(xié)議,其規(guī)范定義了兩種物理連接方式:面向連接SCO(synclironousconneetionoriented)和無(wú)連接ACL (asynehxonousconneetionles),前者主要用于像語(yǔ)音通話之類對(duì)時(shí)間要求較為嚴(yán)格的數(shù)據(jù)傳送,后者適用于數(shù)據(jù)分組。經(jīng)過(guò)以上分析可知藍(lán)牙基帶協(xié)議在藍(lán)牙協(xié)議棧中扮演著重要的角色,所以本文從底層協(xié)議出發(fā),對(duì)藍(lán)牙基帶協(xié)議進(jìn)行了深入的研究。
1.2藍(lán)牙基帶分組
微微網(wǎng)中參與通信的設(shè)備必須有個(gè)活動(dòng)成員地址,類似于TCP/IP體系中的IP地址,必須在全網(wǎng)內(nèi)保持唯一性。此地址在藍(lán)牙基帶協(xié)議的基帶分組中有詳細(xì)的定義,基帶分組是藍(lán)牙主從設(shè)備之間進(jìn)行通信時(shí)數(shù)據(jù)在空中發(fā)送的基本格式,也是數(shù)據(jù)傳輸?shù)淖钚卧?/p>
各個(gè)域的描述如下:
(1)接入碼:接入碼又叫識(shí)別碼,其長(zhǎng)度為72位,用于同步、識(shí)別及標(biāo)識(shí)微微網(wǎng)信道上交換的所有分組。其可分為3種類型:信道識(shí)別碼、設(shè)備識(shí)別碼、查詢識(shí)別碼。
(2)分組頭:是一個(gè)重復(fù)的18bit模式,各個(gè)模式具有如下的子域:
AM_ADDR:活動(dòng)成員地址,用于區(qū)分微微網(wǎng)中不同的活動(dòng)成員,主從設(shè)備在進(jìn)行交換時(shí)每個(gè)單元都會(huì)攜帶自身的AM_ADDR的地址信息。當(dāng)一個(gè)從設(shè)備斷開(kāi)與主設(shè)備的連接或進(jìn)入休眠狀態(tài)時(shí),就會(huì)釋放AM_ADDR。由于改字段被分配了3比特,所以就決定了一個(gè)主設(shè)備最多可有7個(gè)從設(shè)備(1到7)。0地址用于保留。
Type:類型,定義了來(lái)自上層的數(shù)據(jù)類型。4位類型碼表示分組可以有16種不同的類型。類型碼的首要任務(wù)是要確認(rèn)分組是來(lái)源于SCO鏈路還是ACL鏈路,同時(shí)類型碼也展現(xiàn)了當(dāng)前分組將有多少個(gè)時(shí)隙出現(xiàn)。
F:流控制,主要用于ACL鏈接分組的流量控制,當(dāng)設(shè)置為1,表示該設(shè)備不能再接收數(shù)據(jù)(buffer已經(jīng)滿)。A:確認(rèn)指示,用于無(wú)編號(hào)自動(dòng)請(qǐng)求重傳。如果值為1表示接收是成功的,如果為0表示接收失敗,需要重傳失敗的分組。
S:序列編號(hào),用于對(duì)分組流排序。當(dāng)發(fā)生分組重傳時(shí),通過(guò)對(duì)相鄰分組的S編號(hào)的比較,就可以不必重傳已經(jīng)正確接收的分組,避免了一些不必要的浪費(fèi)。
HEC:頭錯(cuò)誤校驗(yàn)碼,用來(lái)檢測(cè)18bit分組頭的完整性檢驗(yàn)。
(3)有效載荷:有效載荷包括語(yǔ)音和數(shù)據(jù)兩部分:SCO分組僅包含語(yǔ)音有效載荷,ACL分組僅包含數(shù)據(jù)有效載荷。語(yǔ)音字段的長(zhǎng)度固定位240比特,數(shù)據(jù)字段由3部分組成:載荷頭、負(fù)載體和校驗(yàn)碼。載荷頭的長(zhǎng)度為1或2個(gè)字節(jié),其規(guī)定了邏輯信道、邏輯信道上的流量控制及有效載荷的長(zhǎng)度指示。
通過(guò)以上分析可知,決定藍(lán)牙設(shè)備數(shù)目的是AM_ADDR字段,現(xiàn)有的藍(lán)牙協(xié)議把活躍設(shè)備限制在7個(gè),由此可見(jiàn),若想支持多余7個(gè)活躍設(shè)備間通信,我們需要對(duì)藍(lán)牙協(xié)議進(jìn)行更改。本文重點(diǎn)研究藍(lán)牙的ACL分組,所以本文將對(duì)藍(lán)牙的ACL基帶分組進(jìn)行重新設(shè)計(jì),在此基礎(chǔ)上我們提出自己的一套通信方案。
2中央服務(wù)器模型多播方案的設(shè)計(jì)
該模型采用的是主從模式,中間有一個(gè)全局掌控者(主設(shè)備)充當(dāng)著中央服務(wù)器的角色,在其周圍有S1,S2,S3…,Sn等n個(gè)從設(shè)備;從設(shè)備之間的通信,必須經(jīng)過(guò)中央服務(wù)器的轉(zhuǎn)發(fā)。這樣在組網(wǎng)過(guò)程中就擺脫了對(duì)從設(shè)備的依賴性,比如Sn離開(kāi)(現(xiàn)實(shí)生活中,這種情況時(shí)常發(fā)生,因?yàn)橛脩舻囊苿?dòng)性很大),并不會(huì)影響其它節(jié)點(diǎn)間的通信。
本文中,我們假設(shè)S1,S2,S3…,Sn之間的通信是短
消息通信且無(wú)信道錯(cuò)誤,即通信發(fā)送的消息分別在一個(gè)時(shí)隙內(nèi)完成;另外我們還設(shè)定通信之間最大的延遲時(shí)間為1s。在此基礎(chǔ)上,本文從協(xié)議層對(duì)中央服務(wù)器提出了改進(jìn)策略,使得其可以支持多于7個(gè)活躍的設(shè)備,從設(shè)備(可能是手機(jī)等藍(lán)牙設(shè)備)的藍(lán)牙協(xié)議不做改動(dòng),使用的是標(biāo)準(zhǔn)協(xié)議,所以此方案具有可行性;另外,為了縮短了活躍度高設(shè)備間通信時(shí)間的`延遲,我們提出了EASA調(diào)度算法。
2.1設(shè)備間通信時(shí)間的分析
藍(lán)牙微微網(wǎng)中主設(shè)備在偶時(shí)隙發(fā)送分組,從設(shè)備在奇時(shí)隙發(fā)送分組,所以主設(shè)備與從設(shè)備完成一次信息交互需要兩個(gè)時(shí)隙的時(shí)間。設(shè)Ti表示主設(shè)備與第i個(gè)設(shè)備Si通信時(shí)間,顯然Ti=625μs*2=1.25ms。其中T1 =T2 =T3… =T2n-1 =T2n =625μs。
微微網(wǎng)中,主設(shè)備對(duì)多個(gè)活動(dòng)的從設(shè)備進(jìn)行調(diào)度采用的是平均順序輪詢法RR,即主設(shè)備基于公平公正的原則針對(duì)多個(gè)設(shè)備按照時(shí)隙進(jìn)行輪詢。我們不妨假設(shè)輪詢的方式為:S1,S2,S3,…,Sn 。從S1發(fā)送一個(gè)分組到S2,S3,…,Sn分別響應(yīng)形成的消息隊(duì)列。
消息隊(duì)列t0時(shí)刻,p1分組準(zhǔn)備進(jìn)入消息隊(duì)列,t1時(shí)刻p1進(jìn)入隊(duì)列,到tn時(shí)刻,所有的各個(gè)節(jié)點(diǎn)都已經(jīng)接收過(guò)分組p1 ,所以從消息隊(duì)列中移除。從圖中可以看出,從p1進(jìn)入到p1出來(lái),共經(jīng)過(guò)了一個(gè)傳遞周期記為Tp = Ti*n =1.25ms*n。則n個(gè)分組都發(fā)送完成所經(jīng)歷的時(shí)間,我們表示為一個(gè)輪詢的周期Rc =Tp*n=1.25ms*n2 。在延遲為1s的情況下,最多可支持28個(gè)活躍設(shè)備間的同時(shí)通信。由于藍(lán)牙協(xié)議最多只能支持7個(gè)活躍設(shè)備,所以,我們需要對(duì)藍(lán)牙協(xié)議進(jìn)行改進(jìn)。
2.2改進(jìn)后的分組格式
在標(biāo)準(zhǔn)藍(lán)牙協(xié)議中AM_ADDR字段只分配了3bit,所以最多只能支持7個(gè)設(shè)備。為了增加主設(shè)備所能支持的從設(shè)備的數(shù)目,需要對(duì)此字段進(jìn)行擴(kuò)展。
具體修改步驟如下:
(1)AM_ADDR擴(kuò)展為5位,這樣就保證了一個(gè)主設(shè)備最多可支持32個(gè)設(shè)備。由上文分析可知,備間進(jìn)行通信時(shí),時(shí)間的延遲也小。所以,此字段的擴(kuò)展,一方面保證了設(shè)備的數(shù)量,另一方面也保證了設(shè)備間通信時(shí)間延遲短。
(2)新增一個(gè)短消息類型ShortType,占1bit。此字段的增加是為了保證與傳統(tǒng)藍(lán)牙的協(xié)議相兼容。對(duì)此字段,我們定義以下約定:如果此字段值為0表示當(dāng)前通信模式為短消息通信模式,如果值為1表示為藍(lán)牙的標(biāo)準(zhǔn)通信模式,同時(shí)AM_ADDR字段的高三位設(shè)為0;默認(rèn)情況下,此字段為0,即通信方式采用的是藍(lán)牙的標(biāo)準(zhǔn)協(xié)議。經(jīng)過(guò)這樣約定,不僅擴(kuò)展了藍(lán)牙設(shè)備,實(shí)現(xiàn)了n≥7設(shè)備間的通信,而且也保證了我們修改后的協(xié)議與藍(lán)牙現(xiàn)有的標(biāo)準(zhǔn)協(xié)議相兼容。
(3)分組頭由54bits擴(kuò)展到了63bits。由于AM_ADDR字段多增加了2位和新增的ShortType字段,使得的分組頭多增出9bits。所以,分組頭自然而然也就變成了63bits。
(4)其它字段與標(biāo)準(zhǔn)保持統(tǒng)一,保持不變。此處的保持不變是指字段的位數(shù)和字段的描述皆為藍(lán)牙標(biāo)準(zhǔn)的定義,本文并未給這些字段做出新的定義。
2.3基于活躍度的平等調(diào)度算法EASA由上文部分分析得知。如果按照RR調(diào)度算法,在通信的實(shí)時(shí)性上會(huì)有很大的延遲性。比如在某一段時(shí)間內(nèi),S1與Sn的通信比較頻繁,從S1發(fā)送一個(gè)分組到Sn響應(yīng),最大延遲時(shí)間為一個(gè)傳遞周期Tp ,延遲性相對(duì)較長(zhǎng),為了保證設(shè)備間的通信質(zhì)量,我們需要對(duì)此調(diào)度算法進(jìn)行改進(jìn)。在此基礎(chǔ)上提出了基于活躍度的平等調(diào)度算法EASA;钴S度的定義為:每個(gè)節(jié)點(diǎn)活躍的頻繁度,具體體現(xiàn)為節(jié)點(diǎn)發(fā)送分組時(shí)次數(shù)的大小。
設(shè)S為調(diào)度序列的集合,初始值為:S = {S1,S2,…,Sn};S 表示為序列的長(zhǎng)度;定義d(Si)為第i個(gè)節(jié)點(diǎn)的當(dāng)前活躍度,各個(gè)節(jié)點(diǎn)的初始值為-∞ ;如果節(jié)點(diǎn)每發(fā)送一次消息,則此節(jié)點(diǎn)的活躍度的值就加1。在下一個(gè)調(diào)度周期開(kāi)始前,按照d(Si)對(duì)各個(gè)節(jié)點(diǎn)進(jìn)行降序排列,更新調(diào)度序列S。
3實(shí)驗(yàn)結(jié)果與分析
本文用java編程進(jìn)行了仿真實(shí)驗(yàn),研究了節(jié)點(diǎn)數(shù)目的變化與消息延遲時(shí)間之間的關(guān)系,可以看出,隨著節(jié)點(diǎn)數(shù)目的增長(zhǎng),節(jié)點(diǎn)之間的通信延遲呈現(xiàn)曲線式的增長(zhǎng);在節(jié)點(diǎn)數(shù)目為16以后,變化幅度越來(lái)越大。
比較了RR算法和EASA算法的性能。RR算法采用的調(diào)度序列為S1,S2,S3,…,Sn ,n取值為16。為了和RR算法進(jìn)行比較,實(shí)驗(yàn)中,令d(S1)=+ ∞ ,即S1節(jié)點(diǎn)的活躍度取最大值,保證其在調(diào)度序列的首部。從實(shí)驗(yàn)結(jié)果中可以得知,RR調(diào)度算法不管Sn節(jié)點(diǎn)的活躍度多高,其收到S1發(fā)送的消息所需的時(shí)間為一個(gè)常數(shù),而EASA調(diào)度算法隨著節(jié)點(diǎn)活躍的變化而呈現(xiàn)曲線的走向,當(dāng)其活躍度越高時(shí),收到S1發(fā)送的消息所需的時(shí)間越短。
4結(jié)束語(yǔ)
本文首先討論了當(dāng)前藍(lán)牙多設(shè)備間通信存在的問(wèn)題,對(duì)藍(lán)牙基帶進(jìn)行了分析并介紹了其分組格式,然后本文提出了一個(gè)適合于多設(shè)備間短消息通信的方案,并把藍(lán)牙標(biāo)準(zhǔn)只能支持7個(gè)活躍的從設(shè)備擴(kuò)展到了32個(gè),從而實(shí)現(xiàn)了更多個(gè)設(shè)備間的通信;同時(shí),對(duì)RR調(diào)度算法進(jìn)行改進(jìn),并在此基礎(chǔ)上提出了基于活躍度的平等調(diào)度算法EASA,縮短了活躍度較為大的從設(shè)備間的通信延遲時(shí)間。大量的實(shí)驗(yàn)結(jié)果表明,本文提出的方案,不僅實(shí)現(xiàn)了多個(gè)設(shè)備,而且縮短了設(shè)備之間信息交互的時(shí)間延遲,保證了通信的及時(shí)性。
【淺談基于中央服務(wù)器模型的藍(lán)牙多播技術(shù)論文】相關(guān)文章:
基于藍(lán)牙技術(shù)的智能門禁系統(tǒng)論文12-10
淺談基于CATIA 的幾何模型庫(kù)設(shè)計(jì)論文10-26
淺談藍(lán)牙技術(shù)及其應(yīng)用08-08
淺談基于BIP的AADL行為模型驗(yàn)證方法論文10-21
淺談基于rebar單元的航空輪胎模型建立與分析論文12-15
基于流媒體技術(shù)的遠(yuǎn)程交互學(xué)習(xí)模型論文12-13