創(chuàng)建用戶可見處理跟蹤的可搜索和全局數(shù)據(jù)庫的制作方法
【專利摘要】本發(fā)明涉及創(chuàng)建用戶可見處理跟蹤的可搜索和全局數(shù)據(jù)庫。在一個實例中,控制器裝置包括一個以上的網(wǎng)絡(luò)接口,通信式耦接至虛擬網(wǎng)絡(luò)的一個以上的裝置;以及處理器,可被配置為針對所述虛擬網(wǎng)絡(luò),確定由所述虛擬網(wǎng)絡(luò)中的相應(yīng)裝置執(zhí)行的一組的兩個以上的相關(guān)處理,經(jīng)由所述網(wǎng)絡(luò)接口接收用于所述組的兩個以上的相關(guān)處理的數(shù)據(jù),以及匯總用于所述組的兩個以上的相關(guān)處理的所述數(shù)據(jù)以形成用于所述組的兩個以上的相關(guān)處理的匯總數(shù)據(jù)。
【專利說明】創(chuàng)建用戶可見處理跟蹤的可搜索和全局數(shù)據(jù)庫
[0001]優(yōu)先權(quán)要求
[0002]本申請要求于2013年3月15日提交的美國申請第13/835,483號和美國申請第13/842,909號的優(yōu)先權(quán),這兩個申請要求于2012年11月23日提交的美國臨時申請第61/729,474號、于2012年11月7日提交的美國臨時申請第61/723,684號、于2012年11月7日提交的美國臨時申請第61/723,685號、于2012年11月5日提交的美國臨時申請第61/722,696號、于2012年11月2日提交的美國臨時申請第61/721,979號、于2012年11月2日提交的美國臨時申請第61/721,994號、于2012年10月25日提交的美國臨時申請第61/718,633號、于2012年6月6日提交的美國臨時申請第61/656,468號、于2012年6月6日提交的美國臨時申請第61/656,469號和于2012年6月6日提交的美國臨時申請第61/656,471號的優(yōu)先權(quán)、將它們的全部內(nèi)容結(jié)合于此作為參考。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明總體上涉及計算機網(wǎng)絡(luò),更具體地,涉及計算機網(wǎng)絡(luò)中的故障檢測。
【背景技術(shù)】
[0004]在通用的云數(shù)據(jù)中心環(huán)境中,存在提供計算和/或存儲容量的服務(wù)器以運行各種應(yīng)用程序。例如,數(shù)據(jù)中心可以包括管理用戶(例如數(shù)據(jù)中心的客戶)的應(yīng)用程序和服務(wù)的設(shè)備。數(shù)據(jù)中心可以例如包括基礎(chǔ)設(shè)施設(shè)備的所有管理,諸如聯(lián)網(wǎng)和存儲系統(tǒng)、冗余電源和環(huán)境控制。在典型的數(shù)據(jù)中心中,存儲系統(tǒng)和應(yīng)用程序服務(wù)器的云集經(jīng)由由一個或多個層的物理網(wǎng)絡(luò)交換機和路由器提供的高速交換機構(gòu)造而互連。更復(fù)雜的數(shù)據(jù)中心給遍及世界的基礎(chǔ)設(shè)施提供位于各種物理管理設(shè)施中的用戶支持設(shè)備。
[0005]在數(shù)據(jù)中心或其他大規(guī)模分配的復(fù)雜系統(tǒng)中,故障和失效是不等同的。故障可以允許系統(tǒng)的依賴故障部件的部件繼續(xù)操作。然而,失效可以演變成并趨于導(dǎo)致系統(tǒng)的一個或多個部件的未決失效,這有害地影響了系統(tǒng)的操作。
【發(fā)明內(nèi)容】
[0006]一般地,本公開描述了用于從中心位置(例如,通過使用結(jié)構(gòu)可查詢(能夠SQL)的中心數(shù)據(jù)庫)自動回溯的技術(shù),其中,回溯在故障出現(xiàn)后較長時間發(fā)生,從而用于在諸如軟件定義網(wǎng)絡(luò)(SDN)系統(tǒng)的大規(guī)模分布式復(fù)雜系統(tǒng)中識別可能的故障處理。
[0007]本公開還描述了用于在大規(guī)模分布式復(fù)雜系統(tǒng)中自動識別可能的故障組件的技術(shù)。在一些實例中,組件參數(shù)的快照被自動重復(fù)饋送至預(yù)訓(xùn)練分類器,且該分類器指示每個接收的快照是可能屬于失效和故障類還是屬于非失效/故障類。作為預(yù)先措施,調(diào)查、重啟或下線快照指示高失效或故障可能性的的組件。該技術(shù)可被用于諸如數(shù)據(jù)中心的大規(guī)模分布式復(fù)雜系統(tǒng)。
[0008]在一個實例中,一種方法包括由用于虛擬網(wǎng)絡(luò)的控制器裝置確定由所述虛擬網(wǎng)絡(luò)中的相應(yīng)裝置執(zhí)行的一組的兩個以上的相關(guān)處理;由所述控制器裝置接收用于所述組的兩個以上的相關(guān)處理的數(shù)據(jù);以及由所述控制器裝置匯總用于所述組的兩個以上的相關(guān)處理的所述數(shù)據(jù)以形成用于所述組的兩個以上的相關(guān)處理的匯總數(shù)據(jù)。
[0009]在另一實例中,控制器裝置包括一個以上的網(wǎng)絡(luò)接口,通信式耦接至虛擬網(wǎng)絡(luò)的一個以上的裝置;以及處理器,可被配置為針對所述虛擬網(wǎng)絡(luò),確定由所述虛擬網(wǎng)絡(luò)中的相應(yīng)裝置執(zhí)行的一組的兩個以上的相關(guān)處理,經(jīng)由所述網(wǎng)絡(luò)接口接收用于所述組的兩個以上的相關(guān)處理的數(shù)據(jù),以及匯總用于所述組的兩個以上的相關(guān)處理的所述數(shù)據(jù)以形成用于所述組的兩個以上的相關(guān)處理的匯總數(shù)據(jù)。
[0010]在另一實例中,一種計算機可讀存儲介質(zhì),其上存儲有指令,所述指令在被執(zhí)行時,使處理器由用于虛擬網(wǎng)絡(luò)的控制器裝置確定由所述虛擬網(wǎng)絡(luò)中的相應(yīng)裝置執(zhí)行的一組的兩個以上的相關(guān)處理;由所述控制器裝置接收用于所述組的兩個以上的相關(guān)處理的數(shù)據(jù);以及由所述控制器裝置匯總用于所述組的兩個以上的相關(guān)處理的所述數(shù)據(jù)以形成用于所述組的兩個以上的相關(guān)處理的匯總數(shù)據(jù)。
[0011]附圖和以下描述中敘述了一個或多個實例的細節(jié)。根據(jù)描述和附圖以及根據(jù)權(quán)利要求,其他特征、目的和優(yōu)勢將變得顯而易見。
【專利附圖】
【附圖說明】
[0012]圖1是示出可實施本文所述技術(shù)的實例的一個實例性數(shù)據(jù)中心的框圖。
[0013]圖2是更詳細示出可實施本文所述技術(shù)的實例性系統(tǒng)的框圖。
[0014]圖3是示出說明如本文所述的機箱式交換機和TOR交換機的示例性配置的實例系統(tǒng)50的另一框圖。
[0015]圖4是示出用于便于根據(jù)本公開的一個或多個實例的一個或多個虛擬網(wǎng)絡(luò)的操作的虛擬網(wǎng)絡(luò)控制器的實例性實施的框圖。
[0016]圖5是示出用于便于根據(jù)本公開的一個或多個實例的一個或多個虛擬網(wǎng)絡(luò)的操作的虛擬網(wǎng)絡(luò)控制器的實例性實施的框圖。
[0017]圖6是可執(zhí)行用于后續(xù)識別可能的故障處理的標記跟蹤的方法的更具體的SDN系統(tǒng)的大規(guī)模分布式復(fù)雜系統(tǒng)的框圖。
[0018]圖7是示出可執(zhí)行識別可能的故障組件的方法的電信虛擬化子系統(tǒng)的其他細節(jié)(例如,層)的框圖。
[0019]圖8是示出如何標記和匯總報告的示意性和信號流圖。
[0020]圖9是示出可用于圖8的系統(tǒng)中的處理的流程圖。
[0021]圖10是示出根據(jù)本公開的一種或多種技術(shù)的用于匯總各處理的數(shù)據(jù)的實例性計算裝置的框圖。
[0022]圖1lA是根據(jù)本公開中所述技術(shù)的可執(zhí)行識別可能的故障組件的大規(guī)模分布式復(fù)雜系統(tǒng)的框圖。
[0023]圖1lB是示出根據(jù)本公開中所述技術(shù)的可執(zhí)行識別可能的故障組件的虛擬化子系統(tǒng)的其他細節(jié)的框圖。
[0024]圖12是示出可訓(xùn)練的分類器如何被用于啟發(fā)式開發(fā)根據(jù)本文所述技術(shù)的用于預(yù)測組件失效和/或故障的可能性的分類算法的示意性和信號流圖。
[0025]圖13A和圖13B示出了對于根據(jù)本文所述技術(shù)的系統(tǒng)的操作的實例性模式的流程圖。
[0026]圖14是示出用于執(zhí)行根據(jù)本公開的一個或多個方面的操作的實例性計算裝置的框圖。
【具體實施方式】
[0027]在軟件系統(tǒng)的環(huán)境中,故障和失效不是一個并且相同的事情,當失效發(fā)生時,經(jīng)常不容易確定是誰或什么部件出現(xiàn)故障(該受責備),尤其如果失效在故障發(fā)生之后很長時間才發(fā)現(xiàn),并且尤其如果故障點可以在大規(guī)模分配系統(tǒng)中(諸如在軟件定義網(wǎng)絡(luò)(SDN)系統(tǒng)中)的任何地方。
[0028]“故障”的簡單示例可以為在執(zhí)行軟件處理的數(shù)學(xué)處理部分中試圖嘗試除數(shù)為零。理想地,當試圖嘗試基本數(shù)學(xué)規(guī)則的這種違背并且針對其中嘗試這種違背的硬件部件和/或軟件部件而本地產(chǎn)生相應(yīng)的失效日志時,CPU或其他數(shù)據(jù)處理硬件部件將發(fā)送異常標志(exception flag)。此后,當程序調(diào)試分析師評估該本地日志時,他/她將辨認出一個或多個執(zhí)行標記并且將確認嘗試了諸如除數(shù)為零的簡單數(shù)學(xué)規(guī)則違背。
[0029]“故障”的稍微更復(fù)雜的實例可能是在執(zhí)行軟件處理的數(shù)學(xué)處理部分中產(chǎn)生超范圍結(jié)果值。例如,會計采購賬戶的允許范圍可能不少于$5.00,但不多于$1000.00,其中,為此,執(zhí)行數(shù)學(xué)操作產(chǎn)生諸如$4.99或$1000.01的結(jié)果值,并且該違背沒有被硬件裝置捕捉。理想地,執(zhí)行軟件將包括結(jié)果確認線程(result validation thread),并且當試圖嘗試非基本數(shù)學(xué)和特定應(yīng)用程序規(guī)則的這種違背時,后者將發(fā)送一個或多個異常標志。此后,可以針對其中試圖違背的本地處理的結(jié)果確認線程而本地地產(chǎn)生相應(yīng)的失效日志,當問題調(diào)試分析師評估該本地日志時,他/她將辨認出例外標記并且確認嘗試了一個或多個特定應(yīng)用程序規(guī)則違背,然后,問題調(diào)試分析師可以用公式表示用于避免違背重現(xiàn)的正確代碼。
[0030]這些簡單的實例沒有解決當規(guī)則違背(或引起的其他故障)步驟在多封裝計算機和/或電信環(huán)境(諸如在該環(huán)境中,很多虛擬機器在諸如軟件定義網(wǎng)絡(luò)(SDN)系統(tǒng)的大規(guī)模分配系統(tǒng)之間分別執(zhí)行很多個分配處理)中發(fā)生時將發(fā)生什么的問題。在該情況下,即使異常日志存在,由于存在很多個可能性和其中可能存在一個故障表示日志或多個日志的很多個間隔地點(例如,作為間隔數(shù)英里的物理服務(wù)器),問題調(diào)試分析師經(jīng)常不知道在大規(guī)模分配系統(tǒng)中的哪個地方可以看到。此外,由于要花費很長時間認識到問題發(fā)生,直到問題分析師回顧地開始對本地例外日志的詢問,這些日志中的一些由于給定本地設(shè)施下的存儲器容量限制可能已經(jīng)被最近的日志寫的過多。
[0031]該問題可能在復(fù)雜且尺寸很大(就單獨部件的數(shù)量和/或空間/地理范圍而言)的系統(tǒng)中變得特別敏感,其中,這些系統(tǒng)預(yù)期是向上的并且盡可能在滿容量下運行。這種高度復(fù)雜、大尺寸且全部時間運行的系統(tǒng)的實例為軟件定義網(wǎng)絡(luò)(SDN)系統(tǒng)。
[0032]SDN系統(tǒng)的實例包括被用于支持網(wǎng)絡(luò)的操作的所謂的數(shù)據(jù)中心(例如,云計算中心),該操作包括數(shù)據(jù)存儲、搜索以及檢索。一個SDN實例的額外詳情如下。簡單地,且本介紹所充足的是,SDN系統(tǒng)可以由成千個復(fù)雜服務(wù)器計算機(被編程為運行多個虛擬機器及其封裝處理和子處理)、成千個網(wǎng)絡(luò)信道以及在數(shù)千英里上分配的路由器/交換機組成,其中,用戶的期望是這種系統(tǒng)的復(fù)雜軟件和硬件部件將基于高度可靠和可縮放的基礎(chǔ)而保持自由失效和可操作。[0033]應(yīng)當理解,本文所使用的術(shù)語“虛擬”不是指的是抽象的。而其指的是物理裝置,其中,基礎(chǔ)的硬件和/或軟件系統(tǒng)的細節(jié)由用戶隱藏(封裝)和/或基礎(chǔ)的其他虛擬系統(tǒng)的細節(jié)由用戶隱藏。還應(yīng)當理解,本文中使用的術(shù)語“軟件”并非指抽象意義上的軟件,而是指非抽象的物理實際和非暫時瞬間事情,非暫時瞬間事情不能夠數(shù)字地控制可配置數(shù)字數(shù)據(jù)處理系統(tǒng)和/或可配置模擬信號處理系統(tǒng)如何操作。
[0034]鑒于上文對簡單系統(tǒng)中的簡單故障/失效之間的差別的介紹性描述,并且鑒于上文對小簡單系統(tǒng)和大規(guī)模復(fù)雜分配系統(tǒng)(執(zhí)行分別封裝在大量虛擬機器中且在寬范圍電信系統(tǒng)上跨越通信的成千上百個(如果不是很多的話)處理和子處理)之間的差別的介紹性描述,有利的是具有一種方法和系統(tǒng),該方法和系統(tǒng)用于自動跟蹤從中央位置返回并在失效發(fā)生很長時間后的由此在這種大規(guī)模分配復(fù)雜系統(tǒng)中識別可能失效處理所產(chǎn)生的異常日
O
[0035]該發(fā)明的技術(shù)通常致力于提供從大規(guī)模分配復(fù)雜系統(tǒng)(諸如軟件定義網(wǎng)絡(luò)(SDN)系統(tǒng))中的中央位置進行跟蹤返回。
[0036]在一個實例中,在大規(guī)模分配復(fù)雜系統(tǒng)中識別可能故障處理的方法包括將該系統(tǒng)子劃分為多個層,每個均以具有相同的部件和其中正常執(zhí)行的相同種類的處理;子分配屬于諸如用戶可見虛擬網(wǎng)絡(luò)(a.k.a用戶可見VNet或更一般地為用戶可見實體-UVE)的多個用戶可接入實體的相應(yīng)一個的系統(tǒng)執(zhí)行;以及分配每個相應(yīng)系統(tǒng)層(TRx)、每個相應(yīng)虛擬和/或物理執(zhí)行機器(VOPEM)和每個相應(yīng)處理實例(PIN)的每個相應(yīng)UVE的獨立識別密鑰(UVEKey);當本地產(chǎn)生跟蹤時,用這種UVE、TRx和PIN識別密鑰(例如,UVEKey, TRxKey,PINKey,VMKey,PMKey)的兩個或多個標記對應(yīng)的跟蹤日志(trace log);將標記的跟蹤傳輸至中央化數(shù)據(jù)庫并且將這些跟蹤存儲在其中,該中央化數(shù)據(jù)庫可以通過使用這些識別密鑰(UVEKey, TRxKey, PINKey, VMKey, PMKey)的一個或多個而被結(jié)構(gòu)性地詢問。
[0037]針對每個相應(yīng)的UVE 和層,該方法可以包括識別將相應(yīng)的UVE密鑰與相應(yīng)的層密鑰交叉關(guān)聯(lián)的相應(yīng)處理報告以及將UVE和層標記報告中繼至中央化可詢問數(shù)據(jù)庫,其中,該報告可包括諸如存儲器失效、電信失效、處理器失效、數(shù)據(jù)包重發(fā)送和/或減少等的定量失效或故障參數(shù)。對于每個相應(yīng)的層,該方法可以包括自動確定其資源的哪個部分由每個相應(yīng)的UVE使用并且自動確定任何UVE的分配資源由于重復(fù)的部件失效(例如,丟失數(shù)據(jù)包)而是否充足。針對每個相應(yīng)的UVE和其檢測到的部件失效,該方法可以包括將檢測的部件失效與相應(yīng)獲取參數(shù)快照(snapshot)的一個或多個邏輯地相關(guān)聯(lián),相應(yīng)的獲取參數(shù)快照立即繼續(xù)相應(yīng)的部件失效。
[0038]該方法還可包括研究可能指出UVE的故障部件和/或?qū)拥呐c失效相關(guān)的UVE關(guān)聯(lián)報告。該方法還可以包括采用用于各個層部件和UVE的搶先正確和/或工作周圍策略,這些層部件和UVE被確定為基于研究更可能進入失效模式。
[0039]圖1是示出了可以實施本文中描述的技術(shù)的實例中的具有數(shù)據(jù)中心10的實例網(wǎng)絡(luò)8。一般地,數(shù)據(jù)網(wǎng)絡(luò)10為通過服務(wù)提供商網(wǎng)絡(luò)12耦接至數(shù)據(jù)中心的客戶11提供應(yīng)用程序和服務(wù)的操作環(huán)境。數(shù)據(jù)中心5例如可以管理基礎(chǔ)設(shè)施設(shè)備,諸如網(wǎng)絡(luò)和存儲系統(tǒng)、冗余電源以及環(huán)境控制。服務(wù)提供商網(wǎng)絡(luò)12可以耦接至由其他提供商管理的一個或多個網(wǎng)絡(luò),并因此形成大規(guī)模公共網(wǎng)絡(luò)基礎(chǔ)設(shè)施,例如,因特網(wǎng)。
[0040]在一些實例中,數(shù)據(jù)中心10可以表示很多歌地理分配網(wǎng)絡(luò)數(shù)據(jù)中心的一個,如圖I的實例所示,數(shù)據(jù)中心10可以是為客戶11提供網(wǎng)絡(luò)服務(wù)的設(shè)施,客戶11可以為諸如公司和政府或個人的聚集實體。例如,網(wǎng)絡(luò)數(shù)據(jù)中心管理結(jié)果公司和末端用戶的web服務(wù)。其他示例性服務(wù)可以包括數(shù)據(jù)存儲、虛擬私人網(wǎng)絡(luò)、交通工程、文件服務(wù)、數(shù)據(jù)挖掘、科學(xué)或超計算等。在一些實例中,數(shù)據(jù)中心10可以為個人網(wǎng)絡(luò)服務(wù)器、網(wǎng)絡(luò)同體或其他網(wǎng)絡(luò)中心。
[0041]在該實例中,數(shù)據(jù)中心5包括經(jīng)由由一個或多個層的物理網(wǎng)絡(luò)交換機和路由器提供的高速交換機結(jié)構(gòu)14所互連的一組存儲系統(tǒng)和應(yīng)用程序服務(wù)器(12A-12X0X本文中,“服務(wù)器12”)。交換機結(jié)構(gòu)14由耦接至機箱式交換機18的分配層的一組互連架頂(TOR)交換機16A-16BN (“TOR交換機”16)提供。盡管未示出,數(shù)據(jù)中心10還可以包括例如一個或多個非邊緣交換機、路由器、網(wǎng)絡(luò)集線器、網(wǎng)關(guān)、諸如防火墻、侵入檢測和/或侵入阻止裝置的安全裝置、服務(wù)器、計算機終端、臺式機、打印機、數(shù)據(jù)庫、諸如蜂窩電話或個人數(shù)字助理的無線移動裝置、無線接入點、橋接、電纜調(diào)制解調(diào)器、應(yīng)用程序加速器或其他網(wǎng)絡(luò)裝置。
[0042]在該實例中,TOR交換機16和機箱式交換機18向服務(wù)器12提供與IP分配20和服務(wù)提供商網(wǎng)路12的冗余(多連接)連接。機箱式交換機18聚集通信量流動并提供TOR交換機16之間的高速連接性。TOR交換機16A和16B可以為提供層2 (MAC地址)和/或?qū)? (IP地址)路由和/或交換機功能性的網(wǎng)絡(luò)裝置。TOR交換機16和機箱式交換機18可以均包括能夠執(zhí)行一個或多個軟件處理的一個或多個處理器和一個存儲器。機箱式交換機18耦接至IP分配20,該IP分配執(zhí)行層3路由,以使用服務(wù)提供商網(wǎng)絡(luò)18來路由數(shù)據(jù)中心10和客戶11之間的網(wǎng)絡(luò)流量。
[0043]虛擬網(wǎng)路控制器22 (“VNC”)提供便于操作根據(jù)本發(fā)明的一個或多個實例的數(shù)據(jù)中心10中的一個或多個虛擬網(wǎng)絡(luò)的邏輯中央化控制器。在一些實例中,虛擬網(wǎng)絡(luò)控制器22可以響應(yīng)于從網(wǎng)絡(luò)管理器24接收到的配置輸入進行操作。
[0044]根據(jù)本發(fā)明的技術(shù),虛擬網(wǎng)絡(luò)控制器22可以被配置為聚集一組兩個或多個相關(guān)處理的數(shù)據(jù),以形成用于該組兩個或多個相關(guān)處理的聚集數(shù)據(jù)。特別地,虛擬網(wǎng)絡(luò)控制器22可以確定由數(shù)據(jù)中心10的虛擬網(wǎng)絡(luò)中的相應(yīng)裝置(例如,服務(wù)器12)所執(zhí)行的該組兩個或多個相關(guān)處理,并接收用于該組兩個或多個相關(guān)處理的數(shù)據(jù)。一般地,該組處理可以對應(yīng)于普通“層”,例如普通網(wǎng)絡(luò)平臺,并且特定組中的每個處理可以基本上相似。通過執(zhí)行不同裝置上的基本相似處理,數(shù)據(jù)中心10可以提供高可用性并降低失效風險。
[0045]更具體地,根據(jù)本發(fā)明的技術(shù),數(shù)據(jù)中心10的計算裝置和由計算裝置執(zhí)行的處理可以被分為各種層。在每個層中,可以具有一組相關(guān)(例如,基本上相似)處理。此外,虛擬網(wǎng)絡(luò)控制器22可以定義用于各種層的用戶可見實體(UVE)。UVE可以定義各個層的用于監(jiān)控處理的各個數(shù)據(jù)。例如,UVE可以定義處理的屬性以進行檢索。虛擬網(wǎng)絡(luò)控制器22可以在處理的執(zhí)行期間接收數(shù)據(jù)輸出,并根據(jù)UVE,提取由UVE定義的屬性的值。虛擬網(wǎng)絡(luò)控制器22可以進一步聚集該數(shù)據(jù)。例如,UVE可以定義對應(yīng)于屬性的其中聚集特定類型的數(shù)據(jù)的方式,諸如添加、聯(lián)合集合、串聯(lián)、列表產(chǎn)生等。
[0046]虛擬網(wǎng)絡(luò)控制器22然后可以產(chǎn)生表示一個或多個屬性(對應(yīng)于一層)的該層或聚集值的一個或多個報告。該聚集可以透明底被執(zhí)行到執(zhí)行該處理的裝置。也就是,執(zhí)行處理的裝置不需要參與該聚集。管理者可以使用產(chǎn)生的報告以診斷數(shù)據(jù)中心10的虛擬網(wǎng)絡(luò)的各個方面。例如,報告可以包括表示定量失效、故障參數(shù)、存儲器失效、電信失效、處理器失效、數(shù)據(jù)包重發(fā)送和/或下降電信失效(dropped telecommunication failure)中的一個或多個的數(shù)據(jù)。管理者可以通過使用該報告基于報告的內(nèi)容確定這些條件中的任一個或所有通過重新編程數(shù)據(jù)中心10的裝置、替換數(shù)據(jù)中心10的裝置、添加、替換或去除裝置之間的鏈路、添加或升級數(shù)據(jù)中心10的一個或多個裝置的軟件等是否應(yīng)用或因此起作用。
[0047]在一些實例中,虛擬網(wǎng)絡(luò)控制器22包括分析層,即,作用在通用規(guī)則上的中間層。UVE可以根據(jù)分析師層定義規(guī)則。因此,虛擬網(wǎng)絡(luò)控制器22可以基本上自動地(B卩,不需要用戶干涉)執(zhí)行本發(fā)明的技術(shù)。分析層可以使用UVE的限定以提取來自通信的信息,該通信由執(zhí)行相應(yīng)的處理和通信的特定屬性(由UVE定義)的聚集值的裝置所輸出。
[0048]以此,虛擬網(wǎng)絡(luò)控制器22表示被配置為針對虛擬網(wǎng)絡(luò)確定由虛擬網(wǎng)絡(luò)中的相應(yīng)裝置執(zhí)行的一組兩個或多個相關(guān)處理;接收用于一組兩個或多個相關(guān)處理的數(shù)據(jù)以及聚集用于一組兩個或多個相關(guān)處理的數(shù)據(jù)以形成用于一組兩個或多個相關(guān)處理的聚集數(shù)據(jù)。
[0049]圖2是進一步詳細示出圖1的數(shù)據(jù)中心10的示例性實施的框圖。在圖2的實例中,數(shù)據(jù)中心10包括將交換機結(jié)構(gòu)14從物理交換機16,18擴展到軟交換機(也稱為“虛擬交換機”)30A至30X的覆蓋網(wǎng)絡(luò)(overlay network)。虛擬交換機30動態(tài)創(chuàng)建并管理應(yīng)用用于與應(yīng)用實例通信的一個或多個虛擬網(wǎng)絡(luò)34。在一個實例中,虛擬交換機30將虛擬網(wǎng)絡(luò)執(zhí)行為覆蓋網(wǎng)絡(luò),覆蓋網(wǎng)絡(luò)提供由服務(wù)器12A至12X (“服務(wù)器12”)中正執(zhí)行應(yīng)用的一個服務(wù)器的物理地址(例如,IP地址)分離(decouple)出應(yīng)用的虛擬地址的能力。每個虛擬網(wǎng)絡(luò)30A都可表示虛擬網(wǎng)絡(luò)交換機實施的服務(wù)器12A (其可以是位于一個或多個虛擬網(wǎng)絡(luò)的邊緣的邊緣裝置),可被配置為促進使用作為網(wǎng)絡(luò)層協(xié)議的層3協(xié)議的一個或多個虛擬網(wǎng)絡(luò)中的多個網(wǎng)絡(luò)的覆蓋。促進使用層3協(xié)議的網(wǎng)絡(luò)覆蓋比使用層2協(xié)議實質(zhì)上更容易??墒褂酶鞣N技術(shù)在物理網(wǎng)絡(luò)上虛擬網(wǎng)絡(luò)34內(nèi)或跨虛擬網(wǎng)絡(luò)34傳輸數(shù)據(jù)包。
[0050]每個虛擬交換機30可在每個服務(wù)器12的管理程序、主機操作系統(tǒng)或其他組件中執(zhí)行。在某些情況下,任意虛擬交換機30可以存在于校園網(wǎng)接入交換機或W1-Fi接入點(WAP)中。在圖2的實例中,虛擬交換機30在管理程序31 (也常稱為虛擬機管理器(VMM))內(nèi)執(zhí)行,其提供允許多個操作系統(tǒng)在主機服務(wù)器12中的一個服務(wù)器上同時運行的虛擬化平臺。在圖2的實例中,虛擬交換機30A管理虛擬網(wǎng)絡(luò)34,每個虛擬網(wǎng)絡(luò)提供在管理程序31提供的虛擬化平臺頂部執(zhí)行一個或多個虛擬機(VM)的網(wǎng)絡(luò)環(huán)境。每個VM36與管理程序31管理的虛擬子網(wǎng)VN0-VN2中的一個相關(guān)聯(lián)。
[0051]總的來說,每個VM36可以是任意類型的軟件應(yīng)用,可分配有虛擬地址以在相應(yīng)虛擬網(wǎng)絡(luò)34內(nèi)使用,在相應(yīng)虛擬網(wǎng)絡(luò)34內(nèi)每個虛擬網(wǎng)絡(luò)可以是虛擬交換機30A提供的不同虛擬子網(wǎng)。VM36可以分配有其自身的虛擬層3 (L3) IP地址,例如,用于發(fā)送和接收通信,而可以不關(guān)心其上執(zhí)行虛擬機的物理服務(wù)器12A的IP地址。通過這種方式,“虛擬地址”是不同于下層物理計算機系統(tǒng)(即,圖2的實例中的服務(wù)器12A)的邏輯地址的應(yīng)用的地址。
[0052]在一個事實中,每個服務(wù)器12包括虛擬網(wǎng)絡(luò)代理(“ VN代理”)35A至35X (“VN代理35”),其控制虛擬網(wǎng)絡(luò)34的上層并調(diào)整服務(wù)器12內(nèi)數(shù)據(jù)包的路由??偟膩碚f,每個VN代理35與虛擬網(wǎng)絡(luò)控制器22通信,虛擬網(wǎng)絡(luò)控制器22生成命令控制數(shù)據(jù)包路由通過數(shù)據(jù)中心10。VN代理35可作為代理服務(wù)器操作,用于控制虛擬機36和虛擬網(wǎng)絡(luò)控制器22之間的平臺消息。例如,VM36可請求試用期虛擬地址經(jīng)由VN代理35A發(fā)送消息,VN代理35A反過來可以發(fā)送消息并請求針對發(fā)起第一消息的VM36的虛擬地址接收的消息的回復(fù)。在一些情況下,VM36可調(diào)用VN代理35A的應(yīng)用程序接口呈現(xiàn)的程序或函數(shù)調(diào)用。[0053]在一個實例中,虛擬網(wǎng)絡(luò)域內(nèi)虛擬機36執(zhí)行的應(yīng)用實例生成或消耗(consume)的網(wǎng)絡(luò)數(shù)據(jù)包,例如,層3 (L3) IP數(shù)據(jù)包或?qū)? (L2)以太網(wǎng)數(shù)據(jù)包可封裝在物理網(wǎng)絡(luò)傳輸?shù)牧硪粩?shù)據(jù)包(例如,另一 IP或以太網(wǎng)數(shù)據(jù)包)中。在虛擬網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)包在本文中可被稱為“內(nèi)部數(shù)據(jù)包”,而物理網(wǎng)絡(luò)數(shù)據(jù)包在本文中可被稱為“外部數(shù)據(jù)包”。物理網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)的虛擬網(wǎng)絡(luò)數(shù)據(jù)包的封裝和/或接封裝可在虛擬交換機30內(nèi)執(zhí)行,例如在每個服務(wù)器12上運行的管理程序或主機操作系統(tǒng)內(nèi)。作為另一實例,封裝和解封裝函數(shù)可在交換機結(jié)構(gòu)14的邊緣的離發(fā)起數(shù)據(jù)包的應(yīng)用實例一跳的第一跳TOR交換機16執(zhí)行。該功能在本文中還被稱為隧道,可用在數(shù)據(jù)中心中創(chuàng)建一個或多個覆蓋網(wǎng)絡(luò)??梢允褂闷渌纠运淼绤f(xié)議,包括GRE上的IP、VxLAN, GRE上的MPLS等。
[0054]如上所注意到的,虛擬網(wǎng)絡(luò)控制器22提供邏輯集中控制器,用于促進數(shù)據(jù)中心10內(nèi)一個或多個虛擬網(wǎng)絡(luò)的操作。例如,虛擬網(wǎng)絡(luò)控制器22基于例如存儲數(shù)據(jù)中心10的物理網(wǎng)絡(luò)以及覆蓋網(wǎng)絡(luò)的路由信息的一個或多個路由表來維護路由信息。相似地,交換機16、18和虛擬交換機30維護諸如一個或多個路由和/或轉(zhuǎn)發(fā)表的路由信息。在一個示例性實施中,管理程序31的虛擬交換機30A實施每個虛擬網(wǎng)絡(luò)34的網(wǎng)絡(luò)轉(zhuǎn)發(fā)表(NFT) 32。總的來說,每個NFT32,例如利用一個或多個外部IP地址,存儲對應(yīng)虛擬網(wǎng)絡(luò)34的轉(zhuǎn)發(fā)信息,并識別將數(shù)據(jù)包轉(zhuǎn)發(fā)到何處以及是否按隧道協(xié)議封裝數(shù)據(jù)包。
[0055]路由信息例如可將數(shù)據(jù)包關(guān)鍵信息(例如,目的IP信息和從數(shù)據(jù)包報頭選擇的其他信息)映射到虛擬交換機30和虛擬結(jié)構(gòu)14提供的網(wǎng)絡(luò)內(nèi)一個或多個特定的下幾跳。在一些情況下,下幾跳可以是指定在轉(zhuǎn)發(fā)數(shù)據(jù)包時要對每個數(shù)據(jù)包執(zhí)行的一組操作的鏈接的下一跳,例如可被用于泛洪下幾跳和多播復(fù)制。在一些情況下,虛擬網(wǎng)絡(luò)控制器22維護具有表示網(wǎng)絡(luò)內(nèi)目的地的葉節(jié)點的根樹形式的路由信息。美國專利7,184,437提供了詳細的利用用于路由解析的示例性路由器,美國專利7,184,437的全部內(nèi)容通過引用結(jié)合于此。
[0056]如圖2所示,每個虛擬網(wǎng)絡(luò)34為通過交換機結(jié)構(gòu)14建立的覆蓋網(wǎng)絡(luò)提供用于封裝數(shù)據(jù)包通信37通信架構(gòu)。通過這種方式,與任意虛擬機36相關(guān)聯(lián)的網(wǎng)絡(luò)數(shù)據(jù)包可作為封裝數(shù)據(jù)包通信37經(jīng)由覆蓋網(wǎng)絡(luò)傳輸。另外,在圖2的實例中,每個虛擬交換機30包括轉(zhuǎn)發(fā)表NFTtl的默認網(wǎng)絡(luò),并提供 允許數(shù)據(jù)包不封裝(即根據(jù)數(shù)據(jù)中心10的物理網(wǎng)絡(luò)的路由規(guī)則的非封裝數(shù)據(jù)包通信39)就被轉(zhuǎn)發(fā)到虛擬子網(wǎng)的默認路由器。通過這種方式,子網(wǎng)VNc^P轉(zhuǎn)發(fā)表NFTtl的虛擬默認網(wǎng)絡(luò)提供繞開覆蓋網(wǎng)絡(luò)并向交換機結(jié)構(gòu)14發(fā)送非封裝數(shù)據(jù)包通信39的機制。
[0057]而且,在發(fā)現(xiàn)和初始化覆蓋網(wǎng)絡(luò)期間,以及在失敗的鏈路已經(jīng)暫停經(jīng)由覆蓋網(wǎng)絡(luò)通信的情況下,虛擬網(wǎng)絡(luò)控制器22和虛擬交換機30根據(jù)默認網(wǎng)絡(luò)轉(zhuǎn)發(fā)表NFTtl使用虛擬子網(wǎng)VNtl通信。一旦建立于虛擬網(wǎng)絡(luò)控制器22的連通性,虛擬網(wǎng)絡(luò)控制器22便更新其本地路由表,將關(guān)于任何失敗鏈路的新信息考慮在內(nèi),并引導(dǎo)虛擬交換機30更新它們的本地網(wǎng)絡(luò)轉(zhuǎn)發(fā)表32。例如,虛擬網(wǎng)絡(luò)控制器22可將命令輸出到虛擬網(wǎng)絡(luò)代理35以更新一個或多個NFT32引導(dǎo)虛擬交換機30改變隧道封裝,以便重新路由覆蓋網(wǎng)絡(luò)內(nèi)的通信,例如,避免失敗鏈路。
[0058]當檢測到鏈接失敗時,位于失敗鏈路的虛擬網(wǎng)絡(luò)代理35 (例如,VN代理35A)可立刻改變網(wǎng)絡(luò)數(shù)據(jù)包的封裝以在覆蓋網(wǎng)絡(luò)內(nèi)改到發(fā)送,并通知虛擬網(wǎng)絡(luò)控制器22該路由改變。虛擬網(wǎng)絡(luò)控制器22又更新路由信息并且可以向其他虛擬網(wǎng)絡(luò)代理35公布更新網(wǎng)絡(luò)轉(zhuǎn)發(fā)表32內(nèi)虛擬網(wǎng)絡(luò)代理存儲的本地路由信息的消息。
[0059]圖3是示出機箱式交換機和如本文描述的TOR交換機內(nèi)的路由信息的示例性配置的示例性系統(tǒng)50的另一框圖。圖3的系統(tǒng)50例如可對應(yīng)于圖1和圖2中所示的數(shù)據(jù)中心10的部分。
[0060]在該實例中,可以是圖1的任意機箱式交換機18的機箱式交換機52 (“CH52”)分別通過機箱鏈路60A和機箱鏈路60B (“機箱鏈路60”)耦接到架頂式(Top of Rack (TOR))交換機58A至58B (“T0R58”)。T0R58還可通過TOR鏈路62A至62D耦接至服務(wù)器50A至50B(“服務(wù)器50”)。服務(wù)器50可以是任意服務(wù)器12(圖1)。在此,服務(wù)器50與兩個T0R58都通信,并且可以物理存在于任一相關(guān)架內(nèi)。每個T0R58都與多個網(wǎng)絡(luò)交換機通信,包括機箱式交換機18A。
[0061]機箱式交換機52具有處理器54A,處理器54A與接口通信以與如圖所示的網(wǎng)絡(luò)通信,以及與將存儲器(未示出)連接至處理器54A的總線通信。存儲器可存儲多個軟件模塊。這些軟件模塊包括控制網(wǎng)絡(luò)路由的軟件,例如,包含用于操作遵循開放式最短路徑優(yōu)先(OSPF)協(xié)議的機箱式交換機的指令的開放式最短路徑優(yōu)先(OSPF)模塊。機箱式交換機52維護包含數(shù)據(jù)包的路由信息的路由表(“RT表”)56A,器描述網(wǎng)絡(luò)拓撲。路由表56A例如可以是數(shù)據(jù)包目的地網(wǎng)際協(xié)議(IP)地址和對應(yīng)下一跳(例如,表示為到網(wǎng)絡(luò)組件的鏈路)的表。
[0062]每個T0R58均具有各自的處理器58B、58C、與機箱式交換機18A通信的接口和存儲器(未示出)。每個存儲器包含包括OSPF模塊的軟件模塊和如上所述的路由表56B、56C。
[0063]T0R58和機箱式交換機52可交換指定可用路由的路由信息,例如,通過使用諸如OSPF或IS-1S的鏈路狀態(tài)路由協(xié)議。T0R58可以被配置為不同路由子網(wǎng)的所有者。例如,T0R58A被配置為子網(wǎng)I的所有者,在圖2的實例中子網(wǎng)I為子網(wǎng)10.10.10.0/24,T0R58B被配置為子網(wǎng)2的所有者,在圖2的實例中子網(wǎng)2為子網(wǎng)10.10.11.0/24。作為它們各自子網(wǎng)的所有者,T0R58本地存儲用于它們的子網(wǎng)的各路由器,不需要廣告所有路由通知到機箱式交換機18A。
[0064]機箱式交換機52基于從T0R58接收到的路由廣告維護路由表(“RT表”)56A,路由表56A包括表示為T0R58可達的子網(wǎng)。在圖2的實例中,RT表56A存儲指示去往子網(wǎng)
10.10.11.0/24內(nèi)的地址的流量可在鏈路60B上轉(zhuǎn)發(fā)到T0R58B,去往子網(wǎng)10.10.10.0/24內(nèi)的地址的流量可在鏈路60A上轉(zhuǎn)發(fā)到T0R58A。
[0065]在通常的操作中,機箱式交換機18A通過器網(wǎng)絡(luò)接口接收網(wǎng)際協(xié)議(IP)數(shù)據(jù)包、讀取數(shù)據(jù)包的目的IP地址、在路由表56A上查找這些地址以確定相應(yīng)的目的組件,并據(jù)此轉(zhuǎn)發(fā)數(shù)據(jù)包。例如,如果接收的數(shù)據(jù)包的目的IP地址為10.10.10.0,即子網(wǎng)T0R58的地址,則機箱式交換機52路由表指示數(shù)據(jù)包將經(jīng)由60A被發(fā)送到T0R58A,機箱式交換機52據(jù)此傳遞數(shù)據(jù)包,最終轉(zhuǎn)發(fā)到特定的一個服務(wù)器50。
[0066]相似地,每個T0R58通過其網(wǎng)絡(luò)接口接收網(wǎng)際協(xié)議(IP)數(shù)據(jù)包、讀取數(shù)據(jù)包的目的IP地址、在路由表56A上查找這些地址以確定相應(yīng)的目的組件,并根據(jù)查找結(jié)果轉(zhuǎn)發(fā)數(shù)據(jù)包。
[0067]圖4是示出促進根據(jù)本發(fā)明的一個或多個實例的一個或多個虛擬網(wǎng)絡(luò)的操作的虛擬網(wǎng)絡(luò)控制器22的示例性實施的框圖。虛擬網(wǎng)絡(luò)控制器22例如可以對應(yīng)于圖1和圖2的數(shù)據(jù)中心10的虛擬網(wǎng)絡(luò)控制器22。[0068]圖4的虛擬網(wǎng)絡(luò)控制器(VNC) 22示出VNC的分布式實施,其中VNC包括多個VNC節(jié)點80A至80N (統(tǒng)稱為“VNC節(jié)點80”)以執(zhí)行數(shù)據(jù)中心VNC的功能,包括管理在數(shù)據(jù)中心內(nèi)實施的一個或多個虛擬網(wǎng)絡(luò)的虛擬交換機的操作。每個VNC節(jié)點80可表示數(shù)據(jù)中心的不同服務(wù)器,例如圖1至圖2的任意服務(wù)器12,或者可替換地,在例如通過服務(wù)供應(yīng)商網(wǎng)絡(luò)的邊緣路由器或數(shù)據(jù)中心網(wǎng)絡(luò)的消費者邊緣裝置耦接至IP分配的服務(wù)器或控制器上。在一些情況下,一些NVC節(jié)點80可在同一服務(wù)器上作為分離的虛擬機執(zhí)行。
[0069]每個VNC節(jié)點80可控制不同的非覆蓋的一組數(shù)據(jù)中心組件,例如服務(wù)器、在服務(wù)器內(nèi)執(zhí)行的各虛擬交換機、與虛擬交換機相關(guān)聯(lián)的各接口、機箱式交換機、TOR交換機和/或通信鏈路。VNC節(jié)點80使用對等鏈路86與另一個VNC節(jié)點80對等以交換分布式數(shù)據(jù)庫的信息,包括分布式數(shù)據(jù)庫82A至82K (統(tǒng)稱為“分布式數(shù)據(jù)庫82”)以及路由信息基礎(chǔ)84A至84N的路由彳目息(例如,路由)。對等鏈路86可表不路由協(xié)議的對等鏈路,例如,邊界網(wǎng)關(guān)協(xié)議(BGP)實施,或另一對等協(xié)議,VNC節(jié)點80通過該對等協(xié)議可根據(jù)對等關(guān)系協(xié)調(diào)以共享信息。
[0070]VNC22的VNC節(jié)點80包括各自的RIB84,每個RIB具有例如一個或多個路由表,該路由表存儲VNC22控制的數(shù)據(jù)中心的一個或多個覆蓋網(wǎng)絡(luò)和/或物理網(wǎng)絡(luò)的路由信息。在一些情況下,RIB84中的一個,例如RIB84A,可存儲用于數(shù)據(jù)中心內(nèi)操作的任意虛擬網(wǎng)絡(luò)的完整路由表,并通過相應(yīng)的VNC節(jié)點80 (例如,VNC節(jié)點80A)控制。
[0071]總的來說,分布式數(shù)據(jù)庫82通過分布式VNC22控制的數(shù)據(jù)中心定義虛擬網(wǎng)絡(luò)的配置或描述虛擬網(wǎng)絡(luò)的操作。例如,分布式數(shù)據(jù)庫82可包括描述一個或多個虛擬網(wǎng)絡(luò)的配置、數(shù)據(jù)中心服務(wù)器的硬件/軟件配置和能力、一個或多個虛擬網(wǎng)絡(luò)和/或下層網(wǎng)絡(luò)的性能或診斷信息、包括服務(wù)器/機箱式交換機/TOR交換機接口和互聯(lián)鏈路的下層物理網(wǎng)絡(luò)的拓撲等的數(shù)據(jù)庫。每個分布式數(shù)據(jù)庫82均可使用例如分布式哈希表(DHT)實施,以便為不同VNC節(jié)點22存儲的分布式數(shù)據(jù)庫的鍵/值對提供查找服務(wù)。分布式數(shù)據(jù)庫82可是使用VNC節(jié)點22的或與VNC節(jié)點22關(guān)聯(lián)的計算機可讀介質(zhì)實施/存儲。
[0072]圖5是根據(jù)本公開的一個或多個示例示出了用于促進一個或多個虛擬網(wǎng)絡(luò)的操作的虛擬網(wǎng)絡(luò)控制器100的實現(xiàn)示例的框圖。例如,虛擬網(wǎng)絡(luò)控制器100可以對應(yīng)于圖1和圖2的數(shù)據(jù)中心10的虛擬網(wǎng)絡(luò)控制器22或圖4的虛擬網(wǎng)絡(luò)控制器22。
[0073]如圖5的示例中所示,分配的虛擬網(wǎng)絡(luò)控制器(VNC) 100包括一個或多個虛擬網(wǎng)絡(luò)控制器(“VNC”)節(jié)點102A到102N (統(tǒng)稱為“VNC節(jié)點102”)。各個VNC節(jié)點102可以表示圖4的虛擬網(wǎng)絡(luò)控制器22的任何VNC節(jié)點80。VNC節(jié)點102根據(jù)在網(wǎng)絡(luò)160上操作的同級協(xié)議彼此同級。網(wǎng)絡(luò)160可以表示圖1的交換結(jié)構(gòu)14和/或IP分配20的示例情況。如示例中所示,VNC節(jié)點102使用邊界網(wǎng)關(guān)協(xié)議(BGP)實現(xiàn)(同級協(xié)議的示例)來彼此同級。由此看來,VNC節(jié)點102A和102N可以表示使用同級協(xié)議來同級的第一控制器節(jié)點裝置和第二控制器節(jié)點裝置。VNC節(jié)點102包括相應(yīng)的網(wǎng)絡(luò)發(fā)現(xiàn)模塊114A到114N以發(fā)現(xiàn)網(wǎng)絡(luò)160的網(wǎng)絡(luò)元素。
[0074]VNC節(jié)點102對使用同級協(xié)議的彼此提供涉及由VNC節(jié)點102至少部分地管理的虛擬網(wǎng)絡(luò)的相應(yīng)元素的信息。例如,VNC節(jié)點102A可以管理作為虛擬網(wǎng)絡(luò)的虛擬網(wǎng)絡(luò)交換機的第一組一個或多個服務(wù)器。VNC節(jié)點102A可以通過BGP118A將涉及第一組服務(wù)器的管理或操作的信息發(fā)送到VNC節(jié)點102N。由VNC節(jié)點102管理的其他元素可以包括例如網(wǎng)絡(luò)控制器和/或器件、網(wǎng)絡(luò)基礎(chǔ)裝置(例如,L2或L3的交換機)、通信鏈路、防火墻和VNC節(jié)點102。因為VNC節(jié)點102具有同級關(guān)系而不是主從關(guān)系,所以可以足夠容易地在VNC節(jié)點102之間分享信息。此外,可以足夠容易地更換VNC節(jié)點102的硬件和/或軟件,這提供了令人滿意的資源可替代性。此外,分配的VNC100可以啟用水平可縮放的配置和管理,這可以給予一個或多個虛擬網(wǎng)絡(luò)的單系統(tǒng)視點。
[0075]各個VNC節(jié)點102可以包括基本相似/類似的組件以用于進行基本相似/類似的功能,在下文中主要關(guān)于VNC節(jié)點102A來描述所述功能。VNC節(jié)點102A可以包括用于存儲涉及由VNC節(jié)點102A管理的第一組元素的診斷信息的分析數(shù)據(jù)庫106A。分析數(shù)據(jù)庫106A可以包括可以表示完全整合的分析收集器的水平可縮放網(wǎng)絡(luò)分析數(shù)據(jù)庫,該完全整合的分析收集器被配置為故障檢修、視覺化和分析分配的VNC100和一個或多個虛擬網(wǎng)絡(luò)。VNC節(jié)點102A可以分享涉及VNC節(jié)點102A和/或由VNC節(jié)點102A管理并且存儲在分析數(shù)據(jù)庫106中的第一組元素中的一個以上的至少一些診斷信息,以及接收涉及由其他VNC節(jié)點102管理的任何元素的至少一些診斷信息。分析數(shù)據(jù)庫106A可以表示例如分布式哈希表(DHT),或與其他VNC節(jié)點102合作以分布方式存儲網(wǎng)絡(luò)元素的診斷信息的任何適合的數(shù)據(jù)結(jié)構(gòu)。分析數(shù)據(jù)庫106A到106N (統(tǒng)稱為,“分析數(shù)據(jù)庫106”)可以至少部分地表示圖4的分布式虛擬網(wǎng)絡(luò)控制器22的一個分布式數(shù)據(jù)庫82。
[0076]VNC節(jié)點102A可以包括用于存儲涉及由VNC節(jié)點102A管理的第一組元素的配置信息的配置數(shù)據(jù)庫110A。VNC節(jié)點102A的控制平臺組件可以使用接口 144A將配置信息存儲到配置數(shù)據(jù)庫110A,接口 114A可以表示元數(shù)據(jù)訪問點的接口(IF-MAP)的協(xié)議實現(xiàn)。VNC節(jié)點102A可以分享涉及由VNC節(jié)點102A管理并且存儲在配置數(shù)據(jù)庫IlOA中的第一組元素(包括,例如VNC節(jié)點102A)中的一個或多個的至少一些配置信息,以及接收涉及由其他VNC節(jié)點102管理的任何元素的至少一些配置信息。配置數(shù)據(jù)庫IlOA可以表示例如分布式哈希表(DHT),或與其他VNC節(jié)點102合作以分布式的方式來存儲網(wǎng)絡(luò)元素的配置信息的任何適合的數(shù)據(jù)結(jié)構(gòu)。配置數(shù)據(jù)庫IlOA到IlON (統(tǒng)稱為,“配置數(shù)據(jù)庫110”)可以至少部分地表示圖4的分布式虛擬網(wǎng)絡(luò)控制器22的一個分布式數(shù)據(jù)庫82。配置數(shù)據(jù)庫110可以存儲圖4的相應(yīng)的RIB84。RIB84中的部分可以由控制平臺VM112存儲從而促進網(wǎng)絡(luò)發(fā)現(xiàn)模塊114和BGPl 18的操作。
[0077]虛擬網(wǎng)絡(luò)控制器100可以進行由模塊130表示的示出的虛擬網(wǎng)絡(luò)控制器操作中的任何一個或多個,模塊130可以包括編制132、用戶界面134、VNC全局載荷平衡136和一個或多個應(yīng)用138。VNC100執(zhí)行編制模塊132從而通過例如在數(shù)據(jù)中心服務(wù)器中產(chǎn)生/去除虛擬機、調(diào)整計算能力、分配網(wǎng)絡(luò)存儲資源和修改連接虛擬網(wǎng)絡(luò)的虛擬交換機的虛擬拓撲,響應(yīng)于動態(tài)需求環(huán)境來促進一個或多個虛擬網(wǎng)絡(luò)的操作。由VNC100執(zhí)行的VNC全局載荷平衡136支持在VNC節(jié)點102之中的例如分析、配置、通信任務(wù)的載荷平衡。應(yīng)用138可以表示由VNC節(jié)點102執(zhí)行從而例如改變物理和/或虛擬網(wǎng)絡(luò)的拓撲、增加服務(wù)或影響包轉(zhuǎn)發(fā)的一個或多個網(wǎng)絡(luò)應(yīng)用。在某些情況下,中心化的網(wǎng)絡(luò)管理系統(tǒng)或其他控制器執(zhí)行模塊130并且使用VNC節(jié)點102的北向接口來通信,從而進行編制、配置VNC節(jié)點102、進行VNC全局載荷平衡和使VNC節(jié)點102執(zhí)行虛擬網(wǎng)絡(luò)應(yīng)用138。
[0078]用戶界面134包括能夠由管理員(或軟件代理)使用的接口從而控制VNC節(jié)點102的操作。例如,用戶界面134可以包括使管理員可以修改例如VNC節(jié)點102A的配置數(shù)據(jù)庫IlOA的方法??梢杂商峁﹩吸c管理的統(tǒng)一的用戶界面134來進行由VNC100操作的一個或多個虛擬網(wǎng)絡(luò)的管理,這可以減少一個或多個虛擬網(wǎng)絡(luò)的管理成本。
[0079]VNC節(jié)點102A可以包括執(zhí)行控制平臺協(xié)議從而促進本文中描述的分布式VNC技術(shù)的控制平臺虛擬機(VM) 112A。在某些情況下,控制平臺VM112A可以表示本機處理。在示出的示例中,控制VMl 12A執(zhí)行BGPl 18A從而將涉及由VNC節(jié)點102A管理的第一組元素的信息提供到例如VNC節(jié)點102N的控制平臺虛擬機112N??刂破脚_VMl 12A可以使用基于開放標準的協(xié)議(例如,基于BGP的L3VPN)來通過其他控制平臺的示例和/或其他第三方網(wǎng)絡(luò)設(shè)備分配關(guān)于它的虛擬網(wǎng)絡(luò)的信息。給出了根據(jù)本文中描述的一個或多個方面的基于同級的模型,不同的控制平臺示例(例如,控制平臺VM112A到112N的不同示例)可以執(zhí)行不同的軟件版本。在一個或多個方面,例如控制平臺VMl 12A可以包括一種類型的軟件的特定版本,并且控制平臺VM112N可以包括相同類型的軟件的不同版本。控制節(jié)點裝置的同級配置可以使控制平臺VM112A到112N使用不同的軟件版本。通過相應(yīng)的VNC節(jié)點102執(zhí)行多個控制平臺VM可以防止出現(xiàn)單點故障。
[0080]控制平臺VM112A使用在網(wǎng)絡(luò)160上操作的通信協(xié)議來與虛擬網(wǎng)絡(luò)交換機(例如,示出的由服務(wù)器170執(zhí)行的VM切換交換機174)通信。虛擬網(wǎng)絡(luò)交換機促進在一個或多個虛擬網(wǎng)絡(luò)中的覆蓋網(wǎng)絡(luò)。在示出的示例中,控制平臺VM112A使用可擴展通訊和表示協(xié)議(XMPP)116A通過XMPP接口 150A至少與虛擬網(wǎng)絡(luò)交換機174通信。虛擬網(wǎng)絡(luò)路由數(shù)據(jù)、統(tǒng)計收集、日志和配置信息可以根據(jù)XMPPl 16A而作為用于在控制平臺VMl 12A和虛擬網(wǎng)絡(luò)交換機之間通信的XML文檔發(fā)送??刂破脚_VM112A可以依次將數(shù)據(jù)路由到其他XMPP服務(wù)器(諸如,例如分析VM104A的分析收集器)或可以代表一個或多個虛擬網(wǎng)絡(luò)交換機來檢索配置信息。控制平臺VMl 12A還可以執(zhí)行通信接口 144A以便與關(guān)聯(lián)于配置數(shù)據(jù)庫IlOA的配置虛擬機(VM)108A通信。通信接口 144A可以表示IF-MAP接口。例如,服務(wù)器170可以表示圖1和圖2的服務(wù)器12或圖3的服務(wù)器50中的任意的示例情況,而虛擬網(wǎng)絡(luò)交換機174表示虛擬交換機30并且虛擬網(wǎng)絡(luò)交換機代理172表示圖2的任何虛擬網(wǎng)絡(luò)代理35。
[0081]VNC節(jié)點102A還可以包括配置VM108A從而將第一組元件的配置信息存儲到配置數(shù)據(jù)庫IlOA并且管理配置數(shù)據(jù)庫110A。盡管配置VM108A被描述為虛擬機,但是它在某些方面表示在VNC節(jié)點102A的操作系統(tǒng)上執(zhí)行的本機處理。配置VM108A和控制平臺VM112A可以使用IF-MAP來通過通信接口 144A通信和使用XMPP來通過通信接口 146A通信。在某些方面,配置VM108A可以包括由配置配置數(shù)據(jù)庫IlOA表示的水平可縮放多租戶IF-MAP服務(wù)器和基于分布式哈希表(DHT)的IF-MAP數(shù)據(jù)庫。在某些方面,配置VM108A可以包括可以將用戶友好等級更高的虛擬網(wǎng)絡(luò)配置翻譯為基于標準的協(xié)議配置(例如,BGP L3VPN配置)的配置翻譯器,該基于標準的協(xié)議配置可以使用配置數(shù)據(jù)庫IlOA來存儲。通信接口 140可以包括與其他網(wǎng)絡(luò)元素通信的IF-MAP接口??紤]到IF-MAP模式可以動態(tài)地更新,IF-MAP的使用可以使虛擬網(wǎng)絡(luò)配置的存儲和管理非常靈活和可擴展。有利地,虛擬網(wǎng)絡(luò)控制器100的方面對于新應(yīng)用138可以是靈活的。
[0082]VNC節(jié)點102A還可以包括分析虛擬機(VM)104A以存儲涉及至少由VNC節(jié)點102A管理的第一組元素的診斷信息(和/或可見性信息)??刂破脚_VM和分析VM104可以使用XMPP實現(xiàn)來通過通信接口 146A通信。盡管配置VM104A被描述為虛擬機,但是它在某些方面表示在VNC節(jié)點102A的操作系統(tǒng)上執(zhí)行的本機處理。[0083]分析VM104A可以包括分析數(shù)據(jù)庫106A,分析數(shù)據(jù)庫106A可以表示存儲虛擬網(wǎng)絡(luò)的可見性數(shù)據(jù)的分布式數(shù)據(jù)庫(諸如圖4的分布式虛擬網(wǎng)絡(luò)控制器22的一個分布式數(shù)據(jù)庫82)的示例??梢娦孕畔⒖梢悦枋龇植际絍NC100和客戶網(wǎng)絡(luò)的可見性。分析VM104A的分析數(shù)據(jù)庫106A可以包括在通信接口 142A的第一側(cè)(南向)的XMPP接口和在通信接口 142A的第二側(cè)(北向)的REST/JASON/XMPP接口。
[0084]虛擬網(wǎng)絡(luò)交換機174可以對于一個或多個端點和/或一個或多個主機實現(xiàn)層3轉(zhuǎn)發(fā)和策略執(zhí)行點。由于從控制平臺VM112A的配置,一個或多個端點或一個和/或一個或多個主機可以被歸類為虛擬網(wǎng)絡(luò)??刂破脚_VM112A還可以將各個端點的虛擬到物理映射分配到所有其他端點以作為路由。這些路由可以給出將虛擬IP映射到物理IP的下一跳和使用的封裝技術(shù)(例如,IPinIP、NVGRE、VXLAN等中的一個)。虛擬網(wǎng)絡(luò)交換機174對于使用的實際隧道封裝可以是不可知的。虛擬網(wǎng)絡(luò)交換機174還可以捕獲感興趣的層2 (L2)的包、廣播包和/或例如使用地址解析協(xié)議(ARP )、動態(tài)主機配置協(xié)議(DHCP )、域名服務(wù)(DNS )、多點傳送(mDNS)等中的一個來實現(xiàn)對于包的代理。
[0085]在某些情況下,不同的VNC節(jié)點102可以由不同的供應(yīng)者提供。然而,VNC節(jié)點102的同級配置可以使得能夠使用由不同供應(yīng)者提供的不同硬件和/或軟件以便實現(xiàn)分布式VNC100的VNC節(jié)點102。根據(jù)上述技術(shù)操作的系統(tǒng)可以將網(wǎng)絡(luò)拓撲的邏輯視圖提供給端主機而不管物理網(wǎng)絡(luò)拓撲、訪問類型和/或位置。分布式VNC100可以提供在不改變網(wǎng)絡(luò)的端主機視圖的條件下,使網(wǎng)絡(luò)操作者和/或應(yīng)用改變拓撲、影響包轉(zhuǎn)發(fā)和/或增加服務(wù),以及網(wǎng)絡(luò)服務(wù)(例如,防火墻)的水平縮放的程序化的方法。
[0086]根據(jù)本公開的技術(shù),虛擬網(wǎng)絡(luò)控制器100可以被配置為聚合兩個以上的相關(guān)處理的組的數(shù)據(jù),從而形成聚合的兩個以上的相關(guān)處理的組的數(shù)據(jù)。特別地,虛擬網(wǎng)絡(luò)控制器100可以判定兩個以上的相關(guān)處理的組由網(wǎng)絡(luò)160的虛擬網(wǎng)絡(luò)中的相應(yīng)裝置執(zhí)行,并且接收兩個以上的相關(guān)處理的組的數(shù)據(jù)??傮w上,處理的組可以對應(yīng)于共同的“層”(例如共同的網(wǎng)絡(luò)平臺)并且在特定組中的各個處理可以基本相似。通過在不同的裝置上執(zhí)行基本相似的處理,網(wǎng)絡(luò)160可以提供高可用性并且減少故障的風險。
[0087]更具體地,根據(jù)本公開的技術(shù),網(wǎng)絡(luò)160的計算裝置和由計算裝置執(zhí)行的處理可以劃分在各種層中。在各層內(nèi),可以有相關(guān)(例如,基本相似)處理的組。此外,虛擬網(wǎng)絡(luò)控制器100可以定義各種層的用戶可見實體(UVE)。UVE可以定義用于監(jiān)測各種層的處理的各種數(shù)據(jù)。例如,UVE可以定義待檢索的處理的屬性。虛擬網(wǎng)絡(luò)控制器100可以接收在處理的執(zhí)行期間輸出的數(shù)據(jù),并且根據(jù)UVE來提取由UVE定義的屬性的值。虛擬網(wǎng)絡(luò)控制器100還可以聚合該數(shù)據(jù)。例如,UVE可以對應(yīng)于屬性來定義聚合某些類型的數(shù)據(jù)的方式,諸如增加、組上聯(lián)合(union over set)、串聯(lián)、列表形成等。
[0088]然后,虛擬網(wǎng)絡(luò)控制器100可以生成指示層和如由對應(yīng)的UVE定義的對應(yīng)于該層的聚合的一個或多個屬性的值的一個或多個報告。該聚合可以對于執(zhí)行處理的裝置透明地進行。即,執(zhí)行處理的裝置不需要取得聚合中的任何部分。管理員可以使用生成的報告來診斷網(wǎng)絡(luò)160的虛擬網(wǎng)絡(luò)的各種方面。例如,報告可以包括指示定量故障、失效參數(shù)、存儲器故障、電信故障、處理器故障、包重發(fā)和/或終止的通信會話中的一個或多個的數(shù)據(jù)。管理員可以使用報告,基于報告的內(nèi)容例如通過重編程網(wǎng)絡(luò)160的裝置、替換網(wǎng)絡(luò)160的裝置、增加、替換或去除裝置之間的鏈接、增加或升級網(wǎng)絡(luò)160的一個或多個裝置的軟件等來確定這些條件是否相應(yīng)地應(yīng)用和作用。
[0089]在某些示例中,虛擬網(wǎng)絡(luò)控制器100包括分析層,該分析層是按照通用規(guī)則行動的中間層。UVE可以根據(jù)分析層來定義規(guī)則。因此,虛擬網(wǎng)絡(luò)控制器100可以基本自動地操作(即,不受用戶干擾),從而進行本公開的技術(shù)。分析層可以使用UVE的定義提取來自由執(zhí)行相應(yīng)處理的裝置輸出的通信的信息和對于通信的某些屬性的聚合值(如由UVE定義的)。
[0090]以這種方式,虛擬網(wǎng)絡(luò)控制器100表示控制器裝置的示例,該控制器裝置被配置為對虛擬網(wǎng)絡(luò)確定由虛擬網(wǎng)絡(luò)中的相應(yīng)裝置執(zhí)行的兩個以上的相關(guān)處理的組并且聚合兩個以上的相關(guān)處理的組的數(shù)據(jù)以形成聚合的兩個以上的相關(guān)處理的組的數(shù)據(jù)。
[0091]圖6是大規(guī)模分布式復(fù)雜系統(tǒng)1000的框圖,并且更具體地,是可以應(yīng)用所公開的概念的軟件定義網(wǎng)絡(luò)(SDN)系統(tǒng)的框圖。例如,圖6可以表示提供了大量的網(wǎng)絡(luò)互聯(lián)服務(wù)器(例如,服務(wù)器210x、210y,它們可以對應(yīng)于圖1的相應(yīng)的服務(wù)器12)的云實現(xiàn)的數(shù)據(jù)中心環(huán)境,這些網(wǎng)絡(luò)互聯(lián)服務(wù)器提供計算機和/或存儲容量以運行多個不同的用戶和/或其他種類的應(yīng)用程序(例如,程序216,其中這些程序可以包括交互視頻游戲支持處理和/或簡單文本處理支持處理)。
[0092]該環(huán)境趨向于根據(jù)應(yīng)用的觀點而動態(tài)變化??梢韵M哂惺褂脩襞c基礎(chǔ)細節(jié)隔離并且可以避免對手動干涉的需要的自動等級,從而使物理服務(wù)器互聯(lián)以提供使各種應(yīng)用能夠執(zhí)行到一個或另一個的滿足等級所需要的計算、存儲和/或電信能力。
[0093]為了能夠使基礎(chǔ)物理互聯(lián)結(jié)構(gòu)200 (例如物理互聯(lián)結(jié)構(gòu)200以及物理和/或虛擬機的可縮放的處理)自動和靈敏,存在日益增長的在物理計算機群集之上布置覆蓋網(wǎng)絡(luò)解決方案或虛擬化網(wǎng)絡(luò)系統(tǒng)的趨勢,其中覆蓋和/或虛擬化子系統(tǒng)封裝和自動管理保持多數(shù)物理數(shù)據(jù)處理資源(例如,服務(wù)器210x、210y的資源)的細節(jié)、多個物理網(wǎng)絡(luò)交換機和路由器(例如,交換機206,它可以與諸如圖1的架式交換機18和/或TOR交換機16的圖1中的IP分配20的裝置相對應(yīng))以及在圖6中由元素204表示的在希望的帶寬(BW)上并且以希望的服務(wù)質(zhì)量(QOS )運行的信道(例如,信道202 )。
[0094]在環(huán)境中,多個服務(wù)器(例如,服務(wù)器210x、210y)中的每一個都可以運行一個或多個應(yīng)用處理(例如,處理216)和/或客操作系統(tǒng)(其內(nèi)部沒有明確示出)。為了在單個服務(wù)器上啟用多個客操作系統(tǒng)(也稱為虛擬機(VM)215),系統(tǒng)可以利用通常認為是管理程序(諸如ESX、Hyper-V、KVM、Xen等)的虛擬機監(jiān)測系統(tǒng)。圖7的管理程序231表示這樣的管理程序的示例。單個的應(yīng)用(例如,包括在處理支持器件216內(nèi)執(zhí)行的處理或線程UVP1)可以需要多個計算機和存儲資源的示例,這些計算機和存儲資源的示例可以作為多個獨立服務(wù)器和/或在一個或多個服務(wù)器上運行的多個虛擬機由基礎(chǔ)提供。為了使應(yīng)用在它的分布式計算機和存儲示例之中和與外部世界分享信息,通常使用電信網(wǎng)絡(luò)200從而使得該信息能夠作為例如攜帶包得數(shù)據(jù)信號(217)移動。每當新應(yīng)用在基礎(chǔ)上發(fā)起和/或改變時,可以創(chuàng)建和/或改變相應(yīng)的虛擬網(wǎng)絡(luò)(例如,VNet207v),從而支持新的/改變的應(yīng)用和允許所有它的計算機和存儲示例彼此和/或與外部世界分享信息。
[0095]如本文中使用的,術(shù)語“用戶可見”應(yīng)當被理解為指代至少系統(tǒng)的處理間通信層到彼此排他的扇區(qū)的用戶定義的劃分,其中用戶假定在用戶的調(diào)查下的一系列處理的所有處理間通信限于通過劃分的扇區(qū)中的一個而不是任何其他劃分的扇區(qū)來發(fā)生,并且因此處理交互的調(diào)查(例如,為了排除該交互的問題)可以限于調(diào)查只發(fā)生在相關(guān)聯(lián)的多個扇區(qū)中的一個的處理間通信。如本文中使用的術(shù)語“用戶可見”可以更廣泛地理解為不僅指代一個處理間通信扇區(qū),而且還指代處理本身和假定在調(diào)查下的處理基于獨有地(例如,支持在調(diào)查下的處理的專用虛擬機)使用的其他系統(tǒng)資源(還有通信層的關(guān)聯(lián)的和專用的扇區(qū))。因此,在用戶的調(diào)查下的一系列處理的所有處理間活動可以由用戶假定為只限于在用戶定義的(UVE)內(nèi)部發(fā)生,并且因此處理行為和交互的調(diào)查(例如,為了排除該交互的問題的目的)可以只限于在相關(guān)聯(lián)UVE內(nèi)部發(fā)生的調(diào)查操作??梢员徽J為是UVE的示例是包括專用于應(yīng)用程序的處理間通信資源并且包括專用于該應(yīng)用程序的計算機和存儲資源的識別的用戶應(yīng)用程序的所有處理。然而,該定義不限于單用戶和/或單應(yīng)用程序。單UVE可以包含專用于一個或多個識別的用戶的多個不相關(guān)應(yīng)用的資源,這些識別的用戶受到資源(例如,系統(tǒng)通信層的分區(qū)部分)實際上專用于所識別的多個應(yīng)用的合適認證。換言之,更一般地,可以認為UVE表示系統(tǒng)或其資源的操作狀態(tài)的一些專用(為調(diào)查而劃分)的方面,其中調(diào)查可以在隨后為了嘗試以某些方式操作、提供、故障排除或分析系統(tǒng)的相應(yīng)的部分的目的而限于專用方面。在多個示例中,UVE可以排除系統(tǒng)狀態(tài)和系統(tǒng)資源的那些下級方面,這些下級方面只供內(nèi)部系統(tǒng)使用、對于在調(diào)查下的用戶處理是隱藏(封裝隔開)并且因此不旨在表示到用戶應(yīng)用的外部世界的系統(tǒng)應(yīng)用接口的一部分。使所有系統(tǒng)狀態(tài)和資源(包括下級的那些)對于外部應(yīng)用可見對于調(diào)查應(yīng)用可能是迷惑并且過多的而非有幫助的。被認為是“用戶可見”的系統(tǒng)狀態(tài)和資源的專用子組可以隨時重新評估并且根據(jù)相應(yīng)用戶認為的合適來變化。
[0096]各個UVE可以與定義文件先關(guān)聯(lián)。定義文件可以規(guī)定與UVE相關(guān)聯(lián)的各個屬性的聚合類型(例如,相加、串聯(lián)、列表形成、組上聯(lián)合等)。聚合器可以使用定義文件的聚合信息。即,與UVE對應(yīng)的處理不需要使用聚合信息。各個UVE可以在接口定義語言文件中規(guī)定。分析層可以使用在接口定義語言文件中定義的額外屬性來進行聚合。當UVE被發(fā)送到分析層時,消息可以通過聚合層來標記UVE的屬性。因此,在分析層執(zhí)行的裝置或處理可以接收與UVE相關(guān)聯(lián)的屬性的值以及與UVE相關(guān)聯(lián)的聚合信息的值。以這種方式,這些在分析層的裝置或處理可以使用聚合信息來判定怎樣聚合該屬性的值。以這種方式,可以在沒有處理生成主動參與聚合的信息的條件下進行信息的聚合。即,聚合器可以從各種處理接收獨立的信息流并且聚合信息,而不需要改變生成待聚合的信息的處理的一部分。
[0097]此外,被認為是具體UVE的一部分的系統(tǒng)狀態(tài)和資源不是每個都必須對于安裝在具體UVE內(nèi)部的應(yīng)用的相應(yīng)的一個或多個非管理用戶直接可見。而是,相應(yīng)的計算、存儲和電信資源只需要對于彼此可見以便允許相應(yīng)的用戶處理根據(jù)在調(diào)查下的相應(yīng)應(yīng)用和/或應(yīng)用組的需要來彼此交互。同時,相應(yīng)的計算、存儲和電信資源應(yīng)當對于不在調(diào)查下的外部的其他用戶應(yīng)用的資源不可見;并且能夠受到不在調(diào)查下的外部的其他用戶應(yīng)用的資源的干擾。如果在給定的應(yīng)用(或應(yīng)用組)內(nèi)出現(xiàn)錯誤(例如,故障),則預(yù)計將只牽連專用于給定應(yīng)用的“可見的”計算、存儲和電信資源并且因此這些是應(yīng)當被調(diào)查的選項。換言之并且簡要參考圖8,具體的用戶實體(例如,UVE (2))可以被概念化為跨多個系統(tǒng)平臺(層)垂直切割的專用劃分,這些系統(tǒng)平臺包括一個或多個系統(tǒng)電信平臺(例如,虛擬轉(zhuǎn)發(fā)平臺)。
[0098]在虛擬化的或覆蓋網(wǎng)絡(luò)的環(huán)境中,網(wǎng)絡(luò)邊緣從物理網(wǎng)絡(luò)部件(例如交換機206等(如路由器))擴展至在對應(yīng)的管理程序(如圖7中231)內(nèi)部或在物理服務(wù)器上的主機操作系統(tǒng)(例如210z)內(nèi)運行的軟件交換機(例如圖7中的VRouter232)。被交互應(yīng)用用來與其相應(yīng)的進程事件進行通信的這樣虛擬化的和/或覆蓋網(wǎng)絡(luò)被動態(tài)地創(chuàng)建并由軟件交換控制工具(例如,240)進行管理,該軟件交換控制工具具有自身的尋址和安全機制,其中后者與物理網(wǎng)絡(luò)(200)及其尋址機制正交(獨立)??刹捎枚喾N不同的方法在虛擬網(wǎng)絡(luò)中和虛擬網(wǎng)絡(luò)間以及物理網(wǎng)絡(luò)上傳輸包(例如217)。
[0099]虛擬網(wǎng)絡(luò)域中由每個獨立的應(yīng)用的事件產(chǎn)生或消耗的網(wǎng)絡(luò)IP (和/或以太網(wǎng))包(例如217)被封裝在由物理網(wǎng)絡(luò)傳輸?shù)钠渌鸌P (和/或以太網(wǎng))包中。這里,虛擬網(wǎng)絡(luò)包將被稱為內(nèi)包,而物理網(wǎng)絡(luò)包將被稱為外包。在服務(wù)器210上運行的管理程序(231)或主機0/S (未示出)中完成物理網(wǎng)絡(luò)包內(nèi)的虛擬網(wǎng)絡(luò)包的封裝的和/或解封裝的功能。此外,封裝和解封裝功能還可在第一跳物理網(wǎng)絡(luò)交換機(例如交換機206之一)、網(wǎng)絡(luò)路由器等中的網(wǎng)絡(luò)的邊緣處進行。該功能一般被稱為隧道(tunneling)并頻繁地使用于網(wǎng)絡(luò)化中以創(chuàng)建覆蓋網(wǎng)絡(luò)。有多種不同的隧道協(xié)議用于行業(yè)中,其中,不同的協(xié)議在另一協(xié)議內(nèi)部進行,例如,通過GRE的IP、通過GRE的VxLAN、MPLS等。
[0100]云數(shù)據(jù)中心網(wǎng)絡(luò)可組成大規(guī)模分布式的復(fù)雜系統(tǒng),因為通過每個服務(wù)器具有一個或多個鏈路,而每個鏈路具有相應(yīng)的IGbps或IOGbps或更高帶寬的鏈路,相互連接的服務(wù)器的數(shù)量可以非常龐大。為了構(gòu)成可以相互連接所有這樣的鏈路的網(wǎng)絡(luò),操作者一般使用各自具有N個輸入(入口)鏈路XM個輸入(出口)鏈路的多個交換機(或路由器)。這些個體交換機中的每一個可作為具有自身IP地址的IP路由器。多個路由器可被操作地相互耦接以定義路由器或相似的多級路由設(shè)置的CLOS網(wǎng)絡(luò)。
[0101]參照圖6到7中所示的某些細節(jié),在虛擬化覆蓋系統(tǒng)的各個“層”或業(yè)務(wù)平臺中可存在多個不同種類的部件。
[0102]這些平臺之一是虛擬到物理的轉(zhuǎn)發(fā)平臺230 (圖7所示)。其包括所謂的虛擬網(wǎng)絡(luò)路由器(VNRouter,或多個簡單的VRouter232到239)。這些部件可存在于各個物理服務(wù)器(例如,210)的各個管理程序(231)中,或其可存在在所謂架頂交換機(未示出)上,該交換機一般包括在虛擬到物理轉(zhuǎn)發(fā)平臺230中。當VRouter被放置在管理程序中時,其作為具有連接至虛擬機(VM)的相應(yīng)虛擬端`口和對應(yīng)于相應(yīng)服務(wù)器210的物理I/O端口的物理端口的軟件交換機進行工作。每個VNRouter在其虛擬端口和物理端口之間和/或其虛擬端口之間選擇性地路由/交換包。VNRouter可被看作為虛擬網(wǎng)絡(luò)系統(tǒng)中的數(shù)據(jù)/轉(zhuǎn)發(fā)平臺部件。為了支持可擴展的靈活性,在給定管理程序中的某些VRouter (例如,232到235)可被用于服務(wù)第一虛擬網(wǎng)絡(luò)(UV-Vnet (l)),VRouter的另一個子集(例如,236到237)可被用于服務(wù)第二虛擬網(wǎng)絡(luò)(UV-Vnet (2)),而VRouter的另一個子集(例如,238到239)可保持備用以動態(tài)地分配至第一和第二用戶可見網(wǎng)絡(luò)(例如,UV-Vnet (I)、UV-Vnet (2))或分配至被動態(tài)事件化的其他虛擬網(wǎng)絡(luò)(Vnet)。
[0103]SDN系統(tǒng)1000內(nèi)的多個層或平臺中的另一個被稱為控制平臺240,其可包括實現(xiàn)各個控制器或控制器進程的多個虛擬機(VMc^iX這些一般被配置為在虛擬網(wǎng)絡(luò)系統(tǒng)內(nèi)提供動態(tài)可擴展控制功能的可水平擴展部件(正如VRouter —般被配置為可水平擴展部件)??刂破鞣謩e可操作耦接至VNRouter的相應(yīng)組,并分別將相應(yīng)的路由信息分配至其動態(tài)可擴展的VNRouter組。在一個示例中,虛擬網(wǎng)絡(luò)系統(tǒng)的相對尺度大約近似于100個到1000個的VNRouter (例如232)和100個對應(yīng)的控制器(例如,VNepl)。
[0104]SDN系統(tǒng)1000中的多個層或平臺中的另一個被稱為配置平臺250,其可包括執(zhí)行相應(yīng)配置進程的多個虛擬機(VMg^k)15這些一般被配置為在虛擬網(wǎng)絡(luò)系統(tǒng)中提供關(guān)于相互連接的配置功能和/或其他配置的可水平擴展部件(正如VRouter和控制器一般被配置為可水平擴展部件)。配置控制器分別可操作地耦接至物理網(wǎng)絡(luò)(200)的相應(yīng)部分和/或控制平臺240的相應(yīng)部分,并將相應(yīng)的配置信息信號分別分配至其所控制的對方。
[0105]SDN系統(tǒng)1000內(nèi)的多個層或平臺的再一個被稱為分析平臺280。分析平臺280內(nèi)的部件(例如VMnl)—般負責自動監(jiān)視和/或自動搜集虛擬網(wǎng)絡(luò)系統(tǒng)的其他部分的所報告狀態(tài)。換句話說,分析部件一般負責從系統(tǒng)中的其他全部部件處收集信息以產(chǎn)生系統(tǒng)中整體發(fā)生事件的鳥瞰或大型視圖。該大型數(shù)據(jù)信息一般存儲在穩(wěn)定的數(shù)據(jù)庫中。該信息之后可以被用于顯示系統(tǒng)的當前狀態(tài),來幫助處理排除故障問題,進行系統(tǒng)的歷史或?qū)崟r分析等。
[0106]由于SDC系統(tǒng)1000的高可擴展性和可變性,其易于發(fā)生多個故障和失效模式。換句話說,由于所涉及部件的尺寸和數(shù)量,可能一個或多個將處于故障模式。另一方面,則希望SDN系統(tǒng)1000為其用戶(例如,205x、250y、205w、205z)提供持續(xù)強健、可靠、高帶寬和高質(zhì)量的服務(wù)。所以,處于故障模式的部件需要通過利用每個水平可擴展層中的一般處于備用的空閑部件來進行解決。換句話說,SDN系統(tǒng)1000可以是有靈活性的,并且盡管其部件中的不同部件中發(fā)生孤立的故障也可持續(xù)以在高容量附近工作。希望避免故障和/或被配置為解決已知或預(yù)知故障模式的多種部件包括在相應(yīng)和不同層或平臺中的不同類型的部件,這些層或平臺包括轉(zhuǎn)發(fā)平臺230、控制平臺240、配置平臺250、甚至是全局分析平臺280。
[0107]有時,在這種復(fù)雜和大型的分布式系統(tǒng)中出現(xiàn)復(fù)雜和難以追蹤和排除的故障模式。有時,系統(tǒng)管理員(例如206z)需要追蹤回個體用戶可見域(例如用戶可見虛擬網(wǎng)絡(luò)(Vnet)或其他一般的UVE)中的個體進程(例如UVP1、UVP2、……UCPn)以便確定什么發(fā)生故障。
[0108]然而,將各個虛擬機和/或物理機中各個進程的個體和本地追蹤記錄綁定在一起的共同共享搜索關(guān)鍵字、將特定部件層的進程綁定在一起的共同共享搜索關(guān)鍵字、以及將特定進程事件的進程綁定在一起的共同共享搜索關(guān)鍵字可能是不可行的。
[0109]根據(jù)本公開的一個方面,在追蹤記錄生成時,每個這樣的追蹤記錄或其他報告自動地被用以下項中的至少一個標記:(a)唯一的用戶可見實體(UVE)識別關(guān)鍵字(UVEKey ),該識別關(guān)鍵字標識相應(yīng)的報告(例如,追蹤記錄)進程所屬的對應(yīng)的專用虛擬網(wǎng)絡(luò)(Vnet)和/或其他UVE ; (b)相應(yīng)層識別關(guān)鍵字(TRxKey),其標識相應(yīng)的報告進程所屬的對應(yīng)系統(tǒng)層(TRx,例如,虛擬到物理轉(zhuǎn)發(fā)平臺);(C)相應(yīng)的虛擬和/或物理執(zhí)行機識別關(guān)鍵字(VMKey、PMKey),其標識相應(yīng)的報告進程所屬的對應(yīng)的虛擬機(VM)和/或物理機(PM) ;(d)相應(yīng)進程事件識別關(guān)鍵字(PINKey),其標識相應(yīng)報告所屬的被多次事件化并標識的進程的對應(yīng)事件PIN ;以及(e)相應(yīng)當前操作狀態(tài)指示(Op-State),指示與相應(yīng)的報告相關(guān)聯(lián)的相應(yīng)UVE、層、VM、PM或其他這樣的分層特性的當前操作狀態(tài)。
[0110]之后,被這樣標記的進程報告(例如,追蹤記錄、異常報告等)在被生成至集中式數(shù)據(jù)庫(例如,在全局分析平臺中)時或不久之后被自動地轉(zhuǎn)發(fā)以使其不由于本地存儲器的故障或失效而丟失,并使其可由系統(tǒng)管理員(例如,206Z)集中地查詢,管理員使用一個或多個附加的標記(例如,UVEKey> TRxKey> VMKey、PMKey、PINKey、層 Op-State、其他層 Op-State等)作為對集中式數(shù)據(jù)庫(例如,保持在大型分布式系統(tǒng)的全局分析平臺中)的被構(gòu)造的查詢的一部分,以確定近期故障的多個近似原因。甚至在故障發(fā)生之前也可使用可查詢數(shù)據(jù)庫以識別可導(dǎo)致故障的近似故障情況,其中,近似故障的情況被基于數(shù)據(jù)庫中的過去的歷史記錄確定,該歷史記錄指示不同層的Op-State中的哪一個與不同的異常報告中的哪一個相組合易于導(dǎo)致進程故障。
[0111]更具體地,本文公開的教學(xué)可被應(yīng)用至由多層組成的分布式系統(tǒng)(例如,軟件定義的網(wǎng)絡(luò)(SDN)系統(tǒng)),每層均具有相應(yīng)的不同的功能。每層可被獨立地水平擴展,包括在不同機器上運行的多個進程,其中每個進程關(guān)于相應(yīng)數(shù)據(jù)的不同事件進行相同的基本操作。層內(nèi)沒有進程可以管理整層。換句話說,進程是對等的,層被設(shè)計為不具有導(dǎo)致整個層癱瘓的單個故障點。
[0112]出于操作可靠性和系統(tǒng)維護的考慮,本公開賦予系統(tǒng)管理員(“Admin”)可將系統(tǒng)看作為獨特用戶可訪問實體(UVE)的集合。每個UVE具有獨層(per-tier)屬性,這有助于Admin確認層是否一同正常地工作。但是,單獨的UVE不具有任何獨進程(per-process)表征。當發(fā)生正常操作,Admin無需知道多少進程存在于給定的層中或其個體狀態(tài)是什么。
[0113]然而,系統(tǒng)的實際操作是基于每一層、每一事件發(fā)生的。某類復(fù)雜問題的調(diào)查可能需要對個體進程的執(zhí)行痕跡進行檢查。本公開通過使用追蹤中包含的多種UVE、層和/或其他標記數(shù)據(jù)使Admin能夠有效地查詢執(zhí)行痕跡。本公開使Admin方便地將進程執(zhí)行痕跡與相應(yīng)UVE相關(guān)聯(lián)。本公開使Admin可編程地獲得UVE狀態(tài)改變和進程執(zhí)行痕跡并運行自動使Admin可以捕捉和/或預(yù)測問題的分析算法,并且/或者啟動更多信息的搜集。
[0114]根據(jù)本公開的一個方面,提供特定的“分析層”,用戶可連接至該“分析層”以查看專用UVE和術(shù)語相應(yīng)UVE的大量分布的進程。更具體地,可使用以下結(jié)構(gòu)和方法。
[0115]在特定的分析層中,自動為每個UVE定義了一個Op-State對象,其表征該對象的集合操作狀態(tài),并包含以下項:
[0116]關(guān)鍵字............(唯一的關(guān)鍵字)
[0117]層OP-State列表............(該UVE的OP狀態(tài)可被提供在該層)
[0118]在某些實例中,不同層中的個體進程不被允許為其進程執(zhí)行痕跡生成自由形式的文本消息。而是在這種實例中,其被強制自動生成包含以下信息的對象,并向上發(fā)送這些對象至分析層。
[0119]關(guān)鍵字:(該執(zhí)行痕跡消息所提到的UVE的關(guān)鍵字)
[0120]層Op-State:(用于該UVE的層Op-State,如在該層的該進程上所見)
[0121]層Op-State可被認為是屬性的列表。屬性值可以是:
[0122]基礎(chǔ)數(shù)據(jù)類型
[0123]結(jié)構(gòu)(包括子屬性和/或其他子結(jié)構(gòu)和子容器列表)
[0124]保持多項基礎(chǔ)數(shù)據(jù)類型、子結(jié)構(gòu)或子容器的容器。
[0125]“層Op-State”模式可基于每個層的每個UVE而不同。當相應(yīng)的進程發(fā)送其進程執(zhí)行痕跡時,其可選擇只填入屬性的子集而不是全部。原因在于代碼中進程執(zhí)行痕跡所生成的位置可能不能方便地取得所有屬性。
[0126]一旦相應(yīng)的處理報告被中繼至集中化分析層,分析處理可如下進行。分析層中不同的進程可負責追蹤不同UVE的操作狀態(tài),以使分析層可被水平擴展。當分析進程接收到進程執(zhí)行痕跡對象時,其更新其給定UVE集合狀態(tài)的視圖。該進程執(zhí)行痕跡對象可作為事件到達,或可從記錄中周期性地閱讀痕跡對象的分支。[0127]在一個實例中,虛擬網(wǎng)絡(luò)系統(tǒng)(1000)具有至少3層(除了分析層)。層I是其中具有相應(yīng)的一個或多個虛擬機并出于示例的原因具有在該層中執(zhí)行的3個進程(A1、A2和A3)的配置層(圖7中的配置平臺250)。層2是出于示例的原因具有在該層中執(zhí)行的對應(yīng)的5個進程(BI到B5)的控制平臺層(240)。層3是出于示例的原因具有在該層中執(zhí)行的20個進程(Cl到C20)的SDN轉(zhuǎn)發(fā)層(230)。
[0128]現(xiàn)考慮特定的UVE,即多個其他的被標識的UVE (見圖7中的207vl到207vn)中的表征具有為UV-VNet (I)的標識的虛擬網(wǎng)絡(luò)的一個。
[0129]該示例性UVE (UV-VNet (O)的層3表征可具有以下屬性:
[0130]int bytes_received;
[0131]list<string>virtual_machine_names;
[0132]對應(yīng)虛擬網(wǎng)絡(luò)存在于(SDN轉(zhuǎn)發(fā)層230中的)進程Cl、C4、ClO和C15上,每個進程都發(fā)送其自身版本的這些屬性作為其相應(yīng)執(zhí)行痕跡的一部分。例如,某些痕跡報告“bytes_received”的改變。其他痕跡報告元件被添加至或刪除出“virtual_machine_names”。相應(yīng)地,負責被標識虛擬網(wǎng)絡(luò)(例如,207vl)的分析進程得到這些痕跡。該分析進程保持并更新虛擬網(wǎng)絡(luò)(例如207vl)的4個不同的層3快照。之后,當分析進程得到用于進程C4的“bytes_received”痕跡,其只需要為進程C4替換“bytes_received”的屬性。但當其為進程C4添加或刪除“virtual_machine_names”項時,其需要為快照C4添加或刪除其“virtual_machine.names"屬性。由此對于通常進程操作來說,分析層的工作負荷被最小化。
[0133]在進程故障或失效情況期間,某些進程執(zhí)行痕跡可能丟失。為了減輕這種情況,本方法基于每個UVE對從進程向上發(fā)送至分析層的痕跡使用序列號。如果在序列號中存在間隔,則分析層可要求進程中繼在該進程上的UVE的整個當前狀態(tài)。而且,在一個示例中,當UVE從進程中消失時,進程明確地發(fā)送痕跡。
[0134]Admin和/或其他用戶與分析層(280)的之間的交互可包括以下內(nèi)容:當系統(tǒng)用戶要求該UVE的層3狀態(tài)時,該請求被轉(zhuǎn)發(fā)至負責相應(yīng)虛擬網(wǎng)絡(luò)(例如,207vl)的分析進程。例如,該分析進程可通過集合進程C1、C4、C10和C15的4條OP-State快照來向用戶呈現(xiàn)一個單獨的視圖。集合方法可涉及這些進程視圖間的簡單添加(例如,對“bytes_received”),或組合并(例如,對”virtual_machine_names”),或其他操作。分析層可根據(jù)要求(當用戶或其他程序要求該UVE時)執(zhí)行這些,或其可提前地或周期性地執(zhí)行這些。
[0135]鑒于上述,可見,提供一種用于實現(xiàn)與一個或多個普通共享搜索密鑰(例如UVE密鑰、TRx密鑰、PIN密鑰、VM密鑰、PM密鑰和/或?qū)硬僮鳡顟B(tài)指示器)連接一起的目標的方法,各個跟蹤日志和/或其他自動生成的處理報告分散在大規(guī)模分布式系統(tǒng)(例如,軟件定義網(wǎng)絡(luò)(SDN)系統(tǒng)1000)中,使得利用特定UVE和/或分層和/或虛擬機和/或?qū)硬僮鳡顟B(tài)等的公用性而彼此相關(guān)聯(lián)的那些報告可以邏輯上鏈接一起,以用于分析目的。通過該方法自動創(chuàng)建的中心化交叉相關(guān)的報告可以用于分析復(fù)雜故障模式,并且甚至在實際發(fā)生故障之前預(yù)測特定組件的可能故障,以及然后響應(yīng)地更換和/或重啟可能故障的組件,和/或重新配置資源能力(例如,VM的數(shù)量、PM的數(shù)量、物理存儲器的量等),用于重新配置互連以在稍后的實際故障之前避開可能故障的組件。例如,該預(yù)測能力可以允許系統(tǒng)操作者系統(tǒng)地使系統(tǒng)的相應(yīng)部件承轉(zhuǎn)在非高峰時段期間,并且在實際故障之前將可能故障的組件更換和/或維修,由此將整個系統(tǒng)可能故障的影響最小化。[0136]根據(jù)本發(fā)明,提供一種用于全局向下分析至處理水平、大規(guī)模分布式系統(tǒng)的組件并且識別這種大規(guī)模分布式復(fù)雜系統(tǒng)中可能故障的組件的方法。該方法包括以下步驟中的一個或多個:
[0137](a)將系統(tǒng)再細分為多個分層(例如,230、240、250、250、280),每個分層的特征在于在該分層內(nèi)具有相似的組件(例如,虛擬路由器);
[0138](b)將系統(tǒng)操作再細分成多個用戶可見實體(UVE ;例如,虛擬網(wǎng)絡(luò)或虛擬網(wǎng)207),每個用戶可見實體的特征在于具有各自的處理以及專用于服務(wù)各個UVE的需求的其他資源;
[0139](c)對于每個獨立的UVE和分層,識別與相應(yīng)的UVE密鑰和相應(yīng)的分層密鑰交叉相關(guān)的各自的處理報告,其中報告可以包括定量故障或出錯參數(shù),諸如存儲器故障、電信故障、處理器故障、數(shù)據(jù)包重新發(fā)送和/或丟棄等,以及將UVE以及分層貼簽報告中繼至能夠查詢的中心數(shù)據(jù)庫;
[0140](d)對于本地生成的每個單獨的處理報告,自動地用包括UVE密鑰的一個或多個鏈接密鑰對報告進行貼簽;
[0141](e)對于每個單獨的分層,自動地確定其資源的哪部分被各個UVE中的每一個使用,并且自動地確定任何UVE的所分配資源是否由于重復(fù)的組件故障而變得不足(例如,丟失數(shù)據(jù)包);
[0142](f)對于每個單獨的UVE以及其檢測到的組件故障,將檢測到的組件故障與各個捕獲的參數(shù)快照中的一個或多個邏輯上相關(guān)聯(lián),其中所捕獲的參數(shù)快照緊接在該UVE的各個組件故障之前;
[0143](g)對UVE相關(guān)報告中與故障相關(guān)的那些進行調(diào)查,其中故障可能指向UVE中的故障組件和/或分層;以及
[0144](h)對各個分層組件和UVE中基于調(diào)查被確定為更非常有可能進入故障模式的那些,采取優(yōu)先校正和/或變通方案測試。
[0145]參照圖8,這里示出了 SDN系統(tǒng)1000’’的框圖,其中SDN系統(tǒng)針對其分層中的相應(yīng)一個(例如,虛擬路由器分層)包括相應(yīng)的報告分類器270,其被耦接以自動重復(fù)地(定期地)接收用于指示組件的相應(yīng)操作模式(例如,虛擬路由器232-239中的相應(yīng)一個的虛擬處理(未示出))的參數(shù)快照271。更具體地,在貼簽?zāi)J狡陂g,伴隨有對參數(shù)快照217的中的每一個添加單獨的UVE密鑰272、分層密鑰273、VM密鑰274、PM密鑰275和/或一個或多個層操作狀態(tài)指示器(例如,分層操作狀態(tài))中的一個或多個,例如,層操作狀態(tài)指示器用于指示樣本是屬于故障的操作狀態(tài)還是非故障的操作狀態(tài)。來自大規(guī)模分布式系統(tǒng)的各個資源(例如,服務(wù)器)的貼簽報告279然后被發(fā)送至更中心化的分析引擎285,以根據(jù)各個UVE身份以及分層身份來構(gòu)建聚集(290)。聚集的報告可以包括將其分類為屬于正常操作(良好)類或故障受損類(壞的,例如,沿著Z軸從0%可能性的壞平面至100%可能性的壞平面的測量)。這些聚集輸出298存儲在相應(yīng)的分析引擎285中并被相應(yīng)的分析引擎285使用,以以大的畫面為基礎(chǔ)確定對于每個UVE和/或分層所發(fā)生的事。在一個示例中,相應(yīng)的分析引擎285耦接至重新配置引擎255,使得在隨后接收到的和分析的參數(shù)快照279指示可能發(fā)生故障的情況下,重新配置系統(tǒng)以優(yōu)先試著避免故障。
[0146]在一個示例中,分析平臺從系統(tǒng)的各個UVE、分層、平臺、物理資源內(nèi)的各個組件收集與故障的可能性有關(guān)的各個快照數(shù)據(jù)。各個快照數(shù)據(jù)可以包括例如像CPU利用水平、存儲器利用水平、各個系統(tǒng)部件中的報警水平等的參數(shù)。這些所收集的各個可能相關(guān)的快照(279)可以是各個分層和/或各個UVE中故障發(fā)展和/或即將來臨的故障的早期指示器(例如,對于系統(tǒng)帶寬具有更大需求的一個)。
[0147]盡管圖8以示例的方式示出了來自相應(yīng)一個服務(wù)器210z的虛擬路由器分層232-239的快照的收集,但應(yīng)當理解到,對于跨接大規(guī)模分布式系統(tǒng)的其他分層和/或系統(tǒng)平臺和/或服務(wù)器,可以發(fā)生各個相關(guān)和帶標簽的參數(shù)快照的類似收集,并且收集聚集于分析引擎285中。圖8中所示的XYZ框架是為了簡化示出聚集的以及分類的參數(shù),并且在本發(fā)明的預(yù)期內(nèi),與每個軸(例如,U、V、X、Y等)具有N維映射,其表示與UVE相關(guān)、與分層相關(guān)、與物理機(PM)相關(guān)等所分布的監(jiān)控參數(shù)中的相應(yīng)一個。分析調(diào)查的部分可以包括為每個分層和UVE確定什么樣的參數(shù)是發(fā)展故障和/或可預(yù)測故障的最佳指示器。然后,訓(xùn)練的分類算法可以用于連續(xù)基于新例示的UVE的和虛擬的處理的分析所收集的數(shù)據(jù),預(yù)測各個組件的故障可能性。
[0148]圖9是示出了可以在例如圖8的系統(tǒng)中執(zhí)行的示例方法300的流程圖。盡管關(guān)于圖8的示例進行了一般性描述,但應(yīng)當理解,其他設(shè)備可以被配置為執(zhí)行圖9的方法中的任何步驟或所有步驟。例如,虛擬網(wǎng)絡(luò)控制器22可被配置為執(zhí)行圖9的方法的任何步驟和所有步驟。為了說明的目的,圖8的分析引擎285被說明為執(zhí)行圖9的步驟。
[0149]首先,分析引擎285可以接收用戶可見實體(UVE)的對象跟蹤數(shù)據(jù)(301),該UVE以例如分層“Z”中的情形“Y”的密鑰“X”來表現(xiàn)。S卩,UVE可以指定密鑰的標識符“X”、情形的標識符“Y”以及分層的標識符“Z”,其中,標識符X、Y以及Z可以包括各自的數(shù)字值(例如,整數(shù)值),因此,對于特定跟蹤可以存在多個分層,并且Z表示第Z個分層,Y表示分層Z內(nèi)的第Y個情形,以及X表示分層Z的第Y個情形中的密鑰。然后,分析引擎285可以使用密鑰X、Y以及Z將對象跟蹤存儲在數(shù)據(jù)庫中(302)。以此方式,密鑰X、Y以及Z可用作唯一地標識數(shù)據(jù)庫中跟蹤的數(shù)據(jù)的索引值,例如以更新、查詢、檢索或以其他方式存取跟蹤的數(shù)據(jù)。
[0150]然后,分析引擎285可以確定密鑰“X”是否屬于當前分析情形(303)。當分析引擎285確定跟蹤的密鑰“X”不屬于當前分析情形(303的“否”分支),則分析引擎285可以使所創(chuàng)建的對象跟蹤向前至擁有密鑰“X”的分析情形(304)。另一方面,假設(shè)當前分析情形擁有密鑰“X” (303的“是”分支),則在接收具有情形“Y”的密鑰“X”的UVE的對象跟蹤之后(309),分析引擎285可以在“Y”上確定對象跟蹤是否是UVE的全快照或刪除(310)。
[0151]當在“Y”上對象跟蹤是UVE的全快照或刪除(310的“是”分支)時,分析引擎285可以用所接收到的對象“X”的數(shù)據(jù)更新快照“Y”(311)。即,對于全快照,分析引擎285可以用對象跟蹤中的新內(nèi)容替代快照“Y”??商鎿Q地,對于刪除,分析引擎285可以移除快照“Y”。在任一情況下,分析引擎285可以更新對象X的快照“Y”的序列號。此外,分析引擎285可以為分層“Ζ”建立對象“X”的聚集狀態(tài)(315)。這可以包括對于對象“X”在所有快照上進行循環(huán)以及進行合適的計算(例如,進行值求和、集合的合并等),以生成對象“X”的聚集數(shù)據(jù)。分析引擎285可以然后顯示對象X的聚集狀態(tài)。
[0152]另一方面,當對象跟蹤不是全快照或刪除(310的“否”分支)時,分析引擎285可以確定在情形“Y”時具有密鑰“X”的對象的數(shù)據(jù)的序列號之間是否存在間隙(316)。如果分析引擎285確定存在這種間隙(316的“是”分支),則分析引擎285可以例如在分層“Z”中的情形“Y”時,請求UVE “X”的全快照(317)。以此方式,響應(yīng)于對于分層的處理檢測到序列號之間的間隙,分析引擎285可以向執(zhí)行處理的設(shè)備發(fā)送指令以重放UVE的當前狀態(tài)。
[0153]可替換地,當不存在這種間隙(316的“否”分支),分析引擎285可以更新對象“X”的快照“Y”(318),這可以包括對于與對象X相關(guān)聯(lián)原子型屬性,用新快照的新值替代原子型的值。對于添加或刪除通知容器型,分析引擎285可以添加、刪除或修改容器的本地副本。對于所有情況,分析引擎285可以更新對象“X”的快照“Y”的序列號。此外,分析引擎285可以為分層“Z”建立對象“X”的聚集狀態(tài)(315)。這可以包括對對象X的所有快照進行循環(huán)以及進行合適的計算(例如,進行值求和、集合的合并等),以生成對象X的聚集數(shù)據(jù)。然后,分析引擎285可以顯示對象X的聚集狀態(tài)。
[0154]圖10是示出了根據(jù)本發(fā)明的一個或多個技術(shù)用于將各個處理的數(shù)據(jù)聚集的示例計算設(shè)備350的框圖。圖10僅僅示出了計算設(shè)備350的一個具體示例,并且在其他情況下可以使用計算設(shè)備350的許多其他示例。計算設(shè)備350可相當于虛擬網(wǎng)絡(luò)控制器。S卩,虛擬網(wǎng)絡(luò)控制器22、100可以包括基本類似于圖10中所示的那些的組件。類似地,圖8的分析引擎258可以包括基本類似于圖10中所示的那些的組件。計算設(shè)備350可被配置為執(zhí)行本發(fā)明所描述的各種技術(shù)中的任何一個(例如,圖9的方法)。
[0155]如圖10的具體示例所示,計算設(shè)備350包括一個或多個處理器352、一個或多個通信單元356、一個或多個輸入設(shè)備354、一個或多個輸出設(shè)備358以及一個或多個存儲設(shè)備360。在圖10的具體示例中,計算設(shè)備350進一步包括操作系統(tǒng)362、虛擬模塊以及一個或多個應(yīng)用366A-366N (統(tǒng)稱為“應(yīng)用366”)。組件352、356、354、358以及360中的每一個可以互連(物理方式、通信方式和/或操作方式)以在組件之間進行通信。作為圖10中的示例,組件352、356、354、358以及360可以通過一個或多個通信信道370耦接。在一些示例中,通信信道370可以包括系統(tǒng)總線、網(wǎng)絡(luò)連接、進程間通信數(shù)據(jù)結(jié)構(gòu)或用于通信數(shù)據(jù)的任何其他信道。虛擬模塊364和應(yīng)用366以及操作系統(tǒng)362還可以彼此通信信息以及與計算設(shè)備350內(nèi)的其他組件通信信息。
[0156]在一個示例中,處理器352被配置為實施用于在計算設(shè)備350內(nèi)執(zhí)行的功能和/或處理指令。例如,處理器352能夠處理存儲在存儲設(shè)備360中的指令。處理器352的示例可以包括微處理器、控制器、數(shù)字信號處理器(DSP)、特定用途集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或等效的分立或集成邏輯電路。
[0157]一個或多個存儲設(shè)備360可被配置為在操作期間存儲計算設(shè)備350內(nèi)的信息。在一些示例中,存儲設(shè)備360被描述為計算機可讀存儲介質(zhì)。在一些示例中,存儲設(shè)備360是暫時性存儲器,這意味著存儲設(shè)備360的主要目的不是長期存儲。在一些示例中,存儲設(shè)備360被描述為易失性存儲器,這意味著存儲設(shè)備360在計算機關(guān)閉時不再保持所存儲的內(nèi)容。易失性存儲器的示例包括隨機存取存儲器(RAM)、動態(tài)隨機存取存儲器(DRAM)、靜態(tài)隨機存取存儲器(SRAM)以及本領(lǐng)域熟知的其他易失性存儲器形式。在一些示例中,存儲設(shè)備360用于存儲處理器352要執(zhí)行的程序指令。在一個示例中,存儲設(shè)備360供在計算設(shè)備350運行的軟件或應(yīng)用程序(例如,操作系統(tǒng)362、虛擬模塊364等)使用以臨時存儲程序執(zhí)行期間的信息。
[0158]在一些示例中,存儲設(shè)備360還包括一個或多個計算機可讀存儲介質(zhì)。存儲設(shè)備360可以被配置為比易失性存儲器存儲更大量的信息。存儲設(shè)備360可以進一步被配置為長期存儲信息。在一些示例中,存儲設(shè)備包括非易失性存儲元件。這種非易失性存儲元件的示例包括磁性硬盤、盒式磁帶或卡型盒式磁帶、光盤、軟盤、閃存或電可編程存儲器(EPROM)或電可擦除可編程存儲器(EEPROM)的形式。
[0159]在一些示例中,計算設(shè)備350還包括一個或多個通信單元。通信單元356代表網(wǎng)絡(luò)接口的示例,其中網(wǎng)絡(luò)接口用于與外部設(shè)備(例如,執(zhí)行各種處理的SDN設(shè)備)通信,各種處理例如有遵照各種分層的處理,如上所討論的。在一個示例中,計算設(shè)備350利用通信單元356與外部設(shè)備進行通信。在一些示例中,通信單元356可以通過在一個或多個網(wǎng)絡(luò)(例如,一個或多個無線網(wǎng)絡(luò))上經(jīng)由入站鏈路和出站鏈路發(fā)送數(shù)據(jù)包而進行通信。通信單元356可以包括一個或多個網(wǎng)絡(luò)接口卡(IFC)(例如,以太網(wǎng)卡)、光學(xué)收發(fā)器、射頻收發(fā)器或能夠發(fā)送和接收信息的任何其他類型的設(shè)備。這種網(wǎng)絡(luò)接口的其他示例可以包括藍牙、3G以及WiFi無線電元件。在一些示例中,計算設(shè)備350利用通信單元356接收關(guān)于由外部設(shè)備執(zhí)行的處理的數(shù)據(jù),根據(jù)本發(fā)明的技術(shù),處理器352可以結(jié)合在外部設(shè)備中。
[0160]在一個不例中,計算設(shè)備350還包括一個或多個輸入設(shè)備354。在一些不例中,輸入設(shè)備354被配置為接收來自用戶通過觸摸、音頻或視頻反饋的輸入。輸入設(shè)備354的示例包括存在敏感的顯示器、鼠標、鍵盤、聲音響應(yīng)系統(tǒng)、視頻攝像機、麥克風或用于檢測來自用戶的命令的任何其他類型的設(shè)備。在一些示例中,存在敏感的顯示器包括觸摸敏感顯示器。
[0161 ] 一個或多個輸出裝置358也可被包括在計算裝置350中。在一些實例中,輸出裝置358被配置為提供輸出至使用觸覺、音頻或視頻刺激的用戶。在一個實例中,輸出裝置358包括可感應(yīng)存在的顯示器、聲卡、視頻圖形適配器卡、或任何其他類型的用于將信號轉(zhuǎn)換為人或機器可理解的適當形式的裝置。輸出裝置358的其他實例包括揚聲器、陰極射線管(CRT)監(jiān)視器、液晶顯示器(IXD)、或任何其他類型的能夠產(chǎn)生用戶可理解的輸出的裝置。
[0162]計算裝置350可包括操作系統(tǒng)364。在一些實例中,操作系統(tǒng)364控制計算裝置350的部件的操作。例如,在一個實例中,操作系統(tǒng)364便于模塊應(yīng)用366與處理器352、通信單元356、輸入裝置354、輸出裝置358以及存儲裝置362的通信。應(yīng)用366可均包括可由計算裝置350執(zhí)行的程序指令和/或數(shù)據(jù)。作為一個實例,應(yīng)用366A可包括使計算裝置350執(zhí)行本公開所述的一個或多個操作和行為的指令。
[0163]根據(jù)本公開的技術(shù),計算裝置350可被配置為整合用于一組兩個以上相關(guān)處理的數(shù)據(jù),以形成用于該組兩個以上相關(guān)處理的整合數(shù)據(jù)。具體地,計算裝置350可確定在虛擬網(wǎng)絡(luò)中由各裝置執(zhí)行的該組兩個以上相關(guān)處理,并且接收用于該組兩個以上相關(guān)處理的數(shù)據(jù)??傊摻M處理可對應(yīng)于公共“層(tier)”,例如,公共網(wǎng)絡(luò)平面,并且具體組中的各處理可基本相同。
[0164]更具體地,根據(jù)本公開的技術(shù),經(jīng)由通信單元356通信地耦接至計算裝置350的計算裝置、以及由這些計算裝置執(zhí)行的處理,可被分至各種層。在各個層中,可存在一組相關(guān)(例如,基本相同的)處理。此外,計算裝置350可限定用于各種層的用戶可見實體(UVEs:ser-Visible Entities)。UVE可限定用于各種層的監(jiān)控處理的各種數(shù)據(jù)。例如,UVE可限定檢索處理的屬性。計算裝置350可接收在該處理執(zhí)行期間輸出的數(shù)據(jù),并且根據(jù)UVE,提取用于UVE所限定的屬性的值。計算裝置350還可整合這些數(shù)據(jù)。例如,UVE可限定整合某類數(shù)據(jù)(對應(yīng)于屬性,諸如添加、組的合并、串聯(lián)、列表的生成等)的方式。
[0165]之后計算裝置350可產(chǎn)生表示層和用于與該層對應(yīng)的一個或多個屬性的整合值(如對應(yīng)的UVE所限定的)的一個或多個報告。此整合可被透明地執(zhí)行至執(zhí)行該處理的裝置。即,執(zhí)行該處理的裝置完全不需要參與該整合。管理員可使用整合報告來診斷虛擬網(wǎng)絡(luò)的各方面。例如,報告可包括表不量化失效、故障參數(shù)、存儲器失效、電信失效、處理器失效、報重發(fā)、和/或丟棄的通信段中的一個或多個的數(shù)據(jù)。使用報告,管理員可基于報告內(nèi)容,例如,通過重編程經(jīng)由通信單元356與計算裝置350通信地耦接的裝置,增加、替換或移除裝置間的鏈接、增加或升級用于一個或多個裝置的軟件等,確定是否任何或所有這些條件適用并且相應(yīng)地動作。
[0166]在一些實例中,計算裝置350包括分析層,S卩,作用于一般規(guī)則的中間層。UVE可根據(jù)分析層來定義規(guī)則。這樣,計算裝置350可基本自動地操作,即,沒有用戶干預(yù),來執(zhí)行本公開的技術(shù)。分析層可使用UVE的限定以從執(zhí)行相應(yīng)處理的裝置輸出的通信來提取信息,并整合通信的用于某屬性的值(如UVE所限定的)。
[0167]以此方式,計算裝置350代表控制裝置的實例,該控制裝置被配置為為虛擬網(wǎng)絡(luò)確定由虛擬網(wǎng)絡(luò)中的各裝置所執(zhí)行的一組兩個以上相關(guān)處理,接收用于該組兩個以上相關(guān)處理的數(shù)據(jù),并整合用于該組兩個以上相關(guān)處理的數(shù)據(jù)以形成用于該組兩個以上相關(guān)處理的整合數(shù)據(jù)。
[0168]圖1lA是大范圍分布式復(fù)合系統(tǒng)1200的框圖,并且更具體地,根據(jù)此公開中所述的技術(shù)的軟件定義網(wǎng)絡(luò)(SDN:software defined networking)系統(tǒng)的框圖。系統(tǒng)1200可代表圖1的網(wǎng)絡(luò)8的實例。S卩,系統(tǒng)1200可代表云實施數(shù)據(jù)中心環(huán)境,其中,提供了大量提供計算和/或存儲能力以運行許多不同用戶和/或其他類型的應(yīng)用程序(例如,用戶可見處理1216)的網(wǎng)絡(luò)互連服務(wù)器(例如,1210x、1210y)。從應(yīng)用的角度來看,這樣的環(huán)境容易非常動態(tài)。系統(tǒng)1200可包括自動操作級別,至少在一定程度上,該自動操作級別使用戶與基礎(chǔ)設(shè)施細節(jié)隔離,并且避免了手動干涉的需要,以互連物理服務(wù)器從而提供為使能各種應(yīng)用以執(zhí)行至充分的一個級別或另一級別所需的計算機或存儲器能力。
[0169]為了使能自動操作和基礎(chǔ)設(shè)施(例如,物理互連構(gòu)造1180)的靈活性,存在一種日益增長的趨勢,即在物理計算簇的頂部部署覆蓋網(wǎng)絡(luò)解決方案或虛擬網(wǎng)絡(luò)系統(tǒng),其中,覆蓋和/或虛擬子系統(tǒng)封裝并自動管理保持許多物理網(wǎng)絡(luò)交換機和路由器(例如,1185、1187)和信道(例如,1186)以及在期望帶寬(BW)和期望服務(wù)質(zhì)量(QoS)(此處由1110代表)下的運行的細節(jié)。構(gòu)造1180可代表圖1的構(gòu)造14的實例,并且可包括物理電信信道、路由器、網(wǎng)關(guān)等。
[0170]在這樣的環(huán)境下,服務(wù)器(例如,1210x)可運行一個或多個應(yīng)用和/或客戶操作系統(tǒng)。為了在單個服務(wù)器1210上使能許多客戶操作系統(tǒng)(也被稱作虛擬機(VM) 1215),可使用公知為管理程序(諸如ESX、Hyper-V, KVM、Xen等)的虛擬機監(jiān)視系統(tǒng)。管理程序的實例被示出為圖1的管理程序31和圖1lB的1231。VM215上執(zhí)行的單個應(yīng)用(例如,用戶可見處理UVP11216)可要求可由多重個體服務(wù)器1210或在一個或多個服務(wù)器上運行的多重虛擬機1215提供的許多計算和存儲資源的實例。為了在其分布的計算和存儲資源實例間以及與外部世界間共享信息的應(yīng)用,電信網(wǎng)絡(luò)1180使能例如作為包傳送數(shù)據(jù)信號1217的此信息的移動。每當新應(yīng)用在基礎(chǔ)設(shè)施上被實例化和/或被改變,各自的虛擬網(wǎng)絡(luò)(例如,VNetl207v)可被創(chuàng)建和/或改變,以支持新的/改變后的應(yīng)用,并且以允許其所有計算和存儲實例彼此間和/或與外部世界共享信息。各虛擬網(wǎng)絡(luò)用戶1205,或VUSerl205,可利用其各自的資源和事件等來經(jīng)歷他/她/它自己的虛擬網(wǎng)絡(luò)(VNet) 1207。
[0171]在虛擬或覆蓋網(wǎng)絡(luò)環(huán)境中,網(wǎng)絡(luò)的邊緣從物理網(wǎng)絡(luò)元素(例如,交換機或路由器1185)擴展至在管理程序(1231)內(nèi)或物理服務(wù)器(例如1210z)上的主機操作系統(tǒng)內(nèi)運行以提供電信虛擬接口(VTI) 1220的軟件交換機(例如,圖1lB中所示的VRouterl232)。VRouterl232可代表圖2的軟件交換機30的實例。由應(yīng)用使用以與其實例通信的虛擬和/或覆蓋網(wǎng)絡(luò)被動態(tài)創(chuàng)建,并且由具有其自己的尋址和安全機制的軟件交換機控制手段(例如,圖5的控制平面VMl112或圖1lB的控制平面1240)來管理,其中,安全機制與物理網(wǎng)絡(luò)1180以及其尋址機制互不相關(guān)。存在許多不同方法可被用來在虛擬網(wǎng)絡(luò)內(nèi)或其間以及在物理網(wǎng)絡(luò)上傳送包(例如,1217)。
[0172]由虛擬網(wǎng)絡(luò)域中的應(yīng)用的實例生成或消費的網(wǎng)絡(luò)IP (和/或以太網(wǎng))包(例如,1217)可被封裝進由物理網(wǎng)絡(luò)傳送的另一 IP (和/或以太網(wǎng))包中。此處,虛擬網(wǎng)絡(luò)包將指代內(nèi)部包,并且物理網(wǎng)絡(luò)包將指代外部包。物理網(wǎng)絡(luò)包內(nèi)的虛擬網(wǎng)絡(luò)包的封裝和/或解封裝的功能在管理程序1231中或運行在服務(wù)器1210上的主機0/S (未示出)中完成。此外,封裝和/或解封裝功能也可在網(wǎng)絡(luò)的邊緣處第一跳物理網(wǎng)絡(luò)交換機路由器(例如,1185)中執(zhí)行。
[0173]云數(shù)據(jù)中心網(wǎng)絡(luò)可構(gòu)成大范圍分布式復(fù)合系統(tǒng)的實例,因為互連服務(wù)器的數(shù)量會非常大,各服務(wù)器代表一個或多個鏈路,均具有各自的IGbps或IOGbps或更大的帶寬鏈路。為了構(gòu)建能夠互連所有這樣的鏈路的網(wǎng)絡(luò),操作員通常使用具有N個輸入(入站)鏈路XM個輸出(出站)鏈路的一些交換機(或路由器)。這些個體交換機中的每個可用作具有其自己的IP地址的IP路由器。
[0174]參照圖1lA?IlB所示的一些細節(jié),在虛擬重疊系統(tǒng)的各自的“層”或服務(wù)平面中可存在多個不同種類的組件。這些平面之一是虛擬至物理轉(zhuǎn)發(fā)平面1230。它包括虛擬網(wǎng)絡(luò)路由器(VNRouter,或更簡單地,VRouterl232-1239)。這些組件可駐留在各自的物理服務(wù)器(例如,1210)的各自的管理程序1231中,或他們可駐留在通常被包括在虛擬至物理轉(zhuǎn)發(fā)平面1230中的棧頂交換機(未示出)中。當VRouter被設(shè)置在管理程序1231中時,其用作具有連接至虛擬機(VM)的各自的虛擬端口以及與各自的服務(wù)器1210的物理I/O端口相對應(yīng)的物理端口這兩者的軟件交換機。各VNRouter在其虛擬端口和物理端口間和/或其虛擬端口間選擇性地路由/交換包。VNRouter可被視為虛擬網(wǎng)絡(luò)系統(tǒng)的數(shù)據(jù)/轉(zhuǎn)發(fā)平面組件。
[0175]系統(tǒng)1200內(nèi)的多個層或平面中的另一個被稱作控制平面1240,并且其可包含實施各自的控制器或控制器處理的多個虛擬機(VMcp-1)。控制器可代表圖5的控制平面VMl 12的實例,其提供虛擬網(wǎng)絡(luò)系統(tǒng)內(nèi)的控制功能??刂破骶僮鞯伛罱又粮鹘MVNRouter,并且均將各自的路由信息信號分發(fā)至其VNRouter。在一實施方式中,虛擬網(wǎng)絡(luò)系統(tǒng)的相對規(guī)模在數(shù)千VNRouter (例如,1232)和數(shù)百相應(yīng)控制器(例如,VMcpl)的數(shù)百的量級上。
[0176]系統(tǒng)1200內(nèi)的多個層或平面中的另一個被稱作配置平面1250,并且其可包括實施各自的配置處理的多個虛擬機(VMgp-k)??刂破骺纱韴D5的配置VM108的實例,其關(guān)于互連和/或虛擬網(wǎng)絡(luò)系統(tǒng)內(nèi)的其他配置提供控制功能。配置控制器均操作地耦接至物理網(wǎng)絡(luò)(1180)的各自部分和/或控制平面1250的各自的部分,且均將各自的配置信息信號分發(fā)至其控制對象。
[0177]系統(tǒng)1200內(nèi)的多個層或平面中的再一個被稱作分析平面1280。分析平面1280內(nèi)的(例如,VMnl)組件通常負責自動監(jiān)控和/或自動收集虛擬網(wǎng)絡(luò)系統(tǒng)的其他部分的報告狀態(tài)。分析平面1280內(nèi)的組件可代表圖5的分析VM104的實例。分析組件被分配任務(wù),從系統(tǒng)中的所有其他組件收集信息,以發(fā)展出系統(tǒng)中總體上在發(fā)生什么這樣的高級視角。此“大數(shù)據(jù)(Big Data)”信息可被存儲在例如圖5的分析VM106的永久數(shù)據(jù)庫中。之后此信息可被用來展示系統(tǒng)的當前狀態(tài),以幫助調(diào)試問題,以進行系統(tǒng)的歷史或?qū)崟r分析等。
[0178]因為系統(tǒng)1200的高度可擴展性以及可變特性,可能容易出現(xiàn)很多故障和失效模式。然而,系統(tǒng)1200的管理員尋求向其用戶(例如,1205x、1205y、1205w、1205z)提供持續(xù)強健、可靠、高帶寬和高服務(wù)質(zhì)量。換言之,系統(tǒng)1200應(yīng)可靠并且繼續(xù)在接近峰值性能下操作,不管其各種的組件中被隔離的失效。期望保持無失效和/或被配置為在已知或預(yù)期的失效模式中工作的各種組件包括各自的和不同的層或平面中的各種不同組件,包括轉(zhuǎn)發(fā)平面1230、控制平面1240、配置平面1250以及甚至全局分析平面1280。
[0179]為實現(xiàn)這些目標,具有在失效實際發(fā)生前預(yù)測可能的失效、并且響應(yīng)性地替換和/或重啟可能失效的組件和/或在可能失效的組件實際失效前重配置可能失效的組件周圍的互聯(lián)的能力是有用的。例如,此預(yù)測能力可允許系統(tǒng)操作員系統(tǒng)性地在非高峰時段期間停止系統(tǒng)的相應(yīng)部分,并在實際失效前替換和/或修復(fù)可能失效的組件,從而最小化可能的失效對整個系統(tǒng)的沖擊。
[0180]根據(jù)本公開,提供了一種用于識別大規(guī)模分布式復(fù)合系統(tǒng)中的可能失效的組件的方法,包括以下步驟中的一個或多個:
[0181](a)將系統(tǒng)細分成多個層(例如,1230、1240、1250、1280),各層的特征在于在該層中具有相同組件(例如,VRouter);
[0182](b)對于各自的層,識別各自的層的各自的組件的各自的量化參數(shù)(例如,每單位時間的存儲器失效、每單位時間的處理器失效、每單位時間的信道失效、每單位時間的包重發(fā)和/或丟棄),其量化值可能用作該各自的層中的組件故障和/或失效的指示符;
[0183](C)對于各自的層,自動重復(fù)捕獲識別出的層組件的各自的量化參數(shù)的樣本快
昭.[0184](d)對于各自的層,自動重復(fù)檢測組件失效(例如,丟失包);
[0185](e)對于各自的檢測出的組件失效,將檢測出的組件失效與剛剛先于各自的組件失效的一個或多個各自的捕獲的參數(shù)快照邏輯相關(guān);
[0186](f)自動重復(fù)訓(xùn)練可訓(xùn)練式自動分類器,以發(fā)展區(qū)分與一個或多個檢測出的失效邏輯相關(guān)的第一組件參數(shù)組和與一個或多個檢測出的失效不邏輯相關(guān)的第二組件參數(shù)組的分類結(jié)構(gòu);
[0187](g)在所述訓(xùn)練后,將訓(xùn)練后的分類器置于預(yù)測模式,其中,訓(xùn)練后的分類器被自動重復(fù)供給更多近來的且自動重復(fù)捕獲的樣本快照,并且其中,訓(xùn)練后的分類器使用其發(fā)展的分類結(jié)構(gòu)(例如,下述的類分離面)來將預(yù)測中模式(in-prediction-mode)樣本快照分類為與失效相關(guān)或與非失效相關(guān);
[0188](h)研究預(yù)測中模式樣本快照中的與失效相關(guān)而可能是故障指示參數(shù)組的那些;以及[0189](i)基于相應(yīng)樣本快照與失效相關(guān)的預(yù)測中模式的指示,對于各自的層組件中的被確定為特別可能進入失效模式的那些,搶先采取校正和/或工作區(qū)措施。
[0190]根據(jù)本公開的技術(shù),還提供了一種大規(guī)模分布式復(fù)合系統(tǒng),其具有多個層并且具有故障和/或失效預(yù)測機制,所述預(yù)測機制包括下述項中的一個或多個:
[0191](a)細分機制,將系統(tǒng)細分成多個層,各層的特征在于具有相同組件;
[0192](b)參數(shù)識別機制,對于各自的層,識別各自的層的各自的組件的各自的量化參數(shù),其量化值可能用作組件故障和/或失效的指示符;
[0193](c)采樣機制,對于各自的層,自動重復(fù)捕獲識別出的層組件的各自的量化參數(shù)的樣本快照;
[0194](d)失效檢測機制,對于各自的層,自動重復(fù)檢測組件失效;
[0195](e)失效至參數(shù)相關(guān)機制,對于各自的檢測出的組件失效,將檢測出的組件失效與剛剛先于各自的組件失效的一個或多個各自的捕獲的參數(shù)快照邏輯相關(guān)(例如,標記);
[0196](f)訓(xùn)練機制,自動重復(fù)訓(xùn)練可訓(xùn)練式自動分類器,以發(fā)展區(qū)分與一個或多個檢測出的失效邏輯相關(guān)的第一組件參數(shù)組和與一個或多個檢測出的失效不邏輯相關(guān)的第二組件參數(shù)組的分類結(jié)構(gòu);
[0197](g)預(yù)測生成機制,在所述訓(xùn)練后,將訓(xùn)練后的分類器置于預(yù)測模式,其中,訓(xùn)練后的分類器被自動重復(fù)供給自動重復(fù)捕獲的樣本快照,并且其中,訓(xùn)練后的分類器使用其發(fā)展的分類結(jié)構(gòu)來將預(yù)測中模式(in-prediction-mode)樣本快照分類為與可能的失效相關(guān)或與可能的非失效相關(guān);
[0198](h)可能的故障和/或失效研究機制,追蹤預(yù)測中模式樣本快照中的與失效相關(guān)而可能是故障指示參數(shù)組的那些;以及
[0199](i)采取行動機制,基于相應(yīng)樣本快照與失效相關(guān)的預(yù)測中模式的指示,對于各自的層組件中的被確定為特別可能進入失效模式的那些,搶先采取校正和/或工作區(qū)措施。
[0200]存在能夠被訓(xùn)練(train)為將輸入數(shù)據(jù)組分類為屬于多個不同(例如,相互排除的)的類別中的一個的各種可訓(xùn)練自動分類器。一個實例為神經(jīng)系統(tǒng)網(wǎng)絡(luò)。另一個實例為所謂的,支持矢量機器(Support Vector Machine, SVM)。這些自動的機器包括具有相關(guān)的學(xué)習算法的監(jiān)督學(xué)習模型(supervised learning model),所述監(jiān)督學(xué)習模型分析提供的樣本數(shù)據(jù)并識別所提供的數(shù)據(jù)樣本(例如,參考組)中的區(qū)別的模式,并利用分析來形成分類和識別分析模型。在第一組參考輸入數(shù)據(jù)中,基本SVM將第一組參考輸入數(shù)據(jù)的預(yù)定的分類結(jié)合在一起并生成所提供的參考輸入數(shù)據(jù)的一個或多個分類模型。然后,在這樣的學(xué)習模型之后,SVM在第二組非參考輸入數(shù)據(jù)(通常不具有預(yù)定的分類的數(shù)據(jù))中進行操作,并預(yù)測,對于第二輸入數(shù)據(jù)組中的給定的一個,輸入數(shù)據(jù)屬于哪兩個或多個可能的類別。在本發(fā)明的公開的情況下,假設(shè)存在兩種彼此排斥的類別,一種為很高可能失效(由于增長的故障而導(dǎo)致),而第二種為不太可能失效。這樣的SVM可以被視為非蓋然二元線性分類器(non-probabilistic binary linear classifier)。假設(shè)一種訓(xùn)練實例,每個被標記為屬于兩種類別中的一種,SVM訓(xùn)練算法建立一種模型,該模型順序地(在訓(xùn)練之后)將新的實例分配至一類(可能失效)或其他類(不太可能失效)中。
[0201]圖12是系統(tǒng)1200〃的框圖,對于其相應(yīng)的各個等級(例如,VRouter等級),其包括對應(yīng)的可訓(xùn)練分類器(例如,SVM) 1270,對應(yīng)的可訓(xùn)練分離器1270被耦接以自動重復(fù)地(例如,周期性地)接收參數(shù)組或“快照”,例如,VR參數(shù)快照1271,表示被觀察到可能進入明顯的故障或很高的可能失效模式的部件(例如VRouterl232-1239)的對應(yīng)操作模式。更具體地,在訓(xùn)練模型(在線1275上被信號告知,線1275信號告知可訓(xùn)練分類器1270的訓(xùn)練模型或預(yù)測模型)期間,每個參數(shù)快照1271伴隨有訓(xùn)練模型分類信號1272,該訓(xùn)練模型分類信號指示所述樣本是否屬于失效類別或非失效類別。響應(yīng)于重復(fù)的訓(xùn)練時間(trainingsession),可訓(xùn)練分類器1270逐步形成內(nèi)部算法(由分類分離表面1295表示),所述內(nèi)部算法將接收的參數(shù)快照1271 (T2)順序地分類為屬于可能好的一類(從100%可能差的平面向表面1295向下測量的1293)或可能差的一類(從0%可能差的平面向表面1295向上測量的1291),其中,TH平面可以通過容差量T0L1294被設(shè)置在表面1295的波谷(trough)的上方。該輸出1298 (例如,指示表面1295的二元信號在TH平面1292的上方或下方)被耦接至對應(yīng)的分析引擎1285,所述分析引擎響應(yīng)于分類確定來確定做什么。在構(gòu)架1290上,點1297表示最近的輸入點,而點1296表示訓(xùn)練的差點。對應(yīng)的分析引擎1285可以被耦接至重新配置引擎1255,所述重新配置引擎在順序接收的參數(shù)快照1271 (T2)表示失效的可能性(likelihood)時,重新配置系統(tǒng),從而盡量避免失效。
[0202]在一些實例中,分析平臺(Analytics plane)包括分析引擎1285以從所述系統(tǒng)的相應(yīng)的層和/或平臺中的各種部件收集與失效可能性相關(guān)的相應(yīng)的快照數(shù)據(jù)。相應(yīng)的快照數(shù)據(jù)例如可以包括,類似于在各種系統(tǒng)部分中的CPU使用等級、存儲器使用等級、警報等級的參數(shù)、協(xié)議部分的等同數(shù)、部件的協(xié)議會話數(shù)等。這些所收集的相應(yīng)的且可能相關(guān)的快照1271可以是增長的故障和/或即將到來的失效的早期指示符。分析裝置將也收集作為訓(xùn)練參考點的各種部件的失效數(shù)據(jù)。例如,部件的連接失效和隨后的具有重新啟動數(shù)據(jù)的重新連接將指示分析裝置相應(yīng)的部件已經(jīng)斷開(失效)且需要重新啟動或替換。
[0203]分析裝置可以利用SDN技術(shù)從各種部件收集相應(yīng)的快照數(shù)據(jù)。在2012年12與21日提交的美國專利申請第13/724,975號中描述了 SDN技術(shù)的實例,其全部內(nèi)容結(jié)合于此作為參考。如上所述,通過VNC22,100,分布式網(wǎng)絡(luò)控制器可以操作為部件的至少一些控制裝置功能的控制裝置,諸如服務(wù)器和機箱式/TOR交換機,并通過SDN通信協(xié)議(也傳輸控制裝置配置信息)接收快照數(shù)據(jù)。SDN通信協(xié)議的實例包括例如相對于圖5所描述的XMPP。
[0204]盡管圖12通過實例的方式示出了從相應(yīng)的一個服務(wù)器1210z的VRouter層1232-1239收集快照,可以理解的是,相應(yīng)的相關(guān)參數(shù)快照的類似的收集和每個的分類表面的形成對于其他的等級和/或系統(tǒng)裝置和/或服務(wù)器將會發(fā)生。可以意識到的是,每個監(jiān)控的部件等級的形成的分類表面1295在某些分類器(諸如神經(jīng)系統(tǒng)網(wǎng)絡(luò))中是不能取得的。當上述輸入數(shù)據(jù)樣本1271、1272作為訓(xùn)練和/或預(yù)測參數(shù)被輸入至相應(yīng)的SVM算法時,相應(yīng)的SVM算法學(xué)習和/或指示相應(yīng)的部件是否落入兩個類別(可能好的1293或可能失效的1291)中的一個中。分類表面1295的形狀可以使預(yù)定的二元閾值等級TH1292的函數(shù)和/或XY平面的分割(未示出)。圖12中所示的XYZ構(gòu)架1290是為了簡單起見而示出,根據(jù)本公開的其他的構(gòu)架可以具有N維映射,每個軸(例如,U、V、X、Y等)表示相應(yīng)的一個監(jiān)控參數(shù)。學(xué)習的部分是為每個等級確定為增長的故障和/或可預(yù)測的失效的最好的指示符的那些參數(shù)?;跀?shù)據(jù)被分析裝置所收集的繼續(xù),訓(xùn)練分類算法(例如,使用分類表面1295的算法)隨后被用來預(yù)測相應(yīng)的部件的失效的可能性。通過加入/改變輸入?yún)?shù)、預(yù)支、參數(shù)空間分割等,也可以基于繼續(xù)提高學(xué)習算法。[0205]圖13A至圖13B示出了可以在圖12的系統(tǒng)中執(zhí)行的處理1300的流程圖。部分1310對應(yīng)于訓(xùn)練模型/階段。分析引擎1285接收系統(tǒng)1200的部件的參數(shù)快照數(shù)據(jù)1271(1311)。分析引擎1285向可訓(xùn)練分類器1270 (同時可訓(xùn)練分類器1270處于訓(xùn)練模式)提供相應(yīng)的部件的參數(shù)快照數(shù)據(jù)1271和分類標識,例如,訓(xùn)練模式分類信號1272 (1315)。
[0206]部分1320對應(yīng)于預(yù)測模式。分析引擎1285接收系統(tǒng)1200的部件的參數(shù)快照數(shù)據(jù)1271 (1321)。分析引擎1285向可訓(xùn)練分類器1270 (同時可訓(xùn)練分類器1270處于分類模式)提供相應(yīng)的部件的參數(shù)快照數(shù)據(jù)1271和分類標識,例如,訓(xùn)練模式分類信號1272(1325)。
[0207]部分1330對應(yīng)于信任建立(confidence building)和動作模型。在預(yù)測時候,如果存在類別標識切預(yù)測不正確(1331的“否”分支),分析引擎1285可以將可訓(xùn)練分類器1270切換為重新訓(xùn)練模式(1332)。如果為(1331的“是”分支),如果可訓(xùn)練分類器1270中的置信水平預(yù)測由于多個正確的預(yù)測而導(dǎo)致的不是充分大(1335的“否”分支),則分析引擎1285和可訓(xùn)練分類器1270重復(fù)置信水平建立階段(1336)。否則(1335的“是”分支),如果預(yù)測指示很可能故障或失效,則分析引擎1285采取適當?shù)膭幼?,這包括發(fā)出警報、向管理員發(fā)送消息等(1337)。分析引擎1285等待預(yù)定的時間量(1341)以確定故障/失效預(yù)測在所述時間被是否被校正(1343)。如果沒有(1343的“否”分支),則分析引擎1285可以將可訓(xùn)練分類器1270切換至重新訓(xùn)練模式(1332)。如果所述預(yù)測是正確的(1343的“是”分支),則處理進行至步驟1335。
[0208]圖14是示出了根據(jù)本公開所描述的技術(shù)參與識別可能故障部件的示例性裝置的框圖。圖14僅示出了計算裝置1401的一個特定的實例,在其他情況下可以使用計算裝置1401的許多其他實例。
[0209]如圖14的特定實例中所示,計算裝置1401包括一個或多個處理器1400、一個或多個通信單元1402、一個或多個輸入裝置1404、一個或多個輸出裝置1406以及一個或多個存儲裝置1408。在圖14的特定實例中,計算裝置1401進一步包括操作系統(tǒng)1410、虛擬化模塊1412以及一個或多個應(yīng)用1414A至1414N(統(tǒng)稱為“應(yīng)用1414”)。每個組件1400、1402、1404、1406和1408可以互連(物理上、通信上和/或操作上),以用于部件內(nèi)部通信。作為圖14中的一個實例,部件1400、1402、1404、1406和1408可以有一個或多個通信信道1416耦接。在一些實例中,通信信道1416可以包括系統(tǒng)總線、網(wǎng)絡(luò)連接、進程間通信數(shù)據(jù)結(jié)構(gòu)或用于通信數(shù)據(jù)的其他信道。虛擬化模塊1412和應(yīng)用141以及操作系統(tǒng)1410也可以彼此通信信息,以及與計算裝置1401中的其他組件通信信息。
[0210]在一個實例中,處理器1400被配置為執(zhí)行計算裝置1401中的用于執(zhí)行的功能性和/或處理指令。例如,處理器1400能夠處理存儲在存儲裝置1408中的指令。處理器1400的實例可以包括,微處理器、控制器、數(shù)字信號處理器(DSP)、特定用途集成電路(ASIC)、場可編程門陣列(FPGA)或等效的分離的或集成的邏輯電路中的任意一個或多個。
[0211]一個或多個存儲裝置1408可以被配置為存儲操作期間計算裝置1401中的信息。在一些實例中,存儲裝置1408被描述為計算機可讀存儲介質(zhì)。在一些實例中,存儲裝置1408為臨時存儲器,這意味著存儲裝置1408的主要目的不是長期存儲。在一些實例中,存儲裝置1408被描述為易失性存儲器,這意味著當關(guān)掉計算機時存儲裝置1408不能保持存儲的內(nèi)容。易失性存儲器的實例包括隨機存取存儲器(RAM)、動態(tài)隨機存取存儲器(DRAM)、靜態(tài)隨機存取存儲器(SRAM)以及現(xiàn)有技術(shù)中已知的其他形式的易失性存儲器。在一些實例中,存儲裝置1408被用來存儲由處理器1400執(zhí)行的程序指令。在一個實例中,存儲裝置1408由在計算裝置1401 (例如,操作系統(tǒng)、虛擬化模塊1412等)上運行的軟件或應(yīng)用使用,以臨時地存儲程序執(zhí)行期間的信息。
[0212]在一些實例中,存儲裝置1408還包括一個或多個計算機可讀存儲介質(zhì)。存儲裝置1408可以被配置為存儲比易失性存儲器存儲更大量的信息。存儲裝置1408可以進一步被配置為用于信息的長期存儲。在一些實例中,存儲裝置1408可以包括非易失性存儲元件。這樣的非易失性存儲元件的實例包括磁性硬盤、盒式磁帶、光盤、軟盤、閃存、或電可編程存儲器(EPROM)或電可擦除可編程存儲器(EEPROM)。
[0213]在一些實例中,計算裝置1401還包括一個或多個通信單元1402。在一個實例中,計算裝置利用通信單元1402與外部裝置進行通信。在一些實例中,通信單元1402可以通過經(jīng)由入站和出站鏈接在一個或多個網(wǎng)絡(luò)(諸如一個或多個無線網(wǎng)絡(luò))上發(fā)送數(shù)據(jù)包來進行通信。通信單元1402可以包括一個或多個網(wǎng)絡(luò)接口卡(IFC)(諸如以太卡)、光學(xué)收發(fā)器、射頻收發(fā)器或可以發(fā)送和接收信息的其他類型的裝置。
[0214]在一個實例中,計算裝置1401還包括一個或多個輸入裝置1404.在一些實例中,輸入裝置1404被配置為通過觸覺、音頻或視頻反饋來從用戶接收輸入。輸入裝置1404的實例包括存在感應(yīng)顯示器(presence-sensitive display)、鼠標、鍵盤、聲音響應(yīng)系統(tǒng)、視頻相機、擴音器或用于檢測來自用戶的命令的其他類型的裝置。在一些實例中,存在感應(yīng)顯示器包括觸摸感應(yīng)屏。
[0215]一個或多個輸出裝置1406也可以包含在計算裝置1401中。在一些實例中,輸出裝置1406被配置為使用觸覺、音頻或視頻刺激來將輸出提供給用戶。在一個實例中,輸出裝置1406包括存在感應(yīng)顯示器、聲卡、視頻圖形適配器卡或用來將信號轉(zhuǎn)換為人類或機器可理解的適當?shù)男问降娜魏纹渌愋偷难b置。輸出裝置1406的另外的實例包括揚聲器、陰極射線管(CRT)監(jiān)控器、液晶顯示器(IXD)或能夠產(chǎn)生對于用戶可理解的輸出的任何其他類型的裝置。
[0216]計算裝置1401可以包括操作系統(tǒng)1412。在一些實例中,操作系統(tǒng)1412控制計算裝置1401的部件的操作。例如,在一個實例中,操作系統(tǒng)1412促進了模塊應(yīng)用1414和處理器1400、通信單元1402、輸入裝置1404、輸出裝置1406和存儲裝置1410的通信。應(yīng)用1414每個均包括通過計算裝置1401可執(zhí)行的程序指令和/或數(shù)據(jù)。作為一個實例,應(yīng)用1414A可以包括使得計算裝置1401執(zhí)行本公開中所描述的操作和動作中的一個或多個的指令。
[0217]根據(jù)本公開的技術(shù),計算裝置1401可以包括分析引擎1418應(yīng)用以識別可能的故障部件。分析引擎1408可以表示分析引擎1285的示例性實例。分析引擎1418可以包括可訓(xùn)練分類器,所述可訓(xùn)練分類器接收表示被觀察到可能進入明顯的故障或很高的可能失效模式的部件的對應(yīng)的操作模式的參數(shù)快照。更具體地,在訓(xùn)練模式中,每個參數(shù)快照伴隨有指示樣本是否屬于失效類別或非失效類別的訓(xùn)練模式分類信號。響應(yīng)與重復(fù)的訓(xùn)練時間,可以訓(xùn)練的分類器逐步形成隨后將所接收的參數(shù)快照分類為屬于可能好的類別或可能差的類別的內(nèi)部算法,其中,TH平面可以通過容限量設(shè)置在波谷的上方。分析引擎1418確定對分類確定的適當?shù)捻憫?yīng)。計算裝置1401可以被耦接至重新配置引擎,所述重新配置引擎在隨后所接收的參數(shù)快照指示失效的可能性時,響應(yīng)于來自于分析引擎1418的指令或部件故障指示,重新配置所述系統(tǒng)以盡量避免失效。
[0218]本文所描述的技術(shù)可以以硬件、軟件、固件或它們的組合來實施。作為模塊、單元或部件所描述的各種特征可以與集成邏輯電路一起實施或分開地實施為分離的但共同操作的邏輯裝置或其他硬件裝置。在一些情況下,電路的各種特征可以被實施為一個或多個集成電路裝置,諸如集成電路芯片或芯片集。
[0219]如果以硬件實施,本公開可以被實施為一種裝置,諸如處理器或集成電路裝置,諸如集成電路芯片或芯片集??蛇x地或另外地,如果以軟件或固件實施,所述技術(shù)可以至少部分地通過計算機可讀數(shù)據(jù)存儲介質(zhì)來實現(xiàn),所述計算機可讀數(shù)據(jù)存儲介質(zhì)包括當被執(zhí)行時使得處理器執(zhí)行上述方法中的一個或多個的指令。例如,計算機可讀數(shù)據(jù)存儲介質(zhì)可以存儲由處理器執(zhí)行的指令。
[0220]計算機可讀介質(zhì)可以形成計算機程序產(chǎn)品(其可以包括封裝材料)的一部分。計算機可讀介質(zhì)可以包括計算機數(shù)據(jù)存儲介質(zhì),諸如隨機存取存儲器(RAM)、只讀存儲器(ROM),非易失性隨機存儲存儲器(NVRAM)、電可擦除可編程只讀存儲器(EEPROM),閃存、磁性或光學(xué)數(shù)據(jù)存儲介質(zhì)等。在一些實例中,制造的產(chǎn)品可以包括一個或多個計算機可讀存儲介質(zhì)。
[0221]在一些實例中,計算機可讀存儲介質(zhì)可以包括非臨時介質(zhì)。術(shù)語“非臨時”可以表示存儲介質(zhì)不是以載波或傳播信號來實施的。在某些實例中,非臨時存儲介質(zhì)可以存儲能夠隨時間而改變的數(shù)據(jù)(例如,在RAM或緩沖器中)。
[0222]代碼或指令可以是由處理電路執(zhí)行的軟件和/或固件,該處理電路包括一個或多個處理器,諸如一個或多個數(shù)字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其他等效集成或離散邏輯電路。因此,本文中所使用的術(shù)語“處理器”可指任何前述結(jié)構(gòu)或任何適于實現(xiàn)本文所述的技術(shù)的其他結(jié)構(gòu)。此外,在某些方面,在本公開中所描述的功能可在軟件模塊或硬件模塊內(nèi)提供。
[0223]除了如上所述的,或者替代如上所述,描述了以下實施方式。在以下任何實施方式中描述的特征可被本文所描述的任何其他實施方式所利用。
[0224]一個實施方式涉及一種方法,包括:通過虛擬網(wǎng)絡(luò)的控制器裝置,確定由虛擬網(wǎng)絡(luò)中的各個裝置執(zhí)行的一組兩個以上的相關(guān)處理;通過控制器裝置,從各個裝置接收該一組兩個以上的相關(guān)處理的數(shù)據(jù);以及通過控制器裝置,聚合該一組兩個以上的相關(guān)處理的數(shù)據(jù),以形成該一組兩個以上的相關(guān)處理的聚合數(shù)據(jù)。
[0225]在一些實施方式中,該方法還可以包括向用戶呈現(xiàn)聚合數(shù)據(jù)。
[0226]在一些實施方式中,聚合數(shù)據(jù)包括用戶可見實體(UVE)的數(shù)據(jù)。
[0227]在一些實施方式中,UVE定義一個或多個屬性,這些屬性的數(shù)據(jù)從所接收的一組兩個以上的相關(guān)處理的數(shù)據(jù)提取,并且聚合包括:提取由UVE定義的一個或多個屬性的值;并且聚合這一個或多個屬性的值。
[0228]在一些實施方式中,UVE定義執(zhí)行該一組兩個以上的相關(guān)處理的層的一個或多個屬性。
[0229]在一些實施方式中,該層包括相應(yīng)的服務(wù)平臺。
[0230]在一些實施方式中,該層包括多個層中的一個,并且其中多個層中的每一個與相應(yīng)的UVE相關(guān)聯(lián)。[0231]在一些實施方式中,多個層包括控制平臺層、分析層、配置層和軟件定義網(wǎng)絡(luò)(SDN)轉(zhuǎn)發(fā)層中的一個或多個。
[0232]在一些實施方式中,UVE包括用于SDN轉(zhuǎn)發(fā)層的UVE,并且其中UVE定義字節(jié)接收屬性和虛擬機名稱屬性。
[0233]在一些實施方式中,多個層以分級方式配置。
[0234]在一些實施方式中,各個層包括相應(yīng)組的處理,并且同一個層的各個處理基本上相似。
[0235]在一些實施方式中,該方法還包括:對于各個層,確定由相應(yīng)的UVE使用的虛擬網(wǎng)絡(luò)的源;并且基于與一個UVE相關(guān)聯(lián)的重復(fù)故障的數(shù)量自動確定一個UVE的源是否足夠。
[0236]在一些實施方式中,該方法還可以包括:對于各個UVE,響應(yīng)于對與UVE相關(guān)聯(lián)的部件故障的檢測,將故障部件與這樣的一個或多個屬性的值邏輯上相關(guān)聯(lián),該一個或多個屬性與部件故障之前的UVE相關(guān)聯(lián)。
[0237]在一些實施方式中,UVE定義用于各個屬性的相應(yīng)的聚合方法,其中相應(yīng)的聚合方法包括加和、對組并集、拼接和列表信息之一。
[0238]在一些實施方式中,UVE對應(yīng)于包括執(zhí)行一組兩個以上的處理的相應(yīng)裝置的虛擬網(wǎng)絡(luò)。
[0239]在一些實施方式中,該方法還可以包括:分析所接收到的UVE的數(shù)據(jù)的包的順序號;并且響應(yīng)于對一個處理的順序號中的間隔的檢測,向正在執(zhí)行這一個處理的裝置發(fā)送指令以重演UVE的當前狀態(tài)。
[0240]在一些實施方式中,該方法還可以包括生成包括聚合數(shù)據(jù)的報告,其中該報告與UVE相關(guān)聯(lián)。
[0241]在一些實施方式中,該報告包括表不定量故障、缺陷參數(shù)、存儲器故障、電信故障、處理器故障、包重發(fā)和丟失通信會話中的一個或多個的數(shù)據(jù)。
[0242]在一些實施方式中,該方法還包括向中央的可詢問的數(shù)據(jù)庫轉(zhuǎn)發(fā)報告和UVE的標識符。
[0243]在一些實施方式中,虛擬網(wǎng)絡(luò)包括軟件定義網(wǎng)絡(luò)(SDN)。
[0244]—個實施方式涉及一種控制器裝置,其包括:一個或多個網(wǎng)絡(luò)接口,通信地耦接至虛擬網(wǎng)絡(luò)的一個或多個裝置;以及處理器,被配置為為虛擬網(wǎng)絡(luò)確定由虛擬網(wǎng)絡(luò)中的各個裝置執(zhí)行的一組兩個以上的相關(guān)處理,經(jīng)由網(wǎng)絡(luò)接口接收該一組兩個以上的相關(guān)處理的數(shù)據(jù),并且聚合該一組兩個以上的相關(guān)處理的數(shù)據(jù)以形成該一組兩個以上的相關(guān)處理的聚合數(shù)據(jù)。
[0245]在一些實施方式中,該處理器還被配置為向用戶呈現(xiàn)聚合數(shù)據(jù)。
[0246]在一些實施方式中,聚合數(shù)據(jù)包括用戶可見實體(UVE)的數(shù)據(jù)。
[0247]在一些實施方式中,UVE定義一個或多個屬性,這些屬性的數(shù)據(jù)從所接收的一組兩個以上的相關(guān)處理的數(shù)據(jù)提取,并且該處理器還被配置為:提取由UVE定義的一個或多個屬性的值;并且聚合這一個或多個屬性的值。
[0248]在一些實施方式中,UVE定義執(zhí)行該一組兩個以上的相關(guān)處理的層的一個或多個屬性。
[0249]在一些實施方式中,該層包括相應(yīng)的服務(wù)平臺。[0250]在一些實施方式中,該層包括多個層中的一個,并且其中多個層中的每一個與相應(yīng)的UVE相關(guān)聯(lián)。
[0251]在一些實施方式中,多個層包括控制平臺層、分析層、配置層和軟件定義網(wǎng)絡(luò)(SDN)轉(zhuǎn)發(fā)層中的一個或多個。
[0252]在一些實施方式中,UVE包括用于SDN轉(zhuǎn)發(fā)層的UVE,并且其中UVE定義字節(jié)接收屬性和虛擬機名稱屬性。
[0253]在一些實施方式中,多個層以分級方式配置。
[0254]在一些實施方式中,各個層包括相應(yīng)組的處理,并且其中同一個層的各個處理基本上相似。
[0255]在一些實施方式中,該處理器還被配置為:對于各個層,確定由相應(yīng)的UVE使用的虛擬網(wǎng)絡(luò)的源;并且基于與一個UVE相關(guān)聯(lián)的重復(fù)故障的數(shù)量自動確定一個UVE的源是否足夠。
[0256]在一些實施方式中,該處理器還被配置為:對于各個UVE,響應(yīng)于對與UVE相關(guān)聯(lián)的部件故障的檢測,將故障部件與這樣的一個或多個屬性的值邏輯上相關(guān)聯(lián),該一個或多個屬性與部件故障之前的UVE相關(guān)聯(lián)。
[0257]在一些實施方式中,UVE定義用于各個屬性的相應(yīng)的聚合方法,其中相應(yīng)的聚合方法包括加和、對組并集、拼接和列表信息之一。
[0258]在一些實施方式中,UVE對應(yīng)于包括執(zhí)行一組兩個以上的處理的相應(yīng)裝置的虛擬網(wǎng)絡(luò)。
[0259]在一些實施方式中,該處理器還被配置為:分析所接收到的UVE的數(shù)據(jù)的包的順序號;并且響應(yīng)于對一個處理的順序號中的間隔的檢測,向正在執(zhí)行這一個處理的裝置發(fā)送指令以重演UVE的當前狀態(tài)。
[0260]在一些實施方式中,該處理器還被配置為生成包括聚合數(shù)據(jù)的報告,其中該報告與UVE相關(guān)聯(lián)。
[0261]在一些實施方式中,該報告包括表不定量故障、缺陷參數(shù)、存儲器故障、電信故障、處理器故障、包重發(fā)和丟失通信會話中的一個或多個的數(shù)據(jù)。
[0262]在一些實施方式中,該處理器還被配置為向中央的可詢問的數(shù)據(jù)庫轉(zhuǎn)發(fā)報告和UVE的標識符。
[0263]在一些實施方式中,虛擬網(wǎng)絡(luò)包括軟件定義網(wǎng)絡(luò)(SDN)。
[0264]一個實施方式涉及一種計算機可讀存儲介質(zhì),其上存儲有當執(zhí)行時使處理器進行以下操作的指令:通過虛擬網(wǎng)絡(luò)的控制器裝置,確定由虛擬網(wǎng)絡(luò)中的各個裝置執(zhí)行的一組兩個以上的相關(guān)處理;通過控制器裝置,從各個裝置接收該一組兩個以上的相關(guān)處理的數(shù)據(jù);以及通過控制器裝置,聚合該一組兩個以上的相關(guān)處理的數(shù)據(jù),以形成該一組兩個以上的相關(guān)處理的聚合數(shù)據(jù)。
[0265]一個實施方式涉及一種預(yù)測部件故障的方法,該方法包括:通過通信協(xié)議并利用包括分析平臺以分析在一個或多個虛擬網(wǎng)絡(luò)中的多個部件的操作的虛擬網(wǎng)絡(luò)控制器,從各個部件接收第一參數(shù)組,其中來自部件的參數(shù)組包括每個都描述部件的狀態(tài)的一個或多個定量參數(shù);通過通信協(xié)議并利用虛擬網(wǎng)絡(luò)控制器,接收所檢測到的一個或多個部件的部件故障的指示;利用虛擬網(wǎng)絡(luò)控制器并使用第一參數(shù)組和所檢測到的部件故障的指示,訓(xùn)練可訓(xùn)練自動分類器開發(fā)分類結(jié)構(gòu),該分類結(jié)構(gòu)在與所檢測到的部件故障邏輯地相關(guān)聯(lián)的部件參數(shù)組以及不與所檢測到的部件故障邏輯地相關(guān)聯(lián)的部件參數(shù)組之間進行區(qū)分;通過通信協(xié)議并利用虛擬網(wǎng)絡(luò)控制器,從各個部件接收第二參數(shù)組;以及利用使用可訓(xùn)練自動分類器和分類結(jié)構(gòu)的虛擬網(wǎng)絡(luò)控制器,預(yù)測第一個部件的故障。
[0266]在一些實施方式中,預(yù)測第一個部件的故障包括根據(jù)分類結(jié)構(gòu)將第一個部件的第二參數(shù)組分類至適當?shù)膲念悺?br>
[0267]在一些實施方式中,分類結(jié)構(gòu)包括一個或多個分類分離面,并且預(yù)測第一個部件的故障包括根據(jù)一個分類分離面將第一個部件的第二參數(shù)組分類至適當?shù)膲念悺?br>
[0268]在一些實施方式中,該一個分類分離面與容差量相關(guān)聯(lián),并且將第一個部件的第二參數(shù)組分類至適當?shù)膲念惏ù_定第二參數(shù)組超過容差量。
[0269]在一些實施方式中,可訓(xùn)練自動分類器包括一個或多個支持向量機,并且訓(xùn)練可訓(xùn)練自動分類器包括將第一參數(shù)組和所檢測到的部件故障輸入至支持向量機以產(chǎn)生分類結(jié)構(gòu)。
[0270]在一些實施方式中,虛擬網(wǎng)絡(luò)控制器是分布式網(wǎng)絡(luò)虛擬控制器,包括多個虛擬網(wǎng)絡(luò)控制器節(jié)點,并且每個虛擬網(wǎng)絡(luò)控制器節(jié)點包括至少交換一些分析信息以實現(xiàn)分析平臺的分析虛擬機。
[0271]在一些實施方式中,多個部件包括虛擬網(wǎng)絡(luò)要素,這些虛擬網(wǎng)絡(luò)要素包括服務(wù)器、架頂式(TOR)交換機或機架交換機中的一個或多個。
[0272]在一些實施方式中,虛擬網(wǎng)絡(luò)控制器使用軟件定義網(wǎng)絡(luò)協(xié)議來從各個部件接收第
一參數(shù)組。
[0273]在一些實施方式中,部件執(zhí)行虛擬網(wǎng)絡(luò)的轉(zhuǎn)發(fā)平臺、控制平臺或配置平臺中的一個。
[0274]一個實施方式涉及一種虛擬網(wǎng)絡(luò)控制器,包括:分析平臺;控制平臺;一個或多個處理器,被配置為執(zhí)行分析平臺以分析一個或多個虛擬網(wǎng)絡(luò)中的多個部件的操作,其中控制平臺通過通信協(xié)議,從各個部件接收第一參數(shù)組,其中來自部件的參數(shù)組包括每個都描述部件的狀態(tài)的一個或多個定量參數(shù),其中控制平臺通過通信協(xié)議,接收所檢測到的一個或多個部件的部件故障的指示,并且其中控制平臺向分析平臺提供第一參數(shù)組和所檢測到的部件故障的指示;可訓(xùn)練自動分類器,其中分析平臺使用第一參數(shù)組和所檢測到的部件故障的指示,訓(xùn)練可訓(xùn)練自動分類器開發(fā)分類結(jié)構(gòu),該分類結(jié)構(gòu)在與所檢測到的部件故障邏輯地相關(guān)聯(lián)的部件參數(shù)組以及不與所檢測到的部件故障邏輯地相關(guān)聯(lián)的部件參數(shù)組之間進行區(qū)分,其中通過通信協(xié)議,從各個部件接收第二參數(shù)組并且向分析平臺提供第二參數(shù)組,并且其中分析平臺使用可訓(xùn)練自動分類器和分類結(jié)構(gòu),預(yù)測第一個部件的故障。
[0275]在一些實施方式中,預(yù)測第一個部件的故障包括根據(jù)分類結(jié)構(gòu)將第一個部件的第二參數(shù)組分類至適當?shù)膲念悺?br>
[0276]在一些實施方式中,分類結(jié)構(gòu)包括一個或多個分類分離面,并且分析平臺通過根據(jù)一個分類分離面將第一個部件的第二參數(shù)組分類至適當?shù)膲念悂眍A(yù)測第一個部件的故障。
[0277]在一些實施方式中,該一個分類分離面與容差量相關(guān)聯(lián),并且將第一個部件的第二參數(shù)組分類至適當?shù)膲念惏ù_定第二參數(shù)組超過容差量。[0278]在一些實施方式中,可訓(xùn)練自動分類器包括一個或多個支持向量機,并且分析平臺通過將第一參數(shù)組和所檢測到的部件故障輸入至支持向量機以產(chǎn)生分類結(jié)構(gòu)來訓(xùn)練可訓(xùn)練自動分類器。
[0279]在一些實施方式中,虛擬網(wǎng)絡(luò)控制器包括實現(xiàn)分布式網(wǎng)絡(luò)虛擬控制器的多個虛擬網(wǎng)絡(luò)控制器節(jié)點,其中每個虛擬網(wǎng)絡(luò)控制器節(jié)點包括至少交換一些分析信息以實現(xiàn)分析平臺的分析虛擬機。
[0280]在一些實施方式中,多個部件包括虛擬網(wǎng)絡(luò)要素,這些虛擬網(wǎng)絡(luò)要素包括服務(wù)器、架頂式(TOR)交換機或機架交換機中的一個或多個。
[0281 ] 在一些實施方式中,虛擬網(wǎng)絡(luò)控制器使用軟件定義網(wǎng)絡(luò)協(xié)議來從各個部件接收第
一參數(shù)組。
[0282]在一些實施方式中,部件執(zhí)行虛擬網(wǎng)絡(luò)的轉(zhuǎn)發(fā)平臺、控制平臺或配置平臺中的一個。
[0283]一個實施方式涉及非暫時性計算機可讀介質(zhì),其包括在被執(zhí)行時使一個或多個可編程處理器進行以下操作的指令:通過通信協(xié)議并利用包括分析平臺以分析在一個或多個虛擬網(wǎng)絡(luò)中的多個部件的操作的虛擬網(wǎng)絡(luò)控制器,從各個部件接收第一參數(shù)組,其中來自部件的參數(shù)組包括每個都描述部件的狀態(tài)的一個或多個定量參數(shù);通過通信協(xié)議并利用虛擬網(wǎng)絡(luò)控制器,接收所檢測到的一個或多個部件的部件故障的指示;利用虛擬網(wǎng)絡(luò)控制器并使用第一參數(shù)組和所檢測到的部件故障的指示,訓(xùn)練可訓(xùn)練自動分類器開發(fā)分類結(jié)構(gòu),該分類結(jié)構(gòu)在與所檢測到的部件故障邏輯地相關(guān)聯(lián)的部件參數(shù)組以及不與所檢測到的部件故障邏輯地相關(guān)聯(lián)的部件參數(shù)組之間進行區(qū)分;通過通信協(xié)議并利用虛擬網(wǎng)絡(luò)控制器,從各個部件接收第二參數(shù)組;以及利用使用可訓(xùn)練自動分類器和分類結(jié)構(gòu)的虛擬網(wǎng)絡(luò)控制器,預(yù)測第一個部件的故障。
[0284]此外,在上述任何實施方式中闡述的任何具體特征可以組合為所描述的技術(shù)的有利實施方式。即,任何具體特征通??蓱?yīng)用于本發(fā)明的所有實施方式。本發(fā)明的各種實施方式均已被描述。
[0285]本文已描述了各種實施方式。這些和其他實施方式均在所附權(quán)利要求的范圍內(nèi)。
【權(quán)利要求】
1.一種方法,包括: 由用于虛擬網(wǎng)絡(luò)的控制器裝置確定由所述虛擬網(wǎng)絡(luò)中的相應(yīng)裝置執(zhí)行的一組的兩個以上的相關(guān)處理; 由所述控制器裝置從所述相應(yīng)裝置接收用于所述組的兩個以上的相關(guān)處理的數(shù)據(jù);以及 由所述控制器裝置匯總用于所述組的兩個以上的相關(guān)處理的所述數(shù)據(jù)以形成用于所述組的兩個以上的相關(guān)處理的匯總數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法, 其中,所述匯總數(shù)據(jù)包括用于用戶可見實體(UVE)的數(shù)據(jù), 其中,所述用戶可見實體限定了一個以上的屬性,針對所述一個以上的屬性從所接收的用于所述組的兩個以上的相關(guān)處理的數(shù)據(jù)提取值,且其中,所述匯總包括: 提取由所述用戶可見實體限定的針對所述一個以上的屬性的值;以及 匯總針對所述一個以上的屬性的所述值。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述用戶可見實體限定了針對層的所述一個以上的屬性,在所述層中,執(zhí)行所述組的兩個以上的相關(guān)處理。
4.根據(jù)權(quán)利要求3所述的方法,其中,所述層包括多個層中的一個,且其中,所述多個層中的每一個與相應(yīng)用戶可見實體相關(guān)聯(lián)。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述多個層包括控制平臺層、分析層、配置層和軟件定義網(wǎng)絡(luò)(SDN)轉(zhuǎn)發(fā)層中的一個或多個。
6.根據(jù)權(quán)利要求4所述的方法,其中,所述用戶可見實體包括用于所述軟件定義網(wǎng)絡(luò)轉(zhuǎn)發(fā)層的用戶可見實體,且其中,所述用戶可見實體限定了字節(jié)接收屬性和虛擬機名稱屬性。
7.根據(jù)權(quán)利要求4所述的方法,其中,每個所述層包括相應(yīng)組的處理,且其中,用于共同的一個所述層的每個所述處理基本相同。
8.根據(jù)權(quán)利要求4所述的方法,還包括: 針對每個所述層,確定由所述相應(yīng)用戶可見實體使用的所述虛擬網(wǎng)絡(luò)的資源;以及 基于與一個所述用戶可見實體相關(guān)聯(lián)的多次重復(fù)故障,自動確定用于所述一個所述用戶可見實體的所述資源不足。
9.根據(jù)權(quán)利要求4所述的方法,還包括: 針對每個所述用戶可見實體,響應(yīng)于檢測到與所述用戶可見實體相關(guān)聯(lián)的組件的故障,將故障組件與針對一個以上的所述屬性的值邏輯關(guān)聯(lián),所述值與在所述組件的所述故障之前的所述用戶可見實體相關(guān)聯(lián)。
10.根據(jù)權(quán)利要求3所述的方法,其中,所述用戶可見實體限定了針對每個所述屬性的相應(yīng)的匯總方法,其中,所述相應(yīng)的匯總方法包括添加、組上聯(lián)合、級聯(lián)和列表形成中的一個。
11.根據(jù)權(quán)利要求1所述的方法, 其中,所述匯總數(shù)據(jù)包括用于用戶可見實體(UVE)的數(shù)據(jù), 其中,所述用戶可見實體對應(yīng)于包括執(zhí)行所述組的兩個以上的處理的所述相應(yīng)裝置的虛擬網(wǎng)絡(luò)。
12.根據(jù)權(quán)利要求1所述的方法, 其中,所述匯總數(shù)據(jù)包括用于用戶可見實體(UVE)的數(shù)據(jù),所述方法還包括: 分析所接收的用于所述用戶可見實體的數(shù)據(jù)的數(shù)據(jù)包的序列號;以及 響應(yīng)于檢測到用于一個所述處理的所述序列號中的間隔,向執(zhí)行所述一個所述處理以再現(xiàn)關(guān)于所述用戶可見實體的當前狀態(tài)的所述裝置發(fā)送指令。
13.根據(jù)權(quán)利要求1所述的方法,其中,所述匯總數(shù)據(jù)包括用于用戶可見實體(UVE)的數(shù)據(jù),所述方法還包括: 生成包括所述匯總數(shù)據(jù)的報告,其中,所述報告與所述用戶可見實體相關(guān)聯(lián),且其中,所述報告包括指示定量故障、失效參數(shù)、存儲器故障、電信故障、處理器故障、數(shù)據(jù)包重發(fā)和丟失通信會話中的一個或多個的數(shù)據(jù)。
14.根據(jù)權(quán)利要求1所述的方法, 其中,來自所述相應(yīng)裝置的用于所述組的兩個以上的相關(guān)處理的所述數(shù)據(jù)包括來自每個所述裝置的第一參數(shù)集,其中,來自裝置的參數(shù)集包括各自描述所述組的兩個以上的相關(guān)處理中的一個的狀態(tài)的一個以上的定量參數(shù),所述方法還包括: 由所述控制器裝置接收對檢測到的關(guān)于所述組的兩個以上的相關(guān)處理中的一個或多個的組件故障的指示; 利用所述控制器裝置和使用所述第一參數(shù)集和對檢測到的組件故障的所述指示,訓(xùn)練可訓(xùn)練的自動分類器,以開發(fā)區(qū)分與檢測到的組件故障邏輯相關(guān)的參數(shù)集和不與檢測到的組件故障邏輯相關(guān)的參數(shù)集的分類結(jié)構(gòu); 利用所述控制器裝置從每個所述裝置接收第二參數(shù)集;以及 利用所述控制器裝置,使用所述可訓(xùn)練的自動分類器和所述分類結(jié)構(gòu),預(yù)測所述組的兩個以上的相關(guān)處理中的第一個的故障。
15.一種控制器裝置,包括: 一個以上的網(wǎng)絡(luò)接口,通信式耦接至虛擬網(wǎng)絡(luò)的一個以上的裝置;以及 處理器,可被配置為針對所述虛擬網(wǎng)絡(luò),確定由所述虛擬網(wǎng)絡(luò)中的相應(yīng)裝置執(zhí)行的一組的兩個以上的相關(guān)處理,經(jīng)由所述網(wǎng)絡(luò)接口接收用于所述組的兩個以上的相關(guān)處理的數(shù)據(jù),以及匯總用于所述組的兩個以上的相關(guān)處理的所述數(shù)據(jù)以形成用于所述組的兩個以上的相關(guān)處理的匯總數(shù)據(jù)。
16.一種控制器裝置,包括: 用于執(zhí)行根據(jù)權(quán)利要求1至14中任一項所述的方法的裝置。
17.一種計算機可讀存儲介質(zhì),其上存儲有指令,所述指令在被執(zhí)行時,使處理器執(zhí)行根據(jù)權(quán)利要求1至14中任一項所述的 方法。
【文檔編號】G06F17/30GK103514245SQ201310224472
【公開日】2014年1月15日 申請日期:2013年6月6日 優(yōu)先權(quán)日:2012年6月6日
【發(fā)明者】哈沙德·布哈斯卡爾·納基爾, 拉賈謝卡爾·雷迪, 阿尼什·梅赫塔, 梅根·巴特 申請人:叢林網(wǎng)絡(luò)公司