專利名稱:網(wǎng)絡(luò)設(shè)備的自動化批量配置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一個計算機網(wǎng)絡(luò)中多個設(shè)備的自動化配置。
背景技術(shù):
因特網(wǎng)和其它網(wǎng)絡(luò)的增長鼓勵許多行業(yè)通過連接多個設(shè)施來交換數(shù)據(jù)。這些設(shè)施通常非常多并且分散在廣大的地域內(nèi)。由此,這通常要求安裝眾多的網(wǎng)關(guān)、路由器、交換機和其他網(wǎng)絡(luò)控制設(shè)備,以便于在各種設(shè)施之間路由和/或者控制數(shù)據(jù)的傳送。這些設(shè)備也執(zhí)行重要的保護(hù)功能。如僅為一個示例所示,一些設(shè)備作為防火墻以防止對一個商業(yè)計算機網(wǎng)絡(luò)的未授權(quán)的訪問。另一些設(shè)備也可以(或作為選擇)在設(shè)施之間提供一個虛擬專用網(wǎng)絡(luò)(VPN),以防止對設(shè)施間通信的未授權(quán)訪問。一些設(shè)備可以作為代理服務(wù)器,并且提供對網(wǎng)絡(luò)、因特網(wǎng)和其他由多個個人工作站組成的網(wǎng)絡(luò)的訪問。一些設(shè)備可以被配置為用以限制對特定工作站或工作站組可用的網(wǎng)絡(luò)訪問類型。還可以執(zhí)行眾多的路由、訪問控制、保護(hù)和其他功能。
每個網(wǎng)絡(luò)控制設(shè)備的操作通常被操作系統(tǒng)和存儲在設(shè)備中并被設(shè)備執(zhí)行的應(yīng)用軟件來管理。這些軟件(操作系統(tǒng)和應(yīng)用程序)通常有大量的可配置參數(shù),為使網(wǎng)絡(luò)設(shè)備執(zhí)行期望的操作,這些參數(shù)必須被設(shè)置為具體的值。在一個網(wǎng)絡(luò)里,許多參數(shù)的設(shè)置對于大量設(shè)備通常都是相同的。例如,服務(wù)器地址、訪問政策、文件傳輸大小限制、將使用的本地時間、在出錯情況下執(zhí)行的各種步驟、傳送的警告,等等。設(shè)置這些參數(shù)通常要求與每個設(shè)備都建立一個連接,并且使用命令行接口(CLI)或者其它允許輸入命令的命令shell(命令處理系統(tǒng))。之后,不同的命令被發(fā)送給設(shè)備,并由設(shè)備執(zhí)行以設(shè)置軟件參數(shù)。這些命令的形式和語法通常取決于操作系統(tǒng)的版本或者運行在設(shè)備上的應(yīng)用軟件。
遠(yuǎn)程地配置多個網(wǎng)絡(luò)控制設(shè)備給網(wǎng)絡(luò)管理人員帶來了多種問題。在新設(shè)備的大量部署中,設(shè)備中的一個或者兩個通常被帶到實驗室或者其它的設(shè)施,并且對其進(jìn)行試驗以確定該設(shè)備的標(biāo)準(zhǔn)配置。然后,記錄配置所在網(wǎng)絡(luò)中。從一個或者多個遠(yuǎn)程位置,網(wǎng)絡(luò)人員通過網(wǎng)絡(luò)單個地訪問每要求的軟件,以及該軟件的參數(shù)。剩余的新設(shè)備然后被物理地放置個新設(shè)備,并且輸入設(shè)備專用命令以與標(biāo)準(zhǔn)配置一致地對設(shè)備進(jìn)行配置。這個過程是勞動力密集的、耗時的并且昂貴的。進(jìn)一步,通過人類操作員一臺設(shè)備接一臺設(shè)備地配置通常需要單調(diào)且重復(fù)的命令輸入,并且容易出現(xiàn)人為錯誤。
當(dāng)重新配置多個已經(jīng)安裝在網(wǎng)絡(luò)中的設(shè)備時,這些問題會變得更加尖銳。例如,在一組網(wǎng)絡(luò)控制設(shè)備中的所有設(shè)備可能不是物理上同類的。設(shè)備可以使用不同版本的操作系統(tǒng)和/或者應(yīng)用軟件。當(dāng)有必要在組中重新配置或者調(diào)整設(shè)備的配置時,在設(shè)備上的不同軟件可能要求不同的設(shè)置和/或者不同的用于更改設(shè)置的命令。這進(jìn)一步復(fù)雜了網(wǎng)絡(luò)管理人員的任務(wù)。除了訪問和配置每個獨立設(shè)備,管理人員還必須識別設(shè)備運行的具體軟件,以及任何可以影響如何訪問和配置該設(shè)備的其它相關(guān)的設(shè)備專用信息。之后,網(wǎng)絡(luò)人員必須為每個設(shè)備/軟件組合維護(hù)一個單獨的配置數(shù)據(jù)和/或者指令集合,并且必須針對每個設(shè)備使用正確的數(shù)據(jù)和/或者指令集合。這些額外的復(fù)雜性會使得任務(wù)更加的耗時、昂貴和易于出錯。
發(fā)明內(nèi)容
本發(fā)明允許根據(jù)期望的配置描述記錄(profile)對多個網(wǎng)絡(luò)控制設(shè)備進(jìn)行自動地和遠(yuǎn)程地配置。部署給定的配置描述記錄可以包括設(shè)置軟件參數(shù)、啟用或者禁用軟件、安裝新軟件和卸載現(xiàn)有軟件這些操作中的任何一個。提供配置描述記錄,且其中包括可應(yīng)用于多個網(wǎng)絡(luò)控制設(shè)備的配置數(shù)據(jù)。與這些設(shè)備建立連接??梢詮拿總€設(shè)備中獲得識別信息,該信息可以然后被用來識別合適的配置部署例行程序集合。一旦被識別,例行程序集合被用來為每個設(shè)備將配置數(shù)據(jù)從配置描述記錄轉(zhuǎn)換為設(shè)備專用命令。配置命令然后被傳送到該設(shè)備上。在一些實施例中,這些命令可以一次發(fā)送一個,且獲得關(guān)于配置命令已經(jīng)被設(shè)備正確執(zhí)行的應(yīng)答和/或者確認(rèn)。在其它實施例中,配置命令可以采用腳本或者批量的形式。在一些實施例中,配置描述記錄以可擴展標(biāo)記語言(XML)格式或者其它標(biāo)記語言格式進(jìn)行存儲。
圖1是表示本發(fā)明可以在其上實施的網(wǎng)絡(luò)控制設(shè)備集合和示例性網(wǎng)絡(luò)的框圖。
圖2A是解釋根據(jù)本發(fā)明的一個實施例的設(shè)備配置數(shù)據(jù)提取和將數(shù)據(jù)寫入XML配置文件的框圖。
圖2B解釋了使用XML格式的示例性標(biāo)準(zhǔn)配置文件的一部分。
圖2C是圖2B中的示例性配置文件的延續(xù)。
圖2D是圖2C中的示例性配置文件的延續(xù)。
圖3是表示根據(jù)本發(fā)明的一個實施例,在網(wǎng)絡(luò)中的多個設(shè)備中的配置部署初始化的框圖。
圖4是表示從設(shè)備中取得初始識別數(shù)據(jù)以及將數(shù)據(jù)映射到合適的部署例行程序集合中的框圖。
圖5是表示,根據(jù)本發(fā)明的一個實施例將配置數(shù)據(jù)從XML配置文件翻譯成設(shè)備專用命令以及將命令傳送到設(shè)備的框圖。
圖6A-6C是表示本發(fā)明的不同實施例的操作的流程圖。
具體實施例方式
本發(fā)明允許一組網(wǎng)絡(luò)控制設(shè)備的自動配置。如這里所用到的,“網(wǎng)絡(luò)控制設(shè)備”(或者簡單地“設(shè)備”)包括網(wǎng)關(guān)、路由器、交換機、網(wǎng)橋、代理服務(wù)器以及其它位于網(wǎng)絡(luò)中的在其它點之間路由的或者允許在網(wǎng)絡(luò)中的其它點之間進(jìn)行通信的物理設(shè)備。這些其它點可以是單個工作站、與主機計算機進(jìn)行通信的客戶計算機(反之亦然)、其它網(wǎng)絡(luò)控制設(shè)備、試圖訪問網(wǎng)絡(luò)中的計算機的外部(相對于網(wǎng)絡(luò))計算機,或者其它任何能夠進(jìn)行數(shù)據(jù)通信的組件或者組件的集合。本發(fā)明通過參考采用具體數(shù)據(jù)格式(可擴展標(biāo)記語言,或者XML)和編程語言(位于加州,santa clara的SUN微系統(tǒng)公司的Java編程語言)的實施例進(jìn)行描述。但是,任何指出的數(shù)據(jù)格式、編程語言、硬件或者軟件僅僅是作為例子,而并不作為本發(fā)明的限制,除非在權(quán)利要求中特定地對其進(jìn)行了敘述。本發(fā)明可以使用其它數(shù)據(jù)格式、編程語言、硬件和軟件實現(xiàn)。
圖1是表示分散在數(shù)據(jù)通信網(wǎng)絡(luò)1中的多個網(wǎng)絡(luò)控制設(shè)備的示例的框圖。網(wǎng)絡(luò)云10可以是因特網(wǎng),可以是一個或者多個互連的廣域網(wǎng)和/或者局域網(wǎng),或者可以是其它任何數(shù)據(jù)通信網(wǎng)絡(luò)。連接到網(wǎng)絡(luò)10并通過網(wǎng)絡(luò)10進(jìn)行通信的是眾多網(wǎng)絡(luò)控制設(shè)備12,它們單個地用參考標(biāo)號12a、12b、12c、12d、12e、12f和12n標(biāo)識。設(shè)備12可以是防火墻、網(wǎng)關(guān)、路由器、交換機、網(wǎng)橋、代理服務(wù)器或者其它設(shè)備。通過每個設(shè)備12進(jìn)行通信的是一些遠(yuǎn)程點14。遠(yuǎn)程點14可以是與一個或者多個中央主機或者其它客戶進(jìn)行通信的客戶計算機、具有更加有限功能的銷售終端或者其它計算機、數(shù)據(jù)庫或者其它服務(wù)器,或者與其它任何能夠進(jìn)行數(shù)據(jù)通信的組件或者組件的集合。一些設(shè)備12可以通過網(wǎng)絡(luò)10將遠(yuǎn)程點14和其它設(shè)備12以及網(wǎng)絡(luò)中的其它點連接起來,而一些設(shè)備12可以直接連接到其它設(shè)備12。
在圖1中所示的還有主機計算機8。主機計算機8與設(shè)備12通信,并且包含用于監(jiān)測和/或者另外地控制設(shè)備12的管理軟件20。主機計算機8可以進(jìn)一步監(jiān)測和/或者控制操作網(wǎng)絡(luò)1的其它方面。除了管理設(shè)備12,主機8可以執(zhí)行其它的功能,并且實際上可以執(zhí)行與網(wǎng)絡(luò)管理無關(guān)的功能。在網(wǎng)絡(luò)中可以有多個主機計算機8,并且主機8的管理功能可以在多個計算機中分布。訪問主機計算機8的是管理客戶10,其可以是一個單獨的計算機工作站。例如,管理客戶10可以代表網(wǎng)絡(luò)管理員用來通過局域網(wǎng)連接3登錄到主機計算機8的便攜式計算機或者臺式計算機??蛇x地,管理客戶10可以距離主機8更遠(yuǎn)(例如,作為遠(yuǎn)程點14之一進(jìn)行操作)。管理客戶10和主機計算機8也可能被組合到一個計算機中。
圖2A表示了一個控制設(shè)備12’,其類似于圖1中的設(shè)備12,并且其可以被用來配置網(wǎng)絡(luò)1中的其它設(shè)備。將各種軟件裝載到設(shè)備12’中以實現(xiàn)要求的功能,并且設(shè)置軟件的各種參數(shù)。設(shè)備12’的配置可以通過試驗、公司內(nèi)部策略、系統(tǒng)要求,和/或者其它因素進(jìn)行確定,并且其被指定為可以被網(wǎng)絡(luò)1中的類似設(shè)備所使用的標(biāo)準(zhǔn)配置描述記錄。該配置描述記錄中的數(shù)據(jù)然后通過使用配置提取軟件21提取出來,并且轉(zhuǎn)換成配置文件22。在一個優(yōu)選的實施例中,配置文件22使用可擴展標(biāo)記語言(XML)格式。如圖2A所示,盡管提取和轉(zhuǎn)換功能也可以由一個或者多個單獨的軟件程序執(zhí)行,提取軟件21可以作為網(wǎng)絡(luò)管理軟件20的一部分。在一個優(yōu)選的實施例中,提取軟件21與設(shè)備12’建立本地或者網(wǎng)絡(luò)連接。設(shè)備12’然后提供命令行接口(CLI)或者其它命令shell,其中具體命令可以通過命令行接口或者其它命令shell提供給該設(shè)備,并且設(shè)備12’把請求的關(guān)于其軟件和軟件設(shè)置的信息提供給命令行接口(CLI)或者其它命令shell作為響應(yīng)。提取軟件21可以發(fā)布一系列這種命令(如箭頭17所表示),設(shè)備12’則提供配置數(shù)據(jù)(如箭頭19所表示)作為響應(yīng)。提取軟件21然后將配置數(shù)據(jù)轉(zhuǎn)換成XML格式,并且將數(shù)據(jù)存儲為配置文件22。在一個優(yōu)選的實施例中,提取軟件21包括一個或者多個用于自動提取配置數(shù)據(jù)的具有合適“get”方法的Java類。
圖2B-2D是使用XML格式的示例配置文件,例如配置文件22,的注解部分。這些所示的部分僅僅解釋了配置描述記錄數(shù)據(jù)的類型和其它這種配置文件可能包含的信息。其它的配置文件不一定必須具有在圖2B-2D中表示的所有信息,且可以包含其它信息。其它的配置文件可能具有不同的排列,可能使用不同的XML標(biāo)簽,并且可以以除了XML之外的格式進(jìn)行編寫。標(biāo)簽24標(biāo)記了形成配置文件的“config”要素的開始。要素26(“configName”)和28(“configDescription”)提供了關(guān)于具體配置描述記錄的額外標(biāo)識信息,包括配置描述記錄的名字(“標(biāo)準(zhǔn)配置”)和配置描述記錄的描述(在此例中為示例公司防火墻的標(biāo)準(zhǔn)配置)。要素30(“deviceType”)標(biāo)識了配置描述記錄所針對的硬件的類型。標(biāo)簽32表示“commonConfig”要素的開始。在此例中,該要素包括對于在網(wǎng)絡(luò)1中一組網(wǎng)絡(luò)控制設(shè)備,例如設(shè)備12,都相同的軟件設(shè)置。標(biāo)簽34表示“platform”要素的開始,并且包括用于標(biāo)識在此例的配置描述記錄中使用的操作系統(tǒng)軟件的多個屬性/值對(例如,“name=“OS-3.5-0.0-0.0””)。換句話說,在該特別的描述記錄下操作的設(shè)備將具有版本為3.5-0.0-0.0的“OS”操作系統(tǒng)。進(jìn)一步,在該配置描述記錄下操作的設(shè)備可以被配置成可以接受其操作系統(tǒng)將來的升級(“UpgradeOSIfRequired=“true””)。
要素36包含了被設(shè)備12所使用的域名服務(wù)器(DNS)的配置數(shù)據(jù)。要素38包含了用于配置設(shè)備內(nèi)的內(nèi)部系統(tǒng)故障例行程序的數(shù)據(jù),例如標(biāo)識了電子郵件錯誤信息將發(fā)往何處。在該例中,具有該配置描述記錄進(jìn)行操作的設(shè)備在發(fā)生系統(tǒng)故障時將發(fā)送電子郵件到j(luò)ones@examplecompany.com。要素40包含用于配置設(shè)備所使用的本地時間的數(shù)據(jù),以及要素42包含用于設(shè)備的各種系統(tǒng)日志和安全特征的配置信息。要素44包括用于文件傳輸協(xié)議(FTP)和遠(yuǎn)程登陸(Telnet)通信的配置數(shù)據(jù)。要素46包括用于可以在設(shè)備上安裝的應(yīng)用程序的配置數(shù)據(jù)。作為該例的一部分,在該配置描述記錄下操作的設(shè)備將具有稱為“AppName”的應(yīng)用程序,并且AppName的“parameterl”將被置成“true”。
標(biāo)簽47標(biāo)記“configAction”要素的開始。該要素可以被用來標(biāo)識可能與設(shè)備配置一起(或之后)執(zhí)行的各種動作。例如,“fileTransferAction”要素48可以被用來將文件從服務(wù)器上傳到設(shè)備。要素50(“scriptAction”)包括標(biāo)識那些腳本文件所位于的設(shè)備可能運行的各種腳本文件(或批處理文件),以及用于那些腳本文件的各種參數(shù)的數(shù)據(jù)。“executeCommand”要素(沒有標(biāo)識)可以被用來使設(shè)備執(zhí)行一個單一命令。
圖2B-2D中的各種要素和屬性/值對僅僅是一些例子,且眾多其它類型的數(shù)據(jù)可以被包含在配置文件中,例如包含在配置文件22。其它的例子包括,但是不局限于用于路由表的靜態(tài)條目、郵件服務(wù)器IP地址、多種安全腳本、命令和文件、Secure Shell(SSH)要素、Secure Socket Layer(SSL)和其它安全連接的啟用,以及它們的參數(shù)、授權(quán)連接數(shù)量的限制、訪問權(quán)限、超時長度、登錄過渡期,等等。如上所示,除了用于軟件參數(shù)的指定設(shè)置,特定的配置描述記錄也可以要求設(shè)備具有特定的操作系統(tǒng)(或者操作系統(tǒng)版本)和特定的應(yīng)用軟件(或者應(yīng)用軟件版本)。所示的XML語言僅僅是一個可能的例子,語法可以不同。類似地,配置文件不一定必須使用XML格式,或者任何其它特定格式。任何提供足夠的關(guān)于設(shè)備參數(shù)的元數(shù)據(jù)的格式都可以被使用。
在圖2B-2D中,各種IP地址用字母來指示(例如,“xxx.xxx.xxx.xxx”)。這僅僅是出于說明的目的;現(xiàn)實中,會使用具有數(shù)字的合法IP地址。類似地,要素48和50中的星號也僅僅是出于說明的目的,并且代表眾多其它可以使用的可能值。圖2B-2D中的其它示例信息也僅僅是出于說明的目的,且不作為本發(fā)明的限制。
將配置文件22(圖2A)存儲起來,并且其可以被網(wǎng)絡(luò)管理軟件20訪問??梢詼?zhǔn)備和存儲多個配置文件,以便反映不同的配置。這些不同的配置可以處理對于不同地域的不同配置設(shè)置的要求(例如,一組設(shè)備可以被配置成發(fā)送錯誤報告給在一個城市里的系統(tǒng)管理員,而另一組設(shè)備可以被配置成發(fā)送錯誤報告給在不同城市里的另一個系統(tǒng)管理員)。不同的配置對處理各個設(shè)備上的硬件和軟件的差別也可能是必要的。
圖3-5表示在本發(fā)明的一個實施例中如何使用配置文件22(或者其它的配置文件)以配置網(wǎng)絡(luò)1中的多個設(shè)備12。如圖3所示,網(wǎng)絡(luò)管理員使用管理客戶10來訪問主機8上的配置部署軟件25。使用部署軟件25(其可以是網(wǎng)絡(luò)管理軟件20的一部分,或者可以是單獨的應(yīng)用程序),管理員識別將被配置的設(shè)備和將在這些設(shè)備上部署的配置描述記錄。如圖3所示,可以向管理員示出一個或者多個視屏11a,其允許管理員選擇將要被配置的設(shè)備。視屏11a可以使用電子表格格式或者其它任何圖形用戶界面或者其它格式。然后,可以向管理員示出一個或多個視屏11b,其允許管理員從中選擇配置描述記錄。還可以利用圖形用戶界面和其它格式向管理員示出這些選擇,且管理員可以具有各種其它的配置選擇。例如,管理員可以能夠擴展特定的描述記錄,并且選擇將部署描述記錄內(nèi)的哪個單個設(shè)置。盡管只有3個設(shè)備12(12a,12b和12c)在圖3中被標(biāo)記為配置,任何數(shù)量的設(shè)備(1000或者更多)都可以被配置。每個可部署的配置描述記錄被存儲為單獨的配置文件(例如圖2A中的配置文件22)。
一旦管理員識別將被配置的設(shè)備和將被部署的配置,部署軟件25打開與每個設(shè)備12的網(wǎng)絡(luò)連接。在一個優(yōu)選的實施例中,部署軟件25可以通過多程序線程打開到多個設(shè)備的連接。如圖4所示,部署軟件25首先向每個設(shè)備12詢問識別信息,例如安裝在設(shè)備上的操作系統(tǒng)軟件的版本;可以獲得其它初始識別信息(例如裝載在設(shè)備上的應(yīng)用軟件的標(biāo)識)。部署軟件25然后查找文件30(其也可以使用XML格式),該文件將來自設(shè)備的初始識別信息映射成對應(yīng)于從該設(shè)備獲得的初始識別信息的一組配置部署例行程序或者過程。文件30可以被單獨地制定,并且可以參考被開發(fā)用來處理設(shè)備的不同硬件或者軟件的差異的眾多部署例行程序集合。如這里用到的,“例行程序集合”一般是指將一些或者所有配置數(shù)據(jù)(存儲在配置文件中)轉(zhuǎn)換成設(shè)備專用命令的程序指令和/或者數(shù)據(jù)的集合,其中設(shè)備專用指令用于配置具有事先存在的設(shè)置的特定組合的設(shè)備(例如,特定的操作系統(tǒng)版本,特定的操作系統(tǒng)版本以及應(yīng)用程序軟件的某種組合,特定的硬件類型,等等)。這種例行程序集合可以處理,例如,對特定操作系統(tǒng)版本的具體命令語法或者格式要求。在一個優(yōu)選的實施例中,每一個唯一的用于設(shè)備的初始識別信息的組合對應(yīng)于不同的Java編程語言類。Java類通過使用“reflection”應(yīng)用編程接口進(jìn)行裝載且被實例化;每一個類可以具有“set”方法,以便將配置數(shù)據(jù)(來自XML配置文件)轉(zhuǎn)換成設(shè)備專用命令,從而配置設(shè)備。
如圖4所示,設(shè)備12a傳輸消息,該消息指示設(shè)備具有操作系統(tǒng)的3.1版本(“OSv.3.1”)。部署軟件25然后在文件30中搜索相應(yīng)的部署例行程序集合,并且識別“部署例行程序集合70”。部署軟件25然后裝載該部署例行程序集合。在該例行程序集合中的各種例行程序然后將對應(yīng)于被選擇的配置描述記錄的配置文件中的配置數(shù)據(jù)翻譯成一個或者多個設(shè)備專用命令。如果,例如,用于設(shè)置參數(shù)的特定命令已經(jīng)從操作系統(tǒng)版本3.0變成操作系統(tǒng)版本3.1,則部署例行程序集合70能夠為設(shè)備12a產(chǎn)生正確的命令。如果相反設(shè)備12a具有操作系統(tǒng)版本3.0,則將選擇另一個部署例行程序集合。作為部署被選擇的配置描述記錄過程的一部分,部署軟件25也可以升級設(shè)備12a上的操作系統(tǒng)或者應(yīng)用軟件。新軟件也可能被裝載。例如,圖2B-2D的樣本文件中提出的配置描述記錄要求安裝操作系統(tǒng)版本3.5。但是,如圖4中所反映的,設(shè)備12a當(dāng)前具有操作系統(tǒng)版本3.1。為了完全部署配置描述記錄,必須下載操作系統(tǒng)版本3.5并且將其安裝在設(shè)備12a上。相應(yīng)地,部署例行程序集合70能夠產(chǎn)生合適的命令,以便在設(shè)備12a上下載和安裝新版本。
圖5進(jìn)一步說明了部署某些來自XML配置文件的配置參數(shù)到設(shè)備12a上。通過從“configItem”要素中讀取服務(wù)器地址信息,部署軟件25向設(shè)備12a產(chǎn)生合適的命令41以設(shè)置DNS配置,并且通過仍開通的網(wǎng)絡(luò)連接將命令41傳送到設(shè)備12a。設(shè)備12a可以發(fā)送確認(rèn)消息應(yīng)答配置更改。接收到應(yīng)答后,然后部署軟件25可以產(chǎn)生另一個命令,以更改其它參數(shù),且該過程可以持續(xù)到所有的參數(shù)都已被設(shè)置為止。
在一個優(yōu)選的實施例中,配置描述記錄部署以一次設(shè)置一個單獨的配置參數(shù)的方式執(zhí)行。在這種方式中,如果特定的配置命令失敗,則可以進(jìn)行更加細(xì)致的錯誤處理??蛇x地,部署軟件25可以將配置文件轉(zhuǎn)換成包含一系列命令的腳本文件以設(shè)置多個單獨的配置參數(shù),并且將腳本下載到設(shè)備12上以批量執(zhí)行這些命令。例如,如果配置文件使用XML格式,則XML文件可以被轉(zhuǎn)換成(通過可擴展樣式表語言轉(zhuǎn)換(XSLT))配置腳本,該配置腳本專用于裝載在特定設(shè)備上的操作系統(tǒng)和/或者應(yīng)用程序??梢詾槊恳粋€設(shè)備產(chǎn)生一個單獨的腳本。每一個腳本可以被下載到它的目標(biāo)設(shè)備上。然后,每一個目標(biāo)設(shè)備可以然后執(zhí)行它的腳本。
圖6A和圖6B是說明根據(jù)本發(fā)明的一個實施例的處理過程的操作的流程圖。該處理過程可以從確定新配置文件是否必須被產(chǎn)生開始(判斷框102)。如果是這樣,來自被配置的設(shè)備(例如,上述的設(shè)備12’)的配置數(shù)據(jù)在方框110處進(jìn)行提取。在方框112處,被提取的配置數(shù)據(jù)被轉(zhuǎn)換成XML文件,然后在方框114處對其進(jìn)行存儲。提取(方框110)和轉(zhuǎn)換(方框112)可以參照圖2A如同以上所述來實現(xiàn)。在方框116處,確定配置文件是否將要被部署。如果不需要,則該處理過程結(jié)束。否則,該處理過程通過連接符A繼續(xù)執(zhí)行圖6B中表示的步驟。如果新配置文件不需要被產(chǎn)生,則直接從方框102進(jìn)入到判斷框116執(zhí)行。
如果需要部署配置描述記錄,則首先在方框118處選擇要被配置的設(shè)備。接下來,在方框120處選擇配置描述記錄。在方框122處,提供了編輯配置的機會。在一個可選方案中,對用于該描述記錄的配置文件進(jìn)行了實際的修改(即,實際的文件被修改)。在另一可選方案中,該描述記錄的更改可以暫時存儲起來,并且以后用來修改部署例行程序的執(zhí)行。這些可選方案(或者其它可選方案)中的任一個可以通過GUI提供給用戶,其中GUI允許擴展選擇的描述記錄以及選擇/取消選擇各個配置參數(shù)。配置描述記錄可以因此被修改而不用物理上重新配置設(shè)備(例如,設(shè)備12),以及重新提取配置數(shù)據(jù)。如果,例如,服務(wù)器的IP地址在配置文件最初產(chǎn)生之后發(fā)生變化,則可以打開配置文件并且可以更改成合適的IP地址。在一個優(yōu)選的實施例中,配置文件使用XML格式,并且可以使用多種商業(yè)上可購買的XML編輯器進(jìn)行編輯,或者使用簡單的文本編輯器編輯。
如果決定編輯配置,則在方框124處進(jìn)行更改。如果在方框122處不要求配置編輯,則處理過程忽略方框124。然后在方框126處確定是否存在任何已選擇的還需要配置的設(shè)備。如果有,在步驟128建立到下一個將要被配置的設(shè)備的連接。在一個優(yōu)選的實施例中,這個連接通過secure shell(SSH)或者其它安全連接進(jìn)行建立。在連接到設(shè)備后,在方框130處取得初始識別數(shù)據(jù)(例如,當(dāng)前操作系統(tǒng)版本和應(yīng)用程序軟件)。初始識別數(shù)據(jù)然后在方框132處被映射為Java類。這個類(或者其它例行程序集合)然后在方框134處進(jìn)行裝載。隨后,在方框136處基于部署例行程序集合、被選擇的配置描述記錄的配置文件以及任何對配置文件中的信息的編輯(或者其它更改),產(chǎn)生設(shè)備專用命令。
在方框138處,確定是否還有任何命令(在方框136處產(chǎn)生的)需要被發(fā)送到該設(shè)備。如果有,在方框140處發(fā)送下一個命令。在一個優(yōu)選的實施例中,該命令進(jìn)行排序,以便首先,如果要求,安裝新的操作系統(tǒng)(或者操作系統(tǒng)版本),安裝任何新的應(yīng)用軟件(或版本),啟用/禁用新軟件的特征,并且然后設(shè)置其它配置參數(shù)。在方框142處,從該設(shè)備接收該命令已經(jīng)被執(zhí)行的應(yīng)答或者其它確認(rèn)。該確認(rèn)可以是自動的,或者從發(fā)自部署軟件(作為步驟140一部分)以確認(rèn)部署命令的執(zhí)行的命令中產(chǎn)生的。在部署命令被確認(rèn)之后,執(zhí)行返回至方框138。如果還有另外的部署命令,則該循環(huán)繼續(xù),一直到所有的命令都已被發(fā)送且確認(rèn)為止。如果沒有剩下部署命令,則該處理過程返回至方框126,并且配置下一個設(shè)備。如果在方框126沒有剩下的設(shè)備需要配置,則該處理過程結(jié)束。
圖6C表示圖6B中所示的處理過程的另一種可選方案。步驟118’,120’,122’,以及124’基本上和圖6B中的相同。但是,圖6C中的處理過程有少量的改動以便多個設(shè)備同時在多個程序線程上配置。步驟130’,132’,134’,136’,138’,140’以及142’基本上和圖6B中的步驟130-142相同,但是它們對于多個設(shè)備是并行執(zhí)行的。
盡管已經(jīng)對實現(xiàn)本發(fā)明的具體例子進(jìn)行了描述,本領(lǐng)域的技術(shù)人員將意識到,上述系統(tǒng)和方法的眾多變化和改變都可以包括在附屬權(quán)利要求中闡述的本發(fā)明的精神和范圍內(nèi)。例如,機器可讀的介質(zhì)可以在其上存有機器可讀的指令,這樣當(dāng)指令由合適的設(shè)備(或設(shè)備們)讀取和執(zhí)行時,根據(jù)本發(fā)明的方法的步驟就被執(zhí)行。如上所示,其它除了或者取代XML的格式也可以被實現(xiàn)。類似地,也可以使用不同的編程語言。上述的多種過程和步驟也可以被重新安排并且它們可以在多個硬件平臺和軟件應(yīng)用程序上分布地執(zhí)行。這些和其它的修改在本發(fā)明附屬權(quán)利要求限定的范圍之內(nèi)。
權(quán)利要求
1.一種用于在數(shù)據(jù)通信網(wǎng)絡(luò)中配置多個設(shè)備的機器可執(zhí)行方法,包括提供具有配置數(shù)據(jù)的配置描述記錄,其中配置數(shù)據(jù)指定了對多個設(shè)備中的每一個都適用的多個配置參數(shù);從每一個設(shè)備取得識別數(shù)據(jù);為每一個設(shè)備,將取得的識別數(shù)據(jù)映射為對應(yīng)的配置描述記錄部署例行程序集合;通過使用配置數(shù)據(jù)和被映射為該設(shè)備的識別數(shù)據(jù)的配置描述記錄部署例行程序集合,為每一個設(shè)備產(chǎn)生設(shè)備專用命令;以及將設(shè)備專用命令傳送給每一個設(shè)備。
2.根據(jù)權(quán)利要求1中的機器可執(zhí)行方法,其中取得識別數(shù)據(jù)包括取得關(guān)于安裝在每一個設(shè)備上的軟件的數(shù)據(jù),并且其中映射取得的識別數(shù)據(jù)包括將其映射為多個配置部署例行程序集合中的一個,且多個配置部署例行程序集合中的每一個專用于一種安裝的軟件的類型。
3.根據(jù)權(quán)利要求1中的機器可執(zhí)行方法,其中取得識別數(shù)據(jù)包括取得關(guān)于每一個設(shè)備的設(shè)備類型的數(shù)據(jù),并且其中映射取得的識別數(shù)據(jù)包括將其映射為多個配置部署例行程序集合中的一個,且多個配置部署例行程序集合中的每一個專用于一種設(shè)備類型。
4.根據(jù)權(quán)利要求1中的機器可執(zhí)行方法,進(jìn)一步包括提供被配置的設(shè)備,該設(shè)備具有與要求的配置描述記錄一致的配置參數(shù)集合;從被配置的設(shè)備中提取配置數(shù)據(jù);以及將提取的配置數(shù)據(jù)存儲在配置文件中。
5.根據(jù)權(quán)利要求4中的機器可執(zhí)行方法,其中存儲提取的配置數(shù)據(jù)包括將配置數(shù)據(jù)以可擴展標(biāo)記語言(XML)格式進(jìn)行存儲。
6.根據(jù)權(quán)利要求1中的機器可執(zhí)行方法,進(jìn)一步包括為允許批量執(zhí)行該設(shè)備的設(shè)備專用命令的每一個設(shè)備準(zhǔn)備腳本文件,并且其中傳送設(shè)備專用命令包括將該腳本文件傳送到設(shè)備上。
7.根據(jù)權(quán)利要求1中的機器可執(zhí)行方法,其中傳送設(shè)備專用命令到每一個設(shè)備包括將第一個命令傳送到該設(shè)備;接收設(shè)備成功執(zhí)行該第一個命令的應(yīng)答;收到應(yīng)答后,將第二個命令傳送到該設(shè)備。
8.根據(jù)權(quán)利要求1中的機器可執(zhí)行方法,進(jìn)一步包括建立到每一個設(shè)備的安全網(wǎng)絡(luò)連接,并且其中提供配置描述記錄包括提供具有為網(wǎng)絡(luò)安全設(shè)備指定多個配置參數(shù)的配置數(shù)據(jù)的描述記錄,取得識別數(shù)據(jù)包括通過安全網(wǎng)絡(luò)連接從每一個設(shè)備取得數(shù)據(jù),以及傳送設(shè)備專用命令包括經(jīng)由安全網(wǎng)絡(luò)連接傳送命令。
9.根據(jù)權(quán)利要求1中的機器可執(zhí)行方法,其中提供配置描述記錄包括提供指定被每個設(shè)備所使用的操作系統(tǒng)軟件的配置描述記錄,產(chǎn)生設(shè)備專用命令包括產(chǎn)生命令以在至少一個設(shè)備上安裝該指定的操作系統(tǒng)軟件,以及傳送設(shè)備專用命令包括在該至少一個設(shè)備上安裝該指定的操作系統(tǒng)軟件。
10.根據(jù)權(quán)利要求1中的機器可執(zhí)行方法,其中提供配置描述記錄包括提供指定被每個設(shè)備所使用的應(yīng)用程序軟件的配置描述記錄,產(chǎn)生設(shè)備專用命令包括產(chǎn)生命令以在至少一個設(shè)備上安裝該指定的應(yīng)用程序軟件,以及傳送設(shè)備專用命令包括在該至少一個設(shè)備上安裝該指定的應(yīng)用程序軟件。
11.根據(jù)權(quán)利要求1中的機器可執(zhí)行方法,其中提供配置描述記錄包括從多個配置描述記錄中選擇一個配置描述記錄。
12.根據(jù)權(quán)利要求1中的機器可執(zhí)行方法,進(jìn)一步包括從配置描述記錄中選擇各個配置參數(shù);以及在產(chǎn)生對應(yīng)于被選擇的參數(shù)的設(shè)備專用命令之前修改被選擇的各個配置參數(shù)。
13.根據(jù)權(quán)利要求1中的機器可執(zhí)行方法,其中該多個設(shè)備是一個更大的設(shè)備組的子集,并且進(jìn)一步包括識別該子集中的設(shè)備的步驟。
14.一種具有用于執(zhí)行步驟的機器可執(zhí)行指令的機器可讀介質(zhì),包括訪問具有配置數(shù)據(jù)的配置描述記錄,其中配置數(shù)據(jù)指定了對數(shù)據(jù)通信網(wǎng)絡(luò)中的多個設(shè)備都適用的多個配置參數(shù)。從每一個設(shè)備取得識別數(shù)據(jù);為每一個設(shè)備,將取得的識別數(shù)據(jù)映射為對應(yīng)的配置描述記錄部署例行程序集合;通過使用配置數(shù)據(jù)和被映射為該設(shè)備的識別數(shù)據(jù)的配置描述記錄部署例行程序集合,為每一個設(shè)備產(chǎn)生設(shè)備專用命令;以及將設(shè)備專用命令傳送給每一個設(shè)備。
15.根據(jù)權(quán)利要求14中的機器可讀介質(zhì),其中取得識別數(shù)據(jù)包括取得關(guān)于安裝在每一個設(shè)備上的軟件的數(shù)據(jù),并且其中映射取得的識別數(shù)據(jù)包括將其映射為多個配置部署例行程序集合中的一個,且多個配置部署例行程序集合中的每一個專用于一種安裝的軟件的類型。
16.根據(jù)權(quán)利要求14中的機器可讀介質(zhì),進(jìn)一步包括用于執(zhí)行以下步驟的機器可執(zhí)行指令訪問被配置的設(shè)備,該設(shè)備具有與要求的配置描述記錄一致的配置參數(shù)集合。從被配置的設(shè)備中提取配置數(shù)據(jù);以及將提取的配置數(shù)據(jù)存儲在配置文件中。
17.根據(jù)權(quán)利要求16中的機器可讀介質(zhì),其中存儲提取的配置數(shù)據(jù)包括將配置數(shù)據(jù)以可擴展標(biāo)記語言(XML)格式進(jìn)行存儲。
18.根據(jù)權(quán)利要求14中的機器可讀介質(zhì),進(jìn)一步包括用于執(zhí)行以下步驟的機器可執(zhí)行指令為允許批量執(zhí)行該設(shè)備的設(shè)備專用命令的每一個設(shè)備準(zhǔn)備腳本文件,并且其中傳送設(shè)備專用命令包括將該腳本文件傳送到設(shè)備上。
19.權(quán)利要求14中的機器可讀介質(zhì),其中傳送設(shè)備專用命令到每一個設(shè)備包括將第一個命令傳送到該設(shè)備;接收設(shè)備成功執(zhí)行該第一個命令的應(yīng)答;收到應(yīng)答后,將第二個命令傳送到該設(shè)備。
20.根據(jù)權(quán)利要求14中的機器可讀介質(zhì),進(jìn)一步包括用于執(zhí)行建立到每一個設(shè)備的安全網(wǎng)絡(luò)連接的步驟的機器可執(zhí)行指令,并且其中訪問配置描述記錄包括訪問具有為網(wǎng)絡(luò)安全設(shè)備指定多個配置參數(shù)的配置數(shù)據(jù)的描述記錄,取得識別數(shù)據(jù)包括通過安全網(wǎng)絡(luò)連接從每一個設(shè)備取得數(shù)據(jù),以及傳送設(shè)備專用命令包括經(jīng)由安全網(wǎng)絡(luò)連接傳送命令。
21.根據(jù)權(quán)利要求14中的機器可讀介質(zhì),其中訪問配置描述記錄包括訪問指定被每個設(shè)備所使用的操作系統(tǒng)軟件的配置描述記錄,產(chǎn)生設(shè)備專用命令包括產(chǎn)生命令以在至少一個設(shè)備上安裝該指定的操作系統(tǒng)軟件,以及傳送設(shè)備專用命令包括在該至少一個設(shè)備上安裝該指定的操作系統(tǒng)軟件。
22.根據(jù)權(quán)利要求14中的機器可讀介質(zhì),其中訪問配置描述記錄包括訪問指定被每個設(shè)備所使用的應(yīng)用程序軟件的配置描述記錄,產(chǎn)生設(shè)備專用命令包括產(chǎn)生命令以在至少一個設(shè)備上安裝該指定的應(yīng)用程序軟件,以及傳送設(shè)備專用命令包括在該至少一個設(shè)備上安裝該指定的應(yīng)用程序軟件。
23.根據(jù)權(quán)利要求14中的機器可讀介質(zhì),其中訪問配置描述記錄包括接收從多個配置描述記錄中選擇一個配置描述記錄的選擇。
24.權(quán)利要求14中的機器可讀介質(zhì),進(jìn)一步包括用于執(zhí)行以下步驟的機器可執(zhí)行指令接收從配置描述記錄中選擇各個配置參數(shù)的選擇;以及接收指令以在產(chǎn)生對應(yīng)于被選擇的參數(shù)的設(shè)備專用命令之前修改被選擇的各個配置參數(shù)。
25.根據(jù)權(quán)利要求14中的機器可讀介質(zhì),其中該多個設(shè)備是一個更大的設(shè)備組的子集,并且進(jìn)一步包括用于接收子集中的設(shè)備指定的機器可讀指令。
26.一種網(wǎng)絡(luò)管理計算機,包括至少一個允許與多個網(wǎng)絡(luò)控制設(shè)備進(jìn)行通信的網(wǎng)絡(luò)連接;以及處理器,將其編程為通過以下步驟以配置多個網(wǎng)絡(luò)控制設(shè)備訪問具有配置數(shù)據(jù)的配置描述記錄,其中配置數(shù)據(jù)指定了對設(shè)備中的每一個都適用的多個配置參數(shù);為每一個設(shè)備取得識別數(shù)據(jù);為每一個設(shè)備,將取得的識別數(shù)據(jù)映射為對應(yīng)的配置描述記錄部署例行程序集合;通過使用配置數(shù)據(jù)和被映射為該設(shè)備的識別數(shù)據(jù)的配置描述記錄部署例行程序集合,為每一個設(shè)備產(chǎn)生設(shè)備專用命令;以及將設(shè)備專用命令傳送給每一個設(shè)備。
27.根據(jù)權(quán)利要求26中的網(wǎng)絡(luò)管理計算機,其中處理器被編程為通過取得關(guān)于安裝在每一個設(shè)備上的軟件的數(shù)據(jù)取得識別數(shù)據(jù);以及通過將其映射為多個配置部署例行程序集合中的一個來映射取得的識別數(shù)據(jù),多個配置部署例行程序集合中的每一個都專用于一種安裝的軟件類型。
28.根據(jù)權(quán)利要求26中的網(wǎng)絡(luò)管理計算機,其中處理器進(jìn)一步被編程為與被配置的設(shè)備建立通信,其中該設(shè)備具有與要求的配置描述記錄一致的配置參數(shù)集合。從被配置的設(shè)備中提取配置數(shù)據(jù);以及將提取的配置數(shù)據(jù)存儲在配置文件中。
29.根據(jù)權(quán)利要求28中的網(wǎng)絡(luò)管理計算機,其中處理器被編程為將提取的配置數(shù)據(jù)以可擴展標(biāo)記語言(XML)格式進(jìn)行存儲。
30.根據(jù)權(quán)利要求26中的網(wǎng)絡(luò)管理計算機,其中處理器被編程為允許批量執(zhí)行該設(shè)備的設(shè)備專用命令的每一個設(shè)備準(zhǔn)備腳本文件,并且將該腳本文件傳送到設(shè)備上。
31.根據(jù)權(quán)利要求26中的網(wǎng)絡(luò)管理計算機,其中處理器被編程為由以下步驟傳送設(shè)備專用命令到每一個設(shè)備將第一個命令傳送到該設(shè)備;接收設(shè)備成功執(zhí)行第一個命令的應(yīng)答;收到應(yīng)答后,將第二個命令傳送到該設(shè)備。
32.根據(jù)權(quán)利要求26中的網(wǎng)絡(luò)管理計算機,其中處理器被編程為建立到每一個設(shè)備的安全網(wǎng)絡(luò)連接,并且其中處理器被編程為通過訪問具有為網(wǎng)絡(luò)安全設(shè)備指定多個配置參數(shù)的配置數(shù)據(jù)的描述記錄來訪問配置描述記錄,通過經(jīng)由安全網(wǎng)絡(luò)連接從每一個設(shè)備取得數(shù)據(jù)來取得識別數(shù)據(jù),以及通過經(jīng)由安全網(wǎng)絡(luò)連接傳送命令來傳送設(shè)備專用命令。
33.根據(jù)權(quán)利要求26中的網(wǎng)絡(luò)管理計算機,其中處理器被編程為訪問指定被每個設(shè)備所使用的操作系統(tǒng)軟件的配置描述記錄;以及產(chǎn)生包括用于在至少一個設(shè)備上安裝指定的操作系統(tǒng)軟件的命令的設(shè)備專用命令,以及
34.根據(jù)權(quán)利要求26中的網(wǎng)絡(luò)管理計算機,其中處理器被編程為訪問指定被每個設(shè)備所使用的應(yīng)用程序軟件的配置描述記錄,產(chǎn)生包括產(chǎn)生用于在至少一個設(shè)備上安裝指定的應(yīng)用程序軟件的命令的設(shè)備專用命令。
35.根據(jù)權(quán)利要求26中的網(wǎng)絡(luò)管理計算機,其中處理器被編程為從多個可能配置描述記錄中進(jìn)行選擇。
36.根據(jù)權(quán)利要求26中的網(wǎng)絡(luò)管理計算機,其中處理器進(jìn)一步被編程為接收從配置描述記錄中選擇各個配置參數(shù)的選擇;以及在產(chǎn)生對應(yīng)于被選擇的參數(shù)的設(shè)備專用命令之前修改被選擇的各個配置參數(shù)。
37.根據(jù)權(quán)利要求26中的網(wǎng)絡(luò)管理計算機,其中該多個設(shè)備是一個更大的設(shè)備組的子集,并且其中處理器通過程序進(jìn)一步實現(xiàn)接收該子集中的設(shè)備指定。
38.一種用于在數(shù)據(jù)通信網(wǎng)絡(luò)中配置多個設(shè)備的機器可執(zhí)行方法,包括提供被配置的設(shè)備,其中該設(shè)備具有與要求的配置描述記錄一致的配置參數(shù)集合;從被配置的設(shè)備中提取配置數(shù)據(jù),該配置數(shù)據(jù)包括指定操作系統(tǒng)軟件的數(shù)據(jù);以可擴展標(biāo)記語言(XML)格式將提取的配置數(shù)據(jù)存儲在配置文件中;從多個設(shè)備中識別一組需要被配置的設(shè)備;為組中的每一個設(shè)備取得包括關(guān)于安裝在設(shè)備上的軟件的數(shù)據(jù)的識別數(shù)據(jù);為組中的每一個設(shè)備,將取得的識別數(shù)據(jù)映射為對應(yīng)的配置描述記錄部署例行程序集合;通過使用配置數(shù)據(jù)和被映射為組中設(shè)備的識別數(shù)據(jù)的配置描述記錄部署例行程序集合,為組中的每一個設(shè)備產(chǎn)生設(shè)備專用命令,針對至少一個設(shè)備的設(shè)備專用命令包括用于在至少一個設(shè)備上安裝指定的操作系統(tǒng)軟件的命令;將設(shè)備專用命令傳送給組中的每一個設(shè)備;從組中的設(shè)備接收成功執(zhí)行命令的應(yīng)答;以及在接收到應(yīng)答后傳送另外的命令給組中的設(shè)備。
全文摘要
根據(jù)單個配置描述記錄,能夠配置在數(shù)據(jù)通信網(wǎng)絡(luò)中的多個設(shè)備。配置描述記錄數(shù)據(jù)存儲在配置文件中。在各個設(shè)備之間建立連接,并且將配置文件中的數(shù)據(jù)轉(zhuǎn)換成設(shè)備專用命令。
文檔編號H04L29/06GK1742268SQ200380109062
公開日2006年3月1日 申請日期2003年12月10日 優(yōu)先權(quán)日2002年12月20日
發(fā)明者達(dá)斯·德巴希斯 申請人:諾基亞公司