国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Jini在分布式嵌入式系統(tǒng)中的應用

Jini在分布式嵌入式系統(tǒng)中的應用

作者: 時間:2004-12-11 來源:網絡 收藏
摘要:是一種基于Java的全新的構建的技術,具有動態(tài)的、自形成的和自管理的特性,可用于構建動態(tài)的。本文首先介紹體系結構及特點,然后闡述如何利用來開發(fā)系統(tǒng)。其中包括Jini在構建分布式系統(tǒng)中的優(yōu)勢、嵌入式系統(tǒng)接入Jini網絡的方法和當前Jini在分布式嵌入式系統(tǒng)中的實例。

關鍵詞:Jini 分布式嵌入式系統(tǒng) Jini代理體系結構 EIB

引 言

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

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

1 Jini技術概述

1.1 Jini的體系結構

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

  一個Jini系統(tǒng)由下列組件組成[4]:

◇基礎設施組件――提供一個在分布式系統(tǒng)中建立起服務聯(lián)盟的框架;

◇編程模型組件――支持建立可靠的分布式服務;

◇服務組件――可以成為Jini服務聯(lián)盟中的一部分并且向聯(lián)盟中的其它成員提供服務。

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

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

  Jini的體系結構建立在以下環(huán)境假設的基礎上[5]:

◇有一個網絡并且具有合理的網絡延遲,以不影響Jini系統(tǒng)的性能(要求網絡底層使用的通信協(xié)議是TCP和UDP[3]);

◇每個支持Jini的設備具有一定內存和處理能力;

◇每個設備都需要裝備一個Java虛擬機。

任何實體都可以成為服務提供者(即服務)或服務請求者(即用戶)。當一個實體作為一個服務的提供者時,對它具有如下的要求:

◇為實現(xiàn)發(fā)現(xiàn)和加入查找服務的功能,服務提供者必須擁有網絡功能;

◇為了能夠下載一個查找服務的代理,需要一個Java虛擬機,并且虛擬機支持標準的Java和RMI;

◇為保存與注冊相關的信息,需要有存儲功能;

◇為了實現(xiàn)以上的各種計算,需要有一個處理器。

同樣,一個服務請求者的實體具有如下要求:

◇為實現(xiàn)發(fā)現(xiàn)查找服務的功能,服務請求者必須支持網絡;

◇為了下載并且服務對象代理,需要一個Java虛擬機和存儲功能;

◇需要實現(xiàn)計算的處理器。

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

1.2 Jini技術的特點

  Jini的核心功能是提供一種基于網絡動態(tài)的、自形成的和自管理的服務聯(lián)盟,具有如下特點。

 ?、?Jini是即插即用的:服務提供者加入Jini網絡后,通過查找服務注冊后即可向使用者提供服務;服務的使用者加入Jini網絡后即可通過查找服務使用相應的服務,之后離開。

 ?、?使用戶可以很容易地訪問網絡中任何位置的資源,即使是用戶在網絡中的位置經常變化。

 ?、?Jini以自發(fā)的方式實現(xiàn)實體間的互聯(lián):任何實體之間可以相互發(fā)現(xiàn)和加入Jini網絡來組成一個Jini聯(lián)盟。

  ④ Jini消除了硬件和軟件之間的差別:Jini把硬件和軟件都抽象為服務,是一種真正的基于服務的體系結構。

 ?、?Jini是一種分布式計算框架,使得分布式編程變得容易:Jini將Java應用環(huán)境由單獨的Java虛擬機擴展到一個Java虛擬機網絡;Java虛擬機屏蔽了不同機器平臺和操作系統(tǒng)的異構性,降低了分布式編程的難度。

1.3 利用Jini開發(fā)分布式嵌入式系統(tǒng)

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

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

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

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

2 嵌入式系統(tǒng)接入Jini網絡的方法

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

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

2.1 J2ME與Jini技術相結合

   繼Java技術在桌面系統(tǒng)和后端服務器領域取得巨大成功后,為了將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設備分類表

 低端信息設備高端信息設備
典型設備尋呼機、蜂窩式電話、移動式收款機終端電視機頂盒、汽車導航系統(tǒng)、Web電話、網絡路由器
處理器/位16/3232
存儲特性/B256K~512K2M~16M
網絡連接特性帶寬較窄,且不一定是基于TCP/TP協(xié)議的通常具有持續(xù)的TCP/IP連接

  這兩種不同設備要求的J2ME的運行環(huán)境也不同。低端信息設備比較適合使用CLDC中定義的KVM,這是一款專用的Java虛擬機,是以小型的資源有限的消費類設備為目標平臺的;而高端信息設備適合使用CDC中定義的CVM,它與常規(guī)的JVM是完全兼容的。

  J2ME CDC可以使嵌入式設備具備Java 2的功能?;贘2ME CDC的RMI可選包完全滿足實現(xiàn)Jini的技術需求,因此可以直接加入Jini網絡。

  對于那些J2ME CLDC的設備或是根本不支持Java和Jini的嵌入式設備來說,Jini代理體系結構(Jini Surrogate Architecture)使其接入Jini網絡成為可能。

2.2 Jini代理體系結構

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

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

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

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

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

2.3 移植Jini

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

3 應用實例

  Jini在開發(fā)分布式嵌入式系統(tǒng)方面已經做了很多的工作[1~3]。下面介紹一下Jini在EIB(European Installation Bus)中的應用[1,2]。

  現(xiàn)場總線分為多種,不同廠商的現(xiàn)場總線產品是不兼容的。為了解決這一問題,EIBA(European Installation Bus Association)提出了EIB。EIB代表了最新的現(xiàn)場總線技術,主要應用領域是家庭和建筑物的自動化。EIB網絡的拓撲結構可以是線形、星形和樹形。

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

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

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

  這樣,在EIB系統(tǒng)中使用Jini技術會帶來如下好處:

◇EIB系統(tǒng)中,每個設備提供的功能都可以映射成Jini服務,這樣,不僅可以被其它的現(xiàn)場總線使用,而且還可以被支持Jini的任何設備(如PDA)來訪問;

◇Jini簡化了網絡編程,并且Java提高了系統(tǒng)的安全性;

◇EIB網絡可以連接到Internet,這樣系統(tǒng)變成了開放的,提高了EIB設備的可訪問性;

◇Jini使EIB系統(tǒng)中的設備可以與家用消費電器和自動化設備通信,增強EIB設備的功能;

◇Jini提供了一種獨立于廠商的服務平臺,使得不同廠商的現(xiàn)場總線產品相互兼容。

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

4 總 結

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

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關推薦

技術專區(qū)

關閉