新四季網

用於簡約連接對象網絡的輔助智能路由的製作方法

2023-11-06 09:18:57

用於簡約連接對象網絡的輔助智能路由的製作方法
【專利摘要】在一個實施例中,一種分布式智能代理(DIA)從計算機網絡中的多個簡約連接對象(MCO)收集本地狀態信息。每個MCO的本地狀態信息包括針對相應的MCO的對應的鄰居列表和選擇的下一跳,其中MCO中的一個或多個被配置成在沒有任何自優化的情況下選擇它們的下一跳。DIA然後可以與計算的最佳路由拓撲相比來分析當前路由拓撲(其是所選下一跳的組合結果),並且(可選地)鑑於需要的服務級別協定(SLA)來確定是否優化當前路由拓撲。響應於確定當前路由拓撲應該被優化,DIA可以相應地將單播路由指令傳送到一個或多個單獨的MCO以指示那些單獨的MCO如何優化當前路由拓撲。
【專利說明】用於簡約連接對象網絡的輔助智能路由
【技術領域】
[0001 ] 本公開內容一般地涉及計算機網絡。
【背景技術】
[0002]低功率和有損網絡(LLN)(例如,傳感器網絡)具有無數應用,諸如智能電網、智能城市、家庭和建築物自動化等。LLN面臨各種挑戰,諸如有損鏈路、低帶寬、電池操作、低內存和/或處理能力等。大規模IP智能對象網絡提出了許多技術挑戰。例如,這樣的網絡(諸如具有大量傳感器和致動器的智能電網網絡、智能城市或高級計量基礎設施或「AMI」網絡)的密實度可能是極其高的:每個節點看到數百個鄰居並不罕見。
[0003]對LLN挑戰的一個示例路由解決方案是稱作LLN路由協議或「RPL」的協議,其是在用來限制控制業務、支持本地(和緩慢)修復等的一組特徵之外還建立面向目的地的有向無環圖(D0DAG,或簡稱DAG)的距離矢量路由協議。RPL的核心方面之一在於DAG根上的配置的確定節點如何加入DAG的規則的目標函數(OF)的使用:0F規定除許多規則和目標之外還用來建立DAG的度量和約束的列表。智能計量應用中的典型OF可以是:「基於可靠性度量查找最短路徑(因此最可靠的路徑),同時避免電池操作節點」。變電站自動化應用中的典型OF可以是「基於延遲度量(最短延遲)查找最短路徑同時使用加密的鏈路」。
[0004]RPL和其它複雜的路由協議無疑非常適於包括數千節點的現有網絡中的路由。那就是說,這樣的協議因許多可用的參數、調諧、可選的構件而是非常複雜的,並且可能難以在受約束網絡中操作。例如,當前估計表明,RPL將需幾千字節的RAM進行狀態維護並且在快閃記憶體方面需要略微更多的存儲器。遺憾的是,在使用分布式路由方法的LLN中路由的挑戰所固有的複雜性水平隨著網絡中的節點數而迅速地增長。
【專利附圖】

