国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

Jini在分布式嵌入式系統中的應用

發布時間:2010-3-16 16:43    發布者:蹦蹦
關鍵詞: Jini , 分布式 , 嵌入式 , 系統 , 應用
引 言

嵌入式系統是指以應用為中心、以計算機技術為基礎、軟件硬件可裁剪,適用于對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。隨著計算機技術和相關電子技術的發展,嵌入式系統的應用已經深入到社會中的各個領域,如家用電器、移動通信、航空、航天、醫療、工業控制和軍事等。在嵌入式系統的某些應用中,通常采用分布式體系結構,不同的嵌入式設備之間以某種方式相互連接、彼此協作,這就要求整個系統具有很好的靈活性和可靠性。

Jini是一種全新的構建分布式系統的技術,具有動態的、自形成的和自管理的特性,它是一種真正的基于服務的分布式體系結構。另外,基于Java的 Jini技術提高了分布式系統編程的抽象級別,簡化了分布式系統的開發。在構建分布式嵌入式系統的過程中利用Jini互聯技術,不但可以降低系統開發難度,實現嵌入式環境中基于服務級的互操作,而且還可提高整個系統的靈活性和可靠性。因此Jini技術推出后,人們很快就開始關注如何將Jini應用于分布式嵌入式系統的開發。

1 Jini技術概述

1.1 Jini的體系結構

Jini是1999年1月Sun公司發布的一種基于Java的全新的用于構建分布式系統的技術,利用Jini可以使得軟件和硬件自發地結合起來,形成一個Jini服務聯盟。

一個Jini系統由下列組件組成[4]:
◇基礎設施組件——提供一個在分布式系統中建立起服務聯盟的框架;
◇編程模型組件——支持建立可靠的分布式服務;
◇服務組件——可以成為Jini服務聯盟中的一部分并且向聯盟中的其它成員提供服務。

盡管Jini系統由三部分組件組成,但是它們之間的界限是模糊的,組件之間緊密相連、彼此協作。Jini是建立在分布式系統、經常動態變化這一原則之上的。它的體系結構如圖1所示。



服務是Jini體系結構中最重要的概念。它可以指任何實體提供的功能。其中實體可以是任何硬件設備、軟件或是硬件和軟件的結合體。服務通過查找服務注冊后就可以通過實現了Java遠程接口的一個接口來調用。用戶通過向查找服務請求并且下載服務的代理對象來和服務之間通信。查找服務自身也是一個服務,能夠跟蹤每個服務并且向用戶提供服務的代理對象。

Jini的體系結構建立在以下環境假設的基礎上[5]:
◇有一個網絡并且具有合理的網絡延遲,以不影響Jini系統的性能(要求網絡底層使用的通信協議是TCP和UDP[3]);
◇每個支持Jini的設備具有一定內存和處理能力;
◇每個設備都需要裝備一個Java虛擬機。

任何實體都可以成為服務提供者(即服務)或服務請求者(即用戶)。當一個實體作為一個服務的提供者時,對它具有如下的要求:
◇為實現發現和加入查找服務的功能,服務提供者必須擁有網絡功能;
◇為了能夠下載一個查找服務的代理,需要一個Java虛擬機,并且虛擬機支持標準的Java和RMI;
◇為保存與注冊相關的信息,需要有存儲功能;
◇為了實現以上的各種計算,需要有一個處理器。

同樣,一個服務請求者的實體具有如下要求:
◇為實現發現查找服務的功能,服務請求者必須支持網絡;
◇為了下載并且服務對象代理,需要一個Java虛擬機和存儲功能;
◇需要實現計算的處理器。

因此,一個實體要接入Jini網絡成為服務提供者或是服務請求者,它自身需要具備一定的內存和處理能力,以及網絡和Java功能,稱滿足這些要求的實體是支持Jini的。

1.2 Jini技術的特點

