摘要:介紹對網絡操作品平臺的機制、層次結構和數據模型的研究。并簡要介紹基于該平臺模型實現的應用方案。
關鍵詞:普適計算;上下文感知;中間件
中圖分類號:TP316文獻標志碼:A
文章編號:1001—3695(2007)03—0250—03
0引言
普適計算[1]是把計算機嵌入到環境或日常工具中去,讓計算機本身從人們的視線中消失,讓人們的注意力回歸到要完成的任務本身。普適計算所要研究的內容包括智能環境和不可見的計算、無縫的可移動性、普遍的信息訪問、覺察上下文的計算和可穿戴的計算等。
網絡傳感器是集傳感器技術、嵌入式計算技術、現代網絡及通信技術、分布式信息處理技術于一身的資源受限的嵌入式設備,是普適計算在微型嵌入式領域的一種重要應用模式。
網絡傳感器的通信、計算和電源等資源均十分有限,而其運行的環境又非常復雜。網絡傳感器的數據傳輸和處理要充分考慮靈活的格式、高傳輸效率。本文以“863”基金項目為依托設計開發了支持上下文感知計算的網絡操作平臺。在其自行開發的系統編程語言AntC[2]及以AntC為基礎開發的支持網絡傳感器的超微型操作系統γOS[3]之上,設計SCUD-ML,ANTML,開發了輕量級的XML解析器,實現服務調度和數據傳輸。
圍繞機制,也就是上下文感知的機制,這種計算使得系統能利用上下文向用戶提供與任務有關的信息或服務,這將極大地提高信息交互的效率。基于上下文的服務在交互空間中上下文具有重要意義:首先,在同樣的輸入條件下,上下文(如用戶的位置)不同可能具有不同的語義。其次,在人機交互中可利用上下文中蘊涵的信息極大地提高交互的效率。從本質上講,上下文是任何可用于表征實體狀態的信息,這里的實體可以是個人、位置、物理的或計算的對象。利用上下文信息向用戶提供與任務有關的信息和/或服務。
中間件則是位于操作系統和應用程序之間的軟件層,它向各種應用軟件提供服務,使不同的應用進程能在屏蔽掉平臺差異的情況下通過網絡相互通信。可擴展標記語言(XML)提供一種描述結構化數據的方法。與主要用于控制數據的顯示和外觀的HTML標記不同,XML標記用于定義數據本身的結構和數據類型。越來越多的應用之間通過XML來進行數據交換。XML的跨平臺性和強適應性很快得到了中間件研究領域的肯定,XML中間件(XMLMiddleware)應運而生。傳感器數據多種多樣,非常復雜,在傳輸和處理數據時,如果不事先規定數據的格式,不僅大大增加了系統的復雜性,也降低了可維護性。相反地,如果對數據格式規定得過于死板,又將大大減低系統的可擴展性。XML提供的工具,既可以方便地定義數據的格式,又具有靈活的可擴展性。通過使用架構,傳感器軟件的設計可以定義為在傳輸的數據流中文檔中允許什么樣的元素名,以及在每個元素中允許什么樣的子元素、屬性和關系。
1支持上下文感知計算的網絡操作平臺研究
支持上下文感知計算的網絡操作平臺(圖1)以中間件軟件架構形式提供,主要由兩層功能模塊組成,即支持傳感數據處理的網絡中間件(A子層)和支持上下文感知服務的中間件(B子層)。
如圖1所示,A子層通過調用自動路徑創建服務與傳感器通信,其中通信的數據格式用AntML定義。在獲得了需要的傳感器數據以后,A子層把收集到的傳感器數據以AntML定義的格式傳遞給B子層。
B子層結合上下文數據解析、構造服務對傳感器數據作聚合推理,得到相應的上下文數據,上下文數據以SCUD-ML定義的格式發布。B子層通過服務調度算法向上提供了各種上下文感知服務,服務以事件的形式發布,上層應用可以征訂這些服務,當事件發生時,上層應用會得到相應的通知。
圖1支持上下文感知計算的網絡操作平臺結構圖
1.1支持傳感器數據處理的網絡中間件(A子層)研究
(1)傳感器數據格式定義
由于傳感器的應用范圍很廣,種類很多,獲取的傳感數據也是多種多樣,紛繁復雜的,如傳感器的身份數據、狀態數據、位置數據和時間數據等。為了對傳感器數據進行抽象簡化,對此利用XMLSchema定義了一種規范地描述傳感器數據格式的模型語言AntML(AntModuleLanguage),既全面生動地描述了各種常見的傳感器數據,又充分考慮到了數據格式擴充的需求,預留了數據格式的可擴充接口。AntML是用來對傳感器數據進行描述的,其基本模型(圖2)包括傳感器模型、傳感器數據模型、CRS(參考坐標系統)模型、被測物體模型和時間模型。
圖2AntML的基本模型
(2)傳感器節點注冊/發現/查詢等服務研究
在傳感事件處理中,傳感器節點的發現、注冊、數據查詢等服務是基本功能。結合支持上下文感知服務的中間件(B子層),設計實現了傳感器節點的注冊、發現和數據查詢等服務。
A子層實現了傳感器節點注冊服務,該子層保存一張所有節點信息的表單,新增的傳感器節點會在此注冊登記。表單保存注冊節點的唯一地址。通過定期向節點發送確認信息,驗證有效的傳感器節點并刪除廢棄的節點。通過B子層的上下文解析服務得到目的節點的ID號,實現了基于ID的傳感節點發現服務,并根據ID號定位節點,驗證節點的有效性。當傳感器節點接收到數據請求時,B子層和A子層協同合作,基于相關的路由算法,實現自動路徑創建服務,獲取所查詢的傳感數據;同時傳感器節點根據自動創建的路徑將數據查詢結果反饋回去,實現了傳感數據查詢服務。
1.2支持上下文感知服務的中間件(B子層)研究
支持上下文感知服務的中間件體系結構如圖3所示,B子層從A子層獲得原始的傳感器數據,A子層可以抽象為數個傳感器代理;傳感器代理用于橋接下層傳感器,將傳感器獲取的原始上下文信息匹配成上層可以理解和推理的數據;聚合推理器對接收到的傳感器代理數據進行聚合推理處理,消除不同上下文信息的沖突,并聯合多個上下文信息推理規則,為應用層提供合適的決策信息。
1.3基于XML的支持上下文感知的數據格式和協議研究
在支持上下文感知服務的中間件中定義了一種模型語言SCUD-ML(SemanticContext-awareRe-configurableMiddleware-ModuleLanguage)。在SCUD-ML中對應用于傳感器的上下文感知數據格式進行了定義,使之能夠與支持傳感數據處理的網絡中間件(A子層)協同合作;SCUD-ML對上下文數據格式的定義基于AntML對傳感數據格式定義的基礎之上,一方面降低了上下文數據格式和傳感數據格式的復雜度和含糊性,另一方面減少了A子層和B子層之間的數據格式轉換,降低接口復雜度。另外,在SCUD-ML中利用基于概率統計理論對上下文計算數據的處理方式進行改進,提高了上下文數據本身的精確性、全面性和可靠性。
圖3支持上下文感知服務的中間件體系結構圖
1.4支持上下文感知計算的服務調度算法研究
在普適計算系統中,對于要解決的任務,根據其語義對應為一個服務的組合,這些服務可以并行或串行地執行,服務之間有優先級關系。為了方便分析上下文感知服務調度算法,定義了支持上下文感知服務調度模型,其中包括上下文模型、任務模型以及調度系統模型。服務調度時,每個任務的完成時間包括兩部分,即服務進程計算時間和服務進程間的通信時間,由此提出了上下文感知的服務通信模型,分析證明了服務調度問題的復雜度。
1.5上下文數據解析/征訂/構造等服務研究
在支持上下文感知服務的中間件(B子層)中,上下文數據解析、構造和征訂等服務是比較基本的,如圖4所示。
圖4上下文數據征訂
上下文數據解析服務結合聚合推理器,從A子層獲得各種基本的傳感數據信息,并在此基礎上利用基于規則的合成和基于機器學習技術的推導構造出更高層次的上下文信息,并在構造過程中考慮上下文的不確定性,融合不同來源的上下文信息,從而完成了上文數據的解析和構造服務。
上下文數據征訂采用了多通道的發布/訂閱事件機制,允許多個客戶去“訂閱”事件,這些事件由各種組件對象“發布”。上下文征訂服務維護一個事件數據庫,數據庫包含各種事件、發布者、訂閱者以及所有的訂閱信息。當發布者激發事件時,事件服務對事件數據庫中有關的訂閱信息進行查詢,通知對應的訂閱者。
2應用成果
在支持上下文感知計算的網絡操作平臺基礎上展開基于智能汽車空間[4]的應用研究。在這一應用領域取得了一定的成果,開發了支持實時嵌入式系統的、利用上下文感知和知識管理實現自適應汽車控制的語義適應中間件SAM[5](SemanticandAdaptiveMiddleware)。
智能汽車空間是在汽車這一重要的交通工具上安裝嵌入式的控制設備和傳感器,傳感器感知車內環境、車輛/人員狀況、車輛控制等上下文,將數據傳輸給控制單元,啟動相關的應用模塊管理數據,并通過對車輛的控制作出智能的反應。
支持上下文感知計算的網絡操作平臺為智能汽車空間的應用提供了平臺支撐、封裝數據傳輸、服務調度和時間響應等細節,讓應用層更多地關注于上下文數據處理和服務提供,有助于應用層設計實現層次化/模塊化的框架結構和應用中間件架構。
3結束語
支持上下文感知計算的網絡操作平臺提出了一種可行的平臺。這種計算平臺可以為基于新一代互聯網的信息系統提供關鍵技術,為國民經濟的信息化提供支持,為用戶提供基于場景和上下文的服務,如可以建立無所不在的電子商務系統。未來向用戶提供的服務將是無所不在的計算環境下的主動伺候式的上下文感知服務。
對這一操作平臺,未來的工作包括:①改進AntML/SCUD-ML,增加對更多傳感器和上下文的支持;②研究改進服務調度算法;③研究改進系統對更多傳感器和嵌入式硬件設備的支持;④對系統進行優化,提高運行效率。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。