TW201543243A - 在服務導向架構中的監控能力 - Google Patents
在服務導向架構中的監控能力 Download PDFInfo
- Publication number
- TW201543243A TW201543243A TW104108360A TW104108360A TW201543243A TW 201543243 A TW201543243 A TW 201543243A TW 104108360 A TW104108360 A TW 104108360A TW 104108360 A TW104108360 A TW 104108360A TW 201543243 A TW201543243 A TW 201543243A
- Authority
- TW
- Taiwan
- Prior art keywords
- service
- node
- login file
- services
- deployment
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L41/5012—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] determining service availability, e.g. which services are available at a certain point in time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本發明係關於一種系統,其包含:一第一服務登錄檔,其包含在該系統之一第一一或多個節點中可用之服務之一第一清單;及一第二服務登錄檔,其包含在該系統之一第二一或多個節點中可用之服務之一第二清單,其中該第二服務登錄檔連接至該第一服務登錄檔。該系統進一步包含一服務管理器,該服務管理器經組態以:管理該系統之一能力,透過一組一或多個服務而實現該能力;連接至該第一服務登錄檔;自該第一服務登錄檔接收指示該第二服務登錄檔中所包含之服務之該第二清單之一改變的一通知;及回應於接收到該通知而起始對用於該能力之一新服務之部署或在該系統中定位該新服務之一經部署執行個體。
Description
本發明大體而言係關於在一服務導向架構系統中之監控能力。
一裝置網路可經由一網路通信且可形成提供大量各種服務之一系統之部分。不同裝置可在不同時間提供不同服務且系統可需要保持跟蹤哪些服務在哪些裝置處可用。
根據一項態樣,一種系統包含:一第一邏輯,其經組態以維持一第一服務登錄檔,其中該第一服務登錄檔包含在該系統之一第一一或多個節點中可用之服務之一第一清單;一第二邏輯,其經組態以維持一第二服務登錄檔,其中該第二服務登錄檔包含在該系統之一第二一或多個節點中可用之服務之一第二清單,且其中該第二服務登錄檔連接至該第一服務登錄檔;及一第三邏輯,其實施一服務管理器,該服務管理器經組態以:管理該系統之一能力,其中透過一組一或多個服務而實現該能力;連接至該第一服務登錄檔;自該第一服務登錄檔接收指示該第二服務登錄檔中所包含之服務之該第二清單之一改變的一通知;及回應於接收到該通知而起始對用於該能力之一新服務之部署或在該系統中定位該新服務之一經部署執行個體。
此系統之一可能優點係可在具有大量裝置及服務之一動態服務
導向架構(SOA)系統中高效地管理需要特定服務及/或特定服務屬性之一能力,從而產生減少處理時間之一技術效應。舉例而言,該系統能夠自動地對改變(諸如一服務離線或以其他方式變得不可用或者將一新服務新增至系統)做出反應。此系統之另一可能優點係,其係非集中式的且不具有一單個故障點。相比上文所描述之優點,該系統可包含更少之優點、不同之優點或額外優點。
另外,該通知可包含以下各項中之至少一者:已自該第二服務登錄檔移除一特定服務之一指示;已將該特定服務新增至該第二服務登錄檔之一指示;或與該特定服務相關聯之一屬性已改變之一指示。接收一經移除服務、一經新增服務或一服務屬性之一改變之通知可使得該服務管理器能夠對與一能力相關聯之服務之改變做出反應。
另外,該服務管理器可進一步經組態以將一訂用請求發送至該第一服務登錄檔,其中該訂用請求包含將涉及該組一或多個服務中之至少一個服務之改變告知該服務管理器之一指令;該第一服務登錄檔可進一步經組態以記錄該訂用請求及將該訂用請求轉發至該第二服務登錄檔;且該第二服務登錄檔可進一步經組態以基於該訂用請求而發送該通知。將一訂用請求發送至該第一服務登錄檔可使得該服務管理器能夠在不必監控服務之狀態之情況下接收關於該等服務之更新。
另外,可回應於在該系統之該第二一或多個節點中之至少一者中偵測到之一故障而發送該通知。一節點之一故障可導致由該節點裝載之服務變得不可用,且回應於該故障而發送通知可警示該服務管理器:由該節點裝載之服務係不可用的。
另外,該服務管理器可進一步經組態以:回應於接收到該通知而判定無法完全實現該能力;及回應於判定無法完全實現該能力而將一警示發送至一管理員。將一警示發送至管理員可使得該管理員能夠採取行動以使得該服務管理器能夠藉由(舉例而言)使裝載該能力所需
之一服務之一儲備節點在線上來實現該能力。
另外,該服務管理器可進一步經組態以:定位在該系統中可用之該新服務之該經部署執行個體;及回應於在該系統中定位該新服務之該經部署執行個體而使該所定位之經部署執行個體與該能力相關聯。定位一經部署服務執行個體可使得該服務管理器能夠在不消耗額外系統資源來部署該服務之另一執行個體之情況下實現該能力。
另外,該服務管理器可進一步經組態以:判定在該系統中該新服務之經部署執行個體係不可用的;及回應於判定在該系統中該新服務之經部署執行個體係不可用的而起始對用於該能力之該新服務之部署。部署該服務之一執行個體可使得該服務管理器能夠在該服務之經部署執行個體不可用時實現該能力。
另外,該服務管理器可進一步經組態以:自一用戶端接收對該能力之一請求;判定該組一或多個服務中透過其實現該能力之一特定者未被部署在該系統中;基於自該第一服務登錄檔或該第二服務登錄檔中之至少一者獲得之資訊而選擇一部署節點;及基於該所接收請求而指示該所選擇部署節點部署該組一或多個服務中之該特定者。選擇一部署節點及指示該部署節點部署該服務可使得該服務管理器能夠確保用於該能力之所需服務被部署在該系統中且係可用的。
另外,當起始對用於受管理能力之新服務之部署時,該服務管理器可進一步經組態以:判定該第二服務登錄檔中所包含之服務之該第二清單之該改變對應於該組一或多個服務中之至少一者未被部署;識別其中該組一或多個服務中之該至少一者可用之一特定節點;及指示所識別節點在該特定節點中部署該組一或多個服務中之該至少一者。選擇一部署節點及指示該部署節點部署該服務可使得該服務管理器能夠確保用於該能力之所需服務被部署在該系統中且係可用的。
根據另一態樣,一種由一電腦裝置執行之方法可包含:由該電
腦裝置接收與實現一系統之一能力相關聯之服務之一清單;由該電腦裝置將對該服務清單中之一服務之一訂用請求發送至一第一服務登錄檔;由該電腦裝置經由該第一服務登錄檔自一第二服務登錄檔接收與該服務相關聯之一第一服務通知,其中該第一服務通知包含該服務可用於部署在與該第二服務登錄檔相關聯之一第一節點處之一指示或該服務被部署於該系統中之一指示;及由該電腦裝置回應於接收到該第一服務通知而起始在該第一節點處對該服務之部署或在該系統中定位該服務之一經部署執行個體。
此方法之一可能優點係可在具有大量裝置及服務之一動態SOA系統中高效地管理需要特定服務及/或特定服務屬性之一能力,從而產生減少處理時間之一技術效應。舉例而言,該方法能夠自動地對改變(諸如一服務離線或以其他方式變得不可用或者將一新服務新增至系統)做出反應。此方法之另一可能優點係,其實現不具有一單個故障點之一非集中式系統。相比上文所描述之優點,該方法可包含更少之優點、不同之優點或額外優點。
另外,該第一服務通知可包含該服務可用於部署在與該第二服務登錄檔相關聯之一第一節點處之該指示,且該方法可進一步包含回應於接收到該第一服務通知而起始在該第一節點處對該服務之該部署。選擇一部署節點及指示該部署節點部署該服務可藉由確保用於該能力之所需服務被部署在該系統中且係可用的而有益於該系統。
另外,該第一服務通知可包含該服務被部署於該系統中之該指示,且該方法可進一步包含回應於接收到該第一服務通知而在該系統中定位該服務之該經部署執行個體。定位一經部署服務執行個體可藉由在不消耗額外系統資源來部署該服務之另一執行個體之情況下實現該能力而有益於該系統。
另外,該方法可進一步包含:經由該第一服務登錄檔自該第二
服務登錄檔接收與該服務相關聯之一第二服務通知,其中該第二服務通知包含該服務在與該第二服務登錄檔相關聯之該第一節點處不再可用之一指示;識別該服務可用於部署在其處之一第二節點;及回應於識別出該第二節點而起始在該第二節點處對該服務之部署。識別該第二節點及起始在該第二節點處對該服務之部署可導致該服務在該服務停止在該第一節點處可用之後繼續係可用的,而不會打擾正使用該服務之一用戶端。
另外,該方法可進一步包含:經由該第一服務登錄檔自該第二服務登錄檔接收與該服務相關聯之一第二服務通知,其中該第二服務通知包含該服務不再可用於部署在與該第二服務登錄檔相關聯之該第一節點處之一指示;判定該服務不可用於部署在該系統中之任何其他節點處;及回應於判定該服務不可用於部署在該系統中之任何其他節點處而將一警示發送至一管理員。將一警示發送至管理員可使得該管理員能夠採取行動以使得該系統能夠藉由(舉例而言)使裝載該能力所需之一服務之一儲備節點在線上來實現該能力。
另外,該方法可進一步包含:經由該第一服務登錄檔自該第二服務登錄檔接收與該服務相關聯之一第二服務通知,其中該第二服務通知包含與該服務相關聯之一屬性已改變之一指示;判定該服務不再滿足與該能力相關聯之一要求;回應於判定該服務不再滿足該要求而結束在該第一節點處對該服務之該部署;識別該服務可用於部署在其處之一第二節點;及回應於識別出該第二節點而起始在該第二節點處對該服務之部署。識別該第二節點及起始在該第二節點處對該服務之部署可導致該服務在該第一節點處之服務屬性改變之後繼續係可用的,而不會打擾正使用該服務之一用戶端。
另外,與該服務相關聯之屬性可包含以下各項中之至少一者:一可用記憶體容量;該服務被部署在其處之第一節點之一處理容量;
該第一節點之一位置;該第一節點之一覆蓋範圍;與該第一節點相關聯之一環境條件;或與該第一節點相關聯之一信號品質量度。監控一服務之此等屬性之一益處可使得能夠實現具有規定此等屬性中之一者之一要求之一能力。
另外,該方法可進一步包含:自該系統中之一請求節點接收對一特定服務之一請求;判定該特定服務未被部署在該系統中;基於該第一服務登錄檔或該第二服務登錄檔中之至少一者而選擇一部署節點;及基於該所接收請求而在該所選擇部署節點中部署該特定服務。選擇一部署節點及指示該部署節點部署該服務可藉由確保用於該能力之所需服務被部署在該系統中且係可用的而有益於該系統。
根據另一態樣,一種由一系統中之一電腦裝置執行之方法可包含:由該電腦裝置維持一第一服務登錄檔,其中該第一登錄檔包含在該系統之一第一一或多個節點中可用之服務之一第一清單;由該電腦裝置自一服務管理器接收一訂用請求,其中該訂用請求包含接收與一特定服務之改變有關之通知之一請求;由該電腦裝置將該訂用請求記錄於該第一服務登錄檔中;及由該電腦裝置將該訂用請求發送至一第二服務登錄檔,其中該第二服務登錄檔包含在該系統之一第二一或多個節點中可用之服務之一第二清單,其中該第二服務清單包含該特定服務,且其中該第二服務登錄檔連接至該第一服務登錄檔。
此方法之一可能優點係,其確保一訂用請求被分散至系統中之所有服務登錄檔。使一訂用請求分散至系統中之所有服務登錄檔可使得該服務管理器能夠對系統中任何處之特定服務之改變做出反應。
另外,該方法可包含:自該第二服務登錄檔接收一服務通知,其中該服務通知包含與該特定服務之一改變有關之資訊;及將該服務通知轉發至該服務管理器。接收服務之一改變之通知可使得該服務管理器能夠對與一能力相關聯之服務之改變做出反應。
另外,該方法可包含:判定該訂用請求與該第一服務清單中所列舉之一服務相關聯;使該服務與該訂用請求相關聯;偵測該服務之一改變;及基於使該服務與該訂用請求相關聯,回應於偵測到該服務之該改變而將一通知發送至該服務管理器。發送服務之一改變之通知可使得該服務管理器能夠對與一能力相關聯之服務之改變做出反應。
100‧‧‧例示性環境/環境
110‧‧‧網路
120-A‧‧‧子網路
120-N‧‧‧子網路
130‧‧‧裝置/第一裝置/第二裝置
130-A-A至130-A-J‧‧‧裝置
130-N-K‧‧‧裝置
140‧‧‧服務導向架構系統服務匯流排
150‧‧‧管理裝置
210‧‧‧匯流排
220‧‧‧處理器
230‧‧‧記憶體
240‧‧‧輸入裝置
250‧‧‧輸出裝置
260‧‧‧通信介面
310‧‧‧服務層
320‧‧‧覆疊網路層/網路層
330‧‧‧裝置層
410-A至410-N‧‧‧服務
415‧‧‧服務主機/鄰近服務主機
420-A至420-K‧‧‧用戶端
430‧‧‧訊息發送器
440‧‧‧服務登錄檔/毗鄰服務登錄檔/遠端服務登錄檔/本機服務登錄檔
442‧‧‧主機服務登錄檔資料庫/資料庫/本機主機服務登錄檔資料庫/主機服務登錄檔/服務登錄檔資料庫
444‧‧‧查詢處理常式
446‧‧‧服務登錄檔快取記憶體/快取記憶體
460‧‧‧屬性資料表/資料表
462‧‧‧識別符欄位/執行個體識別符欄位
464‧‧‧介面欄位
468‧‧‧服務格式欄位
470‧‧‧輸送協定欄位
472‧‧‧CPU排名/CPU排名欄位
474‧‧‧磁碟空間欄位
476‧‧‧隨機存取記憶體欄位/欄位
510‧‧‧節點管理器
520‧‧‧通信管理器
530‧‧‧多點傳送管理器
540‧‧‧覆疊網路/網路/覆疊功能網路
560-1‧‧‧多點傳送群組
560-2‧‧‧多點傳送群組
560-3‧‧‧多點傳送群組
560-4‧‧‧多點傳送群組
600‧‧‧服務管理器
610‧‧‧訂用產生器
620‧‧‧部署管理器
630‧‧‧警示產生器
640‧‧‧能力資料庫
701‧‧‧服務項目/服務記錄/非現用服務記錄
710‧‧‧服務欄位
712‧‧‧節點欄位
714‧‧‧屬性欄位
716‧‧‧部署欄位
718‧‧‧訂用欄位
751‧‧‧能力記錄
761‧‧‧服務項目
770‧‧‧服務欄位
772‧‧‧要求欄位
774‧‧‧可用性欄位
776‧‧‧節點欄位
778‧‧‧屬性欄位
1100‧‧‧例示性覆疊網路
1110‧‧‧服務管理器
1120‧‧‧攝影機
1130‧‧‧攝影機
1140‧‧‧攝影機
1150‧‧‧Window OS儲存服務
C1‧‧‧用戶端端點
C2‧‧‧用戶端端點
C3‧‧‧用戶端端點
N1‧‧‧節點
N2‧‧‧節點
N3‧‧‧節點
N4‧‧‧節點
N5‧‧‧節點
N6‧‧‧節點
N7‧‧‧節點
S1‧‧‧服務端點
S3‧‧‧服務端點
S5‧‧‧服務端點
圖1係圖解說明根據下文所描述之一或多項實施例之一例示性環境之一方塊圖;圖2係圖解說明圖1之一裝置之例示性組件之一方塊圖;圖3係圖解說明圖1之一裝置之例示性功能層之一方塊圖;圖4A係圖解說明圖3之一服務層之例示性功能組件之一方塊圖;圖4B係圖解說明圖4A之服務登錄檔之功能性之一方塊圖;圖4C係圖解說明圖4A之服務登錄檔之例示性功能組件之一方塊圖;圖4D係可由圖4A之服務登錄檔儲存之一特定服務之一例示性屬性資料表(property table)之一方塊圖;圖5A係圖解說明圖3之一覆疊網路層之功能組件之一方塊圖;圖5B係一例示性功能覆疊網路之一樹之一方塊圖;圖6係圖解說明一服務管理器之功能組件之一方塊圖;圖7A係圖解說明可儲存於圖4A之服務登錄檔中之組件之一方塊圖;圖7B係圖解說明可儲存於圖6之能力資料庫中之組件之一方塊圖;圖8係根據本文中所描述之一實施方案用於管理一能力之一第一處理程序之一流程圖;圖9係根據本文中所描述之一實施方案用於管理一能力之一第二
處理程序之一流程圖;圖10係根據本文中所描述之一實施方案用於管理一訂用請求之一處理程序之一流程圖;及圖11圖解說明其中實現一能力之一例示性覆疊網路。
以下詳細描述參考隨附圖式。不同圖式中之相同元件符號識別相同或類似元件。
如上文所提及,一裝置網路可經由一網路通信且可形成提供大量各種服務之一系統之部分。不同裝置可在不同時間提供不同服務且系統可需要保持跟蹤哪些服務在哪些裝置處可用。舉例而言,當新增、移除或修改一裝置時,系統之組態會改變。在具有大量裝置之一系統中,此可導致需要頻繁地進行重新組態,此會消耗系統資源。因此,保持跟蹤不同裝置處之可用服務可係需要一解決方案之一技術問題。
諸如一安全監控系統之一系統可投入顯著之時間及資源來維持及跟蹤系統中之節點之能力(例如,攝影機裝置、儲存裝置、伺服器裝置等等)。下文所描述之實施例涉及在一服務導向架構(SOA)網路中之監控能力。在基於一SOA之一系統中,將功能性離散化成若干服務。一服務係一自封式功能性凝聚單元。透過具有一經定義訊息格式之一服務介面來執行與一服務之通信。通信處理程序可獨立於服務之實施方案。服務可提供最終使用者功能性且服務介面可被設計成為商業人員可理解的。此外,每一服務獨立於其他服務且服務之邊界係明確的。因此,若一個服務損毀,則其他服務可不受影響。因此,舉例而言,每一服務可作為一不同處理程序運行。
在一項實施例中,關於由系統中之一節點提供之服務之資訊儲存於一服務登錄檔中。該服務登錄檔儲存每一服務之屬性,諸如一服
務識別符、與服務相關聯之一作業系統、服務正在其上運行之節點之位置座標、與服務相關聯之處理容量、與服務相關聯之頻寬容量,及/或與服務相關聯之其他類型之屬性。並非系統中之所有節點皆可包含一服務登錄檔。因此,某些服務登錄檔可儲存在系統中之其他節點處可用之服務。此外,系統中之服務登錄檔可在拓撲上互連,且可透過一第一服務登錄檔存取一第二服務登錄檔。若第一服務登錄檔接收到一搜尋查詢且未識別出對該搜尋查詢之一匹配,則第一服務登錄檔可將該搜尋查詢轉發至第二服務登錄檔。因此,對於提交定位一服務之一搜尋查詢之一用戶端而言,系統中之各服務登錄檔可顯現為一單個分散式服務登錄檔。
該系統可提供一或多個能力。該系統之一能力由一管理員定義為服務以及該等服務之保證屬性之一清單。舉例而言,用以將一高清晰度(HD)視訊自一特定位置串流傳輸至一Windows OS伺服器裝置之一能力可需要該位置處之一視訊擷取服務、以足以用於串流傳輸HD視訊之頻寬容量及服務品質(QoS)屬性自特定位置至運行Windows OS之一電腦裝置之一串流傳輸服務及在運行Windows OS之伺服器裝置上可用之一視訊播放裝載服務(video playback hosting service)。為了解決監控系統中之各種能力之技術問題,服務管理器可監控系統中之裝置之屬性以判定在每一裝置處何種類之服務係可用的。
在一項解決方案/實施例中,一服務管理器連接至可係距該服務管理器最近之服務登錄檔之一服務登錄檔並訂用與對與一能力相關聯之服務之改變有關之通知。舉例而言,該服務管理器可發出對該能力中之每一服務之訂用請求。最接近該服務管理器之一服務登錄檔可接收該訂用請求且可判定該服務登錄檔中所列舉之一服務是否匹配該訂用請求。若發現一匹配,則該服務登錄檔將關於所識別服務之一回應發送回至該服務管理器。該回應可包含與該服務之屬性有關之資訊。
不管是否發現一匹配,該服務登錄檔皆可記錄該訂用請求且可將該訂用請求轉發至毗鄰服務登錄檔。若在一毗鄰服務登錄檔中發現一匹配,則該毗鄰服務登錄檔可將一回應發送回至第一服務登錄檔,該第一服務登錄檔可將該回應轉發至該服務管理器。該毗鄰服務登錄檔亦可記錄該訂用請求並將該訂用請求轉發至下一毗鄰服務登錄檔。因此,可透過系統中之服務登錄檔網路傳播訂用請求,且系統中之每一服務登錄檔皆可以儲存該訂用請求而結束。因此,若一服務登錄檔不包含關於匹配訂用請求之規範之一服務之資訊且稍後新增了此一服務,則該服務登錄檔將能夠通知該服務管理器。若在搜尋所有服務登錄檔之後未發現匹配,則可將未發現匹配之一指示發送回至該服務管理器。
該服務管理器可自服務登錄檔接收一特定回應。作為一實例,該服務管理器可接收該服務被部署於系統中某處之一指示。該服務管理器可識別系統中正裝載該服務之節點且可使所識別節點與該能力相關聯。作為另一實例,該服務管理器可接收該服務可用於部署在系統中之一指示。作為回應,該服務管理器可識別系統中該服務可用於部署在其處之節點且可起始在所識別節點處對該服務之部署。舉例而言,該服務管理器可指示該節點處之一部署服務部署與該能力相關聯之該服務。作為又一實例,該服務管理器可接收服務不可用於部署在系統中之一指示。作為回應,該服務管理器可產生用以告知一管理員無法實現該能力之一管理員警示。
該服務管理器可繼續接收對該服務之訂用通知。舉例而言,該服務登錄檔可判定該服務已被移除、已經變得不可用,及/或可判定與該服務相關聯之一屬性已改變。作為回應,該服務登錄檔可將一訂用通知發送至該服務管理器且該服務管理器可按照所接收訂用通知起作用。舉例而言,該服務管理器可判定該服務在先前所識別節點處不
再可用或該節點處之服務不再滿足對該能力之要求。作為回應,該服務管理器可基於先前所接收訂用通知而識別系統中在其處該服務可用之另一節點。
因此,該服務管理器可提供在具有大量裝置及服務之一SOA系統中高效地管理需要特定服務及/或特定服務屬性之一能力之一技術效應。此可為SOA系統提供能夠自動地對改變(諸如一服務離線或以其他方式變得不可用或者將一新服務新增至系統)做出反應之一優點。
圖1係可在其中實施所描述之系統及/或方法之一例示性環境100之一方塊圖。如圖1之實施例中所展示,環境100包含一網路110、子網路120-A至120-N(統稱為「子網路120」且個別地稱為「子網路120」)、裝置130-A-A至130-N-K(統稱為「裝置130」且個別地稱為「裝置130」)及管理裝置150。裝置130-N-K係指子網路120-N中之第K個裝置130。在此實施例中,環境100中之組件形成一服務導向架構(SOA)系統服務匯流排140。
網路110使得子網路120及/或裝置130能夠彼此通信。網路110可包含一或多個電路交換網路及/或封包交換網路。舉例而言,在一項實施例中,網路110包含一區域網路(LAN)、一廣域網路(WAN)、一都會區域網路(MAN)、一公共交換電話網路(PSTN)、一特殊網路、一內部網路、網際網路、一基於光纖之網路、一無線網路及/或此等或其他類型之網路之一組合。
子網路120可包含一LAN(例如,一個層2網路)及/或一私人網路(例如,一個層3網路)。子網路120可互連一或多個裝置130。舉例而言,子網路120-A可互連裝置130-A-A至130-A-J。舉例而言,裝置130可包含經組態以經由SOA系統服務匯流排140通信之任何裝置。
裝置130可包含:一伺服器電腦裝置,諸如一超文字預處理器(PHP)伺服器裝置、一C程式伺服器裝置、一Linux伺服器裝置、一
Windows伺服器裝置及/或另一類型之伺服器裝置;一個人電腦裝置,諸如一桌上型電腦、膝上型電腦、平板電腦、一行動通信裝置及/或運行Windows、Linux、Android、iOS及/或另一作業系統之另一類型之個人電腦裝置;一監控裝置,諸如一可見光攝影機、一紅外線(IR)攝影機、一熱標誌攝影機;一麥克風;一報警感測器,諸如一運動感測器、一熱感測器、一壓力感測器及/或另一類型之報警感測器;一微控制器電腦裝置;及/或另一類型之電腦裝置。儘管將裝置130展示為連接至一子網路120,但一特定裝置130可直接連接至網路110。
在一項實施例中,在一現有網路拓撲之頂部上於裝置130之間實施SOA系統服務匯流排140。SOA系統服務匯流排140可使得不同類型之裝置130及/或使用不同平台實施之裝置130能夠使用一服務導向架構通信。SOA系統服務匯流排140可使得一第一裝置130能夠向任何裝置130(例如,本身或另一裝置130)請求一特定服務。因此,由第一裝置130裝載之一用戶端(例如,本身係一「服務」或一「用戶端服務」)可調用由一第二裝置130裝載之一服務(例如,當該服務在第一裝置130中係不可用時)。請求另一服務(例如,在第二裝置130中)之一第一服務(例如,在第一裝置130中)由於已起始請求而稱為一「用戶端」或一「用戶端服務」。舉例而言,第一服務亦可向網路中之其他服務提供服務。
在一項實施例中,經由一標準化服務介面來存取一服務。每一類型之服務皆可與一特定服務介面(例如,一不同服務介面)相關聯。因此,請求一服務之一用戶端可與一服務介面通信,且該用戶端關於該服務之實際實施方案可能係不可知的。換言之,服務之實施方案使用由服務介面定義之協定彼此通信,以使得每一實施方案不必與其他服務之實施方案有關。與一特定服務介面相關聯之一運行服務實施方案可稱為一服務執行個體。包含一服務主機(例如,裝載一服務之一
裝置)之一裝置130可藉助一服務登錄檔(例如,一服務清單或資料庫)來保持跟蹤可用服務執行個體。SOA系統服務匯流排140可使得裝置130之間的通信能夠藉由搜尋裝置130中之服務主機之服務登錄檔而定位一所請求服務。
管理裝置150可使得一管理員能夠組態或以其他方式管理SOA系統服務匯流排140。舉例而言,管理裝置150可包含一可攜式通信裝置(例如,一行動電話、一智慧電話、一平板電話裝置、一全球定位系統(GPS)裝置及/或另一類型之無線裝置);一個人電腦或工作站;一伺服器裝置;一膝上型電腦、平板電腦或另一類型之可攜式電腦;及/或具有通信能力之任何類型之裝置。
如同網路110,子網路120可包含一或多個電路交換網路及/或封包交換網路。舉例而言,子網路120可包含一LAN、一WAN、一MAN、一PSTN、一特殊網路、一內部網路、網際網路、一基於光纖之網路、一無線網路及/或此等或其他類型之網路之一組合。
雖然圖1展示環境100之例示性組件,但在其他實施方案中,環境100相比圖1中所繪示之組件可包含更少之組件、不同之組件、不同配置之組件或額外組件。另外或另一選擇係,環境100中之任一裝置(或任何裝置群組)可執行描述為由環境100中之一或多個其他裝置執行之功能。
圖2係圖解說明裝置130之例示性組件之一方塊圖。如圖2中所展示,裝置130可包含一匯流排210、一處理器220、一記憶體230、一輸入裝置240、一輸出裝置250及一通信介面260。
匯流排210可包含准許裝置130之組件當中之通信之一路徑。處理器220可包含任何類型之單核心處理器、多核心處理器、微處理器、基於鎖存器之處理器及/或解譯並執行指令之處理邏輯(或處理器、微處理器及/或處理邏輯之族群)。在其他實施例中,處理器220
可包含一特殊應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)及/或另一類型之積體電路或處理邏輯。
記憶體230可包含可儲存供由處理器220執行之資訊及/或指令之任何類型之揮發性及/或動態儲存裝置,及/或可儲存供由處理器220使用之資訊之任何類型之非揮發性儲存裝置。舉例而言,記憶體230可包含一隨機存取記憶體(RAM)或另一類型之動態儲存裝置、一唯讀記憶體(ROM)裝置或另一類型之靜態儲存裝置、一內容可定址記憶體(CAM)、一磁性及/或光學記錄記憶體裝置及其對應磁碟機(例如,一硬碟機、光碟機等等)及/或一可抽換形式之記憶體,諸如一快閃記憶體。
輸入裝置240可允許一操作者將資訊輸入至裝置130中。舉例而言,輸入裝置240可包含一鍵盤、一滑鼠、一筆、一麥克風、一遙控器、一音訊擷取裝置、一影像及/或視訊擷取裝置、一觸控螢幕顯示器及/或另一類型之輸入裝置。在一項實施例中,裝置130可在遠端管理且可不包含輸入裝置240。換言之,裝置130可係「無周邊的」,且舉例而言,可不包含一鍵盤。
輸出裝置250可將資訊輸出至裝置130之一操作者。輸出裝置250可包含一顯示器、一印表機、一揚聲器及/或另一類型之輸出裝置。舉例而言,裝置130可包含一顯示器,其可包含用於將內容顯示給客戶之一液晶顯示器(LCD)。在一項實施例中,裝置130可在遠端管理且可不包含輸出裝置250。換言之,裝置130可係「無周邊的」,且舉例而言,可不包含一顯示器。
通信介面260可包含使得裝置130能夠與其他裝置及/或系統通信之一收發器(例如,一傳輸器及/或一接收器)。通信介面260可經由無線通信(例如,射頻、紅外線及/或視覺光學器件等等)、有線通信(例如,導電線、雙絞線電纜、同軸電纜、傳輸線、光纖電纜及/或波導
等等)或無線與有線通信之一組合通信。通信介面260可包含將基頻信號轉換為射頻(RF)信號之一傳輸器及/或將RF信號轉換為基頻信號之一接收器。通信介面260可耦合至用於傳輸及接收信號之一天線。
通信介面260可包含一邏輯組件,該邏輯組件包含輸入及/或輸出埠、輸入及/或輸出系統及/或促進將資料傳輸至其他裝置之其他輸入及輸出組件。舉例而言,通信介面260可包含用於有線通信之一網路介面卡(例如,乙太網路卡)及/或用於無線通信之一無線網路介面(例如,一WiFi)卡。通信介面260亦可包含用於經由一電纜通信之一通用串列匯流排(USB)埠、一BluetoothTM無線介面、一射頻識別(RFID)介面、一近場通信(NFC)無線介面及/或將資料自一種形式轉換為另一形式之任何其他類型之介面。
如下文所描述,裝置130可執行與透過一服務管理器管理各能力及/或管理對特定服務之訂用有關之特定操作。裝置130可回應於處理器220執行一電腦可讀媒體(諸如記憶體230)中所含有之軟體指令而執行此等操作。一電腦可讀媒體包含一非暫時性記憶體裝置。一記憶體裝置可實施於一單個實體記憶體裝置內或跨越多個實體記憶體裝置散佈。可將軟體指令自另一電腦可讀媒體或自另一裝置讀取至記憶體230中。記憶體230中所含有之軟體指令可致使處理器220執行本文中所描述之處理程序。另一選擇係,可代替或結合軟體指令來使用硬連線(例如,固定)電路以實施本文中所描述之處理程序。因此,本文中所描述之實施方案並不限於硬體電路及軟體之任何特定組合。
雖然圖2展示裝置130之例示性組件,但在其他實施方案中,裝置130相比圖2中所繪示之組件可包含更少之組件、不同之組件、額外組件或不同配置之組件。另外或另一選擇係,裝置130之一或多個組件可執行描述為由裝置130之一或多個其他組件執行之一或多個任務。管理裝置150可類似地被組態為裝置130。
圖3係圖解說明裝置130之例示性通信層之一方塊圖。裝置130之功能組件可(舉例而言)由執行來自記憶體230之指令之處理器220實施。另外或另一選擇係,裝置130之功能組件可經由一或多個ASIC之硬連線(例如,固定)電路來實施。如圖3中所展示,裝置130可包含一服務層310、一覆疊網路層320及一裝置層330。
在一項實施例中,服務層310使得用戶端能夠搜尋一特定服務類型之服務執行個體且使得用戶端能夠將請求發送至特定服務執行個體。可經由在一項實施例中對一服務之實際實施方案不可知之一標準化服務介面來存取該服務。一服務執行個體可與明確邊界相關聯。在此實施例中,在裝置130上運行之一特定處理程序及/或儲存於裝置130上之特定資料無歧義地存放在服務執行個體內或服務執行個體外部。一服務執行個體相對於其他服務執行個體可係自主的。舉例而言,可修改一特定服務執行個體(例如,可重寫程式碼),而不會負面地影響與該特定服務執行個體互動之其他服務執行個體。一服務可能與(相同類型或不同類型的)其他服務執行個體共用一模式及/或一合約,但在一項實施例中,不共用服務實施方案。一模式規定由服務介面發送或接收之訊息之格式及內容。一合約規定由服務介面發送或接收之容許訊息序列。
可將一或多個服務共同地部署為一套件組合。一套件組合可對應於充當系統中之一部署單元之服務。系統中能夠部署對應於一或多個服務之一群組之一特定套件組合的一節點充當一套件組合主機。一套件組合儲存庫服務可將一套件組合集合儲存於系統中。因此,當服務管理器選擇部署一服務時,該服務管理器可需要定位能夠部署與該服務相關聯之一套件組合之一套件組合主機。該服務管理器可聯繫服務登錄檔以定位套件組合儲存庫服務。該服務管理器可接著聯繫該套件組合儲存庫服務以識別一套件組合。該服務管理器可選擇一套件組
合且可接著搜尋服務登錄檔以識別可部署所選擇套件組合之一適合套件組合主機。該服務管理器可接著聯繫該套件組合主機且可指示該套件組合主機部署與該服務相關聯之套件組合。
在一項實施例中,覆疊網路層320在一現有網路拓撲之頂部上實施一覆疊網路。覆疊網路層320可負責將訊務路由穿過防火牆及/或處理基礎網路拓撲中之網路位址轉譯(NAT)。在一項實施例中,覆疊網路拓撲(例如,其可不同於基礎網路拓撲)包含以一樹狀結構組織之節點。覆疊網路拓撲在邏輯上連接該等節點。在其他實施例中,覆疊網路拓撲可包含一不同類型之結構(例如,一網狀拓撲)。一裝置130中之每一服務主機可對應於覆疊網路中之一節點且可被指派一節點識別符(ID)。如上文所提及,一裝置130可包含多個服務主機及/或多個節點。可將裝置130描述為包含對應於一個節點之一個主機。節點可經由網路拓撲(諸如一路由樹)來連接,且一節點可經由路由樹將一訊息發送至另一節點。在一項實施例中,一節點可經由基礎網路拓撲將一訊息發送至另一節點,而該訊息並不遍歷覆疊網路拓撲。每一節點可儲存用以到達其在覆疊網路(以及諸如網路110等基礎網路)中之鄰近者之資訊(例如,基礎網路之位址)。覆疊網路層320可對應於節點之間的一通信層且可使用多個網路拓撲來實現一特定功能。舉例而言,當針對一特定類型之服務搜尋服務登錄檔時,覆疊網路層320可在於服務登錄檔中搜尋的同時遍歷一節點樹之邊緣。在一項實施例中,當將一訊息自一第一節點發送至一第二節點時,覆疊網路層320可將訊息自第一節點直接發送至第二節點,而非藉由沿循樹之邊緣。覆疊網路層320可將節點ID提供至服務層310,且服務層310可將訊息發送至特定節點ID,而不需要知曉基礎網路拓撲。
在一項實施例中,裝置層330在SOA系統服務匯流排140之初始安裝期間執行裝置探索。裝置層330及/或覆疊網路層320亦可在初始安
裝之後執行節點探索,及/或可重新探索曾離線且在一稍後時間重新加入覆疊網路之丟失節點。在一項實施例中,覆疊網路層320管理覆疊網路之一共用秘密(諸如一憑證),該共用秘密使得節點能夠驗證彼此之身份。覆疊網路層320可基於一或多個接近度度量而形成覆疊網路之一拓撲(例如,一路由樹或網格)。然而,自一第一節點至一第二節點之一訊息不需要遍歷路由樹且可代替地自第一節點被直接發送至第二節點。在另一實施例中,自第一節點至第二節點之訊息遍歷路由樹。此外,覆疊網路層320可基於多點傳送群組而發送多點傳送訊息。此外,覆疊網路層320可為服務層310提供一服務品質(QoS)保證。
儘管網路層320通常涉及「節點」,但裝置層330通常涉及「裝置」。裝置層330對應於裝置130之下部功能性層級,包含使用基礎網路拓撲(例如,網路110及/或子網路120)來通信所需之功能性。舉例而言,在某些實施方案中,裝置層330可實施開放系統互連(OSI)模型之層1至6(例如,實體層、資料鏈路層、網路層、輸送層、工作階段層及呈現層)。此等層之實施方案可包含路由乙太網路訊框、路由網際網路協定(IP)封包、工作階段管理、加密及解密封包、重新傳輸丟失之封包等等。
雖然圖3展示裝置130之例示性功能組件,但在其他實施方案中,裝置130相比圖3中所繪示之功能組件可包含更少之功能組件、不同之功能組件、不同配置之功能組件或額外功能組件。另外,裝置130之組件中之任一者(或任何組件群組)可執行描述為由裝置130之一或多個其他功能組件執行之功能。
圖4A係圖解說明服務層310之例示性功能組件之一方塊圖。如圖4A中所展示,服務層310包含一服務主機415。服務主機415可包含一或多個服務410-A至410-N(統稱為「服務410」且個別地稱為「服務
410」)、一或多個用戶端420-A至420-K(統稱為「用戶端420」且個別地稱為「用戶端420」)、一訊息發送器430及一服務登錄檔440。
服務410對應於與裝置130之服務層310之服務主機415相關聯之一服務執行個體。在一項實施例中,服務410包含一服務介面412及一服務實施方案414。服務介面412可包含一通信協定,諸如一標準化通信協定。在一項實施方案中,通信協定包含一唯一名稱及版本。可使用一簡單物件存取協定(SOAP)介面規範、一JavaScript物件標記法(JSON)介面規範及/或另一類型之介面規範來規定服務介面412。服務實施方案414包含服務410之實施方案。服務實施方案414處理經由服務介面412接收之請求及/或透過服務介面412對服務請求做出回應。服務介面412可將自服務實施方案414接收之回應轉換成與用戶端420用來與服務410交換訊息之恰當協定相容之一特定格式。
在一項實施例中,用戶端420藉由將一請求發送至服務登錄檔440來請求一特定服務類型之一服務執行個體。一旦識別並選擇了一服務執行個體,用戶端420便可經由訊息發送器430將一請求發送至所識別及選擇之特定服務執行個體。如上文所論述,用戶端420亦可係服務410。術語「用戶端」或「用戶端服務」將服務識別為正請求另一服務之服務。
訊息發送器430自用戶端420接收傳入訊息並將其引導至係傳入訊息之既定接收者之服務410。此外,訊息發送器430可自一服務接收訊息並將該訊息發送至一特定用戶端420。若傳入訊息之目的地非位於相同於訊息發送器430之裝置130上,則可將該訊息轉發至覆疊網路層320以供轉發至正確之裝置130。服務410及用戶端420可充當由覆疊網路層320實施之覆疊網路中之端點。因此,在一項實施例中,覆疊網路層320可基於覆疊網路之路由樹維持一路由表。該路由表可包含特定節點ID之接下來的跳躍目的地之一清單。訊息發送器430可識別
傳出ID之下一跳躍目的地且可將訊息提供至覆疊網路層320以供遞送。因此,在此實施例中,訊息發送器430實施一請求-回應訊息接發機制。
服務登錄檔440維持經部署服務410之一清單連同與該等經部署服務(例如,服務之執行個體)相關聯之屬性。下文參考圖4C更詳細地描述服務登錄檔440之例示性組件。一服務410可藉由提供該服務之一描述(例如,包含服務之屬性)給服務登錄檔440而在服務登錄檔440中登錄。由於用戶端420亦可係服務410,因此用戶端420亦可在服務登錄檔440中登錄。
圖4B係圖解說明服務登錄檔440之功能性之一方塊圖。如圖4B中所展示,服務登錄檔440可自用戶端420接收搜尋查詢。一搜尋查詢可規定一特定服務類型、特定服務類型之一或多個所請求屬性、一所請求命中數目及/或一或多個其他參數。服務登錄檔440可識別滿足搜尋查詢之服務410。若服務登錄檔440不滿足所請求命中之數目,則服務登錄檔440可將一查詢轉發至覆疊網路中之另一服務登錄檔440(例如,一毗鄰服務登錄檔440)。在一項實施例中,服務登錄檔440並不基於一搜尋查詢而選擇一特定服務執行個體。而是,在此實施例中,服務登錄檔440將查詢之結果傳回至用戶端420,且曾發起該查詢之用戶端420可自搜尋結果選擇一特定服務執行個體。在另一實施例中,服務登錄檔440基於搜尋查詢而自查詢之結果選擇特定服務執行個體。
雖然圖4A及圖4B展示服務層310之例示性功能組件,但在其他實施方案中,服務層310相比圖4A及圖4B中所繪示之功能組件可包含更少之功能組件、不同之功能組件、不同配置之功能組件或額外功能組件。另外,服務層310之組件中之任一者(或任何組件群組)可執行描述為由服務層310之一或多個其他功能組件執行之功能。
圖4C係圖解說明服務登錄檔440之例示性功能組件之一方塊圖。如圖4C中所展示,服務登錄檔440可包含一主機服務登錄檔資料庫(DB)442、一查詢處理常式(query handler)444及一服務登錄檔快取記憶體446。
主機服務登錄檔DB 442可維持由服務主機415裝載之服務410之一清單及/或彼等服務之屬性。下文關於圖4D來提供在主機服務登錄檔DB 442中列舉之一服務及該服務之屬性之一實例。可藉由在服務登錄檔440中登錄之服務410來填充主機服務登錄檔DB 442。主機服務登錄檔DB 442亦可公開用於新增或移除所列舉服務及讀取或寫入由服務主機415裝載之服務之屬性及/或寫入服務屬性之一介面。在一項實施例中,舉例而言,主機服務登錄檔DB 442可維持由一不同裝置130上之一服務主機415裝載之服務410之一清單。不同裝置上之服務主機415可使用所公開介面在另一裝置上之一服務登錄檔中列舉其服務。此外,主機服務登錄檔DB 442可公開可由其他服務登錄檔存取之一搜尋查詢服務介面。因此,其他服務登錄檔可使用該搜尋查詢服務介面來判定主機服務登錄檔DB 442是否包含滿足一特定查詢之一項目。在一項實施例中,在主機服務登錄檔DB 442中列舉之服務可過期(例如,在一時間週期之後若未被再新則被自DB 442移除)以幫助防止DB 442儲存過時之資訊。
主機服務登錄檔442可自一服務管理器接收一訂用請求,可儲存訂用請求,且可將訂用請求轉發至所有毗鄰服務登錄檔。主機服務登錄檔442可判定是否有一服務匹配該訂用請求,且若識別出一匹配服務,則可將一訂用通知發送回至曾發起該訂用請求之一服務管理器。此外,主機服務登錄檔442可判定對一所儲存服務之一更新是否與一訂用相關聯。若一更新與一訂用相關聯,則主機服務登錄檔442可將一訂用通知發送至曾發起對相關聯訂用之訂用請求之服務管理器(或
另一類型之服務)。
查詢處理常式444可處置自用戶端420接收之查詢。在一項實施例中,假定一查詢,查詢處理常式444首先搜尋本機主機服務登錄檔DB 442、後續接著搜尋服務登錄檔快取記憶體446。舉例而言,若尚未滿足該查詢,則查詢處理常式444可發出對其他服務登錄檔之一調用。服務登錄檔快取記憶體446可儲存來自遠端服務登錄檔440之資料。每一服務主機415可維持一本機服務登錄檔440,且在服務主機415中登錄之服務410被登錄於本機服務登錄檔440中。可將來自用戶端420之不能被本機服務登錄檔440滿足之一查詢發送至一或多個鄰近服務主機415以查看鄰近服務主機415是否具有包含滿足該查詢之服務之服務登錄檔440。遠端服務登錄檔440可將查詢之結果傳回至本機服務登錄檔440,且可將該等結果儲存在服務登錄檔快取記憶體446中。在某些實施方案中,父節點可快取其子節點之資料,而子節點可不快取其父節點之資料。在一項實施例中,在服務登錄檔快取記憶體446中列舉之服務可過期(例如,在一時間週期之後若未被再新則被自快取記憶體446移除)以幫助防止快取記憶體446儲存過時之資訊。
雖然圖4C展示服務登錄檔440之例示性功能組件,但在其他實施方案中,服務登錄檔440相比圖4C中所繪示之功能組件可包含更少之功能組件、不同之功能組件、不同配置之功能組件或額外功能組件。另外,服務登錄檔440之組件中之任一者(或任何組件群組)可執行描述為由服務登錄檔440之一或多個其他功能組件執行之功能。
圖4D係可由服務登錄檔440儲存之一特定服務之一例示性屬性資料表460之一方塊圖。在一項實施例中,一服務之一執行個體(例如,每一執行個體)與一屬性資料表(諸如資料表460)相關聯。主機服務登錄檔資料庫DB 442可儲存在對應服務登錄檔440中登錄之每一服務之一屬性資料表。在一項實施例中,如上文所描述,儲存於任一個服務
登錄檔DB 442中之資訊可不同於儲存於其他服務登錄檔資料庫中之資訊。例示性屬性資料表460包含八個欄位:ID欄位462、介面欄位464、服務格式欄位468、輸送協定欄位470、CPU排名472、磁碟空間欄位474及RAM欄位476。
執行個體ID欄位462唯一地定義特定服務之執行個體。執行個體ID(可能連同節點ID一起)可唯一地將服務執行個體與網路中之(相同類型或不同類型的)任何其他服務識別開。在一項實施例中,執行個體ID欄位462係一整數。在資料表460中,作為一實例,執行個體ID係6529。
介面欄位464識別服務之介面之名稱。在此情況中,介面欄位464亦可藉由介面之類型來識別服務之類型。舉例而言,資料表460將介面識別為「儲存服務」。服務格式欄位468識別由服務之執行個體使用之格式。作為一實例,資料表460將服務格式識別為「JSON」。輸送協定欄位470識別由服務之執行個體使用之協定。作為一實例,資料表460將服務格式識別為「節點協定」。
CPU排名欄位472識別與服務執行個體相關聯之CPU之效能。在一項實施例中,使用一標度(例如,1至100)。資料表460在CPU排名欄位742中將服務之CPU排名識別為20/100。RAM欄位476識別可用於服務之隨機存取記憶體之量。資料表460在欄位476中將可用RAM識別為2GB。
雖然圖4D展示屬性資料表460之例示性組件,但在其他實施方案中,屬性資料表460相比圖4D中所繪示之組件可包含更少之組件、不同之組件、不同配置之組件或額外組件。
圖5A係圖解說明覆疊網路層320之功能組件之一方塊圖。如圖5A中所展示,覆疊網路層320可包含一節點管理器510、一通信管理器520及一多點傳送管理器530。
節點管理器510可將諸如一節點ID等節點資訊提供至覆疊網路中之其他節點。此外,節點管理器510可維持覆疊網路中之節點之一清單。節點管理器510可執行節點探索以識別新增至覆疊網路之新節點及/或重新探索已重新加入覆疊網路之丟失節點。節點管理器510亦可判定網路之拓撲,如下文所描述(例如,哪些節點最接近其他節點)。
通信管理器520可使得節點能夠彼此通信。通信管理器520可實施用以遍歷覆疊網路之樹之一機制。可結合服務登錄檔之搜尋查詢或在與另一節點之一直接通信方法不可用時執行樹遍歷。此外,通信管理器520可實施可使得覆疊網路之特定節點能夠直接通信而不必遍歷覆疊網路之樹之一直接通信方法。
多點傳送管理器530可實施一多點傳送機制。該多點傳送機制可用於將一訊息發送至一多點傳送群組之成員(例如,所有成員)。此外,該多點傳送機制可用於實施一訂用-通知訊息接發型式。因此,與一特定服務執行個體相關聯之一事件可用於觸發發送至已向該特定服務執行個體訂用訊息之節點之一訊息。多點傳送管理器530可包含一應用程式層多點傳送管理器或來自下部OSI層之一多點傳送管理器。
雖然圖5A展示覆疊網路層320之例示性功能組件,但在其他實施方案中,覆疊網路層320相比圖5A中所繪示之功能組件可包含更少之功能組件、不同之功能組件、不同配置之功能組件或額外功能組件。另外,覆疊網路層320之組件中之任一者(或任何組件群組)可執行描述為由覆疊網路層320之一或多個其他功能組件執行之功能。
圖5B係一覆疊網路540之一例示性拓撲之一方塊圖。如圖5B之實例中所展示,覆疊網路540包含節點N1至N7。節點N1及N2處於多點傳送群組560-1中。節點N1包含服務端點S1及S3以及用戶端端點C1。節點N3係節點N1及N2之父節點。節點N3包含一服務端點S7及一用戶
端端點C3。
節點N6及N7處於多點傳送群組560-2中且節點N7包含用戶端端點C2以及服務端點S5及S6。節點N5係節點N6及N7之父節點且包含服務端點S9。節點N3及N5處於多點傳送群組560-3中。節點N4係節點N3及N5之父節點且係覆疊網路540之根節點。此外,節點N4處於多點傳送群組560-4中且包含服務端點S8。雖然網路540之拓撲中之父節點具有兩個子節點,但在其他實施方案中,父節點可具有兩個以上子節點。
假設每一服務端點與一服務登錄檔440相關聯,則一搜尋查詢可如下遍歷覆蓋功能網路540。假設節點N3中之服務端點S7執行一搜尋查詢以識別服務端點S1及服務端點S5中所包含之一特定服務(亦即,對於此,S1及S5係一匹配)。服務端點S7可將搜尋查詢發送至其本機服務登錄檔,此可導致在搜尋查詢中不存在匹配。本機服務登錄檔可接著識別覆疊網路中之毗鄰服務登錄檔,該等毗鄰服務登錄檔可包含節點N1中之一服務登錄檔及節點N4中之一服務登錄檔(節點N2可不包含一服務登錄檔,此乃因不存在與節點N2相關聯之服務端點)。節點N1中之服務登錄檔可傳回識別服務端點S1之一命中。節點N4中之服務登錄檔可不傳回命中且可將搜尋查詢轉發至其毗鄰服務登錄檔,在此情況中,該等毗鄰服務登錄檔包含節點N3及N5中之服務登錄檔。然而,由於節點N3中之服務登錄檔已處理該搜尋,因此可將搜尋查詢僅發送至節點N5中之服務登錄檔。節點N5處之服務登錄檔可未提供命中且可將搜尋查詢轉發至節點N7處之一服務登錄檔。節點N7可將服務端點S5識別為一命中且可將搜尋查詢之結果傳回至節點N4,且節點N4可將搜尋結果轉發至節點N3中之服務端點S7。
服務端點S7可接著選擇與節點N1處之服務端點S1或節點N7處之服務端點S5通信。在某些實施方案中,服務端點S7可經由節點N4及
N5將一訊息發送至服務端點S5。在其他實施方案中,服務端點S7可藉由與節點N7直接通信而將一訊息發送至服務端點S5。
作為另一實例,服務端點S7可僅需要對搜尋查詢之第一匹配。節點可以一優先權次序將搜尋查詢轉發至其他節點,該優先權次序將在沿著樹進一步向下之處之節點設定優先權。因此,節點N3將在將搜尋查詢轉發至節點N4之前將搜尋查詢轉發至節點N1及N2,此乃因節點N1及N2在沿著樹進一步向下之處(亦即,係節點N3之子代),而節點N4在沿著樹進一步向上之處(亦即,係節點N3之一父代)。由於節點N1識別對搜尋查詢之一匹配,且服務端點S7僅需要一個匹配,因此搜尋可在搜尋查詢被發送至節點N4之前終止。
圖6係圖解說明一服務管理器600之功能組件之一方塊圖。服務管理器600可經組態以管理一或多個能力。如圖6中所展示,服務管理器600可包含一訂用產生器610、一部署管理器620及警示產生器630且與能力資料庫(DB)640相關聯。
訂用產生器610可產生對與一能力相關聯之服務之訂用請求。此外,訂用產生器610可自服務登錄檔440接收訂用通知且可基於所接收訂用通知而更新能力DB 640。部署管理器620可起始對一或多個服務之部署。舉例而言,若訂用產生器610接收到指示與由服務管理器600管理之一能力相關聯之一服務可用於部署在一節點處之一訂用通知,則部署管理器620可藉由指示該節點處之一部署服務(例如,一套件組合主機)部署該服務而起始在該節點處對該服務之部署。
警示產生器630可為一管理員產生一警示。舉例而言,若訂用產生器610接收到實現一能力所需之一特定服務不可用於部署在系統中之一指示,則警示產生器630可產生一警示且可將該警示發送至管理裝置150。
能力DB 640可儲存與由服務管理器600管理之能力有關之資訊。
下文參考圖7B來描述可儲存於能力DB 640中之例示性資訊。
作為一實例,服務管理器600可對應於用於將一視訊檔案或一視訊流自一種編碼格式轉換為另一編碼格式之一轉碼能力之一服務管理器。一轉碼能力可需要用於每一特定轉換類型之一轉碼服務(例如,一動畫專家群4(MPEG-4)至高效視訊編碼(HVEC)轉碼服務、一MPEG-4至MPEG-2轉碼服務等等)。
作為另一實例,服務管理器600可對應於用於一人員計數能力之一服務管理器。一人員計數能力可計數在一特定時間週期期間通過一特定位置之人員之數目。一人員計數能力可需要一組服務,其包含用於特定位置之一視訊流擷取服務、儲存一所擷取視訊流之一儲存服務、處理一所儲存視訊流以提取特徵之一特徵偵測服務、處理所提取特徵以識別所儲存視訊流之影像中之人員之一人員偵測服務及產生一使用者介面以報告在該時間週期期間處於特定位置之所計數人員之數目之一人員計數報告服務。
作為又一實例,服務管理器600可對應於用於將來自一特定位置之一視訊信號串流傳輸至一特定作業系統之一儲存位置之一服務管理器。儲存能力可需要用以擷取特定位置之一視訊之一第一服務、用以將所擷取視訊信號串流傳輸至一儲存裝置之一第二服務及用以將所擷取視訊信號儲存於使用特定作業系統之一裝置中之一第三服務。
雖然圖6展示服務管理器600之例示性功能組件,但在其他實施方案中,服務管理器600相比圖6中所繪示之功能組件可包含更少之功能組件、不同之功能組件、不同配置之功能組件或額外功能組件。另外,服務管理器600之組件中之任一者(或任何組件群組)可執行描述為由服務管理器600之一或多個其他功能組件執行之功能。
圖7A係圖解說明可儲存於服務登錄檔440中之組件之一方塊圖。如圖7A中所展示,服務登錄檔440可包含一或多個服務項目701。每
一服務項目701可儲存與由和服務登錄檔440相關聯之服務主機裝載之一特定服務有關之資訊。服務項目701可包含一服務欄位710、節點欄位712、屬性欄位714、部署欄位716及訂用欄位718。
服務欄位710可識別與服務項目相關聯之一特定服務。舉例而言,服務欄位710可識別與特定服務相關聯之一服務介面。節點欄位712可識別與特定服務相關聯之一特定節點(例如,裝置130)。在某些實施方案中,一第一節點可維持用於一第二節點之一服務登錄檔且可在該服務登錄檔中識別與第二節點相關聯之服務。屬性欄位714可儲存識別與特定服務相關聯之屬性之資訊。舉例而言,屬性欄位714可包含識別以下各項之資訊:與服務相關聯之一位置、與服務相關聯之一作業系統、與服務相關聯之一處理負載、與服務相關聯之一頻寬容量、與服務相關聯之一記憶體容量、與服務相關聯之一儲存容量、與服務相關聯之一子網路及/或域、與服務相關聯之一安全等級、與服務相關聯之一編解碼器類型,及/或另一類型之屬性。在某些實施例中,屬性欄位714可包含屬性資料表460。
部署欄位716可包含識別是否部署服務或服務是否可用於部署之資訊。訂用欄位718可包含識別與服務相關聯之訂用之資訊。一服務可與一或多個訂用相關聯。舉例而言,訂用資訊可識別已訂用關於對服務之改變之通知之一特定服務管理器600(例如,基於一節點ID)。因此,若服務被部署、新增、移除、變得不可用,若服務之一屬性改變及/或若偵測到另一類型之改變,則可將一通知發送至服務管理器600。
雖然圖7A展示服務登錄檔440之例示性組件,但在其他實施方案中,服務登錄檔440相比圖7A中所繪示之組件可包含更少之組件、不同之組件、不同配置之組件或額外組件。
圖7B係圖解說明可儲存於能力DB 640中之組件之一方塊圖。能
力DB 640可儲存一或多個能力記錄751。每一能力記錄751可儲存與由服務管理器600管理之一特定能力有關之資訊。每一能力記錄751可包含一或多個服務項目761。每一服務項目761可儲存與和特定能力相關聯之一特定服務有關之資訊。服務項目761可包含一服務欄位770、一要求欄位772、一可用性欄位774、一節點欄位776及一屬性欄位778。
服務欄位770可藉由識別(舉例而言)用於特定服務之服務介面來識別特定服務。要求欄位772可儲存識別與特定服務相關聯之一或多個要求之資訊。作為一實例,能力可需要服務之特定數目個經部署執行個體。作為另一實例,能力可要求特定數目個執行個體可用於部署。作為又一實例,能力可要求服務包含一特定屬性(例如,一特定儲存容量、一特定頻寬容量、一特定位置、一特定OS等等)。
可用性欄位774可包含識別特定服務之可用性之資訊。舉例而言,可用性欄位774可識別服務是否被部署或可用於部署。此外,在某些實施方案中,可用性欄位774可識別經部署執行個體之數目或可用於部署之執行個體之數目。節點欄位776可儲存識別在其處特定服務被部署或可用於部署之一或多個節點之資訊。對於由服務管理器600接收到之每一訂用通知,服務管理器600可將一節點新增至節點欄位776(或自其移除一節點)。
屬性欄位778可儲存特定服務之與和能力相關聯之經部署執行個體或可用於部署之執行個體之屬性有關之資訊。服務管理器600可監控儲存於屬性欄位778中之資訊以判定該等屬性是否滿足對能力之要求。若該等屬性不滿足對能力之要求,則服務管理器600可嘗試識別確實滿足要求之另一經部署服務執行個體或可用於部署之一服務執行個體。
雖然圖7B展示能力DB 640之例示性組件,但在其他實施方案
中,能力DB 640相比圖7B中所繪示之組件可包含更少之組件、不同之組件、不同配置之組件或額外組件。
圖8係根據本文中所描述之一實施方案用於管理一能力之一第一處理程序之一流程圖。在一項實施方案中,圖8之處理程序可由裝置130中之服務管理器600執行。在其他實施方案中,圖8之處理程序之某些或全部可由另一裝置或與服務管理器600分離及/或包含服務管理器600之裝置之一群組執行。
圖8之處理程序可包含接收能力規範(方框810)。舉例而言,一管理員可使用管理裝置150來產生一新能力之一能力記錄751且可規定實現該能力所需之一或多個服務。此外,管理員可規定對實現能力所需之每一服務之一或多個要求。
可選擇與能力相關聯之一服務(方框820),且可將對所選擇服務之一訂用請求發送至一服務登錄檔(方框830)。舉例而言,服務管理器600之訂用產生器610可選擇能力記錄751中所列舉之服務中之一者且可產生對該服務(例如,對服務介面)之一訂用請求,且可將該訂用請求發送至最近服務登錄檔440。在某些實施方案中,服務管理器600及服務登錄檔440可在覆疊網路中之同一節點(例如,同一裝置130)上運行,且因此服務管理器600可將訂用請求發送至本機服務登錄檔440。在其他實施方案中,服務登錄檔440可位於覆疊網路之一不同節點中且可經由覆疊網路來發送訂用請求。
在某些實施方案中,訂用請求可規定對所請求服務之一或多個屬性要求,且若一服務之屬性匹配訂用請求中之要求,則可將該服務識別為對訂用請求之一匹配。在其他實施方案中,訂用請求可識別一所請求服務(例如,服務介面)且可不包含任何服務屬性要求。在此類實施方案中,可在不考量服務之屬性是否匹配要求之情況下將服務識別為一匹配,且可由服務管理器600基於一所接收訂用通知中所包含
之資訊而做出關於服務屬性是否滿足要求之一判定。
可自服務登錄檔接收一訂用通知(方框840),且可基於所接收訂用通知而做出關於服務之部署可用性之一判定(方框850)。舉例而言,服務管理器600可自服務登錄檔440接收一訂用通知。該訂用通知可包含指示服務是被部署、可用於部署還是不可用於系統中之資訊。
若判定服務被部署(方框850-服務被部署),則可識別該服務被部署在其處之一節點(方框860),且可使所識別節點與能力相關聯(方框862)。舉例而言,服務管理器600可自所接收訂用通知檢索識別一節點之資訊及/或可檢索與服務之屬性有關之資訊。若所檢索屬性匹配要求,則服務管理器600可在能力記錄751中使所識別節點與該服務相關聯。
若判定服務可用於部署(方框850-服務可用於部署),則可識別服務可用於部署在其處之一節點(方框870),可在所識別節點處起始對服務之部署(方框872),且可使所識別節點與能力相關聯(方框874)。舉例而言,服務管理器600可自所接收訂用通知檢索識別一節點之資訊及/或可檢索與服務之屬性有關之資訊。若所檢索屬性匹配要求,則服務管理器600可藉由將部署服務之一指令發送至所識別節點來起始對服務之部署。舉例而言,服務管理器600可指示所識別節點處之一套件組合主機來部署服務。
若判定服務係不可用的(方框850-服務不可用),則可產生一管理員警示(方框880)。舉例而言,服務管理器600之警示產生器630可產生指示由於一特定服務不可用而無法實現能力之一警示且可將該警示發送至管理裝置150。可針對能力記錄751中所列舉之每一服務而重複圖8之處理程序。
圖9係根據本文中所描述之一實施方案用於管理一能力之一第二處理程序之一流程圖。在一項實施方案中,圖9之處理程序可由裝置
130中之服務管理器600執行。在其他實施方案中,圖9之處理程序之某些或全部可由另一裝置或與服務管理器600分離及/或包含服務管理器600之裝置之一群組執行。
圖9之處理程序可包含接收一訂用通知(方框910)。舉例而言,服務管理器600可自服務登錄檔440接收與和由服務管理器600管理之一能力相關聯之一服務有關之一訂用通知。可做出該服務在一節點處不再可用或該服務不再滿足能力要求之一判定(方框920)。作為一實例,服務管理器600可判定訂用通知指示服務不再被部署或可用於部署。作為另一實例,服務管理器600可自所接收訂用通知檢索與服務屬性有關之資訊且可判定服務屬性不再滿足能力記錄751中所規定之服務要求。
可識別另一經部署服務或另一可用於部署之服務(方框930)。由於服務管理器600曾發出對服務之一訂用請求,因此服務管理器600可能已自所有服務登錄檔接收到包含匹配訂用之規範之一經部署服務執行個體或可用於部署之一服務執行個體之一記錄之訂用通知。每次服務管理器600接收到對與一能力相關聯之一服務之一訂用通知時,服務管理器600可將來自訂用通知之資訊儲存於能力DB 640中(例如,可用性欄位774、節點欄位776及/或屬性欄位778中)。服務管理器600可存取能力DB 640以識別另一經部署服務執行個體或可用於部署之一服務執行個體。
在其中服務管理器600不使用訂用來管理能力之其他實施方案中或在其中服務管理器600尚未發出一訂用請求之情形中,可藉由將一搜尋查詢發送至服務登錄檔440而識別另一經部署服務執行個體或可用於部署之一服務執行個體。
可識別與一經部署服務或可用於部署之服務相關聯之一節點(方框940),且可使所識別節點與能力相關聯(方框950)。舉例而言,服務
管理器600可存取節點欄位776以識別與所識別之經部署服務或可用於部署之服務相關聯之一節點。服務管理器600可使所識別節點與服務相關聯,如上文關於圖8所描述。
圖10係根據本文中所描述之一實施方案用於管理一訂用請求之一處理程序之一流程圖。在一項實施方案中,圖10之處理程序可由裝置130中之服務登錄檔440執行。在其他實施方案中,圖10之處理程序之某些或全部可由另一裝置或與服務登錄檔440分離及/或包含服務登錄檔440之裝置之一群組執行。
圖10之處理程序可包含自一服務管理器接收對一服務之一訂用請求(方框1010)且可做出關於該服務是否在服務登錄檔中之一判定(方框1020)。舉例而言,服務登錄檔440可自服務管理器600接收訂用一特定服務之一訂用請求。服務登錄檔440可搜尋服務記錄701以判定服務登錄檔440中之一服務是否匹配訂用請求。
若該服務在服務登錄檔中(方框1020-是),則可將一訂用通知發送至服務管理器(方框1030)。舉例而言,服務登錄檔440可回應於接收到訂用請求及偵測服務記錄701而將一訂用通知發送至服務管理器600、基於儲存於服務記錄701中之資訊而告知服務管理器600該服務在一特定節點處係可用的。處理可繼續至方框1040。若該服務不在服務登錄檔中(方框1020-否),則處理亦可繼續至方框1040。
可將訂用請求記錄於服務登錄檔中(方框1040)。舉例而言,若服務登錄檔中包含該服務,則服務登錄檔440可藉由將來自所接收訂用請求之資訊包含於訂用欄位718中而更新服務記錄701。若服務登錄檔中不包含該服務,則服務登錄檔440可需要在稍後新增服務之情況下亦記錄訂用請求(以使得可向服務管理器600告知該服務已被新增)。在此一情況中,服務登錄檔440可為該服務創建包含來自訂用請求之資訊之一非現用服務記錄701(例如,僅在服務欄位710及訂用欄位
718中包含資訊之一服務記錄701,連同服務記錄701係非現用之一指示)。
可將訂用請求轉發至毗鄰服務登錄檔(方框1050)。舉例而言,服務登錄檔440可基於覆疊網路之拓撲而識別毗鄰服務登錄檔且可將訂用請求轉發至先前尚未處理該請求之所有毗鄰服務登錄檔。
在一稍後時間,可偵測服務之一改變(方框1060),且可基於所偵測改變而將一訂用通知發送至服務管理器(方框1070)。舉例而言,服務登錄檔440可回應於與服務記錄701相關聯之任何所偵測改變而將一訂用通知發送至服務管理器600。
圖11圖解說明其中實現一能力之一例示性覆疊網路1100。假設S3包含一服務管理器1110,其具有實現用於將來自一特定位置之一視訊信號串流傳輸至一Windows OS儲存服務之一能力之任務。該能力需要用以擷取一特定位置之一視訊之一第一視訊服務、用以將視訊儲存於一Windows OS伺服器裝置處之一第二儲存服務及用以將來自攝影機之視訊信號以一特定位元速率串流傳輸至儲存位置之一第三服務。
服務管理器1110可產生對實現該能力所需之三個服務中之每一者之一訂用請求。節點N1可將攝影機1120識別為滿足對用以擷取該位置處之視訊之第一視訊服務之訂用請求以及滿足以特定位元速率串流傳輸視訊信號之訂用請求。攝影機1130可被識別為滿足對用以擷取該位置處之視訊之第一視訊服務之訂用請求,但可能不包含用以以特定位元速率串流傳輸視訊之一服務。因此,服務管理器1110可選擇攝影機1120且可使攝影機1120與該能力相關聯。此外,節點N5可將Window OS儲存服務1150識別為匹配該能力之儲存服務要求。
在一稍後時間,攝影機1120之串流傳輸服務可經歷低於能力所需之位元速率之一位元速率,且節點N1處之服務登錄檔可將一訂用
通知發送至節點N3處之服務管理器1110。服務管理器1110可發出另一訂用請求,且節點N2可以指示攝影機1140滿足以特定位元速率串流傳輸視訊信號之訂用請求之一訂用通知做出回應。因此,服務管理器1110可使攝影機1140與該能力相關聯。因此,使用該能力之任何用戶端皆可經歷視訊信號自攝影機1120至攝影機1140之一轉變。
在前述說明書中,已參考隨附圖式描述了各種較佳實施例。然而,將顯而易見,可對本發明做出各種修改及改變且可實施額外實施例,此並不背離如隨附申請專利範圍中所陳述之本發明之較寬廣範疇。因此,應將本說明書及圖式視為具有一說明性意義而非限制性意義。
舉例而言,儘管已關於圖8至10描述了若干系列之方框,但在其他實施方案中可修改該等方框之次序。此外,可並行地執行非相依方框。
將明瞭,在圖中所圖解說明之實施方案中,可以許多不同形式之軟體、韌體及硬體來實施如上文所描述之系統及/或方法。用於實施此等系統及方法之實際軟體程式碼或專門化控制硬體並不限於該等實施例。因此,在不參考特定軟體程式碼之情況下來描述該等系統及方法之操作及行為--應理解,軟體及控制硬體可經設計以基於本文中之描述而實施該等系統及方法。
此外,可將上文所描述之特定部分實施為執行一或多個功能之一組件。如本文中所使用,一組件可包含硬體(諸如一處理器、一ASIC或一FPGA)或硬體與軟體之一組合(例如,執行軟體之一處理器)。如本文中所使用之字詞「例示性」意指「作為一圖解實例」。
應強調,當在本說明書中使用時術語「包括(comprise/comprising)」應視為規定所陳述特徵、整數、步驟或組件之存在,但並不排除一或多個其他特徵、整數、步驟、組件或其群組
之存在或新增。
本申請案中所使用之元件、動作或指令不應理解為對該等實施例至關重要或必不可少,除非明確如此描述。而且,如本文中所使用,冠詞「一」意欲包含一或多個物項。此外,片語「基於」意欲意指「至少部分地基於」,除非另有明確陳述。
100‧‧‧例示性環境/環境
110‧‧‧網路
120-A‧‧‧子網路
120-N‧‧‧子網路
130-A-A至130-A-J‧‧‧裝置
130-N-K‧‧‧裝置
140‧‧‧服務導向架構系統服務匯流排
150‧‧‧管理裝置
Claims (14)
- 一種系統,其包括:一第一邏輯,其經組態以維持一第一服務登錄檔,其中該第一服務登錄檔包含在該系統之一第一一或多個節點中可用之服務之一第一清單;一第二邏輯,其經組態以維持一第二服務登錄檔,其中該第二服務登錄檔包含在該系統之一第二一或多個節點中可用之服務之一第二清單,且其中該第二服務登錄檔連接至該第一服務登錄檔;一第三邏輯,其實施一服務管理器,該服務管理器經組態以:管理該系統之一能力,其中透過一組一或多個服務而實現該能力;將一訂用請求發送至該第一服務登錄檔,其中該訂用請求包含將涉及該組一或多個服務中之至少一個服務之改變告知該服務管理器之一指令;連接至該第一服務登錄檔;自該第一服務登錄檔接收指示該第二服務登錄檔中所包含之服務之該第二清單之一改變的一通知;及回應於接收到該通知而起始對用於該能力之一新服務之部署或在該系統中定位該新服務之一經部署執行個體;其中該第一服務登錄檔進一步經組態以:記錄該訂用請求;及將該訂用請求轉發至該第二服務登錄檔;且其中該第二服務登錄檔進一步經組態以: 基於該訂用請求而發送該通知。
- 如請求項1之系統,其中該通知包含以下各項中之至少一者:已自該第二服務登錄檔移除一特定服務之一指示;已將該特定服務新增至該第二服務登錄檔之一指示;或與該特定服務相關聯之一屬性已改變之一指示。
- 如請求項1之系統,其中該服務管理器進一步經組態以:定位在該系統中可用之該新服務之該經部署執行個體;及回應於在該系統中定位該新服務之該經部署執行個體而使該所定位之經部署執行個體與該能力相關聯。
- 如請求項1之系統,其中該服務管理器進一步經組態以:判定在該系統中該新服務之經部署執行個體係不可用的;及回應於判定在該系統中該新服務之經部署執行個體係不可用的而起始對用於該能力之該新服務之部署。
- 如請求項1之系統,其中該服務管理器進一步經組態以:自一用戶端接收對該能力之一請求;判定該組一或多個服務中透過其實現該能力之一特定者未被部署在該系統中;基於自該第一服務登錄檔或該第二服務登錄檔中之至少一者獲得之資訊而選擇一部署節點;及基於該所接收請求而指示該所選擇部署節點部署該組一或多個服務中之該特定者。
- 一種方法,其包括:由一電腦裝置接收與實現一系統之一能力相關聯之服務之一清單;由該電腦裝置將對該服務清單中之一服務之一訂用請求發送至一第一服務登錄檔;其中該訂用請求包含將涉及該服務之改 變告知該電腦裝置之一指令;由該第一服務登錄檔將該訂用請求轉發至一第二服務登錄檔;由該電腦裝置經由該第一服務登錄檔自該第二服務登錄檔接收與該服務相關聯之一第一服務通知,其中該第一服務通知包含該服務可用於部署在與該第二服務登錄檔相關聯之一第一節點處之一指示或該服務被部署於該系統中之一指示;及由該電腦裝置回應於接收到該第一服務通知而起始在該第一節點處對該服務之部署或在該系統中定位該服務之一經部署執行個體。
- 如請求項6之方法,其中該第一服務通知包含該服務可用於部署在與該第二服務登錄檔相關聯之一第一節點處之該指示,且其中該方法進一步包括:回應於接收到該第一服務通知而起始在該第一節點處對該服務之該部署。
- 如請求項6之方法,其中該第一服務通知包含該服務被部署於該系統中之該指示,且其中該方法進一步包括:回應於接收到該第一服務通知而在該系統中定位該服務之該經部署執行個體。
- 如請求項6之方法,其進一步包括:經由該第一服務登錄檔自該第二服務登錄檔接收與該服務相關聯之一第二服務通知,其中該第二服務通知包含該服務在與該第二服務登錄檔相關聯之該第一節點處不再可用之一指示;識別該服務可用於部署在其處之一第二節點;及回應於識別出該第二節點而起始在該第二節點處對該服務之部署。
- 如請求項6之方法,其進一步包括:經由該第一服務登錄檔自該第二服務登錄檔接收與該服務相關聯之一第二服務通知,其中該第二服務通知包含該服務不再可用於部署在與該第二服務登錄檔相關聯之該第一節點處之一指示;判定該服務不可用於部署在該系統中之任何其他節點處;及回應於判定該服務不可用於部署在該系統中之任何其他節點處而將一警示發送至一管理員。
- 如請求項6之方法,其進一步包括:自該系統中之一請求節點接收對一特定服務之一請求;判定該特定服務未被部署在該系統中;基於該第一服務登錄檔或該第二服務登錄檔中之至少一者而選擇一部署節點;及基於該所接收請求而在該所選擇部署節點中部署該特定服務。
- 一種由一系統中之一電腦裝置執行之方法,該方法包括:由該電腦裝置維持一第一服務登錄檔,其中該第一登錄檔包含在該系統之一第一一或多個節點中可用之服務之一第一清單;由該電腦裝置自一服務管理器接收一訂用請求,其中該訂用請求包含接收與一特定服務之改變有關之通知之一請求;由該電腦裝置將該訂用請求記錄於該第一服務登錄檔中;及由該電腦裝置將該訂用請求發送至一第二服務登錄檔,其中該第二服務登錄檔包含在該系統之一第二一或多個節點中可用之服務之一第二清單,其中該第二服務清單包含該特定服務,且其中該第二服務登錄檔連接至該第一服務登錄檔。
- 如請求項12之方法,其進一步包括:自該第二服務登錄檔接收一服務通知,其中該服務通知包含與該特定服務之一改變有關之資訊;及將該服務通知轉發至該服務管理器。
- 如請求項12之方法,其進一步包括:判定該訂用請求與該第一服務清單中所列舉之一服務相關聯;使該服務與該訂用請求相關聯;偵測該服務之一改變;及基於使該服務與該訂用請求相關聯,回應於偵測到該服務之該改變而將一通知發送至該服務管理器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/218,579 | 2014-03-18 | ||
US14/218,579 US9705995B2 (en) | 2014-03-18 | 2014-03-18 | Capability monitoring in a service oriented architecture |
EP14161495.8A EP2921955B1 (en) | 2014-03-18 | 2014-03-25 | Capability monitoring in a service oriented architecture |
??14161495.8 | 2014-03-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201543243A true TW201543243A (zh) | 2015-11-16 |
TWI631475B TWI631475B (zh) | 2018-08-01 |
Family
ID=50473028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104108360A TWI631475B (zh) | 2014-03-18 | 2015-03-16 | 用於能力監控之系統及方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9705995B2 (zh) |
EP (1) | EP2921955B1 (zh) |
JP (1) | JP6195860B2 (zh) |
KR (1) | KR101762237B1 (zh) |
CN (1) | CN104935454B (zh) |
TW (1) | TWI631475B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10430440B2 (en) | 2016-10-21 | 2019-10-01 | Fujitsu Limited | Apparatus program and method for data property recognition |
US10445427B2 (en) | 2016-10-21 | 2019-10-15 | Fujitsu Limited | Semantic parsing with knowledge-based editor for execution of operations |
US10776170B2 (en) | 2016-10-21 | 2020-09-15 | Fujitsu Limited | Software service execution apparatus, system, and method |
US10776107B2 (en) | 2016-10-21 | 2020-09-15 | Fujitsu Limited | Microservice-based data processing apparatus, method, and program |
US10783193B2 (en) | 2016-10-21 | 2020-09-22 | Fujitsu Limited | Program, method, and system for execution of software services |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10097431B1 (en) | 2014-06-06 | 2018-10-09 | Amazon Technologies, Inc. | Routing to tenant services utilizing a service directory |
US10250455B1 (en) * | 2014-06-06 | 2019-04-02 | Amazon Technologies, Inc. | Deployment and management of tenant services |
CN105791073B (zh) * | 2014-12-23 | 2019-07-19 | 华为技术有限公司 | 一种虚拟化网络中业务部署的方法和装置 |
US10069941B2 (en) * | 2015-04-28 | 2018-09-04 | Microsoft Technology Licensing, Llc | Scalable event-based notifications |
EP3188015A1 (en) * | 2015-10-05 | 2017-07-05 | Axis AB | Requesting and receiving a media stream within a networked system |
CN105407161B (zh) * | 2015-11-30 | 2019-06-14 | 北京奇艺世纪科技有限公司 | 应用服务管理方法、***及应用服务发现方法、*** |
US10539966B2 (en) | 2016-09-28 | 2020-01-21 | Denso Corporation | Service cooperation system for vehicle |
US10454836B2 (en) * | 2016-11-01 | 2019-10-22 | At&T Intellectual Property I, L.P. | Method and apparatus for dynamically adapting a software defined network |
US11057496B2 (en) | 2018-09-05 | 2021-07-06 | Nutanix, Inc. | Distributed computing systems having capability services |
CN110049089A (zh) * | 2019-01-09 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 一种服务注册中心 |
EP3712768B1 (en) | 2019-03-18 | 2024-05-01 | Sony Group Corporation | Management of services in an edge computing system |
CN113132431B (zh) * | 2019-12-31 | 2023-01-31 | 网联清算有限公司 | 服务监控方法、服务监控装置、电子设备及介质 |
US11677810B2 (en) * | 2021-07-23 | 2023-06-13 | International Business Machines Corporation | Configuration tool for deploying an application on a server |
US11907153B2 (en) | 2022-01-07 | 2024-02-20 | Dell Products L.P. | System and method for distributed subscription management |
US11947433B2 (en) | 2022-01-07 | 2024-04-02 | Dell Products L.P. | System and method for subscription based solution management |
US11829740B2 (en) * | 2022-01-07 | 2023-11-28 | Dell Products L.P. | System and method for deployment level management of subscription based solutions |
US11789718B2 (en) | 2022-01-07 | 2023-10-17 | Dell Products L.P. | System and method for subscription based solution modification implementation |
US11888690B2 (en) | 2022-01-07 | 2024-01-30 | Dell Products L.P. | System and method for subscription limitation enforcement in distributed system |
US11861577B2 (en) | 2022-01-07 | 2024-01-02 | Dell Products L.P. | System and method for distributed enforcement of configuration limitations |
US11588909B1 (en) * | 2022-01-07 | 2023-02-21 | Dell Products L.P. | System and method for subscription based solution data compatibility |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185611B1 (en) | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US6604140B1 (en) | 1999-03-31 | 2003-08-05 | International Business Machines Corporation | Service framework for computing devices |
US6625274B1 (en) * | 1999-10-12 | 2003-09-23 | Broadsoft, Inc. | Computer system and method for providing services to users of communication systems using service entities, interface entities, and a service bus |
CA2451178C (en) * | 2001-06-18 | 2009-11-03 | Research In Motion Limited | System and method for managing message attachment and information processing from a mobile data communication device |
US7765297B2 (en) * | 2001-11-13 | 2010-07-27 | Qualcomm Incorporated | System for providing online service reports |
US7822860B2 (en) * | 2001-12-11 | 2010-10-26 | International Business Machines Corporation | Method and apparatus for dynamic reconfiguration of web services infrastructure |
US7151966B1 (en) * | 2002-06-04 | 2006-12-19 | Rockwell Automation Technologies, Inc. | System and methodology providing open interface and distributed processing in an industrial controller environment |
US20040128345A1 (en) * | 2002-12-27 | 2004-07-01 | Robinson Scott H. | Dynamic service registry |
US7890543B2 (en) * | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7181521B2 (en) * | 2003-03-21 | 2007-02-20 | Intel Corporation | Method and system for selecting a local registry master from among networked mobile devices based at least in part on abilities of the mobile devices |
EP1494394A1 (en) * | 2003-06-30 | 2005-01-05 | Sony International (Europe) GmbH | Distance-aware service mechanism for determining the availability of remote services in wireless personal area networks |
TW200532480A (en) * | 2003-12-19 | 2005-10-01 | Ibm | Dynamic late binding of third party on demand services in an on-demand infrastructure |
US7711780B1 (en) * | 2004-07-20 | 2010-05-04 | Oracle America, Inc. | Method for distributed end-to-end dynamic horizontal scalability |
WO2006043320A1 (ja) * | 2004-10-20 | 2006-04-27 | Fujitsu Limited | アプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置 |
US9084178B2 (en) * | 2005-02-08 | 2015-07-14 | Nokia Technologies Oy | System and method for services access |
US7483438B2 (en) * | 2005-04-14 | 2009-01-27 | Alcatel Lucent | Systems and methods for managing network services between private networks |
US20060235973A1 (en) * | 2005-04-14 | 2006-10-19 | Alcatel | Network services infrastructure systems and methods |
US20060265508A1 (en) * | 2005-05-02 | 2006-11-23 | Angel Franklin J | System for administering a multiplicity of namespaces containing state information and services |
US8140624B2 (en) * | 2005-12-01 | 2012-03-20 | Computer Associates Think, Inc. | Automated deployment and configuration of applications in an autonomically controlled distributed computing system |
CN100558038C (zh) * | 2006-03-31 | 2009-11-04 | 国际商业机器公司 | 服务注册器以及相关***和方法 |
CN100534047C (zh) * | 2006-04-28 | 2009-08-26 | 国际商业机器公司 | 对Web服务资源的基于属性的索引和/或查询方法及*** |
CN101090371B (zh) * | 2006-06-14 | 2011-02-02 | 阿里巴巴集团控股有限公司 | 一种即时通讯***中用户信息管理的方法及*** |
US7496893B2 (en) * | 2006-06-15 | 2009-02-24 | International Business Machines Corporation | Method for no-demand composition and teardown of service infrastructure |
US7519711B2 (en) * | 2006-06-15 | 2009-04-14 | International Business Machines Corporation | Method for middleware assisted system integration in a federated environment |
ATE471025T1 (de) * | 2006-09-13 | 2010-06-15 | Alcatel Lucent | Verkettung von web services |
US20080091807A1 (en) * | 2006-10-13 | 2008-04-17 | Lyle Strub | Network service usage management systems and methods |
US8644820B2 (en) * | 2006-11-13 | 2014-02-04 | Samsung Electronics Co., Ltd. | Apparatus and method for acquiring service information in wireless network |
EP2009548A1 (en) * | 2007-06-26 | 2008-12-31 | Nxp B.V. | Signal processing architecture and method |
US20090077251A1 (en) * | 2007-09-13 | 2009-03-19 | International Business Machines Corporation | Protocol for enabling dynamic and hierarchical interconnection of autonomous federations of enterprise service buses |
US20090089078A1 (en) * | 2007-09-28 | 2009-04-02 | Great-Circle Technologies, Inc. | Bundling of automated work flow |
US8473325B2 (en) * | 2007-10-12 | 2013-06-25 | Pie Digital, Inc. | System and method for automatic configuration and management of home network devices using a hierarchical index model |
US7987163B2 (en) * | 2008-02-12 | 2011-07-26 | Bae Systems Information And Electronic Systems Integration Inc. | Apparatus and method for dynamic web service discovery |
US9021083B2 (en) * | 2008-11-26 | 2015-04-28 | Red Hat, Inc. | Service oriented architecture with dynamic policy enforcement points |
US8448185B2 (en) * | 2009-03-23 | 2013-05-21 | Siemens Aktiengesellschaft | Method and system for dynamic discovery of services in a communication framework |
US20100332622A1 (en) | 2009-06-25 | 2010-12-30 | Sun Microsystems, Inc. | Distributed Resource and Service Management System and Method for Managing Distributed Resources and Services |
MY164485A (en) * | 2009-07-20 | 2017-12-29 | Mimos Berhad | A method and system for an intelligent framework of a service orientated architecture |
US8707171B2 (en) * | 2009-08-04 | 2014-04-22 | International Business Machines Corporation | Service registry policy editing user interface |
US9300739B2 (en) * | 2009-10-01 | 2016-03-29 | Lg Electronics Inc. | Method and device for sharing objects in service groups of CPNS enabler |
US8250185B2 (en) * | 2010-03-26 | 2012-08-21 | International Business Machines Corporation | Semantic matching of federation intents and services capabilities in a planning system for automatic service federation |
US8856800B2 (en) * | 2010-05-21 | 2014-10-07 | Red Hat, Inc. | Service-level enterprise service bus load balancing |
US8904396B2 (en) | 2010-07-27 | 2014-12-02 | Ca, Inc. | System and method of general service management |
CN102377796B (zh) | 2010-08-05 | 2015-06-10 | 中国人民解放军国防科学技术大学 | 基于OSGi的异构服务集成***及方法 |
US9483312B2 (en) * | 2010-08-16 | 2016-11-01 | International Business Machines Corporation | Locating service endpoints from a service registry |
EP2437467A3 (en) * | 2010-10-04 | 2012-06-06 | HTC Corporation | Method of handling zone based service procedure |
CN102063360A (zh) * | 2010-11-29 | 2011-05-18 | 深圳市五巨科技有限公司 | 一种远程服务器监控报警的方法和装置 |
US8965957B2 (en) * | 2010-12-15 | 2015-02-24 | Sap Se | Service delivery framework |
US20120209903A1 (en) * | 2011-02-14 | 2012-08-16 | General Electric Company | Method, system and computer program product for extensible service registry for service oriented architecture endpoints |
US9389922B2 (en) * | 2011-03-11 | 2016-07-12 | International Business Machines Corporation | Declarative service domain federation |
US8966039B1 (en) * | 2011-04-25 | 2015-02-24 | Sprint Communications Company L.P. | End-to-end communication service monitoring and reporting |
US8930493B2 (en) * | 2012-03-20 | 2015-01-06 | International Business Machines Corporation | Inter-domain replication of service information |
WO2013147780A1 (en) * | 2012-03-29 | 2013-10-03 | Hewlett-Packard Development Company, L.P. | A conceptual services implementation platform |
US9037678B2 (en) | 2012-05-14 | 2015-05-19 | Sap Se | Distribution of messages in system landscapes |
US9882787B2 (en) * | 2014-01-09 | 2018-01-30 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Service management in appliance-based solutions |
US9960964B2 (en) * | 2014-02-18 | 2018-05-01 | Cellos Software Ltd | System, method and apparatus to manage services in a network |
-
2014
- 2014-03-18 US US14/218,579 patent/US9705995B2/en active Active
- 2014-03-25 EP EP14161495.8A patent/EP2921955B1/en active Active
-
2015
- 2015-03-13 JP JP2015050955A patent/JP6195860B2/ja active Active
- 2015-03-16 TW TW104108360A patent/TWI631475B/zh active
- 2015-03-16 KR KR1020150036149A patent/KR101762237B1/ko active IP Right Grant
- 2015-03-16 CN CN201510114112.4A patent/CN104935454B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10430440B2 (en) | 2016-10-21 | 2019-10-01 | Fujitsu Limited | Apparatus program and method for data property recognition |
US10445427B2 (en) | 2016-10-21 | 2019-10-15 | Fujitsu Limited | Semantic parsing with knowledge-based editor for execution of operations |
US10776170B2 (en) | 2016-10-21 | 2020-09-15 | Fujitsu Limited | Software service execution apparatus, system, and method |
US10776107B2 (en) | 2016-10-21 | 2020-09-15 | Fujitsu Limited | Microservice-based data processing apparatus, method, and program |
US10783193B2 (en) | 2016-10-21 | 2020-09-22 | Fujitsu Limited | Program, method, and system for execution of software services |
Also Published As
Publication number | Publication date |
---|---|
EP2921955A1 (en) | 2015-09-23 |
EP2921955B1 (en) | 2017-08-16 |
JP6195860B2 (ja) | 2017-09-13 |
US9705995B2 (en) | 2017-07-11 |
JP2015187859A (ja) | 2015-10-29 |
KR20150108768A (ko) | 2015-09-30 |
KR101762237B1 (ko) | 2017-08-04 |
US20150271276A1 (en) | 2015-09-24 |
CN104935454A (zh) | 2015-09-23 |
TWI631475B (zh) | 2018-08-01 |
CN104935454B (zh) | 2019-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI631475B (zh) | 用於能力監控之系統及方法 | |
US9860325B2 (en) | Tunnel broker in a service oriented architecture | |
US20230319534A1 (en) | Cross-resource subscription for m2m service layer | |
US11218376B2 (en) | Algorithmic problem identification and resolution in fabric networks by software defined operations, administration, and maintenance | |
US8909758B2 (en) | Physical server discovery and correlation | |
CN110247784B (zh) | 确定网络拓扑结构的方法和装置 | |
CN106790758B (zh) | 一种访问nat网络内部的网络对象的方法及装置 | |
US9116775B2 (en) | Relationship-based dynamic firmware management system | |
JP5957111B2 (ja) | サービス指向アーキテクチャ(soa)ネットワークにおけるサービスの発見 | |
JP2018518862A (ja) | グローバル仮想ネットワーク(gvn)において仮想インタフェースとアドバンストスマートルーティングとを提供するためのシステム及び方法 | |
US20160100325A1 (en) | Wireless network monitoring device | |
US10764214B1 (en) | Error source identification in cut-through networks | |
KR20180034603A (ko) | 서비스 요소 호스트 선택 | |
US9225670B2 (en) | System and method for storage and retrieval of neighboring switch tokens | |
TW201719455A (zh) | 詮釋資料伺服器、網路裝置及自動資源管理方法 | |
US20140280804A1 (en) | Relationship driven dynamic workflow system | |
US11550050B2 (en) | Radar visualization of cloud native environments | |
CN113746794A (zh) | 账号的处理方法、装置、电子设备和计算机存储介质 |