Jini的核心功能是提供一種基于網絡動態的、自形成的和自管理的服務聯盟,具有如下特點。
① Jini是即插即用的:服務提供者加入Jini網絡后,通過查找服務注冊后即可向使用者提供服務;服務的使用者加入Jini網絡后即可通過查找服務使用相應的服務,之后離開。
② 使用戶可以很容易地訪問網絡中任何位置的資源,即使是用戶在網絡中的位置經常變化。
③ Jini以自發的方式實現實體間的互聯:任何實體之間可以相互發現和加入Jini網絡來組成一個Jini聯盟。
④ Jini消除了硬件和軟件之間的差別:Jini把硬件和軟件都抽象為服務,是一種真正的基于服務的體系結構。
⑤ Jini是一種分布式計算框架,使得分布式編程變得容易:Jini將Java應用環境由單獨的Java虛擬機擴展到一個Java虛擬機網絡;Java虛擬機屏蔽了不同機器平臺和操作系統的異構性,降低了分布式編程的難度。

1.3 利用Jini開發分布式嵌入式系統

近些年來隨著計算機網絡技術的不斷發展,分布式系統已經得到了越來越廣泛的研究和應用,分布式計算成為實現高性能和高可靠性計算的一種新的計算模型 [5]。在嵌入式應用領域中采用分布式體系結構,一方面可以實現嵌入式環境中的分布式計算(例如一個系統本身可能是由分布在不同位置的多個嵌入式系統相互連接構成的,如電梯、汽車等);另一方面可以在可靠性要求較高的嵌入式應用中實現容錯計算。

Jini可以把分布式嵌入式系統變成動態的、靈活的和易管理的系統。Jini的自形成特性提供了一種自動相互發現和加入Jini網絡來組成服務聯盟的能力,可以使各種嵌入式設備以一種簡捷的方式實現集成和互操作。Jini的動態性使得每個嵌入式設備可以靈活地加入和離開Jini服務聯盟。這樣,當一些嵌入式設備(如移動設備、PDA等)在需要使用服務時,可以建立暫時性的連接加入Jini聯盟;服務完成時,離開。在不需要人為參與管理的情況下,整個系統仍具有良好的可伸縮性。

另外,Jini是基于Java的。Java虛擬機屏蔽了不同機器平臺和操作系統的異構性,簡化了嵌入式系統的編程;而且Jini將Java的應用環境由單獨的Java虛擬機擴展到一個Java虛擬機網絡,為實現分布式計算提供了一個良好的計算平臺。它提高了分布式系統編程的抽象級別,使得用戶只需在高層的對象接口上進行編程,而不必處理底層的通信協議,簡化了分布式系統的開發。

因此,Jini為開發分布式嵌入式系統提供了一種新的解決方案。但是,要把Jini應用到嵌入式領域中也存在一些需要解決的問題,下面將進行說明。

2 嵌入式系統接入Jini網絡的方法

Jini并不是專門為開發嵌入式應用而設計的。由上面的分析可知,一個支持Jini的設備必須具備一定的處理能力、內存、網絡功能和Java功能;而通常嵌入式系統對資源是嚴格限制的,完全支持Jini的嵌入式設備實際上并不多。另外,一些分布式嵌入式應用中底層的通信協議也不支持Jini。

如何使嵌入式系統能夠加入到Jini網絡,成為在分布式嵌入式應用領域中應用Jini技術的難點。結合現有的技術,目前主要有三種解決方法:一種是提高嵌入式設備的資源,如采用32位的處理器、2MB以上的存儲空間和支持網絡連接,這樣的嵌入式系統可以完全支持Jini;另外一種方法是采用Jini代理體系結構,不要求設備自身支持Java和Jini技術;第三種方法是將Jini進行移植。

2.1 J2ME與Jini技術相結合

繼Java技術在桌面系統和后端服務器領域取得巨大成功后,為了將Java的應用擴展到消費類電子設備和嵌入式設備,Sun推出了Java 2 平臺Micro Edition(J2ME)。它包括兩個基本的配置集:連接設備配置集(CDC ,Connected Device Configuration)和連接有限設備配置集(CLDC ,Connected Limited Device Configuration)。CDC面向的是具有更強計算能力的嵌入式設備;CLDC面向的是資源有限的消費類電子設備。對應于CDC和CLDC兩個不同的配置集,可以將J2ME設備分為兩類:低端信息設備和高端信息設備。J2ME設備分類如表1所列。

表1 J2ME設備分類表


