摘要:介紹了智能環境的概念,分析了其研究的相關問題,提出一個面向服務架構的智能環境框架。結合面向服務架構的特點,具體分析了智能環境中的智能感知、服務的描述、服務注冊和發現機制,以及服務的動態調度和集成等相關問題。
關鍵詞:面向服務的架構; 智能環境; 服務集成
中圖法分類號:TP393文獻標識碼:A
文章編號:1001-3695(2007)01-0066-03
計算機發明以來,人們就一直在尋求利用計算機更好地為人類服務,從最初的計算機到PC機再到大型機系統,以及未來的普適計算環境;從多人共同使用一臺機器到一人使用一臺機器,以至未來的多臺機器協同為人類服務。具有計算和通信能力的信息設備已滲透到我們的工作、生活環境中,人們希望能隨時隨地、方便自由地享用計算能力和信息服務,由此帶來了智能環境(Ambient Intelligence,AmI)概念的提出。
智能環境的概念由歐洲研究團體ISTAG (Information Socie ̄ty Technology Advisory Group)[1] 在1999年提出,其基本目標是在智能終端設備與環境之間建立一種共生關系,通過對環境的感知構建一個統一平臺提供各種設備間的無縫連接,從而形成一個相互協作的工作關系,使得人—機和環境協調統一。目前,以無線局域網絡為基礎,將智能家庭、住宅社區信息化、醫療監護與安全管理相結合的智能系統已經初現端倪,如微軟的Easy Living[2]、美國MIT開發的House_n 項目[3]、PHILIPS的HomeLab[4]、日本的“未來之家”實驗應用系統[5]以及IST Project的OZONE項目[1,6]等。
1智能環境研究中的相關問題
智能環境是一個互交性很強的系統,環境必須能感知人的行動或狀態,并能正確地識別,從而提供智能服務。其中,自動感知和智能識別技術是研究的一個難點,人性化的嵌入式硬件設備、無縫的移動/固定通信機制、人類自然感覺的界面、可信任性和安全性等[1]都是構成智能環境的關鍵技術。由于環境中計算組件的復雜性,也給系統的應用設計帶來許多差異化的問題,為了屏蔽底層的差異化,必須在更高層次上進行抽象和統一,在標準化的服務描述、注冊、查詢和調用之上完成一系列自定義的自動化流程,體現智能環境的特點。
智能環境是信息技術為人類服務提供的一種新概念和新技術,這其中除了考慮技術因素之外還需要進一步考慮個性化的、文化的、倫理的、社會的及法律等方面的因素,才能構建成一個真正的智能環境[1]。因此智能環境涉及的相關學科較多,有分布式智能、數據信息的交流、軟件設計、計算機視覺、語言識別、機器人專家系統、信息聚合、硬件設計、可穿戴設計、社會學科、倫理及法律等[7~9]。
2面向服務架構的智能環境的組成
圖1描述了該模型下的一個智能環境實體圖。
在人—機和環境共生的系統中,從對人的活動和環境變化的感知、信息的解析和抽象,到上層自適應的服務動態集成,一系列的動作都是更好地把計算資源隱藏到環境之中,使其更好地為人們服務。從中我們可以定義出一組智能環境實體及相關的功能:智能感知實體、服務注冊中心、服務提供者、服務請求者。一般一個實體對應一個功能,但也可以看出,有時一個實體可能還集多種功能于一身。
2.1智能感知
智能感知技術除了包括對環境中活動實體的動態感知外,還應包含對服務上下文的感知。首先是要能夠做到對活動實體的感知和識別,目前基于RFID技術的廣泛運用,可以在活動實體上嵌入RFID芯片來對活動實體進行身份識別和動態感知。在我們的項目中已經開始投入對智能環境中RFID芯片的應用研究。目前RFID芯片大多采用無源、中等頻率、被動式的設計方式,感知距離在一米到幾米,比較符合現實中的感知距離。借助大量的分布式RFID芯片還可感知并分析出環境中活動實體的行動蹤跡[10],這些對進一步分析活動實體的行為和動態協調環境中的服務均提供了有用的信息。
2.2服務描述
在面向服務的架構設計中,服務是豐富而動態的,最終一切的具體功能都以服務的形式呈現出來,因此服務的描述必須規范統一才能做到普適性。服務這個概念所包含的范圍是相當廣泛的,從一般的打印服務、天氣查詢服務、視頻點播服務(Video On Demand, VOD)等數據單向流動的服務到數據交互性的服務,如IP電話服務(Voice over IP,VoIP)、視頻會議等。將服務描述抽象化,并形成一個松耦合的結構,便于上層進行服務集成;再通過服務注冊中心提供服務統一調度的平臺,完成各種服務之間的協調和動態組合。
從圖1中可以看到,服務請求先被服務中心受理后,服務請求就可以在獲得服務描述文檔之后動態綁定并調用服務。這種思想基本上繼承了Web Services 的架構思想,但由于智能環境的特殊性,單純繼承Web Services 還不能完全滿足要求,如智能環境中設備的移動性、嵌入式的特點等都給服務執行、描述等帶來很多困難,如嵌入式的設備就要考慮服務執行的資源限制,移動實體的運動會導致服務的動態遷移。但Web Services本身的架構也給智能環境中的服務開發提供了一些基本的共性:通過URI的統一定位訪問,服務之間在本質上容易協調,服務的調用可以穿透網絡的邊界,更重要的是它是構建在完全異構的平臺之上的;另外Web Services形成了一套比較完善的標準,如XML,SOAP(Simple Object Access Protocol),WSDL(Web Services Description Language)[16],UDDI(Universal Description, Discovery and Integration)[17] 等。在這些基礎之上就可以開發我們自己的符合特定環境下的一些通信協議標準。其中,文獻[11]中提出了一種基于Web Services的移動計算的智能環境解決方案,通過在WSDL的基礎上增加一些智能環境中服務的特性描述,特別是一些用來加強安全和提高性能方面的非功能性屬性,形成WSAMI(Web Services for Ambient Intelligence)語言;同時還實現了一個基于SOAP的WSAMI中間件平臺,實現通過對服務的動態選擇和綁定來完成用戶的請求(請求由WSAMI所描述,并匹配環境中相關的服務實例),并且支持服務命名、發現和查詢。智能環境中就依賴大量的中間件來處理服務的調度和集成,還包括用戶接口的智能感知、內容過濾、Cache、安全等方面的內容。
2.3服務發布
智能環境提供服務的前提是必須對多種服務內容進行集成,建立一個能在各種服務功能間進行互相調用和協作的平臺,以便完成更智能的服務,各種服務在這里匯聚、分類,同時在更大范圍內必須考慮分布式的架構。目前Web Services的注冊中心也是一個分布式的對等結構模型,Microsoft,IBM和SAP等幾大軟件廠商均建立了自己的全球服務注冊中心,同時他們之間又連接成一個對等的網絡,從而構成了目前全球的Web Services注冊中心。另外在單獨的區域中也可建立自己獨立的服務注冊中心。
2.4服務查詢
在服務的發布和注冊平臺之上必須要提供高效甚至是智能的服務查詢。對一個智能系統而言,更有效的服務搜索技術是一個核心問題。目前的搜索服務基本上基于關鍵字或表結構的查詢,在語法上和語義上對關鍵字的解釋存在不一致的現象。這也是由于查詢匹配分值的計算只來源于用戶輸入的和服務描述中的關鍵字,對這些關鍵字間的關系及分類考慮得較少。文獻[12]提到了一種新的服務發現方法,使用Ontology(本體論)
(Ontology是用來定義描述某一領域知識的術語,廣泛用于需要共享某一領域信息的應用(該領域有特定的主題和知識范圍)。Ontology是概念化的詳細說明,也可以說成是一個正式的詞匯表,其中定義了某一領域(或多個領域內)專業詞匯的含義及它們之間的關系)
來解釋用戶查詢條件、服務描述和上下文信息的語義,而這些就構成了整個匹配過程。這種方法介于基于概念的方法和推演的方法之間 (推演的方法是形式化的,實現困難且運行費時)。其中,查詢搜索組件有四個輸入:用戶查詢(服務請求)、服務描述、上下文支持和本體(Ontology,供上述三種輸入使用 ),使用基于域的詳細描述的Ontology,這樣來自某特殊域的概念可以做到更精確描述。比如用戶查詢“音樂產品”,當在語句結構上沒有匹配時可根據該域內“音樂CD”是“音樂產品”,從而在語義上擴展查詢。
2.5服務調用
通過服務注冊中心獲得服務的接口描述之后,就可以向服務提供者發起服務的綁定調用。根據獲得的服務描述文件信息,生成調用的服務調用數據包。目前Web Services框架內的SOAP 就是為統一服務的調用而定義的標準協議;基于HTTP之上(也可以在其他合適的協議之上)的通信機制和基于XML之上的數據格式,為協議的開發帶來了一定的易讀性和簡單性。
2.6服務集成
最上層就是服務間的智能協調機制,稱為服務的集成。這里服務的集成應該是面向主題的,在一定的流程下,協調響應某一被環境所感知的觸發動作或者是狀態,也可以稱為對服務的計劃安排,按照一定的算法形成統一查詢和調度。文獻[13]提出了一個智能環境中的基于DHTN(分布式的層次任務網絡方法)的計劃系統 (Planning System),對既定的目標可以產生出一系列的輸出動作(動作可以轉換為服務調用),其中的難點是分布式協作,如設備感知主人病了,則自動安排電話通知家庭醫生。
此外,還有對服務管理方面的要求,從上面的分析中我們可以得到一個功能層次圖,從不同方面說明面向服務架構的智能環境的層次關系,如圖2所示。
3智能環境中服務平臺的搭建
目前面向服務架構的企業業務集成開發和基于Web Ser ̄vices的開發都有相當的前景,并且這些方面的開發包也較為完善,因此智能環境下服務平臺的搭建選在Web Services 的框架下進行。這并不表明面向服務的架構一定遵循Web Services的設計規范,只不過Web Services是一個面向服務架構的典型應用,而且發展得相對成熟些,在其所提供的開發環境下實現面向服務的架構更加方便與快捷,避免了從底層開發做起的煩瑣。在Microsoft的Visual Studio.NET開發環境下開發Web Services是相當方便的(本身就集成了Web Services的開發),下載MS SOAP Toolkit(目前版本為3.0,附帶了XML Parser,XML解析器)[14],可以讓Web Services服務自動處理SOAP數據包。通過安裝 Microsoft UDDI 的開發包(SDK)[15],可以在該集成環境下做到服務的發布和查詢、服務的描述,在.NET的開發過程中自動根據目前的WSDL規范進行生成,供其他調用該服務的程序使用。這樣,一個面向服務的框架開發環境就搭建好了,同時各種服務之間也可以互相調用,就像調用本地資源一樣方便。
Microsoft的集成開發環境為現有Web Services的開發提供了快速的方式,但目前它主要是采用在項目中添加Web引用(遠程服務的WSDL文檔)來實現遠程的方法調用。這是通過一個代理類來實現的,通過將Web Services 的調用實例化到一個代理類中,以消除與本地方法調用的差異,這種靜態的調用方式妨礙了服務的動態集成。智能環境中各種服務的調用必須要做到動態性,如在有新的服務添入時,可以馬上在原有的軟件環境中進行調用,而不需要另外編寫程序。這在本質上就是根據即時發現的服務描述動態生成服務調用的消息。在這樣的思想下,我們直接利用SOAP SDK中的客戶端類(SoapClient30)來動態集成框架下的Web Services,實現了一個動態Web Services的調度框架:程序根據輸入的服務描述查詢,連接到Microsoft的UDDI注冊中心(UddiConnection 類進行連接),返回服務列表,保存在ServiceList類中;根據ServiceList中的ServiceKey再次向UDDI注冊中心查詢相應服務的詳細描述,保存到ServiceDetail類中;根據ServicesDetail類中的TMo ̄delKey再次向UDDI注冊中心獲得相應服務的TMo ̄del 詳細描述,保存在TModelDetail類中,從中獲得服務的WSDL文檔的URL;調用SoapClient30類獲得該服務的WSDL文檔,進而獲得提供服務類的類型,根據類型調用服務方法(方法在WSDL文檔中有描述)就實現了動態調用。但同一個服務描述文檔也可能提供多種服務調用功能,而一個完整的服務有時需要多個相關服務文檔的協調才能完成,這些為服務的有效集成帶來了一定的困難。該過程的流程大致如圖3所示。
這種動態調度的機制可以實現為一個Web服務動態調度和管理的中間層,其中還可以提供服務質量、服務計費等一系列復雜的、貼近實際應用的功能。在OZONE項目[22] 中,提供的WSAMI中間件平臺可以搭建一個基于智能環境的開發平臺,在其上再進行開發。
4進一步的研究工作
本文基于智能環境的研究特點,結合面向服務的設計思想,設計了一個面向服務架構的智能環境框架,并借助Web Services的實現方法給出了一個初略的描述。在智能環境實驗平臺中,我們更強調的是計算的嵌入式特性和普適性等,而不僅僅是像Web Services那樣做到一個集成的平臺。因為在智能環境中,服務更加特性化,如自動呼叫、語音,甚至視頻的交互、虛擬現實等,因此單獨在Web Services的基礎上是不能完全實現智能環境全部要求的,必須還要配合相關的技術來實現。其中對服務的描述也需要進一步符合智能環境本身的要求,加入一些實時性和流式數據傳輸方面的特性。這些將進一步指導項目的開展,從而實現提供一個面向服務架構的智能環境平臺。
參考文獻:
[1]ISTAG Scenarios for Ambient Intelligence in 2010[EB/OL]. http://www.cordis.lu/ist/istag.htm,2005.
[2]Brumitt B. Microsoft, EasyLiving: Technologies for Intelligent Environments Handheld and Ubiquitous Computing[EB/OL]. http://research.microsoft.com/easyliving/Documents/2000 09 Barry HUC.pdf, 2005.
[3]MIT Intelligent Room.Massachusetts Institute of Technology[EB/OL].http://architecture.mit.edu/house_n/,20-04.
[4]PHILIPS Lab. Ambient Intelligence in HomeLab[EB/OL]. http://www.research.philips.com/technologies/misc/homelab/downloads/ambientintelligence.pdf,2005.
[5]JEITA[EB/OL].http://www.jeita.or.jp, 20-04.
[6]OZONE[EB/OL].http://wwwrocq.inria.fr/arles/download/ozo ̄ne/,2005.
[7]G Riva, F Vatalaro. Ambient Intelligence: The Evolution of Techno ̄logy, Communication and Cognitiontowards the Future of Humancomputer Interaction[EB/OL].http://www.ambientintelligence.org/,2005.
[8]Francesco Amigoni. What Planner for Ambient Intelligence Applications?[J]. IEEE Trans. on System, Man and
CyberneticPart A,2005,35(1):1721.
[9]Emile Aarts. Ambient Intelligence: A Multimedia Perspective[J]. IEEE Multimedia,20-04,11(1):1219.
[10]Jurgen Bohn, Friedemann Mattern. SuperDistributed RFID Tag Infrastructures[C].EUSAI 20-04,Springer,LNCS 3295, 20-04.
[11]Valerie Issarny. Developing Ambient Intelligence Systems: A Solution Based on Web Services[C].Automated Software Enginee ̄ring, Springer, 2005.101137.
[12]Tom Broens, Stanislav Pokraev. ContextAware Ontologybased Ser ̄vice Discovery[C]. EUSAI 20-04, Springer, LNCS 3295, 20-04.7283.
[13]Paolo Remagnino. Ambient Intelligence: A New Multidisciplinary Paradigm[J]. IEEE Trans. on System, Man and Cybernetic Part A,2005,35(1):16.
[14]SOAP Toolkit 3.0[EB/OL]. http://msdn.microsoft.com/webservices/downloads/default.aspx,2005.
[15]Microsoft UDDI SDK 2.0[EB/OL]. http://msdn.microsoft.com/webservices/downloads/default.aspx,2005.
[16]WSDL Specification[EB/OL]. http://www.w3.org/TR/wsdl,2005.
[17]UDDI Specification[EB/OL]. http://www.uddi.org/,2005.
[18]李大成,陳莘蔭. UDDI技術及應用概覽[J].計算機工程, 2002,28(12):35,8.
[19]任捷,吳明暉,應晶. Web Services技術在異構系統集成中的應用研究[J]. 計算機應用, 20-04,24(1):9598.
作者簡介:
凌慶華(1980),男,湖南人,碩士研究生,主要研究方向為網絡通信、網絡服務;程偉明(1954),男,江蘇溧陽人,研究員,主要研究方向為IP網絡技術、移動通信網絡和多媒體傳輸技術。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文