專(zhuān)利名稱(chēng):通過(guò)自動(dòng)選擇網(wǎng)絡(luò)指定路由器自動(dòng)配置覆蓋網(wǎng)的方法和結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)的自動(dòng)配置。更具體地說(shuō),通過(guò)根據(jù)預(yù)先確定的標(biāo)準(zhǔn),利用優(yōu)先級(jí)自動(dòng)指定網(wǎng)絡(luò)的一個(gè)路由器承擔(dān)指定路由器的任務(wù),以便確定當(dāng)前網(wǎng)絡(luò)配置,建立網(wǎng)絡(luò)布局(network topology),隨后把該網(wǎng)絡(luò)布局告知所有當(dāng)前在線的路由器。
背景技術(shù):
網(wǎng)絡(luò)路由器是連接網(wǎng)絡(luò)的一種組件。只有當(dāng)分組被發(fā)送給其網(wǎng)絡(luò)之外的某一臺(tái)站時(shí),路由器才把分組傳送給其它網(wǎng)絡(luò)。路由器能夠關(guān)于哪個(gè)網(wǎng)絡(luò)是用于向遠(yuǎn)距離網(wǎng)絡(luò)發(fā)送數(shù)據(jù)的最佳路線做出智能判定。
覆蓋網(wǎng)(overlay network)是駐留于另一網(wǎng)絡(luò)之上的“虛擬網(wǎng)絡(luò)”。該“虛擬網(wǎng)絡(luò)”必須被配置成使得覆蓋路由器相互了解,以及了解覆蓋網(wǎng)內(nèi)的目的地,即網(wǎng)絡(luò)布局。在常規(guī)的系統(tǒng)中,這種網(wǎng)絡(luò)配置過(guò)程是手工的。萬(wàn)一某一路由器離線,那么由于網(wǎng)絡(luò)布局將發(fā)生變化,覆蓋網(wǎng)會(huì)喪失能力。
手工配置的缺點(diǎn)在于覆蓋網(wǎng)不能響應(yīng)不斷變化的條件,例如路由器變成在線或離線,由于節(jié)點(diǎn)間通信鏈路的中斷而失去節(jié)點(diǎn)內(nèi)部通信等。
因此,現(xiàn)有技術(shù)中缺少一種自動(dòng)配置覆蓋網(wǎng),從而覆蓋路由器相互了解,知道其它路由器位于何處,以及到網(wǎng)絡(luò)內(nèi)的目的地的路徑的方法。另外現(xiàn)有技術(shù)中缺少一種根據(jù)網(wǎng)絡(luò)變化的需要,動(dòng)態(tài)地自動(dòng)重新配置網(wǎng)絡(luò)的方法。
發(fā)明內(nèi)容
鑒于常規(guī)系統(tǒng)的上述問(wèn)題,缺陷和缺點(diǎn),本發(fā)明的目的是提供一種能夠自動(dòng)配置覆蓋網(wǎng)的方法(和結(jié)構(gòu))。更具體地說(shuō),本發(fā)明公開(kāi)一種方法,其中通過(guò)利用預(yù)先確定的標(biāo)準(zhǔn),自動(dòng)選擇當(dāng)前在線的路由器之一扮演指定路由器的角色,所述指定路由器具有確定網(wǎng)絡(luò)布局的任務(wù)。
本發(fā)明的另一目的是提供一種如果當(dāng)前指定的網(wǎng)絡(luò)路由器離線,那么允許網(wǎng)絡(luò)自動(dòng)恢復(fù)的方法。
本發(fā)明的另一目的是公開(kāi)一種自動(dòng)配置覆蓋網(wǎng)的技術(shù),其中當(dāng)每個(gè)可能的網(wǎng)絡(luò)路由器變成在線時(shí),所述每個(gè)可能的網(wǎng)絡(luò)路由器最初假定它自己扮演作為網(wǎng)絡(luò)指定路由器的角色,并且著手執(zhí)行該任務(wù)。但是,當(dāng)它遇到具有扮演作為指定路由器的角色的更高優(yōu)先級(jí)的另一路由器時(shí),該路由器自動(dòng)放棄該角色。
為了實(shí)現(xiàn)上述目標(biāo)和目的,在本發(fā)明的第一方面,描述一種自動(dòng)配置包括多個(gè)互連計(jì)算機(jī)的網(wǎng)絡(luò)的方法(和結(jié)構(gòu))。多個(gè)計(jì)算機(jī)中的一個(gè)以上的計(jì)算機(jī)被配置成承擔(dān)作為指定路由器的任務(wù)。指定路由器具有通過(guò)確定哪些計(jì)算機(jī)當(dāng)前在線,確定當(dāng)前網(wǎng)絡(luò)配置,利用確定的當(dāng)前網(wǎng)絡(luò)配置確定定義當(dāng)前在線的互連計(jì)算機(jī)之間的鄰近關(guān)系(neighborhood relationship)的當(dāng)前網(wǎng)絡(luò)布局,并把當(dāng)前的網(wǎng)絡(luò)布局告知網(wǎng)絡(luò)的功能。定義優(yōu)先級(jí)標(biāo)準(zhǔn),從而根據(jù)優(yōu)先級(jí)標(biāo)準(zhǔn),自動(dòng)選擇計(jì)算機(jī)之一扮演作為指定路由器的角色。
在本發(fā)明的第二方面,還描述一種信號(hào)承載媒體,所述信號(hào)承載媒體確實(shí)包含可由數(shù)字處理設(shè)備執(zhí)行的,實(shí)現(xiàn)上述方法的機(jī)器可讀指令的程序。
在本發(fā)明的第三方面,還描述一種包括多個(gè)計(jì)算機(jī)的網(wǎng)絡(luò),所述多個(gè)計(jì)算機(jī)中的一個(gè)以上的計(jì)算機(jī)被配置成承擔(dān)作為指定網(wǎng)絡(luò)路由器的任務(wù)。網(wǎng)絡(luò)具有利用上述方法,動(dòng)態(tài)地自動(dòng)指定某一路由器實(shí)現(xiàn)作為指定的網(wǎng)絡(luò)路由器的任務(wù)的能力。
參考附圖,根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例的下述詳細(xì)說(shuō)明,將更好地理解本發(fā)明的前述及其它目的,特征和優(yōu)點(diǎn),其中圖1表示過(guò)分簡(jiǎn)單化的例證覆蓋網(wǎng);圖2A是圖解說(shuō)明本發(fā)明的基本技術(shù)200的流程圖;圖2B是圖解說(shuō)明其中通過(guò)確定兩個(gè)在線路由器之間的優(yōu)先級(jí),得出選擇的例證實(shí)施例210的流程圖;圖2C是圖解說(shuō)明自動(dòng)指定當(dāng)前在線的最低編號(hào)路由器的例證實(shí)施例220的流程圖;圖3圖解說(shuō)明包含本發(fā)明的例證硬件/信息處理系統(tǒng)300;圖4圖解說(shuō)明保存根據(jù)本發(fā)明的方法的程序的步驟的信號(hào)承載媒體(例如存儲(chǔ)媒體)400。
具體實(shí)施例方式
現(xiàn)在參見(jiàn)附圖,尤其參見(jiàn)圖1,圖1表示了具有路由器O1-O7和目的地子網(wǎng)S的過(guò)分簡(jiǎn)單化的例證覆蓋網(wǎng)。網(wǎng)絡(luò)(實(shí)線)互連多個(gè)節(jié)點(diǎn)N。覆蓋網(wǎng)(虛線)僅包括網(wǎng)絡(luò)的某些節(jié)點(diǎn)(圖1中表示成覆蓋路由器節(jié)點(diǎn)Oi)。圖中還表示了網(wǎng)絡(luò)目的地,即因特網(wǎng)供應(yīng)商(IP)子網(wǎng)S。每個(gè)子網(wǎng)具有相關(guān)的主機(jī)/服務(wù)器計(jì)算機(jī)(未示出),相關(guān)的主機(jī)/服務(wù)器計(jì)算機(jī)是從覆蓋網(wǎng)與子網(wǎng)的接點(diǎn)(contact)。
在本發(fā)明的向覆蓋網(wǎng)提供最大靈活性的優(yōu)選例證實(shí)施例中,每個(gè)覆蓋網(wǎng)路由器Oi被配置成它能夠扮演指定路由器的角色。指定路由器具有確定網(wǎng)絡(luò)布局(網(wǎng)絡(luò)布局是建立當(dāng)前在線的所有路由器之間的鄰居關(guān)系的映射),并把網(wǎng)絡(luò)布局告知這些路由器的功能。相鄰路由器的確定便于更有效地路由數(shù)據(jù)分組,并且是上面列舉的同時(shí)待審專(zhuān)利申請(qǐng)中的第二件專(zhuān)利申請(qǐng)的前奏,該專(zhuān)利申請(qǐng)致力于解決如何自動(dòng)確定到網(wǎng)絡(luò)目的地最佳路由。
雖然圖1中未示出,不過(guò)要注意網(wǎng)絡(luò)也可被分區(qū)。如果被分區(qū),那么會(huì)存在幾個(gè)指定路由器,即,在網(wǎng)絡(luò)的每個(gè)分離部分中存在一個(gè)指定路由器。
如圖2A中所示,為了根據(jù)本發(fā)明自動(dòng)配置覆蓋網(wǎng),當(dāng)前在線的路由器之一將被指定為確定當(dāng)前的網(wǎng)絡(luò)配置,隨后得出網(wǎng)絡(luò)布局的路由器,所述網(wǎng)絡(luò)布局將定義在線路由器如何作為鄰居相互關(guān)連。指定的路由器隨后把該鄰近關(guān)系告知剩余的路由器。覆蓋路由器隨后開(kāi)始與其鄰居交換路由協(xié)議消息。
在圖2A的步驟201中,網(wǎng)絡(luò)的各個(gè)路由器Oj已被配置成可能充當(dāng)指定的路由器。在優(yōu)選實(shí)施例中,所有路由器Oj具有這種潛能。在步驟202中,利用預(yù)定確定的標(biāo)準(zhǔn)203,指定這些配置的路由器之一充當(dāng)網(wǎng)絡(luò)指定路由器,所述網(wǎng)絡(luò)指定路由器具有在步驟204中,確定當(dāng)前網(wǎng)絡(luò)配置的任務(wù),隨后在步驟205中,指定網(wǎng)絡(luò)路由器利用所述當(dāng)前網(wǎng)絡(luò)配置,確定將由指定路由器告知網(wǎng)絡(luò)中當(dāng)前在線的所有路由器的當(dāng)前網(wǎng)絡(luò)布局。
在步驟206中,如果指定的路由器離線,那么預(yù)先確定的標(biāo)準(zhǔn)203允許在步驟202中指定的另一路由器接管保持網(wǎng)絡(luò)布局的任務(wù)。如果指定的路由器保持在線,那么它將按照步驟204,定期重新確定當(dāng)前的網(wǎng)絡(luò)配置,并根據(jù)需要,按照步驟205更新網(wǎng)絡(luò)布局。
這種自動(dòng)配置技術(shù)顯然優(yōu)于手工配置。各個(gè)路由器中的任一路由器都可插手承擔(dān)確定網(wǎng)絡(luò)布局的任務(wù)。當(dāng)前的網(wǎng)絡(luò)布局能夠和當(dāng)前網(wǎng)絡(luò)配置相一致地變化。另外,如果當(dāng)前指定的路由器離線,網(wǎng)絡(luò)能夠恢復(fù)。
可按照各種方式實(shí)現(xiàn)圖2A中所示的技術(shù)200。作為各種可能變化的第一例子,預(yù)先確定的標(biāo)準(zhǔn)可以是非常簡(jiǎn)單的優(yōu)先級(jí)系統(tǒng),例如如果路由器O1在線,那么它自動(dòng)是指定的路由器,否則路由器O1承擔(dān)該任務(wù),接下來(lái)依次是路由器O3,O4等。可直接把這種簡(jiǎn)單優(yōu)先級(jí)系統(tǒng)編程到每個(gè)路由器Oj的非易失性存儲(chǔ)器中,從而允許每個(gè)路由器了解哪個(gè)在線路由器具有承擔(dān)作為指定路由器的任務(wù)的優(yōu)先級(jí)。每個(gè)路由器會(huì)在存儲(chǔ)器中包含作為覆蓋網(wǎng)的參與者,可能在線的所有覆蓋路由器的IP(因特網(wǎng)協(xié)議)地址的完整列表。通過(guò)參考存儲(chǔ)器中的優(yōu)先級(jí)列表,當(dāng)前在線的所有路由器知道它們中的哪一個(gè)將承擔(dān)作為指定路由器的任務(wù)。
第二種變化可產(chǎn)生于指定的路由器確定當(dāng)前網(wǎng)絡(luò)配置的過(guò)程中。它可只是監(jiān)視網(wǎng)絡(luò)通信量。一種更肯定的方法是指定的路由器向網(wǎng)絡(luò)傳送請(qǐng)求,所有在線路由器響應(yīng)該請(qǐng)求,從而識(shí)別它們的存在。作為另一種可能的變化,每個(gè)路由器把作為覆蓋網(wǎng)的參與者,可能在線的所有覆蓋路由器的IP地址的完整列表保存在存儲(chǔ)器中。指定的路由器可參考該列表,并單獨(dú)詢問(wèn)每個(gè)路由器。另一方面,變成在線的每個(gè)路由器可按照通用網(wǎng)絡(luò)宣告或者定向到假定存在的特定路由器的傳輸?shù)男问剑诰W(wǎng)絡(luò)上宣告它的存在,隨后根據(jù)存儲(chǔ)器中的優(yōu)先級(jí)列表,充當(dāng)指定的路由器。
第三種變化可產(chǎn)生于指定路由器用于確定當(dāng)前網(wǎng)絡(luò)布局的過(guò)程中。本質(zhì)上,在確定哪些路由器當(dāng)前在線之后,指定路由器將確定這些路由器的鄰近關(guān)系映射。上面列舉的第一件同時(shí)待審的專(zhuān)利申請(qǐng)描述了構(gòu)成最小生成樹(shù)(minimum spanning tree)的優(yōu)選例證方法。但是,對(duì)于本申請(qǐng)來(lái)說(shuō),認(rèn)為網(wǎng)絡(luò)布局確定可以和僅僅參考存儲(chǔ)器中的列表,根據(jù)哪些路由器當(dāng)前在線,選擇事先計(jì)算的各種標(biāo)準(zhǔn)布局之一同樣簡(jiǎn)單就足夠了。
圖2B表示了圖2A中圖解說(shuō)明的通用技術(shù)的一個(gè)優(yōu)選實(shí)施例210,其中當(dāng)前在線的路由器本身參與相對(duì)優(yōu)先級(jí)的比較,從而導(dǎo)致指定網(wǎng)絡(luò)路由器的選擇。在步驟211中,當(dāng)變成在線時(shí),路由器A自動(dòng)承擔(dān)指定路由器的任務(wù)。通過(guò)參考保存在存儲(chǔ)器中的網(wǎng)絡(luò)路由器列表212,路由器A知道哪些其它路由器可能充當(dāng)指定路由器。于是,在步驟213中,路由器A嘗試聯(lián)系路由器B。在步驟214中,在已能夠聯(lián)系路由器B的情況下,路由器A使用預(yù)先確定的標(biāo)準(zhǔn)215,在步驟216中確定路由器A的優(yōu)先級(jí)是否高于路由器B。如果是,那么在步驟217中,路由器A繼續(xù)承擔(dān)作為指定路由器的任務(wù)。如果否,那么在步驟218中,路由器A放棄作為指定路由器的任務(wù)。顯然每當(dāng)任意路由器A變成在線時(shí),該比較優(yōu)先級(jí)的過(guò)程快速確定哪個(gè)在線路由器最滿足預(yù)先確定的標(biāo)準(zhǔn)215,路由器A將能夠很快確定其承擔(dān)作為指定路由器的任務(wù)的優(yōu)先級(jí)。
圖2B中所示的技術(shù)210的優(yōu)點(diǎn)在于可按照用于把覆蓋路由器配置成可能充當(dāng)指定路由器的軟件包的模塊部分的形式,建立指定過(guò)程。
圖2C表示了圖2A和圖2B教導(dǎo)的技術(shù)的一個(gè)例證實(shí)施例的細(xì)節(jié)220。預(yù)先確定的選擇指定路由器的標(biāo)準(zhǔn)是,當(dāng)前在線并且具有最小識(shí)別號(hào)的路由器將繼續(xù)扮演指定路由器的角色。
如步驟221中所示,覆蓋網(wǎng)的每個(gè)路由器Oi被示范性地配置成能夠承擔(dān)作為指定路由器的任務(wù),并且每當(dāng)它不知道指定路由器的身份時(shí),它將自動(dòng)承擔(dān)該任務(wù)。于是,在步驟221中,每當(dāng)路由器Oi在線時(shí),它將自動(dòng)假定它是指定的路由器。每個(gè)覆蓋路由器Oi具有所有其它覆蓋路由器的IP地址的完整列表222。向路由器提供IP地址的確切機(jī)制并不重要,因?yàn)榭墒褂迷S多眾所周知的技術(shù)。
在其承擔(dān)作為具有最小識(shí)別號(hào)的指定路由器的任務(wù)的情況下,路由器Oi將在步驟223中嘗試建立與列表上的每個(gè)其它路由器的TCP(傳輸控制協(xié)議)連接。這些TCP連接將被用于收集建立網(wǎng)絡(luò)布局的信息。注意任意通信方法和協(xié)議可被用于互通信。從而,雖然由于其可靠性,TCP是建立連接的優(yōu)選方法,不過(guò)也可使用其它數(shù)據(jù)傳輸方法。
在圖2C的優(yōu)選例證實(shí)施例中,由于路由器Oi假定它是當(dāng)前在線的編號(hào)最小的路由器,因此它嘗試只與地址高于它的每個(gè)路由器建立TCP連接。在步驟224中,如果指定的路由器收到來(lái)自編號(hào)較低的指定路由器的連接請(qǐng)求,那么編號(hào)較高的路由器將放棄它的指定路由器職責(zé),并關(guān)閉它作為指定路由器可能已建立的任意TCP連接,地址較小的路由器將繼續(xù)其作為指定路由器的角色。
借助這種淘汰過(guò)程,只有地址最小的路由器保持作為指定網(wǎng)絡(luò)路由器的任務(wù),如步驟225中所示。所有其它在線路由器已淘汰它們自己,最初變成在線的任意路由器會(huì)很快放棄其承擔(dān)的作為指定路由器的任務(wù),或者變成新的指定路由器。
在步驟226中,如果指定的路由器不能建立與編號(hào)較大的路由器的TCP連接,它將每隔預(yù)定的間隔,定期嘗試建立與該編號(hào)較大的路由器的連接。當(dāng)它建立與該編號(hào)較大的路由器的連接時(shí),它將經(jīng)歷重新計(jì)算網(wǎng)絡(luò)布局,重新告知鄰居關(guān)系的步驟,從而以前不能達(dá)到的編號(hào)較大的路由器被包括在覆蓋網(wǎng)中。
該過(guò)程允許當(dāng)停機(jī)的另一覆蓋路由器重新變成在線時(shí),覆蓋路由恰當(dāng)?shù)匦薷?。該過(guò)程還允許當(dāng)已被分區(qū)的網(wǎng)絡(luò)變成相連時(shí),覆蓋路由恰當(dāng)?shù)匦薷?。這種情況下,指定的路由器可建立與同樣充當(dāng)指定路由器的另一覆蓋路由器的連接。
從而,如步驟228和229中所示,當(dāng)編號(hào)較大的指定路由器收到來(lái)自編號(hào)較小的指定路由器的連接請(qǐng)求時(shí),編號(hào)較大的路由器將認(rèn)識(shí)到它不應(yīng)再是指定路由器,它將關(guān)閉它的與其更大編號(hào)的路由器的所有連接。類(lèi)似地,當(dāng)具有與指定路由器的連接的路由器收到來(lái)自編號(hào)較小的指定路由器的連接請(qǐng)求時(shí),它應(yīng)關(guān)閉其與編號(hào)較大的指定路由器的連接。
當(dāng)指定的路由器建立與最新可達(dá)到的路由器的連接時(shí),它可選擇在重新計(jì)算網(wǎng)絡(luò)布局之前,嘗試連接其它“不可達(dá)到的”路由器,從而當(dāng)已被分區(qū)的網(wǎng)絡(luò)變成相連時(shí),可以只重新計(jì)算一次網(wǎng)絡(luò)布局,而不是多次重新計(jì)算網(wǎng)絡(luò)布局。
每個(gè)路由器將把周期“?;睢?Keepalive)傳送給指定的路由器,從而如同在步驟227中確定的那樣,能夠確定指定路由器何時(shí)消失。如果指定的路由器消失,另一路由器將承擔(dān)指定路由器的職責(zé)(通過(guò)返回步驟221),重新啟動(dòng)上面說(shuō)明的機(jī)制。
指定路由器也將傳送定期“?;睢?,從而它能夠知道某一普通路由器何時(shí)消失。如果某一路由器消失,那么指定路由器將計(jì)算新的布局,并把新的鄰居信息發(fā)送給各個(gè)路由器。
上面討論的例子的一種可能變形是當(dāng)每個(gè)路由器嘗試建立與具有較小IP地址的路由器的TCP連接時(shí),選擇具有最大IP地址的指定路由器。另外注意可使用任意判定標(biāo)準(zhǔn),只要兩個(gè)相互作用的路由器能夠確定這兩個(gè)路由器中的哪一個(gè)應(yīng)放棄其承擔(dān)的作為指定路由器的任務(wù),并且只要所述標(biāo)準(zhǔn)允許最終選擇當(dāng)前在線的路由器中的唯一一個(gè)路由器用于指定路由器的任務(wù)。
最后,注意例證的實(shí)施例說(shuō)明當(dāng)不能確定誰(shuí)是當(dāng)前的指定路由器時(shí),每個(gè)路由器最初承擔(dān)作為指定路由器的任務(wù),隨后當(dāng)它遇到具有較高優(yōu)先級(jí)的另一路由器時(shí),放棄該任務(wù)。顯然這種說(shuō)明等同于描述每個(gè)路由器實(shí)際上不斷監(jiān)視它是否具有當(dāng)前在線的所有路由器的最高優(yōu)先級(jí),并據(jù)此承擔(dān)作為指定路由器的任務(wù)。
例證的硬件實(shí)現(xiàn)圖3圖解說(shuō)明了可用于(例如作為路由器)具體體現(xiàn)本發(fā)明的信息處理/計(jì)算機(jī)系統(tǒng)300的典型硬件結(jié)構(gòu)。計(jì)算機(jī)系統(tǒng)300可通過(guò)網(wǎng)絡(luò)聯(lián)接310與其它路由器互連,并且最好具有至少一個(gè)處理器或者中央處理器(CPU)311。
CPU 311通過(guò)系統(tǒng)總線312與隨機(jī)存取存儲(chǔ)器(RAM)314,只讀存儲(chǔ)器(ROM)316,輸入/輸出(I/O)適配器318(用于連接諸如磁盤(pán)單元321和磁帶驅(qū)動(dòng)器340之類(lèi)外設(shè)和總線312),用戶接口適配器322(用于把鍵盤(pán)324、鼠標(biāo)326、揚(yáng)聲器328、麥克風(fēng)332、和/或其它用戶接口裝置與總線312連接),連接信息處理系統(tǒng)和數(shù)據(jù)處理網(wǎng)絡(luò)、因特網(wǎng)、企業(yè)內(nèi)部網(wǎng)、個(gè)人區(qū)域網(wǎng)(PAN)等的通信適配器334,和把總線312與顯示裝置338和/或打印機(jī)339(例如數(shù)字打印機(jī)等)連接的顯示適配器336。
除了上述硬件/軟件環(huán)境之外,本發(fā)明的一個(gè)不同方面包括用于執(zhí)行上述方法的計(jì)算機(jī)實(shí)現(xiàn)方法。作為一個(gè)例子,可在上面描述的特定環(huán)境中實(shí)現(xiàn)該方法。
例如,通過(guò)操縱由數(shù)字?jǐn)?shù)據(jù)處理設(shè)備具體體現(xiàn)的計(jì)算機(jī)執(zhí)行一系列機(jī)器可讀指令,可實(shí)現(xiàn)這種方法。這些指令可存在于各種信號(hào)承載媒體中。
從而,本發(fā)明的這一方面的目的在于一種執(zhí)行本發(fā)明的方法的程控產(chǎn)品,所述程控產(chǎn)品包括信號(hào)承載媒體,所述信號(hào)承載媒體確實(shí)包含可由包括CPU 311的數(shù)字?jǐn)?shù)據(jù)處理器和上述硬件執(zhí)行的機(jī)器可讀指令的程序。
這種信號(hào)承載媒體可包括,例如與CPU 311連接的RAM。另一方面,指令可包含在CPU 311可直接或間接訪問(wèn)的另一信號(hào)承載媒體,例如數(shù)據(jù)存儲(chǔ)磁盤(pán)400(圖4)中。
另一方面,指令可保存在各種機(jī)器可讀數(shù)據(jù)存儲(chǔ)媒體上,例如DASD存儲(chǔ)器(例如常規(guī)的“硬盤(pán)驅(qū)動(dòng)器”或RAID陣列),磁帶,只讀存儲(chǔ)器(例如ROM、EPROM、或EEPROM),光學(xué)存儲(chǔ)裝置(例如,CD-ROM、WORM、DVD、數(shù)字光帶等),紙質(zhì)穿孔卡片,或者其它適當(dāng)?shù)男盘?hào)承載媒體,包括諸如數(shù)字和模塊通信鏈路和無(wú)線鏈路之類(lèi)的傳輸媒體。在本發(fā)明的例證實(shí)施例中,機(jī)器可讀指令可包括軟件目標(biāo)代碼。另外,本發(fā)明的指令也可通過(guò)路由器上的網(wǎng)絡(luò)接口,被下載到各個(gè)網(wǎng)絡(luò)路由器。
注意本發(fā)明適用于所有類(lèi)型的網(wǎng)絡(luò)設(shè)計(jì),并且可由各種路由協(xié)議使用。根據(jù)具體的技術(shù),本發(fā)明的應(yīng)用會(huì)發(fā)生巨大變化。非限制性的應(yīng)用例子可包括組播視頻會(huì)議,協(xié)作應(yīng)用,多方游戲,和內(nèi)容分發(fā)。
本發(fā)明的主要優(yōu)點(diǎn)在于它消除了手工配置網(wǎng)絡(luò)的必要性。手工配置勞動(dòng)強(qiáng)度大,并且易于出錯(cuò)。如果在手工配置的網(wǎng)絡(luò)中鏈路發(fā)生故障,那么需要另外的手工配置,更不必說(shuō)這樣的網(wǎng)絡(luò)可能會(huì)變得不起作用。
雖然關(guān)于單個(gè)優(yōu)選實(shí)施例說(shuō)明了本發(fā)明,不過(guò)本領(lǐng)域的技術(shù)人員會(huì)認(rèn)識(shí)到,在不脫離附加權(quán)利要求的精神和范圍的情況下,可對(duì)本發(fā)明做出各種修改。
權(quán)利要求
1.一種自動(dòng)配置包括多個(gè)互連計(jì)算機(jī)的網(wǎng)絡(luò)的方法,所述方法包括把所述多個(gè)計(jì)算機(jī)中的一個(gè)以上的計(jì)算機(jī)配置成承擔(dān)作為指定路由器的任務(wù),所述指定路由器通過(guò)確定所述互連計(jì)算機(jī)中的哪些計(jì)算機(jī)當(dāng)前在線來(lái)確定當(dāng)前網(wǎng)絡(luò)配置,利用確定的當(dāng)前網(wǎng)絡(luò)配置來(lái)確定定義當(dāng)前在線的所述互連計(jì)算機(jī)之間的鄰近關(guān)系的當(dāng)前網(wǎng)絡(luò)布局,并把所述當(dāng)前網(wǎng)絡(luò)布局告知所述網(wǎng)絡(luò);定義優(yōu)先級(jí)標(biāo)準(zhǔn);和根據(jù)所述優(yōu)先級(jí)標(biāo)準(zhǔn),自動(dòng)選擇所述多個(gè)計(jì)算機(jī)中的一個(gè)計(jì)算機(jī)承擔(dān)作為指定路由器的所述任務(wù)。
2.按照權(quán)利要求1所述的方法,其中被配置成承擔(dān)作為指定路由器的所述任務(wù)并且當(dāng)前在線的每個(gè)所述計(jì)算機(jī)通過(guò)根據(jù)所述優(yōu)先級(jí)標(biāo)準(zhǔn),確定它自己的優(yōu)先級(jí),參與所述自動(dòng)選擇所述指定路由器。
3.按照權(quán)利要求1所述的方法,其中隨著所述網(wǎng)絡(luò)的配置變化,定期更新所述自動(dòng)選擇所述指定路由器。
4.按照權(quán)利要求1所述的方法,還包括把列表保存在配置成承擔(dān)所述任務(wù)的所述多個(gè)計(jì)算機(jī)中的每個(gè)計(jì)算機(jī)中,所述列表包括被配置成承擔(dān)作為指定路由器的所述任務(wù)的所述多個(gè)計(jì)算機(jī)中的所有其它計(jì)算機(jī)的身份識(shí)別。
5.按照權(quán)利要求1所述的方法,還包括至少下述之一每當(dāng)使被配置成承擔(dān)所述任務(wù)的每個(gè)所述計(jì)算機(jī)在所述網(wǎng)絡(luò)上在線時(shí),使該所述計(jì)算機(jī)一開(kāi)始便自動(dòng)承擔(dān)所述任務(wù);每當(dāng)被配置成承擔(dān)所述任務(wù)的每個(gè)所述計(jì)算機(jī)檢測(cè)到所述網(wǎng)絡(luò)上沒(méi)有其它計(jì)算機(jī)當(dāng)前正在承擔(dān)所述任務(wù)時(shí),使該所述計(jì)算機(jī)自動(dòng)承擔(dān)所述任務(wù);和使被配置成承擔(dān)所述任務(wù)的每個(gè)所述計(jì)算機(jī)定期監(jiān)視優(yōu)先級(jí)較高的另一計(jì)算機(jī)當(dāng)前是否正在承擔(dān)所述任務(wù)。
6.按照權(quán)利要求1所述的方法,其中所述自動(dòng)選擇包括在已承擔(dān)作為指定網(wǎng)絡(luò)路由器的所述任務(wù)的第一計(jì)算機(jī)中,在與被配置成承擔(dān)所述任務(wù)的第二計(jì)算機(jī)通信之后,確定所述第一計(jì)算機(jī)是否具有繼續(xù)所述任務(wù)的優(yōu)先級(jí)。
7.按照權(quán)利要求6所述的方法,還包括使已承擔(dān)所述任務(wù)的所述第一計(jì)算機(jī)嘗試聯(lián)系被配置成承擔(dān)所述任務(wù)的所述多個(gè)計(jì)算機(jī)中的至少一個(gè)其它計(jì)算機(jī);和對(duì)于每個(gè)所述聯(lián)系,根據(jù)所述優(yōu)先級(jí)標(biāo)準(zhǔn)的評(píng)估,使已承擔(dān)所述任務(wù)的所述計(jì)算機(jī)和所述聯(lián)系的計(jì)算機(jī)之一終止所述任務(wù)的執(zhí)行。
8.按照權(quán)利要求6所述的方法,其中所述優(yōu)先級(jí)的確定包括比較所述第一計(jì)算機(jī)的識(shí)別號(hào)和所述第二計(jì)算機(jī)的識(shí)別號(hào)。
9.一種能夠承擔(dān)作為網(wǎng)絡(luò)中的指定網(wǎng)絡(luò)路由器的任務(wù)的計(jì)算機(jī),所述指定網(wǎng)絡(luò)路由器具有確定并告知當(dāng)前網(wǎng)絡(luò)布局的功能,所述計(jì)算機(jī)包括保存預(yù)先確定的優(yōu)先級(jí)標(biāo)準(zhǔn),和將在執(zhí)行作為指定路由器的所述任務(wù)中執(zhí)行的算法的存儲(chǔ)裝置,所述預(yù)先確定的優(yōu)先級(jí)標(biāo)準(zhǔn)定義能夠承擔(dān)所述任務(wù)的所述一個(gè)以上計(jì)算機(jī)之間的優(yōu)先級(jí);和根據(jù)所述預(yù)先確定的優(yōu)先級(jí)標(biāo)準(zhǔn),評(píng)估所述計(jì)算機(jī)當(dāng)前是否具有執(zhí)行所述任務(wù)的優(yōu)先級(jí)的確定模塊。
10.按照權(quán)利要求9所述的計(jì)算機(jī),還包括包含使所述計(jì)算機(jī)依據(jù)下述條件至少之一,自動(dòng)承擔(dān)所述任務(wù)的指令的啟動(dòng)模塊每當(dāng)使所述計(jì)算機(jī)在所述網(wǎng)絡(luò)上在線時(shí);每當(dāng)檢測(cè)到所述網(wǎng)絡(luò)上沒(méi)有其它計(jì)算機(jī)當(dāng)前正在承擔(dān)所述任務(wù)時(shí);每當(dāng)檢測(cè)到當(dāng)前沒(méi)有優(yōu)先級(jí)高于它自己的任何計(jì)算機(jī)正在執(zhí)行所述任務(wù)時(shí);以及每當(dāng)未能檢測(cè)所述網(wǎng)絡(luò)上的任意其它計(jì)算機(jī)當(dāng)前是否正在執(zhí)行所述任務(wù)時(shí)。
11.按照權(quán)利要求9所述的計(jì)算機(jī),其中所述預(yù)先確定的優(yōu)先級(jí)標(biāo)準(zhǔn)根據(jù)當(dāng)前在線的所述互連計(jì)算機(jī)的識(shí)別號(hào)確定優(yōu)先級(jí),所述確定模塊評(píng)估所述計(jì)算機(jī)當(dāng)前是否具有相對(duì)于當(dāng)前在線的第二計(jì)算機(jī)較高的優(yōu)先級(jí)和相對(duì)于所有當(dāng)前在線的計(jì)算機(jī)的最高優(yōu)先級(jí)這二者之一。
12.按照權(quán)利要求9所述的計(jì)算機(jī),還包括保存在存儲(chǔ)裝置中的列表,所述列表包括具有承擔(dān)所述任務(wù)的所述能力的所述一個(gè)以上計(jì)算機(jī)中的每個(gè)計(jì)算機(jī)的識(shí)別號(hào)。
13.按照權(quán)利要求12所述的計(jì)算機(jī),其中在執(zhí)行作為指定路由器的所述任務(wù)中執(zhí)行的所述算法使所述計(jì)算機(jī)使用所述列表上的所述識(shí)別號(hào),嘗試聯(lián)系所述列表上的至少一個(gè)其它計(jì)算機(jī),所述計(jì)算機(jī)還包括嘗試聯(lián)系所述至少一個(gè)其它計(jì)算機(jī)的發(fā)射器;和接收來(lái)自所述至少一個(gè)其它計(jì)算機(jī)的響應(yīng)的接收器。
14.按照權(quán)利要求13所述的計(jì)算機(jī),其中所述預(yù)先確定的優(yōu)先級(jí)標(biāo)準(zhǔn)根據(jù)當(dāng)前在線的所述互連計(jì)算機(jī)的識(shí)別號(hào)確定優(yōu)先級(jí),并且當(dāng)收到響應(yīng)時(shí),所述確定模塊評(píng)估所述計(jì)算機(jī)當(dāng)前是否具有比已發(fā)送所述接收的響應(yīng)的計(jì)算機(jī)更高的優(yōu)先級(jí)。
15.一種具有自動(dòng)配置能力的網(wǎng)絡(luò),所述網(wǎng)絡(luò)包括多個(gè)計(jì)算機(jī),其中所述多個(gè)計(jì)算機(jī)中一個(gè)以上的計(jì)算機(jī)均被配置成可能承擔(dān)作為所述網(wǎng)絡(luò)的指定網(wǎng)絡(luò)路由器的任務(wù),所述指定的網(wǎng)絡(luò)路由器具有在確定當(dāng)前網(wǎng)絡(luò)配置之后,確定并告知當(dāng)前網(wǎng)絡(luò)布局的功能,并且其中預(yù)先確定的優(yōu)先級(jí)標(biāo)準(zhǔn)被用于允許自動(dòng)選擇所述多個(gè)計(jì)算機(jī)之一來(lái)承擔(dān)所述任務(wù),所述自動(dòng)選擇取決于當(dāng)前的網(wǎng)絡(luò)配置。
16.按照權(quán)利要求15所述的網(wǎng)絡(luò),其中配置成承擔(dān)所述任務(wù)的所述一個(gè)以上的計(jì)算機(jī)中的每一個(gè)均在下述至少之一時(shí)自動(dòng)承擔(dān)作為指定的網(wǎng)絡(luò)路由器的所述任務(wù)已使之在所述網(wǎng)絡(luò)上在線;已檢測(cè)到所述網(wǎng)絡(luò)上沒(méi)有其它計(jì)算機(jī)當(dāng)前正在執(zhí)行所述任務(wù);已檢測(cè)到?jīng)]有優(yōu)先級(jí)高于其本身的計(jì)算機(jī)當(dāng)前正在執(zhí)行所述任務(wù);未能檢測(cè)所述網(wǎng)絡(luò)上的任意其它計(jì)算機(jī)當(dāng)前正在執(zhí)行所述任務(wù)。
17.按照權(quán)利要求15所述的網(wǎng)絡(luò),還包括多個(gè)分區(qū),所述預(yù)先確定的優(yōu)先級(jí)標(biāo)準(zhǔn)允許每個(gè)所述分區(qū)自動(dòng)選擇指定的網(wǎng)絡(luò)路由器,其中所述預(yù)先確定的優(yōu)先級(jí)標(biāo)準(zhǔn)還允許每當(dāng)任意所述分區(qū)合并時(shí),重新自動(dòng)選擇指定的路由器。
18.一種信號(hào)承載媒體,所述信號(hào)承載媒體確實(shí)包含可由數(shù)字處理設(shè)備執(zhí)行的,實(shí)現(xiàn)自動(dòng)配置網(wǎng)絡(luò)的方法的機(jī)器可讀指令的程序,所述方法包括使用預(yù)先確定的優(yōu)先級(jí)標(biāo)準(zhǔn)自動(dòng)選擇指定的網(wǎng)絡(luò)路由器,所述指定的網(wǎng)絡(luò)路由器具有確定并告知當(dāng)前網(wǎng)絡(luò)布局的功能。
19.按照權(quán)利要求18所述的信號(hào)承載媒體,所述方法還包括使配置成承擔(dān)作為指定網(wǎng)絡(luò)路由器的所述任務(wù)的每個(gè)計(jì)算機(jī)在下述任意之一時(shí)自動(dòng)承擔(dān)作為指定網(wǎng)絡(luò)路由器的所述任務(wù)已使之在所述網(wǎng)絡(luò)上在線;已檢測(cè)到所述網(wǎng)絡(luò)上沒(méi)有其它計(jì)算機(jī)當(dāng)前正在執(zhí)行所述任務(wù);已檢測(cè)到?jīng)]有優(yōu)先級(jí)高于其自身的計(jì)算機(jī)當(dāng)前正在執(zhí)行所述任務(wù);未能檢測(cè)所述網(wǎng)絡(luò)上的任意其它計(jì)算機(jī)當(dāng)前正在執(zhí)行所述任務(wù)。
20.按照權(quán)利要求18所述的信號(hào)承載媒體,其中所述預(yù)先確定的標(biāo)準(zhǔn)包括根據(jù)識(shí)別號(hào)確定優(yōu)先級(jí)。
全文摘要
一種自動(dòng)配置包括多個(gè)互連計(jì)算機(jī)的網(wǎng)絡(luò)的方法(和結(jié)構(gòu)),包括把多個(gè)計(jì)算機(jī)中的一個(gè)以上的計(jì)算機(jī)配置成承擔(dān)作為指定路由器(202)的任務(wù),所述指定路由器通過(guò)確定哪些計(jì)算機(jī)當(dāng)前在線,確定當(dāng)前網(wǎng)絡(luò)配置(204),利用確定的當(dāng)前網(wǎng)絡(luò)配置(204)確定定義當(dāng)前在線的互連計(jì)算機(jī)之間的鄰近關(guān)系的當(dāng)前網(wǎng)絡(luò)布局(205),并把當(dāng)前網(wǎng)絡(luò)布局告知網(wǎng)絡(luò)。所述方法還包括定義優(yōu)先級(jí)標(biāo)準(zhǔn)(203),根據(jù)優(yōu)先級(jí)標(biāo)準(zhǔn),自動(dòng)選擇計(jì)算機(jī)之一承擔(dān)作為指定路由器的任務(wù)。
文檔編號(hào)H04L12/24GK1639704SQ03804903
公開(kāi)日2005年7月13日 申請(qǐng)日期2003年4月15日 優(yōu)先權(quán)日2002年6月21日
發(fā)明者理查德·H·伯維伊, 南?!·費(fèi)爾德曼 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司