- 相關推薦
Jini與藍牙技術的結合應用
摘要:分析了Jini和藍牙技術的基本結構及工作原理,對這兩種技術進行了比較,并提出將兩者結合應用的實際方案,最后給出了一個應用實例。隨著嵌入式系統在各種電子設備中的廣泛應用,計算機技術的發展將進入一個普適計算(Pervasive Computing)階段。隨之而來的各種電子設備聯網成為必然趨勢。與人類生活息息相關的各種家電設備能夠聯成網絡并接入互聯網,人們可以在任何時間、任何地點統一控制各種家電協同工作,將極大地改變和影響人們的生活。本文探討了這種普適計算機制的實現。
1 Jini技術
Jini技術是基于Java語言的新型分布式對等計算結構,是一種動態的自動化機制,它可以使各種數字設備無需配置、安裝或人工干預,在一個臨時的設備集合(聯邦,federation)中共同工作。聯邦中的任何設備無法大小都可以自行管理,組成一個服務網絡,聯邦中的每一成員都可以共享資源和服務。Jini結構提供一套機制使得電子設備和應用程序能夠隨時加入或退出聯邦。
Jini由三部分組成:基礎結構(Infrastructure)、編程模型和服務。這三部分雖有區別但又密不可分,基礎結構支持并利用編程模型;服務內嵌入基礎結構之中,服務對象包含并利用編程模型的接口進行服務之間的通信;A結構解決設備和軟件如何與網絡連接并進行注冊等基本問題。它由構成分布式聯邦的組件組成,其最小內核為分布式安全系統、發現與加入協議(discovery and join)、服務協議和查找服務(lookup service)。分布式安全模型及其實現定義了軟件實體的認證方式及操作權限;發現與加入協議定義了服務加入Jini系統的方法;查找服務則是供服務注冊登記的場所,這里提供了可以使用的服務對象集合。編程模型也是分布式的,包括租借(leasing)、分布式的事務處理和事件處理三種重要接口。租借接口定義了基于時間的資源分配和釋放方法;事務接口引入了一種面向對象的協議,使用表決和提交兩個階段來統一對象之間的相關行為,使得一個事件序列或全部完成或全都不發生。事件和通知接口將JavaBean組建所使用的事件模型擴展為分布式事件模型,支持Jini服務基于事件的通信。,服務是Jini體系的核心,基礎結構和編程模型共同支持服務的提交注冊及服務的發展,服務使用基礎結構完成服務之間的相互調用、相互發現并向其他服務發布本服務的出現。服務在Jini環境中以對象的形式出現,它通過接口來定義其提供的可供其他服務使用的操作和特性。
Jini使用發現協議(discovery)搜索查找服務(lookup service),獲得相應查找服務的代理接口,然后使用加入協議(join)將自己注冊到查找服務中,這時該服務可以為其他服務所使用。想要使用其它服務的設備或應用程序,首先與其相鄰的查找服務進行連接。這時可以看到本聯邦內所有可用的服務,使用查找協議(lookup)將所感興趣的服務代理接口下載到本地之后就可以與服務提供者進行直接交互通信。同樣當一個查找服務啟動時,它也使用發現協議向服務廣播自己出現,以便服務進行注冊登記。
圖1對以上過程進行了形象描述:用發現協議搜索到查找服務,若已預置某個查找服務的URL則可直接進行通信;將服務代理對象注冊到查找服務;服務客戶將服務對象從查找服務處下載到本地;利用服務對象與服務提供直接通信,使用該項服務。
2 藍牙協議
藍牙是一種低成本的技術,可以在依賴電池操作的目標機上實現低功耗、短距離的固定通信。這些目標機包括:PDA、無線電話、便攜電腦和無線耳機等。
在藍牙的拓撲中,一個設備可以帶多個從設備并且維持7條鏈接。一般來說,在任何時刻,主設備會與一個從設備維持點對點通信。可以建立兩種通信:一種以異步方式傳輸數據,另一種以同步方式傳輸聲音。通信類型由主設備決定。并負責建立特殊應用所需的鏈接,直至應用將其終止。請注意:主從關系不能互換,互換技術用于GSM的蜂窩式手機中,藍牙不支持這種技術。同時,藍牙只能支持短距離通信,最遠10m。現在加強性標準可以將距離提高到100m,要求便攜式設備的電池壽命更長。藍牙技術不會替換IEEE 802.11中所提出的無線LAN的功能。相比較而言,藍牙只能在744Mbps的數據率上操作。當然,IEEE 802.11 LAN也更加昂貴。
藍牙可以支持無線主機控制器(負責空中鏈路管理、調制解調器、聲音編碼/解碼)與另外一臺帶有協議棧和應用軟件的主機之間的通信。如果應用軟件想要控制無線主機控制器,那么就需要鏈路管理代理(link management proxy)模塊,它可以提供應用程序接口。這一模塊在藍牙標準中沒有說明,但是如果希望通過主機控制接口進行通信,協議棧中應包括這一模塊。棧接口提供的主要功能就是初始化發現進程和連接進程。發現進程將管理信息發送到10m范圍內的所有藍牙設備,以便獲取可用的藍牙設備列表;連接進程可以與一個或多個可用的藍牙設備建立連接。所有的應用程序都必須使用這個進程,它們是GAP(General Access Protocol)的一部分,在任何應用使用鏈路前,必須將GAP與藍牙設備相連。
鏈路安全將利用鑒別進程,在實現子網時,用來確認某設備是否可以與另一設備互連。鑒別操作由無線主機控制器完成,鑒別命令由安全管理模塊發出。該模塊會訪問以前完成的操作進程,可以與藍牙設備進行數據庫信息的連接,這些記錄存在設備數據庫中,由安全數據庫來維護主藍牙設備所提供的與三種完全級別有關的服務記錄。建立兩個設備之間的連接時,完全管理模塊會做出反應,查詢兩個設備的數據庫,請求無線控制器開始鑒別進程或忽略鑒別進程。數據鏈路層加密也是同樣的道路。棧控制器是另外一個包含在棧軟件中的模塊,可以提供接口調用軟件,從而繼續處理由主機或其他藍牙設備通過無線主機控制器發來的排序或緩沖數據。更為重要的是,棧管理模塊管理所有的內部棧時鐘,因而使用該棧十分輕松,而且非常容
【Jini與藍牙技術的結合應用】相關文章:
藍牙技術在音頻網關中的應用01-07
應用藍牙技術組建無線局域網03-20
藍牙技術淺析03-19
一種新的網絡教育支持技術-藍牙技術03-18
EDA技術及其應用03-19
談ADSL技術及其應用12-04