將從引擎404、406和408接收的信息相比較。識別引擎402可以被配置為推斷出狀態信息,如在本文所描述的。識別引擎402可以被配置為返回網絡元件的狀態和/或可替代網絡路徑,以通過網絡提供服務。
[0039]服務引擎404可以表示被配置為基于質量請求來確定路徑信息的集合的硬件和編程的任何組合。服務引擎404可以將客戶信息的集合與服務信息的集合相關聯。客戶信息的集合可以是與客戶相關聯的任何適當的數據。例如,客戶信息的集合可以包括客戶名稱和向客戶提供的服務的列表。服務信息的集合可以是與服務相關聯的任何適當的數據。例如,服務信息的集合可以包括服務的狀態和服務的源。服務引擎404可以將服務信息的集合與通過路徑信息的集合可描述的網絡路徑或流相關聯。服務引擎404可以利用庫存引擎406來獲取或以另外方式確定路徑信息的集合。
[0040]庫存引擎406可以表示被配置為基于服務信息的集合將路徑信息的集合映射至配置信息的集合的硬件和編程的任何組合。庫存引擎406可以聯接至提供服務的網絡的庫存410。可以由庫存引擎406從庫存410獲取配置信息的集合。替換地,配置信息的集合可以通過對通過路徑信息的集合可識別的網絡元件的直接的請求或者對網絡元件的請求和對庫存410的請求的組合來獲取。
[0041]庫存引擎406可以基于服務信息的集合和時間值來獲取與網絡路徑相關聯的配置信息的集合。時間值和服務信息的集合可以允許庫存引擎406基于服務信息的集合將配置信息的集合與網絡路徑的網絡元件相關聯。
[0042]庫存引擎406可以被配置為基于計劃表、路徑改變和惡化通知中的至少一個來記錄路徑信息的集合和配置信息的集合。計劃表可以包括庫存引擎406可以存儲路徑信息的集合的指定時間段或時間間隔,以及在與該時間段或間隔相關聯的時間與服務相關聯的配置信息的集合。例如,庫存引擎406可以以5分鐘間隔添加和/或更新庫存。路徑改變可以是業務流或網絡路徑的任何修改。例如,SDN控制器可以決定改變網絡路徑以維持服務,并且庫存引擎406可以在作出該改變時記錄網絡路徑。惡化通知可以是來自與監視網絡和/或服務相關聯的網絡元件、監視器或模塊的消息。例如,服務監視器可以確定服務請求完成時間已經增加,并且庫存引擎406可以在從服務監視器接收到惡化通知時記錄路徑信息的集合和配置信息的集合。
[0043]庫存引擎406可以被配置為從學習表、日志文件、監視器、分析引擎和服務至端口通信中的至少一個發現配置信息的集合。學習表可以是適于在服務請求被接收和完成時學習業務流的數據結構。日志文件可以是能夠存儲時間值和諸如配置信息的集合或路徑信息的集合之類的與網絡相關聯的信息的任何適當的數據結構。監視器可以是能夠監視服務、網絡和/或網絡元件的模塊。分析引擎408可以執行關于圖3的分析操作器308所討論的操作,并且還在以下被更詳細地討論。服務至端口通信可以包括與網絡元件的任何適當的直接通信,以發現什么服務被提供以及在什么端口。例如,庫存引擎406可以使用網絡管理系統請求來查詢網絡元件或一系列網絡元件。服務至端口通信可以包括使得庫存引擎406能夠獲取可能未包括在庫存410中的或者不可從庫存410中的信息推斷出的信息的任何請求。庫存引擎406可以被配置為從學習表、日志文件、監視器、分析引擎和服務至端口通信中的至少一個推斷出配置信息的集合。推斷可以是合理的解釋一一網絡元件的狀況或存在或者網絡元件的屬性是內插還是外插。例如在圖3中,如果指定網絡元件322A、322B、322C和322E提供服務,并且已知網絡元件322C離線,則合理的推斷可以是用于服務的業務流包括鏈路324AB和324BE,這是因為這將成為從網絡元件322A到網絡元件322E的可用路徑。
[0044]庫存引擎406可以是控制器或用于管理網絡或以另外方式能夠發現網絡的信息的其他設備的一部分或者包括該控制器或其他設備。例如,庫存引擎406可以包括以下中的至少一個:SDN控制器、SDN網絡設備、服務感知控制器、服務感知網絡設備和諸如如下所述的分析引擎408之類的數據分析裝置。以上討論的網絡設備可以包含根據在本文描述的控制器的控制器或者另外像其一樣作出動作。
[0045]庫存引擎406可以基于應用編程接口(“API”)從網絡獲取配置信息的集合,以提供網絡的自動化庫存發現和管理。例如,可以通過多個網絡一一包括可以使服務與系統400分離的服務提供商來提供服務。庫存引擎406可以被配置為通過使用由服務提供商所提供的API來從服務提供商所擁有的網絡獲取配置信息的集合。例如,服務提供商可以提供API以允許SDN控制器將業務流移動到服務提供商的網絡,并且在將業務流移位到服務提供商的網絡中時可以自動地可獲取關于業務流的信息。API可以為自動或者其他自我服務庫存發現和管理作準備。
[0046]庫存引擎406可以向服務引擎404傳送配置信息的集合。庫存引擎406可以提供配置信息的附加集合,并且服務引擎404可以基于配置信息的集合和網絡元件的狀態來通過網絡提供可替代網絡路徑。
[0047]分析引擎408可以表示被配置為基于模式分析操作來分析網絡業務的硬件和編程的任何組合。例如,分析引擎408可以使用流處理來計算網絡的事件的順序模式分析,以確定服務的業務流。基于時間值和服務信息的集合,分析引擎408可以進行以下中的至少一個:發現網絡路徑的網絡元件,以及推斷出網絡路徑的網絡元件。分析引擎408可以使用庫存引擎406來獲取信息以進行分析。可以結合引擎402、404和406來使用分析引擎408,以發現或推斷出與網絡相關聯的信息。
[0048]圖5描繪出可以在操作地聯接至處理器資源532的存儲器資源530上實施用于識別網絡元件狀態的示例性系統500。處理器資源532可以操作地聯接至庫存510。庫存510可以與圖3的庫存310和/或圖4的庫存410相同,并且根據情況,與庫存310和/或庫存410相關聯的描述可應用于庫存510,并且反之亦然。
[0049]參考圖5,存儲器資源530可以包含可以由處理器資源532可執行的指令集。當由處理器資源532執行時,指令集可以實施系統500。存儲在存儲器資源530上的指令集可以被表示為識別模塊502、服務模塊504、庫存模塊506和分析模塊508。處理器資源532可以執行指令集,以執行識別模塊502、服務模塊504、庫存模塊506、分析模塊508和/或系統500的模塊之間的或以另外方式與其相關聯的任何適當的操作。例如,處理器資源532可以執行指令集,以基于時間值識別網絡元件的狀態、將服務信息的集合與網絡路徑相關聯,并且基于服務信息的集合和時間值來獲取與網絡路徑相關聯的配置信息的集合。識別模塊502可以表示當被執行時充當圖4的識別引擎402的程序指令。服務模塊504可以表示當被執行時充當圖4的服務引擎404的程序指令。庫存模塊506可以表示當被執行時充當圖4的庫存引擎406的程序指令。分析模塊508可以表示當被執行時充當圖4的分析引擎408的程序指令。
[0050]處理器資源532可以是能夠從存儲器資源530獲取指令并且執行那些指令的一個或多個中央處理單元(“CPU” )。處理器資源532可以連續地、并行地或部分同時地處理指令,除非在本文另外描述。
[0051]存儲器資源530和庫存510可以表示用于存儲系統500所利用的數據的介質。介質可以是能夠電子地存儲數據和/或能夠存儲系統500的模塊和/或系統500所使用的數據的任何非暫時性介質或非暫時性介質的組合。介質可以是機器可讀的,諸如計算機可讀的。庫存510的數據可以包括服務、網絡路徑、網絡元件、時間值和/或在本文敘述的其他數據或信息的表示,諸如以上中的任何的配置、屬性或狀態。
[0052]在本文的討論中,已經將引擎402、404、406和408以及模塊502、504、506和508描述為硬件和編程的組合。可以以許多方式實施此類組件。查看圖5,編程可以是存儲在有形的、非暫時性的計算機可讀存儲介質的存儲器資源530上的處理器可執行的指令,并且硬件可以包括用于執行那些指令的處理器資源532。處理器資源532例如可以包括一個或多個處理器。此類多個處理器可以被集成在單個設備中或者分布在各設備上。例如關于圖6,處理器資源532可以分布在服務器設備692和