跨網(wǎng)絡(luò)的遠(yuǎn)程軟件部署的制作方法
【專利摘要】提供了用于跨網(wǎng)絡(luò)部署軟件工具的方法、計(jì)算機(jī)可讀介質(zhì)和系統(tǒng)。一種示例方法包括:跨網(wǎng)絡(luò)108從遠(yuǎn)程部署系統(tǒng)101向多個(gè)系統(tǒng)120/130/140發(fā)起發(fā)現(xiàn)機(jī)制來(lái)輪詢多個(gè)計(jì)算機(jī)器121-1、……144-T。多個(gè)系統(tǒng)120/130/140包括具有不同操作系統(tǒng)(OS)類型的計(jì)算機(jī)器121-1、……、144-T。為在對(duì)設(shè)備發(fā)現(xiàn)機(jī)制210/220的響應(yīng)中識(shí)別的每種OS部署各自的代理151。將各自的代理151中每個(gè)代理配置為管理網(wǎng)絡(luò)108上部署系統(tǒng)101和多個(gè)計(jì)算系統(tǒng)121-1、……、144-T中每個(gè)計(jì)算系統(tǒng)的不同OS類型之間的通信230,并且在多個(gè)計(jì)算機(jī)器230中每個(gè)計(jì)算機(jī)器上發(fā)起應(yīng)用程序部署和監(jiān)視。
【專利說(shuō)明】跨網(wǎng)絡(luò)的遠(yuǎn)程軟件部署
【背景技術(shù)】
[0001]在諸如服務(wù)器、路由器、計(jì)算機(jī)、膝上型電腦、PDA、移動(dòng)電話、上網(wǎng)本等之類的計(jì)算機(jī)器以及具有處理器邏輯和存儲(chǔ)器的其它設(shè)備中,計(jì)算機(jī)器能夠具有在其上安裝的操作系統(tǒng),并且可以進(jìn)一步包括在該計(jì)算機(jī)器上運(yùn)行的多個(gè)應(yīng)用程序。然而,在制造和/或裝配以后,操作系統(tǒng)和應(yīng)用程序首先必須被加載到計(jì)算機(jī)器上。
[0002]計(jì)算系統(tǒng)能夠包括多個(gè)計(jì)算機(jī)器,多個(gè)計(jì)算機(jī)器可以可通信地經(jīng)由網(wǎng)絡(luò)聯(lián)接。計(jì)算機(jī)器可以不時(shí)地得到管理。例如,管理計(jì)算機(jī)器能夠包括加載和/或更新操作系統(tǒng)和/或應(yīng)用程序。計(jì)算機(jī)器可以隨后被管理,例如以對(duì)操作系統(tǒng)和/或應(yīng)用程序進(jìn)行更新、替換或故障定位,添加、移除或改變?cè)L問(wèn)權(quán)限,添加/移除附加應(yīng)用程序,或者檢查和修改文件系統(tǒng),運(yùn)行命令,和/或執(zhí)行其它硬件操作、軟件操作或運(yùn)算操作。
[0003]為了培育工廠環(huán)境或解決方案環(huán)境、消費(fèi)者處所和內(nèi)部實(shí)驗(yàn)室中的服務(wù)器機(jī)架或性能優(yōu)化數(shù)據(jù)中心(POD),需將軟件部署至大量機(jī)器并且跨大量機(jī)器對(duì)軟件進(jìn)行測(cè)試?,F(xiàn)今的用于如此執(zhí)行的努力涉及比基本即開(kāi)即用(OOB)操作系統(tǒng)(OS)更多基礎(chǔ)結(jié)構(gòu),不跨不同OS類型進(jìn)行通信,并且甚至可能不知道所有用戶指定的軟件工具和應(yīng)用來(lái)監(jiān)視它們?cè)谶h(yuǎn)程機(jī)器上的運(yùn)行。
【專利附圖】
【附圖說(shuō)明】
[0004]圖1是適合于實(shí)現(xiàn)本公開(kāi)內(nèi)容的一個(gè)或多個(gè)實(shí)施例的計(jì)算系統(tǒng)的框圖。
[0005]圖2是圖示根據(jù)本公開(kāi)內(nèi)容的一個(gè)或多個(gè)實(shí)施例用于從一個(gè)系統(tǒng)至多個(gè)系統(tǒng)跨網(wǎng)絡(luò)部署軟件工具的方法的流程圖。
【具體實(shí)施方式】
[0006]提供了用于跨網(wǎng)絡(luò)部署軟件工具的方法、計(jì)算機(jī)可讀介質(zhì)和系統(tǒng)。一個(gè)示例方法包括跨網(wǎng)絡(luò)從一個(gè)遠(yuǎn)程部署系統(tǒng)向多個(gè)系統(tǒng)發(fā)起對(duì)多個(gè)計(jì)算機(jī)器進(jìn)行輪詢的發(fā)現(xiàn)機(jī)制。此多個(gè)系統(tǒng)包括具有不同操作系統(tǒng)(OS)類型的計(jì)算機(jī)器。對(duì)響應(yīng)于發(fā)現(xiàn)機(jī)制中識(shí)別的每種
OS,部署各自的代理。將各自的代理中的每個(gè)代理配置為,對(duì)部署系統(tǒng)和網(wǎng)絡(luò)上的多個(gè)計(jì)算機(jī)器中的每個(gè)計(jì)算機(jī)器的不同OS類型之間的通信進(jìn)行管理,并且發(fā)起多個(gè)計(jì)算機(jī)器中每個(gè)計(jì)算機(jī)器上的應(yīng)用程序部署和監(jiān)視。
[0007]每個(gè)計(jì)算機(jī)器能夠本地單獨(dú)地進(jìn)行管理。然而,企業(yè)可以具有一個(gè)或多個(gè)計(jì)算系統(tǒng),每個(gè)計(jì)算系統(tǒng)包括一個(gè)或多個(gè)計(jì)算機(jī)器。例如,企業(yè)可以有數(shù)千計(jì)算機(jī)器要管理,這數(shù)千計(jì)算機(jī)器中的某一部分可以可通信地聯(lián)接至網(wǎng)絡(luò),如局域網(wǎng)、廣域網(wǎng)、內(nèi)聯(lián)網(wǎng)、互聯(lián)網(wǎng)或其它網(wǎng)絡(luò)。單獨(dú)地(例如本地)管理大量計(jì)算機(jī)器可能是耗時(shí)的、昂貴的并且產(chǎn)生不一致的結(jié)果。
[0008]服務(wù)器自動(dòng)化系統(tǒng)可以用來(lái)管理多個(gè)服務(wù)器(包括虛擬服務(wù)器),一次管理一個(gè)服務(wù)器或作為一組管理多個(gè)服務(wù)器。服務(wù)器自動(dòng)化系統(tǒng)能夠包括服務(wù)器自動(dòng)化軟件核心以及多個(gè)遠(yuǎn)程服務(wù)器自動(dòng)化遠(yuǎn)程軟件代理。服務(wù)器自動(dòng)化系統(tǒng)能夠用來(lái)使用分布的腳本管理服務(wù)器,使用策略管理軟件,管理(例如安裝和卸載)軟件包和補(bǔ)丁,管理系統(tǒng)和應(yīng)用程序配置文件,通過(guò)自動(dòng)化特征和補(bǔ)救特征管理服務(wù)器符合性,以及運(yùn)行報(bào)告,等等。服務(wù)器自動(dòng)化軟件核心可以經(jīng)由網(wǎng)絡(luò)與多個(gè)遠(yuǎn)程服務(wù)器自動(dòng)化遠(yuǎn)程軟件代理通信。
[0009]在本公開(kāi)內(nèi)容中,實(shí)施例是對(duì)可擴(kuò)展的工具描述的,以使跨網(wǎng)絡(luò)從一個(gè)系統(tǒng)至多個(gè)系統(tǒng)的被包括或被用戶指定的軟件工具的部署、控制和監(jiān)視自動(dòng)化。該可擴(kuò)展的工具僅使用基礎(chǔ)OS,意味著大量的或者零碎的OS映像或客戶指定的OS映像以及用于連接至網(wǎng)絡(luò)的遠(yuǎn)程系統(tǒng)的根用戶名和密碼。該可擴(kuò)展的工具能夠跨網(wǎng)絡(luò)發(fā)現(xiàn)遠(yuǎn)程系統(tǒng)和對(duì)遠(yuǎn)程系統(tǒng)進(jìn)行設(shè)定(profile),將這些系統(tǒng)組成邏輯組,指定要在這些系統(tǒng)上運(yùn)行的測(cè)試或工具以及這些測(cè)試或工具的參數(shù),指定要運(yùn)行的動(dòng)作或工具的順序,安裝這些工具,監(jiān)視結(jié)果,以及將結(jié)果記錄在數(shù)據(jù)庫(kù)中。
[0010]圖1是可擴(kuò)展的工具的框圖,該可擴(kuò)展的工具例如是以機(jī)器可運(yùn)行指令形式的軟件,以使跨網(wǎng)絡(luò)108的從一個(gè)系統(tǒng)101至多個(gè)系統(tǒng)(例如120、130和140)的被包括的或被用戶指定的軟件工具的部署、控制和監(jiān)視自動(dòng)化。
[0011]圖1圖示具有處理器103資源和存儲(chǔ)器105資源的服務(wù)器102。本文描述的可擴(kuò)展的工具是呈機(jī)器可運(yùn)行指令的形式,該機(jī)器可運(yùn)行指令能夠存儲(chǔ)在服務(wù)器102的存儲(chǔ)器資源105上并且由服務(wù)器102的處理器資源103運(yùn)行,以實(shí)現(xiàn)本公開(kāi)內(nèi)容的一個(gè)或多個(gè)實(shí)施例。存儲(chǔ)器資源可以包括:例如像隨機(jī)存取存儲(chǔ)器(RAM)這樣的非持久性存儲(chǔ)器,像硬驅(qū)和/或固態(tài)驅(qū)動(dòng)器(例如,閃存、相變存儲(chǔ)器等)這樣的持久性存儲(chǔ)器,等等。服務(wù)器102能夠經(jīng)由硬線連接112或無(wú)線連接114連接至一個(gè)或多個(gè)用戶接口 110-1和110-2,并且進(jìn)一步連接至一個(gè)或多個(gè)數(shù)據(jù)庫(kù),例如106,以提供遠(yuǎn)程軟件部署系統(tǒng)101。數(shù)據(jù)庫(kù)106可以存儲(chǔ)信息,如與單獨(dú)地或共同地與正由軟件部署101管理的一個(gè)或多個(gè)目標(biāo)系統(tǒng)120、130、140等有關(guān)的硬件和軟件信息。 [0012]盡管圖1是關(guān)于包括服務(wù)器的計(jì)算系統(tǒng)描述的,但是本發(fā)明的實(shí)施例不是被如此受限的。將理解,下面的介紹還適用于包括附加計(jì)算機(jī)器和/或其它類型計(jì)算機(jī)器的計(jì)算系統(tǒng)。此外,在軟件部署系統(tǒng)101中,為了簡(jiǎn)單示出單個(gè)服務(wù)器102。然而,本公開(kāi)內(nèi)容的實(shí)施例不是如此受限的。軟件部署系統(tǒng)101可以在一個(gè)或多個(gè)核心管理服務(wù)器上運(yùn)行。
[0013]如圖所示,軟件部署系統(tǒng)101能夠經(jīng)由網(wǎng)絡(luò)108連接至多個(gè)不同的系統(tǒng)120、130和140。網(wǎng)絡(luò)108可以是局域網(wǎng)、廣域網(wǎng)、內(nèi)聯(lián)網(wǎng)、互聯(lián)網(wǎng)、其它網(wǎng)絡(luò)布置或者網(wǎng)絡(luò)布置的組合,這包括以上網(wǎng)絡(luò)的硬線部分和/或無(wú)線部分。不同系統(tǒng)120、130和140的示例能夠包括服務(wù)器機(jī)架和/或性能優(yōu)化數(shù)據(jù)中心(POD)。不同的系統(tǒng)120、130和140可以由不同的
服務(wù)提供者(如互聯(lián)網(wǎng)搜索服務(wù)和網(wǎng)頁(yè)零售者,例如Bing?和eBay? )和/或不同的高
性能計(jì)算機(jī)構(gòu)(例如,大學(xué)和/或其它科研中心)維護(hù)。
[0014]系統(tǒng)102被圖示為包括第一類型的多個(gè)計(jì)算機(jī)器122-1、122_2、......、122_M,例如
服務(wù)器,多個(gè)第一類型的計(jì)算機(jī)器122-1、122-2、……、122-M包括處理器資源123和存儲(chǔ)器資源125,第一類型的多個(gè)計(jì)算機(jī)器122-1、122-2、……、122-M可以屬于第一邏輯組121。進(jìn)一步,將系統(tǒng)120圖示為具有第二類型的多個(gè)計(jì)算機(jī)器124-1、……、124-P,第二類型的多個(gè)計(jì)算機(jī)器124-1、……、124-P包括處理器資源和存儲(chǔ)器資源,第二類型的多個(gè)計(jì)算機(jī)器124-1、……、124-P可以屬于第二邏輯組127。將系統(tǒng)130圖示為包括多個(gè)第一類型的計(jì)算機(jī)器132-1、……、132-0,多個(gè)第一類型的計(jì)算機(jī)器132-1、……、132_0包括處理器資源和存儲(chǔ)器資源,多個(gè)第一類型的計(jì)算機(jī)器132-1、……、132-0可以屬于第一邏輯組131。進(jìn)一步,將系統(tǒng)130圖示為具有第二類型的多個(gè)計(jì)算機(jī)器134-1、……、134-S,第二類型的多個(gè)計(jì)算機(jī)器134-1、……、134-S包括處理器資源和存儲(chǔ)器資源,第二類型的多個(gè)計(jì)算機(jī)
器134-1、......、134-S可以屬于第二邏輯組137。將系統(tǒng)140圖不為包括多個(gè)第一類型的計(jì)算機(jī)器142-1、……、142-N,多個(gè)第一類型的計(jì)算機(jī)器142-1、……、142_N包括處理器資源和存儲(chǔ)器資源,多個(gè)第一類型的計(jì)算機(jī)器142-1、……、142-N可以屬于第一邏輯組141。進(jìn)一步,將系統(tǒng)140圖示為具有第二類型的多個(gè)計(jì)算機(jī)器144-1、……、144-T,第二類型的多個(gè)計(jì)算機(jī)器144-1、……、144-T包括處理器資源和存儲(chǔ)器資源,第二類型的多個(gè)計(jì)算機(jī)器144-1、……、144-T可以屬于第二邏輯組147。如本文使用的,這樣的邏輯組能夠是用戶限定的,并且能夠根據(jù)硬件、軟件、操作系統(tǒng)、可用資源、期望用途等。然而,實(shí)施例不局限于任何特定系統(tǒng)120、130和140上的邏輯分組的數(shù)量和類型。因此,標(biāo)識(shí)符Μ、P、O、S、N和T可以代表任何特定分組內(nèi)的數(shù)量。
[0015]圖1示出經(jīng)由網(wǎng)絡(luò)108與部署系統(tǒng)101連接的三個(gè)示例系統(tǒng)配置,然而本公開(kāi)內(nèi)容的實(shí)施例不是如此受限的,并且部署系統(tǒng)101可以連接至具有所示的配置或具有其它配置的更多的或更少的目標(biāo)系統(tǒng)。盡管圖1中將目標(biāo)系統(tǒng)120、130和140示出為服務(wù)器機(jī)架,但是目標(biāo)系統(tǒng)120、130和140可以包括一個(gè)或多個(gè)不同的服務(wù)器機(jī)架、POD和/或除其它硬件、軟件和/或固件以外的計(jì)算配置。
[0016]根據(jù)一個(gè)或多個(gè)實(shí)施例,目標(biāo)系統(tǒng)120、130和140中至少一個(gè)目標(biāo)系統(tǒng)配備有來(lái)自部署系統(tǒng)101的輕量代理(lightweight agent) 151,以促進(jìn)被包含的和/或被用戶指定的軟件工具的自動(dòng)化部署、控制和監(jiān)視。盡管僅計(jì)算機(jī)器121-1被圖示為在其上部署了輕量代理151,但是多個(gè)遠(yuǎn)程計(jì)算機(jī)器121-1、……、144-T中全部的或部分的遠(yuǎn)程計(jì)算系統(tǒng)和/或目標(biāo)系統(tǒng)120、130和140可以根據(jù)特定邏輯分組單獨(dú)地或共同地具有在其上部署的來(lái)自軟件部署系統(tǒng)101的輕量代理。術(shù)語(yǔ)“輕量代理”指向目標(biāo)計(jì)算機(jī)器傳遞的且在該目標(biāo)計(jì)算機(jī)器上存儲(chǔ)的一組機(jī)器可運(yùn)行指令,其中這些指令能夠管理目標(biāo)計(jì)算機(jī)器和遠(yuǎn)程軟件部署系統(tǒng)101之間的通信(包括狀態(tài))。輕量代理能夠進(jìn)一步下載和安裝應(yīng)用程序和/或?qū)δ繕?biāo)計(jì)算機(jī)器的功能測(cè)試,但是本身不包含那些應(yīng)用程序或功能測(cè)試。因此,輕量代理(例如,151)不用作目標(biāo)計(jì)算機(jī)器的操作系統(tǒng)。
[0017]圖2是圖示根據(jù)本公開(kāi)內(nèi)容的一個(gè)或多個(gè)實(shí)施例用于從一個(gè)系統(tǒng)至多個(gè)系統(tǒng)跨網(wǎng)絡(luò)部署軟件工具的方法的流程圖。在圖2的實(shí)施例中,如在210所示,一個(gè)示例方法包括運(yùn)行在軟件部署系統(tǒng)101的存儲(chǔ)器105中存儲(chǔ)的指令來(lái)發(fā)起發(fā)現(xiàn)機(jī)制,以輪詢多個(gè)計(jì)算機(jī)器,例如多個(gè)系統(tǒng)120、130和140中的多個(gè)計(jì)算機(jī)器。發(fā)起發(fā)現(xiàn)機(jī)制能夠包括向多個(gè)系統(tǒng)120、130和140中的多個(gè)計(jì)算機(jī)器中的每個(gè)計(jì)算機(jī)器發(fā)起互聯(lián)網(wǎng)通信消息協(xié)議(ICMP)的互聯(lián)網(wǎng)消息探索(Ping)。根據(jù)實(shí)施例,多個(gè)系統(tǒng)120、130、140中每個(gè)系統(tǒng)內(nèi)的多個(gè)計(jì)算機(jī)器中的各計(jì)算機(jī)器可以具有不同的操作系統(tǒng)(OS)類型,例如視窗?、Linux?、Unix?等。特定系統(tǒng)120、130和140內(nèi)的各機(jī)器可以具有不同的OS類型,因?yàn)榉?wù)提供者,例如特定系統(tǒng)的操作者,可能想要向其客戶提供不同的OS類型替代。因此,對(duì)軟件部署系統(tǒng)101發(fā)現(xiàn)機(jī)制(例如,ICMP探索)的響應(yīng)將向軟件部署系統(tǒng)101表示多個(gè)系統(tǒng)120、130和140中的各計(jì)算機(jī)器中與每個(gè)計(jì)算機(jī)器的標(biāo)識(shí)符相關(guān)的OS類型。除其它信息以外,這樣的信息可以存儲(chǔ)在特定計(jì)算機(jī)器的管理信息庫(kù)(MIB)中。能夠從發(fā)現(xiàn)機(jī)制獲得的其它信息,包括多個(gè)計(jì)算機(jī)器中每個(gè)計(jì)算機(jī)器的處理器資源的數(shù)量和類型、存儲(chǔ)器資源的數(shù)量和類型、每個(gè)計(jì)算機(jī)器的制造者和型號(hào)類型、驅(qū)動(dòng)器和/或網(wǎng)絡(luò)連接計(jì)數(shù)等。
[0018]根據(jù)各實(shí)施例,發(fā)現(xiàn)機(jī)制,例如為輪詢多個(gè)計(jì)算機(jī)器而由軟件部署系統(tǒng)101運(yùn)行的指令,能夠進(jìn)一步使用多重查詢方法發(fā)現(xiàn)網(wǎng)絡(luò)上的遠(yuǎn)程單元,例如多個(gè)系統(tǒng)中的計(jì)算機(jī)器。對(duì)多個(gè)計(jì)算機(jī)器的查詢方法的多重性能夠包括互聯(lián)網(wǎng)協(xié)議(IP)地址范圍查詢、媒體接入控制器(MAC)地址列表查詢、子網(wǎng)查詢、全限定域名(fully qualified domain name)列表、計(jì)算機(jī)器特定名稱查詢以及其它查詢類型。
[0019]執(zhí)行多重查詢類型的能力可以提供特定優(yōu)勢(shì)。例如,通過(guò)特定計(jì)算機(jī)器名稱查詢可能是有利的,因?yàn)榫W(wǎng)絡(luò)接口卡(NIC)改變或特定計(jì)算機(jī)器的重啟動(dòng)可以改變MAC地址列表和/或IP地址范圍,但是計(jì)算機(jī)器的名稱不會(huì)改變。作為另一示例,在Linux? OS環(huán)境中,可能尚未分配各計(jì)算機(jī)器名稱,但是機(jī)器可以具有要查詢的MAC地址或被指派的IP地址范圍。機(jī)器名稱查詢模式可以支持文件輸入,該文件輸入可以是一系列名稱、一系列IP地址或者二者的組合。IP范圍查詢能夠搜索和發(fā)現(xiàn)此范圍內(nèi)的所有連續(xù)IP地址。列表模式允許搜索和發(fā)現(xiàn)非連續(xù)的IP地址范圍。MAC列表模式或名稱/IP列表輸入模式能夠幫助發(fā)現(xiàn)丟失的計(jì)算機(jī)器并且將該丟失的機(jī)器報(bào)告至軟件部署系統(tǒng)101。
[0020]在220處,該方法包括:在對(duì)發(fā)現(xiàn)機(jī)制的響應(yīng)中識(shí)別的每個(gè)各自類型的0S(例如,Windows?、Linux?.Unix?等),向多個(gè)計(jì)算機(jī)器中的每個(gè)計(jì)算機(jī)器部署輕量代理。輕量代理能夠運(yùn)行指令來(lái)對(duì)已經(jīng)將它們部署至的每個(gè)各自的計(jì)算機(jī)器的特性進(jìn)行完全地設(shè)定。完全設(shè)定每個(gè)各自的計(jì)算機(jī)器的特性包括:完善OS類型信息(例如,版本和/或名稱)、計(jì)算機(jī)器模型名稱、完善存儲(chǔ)器信息、磁盤(pán)空間等。
[0021]在230處,根據(jù)各實(shí)施例,向每個(gè)各自的計(jì)算機(jī)器部署的各個(gè)輕量代理能夠運(yùn)行指令來(lái)管理目標(biāo)計(jì)算機(jī)器和遠(yuǎn)程軟件部署系統(tǒng)101之間的通信(包括狀態(tài))。在多個(gè)系統(tǒng)內(nèi)以及跨多個(gè)系統(tǒng),無(wú)論OS類型如何,輕量代理的指令能夠彼此通信以及與軟件部署系統(tǒng)101通信。
[0022]向每個(gè)各自的計(jì)算機(jī)器部署的輕量代理能夠運(yùn)行指令來(lái)發(fā)起從軟件部署系統(tǒng)101向多個(gè)遠(yuǎn)程系統(tǒng)中各個(gè)計(jì)算機(jī)器中每個(gè)計(jì)算機(jī)器的應(yīng)用程序部署用戶指定軟件工具,例如軟件應(yīng)用程序。術(shù)語(yǔ)“用戶指定工具”能夠包括對(duì)特定系統(tǒng)中的各計(jì)算機(jī)器由用戶(例如,IT管理員)請(qǐng)求的各種軟件工具。用戶指定工具的示例可以包括多個(gè)系統(tǒng)120、130和140中的BIOS更新固件、軟件和/或固件補(bǔ)丁和/或驅(qū)動(dòng)器、向特定計(jì)算機(jī)器枚舉參數(shù)的指令等。此外,向各個(gè)計(jì)算機(jī)器部署的輕量代理能夠運(yùn)行指令來(lái)運(yùn)行已經(jīng)在來(lái)自即開(kāi)即用環(huán)境(OOBE)的各計(jì)算機(jī)器上包含的應(yīng)用程序。
[0023]根據(jù)各實(shí)施例,向每個(gè)計(jì)算機(jī)器部署的代理能夠運(yùn)行指令來(lái)對(duì)多個(gè)系統(tǒng)120、130和140內(nèi)的以及跨多個(gè)系統(tǒng)120、130和140的計(jì)算機(jī)器進(jìn)行邏輯分組。例如,在特定系統(tǒng)中具有數(shù)千機(jī)器的環(huán)境中,輕量代理能夠運(yùn)行指令來(lái)根據(jù)特定光纖分界(fiberdemarcation)向特定邏輯分組部署各用戶指定應(yīng)用程序。對(duì)輕量代理運(yùn)行指令來(lái)部署特定應(yīng)用,可以存在至少兩級(jí)粒度(granularity)。在第一示例中,各個(gè)輕量代理可以自動(dòng)地被配置為向多個(gè)系統(tǒng)120、130和140中的計(jì)算機(jī)器的特定邏輯分組部署應(yīng)用程序,以對(duì)處理器資源、存儲(chǔ)器資源、連接、速度和響應(yīng)時(shí)間等進(jìn)行基本的功能和/或操作測(cè)試。例如,如果特定機(jī)器中存在N個(gè)處理器,那么輕量代理可以向該計(jì)算機(jī)器部署應(yīng)用程序來(lái)運(yùn)行2N個(gè)處理器測(cè)試線程。
[0024]在第二示例中,用戶可以憑借通過(guò)各個(gè)輕量代理與軟件部署系統(tǒng)101通信,來(lái)根據(jù)各種特性(例如,計(jì)算機(jī)器類型、處理器資源、存儲(chǔ)器資源、OS類型或文本標(biāo)識(shí)符、IP地址、計(jì)算機(jī)器名等)指引特定邏輯分組。因此,被用戶指引的邏輯分組可以導(dǎo)致輕量代理運(yùn)行指令來(lái)基于不同機(jī)器的邏輯分組(例如,特性)在不同機(jī)器上部署不同的功能測(cè)試應(yīng)用程序,以便基于特定計(jì)算機(jī)器能力或者該領(lǐng)域中期望的應(yīng)用程序運(yùn)行測(cè)試。例如,如果特定服務(wù)器機(jī)架中的五十(50)個(gè)計(jì)算機(jī)器是存儲(chǔ)器(例如,存儲(chǔ)節(jié)點(diǎn))密集的,那么被用戶指引的邏輯分組可以引起這些機(jī)器上的輕量代理運(yùn)行指令來(lái)部署存儲(chǔ)器功能測(cè)試應(yīng)用程序,以確定那些計(jì)算機(jī)器上的存儲(chǔ)節(jié)點(diǎn)的功能。如果同一服務(wù)器機(jī)架中的另五十(50)個(gè)計(jì)算機(jī)器是處理器(例如,計(jì)算節(jié)點(diǎn))密集的,那么被用戶指引的邏輯分組可以引起這些機(jī)器上的輕量代理運(yùn)行指令來(lái)部署處理器功能測(cè)試應(yīng)用程序,以確定那些計(jì)算機(jī)器上的計(jì)算節(jié)點(diǎn)的功能。
[0025]在這些示例中,用戶(例如,IT管理員)能夠選擇被包括的或被用戶指定的軟件工具(例如,功能測(cè)試)以及它們的參數(shù)(如子測(cè)試或持續(xù)時(shí)間)以及測(cè)試配置、動(dòng)作組或順序中工具、測(cè)試或動(dòng)作的順序。能夠運(yùn)行軟件部署系統(tǒng)101的指令,以允許用戶映射計(jì)算機(jī)器邏輯分組來(lái)測(cè)試順序動(dòng)作組。然后,軟件部署系統(tǒng)101的指令被運(yùn)行,以根據(jù)邏輯分組向所選擇的計(jì)算機(jī)器安裝特定功能測(cè)試應(yīng)用程序,遠(yuǎn)程地啟動(dòng)功能測(cè)試應(yīng)用程序(例如,程序、運(yùn)行)。因此,不同的功能測(cè)試應(yīng)用程序可以基于它們的特性,同時(shí)地在不同計(jì)算機(jī)器上運(yùn)行。
[0026]當(dāng)運(yùn)行不同的功能測(cè)試應(yīng)用程序時(shí),向每個(gè)各自的計(jì)算機(jī)器部署的各個(gè)輕量代理運(yùn)行指令來(lái)在目標(biāo)計(jì)算機(jī)器和遠(yuǎn)程軟件部署系統(tǒng)101之間傳遞功能測(cè)試應(yīng)用程序狀態(tài)。軟件部署系統(tǒng)101運(yùn)行指令來(lái)監(jiān)視在目標(biāo)計(jì)算機(jī)器上運(yùn)行的程序測(cè)試順序、動(dòng)作和程序。輕量代理運(yùn)行指令,以在錯(cuò)誤和/或警報(bào)發(fā)生時(shí)向軟件部署系統(tǒng)101報(bào)告運(yùn)行功能測(cè)試應(yīng)用程序的各個(gè)計(jì)算機(jī)器上的錯(cuò)誤和/或警報(bào)。輕量代理能夠運(yùn)行指令來(lái)報(bào)告有多少測(cè)試正在運(yùn)行、運(yùn)行的迭代次數(shù)等。
[0027]軟件部署系統(tǒng)101能夠運(yùn)行指令來(lái)監(jiān)視當(dāng)運(yùn)行功能測(cè)試時(shí)已經(jīng)發(fā)生的錯(cuò)誤和警報(bào)的數(shù)量。進(jìn)一步,軟件部署系統(tǒng)101能夠配置為運(yùn)行指令來(lái)根據(jù)已經(jīng)發(fā)生的錯(cuò)誤和/或警報(bào)的類型、根據(jù)正在運(yùn)行的功能測(cè)試和/或根據(jù)正運(yùn)行功能測(cè)試的計(jì)算機(jī)器,對(duì)這些錯(cuò)誤和警報(bào)進(jìn)行過(guò)濾和分類。在監(jiān)視功能測(cè)試時(shí),軟件部署系統(tǒng)101能夠運(yùn)行指令來(lái)對(duì)特定錯(cuò)誤和/或警報(bào)進(jìn)行高亮并且能夠運(yùn)行指令來(lái)導(dǎo)出監(jiān)視結(jié)果。
[0028]在一個(gè)示例中,軟件部署系統(tǒng)101能夠運(yùn)行指令來(lái)響應(yīng)于命令行輸入在批處理模式中將監(jiān)視結(jié)果導(dǎo)出至逗號(hào)分隔值(CSV)文件。在另一示例中,軟件部署系統(tǒng)101能夠運(yùn)行指令來(lái)促進(jìn)在有線用戶接口或無(wú)線用戶接口(例如,110-1、110-2)上來(lái)自圖形用戶界面(GUI)的直接用戶交互。也就是說(shuō),軟件部署系統(tǒng)101能夠運(yùn)行指令來(lái)允許用戶選擇特定的報(bào)告錯(cuò)誤和/或警報(bào)以及來(lái)開(kāi)啟桌面窗口和/或安全殼(例如,HSSH),以允許用戶在運(yùn)行特定功能測(cè)試時(shí)與特定計(jì)算機(jī)器直接交互。
[0029]進(jìn)一步,除了無(wú)論OS類型如何都能夠在多個(gè)系統(tǒng)內(nèi)以及跨多個(gè)系統(tǒng)彼此通信以夕卜,所部署的輕量代理包括指令,指令在運(yùn)行時(shí)完全地知道在軟件部署系統(tǒng)101上可利用的所有應(yīng)用的接口和參數(shù)。例如,特定處理器間通信可以對(duì)特定處理器類型是唯一的。這使軟件部署系統(tǒng)101是可擴(kuò)展的,因?yàn)檩p量代理能夠運(yùn)行指令來(lái)訪問(wèn)軟件部署系統(tǒng)上的特定接口,以控制和部署其它應(yīng)用,例如對(duì)計(jì)算機(jī)器內(nèi)部或外部的軟件的其它功能測(cè)試。
[0030]因此,輕量代理能夠傳遞與在多個(gè)系統(tǒng)中的多個(gè)計(jì)算機(jī)器上同時(shí)地運(yùn)行的不同功能測(cè)試有關(guān)的更強(qiáng)健的、完整的和詳細(xì)的信息,并且比使用不能夠跨網(wǎng)絡(luò)與其它OS類型上的代理交換通信或者不完全地知道在軟件部署系統(tǒng)上可用的所有參數(shù)和應(yīng)用的代理可能發(fā)生的相比,本軟件部署系統(tǒng)能夠報(bào)告關(guān)于那些功能測(cè)試應(yīng)用程序結(jié)果的更多細(xì)節(jié)。在此模型中,功能測(cè)試應(yīng)用程序不必知道其被部署至遠(yuǎn)程系統(tǒng)中的遠(yuǎn)程計(jì)算機(jī)器,這些功能測(cè)試也不必是知曉網(wǎng)絡(luò)的。
[0031]在一些實(shí)施例中,軟件部署系統(tǒng)101可以進(jìn)一步能夠與不同遠(yuǎn)程系統(tǒng)中的計(jì)算機(jī)器上的集成式無(wú)人看守(ILO)功能交互,來(lái)指示這樣的計(jì)算機(jī)器開(kāi)啟或關(guān)閉。軟件部署系統(tǒng)101可以進(jìn)一步運(yùn)行指令來(lái)與ILO交互,以根據(jù)邏輯分組或其它標(biāo)識(shí)對(duì)多個(gè)計(jì)算機(jī)器中已經(jīng)部署有代理(例如,151)的一個(gè)或多個(gè)計(jì)算機(jī)器上的OS進(jìn)行遠(yuǎn)程網(wǎng)絡(luò)啟動(dòng),例如,PXE啟動(dòng)。一旦計(jì)算機(jī)器和/或系統(tǒng)被遠(yuǎn)程啟動(dòng),則其上部署的網(wǎng)絡(luò)代理(例如,151)就能夠如本文已經(jīng)描述的那樣在多個(gè)計(jì)算機(jī)器和/或多個(gè)不同的系統(tǒng)以及軟件部署系統(tǒng)101之間交換通信、狀態(tài)并且協(xié)調(diào)進(jìn)一步的應(yīng)用程序部署。
[0032]在一些實(shí)施例中,軟件部署系統(tǒng)101還可以運(yùn)行指令來(lái)部署功能測(cè)試應(yīng)用程序,功能測(cè)試應(yīng)用程序查找用于特定應(yīng)用程序的安全密鑰和/或有效許可的存在。也就是說(shuō),部署具有內(nèi)置的某種安全性的應(yīng)用程序,其它需要安全密鑰或許可。發(fā)現(xiàn)機(jī)制、各代理的部署以及功能測(cè)試部署能夠涉及運(yùn)行指令來(lái)尋求這樣的安全密鑰和/或許可。如果這樣的安全密鑰和/或許可未在特定計(jì)算機(jī)器上發(fā)現(xiàn),那么軟件部署系統(tǒng)101能夠運(yùn)行指令來(lái)從特定網(wǎng)絡(luò)(例如,經(jīng)由網(wǎng)絡(luò)從HASP服務(wù)器)請(qǐng)求一個(gè)或多個(gè)不同的安全密鑰類型,將這一個(gè)或多個(gè)不同的安全密鑰類型本地保管在軟件部署系統(tǒng)101上,并且將相關(guān)密鑰傳送至特定計(jì)算機(jī)器。因此,軟件部署系統(tǒng)101能夠部署不需要任何安全密鑰和/或許可的多種功能測(cè)試,以及部署需要安全密鑰和/或許可的各種安全版本的功能測(cè)試。
[0033]在前面的詳細(xì)描述中,為了使本公開(kāi)內(nèi)容流暢,在單個(gè)實(shí)施例中將一些特征組織在一起。本公開(kāi)內(nèi)容的方法不應(yīng)被解釋為,反映所公開(kāi)的本公開(kāi)內(nèi)容的實(shí)施例需要使用比每個(gè)權(quán)利要求中明確記載的特征更多特征的意圖。相反,如以下權(quán)利要求反映的,本發(fā)明的主題在于少于單個(gè)公開(kāi)實(shí)施例的所有特征。因此,下面的權(quán)利要求以及這樣的權(quán)利要求享有權(quán)利的等價(jià)物的全部范圍特此包含在【具體實(shí)施方式】中,每個(gè)權(quán)利要求獨(dú)立地作為單獨(dú)的實(shí)施例。
【權(quán)利要求】
1.一種用于跨網(wǎng)絡(luò)108部署軟件工具的方法,包括: 跨網(wǎng)絡(luò)108從遠(yuǎn)程部署系統(tǒng)101向多個(gè)系統(tǒng)120/130/140發(fā)起發(fā)現(xiàn)機(jī)制210來(lái)輪詢多個(gè)計(jì)算機(jī)器121-1、……144-T,其中所述多個(gè)系統(tǒng)120/130/140包括具有多個(gè)計(jì)算機(jī)器121-1、……、144-T的機(jī)架和刀片式計(jì)算機(jī)架,所述多個(gè)計(jì)算機(jī)器121-1、……、144_T具有不同的操作系統(tǒng)(OS); 對(duì)于在對(duì)所述發(fā)現(xiàn)機(jī)制220的響應(yīng)中識(shí)別的每種OS,部署各自的代理151 ; 其中所述各自的代理151中每個(gè)代理能夠管理所述部署系統(tǒng)101和所述網(wǎng)絡(luò)108上的所述多個(gè)計(jì)算機(jī)器121-1、……144-Τ中每個(gè)計(jì)算機(jī)器之間的通信230,并且發(fā)起所述多個(gè)計(jì)算機(jī)器121-1、……、144-Τ中每個(gè)計(jì)算機(jī)器上的應(yīng)用程序安裝。
2.根據(jù)權(quán)利要求1所述的方法,其中在部署所述各自的代理151中每個(gè)代理中,所述部署系統(tǒng)101將用于特定OS類型的代理151與要運(yùn)行功能測(cè)試230的特定的用戶指定應(yīng)用程序捆綁在一起。
3.根據(jù)權(quán)利要求2所述的方法,其中所述特定的用戶指定應(yīng)用程序選自包括以下內(nèi)容的組中之一: 基本輸入輸出系統(tǒng)(BIOS)更新; 軟件補(bǔ)丁 ; 固件補(bǔ)丁;以及 對(duì)特定計(jì)算機(jī)器上的參數(shù)進(jìn)行枚舉的應(yīng)用程序230。
4.根據(jù)權(quán)利要求1所述的方法,其中發(fā)起發(fā)現(xiàn)機(jī)制210包括對(duì)所述多個(gè)系統(tǒng)中每個(gè)系統(tǒng)使用多個(gè)查詢方法來(lái)發(fā)現(xiàn)所述網(wǎng)絡(luò)108上的所述多個(gè)系統(tǒng)120/130/140的每個(gè)計(jì)算機(jī)器121-1、......、144-T的特性,所述多個(gè)查詢方法包括選自包括以下內(nèi)容的組中之一的查詢方法: 用于所述網(wǎng)絡(luò)108上的所述多個(gè)系統(tǒng)120/130/140的每個(gè)計(jì)算機(jī)器121-1、……、144_T的互聯(lián)網(wǎng)協(xié)議(IP)地址范圍查詢220 ; 用于所述網(wǎng)絡(luò)108上的所述多個(gè)系統(tǒng)120/130/140的每個(gè)計(jì)算機(jī)器121-1、……、144_Τ的媒體接入控制器(MAC)地址查詢220 ;以及 用于所述網(wǎng)絡(luò)108上的所述多個(gè)系統(tǒng)120/130/140的每個(gè)計(jì)算機(jī)器的機(jī)器名查詢220。
5.根據(jù)權(quán)利要求4所述的方法,其中使用多個(gè)查詢方法220包括向所述網(wǎng)絡(luò)108上的所述多個(gè)系統(tǒng)120/130/140的所述每個(gè)計(jì)算機(jī)器121-1、……、144_T上待發(fā)現(xiàn)的每個(gè)特性指定文本標(biāo)識(shí)符。
6.根據(jù)權(quán)利要求1所述的方法,其中所述方法進(jìn)一步包括:跨所述多個(gè)系統(tǒng)120/130/140對(duì)計(jì)算機(jī)器121-1、……、144_Τ進(jìn)行邏輯分組,并且根據(jù)邏輯分組230基于所標(biāo)識(shí)的特性和由各自的代理151部署的應(yīng)用程序,同時(shí)地運(yùn)行不同的功能測(cè)試。
7.根據(jù)權(quán)利要求6所述的方法,其中所述方法進(jìn)一步包括部署能夠跨OS類型彼此通信的各自的代理151,并且進(jìn)一步包括監(jiān)視所述不同的功能測(cè)試220。
8.根據(jù)權(quán)利要求7所 述的方法,其中所述方法進(jìn)一步包括: 監(jiān)視所述不同的功能測(cè)試包括按照每個(gè)錯(cuò)誤類型、每個(gè)警報(bào)類型、每個(gè)計(jì)算機(jī)器121-1、……、144-Τ、所進(jìn)行的功能測(cè)試的總數(shù)以及每個(gè)邏輯分組230的迭代次數(shù),實(shí)時(shí)地進(jìn)行過(guò)濾和分類;以及提供圖形用戶界面(GUI) 112/114,所述圖形用戶界面(GUI) 112/114允許用戶為過(guò)濾和分類選擇條目項(xiàng),所述部署系統(tǒng)將為特定計(jì)算機(jī)器121-1、……、144-T開(kāi)啟桌面窗口或安全套接字,使得用戶能與所述特定計(jì)算機(jī)器121-1、……、144-T直接交互。
9.根據(jù)權(quán)利要求1所述的方法,其中所述方法進(jìn)一步包括:部署安全版本的應(yīng)用程序來(lái)進(jìn)行功能測(cè)試,以及將安全密鑰本地地保管在所述部署系統(tǒng)230上。
10.一種非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)105,包括其上存儲(chǔ)的機(jī)器可運(yùn)行指令,所述機(jī)器可運(yùn)行指令在由處理器103運(yùn)行時(shí)導(dǎo)致部署系統(tǒng)101: 跨網(wǎng)絡(luò)從多個(gè)系統(tǒng)120/130/140上的多個(gè)計(jì)算機(jī)器121-1、……、144_T發(fā)現(xiàn)包括操作系統(tǒng)(OS)類型在內(nèi)的特性,所述多個(gè)系統(tǒng)120/130/140包括具有不同操作系統(tǒng)(OS)210/220的至少一些計(jì)算機(jī)器121-1、……、144_Τ ;以及 部署能夠管理不同OS類型230、所述部署系統(tǒng)101以及所述網(wǎng)絡(luò)108上所述多個(gè)計(jì)算機(jī)器121-1、……、144-Τ中每個(gè)計(jì)算機(jī)器之間的串?dāng)_通信的各自的代理151,并且關(guān)對(duì)于每種被識(shí)別的0S220/230,在所述多個(gè)計(jì)算機(jī)器121-1、……、144_Τ中每個(gè)計(jì)算機(jī)器上發(fā)起應(yīng)用程序安裝以及對(duì)所述多個(gè)計(jì)算機(jī)器121-1、……、144-Τ中每個(gè)計(jì)算機(jī)器上的應(yīng)用程序進(jìn)行功能測(cè)試。
11.根據(jù)權(quán)利要求10所述的非瞬態(tài)介質(zhì),其中所述機(jī)器可運(yùn)行指令能夠由所述處理器103運(yùn)行來(lái): 將用于特定OS類型的代理與特定的用戶指定應(yīng)用程序捆綁在一起,來(lái)運(yùn)行功能測(cè)試220 ;以及 通過(guò)該系統(tǒng)同時(shí)地實(shí)時(shí)監(jiān)視包括不同的功能測(cè)試,包括分類功能和過(guò)濾功能,該監(jiān)視指令包括根據(jù)分類和過(guò)濾功能運(yùn)行的指令,以監(jiān)視和報(bào)告錯(cuò)誤類型、警報(bào)類型、計(jì)算機(jī)器名、進(jìn)行的功能測(cè)試的總數(shù)以及每個(gè)邏輯分組230的迭代次數(shù)。
12.—種用于跨網(wǎng)絡(luò)自動(dòng)地、遠(yuǎn)程地向多個(gè)系統(tǒng)部署應(yīng)用程序的部署系統(tǒng)101,包括: 處理器103 ; 存儲(chǔ)器105,聯(lián)接至所述處理器并且包括機(jī)器可運(yùn)行指令,所述機(jī)器可運(yùn)行指令能夠由所述處理器運(yùn)行來(lái): 跨網(wǎng)絡(luò)發(fā)起對(duì)多個(gè)系統(tǒng)上的多個(gè)計(jì)算機(jī)器發(fā)起特性發(fā)現(xiàn),其中所述多個(gè)系統(tǒng)包括具有計(jì)算機(jī)器的機(jī)架和刀片式計(jì)算機(jī)架,所述計(jì)算機(jī)器具有不同的操作系統(tǒng)(0S)210,以及 部署能夠管理所發(fā)現(xiàn)的不同OS類型、所述部署系統(tǒng)101和所述網(wǎng)絡(luò)108上的所述多個(gè)計(jì)算機(jī)器121-1、……、144-T中每個(gè)計(jì)算機(jī)器之間的串?dāng)_通信的各自的代理151,并且在所述多個(gè)計(jì)算機(jī)器220/230中每個(gè)計(jì)算機(jī)器上發(fā)起應(yīng)用程序安裝和對(duì)所述多個(gè)計(jì)算機(jī)器220/230中每個(gè)計(jì)算機(jī)器上的應(yīng)用程序進(jìn)行功能測(cè)試。
13.根據(jù)權(quán)利要求12所述的部署系統(tǒng),其中所述多個(gè)系統(tǒng)120/130/140中至少之一是移動(dòng)性能優(yōu)化數(shù)據(jù)中心(POD),所述代理151被配置為與不同的即開(kāi)即用OS通信。
14.根據(jù)權(quán)利要求12所述的部署系統(tǒng),其中所述部署系統(tǒng)101包括機(jī)器可運(yùn)行指令,所述機(jī)器可運(yùn)行指令能夠由所述處理器103運(yùn)行來(lái)允許通過(guò)各自的代理151的功能測(cè)試應(yīng)用程序的可選擇部署,以跟蹤所安裝的應(yīng)用程序,并且基于所發(fā)現(xiàn)的特性230根據(jù)計(jì)算機(jī)器121-1、……、144-T的邏輯分組對(duì)所安裝的應(yīng)用程序進(jìn)行功能測(cè)試。
15.根據(jù)權(quán)利要求12所述的部署系統(tǒng),其中所述機(jī)器可運(yùn)行指令能夠由所述處理器運(yùn)行來(lái): 當(dāng)僅接受根用戶名和密碼時(shí),跨網(wǎng)路108發(fā)起多個(gè)系統(tǒng)120/130/140中每個(gè)計(jì)算機(jī)器121-1、……、144-T的特性發(fā)現(xiàn);以及 將所述多個(gè)代理151部署為輕量 代理,所述輕量代理不包括全部的OS或應(yīng)用程序,但是足以管理特定計(jì)算機(jī)器121-1、……、144-Τ和部署系統(tǒng)101之間的通信、應(yīng)用程序交換以及用于監(jiān)視的狀態(tài)交換230。
【文檔編號(hào)】G06F9/22GK103907091SQ201180074565
【公開(kāi)日】2014年7月2日 申請(qǐng)日期:2011年10月31日 優(yōu)先權(quán)日:2011年10月31日
【發(fā)明者】戴維·J·格里默, 維什瓦納特·恩 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)