【附圖說明】
[0005]本文實施例可以通過與附圖相結合地參考以下描述來更好地理解,在附圖中相同的附圖標記指示相等地或功能上類似的元件,其中:
[0006]圖1圖示了示例計算機網絡;
[0007]圖2A-2E圖示了在圖1的計算機網絡內的數據流的示例;
[0008]圖3圖示了在複雜的系統中的功能性與可伸縮性之間的示例折衷;
[0009]圖4圖示了依照本文中所描述的用於簡約連接對象(MCO)的架構的計算機網絡的示例視圖;
[0010]圖5圖示了 MCO裝置的示例;
[0011]圖6圖示了分布式智能代理(DIA)裝置的示例;
[0012]圖7圖示了中央智能控制器(CIA)裝置的示例;
[0013]圖8圖示了示例網絡域(LLN或1T域);
[0014]圖9圖不了在圖8的特定網絡域內的不例最小當如路由拓撲(有向無環圖(DAG));[0015]圖10圖示了在圖8的特定網絡域內的示例最佳路由拓撲;
[0016]圖11A-11B圖示了圖9的當前路由拓撲的迭代優化的示例。
[0017]圖12圖示了從簡約連接對象(MCO)的角度用於輔助智能路由的另一示例簡化過程;以及
[0018]圖13圖示了從分布式智能代理(DIA)的角度用於輔助智能路由的另一示例簡化過程。
【具體實施方式】
[0019]概沭
[0020]根據本公開內容的一個或多個實施例,分布式智能代理(DIA)從計算機網絡中的多個簡約連接對象(MCO)收集本地狀態信息。每個MCO的本地狀態信息包括針對相應的MCO的對應的鄰居列表和選擇的下一跳,其中MCO中的一個或多個被配置成在沒有任何自優化的情況下選擇它們的下一跳。DIA然後可以與計算的最佳路由拓撲相比來分析當前路由拓撲以確定是否優化當前路由拓撲,所述當前路由拓撲是所選下一跳的組合結果。響應於確定當前路由拓撲應該被優化,DIA可以相應地將單播路由指令傳送到一個或多個單獨的MCO以指示那些單獨的MCO如何優化當前路由拓撲。
[0021]描述
[0022]計算機網絡是由用於在端節點之間傳輸數據的通信鏈路和段所互連的節點的地理分布式合集,所述端節點諸如是個人計算機和工作站或其它裝置,諸如傳感器等。許多類型的網絡是可用的,範圍從區域網(LAN)到廣域網(WAN)。LAN典型地通過位於相同的一般物理位置(諸如建築物或學校)中的專用私有通信鏈路來連接節點。另一方面,WAN典型地通過長距離通信鏈路來連接地理分散的節點,所述長距離通信鏈路諸如是公共載波電話線、光學光路、同步光學網絡(SONET)、同步數字體系(SDH)鏈路,或諸如IEEE61334、IEEEP1901.2及其它之類的電力線通信(PLC)。此外,移動自組織網絡(MANET)是一種無線自組織網絡,其一般地被認為是由無線鏈路所連接的移動路由(以及關聯的主機)的自配置網絡,所述無線鏈路的聯合形成任意拓撲。
[0023]特別地,智能對象網絡(諸如傳感器網絡)是具有諸如傳感器、致動器等之類的空間地分布的自主裝置的特定類型的網絡,所述自主裝置協作地監控在不同位置處的物理或環境條件,諸如例如能量/功率消耗,資源消耗(例如,水/煤氣/等以用於高級計量基礎設施或「AMI」應用)、溫度、壓力、振動、聲音、輻射、運動、汙染物等。其它類型的智能對象包括例如負責接通/斷開引擎或執行任何其它動作的致動器。傳感器網絡(一種智能對象網絡)典型地是共享介質網絡,諸如無線或PLC網絡。也就是說,除一個或多個傳感器之外,傳感器網絡中的每個傳感器裝置(節點)也都可以一般地裝備有無線電收發機或諸如PLC之類的其它通信埠、微控制器以及能量源,諸如電池。常常,智能對象網絡被認為是場域網(FAN)、鄰域網(NAN)等。一般地,對智能對象節點(例如,傳感器)的尺寸和成本約束導致對諸如能量、存儲器、計算速度以及帶寬之類的資源的對應約束。
[0024]值得注意地,網狀網絡近年來已經變得日益流行和實用。特別地,諸如無線或PLC網絡等之類的共享介質網狀網絡常常在被稱為低功率和有損網絡(LLN)的一類網絡上,這類網絡中,路由器和它們的互連二者都被約束:LLN路由器典型地在例如處理能力、存儲器和/或能量(電池)之類的約束下操作,並且它們的互連說明性地由高損失速率、低數據速率和/或不穩定性來表徵。LLN由來自幾十個以及多達數千個或甚至數百萬個LLN路由器的任何事物組成,並且支持點對點業務(在LLN內部的裝置之間)、點對多點業務(從在根節點處這樣的中央控制點到LLN內部的裝置的子集)以及多點對點業務(從LLN內部的裝置向中央控制點)。
[0025]不嚴謹地,術語「物聯網」或「1T」可以被本領域的技術人員用來指代唯一地可識別的對象(事物)和它們在基於網絡的架構中的虛擬表示。特別地,在網際網路的演進中的下一個新領域是連接不只計算機和通信裝置的能力,而是連接一般諸如燈、電器、車輛、HVAC(加熱、通風以及空氣調節)、窗戶以及窗簾和百葉窗、門、鎖等之類的「對象」的能力。「物聯網」因此一般地指的是對象(例如,智能對象)(諸如傳感器和致動器)通過計算機網絡(例如,IP)的互連,所述計算機網絡可以是公用網際網路或專用網絡。這樣的裝置通常以通過協議轉換網關的方式而被連接到IP網絡的非IP或專有協議的形式已被用在工業中幾十年了。隨著諸如智能電網、智能城市以及建築物與工業自動化和(例如,能夠互連用於感測像功率量、輪胎壓力以及溫度這樣的事物的數百萬個對象並且能夠啟動引擎和燈的)汽車之類的無數應用的浮現,最重要的一直是針對這些網絡擴展IP協議族。
[0026]圖1是說明性地包括由各種通信方法所互連的節點/裝置的示例計算機網絡100的示意框圖。例如,鏈路(未示出)可以是有線鏈路或共享介質(例如,無線鏈路、PLC鏈路等),其中諸如例如路由器、傳感器、計算機等之類的某些節點可以例如基於距離、信號強度、當前操作狀態、位置等與其它節點進行通信。本領域的技術人員將理解,可以在計算機網絡中使用任何數目的節點、裝置、鏈路等,並且本文中所示出的視圖是為了簡單起見的。並且,本領域的技術人員將進一步理解,雖然網絡被示出在某一定向上,但是網絡100僅僅是不意在限制本公開內容的示例圖示。
[0027]根據說明性網絡100,可以創建多個網絡「層次」,其中每個層次都可以但不必包括一般不同類型的裝置和/或通信協議。如圖所示,1T域110(還被稱為LLN110)可以包括一般地由低功率和/或有損鏈路所互連的「對象」 115的嵌入棧,所述「對象」 115諸如是上面所描述的傳感器、致動器等。說明性地,1T域可能可想像地包括數百萬個對象115。
[0028]每個1T域110 (為了清楚起見,示出了僅一個)可以被互連到下一個層次級,諸如場域網120,所述場域網120說明性地提供「雲」或核心網130的邊緣。(一個或多個)場域網120可以將一個或多個1T域互連到核心網130,並且一般地包括多個路由器125 (或交換機或網關)。在示例實施例中,在場域網處的通信可以包括多服務協議,諸如「3G」、「4G」、「LTE」等,如本領域內將清楚地理解的那樣。典型地,在場域網內的裝置125的數目能夠達到上萬個。
[0029]最終,如所指出的那樣,場域網120(為了清楚起見,示出了一個)通過核心網130被互連,所述核心網130諸如是一般更有能力的裝置135 (例如,數千個這種裝置)的網際協議(IP)網絡和/或多協議標籤交換(MPLS)網絡,所述更有能力的裝置135諸如是核心路由器、交換機等。一般地,這種層次級除在場域網本身內支持這些特徵之外還控制1T域的安全性、服務質量(QoS)、多播操作等。網絡管理組件140可以存在於核心網130內,或者另外可以經由核心網130來互連,以提供各種高級功能性,諸如1T分析的託管、網絡管理服務(NMS)等。例如,網絡管理組件140可以包括被配置成通過網絡100的網絡操作來提供高級控制的一個或多個伺服器,並且可以將接口提供給用戶(管理員),如本文中所描述的那樣。
[0030]可以使用預定義網絡通信協議在計算機網絡100的節點/裝置之間交換數據分組150 (例如,在裝置/節點之間發送的業務和/或消息),所述預定義網絡通信協議諸如是某
些已知的有線協議、無線協議(例如,IEEE標準802.15.4、WiF1、藍牙^等)、PLC協議或在
適當情況下其它共享介質協議。在這種上下文中,協議包括定義節點如何與彼此交互的一組規則。如所提到的那樣,每個層次都可以但不必利用彼此不同的協議,並且實際上,可以利用與層次內的其它子域(例如,不同的1T域110或場域網120)不同的協議。
[0031]圖2A-2E圖示了諸如依照一般的1T操作、以及如可以依照本文中所描述的技術被使用的在圖1的計算機網絡100內的示例數據流。例如,如圖2A所示,數據250可以被各種對象115收集,並且沿著到一個或多個場域網裝置125的路線被傳送(例如,作為分組150),以及可以沿著該路線經歷各種程度的聚集、丟棄等。場域網裝置125然後可以像圖2B中所示出的那樣對數據250應用進一步智能,諸如傳感器應用、控制以及關聯,並且經處理的數據255然後可以像圖2C中所示出的那樣被傳送到網絡管理裝置140。而且,作為圖示移動對象的1T操作的特定示例,圖2D和2E圖示了諸如車輛260 ( —般地,因為車輛可以實際上包括許多網絡連接的「對象」)之類的對象115如何可以在1T域110之間行進並且一般可以取決於接近度被在場域網裝置125 (諸如場域路由器或「FAR」)或甚至場域網120之間轉移。
[0032]如上面所指出的那樣,在過去幾年裡,諸如傳感器和致動器之類的智能連接對象的概念已經打開了諸如智能電網、連接車輛、智能城市或智能衛生保健(僅舉幾種為例)等等之類的無數應用的大門。為此,已經提出了若干「架構」,包括通過多協議網關或者使用IP (V6)端到端來連接這些裝置以及各種混合選項。
[0033]使用多協議網關的想法由於許多原因而引起問題,雖然對於協議遷移和提供從現有的舊協議到IP的遷移路徑的有限及時策略來說是有利的。問題中的一些包括操作複雜性、缺少可伸縮性(指數量級的協議轉換)、缺少Q0S以及路由一致性、單點故障(滿狀態多協議網關的使用是很昂貴的選擇)、安全漏洞等。
[0034]因此,自2007年以來,已出現了有利於IP端到端的明顯勢頭,並且已開發和規定了許多技術:
[0035]-在裝配有幾千字節的RAM和快閃記憶體以及8/16位微控制器的低功率微控制器上運行的輕量級作業系統;以及
[0036]-優化的IPv6棧和新的低功率PHY/MAC技術(例如,IEEE802.15.4、低功率Wif1、Pl9OL 2, PRIME, HP GreenPHY 等)的出現。
[0037]在仔細分析IP協議族之後,認識到了新的IP協議對於這些高度受約束的且惡劣的環境來說是需要的。一些關鍵示例包括:[0038]I) 6LoffPAN:除首部壓縮之外還針對低MTU鏈路處理分片的適配層;
[0039]2)RPL:用於LLN的新的路由協議;
[0040]3) CoAP:被設計成在低功率終端裝置上運行的輕量級資源管理協議,顯著地輕於SNMP ;以及
[0041]4)在鏈路層處託管的各種優化功能(例如,用於15.4g、PLC(P1901.2)等的跳頻)。
[0042]迄今為止,典型的策略包括在受約束裝置上實現成熟(sophisticated)的聯網協議、負責處理QoS、路由、管理、流量工程、感測、用於LLN中的業務量降低的算法、用來增加低帶寬鏈路上的信道容量的成熟策略、用於快速故障恢復的自愈技術以及受約束路由、呼叫接納控制(CAC)和背壓機制等。換句話說,使物聯網(1T)變得儘可能智能同時仍然限制在1T的邊緣(LLN)處所需要的資源已成為目標。
[0043]然而,在複雜的系統中存在功能性與可伸縮性之間的微妙折衷。也就是說,在許多區域中,一個人能夠觀察到圖3中所示出的現象。隨著功能性被添加到裝置,結合所有特徵的總體系統(還簡單地被稱為「網絡」)的複雜性向著增量成本可接受的點增加直到命中拐點,此時該系統的總體理解和可伸縮性大大地下降。儘管用隨機Petri網絡或馬爾可夫(Markov)鏈對這樣的模型進行數學建模是相當有挑戰性的,但是這樣的經驗分析主要是通過多年來設計和操作複雜系統的經驗來驅動的。注意的是,儘管可伸縮性是根據許多因素而變化的多項式函數,但是「理解」因素的權重無疑是大的;在許多情況下,本領域中沒有採用技術,不是因為它們從技術觀點看是內在地非可伸縮的,而是因為考慮到對於終端用戶的附加值,理解總體系統太過昂貴。例如,從純技術觀點看,即使能夠理解某些系統,但是隨著功能性的水平增加,病態不可理解的情況的數目也極其迅速地增長。
[0044]經過數年的深度技術調查,智能對象將要支持的總體複雜性不隨著這些網絡的尺寸和所支持的特徵的數目線性地增長,而是按指數規律地增長,從而使總體系統本身的可伸縮性崩潰。在1T的情況下,由於以下兩個原因,我們能夠預期這種現象的放大:(I)這種網絡的規模大大超過迄今為止具有潛在地數百萬個裝置的最大已知網絡;以及(2)想不到地,輕量級協議(在存儲器和帶寬使用方面佔用很少的資源)的設計需要具有未知行為模式的相當成熟的技術,導致網絡(也被稱為LLN(低功率和有損網絡)或IP智能對象網絡)的該部分複雜性增加。
[0045]本文中所描述的說明性網絡架構的目標是重新考慮包括添加終端裝置的分布式智能的當前模型並且替代地將智能限制於提供安全連通性所需要的最小部分。如在下面所描述的那樣,由於由流量觀察(例如,深度分組檢查)、一組目標(例如,服務級別協定或SLA)、性能監控、行為模式和網絡動態分析(以便例如在最佳性與穩定性之間權衡)等所饋送的學習機,引入了在場域網的邊緣裝置(例如路由器,在本文中被稱為邊緣路由器的)上託管的中間代理,所述中間代理幫助這些終端裝置進行許多決策制定處理(QoS、網絡管理、流量工程等)並且與(例如,數據中心中的更有能力的計算機中的或在數據中心中託管的)中央智能密切交互以便例如做出適當的決策。
[0046]特別地,說明性架構致力於將智能和網絡控制切換到路由器邊緣邊界。如上面所指出的那樣,值得為物聯網(1T)考慮根本上新的聯網模型,從而在諸如路由、自愈技術、QoS、CAC、匪S、可靠性或安全性之類的許多區域中導致聯網方面的根本變動。根據在下面所描述的實施例,本文技術一般地包括將網絡的第二層的聯網智能移動到位於LLN的邊緣處的路由器(有時被稱為LBR=LLN邊界路由器)上,在所述路由器中,資源與LLN中的裝置(傳感器/致動器/標籤)相比能夠被認為是「非有限的」。主要原理在於LBR和其它組件(在路由器、帶外路由器/伺服器等上運行的應用)託管如下功能的能力,所述功能的輸出然後被提供給簡約連接對象或「MC0」(和「智能對象」相比,其也可以被稱為「啞連接對象」或「DCO」)。
[0047]在這種說明性架構模型中,傳感器/致動器有目的地成為與智能對象(整個行業在過去十年裡一直推進的趨勢)相反的IPv6 「簡約連接對象」。
[0048]作為理論基礎,一個主要技術原因在於將網絡縮放到大於當前網際網路的數量級大小的能力。簡單的數學表明,極其大規模的LLN意味著非常先進的技術(不是先前規定的和/或已知的)以便有效地管理這些網絡。因此值得注意的是,這樣的網絡將是自動的、自配置的並嵌入有本地智能以支持自愈技術和自動配置,並且能夠執行本地故障診斷。將大域分解成較小的域有助於降低總體複雜性,但僅作為臨時措施。
[0049]通過採用包括使這些設備「僅僅被連接」而非「智能」的根本上不同的策略,本文中所描述的架構將使得能實現大的生態系統,使得能實現極其受約束的裝置(包括啟用了能量清道夫的裝置)上的連通性,並且網絡將被「饋送」有價值的數據,從而增加網絡託管界內智能的理論基礎,使它成為未來的平臺。
[0050]特別地,根本上不同的架構可以被用於物聯網(1T)/LLN,藉此智能對象被用簡約連接對象(MCO)代替,所述MCO限於將基本安全的連通性提供給在連接LLN的「經典IP網絡」的邊緣處的LBR。LBR說明性地託管分布式智能代理(DIA),所述DIA是由許多輸入所饋送的軟體/硬體模塊,所述輸入諸如例如使用深度分組檢查的業務流觀察、由用戶所規定的並且由中央智能控制器(CIC)所提供的SLA要求。DIA還可以託管觀察流以及網絡動態和行為趨勢的學習機,使得DIA可以進一步執行與MCO交互的許多任務以在需要的時候/地點/情況下在網絡中激活諸如網絡管理、路由、服務質量(QoS)、呼叫接納控制(CAC)等之類的聯網特徵。
[0051]也就是說,如圖4中所示出的說明性網絡架構包括一個或多個簡約連接對象(MC0)500、一個或多個分布式智能代理(DIA)600以及一個或多個中央智能控制器(CIC) 700。具體地,每個MCO都一般地具有足以執行它相應的指定的任務、安全地加入計算機網絡以及提供標稱狀態信息的有限智能,其中MCO未被配置成執行複雜的專用數據處理和複雜的聯網任務如進行服務質量(QoS)決策、參與呼叫接納控制(CAC)操作、提供流量工程(TE)服務、執行成熟的可靠性協議或者推斷網絡管理信息,這與當前1T架構形成對比。並且,DIA被配置成針對MCO將邊緣提供給計算機網絡,並且負責針對MCO的智能聯網管理以及負責執行針對MCO的複雜的專用數據處理。最後,CIC在計算機網絡內操作並且與DIA通信以執行針對MCO和DIA操作的首要控制的複雜任務,並且還被配置成提供一個或多個接口以接收針對MCO和DIA操作的一組用戶定義的規則。
[0052]說明性地,在本文中參考說明性架構所描述的技術可以由硬體、軟體和/或固件諸如依照特定於每個類型的裝置(MC0、DIA、CIC)的相應處理來執行,所述處理可以包含由處理器執行以便例如與在相應的裝置上執行的其它處理相結合地執行與本文中所描述的新穎技術有關的功能的計算機可執行指令。例如,本文技術可以被視為對常規協議(諸如各種路由、通信和/或管理協議)的擴展,並且同樣地,可以相應地由執行那些類型的協議的本領域內所理解的類似組件來處理。
[0053]對於本領域的技術人員而言將顯而易見的是,包括各種計算機可讀介質的其它處理器和存儲器類型可以被用來存儲並且執行和本文中所描述的技術有關的程序指令。並且,雖然本描述圖示了各種處理,但是明確設想了各種處理可以被具體化為被配置成依照本文技術(例如,根據類似處理的功能性)來操作的模塊。進一步地,雖然可以分別地示出某些處理,但是本領域的技術人員將了解,處理可以是在其它處理內的例行程序或模塊。
[0054]根據該說明性架構,如上面所指出的那樣,簡約連接對象(MC0)500是由於低智能和決策而具有極其輕量級的處理要求的對象(例如,傳感器、致動器、射頻識別符(RFID)標籤,或簡單的退化路由器)。與當前的「智能對象」方法相對比,MCO具有剛好足以以安全方式使用退化路由方法加入網絡的智能,並且將剛好足夠的關於其功能性、資源以及支持能力的狀態信息提供給DIA/CIC(在下面描述)。MCO—般不執行(自我引導的)QoS或任何形式的CAC、TE、成熟的可靠性特徵、網絡管理信息(例如,網絡統計),並且不執行專用數據處理,因為這些功能現在被託管在DIA600上,如在下面所描述的那樣。
[0055]圖5是可以與本文中描述為MCO的一個或多個實施例一起使用的示例裝置500的示意框圖。該裝置可以包括由系統總線550所互連的一個或多個網絡接口 510(例如,有線、無線、PLC等)、處理器520和存儲器540,以及電源560 (例如,電池、插件等)。此外,MCO可以一般地包括傳感器和/或致動器組件570。
[0056](一個或多個)網絡接口510包含機械、電氣以及信令電路以用於通過耦合到網絡110的鏈路即在1T域110中傳送數據。網絡接口可以被配置成使用各種不同的通信協議來發送和/或接收數據。進一步注意的是,節點可以具有兩種不同類型的網絡連接510,例如,無線和有線/物理連接,並且本文視圖僅僅用於圖示。並且,雖然網絡接口 510被與電源560分別地示出,但是對於PLC,網絡接口 510可以通過電源560進行通信,或者可以是電源的集成組件。在一些特定配置中,PLC信號可以被耦合到饋入電源的電力線。
[0057]存儲器540包括可由處理器520和網絡接口 510尋址以用於存儲與本文中所描述的實施例相關聯的軟體程序和數據結構的多個存儲位置。注意的是,某些裝置可以具有有限的存儲器或者沒有存儲器(例如,沒有用於在裝置和關聯的高速緩存上操作的程序/處理以外的存儲的存儲器)。處理器520可以包括適配成執行軟體程序並且操縱數據結構545的必要元件或邏輯。作業系統542 (其各部分典型地駐留在存儲器540中並且由處理器來執行)通過尤其調用支持在裝置上執行的軟體處理和/或服務的操作來在功能上組織該裝置。這些軟體處理和/或服務可以說明性地包括「MC0處理」548,所述「MC0處理」548可以包括一個或多個子處理,諸如路由處理/服務548a,如本文中所描述的那樣。
[0058]如上面所指出的那樣,每個MC0500都具有足以執行它相應的指定的任務(例如,感測、致動、路由)、安全地加入計算機網絡以及提供標稱狀態信息的有限智能。同樣地,MCO處理548因此包含由處理器520執行來相應執行與這樣的MCO動作相關的功能的計算機可執行指令。如本文中所描述的那樣,因此,MCO處理未被配置成執行複雜的專用數據處理、進行QoS決策、參與CAC操作、提供TE服務、執行成熟的可靠性協議、或者推斷網絡管理信息。路由處理548a是一般地退化路由處理,並且被保持足夠簡單以相應提供從MC0500到其它裝置(其它MC0500或DIA600)的通信。例如,可以像在下面所提到的那樣簡單地從DIA接收拓撲信息,或者在MCO完全不能存儲路由表項的情況下,路由處理548可以僅包括提供源路由技術所必需的機制。也就是說,對於源路由,網絡中的其它裝置能夠確切地告訴不太有能力的裝置發送分組到哪裡,並且不太有能力的裝置像指示的那樣簡單地轉發分組。可替代地,可以使用路由協議的簡約版本,諸如各種簡化的鏈路狀態協議,例如,如在 Dimitrelis 等人的標題為 「Autoconfiguration of routers using a link state routingprotocol」 的網際網路工程任務組(IETF)網際網路草案(2002年10月版本)中所規定的零配置開放最短路徑優先或「zOSPF」,或RPL的簡化版本,其完整版本在 Winter 等人的標題為 「RPL:IPv6Routing Protocol for Low Power and LossyNetworks」的 IETF 網際網路草案(2011 年 3 月 13 日版本)中
被規定。
[0059]根據本文中所描述的說明性架構,另一類型的裝置——分布式智能代理(DIA) 600—包括在網絡(場域網120)的邊緣處託管的軟體/硬體模塊組,並且負責許多聯網和面向應用的功能性,諸如在1T/LLNllO內的路由、對是否(if)/是否(whether)/如何動態地激活QoS、CAC、流量工程、匪S相關處理(例如,聯網統計的聚合)、應用感知數據處理(例如,託管能夠解釋來自MC0500的數據、潛在地聚合/丟棄數據分組、觸發本地致動等的應用)的決策。DIA600通常被託管在本領域的技術人員可理解的裝配有深度分組檢查、網際協議流信息導出(IPFIX)操作能力等的更有能力的裝置(例如,邊緣路由器)上。
[0060]圖6是可以與本文中描述為DIA的一個或多個實施例一起使用的示例裝置600的示意框圖。與裝置500類似,DIA裝置600可以包括由系統總線650所互連的一個或多個網絡接口 610、至少一個處理器620和存儲器640,以及電源660 (例如,插件)。一般地,DIA裝置600比有限的MCO裝置500更有能力,並且同樣地,可以具有更大的處理能力、更大的存儲器等。
[0061]在存儲器640內,作業系統642通過尤其調用支持在裝置上執行的軟體處理和/或服務的操作來在功能上組織該裝置,所述軟體處理和/或服務諸如是「DIA處理」 648,所述「DIA處理」可以包括一個或多個子處理,諸如「DIA-R」處理648a、「DIA-Q」處理648b、「DIA-N」處理648c等,如本文中所描述的那樣。也就是說,DIA可以由各自負責特定任務的一組智能模塊DIA-N(NMS) 648c,DIA-Q (QoS) 64ab、DIA_R(路由)648a等、外加與應用相關的特徵(不與聯網智能本身相關)組成。進一步地,存儲器640還可以被用來相應存儲一個或多個數據結構645。
[0062]如上面所指出的那樣,每個DIA600都被配置成針對MCO將邊緣提供給計算機網絡,並且負責針對MCO的智能聯網管理以及負責執行針對MCO的複雜的專用數據處理。同樣地,DIA處理648包含由處理器620執行來相應執行與這樣的DIA動作相關的功能的計算機可執行指令。如本文中所描述的那樣,DIA處理648因此被配置成執行複雜的專用數據處理,諸如解釋來自MCO的數據、聚合來自MCO的數據、丟棄來自MCO的數據以及在MCO處觸發本地致動,如上面所提到的那樣。此外,DIA處理248進一步負責針對MCO進行QoS決策(DIA-Q處理648b)、參與針對MCO的CAC操作、為MCO提供TE服務以及針對MCO推斷網絡管理信息(DIA-N處理648c)等。路由處理(DIA-R) 648a包含由處理器620執行來執行由一個或多個路由協議所提供的功能的計算機可執行指令,所述一個或多個路由協議諸如是將由本領域的技術人員所理解的先應式或反應式路由協議。這些功能可以在有能力的裝置上被配置成管理包含例如用來進行路由/轉發決策的數據的路由/轉發表(數據結構645)。
[0063]值得注意地,DIA600嚴重地依賴由MCO所提供的狀態報告、使用深度分組檢查和IPFIX的業務觀察,但也與CIC700密切交互以便確定服務級別協定和/或性能監控,以確定網絡性能是否與目標一致(例如,在性能結果報告由DIA-N來提供的情況下)。為了實現此情況,各種DIA處理248 (模塊248a-c...)可以與彼此交互:例如DIA_R(路由)可以與DIA-Q(QoS)交互以便確定路由拓撲改變對服務質量產生的結果。注意的是,這種協作現在是可能的,當前的完全分布式模型則不是這樣。也就是說,DIA600 —般是負責執行各種性質的任務的智能模塊,所述各種性質的任務諸如是計算路由拓撲、確定何時/在哪裡/是否在網絡中激活QoS、執行與WS相關的本地任務(代替像在現今的模型中那樣在WS與裝置之間採用對等網絡管理功能)、確定如何執行流量工程等。(值得注意地,可以在別處詳細地規定這些特徵/算法和相關協議的細節,並且這樣的細節在本公開內容的範圍之外。)
[0064]來自DIA600的輸出決策導致將用於請求行為改變的消息(例如,單播或更少見地,多播消息)發送到MC0500,所述行為改變例如是對轉發決策、諸如標記分組或對分組應用優先級之類的QoS特徵的激活、數據生成的激活和/或管理(例如,開始、停止和/或定時感測到的數據的發送,諸如如果所感測到的數據已被確定為不正確的或非相干的或冗餘的或不改變的等的話)的改變。此外,DIA600可以請求(一個或多個)CIC700執行某些校正性動作,並且(一個或多個)CIC可以直接地與MC0500交互,例如,試圖在功能失調的裝置上下載新的軟體/固件升級。
[0065]根據本文中所描述的說明性架構,最後定義類型的裝置——中央智能控制器(CIC) 700——被用來託管用於控制1T域110的更複雜的任務,但還用於接收由終端用戶所定義的一組規則(例如,服務級別協定(SLA)的規範、安全性的級別、用於性能監控的任務等)。(一個或多個)CIC將與DIA600進行直接通信,所述DIA600將進行決策並且進而與MCO進行通信,雖然在一些情況下CIC可以直接地與MC0500交互。
[0066]圖7是可以與本文中描述為CIC的一個或多個實施例一起使用的示例裝置700的示意框圖。與裝置600類似,CIC裝置700可以包括由系統總線750所互連的一個或多個網絡接口 710、至少一個處理器720和存儲器740,以及電源760 (例如,插件)。在存儲器740 (其可以存儲數據結構745)內,作業系統742通過尤其調用支持在裝置上執行的軟體處理和/或服務(諸如「CIC處理」748)的操作來在功能上組織該裝置,如本文中所描述的那樣。
[0067]特別地,如上面所指出的那樣,(一個或多個)CIC700被配置成執行針對MCO和DIA操作的首要控制的複雜任務,並且還被配置成提供一個或多個接口以接收針對MCO和DIA操作的一組用戶定義的規則。同樣地,CIC處理748包含由處理器720執行來相應執行與這樣的CIC動作相關的功能的計算機可執行指令。如本文中所描述的那樣,因此,CIC處理748被配置成執行針對由CIC所執行的MCO和DIA操作的首要控制的複雜任務,諸如安全性操作、性能監控以及SLA管理等。此外,如上面所提到的那樣,CIC處理748還可以被配置用於從DIA接收指令,並且被配置成(例如,經由DIA或直接地針對MC0)相應地更新MCO操作。
[0068]如上面所描述的架構規定了從常規計算機架構的強範式轉移。例如,與當前模型對比,QoS在每個節點上被激活而不管業務觀察和SLA如何,而在這種模型中,(託管DIA的)外部節點基於由CIC所提供的業務觀察和SLA來確定是否(if)/何時/是否(whether)QoS必須被激活。在現今的網絡中,路由是完全集中式的(例如,在大多數光學/SDH網絡中)或分布式的。然而,在如本文中所描述的架構中,LBR(DIA600)的作用是如果需要/當需要時/在需要處迭代地改進和/或建立路由拓撲。WS範式也被改變:代替WS與裝置之間的對等模型,中間智能被添加到網絡中,從而相應地在IDA處執行許多匪S任務。
_9] 輔助智能路由
[0070]如上面所指出的那樣,大規模IP智能對象網絡提出了許多技術挑戰。例如,這樣的網絡(諸如具有大量傳感器和致動器的智能電網網絡、智能城市或高級計量基礎設施或「AMI」網絡)的密實度可能是極其高的:每個節點看到數百個鄰居並不罕見。這對於其中受約束鏈路可能對數據傳輸造成嚴重破壞的LLN來說是特別成問題的。
[0071]當前的現有模型的一個主要問題在於受約束裝置上的總體架構的複雜性。例如,RPL的核心方面之一在於DAG根上配置的確定節點如何加入DAG的規則的目標函數(OF)的使用:除了許多規則和目標之外,OF還規定了用來建立DAG的度量和約束的列表。智能計量應用中的典型OF可以是:「基於可靠性度量查找最短路徑(因此最可靠的路徑),同時避免電池操作節點」。變電站自動化應用中的典型OF可以是「基於延遲度量(最短延遲)查找最短路徑同時使用加密的鏈路」。
[0072]RPL (或其它協議)的其它方面也是相對複雜的,這雖然無疑非常適於包括數千個節點的現有網絡中的路由,但是這種複雜性(許多可用的參數、調諧、可選的構件)可能難以在受約束網絡內處理。例如,當前估計表明,RPL將需要幾千字節的RAM用於狀態維護並且在快閃記憶體方面需要略微更多的存儲器。遺憾的是,在使用分布式路由方法的LLN中路由的挑戰所固有的複雜性水平隨著網絡中的節點數而迅速地增長。這在上面所描述的網絡架構(其中意圖是最小化MCO上所必需的處理和存儲的量)內是特別成問題的,更不用說大規模地對分布式路由決策進行故障查找的困難。然而,同時,維持這樣複雜的路由協議的複雜性是有利的,因為它們已被開發數年,以使路由變得更高效、更動態且更智能。
[0073]根據本文新穎技術,因此,描述了針對物聯網的路由方法,包括使用在1T/LLN的邊緣處的邊緣路由器(例如,DIA600)上託管的迭代和條件算法,所述算法收集網絡狀態,利用許多輸入(例如,SLA、路由狀態、各種性質的規則)以便確定是否應該對當前路由拓撲實例執行任何路由修改。因此,節點(例如,MC0500)能夠利用簡化的分布式路由過程,並且路由引擎(例如,DIA)僅在需要時根據各種輸入來迭代地改進路由拓撲,從而導致特別適於物聯網中的大規模路由的新穎分布式/半集中式路由方法。
[0074]具體地,根據如在下面詳細地描述的本公開內容的一個或多個實施例,分布式智能代理(DIA)從計算機網絡中的多個簡約連接對象(MCO)收集本地狀態信息,每個MCO的本地狀態信息包括針對相應的MCO的對應的鄰居列表和選擇的下一跳,其中MCO中的一個或多個被配置成在沒有任何自優化的情況下選擇它們的下一跳。DIA然後可以與計算的最佳路由拓撲相比來分析當前路由拓撲以確定是否優化當前路由拓撲,所述當前路由拓撲是所選下一跳的組合結果。響應於確定當前路由拓撲應該被優化,DIA可以相應地將單播路由指令傳送到一個或多個單獨的MCO以指示那些單獨的MCO如何優化當前路由拓撲。
[0075]說明性地,關於DIA(或LBR)動作在本文中所描述的技術可以由硬體、軟體和/或固件諸如依照DIA處理648或更特別地DIA-R(路由)處理648a來執行,所述硬體、軟體和/或固件可以包含由處理器620執行以便執行涉及本文中所描述的新穎技術的功能的計算機可執行指令。替換地,關於MCO(或LLN裝置)動作可以由硬體、軟體和/或固件諸如依照MCO處理548或更特別地路由處理548a來執行,所述硬體、軟體和/或固件可以包含由處理器520執行以便同樣執行涉及本文中所描述的新穎技術的功能的計算機可讀指令。[0076]此外,作為圖1的LLN或1T域110的示例表示,圖8是說明性地包括由各種通信方法所互連的(例如,像示出的那樣標記為「1^/根」、「11」、「12」、...「45」的)節點/裝置的示例計算機網絡800的示意框圖。例如,根據上面所描述的說明性架構,LBR/根裝置可以被配置為DIA600,而其餘的裝置11-45可以是MC0500。
[0077]操作上,本文技術一般地是基於如在下面更詳細地描述的四個主要組件的:
[0078]I)包括選擇需要的功能性的最小子集來建立最小路由拓撲(MRT)的成熟的路由協議(諸如RPL)的退化版本,其中MRT被定義為無需任何形式的優化的最簡化形式的路由拓撲;
[0079]2)由每個單獨的節點所提供的DIA-R對本地狀態的收集;
[0080]3)考慮到最佳路由拓撲(ORT)、需要的服務級別協定(SLA)以及其它約束的MRT的路由分析以便確定MRT是否應該被優化;以及
[0081]4)根據新計算的路由拓撲實例「RT(i) 」將單播路由指令發送到節點。技術然後是迭代的,返回到編號3)。
[0082]==建立 MRT ==
[0083]如上面所指出的那樣,示例RPL協議提供了支持從LLN內部的裝置向中央控制節點(例如,一般地LLN邊界路由器(LBR)或「根節點/裝置」)的多點對點(MP2P)業務、以及從中央控制點到LLN內部的裝置的點對多點(P2MP)業務(還有點對點或「P2P」業務)的機制。RPL(發音「rip ple」)一般地可以被描述為除定義用來限制控制業務、支持修復等的一組特徵之外還建立有向無環圖(DAG)以供在路由業務/分組150中使用的距離矢量路由協議。值得注意地,如可以由本領域的技術人員所了解的那樣,RPL同樣支持多拓撲路由(MTR)的概念,藉此多個DAG能夠被建立以根據各自的要求來承載業務。注意的是,雖然RPL協議可以定義完整的功能性集,以便維持MCO的簡化處理,但是可以使用RPL的簡化版本,例如,特別如本文中詳細地描述的用來創建路由拓撲的功能性的最小子集。
[0084]並且,有向無環圖(DAG)是具有如下屬性的有向圖:所有邊緣都被以不應有循環(環路)存在的方式來定向。所有邊緣都被包含在朝向並終止於一個或多個根節點(例如,「簇頭」或「匯點」)的路徑中,常常以便將DAG的裝置與更大的基礎設施(諸如網際網路、廣域網或其它域)互連。此外,面向目的地的DAG(DODAG)是紮根於單個目的地(即,在沒有向外去的邊緣的單個DAG根)的DAG。在DAG內的特定節點的「父」是該特定節點的在朝向DAG根的路徑上的中間後繼者,使得父比該特定節點它本身具有更低的「排名」,其中節點的排名標識出該節點相對於DAG根的位置(例如,節點離根越遠,該節點的排名越高)。同樣注意的是,樹是一種DAG,其中DAG中的每個裝置/節點一般地具有一個父或一個優選父。可以基於目標函數(OF)來建立DAG(例如,通過路由處理548a),所述目標函數的作用是規定關於如何建立DAG的規則(例如,父、備用父等的數目)。然而,為了使處理保持簡單,DAG可以由MCO在不使用目標函數的情況下建立,並且可以替代地再次像本文中特別描述的那樣使用非常基本的下一跳選擇算法。
[0085]根據本文技術的這種組件,因此,MC0500的作用在於建立初始MRT即最小路由拓撲。說明性地,RPL協議的最小子集被用於該目的。簡化的鏈路本地多播消息可以被用來傳播DAG信息,諸如允許節點發現RPL實例、學習其配置參數、選擇DODAG父集以及維持向上路由拓撲的RPL DODAG信息對象(DIO)。然而,目標函數的概念連同負責本地修復的所有機制一起被去除了。在特定情況下被發送以便節點請求路由鄰居發現的DIS (DODAG信息懇求)消息被保持(但是被簡化,並且不使用過濾),同時用來報告本地路由相鄰性和信息前綴以提供向下路由的目的地通告對象(DAO)消息被去除(替換地,DAO的非常簡化的版本可以被用來將前綴可達性通告給LBR)。定位的簡單概念以及環路檢測處理和滴答定時器的使用被保持(但是像在下面所描述的那樣被修改)。關於DIO傳播的新的父選擇算法和決策同樣像在下面所說明的那樣被改變。
[0086]注意的是,這樣的改變是相當顯著的,並且導致通過分布式和先應式路由協議形成簡化的距離矢量路由拓撲。換句話說,MCO在沒有任何自優化的情況下參與當前路由拓撲的建立,其中當前路由拓撲(例如,MRT)的初始實例具有環路防止,但不具有目標函數、針對本地修復的機制或傳播通告消息,如上面所指出的那樣。
[0087]圖9因此圖示了可以例如通過上面所描述的技術在圖8的網絡域內創建的示例最小當前路由拓撲(有向無環圖(DAG))。例如,某些鏈路805可以被選擇以便每個節點與特定下一跳或「父」進行通信(並且因此,相反地,與子(如果存在一個的話)進行通信)。這些選擇的鏈路形成DAG910 (示出為粗線),所述DAG910從根節點朝一個或多個葉節點(沒有子的節點)延伸。業務/分組150然後可以在朝根的向上方向或朝葉節點的向下方向上穿過DAG910。注意的是,當前(例如,最小)路由拓撲DAG910—般地是非優化的,並且雖然是功能的,但是可以留有改進的空間,特別是如本文中所描述的那樣。
[0088]= = DIA-R對本地狀態的收集==
[0089]MC0500將本地狀態信息950傳送到所對應的DIA600 (例如,LBR),其中本地狀態信息包括用於當前路由拓撲的針對MCO的對應的鄰居列表和選擇的下一跳。也就是說,網絡中的每個節點都例如通過利用IPv6ND(鄰居發現)來共享其可達鄰居的列表,其中被選擇為下一跳的鄰居被具體地標記。值得注意地,對於列表中的每個元素(鄰居),報告節點/MCO可以提供附加的信息,諸如取決於可以由該節點計算的成本的(例如,可靠性、延遲等方面的)鏈路的本地成本。注意的是,期望提供簡單的度量以便最小化節點上的複雜性水平。例如,由於鏈路層(當ACK/NACK被使用時)以及基於鏈路的接收信號強度指示(RSSI)(或針對PLC鏈路的其等效的測量),節點可以相當容易地獲得諸如預期傳輸計數(ETX)之類的度量。
[0090]注意的是,鄰居列表未被綁定到路由選擇並且潛在地在濾出不是路由的潛在候選的節點(例如,鏈路太弱等)之後列舉所有鄰居。鄰居列表被節點/MCO提供給DIA600 (DIA-R648a),其可由於在DHCP (動態主機配置協議)消息內攜帶並且在自舉處理期間提供給節點(MCO)的新定義的選項而被發現。注意的是,如在下面所描述的那樣,每當顯著改變(例如,通過滯後)被觀察到時,可以共享本地狀態信息950。也就是說,更新的本地狀態信息950可以響應於所更新的本地狀態信息從先前傳送的本地狀態信息顯著改變而被從MCO傳送到DIA。
[0091]= = DIA-R路由分析和優化==
[0092]一旦網絡中的每個節點的鄰居列表已被收集到,DIA-R648a就使用該列表的合集來形成網絡資料庫(NDB)。根據這個資料庫,DIA-R可以通過網絡的完全可見性使用一個或多個成熟的路由算法來計算最佳路由拓撲。例如,圖10圖示了在圖8的特定網絡域內的示例最佳路由拓撲(DAG1010)。說明性最短路徑優先(SPF)Dijsktra算法(例如)可以被用來計算最佳路由拓撲,並且可以基於一個或多個約束,或者可以基於滿足一個或多個需要的服務級別協定(SLA)。
[0093]DIA與所計算的最佳路由拓撲1010相比來分析當前路由拓撲910以確定是否優化當前路由拓撲,所述當前路由拓撲是來自信息950的所選下一跳的組合結果。各種技術和準則能夠被用來比較路由拓撲,諸如在總的路由拓撲成本(所有路徑的和)方面的差、超過預定義最大路徑成本或最大路徑成本差的路徑的數目、或上述的任何加權多項式函數。如本文中所參考的那樣,「增量(Delta) 」是最佳路由拓撲與當前路由拓撲之間的比較出的差。注意的是,用於DIA-R的第二輸入包括收集關於網絡中的流的SLA要求(例如,通過匪S或CIC),使得分析可以是基於在當前路由拓撲內部不滿足一個或多個需要的SLA的路徑。
[0094]如果增量超過預定義閾值和/或DIA-R確定SLA不再被滿足(不能夠通過啟用QoS來固定),則這是當前路由拓撲的次最優性的非期望水平的指示,並且DIA-R進入迭代優化模式。眾所周知的算法可以被用來(使用網絡資料庫)識別當前路由拓撲的次最優性的主要區域。DIA-R因此可以發送包含供(一個或多個)目標節點修改它們的路由表並因此更新當前路由拓撲的指示的新定義的消息。值得注意的是,DIA-R還可以考慮所需要的改變數目。例如,如果通過在路由拓撲中進行兩個改變、增量將改進35%,並且進行十個改變、增量將改進45%,則DIA-R可以選擇只要滿足SLA的最小改變數目。
[0095]如圖1lA所示,響應於確定(圖9的)當前路由拓撲910應該被優化,DIA600 (DIA-R648a)相應地將單播路由指令1150傳送到一個或多個單獨的MCO以指示那些單獨的MCO如何優化當前路由拓撲。例如,所傳送的路由指令1150可以包括針對相應的單獨的MCO的新的下一跳(父)選擇。如所示,因此,在從DIA接收到單播路由指令1150時,MCO可以根據該路由指令為更新的當前路由拓撲重新選擇下一跳(以及可選地備用下一跳),從而更新當前路由拓撲910。
[0096]然後可以裝備定時器,在所述定時器到時之後,增量由DIA-R連同SLA要求一起被重新計算為最後更新的當前路由拓撲910與最佳路由拓撲1010之間的成本差。如果仍然不滿足條件,即,當前路由拓撲應該被進一步改進,則優化處理被迭代地繼續,否則處理停止。例如,圖1lB圖示了可以在示例拓撲910中發生的進一步優化迭代。特別地,在從MCO接收到更新的本地狀態信息950時,DIA分析所對應的更新的當前路由拓撲,並且響應於確定更新的當前路由拓撲應該被進一步優化來傳送附加的單播路由指令1150。同樣注意的是,除更新當前路由拓撲910之外,DIA-R還繼續更新網絡資料庫,並且計算最佳路由拓撲1010以便繼續監控成本的增量。
[0097]圖12圖示了從簡約連接對象(MCO)的角度依照本文中所描述的一個或多個實施例的用於輔助智能路由的示例簡化過程。過程1200在步驟1205處開始,並且繼續步驟1210,其中,如上面更詳細地描述的那樣,MC0500在沒有任何自優化的情況下參與當前路由拓撲(例如,DAG910)的建立,其中當前路由拓撲(例如,最小路由拓撲)的初始實例一般地具有環路防止,但是沒有目標函數,沒有針對本地修復的機制,並且沒有傳播通告消息。
[0098]基於當前路由拓撲,在步驟1215中MCO相應將包括對應的鄰居列表和選擇的下一跳的本地狀態信息950傳送到DIA600。隨後,如果能夠並且應該在該特定MCO處優化當前路由拓撲,則該特定MCO可以在步驟1220中從DIA接收指示關於如何優化當前路由拓撲的單播路由指令1150。同樣地,在步驟1225中MCO可以根據來自DIA的路由指令為更新的當前路由拓撲重新選擇下一跳。附加地,在步驟1230(其被示出為在步驟1225之後發生,但可能在處理期間的任何適合的時刻發生)中,MCO可以響應於更新的本地狀態信息從先前傳送的本地狀態信息顯著改變而將更新的本地狀態信息傳送到DIA。過程1200可以返回到步驟1220,其中可以接收另外的指令來優化路由拓撲。
[0099]此外,圖13圖示了從分布式智能代理(DIA)的角度依照本文中所描述的一個或多個實施例的用於輔助智能路由的另一示例簡化過程。過程1300在步驟1305處開始,並且繼續步驟1310,其中,如上面更詳細地描述的那樣,DIA600(例如,LBR)從計算機網絡中的多個MC0500收集本地狀態信息950,每個MCO的本地狀態信息像上面所提到的那樣包括針對相應的MCO的對應的鄰居列表和選擇的下一跳,其中MCO中的一個或多個被配置成在沒有任何自優化的情況下選擇它們的下一跳。同樣地,在步驟1315中,DIA可以與計算的最佳路由拓撲1010相比來分析當前路由拓撲910以確定是否優化當前路由拓撲,所述當前路由拓撲910是所選下一跳的組合結果。如果在步驟1320中決定了優化能夠並且應該發生,則在步驟1325中DIA可以相應地將單播路由指令1150傳送到一個或多個單獨的MCO以指示那些單獨的MCO如何優化當前路由拓撲。過程1300然後返回到1310,其中基於更新的本地狀態信息,路由拓撲優化的進一步迭代可以相應地發生。
[0100]應該注意的是,雖然在過程1200-1300內的某些步驟像上面所描述的那樣可以是可選的,但是圖12-13中所示出的步驟僅僅是示例以用於圖示,並且可以視需要而定包括或者排除某些其它步驟。進一步地,雖然示出了步驟的特定順序,但是這種排序僅僅是說明性的,並且在不背離本文實施例的範圍的情況下,可以利用步驟的任何適合的布置。而且,雖然分別地描述了過程1200-1300,但是來自每個過程的某些步驟可以被併入每個其它過程,並且各過程不意在為相互排他的。
[0101]因此,本文中所描述的新穎技術提供用於LLN的輔助智能路由,特別是在使用了MCO的情況下。特別地,本文技術規定了包括建立退化的DAG的新方法,需要最小分布式智能,其中節點由僅在需要時和需要的情況下改進路由拓撲(RT)的LBR上託管的外部路由代理(DIA-R)來輔助。也就是說,採用上述架構,MCO不需要配置有智能路由機制,從而本文技術大大地降低了 MCO上的總體複雜性、配置負擔以及由MCO所處理的任務數,從而節約能量,這在LLN中是最重要的。例如,本文技術提供了「足夠好的」路由拓撲,同時大大地降低了 MCO上的分布式路由的複雜性水平,導致了用於物聯網的甚大規模路由方法和在大規模LLN和物聯網中對路由排除故障的更加高效的機制。
[0102]注意的是,路由代理(例如,DIA(DIA-R))不是如可以由本領域的技術人員所理解的路徑計算元件(PCE)。特別地,PCE—般地是根據由路徑計算客戶端(PCC)所發送的顯式請求來計算路徑的路由引擎。如上面所示和描述的那樣,DIA-R不接收任何這樣的請求,而是根據由CIC所接收到的路由條件和規則或反饋來確定當前路由拓撲是否應該被改進,這是與由PCE所支持的方法根本上不同的方法。
[0103]雖然已經示出並且描述了特別在使用MCO的情況下提供用於LLN的輔助智能路由的說明性實施例,但是應當理解的是,可以在本文實施例的精神和範圍內進行各種其它改編和修改。例如,關於用於與MCO —起使用的上面所描述的特定說明性1T架構已經在本文中示出並且描述了實施例。然而,實施例在它們更廣泛的意義上沒有限制,並且實際上,可以與一般諸如(具有相對「智能的」對象的)LLN之類的其它類型的網絡和/或協議一起使用,或者甚至用在不是特別低功率或有損的網絡中使用。而且,雖然RPL協議被示出為在MCO上以簡化形式被用來創建MRT的智能路由協議,但是可以以簡化形式使用其它成熟的路由協議。此外,雖然CIC被示出為與DIA分離,但是在某些實施例中可能的是,CIC功能性(CIC處理748)可以駐留在一個或多個DIA本地,即,CIC和DIA是配置有CIC功能性和DIA功能性兩者的單個裝置。因此(或分別地),DIA還可以具有用來接收用戶定義的規則和配置的接口。
[0104] 前面的描述一直是針對特定實施例的。然而,將顯而易見的是,在達到它們的優點中的一些或全部情況下,可以對所描述的實施例進行其它變化和修改。例如,特意設想了本文中所描述的組件和/或元件能夠被實現為被存儲在具有在計算機、硬體、固件或其組合上執行的程序指令的有形的(非暫時性)計算機可讀介質(例如,磁碟/CD/等)上的軟體。因此本描述將僅通過示例的方式來進行,並且將不以其它方式限制本文實施例的範圍。因此,所附權利要求的目標是涵蓋如落入本文實施例的真實精神和範圍內的所有這樣的變化和修改。
【權利要求】
1.一種方法,包括: 通過分布式智能代理DIA從計算機網絡中的多個簡約連接對象MCO收集本地狀態信息,每個MCO的本地狀態信息包括針對相應的MCO的對應的鄰居列表和選擇的下一跳,其中所述MCO中的一個或多個被配置成在沒有任何自優化的情況下選擇它們的下一跳; 通過所述DIA與計算的最佳路由拓撲相比來分析當前路由拓撲以確定是否優化所述當前路由拓撲,所述當前路由拓撲是所選下一跳的組合結果;以及 響應於確定所述當前路由拓撲應該被優化,將單播路由指令從所述DIA傳送到一個或多個單獨的MCO以指示那些單獨的MCO如何優化所述當前路由拓撲。
2.如權利要求1中所述的方法,進一步包括: 在所述DIA處從所述MCO接收更新的本地狀態信息; 分析對應的更新的當前路由拓撲;以及 響應於確定所述更新的當前路由拓撲應該被進一步優化來傳送附加的單播路由指令。
3.如權利要求1中所述的方法,進一步包括: 基於一個或多個約束來計算所述最佳路由拓撲。
4.如權利要求1中所述的方法,進一步包括: 基於滿足一個或多個需要的服務級別協定(SLA)來計算所述最佳路由拓撲。
5.如權利要求1中所述的方法,其中確定是否優化所述當前路由拓撲是基於選自包括以下各項的組的至少一個因素的:所述當前路由拓撲與經優化的路由拓撲之間的總成本差;所述當前路由拓撲與經優化的路由拓撲之間的最大路徑成本差;在所述當前路由拓撲內不滿足一個或多個需要的服務級別協定(SLA)的路徑;以及優化所述當前路由拓撲所需要的改變的數目。
6.如權利要求1中所述的方法,其中所傳送的路由指令包括針對相應的單獨的MCO的新的下一跳選擇。
7.如權利要求1中所述的方法,其中所述本地狀態信息包括本地鏈路成本、本地鏈路可靠性、本地鏈路延遲、本地鏈路預期傳輸計數(ETX)以及基於鏈路的接收信號強度指示(RSSI)中的至少一個。
8.—種設備,包括: 用來在計算機網絡中通信的一個或多個網絡接口; 耦合到所述網絡接口並且適配成執行一個或多個處理的處理器;以及 配置成存儲可由所述處理器執行的處理的存儲器,所述處理在被執行時可操作來: 從計算機網絡中的多個簡約連接對象MCO收集本地狀態信息,每個MCO的本地狀態信息包括針對相應的MCO的對應的鄰居列表和選擇的下一跳,其中所述MCO中的一個或多個被配置成在沒有任何自優化的情況下選擇它們的下一跳; 與計算的最佳路由拓撲相比來分析當前路由拓撲以確定是否優化所述當前路由拓撲,所述當前路由拓撲是所選下一跳的組合結果;以及 響應於確定所述當前路由拓撲應該被優化,將單播路由指令傳送到一個或多個單獨的MCO以指示那些單獨的MCO如何優化所述當前路由拓撲。
9.如權利要求8中所述的設備,其中所述處理在被執行時進一步可操作來: 從所述MCO接收更新的本地狀態信息;分析對應的更新的當前路由拓撲;以及 響應於確定所述更新的當前路由拓撲應該被進一步優化來傳送附加的單播路由指令。
10.一種方法,包括: 通過簡約連接對象MCO與計算機網絡中的多個MCO,在沒有任何自優化的情況下參與當前路由拓撲的建立,所述當前路由拓撲的初始實例具有環路防止,但是沒有目標函數,沒有針對本地修復的機制,並且沒有傳播通告消息; 從所述MCO向分布式智能代理DIA傳送包括用於所述當前路由拓撲的針對所述MCO的對應的鄰居列表和選擇的下一跳的本地狀態信息; 在所述MCO處從所述DIA接收指示所述MCO如何優化所述當前路由拓撲的單播路由指令;以及 根據來自所述DIA的所述路由指令為更新的當前路由拓撲重新選擇下一跳。
11.如權利要求10中所述的方法,進一步包括: 響應於所述更新的本地狀態信息從先前傳送的本地狀態信息顯著改變而將所述更新的本地狀態信息從所述MCO傳送到所述DIA。
12.如權利要求10中所述的方法,其中所述本地狀態信息包括本地鏈路成本、本地鏈路可靠性、本地鏈路延遲、本地鏈路預期傳輸計數(ETX)以及基於鏈路的接收信號強度指示(RSSI)中的至少 一個。
13.—種設備,包括: 用來在計算機網絡中通信的一個或多個網絡接口; 耦合到所述網絡接口並且適配成執行一個或多個處理的處理器;以及配置成存儲可由所述處理器執行的處理的存儲器,所述處理在被執行時可操作來:通過計算機網絡中的多個簡約連接對象MC0,在沒有任何自優化的情況下參與當前路由拓撲的建立,所述當前路由拓撲的初始實例具有環路防止,但是沒有目標函數,沒有針對本地修復的機制,並且沒有傳播通告消息; 將包括用於所述當前路由拓撲的針對所述MCO的對應的鄰居列表和選擇的下一跳的本地狀態信息傳送到分布式智能代理DIA ; 從所述DIA接收指示所述設備如何優化所述當前路由拓撲的單播路由指令;以及 根據來自所述DIA的所述路由指令為更新的當前路由拓撲重新選擇下一跳。
14.一種系統,包括: 計算機網絡中的多個簡約連接對象MC0,所述MCO被配置成在沒有任何自優化的情況下選擇它們在當前路由拓撲中相應的下一跳,所述MCO被進一步配置成將包括對應的鄰居列表和相應的選擇的下一跳的本地狀態信息傳送到分布式智能代理DIA ;以及 DIA,被配置成與計算的最佳路由拓撲相比來分析所述當前路由拓撲以確定是否優化所述當前路由拓撲,所述當前路由拓撲是所選下一跳的組合結果,並且還配置成響應於確定所述當前路由拓撲應該被優化,將單播路由指令傳送到一個或多個單獨的MCO以指示那些單獨的MCO如何優化所述當前路由拓撲; 其中那些單獨的MCO被進一步配置成從所述DIA接收所述單播路由指令,並且配置成根據來自所述DIA的所述路由指令為更新的當前路由拓撲重新選擇下一跳。
15.如權利要求14中所述的系統,其中所述DIA被進一步配置成:在所述DIA處從所述MCO接收更新的本地狀態信息; 分析對應的更新的當前路由拓撲;以及 響應於確定所述更新的當前路由拓撲應該被進一步優化來傳送附加的單播路由指令。
16.如權利要求14中所述的系統,其中所述DIA被進一步配置成基於下列中的至少一個來計算所述最佳路由拓撲:一個或多個約束;以及滿足一個或多個需要的服務級別協定(SLA)。
17.如權利要求14中所述的系統,其中確定是否優化所述當前路由拓撲是基於選自包括以下各項的組的至少一個因素的:所述當前路由拓撲與經優化的路由拓撲之間的總成本差;所述當前路由拓撲與經優化的路由拓撲之間的最大路徑成本差;在所述當前路由拓撲內不滿足一個或多個需要的服務級別協定(SLA)的路徑;以及優化所述當前路由拓撲所需要的改變的數目。
18.如權利要求14中所述的系統,其中所傳送的路由指令包括針對相應的單獨的MCO的新的下一跳選擇。
19.如權利要求14中所述的系統,其中所述本地狀態信息包括本地鏈路成本、本地鏈路可靠性、本地鏈路延遲、本地鏈路預期傳輸計數(ETX)以及基於鏈路的接收信號強度指示(RSSI)中的至少一個。
20.如權利要 求14中所述的系統,其中所述MCO被進一步配置成: 在沒有任何自優化的情況下參與當前路由拓撲的建立,所述當前路由拓撲的初始實例具有環路防止,但是沒有目標函數,沒有針對本地修復的機制,並且沒有傳播通告消息。
21.如權利要求14中所述的系統,其中所述MCO被進一步配置成: 響應於所述更新的本地狀態信息從先前傳送的本地狀態信息顯著改變來傳送更新的本地狀態信息。
【文檔編號】H04L12/751GK103999510SQ201280063099
【公開日】2014年8月20日 申請日期:2012年12月20日 優先權日:2011年12月20日
【發明者】讓-菲利普·瓦瑟爾 申請人:思科技術公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