專(zhuān)利名稱(chēng):用于高網(wǎng)絡(luò)可用性的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)中的高可用性。更具體地說(shuō),本發(fā)明涉及用于檢測(cè)一條或多條活動(dòng)路徑的故障并且切換到備用或剩余活動(dòng)路徑的方法和設(shè)備。
背景技術(shù):
客戶(hù)通常需要實(shí)時(shí)地將數(shù)據(jù)從第一位置復(fù)制到第二位置。這對(duì)于例如允許從諸如主數(shù)據(jù)中心停工(down)、長(zhǎng)時(shí)間斷電、自然災(zāi)害之類(lèi)的數(shù)據(jù)丟失事件恢復(fù)來(lái)說(shuō)是合乎需要的如果數(shù)據(jù)存儲(chǔ)在第二位置中,則在第一位置客戶(hù)可以更容易地從災(zāi)害恢復(fù)。數(shù)據(jù)經(jīng)由通過(guò)中間網(wǎng)絡(luò)(例如,專(zhuān)用WAN設(shè)施)的路徑在第一和第二位置之間被傳送。如果路徑發(fā)生故障,則數(shù)據(jù)經(jīng)由冗余路徑被傳送。
通常,確定何時(shí)切換到冗余路徑是由在第一位置中的設(shè)備作出的,該設(shè)備可以是主機(jī)、存儲(chǔ)設(shè)備等。這種確定是基于用于測(cè)量路徑上可能發(fā)生故障的事務(wù)的期滿(mǎn)的定時(shí)器集合作出的。例如,通常在第一位置和第二位置中的設(shè)備之間交換“存活(keepalive)”或類(lèi)似的消息來(lái)發(fā)現(xiàn)末端服務(wù)和網(wǎng)絡(luò)傳輸是否可用。如果在一個(gè)定時(shí)器期間內(nèi)未接收到“存活”消息,則觸發(fā)切換到冗余路徑。由于在末端設(shè)備和網(wǎng)絡(luò)傳輸之間不存在用于通知斷裂路徑的直接鏈接這一事實(shí),所以要求“存活”機(jī)制。因此,利用諸如“存活”之類(lèi)的機(jī)制來(lái)檢測(cè)發(fā)生故障的網(wǎng)絡(luò)路徑是末端設(shè)備的責(zé)任。一般而言,定時(shí)器期間相當(dāng)長(zhǎng)(例如,60到180秒),這是因?yàn)椴幌M槐匾厍袚Q到冗余路徑或者經(jīng)歷兩條可行路徑之間的任何服務(wù)擺動(dòng)(flapping)。
因此希望提供方法和裝置,用來(lái)提高確定何時(shí)有必要從主數(shù)據(jù)路徑切換到通過(guò)中間網(wǎng)絡(luò)連接客戶(hù)端設(shè)備的冗余數(shù)據(jù)路徑的速度和準(zhǔn)確性。并且還希望這些方法和設(shè)備可以與大量客戶(hù)端設(shè)備以及多種協(xié)議一起使用。
發(fā)明內(nèi)容
提供了方法和設(shè)備用來(lái)基于兩個(gè)末端設(shè)備之間的路徑中的實(shí)際上行流故障來(lái)模仿網(wǎng)絡(luò)設(shè)備和末端設(shè)備之間的直接故障。在一些實(shí)現(xiàn)方式中,網(wǎng)絡(luò)設(shè)備是第一網(wǎng)絡(luò)的網(wǎng)關(guān),末端設(shè)備是第一網(wǎng)絡(luò)上的主機(jī)或存儲(chǔ)設(shè)備。在一些實(shí)現(xiàn)方式中,網(wǎng)絡(luò)設(shè)備包括被鏈接接口,被鏈接接口的管理狀態(tài)由一個(gè)或多個(gè)被追蹤接口的工作狀態(tài)確定。被追蹤接口可以在沿兩個(gè)或更多個(gè)末端設(shè)備之間的活動(dòng)路徑的同一個(gè)網(wǎng)絡(luò)設(shè)備中或者其他網(wǎng)絡(luò)設(shè)備中,并且可以是物理的也可以是虛擬的。在一些這種實(shí)現(xiàn)方式中,當(dāng)被追蹤接口發(fā)生故障時(shí),被鏈接的接口將使網(wǎng)絡(luò)設(shè)備和末端設(shè)備之間的鏈路停工,從而導(dǎo)致切換到冗余路徑。其他實(shí)現(xiàn)方式包括直接通知網(wǎng)絡(luò)設(shè)備鏈路已發(fā)生故障或者將發(fā)生故障。
本發(fā)明的一些實(shí)現(xiàn)方式提供了一種用于維持網(wǎng)絡(luò)中的高可用性的方法。該方法包括從第一被追蹤接口的工作狀態(tài)導(dǎo)出第一網(wǎng)絡(luò)設(shè)備的被鏈接接口的狀態(tài)的步驟,其中該被鏈接接口和第一被追蹤接口形成第一末端設(shè)備和第二末端設(shè)備之間的第一數(shù)據(jù)路徑的一部分。該方法還包括向第一末端設(shè)備通知被鏈接接口的狀態(tài)的步驟。被鏈接接口的狀態(tài)可以是管理狀態(tài)或工作狀態(tài)。通知步驟可以包括例如通過(guò)使第一數(shù)據(jù)通路停工來(lái)向末端設(shè)備通知第一數(shù)據(jù)路徑中的故障。該方法可以包括切換到第二數(shù)據(jù)通路的步驟。
該方法還可以包括從至少第二被追蹤接口的工作狀態(tài)導(dǎo)出被鏈接接口的狀態(tài)的步驟。該被鏈接接口的狀態(tài)可以通過(guò)使用被應(yīng)用到至少第一被追蹤接口和第二被追蹤接口的加權(quán)函數(shù)來(lái)確定。導(dǎo)出步驟可以包括應(yīng)用緩沖(damping)函數(shù)來(lái)恢復(fù)被鏈接接口。
本發(fā)明的一些實(shí)施例提供了一種網(wǎng)絡(luò)設(shè)備,該網(wǎng)絡(luò)設(shè)備包括具有工作狀態(tài)的第一被追蹤接口,以及被鏈接端口,被鏈接端口被配置為從被追蹤接口的工作狀態(tài)導(dǎo)出被鏈接端口狀態(tài)。被鏈接端口和第一被追蹤接口形成第一末端設(shè)備和第二末端設(shè)備之間的第一數(shù)據(jù)路徑的一部分。被鏈接端口還可以配置為當(dāng)該被鏈接端口狀態(tài)為停工狀態(tài)時(shí)通知第一末端設(shè)備。
第一被追蹤接口可以是物理接口或虛擬接口。第一被追蹤接口可以是光纖信道接口或以太網(wǎng)接口之一。第一被追蹤接口可以是該網(wǎng)絡(luò)設(shè)備的一部分或者另一個(gè)網(wǎng)絡(luò)設(shè)備的一部分。
被鏈接端口可以是光纖信道端口。被鏈接端口還可以配置為當(dāng)該被鏈接端口狀態(tài)為停工狀態(tài)時(shí)撤消(drop)與第一末端設(shè)備的鏈接。被鏈接端口狀態(tài)是通過(guò)向第一被追蹤接口和第二被追蹤接口應(yīng)用加權(quán)函數(shù)來(lái)確定的。被鏈接端口狀態(tài)也可以通過(guò)對(duì)工作狀態(tài)應(yīng)用緩沖函數(shù)來(lái)確定。該網(wǎng)絡(luò)設(shè)備還可以包括路由選擇表,其中被鏈接端口狀態(tài)基于該路由選擇表中的更新。
本發(fā)明的替換實(shí)施例提供了一種用于維持網(wǎng)絡(luò)中的高可用性的方法。該方法包括以下步驟接收指示第一末端設(shè)備和第二末端設(shè)備之間的第一數(shù)據(jù)路徑的狀況的信號(hào);從該信號(hào)導(dǎo)出第一網(wǎng)絡(luò)設(shè)備的被鏈接端口的狀態(tài),該被鏈接端口形成第一數(shù)據(jù)路徑的一部分;以及向第一末端設(shè)備通知該狀態(tài)。
接收步驟的狀況可以指示出第一數(shù)據(jù)路徑停工。接收步驟的狀況可以指示第一數(shù)據(jù)路徑在將來(lái)時(shí)刻將停工。通知步驟可以包括撤消第一網(wǎng)絡(luò)設(shè)備和第一末端設(shè)備之間的鏈路。
本發(fā)明的替換實(shí)施例提供了一種包含在機(jī)器可讀介質(zhì)中的計(jì)算機(jī)程序。該計(jì)算機(jī)程序包括用于控制至少一個(gè)設(shè)備來(lái)執(zhí)行下述步驟的指令從第一被追蹤接口的工作狀態(tài)導(dǎo)出第一網(wǎng)絡(luò)設(shè)備的被鏈接接口的狀態(tài),該被鏈接接口和第一被追蹤接口形成第一末端設(shè)備和第二末端設(shè)備之間的第一數(shù)據(jù)路徑的一部分;以及向第一末端設(shè)備通知被鏈接接口的狀態(tài)。
在附圖和以下對(duì)本發(fā)明的說(shuō)明中,將更詳細(xì)地給出本發(fā)明的這些和其他特征和優(yōu)點(diǎn),其中附圖以示例方式示出了本發(fā)明的原理。
結(jié)合附圖參考下面的描述可以最好地理解本發(fā)明,附圖示出了本發(fā)明的特定實(shí)施例。
圖1是示出了本發(fā)明的一些實(shí)現(xiàn)方式的網(wǎng)絡(luò)圖。
圖2是示出了根據(jù)本發(fā)明一些實(shí)現(xiàn)方式的客戶(hù)網(wǎng)絡(luò)的網(wǎng)絡(luò)圖。
圖3是示出了根據(jù)本發(fā)明一些實(shí)現(xiàn)方式的方法的流程圖。
圖4是示出了根據(jù)本發(fā)明一些實(shí)現(xiàn)方式的方法的流程圖。
圖5是示出了根據(jù)本發(fā)明一些實(shí)現(xiàn)方式追蹤一個(gè)或多個(gè)虛擬接口的網(wǎng)絡(luò)圖。
圖6是示出了根據(jù)本發(fā)明一些實(shí)現(xiàn)方式的緩沖方法的圖。
圖7是示出了根據(jù)本發(fā)明一些實(shí)現(xiàn)方式追蹤多個(gè)接口的網(wǎng)絡(luò)圖。
圖8是示出了根據(jù)本發(fā)明一些實(shí)現(xiàn)方式的方法的流程圖。
圖9示出了可用于實(shí)現(xiàn)本發(fā)明的實(shí)現(xiàn)方式的網(wǎng)絡(luò)設(shè)備。
具體實(shí)施例方式
現(xiàn)在將詳細(xì)參考本發(fā)明的某些特定實(shí)施例,這些特定實(shí)施例包括由發(fā)明人設(shè)想出的用于實(shí)現(xiàn)本發(fā)明的最佳模式。在附圖中示出了這些特定實(shí)施例的示例。盡管結(jié)合這些特定實(shí)施例描述了本發(fā)明,但是應(yīng)當(dāng)理解不是要將本發(fā)明限制于所述特定實(shí)施例。相反,是要覆蓋可以被包括在由所附權(quán)利要求書(shū)限定的本發(fā)明的精神和范圍內(nèi)的替換、修改和等同物。
例如,將主要在兩個(gè)或更多個(gè)使用光纖信道協(xié)議的存儲(chǔ)區(qū)域網(wǎng)之間的通信的上下文中描述本發(fā)明的技術(shù)。但是,應(yīng)當(dāng)注意本發(fā)明的技術(shù)可以應(yīng)用到多種不同的網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)。此外,本發(fā)明提供的解決方案同樣適用于非光纖信道網(wǎng)絡(luò)。在下面的描述中,闡述了若干特定的細(xì)節(jié),以便提供對(duì)本發(fā)明的全面理解。但是,在沒(méi)有這些特定細(xì)節(jié)中的一些或全部的情況下,也可以實(shí)現(xiàn)本發(fā)明。在其他實(shí)例中,為了不模糊本發(fā)明,未詳細(xì)描述公知的過(guò)程操作。
圖1是將用來(lái)描述本發(fā)明的一些實(shí)現(xiàn)方式的簡(jiǎn)化網(wǎng)絡(luò)圖。圖1的客戶(hù)端設(shè)備105經(jīng)由中間網(wǎng)絡(luò)115(在這里是因特網(wǎng)115)與客戶(hù)端設(shè)備125通信??蛻?hù)端設(shè)備105可以是主機(jī)、存儲(chǔ)設(shè)備或者類(lèi)似的設(shè)備??蛻?hù)端設(shè)備125是存儲(chǔ)設(shè)備,或者至少包括存儲(chǔ)設(shè)備。下面將更詳細(xì)地描述,客戶(hù)端設(shè)備105和125例如可以是在分離的地理位置中的存儲(chǔ)區(qū)域網(wǎng)內(nèi)的設(shè)備。
數(shù)據(jù)可以根據(jù)小計(jì)算機(jī)系統(tǒng)接口(“SCSI”)標(biāo)準(zhǔn)或者按照其他協(xié)議在設(shè)備102和125之間被傳送。例如,數(shù)據(jù)可以根據(jù)光纖連接(“FICON”)標(biāo)準(zhǔn)或企業(yè)系統(tǒng)連接(“ESCON”)標(biāo)準(zhǔn)被傳送。
網(wǎng)絡(luò)115可以是適于在設(shè)備105和125之間高效通信的任何類(lèi)型的網(wǎng)絡(luò),例如,城域光學(xué)傳輸網(wǎng)或因特網(wǎng)。因此,多種協(xié)議可以用于網(wǎng)絡(luò)115上的通信,例如,因特網(wǎng)協(xié)議(“IP”)、光纖信道(“FC”)、基于IP的FC(“FCIP”)、因特網(wǎng)SCSI(“iSCSI”,一種基于IP的標(biāo)準(zhǔn),用于通過(guò)網(wǎng)絡(luò)來(lái)鏈接數(shù)據(jù)存儲(chǔ)設(shè)備并且通過(guò)經(jīng)由IP網(wǎng)絡(luò)傳輸SCSI命令來(lái)傳送數(shù)據(jù))、或者密集波分復(fù)用(“DWDM”,用于增加現(xiàn)有光纖光主干網(wǎng)上的帶寬的光學(xué)技術(shù))。
網(wǎng)關(guān)110是設(shè)置在設(shè)備105和網(wǎng)絡(luò)115之間的網(wǎng)絡(luò)設(shè)備(例如,交換機(jī))。類(lèi)似地,網(wǎng)關(guān)120是設(shè)置在設(shè)備125和網(wǎng)絡(luò)115之間的網(wǎng)絡(luò)設(shè)備。
如上所述,客戶(hù)通常希望實(shí)時(shí)地將數(shù)據(jù)從第一位置(例如,設(shè)備105)復(fù)制到第二位置(例如,設(shè)備125)。在這里,路徑140是經(jīng)由網(wǎng)絡(luò)115從設(shè)備105到設(shè)備125的主數(shù)據(jù)路徑。在本示例中,鏈路130被形成在設(shè)備105和網(wǎng)關(guān)110的端口132之間。類(lèi)似地,鏈路135被形成在端口135和網(wǎng)絡(luò)115之間。
網(wǎng)絡(luò)設(shè)備160、165、170和175形成路徑140的一部分。本領(lǐng)域技術(shù)人員將理解,網(wǎng)絡(luò)設(shè)備160、165、170和175僅是網(wǎng)絡(luò)115內(nèi)沿路徑140的許多網(wǎng)絡(luò)設(shè)備的示例。如果路徑140的一些部分發(fā)生故障,則設(shè)備105導(dǎo)致進(jìn)行切換,然后數(shù)據(jù)經(jīng)由冗余路徑150在設(shè)備105和125之間被傳送。
根據(jù)本發(fā)明的一些實(shí)現(xiàn)方式,提供了方法和設(shè)備,用于模仿諸如網(wǎng)關(guān)110之類(lèi)的網(wǎng)絡(luò)設(shè)備和諸如設(shè)備105之類(lèi)的末端設(shè)備之間的直接故障。網(wǎng)絡(luò)設(shè)備包括被鏈接接口(例如,端口132),其管理狀態(tài)由一個(gè)或多個(gè)被追蹤接口的工作狀態(tài)確定。被追蹤接口可以在相同的網(wǎng)絡(luò)設(shè)備(例如,端口136)或其他網(wǎng)絡(luò)設(shè)備內(nèi),并且可以是物理的或虛擬的。在一些實(shí)現(xiàn)方式中,當(dāng)被追蹤接口發(fā)生故障時(shí),被鏈接接口將使網(wǎng)絡(luò)設(shè)備和末端設(shè)備之間的鏈路(例如,鏈路130)停工,從而導(dǎo)致切換到冗余路徑(例如,路徑150)。
下面將更詳細(xì)地描述,可以應(yīng)用緩沖函數(shù)(或者類(lèi)似的算法),以使在被鏈接接口達(dá)到“停工”管理狀態(tài)并且使鏈路停工之前,被追蹤接口必須保持在“停工”狀態(tài)并持續(xù)預(yù)定的一段時(shí)間。在主鏈路包括并行工作的多條路徑時(shí),當(dāng)一條這種路徑發(fā)生故障時(shí)可以應(yīng)用加權(quán)函數(shù)或度量來(lái)確定被鏈接接口的管理狀態(tài)。
圖2示出了根據(jù)本發(fā)明一些實(shí)現(xiàn)方式用于設(shè)備105和125的簡(jiǎn)化的但是更現(xiàn)實(shí)的設(shè)置??蛻?hù)端SAN 200包括網(wǎng)絡(luò)設(shè)備235、240和245、主機(jī)205和210,以及存儲(chǔ)設(shè)備220和225。本領(lǐng)域技術(shù)人員將意識(shí)到圖2所示的設(shè)備的類(lèi)型和數(shù)目純粹是示例。
在一個(gè)示例中,圖1的設(shè)備105是主機(jī)設(shè)備,例如圖2的主機(jī)205。在一些這種實(shí)現(xiàn)方式中,被鏈接接口在交換機(jī)245中,并且在被追蹤接口處于“停工”工作狀態(tài)中時(shí)將使鏈路206停工?;蛘?,圖1的設(shè)備105可以是存儲(chǔ)設(shè)備,例如,存儲(chǔ)設(shè)備225。根據(jù)一些這種實(shí)現(xiàn)方式,被鏈接接口在交換機(jī)245中,并且在被鏈接接口處于“停工”管理狀態(tài)中時(shí)將使鏈路226停工。
圖3是示出了根據(jù)本發(fā)明一些實(shí)現(xiàn)方式的方法300的流程圖。在步驟305中,第一數(shù)據(jù)路徑被建立在不同地理位置中的客戶(hù)端設(shè)備之間,例如,圖1的設(shè)備105和125之間的路徑140。該數(shù)據(jù)路徑包括一個(gè)或多個(gè)被鏈接接口,以及至少一個(gè)被追蹤接口,其可以是物理的也可以是虛擬的。
在步驟310中,確定第一數(shù)據(jù)路徑上的鏈路是否已發(fā)生故障(或者在將來(lái)某個(gè)已知時(shí)刻將發(fā)生故障)。在一些實(shí)現(xiàn)方式中,當(dāng)被追蹤接口與被鏈接接口在同一個(gè)網(wǎng)絡(luò)設(shè)備中,該確定被直接作出。下面將討論替換實(shí)現(xiàn)方式,例如,其中被追蹤接口與被鏈接接口不在同一個(gè)網(wǎng)絡(luò)設(shè)備中。
在其他實(shí)現(xiàn)方式中,步驟310的確定可以通過(guò)來(lái)自另一個(gè)設(shè)備的狀態(tài)信息的直接通信而作出,例如,經(jīng)由分組或幀頭部中的信息。這里所使用的這種直接通信也稱(chēng)作“外部指示”。外部指示例如可以指示第一數(shù)據(jù)路徑的一部分已停工,或者在將來(lái)某一時(shí)刻將停工。例如,如果網(wǎng)絡(luò)管理員計(jì)劃對(duì)數(shù)據(jù)路徑140上的設(shè)備執(zhí)行更新或者維護(hù),則他或她將從主機(jī)設(shè)備發(fā)送直接通信到具有被鏈接接口的設(shè)備(例如,網(wǎng)關(guān)110),指示在特定時(shí)刻將使該設(shè)備離線(xiàn)。
根據(jù)一些實(shí)現(xiàn)方式,經(jīng)確認(rèn)消息傳輸協(xié)議(單播、多播或廣播)被用來(lái)告知相鄰網(wǎng)絡(luò)設(shè)備或者一組末端設(shè)備,將使活動(dòng)網(wǎng)絡(luò)路徑的元件停工,從而在不要求每個(gè)末端設(shè)備都循環(huán)通過(guò)“存活”超時(shí)期限的情況下制定故障恢復(fù)(failover)機(jī)制。在一些這種實(shí)現(xiàn)方式中,該消息使用標(biāo)準(zhǔn)的TCP/IP幀格式,并且具有包括若干片信息的有效載荷,例如(1)發(fā)送警報(bào)的設(shè)備的身份;(2)指示消息的特性的消息標(biāo)識(shí)符(即,現(xiàn)在停工、將來(lái)停工、協(xié)議初始化、存活等等);(3)直到設(shè)備停工為止的持續(xù)時(shí)間;(4)設(shè)備群組ID;和/或(5)協(xié)議版本ID。
在替換實(shí)現(xiàn)方式中,步驟310的確定是通過(guò)參考一個(gè)或多個(gè)被追蹤接口的工作狀態(tài)確定的。如果第一數(shù)據(jù)路徑上沒(méi)有鏈路已發(fā)生故障,則被鏈接接口的管理狀態(tài)保持“正常工作(up)”(步驟315),并且第一數(shù)據(jù)路徑被維持(步驟320)。
但是,根據(jù)一些實(shí)現(xiàn)方式,如果第一數(shù)據(jù)路徑上的鏈路已發(fā)生故障,則被鏈接接口的管理和/或工作狀態(tài)被設(shè)置為“停工”(步驟330)。下面將描述,在替換實(shí)現(xiàn)方式中,緩沖函數(shù)被應(yīng)用,其中如果第一數(shù)據(jù)路徑上的鏈路已發(fā)生故障,被鏈接接口的管理和/或工作狀態(tài)并不立即被設(shè)置為“停工”。此外,在其中多于一個(gè)接口被追蹤的一些實(shí)現(xiàn)方式中,可以應(yīng)用加權(quán)函數(shù)或類(lèi)似的函數(shù)來(lái)確定在步驟330中被鏈接接口的管理和/或工作狀態(tài)是否被設(shè)置為“停工”。
在被鏈接接口的管理和/或工作狀態(tài)被設(shè)置為“停工”后,使得到末端設(shè)備的鏈路(例如,到設(shè)備105的鏈路130)停工。這致使末端設(shè)備切換到冗余的第二數(shù)據(jù)路徑,例如,圖1的路徑150。由于網(wǎng)關(guān)110和120可以在小于“存活”定時(shí)器期間的時(shí)間內(nèi)檢測(cè)出路徑140中的故障,所以與利用現(xiàn)有方法的情形相比,切換將在更小的時(shí)間內(nèi)發(fā)生。不管用于傳送數(shù)據(jù)的協(xié)議、所涉及的客戶(hù)端設(shè)備的類(lèi)型、或者例如設(shè)備105或設(shè)備125用來(lái)確定何時(shí)將使路徑140停工的算法如何,這都是真的。
圖4是將用來(lái)更詳細(xì)地描述本發(fā)明的一些接口追蹤實(shí)現(xiàn)方式的流程圖。在步驟405中,第一數(shù)據(jù)路徑被建立在不同地理位置中的客戶(hù)端設(shè)備之間,例如,圖1的路徑140。如上所述,該數(shù)據(jù)路徑包括被鏈接接口和至少一個(gè)被追蹤接口,其可以是物理的也可以是虛擬的。例如,被鏈接接口可以是網(wǎng)關(guān)110的端口132,如圖1所示?;蛘撸绘溄咏涌诳梢栽谖挥赟AN結(jié)構(gòu)內(nèi)的另一個(gè)網(wǎng)絡(luò)設(shè)備內(nèi),例如,圖2所示網(wǎng)絡(luò)設(shè)備235或240。被追蹤接口可以在同一個(gè)網(wǎng)絡(luò)設(shè)備中(例如,端口136)或者在另一個(gè)網(wǎng)絡(luò)設(shè)備中。例如,如果被鏈接接口在圖2所示網(wǎng)絡(luò)設(shè)備235中,則被追蹤接口可以在網(wǎng)絡(luò)設(shè)備245中。
在步驟410中,確定第一數(shù)據(jù)路徑上的(物理的或邏輯的)被追蹤接口是否已發(fā)生故障。根據(jù)方法400,步驟410的確定是通過(guò)參考一個(gè)或多個(gè)被追蹤接口的工作狀態(tài)作出的。如果第一數(shù)據(jù)路徑上沒(méi)有鏈路已發(fā)生故障,則被鏈接接口的管理狀態(tài)保持“正常工作”(步驟415),并且第一數(shù)據(jù)路徑被維持(步驟420)。
在替換實(shí)現(xiàn)方式中(例如,其中被追蹤接口與被鏈接接口不在同一個(gè)網(wǎng)絡(luò)設(shè)備中),則可以間接作出步驟410的確定。對(duì)接口已發(fā)生故障的確定可以通過(guò)將路由選擇表信息從具有被追蹤接口的網(wǎng)絡(luò)設(shè)備傳輸?shù)骄哂斜绘溄咏涌诘木W(wǎng)絡(luò)設(shè)備來(lái)作出。例如,通常會(huì)對(duì)路徑中的網(wǎng)絡(luò)設(shè)備的路由選擇表中的路由進(jìn)行動(dòng)態(tài)更新。如果路徑140的網(wǎng)絡(luò)設(shè)備中的路由選擇表被動(dòng)態(tài)更新,則關(guān)于路徑140上的任何鏈路的故障的信息將很快在該路徑中的所有設(shè)備中被反映出。例如,如果網(wǎng)絡(luò)設(shè)備170發(fā)生故障,則該信息將經(jīng)由路由選擇表更新傳遞到網(wǎng)絡(luò)設(shè)備165的路由選擇表,然后到網(wǎng)絡(luò)設(shè)備160的路由選擇表、然后到網(wǎng)關(guān)110的路由選擇表。這種更新一般每3到5秒進(jìn)行一次。
一些網(wǎng)絡(luò)設(shè)備可以配置為支持新穎的幀格式,該幀格式稱(chēng)作擴(kuò)展交換機(jī)間鏈路(“EISL”)格式,這是轉(zhuǎn)讓給Andiamo Systems的其他未決專(zhuān)利申請(qǐng)的主題。在美國(guó)專(zhuān)利申請(qǐng)No.10/034,160中描述了EISL的一些實(shí)施例和應(yīng)用,出于一切目的將該申請(qǐng)通過(guò)引用結(jié)合于此。在一個(gè)示例中,EISL格式允許單個(gè)網(wǎng)絡(luò)設(shè)備處理具有不同格式的幀或分組。例如,配置為支持EISL的網(wǎng)絡(luò)設(shè)備可以處理FC幀和因特網(wǎng)幀這兩種幀。EISL格式還支持VLAN、VSAN和類(lèi)似的特征。
EISL格式允許實(shí)現(xiàn)具有超出交換機(jī)間鏈路(“ISL”)格式提供的特征和功能的光纖信道網(wǎng)絡(luò)。在一個(gè)示例中,EISL格式允許端口(這里稱(chēng)作“中繼端口”)傳輸多于一種格式的幀。例如,中繼端口可以交換以太網(wǎng)和光纖信道(“FC”)幀,并且適于傳送其他格式的幀,只要它們被開(kāi)發(fā)出來(lái)。在EISL鏈路上EISL頭部被用來(lái)使得能夠?qū)崿F(xiàn)不同幀類(lèi)型的這種傳輸。在另一個(gè)示例中,EISL格式允許在單個(gè)物理網(wǎng)絡(luò)上實(shí)現(xiàn)多個(gè)虛擬存儲(chǔ)區(qū)域網(wǎng)(VSAN)。
因此,被追蹤接口可以是邏輯接口,例如,中繼端口的虛擬SAN(“VSAN”)號(hào)。這種邏輯的被追蹤接口如圖5所示。在這里,客戶(hù)端網(wǎng)絡(luò)505包括主機(jī)510和511、以及網(wǎng)關(guān)512和513??蛻?hù)端網(wǎng)絡(luò)525包括網(wǎng)關(guān)520和521、以及存儲(chǔ)設(shè)備526和527。網(wǎng)絡(luò)515鏈接客戶(hù)端網(wǎng)絡(luò)505和525。主機(jī)510經(jīng)由VSAN1與存儲(chǔ)設(shè)備526和存儲(chǔ)設(shè)備527通信。主機(jī)511經(jīng)由VSAN2與存儲(chǔ)設(shè)備526和存儲(chǔ)設(shè)備527通信。在本示例中,網(wǎng)關(guān)513的端口556和網(wǎng)關(guān)521的端口523是能夠承載VSAN1和VSAN2二者的流量的TE端口。網(wǎng)關(guān)512的端口536和網(wǎng)關(guān)520的端口522可以是TE端口或E端口,因?yàn)樗鼈儍H承載VSAN1的流量。
如果端口554是被鏈接接口,則VSAN2的被追蹤接口可以包括端口523和556。在本示例中,邏輯接口的狀態(tài)被追蹤如果VSAN2被斷開(kāi)(例如,由網(wǎng)絡(luò)管理員),則被鏈接接口554的管理和/或工作狀態(tài)可能變?yōu)椤巴9ぁ?步驟430),并且物理鏈接590會(huì)被撤消(步驟435)。即使與被追蹤邏輯接口相對(duì)應(yīng)的所有物理鏈接都工作也會(huì)是這種情形。使鏈接590停工可能觸發(fā)主機(jī)511在步驟440中切換到冗余數(shù)據(jù)路徑(未示出)。
在可選的步驟425中,在確定出被追蹤接口停工后可以應(yīng)用緩沖函數(shù)。為了避免在被追蹤接口僅停工較短的一段時(shí)間時(shí)使數(shù)據(jù)鏈路停工并且導(dǎo)致切換,這將會(huì)是合乎需要的。
在圖6中示出了一些這種緩沖函數(shù)的基礎(chǔ)。在這里,在時(shí)段T內(nèi)被追蹤接口3次停工。在時(shí)段T結(jié)束時(shí),被追蹤接口的狀態(tài)是“正常工作”。根據(jù)某些緩沖函數(shù),在預(yù)定時(shí)段T結(jié)束時(shí),被鏈接接口的管理狀態(tài)被設(shè)置為被追蹤接口的狀態(tài)。換言之,在圖6所示示例中,被鏈接接口的管理狀態(tài)會(huì)被設(shè)置為“正常工作”。根據(jù)其他的緩沖函數(shù),被鏈接接口的管理狀態(tài)可能根據(jù)在時(shí)段T期間被追蹤接口正常工作或停工的時(shí)間量、被追蹤接口停工的次數(shù)等等來(lái)設(shè)置。
圖7示出了鏈接第一位置中的設(shè)備705和第二位置中的設(shè)備725的第一數(shù)據(jù)路徑740包括具有不同數(shù)據(jù)傳送速率的并行數(shù)據(jù)路徑的情形。在本示例中,鏈路730能夠以1Gbps將數(shù)據(jù)遞送到網(wǎng)關(guān)710。這些數(shù)據(jù)可以經(jīng)由三條不同的通路從網(wǎng)關(guān)710被傳送到網(wǎng)絡(luò)715具有400Mbps傳送速率的路徑737,具有600Mbps傳送速率的路徑742,以及具有50Mbps傳送速率的路徑747。由于路徑747具有相對(duì)較低的傳送速率,所以即使路徑747發(fā)生故障,數(shù)據(jù)路徑740仍可以提供可接受的傳送速率。
因此,在本示例中,“度量”或加權(quán)函數(shù)被分配來(lái)指示鏈路737、742和747的相對(duì)重要性。在這里,鏈路737被分配度量50,鏈路741被分配度量100,而鏈路747被分配度量10。可以認(rèn)為這些度量被分配給網(wǎng)關(guān)710的相應(yīng)端口736、741和746。
圖8示出了本發(fā)明的應(yīng)用這些度量的方法800。在這里,第一數(shù)據(jù)路徑(例如,圖7的路徑740)在步驟805中被建立。在步驟810中,確定被追蹤接口是否停工。如果是,則確定被追蹤接口(例如,網(wǎng)關(guān)710的端口736、741和746)的聚集度量是否落到某一閾值之下(步驟825)。在本示例中,如果在步驟825中確定出鏈路737、742和747的總度量已落到低于某一閾值,例如,100,則被鏈接端口732的管理狀態(tài)會(huì)是“停工”(步驟830),并且鏈路730會(huì)被撤消(步驟835)。如果鏈路737或鏈路747發(fā)生故障,則路徑740不會(huì)被撤消。但是,如果鏈路742發(fā)生故障,則路徑740會(huì)被撤消,并且設(shè)備705將切換到冗余通路750(步驟840)。
圖9示出了可以配置為實(shí)現(xiàn)本發(fā)明的一些方法的網(wǎng)絡(luò)設(shè)備的示例。網(wǎng)絡(luò)設(shè)備960包括主中央處理單元(CPU)962、接口968和總線(xiàn)967(例如,PCI總線(xiàn))。一般而言,接口968包括適于與合適的介質(zhì)通信的端口969。在一些實(shí)施例中,接口968中的一個(gè)或多個(gè)包括至少一個(gè)獨(dú)立的處理器974,并且在一些實(shí)例中,還包括易失性RAM。獨(dú)立處理器974例如可以是ASIC或者任何其他合適的處理器。根據(jù)一些這種實(shí)施例,這些獨(dú)立處理器974執(zhí)行至少一些這里所述邏輯的功能。在一些實(shí)施例中,接口968中的一個(gè)或多個(gè)控制諸如媒體控制和管理之類(lèi)的通信密集任務(wù)。通過(guò)為通信密集任務(wù)提供分離的處理器,接口968允許主微處理器962高效地執(zhí)行其他功能,例如,路由選擇計(jì)算、網(wǎng)絡(luò)診斷、安全功能等。
接口968一般作為接口卡提供(有時(shí)稱(chēng)作線(xiàn)路卡)。一般而言,接口968控制通過(guò)網(wǎng)絡(luò)發(fā)送和接收數(shù)據(jù)分組,并且有時(shí)支持與網(wǎng)絡(luò)設(shè)備960一起使用的其他外設(shè)??梢蕴峁┑慕涌谥杏蠪C接口、以太網(wǎng)接口、幀中繼接口、線(xiàn)纜接口、DSL接口、令牌環(huán)接口等等。另外,也可以提供各種甚高速接口,例如,快速以太網(wǎng)接口、G比特以太網(wǎng)接口、ATM接口、HSSI接口、POS接口、FDDI接口、ASI接口、DHEI接口等。
當(dāng)在合適的軟件或固件控制下動(dòng)作時(shí),在本發(fā)明的一些實(shí)現(xiàn)方式中,CPU 962可以負(fù)責(zé)實(shí)現(xiàn)與期望的網(wǎng)絡(luò)設(shè)備的功能相關(guān)聯(lián)的特定功能。根據(jù)一些實(shí)施例,CPU 962在軟件控制下完成所有這些功能,所述軟件包括操作系統(tǒng)(例如,Cisco IOS,由Cisco Systems,Inc.開(kāi)發(fā)的專(zhuān)用操作系統(tǒng),等等)以及任何合適的應(yīng)用軟件。
CPU 962可以包括一個(gè)或多個(gè)處理器963,例如,來(lái)自Motorola微處理器家族或者M(jìn)IPS微處理器家族的處理器。在替換實(shí)施例中,處理器963是專(zhuān)門(mén)設(shè)計(jì)的硬件,用于控制網(wǎng)絡(luò)設(shè)備960的操作。在特定實(shí)施例中,存儲(chǔ)器961(例如,非易失性RAM和/或ROM)也形成CPU 962的一部分。但是,有多種不同的方式可以將存儲(chǔ)器耦合到系統(tǒng)。存儲(chǔ)器塊961可以用于多種目的,例如,緩存和/或存儲(chǔ)數(shù)據(jù)、編程指令等。
不管網(wǎng)絡(luò)設(shè)備的配置如何,都可以采用一個(gè)或多個(gè)存儲(chǔ)器或存儲(chǔ)器模塊(例如,存儲(chǔ)器塊965),這些存儲(chǔ)器或存儲(chǔ)器模塊配置為存儲(chǔ)數(shù)據(jù)、用于通用目的網(wǎng)絡(luò)操作的程序指令,以及/或者與這里所述的技術(shù)的功能相關(guān)的其他信息。程序指令例如可以控制操作系統(tǒng)和/或一個(gè)或多個(gè)應(yīng)用的操作。
由于這種信息和程序指令可以被用來(lái)實(shí)現(xiàn)這里所述的系統(tǒng)/方法,所以本發(fā)明涉及機(jī)器可讀介質(zhì),所述機(jī)器可讀介質(zhì)包括程序指令、狀態(tài)信息等,用于執(zhí)行這里所述的各種操作。機(jī)器可讀介質(zhì)的示例包括但不限于磁介質(zhì),例如,硬盤(pán)、軟盤(pán)和磁帶;光介質(zhì),例如,CD-ROM盤(pán);磁光介質(zhì);以及專(zhuān)門(mén)配置為存儲(chǔ)和執(zhí)行程序指令的硬件器件,例如,只讀存儲(chǔ)器器件(ROM)和隨機(jī)訪(fǎng)問(wèn)存儲(chǔ)器(RAM)。本發(fā)明還可以實(shí)現(xiàn)在通過(guò)合適的介質(zhì)傳播的載波中,所述合適的介質(zhì)例如是無(wú)線(xiàn)電波、光線(xiàn)路、電線(xiàn)路等。程序指令的示例包括機(jī)器可讀代碼和文件二者,機(jī)器可讀代碼例如是由編譯器產(chǎn)生的,文件包含可由使用解釋器的計(jì)算機(jī)執(zhí)行的高級(jí)代碼。
盡管圖9所示系統(tǒng)示出了本發(fā)明的一個(gè)特定網(wǎng)絡(luò)設(shè)備,但是絕不是可以在其上實(shí)現(xiàn)本發(fā)明的僅有的網(wǎng)絡(luò)設(shè)備體系結(jié)構(gòu)。例如,常常使用具有單個(gè)處理器的體系結(jié)構(gòu),這單個(gè)處理器處理通信和路由選擇計(jì)算等。此外,其他類(lèi)型的接口和媒體也可以與該網(wǎng)絡(luò)設(shè)備一起使用。接口/線(xiàn)路卡之間的通信路徑可以是基于總線(xiàn)的(如圖9所示)或者基于交換結(jié)構(gòu)的(例如交叉開(kāi)關(guān))。
上述設(shè)備和材料對(duì)于計(jì)算機(jī)硬件和軟件領(lǐng)域的技術(shù)人員來(lái)說(shuō)是熟悉的。盡管為了方便上面以單數(shù)形式描述了許多組件和過(guò)程,但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)意識(shí)到,也可以用多個(gè)組件和重復(fù)的過(guò)程來(lái)實(shí)現(xiàn)本發(fā)明的技術(shù)。
盡管參考本發(fā)明的特定實(shí)施例專(zhuān)門(mén)示出并描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,在不脫離本發(fā)明的精神和范圍的情況下,可以對(duì)所公開(kāi)的實(shí)施例的形式和細(xì)節(jié)作出改變。例如,可以與各種網(wǎng)絡(luò)協(xié)議和體系結(jié)構(gòu)一起使用本發(fā)明的實(shí)施例。因此,本發(fā)明應(yīng)被解釋為包括落入本發(fā)明的真實(shí)精神和范圍內(nèi)的所有變體和等同物。
權(quán)利要求
1.一種用于維持網(wǎng)絡(luò)中的高可用性的方法,該方法包括從第一被追蹤接口的工作狀態(tài)導(dǎo)出第一網(wǎng)絡(luò)設(shè)備的被鏈接接口的狀態(tài),所述被鏈接接口和所述第一被追蹤接口形成第一末端設(shè)備和第二末端設(shè)備之間的第一數(shù)據(jù)路徑的一部分;以及向所述第一末端設(shè)備通知所述狀態(tài)。
2.如權(quán)利要求1所述的方法,其中,所述通知步驟包括向所述末端設(shè)備通知所述第一數(shù)據(jù)路徑中的故障。
3.如權(quán)利要求1所述的方法,還包括從至少第二被追蹤接口的工作狀態(tài)導(dǎo)出所述被鏈接接口的狀態(tài)的步驟。
4.如權(quán)利要求1所述的方法,其中,所述被鏈接接口的狀態(tài)是管理狀態(tài)和工作狀態(tài)之一。
5.如權(quán)利要求2所述的方法,還包括切換到第二數(shù)據(jù)通路的步驟。
6.如權(quán)利要求2所述的方法,其中,所述通知步驟包括使所述第一數(shù)據(jù)通路停工。
7.如權(quán)利要求3所述的方法,其中,所述被鏈接接口的狀態(tài)是通過(guò)使用被應(yīng)用到至少所述第一被追蹤接口和所述第二被追蹤接口的加權(quán)函數(shù)來(lái)確定的。
8.如權(quán)利要求6所述的方法,其中,所述導(dǎo)出步驟包括應(yīng)用緩沖函數(shù)來(lái)恢復(fù)所述被鏈接接口。
9.一種網(wǎng)絡(luò)設(shè)備,包括第一被追蹤接口,其具有工作狀態(tài);以及被鏈接端口,其被配置為從所述被追蹤接口的工作狀態(tài)導(dǎo)出被鏈接端口狀態(tài),所述被鏈接端口和所述第一被追蹤接口形成第一末端設(shè)備和第二末端設(shè)備之間的第一數(shù)據(jù)路徑的一部分。
10.如權(quán)利要求9所述的網(wǎng)絡(luò)設(shè)備,其中,所述被鏈接端口還配置為當(dāng)所述被鏈接端口狀態(tài)為停工狀態(tài)時(shí)通知所述第一末端設(shè)備。
11.如權(quán)利要求9所述的網(wǎng)絡(luò)設(shè)備,其中,所述第一被追蹤接口是物理接口和虛擬接口之一。
12.如權(quán)利要求9所述的網(wǎng)絡(luò)設(shè)備,其中,其中所述第一被追蹤接口是光纖信道接口和以太網(wǎng)接口之一。
13.如權(quán)利要求9所述的網(wǎng)絡(luò)設(shè)備,其中,所述第一被追蹤接口是所述網(wǎng)絡(luò)設(shè)備的接口和另一個(gè)網(wǎng)絡(luò)設(shè)備的接口之一。
14.如權(quán)利要求9所述的網(wǎng)絡(luò)設(shè)備,其中,所述被鏈接端口還配置為當(dāng)所述被鏈接端口狀態(tài)為停工狀態(tài)時(shí)撤消與所述第一末端設(shè)備的鏈接。
15.如權(quán)利要求9所述的網(wǎng)絡(luò)設(shè)備,其中,所述被鏈接端口狀態(tài)是通過(guò)下述之一來(lái)確定的(a)向所述第一被追蹤接口和第二被追蹤接口應(yīng)用加權(quán)函數(shù);和(b)對(duì)工作狀態(tài)應(yīng)用緩沖函數(shù)。
16.如權(quán)利要求9所述的網(wǎng)絡(luò)設(shè)備,還包括路由選擇表,其中所述被鏈接端口狀態(tài)基于所述路由選擇表中的更新。
17.如權(quán)利要求9所述的網(wǎng)絡(luò)設(shè)備,其中,所述被鏈接端口包括光纖信號(hào)端口。
18.一種用于維持網(wǎng)絡(luò)中的高可用性的方法,該方法包括接收指示第一末端設(shè)備和第二末端設(shè)備之間的第一數(shù)據(jù)路徑的狀況的信號(hào);從所述信號(hào)導(dǎo)出第一網(wǎng)絡(luò)設(shè)備的被鏈接端口的狀態(tài),所述被鏈接端口形成所述第一數(shù)據(jù)路徑的一部分;以及向所述第一末端設(shè)備通知所述狀態(tài)。
19.如權(quán)利要求18所述的方法,其中,所述接收步驟的狀況指示以下之一(a)所述第一數(shù)據(jù)路徑停工,和(b)所述第一數(shù)據(jù)路徑在將來(lái)時(shí)刻將停工。
20.如權(quán)利要求18所述的方法,其中,所述通知步驟包括撤消所述第一網(wǎng)絡(luò)設(shè)備和所述第一末端設(shè)備之間的鏈路。
21.一種用于維持網(wǎng)絡(luò)中的高可用性的設(shè)備,該設(shè)備包括用于從第一被追蹤接口的工作狀態(tài)導(dǎo)出第一網(wǎng)絡(luò)設(shè)備的被鏈接接口的狀態(tài)的裝置,所述被鏈接接口和所述第一被追蹤接口形成第一末端設(shè)備和第二末端設(shè)備之間的第一數(shù)據(jù)路徑的一部分;以及用于向所述第一末端設(shè)備通知所述狀態(tài)的裝置。
22.一種包含在機(jī)器可讀介質(zhì)中的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包括用于控制至少一個(gè)設(shè)備來(lái)執(zhí)行下述步驟的指令從第一被追蹤接口的工作狀態(tài)導(dǎo)出第一網(wǎng)絡(luò)設(shè)備的被鏈接接口的狀態(tài),所述被鏈接接口和所述第一被追蹤接口形成第一末端設(shè)備和第二末端設(shè)備之間的第一數(shù)據(jù)路徑的一部分;以及向所述第一末端設(shè)備通知所述狀態(tài)。
全文摘要
提供了方法和設(shè)備用來(lái)模仿網(wǎng)絡(luò)設(shè)備和末端設(shè)備之間的直接故障。在一些實(shí)現(xiàn)方式中,網(wǎng)絡(luò)設(shè)備是第一網(wǎng)絡(luò)的網(wǎng)關(guān),末端設(shè)備是第一網(wǎng)絡(luò)上的主機(jī)或存儲(chǔ)設(shè)備。在一些實(shí)現(xiàn)方式中,網(wǎng)絡(luò)設(shè)備包括被鏈接接口,被鏈接接口的管理狀態(tài)和/或工作狀態(tài)由一個(gè)或多個(gè)被追蹤接口的工作狀態(tài)確定。被追蹤接口可以在同一個(gè)網(wǎng)絡(luò)設(shè)備中或者其他網(wǎng)絡(luò)設(shè)備中,并且可以是物理的也可以是虛擬的。在一些這種實(shí)現(xiàn)方式中,當(dāng)被追蹤接口發(fā)生故障時(shí),被鏈接的接口將使網(wǎng)絡(luò)設(shè)備和末端設(shè)備之間的鏈路停工,從而導(dǎo)致切換到冗余路徑。其他實(shí)現(xiàn)方式包括直接通知網(wǎng)絡(luò)設(shè)備鏈路已發(fā)生故障或者將發(fā)生故障。
文檔編號(hào)H04L1/00GK1926809SQ200580006868
公開(kāi)日2007年3月7日 申請(qǐng)日期2005年2月23日 優(yōu)先權(quán)日2004年3月4日
發(fā)明者托馬斯·諾瑟拉 申請(qǐng)人:思科技術(shù)公司