這兩種不同設備要求的J2ME的運行環境也不同。低端信息設備比較適合使用CLDC中定義的KVM,這是一款專用的Java虛擬機,是以小型的資源有限的消費類設備為目標平臺的;而高端信息設備適合使用CDC中定義的CVM,它與常規的JVM是完全兼容的。
J2ME CDC可以使嵌入式設備具備Java 2的功能。基于J2ME CDC的RMI可選包完全滿足實現Jini的技術需求,因此可以直接加入Jini網絡。
對于那些J2ME CLDC的設備或是根本不支持Java和Jini的嵌入式設備來說,Jini代理體系結構(Jini Surrogate Architecture)使其接入Jini網絡成為可能。

2.2 Jini代理體系結構

Jini代理體系結構是由Sun公司的工程師Jim Waldo提出的,現在已成為www.jini.org站點中一個開放源代碼的項目。開發Jini代理的主要目標是使那些資源有限的設備能夠完全參與到Jini網絡中。

Jini代理體系結構由下列組件構成:可宿主機(host-capable machine)、代理宿主(Surrogate Host)、宿主資源(Host Resources)和相互連接(Interconnect)。組件之間的關系如圖2所示[6]。


設備是指那些不能夠加入Jini網絡的任何硬件設備或者軟件;可宿主機具備執行Java語言編寫的,用于代表設備的代碼,并且能夠為執行這些Java代碼提供所需的資源;代理宿主是駐留在可宿主機上,為執行代理體系結構的組件提供Java運行環境的框架,除了提供計算資源、運行環境和生命周期管理外,它還提供宿主的其它資源來幫助體系結構中的組件。

可宿主機在Jini網絡和設備兩者之間建立連接,在Jini網絡中充當這個設備的代言人。設備和代理宿主之間可以用有線或無線的方式相互連接。連接也可以采用任何的協議,有線連接如TCP/IP、RS-232、USB和IEEE1394等;無線連接可以采用藍牙協議。

這樣,Jini代理體系結構通過降低對設備資源的要求,實現了小型設備完全參與到Jini網絡中的目標,使得那些資源有限的小型設備可以充分利用Jini 技術的優勢。代理通過一個運行Java 2虛擬機支持Jini技術的宿主代理系統,使得本來需要運行在用戶中的服務代理對象可以在代理的環境中運行。任何小型設備與代理宿主通過相互連接進行對話,從而成為一個完全的支持Jini的用戶或服務,且仍保持Jini即插即用的特性。

2.3 移植Jini

Jini體系結構假設網絡底層使用的通信協議是TCP和UDP,而一些分布式嵌入式系統中通常采用的是實時、可靠的數據傳輸協議,如CAN、TTP等。為了在這樣的應用領域中使用Jini技術,可以考慮將Jini進行移植。RoSES(Robust Self-Configuring Embedded Systems)[3]是卡耐基梅隆大學通用發動機協作實驗室的一個研究項目。目的是尋找一種建立靈活的、健壯的和可維護的分布式嵌入式系統的通用方法,在研究過程中嘗試把Jini移植到CAN上。移植Jini的方法也可以解決嵌入式系統接入Jini網絡的問題,但其中的工作量相對較大。

3 應用實例

Jini在開發分布式嵌入式系統方面已經做了很多的工作[1~3]。下面介紹一下Jini在EIB(European Installation Bus)中的應用[1,2]。
現場總線分為多種,不同廠商的現場總線產品是不兼容的。為了解決這一問題,EIBA(European Installation Bus Association)提出了EIB。EIB代表了最新的現場總線技術,主要應用領域是家庭和建筑物的自動化。EIB網絡的拓撲結構可以是線形、星形和樹形。

EIB網絡中每個節點是一個EIB設備。一個EIB系統中最大可以安裝60 000個設備。每個EIB設備中有一個嵌入式微控制器用來運行通信協議。它從總線上接收數據后傳送給應用程序,或是把應用程序數據傳給其它設備。每個 EIB設備通過LC(Line Connector,具有路由功能)連接到主線(Main Line)上,BC(Bus Coupling)向特定應用的硬件(如傳感器和作動器)提供了定義良好的接口。

EIB中的設備(例如傳感器)都是資源非常有限的設備,很難直接支持Jini,而且EIB系統使用的底層通信協議也不支持Jini。因此在實現中,采用Jini代理體系結構來使EIB設備接入Jini網絡。系統結構如圖3所示[2]。


