專利名稱:更新軟件程序的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于軟件安裝,具體地說是關(guān)于更新軟件程序的方法。
背景技術(shù):
有很多種傳統(tǒng)的用于更新在諸如像PC機(jī)的通用計(jì)算機(jī)上執(zhí)行的軟件程序的方法。具體的說,應(yīng)用程序和操作系統(tǒng)程序包括一種工具,所述的工具用于測定應(yīng)用程序或者操作系統(tǒng)程序的更新程序(例如,較新的版本)是否有效,下載所述的更新程序(例如,通過諸如Internet的通信網(wǎng)絡(luò))并且將所述的更新程序應(yīng)用于當(dāng)前安裝的程序上。舉例來說,Microsoft Windows XP操作系統(tǒng)(由Microsoft Corporation,Redmond,WA出產(chǎn))包括一種涉及“Windows Update”的性能,所述的“Windows Update”允許執(zhí)行在Internet瀏覽器程序上的指令測定安裝在個(gè)人電腦上的特定的Windows XP操作系統(tǒng)部分。
當(dāng)訪問特定的Internet站點(diǎn)(http//windowsupdate.microsoft.com)時(shí),程序就會被加載并在瀏覽器程序中被執(zhí)行(例如,Microsoft Explorer瀏覽器程序),并且關(guān)于本地PC機(jī)的操作系統(tǒng)的配置信息被傳遞到置于Internet上的更新服務(wù)器上。如果具有有效的更新程序,那么有效更新程序的對話框就會在瀏覽器中出現(xiàn)在用戶的面前。所述的有效更新程序反映了這些更新程序適用于當(dāng)前PC機(jī)的軟件配置。用戶進(jìn)行選項(xiàng)以應(yīng)用一個(gè)或多個(gè)所述的更新程序,并且開始更新進(jìn)程,所述的更新進(jìn)程是將更新軟件安裝在PC機(jī)上。然而,更新被限定在將在PC機(jī)瀏覽器程序正在運(yùn)行的情況下,并且Windows更新程序需要用戶的介入以確定是否應(yīng)用更新程序。
還有其它更新軟件的系統(tǒng)。舉例來說,應(yīng)用程序(諸如Microsoft Internet Explorer瀏覽器應(yīng)用程序)周期性地聯(lián)系更新服務(wù)器以測定是否存在有效的更新程序。通過選擇在InternetExplorer程序中的配置選項(xiàng),或者通過在指定的網(wǎng)站上手動進(jìn)行對更新程序的搜索,所述的聯(lián)系能夠被自動地執(zhí)行。然而,實(shí)際的更新程序安裝包括用戶選擇是否他/她將要安裝更新程序并且配置有關(guān)更新的各個(gè)不同的方面。無論如何,更新同上面所討論的Windows更新程序相似,也需要用戶的介入。還有其它的應(yīng)用程序(例如,由Real Networks,Inc,Seattle,Washington出產(chǎn)的RealOne多媒體播放器程序和Microsoft Windows多媒體播放器程序)包括相似的用于檢驗(yàn)有效軟件更新程序并且更新程序的性能。
還有其它類型的軟件工具可以被管理者使用以將軟件分配到多個(gè)PC機(jī)上,舉例來說,如由Microsoft Corporation出產(chǎn)的Microsoft系統(tǒng)管理服務(wù)器軟件程序。然而,由于管理者必須手動地選擇哪個(gè)軟件應(yīng)用程序?qū)⒈环峙涞竭x定的PC機(jī)上,因此這些工具也需要一些順序設(shè)置的進(jìn)度并需要手動的介入。
發(fā)明內(nèi)容
在當(dāng)前可用的更新系統(tǒng)和進(jìn)程中存在很多的缺點(diǎn)。大多數(shù)傳統(tǒng)的系統(tǒng)和進(jìn)程都是為PC機(jī)所設(shè)計(jì)的,這包括在更新的過程中需要用戶的介入。更具體的說,大多數(shù)的更新過程都需要指引PC機(jī)瀏覽器界面進(jìn)入網(wǎng)站上,在那里還需要用戶進(jìn)一步的進(jìn)行下載和應(yīng)用更新程序。根據(jù)本發(fā)明的一方面,在不需要用戶的介入的情況下自動地更新系統(tǒng)的軟件是非常有利的。進(jìn)一步,期待會有能夠在不是PC機(jī)系統(tǒng)上執(zhí)行軟件的更新的系統(tǒng),例如網(wǎng)絡(luò)設(shè)備,不間斷供電電源(UPS),或者其它的系統(tǒng)。
進(jìn)一步,傳統(tǒng)的軟件更新系統(tǒng)和進(jìn)程通常為檢驗(yàn)并更新某個(gè)單個(gè)的系統(tǒng)而設(shè)計(jì)。在本發(fā)明的一方面,有利于系統(tǒng)可以從更新服務(wù)器上接收軟件更新程序并將這些軟件更新程序應(yīng)用在一個(gè)或多個(gè)系統(tǒng)上。在這種方式下,所述的系統(tǒng)可以進(jìn)行中心管理并在多個(gè)系統(tǒng)中執(zhí)行更新進(jìn)程。從很多方面來講,這都是很有益的,包括·不需要在每一個(gè)系統(tǒng)上執(zhí)行系統(tǒng)更新,不需要管理者進(jìn)入每一個(gè)系統(tǒng)以執(zhí)行軟件更新程序——更新程序能夠從單個(gè)系統(tǒng)被執(zhí)行在多個(gè)系統(tǒng)上。
·更新可以被自動地應(yīng)用在多個(gè)系統(tǒng)中,不需要用戶代表管理者介入。
·更新程序在單個(gè)系統(tǒng)中可以更容易地被管理,而傳統(tǒng)上,管理者需要檢測每一個(gè)系統(tǒng)以測定更新程序是否被適當(dāng)?shù)貞?yīng)用。
·如果代理服務(wù)器能夠下載有效更新程序并將這些有效更新程序分配到其它的系統(tǒng)中,則就可以更少的連接更新服務(wù)器(并且因此可以做到經(jīng)常的處于可用狀態(tài))。
本發(fā)明的另一方面,可以意識到用單個(gè)的系統(tǒng)負(fù)責(zé)接收并應(yīng)用軟件更新程序是很有益處的。在另一方面,所述的單個(gè)系統(tǒng)可以更新不能與更新服務(wù)器相互通信的系統(tǒng)。舉例來說,將被更新的系統(tǒng)可能是網(wǎng)絡(luò)設(shè)備,所述的網(wǎng)絡(luò)設(shè)備沒有界面,或用于從更新服務(wù)器中下載和應(yīng)用更新程序的適當(dāng)?shù)目刂坪?或協(xié)議。通常,網(wǎng)絡(luò)設(shè)備不包括與更新服務(wù)器相結(jié)合的用戶接口和其它的設(shè)備接口。因此,提供一種代理系統(tǒng),所述的代理系統(tǒng)可以代替將被更新的系統(tǒng)取回更新程序并將更新程序應(yīng)用到系統(tǒng)中。舉例來說,所述的代理系統(tǒng)能夠控制哪個(gè)系統(tǒng)接收軟件更新程序,何時(shí)接收更新程序,以及更新進(jìn)程中的其它的方面。
根據(jù)本發(fā)明的另一方面,更新程序目錄從更新服務(wù)器中被下載并且服務(wù)器測定哪個(gè)更新程序需要被應(yīng)用到特定的系統(tǒng)。因?yàn)楦履夸洷幌螺d,而不是像傳統(tǒng)的更新方法一樣將版本信息和其它的系統(tǒng)信息都傳遞到更新服務(wù)器上,這樣關(guān)于用戶設(shè)備和配置的信息不會被傳遞到更新服務(wù)器上,因此更新程序就被更加安全的應(yīng)用。
在一個(gè)實(shí)施方案中,更新程序的目錄被周期性地下載并且代理服務(wù)器將識別一個(gè)或多個(gè)有效更新程序的信息與識別一個(gè)或多個(gè)被管理的系統(tǒng)的信息進(jìn)行比較。如果某個(gè)更新程序與某個(gè)特定的系統(tǒng)相匹配,那么這個(gè)更新程序就將被應(yīng)用在這個(gè)系統(tǒng)中。代理服務(wù)器也能夠更新其自己的軟件。
根據(jù)本發(fā)明的一方面,提供更新軟件的方法。所述的方法包括的動作有更新服務(wù)器的準(zhǔn)備,所述的更新服務(wù)器適合存儲一個(gè)或多個(gè)軟件更新程序,接收來自更新服務(wù)器上的由更新服務(wù)器所提供的更新程序目錄,測定是否至少一個(gè)有效更新程序適合至少一個(gè)被管理的設(shè)備,如果是,則下載這個(gè)至少一個(gè)有效更新程序并將所述的至少一個(gè)有效更新程序應(yīng)用在所述的至少一個(gè)被管理的設(shè)備中。
根據(jù)本發(fā)明的一方面,提供一種方法,該方法用于更新包括更新服務(wù)器在內(nèi)的系統(tǒng)中的軟件,所述的更新服務(wù)器適合存儲一個(gè)或多個(gè)軟件更新程序。所述的方法包括的動作有從更新服務(wù)器中接收由更新服務(wù)器提供的更新程序目錄,測定是否由更新目錄提及的至少一個(gè)有效更新程序適用于至少一個(gè)被管理的設(shè)備,以及,如果是,則下載這個(gè)至少一個(gè)有效更新程序并且將這個(gè)至少一個(gè)有效更新程序應(yīng)用于所述的至少一個(gè)被管理的設(shè)備中。
根據(jù)本發(fā)明的一個(gè)實(shí)施方案,所述的方法進(jìn)一步包括的動作有保留本地更新程序目錄,以及將接收的更新程序目錄與本地更新目錄合并。根據(jù)另一個(gè)實(shí)施方案,所述的至少一個(gè)有效更新程序包括操作系統(tǒng)部分和管理部分,其中應(yīng)用所述的至少一個(gè)有效更新程序的動作進(jìn)一步包括在將管理部分應(yīng)用到至少一個(gè)被管理的設(shè)備中之前,將操作系統(tǒng)部分應(yīng)用到至少一個(gè)被管理的設(shè)備中。
根據(jù)另一個(gè)實(shí)施方案,接收、測定、下載和應(yīng)用的動作中的每一個(gè)都由副服務(wù)器所執(zhí)行。根據(jù)另一個(gè)實(shí)施方案,測定的動作包括將與至少一個(gè)有效更新程序相關(guān)的文件的文件名信息和與至少一個(gè)被管理的設(shè)備相關(guān)的軟件的當(dāng)前部分的文件名信息進(jìn)行比較。根據(jù)另一個(gè)實(shí)施方案,所述的方法進(jìn)一步包括的動作有將至少一個(gè)文件發(fā)送到至少一個(gè)被管理的設(shè)備中。
根據(jù)本發(fā)明的一個(gè)實(shí)施方案,所述的方法進(jìn)一步包括校驗(yàn)的動作,所述的校驗(yàn)是校驗(yàn)與至少一個(gè)有效更新程序相關(guān)的至少一個(gè)文件沒有被破壞,其中校驗(yàn)的動作先于應(yīng)用的動作而被執(zhí)行。根據(jù)另一個(gè)實(shí)施方案,校驗(yàn)和應(yīng)用的每一個(gè)動作都由副服務(wù)器所執(zhí)行。根據(jù)另一個(gè)實(shí)施方案,所述的副服務(wù)器執(zhí)行用于多個(gè)被管理的設(shè)備中的一個(gè)或多個(gè)更新程序。
根據(jù)另一個(gè)實(shí)施方案,多個(gè)被管理的設(shè)備是不間斷電源(UPS)系統(tǒng)的每個(gè)部件,其中副服務(wù)器將一個(gè)或多個(gè)更新程序應(yīng)用到UPS系統(tǒng)中被選定的部件中。仍然根據(jù)另一個(gè)實(shí)施方案,所述的方法進(jìn)一步包括測定的動作,代表多個(gè)設(shè)備,測定是否更新程序存在于更新服務(wù)器中。
根據(jù)另一個(gè)實(shí)施方案,將與至少一個(gè)有效更新程序相關(guān)的文件的文件名信息和至少一個(gè)被管理的設(shè)備的軟件的當(dāng)前部分的文件名信息進(jìn)行比較的動作包括的動作有將與至少一個(gè)有效更新程序相關(guān)的文件的修訂值信息和至少一個(gè)被管理的設(shè)備的軟件的當(dāng)前部分的修訂值信息進(jìn)行比較,并且基于這種比較測定至少一個(gè)被管理的設(shè)備是否需要被更新。根據(jù)另一個(gè)實(shí)施方案,所述的方法進(jìn)一步包括的動作有測定至少一個(gè)有效更新程序的修訂值是否是軟件的新修訂值,所述軟件的新修訂值與至少一個(gè)有效更新程序相關(guān)的修訂值文件和至少一個(gè)被管理的設(shè)備的軟件的當(dāng)前部分的文件名信息進(jìn)行比較。
根據(jù)另一個(gè)實(shí)施方案,至少一個(gè)有效更新程序包括操作系統(tǒng)部分和管理部分,并且其中應(yīng)用至少一個(gè)有效更新程序的這一動作進(jìn)一步包括將操作系統(tǒng)部分應(yīng)用于至少一個(gè)被管理的設(shè)備中,以及將管理部分應(yīng)用到至少一個(gè)被管理的設(shè)備和至少一個(gè)被管理的設(shè)備的管理器兩者中的至少一個(gè)中。根據(jù)另一個(gè)實(shí)施方案,如果至少一個(gè)被管理的設(shè)備與公共網(wǎng)絡(luò)相耦合,則管理部分被應(yīng)用到所述的至少一個(gè)被管理的設(shè)備中。根據(jù)另一個(gè)實(shí)施方案,如果至少一個(gè)被管理的設(shè)備與私人網(wǎng)絡(luò)相耦合,則管理部分被應(yīng)用到所述的至少一個(gè)被管理的設(shè)備的管理器中。根據(jù)另一個(gè)實(shí)施方案,如果管理器適合應(yīng)用至少一個(gè)有效更新程序,則管理部分被應(yīng)用到至少一個(gè)被管理的設(shè)備的管理器中。根據(jù)另一個(gè)實(shí)施方案,管理器適合執(zhí)行的動作有接收、測定、下載以及應(yīng)用至少一個(gè)有效更新程序。
根據(jù)本發(fā)明的另一方面,提供一種用于更新軟件部分的系統(tǒng)。所述的系統(tǒng)包括被配置用以存儲多個(gè)有效更新程序的更新服務(wù)器,以及用于管理多個(gè)設(shè)備的副服務(wù)器,其中所述的副服務(wù)器適于測定多個(gè)有效更新程序中的任何一個(gè)是否適于被應(yīng)用到多個(gè)設(shè)備中的至少一個(gè)中,并且如果可以,則將多個(gè)更新程序中的至少一個(gè)應(yīng)用到多個(gè)設(shè)備中的至少一個(gè)中。根據(jù)本發(fā)明的一個(gè)實(shí)施方案,多個(gè)更新程序中的至少一個(gè)包括操作系統(tǒng)部分和管理部分,并且其中副服務(wù)器適于在將管理部分應(yīng)用到多個(gè)設(shè)備中的至少一個(gè)中之前,將操作系統(tǒng)部分應(yīng)用到多個(gè)設(shè)備中的至少一個(gè)中。
根據(jù)另一個(gè)實(shí)施方案,副服務(wù)器適于將與至少一個(gè)有效更新程序相關(guān)的文件的文件名信息和多個(gè)設(shè)備中的至少一個(gè)的軟件的當(dāng)前部分的文件名信息進(jìn)行比較,并且適于根據(jù)這種比較測定多個(gè)設(shè)備中的至少一個(gè)是否應(yīng)該被更新。根據(jù)另一個(gè)實(shí)施方案,副服務(wù)器包括適于從更新服務(wù)器中接收有效更新程序目錄的界面。
根據(jù)另一個(gè)實(shí)施方案,副服務(wù)器包括一種用于存儲本地更新程序目錄的存儲器,并且其中所述的副服務(wù)器適于將接收的更新程序目錄與本地更新程序目錄合并。根據(jù)另一個(gè)實(shí)施方案,副服務(wù)器適于將與多個(gè)更新程序中的至少一個(gè)相關(guān)的文件的文件名信息和與多個(gè)設(shè)備中的至少一個(gè)相聯(lián)系的軟件的當(dāng)前部分的文件名信息進(jìn)行比較。根據(jù)另一個(gè)實(shí)施方案,副服務(wù)器適于將與多個(gè)更新程序中的至少一個(gè)相關(guān)的至少一個(gè)文件裝載到多個(gè)設(shè)備中的至少一個(gè)上。根據(jù)另一個(gè)實(shí)施方案,副服務(wù)器適于基于所述的比較測定多個(gè)設(shè)備中的至少一個(gè)是否應(yīng)該被更新。根據(jù)另一個(gè)實(shí)施方案,多個(gè)被管理的設(shè)備是不間斷電源(UPS)系統(tǒng)的每一個(gè)部件,以及其中副服務(wù)器適于將至少一個(gè)更新程序應(yīng)用到UPS系統(tǒng)的一個(gè)或多個(gè)被選定的部件上。
本發(fā)明進(jìn)一步的特點(diǎn)和優(yōu)點(diǎn)以及本發(fā)明的各種不同實(shí)施方案的結(jié)構(gòu)和操作都在接下來結(jié)合附圖作以進(jìn)一步詳細(xì)的說明。在附圖中,相同的參考數(shù)字代表相同的或功能上相近似的元件。另外,參考數(shù)字最左邊的一個(gè)或兩個(gè)阿拉伯?dāng)?shù)字指示參考數(shù)字第一次出現(xiàn)在附圖中。
本發(fā)明通過在所附的權(quán)利要求中的特征被指出。通過結(jié)合附圖和下面的說明,本發(fā)明的前面提到的和進(jìn)一步的優(yōu)點(diǎn)將會被更好的理解,在附圖中,相似的參考數(shù)字代表相同或相似的元件。
在附圖中圖1是根據(jù)本發(fā)明一個(gè)實(shí)施方案的更新軟件程序的系統(tǒng)的方框圖;圖2是可以執(zhí)行本發(fā)明的各種不同方面的通用計(jì)算機(jī)系統(tǒng)的方框圖;圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施方案的軟件更新進(jìn)程的流程圖;圖4A-4B是根據(jù)本發(fā)明的另一個(gè)實(shí)施方案的軟件更新進(jìn)程的流程圖;
圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施方案的軟件更新進(jìn)程的流程圖;圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施方案的軟件更新進(jìn)程的流程圖;圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施方案的軟件更新進(jìn)程的流程圖;圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施方案的軟件更新進(jìn)程的流程圖;圖8A-8B是根據(jù)本發(fā)明的一個(gè)實(shí)施方案的軟件更新進(jìn)程的流程圖;圖9是根據(jù)本發(fā)明的一個(gè)實(shí)施方案的軟件更新進(jìn)程的流程圖;圖10A-10B描述的是根據(jù)本發(fā)明的一個(gè)實(shí)施方案的軟件更新進(jìn)程的流程圖;以及圖11是根據(jù)本發(fā)明的一個(gè)實(shí)施方案的軟件命名格式的方框圖。
具體實(shí)施例方式
圖1示出根據(jù)本發(fā)明的一個(gè)實(shí)施方案的更新軟件程序的系統(tǒng)的方框圖。系統(tǒng)100包括更新服務(wù)器101,所述的更新服務(wù)器存儲將被應(yīng)用到系統(tǒng)103A-103C中的一個(gè)或多個(gè)軟件更新程序。更新服務(wù)器101通過通信網(wǎng)絡(luò)連接到其它的系統(tǒng)上。舉例來說,更新服務(wù)器101可能是一種Internet服務(wù)器,所述的Internet服務(wù)器通過一個(gè)或多個(gè)公共或私人網(wǎng)絡(luò)被訪問。舉例來說,更新服務(wù)器101可能是常規(guī)的web服務(wù)器,所述的web服務(wù)器通過使用一個(gè)或多個(gè)諸如TCP/IP的網(wǎng)絡(luò)協(xié)議能夠傳遞軟件程序。進(jìn)一步,服務(wù)器101通過使用一個(gè)或多個(gè)應(yīng)用層協(xié)議可以提供文件,諸如,HTTP,F(xiàn)TP或其它的協(xié)議。
系統(tǒng)100也包括服務(wù)器102,所述的服務(wù)器102適于通過線路104與更新服務(wù)器101相互通信。舉例來說,線路104可能是將服務(wù)器102耦合到更新服務(wù)器101上的一個(gè)或多個(gè)網(wǎng)絡(luò)、部件和/或媒體。在一個(gè)實(shí)施方案中,服務(wù)器102位于企業(yè)網(wǎng)絡(luò)中,更新服務(wù)器101是位于Internet上的web服務(wù)器。服務(wù)器102能夠與更新服務(wù)器101相互通信以測定軟件更新程序是否有效。如果有效,則服務(wù)器102從更新服務(wù)器101中獲取信息,所述的信息指示何種類型的更新程序是有效的,并且在一個(gè)或多個(gè)相關(guān)的系統(tǒng)的信息(例如,系統(tǒng)103A-103C)基礎(chǔ)上,服務(wù)器102測定服務(wù)器101的一個(gè)或多個(gè)軟件更新程序是否適用于系統(tǒng)103A-103C。如果是,則服務(wù)器102通過適當(dāng)?shù)膮f(xié)議(如,HTTP)從更新服務(wù)器101中下載一個(gè)或多個(gè)可適用的更新程序,并且適當(dāng)?shù)貙⑦@些更新程序應(yīng)用到系統(tǒng)103A-103C中。
服務(wù)器102可能通過一個(gè)或多個(gè)網(wǎng)絡(luò)線路105被耦合到系統(tǒng)103A-103C上。線路105可能包括被用來將來自服務(wù)器102中的信息傳遞到系統(tǒng)103A-103C上的一個(gè)或多個(gè)網(wǎng)絡(luò)、部件或媒體。舉例來說,線路可能包括以太網(wǎng)或任何其它類型的網(wǎng)絡(luò)連接和/或活動的裝置。舉例來說,服務(wù)器102可能是將在下面結(jié)合圖2作以進(jìn)一步詳細(xì)描述的通用計(jì)算機(jī)系統(tǒng)。舉例來說,系統(tǒng)103A-103C可能是被服務(wù)器102所管理的系統(tǒng)。服務(wù)器102可能包括硬件(例如,實(shí)體服務(wù)器系統(tǒng))和軟件(例如,在服務(wù)器102上本地執(zhí)行,以及管理者在遠(yuǎn)程用戶上執(zhí)行的相關(guān)管理軟件的應(yīng)用程序)。
根據(jù)本發(fā)明的一方面,服務(wù)器102為系統(tǒng)103A-103C執(zhí)行軟件產(chǎn)品更新服務(wù)。舉例來說,系統(tǒng)103A-103C可能是不間斷電源(UPS)系統(tǒng)的設(shè)備。所述的UPS系統(tǒng)的設(shè)備可能是,舉例來說,包括環(huán)境監(jiān)控單元的UPS的子系統(tǒng)部件,UPS系統(tǒng)處理器部件、電池、空氣調(diào)節(jié)裝置部件或其它的系統(tǒng)、設(shè)備或部件。
在一個(gè)實(shí)施方案中,服務(wù)器102可能包括一個(gè)或多個(gè)硬件和/或軟件協(xié)議以連接到系統(tǒng)103A-103C上。在一個(gè)實(shí)例中,系統(tǒng)103A包括網(wǎng)絡(luò)管理模塊,所述的網(wǎng)絡(luò)管理模塊為網(wǎng)絡(luò)管理系統(tǒng)提供性能和配置數(shù)據(jù)。在一個(gè)實(shí)例中,網(wǎng)絡(luò)管理模塊通過使用已知的簡單的網(wǎng)絡(luò)管理協(xié)議(SNMP)就能夠被管理。所述的網(wǎng)絡(luò)管理模塊也可以通過使用基于web的界面被監(jiān)控。這樣的基于web的界面可以由下載的軟件通過使用HTTP協(xié)議的網(wǎng)絡(luò)被提供給瀏覽器程序。服務(wù)器102可能通過使用一個(gè)或多個(gè)通信協(xié)議適于控制和監(jiān)控系統(tǒng)103A-103C,并且可以理解的是,本發(fā)明并沒有限定使用任何特定類型的協(xié)議。
通用計(jì)算機(jī)系統(tǒng)根據(jù)本發(fā)明的一個(gè)實(shí)施方案,舉例來說,服務(wù)器系統(tǒng)201可能在一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)中被執(zhí)行。舉例來說,所述的這些計(jì)算機(jī)系統(tǒng)可能是通用計(jì)算機(jī),諸如基于Intel PENTIUM處理器,專用處理器(例如,由Via Technologies,Inc.出產(chǎn)的C3處理器),或者任何其它類型的處理器的通用計(jì)算機(jī)。人們將會理解,根據(jù)本發(fā)明的各種不同的實(shí)施方案,一個(gè)或多個(gè)任何類型的計(jì)算機(jī)系統(tǒng)可能被用來接收和分配軟件更新程序。進(jìn)一步,系統(tǒng)可能被置于單個(gè)計(jì)算機(jī)中或被分配于由通信網(wǎng)絡(luò)相互連接的多個(gè)計(jì)算機(jī)中。
根據(jù)本發(fā)明的一個(gè)實(shí)施方案,一種通用計(jì)算機(jī)系統(tǒng)被配置用以更新與一個(gè)或多個(gè)其它系統(tǒng)相關(guān)的軟件程序。人們將會理解,所述的系統(tǒng)可能執(zhí)行其它的功能,包括更新其本身的軟件或者執(zhí)行任何其它的功能,并且本發(fā)明沒有限定執(zhí)行任何特定的指令或功能集合。舉例來說,所述的系統(tǒng)可能在現(xiàn)存的工業(yè)品上被執(zhí)行,諸如,舉例來說,網(wǎng)絡(luò)管理系統(tǒng)。其它的執(zhí)行也是可能的,并且本發(fā)明沒有限定到任何特定的執(zhí)行。
舉例來說,本發(fā)明的各種不同的方面可能作為執(zhí)行于如附圖2所示的通用計(jì)算機(jī)系統(tǒng)201上的專門的軟件而被執(zhí)行。計(jì)算機(jī)系統(tǒng)201可能包括處理器202,所述的處理器202被連接到一個(gè)或多個(gè)存儲裝置203上,諸如磁盤驅(qū)動器,存儲器或者其它的用于存儲數(shù)據(jù)的裝置。在計(jì)算機(jī)系統(tǒng)201的操作期間,存儲器203典型地用于存儲程序和數(shù)據(jù)。在計(jì)算機(jī)系統(tǒng)201中的設(shè)備可能通過通信設(shè)備或系統(tǒng)205而相互耦合,舉例來說,所述的通信設(shè)備或系統(tǒng)205可能包括在系統(tǒng)201中的相互通信數(shù)據(jù)的一個(gè)或多個(gè)通信元件(例如,總線、電橋、路由器等)。計(jì)算機(jī)系統(tǒng)201也包括一個(gè)或多個(gè)輸入/輸出設(shè)備207,諸如鍵盤、鼠標(biāo)或畫圖設(shè)備)。另外,計(jì)算機(jī)系統(tǒng)201可能包含一個(gè)或多個(gè)通信設(shè)備204,所述的通信設(shè)備204將計(jì)算機(jī)系統(tǒng)201連接到一個(gè)或多個(gè)通信網(wǎng)絡(luò)上(例如,網(wǎng)絡(luò)208)。在本發(fā)明的一個(gè)實(shí)施方案中,系統(tǒng)201負(fù)責(zé)更新置于公共或私人網(wǎng)絡(luò)上設(shè)備的軟件,因此系統(tǒng)具有兩個(gè)網(wǎng)絡(luò)界面——一個(gè)與私人網(wǎng)絡(luò)相耦合以及一個(gè)耦合到公共網(wǎng)絡(luò)上。
在一個(gè)實(shí)施方案中,本發(fā)明的各種不同的方面可能在由American Power Conversion Corporation(APC),West Kingston,RI.出產(chǎn)的InfraStruXure Manager服務(wù)器應(yīng)用產(chǎn)品中被執(zhí)行。所述的InfraStruXure Manager產(chǎn)品提供基于瀏覽器web的APC設(shè)備的遠(yuǎn)程管理。
盡管計(jì)算機(jī)系統(tǒng)201是以基于可能被實(shí)踐的本發(fā)明的各種不同的方面的一種類型的計(jì)算機(jī)系統(tǒng)而作為實(shí)例被示出的,但是人們可以理解本發(fā)明并沒有限定到在圖2所示的計(jì)算機(jī)系統(tǒng)中被實(shí)現(xiàn)。本發(fā)明的各種不同的方面可以在具有不同于圖2所示的結(jié)構(gòu)或部件的一個(gè)或多個(gè)計(jì)算機(jī)上被執(zhí)行。
計(jì)算機(jī)系統(tǒng)201可以是使用高級計(jì)算機(jī)編程語言的可編程的通用計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)系統(tǒng)201也可能通過使用特定程序化的,特定目的的硬件被執(zhí)行。在計(jì)算機(jī)系統(tǒng)201中,處理器202典型是通用的商用處理器,諸如像由Intel公司出產(chǎn)的聞名的Pentium處理器。很多其它的處理器也是可用的。作為替代,本發(fā)明的各種不同的方面也可以在專用處理系統(tǒng)(帶有專用處理器和存儲器)中被實(shí)現(xiàn)。這樣的處理器通常運(yùn)行的操作系統(tǒng)可能是,舉例來說,由Microsoft公司出產(chǎn)的Windows CE,Windows NT,Windows Server 2XXX,Windows 2000(Windows ME)或者Windows XP操作系統(tǒng),或者由不同的廠商(如,Linux)出產(chǎn)的基于UNIX的操作系統(tǒng)。很多其它的操作系統(tǒng)也可能被使用,并且本發(fā)明沒有限定使用任何特定的實(shí)施方案。
36根據(jù)本發(fā)明的各種不同的實(shí)施方案,應(yīng)用軟件更新程序的副服務(wù)器的硬件配置的實(shí)例包括下面的部件處理器Via C3@800MHzRAM 256MB PC133
NIC’s2 Realtek RTL8139C(一個(gè)與公共網(wǎng)絡(luò)相耦合,一個(gè)與私人網(wǎng)絡(luò)相耦合)端口系列1RS-2321RS-485USB2USB 1.1HDD40GB 5400RPM IDEHW WatchDog 1-255秒w/增加1秒本發(fā)明的各種不同的實(shí)施方案可能通過使用一種目標(biāo)導(dǎo)向編程語言被編程,諸如像SmallTalk,Java,C++,Ada,或者C#(C-Sharp)。其它的目標(biāo)導(dǎo)向編程語言也可以被使用。作為替代,功能性的,腳本和/或邏輯編程語言可能被使用。本發(fā)明的各種不同的方面可能在非編程環(huán)境下被執(zhí)行(例如,當(dāng)出現(xiàn)瀏覽器程序的窗口,圖形用戶界面的所呈現(xiàn)的各個(gè)方面或者執(zhí)行其它的功能時(shí),由HIML,XML或其它格式所產(chǎn)生的文件)。本發(fā)明的各種不同的方面可以作為程序化的或非程序化的元件,或者其任何的組合元件被執(zhí)行。
人們會明白,本發(fā)明沒有限定到特定的計(jì)算機(jī)系統(tǒng)平臺、處理器、操作系統(tǒng)或者網(wǎng)絡(luò)。同樣,對于在這個(gè)領(lǐng)域內(nèi)的技術(shù)人員來講可以理解的是,本發(fā)明沒有限定到專用的編程語言或者計(jì)算機(jī)系統(tǒng)。進(jìn)一步,人們將會理解,其它合適的編程語言以及其它的合適的計(jì)算機(jī)系統(tǒng)也可以被使用。
系統(tǒng)的一個(gè)或多個(gè)部分可能被分配到與通信網(wǎng)絡(luò)208相耦合的一個(gè)或多個(gè)計(jì)算機(jī)(例如,系統(tǒng)209-210)中。這些計(jì)算機(jī)系統(tǒng)209-210也可能是通用計(jì)算機(jī)系統(tǒng)(例如,一種執(zhí)行管理程序的客戶計(jì)算機(jī),所述的客戶計(jì)算機(jī)與系統(tǒng)201相關(guān)聯(lián)工作)。舉例來說,本發(fā)明的各種不同的方面可能被分配到一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)的中,所述的計(jì)算機(jī)系統(tǒng)被配置為一個(gè)或多個(gè)客戶計(jì)算機(jī)提供服務(wù)(例如,服務(wù)器),或者作為被分配系統(tǒng)的一部分執(zhí)行整個(gè)任務(wù)。舉例來說,本發(fā)明的各種不同的方面可能在客戶服務(wù)器系統(tǒng)中被執(zhí)行,所述的客戶服務(wù)器包括被分配到一個(gè)或多個(gè)服務(wù)器系統(tǒng)中的部分,所述的服務(wù)器系統(tǒng)根據(jù)本發(fā)明的多個(gè)不同的實(shí)施方案執(zhí)行各種不同的功能。這些部分可能是可執(zhí)行的,中間的(例如,IL),或者解釋的(例如,Java)編碼,所述的這些編碼通過使用通信協(xié)議(例如,TCP/IP)通信網(wǎng)絡(luò)(例如,Internet)而通信。
人們將會理解,本發(fā)明沒有限定到在任何特定的系統(tǒng)或系統(tǒng)組而執(zhí)行。同樣,人們將會理解,本發(fā)明沒有限定到任何特定的分配結(jié)構(gòu)、網(wǎng)絡(luò)或者通信協(xié)議。
在圖3中所示的是根據(jù)本發(fā)明的一個(gè)實(shí)施方案用于更新軟件的一個(gè)進(jìn)程。在方框301,進(jìn)程300開始。在方框302,系統(tǒng)(例如,服務(wù)器102)能夠測定用于固件、應(yīng)用軟件和軟件(例如,應(yīng)用程序、OS或兩者)的更新程序是否是有效的。一種更新服務(wù)器(例如,更新服務(wù)器101)將被配置為每一個(gè)正在為更新而被檢驗(yàn)的產(chǎn)品類型返回有效更新程序的“目錄”。所述的檢驗(yàn),舉例來說,可能通過執(zhí)行在服務(wù)器中的軟件被執(zhí)行,所述軟件負(fù)責(zé)將更新程序應(yīng)用到一個(gè)或多個(gè)系統(tǒng)(例如,系統(tǒng)103A-103C)中。
在方框302,系統(tǒng)(例如,應(yīng)用更新程序的系統(tǒng))測定一個(gè)或多個(gè)更新程序是否是有效的。舉例來說,軟件程序?qū)⒈慌渲靡詼y定特定的更新程序是否相關(guān)于被管理的系統(tǒng)。舉例來說,對照目錄,軟件程序可能比較它自身的產(chǎn)品版本,還有正在管理的軟件產(chǎn)品(或?qū)嶓w)的一個(gè)或多個(gè)產(chǎn)品版本。如果測定存在適合服務(wù)器正在管理的任何產(chǎn)品的更新程序(例如,在方框303),則服務(wù)器可以下載(例如,在方框304)更新程序并將更新程序的有效性通知給用戶。如果測定不存在有效的更新程序,則系統(tǒng)可能操作在待命模式下或執(zhí)行與管理的系統(tǒng)相關(guān)的其它的管理功能。
服務(wù)器也可能被配置以分配更新程序并將更新程序應(yīng)用到一個(gè)或多個(gè)遠(yuǎn)程系統(tǒng)中(在方框304)。也可能會便于唯一地限定產(chǎn)品軟件類型,并用于比較和測定更新程序何時(shí)有效。在方框306,進(jìn)程300結(jié)束。進(jìn)一步,根據(jù)一個(gè)實(shí)施方案,負(fù)責(zé)應(yīng)用更新程序的系統(tǒng)可能是帶有周期性變更的硬件配置有標(biāo)準(zhǔn)組件的系統(tǒng)的部分。最后,服務(wù)器可能鑒定有標(biāo)準(zhǔn)組件的系統(tǒng)的部件,以測定任何部件是否需要被更新。舉例來說,系統(tǒng)可能是有標(biāo)準(zhǔn)組件的不間斷電源(UPS)系統(tǒng)的一部分,所述的UPS用于為計(jì)算機(jī)或其它系統(tǒng)負(fù)載提供備用電能。系統(tǒng)本身也可能是整個(gè)UPS系統(tǒng)部件。
圖4A-4B示出了更新軟件程序的進(jìn)程400。在方框401,進(jìn)程400開始。在方框402,執(zhí)行在服務(wù)器上的軟件程序被配置以從更新服務(wù)器中下載有效更新程序的目錄(例如,編碼或模固件,用于管理的插件程序,應(yīng)用程序和操作系統(tǒng)軟件)。在一個(gè)實(shí)施方案中,更新服務(wù)器通過諸如Internet的公共網(wǎng)絡(luò)被耦合到服務(wù)器上。所述的更新服務(wù)器可能被部件或系統(tǒng)制造商(例如,theAmerican Power Conversion corporation of West Kingston,RI)放置在網(wǎng)絡(luò)上,以便更新已經(jīng)銷售給顧客的產(chǎn)品中的軟件或固件。以這種方式,顧客不需要將產(chǎn)品返回給制造商或替換整個(gè)產(chǎn)品就能夠接收到新的軟件版本,舉例來說,如地址錯(cuò)誤調(diào)整,提供新的特征等等。
在方框403,軟件程序?qū)母路?wù)器中下載的有效更新程序的目錄與現(xiàn)有的目錄(如果存在)進(jìn)行合并。如果不存在現(xiàn)有的目錄,則它可以通過從每一個(gè)被管理的設(shè)備中所獲得的信息而構(gòu)建。舉例來說,當(dāng)軟件程序被執(zhí)行時(shí),軟件程序可能檢查執(zhí)行在每一個(gè)被管理的設(shè)備中軟件的軟件版本,在方框404。通過在服務(wù)器和被管理的設(shè)備的一個(gè)或多個(gè)之間使用任何通信協(xié)議,都可以進(jìn)行所述的檢查。在方框405,程序?qū)⒂糜诿恳粋€(gè)被管理的設(shè)備上的軟件的相關(guān)信息(例如,軟件版本信息)存儲在數(shù)據(jù)庫中。這些信息可能被用來建立關(guān)于被管理的設(shè)備的信息目錄。
在方框406,服務(wù)器軟件對照目錄中的信息比較軟件正在管理的實(shí)體的軟件版本,并且基于這種比較測定更新程序是否有效。
在另一個(gè)實(shí)施方案中,如果服務(wù)器軟件正在管理的任一設(shè)備具有有效的更新程序,則服務(wù)器軟件被配置以通知用戶(例如,以圖形用戶界面,e-mail形式等)。在本發(fā)明的一方面,服務(wù)器軟件易于使更新程序安裝在遠(yuǎn)程設(shè)備/系統(tǒng)中,并提供確定被更新的設(shè)備/系統(tǒng)的狀態(tài)報(bào)告(例如,給用戶)。在方框407,服務(wù)器軟件測定任一有效更新程序是否應(yīng)該被應(yīng)用到任一被管理的設(shè)備上。如果測定任一更新程序應(yīng)該被應(yīng)用到任一管理系統(tǒng)上,則在方框408,軟件程序?qū)⑾螺d將被應(yīng)用到被管理的設(shè)備上的更新程序。在一個(gè)實(shí)施方案中,被下載的更新程序僅僅是那些與需要被更新的被管理的設(shè)備相關(guān)的更新程序。
在方框409,軟件程序可能作為任選項(xiàng)在將更新程序的一個(gè)或多個(gè)文件應(yīng)用到被管理的設(shè)備上之前,驗(yàn)證更新程序的一個(gè)或多個(gè)文件。舉例來說,這樣的功能可以通過測定將文件的一個(gè)或多個(gè)部分的校驗(yàn)和與置于文件(或文件組)中的校驗(yàn)和的比較來實(shí)現(xiàn)。其它的校驗(yàn)的方法也可以被執(zhí)行。
在方框410,軟件程序?qū)⒁粋€(gè)或多個(gè)文件裝載到可應(yīng)用的被管理的設(shè)備中。舉例來說,這樣的裝載可以通過使用一個(gè)或多個(gè)文件傳輸協(xié)議(例如,TFTP,F(xiàn)TP等)或者任何其它的將程序裝載到設(shè)備中的方法被執(zhí)行。在方框411,管理設(shè)備需要被復(fù)位或者重啟,這樣更新才能生效(例如,在方框411)。可選擇地,在方框412,軟件程序可能驗(yàn)證一個(gè)或多個(gè)更新是否成功。舉例來說,這樣的一種驗(yàn)證可以通過在被管理的設(shè)備上執(zhí)行一個(gè)或多個(gè)指令(例如,情況查詢)或者其它操作以指示設(shè)備正在適當(dāng)?shù)牟僮鱽韺?shí)現(xiàn)。在方框413,進(jìn)程400結(jié)束。
在一個(gè)實(shí)例系統(tǒng)中,更新服務(wù)器存在保留關(guān)于有效更新程序的信息。所述的更新服務(wù)器可能通過Internet和/或其它的網(wǎng)絡(luò)被耦合到副服務(wù)器上。在另一個(gè)實(shí)施方案中,更新服務(wù)器被配置以等待聽從來自在這個(gè)領(lǐng)域內(nèi)的軟件部分的請求(例如,來自副服務(wù)器),并且被配置用以請求包括關(guān)于有效更新程序的信息的響應(yīng)。所述的更新服務(wù)器,舉例來說,可能由裝備和/或軟件制造商來維持,并且更新服務(wù)器可以作為新的軟件解壓被更新是有效的(例如,由制造商)。
在一個(gè)實(shí)施方案中,副服務(wù)器可能管理在用戶網(wǎng)絡(luò)上的大量設(shè)備。舉例來說,如前面結(jié)合圖2所討論的,副服務(wù)器可能依靠使用網(wǎng)絡(luò)管理協(xié)議管理設(shè)備/系統(tǒng)。作為這些各種不同設(shè)備的管理的部分,服務(wù)器有能力(例如,通過查詢使用諸如SNMP的網(wǎng)絡(luò)管理協(xié)議的設(shè)備)獲得在設(shè)備上運(yùn)行的軟件/固件的版本。副服務(wù)器軟件提供向更新服務(wù)器詢問有效更新程序的更新部分。
一旦接收確認(rèn)有效更新程序的信息,更新部分就會對照從更新服務(wù)器中獲得的版本檢驗(yàn)軟件/固件版本。舉例來說,所述的檢驗(yàn)可以通過將確認(rèn)被安裝在系統(tǒng)中當(dāng)前的軟件的文件名信息和與特定的更新程序相關(guān)的文件名信息進(jìn)行比較而完成。如果任一更新程序是有效的,則更新程序?qū)母路?wù)器中被下載到副服務(wù)器上。其后,更新程序的有效性將被通知給用戶。用戶將使用副服務(wù)器將更新程序分配到他們期望的領(lǐng)域內(nèi)的設(shè)備上。進(jìn)一步,副服務(wù)器適于自動地接收和應(yīng)用更新程序。
帶有副服務(wù)器的一個(gè)優(yōu)點(diǎn)在于每一個(gè)需要被更新的設(shè)備不需要為了更新而必須連接到更新服務(wù)器上。作為替代,提供一種副服務(wù)器,可以測定更新程序是否有效,并且一次從更新服務(wù)器中下載合適的軟件。在傳統(tǒng)的軟件分配系統(tǒng)中,相同的軟件多次被不同的客戶下載。這樣的結(jié)果是,每一個(gè)客戶必須有能力與更新服務(wù)器相連接,需要更有資格的客戶。同樣,直接為多個(gè)終端客戶服務(wù)的傳統(tǒng)的更新服務(wù)器可能因?yàn)閷τ谕粋€(gè)文件的多個(gè)請求而被淹沒。根據(jù)一個(gè)實(shí)施方案,提供一種作為多個(gè)設(shè)備的代理而動作的副服務(wù)器。
進(jìn)一步,根據(jù)本發(fā)明的一個(gè)實(shí)施方案,用戶可以控制哪些設(shè)備實(shí)際上得到更新,并且這些更新發(fā)生在何時(shí)。這樣,下載和設(shè)備的更新就不需要被順序地執(zhí)行,例如,一旦更新程序被下載,就被應(yīng)用。而不是更新進(jìn)程是用戶配置的,這在于根據(jù)在更新程序被下載后一段時(shí)間的預(yù)先確定的進(jìn)度表或一組規(guī)則,下載可能被應(yīng)用。在網(wǎng)絡(luò)設(shè)備或其它系統(tǒng)部件的情況下,軟件的更新需要設(shè)備被重啟,因此這需要在合適的時(shí)間或以合適的次序應(yīng)用更新程序。
進(jìn)一步,根據(jù)另一個(gè)實(shí)施方案,在軟件更新程序有效時(shí),提供用戶通知。舉例來說,當(dāng)與由副服務(wù)器所管理的特定設(shè)備相匹配的更新程序有效時(shí),就會提供所述的通知。舉例來說,所述的通知可以通過向設(shè)備的管理者發(fā)送E-mail或者其它的通知來完成。相反地,傳統(tǒng)的軟件更新系統(tǒng)僅僅在用戶使用應(yīng)用程序時(shí)才通知用戶。
然而,對于不是被用戶所正常操作的設(shè)備或系統(tǒng)(例如,UPS系統(tǒng)),在傳統(tǒng)的設(shè)備或系統(tǒng)中,不會提供通知以測定何時(shí)更新程序是有效的。因此,根據(jù)本發(fā)明的一方面,為設(shè)備或其它系統(tǒng)所提供的通知會在管理者控制之下。
在一個(gè)實(shí)例中,副服務(wù)器保留設(shè)備和它們確認(rèn)信息(例如,型號,固件/軟件版本等)的列表,并且將所述的信息與由更新服務(wù)器所提供的信息進(jìn)行比較?;谶@種比較,如果更新程序被測定存在,則就向用戶(例如,網(wǎng)絡(luò)管理者)發(fā)送確認(rèn)有效更新程序的通知。通過允許服務(wù)器在更新程序有效時(shí)通知管理者,在更新程序有效時(shí)用戶的通知允許管理者確認(rèn)或是忽略,而不是必須周期地為更新程序檢驗(yàn)更新服務(wù)器(例如,通過網(wǎng)站手動地)。進(jìn)一步,同副服務(wù)器被更新以管理新的產(chǎn)品一樣,用于這些新產(chǎn)品的固件更新機(jī)制被自動地適合支持這些新的產(chǎn)品。
更新服務(wù)器為請求服務(wù)器(例如,副服務(wù)器)提供有效更新程序目錄,而不是請求服務(wù)器為鑒定返回每一個(gè)獨(dú)特的被管理部件。因?yàn)椋鶕?jù)本發(fā)明的一個(gè)實(shí)例配置,被管理部件沒有被傳送返回到更新服務(wù)器,因此返還到更新服務(wù)器中(以及其后,到更新服務(wù)器所耦合的網(wǎng)絡(luò)上)的信息量就被減少。進(jìn)一步,因?yàn)樘峁┝艘环N用于更新領(lǐng)域設(shè)備和系統(tǒng)的中間服務(wù)器,因此減少了對修改更新服務(wù)器協(xié)議以支持新的設(shè)備和系統(tǒng)的需求。
下面的實(shí)例說明了用于更新軟件的系統(tǒng)和方法的各種不同的實(shí)施方案。本發(fā)明沒有限定到所述的特定實(shí)施方案中,但是當(dāng)然,本發(fā)明可能包括獨(dú)立于其它方面的一個(gè)或多個(gè)方面。下面將要說明的是更新服務(wù)器、副服務(wù)器和由副服務(wù)器所管理的設(shè)備(例如,UPS系統(tǒng)部件)。在實(shí)例中,更新服務(wù)器由產(chǎn)品制造商(例如,the American Power Conversion Corporation(APC))來維持并且為顧客設(shè)備提供軟件和固件更新程序并使之有效。
體系結(jié)構(gòu)和設(shè)計(jì)實(shí)例圖5示出了根據(jù)本發(fā)明的一個(gè)實(shí)施方案用于更新軟件程序的進(jìn)程500的實(shí)施例。更具體的說,圖5示出的進(jìn)程被服務(wù)器所執(zhí)行,所述的服務(wù)器負(fù)責(zé)將更新程序應(yīng)用到一個(gè)或多個(gè)被管理的設(shè)備中。在方框501,服務(wù)器程序(例如,應(yīng)用程序)在服務(wù)器中(例如,副服務(wù)器)被執(zhí)行。在方框502,服務(wù)器初始化來自更新服務(wù)器中的有效更新程序列表。舉例來說,所述的列表可能是從與更新服務(wù)器相聯(lián)系的存儲單元中下載的有效更新程序的固件更新列表(例如,firmware_update avail.txt)。在方框503,測定是否存在有效的新的固件更新程序。
在一個(gè)實(shí)施方案中,考慮到將執(zhí)行離線目錄更新而使用的輸入文件可能被執(zhí)行。舉例來說,經(jīng)過FTP傳輸?shù)經(jīng)]有內(nèi)容的服務(wù)器上的離線更新可能被使用以將更新程序傳送到被管理的設(shè)備上。在一個(gè)實(shí)施例中,用戶任命輸入目錄和固件更新程序和管理部件(例如,以插件程序的形式),并且在更新目錄中任命這些更新程序的查找,然后在下一次服務(wù)器應(yīng)用程序啟動或檢驗(yàn)更新程序期間,所述的輸入目錄被并入有效的目錄中。更具體的,如果輸入目錄的文件存在,則輸入目錄記錄被并入有效的目錄中;否則,輸入目錄記錄被放棄。
在方框504,服務(wù)器應(yīng)用程序?qū)⒆罱挠行Ц鲁绦虿⑷牍碳铝斜碇?,并且刪除新的有效固件更新程序列表。在方框505,測定是否存在未決的固件更新列表(例如,文本文件)。舉例來說,在更新程序從更新服務(wù)器中被下載時(shí),所述的列表可能由副服務(wù)器所保留。舉例來說,這種文件可能被建立以追蹤固件下載的進(jìn)程。舉例來說,如果用于從更新服務(wù)器中下載更新程序的進(jìn)程不成功,則這種文件的狀態(tài)就被檢驗(yàn)出來以繼續(xù)或稍后重新嘗試下載進(jìn)程。在一個(gè)實(shí)施例中,未決的硬件更新列表的存在表示下載進(jìn)程是不成功的。
如果未決的下載列表存在,在方框506,遺漏的更新程序?qū)母路?wù)器中被下載。舉例來說,更新服務(wù)器可能由制造商(例如,APC)所維持以便為設(shè)備提供更新程序。在方框507,最近的有效更新程序被并入固件更新有效列表中,并且在一個(gè)實(shí)施例中,未決的固件列表被刪除。
在方框508,測定被用來管理的任一控制或者其它的與在設(shè)備中被更新的固件相連接的其它控制是否需要被更新。這樣,可能會有用于與帶有更新的軟件的管理設(shè)備相連接的相關(guān)的客戶或管理副程序。這樣的軟件部分或程序可能是以附加在另一個(gè)程序(例如,Internet Explorer瀏覽器程序)上的插件程序的形式。
舉例來說,有一種代表用于與不同的設(shè)備連接的控制的插件程序列表。所述控制清單可能由更新服務(wù)器中得出,并且副服務(wù)器可能測定是否加載任何相關(guān)的控制。在方框508,舉例來說,副服務(wù)器可能從更新服務(wù)器中獲得插件程序控制列表。在方框509,測定是否存在固件控制輸入列表。如果存在,副服務(wù)器將最近有效的插件程序并入有效固件控制列表中并刪除輸入列表。在方框511,用于指出任何更新程序沒有被下載到副服務(wù)器上的未決的更新程序列表被保留。如果這樣,在方框512,測定在更新服務(wù)器中存在有效的插件程序,而在副服務(wù)器中沒有,事件將被發(fā)布給服務(wù)器應(yīng)用程序以指示下載是有效的。其后,服務(wù)器應(yīng)用程序?qū)⑾螺d合適的控制。
在固件和控制已經(jīng)被下載到副服務(wù)器上之后,這些更新程序可能被應(yīng)用到設(shè)備和管理這些設(shè)備的程序上。相似的更新進(jìn)程可能被再次的執(zhí)行以測定是否有將被應(yīng)用的新的更新程序。
在一個(gè)實(shí)施方案中,更新程序從更新服務(wù)器中被激發(fā)到一個(gè)或多個(gè)副服務(wù)器上。舉例來說,在方框602,副服務(wù)器被配置用以檢驗(yàn)更新服務(wù)器上的更新程序。舉例來說,這一動作可以通過由更新服務(wù)器發(fā)送事件給注冊的服務(wù)器上來完成。作為替代,更新程序可能被由連接到更新服務(wù)器上的副服務(wù)器周期地測定。在一個(gè)實(shí)施例中,副服務(wù)器可能測定是否其含有最新的硬件和控制更新程序的列表。此后,相似于前面參考圖5的描述,類似的進(jìn)程可能被適用以更新軟件。
圖7示出下載有效更新程序的進(jìn)程。在一個(gè)實(shí)施例中,如果下載插件或固件更新程序失敗,則下載程序在另一檢驗(yàn)被執(zhí)行之前對于另一下載不會有效。如前面的描述,未決的目錄在它的相應(yīng)的下載任務(wù)完成后就被移開,并且只有成功的文件下載的記錄才被保留。
如果在下載插件程序期間服務(wù)器關(guān)閉,則當(dāng)服務(wù)器重新啟動時(shí)任務(wù)不會繼續(xù)進(jìn)行。在一個(gè)實(shí)施例中,用戶必須在激發(fā)的對話中再次提供許可以下載任一失敗的插件程序。根據(jù)一個(gè)實(shí)施方案,任一已經(jīng)被成功下載的插件程序不需要被再次的下載,因?yàn)樗鼈兊男畔⒁呀?jīng)被保留在目錄中(例如,再并入操作期間),并且它們在更新設(shè)備中的使用是有效的。
在方框701,副服務(wù)器從更新服務(wù)器中下載未決的文件請求。這個(gè)列表確認(rèn)用于下載到副服務(wù)器中的文件序列。在方框702,副服務(wù)器可能從更新服務(wù)器中下載插件程序未決的列表。所述列表確認(rèn)需要管理一個(gè)或多個(gè)被管理的設(shè)備的任何控制。在方框703,副服務(wù)器將最近的有效插件程序并入有效控制列表(例如,firmware_controls_avail.txt)。在方框704,副服務(wù)器清除插件程序未決列表并且刪除控制未決列表。特別地,如果下載一個(gè)或多個(gè)插件程序的進(jìn)程不成功,則這些文件的存在將指示一些或全部的插件程序需要被下載。在方框705,副服務(wù)器清除有效下載的事件和狀態(tài),所述的事件和狀態(tài)指示在更新服務(wù)器中新的下載有效。在方框706,副服務(wù)器為每一個(gè)設(shè)備發(fā)布請求以檢驗(yàn)插件程序匹配。舉例來說,可能會有一些執(zhí)行在每一個(gè)設(shè)備上的檢驗(yàn)以測定控制是否與裝載在管理設(shè)備上的軟件相匹配。
圖8A-8B示出作為管理設(shè)備初始化的結(jié)果而被執(zhí)行的軟件更新進(jìn)程。同樣,當(dāng)設(shè)備被發(fā)現(xiàn)時(shí),從通信遺失狀態(tài)返還,或者在更新固件請求完成后,進(jìn)程800,820被執(zhí)行。
在方框801,由副服務(wù)器完成對于單個(gè)設(shè)備的固件更新的檢驗(yàn)。在方框802,副服務(wù)器為應(yīng)用程序和/或固件文件名查詢設(shè)備,所述的應(yīng)用程序和/或固件文件名為正在被管理設(shè)備所執(zhí)行的軟件。在方框803,副服務(wù)器測定固件更新列表是否包括與管理設(shè)備相關(guān)的較新的版本。在方框804,副服務(wù)器報(bào)告用于管理設(shè)備的下一個(gè)版本是有效的,并且改變與設(shè)備相關(guān)的更新狀態(tài)以指示存在將被執(zhí)行的有效更新程序。在方框805,副服務(wù)器發(fā)布更新有效事件并且報(bào)告狀態(tài)改變,所述的狀態(tài)改變指示存在用于設(shè)備上的有效更新程序。這樣的狀態(tài)指示被呈現(xiàn)給應(yīng)用程序中的用戶,所述的應(yīng)用程序由被用來管理設(shè)備的副服務(wù)器所提供。作為替代,指示可以通過其它的方法(例如,E-mail信息,SNMP陷阱等)被呈現(xiàn)給用戶或網(wǎng)絡(luò)管理者。
圖8B示出對與管理設(shè)備有關(guān)的控制的檢驗(yàn)。在方框821,副服務(wù)器檢驗(yàn)用于管理設(shè)備的控制。在方框822,副服務(wù)器為與控制有關(guān)的應(yīng)用程序文件名查詢設(shè)備。在方框823,如果測定存在用于設(shè)備的特定版本的更新的控制,則在方框824,報(bào)告新的控制是有效的。具體的,副服務(wù)器將報(bào)告控制的名字和設(shè)備狀態(tài)的變化(例如,以管理應(yīng)用程序,E-mail或其它指示的方式)。在方框825,副服務(wù)器發(fā)出指示新的控制是有效的事件。
圖9示出依照本發(fā)明的一個(gè)實(shí)施方案,更新軟件的進(jìn)程900。具體地,進(jìn)程900示出一種程序,所述的程序因?yàn)橄蛴脩籼峁┯糜诟乱粋€(gè)或多個(gè)管理設(shè)備的管理界面而被施行。在方框901,用戶進(jìn)入控制臺并且被允許觀測在更新服務(wù)器上的有效更新的部分的有效性。在方框902,副服務(wù)器獲得包括管理部分的管理設(shè)備信息,所述的管理部分被用來管理設(shè)備。在方框903,用戶在呈現(xiàn)給用戶的狀態(tài)窗口內(nèi)選擇設(shè)備。
在方框904,測定設(shè)備是否具有關(guān)聯(lián)的部分。如果是,在方框911,測定所述的部分是否已經(jīng)被安裝在管理控制臺上。如果是,在方框910,測定設(shè)備被置于哪種網(wǎng)絡(luò)上。舉例來說,如果正在被更新的設(shè)備被置于公共網(wǎng)絡(luò)上,則在方框912,部分被安裝在設(shè)備上。就是說,如果設(shè)備被置于公共網(wǎng)絡(luò)上,則被用來管理設(shè)備的部分通常被置于設(shè)備的存儲器內(nèi),并且基于隨時(shí)的需要被下載到客戶。如果設(shè)備被置于私人網(wǎng)絡(luò),則在方框913,所述部分被安裝在副服務(wù)器上以允許副服務(wù)器管理設(shè)備。
如果沒有與特定的設(shè)備相關(guān)聯(lián)的部分,則在方框905,測定是否存在與設(shè)備相關(guān)聯(lián)的說明屏幕,所述的說明屏幕呈現(xiàn)關(guān)于更新的信息。如果有,在方框906,說明屏幕被發(fā)出。如果沒有,在方框907,關(guān)于不存在對于特定設(shè)備的有效的說明的提示被呈現(xiàn)給用戶。
在方框911,如果測定在管理控制臺上不存在有效部分,則從更新服務(wù)器中下載所述的部分。在方框909,如果測定下載是成功的,這時(shí)將執(zhí)行一種關(guān)于所述部分是否被正確地安裝的檢驗(yàn)。如果不是被正確地安裝,則在方框907,一種錯(cuò)誤信息被指示給用戶。然而,如果所述部分是被正確的安裝,則在方框912,913,所述部分被分別恰當(dāng)?shù)牡匕惭b到設(shè)備或副服務(wù)器上。
圖10A-10B示出關(guān)于從更新服務(wù)器中下載軟件的幾個(gè)實(shí)施方案。在方框1001,用戶進(jìn)入控制臺(例如,如由副服務(wù)器所提供)。在方框1002,測定是否存在由更新服務(wù)器提供的部分,而沒有出現(xiàn)在副服務(wù)器中。如果沒有,在方框1006,允許用戶繼續(xù)進(jìn)入進(jìn)程。如果存在新的部分,則在方框1003,測定在副服務(wù)器中是否設(shè)置一種標(biāo)記,所述的標(biāo)記指示用戶是否不希望被提示下載新的部分。舉例來說,會有諸如“不要再次提示下載”的標(biāo)記,所述的標(biāo)記可以被設(shè)置在控制臺的用戶界面中。如果所述的標(biāo)記被選中,則在方框1006,允許用戶繼續(xù)進(jìn)入進(jìn)程。如果沒有被選中,則在方框1004,用戶被提示是否下載更新的部分。如果是,則在方框1005,命令副服務(wù)器下載離線部分。如果不是,在方框1006,允許用戶繼續(xù)進(jìn)入進(jìn)程。
在圖10B中,在方框1021,測定從服務(wù)器接收了有效下載指示。舉例來說,所述的指示可能是由更新服務(wù)器發(fā)給副服務(wù)器的以指示從更新服務(wù)器的下載是有效的。在方框1022,如果測定出現(xiàn)了指示用戶不希望被提示注意有效下載的標(biāo)記,則在方框1025,管理進(jìn)程被繼續(xù)進(jìn)行。如果沒有出現(xiàn)所述的標(biāo)記,則在方框1023,用戶被提示提供一種指示,所述的指示關(guān)于是否將從更新服務(wù)器中下載控制(例如,在管理程序的界面或是以其它指示方法)。如果是,在方框1024,副服務(wù)器被配置以下載離線的更新程序。如果不是,在方框1025,控制被返還到管理控制臺。
在一個(gè)實(shí)施例中,基礎(chǔ)設(shè)施被組織進(jìn)入為每一可更新的應(yīng)用程序的單獨(dú)的目錄中以合并多個(gè)產(chǎn)品的需要。為副服務(wù)器產(chǎn)品更新應(yīng)用程序和下載的“aem”目錄被保存。所述的目錄相對于產(chǎn)品更新程序段http//autoupdatev2.apcc.com/。執(zhí)行在客戶系統(tǒng)中的副服務(wù)器上的軟件應(yīng)用程序(或兩者)執(zhí)行軟件更新程序,涉及在下文中的副服務(wù)器軟件應(yīng)用程序,包括兩個(gè)功能塊網(wǎng)絡(luò)管理卡的固件更新程序和用于副服務(wù)器和它管理的軟件部分的軟件更新程序。
固件更新程序副服務(wù)器為達(dá)到幾千個(gè)實(shí)體管理固件,諸如,舉例來說,與被管理的設(shè)備相關(guān)的網(wǎng)絡(luò)管理卡(NMC)。對于網(wǎng)絡(luò)和應(yīng)用程序的效率,副服務(wù)器將它的擴(kuò)展構(gòu)造數(shù)量報(bào)告給軟件應(yīng)用程序(例如,從屬于并執(zhí)行在更新服務(wù)器中的程序),以及應(yīng)用程序回饋完整的固件更新信息組。數(shù)據(jù)在請求時(shí)間被產(chǎn)生,舉例來說,依靠直接地從描述有效更新程序的數(shù)據(jù)庫中讀取。擴(kuò)展構(gòu)造數(shù)量基于報(bào)告產(chǎn)品的解壓狀況允許過濾數(shù)據(jù)。
根據(jù)一個(gè)實(shí)施方案,副服務(wù)器可能識別下面的輸入和輸出數(shù)據(jù)格式輸入數(shù)據(jù)格式在一個(gè)實(shí)施方案中,副服務(wù)器使用HTTP POST將下面的數(shù)據(jù)范圍發(fā)送到副服務(wù)器軟件應(yīng)用程序中(例如,產(chǎn)品更新Web應(yīng)用程序)。下面描述了根據(jù)本發(fā)明的一個(gè)實(shí)施方案的數(shù)據(jù)格式實(shí)例
表I-輸入數(shù)據(jù)格式示例輸出數(shù)據(jù)格式根據(jù)本發(fā)明的一個(gè)實(shí)施方案,數(shù)據(jù)可以以ASCII形式,逗點(diǎn)隔開的文本串的形式被返還。每個(gè)更新條目被總共9個(gè)逗點(diǎn)分開成10個(gè)字段。確保被返還到副服務(wù)器中的每個(gè)更新條目都具有全部的逗點(diǎn)集合,而不考慮空白數(shù)據(jù)字段。分號隔開每個(gè)更新條目。確保每個(gè)被返還到副服務(wù)器中的更新條目都以分號作為結(jié)尾。
圖II-輸出數(shù)據(jù)格式示例其它特征根據(jù)本發(fā)明的一個(gè)實(shí)施方案,關(guān)于軟件更新進(jìn)程有一個(gè)或多個(gè)額外的特征。舉例來說,副服務(wù)器和軟件更新應(yīng)用程序的額外的特征有益于管理軟件更新進(jìn)程副服務(wù)器·報(bào)告關(guān)于顧客環(huán)境信息(詳細(xì)目錄信息,顧客注冊等)。軟件更新應(yīng)用程序·存儲數(shù)據(jù)庫請求,因?yàn)閿?shù)據(jù)庫數(shù)據(jù)通常不能頻繁的變化。
·為每個(gè)即將到來的下載請求記錄額外的顧客專用信息。
·在另一個(gè)實(shí)例配置中,副服務(wù)器下載完整的產(chǎn)品更新信息集合。這減損了固件應(yīng)用Web應(yīng)用程序的控制和靈活性,因?yàn)楦狈?wù)器為應(yīng)用更新程序測定標(biāo)準(zhǔn)。
服務(wù)器軟件更新程序副服務(wù)器的服務(wù)器軟件(例如,管理應(yīng)用程序)能夠更新它自身的所有或部分應(yīng)用程序,包括可應(yīng)用的插件應(yīng)用程序。因?yàn)楫a(chǎn)品更新需要副服務(wù)器以一對一為基礎(chǔ)進(jìn)行執(zhí)行(一個(gè)請求對應(yīng)副服務(wù)器的每個(gè)實(shí)例),因此副服務(wù)器將描述它當(dāng)前版本的數(shù)據(jù)報(bào)告給在更新服務(wù)器上的程序或其它的實(shí)體。這些信息將允許副服務(wù)器產(chǎn)品更新應(yīng)用程序(例如,基于web的應(yīng)用程序)測定哪個(gè)更新,如果有,則應(yīng)用副服務(wù)器軟件版本。
關(guān)于更新的產(chǎn)品版本的信息被包含在置于更新服務(wù)器中的數(shù)據(jù)庫中。對于每個(gè)更新程序的信息會被包含在相關(guān)的數(shù)據(jù)庫中。在一個(gè)實(shí)例中,Web應(yīng)用程序返還URL區(qū)域(例如,安全的HTTP URL),一個(gè)或多個(gè)應(yīng)用程序被置于其中。
輸入數(shù)據(jù)格式在一個(gè)實(shí)例中,副服務(wù)器使用HTTP POST將下面的數(shù)據(jù)字段發(fā)送給副服務(wù)器產(chǎn)品更新應(yīng)用程序。根據(jù)本發(fā)明的一個(gè)實(shí)施方案,表III示出輸入數(shù)據(jù)格式的實(shí)例。
表III-輸入數(shù)據(jù)格式示例輸出數(shù)據(jù)格式根據(jù)一個(gè)實(shí)施方案,副服務(wù)器產(chǎn)品Web應(yīng)用程序具有三個(gè)響應(yīng)方案1.如果必要的數(shù)據(jù)沒有被副服務(wù)器產(chǎn)品更新Web應(yīng)用程序所接收,則應(yīng)用程序返回“殘缺請求”。
2.如果沒有更新程序適合被報(bào)告的副服務(wù)器軟件版本信息,則應(yīng)用程序返回“沒有有效更新程序”。
3.如果沒有更新程序適合被報(bào)告的副服務(wù)器軟件版本信息,則應(yīng)用程序返回下面的數(shù)據(jù)。
根據(jù)本發(fā)明的一個(gè)實(shí)施方案,表IV在下面給出數(shù)據(jù)格式示例
表IV-數(shù)據(jù)格式示例其它特征·報(bào)告關(guān)于顧客環(huán)境的信息(詳細(xì)目錄信息,顧客注冊等)。產(chǎn)品更新應(yīng)用程序·為每個(gè)到來的請求記錄額外的顧客專用信息。
根據(jù)本發(fā)明的一個(gè)實(shí)施方案,副服務(wù)器軟件使用安全的HTTP連接或FTP連接以下載有效更新程序。
自動更新服務(wù)器可能為存儲web卡升級記錄儲存單獨(dú)的表。目錄可能被更新以允許產(chǎn)品管理者將產(chǎn)品更新與軟件工具包(例如,為被管理的設(shè)備)相聯(lián)系。
根據(jù)一個(gè)實(shí)施方案,當(dāng)更新設(shè)備上的固件時(shí)(例如,卡),副服務(wù)器軟件發(fā)送OS和應(yīng)用程序?qū)觾烧?,其中OS首先被發(fā)送,接在其后是應(yīng)用程序?qū)榆浖???梢岳斫獾氖钱?dāng)向卡發(fā)送任何二進(jìn)制時(shí),都會清除掉當(dāng)前的應(yīng)用程序?qū)?。因此,下載OS和應(yīng)用程序?qū)觾烧叩娇ㄉ鲜莾?yōu)選的。
根據(jù)一個(gè)實(shí)施方案,副服務(wù)器可能檢驗(yàn)被管理的設(shè)備以確保OS層更新是成功的。在一個(gè)實(shí)例中,副服務(wù)器可能執(zhí)行FTP目錄段的列表(例如,經(jīng)過“l(fā)s”指令)并執(zhí)行OS層文件的檢驗(yàn)。如果副服務(wù)器被許可進(jìn)入系統(tǒng)并且升級成功,則OS文件是新文件。如果副服務(wù)器被許可進(jìn)入系統(tǒng)并更新不成功,則OS層文件是先前的OS層。
用于測定應(yīng)用程序是否正確的操作的一種方法包括執(zhí)行web卡的預(yù)期SNMP OID的查詢,以及如果web卡能夠響應(yīng),則SNMP運(yùn)行,從而指示應(yīng)用程序?qū)釉谶\(yùn)行。
作為替代的方法包括執(zhí)行FTP目錄段的列表(例如,經(jīng)過“l(fā)s”指令)并且確定由應(yīng)用程序?qū)铀褂玫氖录募?例如,“event.txt”)是否存在。如果多次嘗試升級卡(例如,兩次嘗試,兩次連續(xù)的失敗),這種情況可能被認(rèn)為是硬件的故障。舉例來說,為了更新一種類型的卡,副服務(wù)器軟件需要用戶/密碼/端口以訪問在web卡上的FIP服務(wù)器。
更新文件格式和命名協(xié)定根據(jù)一個(gè)實(shí)施方案,二進(jìn)制固件文件包括首部。在一個(gè)實(shí)施方案中,所述的首部包含關(guān)于文件和整個(gè)文件與首部兩者檢驗(yàn)和的確認(rèn)信息。所述的檢驗(yàn)和可以被使用在試圖發(fā)送文件到卡之前使文件生效(例如,使用FTP)。
下面的信息是關(guān)于文件格式和命名在實(shí)例中所使用系統(tǒng)的各種不同的執(zhí)行程序用于控制的可執(zhí)行類型DLL是用于發(fā)動的條目點(diǎn)(舉例來說,所述的控制包括支持文件,像其它DLL,幫助)為控制命名格式apc_plugin_<應(yīng)用程序?qū)?amp;gt;_<控制版本>.舉例來說,apc_plugin_rpdu_1.0.0.7.dll插件程序可能版本相似于其它軟件major.minor.point.build(例如,6.1.1.107)用于控制的傳遞箱帶有上述命名格式的CAB文件。舉例來說,asp_plugin_rpdu_1.0.0.7.cab
由副服務(wù)器所使用的信息以將設(shè)備相配于控制應(yīng)用程序?qū)游募ò姹?,與目錄條目相匹配。
由服務(wù)器提供給控制臺的信息以指示用于單獨(dú)設(shè)備的發(fā)動控制CAB文件名,帶有擴(kuò)展名但沒有路徑。舉例來說,apc_plugin_rpdu_1.1.1.7.cab用于將控制從服務(wù)器傳遞到控制臺的傳遞方法HTTP請求。舉例來說,http//<server ip>/<FTP directory>/<CAB file name>
在服務(wù)器上CAB文件位置ftp directory.example,/apcstorel/updates在控制臺上控制安裝位置<SystemDrive>\Program Files\APC\CommonClients\<CAB filename>.ex c\Program Files\APC\CommonClients\apc_plugin_rpdu_1.0.0.7.cab.
根據(jù)一個(gè)實(shí)施方案,設(shè)備應(yīng)用程序文件名必須準(zhǔn)確地和與設(shè)備有關(guān)的控制的目錄條目相匹配。因?yàn)榘姹拘畔⒈仨毱ヅ?,因此?yīng)該有用于專用固件的目錄條目以選擇控制。多個(gè)固件版本必須被變換成相同的控制,但是在一個(gè)實(shí)施方案中,每個(gè)都請求它本身的目錄條目。因此,如果存在帶有不同固件版本的設(shè)備,則相同控制的多個(gè)版本可能在單個(gè)系統(tǒng)中保持有效。
根據(jù)一個(gè)實(shí)施方案,一對一匹配的使用可以避免必須執(zhí)行新控制與舊的固件版本之間的兼容性測試。一對一匹配的交易在于由于磁盤空間被控制所消耗,因此目錄能夠得到相當(dāng)多的時(shí)間。根據(jù)本發(fā)明的一個(gè)實(shí)施方案,常規(guī)的文件命名實(shí)例在圖11中作為例子被示出,以及顯示示例的格式并在表V中被解釋
表V-數(shù)據(jù)格式示例使用前面的常規(guī)的命名和編號方式可以確保很多軟件更新方案。舉例來說,在一個(gè)實(shí)施方案中,名稱反映了控制所工作的設(shè)備類型,但是不包括任何應(yīng)用程序?qū)影姹拘畔ⅲ驗(yàn)閱蝹€(gè)控制可能與多個(gè)固件修正有關(guān)。同樣,在不用針對固件進(jìn)行相應(yīng)的修正的情況下,控制可以被修正。
CAB文件可以包含多個(gè)文件,因此控制不需要成為單個(gè)的文件。根據(jù)本發(fā)明的一個(gè)實(shí)施方案,舉例來說,在獨(dú)立應(yīng)用的場合,由控制符號所提供的安全性可以被Web瀏覽器所使用。作為替代,安全性也可以被副服務(wù)器所使用。無論如何,副服務(wù)器將檢驗(yàn)控制以確保控制沒有被修改并且被沒有變化的由制造商所傳遞。
使用這種方法的主要的交易是簡化磁盤空間。
簡化——對服務(wù)器和控制臺兩者都是相對容易地檢測是否它們需要下載控制。使用版本的文件名和用于控制的獨(dú)立子目錄,消除版本問題(例如,測定是否存在有效控制的較新版本,是否最新的控制版本向后兼容全部固件版本,是否DCal.dll的新版本向后兼容舊的控制,是否存在沒有版本信息的支持文件等)。
磁盤空間——在CAB中的文件的每一次變化,CAB的名稱和控制都必需變化。根據(jù)一個(gè)實(shí)施方案,控制的當(dāng)前版本不會覆蓋以前的(例如,即不是CAB也不是控制)。根據(jù)另一個(gè)實(shí)施方案,沒有支持文件(例如,諸如DCall.dll)共享于控制中。根據(jù)一個(gè)實(shí)例,每一控制都帶有它的全部支持文件完全的集合。系統(tǒng)將包括周期清理配置(例如,刪除在x天,月,年等沒有被使用過的文件)。
<控制 版本>格式的實(shí)例遵循如同卡相同的慣例wxyz,其中w=major 1-9,x=minor0-9,y=point 0-9,z=beta a-z,A-Z.這樣沒有限定每個(gè)為1數(shù)字/字符(123a=1.2.3.a).同樣,必須將build數(shù)字譯成beta字符。
程序文件目錄(如在基于Windows的計(jì)算機(jī))可能作為用于控制的安裝位置,因?yàn)樗膬?nèi)容對用戶是顯而易見的,在所有以Windows操作系統(tǒng)的類型和控制臺所支持的定位版本中都是有效的,以及可以由控制臺從OS中取回。在工作臺工作目錄下(例如,c\WinNT\Downloaded Program Files\APC\CommonClients\<CAB Filename>),控制不被安裝,因?yàn)橹挥型ㄟ^指令提示,這些子目錄和文件才對用戶來說是顯而易見的。在另一個(gè)代替的<SystemDrive>\Documents and Settings\ALL Users,軟件可能被安裝。
更新程序可能被分為三個(gè)目錄1.用于設(shè)備的固件更新程序(例如,Web卡)
根據(jù)一個(gè)實(shí)施方案,關(guān)于任何更新的固件更新程序,副服務(wù)器將連續(xù)地將它們發(fā)到被管理的設(shè)備上(例如,網(wǎng)絡(luò)管理卡)。與它們有關(guān)的文件包括固件更新目錄,firmware_update_available.txt,其包含所有有效固件更新程序的列表,版本是什么,并且其中副服務(wù)器需要查看以從更新服務(wù)器中下載它們。副服務(wù)器使用這些目錄以測定是否有用于這些設(shè)備的有效更新程序,并測定這些二進(jìn)制更新程序的位置。所述的二進(jìn)制更新文件的例子是apc_hw02_rPDU_220g.bin.
一旦副服務(wù)器已經(jīng)測定存在有效的更新程序,則用戶被提示從更新服務(wù)器中下載有效的更新程序,并且如果用戶已經(jīng)這樣選擇,則他們將通過email被通知更新程序是有效的。副服務(wù)器軟件程序下載目錄中的所有二進(jìn)制到與副服務(wù)器相聯(lián)系的存貯介質(zhì)中,并且這時(shí)用戶通過對話框被提示以允許他們選擇將被更新的設(shè)備。副服務(wù)器將呈現(xiàn)給用戶關(guān)于固件更新進(jìn)程成功與否的狀態(tài)報(bào)告。
2.用于副服務(wù)器軟件程序的公共客戶插件程序根據(jù)一個(gè)實(shí)施方案,用于副服務(wù)器軟件程序的公共客戶插件程序是為管理專用設(shè)備所設(shè)計(jì)的高性能客戶。因此,如果用戶選擇了設(shè)備,則在管理狀況屏中,用戶將被呈現(xiàn)設(shè)備的詳細(xì)情況和一些管理性能。如果公共客戶有必要管理設(shè)備,則界面將提供設(shè)備的所有特征的路徑,并帶有極強(qiáng)的可用性,和可觀性與易知性。這些公共客戶在整個(gè)時(shí)間中為設(shè)備而建立,當(dāng)他們有效時(shí),他們被提示給更新服務(wù)器。當(dāng)副服務(wù)器為更新程序執(zhí)行檢驗(yàn)時(shí),副服務(wù)器將檢測公共客戶是否有效并下載他們。
一旦被下載,當(dāng)用戶試圖雙擊設(shè)備,所述的設(shè)備能夠被公共客戶所管理,則客戶將被分配到用戶的客戶機(jī)器并被發(fā)送。與公共客戶相關(guān)的文件包括壓縮文件,apc_plugin_rpdu_1.0.0.13.cab。所述的壓縮文件包括插件程序發(fā)射裝置和被需要以實(shí)際裝載插件程序的多個(gè)dll’s。插件程序帶有它們自身的“目錄”文件,firmware_control_available.txt,其相似于固件更新程序目錄,在于它描述了插件程序的版本是什么,以及插件程序所管理的設(shè)備是什么。副服務(wù)器使用所述的目錄以測定任一插件程序是有效的以同設(shè)備相結(jié)合使用,所述的設(shè)備被服務(wù)器管理。
前面所描述的CAB文件包含公共客戶插件程序分配。根據(jù)一個(gè)實(shí)施方案,僅有的控制處于獨(dú)立應(yīng)用程序中,在副服務(wù)器外部,公共客戶被用來一對一管理設(shè)備,加載器控制被用來實(shí)際加載插件程序(例如,dll文件)。
下面的格式/字符為目錄文件而被使用基于文本逗號分隔每一段以部分分號結(jié)束在固件更新程序文件中的字段包括硬件,應(yīng)用程序,版本,專用部件,顧客,構(gòu)造,應(yīng)用程序URL,OS URL,描述文本,描述URL在公共控制文件中的字段包括硬件,應(yīng)用程序,版本,專用部件,顧客,構(gòu)造,本地,應(yīng)用程序URL
盡管各種不同的文件格式和位置在此已經(jīng)被具體地描述,但是可以理解的是本發(fā)明并沒有限定到具體的實(shí)施方案中。
因此在此描述的是說明性的實(shí)施方案,在本領(lǐng)域內(nèi)的技術(shù)人員會理解很容易進(jìn)行各種不同的替換,修改和改進(jìn)。所述的替換,修改和改進(jìn)都在本發(fā)明的本質(zhì)和范圍內(nèi)。據(jù)此,前面的描述只是作為示例而不是限定于此。
權(quán)利要求
1.一種用于更新含有更新服務(wù)器的系統(tǒng)中軟件的方法,所述的更新服務(wù)器適于存儲一個(gè)或多個(gè)軟件更新程序,所述的方法包括以下動作從更新服務(wù)器中接收來自更新服務(wù)器的有效更新程序目錄;測定在更新程序目錄中所涉及的至少一個(gè)有效更新程序是否適于應(yīng)用到至少一個(gè)被管理的設(shè)備中;以及如果是,下載所述的至少一個(gè)有效更新程序并將所述的至少一個(gè)有效更新程序應(yīng)用到所述的至少一個(gè)被管理的設(shè)備中。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括動作保留本地更新程序目錄;以及將接收到的更新程序目錄并入本地更新程序目錄。
3.根據(jù)權(quán)利要求1所述的方法,其中所述的至少一個(gè)有效更新程序包括操作系統(tǒng)部分和管理部分,并且其中應(yīng)用所述的至少一個(gè)有效更新程序的動作進(jìn)一步包括在將所述的管理部分應(yīng)用到所述至少一個(gè)被管理的設(shè)備上之前,將所述的操作系統(tǒng)部分應(yīng)用到所述的至少一個(gè)被管理的設(shè)備上。
4.根據(jù)權(quán)利要求1所述的方法,其中接收、測定、下載和應(yīng)用的動作的每一個(gè)都由副服務(wù)器所執(zhí)行。
5.根據(jù)權(quán)利要求1所述的方法,其中測定的動作包括將與所述的至少一個(gè)有效更新程序有關(guān)文件的文件名信息和與所述的被管理的設(shè)備有關(guān)的軟件當(dāng)前部分的文件名信息進(jìn)行比較。
6.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括將至少一個(gè)文件發(fā)送到所述的至少一個(gè)被管理的設(shè)備中的動作。
7.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括校驗(yàn)與所述的至少一個(gè)有效更新程序相關(guān)的至少一個(gè)文件沒有被破壞的動作,并且其中校驗(yàn)的動作先于應(yīng)用的動作被執(zhí)行。
8.根據(jù)權(quán)利要求7所述的方法,其中所述的校驗(yàn)和應(yīng)用的動作均由副服務(wù)器所執(zhí)行。
9.根據(jù)權(quán)利要求4所述的方法,其中副服務(wù)器為多個(gè)被管理的設(shè)備執(zhí)行一個(gè)或多個(gè)更新程序。
10.根據(jù)權(quán)利要求9所述的方法,其中所述的多個(gè)被管理的設(shè)備是不間斷電源(UPS)系統(tǒng)的每個(gè)部件,并且其中副服務(wù)器將一個(gè)或多個(gè)更新程序應(yīng)用到UPS系統(tǒng)的被選定的部件中。
11.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括測定動作,代表多個(gè)設(shè)備測定更新程序是否存在于更新服務(wù)器中。
12.根據(jù)權(quán)利要求5所述的方法,其中將與所述的至少一個(gè)有效更新程序有關(guān)文件的文件名信息和與所述的至少一個(gè)被管理的設(shè)備有關(guān)的軟件的當(dāng)前部分的文件名信息進(jìn)行比較的動作包括的動作有,將與所述的至少一個(gè)有效更新程序有關(guān)的文件的修訂值信息和與所述的至少一個(gè)被管理的設(shè)備有關(guān)的軟件的當(dāng)前部分的修訂值信息進(jìn)行比較,并且基于這種比較測定所述的至少一個(gè)被管理的設(shè)備是否應(yīng)該被更新。
13.根據(jù)權(quán)利要求12所述的方法,進(jìn)一步包括的動作有測定至少一個(gè)有效更新程序的修訂值是否是軟件的新修訂值,所述軟件的新修訂值與至少一個(gè)有效更新程序相關(guān)的修訂值文件和至少一個(gè)被管理的設(shè)備的軟件的當(dāng)前部分的文件名信息進(jìn)行比較。
14.根據(jù)權(quán)利要求1所述的方法,其中所述的至少一個(gè)有效更新程序包括操作系統(tǒng)部分和管理部分,并且其中應(yīng)用所述的至少一個(gè)有效更新程序的動作進(jìn)一步包括將操作系統(tǒng)部分應(yīng)用到所述的至少一個(gè)被管理的設(shè)備上,以及將管理部分應(yīng)用到至少一個(gè)被管理的設(shè)備和至少一個(gè)被管理的設(shè)備的管理器中的至少一個(gè)上。
15.根據(jù)權(quán)利要求14所述的方法,其中如果所述的至少一個(gè)被管理的設(shè)備被耦合到公共網(wǎng)絡(luò)上,則管理部分被應(yīng)用到所述的至少一個(gè)被管理的設(shè)備中。
16.根據(jù)權(quán)利要求14所述的方法,其中如果所述的至少一個(gè)被管理的設(shè)備被耦合到私人網(wǎng)絡(luò)上,則管理部分被應(yīng)用到至少一個(gè)被管理的設(shè)備中的管理器中。
17.根據(jù)權(quán)利要求14所述的方法,其中如果所述的管理器適于應(yīng)用所述的至少一個(gè)有效更新程序,則管理部分被應(yīng)用到至少一個(gè)被管理設(shè)備的管理器中。
18.根據(jù)權(quán)利要求14所述的方法,其中所述的管理器適于執(zhí)行的動作有接收、測定、下載以及應(yīng)用所述的至少一個(gè)有效更新程序。
19.一種用于更新軟件部分的系統(tǒng),所述的系統(tǒng)包括更新服務(wù)器經(jīng)過配置以存儲多個(gè)有效的更新程序;以及適于管理多個(gè)設(shè)備的副服務(wù)器,其中所述的副服務(wù)器適于測定多個(gè)有效更新程序的任何一個(gè)是否應(yīng)該被應(yīng)用到多個(gè)設(shè)備中的任何一個(gè)中,并且如果是,則將多個(gè)更新程序的至少一個(gè)應(yīng)用到多個(gè)設(shè)備的至少一個(gè)中。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其中多個(gè)更新程序的所述的至少一個(gè)包括操作系統(tǒng)部分和管理部分,并且其中所述的副服務(wù)器適于在將管理部分應(yīng)用到多個(gè)設(shè)備的所述至少一個(gè)中之前,將操作系統(tǒng)部分應(yīng)用到多個(gè)設(shè)備的所述至少一個(gè)中。
21.根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述的副服務(wù)器適于將與至少一個(gè)有效更新程序相關(guān)文件的文件名信息和與多個(gè)設(shè)備的至少一個(gè)的軟件的當(dāng)前部分的文件名信息進(jìn)行比較,并且基于這種比較測定多個(gè)設(shè)備的至少一個(gè)是否應(yīng)該被更新。
22.根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述的副服務(wù)器包括適于從更新服務(wù)器中接收有效更新程序目錄的界面。
23.根據(jù)權(quán)利要求22所述的系統(tǒng),其中所述的副服務(wù)器包括用于存儲本地更新程序目錄的存儲器,并且其中所述的副服務(wù)器適于將接收的更新程序目錄并入本地更新程序目錄。
24.根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述的副服務(wù)器適于將與多個(gè)更新程序的至少一個(gè)相關(guān)文件的文件名信息和多個(gè)設(shè)備的至少一個(gè)相關(guān)軟件的當(dāng)前部分的文件名信息進(jìn)行比較。
25.根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述的副服務(wù)器適于將與多個(gè)更新程序的至少一個(gè)相關(guān)的至少一個(gè)文件加載到多個(gè)設(shè)備中的至少一個(gè)上。
26.根據(jù)權(quán)利要求24所述的系統(tǒng),其中所述的副服務(wù)器適于在比較的基礎(chǔ)上測定多個(gè)設(shè)備的至少一個(gè)是否應(yīng)該被更新。
27.根據(jù)權(quán)利要求19所述的系統(tǒng),其中所述的多個(gè)被管理的設(shè)備是不間斷電源(UPS)系統(tǒng)的每一個(gè)部件,并且其中所述的副服務(wù)器適于將至少一個(gè)更新程序應(yīng)用到UPS系統(tǒng)的一個(gè)或多個(gè)被選定的部件上。
全文摘要
用于自動更新系統(tǒng)軟件的系統(tǒng)和方法。在一個(gè)實(shí)例中,不需要用戶的介入,軟件就可以被更新。進(jìn)一步,提供的系統(tǒng)能夠在非PC機(jī)系統(tǒng)中執(zhí)行軟件的更新,諸如網(wǎng)絡(luò)設(shè)備,不間斷電源(UPS)或其它的系統(tǒng)。在另一個(gè)實(shí)例中,提供用代理服務(wù)器更新系統(tǒng)多個(gè)部分的系統(tǒng)和方法,所述的代理服務(wù)器負(fù)責(zé)下載和應(yīng)用更新程序的。
文檔編號G06F9/44GK1898643SQ200480038705
公開日2007年1月17日 申請日期2004年10月27日 優(yōu)先權(quán)日2003年10月27日
發(fā)明者布拉德·T·哈蒙德, 托德·J·吉爾昆杜, 丹尼爾·J·雷德蒙, 吉姆·希金思 申請人:美國能量變換公司