專利名稱:用于軟件自動(dòng)更新和測試的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及改進(jìn)的數(shù)據(jù)處理系統(tǒng),具體涉及用于管理軟件部件的方法和設(shè)備。更具體而言,本發(fā)明提供了用于自動(dòng)更新軟件部件的方法和設(shè)備。
背景技術(shù):
現(xiàn)代計(jì)算技術(shù)導(dǎo)致了非常復(fù)雜和不斷變化的環(huán)境。一種這樣的環(huán)境就是Internet,也稱為“因特網(wǎng)”。Internet是通過網(wǎng)關(guān)連接在一起的一組計(jì)算機(jī)網(wǎng)絡(luò),這些計(jì)算機(jī)網(wǎng)絡(luò)有可能不同,所述網(wǎng)關(guān)用于處理數(shù)據(jù)傳輸,并將消息從發(fā)送網(wǎng)絡(luò)的協(xié)議轉(zhuǎn)換到接收網(wǎng)絡(luò)所使用的協(xié)議。術(shù)語“Internet”主要指使用TCP/IP協(xié)議族的網(wǎng)絡(luò)和網(wǎng)關(guān)的集合。目前,通過Internet傳輸數(shù)據(jù)的最常用方法是利用萬維網(wǎng)環(huán)境,也將其簡單地稱為“Web″。還存在用于傳輸信息的其他Internet資源,例如文件傳輸協(xié)議(FTP)和Gopher,但還達(dá)不到Web那樣普及。在Web環(huán)境中,服務(wù)器和客戶機(jī)使用超文本傳輸協(xié)議(HTTP)進(jìn)行數(shù)據(jù)事務(wù),HTTP是用于處理各種數(shù)據(jù)文件(例如,文本,靜止圖像,音頻,運(yùn)動(dòng)視頻等)傳輸?shù)墓獏f(xié)議。通過標(biāo)準(zhǔn)頁面描述語言,即超文本標(biāo)記語言(HTML),將各種數(shù)據(jù)文件中的信息進(jìn)行格式化,以便提供給用戶。Internet還廣泛用于向使用瀏覽器的用戶傳輸應(yīng)用程序。軟件包的用戶會經(jīng)常通過Internet搜索和獲取對那些軟件包的更新。
其他類型的復(fù)雜網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)包括為大型公司中便于工作而創(chuàng)建的系統(tǒng)。在許多情形中,這些網(wǎng)絡(luò)可遍布于世界各地的多處區(qū)域。這些復(fù)雜的網(wǎng)絡(luò)還可將Internet用作用于商業(yè)運(yùn)營的虛擬產(chǎn)品網(wǎng)絡(luò)的部分。由于需要對網(wǎng)絡(luò)內(nèi)部使用的軟件進(jìn)行管理和更新,從而這些網(wǎng)絡(luò)更為復(fù)雜。
由多個(gè)松散連接的軟件部件構(gòu)成的這種環(huán)境通常有些脆弱。在這些環(huán)境中,對于網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)所涉及的軟件部件,對其中一個(gè)軟件部件部署新版本就可能造成問題,且可能對于僅僅無關(guān)地(tangentially)連接到被替換部件的整個(gè)系統(tǒng)的各部分造成深遠(yuǎn)和不可預(yù)料的影響。即便危險(xiǎn)性并不明顯的改變也往往會造成不可預(yù)見和不期望的負(fù)面影響。從而,由于這些深遠(yuǎn)的影響,系統(tǒng)管理員通常對于執(zhí)行諸如部件升級或較小的配置變化之類的更新極為謹(jǐn)慎。當(dāng)信息系統(tǒng)對于現(xiàn)代商業(yè)非常重要時(shí),甚至數(shù)秒的機(jī)器故障時(shí)間也可能造成嚴(yán)重的問題,而跟蹤探測該故障時(shí)間可能花費(fèi)遠(yuǎn)比數(shù)秒更多的時(shí)間。例如,電子郵件服務(wù)器對許多企業(yè)提供重要的部件,這是由于這些服務(wù)器促成在企業(yè)或組織內(nèi)部和外部的用戶之間的通信。導(dǎo)致電子郵件消息傳遞錯(cuò)誤的電子郵件服務(wù)器更新會對公司或組織造成生產(chǎn)率降低和業(yè)務(wù)損失。
隨著軟件變得日益“自主”,對軟件進(jìn)行更新,配置和修補(bǔ)的任務(wù)也將越來越多地由計(jì)算機(jī)本身執(zhí)行,而不是由管理員來執(zhí)行。當(dāng)前的更新機(jī)制趨于“自主”處理。例如,許多操作系統(tǒng)和軟件包將基于某些事件,例如定時(shí)器或由用戶執(zhí)行的一組特定動(dòng)作而自動(dòng)查找更新。更新機(jī)制經(jīng)常在預(yù)選位置處連接到Internet,以查看是否存在更新。如果存在更新,則向用戶發(fā)送消息,該消息向用戶詢問是否下載和安裝更新。下一個(gè)趨向于“自主”計(jì)算的步驟涉及識別和下載更新,而無需用戶的干預(yù)。因此,提供一種用于處理因軟件的這種更新,重新配置和修補(bǔ)造成的不期望或僅僅不可預(yù)料的影響的改進(jìn)的方法,設(shè)備和計(jì)算機(jī)指令,將是有益的。
發(fā)明內(nèi)容
本發(fā)明提供了一種用于更新軟件部件的方法,設(shè)備和計(jì)算機(jī)指令。判定是否要更新軟件部件。當(dāng)判定要更新軟件部件時(shí),更新軟件部件以形成更新的軟件部件。自動(dòng)測試更新的軟件部件。響應(yīng)當(dāng)測試更新的部件時(shí)出現(xiàn)的失敗,執(zhí)行校正動(dòng)作。
在所附權(quán)利要求中給出了認(rèn)為是本發(fā)明特征的新穎特性。不過,結(jié)合附圖,參照后面對示意性實(shí)施例的詳細(xì)描述,將更好地理解本發(fā)明本身,和所使用的優(yōu)選實(shí)施方式,以及其他目的和優(yōu)點(diǎn),其中圖1示意性地表示可實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò);圖2表示根據(jù)本發(fā)明優(yōu)選實(shí)施例實(shí)現(xiàn)為服務(wù)器的數(shù)據(jù)處理系統(tǒng)的框圖;圖3表示可實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的框圖;圖4表示根據(jù)本發(fā)明優(yōu)選實(shí)施例對軟件部件進(jìn)行更新時(shí)所使用的部件的圖例;圖5表示根據(jù)本發(fā)明優(yōu)選實(shí)施例的自主更新中所使用的部件的圖例;圖6表示用于根據(jù)本發(fā)明優(yōu)選實(shí)施例執(zhí)行自主更新的過程的流程圖;圖7表示用于根據(jù)本發(fā)明優(yōu)選實(shí)施例執(zhí)行自主更新的過程的流程圖;圖8表示用于根據(jù)本發(fā)明優(yōu)選實(shí)施例執(zhí)行自主更新的過程的流程圖;而圖9表示用于根據(jù)本發(fā)明優(yōu)選實(shí)施例修改自主更新的過程的流程圖。
具體實(shí)施例方式
現(xiàn)在參照附圖,圖1示意性地表示可實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100為可實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)網(wǎng)絡(luò)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包含網(wǎng)絡(luò)102,網(wǎng)絡(luò)102是用于在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100內(nèi)連接在一起的多個(gè)設(shè)備和計(jì)算機(jī)之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)102可包括諸如線纜,無線通信鏈路或光纜之類的連接。
在所述示例中,服務(wù)器104與網(wǎng)絡(luò)102連接,并且與存儲單元106連接。此外,客戶機(jī)108,110和112也與網(wǎng)絡(luò)102相連。這些客戶機(jī)108,110和112可為例如個(gè)人計(jì)算機(jī)或網(wǎng)絡(luò)計(jì)算機(jī)。在所述示例中,服務(wù)器104向客戶機(jī)108-112提供數(shù)據(jù),如引導(dǎo)文件,操作系統(tǒng)映像和應(yīng)用程序??蛻魴C(jī)108,110和112為服務(wù)器104的客戶機(jī)。服務(wù)器104可為客戶機(jī)(如客戶機(jī)108,110和112)提供更新源。在這些示例中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包含自動(dòng)計(jì)算特性,如更新在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100內(nèi)使用的軟件部件的特性。具體地,可在無需用戶干預(yù)以獲取和安裝更新的情況下對軟件部件進(jìn)行更新。這些更新可包括例如對軟件部件的可執(zhí)行文件的更新,對軟件部件的新可執(zhí)行文件或數(shù)據(jù)文件的更新,或甚至對軟件部件的配置文件的改變。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100可包括另外的服務(wù)器,客戶機(jī),以及其他設(shè)備,在此未示出。
在所述示例中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100為Internet,其中網(wǎng)絡(luò)102表示彼此使用傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)協(xié)議族進(jìn)行通信的網(wǎng)絡(luò)和網(wǎng)關(guān)的世界范圍集合。Internet的核心為主節(jié)點(diǎn)或主機(jī)(由成千上萬個(gè)對數(shù)據(jù)和消息進(jìn)行路由的商業(yè),政府,教育及其他計(jì)算機(jī)系統(tǒng)組成)之間的高速數(shù)據(jù)通信線路的骨干網(wǎng)。當(dāng)然,還可將網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100實(shí)現(xiàn)為多個(gè)不同類型的網(wǎng)絡(luò),如企業(yè)內(nèi)部網(wǎng),局域網(wǎng)(LAN),或廣域網(wǎng)(WAN)。圖1意在作為示例,并不對本發(fā)明進(jìn)行體系結(jié)構(gòu)限制。
參看圖2,其中根據(jù)本發(fā)明優(yōu)選實(shí)施例描述了可實(shí)現(xiàn)為服務(wù)器(例如圖1中的服務(wù)器104)的數(shù)據(jù)處理系統(tǒng)的框圖。數(shù)據(jù)處理系統(tǒng)200可以是包括與系統(tǒng)總線206相連的多個(gè)處理器202和204的對稱多處理器(SMP)系統(tǒng)?;蛘撸梢圆捎脝翁幚砥飨到y(tǒng)。存儲器控制器/高速緩存208也與系統(tǒng)總線206連接,并為局部存儲器209提供接口。I/O總線橋(bus bridge)210與系統(tǒng)總線206相連,并為I/O總線212提供接口。如圖所示,可將存儲器控制器/高速緩存208與I/O總線橋210集成。
連接到I/O總線212的外圍部件互連(PCI)總線橋214提供針對PCI局部總線216的接口。若干個(gè)調(diào)制解調(diào)器可與PCI局部總線216連接。典型的PCI總線設(shè)備將支持4個(gè)PCI擴(kuò)展槽或內(nèi)插(add-in)連接器。到圖1中客戶機(jī)108-112的通信鏈路可通過經(jīng)由內(nèi)插板(add-in board)與PCI局部總線216相連的調(diào)制解調(diào)器218或網(wǎng)絡(luò)適配器220來提供。
附加的PCI總線橋222和224提供針對附加PCI局部總線226和228的接口,由此可支持附加的調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器。通過這種方式,數(shù)據(jù)處理系統(tǒng)200能連接多個(gè)網(wǎng)絡(luò)計(jì)算機(jī)。如圖所示,還可將存儲器映射圖形適配器230和硬盤232直接或間接地與I/O總線212相連。
本領(lǐng)域技術(shù)人員可知,可以改變圖2中所示的硬件。例如,還可以使用其他外圍設(shè)備,如光盤驅(qū)動(dòng)器等,或者用這些設(shè)備添加到或取代所述硬件。所述示例并不意味著對本發(fā)明進(jìn)行體系結(jié)構(gòu)限制。
在圖2所示的數(shù)據(jù)處理系統(tǒng)例如可為IBM eSever系統(tǒng)(紐約Armonk的IBM公司的產(chǎn)品),該系統(tǒng)可運(yùn)行先進(jìn)交互執(zhí)行程序(AIX)操作系統(tǒng)或LINUX操作系統(tǒng)。
現(xiàn)參看圖3,圖3的框圖表示可實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)300表示客戶機(jī)計(jì)算機(jī)的示例。數(shù)據(jù)處理系統(tǒng)300采用外圍部件互連(PCI)局部總線體系結(jié)構(gòu)。盡管所示示例采用PCI總線,不過也可使用其他總線體系結(jié)構(gòu),如加速圖形端口(AGP)和工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)。處理器302和主存儲器304通過PCI橋308與PCI局部總線306相連。PCI橋308還可包括處理器302的集成存儲器控制器和高速緩存。到PCI局部總線306的附加連接可通過直接部件互連或內(nèi)插板實(shí)現(xiàn)。在所示示例中,局域網(wǎng)(LAN)適配器310,SCSI主機(jī)總線適配器312和擴(kuò)展總線接口314通過直接部件連接與PCI局部總線306相連。相比之下,音頻適配器316,圖形適配器318和音頻/視頻適配器319通過插入到擴(kuò)展槽的內(nèi)插板與PCI局部總線306相連。擴(kuò)展總線接口314為鍵盤和鼠標(biāo)適配器320,調(diào)制解調(diào)器322和附加存儲器324提供連接。小型計(jì)算機(jī)系統(tǒng)接口(SCSI)主機(jī)總線適配器312為硬盤驅(qū)動(dòng)器326,磁帶驅(qū)動(dòng)器328和CD-ROM驅(qū)動(dòng)器330提供連接。
操作系統(tǒng)在處理器302上運(yùn)行,用于對圖3中數(shù)據(jù)處理系統(tǒng)300內(nèi)的多個(gè)部件進(jìn)行協(xié)調(diào)和提供控制。操作系統(tǒng)可為市場上能夠獲得的操作系統(tǒng),如Windows XP(可從微軟公司獲得)。諸如Java的面向?qū)ο缶幊滔到y(tǒng)可結(jié)合操作系統(tǒng)運(yùn)行,并從在數(shù)據(jù)處理系統(tǒng)300上執(zhí)行的Java程序或應(yīng)用提供對操作系統(tǒng)的調(diào)用?!癑ava”為SunMicrosystems公司的商標(biāo)。操作系統(tǒng),面向?qū)ο蟮牟僮飨到y(tǒng),和應(yīng)用或程序的的指令處在存儲設(shè)備上,如在硬盤驅(qū)動(dòng)器326上,并且可將其載入到主存儲器304,以便由處理器302執(zhí)行。
本領(lǐng)域技術(shù)人員可知,可以根據(jù)實(shí)現(xiàn)改變圖3中所示的硬件。可以使用其他內(nèi)部硬件或外圍設(shè)備,如快擦寫只讀存儲器(ROM),等效非易失性存儲器或光盤驅(qū)動(dòng)器等,來補(bǔ)充或取代圖3中所示硬件。另外,本發(fā)明的處理可應(yīng)用于多處理器的數(shù)據(jù)處理系統(tǒng)。
圖3所示示例和上述示例并不意在對體系結(jié)構(gòu)進(jìn)行限制。例如,除采用PDA的形式外,數(shù)據(jù)處理系統(tǒng)300還可為筆記本電腦或手持式計(jì)算機(jī)。數(shù)據(jù)處理系統(tǒng)300還可為公共信息亭(kiosk)或Web電器。
現(xiàn)參看圖4,圖4表示根據(jù)本發(fā)明優(yōu)選實(shí)施例對軟件進(jìn)行更新時(shí)所使用的部件。這些部件可處在單個(gè)數(shù)據(jù)處理系統(tǒng)內(nèi)部,或這些部件中的一個(gè)或多個(gè)可處在一個(gè)或多個(gè)其他數(shù)據(jù)處理系統(tǒng)中。
在執(zhí)行自動(dòng)更新時(shí),更新管理部件400利用數(shù)據(jù)庫402。使用術(shù)語“自主更新”表示使用軟件過程沒有任何用戶干預(yù)地自動(dòng)執(zhí)行軟件部件的更新。該更新可包括例如對可執(zhí)行文件的改變,對數(shù)據(jù)文件的改變,添加新的可執(zhí)行文件,添加新的數(shù)據(jù)文件,或改變配置。數(shù)據(jù)庫402包括可用更新(available update)404,測試信息406,安裝信息408和回退信息410??捎酶?04包含有關(guān)對不同軟件部件的更新的消息,它可由更新管理部件400進(jìn)行管理。該信息可包括例如通過版本號所標(biāo)識的當(dāng)前可用更新,可標(biāo)識更新的位置或路徑,或?qū)嶋H更新文件本身。該信息還可包括參與自主更新的不同數(shù)據(jù)處理系統(tǒng)的標(biāo)識。如果更新位于可用更新404之外,則這些更新可通過路徑或位置信息來定位。例如,在可用更新404內(nèi)的更新信息可指向存儲介質(zhì)412,該存儲介質(zhì)可由更新管理部件400訪問。存儲介質(zhì)412可與更新管理部件400位于相同的數(shù)據(jù)處理系統(tǒng)上,或可處在遠(yuǎn)程數(shù)據(jù)處理系統(tǒng)上。該存儲介質(zhì)可采用多種形式,如硬盤驅(qū)動(dòng)器,磁帶或CD-ROM。
數(shù)據(jù)庫402還包括可用更新404中列出的每個(gè)更新的測試信息。在這些示例中,測試信息406指定在自主部署更新之后所要執(zhí)行的零或更多個(gè)測試。術(shù)語“自主部署”可與術(shù)語“自主更新”互換使用。在自主更新后執(zhí)行的測試可根據(jù)具體實(shí)現(xiàn)進(jìn)行變化。測試可包括除用于確定更新是否被正確安裝的測試之外的測試。例如,在某些情形中,測試可包括性能測試,單元測試,兼容性測試,或運(yùn)行中(on-the-fly)回歸測試。單元測試涉及測試更大整體的一小部分。例如,針對正開發(fā)的特定軟件的各個(gè)對象進(jìn)行軟件單元測試,以檢驗(yàn)這些對象是否響應(yīng)不同輸入和輸出而產(chǎn)生正確行為。在這些示例中,單元測試涉及對特別相關(guān)于所應(yīng)用更新的一個(gè)或多個(gè)部件進(jìn)行測試。更新可為例如新的程序文件,修改的程序文件,或配置改變。此類型測試從時(shí)間和影響方面而言成本較低,并且在過程級別(course level)上驗(yàn)證對于某些標(biāo)準(zhǔn)或基準(zhǔn)(benchmark)而言該更新正有效執(zhí)行。性能測試被用于確定更新之后的系統(tǒng)性能是可接受的??墒褂酶鞣N閾值和標(biāo)準(zhǔn)作為性能測試的部分。可采用兼容性測試以確保更新部件按照與更新部件通信的其他部件可接受的方式工作?;貧w測試為可用于確定更新部件是否與舊部件等效工作的另一種測試。對于性能測試,如果軟件部件未滿足某種度量(metric)或閾值,則即便已對軟件部件成功部署更新,該測試也失敗。所執(zhí)行的不同類型測試稱為“自主”測試,這是由于在執(zhí)行更新后自動(dòng)執(zhí)行測試。執(zhí)行這些測試不需要任何用戶輸入。在這些示例中,由更新管理部件400執(zhí)行自主測試?!白灾鳌睖y試是不需要用戶輸入或介入便可啟動(dòng)或執(zhí)行的測試。換而言之,響應(yīng)于更新剛好發(fā)生而啟動(dòng)自動(dòng)測試,其中不需要用戶向數(shù)據(jù)處理系統(tǒng)提供用戶輸入來選擇或啟動(dòng)測試。是否執(zhí)行測試以及執(zhí)行什么樣的測試取決于測試信息406內(nèi)的策略。例如,策略可指定如果更新是針對電子郵件服務(wù)器的,則在部署更新后要執(zhí)行性能測試。另外,所要采取的校正動(dòng)作可包括在測試信息406中。校正動(dòng)作可包括例如回退更新,安裝完全不同的軟件部件,或用不同的參數(shù)或選項(xiàng)重新安裝更新。
此外,數(shù)據(jù)庫402還包含安裝消息408。在這些示例中,該安裝消息指定在使用特定更新安裝或更新軟件部件時(shí)由更新管理部件400所使用的過程?;赝诵畔?10指定若更新要被回退則所要執(zhí)行的過程。更新的回退涉及移除更新,并將軟件部件置回到其更新前的先前狀態(tài)。如果對更新的軟件部件的測試結(jié)果為失敗或某種特定錯(cuò)誤,則根據(jù)本發(fā)明的優(yōu)選實(shí)施例執(zhí)行這樣的過程。在某些情形中,錯(cuò)誤或許較小,導(dǎo)致不執(zhí)行回退而保留更新。在另外一些情形中,錯(cuò)誤可能較嚴(yán)重,導(dǎo)致更新管理部件400執(zhí)行更新的回退。
安裝數(shù)據(jù)庫414是安裝在特定數(shù)據(jù)處理系統(tǒng)上的軟件部件和更新的數(shù)據(jù)庫。安裝數(shù)據(jù)庫414可包含一個(gè)數(shù)據(jù)處理系統(tǒng)或多個(gè)數(shù)據(jù)處理系統(tǒng)的信息。安裝數(shù)據(jù)庫414可被更新管理部件400用來通過可用更新404交叉引用該數(shù)據(jù)庫中的信息,以識別可用于特定數(shù)據(jù)處理系統(tǒng)的更新。其次,歷史數(shù)據(jù)庫416包含對數(shù)據(jù)處理系統(tǒng)做出的更新的歷史紀(jì)錄。例如,該歷史信息包括當(dāng)每個(gè)更新均被部署時(shí),已被部署到數(shù)據(jù)處理系統(tǒng)的可用更新404中的更新的標(biāo)識,以及對更新執(zhí)行的測試的測試結(jié)果。該數(shù)據(jù)庫還可跟蹤不止一個(gè)計(jì)算機(jī)的狀態(tài)。此外,可將更新測試后做出的判決以及根據(jù)測試結(jié)果所采取的任何動(dòng)作存儲在歷史數(shù)據(jù)庫416中。通過歷史數(shù)據(jù)庫416,更新管理部件400可對更新做出例如有關(guān)安裝哪些更新以及何時(shí)安裝更新的判定。更新管理部件400使用的另一數(shù)據(jù)庫是優(yōu)選數(shù)據(jù)庫(preference database)418。該數(shù)據(jù)庫包含用于控制更新管理部件400的操作的附加信息。例如,優(yōu)選數(shù)據(jù)庫418可指定對于特定軟件部件,不應(yīng)安裝最新的更新。從而,該特定軟件部件會一直使用當(dāng)前可用更新之前的更新來運(yùn)行。
在這些示例中,安裝數(shù)據(jù)庫414,歷史數(shù)據(jù)庫416和優(yōu)選數(shù)據(jù)庫418可包含關(guān)于不止一個(gè)客戶機(jī)數(shù)據(jù)處理系統(tǒng)的信息。例如,優(yōu)選數(shù)據(jù)庫418可指定對于特定軟件部件和特定數(shù)據(jù)處理系統(tǒng),不應(yīng)安裝最新的更新。從而,該特定數(shù)據(jù)處理系統(tǒng)會一直使用該特定軟件部件的當(dāng)前可用更新之前的更新來運(yùn)行。更新管理部件400還可跟蹤除在數(shù)據(jù)庫402中所示信息之外的其他類型的信息。例如,可將與計(jì)算機(jī)過去狀態(tài)以及更新有關(guān)的信息存儲在數(shù)據(jù)庫402中。
現(xiàn)在參看圖5,圖5表示根據(jù)本發(fā)明優(yōu)選實(shí)施例的自動(dòng)更新中所使用的部件。在該示例中,使用中央或主更新部件(如主更新管理部件500)執(zhí)行更新,從而對多個(gè)不同客戶機(jī)(如客戶機(jī)502和504)上的更新進(jìn)行管理。這些客戶機(jī)包含輔助更新管理部件,例如,輔助更新管理部件506和508。主更新管理部件500可處在服務(wù)器上,如處在圖1中的服務(wù)器104上,而輔助更新管理部件506和508可處在客戶機(jī)上,如在圖1中的客戶機(jī)108和110上。這些輔助更新管理部件均管理其所在的客戶機(jī)上的軟件部件。
在該示例中,數(shù)據(jù)庫510被主更新管理部件500訪問,以控制可用更新的自主更新,測試和回退。在這些示例中,可用更新在可用更新512中。用于在客戶機(jī)502和504上安裝更新的信息在安裝信息514中,而在安裝之后所要執(zhí)行的測試在測試信息516中。如果測試失敗,則用于回退更新的過程在回退信息518中。
輔助更新管理部件506訪問歷史數(shù)據(jù)庫520和優(yōu)選數(shù)據(jù)庫522,而輔助更新管理部件508訪問歷史數(shù)據(jù)庫524和優(yōu)選數(shù)據(jù)庫526。這些輔助更新管理部件均會與主更新管理部件500聯(lián)系以確定更新是否可用于每個(gè)特定客戶機(jī)。在檢查可用更新時(shí),可將有關(guān)安裝的更新的優(yōu)選信息和歷史信息從輔助更新管理部件506和輔助更新管理部件508發(fā)送到主更新管理部件500。該檢查的進(jìn)行可基于某些事件,如周期性事件(類似于定時(shí)器的到期),或基于某些其他非周期性事件,如軟件部件的啟動(dòng)。更新的可用性存儲在可用更新512中。
如果更新可用,則由主更新管理部件500從安裝信息514獲得用于安裝更新的過程,并將其發(fā)送到輔助更新管理部件506和508。響應(yīng)于接收到安裝信息,輔助更新管理部件506和輔助更新管理部件508將使用從主更新管理部件500接收的過程執(zhí)行自主更新。安裝更新之后,輔助更新管理部件506和輔助更新管理部件508將使用通過主更新管理部件500接收的來自測試信息516的測試信息,執(zhí)行更新的測試。如果測試成功,則軟件部件繼續(xù)操作。如果測試不成功,則通過主更新管理部件500從回退信息接收回退過程。關(guān)于更新,測試和回退的數(shù)據(jù)及其他統(tǒng)計(jì)信息存儲在歷史數(shù)據(jù)庫520和歷史數(shù)據(jù)庫524中。
在該特定示例中,主更新管理部件500可跟蹤附加信息,如關(guān)于參與自主更新的計(jì)算機(jī),用于執(zhí)行測試的數(shù)據(jù)處理系統(tǒng)的標(biāo)識,每個(gè)軟件部件的版本標(biāo)識以及當(dāng)前安裝在計(jì)算機(jī)中的配置的信息,以及關(guān)于可用于安裝的軟件部件的版本和配置的信息。另外,主更新管理部件500還可跟蹤有關(guān)在客戶機(jī)上當(dāng)前進(jìn)行的更新和測試的其他信息。該信息可包括例如當(dāng)前更新的軟件部件和所執(zhí)行的任何測試的狀態(tài)或階段。
在關(guān)鍵軟件部件的情形中,可在具有相似或相同配置的新客戶機(jī)上執(zhí)行軟件部件的安裝。例如,客戶機(jī)502可為形成網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)關(guān)鍵部件的電子郵件服務(wù)器。當(dāng)輔助更新管理部件506識別出電子郵件服務(wù)器部件的可用更新時(shí),識別出在其上要執(zhí)行更新的另一客戶機(jī)。特別是,可由輔助更新管理部件508對客戶機(jī)504進(jìn)行更新,而客戶機(jī)502不進(jìn)行更新。當(dāng)在客戶機(jī)504上對電子郵件服務(wù)器部件進(jìn)行更新并執(zhí)行測試后,可將用戶從客戶機(jī)502轉(zhuǎn)移或遷移到客戶機(jī)504。如果未出現(xiàn)失敗或錯(cuò)誤,則可逐步停止(phase out)客戶機(jī)502,客戶機(jī)504可向用戶提供電子郵件服務(wù)。如果出現(xiàn)錯(cuò)誤,則可使用戶移回到客戶機(jī)502。如果在更新后出現(xiàn)某些錯(cuò)誤或失敗,該過程提供了附加的防故障機(jī)制。通過在第二數(shù)據(jù)處理系統(tǒng)上執(zhí)行更新,同時(shí)保持第一數(shù)據(jù)處理系統(tǒng)處于沒有更新的狀態(tài),當(dāng)在第二數(shù)據(jù)處理系統(tǒng)上出現(xiàn)失敗時(shí),可快速使第一數(shù)據(jù)處理系統(tǒng)恢復(fù)服務(wù)。當(dāng)然,該過程可通過對軟件部件的更新以及使用遷移進(jìn)行控制的單個(gè)管理部件來執(zhí)行,如圖4所示,而不采用如圖5所示分布式結(jié)構(gòu)。
現(xiàn)在參看圖6,圖6表示用于根據(jù)本發(fā)明優(yōu)選實(shí)施例執(zhí)行自主更新的過程的流程圖。如圖6所示的流程可在更新管理部件(例如,圖4中的更新管理部件400)中實(shí)現(xiàn)。
流程以選擇軟件部件(步驟600)而開始。部件的選擇可根據(jù)具體實(shí)施方式
而發(fā)生變化。在這些示例中,所選的部件可通過訪問安裝數(shù)據(jù)庫,例如圖4中的安裝數(shù)據(jù)庫414來進(jìn)行識別。安裝數(shù)據(jù)庫可標(biāo)識在特定數(shù)據(jù)處理系統(tǒng)上安裝的軟件部件。或者,軟件部件可在特定時(shí)刻(如當(dāng)要執(zhí)行更新時(shí))動(dòng)態(tài)識別。判定更新對于軟件部件是否可用(步驟602)。該更新可通過檢查數(shù)據(jù)庫,例如圖4的數(shù)據(jù)庫402中的信息來進(jìn)行。如果更新對于部件可用,則判定是否需要更新(步驟604)。該判決可借助可在數(shù)據(jù)庫,例如圖4的歷史數(shù)據(jù)庫416和優(yōu)選數(shù)據(jù)庫418中找到的優(yōu)選和歷史信息來實(shí)現(xiàn)。如果需要更新,則部署更新(步驟606)。在部署更新后,判定部署是否成功(步驟608)。如果部署是成功的,則判定是否測試更新(步驟610)。在某些情形中,可不對更新執(zhí)行測試。如果要對更新進(jìn)行測試,則執(zhí)行一個(gè)或多個(gè)指定的測試(步驟612)。要運(yùn)行的特定測試通過測試消息(例如,在圖4所示數(shù)據(jù)庫402中所找到的測試消息406)來指定。執(zhí)行測試之后,判定對更新所執(zhí)行的測試是否成功(步驟614),如果測試是成功的,則更新歷史數(shù)據(jù)庫(步驟616)。歷史數(shù)據(jù)庫為諸如圖4所示歷史數(shù)據(jù)庫416的歷史數(shù)據(jù)庫。寫入到數(shù)據(jù)庫中的信息包括關(guān)于更新形式的信息,測試的結(jié)果,以及用于確定更新對軟件部件的未來應(yīng)用的任何其他數(shù)據(jù)。接下來,判定是否存在其他未處理的軟件部件(步驟618)。如果不存在其他未處理的軟件部件,則流程結(jié)束。
再次參看步驟618,如果存在其他未處理的軟件部件,則流程返回到如上所述的步驟600?;氐讲襟E614,如果測試未成功,則執(zhí)行校正動(dòng)作(步驟620)。對軟件部件更新的回退可作為校正動(dòng)作執(zhí)行??蓤?zhí)行的其他校正動(dòng)作包括例如識別應(yīng)用到軟件部件的不同更新,或加速全新軟件部件的展開(roll out)以代替現(xiàn)有軟件部件。例如,如果對Web服務(wù)器進(jìn)程的更新導(dǎo)致測試失敗,可安裝來自不同源的Web服務(wù)器進(jìn)程來代替當(dāng)前的Web服務(wù)器進(jìn)程,而不是將Web服務(wù)器進(jìn)程回退到其未更新狀態(tài)。所要采取的具體校正動(dòng)作可包括在數(shù)據(jù)庫,例如圖4的數(shù)據(jù)庫402中。如果執(zhí)行回退,可從圖4所示數(shù)據(jù)庫402的回退信息中識別用于回退更新的過程。此后,發(fā)送通知(步驟622)。通知通常在沒有進(jìn)行更多嘗試來重新應(yīng)用更新時(shí)發(fā)送。通知通常發(fā)送給管理人員。通知可通過多種通信機(jī)制發(fā)送,如電子郵件,尋呼機(jī)和簡單網(wǎng)絡(luò)管理協(xié)議(SNMP),其中流程進(jìn)行到如上所述的步驟618。
回到步驟608,如果部署不成功,則判定是否重試更新部署(步驟624)。如果要重復(fù)更新,則流程返回到步驟606。否則,流程進(jìn)行到如上所述的步驟622。在此情形中,通知指示在部署中出現(xiàn)失敗。通知可在多種類型的失敗后出現(xiàn),例如,當(dāng)單個(gè)部署失敗時(shí),當(dāng)對同一目標(biāo)的同一更新的兩次或多次嘗試部署失敗時(shí),或當(dāng)對不同目標(biāo)的同一更新的兩次或多次嘗試部署失敗時(shí),或當(dāng)對同一目標(biāo)的兩個(gè)或多個(gè)不同更新的一次或多次嘗試部署失敗時(shí)??筛鶕?jù)具體實(shí)施方式
將這些通知記錄在文件中或發(fā)送到管理員處。再次參看步驟610,如果不執(zhí)行測試,流程進(jìn)行到如上所述的步驟618。在某些情形中,如果度量表明不太可能出現(xiàn)失敗,則不執(zhí)行測試。如果不需要更新,則流程也從步驟604進(jìn)行到步驟618。再次參看步驟602,如果更新對部件而言不可用,則流程也進(jìn)行到步驟618。
現(xiàn)在參看圖7,圖7表示用于根據(jù)本發(fā)明優(yōu)選實(shí)施例執(zhí)行自動(dòng)更新的過程的流程圖。如圖7所示的流程可在輔助更新管理部件(例如,圖5的輔助更新管理部件506)中實(shí)現(xiàn)。
流程以向主更新管理部件發(fā)送消息(步驟700)而開始。該消息包括有關(guān)更新是否可用以及是否應(yīng)執(zhí)行更新的查詢。發(fā)送到主管理部件的消息可包括諸如以下內(nèi)容的信息關(guān)于更新的優(yōu)選信息和關(guān)于對軟件部件執(zhí)行的最后更新的歷史信息。接收對消息的響應(yīng)(步驟702)。消息指示是否要執(zhí)行更新以及所要執(zhí)行的任何更新的標(biāo)識。該消息還可包括諸如以下的信息用于安裝更新的過程,安裝更新后執(zhí)行的一個(gè)或多個(gè)測試的標(biāo)識,以及如果測試不成功,回退過程的標(biāo)識。判定是否要執(zhí)行更新(步驟704)。如果要執(zhí)行更新,則使用從主更新管理部件接收的安裝信息對軟件部件執(zhí)行更新(步驟706)。對部件進(jìn)行測試(步驟708),并判定測試是否成功(步驟710)。如果測試成功,則更新歷史數(shù)據(jù)庫(步驟712),此后,流程結(jié)束。
再次回到步驟710,如果測試不成功,則執(zhí)行更新的回退,以便從軟件部件中去除更新,并將軟件部件置回到其先前狀態(tài)(步驟714),此后,流程結(jié)束。再次參看步驟704,如果不需要執(zhí)行更新,則流程結(jié)束。
還可對圖7所示步驟進(jìn)行修改,以使得輔助更新管理部件能夠被主更新管理部件聯(lián)系到。在此情形中,主更新管理部件告知輔助更新管理部件什么更新是可用的。與在輔助更新管理部件對主更新管理部件進(jìn)行詢問以確定更新是否可用的這些示例中所述的拉入模型(pullmodel)相對比,這樣的配置屬于推送模型(push model)。
現(xiàn)參看圖8,圖8表示用于根據(jù)本發(fā)明優(yōu)選實(shí)施例執(zhí)行自主更新的過程的流程圖。圖8所示流程可在更新管理部件(例如,在圖5中的輔助更新管理部件506和在圖4中的更新管理部件400)中實(shí)現(xiàn)。在該示例中的流程用于對具有重要功能的軟件部件執(zhí)行軟件更新。
流程以判定更新是否可用(步驟800)而開始。如果更新是可用的,則判定是否需要更新(步驟802)。如果需要更新,則識別新的系統(tǒng)(步驟804)。新系統(tǒng)為另一數(shù)據(jù)處理系統(tǒng),將所述另一數(shù)據(jù)處理系統(tǒng)配置成提供同更新管理部件所管理的軟件部件相同的功能。例如,如果軟件部件為電子郵件服務(wù)器,則選擇更新包含該軟件部件的另一數(shù)據(jù)處理系統(tǒng)。對新系統(tǒng)部署更新(步驟806)。測試對新系統(tǒng)的更新(步驟808),判定更新是否成功(步驟810)。如果更新成功,將軟件部件的客戶移到新系統(tǒng)(步驟812)。在步驟812中,根據(jù)具體實(shí)施方式
,可將某些或全部客戶移動(dòng)到新系統(tǒng)。判定將客戶移動(dòng)或轉(zhuǎn)移到新系統(tǒng)后是否存在錯(cuò)誤(步驟814)。如果存在錯(cuò)誤,將客戶移回到舊系統(tǒng)(步驟816),此后,流程結(jié)束。
再次參看步驟814,如果不存在錯(cuò)誤,則逐步停止舊系統(tǒng)(步驟818),此后,流程結(jié)束。再次參看步驟810,如果更新不成功,則流程結(jié)束。當(dāng)然,根據(jù)具體實(shí)施方式
,可執(zhí)行附加嘗試以實(shí)現(xiàn)更新。再次參看步驟802,如果不需要更新,則流程結(jié)束。再次參看步驟800,如果更新不可用,則流程結(jié)束。
現(xiàn)在參看圖9,圖9表示用于根據(jù)本發(fā)明優(yōu)選實(shí)施例修改自主更新的過程的流程圖。圖9所示的流程可在更新管理部件(例如,在圖5中的主更新管理部件500)中實(shí)現(xiàn)。
流程以檢索關(guān)于更新的度量(步驟900)而開始。這些度量可從歷史數(shù)據(jù)庫(例如在圖5中的歷史數(shù)據(jù)庫520或歷史數(shù)據(jù)庫524)中檢索。這些度量可從單個(gè)客戶機(jī)或節(jié)點(diǎn),或者從網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)中的多個(gè)客戶機(jī)或節(jié)點(diǎn)獲取。這些度量包括諸如以下的數(shù)據(jù)執(zhí)行展開的日期和客戶機(jī),發(fā)生回退的數(shù)據(jù)和客戶機(jī),以及關(guān)于更新的任何測試和測試結(jié)果。對度量進(jìn)行分析(步驟902)。根據(jù)具體實(shí)現(xiàn),該分析可采用各種形式。例如,可對度量進(jìn)行分析以識別在特定類型或組的軟件實(shí)體,用戶,硬件類型和操作系統(tǒng)之間的錯(cuò)誤出現(xiàn)率之間的模式和關(guān)聯(lián)。使用該分析修改更新的部署(步驟904),此后,流程結(jié)束。該修改可采用各種形式。例如,可避免在更新很可能失敗的數(shù)據(jù)處理系統(tǒng)上進(jìn)行更新的部署。該修改還可包括對很可能成功部署的數(shù)據(jù)處理系統(tǒng)進(jìn)行加速更新部署。修改還可包括停止更新部署或修改更新。分析可導(dǎo)致這樣的修改,其中,部署或進(jìn)行附加更新以提高先前更新的成功率。此外,根據(jù)在步驟902中識別的特定關(guān)聯(lián)或模式,可對管理員提供關(guān)聯(lián)或模式的通知。
從而,本發(fā)明提供了用于自主更新軟件部件的改進(jìn)的方法,設(shè)備和計(jì)算機(jī)指令。本發(fā)明的機(jī)制對軟件部件進(jìn)行更新,自動(dòng)測試軟件部件以判定是否出現(xiàn)錯(cuò)誤或故障,并且當(dāng)在測試中識別出錯(cuò)誤或故障時(shí),可將更新回退到先前的版本或采取某些其他校正動(dòng)作。顯然,本發(fā)明的更新管理部件能夠接收關(guān)于更新的進(jìn)展和狀態(tài)的信息,并基于該信息作出判決。這些判決可囊括從簡單(例如,判斷是否回退升級以及不嘗試重新部署)到復(fù)雜(例如,判斷是否部分回退升級-將其從升級計(jì)算機(jī)的子集進(jìn)行回退-以及對于按照某種相關(guān)度量而言與升級會使測試失敗的計(jì)算機(jī)相似的計(jì)算機(jī),不嘗試部署升級)的范圍。因此,顯然看出,與沒有更新管理部件的情況相比,更新管理部件的出現(xiàn)使得能夠基于更寬的可用數(shù)據(jù)集自動(dòng)地進(jìn)行更為復(fù)雜的判決。
出于進(jìn)一步改進(jìn)的目的,在另一優(yōu)選實(shí)施例中,更新的顯著成功(按照一個(gè)或多個(gè)適當(dāng)?shù)亩攘慷?可加速對其他機(jī)器的更新部署。在又一實(shí)施例中,度量的分析表明軟件更新在某些環(huán)境中工作良好,而在其他環(huán)境中并不好,并且分析可指示在更新運(yùn)行不好的環(huán)境之間的相似性-于是可繼續(xù)對與更新失敗的環(huán)境不具有相似性的機(jī)器進(jìn)行更新展開。在另一實(shí)施例中,當(dāng)部件部署遇到問題時(shí),可決定加速對被認(rèn)為可解決,或通過某些其他方式處理所檢測出的問題的另一軟件部件的部署。另一可能的實(shí)施例具有這樣的更新管理部件,即該更新管理部件對許多計(jì)算機(jī)執(zhí)行同樣的更新,并且當(dāng)在一些這樣的計(jì)算機(jī)上成功進(jìn)行更新和測試之后,決定跳過該更新對其余計(jì)算機(jī)的部署的某些或全部測試。
另外,本發(fā)明的機(jī)制可保持所有軟件更新,展開,回退和測試的度量,以識別在特定類型的軟件實(shí)體,特定類型的用戶,特定類型的數(shù)據(jù)處理系統(tǒng),和/或操作系統(tǒng)之間的錯(cuò)誤出現(xiàn)模式。這些模式可通過通常用于識別模式的不同統(tǒng)計(jì)分析來識別。多個(gè)數(shù)據(jù)處理系統(tǒng)上多個(gè)更新的總體行為的某些示例包括這樣一種模式,其中每次在運(yùn)行特定操作系統(tǒng)的機(jī)器上嘗試更新時(shí)更新失敗。在該情形中,在未來不應(yīng)執(zhí)行對該特定操作系統(tǒng)的更新。另一示例為,每次將更新安裝在特定廠商的數(shù)據(jù)處理系統(tǒng)上時(shí),更新失敗。另一模式的示例為,當(dāng)?shù)降谌掳惭b時(shí),而其在第一更新后任何時(shí)候的安裝都無法通過測試。另一模式可為,例如,除非先安裝第二更新,否則從來都不安裝第四更新。更細(xì)粒度的模式檢測也可用于檢測其他模式,例如,在性能或兼容性方面的模式。這些模式可用于自適應(yīng)修改更新的過程或更新處理中的其他因素,以減少部署中錯(cuò)誤以及所需回退的發(fā)生。例如,特定模式可指示其中發(fā)生安裝的方式的改變,或者在特定步驟或選項(xiàng)被識別為導(dǎo)致測試故障或失敗的情況下,指示更新選項(xiàng)的選擇。通過該方式,可避免在測試很可能失敗的系統(tǒng)上進(jìn)行部署或更新。此外,這些識別可加速軟件的部署,以對其他計(jì)算機(jī)進(jìn)行更新。在所識別的模式表明更新不太可能導(dǎo)致任何失敗的情形中,這確實(shí)如此。此外,當(dāng)模式表明會出現(xiàn)許多失敗時(shí),可停止更新的部署。在其他情形中,模式可表明應(yīng)采用附加的更新以提高先前更新的成功率。該機(jī)制還可用于以某種方式識別對更新的修改以增加隨后更新的成功可能性。更新過程可用于基于哪些先前更新已經(jīng)執(zhí)行或尚未執(zhí)行來對模式(例如,在其中某些安裝會失敗或不會成功出現(xiàn)的模式)進(jìn)行自動(dòng)測試和響應(yīng)??赏ㄟ^改變過程來調(diào)整更新過程,以避免在測試或更新安裝中出現(xiàn)失敗。
重要的是應(yīng)注意,雖然針對全功能的數(shù)據(jù)處理系統(tǒng)描述了本發(fā)明,然而本領(lǐng)域普通技術(shù)人員應(yīng)該理解,本發(fā)明的處理能夠以計(jì)算機(jī)可讀指令介質(zhì)的形式以及多種其它形式分布,并且無論實(shí)際用于實(shí)現(xiàn)分布的信號承載介質(zhì)的具體類型如何,本發(fā)明同樣適用。計(jì)算機(jī)可讀介質(zhì)的示例包括可讀類型介質(zhì),如軟盤,硬盤驅(qū)動(dòng)器,RAM,CD-ROM,DVD-ROM,和傳輸類型介質(zhì),諸如使用例如無線電頻率和光波傳輸?shù)膫鬏斝问降臄?shù)據(jù)和模擬通信鏈路,有線或無線通信鏈路。計(jì)算機(jī)可讀介質(zhì)可采用編碼格式的形式,該編碼格式在具體數(shù)據(jù)處理系統(tǒng)中為實(shí)際使用而進(jìn)行解碼。
本發(fā)明的描述是出于說明及描述目的,并不意在以所批露的形式詳盡列舉出本發(fā)明或限制本發(fā)明。顯而易見,本領(lǐng)域普通技術(shù)人員能夠易于想到多種修改和變形。所選及所述實(shí)施例是為了更好地說明本發(fā)明的原理以及實(shí)際應(yīng)用,并能夠使本領(lǐng)域其他普通技術(shù)人員理解本發(fā)明的具有各種修改的多種實(shí)施例,這些修改的實(shí)施例適用于他們所想到的具體應(yīng)用。
權(quán)利要求
1.一種在數(shù)據(jù)處理系統(tǒng)中更新軟件部件的方法,所述方法包括計(jì)算機(jī)實(shí)現(xiàn)的步驟判定是否要更新該軟件部件;當(dāng)判定要更新該軟件部件時(shí),更新軟件部件以形成更新的軟件部件;自動(dòng)測試更新的軟件部件;以及當(dāng)在對更新的部件的測試中出現(xiàn)失敗時(shí),執(zhí)行校正動(dòng)作。
2.根據(jù)權(quán)利要求1的方法,其中,判定步驟包括判定是否存在針對該軟件部件的更新;當(dāng)存在針對該軟件部件的更新時(shí),判定是否應(yīng)對該軟件部件應(yīng)用該更新;以及當(dāng)判定應(yīng)對該軟件部件應(yīng)用該更新時(shí),對該軟件部件應(yīng)用該更新,以形成更新的軟件部件。
3.根據(jù)權(quán)利要求1的方法,其中,校正動(dòng)作包括將更新的軟件部件回退到進(jìn)行更新之前的狀態(tài)。
4.根據(jù)權(quán)利要求1的方法,其中,校正動(dòng)作包括以下動(dòng)作中的至少之一識別可選更新,將更新的軟件部件回退到未更新時(shí)的軟件部件,安裝不同的軟件部件,和安裝可選更新。
5.根據(jù)權(quán)利要求1的方法,其中,測試步驟包括從測試數(shù)據(jù)庫中識別要執(zhí)行的測試,以形成識別的測試;以及對更新的部件執(zhí)行該識別的測試。
6.根據(jù)權(quán)利要求1的方法,其中,更新是配置文件的新參數(shù)。
7.根據(jù)權(quán)利要求1的方法,其中,更新是軟件部件的可執(zhí)行文件。
8.根據(jù)權(quán)利要求1的方法,還包括存儲有關(guān)更新,回退,更新部件測試的測試結(jié)果,用戶組之間的錯(cuò)誤出現(xiàn)率,特定類型的軟件部件之間的錯(cuò)誤出現(xiàn)率,和操作系統(tǒng)組之間的錯(cuò)誤出現(xiàn)率中的至少一個(gè)的數(shù)據(jù)。
9.根據(jù)權(quán)利要求1的方法,其中,自動(dòng)測試步驟使用性能測試,運(yùn)行中回歸測試,單元測試和兼容性測試中的至少一個(gè)。
10.根據(jù)權(quán)利要求1的方法,其中,第一方為軟件更新的源,第二方提供用于判定是否更新該軟件部件的策略。
11.根據(jù)權(quán)利要求1的方法,其中,判定步驟包括判定該更新是否可用;以及如果該更新可用,使用與特定類型的軟件源,用戶,操作系統(tǒng)類型,和數(shù)據(jù)處理系統(tǒng)類型中的至少一個(gè)有關(guān)的錯(cuò)誤出現(xiàn)模式判定是否應(yīng)用該更新。
12.根據(jù)權(quán)利要求1的方法,還包括判定是否成功地更新該軟件部件以形成更新的軟件部件;以及當(dāng)沒有成功更新該軟件部件時(shí),發(fā)送關(guān)于失敗的通知。
13.根據(jù)權(quán)利要求1的方法,還包括判定是否成功地更新該軟件部件以形成更新的軟件部件;以及當(dāng)沒有成功更新該軟件部件時(shí),重新嘗試該軟件部件的更新。
14.根據(jù)權(quán)利要求13的方法,其中,在至少兩次嘗試對該軟件部件的更新失敗后,發(fā)送所述通知。
15.一種在數(shù)據(jù)處理系統(tǒng)中對網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)中的多個(gè)節(jié)點(diǎn)部署更新的計(jì)算機(jī)處理方法,所述計(jì)算機(jī)處理方法包括從網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)內(nèi)的多個(gè)節(jié)點(diǎn)中識別出具有需要更新的軟件部件的節(jié)點(diǎn),以形成一組識別的節(jié)點(diǎn);利用該更新來啟動(dòng)對該組識別的節(jié)點(diǎn)的更新,以生成一組更新的節(jié)點(diǎn);對該組更新的節(jié)點(diǎn)進(jìn)行自動(dòng)測試;以及當(dāng)該組更新的節(jié)點(diǎn)中的節(jié)點(diǎn)出現(xiàn)測試失敗時(shí),執(zhí)行校正動(dòng)作。
16.根據(jù)權(quán)利要求15的計(jì)算機(jī)處理方法,其中,校正動(dòng)作是以下動(dòng)作中的至少一個(gè)發(fā)送關(guān)于測試失敗的通知,對測試失敗的節(jié)點(diǎn)重新嘗試進(jìn)行更新,使更新回退,和安裝不同的軟件部件。
17.根據(jù)權(quán)利要求15的計(jì)算機(jī)處理方法,還包括當(dāng)對該組識別的節(jié)點(diǎn)中的軟件部件進(jìn)行更新時(shí),判定節(jié)點(diǎn)中是否出現(xiàn)失??;以及當(dāng)在對該組節(jié)點(diǎn)中至少兩個(gè)節(jié)點(diǎn)的軟件部件進(jìn)行的更新中出現(xiàn)失敗時(shí),發(fā)送關(guān)于失敗的通知。
18.根據(jù)權(quán)利要求15的計(jì)算機(jī)處理方法,還包括當(dāng)對該組識別的節(jié)點(diǎn)中的軟件部件進(jìn)行更新時(shí),判定節(jié)點(diǎn)中是否出現(xiàn)失??;以及當(dāng)在對該節(jié)點(diǎn)的軟件部件進(jìn)行的更新中出現(xiàn)失敗時(shí),對該節(jié)點(diǎn)中的該軟件部件重新嘗試更新。
19.根據(jù)權(quán)利要求18的計(jì)算機(jī)處理方法,還包括當(dāng)對節(jié)點(diǎn)中的軟件部件的更新出現(xiàn)第二次失敗時(shí),發(fā)送關(guān)于失敗的通知。
20.根據(jù)權(quán)利要求15的計(jì)算機(jī)處理方法,還包括存儲有關(guān)度量的數(shù)據(jù),該度量是多個(gè)節(jié)點(diǎn)的更新的成功部署和更新測試結(jié)果中的至少一個(gè)的度量。
21.根據(jù)權(quán)利要求20的計(jì)算機(jī)處理方法,還包括對所述數(shù)據(jù)進(jìn)行分析,以識別該多個(gè)節(jié)點(diǎn)中的測試失敗的模式。
22.根據(jù)權(quán)利要求21的計(jì)算機(jī)處理方法,還包括修改多個(gè)節(jié)點(diǎn)內(nèi)節(jié)點(diǎn)的識別,以按照減少測試失敗的方式接收未來更新,其中,該識別是基于測試失敗的模式。
23.根據(jù)權(quán)利要求21的計(jì)算機(jī)處理方法,還包括修改多個(gè)節(jié)點(diǎn)內(nèi)的節(jié)點(diǎn)的識別,以按照該多個(gè)節(jié)點(diǎn)中的某些節(jié)點(diǎn)停止接收該軟件部件的更新的方式接收未來更新,其中,識別是基于測試失敗的模式。
24.根據(jù)權(quán)利要求21的計(jì)算機(jī)處理方法,還包括修改多個(gè)節(jié)點(diǎn)內(nèi)的節(jié)點(diǎn)的識別,以按照該多個(gè)節(jié)點(diǎn)中的某些節(jié)點(diǎn)停止接收該軟件部件的更新的方式接收未來更新,其中,所述某些節(jié)點(diǎn)是很可能出現(xiàn)失敗的節(jié)點(diǎn),并且識別是基于測試失敗的模式。
25.根據(jù)權(quán)利要求21的計(jì)算機(jī)處理方法,還包括修改多個(gè)節(jié)點(diǎn)內(nèi)的節(jié)點(diǎn)的識別,以按照該多個(gè)節(jié)點(diǎn)中的某些節(jié)點(diǎn)以加速速率接收更新的方式接收未來更新,其中,識別是基于測試失敗的模式。
26.一種在計(jì)算機(jī)中更新軟件部件的計(jì)算機(jī)實(shí)現(xiàn)的處理方法,所述計(jì)算機(jī)實(shí)現(xiàn)的處理方法包括判定是否要更新該軟件部件,其中,該軟件部件在該計(jì)算機(jī)上執(zhí)行;當(dāng)判定要更新該軟件部件時(shí),識別也包含該軟件部件的第二計(jì)算機(jī)以便對該軟件部件部署更新;啟動(dòng)第二計(jì)算機(jī)上該軟件部件的更新,以在第二計(jì)算機(jī)上生成更新的軟件部件,其中,計(jì)算機(jī)繼續(xù)執(zhí)行該軟件部件;自動(dòng)測試第二計(jì)算機(jī)上的更新的軟件部件;以及當(dāng)對該更新的部件進(jìn)行的測試出現(xiàn)失敗時(shí),執(zhí)行校正動(dòng)作。
27.根據(jù)權(quán)利要求26的方法,其中,測試步驟包括將該計(jì)算機(jī)上執(zhí)行的軟件部件的客戶遷移到第二計(jì)算機(jī)上的更新的軟件部件。
28.根據(jù)權(quán)利要求27的方法,還包括當(dāng)對該軟件部件的測試成功時(shí),從服務(wù)中去除該計(jì)算機(jī)上的該軟件部件。
29.一種用于更新軟件部件的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括總線系統(tǒng);與總線系統(tǒng)相連的通信單元;與總線系統(tǒng)相連的存儲器,其中,存儲器包括一組指令;以及與總線系統(tǒng)相連的處理單元,其中,處理單元執(zhí)行該組指令,以判定是否要更新該軟件部件;當(dāng)判定要更新該軟件部件時(shí),更新該軟件部件以形成更新的軟件部件;自動(dòng)測試更新的軟件部件;以及當(dāng)對更新的部件進(jìn)行的測試中出現(xiàn)失敗時(shí),執(zhí)行校正動(dòng)作。
30.一種對網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)中的多個(gè)節(jié)點(diǎn)部署更新的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括總線系統(tǒng);與總線系統(tǒng)相連的通信單元;與總線系統(tǒng)相連的存儲器,其中,存儲器包括一組指令;以及與總線系統(tǒng)相連的處理單元,其中,處理單元執(zhí)行該組指令,以從網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)內(nèi)的多個(gè)節(jié)點(diǎn)中識別出具有需要更新的軟件部件的節(jié)點(diǎn),以形成一組識別的節(jié)點(diǎn);利用該更新來啟動(dòng)對該組識別的節(jié)點(diǎn)的更新,以生成一組更新的節(jié)點(diǎn);對該組更新的節(jié)點(diǎn)進(jìn)行自動(dòng)測試;以及當(dāng)該組更新的節(jié)點(diǎn)中的節(jié)點(diǎn)出現(xiàn)測試失敗時(shí),執(zhí)行校正動(dòng)作。
31.一種更新軟件部件的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括總線系統(tǒng);與總線系統(tǒng)相連的通信單元;與總線系統(tǒng)相連的存儲器,其中,存儲器包括一組指令;以及與總線系統(tǒng)相連的處理單元,其中,處理單元執(zhí)行該組指令,以判定是否要更新該軟件部件,其中,該軟件部件在該計(jì)算機(jī)上執(zhí)行;當(dāng)判定要更新該軟件部件時(shí),識別也包含該軟件部件的第二計(jì)算機(jī)以便對該軟件部件部署更新;啟動(dòng)第二計(jì)算機(jī)上該軟件部件的更新,以在第二計(jì)算機(jī)上生成更新的軟件部件,其中,計(jì)算機(jī)繼續(xù)執(zhí)行該軟件部件;自動(dòng)測試第二計(jì)算機(jī)上的更新的軟件部件;以及當(dāng)對該更新的部件進(jìn)行的測試出現(xiàn)失敗時(shí),執(zhí)行校正動(dòng)作。
32.一種更新軟件部件的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括判定裝置,用于判定是否要更新該軟件部件;更新裝置,當(dāng)判定要更新該軟件部件時(shí),用于更新該軟件部件以形成更新的軟件部件;測試裝置,用于自動(dòng)測試更新的軟件部件;以及執(zhí)行裝置,當(dāng)對更新的部件進(jìn)行的測試中出現(xiàn)失敗時(shí),用于執(zhí)行校正動(dòng)作。
33.根據(jù)權(quán)利要求32的數(shù)據(jù)處理系統(tǒng),其中,所述判定裝置為第一判定裝置,并且還包括第二判定裝置,用于判定是否存在針對該軟件部件的更新;第三判定裝置,當(dāng)存在針對該軟件部件的更新時(shí),用于判定是否應(yīng)對該軟件部件應(yīng)用該更新;以及應(yīng)用裝置,當(dāng)判定應(yīng)對該軟件部件應(yīng)用該更新時(shí),用于對該軟件部件應(yīng)用該更新,以形成更新的軟件部件。
34.根據(jù)權(quán)利要求32的數(shù)據(jù)處理系統(tǒng),其中,校正動(dòng)作包括將更新的軟件部件回退到進(jìn)行更新之前的狀態(tài)。
35.根據(jù)權(quán)利要求32的數(shù)據(jù)處理系統(tǒng),其中,校正動(dòng)作包括以下動(dòng)作中的至少之一識別可選更新,將更新的軟件部件回退到未更新時(shí)的軟件部件,安裝不同的軟件部件,和安裝可選更新。
36.根據(jù)權(quán)利要求32的數(shù)據(jù)處理系統(tǒng),其中,執(zhí)行裝置為第一執(zhí)行裝置,并且測試裝置包括識別裝置,用于從測試數(shù)據(jù)庫中識別要執(zhí)行的測試,以形成識別的測試;以及第二執(zhí)行裝置,用于對更新的部件執(zhí)行該識別的測試。
37.根據(jù)權(quán)利要求32的數(shù)據(jù)處理系統(tǒng),其中,更新是配置文件的新參數(shù)。
38.根據(jù)權(quán)利要求32的數(shù)據(jù)處理系統(tǒng),其中,更新是軟件部件的可執(zhí)行文件。
39.根據(jù)權(quán)利要求32的數(shù)據(jù)處理系統(tǒng),還包括存儲裝置,用于存儲有關(guān)更新,回退,更新部件測試的測試結(jié)果,用戶組之間的錯(cuò)誤出現(xiàn)率,特定類型的軟件部件之間的錯(cuò)誤出現(xiàn)率,和操作系統(tǒng)組之間的錯(cuò)誤出現(xiàn)率中的至少一個(gè)的數(shù)據(jù)。
40.根據(jù)權(quán)利要求32的數(shù)據(jù)處理系統(tǒng),其中,自動(dòng)測試裝置使用性能測試,運(yùn)行中回歸測試,單元測試和兼容性測試中的至少一個(gè)。
41.根據(jù)權(quán)利要求32的數(shù)據(jù)處理系統(tǒng),其中,第一方為軟件更新的源,第二方提供用于判定是否更新該軟件部件的策略。
42.根據(jù)權(quán)利要求32的數(shù)據(jù)處理系統(tǒng),其中,判定裝置包括第一裝置,用于判定更新是否可用;以及第二裝置,如果該更新可用,用于使用與特定類型的軟件源,用戶,操作系統(tǒng)類型,和數(shù)據(jù)處理系統(tǒng)類型中的至少一個(gè)有關(guān)的錯(cuò)誤出現(xiàn)模式判定是否應(yīng)用該更新。
43.根據(jù)權(quán)利要求32的數(shù)據(jù)處理系統(tǒng),其中,判定裝置為第一判定裝置,并且還包括第二判定裝置,用于判定是否成功地更新該軟件部件以形成更新的軟件部件;以及發(fā)送裝置,當(dāng)沒有成功更新該軟件部件時(shí),用于發(fā)送關(guān)于失敗的通知。
44.根據(jù)權(quán)利要求32的數(shù)據(jù)處理系統(tǒng),其中,判定裝置為第一判定裝置,更新裝置為第一更新裝置,還包括第二判定裝置,用于判定是否成功地更新該軟件部件以形成更新的軟件部件;以及第二更新裝置,當(dāng)沒有成功更新該軟件部件時(shí),用于重新嘗試該軟件部件的更新。
45.根據(jù)權(quán)利要求44的數(shù)據(jù)處理系統(tǒng),其中,在至少兩次嘗試對該軟件部件的更新失敗后,發(fā)送所述通知。
46.一種對網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)中的多個(gè)節(jié)點(diǎn)部署更新的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括標(biāo)識裝置,用于從網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)內(nèi)的多個(gè)節(jié)點(diǎn)中識別出具有需要更新的軟件部件的節(jié)點(diǎn),以形成一組識別的節(jié)點(diǎn);啟動(dòng)裝置,用于利用該更新來啟動(dòng)對該組識別的節(jié)點(diǎn)的更新,以生成一組更新的節(jié)點(diǎn);測試裝置,用于對該組更新的節(jié)點(diǎn)進(jìn)行自動(dòng)測試;以及執(zhí)行裝置,當(dāng)該組更新的節(jié)點(diǎn)中的節(jié)點(diǎn)出現(xiàn)測試失敗時(shí),用于執(zhí)行校正動(dòng)作。
47.根據(jù)權(quán)利要求46的數(shù)據(jù)處理系統(tǒng),其中,校正動(dòng)作是以下動(dòng)作中的至少一個(gè)發(fā)送關(guān)于測試失敗的通知,對測試失敗的節(jié)點(diǎn)重新嘗試進(jìn)行更新,使更新回退,和安裝不同的軟件部件。
48.根據(jù)權(quán)利要求46的數(shù)據(jù)處理系統(tǒng),還包括判定裝置,當(dāng)對該組識別的節(jié)點(diǎn)中的軟件部件進(jìn)行更新時(shí),用于判定節(jié)點(diǎn)中是否出現(xiàn)失??;以及發(fā)送裝置,當(dāng)在對該組節(jié)點(diǎn)中至少兩個(gè)節(jié)點(diǎn)的軟件部件進(jìn)行的更新中出現(xiàn)失敗時(shí),用于發(fā)送關(guān)于失敗的通知。
49.根據(jù)權(quán)利要求46的數(shù)據(jù)處理系統(tǒng),其中,更新裝置為第一更新裝置,并且還包括判定裝置,當(dāng)對該組識別的節(jié)點(diǎn)中的軟件部件進(jìn)行更新時(shí),用于判定節(jié)點(diǎn)中是否出現(xiàn)失?。灰约暗诙卵b置,當(dāng)在對該節(jié)點(diǎn)的軟件部件進(jìn)行的更新中出現(xiàn)失敗時(shí),用于對該節(jié)點(diǎn)中的該軟件部件重新嘗試更新。
50.根據(jù)權(quán)利要求49的數(shù)據(jù)處理系統(tǒng),還包括發(fā)送裝置,當(dāng)對節(jié)點(diǎn)中的軟件部件的更新出現(xiàn)第二次失敗時(shí),用于發(fā)送關(guān)于失敗的通知。
51.根據(jù)權(quán)利要求46的數(shù)據(jù)處理系統(tǒng),還包括存儲裝置,用于存儲有關(guān)度量的數(shù)據(jù),該度量是多個(gè)節(jié)點(diǎn)的更新的成功部署和更新測試結(jié)果中的至少一個(gè)的度量。
52.根據(jù)權(quán)利要求51的數(shù)據(jù)處理系統(tǒng),還包括分析裝置,用于對所述數(shù)據(jù)進(jìn)行分析,以識別該多個(gè)節(jié)點(diǎn)中的測試失敗的模式。
53.根據(jù)權(quán)利要求52的數(shù)據(jù)處理系統(tǒng),還包括修改裝置,用于修改多個(gè)節(jié)點(diǎn)內(nèi)節(jié)點(diǎn)的識別,以按照減少測試失敗的方式接收未來更新,其中,該識別是基于測試失敗的模式。
54.根據(jù)權(quán)利要求52的數(shù)據(jù)處理系統(tǒng),還包括修改裝置,用于修改多個(gè)節(jié)點(diǎn)內(nèi)的節(jié)點(diǎn)的識別,以按照該多個(gè)節(jié)點(diǎn)中的某些節(jié)點(diǎn)停止接收該軟件部件的更新的方式接收未來更新,其中,識別是基于測試失敗的模式。
55.根據(jù)權(quán)利要求52的數(shù)據(jù)處理系統(tǒng),還包括修改裝置,用于修改多個(gè)節(jié)點(diǎn)內(nèi)的節(jié)點(diǎn)的識別,以按照該多個(gè)節(jié)點(diǎn)中的某些節(jié)點(diǎn)停止接收該軟件部件的更新的方式接收未來更新,其中,所述某些節(jié)點(diǎn)是很可能出現(xiàn)失敗的節(jié)點(diǎn),并且識別是基于測試失敗的模式。
56.根據(jù)權(quán)利要求52的數(shù)據(jù)處理系統(tǒng),還包括修改裝置,用于修改多個(gè)節(jié)點(diǎn)內(nèi)的節(jié)點(diǎn)的識別,以按照該多個(gè)節(jié)點(diǎn)中的某些節(jié)點(diǎn)以加速速率接收更新的方式接收未來更新,其中,識別是基于測試失敗的模式。
57.一種更新軟件部件的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括判定裝置,用于判定是否要更新該軟件部件,其中,該軟件部件在該計(jì)算機(jī)上執(zhí)行;標(biāo)識裝置,當(dāng)判定要更新該軟件部件時(shí),用于識別也包含該軟件部件的第二計(jì)算機(jī)以便對該軟件部件部署該更新;啟動(dòng)裝置,用于啟動(dòng)第二計(jì)算機(jī)上該軟件部件的更新,以在第二計(jì)算機(jī)上生成更新的軟件部件,其中,計(jì)算機(jī)繼續(xù)執(zhí)行該軟件部件;測試裝置,用于自動(dòng)測試第二計(jì)算機(jī)上的更新的軟件部件;以及執(zhí)行裝置,當(dāng)對該更新的部件進(jìn)行的測試出現(xiàn)失敗時(shí),用于執(zhí)行校正動(dòng)作。
58.根據(jù)權(quán)利要求57的數(shù)據(jù)處理系統(tǒng),其中,測試裝置包括遷移設(shè)備,用于將該計(jì)算機(jī)上執(zhí)行的軟件部件的客戶機(jī)遷移到第二計(jì)算機(jī)上的更新的軟件部件。
59.根據(jù)權(quán)利要求58的數(shù)據(jù)處理系統(tǒng),還包括去除裝置,當(dāng)對該軟件部件的測試成功時(shí),用于從服務(wù)中去除該計(jì)算機(jī)上的該軟件部件。
60.一種計(jì)算機(jī)可讀介質(zhì)中的用于更新軟件部件的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括第一指令,用于判定是否要更新該軟件部件;第二指令,當(dāng)判定要更新該軟件部件時(shí),用于更新該軟件部件以形成更新的軟件部件;第三指令,用于自動(dòng)測試更新的軟件部件;以及第四指令,當(dāng)對更新的部件進(jìn)行的測試中出現(xiàn)失敗時(shí),用于執(zhí)行校正動(dòng)作。
61.一種計(jì)算機(jī)可讀介質(zhì)中的用于對網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)中多個(gè)節(jié)點(diǎn)部署更新的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括第一指令,用于從網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)內(nèi)的多個(gè)節(jié)點(diǎn)中識別出具有需要更新的軟件部件的節(jié)點(diǎn),以形成一組識別的節(jié)點(diǎn);第二指令,用于利用該更新來啟動(dòng)對該組識別的節(jié)點(diǎn)的更新,以生成一組更新的節(jié)點(diǎn);第三指令,用于對該組更新的節(jié)點(diǎn)進(jìn)行自動(dòng)測試;以及第四指令,當(dāng)該組更新的節(jié)點(diǎn)中的節(jié)點(diǎn)出現(xiàn)測試失敗時(shí),用于執(zhí)行校正動(dòng)作。
62.一種計(jì)算機(jī)可讀介質(zhì)中用于更新軟件部件的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括第一指令,用于判定是否要更新該軟件部件,其中,該軟件部件在該計(jì)算機(jī)上執(zhí)行;第二指令,當(dāng)判定要更新該軟件部件時(shí),用于識別也包含該軟件部件的第二計(jì)算機(jī)以便對該軟件部件部署該更新;第三指令,用于啟動(dòng)第二計(jì)算機(jī)上該軟件部件的更新,以在第二計(jì)算機(jī)上生成更新的軟件部件,其中,計(jì)算機(jī)繼續(xù)執(zhí)行該軟件部件;第四指令,用于自動(dòng)測試第二計(jì)算機(jī)上的更新的軟件部件;以及第五指令,當(dāng)對該更新的部件進(jìn)行的測試出現(xiàn)失敗時(shí),用于執(zhí)行校正動(dòng)作。
全文摘要
本發(fā)明提供了一種用于更新軟件部件的方法,設(shè)備和計(jì)算機(jī)指令。判定是否要更新軟件部件(602)。當(dāng)判定要更新軟件部件時(shí),更新軟件部件,以形成更新的軟件部件(606)。自動(dòng)測試更新的軟件部件(612)。當(dāng)對更新的部件進(jìn)行測試出現(xiàn)失敗時(shí),執(zhí)行校正動(dòng)作(620)。
文檔編號G06F11/36GK1682184SQ03822217
公開日2005年10月12日 申請日期2003年5月27日 優(yōu)先權(quán)日2002年9月20日
發(fā)明者拉加什·達(dá)斯, 埃德溫·拉塞特雷, 埃拉·西加爾, 伊萬·沃利, 史蒂夫·懷特 申請人:國際商業(yè)機(jī)器公司