專利名稱:利用元數(shù)據(jù)驅(qū)動(dòng)狀態(tài)轉(zhuǎn)換的在服務(wù)軟件升級(jí)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施涉及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,更具體涉及利用元數(shù)據(jù)狀態(tài)轉(zhuǎn)換來 升級(jí)網(wǎng)絡(luò)元件。
背景技術(shù):
服務(wù)提供商網(wǎng)絡(luò)中的網(wǎng)絡(luò)元件通常處理來自用戶訪問一些不同的服務(wù) 和/或與其他用戶進(jìn)行通信的大量數(shù)據(jù)通信。例如,網(wǎng)絡(luò)元件能夠處理針對(duì)數(shù) 萬用戶的服務(wù)。網(wǎng)絡(luò)元件操作中的中斷能夠引起提供給這數(shù)萬用戶的服務(wù)的 中斷。圖1示出了服務(wù)提供商網(wǎng)絡(luò)100的一個(gè)實(shí)施方式,所述服務(wù)提供商網(wǎng)絡(luò) 100具有通過網(wǎng)絡(luò)來轉(zhuǎn)發(fā)終端站和內(nèi)容服務(wù)器之間通信的網(wǎng)絡(luò)元件。雖然在 一個(gè)實(shí)施方式中,網(wǎng)絡(luò)元件是路由器,但在可替換的實(shí)施方式中,網(wǎng)絡(luò)元件 可以是本領(lǐng)域所知的其他網(wǎng)絡(luò)設(shè)備(交換器、集線器、防火墻等)。此外, 雖然在一個(gè)實(shí)施方式中,網(wǎng)絡(luò)元件轉(zhuǎn)發(fā)通信,但在可替換的實(shí)施方式中,網(wǎng) 絡(luò)能夠執(zhí)行相同的和/或不同的通信處理(切換通信、形成通信、平滑通信、 應(yīng)用接入控制、應(yīng)用防火墻策略等)。在圖1,網(wǎng)絡(luò)100包括終端站102A-C、 網(wǎng)絡(luò)元件104、核心網(wǎng)絡(luò)106、和內(nèi)容服務(wù)器108A-B。終端站102A-C與網(wǎng) 絡(luò)元件104相連接以及網(wǎng)絡(luò)元件與內(nèi)容服務(wù)器108A-B通過核心網(wǎng)絡(luò)106相
連接。雖然在一個(gè)實(shí)施方式中,終端站102A-C是家庭個(gè)人電腦,但在可替 換的實(shí)施方式中,終端站可以是相同的或者不同類型的機(jī)器(例如,商務(wù)電 腦、個(gè)人數(shù)字助理、手機(jī)、游戲控制臺(tái)、手持游戲系統(tǒng)、筆記本電腦等)。 終端站可以通過本領(lǐng)域所知的任何一種方式與網(wǎng)絡(luò)元件相連(例如,以太網(wǎng)、 無線電、數(shù)字用戶線(DSL)、電纜調(diào)制解調(diào)器、光纖等)。網(wǎng)絡(luò)元件104通 過轉(zhuǎn)發(fā)從終端站102A-C到內(nèi)容服務(wù)器108A-B、從內(nèi)容服務(wù)器108A-B到終 端站102A-C的數(shù)據(jù)通信,以及終端站102A-C之間的數(shù)據(jù)通信,來提供進(jìn) 入核心網(wǎng)絡(luò)106的入口點(diǎn)。雖然在一個(gè)實(shí)施方式中,網(wǎng)絡(luò)元件104是轉(zhuǎn)發(fā)為 終端站102A-C服務(wù)的邊緣網(wǎng)絡(luò)和核心網(wǎng)絡(luò)106之間的通信的邊緣網(wǎng)絡(luò)元件, 但在可替換的實(shí)施方式中,網(wǎng)絡(luò)元件104可以是不同地位于服務(wù)提供商的邊 緣網(wǎng)絡(luò)和/或核心網(wǎng)絡(luò)中的網(wǎng)絡(luò)元件或者交換器。核心網(wǎng)絡(luò)106是網(wǎng)絡(luò)提供商的中樞網(wǎng)絡(luò),該中樞網(wǎng)絡(luò)通常具有處理通過 網(wǎng)絡(luò)100傳輸?shù)拇罅客ㄐ诺膹?qiáng)大能力。內(nèi)容服務(wù)器108A-B為提供給終端站 102A-C的服務(wù)供應(yīng)內(nèi)容和/或控制信息。網(wǎng)絡(luò)元件104為所述大量的用戶處理數(shù)據(jù)時(shí),網(wǎng)絡(luò)元件104建立起狀態(tài), 該狀態(tài)控制所述數(shù)據(jù)的處理。雖然在一個(gè)實(shí)施方式中,網(wǎng)絡(luò)元件104建立的 狀態(tài)是通信轉(zhuǎn)發(fā)表,但在可替換的實(shí)施方式中,建立的狀態(tài)具有相同的和/ 或不同的信息(配置數(shù)據(jù)、使用會(huì)話信息、防火墻信息、接入控制列表、服 務(wù)質(zhì)量信息、統(tǒng)計(jì)數(shù)據(jù)等)。所述狀態(tài)通常是運(yùn)行時(shí)信息,該運(yùn)行時(shí)間信息 在網(wǎng)絡(luò)元件104重啟后不再存在。網(wǎng)絡(luò)元件周期性地接收對(duì)該網(wǎng)絡(luò)元件的服務(wù)的軟件升級(jí)。典型地,軟件 升級(jí)需要網(wǎng)絡(luò)元件的重啟,從而軟件升級(jí)能夠生效。然而重啟使服務(wù)中斷并 且清除所建立的狀態(tài),因?yàn)樵摖顟B(tài)在重啟后不再存在。即使網(wǎng)絡(luò)元件的重啟 能夠迅速地發(fā)生,所述狀態(tài)的重建通常需要更長(zhǎng)時(shí)間。所述狀態(tài)的重建包括 重新連接用戶,重新建立轉(zhuǎn)發(fā)表,用戶會(huì)話信息等。
當(dāng)網(wǎng)絡(luò)元件有一個(gè)或者多個(gè)冗余控制器時(shí),使用改進(jìn)的軟件升級(jí)方法,該方法被稱為無間斷(hitless)升級(jí)。例如,像網(wǎng)絡(luò)元件104這樣的具有兩 個(gè)或者多個(gè)控制器卡的網(wǎng)絡(luò)元件能夠利用無間斷升級(jí)。無間斷升級(jí)包括首先 安裝和初始化備份控制器或者備用控制器的新軟件映像,將網(wǎng)絡(luò)元件狀態(tài)同 步到備份控制器,將控制切換所述備份控制器,然后向其它網(wǎng)絡(luò)元件部件驅(qū) 動(dòng)軟件升級(jí)和狀態(tài)恢復(fù)。在該算法中,備份控制器變成了網(wǎng)絡(luò)元件的活動(dòng)控 制器,以前的活動(dòng)控制器變成了備份控制器。圖2是包括有冗余控制器卡的網(wǎng)絡(luò)元件200的框圖。在圖2中,底板206 與線卡202A-N和控制器卡204A-B相連接。雖然在一個(gè)實(shí)施方式中,控制 器卡204A-B通過線卡202A-N控制通信處理過程,但在可替換的實(shí)施方式 中,控制器卡204A-B執(zhí)行同樣的和/或不同的功能(升級(jí)軟件、處理操作請(qǐng) 求、收集統(tǒng)計(jì)數(shù)據(jù)等)。線卡202A-N根據(jù)從控制器卡204A-B接收到的策略 來處理和轉(zhuǎn)發(fā)通信。圖3是活動(dòng)控制卡向備份控制卡傳遞活動(dòng)狀態(tài)信息的框圖。雖然在一個(gè) 實(shí)施方式中,活動(dòng)狀態(tài)信息是如參考圖1中所述的被網(wǎng)絡(luò)元件104使用的狀 態(tài),但在可替換的實(shí)施方式中,活動(dòng)狀態(tài)信息是被用來操作網(wǎng)絡(luò)元件104的 相同的和/或不同的信息。在圖3中,活動(dòng)控制卡302A向備份控制卡302B 發(fā)送活動(dòng)狀態(tài)信息304。所述無間斷升級(jí)算法使用活動(dòng)狀態(tài)信息來執(zhí)行不中 斷通信處理的網(wǎng)絡(luò)元件升級(jí)。所述無間斷升級(jí)的缺點(diǎn)是升級(jí)需要以期望的格式說明舊的映像和新的 映像之間的不同,以及說明所述狀態(tài)的語義內(nèi)容。所述無間斷升級(jí)算法要求 所述新的軟件映像包括精確格式的顯性知識(shí)(explicit knowledge)和與運(yùn)行 所述舊的映像的控制器同步的狀態(tài)數(shù)據(jù)的內(nèi)容,或者要求數(shù)據(jù)以例如標(biāo)簽-長(zhǎng)度-內(nèi)容(TLV)這樣的版本無關(guān)(version-independent)的格式傳輸
發(fā)明內(nèi)容
描述了一種用于網(wǎng)絡(luò)元件的元數(shù)據(jù)驅(qū)動(dòng)更新的方法和設(shè)備。網(wǎng)絡(luò)元件包 括活動(dòng)控制器卡和備份控制器卡,并且接收將被安裝在所述網(wǎng)絡(luò)元件上的新 軟件。另外,所述網(wǎng)絡(luò)元件將所述軟件安裝在備份控制器卡上并且同步該備 份控制器卡上的網(wǎng)絡(luò)元件的活動(dòng)狀態(tài)。此外,所述網(wǎng)絡(luò)元件使用一套與所述 新軟件相關(guān)的元數(shù)據(jù)將所述活動(dòng)狀態(tài)轉(zhuǎn)換成與所述新軟件相關(guān)的新的活動(dòng) 狀態(tài)。
參考下面的描述和說明這些實(shí)施方式的附圖,可以最好的理解本發(fā)明的 實(shí)施方式。這里所包括的附圖的編號(hào)安排是這樣的,附圖中所給出的元件的 首位數(shù)字與該附圖編號(hào)相關(guān)聯(lián)。然而,不同附圖中相同元件的元件編號(hào)相同。 在附圖中-圖1 (現(xiàn)有技術(shù))顯示了網(wǎng)絡(luò)元件通過網(wǎng)絡(luò)來處理終端站和內(nèi)容服務(wù)器之間通信的一個(gè)實(shí)施方式;圖2 (現(xiàn)有技術(shù))是具有有冗余控制器卡的網(wǎng)絡(luò)元件的框圖; 圖3 (現(xiàn)有技術(shù))是活動(dòng)控制卡向備份控制卡傳送活動(dòng)狀態(tài)信息的框圖; 圖4是根據(jù)本系統(tǒng)的一個(gè)實(shí)施方式的顯示點(diǎn)探測(cè)和處理系統(tǒng)的框圖; 圖5是根據(jù)本系統(tǒng)的一個(gè)實(shí)施方式的使用元數(shù)據(jù)狀態(tài)轉(zhuǎn)換來執(zhí)行在服務(wù)升級(jí)的示例性流程圖;圖6是根據(jù)本系統(tǒng)的一個(gè)實(shí)施方式的創(chuàng)建元數(shù)據(jù)的示例性流程圖; 圖7是根據(jù)本系統(tǒng)的一個(gè)實(shí)施方式的顯示控制卡的框圖。
具體實(shí)施例方式
節(jié),如網(wǎng)絡(luò)元件、元數(shù)據(jù)、數(shù)據(jù)定義語言、活動(dòng)狀態(tài)信息、信息包、處理器 卡、線卡、控制器卡、和系統(tǒng)元件的相互關(guān)系。然而,本領(lǐng)域的熟練技術(shù)人 員會(huì)理解,不需要這些特定細(xì)節(jié)本發(fā)明也可以被實(shí)施。在其它實(shí)例中,為了 不使本發(fā)明模糊難懂,沒有詳細(xì)顯示控制結(jié)構(gòu)、門級(jí)電路和全部的軟件指令 序列。根據(jù)所包括的描述,這些本領(lǐng)域的普通技術(shù)人員將能夠在不存在不當(dāng) 過度實(shí)驗(yàn)的情況下實(shí)現(xiàn)適當(dāng)?shù)墓δ?。在說明書中對(duì)"一個(gè)實(shí)施方式"、"實(shí)施方式"、"示例性實(shí)施方式"等的 參考,表示所述實(shí)施方式可以包括特定的特征、結(jié)構(gòu)、或者特性,但是每個(gè) 實(shí)施方式?jīng)]有必要一定包括所述特定的特征、結(jié)構(gòu)、或者特性。而且,這樣 的詞語并非必須指同一個(gè)實(shí)施方式。更進(jìn)一步地,當(dāng)特定的特征、結(jié)構(gòu)、或 者特性和實(shí)施方式關(guān)聯(lián)起來描述時(shí),認(rèn)為不論是否做出清楚的描述,在本領(lǐng) 域技術(shù)人員的知識(shí)范圍內(nèi)能夠?qū)⑦@些特征、結(jié)構(gòu)、或者特性與其它實(shí)施方式 聯(lián)系起來。在下面的描述和權(quán)利要求中,使用了術(shù)語"連接"和它的派生詞。"連 接"可以表示兩個(gè)或者多個(gè)元件直接物理接觸或者電接觸,然而,"連接" 還可以表示兩個(gè)或者多個(gè)元件不是直接相互接觸,但是仍然相互合作或者相互影響?,F(xiàn)在參考圖4-7對(duì)本發(fā)明的示例性實(shí)施方式進(jìn)行描述。更具體地, 將參考圖4和圖7的示例性實(shí)施方式對(duì)圖5和圖6中的流程圖的操作進(jìn)行描 述。然而,應(yīng)該理解,除了參考圖4和圖7所描述的實(shí)施方式外,本發(fā)明的 其它實(shí)施方式也可以執(zhí)行這些流程圖的操作,并且參考圖4和圖7所描述的 實(shí)施方式可以執(zhí)行與參考這些流程圖所討論的這些操作不同的操作。描述了使用元數(shù)據(jù)來升級(jí)網(wǎng)絡(luò)元件的方法和設(shè)備。根據(jù)本發(fā)明的實(shí)施方 式,所述網(wǎng)絡(luò)元件使用了元數(shù)據(jù),該元數(shù)據(jù)描述了由網(wǎng)絡(luò)元件所維持的活動(dòng) 狀態(tài)的域和結(jié)構(gòu)。所述活動(dòng)狀態(tài)是由處于通信狀態(tài)的網(wǎng)絡(luò)元件所維持的信 息,所述信息已經(jīng)或者將要被網(wǎng)絡(luò)元件處理。此外,所述活動(dòng)狀態(tài)是在網(wǎng)絡(luò)
元件重啟后不再存在的信息。所述網(wǎng)絡(luò)元件使用元數(shù)據(jù)將當(dāng)前活動(dòng)狀態(tài)轉(zhuǎn)換 為支持與升級(jí)相關(guān)的新軟件的活動(dòng)狀態(tài)。圖4是顯示根據(jù)本系統(tǒng)的一個(gè)實(shí)施方式的網(wǎng)絡(luò)元件軟件升級(jí)系統(tǒng)的框 圖。雖然在一個(gè)實(shí)施方式中,所述軟件是新的或者升級(jí)的網(wǎng)絡(luò)元件操作系統(tǒng)。 但在可替換的實(shí)施方式中,所述軟件是一個(gè)或者多個(gè)新的和/或升級(jí)的網(wǎng)絡(luò)元 件所使用的服務(wù)。在圖4中,活動(dòng)控制卡418A向備份控制卡418B發(fā)送活 動(dòng)狀態(tài)信息416。在一個(gè)實(shí)施方式中,活動(dòng)控制卡418A和備份控制卡418B 運(yùn)行不同版本的軟件。雖然在一個(gè)實(shí)施方式中,運(yùn)行在備份控制卡418B上 的軟件是運(yùn)行在活動(dòng)控制卡418A上的軟件的升級(jí)版,但在可替換的實(shí)施方 式中,運(yùn)行在控制卡418A-B上的軟件版本可以是相同的和/或不同的軟件。 如圖1中所述,活動(dòng)狀態(tài)信息416可以包括在運(yùn)行時(shí)建立的動(dòng)態(tài)狀態(tài)。在一 個(gè)實(shí)施方式中,活動(dòng)狀態(tài)信息是如上所述建立的狀態(tài)。備份控制卡418B包 括轉(zhuǎn)換模塊420,該轉(zhuǎn)換模塊420將來自運(yùn)行在活動(dòng)控制卡418A上的軟件 映像的活動(dòng)狀態(tài)信息416轉(zhuǎn)換成用于運(yùn)行在備份控制卡418B上的升級(jí)的軟 件映像的格式。在一個(gè)實(shí)施方式中,轉(zhuǎn)換模塊420使用元數(shù)據(jù)404來進(jìn)行活 動(dòng)狀態(tài)信息416的轉(zhuǎn)換,在可替換的實(shí)施方式中,轉(zhuǎn)換模塊使用相同的和/ 或不同的信息來進(jìn)行活動(dòng)狀態(tài)的轉(zhuǎn)換。另外,在圖4中,元數(shù)據(jù)404從數(shù)據(jù)定義語言(DDL)數(shù)據(jù)402中產(chǎn)生。 雖然在一個(gè)實(shí)施方式中,元數(shù)據(jù)404以可擴(kuò)展標(biāo)記語言(XML)來定義,但 是在可替換的實(shí)施方式中,元數(shù)據(jù)404以可替換的格式中(純文本、專用格 式等)來定義。此外,在一個(gè)實(shí)施方式中,元數(shù)據(jù)404是可擴(kuò)展的和不依賴 于版本的。在一個(gè)實(shí)施方式中,元數(shù)據(jù)404描述了活動(dòng)狀態(tài)信息416的結(jié)構(gòu) 和域。在該實(shí)施方式中,元數(shù)據(jù)404描述了每個(gè)活動(dòng)狀態(tài)信息416數(shù)據(jù)結(jié)構(gòu) 的構(gòu)成域,包括該數(shù)據(jù)結(jié)構(gòu)中的名稱、類別、大小、和偏移量。在一個(gè)實(shí)施 方式中,元數(shù)據(jù)404支持例如字符串、整數(shù)、實(shí)數(shù)、布爾值這樣的數(shù)據(jù)類型,
在可替換的實(shí)施方式中,元數(shù)據(jù)404支持相同的和/或其它的數(shù)據(jù)類型(枚舉、 常數(shù)、位掩碼、類型定義等)。此外,可以使用所述數(shù)據(jù)類型在元數(shù)據(jù)404 中定義數(shù)據(jù)結(jié)構(gòu)。雖然在一個(gè)實(shí)施方式中,所述DDL類似于編程語言C的數(shù)據(jù)定義,帶 有用于定義對(duì)數(shù)據(jù)變換和轉(zhuǎn)換有用的信息的附加域和特征,但在可替換的實(shí) 施方式中,所述DDL可以是支持定義數(shù)據(jù)類型和結(jié)構(gòu)的其它語言(其它編 程語言、XML、純文本等)。在一個(gè)實(shí)施方式中,DDL數(shù)據(jù)402數(shù)據(jù),該數(shù)據(jù)包括描述了DDL格式 的活動(dòng)狀態(tài)信息416的結(jié)構(gòu)和域。在一個(gè)實(shí)施方式中,DDL數(shù)據(jù)被處理成 源碼頭文件406。雖然在一個(gè)實(shí)施方式中,源碼頭文件406是C語言頭文件, 但在可替換的實(shí)施方式中,源碼頭文件406可以在不同的語言頭文件中 (C++、 Pascal等)。在一個(gè)實(shí)施方式中,編譯器410把源碼408和源碼頭文 件406編譯到網(wǎng)絡(luò)元件操作系統(tǒng)412中。雖然在一個(gè)實(shí)施方式中,軟件412 是操作網(wǎng)絡(luò)元件的網(wǎng)絡(luò)元件操作系統(tǒng),包括控制網(wǎng)絡(luò)元件的通信轉(zhuǎn)發(fā)、處理、 制作等功能的軟件,但在另一個(gè)實(shí)施方式中,軟件412是一個(gè)或者多個(gè)被網(wǎng) 絡(luò)元件使用的服務(wù)。如上所述,把軟件412發(fā)送到備份控制卡418B來更新 所述網(wǎng)絡(luò)元件。圖5是根據(jù)本系統(tǒng)的一個(gè)實(shí)施方式使用元數(shù)據(jù)狀態(tài)轉(zhuǎn)換來執(zhí)行在服務(wù)升 級(jí)的方法500的示例性流程圖。在圖5中,在方框502中,方法500接收新 軟件映像。在一個(gè)實(shí)施方式中,所述網(wǎng)絡(luò)元件接收所述新軟件映像。在方框504中,方法500在活動(dòng)控制器卡上安裝軟件。在方框506中, 方法500在備份控制器卡上安裝軟件。在方框508中,方法500接收來自于所述活動(dòng)控制器卡的新軟件元數(shù)據(jù)。 在一個(gè)實(shí)施方式中,如上面參考圖4所描述的,所述接收的元數(shù)據(jù)是與新軟 件相關(guān)的活動(dòng)狀態(tài)信息416的結(jié)構(gòu)和域,并且產(chǎn)生于DDL數(shù)據(jù)402。
在方框510中,方法500將備份控制器活動(dòng)狀態(tài)信息同步到活動(dòng)控制器 活動(dòng)狀態(tài)信息。在一個(gè)實(shí)施方式中,如上面參考圖4所述的,方法500把來 自于活動(dòng)控制器卡418A的活動(dòng)狀態(tài)信息416發(fā)送到備份控制器卡418B。在方框512中,方法500使用所述元數(shù)據(jù)自動(dòng)地把與舊軟件映像相關(guān)的 活動(dòng)狀態(tài)轉(zhuǎn)換成與新軟件映像相關(guān)的新活動(dòng)狀態(tài)。在一個(gè)實(shí)施方式中,方法 500將與舊軟件相關(guān)的元數(shù)據(jù)和接收到的元數(shù)據(jù)進(jìn)行比較,以形成兩套元數(shù) 據(jù)之間的差別。利用這些差別,方法500識(shí)別兼容于自動(dòng)轉(zhuǎn)換的域變化。方 法500從當(dāng)前活動(dòng)狀態(tài)向所述新活動(dòng)狀態(tài)傳播己知域。通過圖例舉例說明, 方法500通過將無符號(hào)整數(shù)域偏移合適數(shù)量的字節(jié)來存儲(chǔ)新的字符串域,將 包括一個(gè)無符號(hào)整數(shù)域的舊的活動(dòng)狀態(tài)數(shù)據(jù)結(jié)構(gòu)A轉(zhuǎn)換成包括十六位字符 串域和相同的無符號(hào)整數(shù)域的新的活動(dòng)狀態(tài)數(shù)據(jù)結(jié)構(gòu)A。方法500使用通用 的元數(shù)據(jù)驅(qū)動(dòng)轉(zhuǎn)換程序,通過增加、刪除、或重新安排數(shù)據(jù)結(jié)構(gòu)中的域來處 理新的元數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)中的域。另外,方法500可以給域分配默認(rèn)值、增 加域的大小、改變枚舉定義、將域劃分成子域等。這些減少了特定轉(zhuǎn)換程序 的數(shù)量,例如下面方框514中使用的類型。在方框514中,方法500隨意地手動(dòng)轉(zhuǎn)換在方框512中沒有自動(dòng)轉(zhuǎn)換的 舊的活動(dòng)狀態(tài)信息的部分。在一個(gè)實(shí)施方式中,方法500使用舊的元數(shù)據(jù)作 輸入來確定和執(zhí)行任何所需的附加步驟以將舊的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換成新的數(shù)據(jù) 結(jié)構(gòu)。在方框516中,方法500在轉(zhuǎn)換過程中對(duì)變化的活動(dòng)狀態(tài)的檢査點(diǎn)進(jìn)行 同步。在一個(gè)實(shí)施方式中,方法500通過檢查點(diǎn)機(jī)制來監(jiān)控轉(zhuǎn)換過程。在該 實(shí)施方式中,當(dāng)所述數(shù)據(jù)被成功轉(zhuǎn)換后,轉(zhuǎn)換數(shù)據(jù)的方法500的每個(gè)部分會(huì) 進(jìn)行報(bào)告。在一個(gè)實(shí)施方式中,方法500等待,直到每個(gè)部分報(bào)告所述數(shù)據(jù) 被成功傳遞和轉(zhuǎn)換。在方框518中,方法500將所述網(wǎng)絡(luò)元件的控制從活動(dòng)控制卡切換到備
份控制卡。在該實(shí)施方式中,所述備份控制卡變成活動(dòng)卡而以前的活動(dòng)控制卡變成備份。在該實(shí)施方式中,方法500重啟以前的活動(dòng)控制卡,從而使以 前的活動(dòng)控制卡運(yùn)行新的軟件映像。另外,方法500對(duì)新的活動(dòng)控制卡和新 的備份控制卡之間的狀態(tài)進(jìn)行同步。通過圖例舉例說明,方法500把控制從 控制器卡418A切換到控制器卡418B (如參考圖4進(jìn)行的描述)。方法500 重啟控制器卡418A從而使控制器卡418A運(yùn)行新的映像。而且,方法500 將控制器卡418B中的活動(dòng)狀態(tài)同步到控制器卡418A。在方框520中,方法500升級(jí)線卡。在一個(gè)實(shí)施方式中,方法500使用 新的軟件映像來更新在每個(gè)線卡上的信息包處理器。方法500重新設(shè)定信息 包處理器從而使信息包處理器使用與該信息包處理器相關(guān)的新軟件。圖6是根據(jù)本系統(tǒng)的一個(gè)實(shí)施方式的用于創(chuàng)建元數(shù)據(jù)的方法600的示例 性流程圖。圖6中,在方框602中,方法600以DDL來定義活動(dòng)狀態(tài)數(shù)據(jù)。 在一個(gè)實(shí)施方式中,方法600定義如在上面圖4中在方框402所描述的活動(dòng) 狀態(tài)。在方框604中,方法600從所定義的狀態(tài)數(shù)據(jù)創(chuàng)建元數(shù)據(jù)。在一個(gè)實(shí) 施方式中,如參考圖4進(jìn)一步所述的,方法600通過解析以DDL所定義的 狀態(tài)來創(chuàng)建元數(shù)據(jù)。在方框606中,方法600為所定義的狀態(tài)數(shù)據(jù)創(chuàng)建頭文件。在一個(gè)實(shí)施 方式中,方法600創(chuàng)建如圖4中所述的頭文件。在方框608中,方法600根 據(jù)頭文件和軟件代碼來編譯新軟件。在一個(gè)實(shí)施方式中,如參考圖4所述的, 方法600根據(jù)頭文件和軟件代碼來編譯新軟件。圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施方式的顯示控制器卡702的框圖。在圖7 中,控制器卡702包括控制模塊704、升級(jí)模塊706、狀態(tài)接收模塊708、狀 態(tài)轉(zhuǎn)換模塊710、同步狀態(tài)模塊712、同步檢査點(diǎn)模塊714、新軟件模塊716、 和線卡升級(jí)模塊718。雖然在一個(gè)實(shí)施方式中,控制器卡702是控制器卡 418A-B,但在可替換的實(shí)施方式中,控制器卡是控制器卡418A-B中的一者。
控制模塊704執(zhí)行對(duì)控制器卡702的控制。升級(jí)模塊706控制控制器卡702 的網(wǎng)絡(luò)元件軟件升級(jí)過程。如圖5的方框510中所述,狀態(tài)元數(shù)據(jù)接收模塊 708接收新的元數(shù)據(jù)。如圖的方框512中所述,狀態(tài)轉(zhuǎn)換模塊710轉(zhuǎn)換所接 收的活動(dòng)狀態(tài)來支持所述新軟件。在一個(gè)實(shí)施方式中,狀態(tài)轉(zhuǎn)換模塊710是 轉(zhuǎn)換模塊420。如圖5的方框510中所述,同步狀態(tài)模塊712同步活動(dòng)控制 器卡和備份控制器卡之間的活動(dòng)信息。如圖5的方框516中所述,同步檢査 點(diǎn)模塊714在活動(dòng)狀態(tài)轉(zhuǎn)換過程中同步檢查點(diǎn)。如圖5的方框504和506中 所述,新軟件模塊716為控制器卡接收和存儲(chǔ)新軟件。如圖5的方框520中 所述,線卡升級(jí)模塊718升級(jí)線卡。所述元數(shù)據(jù)驅(qū)動(dòng)升級(jí)的執(zhí)行是一個(gè)示例,而不作為限制。因而,具有其 它體系結(jié)構(gòu)配置的網(wǎng)絡(luò)元件可以整合本發(fā)明的實(shí)施方式??梢哉媳景l(fā)明的 實(shí)施方式的其它網(wǎng)絡(luò)元件的實(shí)施例可以具有多個(gè)控制器卡或者具有單獨(dú)一 個(gè)整合元數(shù)據(jù)驅(qū)動(dòng)在服務(wù)升級(jí)的功能的控制器卡。此外,分布于通信卡上的 具有啟發(fā)式和/或DPI點(diǎn)探測(cè)功能的網(wǎng)絡(luò)元件可以整合本發(fā)明的實(shí)施方式。包括在不同網(wǎng)絡(luò)元件中的控制器卡204A-B和線卡202A-N包含有存儲(chǔ) 器、處理器和/或特定用途集成電路(ASIC)。所述存儲(chǔ)器包括機(jī)器可讀媒介, 在所述機(jī)器可讀媒介上存儲(chǔ)了一套具有這里所述的一個(gè)或者全部方法的指 令(例如軟件)。軟件可以完全地或者至少部分地位于所述存儲(chǔ)器和/或所述 處理器和/或ASIC內(nèi)。出于本說明的目的,術(shù)語"機(jī)器可讀媒介"應(yīng)該指包 括提供(例如,存儲(chǔ)和/或發(fā)送)機(jī)器(例如計(jì)算機(jī))可讀的形式的信息的任 何裝置。例如,機(jī)器可讀媒介包括只讀存儲(chǔ)器(ROM);隨機(jī)存取存儲(chǔ)器(RAM);磁盤存儲(chǔ)媒介;光存儲(chǔ)媒介;閃存裝置;電、光、聲或者其它形 式的傳播信號(hào)(例如載波、紅外信號(hào)、數(shù)字信號(hào)等);等等??商鎿Q實(shí)施方式
例如,雖然附圖中的流程圖顯示了本發(fā)明的某些實(shí)施方式執(zhí)行的操作的 特定順序,但應(yīng)該理解所述順序是示例性的(例如,可替換的實(shí)施方式可以 以不同的順序執(zhí)行操作、合并某些操作、重復(fù)某些操作等)。雖然根據(jù)一些實(shí)施方式描述了本發(fā)明,但本領(lǐng)域的技術(shù)人員可以認(rèn)識(shí)到 本發(fā)明并不局限于所述的實(shí)施方式,并且可以在所附的權(quán)利要求的精神和范 圍內(nèi)進(jìn)行修改和變換來實(shí)行。因而,所述描述被認(rèn)為是舉例說明性的而非限 制性的。
權(quán)利要求
1. 一種計(jì)算機(jī)化的方法,該方法包括接收用來安裝在具有活動(dòng)控制器卡和備份控制器卡的網(wǎng)絡(luò)元件上的新軟件,其中所述新軟件包括新的一套元數(shù)據(jù);將所述新軟件安裝在所述備份控制卡上;同步所述備份控制器卡上的網(wǎng)絡(luò)元件的活動(dòng)狀態(tài),其中所述活動(dòng)狀態(tài)與運(yùn)行在所述網(wǎng)絡(luò)元件上的當(dāng)前軟件相關(guān);以及使用所述新的一套元數(shù)據(jù)將所述活動(dòng)狀態(tài)轉(zhuǎn)換成與所述新軟件相關(guān)的新的活動(dòng)狀態(tài)。
2. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī)化的方法,其中所述新的一套元數(shù)據(jù) 表示與所述新軟件相關(guān)的所述新的活動(dòng)狀態(tài)的結(jié)構(gòu)和域。
3. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī)化的方法,其中所述新軟件是網(wǎng)絡(luò)元 件操作系統(tǒng)和運(yùn)行在所述網(wǎng)絡(luò)元件上的服務(wù)中的一者。
4. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī)化的方法,其中所述轉(zhuǎn)換進(jìn)一步使用 與運(yùn)行在所述活動(dòng)控制卡上的舊的一套軟件相關(guān)的舊的一套元數(shù)據(jù)。
5. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī)化的方法,該方法進(jìn)一步包括-將控制從所述活動(dòng)控制器卡切換到所述備份控制器卡,其中所述備份控制器卡運(yùn)行所述新軟件;以及在所述活動(dòng)控制器卡上運(yùn)行所述新軟件。
6. 根據(jù)權(quán)利要求1所述的計(jì)算機(jī)化的方法,其中所述新的一套元數(shù)據(jù) 表示所述新的活動(dòng)狀態(tài)的結(jié)構(gòu)和域。
7.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)化的方法,其中所述轉(zhuǎn)換支持向活動(dòng) 狀態(tài)數(shù)據(jù)結(jié)構(gòu)添加域、刪除域、修改域、重排域、指定默認(rèn)值、和改變枚舉 定義中的一者或者多者。
全文摘要
描述了一種用于網(wǎng)絡(luò)元件的元數(shù)據(jù)驅(qū)動(dòng)升級(jí)的方法和設(shè)備。網(wǎng)絡(luò)元件包括活動(dòng)控制器卡和備份控制器卡,并且接收用來安裝在所述網(wǎng)絡(luò)元件上的新軟件。另外,所述網(wǎng)絡(luò)元件將所述軟件安裝在備份控制器卡上,并且同步所述備份控制器上的網(wǎng)絡(luò)元件的活動(dòng)狀態(tài)。更進(jìn)一步,所述網(wǎng)絡(luò)元件使用一套與所述新軟件相關(guān)的元數(shù)據(jù)將所述活動(dòng)狀態(tài)轉(zhuǎn)換成與新軟件相關(guān)的新的活動(dòng)狀態(tài)。
文檔編號(hào)H04L12/24GK101399701SQ20081008778
公開日2009年4月1日 申請(qǐng)日期2008年3月31日 優(yōu)先權(quán)日2007年9月27日
發(fā)明者C·S·道特, S·R·莫爾多克, T·J·林奇 申請(qǐng)人:力博通信有限公司