EIB代理(EIB Agent)是EIB設備在Jini網絡中映射的服務代理。它向服務的使用者(Service User)提供EIB設備的功能;EIB服務器(EIB Server)由Jini數據庫(Jini Database)和EIB控制器(EIB Controller)兩個模塊組成。它負責管理代理宿主機與現場總線之間的連接,其中Jini數據庫是一個存放EIB設備和相應的EIB代理之間的映射關系的數據庫。EIB代理和EIB服務器運行在代理宿主機上。

這樣,在EIB系統中使用Jini技術會帶來如下好處:
◇EIB系統中,每個設備提供的功能都可以映射成Jini服務,這樣,不僅可以被其它的現場總線使用,而且還可以被支持Jini的任何設備(如PDA)來訪問;
◇Jini簡化了網絡編程,并且Java提高了系統的安全性;
◇EIB網絡可以連接到Internet,這樣系統變成了開放的,提高了EIB設備的可訪問性;
◇Jini使EIB系統中的設備可以與家用消費電器和自動化設備通信,增強EIB設備的功能;
◇Jini提供了一種獨立于廠商的服務平臺,使得不同廠商的現場總線產品相互兼容。

應當指出的是,Jini并不是完全適用于實時性要求高的嵌入式應用。RoSES的研究項目中,將Jini移植到了CAN上;但實驗結果表明,Jini的實時性能并不令人滿意。

4 總 結

在構建分布式嵌入式系統的過程中利用Jini技術,不但可以降低系統的開發難度、實現嵌入式環境中基于服務級的互操作,而且可使系統具有很好的靈活性和可靠性。同時,在分布式嵌入式領域中使用Jini技術也存在一些需要解決的問題,包括如何使得嵌入式系統支持Jini以及Jini的實時性等。

參考文獻

   1. Christopher Kriigel Jini Connectivity for Home and Building Automation A Case Study for EIB 2000
   2. Wolfgang Kastner Jini Connectivity For Fieldbus System 2000
   3. Meredith Beveridge.Philip Koopman Jini Meets Embedded Control Networking: a case study in portability failure 2002
   4. S.Ilango Kumaran.林琪 Jini技術指南 2003
   5. Sun Microsystem JiniTM Architecture Specification
   6. Sun Microsystem JiniTM echnology Surrogate Architecture Overview
   7. Wayne Wolf.孫玉芳 嵌入式計算系統設計原理 2002
   8. Jie Wu.高傳善 分布式系統設計 2001

作 者:北京航空航天大學 孫曉明 尚利宏 金惠華  
來 源:單片機與嵌入式系統應用 2003(10)
本文地址:http://www.qingdxww.cn/thread-9452-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 安靜高效的電機控制——這才是正確的方向!
  • 想要避免發生災難,就用MPLAB® SiC電源仿真器!
  • 為何選擇集成電平轉換?
  • 5分鐘詳解定時器/計數器E和波形擴展!
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产区精品一区二区不卡中文 | 亚洲国产欧美久久香综合 | 黄色小视频在线免费看 | 91网站免费在线观看 | 在线视频一区二区三区在线播放 | 免费能直接在线观看黄的视频 | 国产高清成人 | 四虎影院大全 | 奶茶app下载网址进入下载 | 日韩免费在线视频观看 | 欧美日韩在线一本卡 | 久久精品一本到99热免费 | 国内精品久久国产 | 999成人精品视频在线 | 免费精品美女久久久久久久久 | 国产精品三级国语在线看 | h免费观看 | 欧美一级va在线视频免费播放 | 久久香蕉国产线看观看亚洲片 | 91成人高清在线播放 | 免费不卡毛片 | 国产高清在线免费观看 | 东方伊人免费在线观看 | 操女穴| 亚洲精品另类 | 2023av视频| 四虎高清在线精品免费观看 | 欧美人与动性行为高清视频 | 91插插插网站 | 日韩精品导航 | 男人与女人交配 | 国产精品成人网红女主播 | 国产玖玖 | 996热在线视频 | swag在线播放 | 97免费| 午夜性福利视频 | 亚洲欧美视频一区 | 亚洲人成网站在线观看播放动漫 | 国内自拍视频在线看免费观看 | 欧美精品一区二区三区久久 |