專利名稱:在通信系統(tǒng)中實(shí)現(xiàn)在線式軟件切換的方法和網(wǎng)關(guān)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到在通信系統(tǒng)中執(zhí)行在線式軟件切換的方法,特別地卻又不是排他地,涉及到在含有用軟件控制的連接網(wǎng)關(guān)的通信系統(tǒng)中,當(dāng)系統(tǒng)正處于傳遞通信業(yè)務(wù)的操作中時(shí),從一個(gè)較早的軟件建立切換到一個(gè)較新的軟件建立的方法;本發(fā)明進(jìn)一步涉及到根據(jù)該方法操作的通信系統(tǒng)和連接網(wǎng)關(guān)。
傳統(tǒng)的通信系統(tǒng)在尺度和復(fù)雜度上是有變化的。較大的系統(tǒng)具有眾多與其相關(guān)聯(lián)的訂戶,并能夠響應(yīng)于訂戶的要求而沿著連接訂戶的通信路徑對(duì)數(shù)據(jù)進(jìn)行路由。該路徑是在軟件控制下通過一種稱為連接網(wǎng)關(guān)的單元建立的。這樣的網(wǎng)關(guān)執(zhí)行路由功能以及其他諸如數(shù)據(jù)過濾、數(shù)據(jù)格式重組、以及數(shù)據(jù)加密或解密等功能。
在傳統(tǒng)的系統(tǒng)中進(jìn)行軟件升級(jí)時(shí),其中執(zhí)行當(dāng)前版本軟件的網(wǎng)關(guān)會(huì)被中斷或者暫時(shí)地關(guān)電,然后將新版本的軟件裝入它們并隨后予以執(zhí)行。這種中斷或者關(guān)電將導(dǎo)致系統(tǒng)所提供的服務(wù)的中斷,并可能導(dǎo)致其中所建立的通信路徑的丟失。此外,這樣的中斷或者關(guān)電對(duì)于訂戶而言可能表現(xiàn)為系統(tǒng)的不可靠性。
本發(fā)明人已經(jīng)意識(shí)到,在包含連接網(wǎng)關(guān)的通信系統(tǒng)中,在不中斷經(jīng)由該系統(tǒng)的通信業(yè)務(wù)的業(yè)已建立通信路徑的條件下,進(jìn)行軟件版本之間的在線式切換是令人向往的。
根據(jù)本發(fā)明的第一個(gè)方面,在通信系統(tǒng)中提供了一種從執(zhí)行第一個(gè)版本的操作軟件到執(zhí)行第二個(gè)版本的操作軟件的在線式軟件切換的方法,該系統(tǒng)包含可以用軟件控制來響應(yīng)于訂戶的要求而對(duì)連接到系統(tǒng)的訂戶之間的通信業(yè)務(wù)流進(jìn)行路由和處理的連接裝置,該方法的特征在于它包含如下步驟(a)為系統(tǒng)提供執(zhí)行第一個(gè)版本的軟件的連接裝置;(b)在連接裝置上接收到第二個(gè)版本的軟件;(c)在連接裝置上接收到一條執(zhí)行在線式軟件切換的指令;(d)將至少描述通過該連接裝置建立起來的路由連接的持久性數(shù)據(jù)保存起來;(e)將連接裝置的控制權(quán)從第一個(gè)版本的軟件轉(zhuǎn)移到在連接裝置中執(zhí)行且能用于維護(hù)已經(jīng)通過該連接裝置建立的路由連接的接口軟件;(f)與接口軟件同時(shí)地執(zhí)行第二個(gè)版本的軟件,以使得第二個(gè)版本能夠恢復(fù)持久性數(shù)據(jù),并能夠作為響應(yīng)而對(duì)自身進(jìn)行配置;而且(g)將連接裝置的控制權(quán)從接口軟件傳遞給第二個(gè)版本的軟件。
本發(fā)明提供了在不導(dǎo)致中斷通過連接裝置傳遞的通信業(yè)務(wù)的條件下,使得連接裝置能夠從執(zhí)行第一個(gè)版本的軟件切換到執(zhí)行第二個(gè)版本的軟件的優(yōu)越性。
本方法涉及到接口軟件的調(diào)用,而接口軟件有利地是包含在第一個(gè)版本的軟件之中的,接口軟件可以在得不到第一個(gè)版本軟件的其他部分支持的條件下被用來控制該連接裝置。因此,當(dāng)?shù)谝粋€(gè)版本的軟件的其他部分終止運(yùn)行時(shí),由接口軟件來維護(hù)連接裝置的運(yùn)行。
持續(xù)性的數(shù)據(jù)被標(biāo)識(shí)為數(shù)據(jù),它們包含下列一項(xiàng)或多項(xiàng)(a)在保存持久性數(shù)據(jù)那一瞬間連接裝置的狀態(tài)記錄;(b)系統(tǒng)包含連接裝置的方式的記錄;(c)涉及到系統(tǒng)訂戶和用戶的特許數(shù)據(jù);(d)所有已經(jīng)通過該連接裝置建立的連接和及其相關(guān)處理功能的記錄;以及(e)在保存持久性數(shù)據(jù)時(shí)運(yùn)行于連接裝置中的軟件對(duì)象的狀態(tài)。
為了減小持久性數(shù)據(jù)的尺寸和復(fù)雜性,在本方法的步驟(c)之后,第一個(gè)版本的軟件能被用來使得連接裝置對(duì)新訂戶通過連接裝置建立訂戶間連接的新請(qǐng)求不作響應(yīng),于是使得連接裝置能夠在保存持久性數(shù)據(jù)之前達(dá)到一種當(dāng)前任務(wù)業(yè)已完成的穩(wěn)定狀態(tài)。
較為方便的是,該系統(tǒng)包含了管理裝置,用來把各個(gè)版本的軟件下載到連接裝置,并在方法的步驟(c)中發(fā)出執(zhí)行在線式軟件切換的指令。優(yōu)選地,管理裝置能被用來采用以太網(wǎng)格式的消息和連接裝置通信。
訂戶經(jīng)常為其通信業(yè)務(wù)采用不兼容的格式。因此,連接裝置能被用來在以太網(wǎng)通信業(yè)務(wù)與E1或T1脈碼調(diào)制(PCM)通信業(yè)務(wù)之間接口,這一點(diǎn)是有益的。
在一種實(shí)用性的實(shí)施方案中,連接裝置優(yōu)選地包含若干個(gè)連接網(wǎng)關(guān),每個(gè)網(wǎng)關(guān)包含一個(gè)主處理器和一個(gè)數(shù)字信號(hào)處理器(DSP)的陣列,主處理器能被用來接收路由指令,并通過該信號(hào)處理器來分配連接路由,以便提供訂戶間的通信路徑。主處理器和該陣列相對(duì)彼此靠近地置于一塊電路板上是有益的。
較為有益的是,在每個(gè)網(wǎng)關(guān)中的主處理器能被用來處理以太網(wǎng)通信業(yè)務(wù),這些DSP能被用來處理E1或T1格式的PCM通信業(yè)務(wù),而主處理器能被用來與DSP們通信,由此通過該網(wǎng)關(guān)來提供以太網(wǎng)格式與E1或T1的PCM格式之間通信業(yè)務(wù)的翻譯。把以太網(wǎng)業(yè)務(wù)的處理分配給主處理器,同時(shí)把PCM的處理分配給DSP將使得網(wǎng)關(guān)能夠應(yīng)付以太網(wǎng)上量級(jí)為12000分組/秒的高速率通信業(yè)務(wù)。
當(dāng)執(zhí)行在線式的軟件切換時(shí),較為有益的是在方法的步驟(e)和(f)中接口軟件可操作來維護(hù)經(jīng)主處理器的通信業(yè)務(wù)流。而除非被命令以別的方式去做,否則DSP們會(huì)基于它們保存于其中的相關(guān)聯(lián)的軟件,去履行維護(hù)經(jīng)該處的已經(jīng)建立的連接的功能。因此,接口軟件能夠保證在執(zhí)行在線式切換時(shí)經(jīng)該系統(tǒng)的已建立的連接不被中斷。
為了在各個(gè)網(wǎng)關(guān)中更均勻地分配處理載荷,各個(gè)網(wǎng)關(guān)的陣列中所并入的DSP是按行劃分成組的,其中每一行分別用硬連線連接到網(wǎng)關(guān)的一個(gè)相應(yīng)的PCM通信業(yè)務(wù)端口。
較為有益的是,當(dāng)在各個(gè)網(wǎng)關(guān)裝載第二個(gè)版本的軟件時(shí),為了避免中斷第一個(gè)版本軟件的執(zhí)行,把主處理器連接到相關(guān)聯(lián)的存儲(chǔ)器裝置,而在步驟(c)中第二個(gè)版本的軟件是被裝載到存儲(chǔ)器裝置的第二個(gè)部分的,以便不會(huì)覆蓋駐留在存儲(chǔ)器裝置的第一個(gè)部分中第一個(gè)版本的軟件。
類似地,為了避免各個(gè)網(wǎng)關(guān)中所保存的諸版本的軟件對(duì)存于其中的持久性數(shù)據(jù)的覆蓋,把主處理器連接到相關(guān)聯(lián)的存儲(chǔ)器裝置,以便在步驟(d)中將持久性數(shù)據(jù)存入其中的第三個(gè)部分,而當(dāng)?shù)谝粋€(gè)和第二個(gè)版本的軟件裝載到存儲(chǔ)器裝置時(shí)不會(huì)覆蓋這第三部分。
為了保證在執(zhí)行在線式軟件切換時(shí)已經(jīng)建立的經(jīng)該連接裝置的連接不被中斷,駐留于信號(hào)處理器的隨機(jī)訪問存儲(chǔ)器中并控制信號(hào)處理器操作的軟件在本方法的步驟(c)到(g)中是保持不被更新的。
當(dāng)系統(tǒng)被切換到采用第二個(gè)版本的軟件來操作時(shí),使第一個(gè)版本的軟件被廢棄,理想的情形是當(dāng)在系統(tǒng)的電源中斷之后被調(diào)用時(shí),第一個(gè)和第二個(gè)版本的軟件中每一個(gè)都能夠使得連接裝置在該系統(tǒng)中發(fā)揮功能。
為了使連接裝置中所執(zhí)行的軟件版本確定自己是否是升級(jí)版,連接裝置在非易失性存儲(chǔ)器中包含存儲(chǔ)在其中的基本的操作軟件,該基本操作軟件能被用來設(shè)置標(biāo)記性裝置以便第二個(gè)版本的軟件能根據(jù)該標(biāo)記性裝置來確定它自己是在系統(tǒng)電源中斷后被調(diào)用的,還是在系統(tǒng)中執(zhí)行在線式軟件切換時(shí)被調(diào)用的。舉例來說,由該標(biāo)記性裝置確定正在執(zhí)行的該版本的軟件是否正要將軟件裝載到DSP中;在進(jìn)行在線式軟件切換的時(shí)候,象這樣把軟件載入DSP中不被執(zhí)行,否則已建立的連接將發(fā)生中斷。
在本發(fā)明的第二個(gè)方面,提供了一種能根據(jù)前文所述的本發(fā)明第一方面的方法來操作的通信系統(tǒng)。
在本發(fā)明的第三個(gè)方面,提供了一種能根據(jù)前文所述的本發(fā)明第一方面的方法來操作的連接網(wǎng)關(guān)。
現(xiàn)在將僅僅通過舉例的方式來描述本發(fā)明的實(shí)施方案,其中所參考到的下列圖表中附
圖1是根據(jù)本發(fā)明的一個(gè)包含連接網(wǎng)關(guān)的通信系統(tǒng)的示意性例圖;附圖2是根據(jù)本發(fā)明的一個(gè)連接網(wǎng)關(guān)的示意性例圖;附圖3是附圖2中所描繪的網(wǎng)關(guān)的電路板布局的一個(gè)視圖;而附圖4是附圖1中的通信系統(tǒng)中能夠執(zhí)行的、用于從當(dāng)前版本的軟件切換到較新版本的軟件的流程的圖形表示。
通信系統(tǒng)能夠潛在地以許多可選的方法進(jìn)行配置。附圖1是根據(jù)本發(fā)明的通信系統(tǒng)的一種可能的配置,其中一般性地用100來指示該系統(tǒng)。
系統(tǒng)100包括第一個(gè)訂戶110,按照互聯(lián)網(wǎng)協(xié)議(IP)來實(shí)現(xiàn)功能的互連網(wǎng)絡(luò)120,以及包含在虛線125之內(nèi)的根據(jù)本發(fā)明的一組連接網(wǎng)關(guān),該網(wǎng)關(guān)組用130來指示。網(wǎng)關(guān)組130中的網(wǎng)關(guān)是相互一樣的。此外,系統(tǒng)100進(jìn)一步包括電話交換機(jī)170和第二個(gè)訂戶180。
網(wǎng)絡(luò)120連接到了第一個(gè)訂戶110,也連接到其他相似的訂戶(未畫出)。類似地,交換機(jī)170連接到了第二訂戶180,也連接到其他相似的訂戶(也未畫出)。網(wǎng)絡(luò)120通過以太網(wǎng)鏈路連接到網(wǎng)關(guān)。
每個(gè)連接網(wǎng)關(guān),譬如網(wǎng)關(guān)200,包含兩個(gè)以太網(wǎng)端口P1和P2,每個(gè)端口都能被用來以100M比特/秒的速率接收或輸出以太網(wǎng)通信業(yè)務(wù)。以太網(wǎng)端口P1和P2通過網(wǎng)絡(luò)120連接到管理系統(tǒng)160、關(guān)守150,以及信令網(wǎng)關(guān)140。每個(gè)網(wǎng)關(guān)進(jìn)一步包含四個(gè)分別連接到電話交換機(jī)170的PCM連接端口的脈碼調(diào)制(PCM)端口Q1、Q2、Q3和Q4。
網(wǎng)關(guān)組130中的每個(gè)連接網(wǎng)關(guān)都包含一個(gè)相關(guān)聯(lián)的MotorolaPowerQuiccII處理器。每個(gè)PowerQuiccII處理器都能通過其相關(guān)聯(lián)的端口P1和P2采用簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)從中央管理系統(tǒng)160接收以太網(wǎng)指令。類似地,每個(gè)PowerQuiccII處理器都能通過其相關(guān)聯(lián)的端口P1和P2回應(yīng)管理系統(tǒng)160,譬如用來提供應(yīng)答表示處理器已經(jīng)收到指令。
此外,每個(gè)PowerQuiccII處理器也都能夠從關(guān)守150接收以太網(wǎng)指令。關(guān)守150采用媒體網(wǎng)關(guān)控制協(xié)議(MGCP)來和處理器通信。類似地,每個(gè)處理器都能通過其相關(guān)聯(lián)的端口P1和P2回應(yīng)關(guān)守150。此外,信令網(wǎng)關(guān)140將呼叫信令連接到關(guān)守150以使其能進(jìn)行呼叫控制。
管理系統(tǒng)160也連接到其他網(wǎng)關(guān)組以及與它們相關(guān)聯(lián)的信令網(wǎng)關(guān)和關(guān)守(未畫出)。于是關(guān)守150連接到包含在網(wǎng)關(guān)組130內(nèi)部的數(shù)量范圍從300到1000之間的網(wǎng)關(guān),也就是說附圖1中的參數(shù)“n”是在范圍300到1000之間的。由此,管理系統(tǒng)160負(fù)責(zé)管理包含在網(wǎng)關(guān)組130和其他網(wǎng)關(guān)組(未畫出)內(nèi)部的數(shù)千個(gè)連接網(wǎng)關(guān)。
現(xiàn)在參考附圖1來描述系統(tǒng)100把訂戶110和180連接到一起的操作。為了聯(lián)系第二個(gè)訂戶180,第一個(gè)訂戶110從撥叫一個(gè)接入號(hào)碼開始。接入號(hào)碼從第一個(gè)訂戶110傳送到網(wǎng)絡(luò)120,后者把號(hào)碼轉(zhuǎn)換成以太網(wǎng)格式并接著在其以太網(wǎng)端口用以太網(wǎng)格式的接入號(hào)碼把它輸出到關(guān)守150。關(guān)守150收到以太網(wǎng)格式的號(hào)碼后立即確定網(wǎng)關(guān)組130中的哪一個(gè)可用來提供網(wǎng)絡(luò)120和交換機(jī)170之間的通信路徑。接著關(guān)守150用以太網(wǎng)格式向一個(gè)網(wǎng)關(guān)(譬如網(wǎng)關(guān)200)的端口P1和P2發(fā)送一條指令,命令它為該呼叫提供一條從網(wǎng)絡(luò)120和交換機(jī)170的通信路徑。于是被通知的網(wǎng)關(guān)就建立一條通過那里的通信路徑。關(guān)守150接下來通過信令網(wǎng)關(guān)140把接入號(hào)碼傳達(dá)給交換機(jī)170,而后者作為響應(yīng),建立起從交換機(jī)170到第二個(gè)訂戶120的通信路徑。
當(dāng)訂戶110和180之間完整的通信路徑被建立起來之后,第一個(gè)訂戶110就開始發(fā)送消息數(shù)據(jù)(例如數(shù)字采樣的語音),而網(wǎng)絡(luò)120收到這些數(shù)據(jù)并在那里轉(zhuǎn)換成以太網(wǎng)格式的消息數(shù)據(jù)。以太網(wǎng)格式的數(shù)據(jù)從網(wǎng)絡(luò)120傳送到網(wǎng)關(guān)組130中被命令的網(wǎng)關(guān),在該處消息數(shù)據(jù)被轉(zhuǎn)換成相應(yīng)的PCM格式的消息數(shù)據(jù),而后者被輸出到交換機(jī)170。交換機(jī)170就把PCM格式的消息數(shù)據(jù)傳送到第二個(gè)訂戶180。
第二個(gè)訂戶180也會(huì)輸出用于發(fā)送到第一個(gè)訂戶110的返回?cái)?shù)據(jù)。該返回?cái)?shù)據(jù)從第二個(gè)訂戶180傳送到交換機(jī)170,并在那里被轉(zhuǎn)換成PCM格式的返回?cái)?shù)據(jù)。接著,PCM格式的返回?cái)?shù)據(jù)被向前發(fā)送到網(wǎng)關(guān)組130中被關(guān)守150指示為PCM返回?cái)?shù)據(jù)傳送到網(wǎng)絡(luò)120提供通信路徑的網(wǎng)關(guān)。被指示的網(wǎng)關(guān)接收到PCM格式的返回?cái)?shù)據(jù)并將其轉(zhuǎn)換成相應(yīng)的以太網(wǎng)格式的數(shù)據(jù),而被指示的網(wǎng)關(guān)接下來在其相關(guān)聯(lián)的端口P1和P2把數(shù)據(jù)輸出到網(wǎng)絡(luò)120。網(wǎng)絡(luò)120接著把以太網(wǎng)格式的數(shù)據(jù)繼續(xù)向前路由到訂戶110。
由此,網(wǎng)關(guān)的組130、管理系統(tǒng)160、關(guān)守150和信令網(wǎng)關(guān)140在提供網(wǎng)絡(luò)120和交換機(jī)170之間以相互不同的通信數(shù)據(jù)格式操作的靈活接口這方面是有效的。除了提供通信路徑和轉(zhuǎn)換數(shù)據(jù)格式之外,網(wǎng)關(guān)組130中的每個(gè)網(wǎng)關(guān)都能執(zhí)行其他功能,譬如過濾、加密、解密和誤碼檢驗(yàn)。每個(gè)網(wǎng)關(guān)也能被用來提供雙向通信,也即從其以太網(wǎng)端口到其PCM端口,以及從其PCM端口到其以太網(wǎng)端口。
當(dāng)系統(tǒng)100運(yùn)行時(shí),幾乎總有至少一些通信業(yè)務(wù)數(shù)據(jù)在連接到系統(tǒng)100的訂戶之間流動(dòng);因此,系統(tǒng)100很少不活動(dòng)。這種缺乏不活動(dòng)意味著網(wǎng)關(guān)不能為軟件升級(jí)關(guān)電而同時(shí)又不中斷通過該處的數(shù)據(jù)。傳統(tǒng)的連接網(wǎng)關(guān)是不能在工作中,在不中斷通過該處的數(shù)據(jù)業(yè)務(wù)傳輸?shù)臈l件下進(jìn)行軟件升級(jí)的。與此相反,本發(fā)明人設(shè)計(jì)出一種連接網(wǎng)關(guān)布局和一種運(yùn)行這種網(wǎng)關(guān)的方法,以便在其中的軟件是能夠在不中斷經(jīng)由該網(wǎng)關(guān)的數(shù)據(jù)傳輸?shù)臈l件下進(jìn)行升級(jí)的。為了進(jìn)一步描述本發(fā)明及其對(duì)于在線式軟件升級(jí)的敏感性,現(xiàn)在參考附圖2來描述根據(jù)本發(fā)明的連接網(wǎng)關(guān)200。
網(wǎng)關(guān)200是構(gòu)建于多層玻璃纖維電路板上的,并包含多個(gè)主要部件和相關(guān)聯(lián)的支持性組件;支持性組件包括電源調(diào)節(jié)器、信號(hào)調(diào)節(jié)器和線路驅(qū)動(dòng)器及接收器。對(duì)于數(shù)字電路設(shè)計(jì)業(yè)界的普通技術(shù)人員而言這樣的支持性組件是眾所周知的。
主要部件包括PowerQuiccII處理器300、同步動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器(SDRAM)310、現(xiàn)場(chǎng)可編程的可擦除只讀存儲(chǔ)器(FEPROM)315。這些部件進(jìn)一步包含可編程邏輯器件(PLD)信令處理機(jī)320、以及一個(gè)相關(guān)聯(lián)的24片Motorola數(shù)字信號(hào)處理器(DSP)陣列。一般性地用330來指示DSP并用虛線340所包含的部分來表示它們。網(wǎng)關(guān)200進(jìn)一步包含存儲(chǔ)緩沖器350,交換PLD360和提供了四個(gè)PCM端口Q1、Q2、Q3和Q4的四元PCM終結(jié)單元370。在系統(tǒng)100中,端口Q1和Q4被連接到交換機(jī)170相應(yīng)的PCM端口。
處理器300是專有的MCP8260 Motorola設(shè)備,其中有效地在一個(gè)硅片上包括兩個(gè)互連的處理器,即第一個(gè)能夠執(zhí)行Power-PC類型的機(jī)器碼的處理器以及第二個(gè)被設(shè)計(jì)成處理以太網(wǎng)通信和相關(guān)聯(lián)的輸入/輸出堆棧的通信控制處理器。第二個(gè)處理器包含能夠被配置成處理高速數(shù)據(jù)流(即傳輸速率在100M比特/秒量級(jí)的以太網(wǎng)數(shù)據(jù)流)的硬件。
陣列330中的每一個(gè)DSP都包含一個(gè)專有的、包含片內(nèi)隨機(jī)訪問存儲(chǔ)器(RAM)的Motorola 56311數(shù)字信號(hào)處理器設(shè)備。這些DSP被排列成四行,每一行包含六個(gè)DSP。優(yōu)選地,這四行DSP中的每一行都被分配給從Q1到Q4中相應(yīng)的一個(gè)PCM端口。
正如附圖2所示,主要部件是連接在一起的。在附圖2中,以太網(wǎng)端口P1、P2被連接到PowerQuiccII處理器300相應(yīng)的FCC端口。處理器300通過一個(gè)存儲(chǔ)器總線連接到它的SDRAM 310、它的FEPROM 315和一個(gè)只讀存儲(chǔ)器(ROM)(未畫出)。ROM用基本的啟動(dòng)性操作軟件被編程為每次開始向網(wǎng)關(guān)200供電使其進(jìn)入運(yùn)行時(shí)處理器300都要執(zhí)行該軟件。處理器300通過局域總線進(jìn)一步連接到信令處理機(jī)320。
處理機(jī)320是一個(gè)可編程門陣列,被定制成充當(dāng)網(wǎng)關(guān)200中的硬件主干。處理機(jī)320包含連接到相應(yīng)行DSP的四個(gè)通信端口H1、H2、H3和H4。而且,處理機(jī)320進(jìn)一步包含連接到存儲(chǔ)緩沖器350的端口K1。此外,處理機(jī)320內(nèi)還包含多個(gè)包括四個(gè)輸入端口K2、K3、K4、K5和四個(gè)輸出端口K6、K7、K8、K9的信令I(lǐng)/FS端口。從K2到K5的輸入端口被連接到開關(guān)PLD 360,也被連接到PCM終結(jié)單元370。類似的,從K6到K9的端口被連接到開關(guān)PLD 360。開關(guān)PLD 360也連接到PowerQuiccII處理器300的D1、D2、D3和D4端口。
參考附圖3,其中畫出了網(wǎng)關(guān)200的電路板布局的頂視圖,其中用400來一般性地表示該板。該電路板具有大致為15厘米×20厘米的面積。沿著板400的下邊緣集成了以太網(wǎng)端口P1和P2的連接器410。沿著下邊緣的中段包含了PCM端口Q1到Q4的連接器420。該電路板400的左手側(cè)用虛線420勾畫出的區(qū)域并入了DSP陣列330。DSP被安放成四行,每行包含六個(gè)DSP。處理機(jī)320坐落于板400的右手一側(cè)。SDRAM 310被包含在板面400的右上角。用430來標(biāo)注的電源調(diào)節(jié)組件被并入在板面400的右下角。緩沖器350和交換PLD 360被包含在板面400的中央?yún)^(qū)域。
現(xiàn)在參考附圖1和附圖2來描述系統(tǒng)100中網(wǎng)關(guān)200操作的概況。網(wǎng)關(guān)200能夠在其端口P1和P2上接收或輸出以太網(wǎng)業(yè)務(wù)。該業(yè)務(wù)可以包含下列一種或多種(a)去向或來自網(wǎng)絡(luò)120的通信業(yè)務(wù);(b)來自關(guān)守150或者來自信令網(wǎng)關(guān)140的MGCP控制性的輸入指令;或者(c)來自管理系統(tǒng)160的SNMP管理指令。
在網(wǎng)關(guān)200和電話交換機(jī)170之間的PCM業(yè)務(wù)流可以是E1或者T1格式的。
T1格式采用了基于1544千比特/秒的數(shù)據(jù)速率的由ANSI標(biāo)準(zhǔn)系列的T1.111定義的數(shù)據(jù)幀結(jié)構(gòu)。T1幀結(jié)構(gòu)包含了多個(gè)幀,每個(gè)幀包含了24個(gè)時(shí)隙。而每個(gè)時(shí)隙包含了八個(gè)比特的數(shù)據(jù)。每個(gè)幀在時(shí)隙外部的幀起始處進(jìn)一步包含了相關(guān)聯(lián)的同步“F”比特,用于指示幀同步。此外,還給出用于識(shí)別包含24幀的復(fù)幀起始位置的復(fù)幀同步信號(hào);這樣的信號(hào)定義于國(guó)際電信聯(lián)盟建議ITU-TG.704之中。
E1格式采用了基于2048千比特/秒的數(shù)據(jù)速率的數(shù)據(jù)幀結(jié)構(gòu)。E1幀結(jié)構(gòu)包含32個(gè)時(shí)隙,每個(gè)時(shí)隙包含8比特?cái)?shù)據(jù);而這些時(shí)隙用時(shí)隙0到時(shí)隙31來編號(hào)。時(shí)隙0用于幀同步。此外,時(shí)隙16用于SS7信令信息(如建議ITU-TQ.703中所定義)。時(shí)隙1到15被分配給相應(yīng)的通信信道1到15。類似地,時(shí)隙17到31被分配給相應(yīng)的通信信道16到30。因此,E1格式的PCM通信業(yè)務(wù)能夠傳送對(duì)應(yīng)于30個(gè)通信信道的信息。由于網(wǎng)關(guān)200包含四個(gè)PCM輸出Q1到Q4,而網(wǎng)關(guān)200能夠把任意信道路由到這些PCM輸出端,因此網(wǎng)關(guān)200能夠經(jīng)由它而提供120個(gè)可能的連接路徑。
PowerQuiccII處理器300對(duì)從其相關(guān)聯(lián)的以太網(wǎng)端口P1和P2進(jìn)入的通信業(yè)務(wù)進(jìn)行詮釋,并將通信業(yè)務(wù)與來自管理系統(tǒng)160或關(guān)守150的指令相分離。PowerQuiccII處理器300中的第一個(gè)處理器對(duì)指令進(jìn)行詮釋并以多種方式進(jìn)行響應(yīng),譬如(a)由它來配置處理機(jī)320和DSP以對(duì)信道進(jìn)行路由,以某種特定的方式通過網(wǎng)關(guān)200,譬如把端口P1提供的來自以太網(wǎng)業(yè)務(wù)的信道1到5路由到PCM端口Q3,并對(duì)業(yè)務(wù)進(jìn)行加密;(b)由它編輯一條應(yīng)答消息并通過端口P1、P2中的一個(gè)或多個(gè)發(fā)回到管理系統(tǒng)160或關(guān)守150,譬如審計(jì)應(yīng)答;或者(c)由它將數(shù)據(jù)或軟件載入網(wǎng)關(guān)200特定的存儲(chǔ)區(qū),譬如載入SDRAM 310或者和DSP相關(guān)聯(lián)的RAM。
網(wǎng)關(guān)200能被配置成使得在其端口P1和P2進(jìn)入的以太網(wǎng)通信業(yè)務(wù)能被定向通過PowerQuiccII處理器300的第二個(gè)通信控制處理器,并接著穿過局域總線傳到處理機(jī)320,后者將業(yè)務(wù)輸出到緩沖器350。接著,存儲(chǔ)在緩沖器350中的業(yè)務(wù)從那里再一次通過處理機(jī)320輸出到陣列330中的一個(gè)或多個(gè)分配好的DSP,而后者以關(guān)守150所指示的方式來處理業(yè)務(wù)。當(dāng)該業(yè)務(wù)在陣列330中處理完后,它接著通過處理機(jī)320的端口K6到K9中的一個(gè)或者多個(gè)輸出到交換PLD 360,并進(jìn)一步由那里輸出到終結(jié)單元370。單元370對(duì)處理后的業(yè)務(wù)進(jìn)行調(diào)整,以便在其PCM端口Q1到Q4中的一個(gè)或多個(gè)上進(jìn)行輸出。
網(wǎng)關(guān)200也能夠被配置成使得進(jìn)入其PCM端口Q1到Q4的PCM通信業(yè)務(wù)在網(wǎng)關(guān)200中根據(jù)來自管理系統(tǒng)160、關(guān)守150或者信令網(wǎng)關(guān)140的指令對(duì)業(yè)務(wù)進(jìn)行路由和處理。舉例來說,PCM通信業(yè)務(wù)能夠通過處理機(jī)320而被路由到陣列330中選定的DSP中進(jìn)行處理。接著,來自選定DSP的相應(yīng)的處理后業(yè)務(wù)能夠被路由通過處理機(jī)320及其相關(guān)聯(lián)的緩沖器350,并最終由那里路由到PowerQuiccII處理器300的第二個(gè)通信控制處理器,以便由后者在其以太網(wǎng)端口P1、P2中的一個(gè)或多個(gè)上作為以太網(wǎng)業(yè)務(wù)輸出。
由此,網(wǎng)關(guān)300能夠被配置成支持雙向通信,并經(jīng)它進(jìn)行處理。
本發(fā)明人已經(jīng)意識(shí)到,由于多種原因,在系統(tǒng)100中從管理系統(tǒng)160載入到連接網(wǎng)關(guān)的軟件不時(shí)地需要更新。舉例來說,這樣的原因包括添加更多的網(wǎng)關(guān)組或者改變網(wǎng)關(guān)中的PowerQuiccII處理器對(duì)其接收到的來自網(wǎng)絡(luò)120的以太網(wǎng)業(yè)務(wù)的處理方式。在不造成網(wǎng)絡(luò)120和交換機(jī)170之間流動(dòng)的通信業(yè)務(wù)中斷的條件下能夠把軟件從管理系統(tǒng)160下載到連接網(wǎng)關(guān)是非常理想的。本發(fā)明人設(shè)計(jì)了一種運(yùn)行系統(tǒng)100及其相關(guān)聯(lián)的連接網(wǎng)關(guān)的方法來實(shí)現(xiàn)這樣的更新。
總的說來,該方法使本發(fā)明人致力于將下列特性包含到連接網(wǎng)關(guān)的設(shè)計(jì)中去,這些特性包括(a)將SDRAM分割成三個(gè)部分,第一個(gè)部分用于保存當(dāng)前的運(yùn)行軟件,第二部分用于保存將要取代當(dāng)前軟件來執(zhí)行的新的運(yùn)行軟件,而第三部分用于保存對(duì)應(yīng)于網(wǎng)關(guān)的狀態(tài)及其與系統(tǒng)100的連接關(guān)系的持久性數(shù)據(jù);以及(b)在保存于SDRAM 310中的當(dāng)前和較新運(yùn)行軟件中包含一種特殊的軟件對(duì)象,即小型媒質(zhì)處理器(MMH),而當(dāng)網(wǎng)關(guān)的操作從一個(gè)版本的運(yùn)行軟件轉(zhuǎn)換到另一個(gè)時(shí),MMH被調(diào)用。
MMH具有特殊的特征在發(fā)生從當(dāng)前的軟件到較新的軟件的轉(zhuǎn)移時(shí),它能夠維持與它相關(guān)聯(lián)的連接網(wǎng)關(guān)的運(yùn)行。此外,MMH不需要包含在當(dāng)前或新軟件內(nèi)的例行程序的支持來保持與其相關(guān)聯(lián)的網(wǎng)關(guān)的功能;因此,即使與其相關(guān)聯(lián)的運(yùn)行軟件已經(jīng)停止執(zhí)行,MMH也能夠繼續(xù)發(fā)揮作用。
現(xiàn)在參考附圖1和2來描述系統(tǒng)100把當(dāng)前版本的運(yùn)行軟件下載到它的連接網(wǎng)關(guān)中,并接著將現(xiàn)行版本的軟件升級(jí)到較新版本的操作過程。
初始地當(dāng)供電給網(wǎng)絡(luò)100時(shí),網(wǎng)關(guān)組130中的連接網(wǎng)關(guān)中還沒有一個(gè)已經(jīng)把運(yùn)行軟件載入到那里;它們中的每一個(gè)都僅僅包含前述的保存在相關(guān)聯(lián)的板上ROM中的啟動(dòng)運(yùn)行軟件。初始地,通過執(zhí)行該啟動(dòng)軟件,每個(gè)網(wǎng)關(guān)中的PowerQuiccII處理器300都在其相關(guān)聯(lián)的以太網(wǎng)端口P1、P2上輸出數(shù)據(jù),這使得管理系統(tǒng)160知道網(wǎng)關(guān)在系統(tǒng)100中的存在。類似地,關(guān)守150和信令網(wǎng)關(guān)都輸出數(shù)據(jù),以便管理系統(tǒng)160知道它們的存在系統(tǒng)160接著將運(yùn)行軟件載入到關(guān)守15和信令網(wǎng)關(guān)14。管理系統(tǒng)160進(jìn)一步通過與其相關(guān)聯(lián)的以太網(wǎng)端口P1和P2向網(wǎng)關(guān)組130中的每個(gè)網(wǎng)關(guān)發(fā)送一個(gè)當(dāng)前版本的運(yùn)行軟件。當(dāng)前的運(yùn)行軟件被載入到網(wǎng)關(guān)組130中的每個(gè)網(wǎng)關(guān)的SDRAM 310的第一部分。然后在每個(gè)網(wǎng)關(guān)中,把運(yùn)行軟件的一部分從與其相關(guān)聯(lián)的PowerQuiccII處理器300傳送到陣列330中與每個(gè)其相關(guān)聯(lián)的DSP相關(guān)聯(lián)的RAM之中。每個(gè)DSP都把相互一致的軟件載入到與其相關(guān)聯(lián)的RAM中;然而,如果特別需要的話,可以對(duì)網(wǎng)關(guān)組130中的各個(gè)網(wǎng)關(guān)進(jìn)行編程以便其DSP能載入相互不同的軟件,盡管這并不是通常的運(yùn)行模式。載入到DSP中的軟件被設(shè)計(jì)成使得DSP能夠與處理機(jī)320接口,并執(zhí)行一系列的信號(hào)處理功能,譬如信號(hào)過濾、格式重排、加密、解密、壓縮和解壓縮功能。相反地,位于SDRAM310的第一部分中的軟件是用來在各個(gè)連接網(wǎng)關(guān)的PowerQuiccII處理器300中執(zhí)行的,而且能被用來使處理器300和管理系統(tǒng)160、關(guān)守150以及信令網(wǎng)關(guān)140接口,并使得處理器300能夠詮釋命令、配置和連接與其相關(guān)聯(lián)的DSP來執(zhí)行所需的路由和處理功能。
位于網(wǎng)關(guān)組130中各個(gè)網(wǎng)關(guān)的SDRAM第一部分中的軟件也包括特殊的軟件對(duì)象,即小型媒質(zhì)處理器(MMH)。通常MMH是休止的,且僅當(dāng)準(zhǔn)備執(zhí)行在線式軟件切換時(shí)對(duì)操作系統(tǒng)160的特殊命令由PowerQuiccII處理器300來激活。
在當(dāng)前的運(yùn)行軟件被載入到網(wǎng)關(guān)組130的網(wǎng)關(guān),也被載入到關(guān)守150、信令網(wǎng)關(guān)140之后,管理系統(tǒng)160接著為系統(tǒng)100發(fā)送一條命令來啟動(dòng)運(yùn)行。然后系統(tǒng)100就象早先在概述中所描述的那樣工作了。
當(dāng)系統(tǒng)100已然操作了一段時(shí)間之后,譬如幾個(gè)星期或者幾個(gè)月,與訂戶間的呼叫相對(duì)應(yīng)的數(shù)量可觀的通信業(yè)務(wù)將流過系統(tǒng)100;舉例來說,如果網(wǎng)關(guān)組130包含1000個(gè)連接網(wǎng)關(guān),而每個(gè)網(wǎng)關(guān)以E1格式的通信業(yè)務(wù)來工作時(shí)能提供120個(gè)潛在的連接的話,那么通過該網(wǎng)關(guān)組同時(shí)接口10000路呼叫并不罕見的。通常,數(shù)據(jù)流量可以是相對(duì)恒定的,而系統(tǒng)100處于寂靜狀態(tài)的時(shí)段并不是以可以預(yù)見的方式出現(xiàn)的。
本發(fā)明人已經(jīng)意識(shí)到,當(dāng)需要進(jìn)行軟件升級(jí)時(shí),簡(jiǎn)單地切斷系統(tǒng)100并在其中載入新的軟件是不可行的,因?yàn)檫@將取消系統(tǒng)100中的所有呼叫連接而將對(duì)訂戶表現(xiàn)出不可靠性。如果向訂戶銷售系統(tǒng)100的使用權(quán)是以可靠連接為基礎(chǔ)的,那么為了升級(jí)軟件的目的簡(jiǎn)單地暫時(shí)切斷系統(tǒng)100可能會(huì)有嚴(yán)重的財(cái)政后果,影響到用戶的帳單,并由此影響到來自系統(tǒng)100的收入。
因此,網(wǎng)關(guān)組130中的網(wǎng)關(guān)被設(shè)計(jì)成能夠在不干擾已經(jīng)通過系統(tǒng)100路由的已建立呼叫的條件下完成軟件的升級(jí)??偟恼f來,當(dāng)網(wǎng)關(guān)組130中的正在運(yùn)行的當(dāng)前版本的軟件需要被新版本的軟件替換時(shí),一旦收到來自管理系統(tǒng)160的命令,就調(diào)用軟件切換進(jìn)程。在附圖4中描繪了該進(jìn)程。
在附圖4中的是能夠在通信系統(tǒng)100中執(zhí)行的從當(dāng)前版本的運(yùn)行軟件切換到新版本的運(yùn)行軟件的在線式軟件切換進(jìn)程的圖形表述,該進(jìn)程用500指示的圖形來表示;在附圖4中,“版本1”和“版本2”分別對(duì)應(yīng)于當(dāng)前和較新版本的運(yùn)行軟件。圖形500包含了從左到右來表示時(shí)間流逝的橫坐標(biāo)510。此外,圖形500中進(jìn)一步包含縱坐標(biāo)520,其上指示了軟件的多種項(xiàng)目。
在時(shí)刻t0,系統(tǒng)100獲得供電并開始啟動(dòng);在連接網(wǎng)關(guān)中的基本啟動(dòng)軟件使網(wǎng)關(guān)通過以太網(wǎng)向管理系統(tǒng)160聲明它們是從屬于系統(tǒng)100的。此外,基本軟件也在每個(gè)連接網(wǎng)關(guān)的SDRAM 310中設(shè)置標(biāo)志FS來記錄沒有任何旱先版本的運(yùn)行軟件已經(jīng)被載入到網(wǎng)關(guān)中去。在時(shí)刻t0之后,管理系統(tǒng)160將當(dāng)前版本的運(yùn)行軟件載入到網(wǎng)關(guān)組130的每一個(gè)連接網(wǎng)關(guān)中去。正如前文所述,當(dāng)前版本的運(yùn)行軟件被載入到各個(gè)連接網(wǎng)關(guān)的SDRAM 310的第一部分。接著各個(gè)連接網(wǎng)關(guān)通過其PowerQuiccII處理器300從其SDRAM 310把當(dāng)前版本的運(yùn)行軟件的一部分下載到與其相關(guān)聯(lián)的各個(gè)DSP的RAM中去。然后管理系統(tǒng)160為系統(tǒng)100發(fā)送一條指令來開始傳輸通信業(yè)務(wù)的操作。在各個(gè)連接網(wǎng)關(guān)中執(zhí)行當(dāng)前版本的軟件時(shí),它初始地檢查標(biāo)志FS。作為基本軟件一連串動(dòng)作的結(jié)果,標(biāo)志FS是處于未被設(shè)置的狀態(tài)的;當(dāng)前版本的軟件根據(jù)標(biāo)志FS的狀態(tài)來識(shí)別自己并不是一次軟件升級(jí)。
在時(shí)刻t1,譬如時(shí)刻t0后數(shù)個(gè)月之后,管理系統(tǒng)160的操作者通知它需要在系統(tǒng)100中進(jìn)行軟件更新。作為響應(yīng),管理系統(tǒng)160接著從其存儲(chǔ)器取回新版本的運(yùn)行軟件,然后向網(wǎng)關(guān)組130中的連接網(wǎng)關(guān)發(fā)送一條指令敦促它們準(zhǔn)備接收新的軟件。于是網(wǎng)關(guān)組130中的網(wǎng)關(guān)通過它們的以太網(wǎng)端口P1和P2從管理系統(tǒng)160接收到新版本的軟件,而它們各自把軟件存入其SDRAM 310的第二個(gè)部分,因此不會(huì)覆蓋保存在它們的SDRAM 310的第一個(gè)部分中的當(dāng)前版本的軟件。在新版本的軟件被下載到網(wǎng)關(guān)的同時(shí),網(wǎng)關(guān)繼續(xù)執(zhí)行它們當(dāng)前版本的軟件來完成功能。在時(shí)刻t2,管理系統(tǒng)160已經(jīng)完全把新版本的軟件下載到連接網(wǎng)關(guān)中去了。
在時(shí)刻t3,管理系統(tǒng)160向網(wǎng)關(guān)組130中的連接網(wǎng)關(guān)發(fā)送一條指令使得在線地切換過去執(zhí)行新版本的軟件。這條指令使得執(zhí)行當(dāng)前版本軟件的各個(gè)連接網(wǎng)關(guān)執(zhí)行切換例程。當(dāng)執(zhí)行切換例程時(shí),各個(gè)網(wǎng)關(guān)忽略來自管理系統(tǒng)160或者關(guān)守150的進(jìn)一步的指令;當(dāng)前版本的軟件調(diào)用其MMH。如同前文所述,MMH是一種特殊的軟件對(duì)象,它能夠在不調(diào)用包含于當(dāng)前版本的運(yùn)行軟件中所含的操作系統(tǒng)例程的條件下使與其相關(guān)聯(lián)的網(wǎng)關(guān)維持功能。此外,各個(gè)網(wǎng)關(guān)將其標(biāo)志FS設(shè)置為置位狀態(tài)來指示在時(shí)刻t0之后運(yùn)行軟件已經(jīng)在網(wǎng)關(guān)中得以執(zhí)行了。然后各個(gè)網(wǎng)關(guān)一直等到當(dāng)前的作業(yè)完成之后,譬如連接到那里的訂戶已經(jīng)完成其撥號(hào)序列或者已經(jīng)掛機(jī),使得網(wǎng)關(guān)處于穩(wěn)定狀態(tài)。當(dāng)各個(gè)網(wǎng)關(guān)已經(jīng)進(jìn)入穩(wěn)定狀態(tài)之后,它將描述其當(dāng)前狀態(tài)的持久性數(shù)據(jù)存入其SDRAM 310的第三個(gè)部分。后面將會(huì)對(duì)持久性數(shù)據(jù)進(jìn)行進(jìn)一步描述。
在時(shí)刻t4,當(dāng)連接網(wǎng)關(guān)已經(jīng)保存了與其相關(guān)聯(lián)的持久性數(shù)據(jù)之后,當(dāng)前版本的軟件停止執(zhí)行而只留下MMH繼續(xù)執(zhí)行。
在時(shí)刻t5,MMH調(diào)用新版本的運(yùn)行軟件。在時(shí)刻t5和稍后的時(shí)刻t6之間的時(shí)間段里MMH和新版本的運(yùn)行軟件同時(shí)執(zhí)行,盡管在此期間新版本并沒有實(shí)現(xiàn)通過其網(wǎng)關(guān)的DSP的任何新連接。新版本首先通過檢查標(biāo)志FS并由此來確定新版本是否已被作為升級(jí)而調(diào)用,或者它是否是隨系統(tǒng)100的一次斷電之后被調(diào)用的;由于標(biāo)志FS已經(jīng)如上所述的那樣置位了,因此新版本由此確定它是一次升級(jí)。于是新版本接著從與其相關(guān)聯(lián)的SDRAM 310中取回持久性數(shù)據(jù)并將其載入其處理器300的隨機(jī)訪問存儲(chǔ)器中去。如果標(biāo)志FS沒有被置位,那么新版本將由此認(rèn)為它并不是升級(jí)版,并且不需要搜索持久性數(shù)據(jù)。
在檢索持久性數(shù)據(jù)并將其工作參數(shù)與持久性數(shù)據(jù)設(shè)置成一致之后,新版本的軟件接著在時(shí)刻t6終止在當(dāng)前版本的軟件中所提供的MMH的執(zhí)行,并奪取該網(wǎng)關(guān)的控制權(quán)。在這個(gè)階段,每個(gè)連接網(wǎng)關(guān)都是完全處于其新版本的軟件的控制之下,并重新又能夠從管理系統(tǒng)160和關(guān)守150接收指令。時(shí)刻t6表征了該連接網(wǎng)關(guān)中在線式軟件切換進(jìn)程的結(jié)束。
在在線式切換進(jìn)程期間,DSP中的軟件沒有被更新;這樣做會(huì)潛在地中斷已經(jīng)通過網(wǎng)關(guān)組130建立的通信路徑。此外,類似于當(dāng)前版本一樣,當(dāng)發(fā)生系統(tǒng)100被斷電并接著用新軟件重新啟動(dòng)的事件后,新版本的軟件也能夠使網(wǎng)關(guān)組130得以操作;因此,新版本的軟件包含了它自己的MMH,以便如果后來又需要的話也能夠從新版本的軟件切換到其他軟件。萬一在系統(tǒng)100中執(zhí)行新版本的軟件時(shí)發(fā)現(xiàn)它是有缺陷的話(譬如如果它包含的軟件漏洞僅當(dāng)在系統(tǒng)100中現(xiàn)場(chǎng)執(zhí)行新版本的軟件時(shí)才變得明顯),該過程甚至允許從新版本的軟件倒退到當(dāng)前版本。這樣倒退到當(dāng)前版本的軟件也采用附圖4中所示的進(jìn)程,除了“版本1”和“版本2”變?yōu)榉謩e新版本的軟件和當(dāng)前版本的軟件,而被調(diào)用的MMH是和包含于新版本軟件之中的那個(gè)相對(duì)應(yīng)的。
在附圖4表示的流程中,在各個(gè)網(wǎng)關(guān)保存其持久性數(shù)據(jù)之前一直等待直到各網(wǎng)關(guān)都達(dá)到穩(wěn)定狀態(tài)將極大地簡(jiǎn)化了持久性數(shù)據(jù)的復(fù)雜度,同時(shí)也簡(jiǎn)化了新版本的軟件在時(shí)刻t5和t6之間的時(shí)間段內(nèi)必須執(zhí)行的任務(wù)。如果不允許各個(gè)網(wǎng)關(guān)進(jìn)入穩(wěn)定狀態(tài),那么持久性數(shù)據(jù)的尺寸將增大得相當(dāng)多,因?yàn)樗仨毎枋霎?dāng)前版本的軟件正在執(zhí)行的任務(wù)的瞬時(shí)狀態(tài)的參數(shù),而不是已經(jīng)完成了的任務(wù)的最終狀態(tài)。實(shí)際上,當(dāng)僅僅在那里記錄最終狀態(tài)時(shí),持久性數(shù)據(jù)具有100千字節(jié)量級(jí)的尺寸。
將各個(gè)網(wǎng)關(guān)的SDRAM 310劃分成第一、第二和第三部分是由劃分給各個(gè)版本軟件的存儲(chǔ)器參數(shù)來控制的;SDRAM 310是一個(gè)連續(xù)的存儲(chǔ)器,沒有被顯著的硬連線分?jǐn)嗟膮^(qū)域。當(dāng)前和新版本的軟件被保存在SDRAM 310相異的第一和第二部分,而持久性數(shù)據(jù)保存在SDRAM 310的第三部分,并且在從管理系統(tǒng)160載入新版本的軟件時(shí)不會(huì)被覆蓋。
如果在電源中斷后又重新供電,而系統(tǒng)100中新版本的軟件在此后立即被調(diào)用,則新版本的軟件將檢查各個(gè)連接網(wǎng)關(guān)中的標(biāo)志FS,并且在標(biāo)志被設(shè)置成記錄了在上電之后還沒有更早版本的運(yùn)行軟件被執(zhí)行過的情形下,把從管理系統(tǒng)160接收到的軟件載入DSP的RAM中去。
保存在各個(gè)連接網(wǎng)關(guān)的SDRAM 310中的持久性數(shù)據(jù)可以提供下列參數(shù)的記錄(a)網(wǎng)關(guān)的當(dāng)前配置,譬如其端口Q1、Q2、Q3、Q4是否能被用來接收E1或者T1格式的通信業(yè)務(wù);(b)配置數(shù)據(jù),涉及到網(wǎng)關(guān)被包含在系統(tǒng)100中什么位置以及網(wǎng)關(guān)連接到什么;(c)涉及到系統(tǒng)100的訂戶和用戶的特許數(shù)據(jù);(d)在PCM端口從Q1到Q4和端口P1、P2之間已通過DSP建立的連接的詳情,譬如正在處理經(jīng)由網(wǎng)關(guān)的某個(gè)特定連接、以及處理DSP被配置了要執(zhí)行的過濾、加密、解密、數(shù)據(jù)壓縮和格式重構(gòu)等功能的都是哪個(gè)DSP;以及(e)剛好在保存持久性數(shù)據(jù)的前一刻在PowerQuiccII處理器300中運(yùn)行的軟件對(duì)象的狀態(tài)。
現(xiàn)在將更加詳細(xì)地描述小型媒質(zhì)處理器。除非命令連接網(wǎng)關(guān)中的DSP終止分配給它們的處理功能,否則它們都將繼續(xù)執(zhí)行指定給它們的功能;因此,為了維護(hù)DSP當(dāng)前的運(yùn)行,MMH不必向DSP發(fā)送新的指令。此外,在各個(gè)PowerQuiccII處理器300中的第二個(gè)通信控制處理器包含多個(gè)數(shù)據(jù)寄存器,而后者決定了將以太網(wǎng)數(shù)據(jù)經(jīng)由與其相關(guān)聯(lián)的PowerQuiccII處理器300送到與其相關(guān)聯(lián)的緩沖器350的路由。保證這些寄存器是被正確地設(shè)置的,并保證通信業(yè)務(wù)在端口P1、P2和DSP之間流動(dòng)時(shí)是通過緩沖器350和處理機(jī)320的,這些都是MMH的責(zé)任。MMH也必須能夠在時(shí)刻t4處理來自當(dāng)前版本軟件啟用MMH操作的軟件調(diào)用,還必須能夠在時(shí)刻t6在新版本的要求下把網(wǎng)關(guān)的軟件控制權(quán)轉(zhuǎn)移給新版本的運(yùn)行軟件。正如早些時(shí)候所描述的那樣,MMH必須能夠在沒有當(dāng)前和新版本軟件支持的條件下完成這些操作。
實(shí)際上,附圖4所表示的在線式軟件切換的進(jìn)程是相對(duì)迅速的;譬如,從t1到t2期間為了將新版本的軟件載入到連接網(wǎng)關(guān)僅需要數(shù)秒時(shí)間,從t3到t4期間等待穩(wěn)定狀態(tài)并保存持久性數(shù)據(jù)花費(fèi)最多數(shù)秒時(shí)間,因?yàn)閾芴?hào)之類的事件如果在數(shù)秒之內(nèi)沒有完成的話將超時(shí),而從t4到t6期間執(zhí)行MMH也將持續(xù)數(shù)秒的范圍。在時(shí)刻t4從執(zhí)行當(dāng)前版本的軟件轉(zhuǎn)移到執(zhí)行MMH是在一段量級(jí)為網(wǎng)絡(luò)120所提供的以太網(wǎng)通信業(yè)務(wù)中所能觀測(cè)到的典型的抖動(dòng)時(shí)間的時(shí)間段內(nèi)完成的。類似的,在時(shí)刻t6從MMH轉(zhuǎn)移到新版本的軟件也類似地在系統(tǒng)100中所觀測(cè)到的正常抖動(dòng)時(shí)間的量級(jí)之內(nèi)。因而,對(duì)于系統(tǒng)100而言,從當(dāng)前版本切換到新版本的軟件幾乎是無法察覺的,除了就在時(shí)刻t4之前當(dāng)試圖到達(dá)穩(wěn)定狀態(tài)時(shí),連接網(wǎng)關(guān)顯得對(duì)來自關(guān)守150的新的呼叫請(qǐng)求無反應(yīng);這樣的無反應(yīng)性并不相應(yīng)于經(jīng)由系統(tǒng)100的已建立連接的中斷,就像采用目前技術(shù)的通信系統(tǒng)在執(zhí)行軟件升級(jí)時(shí)會(huì)發(fā)生的那樣。因此,象上文所述那樣來運(yùn)行系統(tǒng)100,將使得網(wǎng)關(guān)能夠在不造成系統(tǒng)100操作中斷的條件下在線式地更新成新的軟件。
表格1提供了在附圖4中圖形化表示的在線式軟件切換進(jìn)程的表格化事件列表。
表格1
應(yīng)該意識(shí)到,可以在不脫離本發(fā)明的范圍內(nèi)對(duì)系統(tǒng)100進(jìn)行修改。舉例來說,DSP和PowerQuiccII設(shè)備可以分別用提供類似的通用數(shù)據(jù)處理和解釋功能的可選的專有設(shè)備來替換。PLD處理機(jī)320可以被其他能夠提供處理器300和DSP之間接口的半導(dǎo)體設(shè)備所替換。
此外,當(dāng)前和新版本的軟件可以用多種可選的方式進(jìn)行構(gòu)造來控制各個(gè)網(wǎng)關(guān)。因此,當(dāng)前和新版本的軟件可以被可選的版本所替換,只要(a)替換的版本能夠控制與其相關(guān)聯(lián)的連接網(wǎng)關(guān);而且(b)在從一個(gè)版本的軟件切換到另一個(gè)版本時(shí),可以通過調(diào)用中間性的軟件(即MMH軟件)、使用持久性數(shù)據(jù)的存儲(chǔ)來記錄連接網(wǎng)關(guān)的狀態(tài),使得網(wǎng)關(guān)的運(yùn)行能夠在可選的版本之間轉(zhuǎn)換。
在線式軟件更新的其他方法可以被用于對(duì)載入到關(guān)守150以及各個(gè)連接網(wǎng)關(guān)的DSP中的軟件進(jìn)行升級(jí);譬如,可以當(dāng)DSP不是活性地提供經(jīng)由它們的通信連接時(shí),將軟件升級(jí)版載入其中。
權(quán)利要求
1.一種在通信系統(tǒng)(100)中實(shí)現(xiàn)從執(zhí)行第一個(gè)版本的運(yùn)行軟件到執(zhí)行第二個(gè)版本的運(yùn)行軟件的在線式軟件切換的方法,系統(tǒng)(100)包含可以用軟件來控制而響應(yīng)于訂戶的要求而對(duì)連接到系統(tǒng)(100)的訂戶(110,180)之間的通信業(yè)務(wù)流進(jìn)行路由和處理的連接裝置(130,140,150),該方法的特征在于其包含步驟(a)為系統(tǒng)(100)提供執(zhí)行第一個(gè)版本的軟件的連接裝置(130);(b)在連接裝置(130)上接收到第二個(gè)版本的軟件;(c)在連接裝置(130)上接收到一條執(zhí)行在線式軟件切換的指令;(d)將至少描述通過該連接裝置建立起來的路由連接的持久性數(shù)據(jù)保存起來;(e)將連接裝置(130)的控制權(quán)從第一個(gè)版本的軟件轉(zhuǎn)移到在連接裝置(130)中執(zhí)行且能用于維護(hù)已經(jīng)通過該連接裝置(130)建立的路由連接的接口軟件(MMH);(f)與接口軟件(MMH)同時(shí)地執(zhí)行第二個(gè)版本的軟件,以使得第二個(gè)版本能夠恢復(fù)持久性數(shù)據(jù),并能夠作為響應(yīng)而對(duì)自身進(jìn)行配置;而且(g)將連接裝置的控制權(quán)從接口軟件傳遞給第二個(gè)版本的軟件。
2.根據(jù)權(quán)利要求1的方法,其中接口軟件是包含在第一個(gè)版本的軟件中的,接口軟件(MMH)能夠在得不到第一個(gè)版本的其他部分的支持的條件下用來控制該連接裝置(130)。
3. 根據(jù)權(quán)利要求1或2的方法,其中持續(xù)性的數(shù)據(jù)包含下列一項(xiàng)或多項(xiàng)(a)在保存持久性數(shù)據(jù)的情況下連接裝置(130)的狀態(tài)記錄;(b)該系統(tǒng)(100,120,170)包含連接裝置(130,140,150)的方式的記錄;(c)涉及到系統(tǒng)訂戶(110,180)和用戶的特許數(shù)據(jù);(d)所有已經(jīng)通過該連接裝置(130)建立的連接及其相關(guān)處理功能的記錄;以及(e)在保存持久性數(shù)據(jù)時(shí)運(yùn)行于連接裝置(130)中的軟件對(duì)象的狀態(tài)。
4.根據(jù)權(quán)利要求1、2或3的方法,其中在步驟(c)之后,第一個(gè)版本的軟件能被用來使得連接裝置(130)對(duì)新的訂戶通過連接裝置(130)建立訂戶(110,180)間連接的請(qǐng)求不作響應(yīng),于是使得連接裝置(130)能夠在保存持久性數(shù)據(jù)之前達(dá)到一種當(dāng)前任務(wù)業(yè)已完成的穩(wěn)定狀態(tài)。
5.根據(jù)權(quán)利要求1、2、3或4的方法,其中該系統(tǒng)(100)包含用來向連接裝置(130)下載各版本軟件以及在步驟(c)中發(fā)布執(zhí)行在線式軟件切換指令的管理裝置(160)。
6.根據(jù)權(quán)利要求5的方法,其中管理裝置(160)能被用來使用以太網(wǎng)格式得消息和連接裝置相通信。
7.根據(jù)權(quán)利要求6的方法,其中管理裝置采用SNMP協(xié)議和連接裝置(130)通信。
8.根據(jù)前述任一權(quán)利要求的方法,其中連接裝置(130)能被用于在以太網(wǎng)通信業(yè)務(wù)和E1或T1格式的脈碼調(diào)制(PCM)的通信業(yè)務(wù)之間接口。
9.根據(jù)前述任一權(quán)利要求的方法,其中連接裝置(130)包含多個(gè)連接網(wǎng)關(guān)(200),各個(gè)網(wǎng)關(guān)(200)包含主處理器(300)和一個(gè)數(shù)字信號(hào)處理器(DSP)的陣列(330),而主處理器能被用來接收路由指令以及通過信號(hào)處理器分配連接路由以便提供訂戶(110,180)之間的通信路徑。
10.根據(jù)權(quán)利要求9的方法,其中各個(gè)網(wǎng)關(guān)(200)中的主處理器(300)能被用來處理以太網(wǎng)格式的通信業(yè)務(wù)而DSP能被用來處理PCM通信業(yè)務(wù),主處理器(300)能被用來與DSP們通信,由此通過該網(wǎng)關(guān)來提供以太網(wǎng)格式(P1,P2)與PCM E1或T1格式(Q1,Q2,Q3,Q4)之間通信業(yè)務(wù)的翻譯。
11.根據(jù)權(quán)利要求9或10的方法,其中接口軟件能在步驟(e)和(f)中被用來維護(hù)流經(jīng)主處理器(300)的以太網(wǎng)通信業(yè)務(wù)流。
12.根據(jù)權(quán)利要求9、10或11的方法,其中各個(gè)網(wǎng)關(guān)的陣列(330)中所合并的DSP是按行劃分成組的,其中每一行分別用硬連線連接到網(wǎng)關(guān)的一個(gè)相應(yīng)的PCM通信業(yè)務(wù)端口(Q1,Q2,Q3,Q4)。
13.根據(jù)權(quán)利要求9、10、11或12的方法,其中主處理器(300)是連接到相關(guān)聯(lián)的存儲(chǔ)器裝置(310)的,而在步驟(c)中第二個(gè)版本的軟件是被裝載到存儲(chǔ)器裝置的第二個(gè)部分的,以便不會(huì)覆蓋駐留在存儲(chǔ)器裝置(310)的第一個(gè)部分中第一個(gè)版本的軟件。
14.根據(jù)從權(quán)利要求9到13中任一項(xiàng)的方法,其中主處理器(300)連接到相關(guān)聯(lián)的存儲(chǔ)器裝置(310)以便在步驟(d)中將持久性數(shù)據(jù)存入其中的第三個(gè)部分,而當(dāng)?shù)谝粋€(gè)和第二個(gè)版本的軟件裝載到存儲(chǔ)器裝置(310)時(shí)不會(huì)覆蓋這第三部分。
15.根據(jù)從權(quán)利要求9到14中任一項(xiàng)的方法,其中駐留于信號(hào)處理器的隨機(jī)訪問存儲(chǔ)器中并控制信號(hào)處理器操作的軟件在步驟(c)到(g)中是保持不被更新的。
16.根據(jù)前述任一權(quán)利要求的方法,其中在系統(tǒng)(100)的電源中斷之后被調(diào)用時(shí),第一個(gè)和第二個(gè)版本的軟件都能夠用來使得連接裝置(130)在系統(tǒng)中發(fā)揮功能。
17.根據(jù)前述任一權(quán)利要求的方法,其中連接裝置(130)在非易失性存儲(chǔ)器中包含存儲(chǔ)于其中的基本運(yùn)行軟件,該基本運(yùn)行軟件能被用來設(shè)置標(biāo)記性裝置(FS)以便第二個(gè)版本的軟件能根據(jù)該標(biāo)記性裝置(FS)來確定它是在系統(tǒng)(100)電源中斷后被調(diào)用,還是在系統(tǒng)(100)中執(zhí)行在線式軟件切換時(shí)被調(diào)用。
18.一種能夠根據(jù)前述任一權(quán)利要求所聲明的方法來運(yùn)行的通信系統(tǒng)(100)。
19.一種能夠根據(jù)權(quán)利要求1到17中任意一項(xiàng)所聲明的方法來運(yùn)行的連接網(wǎng)關(guān)(200)。
全文摘要
本發(fā)明在通信系統(tǒng)(100)中提供一種實(shí)現(xiàn)從執(zhí)行第一個(gè)版本的操作軟件到執(zhí)行第二個(gè)版本的操作軟件的在線式的軟件切換方法。系統(tǒng)(100)包含可以用該軟件控制來響應(yīng)于訂戶的要求而對(duì)連接到系統(tǒng)(100)的訂戶之間的通信業(yè)務(wù)流進(jìn)行路由和處理的連接網(wǎng)關(guān)(130,200)。該方法包括如下步驟為系統(tǒng)(100)提供執(zhí)行第一個(gè)版本的軟件的網(wǎng)關(guān);在網(wǎng)關(guān)上接收到第二個(gè)版本的軟件;在網(wǎng)關(guān)上接收到一條執(zhí)行在線式軟件切換的指令;至少將描述通過該網(wǎng)關(guān)建立起來的路由連接的持久性數(shù)據(jù)保存起來;將網(wǎng)關(guān)的控制權(quán)從第一個(gè)版本的軟件轉(zhuǎn)移到在網(wǎng)關(guān)中執(zhí)行且能用于維護(hù)已經(jīng)通過網(wǎng)關(guān)建立的路由連接的小型媒質(zhì)處理器(MMH)軟件;與MMH軟件同時(shí)地執(zhí)行第二個(gè)版本的軟件,以使第二個(gè)版本能夠恢復(fù)持久性數(shù)據(jù),并能夠作為響應(yīng)而對(duì)自身進(jìn)行配置;將網(wǎng)關(guān)的控制權(quán)從MMH軟件傳遞給第二個(gè)版本的軟件。本發(fā)明提供了在不會(huì)導(dǎo)致通過網(wǎng)關(guān)傳遞的通信業(yè)務(wù)中斷的條件下,網(wǎng)關(guān)能夠從執(zhí)行第一個(gè)版本的軟件切換到執(zhí)行第二個(gè)版本的軟件的優(yōu)越性。
文檔編號(hào)G06F11/00GK1440612SQ01812381
公開日2003年9月3日 申請(qǐng)日期2001年4月27日 優(yōu)先權(quán)日2000年5月4日
發(fā)明者P·N·馬丁, I·斯帕里, W·A·林賽, K·M·拉尼, R·H·格林 申請(qǐng)人:馬科尼通訊有限公司