(西北工業大學 計算機學院 西安 710072)
摘 要:以現有服務發現機制發展過程為主線,重點分析了獨立服務發現平臺和集成式服務發現平臺的主要工作機制和優缺點,在歸納和總結現有服務發現機制普遍采用煙囪式、一視同仁以及疊加式策略等問題的同時,提出了未來服務發現機制的研究方向。
關鍵詞:異構性網絡; 獨立服務發現機制; 集成服務發現機制
中圖分類號:TP31文獻標志碼:A
文章編號:1001-3695(2009)05-1604-03
Recent development of service discovery mechanism
LEI Wanbao ZHU Yian ZHONG Dong
(School of Computer Sciences Engineering Northwestern Polytechnical University Xi’an 710072 China)
Abstract:This paper took the developing processes as masterstroke discussed the advantage and disadvantage of service discovery mechanism and integrated service discovery mechanism after concluded and summarized the problem of chimney mode treat equally without discrimination and mechanical superimposing for the service discovery mechanism it kept more eyes on the key problem for next generation of service discovery mechanism.
Key words:heterogeneous network; service discovery mechanism(SDM); integrated service discovery mechanism
0 引言
所謂服務發現機制,主要是指為了突破傳統意義上以IP地址和主機名為主要手段的資源和服務訪問方式,以最大限度地提高資源和服務的訪問有用性及有效性的解決方案,包括資源和服務的注冊、訪問、管理和維護等。隨著異構性網絡、異構性中間件平臺以及各種移動設備的出現,一系列迫切以提高平臺內部資源和服務透明性為主要目的的第一代(獨立)服務發現平臺(SDM)[1~7]已基本形成。而獨立SDM不斷暴露出這種煙囪式工作模式的缺點在很大程度上限制其進一步發展,同時也在客觀上為提高獨立SDM在多網絡環境中的兼容性和多獨立SDM集成[8~20]方面的研究提供了良好的基礎和平臺。但現有集成SDM所普遍采用的一視同仁以及疊加式策略在本質上又為現有集成SDM研究工作埋下苦果。因此,現有研究人員必須從本質上探索現有獨立SDM和集成SDM內在工作機制、優缺點以及發展方向,從而為現有SDM平臺的性能改進和未來SDM發展方向確定提供更有力的依據。
1 獨立服務發現機制
獨立SDM的主要作用是突破傳統以IP地址和主機名為主要手段的訪問方式,為用戶提供更透明的平臺內部資源和服務訪問方式。為了便于分析和研究,本文以目錄結構、原始通信模式、服務注冊和發現方法、服務篩選方式以及服務發現范圍界定為主要分類標準,對主流獨立SDM進行分類描述。具體參見表1。
1)目錄結構 根據工作平臺中是否存在目錄代理(directory agent,DA),獨立SDM通常可以分為目錄式SDM[1]、無目錄式SDM[2,4~7]以及混合式SDM[3]三種形式。在目錄式SDM中,服務或資源的提供者與使用者之間的主要訪問過程是通過DA來完成。DA的作用相當于計算機系統結構中的cache,主要為有效的服務或資源信息提供緩存作用。通過這種緩存機制,系統平臺能夠有效地提高服務發現效率和系統可擴展性。通常,目錄式節點主要應用于服務數量較大、分布范圍較廣或對實時性要求不高的場景。在無目錄式SDM中,服務發現過程僅作用于服務提供者與使用者之間,信息的有用性維護過程也通常由服務提供者和使用者來完成,故該類SDM比較適合于對實時要求較高且服務節點較少或分布較小的情況。為了更好地提供SDM的環境適應性,提高系統運行效率,人們還提出了混合模式的SDM,其兼備了目錄式和無目錄式SDM的特點,能夠根據工作環境的變化自動或手動調節自身的工作模式。混合SDM分為兩種工作模式,即目錄節點使能和目錄節點失效。在目錄節點使能情況下,其將采用與目錄式SDM相同的工作模式;否則采用無目錄SDM工作模式。
2)原始通信模式 獨立SDM的原始通信模式共包括單播、多播以及廣播三種形式。其中,由于僅關聯通信過程的源節點和目的節點,單播通信效率最高;但考慮到需要以通信連接的目的節點的IP地址或主機名已知為前提,單播通信通常與多播和廣播通信配合使用。通信模式的不同主要表現在具體服務發現和訪問過程的動作,而不在各SDM平臺之間。例如在UPnP[2]平臺中,設備節點的服務信息通告過程是通過多播來實現,而相應的控制點返回確認動作卻是由單播完成的。同樣的情況還包括SLP[3]、DEAPspace[7]、Bluetooth SDM[5]以及Allia[6]等獨立SDM平臺中。
3)服務注冊和發現方法 這里主要強調的是UA、SA以及DA三個工作模塊之間信息交流的方式。當前主要包括基于查詢[1~3]、基于通告[5,6]以及混合方式三種模式[1~4,6,7]。查詢模式主要是從UA或DA的角度來說明服務注冊和發現的過程,即通常首先由UA或DA節點根據自身服務注冊和發現請求向周圍網絡環境發送注冊和發現請求;當某DA或SA接收到該請求時,立即查詢自身是否包含查詢請求所需要的信息。如果存在,則將相應信息返回給查詢請求節點;相反,在基于通告模式中,通常由DA或SA主動(通常以廣播形式且周期性地)發送自身服務信息為前提。當某UA、DA或SA監聽到該服務信息時,可根據自身服務注冊和發現需求決定是否處理當前服務信息內容,但整個通信過程無須向源節點發送確認信息。由上可知,通告模式可以快速將服務注冊和發現信息散播到整個網絡環境中,但會給整個網絡造成網絡通信負擔,而查詢模式必須以獲知對方訪問信息為前提。因此,考慮到上述兩種服務注冊和發現方法,在實際工作過程中,多數SDM采用了混合式模式,以有效提高整個系統的服務注冊和發現效率。例如在SA服務內容和DA訪問信息發布階段通常采用通告模式,而在SA向DA或UA進行服務查詢返回確認過程中采用查詢工作模式。
4)服務結果集篩選方法 在以屬性相關度為基礎的服務發現過程中,無關或低相關度的服務對象在結果集中的出現必將影響整個服務發現系統的效率。服務結果集的篩選主要強調使用本地處理機制對返回的結果集進行二次篩選,以提高返回服務對象的質量。具體實現機制包括手工篩選[1~3]、自動篩選[4,6]以及混合篩選三種。手工篩選主要是指直接將結果返回給用戶,由用戶通過手工來選擇最終的服務對象。該方法的主要障礙在于必要的領域知識是用戶進行有效服務篩選的前提。自動篩選機制主要指通過本地處理程序對目標服務收集對象進行篩選和對服務返回集進行二次篩選,以提高最終服務結果集的相關度。依據相關度處理級別,二次結果集篩選機制還包括語法級和語義級相關度處理。當前的主要工作集中在語法級處理,而對于語義級相關度處理表現不足。
5)服務發現范圍界定 由于各獨立SDM的一個共同特征就是它們都基于一個假想的潛在網絡、用戶行為、應用需求而設計的[21],如UPnP[2]更多的優勢是通過家庭網絡來體現的,而GSD[4]則更愿意工作在Ad hoc網絡環境中。超越設計時的假想工作場景將在很大程度上導致獨立SDM的工作性能下降甚至失效。因此,服務發現范圍界定在很大程度上決定著SDM平臺的有用性和有效性。當前,界定機制主要包括基于網絡拓撲結構、用戶角色、上下文信息以及它們的組合方案四種[17,21]。其中網絡拓撲結構界定定義域包括有線網絡、單跳無線網絡以及Ad hoc網絡等;用戶角色主要包括授權用戶和代理用戶;上下文信息主要側重于位置信息和用戶行為等影響服務發現范圍的因素。當前,為了提高服務發現范圍界定的有用性,混合界定方案也成為多數SDM選擇的對象。
2 集成服務發現機制
隨著異構性網絡、中間件平臺以及無線網絡技術的不斷發展,相對可訪問服務和資源的數量日益減少與人們對服務請求數量和范圍急劇增長的矛盾越來越成為研究人員關注的焦點,“可用資源豐富,可訪問資源匱乏”的矛盾日益突出。現有的大量研究已經證實不可能存在適用于所有工作環境的通用SDM[17],故當前研究人員和研究項目大多將目光集中在通過建立一個能夠融合多個獨立SDM的更高層次的服務發現方案——集成SDM(integrated SDM,ISDM)。但考慮到集成模塊關系、平臺可見方向、集成對象、集成目標場景、集成層次以及耦合方式等方面的差別,各集成方案往往大相徑庭。具體參見表2。
1)集成模塊關系模式 即參與模塊之間的對偶關系,其在很大程度上受制于集成體系結構和假想背景環境。當前,關系模式主要包括一對一、一對多和多對多三種模式。對于一對一模式而言,通常參與集成的SDM對象是確定的且采用緊耦合工作模塊,如JiniUPnP[9];一對多模式通常是集成平臺中只有一個SDM可以與其他所有SDM進行交互而其他SDM之間是不可見的;多對多模式是指平臺的所有SDM之間都是可見的且通信方向都是雙向的。
2)平臺可見方向 即平臺之間的可理解方向,通常包括單向和雙向兩種。對于集成平臺而言,單向可見是指系統中某些SDM平臺可以理解其他參與SDM平臺服務查詢和發現請求動作,而其自身往往僅作為服務被訪問者和提供者,并不能參與響應其他SDM平臺服務查詢和發現請求;雙向可見是指參與集成平臺的所有SDM之間相互可見,所有參與SDM同時作為服務的提供者和請求者。
3)集成對象 集成平臺的應用背景在很大程度上決定了其選擇的集成對象。從現有的集成方案來看,集成對象的分類主要依據SDM平臺的體系結構,具體包括目錄式結構、無目錄式結構以及混合式結構三種。從現有集成平臺的研究內容來看,大多數平臺著眼于對混合式SDM平臺的支持。
4)集成目標場景 它的不同是各集成平臺之間差別評定的主要依據。有線網絡、單跳無線網絡以及Ad hoc網絡是當前研究的三種主要目標場景。考慮到獨立SDM的應用相關性,集成目標場景在很大程度上決定了參與SDM的選擇。當前,針對有線網絡和單跳無線網絡的集成工作研究內容比較成熟且能夠兼容兩種目標場景的集成平臺也已經實現,而考慮到網絡的復雜性,針對Ad hoc本身以及其與其他兩種平臺集成的研究工作一直是現有SDM集成研究工作的一個軟肋。
5)集成層次 主要指語法級和語義級集成。當前,語法級集成工作相對比較成熟,但隨著參與集成平臺的SDM的數量和服務內容不斷增加,語法級集成的局限性日益明顯。考慮到多學科性,針對語義級集成工作一直都是困擾研究人員的一個重要方向。基于本體論的語義集成方案成為研究人員關注的熱點。
6)耦合方式 主要指緊耦合和松散耦合兩種方式。緊耦合SDM主要是指傳統以Jini/UPnP為主要代表的集成平臺。該類平臺通常集成對象固定且數量較少(通常是兩個SDM),所有交互動作將直接作用到對方SDM相應單元且集成平臺本身也與參與SDM緊密聯系,系統可擴展性較差。在松散耦合平臺,集成平臺僅提供通信中介,系統的可擴展性較好,且各參與平臺的運行參數配置通常獨立于集成平臺;松散耦合是現有SDM平臺采用的主流耦合方案,但考慮到系統集成的方案,有些集成平臺還采用了松緊耦合相結合的方案,如MSDA[13,16,17]。
3 現有研究工作主要存在的問題
從上述分析來看,為最終突破以IP地址和主機名為主要手段的資源和服務訪問方式,提高資源和服務訪問的透明性,研究人員從獨立SDM到集成SDM不斷提出各種改進和全新的解決方案。但到目前為此,在SDM領域始終存在很多難題需要解決,具體體現在:
a)獨立SDM平臺的可信性仍處于不成熟階段。這一點體現在有線網絡、單跳無線網絡以及Ad hoc網絡環境下的獨立SDM。構造公認的測試結果集始終沒能進入研究人員的視野,在很大程序上受制于可信理論研究的不足。另外,現有各獨立SDM之間因假想背景平臺的差異性也強烈地沖擊著可信體系的建立。
b)獨立SDM平臺之間以煙囪式模式工作從本質上限制了用戶資源和服務訪問的范圍和數量。在突破傳統以LAN和單跳無線網絡為主要網絡環境過程中,Cellular網絡、WiFi、Bluetooth以及其他Ad hoc網絡環境的出現導致網絡管理模式不斷由傳統具有基礎設施的網絡向無基礎設施和Ad hoc網絡拓展,結果導致同一地點可以同時存在多個相互獨立且用戶可以同時訪問的網絡環境和服務發現平臺,但這種訪問并非建立在用戶透明的前提下,即考慮到用戶端資源的有限性,通常用戶不能同時訪問所有存在的網絡服務和資源,且不同網絡之間的服務和資源也是不透明的[17]。這一點是“可用資源豐富,可訪問資源匱乏”現象日趨嚴重的主要原因之一。
c)集成平臺中盲目的一視同仁策略引發嚴重的獨立SDM粗暴使用。多數集成SDM平臺中,在響應請求類型、運行參數、最小響應時間以及維護策略(如服務有效時間和更新周期)等主要系統運行參數方面對所有SDM都采用平等的方法來處理。各獨立SDM的一個共同特征就是它們都基于一個假想的潛在網絡、用戶行為、應用需求而設計的[17],如UPnP更多的優勢是通過家庭網絡來體現的,而GSD則更愿意工作在Ad hoc網絡環境中。超越設計時的假想工作場景將在很大程度上導致獨立SDM的工作性能下降甚至失效。因此,考慮到最大常用分母現象的存在,必須在執行相關服務發現動作前進行有針對性的工作場景識別和分析,選擇合適的參與SDM和合適的運行參數來響應并執行服務發現動作,才能從真正意義上實現SDM平臺的有效使用。
d)集成平臺中呆板的疊加式策略為提高系統平臺可擴展性架設了人為障礙。可擴展性是衡量集成平臺優劣的主要標準之一。現有的集成方案將主要的精力定位在集成平臺的有用性和有效性上,當需要對平臺的支持對象進行擴展時,往往需要進行一定量的代碼級平臺修改或目標SDM平臺的修改,而且還存在一些集成方案根本就不提供對第三SDM的擴展性支持(如文獻[9~12])。從現有的研究基礎來看,零修改的可擴展性是不可能的,但服務代理(service agent SA)節點透明性策略和元搜索引擎機制卻為突破疊加式方案提供了兩個良好的途徑。
e)語義級集成研究不足。基于語義級的系統集成是集成類系統走向成熟的主要標志之一,這幾乎成為SDM研究人員默認的準則。基于語法和字符串解析層次的集成很難完成對大型和復雜系統的系統集成,而這正是現在的大部分集成平臺的集成方案。基于本體論的語義級系統集成方案成為現有SDM集成研究的熱點,但現有研究成果還嚴重滯后于現有集成SDM研究的步伐。
從現有獨立SDM平臺和集成SDM平臺的研究工作來看,本文認為未來的SDM研究工作必須在以下兩個方面有所突破:(a)獨立SDM平臺可信性研究工作必須滿足現有SDM平臺應用需求以及集成SDM平臺的研究需要,包括構建完整的可信指標及其評價方法、標準測試集和測試環境以及標準化應用背景參數及其性能參考體系;(b)尋求更加理性的集成方案,包括建立合理的參與SDM平臺響應和可擴展性機制,構建有效的基于語義級集成方案,從更高層次上提高集成水平。
4 結束語
本文在對獨立SDM平臺和集成SDM平臺進行分類分析的基礎上,重點分析了現有獨立SDM平臺和集成SDM平臺的工作機制和優缺點;在歸納和總結現有SDM研究領域存在的問題基礎上,提出了對未來SDM發展中需求優先考慮和解決的問題。
參考文獻:
[1]ARNOLD K SCHEIFLER R,WALDO J,et al. The Jini specification[EB/OL].(1999).http://www.sun.com/jini.
[2]Universal plug and play specification v1.0 [EB/OL]. http://www.upnp.org.
[3]GUTTMANN E PERKINS C VEIZADES J,et al. RFC 2608 Service location protocol version 2[S].
[4]CHAKRABORTY D JOSHI A YESHA Y,et al. GSD: a novel groupbased service discovery protocol for MANETS[C]//Proc of the 24th International Workshop on Mobile and Wireless Communications Network. 2002:140-144.
[5]Bluetooth specification[EB/OL]. http://www.bluetooth.com.
[6]RATSIMOR O CHAKRABORTY D JOSHI A,et al.Allia: alliancebased service discovery for Ad hoc environments[C]//Proc of the 2nd International Workshop on Mobile Commerce. 2002.
[7]NIDD M. Service discovery in DEAPspace[J]. IEEE Personal Communications 2001,8(4):39-45.
[8]OSGI Alliance. OSGI service platform release 3[EB/OL]. http://www.osgi.org.