第11章_智能空間關(guān)鍵技術(shù)與應(yīng)用-final_2
第11章 智能空間關(guān)鍵技術(shù)與應(yīng)用11.1引言智能空間技術(shù)是一種將計(jì)算設(shè)備嵌入到工作和生活空間、為用戶提供自然的人機(jī)交互接口的普適計(jì)算技術(shù)。它是隨著計(jì)算、通訊和相關(guān)技術(shù)的迅速發(fā)展,各種形態(tài)的傳感裝置、計(jì)
第11章 智能空間關(guān)鍵技術(shù)與應(yīng)用
11.1引言
智能空間技術(shù)是一種將計(jì)算設(shè)備嵌入到工作和生活空間、為用戶提供自然的人機(jī)交互接口的普適計(jì)算技術(shù)。它是隨著計(jì)算、通訊和相關(guān)技術(shù)的迅速發(fā)展,各種形態(tài)的傳感裝置、計(jì)算和通訊設(shè)備迅速出現(xiàn)和應(yīng)用而帶來的一種新模式。在智能空間中,各種可見或不可見的傳感器、執(zhí)行裝置、通訊、計(jì)算和交互設(shè)備將為人們創(chuàng)造一個(gè)更好的生活和工作環(huán)境。 美國國家標(biāo)準(zhǔn)和技術(shù)學(xué)會(NIST )把智能空間定義為:“一個(gè)嵌入了計(jì)算、信息設(shè)備和多模態(tài)的傳感器的工作空間,其目的是使用戶能夠非常方便地訪問信息和獲得計(jì)算機(jī)的服務(wù),高效地進(jìn)行單獨(dú)工作或與其他人的協(xié)作”。智能空間普遍被認(rèn)為是普適計(jì)算思想最集中和最重要的體現(xiàn),是研究普適計(jì)算關(guān)鍵技術(shù)的實(shí)驗(yàn)床。
根據(jù)NIST 的定義,典型智能空間硬件的基本組成包括:RFID (radio frequency identification )卡及讀取裝置、多種的傳感和執(zhí)行裝置、通訊(有線、無線)設(shè)施和計(jì)算設(shè)備等。其中,
(1) RFID 卡和讀卡裝置用于標(biāo)識和識別智能空間中的物體和用戶的身份,為各個(gè)實(shí)體分配一個(gè)唯一的ID 。智能空間通過RFID 讀取裝置,以非接觸的方式,同時(shí)讀取多個(gè)RFID 卡內(nèi)存儲的ID ,實(shí)現(xiàn)實(shí)體身份的識別。
(2) 傳感裝置用于收集和感知環(huán)境和用戶的多種數(shù)據(jù)和信息,并通過通信系統(tǒng)傳遞給其他對象及用戶。
(3) 執(zhí)行裝置能根據(jù)用戶的需求、系統(tǒng)的狀態(tài)和環(huán)境數(shù)據(jù),執(zhí)行和完成一系列的動作和行為,改變智能空間中的環(huán)境或物體的狀態(tài),為用戶提供豐富的交互手段。
(4) 通訊設(shè)施能以異構(gòu)的方式,通過多種通信方法和協(xié)議,實(shí)現(xiàn)智能空間中的數(shù)據(jù)傳遞,在各種環(huán)境實(shí)體和用戶之間傳遞信息。
(5) 計(jì)算設(shè)備則負(fù)責(zé)完成對信息的處理。把各種數(shù)據(jù)和信息根據(jù)用戶和應(yīng)用的需求,進(jìn)行相應(yīng)的處理和存儲,進(jìn)行智能決策,并通過適當(dāng)?shù)臋C(jī)制完成反饋。
,11.1.1智能空間的主要特征
智能空間需要物理空間和信息空間的高度融合。在這個(gè)融和的空間中,人們可以根據(jù)自己的需要,隨時(shí)隨地透明地獲得數(shù)字化的服務(wù)。根據(jù)美國國家標(biāo)準(zhǔn)和技術(shù)協(xié)會定義,智能空間應(yīng)具備的功能和為用戶提供的服務(wù)包括如下6個(gè)內(nèi)容:
(1) 能識別和感知用戶及其動作和目的,理解和預(yù)測用戶在完成任務(wù)工程中的需求。
(2) 用戶能方便地與各種信息源進(jìn)行交互。
(3) 用戶攜帶的移動設(shè)備可以無縫地和智能空間中的基礎(chǔ)設(shè)施進(jìn)行交互。
(4) 能為用戶提供豐富的信息展示。
(5) 提供對發(fā)生在智能空間的事件的記錄,實(shí)現(xiàn)用戶體驗(yàn)的檢索和回放。
(6) 支持空間中多人的協(xié)同工作以及和遠(yuǎn)程用戶的沉浸式協(xié)同工作。
根據(jù)這些要求,智能空間需要實(shí)現(xiàn)信息基礎(chǔ)設(shè)施和周圍環(huán)境的物理集成,設(shè)備之間可自主互操作。所謂物理集成,包含兩個(gè)方面含義。一方面,信息空間的物理設(shè)備應(yīng)該能被集成到代表物理世界的物理環(huán)境和設(shè)備中。通過嵌入計(jì)算、傳感和無線通訊設(shè)備,物理設(shè)備能向環(huán)境中的其它設(shè)備報(bào)告自己的狀態(tài)。另一方面,用戶和信息基礎(chǔ)設(shè)施所發(fā)生的交互,還需要受到所處的物理環(huán)境的限制和制約。
智能空間中的設(shè)備、裝置和模塊自主互操作,可協(xié)同地主動為用戶提供服務(wù),使得智能空間能實(shí)現(xiàn)立體和連續(xù)的交互通道。不同的智能空間也應(yīng)該能夠自主地進(jìn)行交互,為用戶提供服務(wù)。當(dāng)一個(gè)智能空間的資源無法滿足用戶的請求時(shí),智能空間可根據(jù)用戶的需求向鄰近的其它智能空間請求幫助,多個(gè)智能空間組成一個(gè)智能社區(qū),協(xié)同實(shí)現(xiàn)用戶的請求。 11.1.2 智能空間的關(guān)鍵技術(shù)
智能空間具有系統(tǒng)的高度分布性、資源異構(gòu)性、設(shè)備可移動性以及系統(tǒng)的持久性和整合性等特點(diǎn),而且要支持自主互操作,實(shí)現(xiàn)環(huán)境的自主發(fā)現(xiàn)和模塊之間的自主協(xié)作。因此,在智能空間的設(shè)計(jì)和實(shí)現(xiàn)中,要考慮系統(tǒng)的可擴(kuò)展性和實(shí)體之間的松散耦合等方面。而且由于移動設(shè)備的存在,要支持根據(jù)位置信息的環(huán)境自發(fā)現(xiàn)、支持異構(gòu)的通訊信道和應(yīng)用模塊之間資源分配的協(xié)調(diào)機(jī)制等。
設(shè)計(jì)和實(shí)現(xiàn)智能空間的關(guān)鍵技術(shù)包括以下5個(gè)方面。
(1) 資源的描述和發(fā)現(xiàn)機(jī)制:為了便利地使用智能空間中的各種軟硬件資源,實(shí)現(xiàn)模塊之間的協(xié)作,需要為智能空間中的各種軟硬件提供一致的描述方式,以描述資源的性質(zhì)和外部接口。當(dāng)系統(tǒng)需要使用某種資源時(shí),可以根據(jù)需求,查找和發(fā)現(xiàn)滿足需求的資源。
(2) 異構(gòu)通訊方法:智能空間中不但存在計(jì)算設(shè)備的異構(gòu),而且,由于存在多種移動設(shè)備,需要發(fā)生交互的設(shè)備可能有完全不同的通訊方法。例如,使用無線通訊的無線傳感裝置,通過通信基礎(chǔ)設(shè)施,可以和使用藍(lán)牙通訊的手機(jī)等移動裝置進(jìn)行交互等。
228
,(3) 信息交互模型:由于智能空間中很多設(shè)備僅具有有限的計(jì)算、存儲和通訊能力,在設(shè)計(jì)和實(shí)現(xiàn)智能空間的信息交互模型時(shí),必須考慮這些受限設(shè)備能力,避免大量信息在這些設(shè)備之間的傳遞。
(4) 數(shù)據(jù)匯聚方法:由于在智能空間中存在大量不同類型的傳感器設(shè)備和RFID 設(shè)備,感知和獲取的數(shù)據(jù)不但格式差異,而且物理含義也不同。如何有效地匯聚數(shù)據(jù),滿足不同應(yīng)用的需求,是設(shè)計(jì)和實(shí)現(xiàn)智能空間的關(guān)鍵技術(shù)。
(5) 系統(tǒng)的可重構(gòu)策略:智能空間不但要支持不同的應(yīng)用,而且在生命周期的不同階段,也有不同的應(yīng)用重點(diǎn)。如何根據(jù)應(yīng)用的需求,支持智能空間的重構(gòu),是需要研究和解決的重要問題和關(guān)鍵技術(shù)。
在后面幾節(jié)中,將分別討論智能空間設(shè)計(jì)和實(shí)現(xiàn)中的關(guān)鍵技術(shù),并介紹典型的智能空間具體應(yīng)用。
11.2 智能空間中的實(shí)體協(xié)同
在智能空間中,大量不同類型的系統(tǒng)需要分布式地協(xié)同工作,以滿足用戶需求。但由于系統(tǒng)的異構(gòu)性,各種資源具有不同的功能、計(jì)算能力和通訊方式。這給在智能空間中實(shí)現(xiàn)協(xié)同帶來了困難。為了實(shí)現(xiàn)智能空間中的資源協(xié)同,需要實(shí)現(xiàn)一致的資源接口描述和資源發(fā)現(xiàn)、異構(gòu)網(wǎng)絡(luò)的互通訊以及資源的組織管理等。
11.2.1 資源描述和發(fā)現(xiàn)機(jī)制
智能空間中的資源是指參與智能空間計(jì)算環(huán)境的主機(jī)軟硬件環(huán)境、配置(configuration )及其它各種實(shí)體等。這些軟硬件環(huán)境、配置和實(shí)體能直接或間接、單獨(dú)或協(xié)同地為智能空間中的人機(jī)交互接口(用戶接口)或者軟硬件模塊(系統(tǒng)接口)提供支持或服務(wù)。資源的描述和發(fā)現(xiàn)機(jī)制廣泛用于多種分布式計(jì)算領(lǐng)域,如資源發(fā)現(xiàn)、負(fù)載平衡、基于多播的組通訊、網(wǎng)絡(luò)緩存和普適計(jì)算領(lǐng)域等,資源的描述和發(fā)現(xiàn)也是各種高層網(wǎng)絡(luò)服務(wù)的基礎(chǔ)。
智能空間中的資源描述和發(fā)現(xiàn)機(jī)制,就是設(shè)計(jì)一種機(jī)制統(tǒng)一描述各種異構(gòu)資源的能力和接口,使用戶或者應(yīng)用系統(tǒng)能夠在智能空間中,根據(jù)自己需要資源的描述,快速、動態(tài)發(fā)現(xiàn)和使用需要的資源。而資源感知的數(shù)據(jù),也應(yīng)該能夠根據(jù)智能空間中用戶應(yīng)用的需求,主動傳遞給用戶和應(yīng)用系統(tǒng),進(jìn)行必要的后續(xù)處理。
在互聯(lián)網(wǎng)領(lǐng)域,網(wǎng)絡(luò)資源的命名、描述和發(fā)現(xiàn)機(jī)制是整個(gè)互聯(lián)網(wǎng)系統(tǒng)的核心。在這個(gè)領(lǐng)域,已經(jīng)有了不少成熟的研究成果。相關(guān)領(lǐng)域的主要研究工作有以下幾種:
(1) 網(wǎng)絡(luò)資源命名系統(tǒng)。如DNS 是互聯(lián)網(wǎng)中最常用的資源命名和發(fā)現(xiàn)機(jī)制,但是其功能也最簡單,只能把固定的域名映射成IP 地址。描述性命名方式可以定義特定的描述語言
229 [9]
,來描述資源。如Jini ,XML 等。尤其是以XML 為基礎(chǔ)的RDF/OWL,更是在“語義Web ”中的資源描述和發(fā)現(xiàn)中發(fā)揮著非常重要的作用。但是這樣的命名策略,往往對資源的描述存在諸多的限制,而且不適合資源受限設(shè)備的描述。
(2) 通用應(yīng)用層命名服務(wù)。它可以提供不依賴于特定應(yīng)用的應(yīng)用層命名機(jī)制,如應(yīng)用層廣播和主動服務(wù)等。但是目前這些機(jī)制仍然嚴(yán)重依賴于網(wǎng)絡(luò)層,并且和應(yīng)用及實(shí)現(xiàn)高度相關(guān)。
(3) 分層命名機(jī)制。如資源的分層命名機(jī)制,但其實(shí)現(xiàn)和使用情況尚需要做進(jìn)一步的驗(yàn)證。
在資源的發(fā)現(xiàn)機(jī)制方面,目前常用的有Jini ,SLP (Service Location Protocol ),UPnP 等。這些機(jī)制的功能和局限如表11.1所示:
表11.1 目前常用的網(wǎng)絡(luò)資源發(fā)現(xiàn)機(jī)制

