專利名稱:在具有拓撲狀態(tài)路由協(xié)議的通信網絡中的資源匹配的拓撲數(shù)據(jù)庫同步的制作方法
技術領域:
本發(fā)明一般地涉及在具有拓撲狀態(tài)路由協(xié)議的通信網絡中的網絡拓撲數(shù)據(jù)庫同步領域,更具體地涉及一種用于在這樣的網絡中實現(xiàn)資源匹配的網絡拓撲數(shù)據(jù)庫同步的方法和裝置。僅僅作為例子,本發(fā)明適于中斷恢復之后的網絡故障環(huán)境中或者導致網絡重啟動狀態(tài)的其它環(huán)境中的數(shù)據(jù)庫同步。
背景技術:
為了在通信網絡中的節(jié)點和節(jié)點群之間傳播或者通告拓撲狀態(tài)信息,拓撲狀態(tài)路由協(xié)議在通信網絡中被采用。通告的拓撲狀態(tài)信息轉而用于為整個給定網絡通信計算最佳化路徑。典型地,本領域技術人員都了解,拓撲狀態(tài)信息表示網絡域總體上的狀態(tài)信息。另一方面,當處理特定網絡節(jié)點本地發(fā)起的狀態(tài)信息時,在本領域中典型地是指本地狀態(tài)信息。本地鏈路狀態(tài)信息將反映給定節(jié)點與其對等節(jié)點之間通信狀態(tài)的理解。在本申請中,提到狀態(tài)信息將表示拓撲狀態(tài)信息和本地狀態(tài)信息兩者。
網絡拓撲的狀態(tài)信息典型地被存儲在同步數(shù)據(jù)庫中,該數(shù)據(jù)庫也稱為拓撲數(shù)據(jù)庫,與路由域的每個網絡節(jié)點相關聯(lián)。典型地,同步數(shù)據(jù)庫將被存儲在所考慮的網絡節(jié)點內。數(shù)據(jù)庫同步是現(xiàn)有的拓撲狀態(tài)路由協(xié)議機制,其確保網絡內的相鄰節(jié)點共享網絡的所有拓撲的公用視圖。網絡節(jié)點可以是交換機、路由器,或者其它數(shù)據(jù)處理系統(tǒng)。
當按照拓撲狀態(tài)路由信息操作的多節(jié)點網絡體系結構被初始化時,例如在網絡中斷后協(xié)議啟動,網絡的不同節(jié)點的拓撲數(shù)據(jù)庫必須每個都與它們的各個近鄰節(jié)點的拓撲數(shù)據(jù)庫同步。本領域技術人員所公知的,為了路由信息可以被共享,上述拓撲數(shù)據(jù)庫的這種同步是必須的,以便允許利用每個網絡節(jié)點的數(shù)據(jù)服務。當兩個近鄰節(jié)點之間的同步完成時,這樣的近鄰節(jié)點之間的鏈路可以被利用來提供數(shù)據(jù)服務。
本領域技術人員所公知的,按照不同技術執(zhí)行兩個近鄰節(jié)點之間的同步。例如,在專用網絡對節(jié)點接口或專用網絡對網絡接口(PNNI)協(xié)議中,該同步被實施為兩個階段。第一,為了在近鄰節(jié)點之間建立雙向通信,按照已知的“呼叫(Hello)”協(xié)議由每個網絡節(jié)點發(fā)送消息。第二,在該近鄰節(jié)點之間交換拓撲數(shù)據(jù)庫信息直到它們的拓撲狀態(tài)數(shù)據(jù)庫被同步。PNNI協(xié)議在2002年4月,ATM論壇文件第af-pnni-0055.002號,標題為“PrivateNetwork Interface Specification Version 1.1”的文件中規(guī)定(PNNI規(guī)范)。因此PNNI規(guī)范在此引入作為參考。當然,縮寫“ATM”代表“異步傳輸模式”。
上述同步必須在被網絡中斷或者網絡其它原因或者部件故障影響的所有近鄰節(jié)點之間和之中發(fā)生。為了降低網絡收斂時間(convergence time),同步應當盡可能快地被執(zhí)行和完成,目的是減少在啟動期間網絡服務的不可用性和最小化因路由行為的破壞網絡不能運行的時間。
上面的討論已經提出了影響網絡的故障的沖擊。然而,精通于這一領域的那些人將會意識到,涉及一個或多個物理或邏輯節(jié)點的故障也可能導致對由故障的普通節(jié)點服務的近鄰節(jié)點的路由能力的某種程度的破壞。盡管在一些節(jié)點體系結構中在路由功能故障的情況下可能保留某些網絡功能,諸如分組轉發(fā)或者呼叫處理,然而在被允許進入路由系統(tǒng)之前諸如PNNI的拓撲狀態(tài)協(xié)議要求域的每個網絡節(jié)點將拓撲數(shù)據(jù)庫與近鄰節(jié)點的拓撲數(shù)據(jù)庫同步。為了從節(jié)點故障中恢復,這樣的拓撲數(shù)據(jù)庫同步必須發(fā)生在這些網絡協(xié)議中。在恢復的整個方案中,取決于具體情況,同步處理可能花費數(shù)秒鐘或數(shù)分鐘或更長時間。對服務提供商或者端用戶,這一恢復時間可能會是不可接收的?;謴蜁r間為什么長的一個原因就是絕大多數(shù)實施已經制約了必須被共享的數(shù)據(jù)庫同步資源。如果嘗試參與網絡故障恢復的所有節(jié)點擁有有限數(shù)量的資源,那么需要受控的方式來確保這些節(jié)點優(yōu)化地利用這些資源以便盡可能有效地使網絡恢復,否則,以上提及的恢復延時是可以預期的。
在同步期間,由故障節(jié)點服務的網絡設備將受到影響并且因此路由功能嚴重遭受損壞。盡管上述討論已經聚焦到圍繞從網絡故障中恢復的難題,本領域技術人員將會認識到相似的問題起因于要求節(jié)點承擔它的拓撲數(shù)據(jù)庫的同步的其它事件,所述事件例如在網絡節(jié)點的故障或者與網絡節(jié)點相關的路由處理器的復位。作為例子,在一些拓撲狀態(tài)協(xié)議中,為了使得路由功能為網絡正常地操作,通信網絡中的某些節(jié)點可以承擔重要的或者附加的職責。在如J.Moy于1998年4月在RFC 2328,STD 54,“OSPF版本2”中描述的開放式最短路徑最先(OSPF)IP路由協(xié)議中,被確定為指定路由器(DR)的節(jié)點將承擔這樣的職責。同樣地,在PNNI協(xié)議中,被稱為對等組領導(PGL)的節(jié)點承擔這種性質的職責。當與一般網絡節(jié)點的故障相比較,影響被指定具有前述附加職責的物理節(jié)點的故障可能影響與所述故障節(jié)點相關的網絡節(jié)點的網絡的相對更大部分。如果相關節(jié)點的數(shù)據(jù)庫同步處理(即通過不具有受控方式的同步每個具有受限數(shù)據(jù)庫同步資源的大量節(jié)點)中具有延時,那么PGL或DR功能可能也被延時。因此,由于這一延時可能更大數(shù)量的節(jié)點收到影響。
本領域技術人員所公知的,關于同步的當前目的和方法要求所有受到影響的近鄰節(jié)點被同時包括在網絡的重啟或者恢復中。然而,隨著網絡規(guī)模的增加和每個網絡節(jié)點必須同步的近鄰節(jié)點數(shù)目的增長,同時使數(shù)據(jù)庫與多個近鄰節(jié)點同步變得日益難解決,因為同步處理是資源高度密集型的。許多節(jié)點的資源被召集來參與與近鄰節(jié)點的同步行動,這些資源涉及存儲器、緩沖器管理或處理能力。因此,同時同步所有受影響的近鄰節(jié)點會降低同步節(jié)點的性能,使得所有或者部分同步節(jié)點在所有情況下可能不會最終獲得同步?;蛘?,根據(jù)如前所述的已知同步方法的資源承諾可能導致同步處理停止和重新啟動。這可能潛在地負面影響與整個網絡有關的啟動時間,而且在某種情況下同步網絡節(jié)點可能變得如此不可控制以至導致節(jié)點的級聯(lián)故障直到節(jié)點不能操作。此外,在更大型的網絡體系結構中,同步負擔在當前實現(xiàn)中如此大以致于需要網絡一次重啟一個網絡節(jié)點來確保網絡的路由功能的正確重建。這也是非常繁瑣的,手工強度大,以及增加了恢復故障網絡要花費的時間。
已經尋找網絡同步的更新的方法來限制任何給定網絡節(jié)點可以嘗試與之同時同步的近鄰節(jié)點數(shù)量。例如,本領域技術人員理解這一限制可以是用于節(jié)點同時同步的近鄰節(jié)點的設計的最大數(shù)目。典型地,同步近鄰節(jié)點的最大數(shù)目遠小于由節(jié)點為路由目的支持的近鄰節(jié)點的最大數(shù)目。隨著連網需求在全球范圍內的繼續(xù)增加,后者數(shù)目繼續(xù)增加。當后者數(shù)目繼續(xù)增加時,前者不能與后者一樣地增加,同時選擇相同對節(jié)點同步的多個節(jié)點的概率下降,這增加了預期的收斂和恢復時間。如果成對方式的再同步不受控,以及留下在目前網絡中通常如此的隨機機會,那么網絡可能根本無法恢復,嚴重地影響服務。
因此,當面臨從節(jié)點故障中恢復的狀況或者可能需要節(jié)點如其先前那樣同步其拓撲數(shù)據(jù)庫的其它狀況時,現(xiàn)有技術的拓撲狀態(tài)路由協(xié)議出現(xiàn)了問題和挑戰(zhàn),而且無論受故障立即影響的節(jié)點是否具有突出的責任,這些問題和挑戰(zhàn)都會出現(xiàn)。首先,已知的恢復機制典型地破壞至少部分網絡的路由功能,并且導致服務影響利用網絡的某些設備。受影響的部分網絡將在具體情況下有所不同。例如,可以預料到對于執(zhí)行突出功能的節(jié)點,比不執(zhí)行該功能的節(jié)點,受影響的部分網絡是更寬范圍的。另外,可以預料受影響的部分對于涉及PNNI對等組領導的故障,比影響OSFP指定路由器的故障,更容易擴展。第二,從節(jié)點或者鏈路故障中恢復的時間將是不同的,但是可能是高達幾分鐘的量級或者更長時間?;謴脱訒r的原因包括要同步的大量近鄰節(jié)點、有限的數(shù)據(jù)庫同步資源、以及失配的近鄰節(jié)點,所述失配的近鄰節(jié)點對再同步和恢復故障的部分網絡會導致“偶然”過程。如上所述,對某些服務提供商或者終端用戶來說,這一時間范圍可能是不可接受的。第三,由于許多節(jié)點將不得不意識到故障并因此被要求參與恢復過程,具有帶寬的處理時間性質的網絡資源將被轉移。這通常將有損于其它網絡活動,并可能降低網絡路由系統(tǒng)的性能和穩(wěn)定性,尤其是需要比必需的周期更長時間。
因此需要改善的方法和系統(tǒng)以用于通信網絡中的節(jié)點再同步。相應地,期望一種解決方案至少部分地解決上述和其它缺點。
發(fā)明內容
根據(jù)發(fā)明的一方面,提供一種用于在網絡中從連接到網絡節(jié)點的多個近鄰節(jié)點中選擇近鄰節(jié)點來同步網絡拓撲數(shù)據(jù)庫信息與網絡節(jié)點的方法,該方法包括從每個近鄰節(jié)點接收標識符以及關于同步資源是否已經分配給所述網絡節(jié)點的指示;比較所述近鄰節(jié)點的標識符與其它近鄰節(jié)點的標識符的大小來確定是否與所述近鄰節(jié)點同步;并且,如果所述近鄰節(jié)點已經向所述網絡節(jié)點分配同步資源,則同步所述近鄰節(jié)點。
該方法可以進一步包括向所述近鄰節(jié)點分配同步資源。該方法可以進一步包括發(fā)送同步資源分配的指示給所述近鄰節(jié)點。同步資源可以是節(jié)點存儲器、節(jié)點輸入/輸出容量、和節(jié)點處理器容量中的至少一個。每個標識符可以是唯一值、因特網協(xié)議(IP)地址、異步傳輸模式(ATM)地址、和節(jié)點標識(ID)號中的至少一個,或者出于向每個節(jié)點提供唯一值目的的任意其它分配值以及可以與其它節(jié)點進行區(qū)別和具有不同優(yōu)先次序的權重。指示可以是標記,標識符可以是包含在經由網絡發(fā)送的一個或者多個消息中的字段。消息可以是專用網絡-節(jié)點接口(PNNI)呼叫協(xié)議消息和PNNI數(shù)據(jù)庫摘要分組(summary packet)中的至少一個。網絡節(jié)點和多個近鄰節(jié)點中的每一個可以是路由器、交換機、和數(shù)據(jù)處理系統(tǒng)中的至少一個。該方法可以進一步包括從每個近鄰節(jié)點接收同步所述網絡節(jié)點的優(yōu)先級的指示。該方法可以進一步包括比較所述近鄰節(jié)點的優(yōu)先級與其它近鄰節(jié)點的優(yōu)先級來確定是否與所述近鄰節(jié)點同步。此外,比較步驟可以進一步包括確定所述近鄰節(jié)點是否屬于具有最大和最小標識符大小之一的近鄰節(jié)點組,該組具有由所述網絡節(jié)點內可用的同步資源確定的多個近鄰節(jié)點。
根據(jù)本發(fā)明的另一個方面,提供了諸如數(shù)據(jù)處理系統(tǒng)(例如網絡節(jié)點)的裝置、用于適配該系統(tǒng)的方法,以及諸如計算機可讀介質的制造產品,所述計算機可讀介質上具有用于實現(xiàn)本發(fā)明的方法的程序指令。
從下面詳細的描述,結合附圖,本發(fā)明的實施方式的進一步特征和優(yōu)勢將變得明顯。其中圖1的框圖說明在示例性的通信網絡的一部分中的近鄰節(jié)點;圖2的框圖說明在示例性的通信網絡的一部分中的近鄰節(jié)點之間的同步問題;圖3的框圖說明適于實現(xiàn)本發(fā)明的實施例的數(shù)據(jù)處理系統(tǒng);圖4的框圖說明根據(jù)本發(fā)明的實施例,一種用于通信網絡中的近鄰節(jié)點的改善的同步方法。
圖5的流程圖說明對于近鄰對等狀態(tài)機可能的狀態(tài)變化;以及圖6的流程圖根據(jù)本發(fā)明的實施例,說明數(shù)據(jù)處理系統(tǒng)的存儲器內的軟件模塊的操作,該操作用于從網絡中耦合到網絡節(jié)點的多個近鄰節(jié)點中選擇近鄰節(jié)點來同步網絡拓撲數(shù)據(jù)庫信息與所述網絡節(jié)點。
應當注意在整個附圖中,相似的特征由相似的附圖標記來標識。
具體實施例方式
在下面的描述中,陳述細節(jié)以提供對本發(fā)明的理解。在一些例子中,某些軟件、電路、結構和技術沒有被詳細描述或者示出,以免使發(fā)明模糊不清。這里使用的術語“數(shù)據(jù)處理系統(tǒng)”是指用于處理數(shù)據(jù)的任何機器,包括這里描述的通信系統(tǒng)、計算機系統(tǒng)、網絡單元、網絡節(jié)點、以及網絡裝置。本發(fā)明可以實現(xiàn)在任何計算機程序語言中,前提是該數(shù)據(jù)處理系統(tǒng)的操作系統(tǒng)提供可以支持本發(fā)明需求的裝置。出現(xiàn)的任何局限性應當是特定類型的操作系統(tǒng)或者計算機程序語言的原因,并且不應當是本發(fā)明的限制。
圖1的框圖說明在示例性的通信網絡的一部分100中的近鄰網絡節(jié)點A、B、C、D、E、F、G、H、X、Y、Z。每個網絡節(jié)點具有所示的近鄰節(jié)點。近鄰網絡節(jié)點由通信鏈路110耦合而形成網絡100。通信鏈路110可以是光纖鏈路、雙絞線對鏈路、無線鏈路等等。例如,節(jié)點F的近鄰節(jié)點是節(jié)點A、X、Y、和Z。網絡100可以包括圖1中沒有示出的另外的節(jié)點。這些另外的節(jié)點的出現(xiàn)由開放式終接鏈路110指示。例如,節(jié)點C被耦合到A、B、和D以及三個沒有示出但由各個開放式終接鏈路110指示的另外的節(jié)點。
在協(xié)議啟動(例如,網絡中斷后)時,每個節(jié)點(例如F)需要同步其數(shù)據(jù)庫與其近鄰節(jié)點(如A、X、Y、和Z)的數(shù)據(jù)庫,以便同步路由信息以便允許使用節(jié)點F的數(shù)據(jù)服務和網絡100。當兩個近鄰(例如F和X)之間的同步完成時,近鄰F、X之間的鏈路110可以被用于數(shù)據(jù)服務。根據(jù)公知的方法,兩個近鄰F、X之間的同步典型地在如下兩個階段執(zhí)行1.通過呼叫協(xié)議,發(fā)送呼叫消息以在近鄰節(jié)點之間建立雙向通信;及2.在近鄰節(jié)點之間交換數(shù)據(jù)庫信息直到它們的數(shù)據(jù)庫被同步。
這一同步必須在受到網絡中斷影響的所有近鄰之間進行。為了降低網絡收斂時間,最好盡可能快地執(zhí)行這一同步,從而降低對服務的負面影響和最小化網絡100不可運行的時間量。
如上所述,在啟動時網絡同步的前述方法讓每個節(jié)點同時與其所有近鄰節(jié)點同步。然而,當網絡規(guī)模增大和每個節(jié)點必須同步的近鄰的數(shù)量增加時,同時同步數(shù)據(jù)庫與多個近鄰節(jié)點變得日益困難(即資源密集的)。本領域技術人員將明白需要許多節(jié)點的資源來與近鄰節(jié)點同步(例如存儲器、緩存器管理、CPU等)。同時同步所有近鄰節(jié)點可能嚴重地影響節(jié)點的性能。例如,這樣的同時同步可能導致沒有近鄰節(jié)點同步、有限數(shù)量的近鄰節(jié)點同步、或者同步的停止并且結果需要重啟同步。這可能負面地影響在啟動時的整個網絡100。在極端的情況下,節(jié)點A、B、C、D、E、F、G、H、X、Y、Z可能不堪重負以致于導致節(jié)點中的級聯(lián)故障直到節(jié)點不能操作。此外,在極大型網絡中,許多節(jié)點可能受到這一巨大的同步負擔的負面影響。確實,網絡100甚至可能需要一次啟動一個節(jié)點來推進網絡的啟動。
解決這一同步問題的近期的方法包括針對節(jié)點限制節(jié)點嘗試同時同步的近鄰的數(shù)量到同時同步近鄰節(jié)點的設計的最大數(shù)量。典型地,雖然由節(jié)點支持的近鄰節(jié)點的最大數(shù)量繼續(xù)增加,但同步近鄰節(jié)點的最大數(shù)量遠小于由節(jié)點支持的近鄰節(jié)點的最大數(shù)量。例如,在早期的方法中,節(jié)點被限制同時同步其最多100個近鄰節(jié)點中的六個節(jié)點。在后來的方法中,這些限制分別被增加到6和300。令人感興趣的是,ATM論壇最近已經采納如在PNNI規(guī)范中所定義的限制近鄰節(jié)點同時同步的概念。
圖2的框圖說明在示例性的通信網絡的一部分200中的近鄰節(jié)點之間的同步問題。因為基于空閑的同步資源(例如存儲器、緩存器管理、CPU等)的同時的近鄰節(jié)點的選擇是隨機的,所以出現(xiàn)同步問題。因此,如果兩個近鄰節(jié)點沒有相互選擇,那么同步被延時并且網絡收斂受到負面影響。當雙向通信在給定節(jié)點和其近鄰節(jié)點之間建立(即,使用呼叫協(xié)議)時,每個節(jié)點任意挑選三個近鄰節(jié)點來同步并且分配其同步資源的一部分給這些被選擇的近鄰節(jié)點中的每一個。分配的同步資源由圖2中的箭頭(例如210)指示,從給定節(jié)點(例如節(jié)點A.5)沿通信鏈路230指向其近鄰節(jié)點或者多個節(jié)點(例如節(jié)點G)。當每個節(jié)點已經分配同步資源(例如210、220)給另一個節(jié)點時,同步過程在兩個近鄰節(jié)點(例如A.5、G)之間開始。當同步開始時,分配給它們各自的近鄰節(jié)點G和A.5的同步資源210和220被投入使用。在圖2中,同步資源210和220在節(jié)點A.5和G之間的匹配分配允許同步過程在這兩個節(jié)點之間開始。在選擇的第二節(jié)點還沒有分配其資源給該第一節(jié)點時,由第一節(jié)點分配給選擇的第二節(jié)點的資源(例如圖2中的D和A.5、A.5和B、B和C)不能使用,直到第二節(jié)點分配它自己的資源給第一節(jié)點。在這種情況下,同步資源的非匹配分配防止同步在節(jié)點之間初始化。
注意,每個節(jié)點不知道其近鄰節(jié)點是否已經分配了資源給它,或者反之亦然。為了確保資源不會進退兩難并且網絡可以收斂,常常執(zhí)行超時周期。如果同步在超時周期中沒有發(fā)生,那么第一節(jié)點將重新分配其同步資源給第三個近鄰節(jié)點,期望第三近鄰節(jié)點已經分配其資源給該第一節(jié)點。超時周期典型地遠長于用于執(zhí)行近鄰節(jié)點同步的時間(例如10秒對5分鐘)。由于這一選擇是隨機的(即,碰上和錯過),而且由于用于選擇同步的新的近鄰節(jié)點的超時典型地大于實際用于執(zhí)行同步的時間,完成網絡同步(和收斂)可能會非常慢。因此,被提供的服務可能受到非常不利的影響。
這樣,在大規(guī)模網絡中斷(或者網絡重啟)期間,網絡同步過程沒有有效地利用同步資源,因為兩個近鄰節(jié)點之間成對同步是被隨機選擇的(即碰上和錯過),其中存在錯過的情況(例如圖2中分別與節(jié)點D和A.5有關的同步資源240和250)。當相互選擇不是快速的(例如圖2中的D和A.5),同步資源變得不可用直到資源被以同樣的隨機方式重分配(例如超時之后),并且相互選擇是隨機做出的。這導致不可預測的同步行為,這轉而可能導致極長的網絡同步時間,尤其是當網絡中支持的近鄰節(jié)點數(shù)量很大時和當每個節(jié)點同時同步的近鄰最大數(shù)相對小時。
圖3的框圖說明適于實現(xiàn)本發(fā)明的實施例的數(shù)據(jù)處理系統(tǒng)300。數(shù)據(jù)處理系統(tǒng)300適于用作諸如ATM網絡的通信網絡(例如200)中的網絡節(jié)點(例如A.5)。數(shù)據(jù)處理系統(tǒng)300包括中央處理單元(CPU)320、存儲器330、和接口設備350以及優(yōu)選地包括輸入設備310和顯示器340。CPU 320可以包括專用協(xié)同處理器和存儲器設備。存儲器330可以包括RAM、ROM、磁盤設備、以及數(shù)據(jù)庫。接口設備350可以包括網絡連接,所述連接包括ATM網絡連接。輸入設備310可以包括鍵盤、鼠標、跟蹤球,或者類似設備。以及,顯示器340可以包括計算機屏幕、終端設備、或者諸如打印機或者繪圖儀的硬拷貝產生輸出設備。數(shù)據(jù)處理系統(tǒng)300適于經由接口設備350通過網絡200與其它數(shù)據(jù)處理系統(tǒng)(未示出)通信。數(shù)據(jù)處理系統(tǒng)300可以包括用于存儲和接入網絡協(xié)議以及編程信息的數(shù)據(jù)庫系統(tǒng)332。數(shù)據(jù)庫系統(tǒng)332可以包括數(shù)據(jù)庫管理系統(tǒng)(DBMS)和數(shù)據(jù)庫并且被存儲在數(shù)據(jù)處理系統(tǒng)300的存儲器330中。數(shù)據(jù)處理系統(tǒng)300已經在其中存儲數(shù)據(jù)表示指令順序的數(shù)據(jù),當所述指令被執(zhí)行時實施這里描述的方法。當然,數(shù)據(jù)處理系統(tǒng)300可以包含另外的軟件和硬件,對于理解發(fā)明而言沒必要對其進行描述。
因此,數(shù)據(jù)處理系統(tǒng)300包括計算機可執(zhí)行的程序指令,用于指示系統(tǒng)300實現(xiàn)本發(fā)明的實施例。程序指令可以包含在駐留于數(shù)據(jù)處理系統(tǒng)300的存儲器330中的一個或者多個軟件模塊331??蛇x地,程序指令可以包含在計算機可讀介質(諸如CD盤或者軟盤)上,所述介質可以用于將程序指令傳輸?shù)綌?shù)據(jù)處理系統(tǒng)300的存儲器330中。可選地,程序指令可以被包含在計算機可讀的、信號承載介質中,由程序指令的出售者或者供應商者上載到網絡,而且這一信號承載介質可由終端用戶或者可能的買家通過接口(例如350)從網絡下載到數(shù)據(jù)處理系統(tǒng)300。
再參見圖2,本發(fā)明提供一種方法確保不存在這樣的情況即具有空閑資源的兩個近鄰節(jié)點(例如D和A.5)不利用這些資源來彼此同步。通過確保這一點,能改善網絡同步。一般地,本發(fā)明采用如下三條規(guī)則或者機制來改善節(jié)點同步1.每個節(jié)點(例如A.5)應當確定性地選擇在同步資源變得可用時,哪些近鄰節(jié)點(例如,A.4、B、C、D、G、H)應當被分配近鄰這些資源(例如,210)。這一選擇是基于規(guī)則的。
2.每個節(jié)點(例如A.5)應當在近鄰節(jié)點同步之前(例如經由呼叫協(xié)議、經由數(shù)據(jù)庫摘要分組(DBSP)等),在通過網絡200中傳輸?shù)南⒅兄甘舅呀浵蛞粭l或者多條鏈路(例如,230)分配同步資源(例如210)給近鄰節(jié)點,以便通知其近鄰節(jié)點它們已經被選擇來進行同步。這一消息可以采用“同步資源分配”標記的形式或者包括該標記。
3.一旦接收到指示近鄰節(jié)點被選擇同步的消息,每個節(jié)點應當系統(tǒng)地選擇近鄰節(jié)點來同步以便確保所有同步資源被最佳地使用。如果需要,每個節(jié)點應當按需移動或者重分配同步資源給可用的鏈路,來加速同步過程。
從而,根據(jù)本發(fā)明,通過重分配未使用的資源給另一個近鄰節(jié)點,如果該近鄰節(jié)點已經選擇指定的第一節(jié)點來同步并且已經通過所傳輸?shù)南?例如DBSP)告知第一節(jié)點這一意圖,則該第一節(jié)點的同步資源的利用被最大化。與重分配協(xié)同,近鄰節(jié)點選擇的任意特性由確定性的方法替代,這導致近鄰節(jié)點的更多的相互選擇。在此使用的“相互選擇”這一表述方式指兩個近鄰節(jié)點已經相互選擇同步而且已經彼此告知該意圖的情況。有利地,資源重分配和確定性的選擇的組合導致網絡中近鄰節(jié)點的所有同步更快。
網絡故障或者重啟之后,節(jié)點根據(jù)所有節(jié)點必須遵循的規(guī)則確定性地分配同步資源給近鄰節(jié)點。規(guī)則依賴于每個節(jié)點,每個節(jié)點具有與其相關的唯一值。例如,唯一值可以是因特網協(xié)議(IP)或者ATM地址、節(jié)點ID,或者通過如呼叫協(xié)議在網絡中通告的為近鄰節(jié)點同步專門使用的唯一值。規(guī)則運行來選擇和分配同步資源給具有最高(或最低)唯一值的下一個可用的近鄰節(jié)點。這里使用的術語“可用的”表明未選擇的、未同步的、以及與當前節(jié)點例如通過呼叫協(xié)議建立有雙向通信。
通過該規(guī)則分配資源將允許具有最高(或最低)唯一值的節(jié)點(和它們的近鄰節(jié)點)立刻開始同步。然而,即使遵循這一規(guī)則之后,其它節(jié)點可以不必使用它們的同步資源,因為它們需要等待更高(或更低)值節(jié)點完成同步。這些節(jié)點可能仍然有它們能夠同步的其它近鄰節(jié)點。如此,這些節(jié)點可以利用同步資源分配標記來確定是否有機會發(fā)起進一步的同步。這通過允許節(jié)點重分配它們的同步資源給其它近鄰來完成,如果那些近鄰指示它們可用于同步的話。
上述方法可以用圖形方式來說明。圖4的框圖說明根據(jù)本發(fā)明的實施例用于通信網絡200中近鄰節(jié)點(如A.1、A.4、A.5等)的改善的同步方法。在這一例子中,每個節(jié)點只有可用于同時地同步三個其它近鄰節(jié)點的足夠同步資源。這由圖4中發(fā)自節(jié)點B、C、D、H、A.5、和A.4的指向沿選擇的鏈路230方向的三個箭頭來示意。選擇規(guī)則(在這一例子中)是選擇具有最高節(jié)點ID值的三個可用的近鄰節(jié)點,其中節(jié)點A.1具有最低節(jié)點ID值“A.1”(即A.1<A.2<A.3<A.4<A.5<B<C<D<G<H)。這一規(guī)則促使節(jié)點A.5分配近鄰同步資源(neighbor synchronizationresources)給近鄰節(jié)點D、G、和H(即D、G、和H是比B和C更高的節(jié)點ID值)。類似地,節(jié)點A.4分配近鄰同步資源給近鄰節(jié)點A.2、A.3、和A.5(即A.2、A.3、和A.5是比A.1更高的節(jié)點ID值)。從這一初始選擇起,一些節(jié)點可以立即開始同步(例如,A.5與G,A.4與A.3,A.4與A.2)。這一最高節(jié)點ID值的使用使得具有最高節(jié)點ID值的節(jié)點首先同步。有利地,根據(jù)節(jié)點同步次序,通過相應地分配節(jié)點ID或通過分配其它同步值給節(jié)點并且在選擇規(guī)則中利用這些值來偏向那些優(yōu)先地最先完成同步的節(jié)點,這一特性可以被用于支持網絡核心。
再參考圖4,注意節(jié)點A.4初始地選擇節(jié)點A.5來同步。如果不立即使用,則節(jié)點A.4的同步資源將被浪費。因為節(jié)點A.5還沒有選擇節(jié)點A.4來同步,因此它們不能被立即使用。然而,節(jié)點A.4注意到它的近鄰A.1已經通知它已經分配近鄰同步資源給A.4。因此,節(jié)點A.4可以將來自節(jié)點A.5的近鄰同步資源重分配來首先同步節(jié)點A.1。當節(jié)點A.4完成與節(jié)點A.1的同步時,它將再一次選擇節(jié)點A.5來同步,并且將在其選擇過程中繼續(xù)偏愛節(jié)點A.5直到它在與節(jié)點A.5的同步中取得成功。這一可重復性是一個優(yōu)越的特性,因為它確保在近鄰節(jié)點之間將有比在遵循任意選擇過程情況下更多的相互選擇。
其它選擇規(guī)則是可能的,例如在呼叫協(xié)議中包括新的“同步優(yōu)先級TLV”來指示節(jié)點的相對優(yōu)先級。然而,選擇具有最高(或最低)節(jié)點ID(或路由器ID)值是優(yōu)選的,因為實現(xiàn)的簡單和對許多協(xié)議的廣泛適應性。
從而,本發(fā)明通過近鄰節(jié)點的更快速的同步推進了改善的網絡恢復和網絡啟動。另外,本發(fā)明廣闊的適應性,因為它能在若干動態(tài)路由協(xié)議(例如PNNI、OSPF、和ISIS)中實現(xiàn),其中近鄰節(jié)點必須同步它們。
根據(jù)一個實施例,本發(fā)明可以在如下所述的修改的PNNI規(guī)范版本下運行的網絡中實現(xiàn)。應當注意,本發(fā)明也可以在OSPF和中間系統(tǒng)到中間系統(tǒng)(IS-IS)規(guī)范下運行的網絡中實現(xiàn)。
關于數(shù)據(jù)庫同步(即PNNI規(guī)范的5.7部分),根據(jù)這一實施例,當節(jié)點(例如圖4中的A5)首先獲悉近鄰對等節(jié)點的存在(駐留在同一對等組中)(如圖4中的G),當它們變得可用時,分配數(shù)據(jù)庫同步資源給所述節(jié)點。需要這些同步資源來執(zhí)行數(shù)據(jù)庫同步,而且當它們被分配給近鄰對等狀態(tài)機時,狀態(tài)機初始化數(shù)據(jù)庫交換過程,以便同步近鄰對等節(jié)點的拓撲數(shù)據(jù)庫。
數(shù)據(jù)庫交換過程包括DBSP序列的交換,DBSP序列包含節(jié)點拓撲數(shù)據(jù)庫中所有PNNI拓撲狀態(tài)單元(PTSE)的標識信息。使用固定不變的機制交換DBSP,由此一方發(fā)送DBSP并且另一方以其自己的DBSP響應(隱含地確認接收的分組)。在任何一次中至多允許兩個近鄰對等節(jié)點之間一個未完成的分組。
當節(jié)點從近鄰對等節(jié)點接收DBSP時,對于分組中描述的每個PTSE的出現(xiàn)檢查其拓撲數(shù)據(jù)庫。如果在拓撲數(shù)據(jù)庫中沒有找到PTSE,或者如果近鄰對等節(jié)點有更新版本的PTSE,那么該節(jié)點必須從這一近鄰對等節(jié)點,或者可選擇地從另一個近鄰對等節(jié)點請求該PTSE,其中所述另一個近鄰對等節(jié)點的數(shù)據(jù)庫摘要指示其具有最新版本PTSE。
對于最低等級的近鄰對等節(jié)點,它們之間可能有多條并行物理鏈路和/或虛擬路徑連接(VPC)。兩個近鄰對等節(jié)點之間的每條物理鏈路和/或VPC將運行獨立的呼叫協(xié)議狀態(tài)機。然而,為了數(shù)據(jù)庫同步和溢出,在近鄰對等節(jié)點之間只有一個會話被保持。這一會話由近鄰對等狀態(tài)機和近鄰對等數(shù)據(jù)結構來描述,其中包括維護近鄰對等節(jié)點數(shù)據(jù)庫同步和溢出所必需的信息。只要鏈路達到呼叫狀態(tài)“內部雙向(2-WayInside)”,事件“添加端口(AddPort)”在相應的近鄰對等狀態(tài)機中被觸發(fā)。同樣地,當鏈路離開呼叫狀態(tài)“內部雙向”,事件“撤銷端口(DropPort)”在相應的近鄰對等狀態(tài)機中被觸發(fā)。當事件“添加端口”被第一次觸發(fā)時,兩個近鄰對等節(jié)點之間的第一條鏈路出現(xiàn)之后,數(shù)據(jù)庫交換過程開始。當用于近鄰對等節(jié)點之間的最后一條鏈路的“撤銷端口”事件發(fā)生時,近鄰對等狀態(tài)機將在內部產生“最后撤銷端口(DropPortLast)”事件,致使用于近鄰對等節(jié)點的所有狀態(tài)信息都被清除。
當PNNI拓撲狀態(tài)分組(PTSP)、PTSE“確認”分組、DBSP、或PTSE“請求”分組被發(fā)送時,在處于呼叫狀態(tài)“內部雙向”的近鄰對等節(jié)點之間的任何鏈路都可以被使用。連續(xù)的分組可以在不同鏈路上發(fā)送,對PNNI路由信息的分布和維護沒有任何有害的影響。當近鄰對等狀態(tài)機處于“滿(Full)”狀態(tài)時,最低等級近鄰對等節(jié)點之間的鏈路只能在PTSE中進行通告。對于近鄰最低等級對等節(jié)點由物理鏈路和VPC連接的情況,變化到“滿”狀態(tài)或者從滿”狀態(tài)變化到其它狀態(tài)將將致使該節(jié)點的PTSE的一個或者多個新的實例被發(fā)起或者被刷新。
在近鄰對等邏輯組節(jié)點之間,只有基于交換式虛擬信道連接(SVCC)的路由控制信道(RCC)被用于PNNI路由分組的交換。與最低等級近鄰對等的情況相似,近鄰對等狀態(tài)機被耦合到RCC的呼叫狀態(tài)機。注意,邏輯組節(jié)點(LGN)之間的水平的鏈路的呼叫狀態(tài)不影響近鄰對等狀態(tài)。當RCC的呼叫狀態(tài)達到“內部雙向”時,事件“添加端口”在近鄰對等狀態(tài)機中被觸發(fā)并且數(shù)據(jù)庫交換過程開始。當RCC的呼叫狀態(tài)脫離狀態(tài)“內部雙向”時,事件“撤銷端口”在近鄰對等狀態(tài)機中被觸發(fā),致使其從“滿”狀態(tài)轉換到“NP失效(NPdown)”狀態(tài)。
在近鄰節(jié)點通過基于SVCC的RCC通信的情況下,近鄰對等狀態(tài)機不直接影響水平方向的鏈路PTSE的發(fā)起。相反地,其通過“水平鏈路”呼叫協(xié)議間接地影響水平方向鏈路PTSE的發(fā)起。另外,當首先為給定鏈路發(fā)起PTSE時,相關的LGN呼叫機必須處于“內部雙向”狀態(tài)而且對等數(shù)據(jù)結構必須處于“滿”狀態(tài)。
關于近鄰對等數(shù)據(jù)結構(即PNNI規(guī)范的5.7.1部分),不考慮那些節(jié)點之間的鏈路數(shù)量,針對每個近鄰對等節(jié)點,每個節(jié)點具有單個近鄰對等數(shù)據(jù)結構。近鄰對等會話在除了“NP失效”之外的狀態(tài)中被稱為鄰接。近鄰對等數(shù)據(jù)結構包含關于在兩個近鄰對等之間形成鄰接的所有信息。屬于不同對等組的近鄰節(jié)點將不形成鄰接。近鄰對等數(shù)據(jù)結構包括如下信息·“狀態(tài)”近鄰對等有限狀態(tài)機(FSM)的狀態(tài)。下面將更詳細地描述它。
·“遠程節(jié)點ID”用于標識近鄰對等節(jié)點的節(jié)點ID。
·“端口ID列表”端口ID列表只被用在由物理鏈路和/或VPC連接的最低等級近鄰對等的情況下。端口ID列表是那些到處于狀態(tài)“內部雙向”的近鄰對等的鏈路的列表。當PTSP、PTSE確認分組、DBSP、或PTSE請求分組被發(fā)送或重新發(fā)送到近鄰對等時,在這一列表中指定的任何鏈路都可以被使用。
·“DS序列號”標識獨立DBSP的無符號的32位數(shù)字。當?shù)谝淮芜M入“協(xié)商”狀態(tài)時,數(shù)據(jù)庫摘要(DS)序列號應當被設置為一個值,該值不是由近鄰對等先前所見過的,但是不能太大以致于不能序列號不能安全地包裝。一個合理的方案是使用該狀態(tài)機的日歷計數(shù)器(time of daycounter)的時間的較低的24位。然后DS序列號由主節(jié)點(master)用發(fā)送的每個新的DBSP進行增加。從節(jié)點(slave)的DS序列號指示從主節(jié)點接收的最后分組。
·“對等重發(fā)列表”已經被溢出但沒有被近鄰對等確認的PTSE的列表。這些將被周期地重發(fā)直到它們被確認,或者直到近鄰對等狀態(tài)機被拆卸。與該列表中每個條目相關的是“PTSE重發(fā)定時器”。這是在“PTSE重發(fā)間隔”秒之后激發(fā)的間隔定時器。當與該PTSE相對應的確認被接收時該定時器被停止。
·“PTSE重發(fā)間隔”在每隔PTSE重發(fā)間隔秒重發(fā)每個沒有被確認的PTSE。
·“對等延時確認列表”延時確認將被發(fā)送到近鄰對等的PTSE的列表。每隔“對等延時確認間隔”秒,確認分組被發(fā)送到近鄰對等,所述近鄰對等包含對等延時確認列表中的所有條目的PTSE標識信息,且該列表被清除。
·“對等延時確認間隔”這是對等延時確認列表的連續(xù)檢查之間的時間間隔。
·“對等延時確認定時器”當該定時器期滿時,在對等延時確認列表中任何沒有被確認的PTSE被捆綁到確認分組中并且被發(fā)送到近鄰對等。
·“PTSE請求列表”為了同步兩個近鄰對等的拓撲數(shù)據(jù)庫需要被請求的PTSE列表。當接收DBSP時這一列表被創(chuàng)建。PTSE請求分組被用于從這一近鄰對等、或者選擇性的從任何其它已知的具有丟失PTSE的近鄰對等來請求這一列表上的每個PTSE。當合適的PTSE被接收時,該列表耗盡。
·“DS Rxmt間隔”以秒為單位,節(jié)點再次發(fā)送前一DBSP之前的等待時間。
·“DS Rxmt定時器”在DSRxmt間隔秒之后激發(fā)的間隔定時器。當節(jié)點接收到正確的DBSP時該定時器被停止。
·“請求Rxmt間隔”以秒為單位,節(jié)點發(fā)送新的PTSE請求分組之前的時間,所述新的PTSE請求用于請求尚未接收到的最后的PTSE請求分組的PTSE。
·“請求Rxmt定時器”在請求Rxmt間隔秒之后激發(fā)的間隔定時器。當接收到在最后的PTSE請求分組中被請求的所有PTSE時,該定時器被停止。
·“最后接收的數(shù)據(jù)庫摘要分組的標識信息”包含在從近鄰對等接收的最后的DBSP中的DBSP分組標記(包括“初始化”、“更多”、“主節(jié)點”、和保留位)和DS序列號。這一信息被用于確定是否從近鄰對等接收的下一個DBSP是副本。
根據(jù)本發(fā)明的這一實施方式,近鄰對等數(shù)據(jù)結構包括如下附加信息·“同步資源分配狀態(tài)”本地同步資源分配狀態(tài)可以是已分配或者未分配。它用于向其近鄰指示是否數(shù)據(jù)庫同步資源對這一近鄰對等FSM已經變得可用。如果同步資源被分配,那么“同步資源分配”位在被發(fā)送的DBSP中被設置為1。如果未分配同步資源,那么同步資源分配位在被發(fā)送的DBSP中被清除。
·“數(shù)據(jù)庫同步資源”數(shù)據(jù)庫(DB)同步資源是完成與近鄰對等的數(shù)據(jù)庫同步過程所需的那些資源。如果邏輯節(jié)點沒有能力一次執(zhí)行與所有近鄰對等的并發(fā)的數(shù)據(jù)庫同步,那么數(shù)據(jù)庫同步資源被限制到任何一次只允許最大數(shù)量的近鄰用于數(shù)據(jù)庫同步。在它們變得空閑時(參見上述),數(shù)據(jù)庫同步資源以確定性的方式被分配給近鄰對等FSM。DB同步資源的準確的內容是實施特定的,然而,它們可以包含諸如PTSE請求列表資源、或者數(shù)據(jù)庫摘要資源、主/從關系等的項目。作為參考,當兩個近鄰對等正在交換數(shù)據(jù)庫時,它們形成主/從關系。只是對于初始的拓撲數(shù)據(jù)庫交換,這一關系是相關的。主節(jié)點發(fā)送第一個DBSP并選擇初始的DS序列號。DBSP的重發(fā)由主節(jié)點控制。從節(jié)點只能響應主節(jié)點的DBSP。主/從關系在“協(xié)商”狀態(tài)被確定。
·“同步資源使用中的間隔”以秒為單位,近鄰對等FSM重評估哪個近鄰將使用目前被分配給該近鄰對等FSM的同步資源之前的時間。
·“同步資源使用中的定時器”在同步資源使用中的間隔秒之后激發(fā)的間隔定時器。當進入“交換”或者“NP失效”狀態(tài)時該定時器被停止。
關于近鄰對等狀態(tài)(即PNNI規(guī)范的5.7.2部分),近鄰對等狀態(tài)機被用于描述數(shù)據(jù)庫同步和與近鄰對等正在進行的溢出的狀態(tài)。圖5的流程圖說明近鄰對等狀態(tài)機的可能的狀態(tài)變化。圖中的線條標記有致使每個狀態(tài)變化的事件。事件在下文描述。狀態(tài)包括如下·“NP失效”近鄰對等FSM的初始狀態(tài)。這一狀態(tài)指示沒有到近鄰對等的在用鏈路(即處于呼叫狀態(tài)“內部雙向”)。在這一狀態(tài)中,沒有與近鄰對等相關聯(lián)的鄰接。
·“協(xié)商”在兩個近鄰對等之間創(chuàng)建鄰接的第一步。這一步的目的是確定哪個節(jié)點是主節(jié)點,并且決定初始DS序列號。
·“交換”在這一狀態(tài)節(jié)點通過發(fā)送DBSP到近鄰對等來描述其拓撲數(shù)據(jù)庫。作為處理DBSP的結果之后,必需的PTSE可以被請求。
·“加載”在這一狀態(tài)中,DBSP的完整序列已經與近鄰對等進行了交換,必需的PTSE被請求,且至少有一個還沒有被接收。
·“滿”在這一狀態(tài)中,這一節(jié)點已經從近鄰對等接收了所有已知可用的PTSE。到近鄰對等的鏈路現(xiàn)在可以在PTSE中通告。
除了圖5中所示的狀態(tài)轉換外,應當注意如下的附加的狀態(tài)轉換事件“DS失配”強制協(xié)商狀態(tài);事件“無用的PTSE請求”強制協(xié)商狀態(tài);事件“撤銷端口”不導致狀態(tài)變化;以及事件“最后撤銷端口”強制“NP失效”狀態(tài)。
關于致使近鄰對等狀態(tài)變化的事件(即PNNI規(guī)范的5.7.3部分),狀1態(tài)變化可由多個事件產生。這些事件被兩個近鄰對等之間與數(shù)據(jù)庫同步相關聯(lián)的程序觸發(fā),或者被用于相關聯(lián)的鏈路的呼叫狀態(tài)機的動作觸發(fā)。事件在圖5的線條標記上示出。狀態(tài)變化的詳細描述和事件發(fā)生后采取的動作在下文提供。事件被定義如下·“添加端口”用于鏈路到近鄰對等的呼叫狀態(tài)機已經達到“內部雙向”狀態(tài)。
·“協(xié)商完成”主/從關系已經被協(xié)商,并且初始DS序列號已經達成一致。
·“交換完成”近鄰對等的最后一個DBSP已經被接收,這一節(jié)點的最后一個DBSP已經被發(fā)送,且PTSE請求列表為非空。節(jié)點現(xiàn)在知道哪個PTSE需要被請求。
·“同步完成”近鄰對等的最后一個DBSP已經被接收,這一節(jié)點的最后一個DBSP已經被發(fā)送,且PTSE請求列表為空。
·“加載完成”PTSE請求列表上的最后PTSE已經被接收。
·“DS失配”這樣的DBSP已經被接收,其(a)具有非預期的DS序列號;或者(b)意外地有初始化位設置,或(c)具有主節(jié)點位的非預期設置。這些情況的任意一個都指示數(shù)據(jù)庫同步中出現(xiàn)了錯誤。
·“無用PTSE請求”不包含在數(shù)據(jù)庫中的PTSE的PTSE請求已經被接收,或接收的PTSE沒有在PTSE請求列表中的實例新。這指示在數(shù)據(jù)庫同步中的錯誤。
·“撤銷端口”鏈路到近鄰對等的呼叫狀態(tài)機已經退出“內部雙向”狀態(tài)。
·“最后撤銷端口”在處理撤銷端口事件中,已經確定到該近鄰的所有端口已經撤銷。
根據(jù)本發(fā)明的一個實施例,致使近鄰對等狀態(tài)變化的事件包括如下的附加事件·“分配同步資源”本地數(shù)據(jù)庫同步資源已經被分配給該近鄰對等FSM,并且這一節(jié)點現(xiàn)在準備開始與其近鄰同步。
·“放棄同步資源”由該近鄰對等FSM使用的本地數(shù)據(jù)庫資源現(xiàn)在必須被更高優(yōu)先權的近鄰對等FSM使用。
·“同步資源使用中的定時器期滿”同步資源使用中的定時器已經期滿,并且該近鄰對等FSM由于處于協(xié)商狀態(tài)還沒有開始與其近鄰同步。該近鄰對等FSM必須確定是否應當將目前分配給它的同步資源重新分配給另一個近鄰對等FSM,或者由該近鄰再次使用。
關于近鄰對等狀態(tài)機(即PNNI規(guī)范的5.7.4部分),有限狀態(tài)機(FSM)由二維表格(參見下面)來表示,該二維表格具有跨越表格頂部的狀態(tài)和沿左側向下的事件。事件和狀態(tài)的每個配對在表格的單元格相交。單元格示出應當發(fā)生的狀態(tài)轉換和采取的動作。例如,對于“添加端口”和“NP失效”的事件和狀態(tài)對,單元格讀出“Ds1,協(xié)商”?!皡f(xié)商”是新的狀態(tài),“Ds1”是采取的動作。動作在表格之后描述。根據(jù)本發(fā)明的一個實施例,近鄰對等狀態(tài)包括下列附加的事件和狀態(tài)(如表格中斜體所示)近鄰對等FSM
注意縮寫“FSM_ERR”代表內部執(zhí)行錯誤,表格中的動作如下·Ds0不做任何事。
·Ds1對于最低等級節(jié)點的情況,該節(jié)點由物理鏈路和/或VPC連接,端口ID被加到近鄰對等數(shù)據(jù)結構的端口ID列表中。進入該狀態(tài)時,如果鄰接第一次已經被嘗試,DS序列號應當被分配某個唯一值(如同日歷鐘)。否則,如果那信息仍然可用,則節(jié)點增加DS序列號的值,該序列號是從前一次該鄰接對于該近鄰對等是有效時保存的值。然后它宣布自己是主節(jié)點(設置主節(jié)點位為1),并且開始發(fā)送帶有初始化、更多、以及主節(jié)點位設置的DBSP。這一分組中沒有包括PTSE摘要。該DBSP按照DSRxmt間隔被重發(fā)直到進入下一狀態(tài)。另外,根據(jù)這一實施例,下面描述的過程(即關于分配數(shù)據(jù)庫同步資源給近鄰對等FSM)將被執(zhí)行。
·Ds2節(jié)點必須開始在DBSP中發(fā)送其拓撲數(shù)據(jù)庫內容的摘要給近鄰對等。在該節(jié)點的對等組等級或者更高等級上,拓撲數(shù)據(jù)庫由不是由這一節(jié)點發(fā)起的就是這一節(jié)點接收的PTSE組成。每個DBSP具有DS序列號,并且被隱含地確認。在任何一次只有一個DBSP被允許未決。另外,根據(jù)這一實施例,如果它正在運行,則“同步資源使用中的定時器”被停止。
·Ds3停止DS Rxmt定時器如果先前沒有停止的話。開始(或繼續(xù))發(fā)送PTSE請求分組給該近鄰對等和/或可選地給其它近鄰對等。每個PTSE請求分組要求一些近鄰對等的較新的PTSE(它們被發(fā)現(xiàn)但是在交換狀態(tài)還沒有被接收)。這些PTSE被列入近鄰對等數(shù)據(jù)結構中的PTSE請求列表中。
·Ds4停止DS Rxmt定時器如果先前沒有停止的話。數(shù)據(jù)庫現(xiàn)在被同步。對于最低等級近鄰節(jié)點的情況,到近鄰的所有鏈路現(xiàn)在必須在PTSE中被通告。另外,根據(jù)這一實施例,下面描述的過程(即關于分配數(shù)據(jù)庫同步資源給近鄰對等FSM)被執(zhí)行。
·Ds5停止對等延時確認定時器、DS Rxmt定時器、和請求Rxmt定時器如果先前沒有停止的話。等對重發(fā)列表、對等延時確認列表、PTSE請求列表以及所有相關的定時器都被清除。數(shù)據(jù)庫摘要的交換必須再次開始。節(jié)點增加該近鄰對等的DS序列號,宣布自己為主節(jié)點(設置主節(jié)點位為1),并且開始發(fā)送帶有初始化、更多、以及主節(jié)點位設置的DBSP。該分組中不包括PTSE摘要。DS Rxmt定時器被啟動并且DBSP以每DSRxmt間隔被重發(fā)。另外,根據(jù)這一實施例,下面描述的過程(即關于分配數(shù)據(jù)庫同步資源給近鄰對等FSM)被執(zhí)行。
·Ds6與Ds5相同,除了存在通告到那個近鄰的鏈路的任何PTSE的情況,必須修改那些PTSE來移除該鏈路。這樣的PTSE必須被重新發(fā)起或者如果必要,則被刷新。另外,根據(jù)這一實施例,下面描述的過程(即關于分配數(shù)據(jù)庫同步資源給近鄰對等FSM)被執(zhí)行。
·Ds7針對由物理鏈路和/或VPC連接的最低等級近鄰對等的情況,端口ID被添加到近鄰對等數(shù)據(jù)結構的端口ID列表中。
·Ds8與Ds7相同,帶有附加需求的這一動作將致使到近鄰對等的鏈路被添加,致使新的PTSE的實例被發(fā)起。
·Ds9鏈路從對應的近鄰對等數(shù)據(jù)結構中的端口ID列表中被移除。該動作將致使到該近鄰對等的鏈路被移除。在“滿”狀態(tài)下如果存在通告那條鏈路的PTSE,則受影響的PTSE的新的實例必須被發(fā)起。如果這是到該近鄰的最后一個在用鏈路,則產生最后撤銷端口事件。
·Ds10停止對等延時確認定時器、DS Rxmt定時器、同步資源使用中和請求Rxmt定時器,如果先前沒有停止的話。等對重發(fā)列表、對等延時確認列表、PTSE請求列表以及所有相關的定時器都被清除。另外,根據(jù)這一實施例,停止同步資源使用中的定時器,如果先前沒有停止的話。
·Ds11發(fā)送前一個數(shù)據(jù)庫摘要分組給近鄰,并重啟DS Rxmt定時器。
·Ds12發(fā)送包含來自PTSE請求列表的一個或者多個條目的PTSE請求分組向該近鄰對等,和/或可選地給任何其它近鄰對等,并且重啟對應的請求Rxmt定時器。
·Ds13在長于PTSE重發(fā)間隔秒之前被最后發(fā)送的并且還沒有被確認的那些PTSE被封裝在PTSP中并發(fā)送給近鄰對等。所有有關的PTSE R重發(fā)定時器被重啟。
·Ds14從對等延時確認列表向近鄰對等發(fā)送包含所有PTSE標識信息條目的PTSE確認分組。被確認的PTSE從對等延時確認列表中被刪除。
·Ds15根據(jù)這一實施例,從對等延時確認列表向近鄰對等發(fā)送包含所有PTSE標識信息條目的PTSE確認分組。被確認的PTSE從對等延時確認列表中被刪除。
·Ds16根據(jù)這一實施例,停止同步資源使用中的定時器,如果其正在運行的話。清除由該節(jié)點發(fā)送的DBSP中的同步資源分配位并且立即發(fā)送DBSP分組。
·Ds17根據(jù)這一實施例,執(zhí)行下面描述的過程(即關于分配數(shù)據(jù)庫同步資源給近鄰對等FSM)。
關于發(fā)送DBSP(即PNNI規(guī)范的5.7.5部分),下面描述DBSP如何被發(fā)送到近鄰對等。任何一次只允許一個DBSP未完成。DBSP的發(fā)送取決于近鄰對等的狀態(tài)。在協(xié)商狀態(tài)下,節(jié)點發(fā)送具有初始化、更多、主節(jié)點位設置的空DBSP。根據(jù)本發(fā)明的這一實施例,同步資源分配位基于如下定義的規(guī)則被設置(即關于分配數(shù)據(jù)庫同步資源給近鄰對等FSM)。當發(fā)送這樣的DBSP時,DS Rxmt定時器必須被重啟。當DS Rxmt定時器激發(fā)時,每隔DSRxmt間隔秒重發(fā)這些分組。
在交換狀態(tài)下,包括當響應于事件“協(xié)商完成”發(fā)送DBSP時,DBSP包含拓撲狀態(tài)信息的摘要,所述信息包含在該節(jié)點數(shù)據(jù)庫中。在邏輯組節(jié)點的情況下,在邏輯組節(jié)點的等級或者更高等級發(fā)起或者接收的拓撲數(shù)據(jù)庫的那些部分包括在數(shù)據(jù)庫摘要中(對于作為更低等級節(jié)點的一個或者多個具體情況,更低等級的PTSE可以屬于交換系統(tǒng)的拓撲數(shù)據(jù)庫,但是不屬于邏輯組節(jié)點的拓撲數(shù)據(jù)庫)。在邏輯組節(jié)點的等級發(fā)起的并具有不同于邏輯組節(jié)點的對等組ID的發(fā)起對等組ID的拓撲數(shù)據(jù)庫的任何部分,都將不包括在數(shù)據(jù)庫摘要中。將被包括在數(shù)據(jù)庫摘要中的每個PTSE的PTSP和PTSE頭信息被列在節(jié)點的DBSP的一個中。對于在進入交換狀態(tài)之后接收的新實例的PTSE不需要包括在任何DBSP中,因為它們將由正常的淹沒過程(flooding procedure)處理。推薦但不是必需的,每個PTSE至多一次被包括在發(fā)送給近鄰對等的DBSP的整個序列中。
在交換狀態(tài)中,確定何時發(fā)送DBSP取決于節(jié)點是主節(jié)點還是從節(jié)點。當新的DBSP將被發(fā)送時,分組的DS序列號按如下所述被設置,并且來自節(jié)點的拓撲數(shù)據(jù)庫的PTSE的新的設置被描述。當每個條目包括的DBSP被確認時,認為該條目已經由近鄰對等接收。注意“更多”位被非對稱地設置,使用的不同規(guī)則取決于該節(jié)點是主節(jié)點還是從節(jié)點·主節(jié)點當(i)從節(jié)點通過回送DS序列號確認前一個DBSP,或者(ii)經過DSRxmt間隔秒而沒有確認,在這種情況下前一個DBSP被重發(fā),則DBSP被設置。只要DBSP被發(fā)送,DS Rxmt定時器必須被重啟。如果節(jié)點已經發(fā)送了其所有DBSP序列,則“更多”位必須被設置為0。如果該分組包括被發(fā)送給從節(jié)點的數(shù)據(jù)庫摘要的最后部分,則“更多”位可選地被設置為0。
·從節(jié)點只響應從主節(jié)點接收的DBSP發(fā)送DBSP。如果從主節(jié)點接收的分組是新的,則發(fā)送新的DBSP;否則前一個DBSP被重發(fā)。如果節(jié)點已經發(fā)送了其所有DBSP序列(即該DBSP的內容是空的),那么“更多”位必須被設置為0。在狀態(tài)“加載”和“滿”中,響應從主節(jié)點接收的DBSP副本,從節(jié)點必須重發(fā)其最后的DBSP。注意在“加載”或者“滿”狀態(tài),從節(jié)點已經發(fā)送的最后一個分組必須被清空,以及初始化、更多、和主節(jié)點位設置為0且有相同DS序列號,如在當前的近鄰對等數(shù)據(jù)結構中一樣。
關于接收DBSP(即PNNI規(guī)范的5.7.6部分),下面描述接收的DBSP的處理。進入的DBSP通過其被接收的接口與近鄰對等相關聯(lián)。每個DBSP具有DS序列號,且被隱含地確認。DBSP的進一步處理取決于與遠程節(jié)點ID相關聯(lián)的近鄰對等數(shù)據(jù)結構的狀態(tài)。
如果DBSP被接收,以下分組字段在相應的近鄰對等數(shù)據(jù)結構中作為“最后接收的數(shù)據(jù)庫摘要分組的標識信息”被保存DBSP標記(包括初始化、更多、主節(jié)點、以及保留位),和DS序列號。如果這些字段在從近鄰對等接收的兩個相繼的DBSP中被相同地設置,則第二個DBSP被認為是如下描述中的處理的“副本”。
如果近鄰對等狀態(tài)是NP失效,則分組必須被忽略。
否則,如果狀態(tài)是協(xié)商如果接收到的分組符合下列情況之一,并且如果根據(jù)本發(fā)明的這一實施例有如下描述的同步資源被分配給該近鄰對等狀態(tài)機(即關于分配數(shù)據(jù)庫同步資源給近鄰對等FSM),那么近鄰對等狀態(tài)機必須用事件“協(xié)商完成”(導致狀態(tài)轉移到交換)執(zhí)行,且分組必須被作為序列中的下一個被接受和進一步處理。否則,分組必須被忽略。
·初始化、更多和主節(jié)點位是1,分組的內容為空,以及近鄰對等的節(jié)點ID大于該節(jié)點自己的節(jié)點ID。在這種情況下,該節(jié)點現(xiàn)在是從節(jié)點。一旦生成事件“協(xié)商完成”,則該從節(jié)點必須采取如下動作·停止DS Rxmt定時器,·設置主節(jié)點位為0(表明從節(jié)點),設置“初始化”位為0,設置DS序列號為主節(jié)點所指定的值,以及發(fā)送DBSP到包括該節(jié)點的數(shù)據(jù)庫摘要的第一部分的主節(jié)點。
·“初始化”和“主節(jié)點”位是0,分組的DS序列號等于節(jié)點自己的DS序列號(表明確認),以及近鄰對等的節(jié)點ID小于該節(jié)點自己的節(jié)點ID。在這種情況下,該節(jié)點是主節(jié)點。一旦生成事件“協(xié)商完成”,主節(jié)點必須采取下面的動作(最后兩個動作不是必須按這一順序來采取)·停止DS Rxmt定時器,·處理接收到的DBSP的內容(參見下面在交換狀態(tài)下采取的動作所描述的最后一段),·將DS序列號加1,設置“初始化”位為0,發(fā)送DBSP到包括該節(jié)點的數(shù)據(jù)庫摘要的第一部分的從節(jié)點,以及重啟DS Rxmt定時器。
交換按順序執(zhí)行下列步驟·如果節(jié)點是主節(jié)點且接收到的DBSP是副本,則停止處理該分組。
·如果節(jié)點是從節(jié)點且接收到的DBSP是副本,通過對發(fā)送給主節(jié)點的最后一個DBSP進行重發(fā)來響應,且停止處理接收的DBSP。
·如果“主節(jié)點”位的狀態(tài)與連接的主/從狀態(tài)不一致,則生成事件“DS失配”且停止處理該分組。
·如果“初始化”位被設置,生成事件“DS失配”且停止處理該分組。
·如果節(jié)點是主節(jié)點且分組的DS序列號等于節(jié)點自己的DS序列號(該分組是序列中的下一個),則分組必須被接受并按如下處理(最后兩個動作不是必須按這一順序來采取)·停止DS Rxmt定時器,·處理接收到的DBSP的內容(參見下面),·以如下順序A)將DS序列號加1,B)如果節(jié)點已經發(fā)送了其所有DBSP序列(即節(jié)點發(fā)送的前一個DBSP有設置為0的“更多”位),而且接收到的分組有設置為0的“更多”位,在PTSE請求列表為非空的情況下生成事件“交換完成”,或在PTSE請求列表為空的情況下生成事件“同步完成”。
C)否則,發(fā)送新的DBSP給從節(jié)點并且重啟DS Rxmt定時器。
·如果節(jié)點是從節(jié)點且分組的DS序列號比節(jié)點自己的DS序列號大1(這一分組是序列中的下一個),分組必須被接受并按如下處理(沒有特定的順序)
·處理接收的DBSP的內容(參見下面),·按如下順序D)將DS序列號設置為出現(xiàn)在接收的分組中的DS序列號,E)向主節(jié)點發(fā)送DBSP,F(xiàn))如果接收到的分組具有設置為0的“更多”位,且剛剛被發(fā)送的DBSP也有設置為0的“更多”(即剛剛被發(fā)送的DBSP的內容為空),那么,如果PTSE請求列表為非空,則生成事件“交換完成”,或如果PTSE請求列表為空,則生成事件“同步完成”。
·另外,生成事件“DS失配”并且停止處理該分組。
處理接收到的DBSP的內容當節(jié)點將接收到的DBSP作為序列中的下一個接受時,最近被發(fā)送的DBSP的內容被確認作為已經被接收,且該接收的DBSP的內容按如下處理。
對于列出的每個PTSE,節(jié)點在其數(shù)據(jù)庫中查找該PTSE以了解它是否也有該PTSE的實例。如果它沒有,或者如果數(shù)據(jù)庫副本不是最近的,采取如下動作之一·如果列出的PTSE是該節(jié)點的自己發(fā)起的PTSE之一,節(jié)點必須·如果節(jié)點具有PTSE的有效實例,則重新發(fā)起具有更大序列號的PTSE的更新的實例,或者·在拓撲數(shù)據(jù)庫中安裝PTSE之后,從路由域刷新該PTSE,剩余的生存期設置為“過期的時限(ExpiredAge)”。
·否則,如果列出的PTSE具有PTSE剩余生存期“過期的時限”,那么該PTSP和在PTSE摘要中的PTSE頭內容必須被接受作為具有空內容的新的或者更新的PTSE。在拓撲數(shù)據(jù)庫中安裝PTSE之后,遵循用于接收PTSE的過程來確定是否PTSE必須被溢出到其它的近鄰對等。
“加載”或者“滿”在這些狀態(tài)的任一狀態(tài)中,節(jié)點已經發(fā)送并接收全部DBSP序列。只有接收的分組應當被復制。接收的任何其它DBSP必須生成事件“DS失配”,致使鄰接回復到協(xié)商狀態(tài)并且兩個近鄰對等再同步它們的數(shù)據(jù)庫。
當在“加載”或“滿”狀態(tài)接收DBSP時遵循的過程與在交換狀態(tài)遵循的那些過程相同,除了作為序列中的下一個被接受的分組必須生成事件“DS失配”,并且那樣的分組的進一步處理必須被停止。注意含有不一致的主節(jié)點位或者初始化位被設置為1的分組的接收也必須生成事件“DS失配”。
根據(jù)本發(fā)明的這一實施例,關于分配數(shù)據(jù)庫同步資源給近鄰對等FSM,節(jié)點從可用的DB同步資源的池中分配DS同步給在協(xié)商狀態(tài)的近鄰對等FSM并且嘗試與其近鄰同步。沒有被分配給任何近鄰對等FSM的任何DB同步資源稱為未分配的DB同步資源。當近鄰對等FSM被分配DB同步資源時,“分配同步資源”事件被注入相應的近鄰對等FSM。當近鄰對等FSM被指示放棄同步資源時,“放棄同步資源”事件被注入該近鄰對等FSM。用于注入這兩個事件的過程在下面被描述。
同樣根據(jù)本發(fā)明的這一實施例,節(jié)點必須對近鄰對等FSM重評估、分配、或者放棄DB同步資源。下面的情況和隨后的過程應用到這一關系(regard)中1)如果近鄰對等FSM從NP失效狀態(tài)或者滿狀態(tài)進入?yún)f(xié)商狀態(tài),那么a)如果有任何未分配的DB同步資源,則那些DB同步資源之一被分配給這一近鄰對等FSM,并且分配同步資源事件被注入這一近鄰對等FSM。
b)否則,如果這一近鄰對等FSM的遠程近鄰節(jié)點ID高于這一近鄰對等FSM的本地節(jié)點ID,沒有未分配的DB同步資源,那么i)如果除了處于協(xié)商狀態(tài)的剩余近鄰對等FSM之外,有至少一個遠程近鄰節(jié)點ID低于這一節(jié)點,那么(A)在具有低于這一節(jié)點的遠程近鄰節(jié)點Id的(并且處于協(xié)商狀態(tài)和具有分配的同步資源)近鄰對等FSM之外選擇具有最低遠程近鄰節(jié)點ID的節(jié)點,并且放棄其同步資源。將“放棄同步資源”事件注入FSM。同樣,分配這些新近被放棄的同步資源給這一近鄰對等FSM并且將“分配同步資源”事件注入這一FSM。
ii)否則,不做任何事。
c)否則,如果除了處于協(xié)商狀態(tài)且具有同步資源已分配的剩余近鄰對等FSM,有至少一個遠程近鄰節(jié)點ID低于這一近鄰對等FSM的遠程近鄰節(jié)點ID的節(jié)點,那么i)選擇具有最低遠程近鄰節(jié)點ID的近鄰對等FSM,從該近鄰對等FSM放棄同步資源并且將“放棄同步資源”事件注入該FSM。分配同步資源給該近鄰對等FSM并且將“分配同步資源”事件注入該FSM。
d)否則,不做任何事。
2)如果近鄰對等FSM從交換或者加載狀態(tài)進入?yún)f(xié)商狀態(tài),或者用于同步資源使用中的定時器對于該近鄰對等FSM已經過期,那么a)如果除了該近鄰正在使用的資源有任何未分配的DB同步資源,那么該近鄰繼續(xù)使用這些DB同步資源并且將“分配同步資源”事件注入該近鄰對等FSM。
b)否則,如果沒有未分配的DB同步資源可用于其它近鄰,并且如果除了處于協(xié)商狀態(tài)的剩余鄰對等FSM而外有至少一個還沒有分配同步資源,以及從近鄰最后接收的數(shù)據(jù)庫摘要分組具有設置為1的“同步資源已分配”位,那么i)選擇那些近鄰之外的具有最高遠程近鄰節(jié)點ID的一個。如果被選擇的近鄰對等FSM不是這一個,那么從該FSM放棄同步資源,將“放棄同步資源”事件注入該FSM,分配同步資源給被選擇的FSM并且將“分配同步資源”事件注入選擇的FSM。如果選擇的近鄰對等FSM是該FSM,那么保持分配給該FSM的同步資源并將“分配同步資源”事件注入該FSM。
c)否則,選擇處于尚未分配同步資源的協(xié)商狀態(tài)的所有剩余近鄰對等FSM,并且利用這一套近鄰對等FSM執(zhí)行上述步驟2(b)(i)。
3)如果近鄰對等FSM進入“滿”狀態(tài)且不再需要其被分配的DB同步資源,那么從近鄰對等FSM放棄同步資源且a)如果有任何未分配的DB同步資源,或者如果沒有其它近鄰對等FSM處于協(xié)商狀態(tài)沒有同步資源,那么不做任何事,b)否則,如果除了處于協(xié)商狀態(tài)的剩余近鄰對等FSM之外有至少一個還沒有被分配的同步資源,并且從近鄰最后接收到的DBSP具有設置為1的“同步資源已分配”位,那么i)選擇在那些近鄰之外的具有最高遠程節(jié)點ID的近鄰,分配該近鄰的同步資源給它,并且將“分配同步資源”事件注入那個近鄰。
c)否則,選擇處于協(xié)商狀態(tài)且同步資源還未被分配的所有剩余近鄰對等FSM,并且利用這一套近鄰對等FSM執(zhí)行上述步驟3(b)(i)。
4)如果沒有DB同步資源分配給它的近鄰對等FSM接收具有“同步資源已分配”位的DBSP,那么a)如果存在至少一個處于協(xié)商狀態(tài)且同步資源使用中的定時器還沒有運行的其它近鄰對等FSM,具有被分配的DB同步資源,并且從遠程近鄰最后接收到DBSP具有設置為0的“同步資源已分配”位,那么i)在那些近鄰對等FSM之外,選擇具有最低遠程近鄰節(jié)點ID的一個,并且放棄其同步資源,將“放棄同步資源”事件注入其近鄰對等FSM,分配同步資源給這一近鄰并且將事件注入這一近鄰。
b)否則,不做任何事。
上面描述的方法(即關于圖4)可以借助于流程圖總結。圖6的流程圖根據(jù)本發(fā)明的實施例,說明數(shù)據(jù)處理系統(tǒng)(如圖3中的300或者圖4中的A.4)中的存儲器330內的軟件模塊331的操作600,該操作用于從通過網絡200耦合到網絡節(jié)點A.4的多個近鄰節(jié)點(如A.1,A.2,A.3,A.5)中選擇近鄰節(jié)點(如圖4中的A.5)來同步網絡拓撲數(shù)據(jù)庫信息與該網絡節(jié)點A.4。
在步驟601,操作600開始。
在步驟602,標識符和關于同步資源是否被分配給網絡節(jié)點A.4的指示從每個近鄰節(jié)點A.1、A.2、A.3、A.5被接收。
在步驟603,近鄰節(jié)點A.5的標識符A.5與其它近鄰節(jié)點A.1、A.2、A.3的標識符A.1、A.2、A.3的大小(即A.5>A.3>A.2>A.1)進行比較來確定是否與近鄰節(jié)點A.5同步。
在步驟604,如果近鄰節(jié)點A.5已經分配同步資源給網絡節(jié)點A.4,則近鄰節(jié)點A.5被同步(如與A.4)。
在步驟605,操作600結束。
該方法可以進一步包括分配同步資源給近鄰節(jié)點A.5。該方法可以進一步包括發(fā)送同步資源的分配的指示給近鄰節(jié)點A.5。同步資源可以是節(jié)點存儲器、節(jié)點輸入/輸出容量、以及節(jié)點處理器容量中的至少一個。每個標識符可以是唯一值、因特網協(xié)議(IP)地址、異步傳輸模式(ATM)地址、以及節(jié)點標識(ID)號中的至少一個。指示可以是標記,標識符可以是包含通過網絡200發(fā)送的一個或者多個消息中的字段。網絡200可以是ATM網絡。消息可用是專用網絡-節(jié)點接口(PNNI)呼叫協(xié)議消息和PNNI數(shù)據(jù)庫摘要分組中的至少一個。網絡節(jié)點A.4和多個近鄰節(jié)點A.1、A.2、A.3、A.5中的每一個可以是路由器、交換機、和數(shù)據(jù)處理系統(tǒng)300中的至少一個。該方法可以進一步包括從每個近鄰節(jié)點A.1、A.2、A.3、A.5接收同步網絡節(jié)點A.4的優(yōu)先級的指示。該方法可以進一步包括比較近鄰節(jié)點A.5的優(yōu)先級與其它近鄰節(jié)點A.1,A.2,A.3的優(yōu)先級來確定是否同步近鄰節(jié)點A.5。以及,比較步驟603可以進一步包括確定是否近鄰節(jié)點A.5屬于具有最大(如A.2、A.3、A.5>A.1)和最小標識符大小之一的近鄰節(jié)點組(如A.2、A.3、A.5),該組具有由該網絡節(jié)點A.4內可用的同步資源確定的多個近鄰節(jié)點(如,3)。
根據(jù)本發(fā)明的一個實施例,上面描述的方法可以由網絡管理數(shù)據(jù)處理系統(tǒng)(未示出)來實現(xiàn),該系統(tǒng)被連接到網絡200中的一個或者多個網絡節(jié)點A.4和近鄰節(jié)點(A.1、A.2、A.3、A.5)。
盡管這一發(fā)明主要作為方法討論,本領域的普通技術人員將理解參照數(shù)據(jù)處理系統(tǒng)300(或者網絡節(jié)點A.4)的上述裝置可以被編程來使本發(fā)明的方法得以實現(xiàn)。而且,與數(shù)據(jù)處理系統(tǒng)300一起使用的制造產品,諸如預先記錄的存儲器設備或者包含有程序指令的其它類似的計算機可讀介質,可以控制數(shù)據(jù)處理系統(tǒng)300來使得本發(fā)明的方法得以實現(xiàn)。應當理解這樣的裝置和制造產品也包括在本發(fā)明的范圍內。
特別地,根據(jù)本發(fā)明的一個實施例,在執(zhí)行時致使在此描述的方法被圖3的數(shù)據(jù)處理系統(tǒng)300執(zhí)行的指令序列可以包含在數(shù)據(jù)載體產品中。這一數(shù)據(jù)載體產品可以由圖3中的數(shù)據(jù)處理系統(tǒng)300加載和運行。另外,根據(jù)本發(fā)明的一個實施例,在執(zhí)行時致使在此描述的方法被圖3的數(shù)據(jù)處理系統(tǒng)300執(zhí)行的指令序列可以包含在計算機軟件產品中。該計算機軟件產品可以由圖3中的數(shù)據(jù)處理系統(tǒng)300加載和運行。而且,根據(jù)本發(fā)明的一個實施例,在執(zhí)行時致使在此描述的方法被圖3的數(shù)據(jù)處理系統(tǒng)300執(zhí)行的指令序列可以包含在包括協(xié)同處理器或者存儲器的集成電路產品中。該集成電路產品可以被安裝在圖3的數(shù)據(jù)處理系統(tǒng)300中。
上述本發(fā)明的實施例僅出于示例性的目的。本領域技術人員應當理解,可以對這些實施例進行各種變化,所有這些變化都在本發(fā)明的范圍之內。
權利要求
1.一種用于在網絡中從耦合到網絡節(jié)點的多個近鄰節(jié)點中選擇近鄰節(jié)點來同步網絡拓撲數(shù)據(jù)庫信息與所述網絡節(jié)點的方法,該方法包括從每個所述近鄰節(jié)點接收標識符以及關于同步資源是否已經被分配給所述網絡節(jié)點的指示;比較所述近鄰節(jié)點的標識符與其它近鄰節(jié)點的標識符的大小,來確定是否與所述近鄰節(jié)點同步;以及,如果所述近鄰節(jié)點已經分配同步資源給所述網絡節(jié)點,則與所述近鄰節(jié)點同步。
2.根據(jù)權利要求1的方法,進一步包括分配同步資源給所述近鄰節(jié)點。
3.根據(jù)權利要求2的方法,進一步包括向所述該近鄰節(jié)點發(fā)送同步資源分配的指示。
4.根據(jù)權利要求1的方法,其中所述同步資源是節(jié)點存儲器、節(jié)點輸入/輸出容量,和節(jié)點處理器容量中的至少一個。
5.根據(jù)權利要求1的方法,其中每個標識符是唯一值、因特網協(xié)議地址、異步傳輸模式地址、和節(jié)點標識號中的至少一個。
6.根據(jù)權利要求1的方法,其中所述指示是標記,所述標識符是包含在經由所述網絡發(fā)送的一個或多個消息中的字段。
7.根據(jù)權利要求6的方法,其中所述網絡是異步傳輸模式網絡。
8.根據(jù)權利要求7的方法,其中所述消息是專用網絡-節(jié)點接口呼叫協(xié)議消息和專用網絡-節(jié)點接口數(shù)據(jù)庫摘要分組中的至少一個。
9.根據(jù)權利要求1的方法,其中所述網絡節(jié)點和所述多個近鄰節(jié)點中的每一個是路由器、交換機、和數(shù)據(jù)處理系統(tǒng)中的至少一個。
10.根據(jù)權利要求1的方法,進一步包括從每個近鄰節(jié)點接收與所述網絡節(jié)點同步的優(yōu)先級的指示。
11.根據(jù)權利要求10的方法,進一步包括比較所述近鄰節(jié)點的優(yōu)先級與其它近鄰節(jié)點的優(yōu)先級來確定是否與所述近鄰節(jié)點同步。
12.根據(jù)權利要求1的方法,其中所述比較進一步包括確定所述近鄰節(jié)點是否屬于具有最大和最小標識符大小之一的近鄰節(jié)點組,該組具有由所述網絡節(jié)點內可用的同步資源確定的多個近鄰節(jié)點。
13.一種網絡中的系統(tǒng),用于從耦合到所述系統(tǒng)的多個近鄰節(jié)點中選擇近鄰節(jié)點來同步網絡拓撲數(shù)據(jù)庫信息,該系統(tǒng)包括耦合到存儲器的處理器,以及到所述網絡的接口,所述系統(tǒng)適于從每個所述近鄰節(jié)點接收標識符和關于同步資源是否已經被分配給所述系統(tǒng)的指示;比較所述近鄰節(jié)點的標識符與其它近鄰節(jié)點的標識符的大小,來確定是否與所述近鄰節(jié)點同步;以及如果所述近鄰節(jié)點已經向所述系統(tǒng)分配同步資源,則與所述近鄰節(jié)點同步。
14.根據(jù)權利要求13的系統(tǒng),其中所述處理器進一步適于向所述近鄰節(jié)點分配同步資源。
15.根據(jù)權利要求14的系統(tǒng),其中所述處理器進一步適于向所述近鄰節(jié)點發(fā)送同步資源分配的指示。
16.根據(jù)權利要求13的系統(tǒng),其中所述同步資源是節(jié)點存儲器、節(jié)點輸入/輸出容量、和節(jié)點處理器容量中的至少一個。
17.根據(jù)權利要求13的系統(tǒng),其中每個標識符是唯一值、因特網協(xié)議地址、異步傳輸模式地址、和節(jié)點標識號中的至少一個。
18.根據(jù)權利要求13的系統(tǒng),其中所述指示是標記,所述標識符是包含在經由所述網絡發(fā)送的一個或者多個消息中的字段。
19.根據(jù)權利要求18的系統(tǒng),其中所述網絡是異步傳輸模式網絡。
20.根據(jù)權利要求19的系統(tǒng),其中所述消息是專用網絡-節(jié)點接口呼叫協(xié)議消息和專用網絡-節(jié)點接口數(shù)據(jù)庫摘要分組中的至少一個。
21.根據(jù)權利要求13的系統(tǒng),其中所述網絡節(jié)點和所述多個近鄰節(jié)點中的每一個是路由器、交換機、和數(shù)據(jù)處理系統(tǒng)中的至少一個。
22.根據(jù)權利要求13的系統(tǒng),其中所述處理器進一步適于從每個近鄰節(jié)點接收與所述網絡節(jié)點同步的優(yōu)先級的指示。
23.根據(jù)權利要求22的系統(tǒng),其中所述處理器進一步適于比較所述近鄰節(jié)點的優(yōu)先級與其它近鄰節(jié)點的優(yōu)先級來確定是否與所述近鄰節(jié)點同步。
24.根據(jù)權利要求13的系統(tǒng),其中所述比較進一步包括確定所述近鄰節(jié)點是否屬于具有最大和最小標識符大小之一的近鄰節(jié)點組,該組具有由所述網絡節(jié)點內可用的同步資源確定的多個近鄰節(jié)點。
25.一種具有計算機可執(zhí)行代碼的計算機程序產品,用于命令數(shù)據(jù)處理系統(tǒng)在網絡中從耦合到所述數(shù)據(jù)處理系統(tǒng)的多個近鄰節(jié)點中選擇近鄰節(jié)點來同步網絡拓撲數(shù)據(jù)庫信息與所述數(shù)據(jù)處理系統(tǒng),所述代碼包括用于從每個所述近鄰節(jié)點接收標識符和關于同步資源是否已經被分配給所述數(shù)據(jù)處理系統(tǒng)的指示的代碼;用于比較所述近鄰節(jié)點的標識符與其它近鄰節(jié)點的標識符的大小來確定是否與所述近鄰節(jié)點同步的代碼;以及,如果所述近鄰節(jié)點已經向所述數(shù)據(jù)處理系統(tǒng)分配同步資源,則用于與所述近鄰節(jié)點同步的代碼。
26.根據(jù)權利要求25的計算機程序產品,進一步包括用于向所述近鄰節(jié)點分配同步資源的代碼。
27.根據(jù)權利要求26的計算機程序產品,進一步包括用于向所述近鄰節(jié)點發(fā)送同步資源分配的指示的代碼。
28.根據(jù)權利要求25的計算機程序產品,其中所述同步資源是節(jié)點存儲器、節(jié)點輸入/輸出容量、和節(jié)點處理器容量中的至少一個。
29.根據(jù)權利要求25的計算機程序產品,其中每個標識符是唯一值、因特網協(xié)議地址、異步傳輸模式地址、和節(jié)點標識號中的至少一個。
30.根據(jù)權利要求25的計算機程序產品,其中所述指示是標記,所述標識符是包含在經由所述網絡發(fā)送的一個或者多個消息中的字段。
31.根據(jù)權利要求30的計算機程序產品,其中所述網絡是異步傳輸模式網絡。
32.根據(jù)權利要求31的計算機程序產品,其中所述消息是專用網絡-節(jié)點接口呼叫協(xié)議消息和專用網絡-節(jié)點接口數(shù)據(jù)庫摘要分組中的至少一個。
33.根據(jù)權利要求25的計算機程序產品,其中所述網絡節(jié)點和所述多個近鄰節(jié)點中的每一個是路由器、交換機、和數(shù)據(jù)處理系統(tǒng)中的至少一個。
34.根據(jù)權利要求25的計算機程序產品,進一步包括用于從每個近鄰節(jié)點接收同步所述網絡節(jié)點的優(yōu)先級的指示的代碼。
35.根據(jù)權利要求34的計算機程序產品,進一步包括用于比較所述近鄰節(jié)點的優(yōu)先級與其它近鄰節(jié)點的優(yōu)先級來確定是否與所述近鄰節(jié)點同步的代碼。
36.根據(jù)權利要求25的計算機程序產品,其中用于比較的代碼進一步包括用于確定所述近鄰節(jié)點是否屬于具有最大和最小標識符大小之一的近鄰節(jié)點組的代碼,其中該組具有由所述網絡節(jié)點內可用的同步資源確定的多個近鄰節(jié)點。
37.一種網絡中的計算機可讀信號,用于命令數(shù)據(jù)處理系統(tǒng)從耦合到所述數(shù)據(jù)處理系統(tǒng)的多個近鄰節(jié)點中選擇近鄰節(jié)點來同步網絡拓撲數(shù)據(jù)庫信息與所述近鄰節(jié)點,所述信號包括用于從每個近鄰節(jié)點接收標識符以及關于同步資源是否已經被分配給所述數(shù)據(jù)處理系統(tǒng)的指示的信號;用于比較所述近鄰節(jié)點的標識符與其它近鄰節(jié)點的標識符的大小來確定是否與所述近鄰節(jié)點同步的信號;以及如果所述近鄰節(jié)點已經向所述數(shù)據(jù)處理系統(tǒng)分配同步資源,則用于與所述近鄰節(jié)點同步的信號。
38.根據(jù)權利要求37的計算機可讀信號,進一步包括用于向所述近鄰節(jié)點分配同步資源的信號。
39.根據(jù)權利要求38的計算機可讀信號,進一步包括用于向所述近鄰節(jié)點發(fā)送同步資源分配的指示的信號。
40.根據(jù)權利要求37的計算機可讀信號,其中所述同步資源是節(jié)點存儲器、節(jié)點輸入/輸出容量、和節(jié)點處理器容量中的至少一個。
41.根據(jù)權利要求37的計算機可讀信號,其中每個標識符是唯一值、因特網協(xié)議地址、異步傳輸模式地址、和節(jié)點標識號中的至少一個。
42.根據(jù)權利要求37的計算機可讀信號,其中所述指示是標記,所述標識符是包含在經由所述網絡發(fā)送的一個或者多個消息中的一個字段。
43.根據(jù)權利要求42的計算機可讀信號,其中所述網絡是異步傳輸模式網絡。
44.根據(jù)權利要求43的計算機可讀信號,其中所述消息是專用網絡-節(jié)點接口呼叫協(xié)議消息和專用網絡-節(jié)點接口數(shù)據(jù)庫摘要分組中的至少一個。
45.根據(jù)權利要求37的計算機可讀信號,其中所述網絡節(jié)點和所述多個近鄰節(jié)點中的每一個是路由器、交換機、和數(shù)據(jù)處理系統(tǒng)中的至少一個。
46.根據(jù)權利要求37的計算機可讀信號,進一步包括用于從每個近鄰節(jié)點接收同步所述網絡節(jié)點的優(yōu)先級的指示的信號。
47.根據(jù)權利要求46的計算機可讀信號,進一步包括用于比較所述近鄰節(jié)點的優(yōu)先級與其它近鄰節(jié)點的優(yōu)先級來確定是否與所述近鄰節(jié)點同步的信號。
48.根據(jù)權利要求37的計算機可讀信號,其中用于比較的信號進一步包括用于確定所述近鄰節(jié)點是否屬于具有最大和最小標識符大小之一的近鄰節(jié)點組的信號,該組具有由所述網絡節(jié)點內可用的同步資源確定的多個近鄰節(jié)點。
全文摘要
一種用于在網絡中從連接到網絡節(jié)點的多個近鄰節(jié)點中選擇近鄰節(jié)點來同步網絡拓撲數(shù)據(jù)庫信息與該網絡節(jié)點的方法,該方法包括從每個近鄰節(jié)點接收標識符和關于同步資源是否已經被分配給網絡節(jié)點的指示;比較該近鄰節(jié)點的標識符與其它近鄰節(jié)點的標識符的大小來確定是否與該近鄰節(jié)點同步;以及,如果該近鄰節(jié)點已經分配同步資源給該網絡節(jié)點則同步該近鄰節(jié)點。
文檔編號H04L12/24GK1976336SQ20061006472
公開日2007年6月6日 申請日期2006年10月27日 優(yōu)先權日2005年10月27日
發(fā)明者C·拉杰什克 申請人:阿爾卡特公司