或多個(gè)電路交換網(wǎng)絡(luò)及/或包交換網(wǎng)絡(luò)。舉例來說,子網(wǎng)絡(luò)120可包含LAN、WAN、MAN、PSTN、特設(shè)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)、因特網(wǎng)、基于光纖的網(wǎng)絡(luò)、無線網(wǎng)絡(luò)及/或這些或其它類型的網(wǎng)絡(luò)的組合。
[0059]雖然圖1展示環(huán)境100的示范性組件,但在其它實(shí)施方案中,環(huán)境100相比圖1中所描繪的組件可包含更少的組件、不同的組件、不同布置的組件或額外組件。另外或替代地,環(huán)境100中的任一裝置(或任何裝置群組)可執(zhí)行描述為由環(huán)境100中的一或多個(gè)其它裝置執(zhí)行的功能。
[0060]圖2是圖解說明裝置130的示范性組件的框圖。如圖2中所展示,裝置130可包含總線210、處理器220、存儲器230、輸入裝置240、輸出裝置250及通信接口 260。
[0061]總線210可包含準(zhǔn)許裝置130的組件當(dāng)中的通信的路徑。處理器220可包含任何類型的單核心處理器、多核心處理器、微處理器、基于鎖存器的處理器及/或解譯并執(zhí)行指令的處理邏輯(或處理器、微處理器及/或處理邏輯的族群)。在其它實(shí)施例中,處理器220可包含專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)及/或另一類型的集成電路或處理邏輯。
[0062]存儲器230可包含可存儲供由處理器220執(zhí)行的信息及/或指令的任何類型的易失性及/或動態(tài)存儲裝置,及/或可存儲供由處理器220使用的信息的任何類型的非易失性存儲裝置。舉例來說,存儲器230可包含隨機(jī)存取存儲器(RAM)或另一類型的動態(tài)存儲裝置、只讀存儲器(ROM)裝置或另一類型的靜態(tài)存儲裝置、內(nèi)容可尋址存儲器(CAM)、磁性及/或光學(xué)記錄存儲器裝置及其對應(yīng)驅(qū)動器(例如,硬盤驅(qū)動器、光學(xué)驅(qū)動器等等)及/或可裝卸形式的存儲器,例如快閃存儲器。
[0063]輸入裝置240可允許操作者將信息輸入到裝置130中。舉例來說,輸入裝置240可包含鍵盤、鼠標(biāo)、筆、麥克風(fēng)、遙控器、音頻捕獲裝置、圖像及/或視頻捕獲裝置、觸摸屏顯示器及/或另一類型的輸入裝置。在一個(gè)實(shí)施例中,裝置130可經(jīng)遠(yuǎn)程地管理且可不包含輸入裝置240。換句話說,裝置130可為“無頭的”,且舉例來說,可不包含鍵盤。
[0064]輸出裝置250可將信息輸出給裝置130的操作者。輸出裝置250可包含顯示器、打印機(jī)、揚(yáng)聲器及/或另一類型的輸出裝置。舉例來說,裝置130可包含顯示器,其可包含用于將內(nèi)容顯示給客戶的液晶顯示器(IXD)。在一個(gè)實(shí)施例中,裝置130可經(jīng)遠(yuǎn)程地管理且可不包含輸出裝置250。換句話說,裝置130可為“無頭的”,且舉例來說,可不包含顯示器。
[0065]通信接口 260可包含使得裝置130能夠與其它裝置及/或系統(tǒng)通信的收發(fā)器(例如,發(fā)射器及/或接收器)。通信接口 260可經(jīng)由無線通信(例如,射頻、紅外及/或視覺光學(xué)器件等等)、有線通信(例如,導(dǎo)電線、雙絞線電纜、同軸電纜、傳輸線、光纖電纜及/或波導(dǎo)等等)或無線與有線通信的組合進(jìn)行通信。網(wǎng)絡(luò)接口 260可包含將基帶信號轉(zhuǎn)換為射頻(RF)信號的發(fā)射器及/或?qū)F信號轉(zhuǎn)換為基帶信號的接收器。網(wǎng)絡(luò)接口 260可耦合到用于發(fā)射及接收信號的天線。
[0066]網(wǎng)絡(luò)接口 260可包含邏輯組件,所述邏輯組件包含輸入及/或輸出端口、輸入及/或輸出系統(tǒng)及/或促進(jìn)將數(shù)據(jù)發(fā)射到其它裝置的其它輸入及輸出組件。舉例來說,網(wǎng)絡(luò)接口 260可包含用于有線通信的網(wǎng)絡(luò)接口卡(例如,以太網(wǎng)卡)及/或用于無線通信的無線網(wǎng)絡(luò)接口(例如,WiFi)卡。網(wǎng)絡(luò)接口 260還可包含用于經(jīng)由電纜通信的通用串行總線(USB)端口、Bluetooth?無線接口、射頻識別(RFID)接口、近場通信(NFC)無線接口及/或?qū)?shù)據(jù)從一種形式轉(zhuǎn)換為另一形式的任何其它類型的接口。
[0067]如下文所描述,裝置130可執(zhí)行與隧道代理有關(guān)的某些操作,所述隧道代理經(jīng)配置以基于所請求服務(wù)特性而建立及管理通信隧道。裝置130可響應(yīng)于處理器220執(zhí)行計(jì)算機(jī)可讀媒體(例如存儲器230)中所含有的軟件指令而執(zhí)行這些操作。計(jì)算機(jī)可讀媒體包含非暫時(shí)性存儲器裝置。存儲器裝置可實(shí)施于單個(gè)物理存儲器裝置內(nèi)或跨越多個(gè)物理存儲器裝置散布??蓪④浖噶顝牧硪挥?jì)算機(jī)可讀媒體或從另一裝置讀取到存儲器230中。存儲器230中所含有的軟件指令可致使處理器220執(zhí)行本文中所描述的過程?;蛘?,可代替或結(jié)合軟件指令來使用硬連線(例如,固定)電路以實(shí)施本文中所描述的過程。因此,本文中所描述的實(shí)施方案并不限于硬件電路及軟件的任何特定組合。
[0068]雖然圖2展示裝置130的示范性組件,但在其它實(shí)施方案中,裝置130相比圖2中所描繪的組件可包含更少的組件、不同的組件、額外組件或不同布置的組件。另外或替代地,裝置130的一或多個(gè)組件可執(zhí)行描述為由裝置130的一或多個(gè)其它組件執(zhí)行的一或多個(gè)任務(wù)。管理裝置150可類似地被配置為裝置130。
[0069]圖3是圖解說明裝置130的示范性通信層的框圖。裝置130的功能組件可(舉例來說)由執(zhí)行來自存儲器230的指令的處理器220實(shí)施。另外或替代地,裝置130的功能組件可經(jīng)由一或多個(gè)ASIC的硬連線(例如,固定)電路來實(shí)施。如圖3中所展示,裝置130可包含服務(wù)層310、覆蓋網(wǎng)絡(luò)層320及裝置層330。
[0070]在一個(gè)實(shí)施例中,服務(wù)層310使得客戶端能夠搜索特定服務(wù)類型的服務(wù)實(shí)例且使得客戶端能夠?qū)⒄埱蟀l(fā)送到特定服務(wù)實(shí)例??山?jīng)由在一個(gè)實(shí)施例中對服務(wù)的實(shí)際實(shí)施方案不可知的標(biāo)準(zhǔn)化服務(wù)接口來訪問所述服務(wù)。服務(wù)實(shí)例可與明確邊界相關(guān)聯(lián)。在此實(shí)施例中,在裝置130上運(yùn)行的特定過程及/或存儲于裝置130上的特定數(shù)據(jù)無歧義地駐存在服務(wù)實(shí)例內(nèi)或服務(wù)實(shí)例外部。一服務(wù)實(shí)例相對于其它服務(wù)實(shí)例可為自主的。舉例來說,可修改特定服務(wù)實(shí)例(例如,可重寫代碼),而不會負(fù)面地影響與所述特定服務(wù)實(shí)例交互的其它服務(wù)實(shí)例。一服務(wù)可能與(相同類型或不同類型的)其它服務(wù)實(shí)例共享模式及/或合約,但在一個(gè)實(shí)施例中,不共享服務(wù)實(shí)施方案。模式規(guī)定由服務(wù)接口發(fā)送或接收的消息的格式及內(nèi)容。合約規(guī)定由服務(wù)接口發(fā)送或接收的容許消息序列。
[0071]可將一或多個(gè)服務(wù)共同地部署為一捆綁件。捆綁件可對應(yīng)于充當(dāng)系統(tǒng)中的部署單元的服務(wù)。系統(tǒng)中能夠部署特定捆綁件、對應(yīng)于一或多個(gè)服務(wù)的群組的節(jié)點(diǎn)充當(dāng)捆綁件主機(jī)。捆綁件存儲庫服務(wù)可將捆綁件集合存儲于系統(tǒng)中。因此,當(dāng)服務(wù)管理器選擇部署服務(wù)時(shí),所述服務(wù)管理器可需要定位能夠部署與所述服務(wù)相關(guān)聯(lián)的捆綁件的捆綁件主機(jī)。所述服務(wù)管理器可聯(lián)系服務(wù)注冊表以定位捆綁件存儲庫服務(wù)。所述服務(wù)管理器可接著聯(lián)系所述捆綁件存儲庫服務(wù)以識別捆綁件。所述服務(wù)管理器可選擇捆綁件且可接著搜索服務(wù)注冊表以識別可部署選定捆綁件的適合捆綁件主機(jī)。所述服務(wù)管理器可接著聯(lián)系所述捆綁件主機(jī)且可指示捆綁件主機(jī)部署與所述服務(wù)相關(guān)聯(lián)的捆綁件。
[0072]在一個(gè)實(shí)施例中,覆蓋網(wǎng)絡(luò)層320在現(xiàn)有網(wǎng)絡(luò)拓?fù)涞捻敳可蠈?shí)施覆蓋網(wǎng)絡(luò)。覆蓋網(wǎng)絡(luò)層320可負(fù)責(zé)將業(yè)務(wù)路由穿過防火墻及/或處理基礎(chǔ)網(wǎng)絡(luò)拓?fù)渲械木W(wǎng)絡(luò)地址轉(zhuǎn)譯(NAT)。在一個(gè)實(shí)施例中,覆蓋網(wǎng)絡(luò)拓?fù)?例如,其可不同于基礎(chǔ)網(wǎng)絡(luò)拓?fù)?包含以樹狀結(jié)構(gòu)組織的節(jié)點(diǎn)。覆蓋網(wǎng)絡(luò)拓?fù)湓谶壿嬌线B接所述節(jié)點(diǎn)。在其它實(shí)施例中,覆蓋網(wǎng)絡(luò)拓?fù)淇砂煌愋偷慕Y(jié)構(gòu)(例如,網(wǎng)狀拓?fù)?。裝置130中的每一服務(wù)主機(jī)可對應(yīng)于覆蓋網(wǎng)絡(luò)中的節(jié)點(diǎn)且可被指派節(jié)點(diǎn)識別符(ID)。如上所提及,裝置130可包含多個(gè)服務(wù)主機(jī)及/或多個(gè)節(jié)點(diǎn)。可將裝置130描述為包含對應(yīng)于一個(gè)節(jié)點(diǎn)的一個(gè)主機(jī)。所述節(jié)點(diǎn)可經(jīng)由網(wǎng)絡(luò)拓?fù)?例如路由樹)來連接,且節(jié)點(diǎn)可經(jīng)由路由樹將消息發(fā)送到另一節(jié)點(diǎn)。在一個(gè)實(shí)施例中,節(jié)點(diǎn)可經(jīng)由基礎(chǔ)網(wǎng)絡(luò)拓?fù)鋵⑾l(fā)送到另一節(jié)點(diǎn),而所述消息并不遍歷覆蓋網(wǎng)絡(luò)拓?fù)洹C恳还?jié)點(diǎn)可存儲用以到達(dá)其在覆蓋網(wǎng)絡(luò)(以及例如網(wǎng)絡(luò)110等基礎(chǔ)網(wǎng)絡(luò))中的相鄰者的信息(例如,基礎(chǔ)網(wǎng)絡(luò)的地址)。覆蓋網(wǎng)絡(luò)層320可對應(yīng)于節(jié)點(diǎn)之間的通信層且可使用多個(gè)網(wǎng)絡(luò)拓?fù)鋪韺?shí)現(xiàn)特定功能。舉例來說,當(dāng)針對特定類型的服務(wù)搜索服務(wù)注冊表時(shí),覆蓋網(wǎng)絡(luò)層320可在于服務(wù)注冊表中搜索的同時(shí)遍歷節(jié)點(diǎn)樹的邊緣。在一個(gè)實(shí)施例中,當(dāng)將消息從第一節(jié)點(diǎn)發(fā)送到第二節(jié)點(diǎn)時(shí),覆蓋網(wǎng)絡(luò)層320可將消息從第一節(jié)點(diǎn)直接發(fā)送到第二節(jié)點(diǎn),而非通過沿循樹的邊緣。覆蓋網(wǎng)絡(luò)層320可將節(jié)點(diǎn)ID提供到服務(wù)層310,且服務(wù)層310可將消息發(fā)送到特定節(jié)點(diǎn)ID,而不需要知曉基礎(chǔ)網(wǎng)絡(luò)拓?fù)洹?br>[0073]在一個(gè)實(shí)施例中,裝置層330在SOA系統(tǒng)服務(wù)總線140的初始安裝期間執(zhí)行裝置發(fā)現(xiàn)。裝置層330及/或覆蓋網(wǎng)絡(luò)層320還可在初始安裝之后執(zhí)行節(jié)點(diǎn)發(fā)現(xiàn),及/或可重新發(fā)現(xiàn)曾離線且在稍后時(shí)間重新加入覆蓋網(wǎng)絡(luò)的丟失節(jié)點(diǎn)。在一個(gè)實(shí)施例中,覆蓋網(wǎng)絡(luò)層320管理覆蓋網(wǎng)絡(luò)的共享秘密(例如證書),所述共享秘密使得節(jié)點(diǎn)能夠驗(yàn)證彼此的身份。覆蓋網(wǎng)絡(luò)層320可基于一或多個(gè)接近度度量而形成覆蓋網(wǎng)絡(luò)的拓?fù)?例如,路由樹或網(wǎng)格)。然而,從第一節(jié)點(diǎn)到第二節(jié)點(diǎn)的消息不需要遍歷路由樹且可代替地從第一節(jié)點(diǎn)被直接發(fā)送到第二節(jié)點(diǎn)。在另一實(shí)施例中,從第一節(jié)點(diǎn)到第二節(jié)點(diǎn)的消息遍歷路由樹。此外,覆蓋網(wǎng)絡(luò)層320可基于多播群組而發(fā)送多播消息。此外,覆蓋網(wǎng)絡(luò)層320可為服務(wù)層310提供服務(wù)質(zhì)量(QoS)保證。
[0074]盡管網(wǎng)絡(luò)層320通常涉及“節(jié)點(diǎn)”,但裝置層330通常涉及“裝置”。裝置層330對應(yīng)于裝置130的下部功能性層級,包含使用基礎(chǔ)網(wǎng)絡(luò)拓?fù)?例如,網(wǎng)絡(luò)110及/或子網(wǎng)絡(luò)120)進(jìn)行通信所需的功能性。舉例來說,在一些實(shí)施方案中,裝置層330可實(shí)施開放系統(tǒng)互連(OSI)模型的層I到6(例如,物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、輸送層、會話層及呈現(xiàn)層)。這些層的實(shí)施方案可包含路由以太網(wǎng)幀、路由因特網(wǎng)協(xié)議(IP)包、會話管理、加密及解密包、重新發(fā)射丟失的包等等。
[0075]雖然圖3展示裝置130的示范性功能組件,但在其它實(shí)施方案中,裝置130相比圖3中所描繪的功能組件可包含更少的功能組件、不同的功能組件、不同布置的功能組件或額外功能組件。另外,裝置130的組件中的任一者(或任何組件群組)可執(zhí)行描述為由裝置130的一或多個(gè)其它功能組件執(zhí)行的功能。
[0076]圖4A是圖解說明服務(wù)層310的示范性功能組件的框圖。如圖4A中所展示,服務(wù)層310包含服務(wù)主機(jī)415。服務(wù)主機(jī)415可包含一或多個(gè)服務(wù)410-A到410_N(統(tǒng)稱為“月艮務(wù)410”且個(gè)別地稱為“服務(wù)410”)、一或多個(gè)客戶端420-A到420_K(統(tǒng)稱為“客戶端420”且個(gè)別地稱為“客戶端420”)、消息調(diào)派器430及服務(wù)注冊表440。
[0077]服務(wù)410對應(yīng)于與裝置130的服務(wù)層310的服務(wù)主機(jī)415相關(guān)聯(lián)的服務(wù)實(shí)例。在一個(gè)實(shí)施例中,服務(wù)410包含服務(wù)接口 412及服務(wù)實(shí)施方案414。服務(wù)接口 412可包含通信協(xié)議,例如標(biāo)準(zhǔn)化通信協(xié)議。在一個(gè)實(shí)施方案中,通信協(xié)議包含唯一名稱及版本??墒褂煤唵螌ο笤L問協(xié)議(SOAP)接口規(guī)范、JavaScript對象記法(JSON)接口規(guī)范及/或另一類型的接口規(guī)范來規(guī)定服務(wù)接口 412。服務(wù)實(shí)施方案414包含服務(wù)410的實(shí)施方案。服務(wù)實(shí)施方案414處理經(jīng)由服務(wù)接口 412接收的請求及/或通過服務(wù)接口 412對服務(wù)請求做出響應(yīng)。服務(wù)接口 412可將從服務(wù)實(shí)施方案414接收的響應(yīng)轉(zhuǎn)換成與客戶端420用來與服務(wù)410交換消息的恰當(dāng)協(xié)議兼容的特定格式。
[0078]在一個(gè)實(shí)施例中,客戶端420通過將請求發(fā)送到服務(wù)注冊表440來請求特定服務(wù)類型的服務(wù)實(shí)例。一旦識別并選擇了服務(wù)實(shí)例,客戶端420便可經(jīng)由消息調(diào)派器430將請求發(fā)送到經(jīng)識別及選擇的特定服務(wù)實(shí)例。如上文所論述,客戶端420也可為服務(wù)410。術(shù)語“客戶端”或“客戶端服務(wù)”將服務(wù)識別為正請求另一服務(wù)的服務(wù)。
[0079]消息調(diào)派器430從客戶端420接收傳入消息并將其引導(dǎo)到為傳入消息的既定接收方的服務(wù)410。此外,消息調(diào)派器430可從服務(wù)接收消息并將所述消息發(fā)送到特定客戶端420。如果傳入消息的目的地不在與消息調(diào)派器430相同的裝置130上,那么可將所述消息轉(zhuǎn)發(fā)到覆蓋網(wǎng)絡(luò)層320以供轉(zhuǎn)發(fā)到正確的裝置130。服務(wù)410及客戶端420可充當(dāng)由覆蓋網(wǎng)絡(luò)層320實(shí)施的覆蓋網(wǎng)絡(luò)中的端點(diǎn)。因此,在一個(gè)實(shí)施例中,覆蓋網(wǎng)絡(luò)層320可維持基于覆蓋網(wǎng)絡(luò)的路由樹的路由表。所述路由表可包含特定節(jié)點(diǎn)ID的下一些跳躍目的地的列表。消息調(diào)派器430可識別傳出ID的下一跳躍目的地且可將消息提供到覆蓋網(wǎng)絡(luò)層320以供遞送。因此,在此實(shí)施例中,消息調(diào)派器430實(shí)施請求-響應(yīng)消息接發(fā)機(jī)制。
[0080]服務(wù)注冊表440維持經(jīng)部署服務(wù)410的列表連同與所述經(jīng)部署服務(wù)(例如,服務(wù)的實(shí)例)相關(guān)聯(lián)的特性。下文參考圖4C更詳細(xì)地描述服務(wù)注冊表440的示范性組件。服務(wù)410可通過給服務(wù)注冊表440提供所述服務(wù)的描述(例如,包含服務(wù)的特性)而在服務(wù)注冊表440中注冊。由于客戶端420也可為服務(wù)410,因此客戶端420也可在服務(wù)注冊表440中注冊。
[0081]圖4B是圖解說明服務(wù)注冊表440的功能性的框圖。如