11.2.1.1 智能空間資源描述機(jī)制
為了實(shí)現(xiàn)資源的可描述性以及資源描述的通用性,使用了樹形結(jié)構(gòu)來描述智能空間中的資源,采用(屬性,值)匹配對,從屬性和值兩個(gè)方面來描述資源。其中,屬性指明了資源的分類方法,而值則表明了資源根據(jù)屬性的具體分類。例如,可以使用“位置”屬性來描述一個(gè)傳感設(shè)備,而“入口”則是該傳感設(shè)備的“位置”屬性的值。在這種(屬性,值)匹配對的資源機(jī)制中,沒有預(yù)定義的屬性和值域,應(yīng)用程序和用戶可以根據(jù)自己的需要自由定義屬性集和屬性的值域。使用(屬性,值) 匹配對描述資源的某個(gè)特定屬性取值為指定的值,如某個(gè)傳感器節(jié)點(diǎn)具有屬性(位置,倉庫入口)則表明該設(shè)備的位置是倉庫入口處。
由于單個(gè)的(屬性,值)匹配對并不能提供對資源的詳細(xì)描述,可以使用(屬性,值)匹配對列表來進(jìn)一步描述資源。如(方位,右側(cè))屬性可以進(jìn)一步描述(位置,倉庫入口)這個(gè)屬性。這樣,智能空間中資源的描述可以形成了一個(gè)樹形結(jié)構(gòu),其樹根的值為空,第一層節(jié)點(diǎn)為高層屬性的名稱,屬性節(jié)點(diǎn)的子節(jié)點(diǎn)為屬性值,其下層子節(jié)點(diǎn)則為其進(jìn)一步描述的子屬性名,如圖11.1所示。
230
,圖11.1 資源的樹狀描述
使用這樣的(屬性、值)匹配對列表的描述機(jī)制,應(yīng)用系統(tǒng)和組織可以根據(jù)實(shí)際的需要,自由定義智能空間中資源的屬性,并從不同的角度進(jìn)行描述,實(shí)現(xiàn)資源的充分可描述性。同時(shí)這樣的描述機(jī)制也具有高度的通用性。這種資源描述方法,可以用下面數(shù)據(jù)結(jié)構(gòu)進(jìn)行表示,數(shù)據(jù)結(jié)構(gòu)中包含一個(gè)(屬性,值) 匹配對作為根,(屬性,值)匹配對中包含一個(gè)屬性名、屬

