使用基于早期學習機器的故障預測來觸發(fā)重新路由的制作方法
【專利摘要】收集并分析網絡度量。通過使用機器學習基于經收集并分析的網絡度量來預測是否很可能發(fā)生網絡元件故障。響應于預測到很可能發(fā)生網絡元件故障,網絡中的流量被重新路由以便避免網絡元件故障。該應用被應用于低功率有損網絡(LLN)。
【專利說明】
使用基于早期學習機器的故障預測來觸發(fā)重新路由
[0001 ] 相關申請
[0002] 本申請要求由Vasseur等人于2014年1月6日遞交的、題為"基于學習機器的預測性 和主動性計算機聯網和關聯的監(jiān)控(LEARNING-MACHINE-BASED PREDICTIVE AND PROACTIVE COMPUTER NETWORKING AND ASSOCIATED MONITORING)"、美國臨時專利申請?zhí)?為61/923,910,以及由Vasseur等人于2014年1月27日遞交的、題為"使用基于早期學習機器 的故障預測來觸發(fā)重新路由(TRIGGERING REROUTES USING EARLY LEARNING MACHINE-BASED PREDICTION OF FAILURES)"、美國臨時專利申請?zhí)枮?14/164,567 的優(yōu)先權的權益, 其全部內容通過引用被結合于此。
技術領域
[0003] 本公開一般地涉及計算機網絡,更具體地涉及計算機網絡內使用學習機器。
【背景技術】
[0004] 低功率有損網絡(LLN)(例如,物聯網(IoT)網絡)具有大量的應用(例如,傳感器網 絡、智能電網和智能城市)。LLN面臨各種挑戰(zhàn),例如有損鏈路、低帶寬、低質量收發(fā)機、電池 操作、低存儲和/或處理能力等。大量的節(jié)點(大于"傳統"ΙΡ網絡的數量級)惡化了這些網絡 的具有挑戰(zhàn)性的屬性,因此很少提及路由、服務質量(QoS)、安全性、網絡安排和極具挑戰(zhàn)的 流量工程。
[0005] 機器學習(ML)涉及算法的開發(fā)和設計,這些算法將經驗數據(例如,網絡統計和性 能指標)作為輸入,并且識別這些數據中的復雜模式。然后通常使用這些模式來自動做出決 定(即,閉環(huán)控制)或幫助做出決定。ML是用來處理非常難的問題(例如,計算機視覺、機器人 學、數據挖掘、搜索引擎等)的非常寬泛的規(guī)則,但是最常見的任務為以下各項:線性和非線 性回歸、分類、聚集、降維、異常檢測、最優(yōu)化、關聯規(guī)則學習。
[0006] ML算法中的一個非常常見的模式是使用下層模型M,該下層模型Μ的參數被優(yōu)化, 用于將與給定輸入數據的Μ相關聯的成本函數最小化。例如,在分類的情境下,模型Μ可以是 將數據分成兩類的直線,以使得M = a*x+b*y+c并且成本函數將是誤分類點的數量。ML算法 然后包括調整參數a、b、c,以使得誤分類點的數量最小。在該優(yōu)化階段(或學習階段)之后, 模型Μ可以被非常容易地用來對新的數據點進行分類。Μ通常是統計模型,并且成本函數與 給定輸入數據的Μ的似然成反比。
[0007] 學習機器(LM)是依賴于一個或多個ML算法的計算實體,該ML算法用于執(zhí)行這些計 算實體還未被準確編程以執(zhí)行的任務。特別地,LM能夠根據其環(huán)境來調整其行為。在LLN的 情境下,更普遍地在IoT(或萬聯網,ΙοΕ)的情境下,由于網絡將面臨變化的條件和需求,并 且網絡將變得太大以至于網絡操作者不能有效地進行管理,因此這種能力將非常重要。
[0008] 到目前為止,盡管LLN整體水平比較復雜,但在(基于已知算法的)"經典"方法是無 效率的情況下,或者當數據量多至人們無法處理來預測考慮一定數量的參數的網絡行為 時,LM還未普遍用于LLN中。
【附圖說明】
[0009] 通過參照以下結合附圖的描述可以更好地理解本文的實施例,其中相似的參考標 號指示相同的或功能類似的元件,其中:
[0010] 圖1示出了示例通信網絡;
[0011] 圖2示出了示例網絡設備/節(jié)點;
[0012] 圖3示出了圖1的通信網絡中的示例有向無環(huán)圖(DAG);
[0013] 圖4示出了示例貝葉斯(Bayesian)網絡;
[0014] 圖5示出了針對線性回歸的示例Bayes ian網絡;
[0015] 圖6示出了用以使用基于早期LM的故障預測來觸發(fā)重新路由的方法的示例;以及
[0016] 圖7示出了用于使用基于早期學習機器的故障預測來觸發(fā)重新路由的示例簡化過 程。
【具體實施方式】
[0017] 挺塗
[0018] 根據本公開的一個或多個實施例,在具有由通信鏈路互連的節(jié)點的網絡中,收集 并分析網絡度量。然后,基于經收集并分析的網絡度量來預測是否很可能發(fā)生網絡元件故 障。響應于預測很可能發(fā)生網絡元件故障,主動地對網絡中的流量重新進行路由,以便在可 能發(fā)生網絡元件故障之前避免這種情況。
[0019] 鍾
[0020] 計算機網絡是由通信鏈路互連的節(jié)點和用于在末端節(jié)點(例如,個人計算機和工 作站,或者諸如傳感器等之類的其他設備)之間傳輸數據的區(qū)段的地理分布式集合。許多類 型的網絡是可用的,其網絡類型的范圍從局域網(LAN)到廣域網(WAN) 1AN通常通過專用的 私有通信鏈路來連接位于相同的一般物理位置(例如,建筑或校園)中的節(jié)點。另一方面, WAN通常通過長距離通信鏈路(例如,公用載波電話線、光學光路、同步光學網絡(S0NET)、同 步數字體系(SDH)鏈路或電力線通信(PLC)(例如,IEEE 61334、IEEE P1901.2及其他))來連 接地理上分散的節(jié)點。此外,移動自適應(Ad-Hoc)網絡(MANET)是一種無線自適應網絡,其 通常被認為是由無線鏈路連接的移動路由器(和相關聯的主機)的自配置的網絡,其聯合形 成了任意拓撲。
[0021] 特別地,智能對象網絡(例如,傳感器網絡)是特定類型的、具有空間分布式的自主 設備(例如,傳感器、致動器等)的網絡,這些空間分布式的自主設備以合作的方式監(jiān)控不同 位置處的物理或環(huán)境條件(例如,能量/功率消耗、資源消耗(例如,用于高級計量基礎設施 或"ΑΜΓ應用的水/氣等)、溫度、壓力、振動、聲音、輻射、運動、污染等)。其他類型的智能對 象包括,例如負責打開/關斷引擎或者執(zhí)行任意其他動作的致動器。傳感器網絡(一種類型 的智能對象網絡)通常是共享介質網絡(例如,無線網絡或PLC網絡)。就是說,除了一個或多 個傳感器之外,傳感器網絡中的每一傳感器設備(節(jié)點)一般地可以被裝備有無線電收發(fā)機 或者其他通信端口(例如,PLC、微控制器和能源(比如,電池))。智能對象網絡經常被認為是 場域網(FAN)、鄰域網(NAN)、個人局域網(PAN)等。一般地,智能對象節(jié)點(例如,傳感器)的 大小和成本約束導致相應的資源(例如,能量、存儲器、計算速度和帶寬)的約束。
[0022] 圖1是示例計算機網絡100的示意框圖,該示例計算機網絡100示意性地包括由各 種通信方法互連的節(jié)點/設備11〇(例如,如所示出的標記為"根"、"11"、"12"、···、"45",以及 如下面圖2中所描述的)。例如,鏈路105可以是有線鏈路或者共享介質(例如,無線鏈路、PLC 鏈路等),其中某些節(jié)點11〇(例如,路由器、傳感器、計算機等)可以例如基于距離、信號強 度、當前操作狀態(tài)、位置等來與其他節(jié)點110進行通信。示意性的根節(jié)點(例如,FAN的場域路 由器(FAR))可以將本地網絡與WAN 130互連,該示意性的根節(jié)可以容納一個或多個其他相 關設備,例如管理設備或服務器150(例如,網絡管理服務器(NMS)、動態(tài)主機配置協議 (DHCP)服務器、受限制的應用協議(CoAP)服務器等)。本領域技術人員將理解到,在計算機 網絡中可以使用任意數量的節(jié)點、設備、鏈路等,并且本文所示的視圖是為了簡單起見。此 外,本領域技術人員還將理解到,盡管網絡以某一方向被示出(尤其具有"根"節(jié)點),但是網 絡100僅僅是示例圖示,且不旨在限制本公開。
[0023] 數據分組140(例如,流量和/或消息)可以使用預定義的網絡通信協議(例如,某些 已知的有線協議、無線協議(比如,IEEE 3七(1.802.15.4、1丨?丨、藍牙@等)、?^:協議、或者其 他適當的介質共享協議)來在計算機網絡100的節(jié)點/設備之間進行交換。在該上下文中,協 議包括一組定義節(jié)點如何相互交互的規(guī)則。
[0024]圖2是示例節(jié)點/設備200的示意框圖,該示例節(jié)點/設備200可由本文所述的一個 或多個實施例用作例如上面圖1中所示的任意節(jié)點或設備。設備可以包括由系統總線250互 連的一個或多個網絡接口 210(例如,有線的、無線的、PLC等)、至少一個處理器220和存儲器 240以及電源260(例如,電池、插件等)。
[0025](-個或多個)網絡接口 210包含用于通過耦合到網絡100的鏈路105來傳送數據的 機械電路、電子電路和信令電路。網絡接口可以被配置為使用各種不同的通信協議來發(fā)送 和/或接收數據。注意的是,節(jié)點還可以具有兩種不同類型的網絡連接210(例如,無線連接 和有線/物理連接),并且本文中的視圖只是示意性的。此外,盡管網絡接口 210獨立于電源 260示出,但對于PLC (其中,PLC信號可以被耦合至注入電源的電力線),網絡接口 210可以通 過電源260進行通信,或者可以是電源的整體組件。
[0026] 存儲器240包括多個可由處理器220和網絡接口 210尋址的存儲位置,用于存儲與 本文所述的實施例相關聯的軟件程序和數據結構。注意的是,某些設備可能具有有限的存 儲器或者沒有存儲器(例如,除了用于在設備和相關聯的緩存上進行操作的程序/進程的存 儲器之外沒有用于存儲的存儲器)。處理器220可以包括適于執(zhí)行軟件程序和操縱數據結構 245的硬件元件或硬件邏輯。操作系統242的某些部分通常位于存儲器240中并且由處理器 執(zhí)行,通過(除了其他之外)調用支持設備上執(zhí)行的軟件進程和/或服務來對設備進行功能 組織。這些軟件進程和/或服務可以包括路由處理/服務244和示意性的"學習機器"處理 248,該示意性的"學習機器"處理248可以如本文所描述的那樣依據網絡100內的特定節(jié)點/ 設備被配置具有從智能學習機器算法到僅與智能學習機器進行通信的功能性范圍。還注意 到,盡管學習機器處理248在集中式存儲器240中被示出,但替代的實施例提供在網絡接口 210內特定地操作該處理。
[0027]對本領域的技術人員顯而易見的是,其他處理器和存儲器類型(包括各種計算機 可讀介質)可以被用于存儲和執(zhí)行適于本文所述技術的程序指令。此外,盡管說明書示出了 各種處理,但明確地認識到各種處理可以被實施為模塊,該模塊被配置為根據本文中的技 術(例如,根據相似處理的功能)進行操作。此外,盡管這些處理已經被單獨示出,但本領域 的技術人員將認識到這些處理可以是其他處理內的例程或模塊。
[0028] 路由處理(服務)244包含由處理器220執(zhí)行的計算機可執(zhí)行指令以執(zhí)行由一個或 多個路由協議(例如,如本領域技術人員將了解的主動式或反應式路由協議)提供的功能。 這些功能可以在有能力的設備上被配置為管理路由/轉發(fā)表(數據結構245),路由/轉發(fā)表 包含例如用于做出路由/轉發(fā)決策的數據。特別地,在主動式路由中,在計算到網絡中任意 目的地的路由之前,連接被發(fā)現并且是已知的,例如鏈路狀態(tài)路由(比如,開放最短路徑優(yōu) 先(0SPF)、或中間系統到中間系統(ISIS)、或最優(yōu)鏈路狀態(tài)路由(0LSR))。另一方面,反應式 路由發(fā)現鄰居(即,不具有網絡拓撲的先驗知識),并且響應于到目的地所需要的路由來將 路由請求發(fā)送至網絡,以確定哪個相鄰節(jié)點可以被用于到達所期望的目的地。示例反應式 路由協議可以包括:Ad-hoc按需式距離向量(A0DV)、動態(tài)源路由(DSR)、動態(tài)MANET按需式路 由(DYM0)等。值得注意的是,在不能或未被配置為存儲路由條目的設備上,路由處理244可 以僅包括提供源路由技術所需的機制。就是說,對于源路由,網絡中的其他設備可以確切地 告訴具有較少能力的設備將分組發(fā)送到哪里,并且告訴具有較少能力的設備簡單地按照指 示來轉發(fā)分組。
[0029] 值得注意的是,網狀網絡近年來已變得越來越流行和實用。特別地,共享媒體的網 狀網絡(例如,無線的或PLC網絡等)通常在被稱為低功率有損網絡(LLN)的網絡上,LLN是路 由器及其互連二者都受到限制的一類網絡:LLN路由器根據約束(例如,處理功率、存儲器 和/或能源(電池))進行操作,并且LLN路由器的互連示意性地以高損耗率、低數據速率和/ 或不穩(wěn)定性為特征。LLN包括從幾十到高達幾千或者甚至幾百萬的任意數量的LLN路由器, 并且支持點到點流量(LLN內部的設備之間)、點到多點流量(從如在根節(jié)點處的中央控制點 到LLN內部的設備的子集)以及多點到點流量(從LLN內部的設備到中央控制點)。
[0030] LLN的示例實現方式是"物聯網"網絡。寬松地來說,術語"物聯網"或"I〇T"(或"萬 聯網"或"ΙοΕ")可由本領域技術人員用于指代唯一可標識的對象(事物)及其在基于網絡的 架構中的虛擬表示。特別地,互聯網演進的下一前沿是不只連接計算機和通信設備的能力, 而是連接一般"對象"(例如,燈、裝置、車輛、HVAC(采暖、通風和空調)、窗和遮光窗簾以及百 葉窗、門、鎖等)的能力。因此"物聯網"一般指代諸如傳感器和執(zhí)行器之類的對象(例如,智 能對象)通過計算機網絡(例如,IP)的互連,其中計算機網絡可以是公共網絡或私有網絡。 這樣的設備通常以非IP或私有協議的形式在工業(yè)領域中使用了幾十年,這些非IP或私有協 議以協議轉換網關的方式被連接到IP網絡。隨著諸如智能電網、智能城市、以及建筑和工業(yè) 自動化以及汽車(例如,其可以互連用于感測像電能質量、輪胎壓力以及溫度等之類的事物 的上百萬對象并且可以驅動引擎和燈)之類的大量應用的出現,對于這些網絡擴展IP協議 組已經極為重要。
[0031] 在由Winter等人(2012年3月)提出的題為"RPL:用于低功率有損網絡的IPv6路由 協議(RPL: IPv6 Routing Protocol for Low Power and Lossy Networks)" 的互聯網工程 任務組(IETF)提議標準、請求注解(RFC)6550中規(guī)定的示例協議提供了這樣的機制:支持從 LLN內部的設備到中央控制點(例如,一般是LLN邊界路由器(LBR)、FAR或"根節(jié)點/設備")的 多點到點(MP2P)流量,以及從中央控制點到LLN內部的設備的點到多點(P2MP)流量(以及點 到點或"P2P"流量hRPU發(fā)音為"ripple")通??梢员幻枋鰹榫嚯x向量路由協議,該距離向 量路由協議除了定義限制控制流量、支持修復等的一組特征之外,還構建用于路由流量/分 組140的有向無環(huán)圖(DAG)。值得注意的是,如本領域技術人員可以理解的,RPL還支持多拓 撲路由(MTR)的概念,從而多個DAG可以根據個體需求而被構建以載送流量。
[0032] 此外,有向無環(huán)圖(DAG)是具有以下屬性的有向圖:所有的邊緣以期望不存在任何 循環(huán)(回路)的方式定向。所有的邊緣都被包含在指向并且終止于一個或多個根節(jié)點(例如, "簇頭節(jié)點(clusterhead)"或"匯聚節(jié)點(sink)")的路徑中,通常用以將DAG的設備與較大 的基礎設施(例如,互聯網、廣域網或其他域)互連。此外,面向目的地的DAG(DODAG)是植根 于單個目的地(即,植根于沒有向外的邊緣的單個DAG根)的DAGAAG內的特定節(jié)點的"父"節(jié) 點是該特定節(jié)點在朝向DAG根的路徑上的直接后繼者,以使得父節(jié)點具有比該特定節(jié)點本 身更低的"等級",其中節(jié)點的等級標識了節(jié)點相對于DAG根的位置(例如,節(jié)點離根越遠,該 節(jié)點的等級越高)。還注意到,樹是一種DAG,其中DAG中的每一設備/節(jié)點一般都具有一個父 節(jié)點或者一個優(yōu)選的父節(jié)點。通??梢曰谀繕撕瘮?0F)(例如,通過DAG處理和/或路由處 理244)構建DAG。目標函數的作用通常是指定關于如何構建DAG的規(guī)則(例如,父節(jié)點、備用 父節(jié)點等的數量)。
[0033] 圖3示出了示例簡化DAG,該示例簡化DAG可以(例如,通過以上所描述的技術)在圖 1的網絡100內被創(chuàng)建。例如,可以針對每一節(jié)點選擇某些鏈路105以與特定的父節(jié)點進行通 信(并且因此,如果存在子節(jié)點,則相反地與子節(jié)點進行通信)。這些選定的鏈路形成了從根 節(jié)點向一個或多個葉節(jié)點(沒有子女的節(jié)點)延伸的DAG 310(如粗線所示)。流量/分組140 (圖1中所示)然后可以如本文中所特別描述的那樣以向根節(jié)點的向上的方向或者向葉節(jié)點 的向下的方向來遍歷DAG 310。
[0034] RPL支持用于維護和使用向下的路徑的兩種模式的操作:
[0035] 1)存儲模式:RPL路由器將DA0消息直接單播至其DAG父節(jié)點。進而,RPL路由器維持 其路由表中的每一 DAG子節(jié)點的可達的IPv6地址。因為中間的RPL路由器存儲向下的路由狀 態(tài),所以該模式被稱為存儲模式。
[0036] 2)非存儲模式:RPL路由器將DA0消息直接單播至DAG根。DA0消息還包括源的DAG父 節(jié)點的IPv6地址。通過從網絡中的每一RPL路由器接收DA0消息,DAG根獲得關于DAG拓撲的 信息,并且可以使用源路由來遞送數據報。不同于存儲模式,非存儲模式中的中間RPL路由 器不維護任何向下的路徑。
[0037](一個或多個)學習機器技術
[0038]如上所述,機器學習(ML)涉及算法的設計和開發(fā),這些算法將經驗數據(例如,網 絡統計和性能指示器)當作輸入,并且識別這些數據中的復雜模式。ML算法中的一種非常常 見的模式是使用下層模型M,該下層模型Μ的參數被優(yōu)化以用于將與給定輸入數據的Μ相關 聯的成本函數最小化。例如,在分類的情境下,模型Μ可以是將數據分成兩級的直線,以使得 M=a*x+b*y+c并且成本函數將是誤分類的點的數量。然后ML算法包括調整參數a、b、c,以使 得誤分類的點的數量最小。在該優(yōu)化階段(或學習階段)之后,模型Μ可以被非常容易地用來 對新的數據點進行分類。Μ通常是統計模型,并且成本函數與給定輸入數據的Μ的似然成反 比。
[0039]如上所述,學習機器(LM)是依賴于一個或多個ML算法的計算實體,該ML算法用于 執(zhí)行這些計算實體還未被準確編程以執(zhí)行的任務。特別地,LM能夠根據其環(huán)境來調整其行 為。在LLN的情境下,更普遍地在IoT(或萬聯網,ΙοΕ)的情境下,由于網絡將面臨變化的條件 和需求,并且網絡將變得太大以至于網絡操作者不能有效地進行管理,因此這種能力將是 非常重要的。到目前為止,盡管LLN整體水平比較復雜,但在(基于已知算法的)"經典"方法 是無效率的情況下,或者當數據量多至人們無法處理來預測考慮一定數量的參數的網絡行 為時,LM還未普遍用于LLN中。
[0040]特別地,許多LM可以以概率圖模型(還稱為貝葉斯網絡(ΒΝ))的形式進行表達。ΒΝ 是圖G=(V,E),其中V為頂點集,并且Ε為邊緣集。頂點為隨機變量,例如Χ、Υ和Ζ(參見圖4), 其聯合分布Ρ(Χ,Υ,Ζ)由條件概率的乘積給出:
[0041 ](公式 1) Ρ(Χ,Υ,Ζ)=Ρ(ΖΙΧ,Υ)Ρ(ΥΙΧ)Ρ(Χ)
[0042] 公式1中的條件概率由圖4中的圖形的邊緣給出。在LM的情境下,ΒΝ被用于構建模 型Μ及其參數。
[0043] 為了估算節(jié)點1(或鏈路)的網絡屬性(示為Xl(例如,跳數、等級、固件版本等))與 給定聯網度量Mi之間的關系,可以執(zhí)行線性回歸。更具體地說,給出以下公式:
[0044] (公式 2) Mi = F(xi) =bTXi+e
[0045] 其中,^是所觀測數據的d_空間向量(例如,終端節(jié)點屬性(比如,等級、跳數、到 FAR的距離等)),并且I是目標度量(例如,加入網絡的時間),有時還以71表示。構建這種已 知所觀測特征集的性能度量的模型對于執(zhí)行根本原因分析、網絡監(jiān)控和配置是關鍵的:例 如,作為節(jié)點等級、鏈路質量等的函數的路徑延時可以隨后被用來確定網絡中是否出現異 ?,F象,并且由此采取一些適當的動作來處理該問題。在上面的等式(公式2)中,術語ε是用 來對估值Mi的不確定性和/或噪聲進行建模的高斯隨機變量。線性回歸包括找出滿足最大 似然準則的權向量b(當ε為高斯隨機變量時,b符合最小二乘準則)。特別地,最優(yōu)的b必須將 均方誤差(MSE)最小化:
[0046] (公式 3) MSE=2i(bTXi_yi)2/N
[0047] 其中,N是輸入數據點的總數目,即,i = l,· · ·,N。
[0048] 換言之,b是每一所觀測的值^的權重集,并被用于計算提供F的值的函數FJSE是 被用于計算模型函數F的"質量"的度量。
[0049] 求解公式(2)的常用方法是最小二乘法(0LS)等式,其涉及"d X d"矩陣求逆,其中 d是尺寸的數量。立即出現了三個主要的問題:(1 )^的維度可能較大,因此使得0LS在計算 開銷(近似〇(d3))方面花費過高,(2)存在線性對應(即,當若干節(jié)點屬性被緊密關聯時,例 如,如針對跳數和ETX的情況下),0LS在數字上變得不穩(wěn)定(即,四舍五入和截斷誤差被放 大,使得MSE以指數方式增長),(3)0LS本質上是非概率的(即,0LS不負責其成分變量的整體 分布,而只追蹤平均值),〇LS不能很好地處理噪聲和極端值,并且只有當ε是高斯隨機變量 時,0LS才適用。
[0050] 為了克服這些限制,問題可以被表述為ΒΝ(參見圖5)?,F在,即使此時所有變量均 被觀測,但該所有變量都被看作是隨機變量:輸入變量 Xl和輸出變量均為實驗數據,并且 此時b是BN的(非概率)參數。通過進一步推進該方法,可以將b也轉變?yōu)殡S機變量,并且嘗試 根據實驗數據(也就是,^和丫:的觀測值)來推斷b。然而,該推理問題是有意義的,尤其當該 學習算法中的一個期望特征是能夠標識X的非相關維度(也就是,與輸出X弱相關的輸入尺 寸)并且自動將b中相對應的權重設置為0(或很小的)值時。
[0051] 通過一個最近提出的算法(稱為可變貝葉斯最小二乘法(VBLS)回歸(Ting、〕' Souza、Vi jayakumar和Schaal,2010))來解決該問題。也就是,該算法允許對高維度的回歸 問題進行有效地學習和特征選擇,同時避免了使用昂貴并且數字上脆性的矩陣求逆。VBLS 添加一系列不可觀測的隨機變量Zlj,該zu可以被視為因子W · xu的有噪聲的、擬造的目 標,并且的和LZl^yi的估值。進而,權重匕被模型化為隨機變量,從而允許自動的特征 檢測,即,如果在不同的 Xldpyi之間不存在相關性,則h的平均值快速收斂至0。
[0052] VBLS使用一種對后驗分布進行變分近似的最大期望算法的變體來對不可觀測的 變量zjPb的分布進行估算,這兩個變量是不可解析控制的。因為VBLS是完全貝葉斯方法, 所以除了隱藏參數的初始(之前)分布之外其不需要任何參數化,這些隱藏參數以不提供信 息的方式被設置,即具有導致使分布變平的非常大的方差。
[0053] 使用基于早期LM的故障預測來觸發(fā)重新路由
[0054]處理網絡故障毋庸置疑是重要的網絡功能,并且已經提出了關于在網絡元件故障 時進行流量重新路由的多個技術。所有這些技術都是反應式的,即,在檢測到故障時使用替 換路徑(其可以被預計算或者實時計算)。在低速網絡(例如,LLN)的情況下,該問題由于以 下原因被加重:與傳統IP/MPLS網絡相比,控制平面必須是極輕重量級的、欠反應式的(由于 鏈路/節(jié)點頻繁地故障),并且很難檢測到故障(已經提出多個策略來避免使用昂貴的持續(xù) 作用機制)。
[0055]因此,與現有方法相比,本文中的技術依賴于使用預測性方法,該預測性方法使用 通過使用時間序列分析的學習機器(LM)來預測網絡元件的故障,以使得即使在檢測到故障 之前可以對流量進行重新路由。
[0056]換句話說,與網絡恢復的所有已知方法相比,本文中的技術提供重新路由,該重新 路由(在檢測到故障之前)由于通過托管于路由器或網絡控制器的學習機器來計算預測模 型而主動式地發(fā)生。一旦(本地)主動式重新路由觸發(fā)集已經由LM計算,則網絡中的每一節(jié) 點將考慮到服務類型、替換路徑的路徑成本消耗以及故障的可能性來預計算替換路徑。此 后,只要由LM計算的觸發(fā)的條件一經滿足,流量就將主動式地并在本地進行重新路由,因此 極大地提高了 LLN的彈性,在該LLN中反應式和數據驅動的重新路由被認為是非常沒有效率 的。可選地,持續(xù)作用消息在預測的時間段期間被用來捕捉發(fā)現的可疑故障并且將具有用 來改善預測模型的數據的反饋發(fā)送至LM,使得該方法可自適應。最后的組件在于依靠特定 區(qū)域中的集體重新路由通知來避免疑似故障的網絡元件集的能力。
[0057] 在使用光學第1層基礎設施或S0NET/SDH的傳統IP/MPLS網絡中,故障是高度可預 測的,這是因為這些網絡的更為確定的性質。故障命運共享的概念與共享風險鏈路組 (SRLG)共同存在,其中鏈路Li已知另一鏈路Lj有故障的故障概率Pi j可以被計算并且在實 踐中被設置為1。更先進的研究已經表明,可以利用P<1的值計算這種相互依賴性,以便計 算避免網絡元件的替換(備份)路徑。話雖如此,但使用快速持續(xù)作用的所有恢復機制(路由 或協議,例如BFD)仍然是反應式的;不幸地是,這種方法不適用于LLN;此外,由于可以被觀 測的特征的數量并且因為這些網絡是高度隨機的,所以本文中的技術指定了一種方法,通 過該方法,學習機器(LM)被用于根據所估算的故障概率來構建用于觸發(fā)主動式重新路由的 預測模型。
[0058] 操作上,時間序列可以被表示為一系列值xl、x2、x3、…、xk。注意到,當這些值表示 被LM用來預測故障概率的多個網絡屬性(或特征)時,這些值為向量。替換地,可以將時間序 列表示為時間x(t)的函數,當在t = 1、t = 2、t = 3,…,t = k時刻采樣時,x(t)產生序列xl、 x2、x3,...,xk。當前,所謂特征向量的這種給定序列主要表示在給定時刻t處的網絡元件的 狀態(tài),并且這些狀態(tài)的序列原則上可以包括潛在的未來故障的線索。作為示例,鏈路的ETX 和RSSI都突然丟棄的事實(表明其在不到5秒內丟棄25%)可以表明故障的概率為95%。
[0059] LM可以預測網絡元件故障的方法是通過分析歷史數據。
[0060] 本文中的技術的第一組件包括計算以下參數集的學習機器(LM):
[0061] 1)T是已經被LM選為/計算為故障概率的相關指示器的特征集。例如,T可以是 {RSSI,ΕΤΧ},其將被節(jié)點用來計算特征向量χΤ = [ -94,1.4 ]。
[0062] 2)Cond(xT)是依據χΤ的條件語句,如果Cond(xT)為真,則其指示具有概率Ρ和(可 選的)估算的持續(xù)時間D的即時故障。
[0063] 由于LLN可以根據節(jié)點類型、位置、鏈路層類型等展現各種不同的行為,因此Cond、 T、P和D的值可以為節(jié)點、面積或網絡范圍。為了達到該目的,本文中的技術指定由LM發(fā)送的 新定義的IPv6消息,該LM可以位于匪S、場域路由器(FAR)或網絡控制器,將新定義的IPv6消 息發(fā)送至使用單播消息或多播消息的節(jié)點集(如果鏈路層不支持多播,則該消息可以被廣 播)。被稱為PF()(預測故障)的消息包括以下組件:
[0064] *特征集T;
[0065] *條件語句Cond;
[0066] *概率P;以及
[0067] *(可選地)估算的持續(xù)時間D。
[0068] 為了說明,參考圖6,托管LM的FAR可以根據以下規(guī)則來將消息PF()多播至網絡中 的所有節(jié)點:假設RSSI <R_min,ETX>E_Max,P = 0.8,D = 15mn。注意到,被用作預測觸發(fā)器 的興趣特征可以在本地被計算。注意到,在某種程度上隨機網絡的特征在于可以不被度量 所捕獲的臨時現象,考慮到這些屬性的易失性,這些度量被路由協議使用或者被提供給 匪S。例如,在捕獲RSSI的短暫而嚴苛的變量(越過一些閾值的RSSI()的二次導數)時,LM可 以請求節(jié)點在本地捕獲這些高度可變特征中的一些并且對它們進行監(jiān)控,以便被用作指示 網絡元件故障的觸發(fā)。注意到,使用由網絡元件(例如,LM)所指定的本地變量是本文中的關 鍵特征。回到以上示例,節(jié)點E可以開始監(jiān)控兩個變量RSSI和ETX(其屬于向量T)。
[0069]在收到消息PF〇時,網絡中的每一節(jié)點將觸發(fā)以下動作集:
[0070] 1)激活對向量T中所列出的特征的監(jiān)控。在一個實施例中,如果節(jié)點已經監(jiān)控一些 特征,則它將繼續(xù)這么做,除非將監(jiān)控不同的特征,則停止對那些特征的監(jiān)控而開始針對新 特征的監(jiān)控。
[0071] 2)在一個實施例中,節(jié)點可以依靠修復,在這種情況下,節(jié)點可以使用新定義的觸 發(fā)來在觸發(fā)回到正值(重新路由流量)時,依靠路由協議來沿著所計算的替換路徑對流量重 新進行路由。在另一實施例中,節(jié)點將通過之前計算的替換路徑來使用保護機制。在這種情 況下,每一節(jié)點將預計算避免可能故障的網絡元件的、可接受的替換路徑,該網絡元件可能 故障的概率為P。注意到,考慮到路徑成本的消耗和故障的概率,替換路徑可以隨可能被擠 滿的流量的CoS而變化。為了說明,考慮節(jié)點E,路由/發(fā)起服務等級為C1、C2和C3的流量;已 由LM提供的兩個變量被用作觸發(fā)(被稱為VI和V2),表明如果VI和/或V2越過一些閾值則下 一跳E2的故障概率為P。節(jié)點可以計算避免E2的替換路徑,然后確定存在兩個路徑:B1(具有 路徑成本消耗PCS(Bl)和PCS(B2))。在一個實施例中,節(jié)點可以使用概率P以便決定是否激 活流量的重新路由。在另一實施例中,節(jié)點可以根據針對相關的CoS的SLA和路徑成本消耗 (PCS)來確定每一流量應該使用哪個替換路徑。
[0072] 3)根據本地政策(由于新定義的網絡管理消息而在注冊時所接收的或者在節(jié)點上 預配置的政策、或者DHCP),節(jié)點可以簡單地決定忽略消息。這種情況還可能在以下情形下 發(fā)生:節(jié)點上的資源應該是不充足的或者節(jié)點不應該要求流量的任意預測重新路由(例如, 如果節(jié)點是葉節(jié)點,則重新路由/發(fā)起非關鍵流量)。
[0073] 示例:
[0074] -考慮到P,由于P太低或者PCS太高,因此將不對等級C1的流量進行重新路由。
[0075]-考慮到PCS(Bl),將使用Bl(E-D-A)對等級C2的流量進行重新路由。
[0076]-考慮到PCS(B2),將使用B2(E-B-A)對等級C3的流量進行重新路由。
[0077]主動式重新路由:是流量通過其來在發(fā)生實際故障之前圍繞可能已故障的元件進 行路由的過程。主動式重新路由可以使用不同的機制。一旦節(jié)點確定等級Ci的流量必須在 替換路徑Pi上被重新路由,則在一個實施例中該節(jié)點可以將流量重新定向至替換父節(jié)點 (B1的節(jié)點D),或者節(jié)點可以替換地使用例如RFC6554中所指定的源路由頭部來明確對IP分 組進行源路由。
[0078]如果D>0(D由LLM指定),則節(jié)點E使用可逆重新路由方法;在D期滿之后,流量被返 回至其原始路徑,此時,節(jié)點主動監(jiān)控分組成功率R持續(xù)D+Delta秒??蛇x地,由于被稱為PFF (預測故障反饋)的新定義的單播IPv6消息在時間段D期滿之后指示分組遞送速率R,因此節(jié) 點然后可以將信號發(fā)送回liLLM使用這種方法來改善其預測模型并且還可能調整持續(xù)時間 D〇
[0079] 與臨時鄰居持續(xù)作用:可選地,一旦主動式重新路由被激活,則節(jié)點可以開始與其 下一跳的時間段為T2的低額持續(xù)作用,并且計算在時段D期間針對所發(fā)送的探測的分組遞 送速率。使用這樣的值以便確認預測是正確的,并且該值由于以上所指定的新定義的消息 PFF0而被返回。
[0080] 本文中技術的另一(可選的)組件在于使用附近的節(jié)點集之間所共享的本地鏈路 的觸發(fā)。如果區(qū)域中的節(jié)點集已經接收到相似的消息PF(),則當為每一節(jié)點觸發(fā)重新路由 以便適當地對選定的替換路徑上的流量重新進行路由時,這些節(jié)點可以使用新定義的PRO (主動式重新路由)來共享信號。例如,如果節(jié)點E確定了流量必須被重新路由(特征Ti已經 越過閾值),則其可以將本地鏈路的IPv6消息PR()發(fā)送至附近的所有節(jié)點。一經接收到PR() 消息,節(jié)點隨后就可以確定最合適的替換路徑并且避免整個區(qū)域與下一跳相反?;氐绞纠?, 如果E和F都發(fā)送包括疑似即將發(fā)生故障的鏈路的PR()消息,則E可以主動式地將流量重新 路由至完全不同的路徑(E-F-G-H-I),以便避免網絡元件的整個列表都被疑似故障。
[0081] 圖7示出了用于使用基于早期學習機器的故障預測來觸發(fā)重新路由的示例簡化過 程。過程700可以在步驟705處開始,并且進行到步驟710,以此類推。
[0082] 在步驟710處,在具有由通信鏈路互連的節(jié)點的網絡中收集并分析網絡度量。然 后,在步驟715處,基于經收集并分析的網絡度量來預測是否很可能發(fā)生網絡元件故障。在 步驟720處,響應于預測到很可能發(fā)生網絡元件故障,網絡中的流量被重新路由以便在可能 發(fā)生網絡元件故障之前避免這種情況。過程700可以示意性地在步驟725處結束??梢詧?zhí)行 過程700的步驟的技術以及輔助的過程和參數在上面被詳細描述。
[0083] 應該注意到,圖7中所示的步驟僅是用于說明的示例,并且可以根據需要包括或排 除某些其他步驟。此外,盡管示出了步驟的特定順序,但該順序僅僅是示意性的,并且在不 脫離本文實施例的范圍的情況下可以利用對這些步驟的任意適當的安排。
[0084] 因此,本文所描述的技術提供了使用基于早期LM的故障預測來觸發(fā)重新路由的方 法。特別地,本文中的技術:
[0085] 1.在QoS(即對常見故障的恢復能力)很關鍵的LLN環(huán)境中,主動式地對流量進行重 新路由。
[0086] 2.由于對所檢測的故障的反映不涉及信令,因此阻止了過載控制平面(路由協 議)。
[0087] 3.由于流量在發(fā)生故障事件時繼續(xù)圍繞有故障的元件流動,因此顯著地改善了約 束網絡的彈性。
[0088] 4.與LM計算實體共享預測的效力以持續(xù)改善將來的預測和主動式觸發(fā)。
[0089] 5.通過可逆行為來確保主動式改變不是永久的,并且LM實體在未來做決定時有機 會進行改善。
[0090] 注意到,本文中的技術同樣可應用于反應式路由協議,例如Load-ng或者之后針對 Ι〇Τ所指定的其他路由協議。
[0091]示意性地,本文所述的每一個技術都可以由硬件、軟件和/或固件例如根據學習機 處理248來執(zhí)行,該學習機器處理248可以包括由處理器220(或者接口 210的獨立處理器)執(zhí) 行的計算機可執(zhí)行指令,以例如可選地結合其他處理來執(zhí)行與本文所描述的技術有關的功 能。例如,本文中技術的某些方面可以被視為對傳統協議(例如,各種通信協議(比如,路由 處理244))的擴展,并且因此相應地可以由本領域中所理解的、執(zhí)行那些協議的相似的組件 來處理。此外,盡管本文中技術的某些方面可以從單個節(jié)點/設備的角度進行描述,但本文 所描述的實施例可以被執(zhí)行為分布式智能,也被稱為邊緣/分布式計算,例如除了托管服務 器150內的智能之外或者作為托管服務器150內的智能的替換還托管場域網的節(jié)點110內的 智能。
[0092]盡管示意性地示出和描述了提供基于學習機器的預測和主動式計算機聯網和相 關聯的監(jiān)控的實施例,但通常應該理解的是,在本文中實施例的精神和范圍內可以做出各 種其他的改進和修改。例如,與LLN和相關協議有關的實施例已在本文中被示出和描述。然 而,其更廣意義中的實施例并不是限制性的,并且實際上可以與其他類型的通信網絡和/或 協議一起使用。此外,盡管在通信網絡的具體上下文中與學習機器有關的實施例已被示出 和描述,但如本領域技術人員將了解的,某些技術和/或技術的某些方面一般可以適用于學 習機器,而無需與通信網絡有關。
[0093]以上說明書是針對具體的實施例。然而顯而易見的是,可以針對所描述的實施例 做出其他改變和修改,并獲得其優(yōu)點中的某些或全部。例如,明確地認識到,本文中所描述 的組件和/或元件可以被實現為存儲于有形的(非暫態(tài)的)計算機可讀介質(例如,磁盤/CD/ RAM/EEPR0M等)的軟件,其具有在計算機、硬件、固件或其組合上執(zhí)行的程序指令。因此,該 說明書只以示例的方式示出并且不以其他方式限制本文中實施例的范圍。因此,所附權利 要求的目的是為了覆蓋進入本文中實施例的真正精神和范圍內的所有這些改變和修改。
【主權項】
1. 一種方法,包括: 在具有由通信鏈路互連的節(jié)點的網絡中,收集并分析網絡度量; 基于經收集并分析的網絡度量來預測是否可能發(fā)生網絡元件故障;以及 響應于預測到可能發(fā)生網絡元件故障,主動式地對所述網絡中的流量進行重新路由以 便在可能發(fā)生所述網絡元件故障之前避免這種情況。2. 如權利要求1所述的方法,還包括: 接收關于所述網絡中的節(jié)點的替換通信路徑的信息;以及 基于所述節(jié)點的所述替換通信路徑來對所述網絡中的所述流量進行重新路由。3. 如權利要求1所述的方法,還包括: 將指令發(fā)送至所述網絡中的一個或多個節(jié)點以對每個相應的節(jié)點計算本地替換通信 路徑。4. 如權利要求1所述的方法,其中,對流量進行重新路由是基于以下各項中的一個或多 個:流量類型、替換通信路徑的路徑成本和網絡元件故障的概率。5. 如權利要求1所述的方法,還包括: 計算網絡元件故障的概率;以及 當所計算的概率超過預定的閾值時,預測可能發(fā)生所述網絡元件故障。6. 如權利要求1所述的方法,其中,所述網絡元件故障包括有故障的節(jié)點和有故障的通 信鏈路中的一個或多個。7. 如權利要求1所述的方法,還包括: 確定所述網絡的路由拓撲;以及 基于所確定的路由拓撲來對所述網絡中的所述流量進行重新路由。8. 如權利要求1所述的方法,還包括: 基于經收集并分析的網絡度量以及過去預測的結果來構建預測模型,其中, 所述預測是否可能發(fā)生所述網絡元件故障還基于所述預測模型。9. 如權利要求8所述的方法,還包括: 接收關于所述預測模型的準確度的反饋;以及 基于所接收的反饋來改善所述預測模型,其中, 所述反饋包括實際上是否發(fā)生所預測的網絡元件故障,或者響應于在預定的持續(xù)時間 期滿時被發(fā)送至所述網絡中的節(jié)點的探測的信息。10. 如權利要求1所述的方法,其中,經收集并分析的網絡度量是網絡元件故障的指標。11. 如權利要求1所述的方法,其中,經收集并分析的網絡度量包括以下各項中的一個 或多個:電池壽命、天氣情況、交通量、通信鏈路質量、信號強度、節(jié)點或通信鏈路的位置、通 信鏈路的距離以及傳輸成功率。12. 如權利要求1所述的方法,其中,所述預測是否可能發(fā)生所述網絡元件故障由學習 機器(LM)執(zhí)行。13. -種裝置,包括: 一個或多個網絡接口,所述一個或多個網絡接口與網絡進行通信; 處理器,所述處理器被耦合至所述一個或多個網絡接口并且被配置為執(zhí)行進程;以及 存儲器,所述存儲器被配置為存儲包括可由所述處理器執(zhí)行的所述進程的程序指令, 所述進程包括: 在具有由通信鏈路互連的節(jié)點的所述網絡中,收集并分析網絡度量; 基于經收集并分析的網絡度量來預測是否可能發(fā)生網絡元件故障;以及 響應于預測到可能發(fā)生網絡元件故障,主動式地對所述網絡中的流量進行重新路由以 便在可能發(fā)生所述網絡元件故障之前避免這種情況。14. 如權利要求13所述的裝置,其中,所述進程還包括: 接收關于所述網絡中的節(jié)點的替換通信路徑的信息;以及 基于所述節(jié)點的所述替換通信路徑來對所述網絡中的所述流量進行重新路由。15. 如權利要求13所述的裝置,其中,所述進程還包括: 將指令發(fā)送至所述網絡中的一個或多個節(jié)點以對每個相應的節(jié)點計算本地替換通信 路徑。16. 如權利要求13所述的裝置,其中,對流量進行重新路由是基于以下各項中的一個或 多個:流量類型、替換通信路徑的路徑成本和網絡元件故障的概率。17. 如權利要求13所述的裝置,其中,所述進程還包括: 計算網絡元件故障的概率;以及 當所計算的概率超過預定的閾值時,預測可能發(fā)生所述網絡元件故障。18. 如權利要求13所述的裝置,其中,所述網絡元件故障涉及有故障的節(jié)點和有故障的 通信鏈路中的一個或多個。19. 如權利要求13所述的裝置,其中,所述進程還包括: 確定所述網絡的路由拓撲;以及 基于所確定的路由拓撲來對所述網絡中的所述流量進行重新路由。20. 如權利要求13所述的裝置,其中,所述進程還包括: 基于經收集并分析的網絡度量以及過去預測的結果來構建預測模型,其中, 所述預測是否可能發(fā)生所述網絡元件故障還基于所述預測模型。21. 如權利要求20所述的裝置,其中,所述進程還包括: 接收關于所述預測模型的準確度的反饋;以及 基于所接收的反饋來改善所述預測模型,其中, 所述反饋包括實際上是否發(fā)生所預測的網絡元件故障,或者響應于在預定的持續(xù)時間 期滿時被發(fā)送至所述網絡中的節(jié)點的探測的信息。22. 如權利要求13所述的裝置,其中,經收集并分析的網絡度量是網絡元件故障的指 標。23. 如權利要求13所述的裝置,其中,經收集并分析的網絡度量包括以下各項中的一個 或多個:電池壽命、天氣情況、交通量、通信鏈路質量、信號強度、節(jié)點或通信鏈路的位置、通 信鏈路的距離以及傳輸成功率。24. 如權利要求13所述的裝置,其中,所述裝置是學習機器(LM)。25. -種存儲有使得計算機執(zhí)行進程的程序指令的有形非暫態(tài)計算機可讀介質,所述 進程包括: 在具有由通信鏈路互連的節(jié)點的網絡中,收集并分析網絡度量; 基于經收集并分析的網絡度量來預測是否可能發(fā)生網絡元件故障;以及 響應于預測到可能發(fā)生網絡元件故障,主動式地對所述網絡中的流量進行重新路由以 便在可能發(fā)生所述網絡元件故障之前避免這種情況。
【文檔編號】H04W40/18GK105900378SQ201580003767
【公開日】2016年8月24日
【申請日】2015年1月5日
【發(fā)明人】讓-菲利普·瓦瑟爾, 格雷戈瑞·莫穆德, 素格力·達斯古普塔
【申請人】思科技術公司