性的取值以及后續(xù)子描述的一個(gè)匹配對列表。屬性名和屬性值目前都用字符串標(biāo)識,使用等號(=)連接起來。子描述列表使用括號(“[”和“]”),跟在描述匹配對的后面。
整個(gè)數(shù)據(jù)結(jié)構(gòu)可以用如下的BNF 范式進(jìn)行描述:
例如,可以使用如下的方法來描述智能空間中的一個(gè)實(shí)體資源的類型、位置和訪問方法:
,資源描述樹中的屬性節(jié)點(diǎn)也可以有多個(gè)子值節(jié)點(diǎn),用來描述該屬性可能的取值范圍。樹中的節(jié)點(diǎn)按照層次劃分,交替依次為值節(jié)點(diǎn)和屬性節(jié)點(diǎn)。
在資源描述樹中,為了方便實(shí)現(xiàn)資源的查找,值節(jié)點(diǎn)應(yīng)包含如下4個(gè)屬性:
(1) 變量value ,標(biāo)識了該值節(jié)點(diǎn)的值。
(2) 鏈表children ,包含了該值節(jié)點(diǎn)所具有的所有屬性節(jié)點(diǎn)。
(3) 變量parent ,標(biāo)識了該值節(jié)點(diǎn)的父屬性節(jié)點(diǎn)。
(4) 鏈表records ,包含了所有在此節(jié)點(diǎn)中的資源描述。
同樣,屬性節(jié)點(diǎn)應(yīng)具有如下3個(gè)屬性:
(1) 變量attribute 標(biāo)識了該節(jié)點(diǎn)標(biāo)識的屬性名。
(2) 鏈表children 包含了所有該屬性節(jié)點(diǎn)的下層值節(jié)點(diǎn),表示該屬性節(jié)點(diǎn)的可能取值。
(3) 變量parent 標(biāo)識了該屬性節(jié)點(diǎn)的父值節(jié)點(diǎn)。
通過資源描述樹機(jī)制,可以實(shí)現(xiàn)高效的智能空間資源描述解析和資源發(fā)現(xiàn),便于應(yīng)用系統(tǒng)的開發(fā)。同時(shí),該機(jī)制也具有高度的可部署性,可以在網(wǎng)絡(luò)中集中部署,或者多處部署同一資源描述樹的多個(gè)備份,實(shí)現(xiàn)快速的資源發(fā)現(xiàn)和訪問。
為了實(shí)現(xiàn)智能空間中的資源發(fā)現(xiàn),針對這樣的資源描述樹,提供的操作有6種:
(1) LOOKUP-RESOURCE ,可以用來在樹中查找指定的資源。可以使用遞歸的方法,把樹中存儲的屬性節(jié)點(diǎn)及值節(jié)點(diǎn)和用戶指定的描述進(jìn)行匹配,找到需要的資源。
(2) LOOKUP-RESOURCES ,在樹中查找符合指定描述的所有資源。這些資源描述的前綴和指定的描述相匹配。
(3) GET-RESOURCES ,返回樹中存儲的所有資源描述。
(4) ADD-RESOURCE ,在資源描述樹中添加一個(gè)資源描述。
(5) REMOVE-RESOURCE ,在資源描述樹中刪除一個(gè)資源描述。
(6) FORWARD_DATA,應(yīng)用程序可以調(diào)用該操作,把數(shù)據(jù)異步通過資源描述樹發(fā)送給和描述匹配的資源,調(diào)用后立即返回,繼續(xù)執(zhí)行。資源描述樹負(fù)責(zé)找到和描述相匹配的資源,完成數(shù)據(jù)傳遞。
通過這些操作,不但可以維護(hù)資源描述樹,在描述樹中增加和刪除資源描述,而且可以查找指定描述的資源,給出資源的列表,實(shí)現(xiàn)資源的發(fā)現(xiàn),并能進(jìn)行應(yīng)用和資源之間的異步數(shù)據(jù)傳遞。但是這樣的資源描述樹只適合在一個(gè)智能空間中使用。對于跨越多個(gè)智能空間資源發(fā)現(xiàn)和共享,需要在資源描述中增加用于資源共享的信息,并需要指定共享的限制,如可以指定條件,只能與滿足指定條件的智能空間共享等。下面,討論跨組織的資源發(fā)現(xiàn)機(jī)制。
為了實(shí)現(xiàn)跨智能空間的資源發(fā)現(xiàn)和共享,需要能把多資源描述樹鏈接起來。為了使一個(gè)智能空間的資源描述可以被其他智能空間發(fā)現(xiàn)和使用,設(shè)計(jì)的方法是在描述共享資源時(shí),增加一個(gè)Partition 屬性和描述,其它組織的用戶可以通過指定資源的Partition 屬性值來發(fā)現(xiàn)和使用資源。沒有Partition 屬性描述的資源,只能在組織內(nèi)部使用。如:
232
,[Resource=sensor1,[Location = floor 4,[Room= 407]] 和
[Resource=sensor1,[Location = floor 4,[Room= 407]]
[Partition = “Sensor_Robot”]]
前一個(gè)資源只能被資源所屬智能空間內(nèi)的用戶和應(yīng)用發(fā)現(xiàn)和使用,后一個(gè)描述的資源,表示該資源可以被其它智能空間通過在需要的資源描述中指定Partition = Sensor_Robot組織檢索、發(fā)現(xiàn)和共享使用。為了描述資源的共享限制,如資源只能被特定智能空間系統(tǒng)共享,可以在Partition 中添加(屬性、值)匹配序列,對共享做進(jìn)一步的限制,如:
[Resource=sensor1 [Location = floor 4,[Room= 407]]
[Partition = “Sensor_Robot”,[smartpace=”CS ”,]]]
表示該資源可以被智能空間(描述為smartspace=”CS ”)中的應(yīng)用系統(tǒng)發(fā)現(xiàn)和共享使用。
采用這樣的描述機(jī)制后,需要一個(gè)跨智能空間的共享資源描述管理器來管理多個(gè)共享的資源描述,存放各個(gè)智能空間共享的資源和資源的共享限制。該共享資源描述管理系統(tǒng)的結(jié)構(gòu)可以采用智能空間內(nèi)的資源描述管理樹相似的樹結(jié)構(gòu),但是共享資源描述管理樹的葉節(jié)點(diǎn)是智能空間中的資源描述樹中的資源描述。
應(yīng)用系統(tǒng)或用戶在需要使用其它組織共享的資源時(shí),首先形成關(guān)于自身的描述、資源所屬Partition 的描述和對資源描述, 然后,在共享資源描述管理樹中根據(jù)對自己和資源所屬組織的描述,查找到各個(gè)組織的資源樹中共享的資源描述,把自己需要的資源和資源描述樹中的資源進(jìn)行匹配。
11.2.1.3 資源的調(diào)用方法
在上述資源描述方式的智能空間中,資源請求策略按照綁定(binding )方式來分,可以分為前綁定和后綁定兩種。在前綁定方式中,資源請求者自己在智能空間的資源描述中進(jìn)行檢索,根據(jù)自己的需求,匹配智能空間中的資源描述。當(dāng)檢索到自己需求的目標(biāo)資源時(shí),根據(jù)資源描述的訪問方式,通過智能空間,請求和目標(biāo)資源建立連接,進(jìn)行訪問。
在后綁定方式中,資源請求者根據(jù)自己對目標(biāo)資源的需求,創(chuàng)建需求資源的描述,并向智能空間提交,由智能空間進(jìn)行目標(biāo)資源的檢索。在提交需求后,資源請求者可以根據(jù)自己的處理邏輯,繼續(xù)自己的運(yùn)行或者等待智能空間返回檢索結(jié)果。智能空間在接收到資源需求描述后,在自己的資源描述樹中,按照前面介紹的方法,進(jìn)行資源檢索。如果當(dāng)前智能空間沒有符合用戶需求的資源描述,則在共享的資源描述樹中,檢索其它智能空間的共享資源。當(dāng)檢索到符合需求的目標(biāo)資源后,把目標(biāo)資源的訪問方法法送給資源請求者。資源請求者接受到目標(biāo)資源的訪問方式描述后,可以和目標(biāo)資源建立連接,進(jìn)行資源的訪問。顯然,后綁定方式可以簡化智能空間應(yīng)用的開發(fā)。但是這種方式下,智能空間將承擔(dān)繁重的資源檢索任務(wù)。在需要頻繁進(jìn)行資源檢索時(shí),可能會影響系統(tǒng)的效率。
233
,11.2.2基于代理的多網(wǎng)絡(luò)通信機(jī)制
在智能空間中,存在多種通信方式和通信協(xié)議。如計(jì)算設(shè)備可能通過有線網(wǎng)絡(luò)彼此連接,實(shí)現(xiàn)高效穩(wěn)定的數(shù)據(jù)和信息交換;而傳感器節(jié)點(diǎn)則可能通過無線方式,基于數(shù)據(jù)包(packet ),使用多跳(multihop )方式傳送數(shù)據(jù);用戶攜帶的手機(jī)和PDA 設(shè)備,則可能使用藍(lán)牙方式和其它智能空間中的實(shí)體相互通信。為了實(shí)現(xiàn)使用不同通信方式和協(xié)議的實(shí)體互聯(lián)互通,可以使用代理(proxy )實(shí)現(xiàn)多種通信協(xié)議的相互轉(zhuǎn)換。
除了通信協(xié)議的轉(zhuǎn)換外,在智能空間中,代理還可以用來作為數(shù)據(jù)緩沖裝置,在智能空間和應(yīng)用系統(tǒng)之間進(jìn)行內(nèi)容適配和內(nèi)容過濾等。通常,考慮代理軟件對計(jì)算能力和內(nèi)存的需求,代理要運(yùn)行在使用連接骨干通訊方式和無線網(wǎng)絡(luò)的計(jì)算機(jī)設(shè)備上,在智能空間中,使用代理方式進(jìn)行通訊的優(yōu)點(diǎn)在于如下三個(gè)方面:
(1) 所有通信協(xié)議的轉(zhuǎn)換都可以通過代理完成,這樣使多種應(yīng)用程序可以在智能空間中使用。
(2) 協(xié)議和內(nèi)容轉(zhuǎn)換需要的處理可以在需要時(shí)分散到其它的實(shí)體處理,降低了對實(shí)體的處理能力的要求。
(3) 可以實(shí)現(xiàn)在不同通訊層的數(shù)據(jù)轉(zhuǎn)換,這樣可以根據(jù)無線連接的具體情況,對代理進(jìn)行定制開發(fā)等。
代理是一種處理動態(tài)內(nèi)容適配的常用方法。現(xiàn)在已經(jīng)有一些通用的代理框架,可以定制或擴(kuò)充,來解決特定的問題。如Internet 工程任務(wù)組提出的OPES ,提供了一個(gè)解決安全、分布和動態(tài)配置的Web 代理參考框架。在此,我們討論智能空間中代理框架的常用機(jī)制。代理框架通常需要實(shí)現(xiàn)的主要功能有:①適配模塊(adapter )的實(shí)現(xiàn)和組合;②適配模塊使用條件的描述機(jī)制;③監(jiān)視通信的語境,如網(wǎng)絡(luò)帶寬、應(yīng)用的狀態(tài)等;④適配模塊的載入。
1. 適配模塊開發(fā)
代理框架中最重要的部分就是適配模塊。適配模塊實(shí)現(xiàn)不同通信協(xié)議的轉(zhuǎn)換。一個(gè)代理可以使用多個(gè)適配模塊實(shí)例,以滿足不同應(yīng)用和語境需要的內(nèi)容適配和協(xié)議轉(zhuǎn)換??紤]應(yīng)用的當(dāng)前語境,代理在運(yùn)行時(shí)決定使用的適配器類型。在某些情況下,可能需要多個(gè)適配模塊組合完成通信協(xié)議的轉(zhuǎn)換和內(nèi)容的適配。此時(shí),代理框架需要支持對適配模塊的優(yōu)先級、排序和組合等的定義。代理框架在設(shè)計(jì)時(shí),通常要考慮可擴(kuò)展性。通常使用基于組件的方法來開發(fā)和實(shí)現(xiàn)適配模塊以及實(shí)現(xiàn)適配模塊的動態(tài)載入機(jī)制。
2. 適配模塊選擇
適配模塊的選擇以及使用時(shí)機(jī)是代理框架的一個(gè)可擴(kuò)展的特征,可以使用可編程接口或基于規(guī)則的配置兩種方法來定義。在第一種方法中,應(yīng)用程序的需求和要用的適配模塊必須使用代理框架提供的應(yīng)用程序接口編程實(shí)現(xiàn)。在基于規(guī)則配置的方法中,開發(fā)者必須定義規(guī)則。規(guī)則中包含使用客戶的網(wǎng)絡(luò)狀態(tài)(語境)描述的觸發(fā)條件;執(zhí)行的適配模塊和規(guī)則的優(yōu)234
,先級等。規(guī)則可以使用XML 進(jìn)行描述。代理框架在轉(zhuǎn)發(fā)消息時(shí),根據(jù)語境和轉(zhuǎn)發(fā)的內(nèi)容,在規(guī)則庫中查找,確定需要使用的適配器?;谝?guī)則的適配模塊選擇方法容易配置,不易出錯(cuò),不用處理框架內(nèi)部的編程細(xì)節(jié)。同樣重要的是,只有內(nèi)容的提供者可以決定在不同的語境中使用哪個(gè)適配模塊。
3. 語境監(jiān)測
語境信息的收集和監(jiān)測,包括執(zhí)行環(huán)境的客戶概況和條件,如網(wǎng)絡(luò)和節(jié)點(diǎn)的可用資源、負(fù)載、能量等,是代理框架的一項(xiàng)重要功能。網(wǎng)絡(luò)狀態(tài)的探知,如可用帶寬或連接情況等,通常是通過監(jiān)測功能或服務(wù)來完成的。與應(yīng)用相關(guān)的信息可以在應(yīng)用發(fā)出連接請求時(shí),通過包含概況的定制數(shù)據(jù)庫,或監(jiān)視設(shè)備資源的狀態(tài)得到。在代理框架中,當(dāng)語境發(fā)生變化時(shí),產(chǎn)生和發(fā)出異步事件。代理需要對異步事件進(jìn)行解釋和處理,以執(zhí)行相應(yīng)的行為。
4. 適配模塊載入和執(zhí)行
根據(jù)適配模塊載入和執(zhí)行的方式,代理框架可以分為可配置代理或動態(tài)代理。在可配置代理中,適配模塊在代理部署時(shí)靜態(tài)定義,開發(fā)者可以同時(shí)定義觸發(fā)規(guī)則來改變代理的行為。觸發(fā)規(guī)則定義了適配模塊執(zhí)行的語境和次序。動態(tài)代理支持按照當(dāng)前語境,動態(tài)和按需從適配模塊庫中載入適配模塊。適配模塊的動態(tài)載入給代理框架體提供了更大的柔性,缺點(diǎn)是載入時(shí)間較長??膳渲么碇С诌m配模塊的組合和配置驗(yàn)證。
11.3 支持智能空間的傳感器網(wǎng)絡(luò)的網(wǎng)格服務(wù)系統(tǒng)
11.3.1 概述
由無線傳感器網(wǎng)絡(luò)構(gòu)建智能空間的一個(gè)關(guān)鍵問題是需要一種基礎(chǔ)設(shè)施(infrastructure ),把多個(gè)無線傳感器網(wǎng)絡(luò)和需要它們數(shù)據(jù)的多個(gè)應(yīng)用系統(tǒng)通過網(wǎng)絡(luò)系統(tǒng)連接起來?,F(xiàn)有無線傳感器網(wǎng)絡(luò)的應(yīng)用系統(tǒng)多是和特定的傳感器網(wǎng)絡(luò)直接連接,固定接收和處理傳感器網(wǎng)絡(luò)產(chǎn)生的數(shù)據(jù)。
這里,引入面向服務(wù)的網(wǎng)格系統(tǒng)來構(gòu)建一個(gè)基于Internet 基礎(chǔ)設(shè)施,實(shí)現(xiàn)整個(gè)系統(tǒng)中多個(gè)傳感器網(wǎng)絡(luò)的命名、發(fā)現(xiàn)、概要管理、數(shù)據(jù)請求、過濾和匯聚等機(jī)制。通過把對無線傳感器網(wǎng)絡(luò)的訪問封裝成為網(wǎng)格服務(wù),同時(shí)在網(wǎng)格系統(tǒng)中設(shè)計(jì)和實(shí)現(xiàn)一些輔助服務(wù),然后在網(wǎng)格系統(tǒng)服務(wù)注冊機(jī)構(gòu)中注冊這些網(wǎng)格服務(wù),應(yīng)用系統(tǒng)可以自動查找、綁定、調(diào)用和組合這些服務(wù)及其操作。這樣,不單可以簡化無線傳感器網(wǎng)絡(luò)應(yīng)用系統(tǒng)的開發(fā)過程,而且可以方便在已有的應(yīng)用系統(tǒng)中集成和使用無線傳感器網(wǎng)絡(luò),實(shí)現(xiàn)一種基于SOA (service oriented architecture )的軟件結(jié)構(gòu)。
235
,11.3.2 傳感器網(wǎng)絡(luò)和網(wǎng)格系統(tǒng)
在具有傳感器網(wǎng)絡(luò)的智能空間網(wǎng)格系統(tǒng)中,可以把每個(gè)傳感器網(wǎng)絡(luò)看成是一個(gè)數(shù)據(jù)采集單元。采集單元里面的數(shù)據(jù)采集設(shè)備可能差異巨大,有的可能只有一個(gè)傳感器網(wǎng)絡(luò)節(jié)點(diǎn),有的則具有成百上千個(gè)能進(jìn)行內(nèi)部復(fù)雜處理的傳感器網(wǎng)絡(luò)節(jié)點(diǎn)。這樣的網(wǎng)格體系結(jié)構(gòu),應(yīng)該支持從多個(gè)來自于不同管理域、具有不同連接特點(diǎn)的傳感器網(wǎng)絡(luò)到各種應(yīng)用系統(tǒng)之間的數(shù)據(jù)傳送。
結(jié)合多個(gè)傳感器網(wǎng)絡(luò)的網(wǎng)格系統(tǒng)由多個(gè)數(shù)據(jù)采集單元、多種網(wǎng)格服務(wù)和多種客戶應(yīng)用系統(tǒng)組成。其中對數(shù)據(jù)采集單元的訪問方式被封裝為網(wǎng)格服務(wù),在網(wǎng)格系統(tǒng)的全局注冊機(jī)構(gòu)中注冊和發(fā)布??蛻魬?yīng)用系統(tǒng)可以自動查找、綁定和調(diào)用這些服務(wù),讀取傳感器網(wǎng)絡(luò)感知的數(shù)據(jù)。
同時(shí)在網(wǎng)格系統(tǒng)中提供一些輔助的網(wǎng)格服務(wù),如數(shù)據(jù)過濾、匯聚、壓縮、存儲等服務(wù),使得應(yīng)用系統(tǒng)在調(diào)用源于不同數(shù)據(jù)采集單元的數(shù)據(jù)時(shí)可以用這些輔助服務(wù)過濾、匯聚、壓縮甚至?xí)簳r(shí)緩沖數(shù)據(jù)。這些輔助服務(wù)的存在可以簡化應(yīng)用系統(tǒng)的開發(fā),使用戶構(gòu)建功能更加強(qiáng)大的應(yīng)用系統(tǒng)。
把對傳感器網(wǎng)絡(luò)的訪問封裝成為網(wǎng)格服務(wù),然后在網(wǎng)格系統(tǒng)中發(fā)布,可以解決傳感器網(wǎng)絡(luò)在應(yīng)用中存在的如下一些問題。
(1) 資源命名和發(fā)現(xiàn):傳統(tǒng)上,應(yīng)用系統(tǒng)很難感知和訪問在不同管理域、具有不同接口和訪問權(quán)限的傳感器網(wǎng)絡(luò)。引入網(wǎng)格系統(tǒng)后,可以通過網(wǎng)格系統(tǒng)內(nèi)已經(jīng)存在的資源與服務(wù)的注冊與查找機(jī)制,解決傳感器網(wǎng)絡(luò)在網(wǎng)絡(luò)中的發(fā)現(xiàn)和使用問題。
(2)資源描述:可以使用11.2.1中提出的網(wǎng)格服務(wù)的語義描述機(jī)制,對傳感器網(wǎng)絡(luò)產(chǎn)生的數(shù)據(jù)和意義進(jìn)行描述,便于傳感器網(wǎng)絡(luò)數(shù)據(jù)被應(yīng)用更好地發(fā)現(xiàn)和使用。
(3)服務(wù)組合:應(yīng)用系統(tǒng)可以組合網(wǎng)格系統(tǒng)中的多種網(wǎng)格服務(wù),滿足應(yīng)用不同的需要。
(4)系統(tǒng)可伸縮性:通過提供這樣的一個(gè)基礎(chǔ)設(shè)施,整個(gè)系統(tǒng)可以很容易加入新的傳感器網(wǎng)絡(luò)、新的應(yīng)用系統(tǒng)和新的服務(wù)。
(5)魯棒性:由于傳感器網(wǎng)絡(luò)產(chǎn)生的數(shù)據(jù)流可以在網(wǎng)格系統(tǒng)的服務(wù)中進(jìn)行緩沖,可以為應(yīng)用系統(tǒng)提供很高的魯棒性。
(6)服務(wù)質(zhì)量:可以為傳感器網(wǎng)絡(luò)感知數(shù)據(jù)的發(fā)送提供不同等級的服務(wù)質(zhì)量。如有些數(shù)據(jù)可以快速實(shí)時(shí)傳遞給應(yīng)用系統(tǒng),而有的數(shù)據(jù)可以承受一定的網(wǎng)絡(luò)延遲丟失。結(jié)合網(wǎng)格服務(wù)技術(shù),可以達(dá)到應(yīng)用對傳感器網(wǎng)絡(luò)不同的QOS 數(shù)據(jù)傳送要求。
11.3.3 系統(tǒng)框架和體系結(jié)構(gòu)
基于網(wǎng)格服務(wù)封裝傳感器網(wǎng)絡(luò)的體系結(jié)構(gòu)描述了使用多種網(wǎng)格服務(wù)封裝無線傳感器網(wǎng)絡(luò)應(yīng)該實(shí)現(xiàn)的方法,這些封裝都是在傳感器網(wǎng)絡(luò)的應(yīng)用層實(shí)施,在對服務(wù)接口進(jìn)行描述的基236